AN TOÀN VÀ BẢO MẬT THÔNG TIN TRONG CƠ SỞ DỮ LIỆU
Giới thiệu chung về an toàn, bảo mật thông tin trong cơ sở dữ liệu
Những kẻ xâm nhập luôn tìm mọi cách để đánh cắp dữ liệu Do đó, an toàn, bảo mật thông tin trong cơ sở dữ liệu đã trở thành một vấn đề có tầm quan trọng toàn cầu Biện pháp khắc phục là triển khai nhiều lớp bảo mật trong môi trường cơ sở dữ liệu.
- Hoạt động của một hệ quản trị CSDL:
Khi có yêu cầu của người dùng thông qua các câu lệnh, bộ xử lý DML, QL sẽ thông dịch các câu lệnh Hệ QTCSDL sẽ gửi yêu cầu đó đến thành phần có nhiệm vụ thực hiện và yêu cầu hệ điều hành tìm một số tệp chứa dữ liệu cần thiết Người dùng hoặc chương trình có được phép truy cập tới CSDL không, thông qua bảng phân quyền và bộ quản lý CSDL kiểm tra. Các tệp tìm thấy được chuyển về cho hệ QTCSDL xử lý và kết quả được trả ra cho người dùng.
Trình ứng dụng Các truy vấn
Bộ xử lý truy vấn
Hệ QTCSDL Bộ quản lý dữ liệu
Bộ quản lý tệp CSDL
Hình 1.1 Tương tác của hệ QTCSDL
Mọi thao tác truy vấn tới CSDL đều được thực hiện thông qua bởi các thủ tục của DBMS.
Những đối tượng truy xuất đến CSDL thông qua hệ quản trị CSDL hay ứng dụng có tương tác (truy xuất) đến CSDL Để thể hiện an toàn trong CSDL, thông tin trong CSDL phải đáp ứng các yêu cầu sau [6]:
- Tính bí mật/riêng tư (Confidentiality/Privacy): Bảo đảm rằng chỉ người dùng chỉ có hai đối tác A và B khi tiếp cận vật mang tin mới nắm bắt được nội dung thông tin được truyền.
- Tính toàn vẹn: Nguyên lý này không yêu cầu đến mức phải đảm bảo rằng thông tin không bị thay đổi trong quá trình truyền tin, nhưng phải đảm bảo được là mỗi khi thông tin bị thay đổi thì người nhận (và tất nhiên là cả người gửi) đều phát hiện được.
- Tính xác thực: Trong một quá trình truyền tin, người nhận tin (và có khi cả người gửi tin nữa) có biện pháp để chứng minh với đối tác rằng “họ chính là họ” chứ không phải là một người thứ ba nào khác.
- Tính không thể chối bỏ: Nguyên lý này đòi hỏi rằng khi quá trình truyền tin kết thúc, A đã gửi cho B một thông tin và B đã nhận thông tin thì A không thể chối bỏ rằng thông tin đó không do mình gửi (hoặc mình không gửi tin) mặt khác B cũng không thể chối bỏ rằng mình chưa nhận được.
- Tính nhận dạng: Yêu cầu phải có biện pháp để hệ thống có thể nhận dạng được các người sử dụng với quyền hạn kèm theo của họ.
Toàn vẹn dữ liệu trong CSDL
Khái niệm “toàn vẹn dữ liệu” trong các tài liệu khoa học được định nghĩa khác nhau, đã có nhiều bài báo khoa học mô tả và so sánh chúng Một trong những cách hiểu thông dụng hơn cả thì: toàn vẹn dữ liệu hiểu là không có các thay đổi không phù hợp Các thay đổi không phù hợp được Clark vàWilson giải thích như sau: Không cho phép bất kỳ người dùng nào của hệ thống, kể cả người được uỷ quyền, được thực hiện các thay đổi dữ liệu, mà dẫn tới phá huỷ hoặc mất mát chúng Khi nghiên cứu vấn đề toàn vẹn dữ liệu chúng ta sẽ sử dụng tiếp cận tổng hợp do Clark và Wilson đề xướng, nó gồm
9 nguyên tắc lý thuyết trừu tượng:
1 Tính phù hợp của các giao dịch.
3 Cực tiểu các ưu tiên.
4 Phân chia các quyền hoạt động.
5 Kiểm toán các sự kiện đã diễn ra.
6 Sự kiểm soát khách hàng.
7 Quản lý việc uỷ quyền ưu tiên.
8 Bảo đảm hoạt động liên tục.
9 Đơn giản trong sử dụng các cơ chế bảo vệ.
Khái niệm giao dịch hợp lý được định nghĩa như sau: Người dùng không được thay đổi dữ liệu tuỳ ý mà chỉ bằng các phương thức xác định sao cho tính toàn vẹn của dữ liệu được bảo đảm Nói cách khác, chỉ có thể biến đổi dữ liệu bằng các giao dịch hợp lý chứ không được bằng phương tiện tuỳ ý Ngoài ra, còn phải hiểu rằng, “tính hợp lý” của mỗi giao dịch như vậy đều có thể chứng minh được bằng cách nào đấy.
Nguyên tắc giao dịch hợp lý về bản chất phản ánh tư tưởng quan trọng xác định sự toàn vẹn dữ liệu mà ta nói ở trên.
Các thành phần của mô hình CSDL an toàn [5]:
Chính sách: Là tập hợp các quy tắc, các quy định đặt ra nhằm thực hiện việc kiểm soát và truy cập tới CSDL.
Mô hình truy cập: Đó là các biểu diễn hình thức cách mà chủ thể truy cập, thực thi trên các đối tượng.
Chủ thể: Là những thực thể hoạt động của hệ thống, thực hiện các yêu cầu truy cập tới các đối tượng Tất cả những truy cập bất hợp pháp của chủ thể có thể đe dọa đến tính an toàn của hệ thống.
Đối tượng: Bao gồm các thông tin cần được bảo vệ từ việc truy cập hoặc các thay đổi bất hợp pháp trên đối tượng.
Tập các quyền: Là các quyền như: cấp phát, thu hồi, sở hữu, cấp quyền Đây là các quyền truy cập của chủ thể.
Các tiên đề: Là các thuộc tính mà một hệ thống an toàn phải được thỏa mãn Nó là điều kiện mà một quyền khi được yêu cầu thực thi phải thỏa mãn Khi có một sự thay đổi trên một thể hiện đặc quyền chỉ được phép khi đi qua đặc quyền quản lý mà các tiên đề được thỏa mãn.
Hình 1.2: Các thành phần của mô hình CSDL an toàn [5]
Hệ thống thông tin và bảo mật thông tin
1.2.1 Các nguy cơ mất an toàn cơ sở dữ liệu
Hệ thống thông tin là một hệ thống gồm con người, dữ liệu và những hoạt động xử lý dữ liệu và thông tin trong một tổ chức Hầu hết dữ liệu được tổ chức và lưu trữ dưới dạng CSDL Những khả năng tác động lên CSDL và dẫn tới sự biến dạng, sao chép, mất mát thông tin, sự phá huỷ hoặc sự ngừng trệ hoạt động hệ thống là những hiểm hoạ đối với an toàn CSDL Ngày nay, người ta đã khảo sát được rất nhiều hiểm họa đối với an toàn cơ sở dữ liệu[7]:
Lạm dụng quyền vượt mức: Khi thực hiện công việc, người dùng được gán các đặc quyền truy nhập cơ sở dữ liệu, những đặc quyền này có thể bị lạm dụng cho các mục đích xấu.
Lạm dụng quyền hợp pháp: Để thực hiện những mục đích không hợp pháp, người dùng lạm dụng các đặc quyền hợp pháp của mình.
Nâng cấp quyền bất hợp pháp: Đối tượng tấn công thay đổi quyền truy nhập của người dùng
Lợi dụng các điểm yếu của nền tảng:
Kẻ tấn công có thể dẫn tới truy nhập bất hợp pháp, hay từ chối dịch vụ dựa vào các điểm yếu trên hệ điều hành, điểm yếu trong các dịch vụ được cài đặt máy chủ CSDL[2].
SQL Injection: Để truy nhập và khai thác CSDL, kẻ tấn công thường chèn các mệnh đề CSDL bất hợp pháp vào nguồn CSDL SQL dễ bị tổn thương.
Mã độc: Để lấy cắp dữ liệu nhạy cảm, kẻ tấn công sử dụng các mã độc, hoặc phần mềm độc hại.
Lợi dụng lỗ hổng truy vết:
Hành động tấn công của người dùng không phát hiện và ngăn chặn được do không ghi lại được đầy đủ những hành động.
Các ứng dụng mạng hay vào CSDL sẽ bị từ chối bởi các truy nhập của người dùng hợp pháp
Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ: Để bảo vệ khỏi các tấn công dễ dẫn đến mất mát đĩa và băng sao lưu CSDL cần phải được ghi tự động các giao dịch.
- Đối tượng tấn công mạng: Là những cá nhân hoặc tổ chức sử dụng những kiến thức về mạng và các công cụ phá hoại (gồm phần cứng hoặc phần mềm) để dò tìm các điểm yếu và các lỗ hổng bảo mật trên hệ thống, thực hiện các hoạt động xâm nhập và chiếm đoạt tài nguyên trái phép.
Một số đối tượng tấn công mạng như[1]:
+ Hacker: Là những kẻ xâm nhập vào mạng trái phép bằng cách sử dụng các công cụ phá mật khẩu hoặc khai thác các điểm yếu của thành phần truy nhập trên hệ thống
+ Masquerader : Là những kẻ giả mạo thông tin trên mạng như giả mạo địa chỉ của giao thức Internet, tên miền, định danh người dùng…
+ Eavesdropping: là những đối tượng nghe trộm thông tin trên mạng, sử dụng các công cụ sniffer, sau đó dùng các công cụ phân tích và debug để lấy được các thông tin có giá trị.
- Các lỗ hổng bảo mật[7]:
+ Các lỗ hổng bảo mật là những điểm yếu trên hệ thống hoặc ẩn chứa trong một dịch vụ mà dựa vào đó kẻ tấn công có thể xâm nhập trái phép vào hệ thống để thực hiện những hành động phá hoại chiếm đoạt tài nguyên bất hợp pháp.
+ Có nhiều nguyên nhân gây ra những lỗ hổng bảo mật: Có thể do lỗi của bản thân hệ thống, hoặc phần mềm cung cấp hoặc người quản trị yếu kém không hiểu sâu về các dịch vụ cung cấp…
+ Mức độ ảnh hưởng của các lỗ hổng tới hệ thống là khác nhau Có lỗ hổng chỉ ảnh hưởng tới chất lượng dịch vụ cung cấp, có lỗ hổng ảnh hưởng tới toàn bộ hệ thống hoặc phá hủy hệ thống.
- Các dạng phần mềm độc hại: Hiện nay phổ biến có nhiều phần mềm độc hại nhưng thường hay nhắc đến là các dạng sau[7]:
+ Virus: Là một chương trình máy tính luôn cố gắng mô phỏng theo một loại mã khác được hệ thống hay người dùng cho phép hoạt động Khi mã này được sử dụng, virus cũng sẽ được kích hoạt song song với nó Virus có khả năng tự sao chép chính nó lên những đĩa, file khác mà người dùng không hề hay biết Virus được chia thành 2 loại nhiễm khởi động và nhiễm File.
+ Sâu máy tính: Là một chương trình máy tính có thể tự chạy độc lập và tự hoàn thành mục đích của nó khi tấn công một máy chủ trong một hệ thống Worm cũng là một chương trình có khả năng tự nhân bản và tự lây nhiễm trong hệ thống Tuy nhiên nó có khả năng “tự đóng gói”, điều đó có nghĩa là worm khác virus không cần phải có “file chủ” để mang nó khi nhiễm vào hệ thống.
+ Trojan horse: Là những đoạn mã được “cắm” vào bên trong một phần mềm, cho phép xuất hiện và ra tay phá hoại một cách bất ngờ Đoạn mã hoàn toàn không có tính chất lây lan, chỉ nằm trong những phần mềm nhất định, nó sẽ phá hoại và một thời điểm nhất định được hacker xác định trước. Đối tượng của chúng là thông tin trên đĩa như Format lại đĩa, xóa FAT, Root…
+ Malicious Mobile Code: Là một dạng mã phần mềm có thể được gửi từ xa vào để chạy trên một hệ thống mà không cần đến lời gọi thực hiện của người dùng hệ thống đó Malicious Mobile Code khác với virus, worm ở đặc tính nó không nhiễm vào file và không tìm cách tự phát tán Thay vì khai thác một điểm yếu bảo mật xác định nào đó, kiểu tấn công này thường tác động đến hệ thống bằng cách tận dụng các quyền ưu tiên ngầm định để chạy mã từ xa.
+ Attacker Tool: Là những bộ công cụ tấn công có thể sử dụng để đẩy các phần mềm độc hại vào trong hệ thống Các bộ công cụ này có khả năng giúp cho kẻ tấn công có thể truy nhập bất hợp pháp vào hệ thống hoặc làm cho hệ thống bị lây nhiễm mã độc hại Attacker tool thường gặp là backdoor và keylogger.
Thiết kế CSDL an toàn
Bảo mật CSDL là một hệ thống quy trình hay thủ tục để bảo vệ CSDL khỏi các tác động ngoài ý muốn như lạm dụng quyền hạn, vô ý hoặc cố ý trong truy cập CSDL [7].
Bảo mật CSDL có các cơ chế sau:
- Kiểm soát truy cập (Access controls)
- Kiểm tra tính toàn vẹn (Integrity controls)
- Khả năng giám sát (Auditing)
+ Mức tập tin: Ở mức này không cung cấp mức độ bảo mật truy cập đến CSDL ở mức bảng, cột, dòng Không phân quyền cho người sử dụng.
+ Mức ứng dụng: cho phép phân quyền, nhưng đòi hỏi sự thay đổi kiến trúc của ứng dụng thậm chí đòi hỏi ứng dụng phải viết lại.
Phương pháp tích hợp đa giai đoạn dùng để thiết kế CSDL an toàn Nó cho phép nhà phát triển phân tích các yêu cầu an toàn, lựa chọn các chính sách an toàn một cách phù hợp nhất Phương pháp này có thể chia nhỏ quá trình thiết kế thành các thành phần nhỏ cho phép nhà thiết kế tập trung chi tiết vào từng khía cạnh riêng của từng phần nên rất thuận tiện trong thiết kế hệ thống, cài đặt và quản lý Phương pháp này gồm các giai đoạn sau [3]:
- Xây dựng các yêu cầu và chính sách bảo mật
- Thiết kế cấu trúc logic
- Thiết kế cấu trúc vật lý
- Cài đặt cơ chế an toàn
- Các đe dọa có thể xảy ra như: đọc và sửa đổi trái phép dữ liệu, từ chối dịch vụ hợp pháp, từ đó đưa ra các hình thức xâm phạm tương ứng và đánh giá hậu quả khi xảy ra .
- Các đặc trưng của môi trường CSDL: việc bảo vệ đa mức có được sử dụng hay không tùy thuộc vào việc phân quyền truy cập CSDL, loại dữ liệu được sử dụng để đưa ra mô hình thiết kế phù hợp.
- Khả năng tích hợp của các sản phẩm an toàn: Việc tích hợp các cơ chế an toàn với các cơ chế phần cứng và phần mềm thực tế.
Kết quả của giai đoạn này là một tập hợp các đe dọa có thể xảy ra với một hệ thống, được sắp xếp theo quyền ưu tiên, đánh giá khả năng áp dụng và tích hợp của các sản phẩm an toàn với các cơ chế hiện tại.
1.3.2 Xây dựng các yêu cầu và chính sách bảo mật
Tùy thuộc vào các đòi hỏi bảo vệ thực tế của hệ thống mà các nhà thiết kế xác định các yêu cầu an toàn một cách chính xác và đầy đủ Có các biện pháp bảo vệ khác nhau cho CSDL khác nhau.
Dựa vào các yếu tố cơ bản chẳng hạn như mức tương quan dữ liệu, chia sẻ dữ liệu, khả năng truy cập dữ liệu, kỹ năng của nhân viên và các kỹ thuật được lựa chọn mà các hệ thống được phân loại thành hệ thống rủi ro cao và hệ thống rủi ro thấp,
Các kiểu tấn công CSDL là thực hiện quyền truy cập trái phép vào dữ liệu, làm lộ dữ liệu, thay đổi dữ liệu hoặc từ chối quyền truy cập tới dữ liệu.
Mô hình an toàn khái niệm được định nghĩa thông qua:
- Nhận dạng các chủ thể và các đối tượng liên quan đến một quan điểm an toàn, các chủ thể/đối tượng có chung một vai trò trong tổ chức được nhóm lại với nhau.
- Nhận dạng các chế độ truy cập được trao cho các chủ thể khác nhau trên các đối tượng khác nhau, xác định các ràng buộc có thể đối với truy cập.
Mô hình của một hệ thống xác định phải đảm bảo:
- Tính đầy đủ: Mô hình đáp ứng tất cả các yêu cầu an toàn đã được xác định ban đầu.
- Tính tương thích: Các thao tác thực hiện phải nhất quán với nhau.
- Tính nhất quán: Tất cả các yêu cầu được xác định là thống nhất với nhau và không tồn tại dư thừa dữ liệu.
1.3.4 Thiết kế cấu trúc logic Ở giai đoạn này mô hình an toàn khái niệm được chuyển thành mô hình logic Mô hình này được DBMS hỗ trợ Mặt khác trong giai đoạn thiết kế logic, các nguyên tắc an toàn phải được xác định một cách chi tiết ở mức độ hệ điều hành và các chức năng được cung cấp bởi các gói an toàn Mục đích là xác định các yêu cầu an toàn, chính sách và các ràng buộc các tiên đề được biểu diễn trong mô hình an toàn mức khái niệm.
1.3.5 Thiết kế cấu trúc vật lý
Là việc tổ chức và cài đặt phân tích các mô hình thỏa mãn các yêu cầu Từ mô hình logic, thiết kế chi tiết các cơ chế an toàn, bao gồm:
- Thiết kế cấu trúc vật lý
- Đưa ra các quy tắc truy cập
Nhìn chung việc phân công mức công việc an toàn phụ thuộc vào từng cấp độ Mục đích là gán mức bắt buộc chính xác cho từng nhiệm vụ an toàn.
1.3.6 Cài đặt cơ chế an toàn
- Tính kinh tế của các cơ chế: Xây dựng một hệ thống bảo vệ cần đủ nhỏ, đơn giản và rõ ràng; giảm bớt các chi phí, độ tin cậy cao; dễ dàng trong việc kiểm tra và giám sát các giai đoạn của hệ thống[7].
- Hiệu quả: Các cơ chế cần hiệu quả
- Độ tuyến tính của các chi phí: Sau giai đoạn cài đặt, các chi phí hoạt động nên cân xứng với việc sử dụng thực tế của cơ chế.
- Phân tách đặc quyền: Hệ thống phân tầng các cơ chế kiểm soát và làm cho truy cập phải phụ thuộc vào nhiều điều kiện hơn
- Đặc quyền tối thiểu: cần giới hạn các mức đặc quyền tối thiểu đối với các chương trình và ứng dụng.[2]
- Kiểm soát toàn bộ: Mỗi truy cập vào một đối tượng đều phải được kiểm tra bằng các kiểm soát truy cập.
- Thiết kế mở: nên để công khai các kỹ thuật an toàn, đối với những thành phần bí mật, dùng khóa và mật khẩu để che giấu.
- An toàn mặc định: Nếu người sử dụng không quyết định các tùy chọn thì các tùy chọn bảo vệ thường được đặt mặc định.[3]
- Các cơ chế chung tối thiểu: việc chia sẻ tạo nên những kênh thông tin tiềm tàng và các cơ chế nên độc lập với nhau.
- Dễ sử dụng: Việc sử dụng các cơ chế phải dễ dàng.
- Tính mềm dẻo: Một cơ chế an toàn nên tuân theo các chính sách khác nhau, hiệu quả trong nhiều trường hợp khác nhau ngay cả trong tình huống xấu nhất.[3]
- Sự cách ly: có thể chống lại được nhiều kiểu tấn công.
- Tính đầy đủ và nhất quán: Cơ chế an toàn phải đầy đủ và nhất quán
- Khả năng quan sát: Cần có khả năng kiểm soát cơ chế an toàn và các tấn công chống lại cơ chế đó.
Khảo sát thực trạng an toàn và bảo mật cơ sở dữ liệu giáo dục
Dữ liệu được xác định là một trong những yếu tố chính dẫn đến sự thay đổi trong thế kỷ 21, trong đó có dữ liệu giáo dục Đó là các hệ thống CSDL lưu trữ khối lượng lớn dữ liệu có cấu trúc cũng như dữ liệu thu thập được từ những tương tác và hoạt động Nhìn chung hệ thống CSDL giáo dục bao gồm :
- Dữ liệu học sinh: Thông tin học sinh, quá trình học tập, thông tin liên lạc
- Dữ liệu về đội ngũ cán bộ giáo viên, nhân viên nhà trường: Lý lịch viên chức, công việc đảm nhiệm
- Dữ liệu tài chính: Thu nhập, chi tiêu, ngân sách,
- Kế hoạch giảng dạy, học tập và nghiên cứu: Giáo án, kế hoạch dạy học, sáng kiến kinh nghiệm
- Cơ sở vật chất phục vụ trong giáo dục: Số phòng học, phòng chức năng, trang thiết bị thí nghiệm, đồ dùng bộ môn,
- Thi đua, khen thưởng: Quản lý thi đua khen thưởng, kỷ luật của cán bộ giáo viên, nhân viên, học sinh
- Dữ liệu y tế: Quản lý dữ liệu về mặt y tế của cán bộ giáo viên, nhân viên, học sinh
- Dữ liệu quản lý văn bản chỉ đạo của các cấp đến cơ sở giáo dục
Tuỳ vào từng cấp học mà công tác quản lý, phân tích CSDL cũng có sự khác nhau. Đối với công tác quản lý thông tin trong giáo dục cấp THPT của trường THPT Trại Cau thuộc Sở Giáo dục đào tạo Thái Nguyên bao gồm:
- CSDL ngành Giáo dục được thực hiện theo hướng dữ liệu được thu thập thông qua phần mềm quản lý nhà trường và được chuyển tự động sang phần mềm quản lý cơ sở dữ liệu ngành Giáo dục qua các giao tiếp lập trình ứng dụng.
- Quản lý tiêm phòng, khai báo Covid của cán bộ và học sinh
- Quản lý chấm sao đỏ
- Quản lý cán bộ gồm các thông tin sau: Mã CB, tên CB, ngày sinh,giới tính, trình độ đào tạo, môn dạy, hình thức hợp đồng, tổ chuyên môn, ngày tuyển dụng, email, số điện thoại, tình trạng.
- Quản lý học sinh (HS) gồm các thông tin sau: Mã HS, tên HS, ngày sinh, giới tính, lớp, trường, trạng thái, ngày vào trường, dân tộc, chế độ chính sách.
- Quản lý điểm học sinh : Mỗi học kỳ, một học sinh có các loại điểm: điểm đánh giá thường xuyên, điểm đánh giá giữa kỳ và điểm đánh giá cuối kỳ.
- Trong mỗi lớp có một giáo viên chủ nhiệm Cô giáo có trách nhiệm quản lý kỷ luật của từng học sinh trong lớp Giáo viên chủ nhiệm sẽ nhận xét, đánh giá hạnh kiểm, giáo viên chủ nhiệm sẽ thông báo kết quả học tập cả học kỳ cho học sinh vào cuối mỗi học kỳ.
Sau mỗi học kỳ, giáo viên chủ nhiệm và giáo viên bộ môn sẽ nhập điểm cho học sinh mình phụ trách dạy Các giáo viên có quyền cập nhật điểm (thêm, sửa, xóa điểm) trong thời gian qui định.
Ngoài ra giáo viên có thể thống kê kết quả học kỳ theo lớp, theo môn và kết quả cả năm theo lớp, theo môn Điểm tổng kết môn học được làm tròn đến chữ số thập phân thứ nhất.
Người quản lý sẽ quản lý việc nhập điểm của học sinh từ các giáo viên, quản lý người dùng Ngoài ra, người quản lý sẽ tiếp nhận học sinh mới,lập bảng phân lớp và lập bảng phân công giáo viên Hệ thống quản lý học sinh dựa vào họ tên, lớp, ngày sinh, địa chỉ.
CHƯƠNG 2XÁC THỰC VÀ MÃ HÓA TRONG BẢO ĐẢM AN TOÀN THÔNG TIN
Giải pháp xây dựng một hệ thống cơ sở dữ liệu an toàn
Các thông tin của cơ quan, tổ chức, cá nhân đều được thu thập, xử lý và lưu trữ bằng máy vi tính, trung tâm dữ liệu Để hoạt động thông suốt, thuận lợi, đảm bảo 03 đặc điểm của thông tin (tính bí mật, toàn vẹn, sẵn sàng), các cơ quan, tổ chức, cá nhân phải có những giải pháp, phương pháp đảm bảo an toàn thông tin, dữ liệu Nếu không đảm bảo an toàn thông tin, dữ liệu sẽ gây ra hậu quả rất lớn Do đó, các giải pháp để xây dựng một hệ thống cơ sở dữ liệu an toàn đó là:
- Đảm bảo an toàn cho hệ thống mạng;
- Đảm bảo an toàn dữ liệu;
- Nâng cao năng lực ứng dụng công nghệ thông tin và ý thức của cán bộ công chức trong việc đảm bảo an toàn thông tin.
- Tăng cường đầu tư về cơ sở vật chất cho công nghệ thông tin Các giải pháp đảm bảo an toàn cho hệ thống mạng:
Các giải pháp bảo đảm an toàn dữ liệu
Các phương pháp xác thực thông tin
Như các phân tích đã nêu ở trên, một hệ thống thông tin được xem là an toàn khi đảm bảo ít nhất ba mục tiêu cơ bản: tính bí mật, tính toàn vẹn, tính
ỨNG DỤNG XÁC THỰC VÀ BẢO MẬT THÔNG TIN QUẢN LÝ DỮ LIỆU GIÁO DỤC
Thực trạng an toàn và bảo mật thông tin quản lý dữ liệu trong giáo dục
Trong giáo dục, Việt Nam đã có 71% cơ sở chuyển dịch sang chuyển đổi số Trong đó có 35% cơ sở dữ liệu ở bậc phổ thông đang bị tấn công, vì thế mà việc bảo mật cơ sở dữ liệu đang là vấn đề nóng, nhất là khi nguồn dữ liệu đang được kết nối để dùng chung giữa các trường, các doanh nghiệp, tổ chức và các nhà cung cấp dịch vụ [4] Các cơ sở giáo dục dễ bị mất mát, đánh cắp dữ liệu và là mục tiêu hấp dẫn của tin tặc Họ không chỉ nắm giữ kho dữ liệu khổng lồ, bao gồm các thông tin quan trọng của học sinh, cùng với lượng kiến thức và chuyên môn ngày càng mở rộng, mà việc chuyển hướng sang giảng dạy từ xa trong thời kỳ đại dịch covid 19 cũng tạo ra hàng loạt cách thức tấn công mới Tình trạng r ò r ỉ d ữ l i ệu n gười dùng hiện nay vẫn chưa được kiểm soát, nhiều trang mạng trong nước và quốc tế vẫn liên tục rao bán dữ liệu chứa thông tin về căn cước công dân, số điện thoại, thư điện tử của hàng triệu người Việt Nam.
Trong hai năm qua, do ảnh hưởng của đại dịch Covid 19 bên cạnh các dữ liệu tĩnh truyền thống, được lưu trữ trong các hệ quản trị cơ sở dữ liệu, các cơ sở giáo dục còn triển khai và lưu trữ dữ liệu từ các hệ thống hỗ trợ học tập áp dụng các công nghệ dạy học và các ứng dụng trực tuyến, các diễn đàn, các trang mạng xã hội, website, các thiết bị thu thập thông tin…dẫn đến nguy cơ mất an toàn trên không gian mạng cũng gia tăng Do đó, các tổ chức phải có chính sách để đảm bảo an toàn thông tin Giải pháp được sử dụng ở đây là xác thực và mã hóa tất cả dữ liệu, cho dù dữ liệu đó đang ở trạng thái lưu trữ hay đang chuyển tiếp, bao gồm cả mã hóa phần cứng ở điểm cuối Điều này đã trở thành một chiến lược quan trọng để bảo vệ dữ liệu trong các tổ chức, nơi mọi người tương tác cả bên trong và bên ngoài mạng trung tâm.
Giải pháp đề xuất về bảo mật thông tin
Trong thực tế dữ liệu trong quản lý giáo dục rất nhiều nhưng trong phạm vi đề tài này học viên xin đưa ra các dữ liệu đã được quản lý và bảo mật:
- Quản lý người dùng: Phân quyền cho giáo viên, học sinh theo chức năng mà Ban giám hiệu đã phân công.
- Quản lý hồ sơ cán bộ, giáo viên, học sinh, điểm: Toàn bộ dữ liệu được mã hoá trước khi đưa vào CSDL
- Quản lý lớp học, môn học: Dữ liệu được mã hoá trước khi đưa vào CSDL
- Quản lý chấm sao đỏ học sinh: Phân quyền cho học sinh thực hiện chấm sao đỏ giữa các lớp
3.2.2 Phân tích yêu cầu về xác thực và bảo mật thông tin
Hệ thống xử lý CSDL gọi là an toàn trong môi trường vận hành nhất định là hệ xử lý bảo đảm được sự bí mật và toàn vẹn của dữ liệu được xử lý và duy trì được khả năng hoạt động của hệ thống trong điều kiện chịu tác động liên tục của hàng loạt các hiểm hoạ tấn công CSDL tồn tại trong môi trường hoạt động đó[2].
Giải pháp an toàn thông tin trong CSDL cần thực hiện các cơ chế sau: + Cơ chế xác thực
+ Cơ chế kiểm soát phân quyền
Xác thực là quá trình xác nhận định danh của các cá nhân hay ứng dụng có yêu cầu truy cập tới một môi trường an toàn Việc xác nhận định danh này được hoàn thành bằng cách thẩm tra đăng nhập và các chứng nhận được tạo trong cùng một môi trường [2].
Quá trình đăng nhập khác với tài khoản người dùng ở chỗ: đăng nhập yêu cầu xác thực đối với môi trường, còn tài khoản người dùng được dùng để kiểm soát các hành động thực hiện đối với môi trường Sự phân biệt này là rất rõ ràng vì có những đăng nhập mặc định được tạo trong suốt quá trình cài đặt cơ sở dữ liệu Do vậy, có một số tài khoản người dùng mặc định cần phải được quản lý chặt chẽ.
Xác thực có thể được kiểm tra ở nhiều thời điểm và mức độ khác nhau trong suốt quá trình đăng nhập vào hệ thống trước khi hệ thống ủy quyền cho người dùng Ở đây, hệ thống sẽ xác thực người dùng với các vai trò khác nhau: vai trò quản trị, giáo viên, học sinh…
MySQL sử dụng giao thức xác thực để truy cập đến máy chủ và định danh khác so với SQL Server và Oracle Định danh của người dùng MySQL được kiểm tra bằng cách sử dụng ba thông tin: Tên máy chủ; Tên truy cập MySQL và Mật khẩu truy cập MySQL Để truy cập cơ sở dữ liệu, định danh phải trùng khớp với các chứng nhận được lưu trữ trong cơ sở dữ liệu, tên đăng nhập phân tách hoàn toàn với tài khoản đăng nhập hệ điều hành và cũng không có mối liên hệ nào giữa mật khẩu MySQL với mật khẩu hệ điều hành. Tên máy chủ có thể hiển thị dưới dạng địa chỉ IP và có thể không cần cung cấp nếu đó là máy chủ đang chạy MySQL Có ba thành phần được lưu trữ trong bảng người dùng là host, user, password Kết nối chỉ được cho phép khi ba giá trị đó trùng khớp [2].
3.2.2.2 Cơ chế kiểm soát phân quyền
Sau khi hệ thống x á c n h ậ n d a n h tín h h ay đăng nhập của người dùng,thì một tập các điều khoản được đưa ra nhằm xác định xem đối tượng có được phép truy cập vào cơ sở dữ liệu hay không Phân quyền là quá trình đảm bảo sự cho phép cá nhân hoặc ứng dụng yêu cầu truy cập vào một môi trường hoặc một đối tượng trong môi trường User có thể được cấp một số quyền truy cập sau:
Quản lý tài khoản đúng cách rất quan trọng trong việc kiểm soát an toàn và truy cập cơ sở dữ liệu Các hoạt động phổ biến nhất mà người quản trị cần thực hiện trên một cơ sở dữ liệu là những vấn đề liên quan đến quản lý người dùng Đặc quyền người dùng có thể được quản lý, từ chối, hoặc thu hồi trong một cơ sở dữ liệu.
Mật mã học là một khoa học nghiên cứu nghệ thuật nhằm che giấu thông tin, bằng cách mã hóa (encryption) tức là biến đổi “thông tin gốc” dạng tường minh (plaintext) thành “thông tin mã hóa” dạng ẩn tàng (cipher text) bằng cách sử dụng một khóa mã (thuật toán mã hóa) nào đó Chỉ có những người giữ chìa khóa (key) bí mật mới có thể giải mã (decryption) thông tin dạng ẩn tàng trở lại thành dạng thông tin có dạng tường minh [6]. Để bảo vệ dữ liệu cho hệ thống CSDL tác giả đề xuất sử dụng thuật toán mã hoá AES-256-CBC có độ dài khóa 256 bit, hỗ trợ kích thước bit lớn nhất và thực tế không thể bị phá vỡ bởi lực thô bạo dựa trên sức mạnh tính toán hiện tại, làm cho nó trở thành tiêu chuẩn mã hóa mạnh nhất Cơ chế mã hoá thể hiện ở hình 3.1.
Hình 3.1 Cơ chế mã hóa Đoạn mã sau mô tả cách mã hoá và giải mã thông tin học sinh trong CSDL:
$student->name_student= Crypt::encryptString
$student->birthday_student= Crypt::encryptString
$student->gender= Crypt::encryptString($request->gender);
$student->active_student= $request->active_student;
$student->ethnic= Crypt::encryptString($request->ethnic);
$student->day_admission= Crypt::encryptString
$student->policies= Crypt::encryptString($request->policies);
$student = ( ) foreach($student as $value){
$value->name_student= Crypt::decryptString($value->name_student);
$value->birthday_student= Crypt::decryptString
$value->gender= Crypt::decryptString($value->gender);
$value->ethnic= Crypt::decryptString($value->ethnic);
$value->day_admission= Crypt::decryptString
$value->policies= Crypt::decryptString($value->policies);
Dùng Hàm băm để mã hoá trong việc xác thực mật khẩu người dùng:
$user->password = bcrypt($request->password);
3.2.2.4 Cơ chế bảo mật khoá
- Quá trình mã hoá và giải mã đều sử dụng một khoá Khoá này được lưu trữ trong một file riêng biệt Khoá phải được đảm bảo bí mật, phải duy trì được kênh mật phân phối khóa.
- Khoá được lấy từ trong file environment
- Giá trị của khoá bằng với biến ‘App_key’ trong file environment. Biến ‘App_key’ được tạo ra khi cài đặt chương trình.
3.2.3 Mô hình bảo mật thông tin
Với lớp bảo mật ở cấp độ ứng dụng: Phát triển ứng dụng web phải đảm bảo tuỳ theo tài khoản người dùng được cung cấp, người dùng sẽ phải trải qua bước xác thực của hệ thống máy chủ web Nếu tài khoản người dùng là hợp lệ, người dùng sẽ được phép truy cập vào các chức năng của ứng dụng quản lý điểm theo phân quyền của người quản trị Ví dụ: quyền đăng nhập với vai trò là giáo viên hay học sinh…
Với lớp bảo mật ở cấp độ truyền thông: Thực hiện ở bước triển khai website sau bước phát triển ứng dụng web Sử dụng giao thức HTTPS để truyền thông dữ liệu web một cách an toàn và bảo mật trên cơ sở áp dụng hai giao thức SSL và TLS ở tầng Transport Cả web client và web server sẽ bắt buộc phải trải qua giai đoạn xác thực và dữ liệu web sẽ được mã hoá và giải mã theo cả hai chiều truyền thông giữa web client và web server.
Với lớp bảo mật ở cấp độ cơ sở dữ liệu: Tích hợp thuật toán mã hoá và giải mã dữ liệu AES vào phần mềm website quản lý điểm chạy trên máy chủ web để mã hoá và giải mã dữ liệu đọc ra và ghi vào cơ sở dữ liệu trên máy chủ cơ sở dữ liệu.
Xác thực người dùng thông qua Password, Password thường là một xâu, chuỗi, loạt các ký tự mà hệ thống yêu cầu người sử dụng nhập vào bằng bàn phím trước khi có thể tiếp tục sử dụng một số tí n h n ă n g nhất định trên CSDL Việc xác minh mật khẩu thường dựa vào các hàm băm mật mã Mật khẩu người dùng nếu được dưới dạng bản rõ có thể dẫn đến những lỗ hổng bảo mật nghiêm trọng khi tệp mật khẩu bị xâm phạm Do đó, để làm giảm nguy cơ này, chúng ta thường chỉ lưu trữ giá trị băm của mỗi mật khẩu Để xác thực người dùng, mật khẩu do người dùng nhập vào được băm và so sánh với giá trị băm được lưu trữ tương ứng Mật khẩu ban đầu không thể được tính toán lại từ giá trị băm được lưu trữ trong cơ sở dữ liệu Hệ thống đã xử dụng thuật toán băm mật khẩu như MD5 để lưu trữ mật khẩu một cách an toàn.
Các bước tạo thông tin định danh người dùng:
Bước 1 Quản trị tạo tài khoản đăng nhập
Bước 2 Thiết lập các thông tin cơ bản của người dùng
Bước 3 Xác lập quyền cho người dùng
Bước 4 Kích hoạt người dùng
Ví dụ: Giáo viên bộ môn có quyền nhập điểm và xem thông tin học sinh mình được phân công giảng dạy Học sinh được phân quyền quản lý sao đỏ, chấm thi đua các lớp được phân công
Sau khi được phân quyền, người dùng có thể thực hiện các bước sau để quản lý tài khoản của mình:
Bước 1 Cập nhật thông tin người dùng đã tồn tại
Bước 2 Thiết lập lại thông tin tài khoản, mật khẩu
Bước 3 Lưu các thay đổi
Cài đặt thử nghiệm
- Quản lý người dùng (đăng nhập)
- Quản lý lớp, quản lý học sinh: Thêm, sửa, xoá lớp, học sinh
- Quản lý năm học, quản lý môn học: Thêm, sửa, xoá năm học và môn học
- Quản lý điểm: Nhập điểm theo môn
- Quản lý sao đỏ: chấm điểm thi đua chéo giữa các lớp phân công, sau đó tổng kết thi đua
- Thống kê, báo cáo: xem báo cáo
3.3.2 Một số kết quả sau khi cài đặt thử nghiệm
Giao diện khi đăng nhập người dùng với vai trò là quản trị
Hình 3.3: Giao diện đăng nhập quản trị
Dữ liệu người dùng được mã hóa lưu trong cơ sở dữ liệu.
Hình 3.4: Bản mã đăng nhập quản trị
Giao diện khi đăng nhập với vai trò là Giáo viên
Hình 3.5: Giao diện đăng nhập giáo viên
Bảng dữ liệu người dùng với vai trò là Giáo viên được mã hóa lưu trong cơ sở dữ liệu.
Hình 3.6: Bản mã giao diện đăng nhập giáo viên
3.3.2.2.Quản thông tin giáo viên
Thông tin Hồ sơ giáo viên được Quản trị có quyền thêm, sửa, xoá hồ sơ Giao diện hồ sơ giáo viên khi chưa mã hoá
Hình 3.7: Giao diện quản lý hồ sơ giáo viên
Bảng dữ liệu được mã hoá
Hình 3.8: Bản mã quản lý hồ sơ giáo viên
Khi CSDL có người xâm nhập thay đổi
Hình 3.9: Giao diện khi CSDL bị người khác xâm nhập sửa chữa trái phép
Hệ thống sẽ báo lỗi, từ đó sẽ giúp cho quản trị biết về tình trạng CSDL còn được an toàn hay không
Hình 3.10: Giao diện báo lỗi CSDL bị người khác xâm nhập sửa chữa trái phép
- Quản lý điểm học sinh
Quản trị có quyền nhập điểm của toàn bộ học sinh còn giáo viên bộ môn chỉ được quyền nhập dữ liệu điểm học sinh của lớp mình được phân công dạy Dữ liệu điểm sẽ được mã hoá và lưu trong CSDL.
Hình 3.11: Giao diện quản lý điểm học sinh
Bảng dữ liệu điểm sau khi mã hoá
Hình 3.12: Bản mã quản lý điểm học sinh
- Quản lý hồ sơ học sinh
Quản trị viên sẽ nhập trực tiếp hồ sơ học sinh trên hệ thống, dữ liệu sẽ được mã hoá và lưu trên CSDL.
Bảng dữ liệu quản lý thông tin học sinh chưa được mã hoá
Hình 3.13: Giao diện quản lý thông tin học sinh
Giao diện bảng quản lý thông tin học sinh khi được mã hoá
Hình 3.14: Bản mã quản lý thông tin học sinh
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Qua thời gian nghiên cứu, luận văn đã tổng hợp và giới thiệu được các mối đe dọa tấn công CSDL hàng đầu hiện nay cũng như các giải pháp phòng chống Nhìn chung, luận văn đã đạt được các mục tiêu đề ra Cụ thể:
- Luận văn đã dưa ra các phương pháp bảo mật thông tin, các nguy cơ mất an toàn thông tin, các yêu cầu bảo vệ dữ liệu.
- Luận văn đã nêu ra cách mã hóa và xác thực trong bảo đảm an toàn thông tin, mã hóa bằng khóa bí mật, mã hóa bằng khóa công khai, xác thực thông tin, hàm băm.
- Luận văn đã tiến hành làm thực nghiệm giải pháp an toàn và bảo mật cơ sở dữ liệu MySQL ứng dụng cho xác thực và bảo mật thông tin quản lý dữ liệu giáo dục.
Do kiến tức còn hạn chế, kinh nghiệm của bản thân chưa nhiều cũng như thời gian thực hiện, luận văn này không tránh khỏi những thiếu sót. Trong tương lai tôi sẽ cố gắng khắc phục để tiếp tục hoàn thiện những nội dung đã nghiên cứu và vận dụng trong thực tế Tiếp tục nghiên cứu chuyên sâu hơn các giải pháp phòng chống tấn công CSDL nhằm hơn nhằm nâng cao tính an toàn thông tin cho hệ thống.
Bên cạnh đó sẽ mở rộng CSDL với một số chức năng khác hiện tại mà giáo dục đang quản lý Nghiên cứu các phương pháp tấn công, các giải pháp khắc phục, các hệ mã hóa và chữ ký số tiên tiến hơn nhằm nâng cao tính an toàn thông tin cho hệ thống.
Em rất mong nhận được các ý kiến đóng góp của thầy/cô và các bạn để luận văn được hoàn thiện hơn nữa.