Nhu cầu bảo mật cơ sở dữ liệu
Theo thống kê, khoảng 90% dữ liệu trong máy tính được lưu trữ dưới dạng CSDL. Tất cả các thông tin về ngân hàng, kho tàng, quản lý cơ sở vật chất, dân số, tài nguyên khoáng sản, sách trong thư viện,... đều ở dạng CSDL. Các dạng thông tin khác như thư tín (bao gồm tất cả các hệ Internet Mail, IBM Lotus Notes, Microsoft Exchange Server,...), văn bản (được soạn thảo bằng Microsoft Word, Word Perfect,...), các thông tin đồ hoạ khác (được soạn bằng Power Point, Corel Draw, AutoCad,...) và các dạng khác chỉ chiếm 10%.
Thông tin được coi là tài sản và CSDL không chỉ lưu trữ các thông tin có liên quan tới bí mật nhà nước hay những thông tin trong lĩnh vực kinh tế (ngân hàng, tốc độ tăng trưởng của các ngành sản xuất,...), mà chứa cả thông tin cá nhân (số điện thoại nhà riêng, sở thích, sở đoản,...) và chúng đều cần được bảo vệ. Trong [1] có phân tích khá đầy đủ về các nhu cầu bảo mật CSDL.
Các CSDL được bảo vệ như thế nào?
Với các hệ quản trị CSDL nhỏ chạy trên một máy tính đơn lẻ như Dbase hay Foxpro thì vấn đề bảo mật dữ liệu chưa được quan tâm. Nhưng đến hệ quản trị Microsoft Access thì bên cạnh tính năng cho phép phân quyền sử dụng nó còn có cả tính năng mã hóa/giải mã.
Đối với các hệ quản trị CSDL lớn như Oracle, SQL Server hay Informix thì tính năng bảo mật được thực hiện nhờ các cơ chế sau [2]:
- Khả năng bảo mật của hệ điều hành mạng: Oracle, SQL Server, Informix,... là các hệ quản trị CSDL có cấu trúc khách/chủ và chạy trên các hệ điều hành mạng như Novell Netware, Windows NT Server, Unix (Solaris, AIX,...) và tất cả các hệ điều hành mạng này đều đã có cơ chế an toàn.
- Khả năng phân quyền của hệ quản trị CSDL: Các hệ quản trị CSDL cho phép phân quyền đối với các thao tác để thiết kế (tạo CSDL, tạo bảng,...) hay thay đổi cấu trúc của CSDL, thao tác khai thác sử dụng dữ liệu (quyền đọc, quyền ghi, quyền xoá). Các quyền được phân nhỏ cho từng bảng, thậm chí tới từng trường.
- Khả năng bảo mật của hệ quản trị CSDL: Microsoft SQL Server cho phép bảo mật dữ liệu trên đường truyền khi nhập liệu nhờ câu lệnh “Insert with encryption”. Tuy nhiên, trong câu lệnh này không có tham số để nạp khoá. Điều đó có nghĩa là khả năng mã hóa hoàn toàn do hệ thống đảm nhận. Microsoft Access cũng có chức năng Encrypt/Decrypt nhưng việc tìm hiểu về cơ chế hoạt động của nó cần phải có thêm các nghiên cứu sâu hơn. Để tăng cường tính năng bảo mật cho Oracle Database Server, hãng Oracle xây dựng Oracle Proxy Server. Khả năng tạo View cũng được đánh giá như một tính năng bảo mật (người sử dụng chỉ được truy cập tới dữ liệu ở View).
Bảo mật CSDL có khó khăn gì?
Có thể nói, xây dựng một ứng dụng cho phép truyền tệp có bảo mật và xác thực (bao gồm cả xác thực thông tin và xác thực người gửi) trong các môi trường mạng là tương đối dễ. Tuy rằng các hệ thư tín như Lotus Notes, Microsoft Outlook,... đã có sẵn các tính năng bảo mật, nhưng việc đưa thêm tính năng mã hoá vào trong các hệ thư tín cũng không mấy khó khăn (mặc dù khó hơn so với việc bảo mật thông tin trong tệp dữ liệu). Tuy vậy, do đặc thù của ứng dụng CSDL, để bảo mật CSDL chúng ta cần giải quyết các vấn đề sau đây:
- Thông tin trong CSDL cần được sử dụng chung, vậy nên việc dùng khoá riêng cho từng người sử dụng là không thích hợp. Bởi vậy bài toán đặt ra là: Lược đồ phân phối khoá như thế nào để có thể vừa đáp ứng được nhu cầu bí mật, vừa tạo điều kiện để dữ liệu có thể khai thác bởi nhiều người cùng một lúc? Khoá sẽ thay đổi theo từng bản ghi (record) hay là chung cho mọi bản ghi?
- Thông tin trong CSDL cần phải được cập nhật, sửa đổi thường xuyên, nên không thể giải quyết theo hướng mã tệp (mặc dù đối với Foxpro thì CSDL được lưu ở dạng tệp .DBF; ở Access thì được lưu ở tệp .MDB; ở SQL Server thì được lưu ở tệp .DAT,...). Nếu mã cả tệp dữ liệu thì sẽ không thể đảm bảo được yêu cầu truy nhập ngẫu nhiên (random access). Khi CSDL có dung lượng lớn thì thời gian mã hóa/giải mã sẽ rất lớn và không đáp ứng được yêu cầu thực tế.
Việc mã hoá phải đáp ứng được yêu cầu của bài toán khai thác dữ liệu, tức là đảm bảo thực hiện được các câu lệnh lọc dữ liệu (SELECT FROM WHERE ). Như vậy các tệp index, các trường khoá (key field) cần phải được xử lý rất đặc biệt.
Vì thông tin trong CSDL được lưu trữ lâu dài chứ không chỉ là những tệp dữ liệu đã được giải mã và có thể xoá đi nhanh chóng nên khi thay khoá, các tệp phải được giải mã bằng khoá cũ và mã lại bằng khoá mới. Đây là một khối lượng công việc không nhỏ đối với người quản trị CSDL.
Để giải quyết bài toán bảo mật CSDL có thể áp dụng các phương pháp hết sức đặc thù [3]. Giải pháp giải quyết bài toán bảo mật CSDL theo từng phần đối với CSDL về ngân hàng có thể như sau: các trường về “họ tên”, “số tài khoản”,... được giữ nguyên. Chỉ có trường “số tiền” được mã hoá. Ánh xạ f(x) cần phải thoả mãn tính chất: f(x + y) = f(x) + f(y) và f(x × y) = x × f(y) (hay f(x × y) = f(x) × f(y)). Ngoài ra, ánh xạ f còn cần phải bảo toàn thứ tự: nếu x > y thì f(x) > f(y).
Có thể bảo mật CSDL ở những khía cạnh nào?
Hiện nay, phần lớn các cơ chế bảo mật được dành cho những người thiết kế ra hệ quản trị CSDL (tức là các hãng phần mềm lớn như Oracle, Microsoft,...) chứ không phải từ góc độ những người khai thác. Cũng có thể các hãng sản xuất hệ quản trị CSDL có để ngỏ khả năng cho người sử dụng tích hợp mật mã vào, nhưng cách thức thực hiện như thế nào thì không được công bố rộng rãi. Tuy vậy, cũng có thể giải quyết bài toán bảo mật CSDL bằng một số cách sau :
- Kiểm soát truy nhập: cần tăng thêm một cơ chế kiểm soát truy nhập/phân quyền sử dụng (bên cạnh cơ chế đã có của hệ điều hành mạng và Database Server). Đối với SQL Server có thể dùng Open Data Service để thực hiện chức năng này. Đối với Oracle Database Server thì Oracle Proxy Server chính là phần mềm tăng thêm một lần kiểm soát nữa. (Hình 2).
- Việc cập nhật và khai thác dữ liệu trong mạng LAN cũng cần thiết, nhưng cũng có thể thực hiện được nhờ các biện pháp nghiệp vụ. Giải quyết vấn đề bảo mật trên đường truyền cần phải đặc biệt quan tâm đối với việc lặp dữ liệu (Replication) giữa các Server (mô hình phân tán). Việc giải quyết bài toán này phụ thuộc vào hệ quản trị CSDL và đòi hỏi chúng ta phải hiểu rõ cơ chế lặp dữ liệu của từng hệ CSDL. Một giải pháp có thể thực hiện được với SQL Server nhưng lại không áp dụng được cho Oracle và ngược lại.
- Bảo mật trên đường truyền trong quá trình khai thác: Giữa máy trạm và máy chủ luôn diễn ra quá trình cập nhật dữ liệu (3 thao tác của việc cập nhật là insert, update, delete) cũng như khai thác dữ liệu. Khi khai thác dữ liệu thì máy trạm sẽ gửi về máy chủ các câu truy vấn, còn máy chủ sẽ gửi trả về máy trạm kết quả thực hiện truy vấn này (Hình 3).
10:00 | 08/05/2024
Trong thời đại công nghệ phát triển ngày nay, việc tiếp xúc với môi trường trực tuyến đã trở nên rất phổ biến. Điện thoại thông minh không chỉ là công cụ để chúng ta có thể liên lạc với con cái, mà còn mở ra cơ hội cho trẻ tiếp cận kiến thức và giải trí một cách bổ ích, miễn là người lớn biết cách hướng dẫn chúng một cách đúng đắn. Thay vì kiểm soát, hãy tìm cách để thiết lập điện thoại sao cho phù hợp, từ đó đảm bảo an toàn cho trẻ em trên môi trường mạng. Bài báo sau đây sẽ hướng dẫn độc giả đặc biệt là các phụ huynh cách thiết lập quản lý việc sử dụng điện thoại thông minh (hệ điều hành Android) của con mình một cách hiệu quả và an toàn.
14:00 | 01/03/2024
Giấu tin (steganography) là một kỹ thuật nhúng thông tin vào một nguồn đa phương tiện nào đó, ví dụ như tệp âm thanh, tệp hình ảnh,... Việc này giúp thông tin được giấu trở nên khó phát hiện và gây ra nhiều thách thức trong lĩnh vực bảo mật và an toàn thông tin, đặc biệt là quá trình điều tra số. Thời gian gần đây, số lượng các cuộc tấn công mạng có sử dụng kỹ thuật giấu tin đang tăng lên, tin tặc lợi dụng việc giấu các câu lệnh vào trong bức ảnh và khi xâm nhập được vào máy tính nạn nhân, các câu lệnh chứa mã độc sẽ được trích xuất từ ảnh và thực thi. Nhằm mục đích cung cấp cái nhìn tổng quan về phương thức ẩn giấu mã độc nguy hiểm, bài báo sẽ giới thiệu về kỹ thuật giấu tin trong ảnh và phân tích một cuộc tấn công cụ thể để làm rõ về kỹ thuật này.
10:00 | 26/10/2023
Trong thời gian gần đây, các trường hợp lừa đảo qua mã QR ngày càng nở rộ với các hình thức tinh vi. Bên cạnh hình thức lừa đảo cũ là dán đè mã QR thanh toán tại các cửa hàng khiến tiền chuyển về tài khoản kẻ gian, vừa qua còn xuất hiện các hình thức lừa đảo mới.
10:00 | 15/09/2023
Thư rác hay email spam là một vấn nạn lớn hiện nay, chúng đã xuất hiện từ rất lâu cùng với sự phát triển của Internet và không chỉ gây phiền nhiễu, tốn thời gian mà còn có thể chứa một số nội dung nguy hiểm. Ước tính có tới 94% phần mềm độc hại được phân phối dưới dạng email spam, một số nguy cơ tiềm ẩn khác bao gồm phần mềm gián điệp, lừa đảo và mã độc tống tiền. Trong bài viết này sẽ thông tin đến bạn đọc cách nhận biết thư rác và ngăn chặn thư rác không mong muốn.
Trong lĩnh vực chữ ký số, lược đồ ký số dựa trên đường cong Elliptic (ECDSA) được đánh giá là một trong những lược đồ chữ ký số có độ an toàn cao, dù ra đời sau nhưng ECDSA đang dần được thay thế cho lược đồ ký số RSA. Bài báo này tập trung giới thiệu lược đồ ECDSA, ứng dụng của ECDSA trong thực tế và các tham số an toàn được khuyến nghị dùng cho ECDSA.
11:00 | 13/05/2024
Mã độc không sử dụng tệp (fileless malware hay mã độc fileless) còn có tên gọi khác là “non-malware”, “memory-based malware”. Đây là mối đe dọa không xuất hiện ở một tệp cụ thể, mà thường nằm ở các đoạn mã được lưu trữ trên RAM, do vậy các phần mềm anti-virus hầu như không thể phát hiện được. Thay vào đó, kẻ tấn công sử dụng các kỹ thuật như tiêm lỗi vào bộ nhớ, lợi dụng các công cụ hệ thống tích hợp và sử dụng các ngôn ngữ kịch bản để thực hiện các hoạt động độc hại trực tiếp trong bộ nhớ của hệ thống. Bài báo tìm hiểu về hình thức tấn công bằng mã độc fileless và đề xuất một số giải pháp phòng chống mối đe dọa tinh vi này.
10:00 | 17/05/2024