Luận văn Nghiên cứu một số giải pháp an toàn và bảo mật cơ sở dữ liệu ứng dụng cho sở giáo dục và đào tạo tỉnh Quảng Ninh

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN THỊ THU TRANG NGHIÊN CỨU MỘT SỐ GIẢI PHÁP AN TOÀN VÀ BẢO MẬT CƠ SỞ DỮ LIỆU ỨNG DỤNG CHO SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NINH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2020 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN THỊ THU TRANG NGHIÊN CỨU MỘT SỐ GIẢI PHÁP AN TOÀN VÀ BẢO MẬT CƠ SỞ DỮ LIỆU ỨNG DỤNG CHO SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NINH

pdf81 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 380 | Lượt tải: 1download
Tóm tắt tài liệu Luận văn Nghiên cứu một số giải pháp an toàn và bảo mật cơ sở dữ liệu ứng dụng cho sở giáo dục và đào tạo tỉnh Quảng Ninh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chuyên ngành: Khoa học máy tính Mã số: 8 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Giáo viên hướng dẫn: TS. Hồ Văn Hương THÁI NGUYÊN - 2020 i LỜI CẢM ƠN Trong suốt quá trình học tập vừa qua, em đã được quý thầy cô cung cấp và truyền đạt tất cả kiến thức chuyên môn cần thiết và quý giá nhất. Ngoài ra, em còn được rèn luyện một tinh thần học tập và làm việc độc lập và sáng tạo. Đây là tính cách hết sức cần thiết để có thể thành công khi bắt tay vào nghề nghiệp trong tương lai. Đề tài luận văn thạc sĩ là cơ hội để em có thể áp dụng, tổng kết lại những kiến thức mà mình đã học. Đồng thời, rút ra được những kinh nghiệm thực tế và quý giá trong suốt quá trình thực hiện đề tài. Sau một thời gian em tập trung công sức cho đề tài và làm việc tích cực, đặc biệt là nhờ sự chỉ đạo và hướng dẫn tận tình của TS Hồ Văn Hương cùng với các thầy cô trong trường Đại học Công nghệ thông tin & Truyền thông - Đại học Thái Nguyên, đã giúp cho em hoàn thành đề tài một cách thuận lợi và gặt hái được những kết quả mong muốn. Bên cạnh những kết quả khiêm tốn mà em đạt được, chắc chắn không tránh khỏi những thiếu sót khi thực hiện luận văn của mình, kính mong thầy cô thông cảm. Sự phê bình, góp ý của quý thầy cô sẽ là những bài học kinh nghiệm rất quý báu cho công việc thực tế của em sau này. Là sinh viên ngành công nghệ thông tin, em rất tự hào về khoa mà mình theo học, tự hào về tất cả các thầy cô của mình. Em xin chân thành cảm ơn TS Hồ Văn Hương đã tận tình giúp đỡ em hoàn thành đề tài này. Em xin chân thành cảm ơn! Thái Nguyên, tháng 9 năm 2020 Học viên Nguyễn Thị Thu Trang ii LỜI CAM ĐOAN Em xin cam đoan nội dung luận văn này là do chính em thực hiện, các số liệu thu thập và kết quả phân tích trong báo cáo là trung thực, không sao chép từ bất cứ đề tài nghiên cứu khoa học nào. Nếu sai, em xin hoàn toàn chịu trách nhiệm trước Nhà trường. Thái Nguyên, tháng 9 năm 2020 Học viên Nguyễn Thị Thu Trang iii MỤC LỤC LỜI CẢM ƠN ..............................................................................................................i LỜI CAM ĐOAN ...................................................................................................... ii DANH MỤC HÌNH ẢNH .........................................................................................vi MỞ ĐẦU ..................................................................................................................... 1 1. Tính khoa học và cấp thiết của đề tài ...................................................................... 1 2. Đối tượng và phạm vi nghiên cứu của đề tài .......................................................... 2 3. Phương pháp luận nghiên cứu ................................................................................. 2 4. Nội dung và bố cục của luận văn ............................................................................ 3 CHƯƠNG 1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN TRONG CƠ SỞ DỮ LIỆU ............................................................................................................................ 4 1.1. Giới thiệu chung về an toàn, bảo mật cơ sở dữ liệu ......................................... 4 1.2. Khái niệm cơ bản ............................................................................................. 4 1.2.1. Các thành phần của DBMS ....................................................................... 5 1.2.2. Các mức mô tả dữ liệu .............................................................................. 6 1.3. Vấn đề an toàn trong cơ sở dữ liệu .................................................................. 7 1.3.1. Các hiểm hoạ đối với an toàn cơ sở dữ liệu ............................................. 7 1.3.2. Các yêu cầu bảo vệ cơ sở dữ liệu .............................................................. 8 1.4. Kiểm soát an toàn ............................................................................................. 9 1.4.1. Kiểm soát luồng....................................................................................... 10 1.4.2. Kiểm soát suy diễn .................................................................................. 10 1.4.3. Kiểm soát truy nhập ................................................................................ 10 1.5. Khảo sát thực trạng an toàn và bảo mật cơ sở dữ liệu tại Sở Giáo dục và Đào tạo tỉnh Quảng Ninh .............................................................................................. 11 1.6. Kết luận chương 1 .......................................................................................... 15 CHƯƠNG 2. LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CƠ SỞ DỮ LIỆU ..... 17 2.1. Giới thiệu về lý thuyết mật mã ....................................................................... 17 2.2. Mã hóa bằng khóa bí mật ............................................................................... 18 2.2.1. Khái niệm ................................................................................................ 18 2.2.2. Ưu khuyết điểm........................................................................................ 18 2.2.3. Cơ chế mã hóa khóa bí mật ..................................................................... 19 2.3. Mã hóa bằng khóa công khai ......................................................................... 21 2.3.1. Khái niệm ................................................................................................ 21 2.3.2. Ưu khuyết điểm........................................................................................ 22 iv 2.3.3. Cơ chế mã hóa khóa công khai ............................................................... 22 2.4. Xác thực thông tin .......................................................................................... 25 2.4.1. Bảo vệ tính toàn vẹn của thông tin .......................................................... 26 2.4.2. Kiểm chứng danh tính nguồn gốc thông tin ............................................ 27 2.4.3. Chống từ chối bản tin gốc ....................................................................... 28 2.5. Hàm băm ........................................................................................................ 30 2.6. Chữ ký số ....................................................................................................... 32 2.7. Một số vấn đề về bảo mật cơ sở dữ liệu ......................................................... 35 2.7.1. Mô hình bảo mật CSDL .......................................................................... 35 2.7.2. Các yếu tố mất an toàn với cơ sở dữ liệu ................................................ 39 2.7.3. Những yêu cầu khi xây dựng một hệ thống cơ sở dữ liệu an toàn .......... 40 2.8. Kết luận chương 2 .......................................................................................... 41 CHƯƠNG 3. THỰC NGHIỆM MỘT SỐ GIẢI PHÁP AN TOÀN VÀ BẢO MẬT CƠ SỞ DỮ LIỆU MYSQL ỨNG DỤNG CHO SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NINH ............................................................................................... 42 3.1. Mục tiêu và giải pháp bảo mật cơ sở dữ liệu ................................................. 42 3.1.1. Mục tiêu ................................................................................................... 42 3.1.2. Giải pháp ................................................................................................. 42 3.2. Giải pháp bảo mật CSDL trong hệ quản trị CSDL MySQL .......................... 49 3.2.1. Giới thiệu................................................................................................. 49 3.2.2. Vấn đề bảo mật trong MySQL ................................................................. 50 3.3. Thử nghiệm bảo mật cơ sở dữ liệu trong phát triển website quản lý điểm .... 57 3.3.1. Phạm vi và yêu cầu bài toán ................................................................... 57 3.3.2. Mô hình bảo mật của hệ thống ................................................................ 58 3.3.3. Triển khai mô hình bảo mật .................................................................... 59 3.3.4. Một số kết quả sau khi phát triển website ............................................... 59 3.4. Kết luận chương 3 .......................................................................................... 69 KẾT LUẬN VÀ ĐỀ NGHỊ ....................................................................................... 70 TÀI LIỆU THAM KHẢO ......................................................................................... 72 v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT AES : Advanced Encrypition Standard CA : Certificate Authority CSDL : Cơ sở dữ liệu DBMS : Database Management System DDL : Data Definition Language DES : Data Encript Standard DDM : Data Manipulation Language MAC : Message Authentication Code QL : Query Language SQL : Structured Query Language vi DANH MỤC HÌNH ẢNH Hình 1.1: Tương tác giữa trình ứng dụng và cơ sở dữ liệu ......................................... 6 Hình 1.2: Hệ thống kiểm soát truy nhập ................................................................... 11 Hình 2.1: Mã hóa bằng khóa bí mật .......................................................................... 18 Hình 2.2: Tiến trình mã hoá AES.............................................................................. 20 Hình 2.3: Mã hóa bằng khóa công khai .................................................................... 22 Hình 2.4: Các bước thực hiện của thuật toán RSA ................................................... 23 Hình 2.5: Lược đồ tạo chữ ký số ............................................................................... 33 Hình 2.6: Lược đồ kiểm tra chữ ký số ...................................................................... 34 Hình 2.7: Các thành phần của mô hình an toàn trong một hệ thống an toàn ............ 39 Hình 3.1: Dòng dữ liệu trao đổi giữa hai nút ............................................................ 44 Hình 3.2: Mô hình khai thác CSDL được bảo mật ................................................... 46 Hình 3.3: Giao thức bắt tay của SSL ......................................................................... 52 Hình 3.4: Mô hình bảo mật của hệ thống .................................................................. 58 Hình 3.5: Giao diện đăng nhập người dùng .............................................................. 60 Hình 3.6: Bản mã tài khoản người dùng ................................................................... 60 Hình 3.7: Giao diện thêm mới học sinh .................................................................... 61 Hình 3.8: Sửa thông tin học sinh ............................................................................... 61 Hình 3.9: Bản mã thông tin học sinh ........................................................................ 61 Hình 3.10: Giao diện nhập điểm của học sinh .......................................................... 62 Hình 3.11: Giao diện xem bản mã điểm của học sinh .............................................. 62 Hình 3.12: Bản mã được lưu trong CSDL ................................................................ 63 Hình 3.13: Giao diện sau khi đăng nhập ................................................................... 63 Hình 3.14: Giao diện thiết lập năm học .................................................................... 64 Hình 3.15: Giao diện thêm mới năm học .................................................................. 65 Hình 3.16: Giao diện thiết lập môn học .................................................................... 65 Hình 3.17: Giao diện thêm mới môn học .................................................................. 66 Hình 3.18: Giao diện quản lý người dùng ................................................................. 66 Hình 3.19: Giao diện quản lý lớp học ....................................................................... 67 vii Hình 3.20: Giao diện danh sách học sinh trong lớp .................................................. 68 Hình 3.21: Giao diện sửa và xét hạnh kiểm học sinh trong lớp ................................ 68 Hình 3.22: Giao diện tìm kiếm điểm ......................................................................... 69 1 MỞ ĐẦU 1. Tính khoa học và cấp thiết của đề tài An toàn thông tin luôn là vấn đề được bàn luận và quan tâm trong thời đại Internet phát triển, đảm bảo thông tin được bảo mật, không bị đánh cắp, sửa đổi làm ảnh hưởng đến quyền lợi của người dùng cá nhân cũng như của các tổ chức. Ngày nay, lĩnh vực bảo mật an toàn thông tin đang được nghiên cứu, phát triển và ứng dụng rộng rãi trong nhiều hệ thống thông tin nhằm đảm bảo một hệ thống có tính bảo mật, tin cậy và sẵn sàng. Đặc biệt là những hệ thống có cơ sở dữ liệu lưu trữ lớn cần phải có giải pháp đảm bảo an toàn và bí mật như trong lĩnh vực ngân hàng, tài chính, bảo hiểm. Do đó, việc tạo ra một hệ thống an toàn phục vụ cho nhu cầu truy cập, sửa đổi, cập nhật là hết sức cần thiết và chỉ có những cá nhân hay các tổ chức có quyền hợp lệ mới có khả năng tương tác dữ liệu với hệ thống. Vì thế, nhiệm vụ đảm bảo tính bí mật cho cơ sở dữ liệu là hết sức quan trọng, giúp tạo ra một hệ thống bảo mật, hoạt động chặt chẽ và an toàn cho việc cập nhật và truy cập dữ liệu. Hiện nay, Quảng Ninh là một trong những tỉnh tiên phong trong việc triển khai Chính phủ điện tử và ứng dụng công nghệ thông tin vào hầu hết các ngành nghề, các lĩnh vực trong cuộc sống. Trong đó, giáo dục và đào tạo là ngành được quan tâm hàng đầu. Sở Giáo dục và Đào tạo tỉnh Quảng Ninh đã không ngừng áp dụng những ứng dụng mới vào công tác quản lý cũng như công tác dạy và học, mang lại nhiều hiệu quả tích cực. Nhưng cùng với thực trạng chung trên cả nước, sự phát triển nhanh chóng của công nghệ thông tin đang khiến cho vấn đề mất an toàn thông tin của Sở Giáo dục và Đào tạo tỉnh Quảng Ninh ở mức độ cao. Do năng lực chống lại sự xâm nhập về thông tin còn yếu, hầu hết không biết rõ đối tượng tấn công cơ sở dữ liệu của mình và chưa có quy trình thao tác để ứng phó khi có sự cố xảy ra. Từ đó đặt ra những nhiệm vụ quan trọng đối với Sở Giáo dục và Đào tạo tỉnh Quảng Ninh là công tác đảm bảo an toàn và bảo mật thông tin cho cơ sở dữ liệu. 2 Được sự gợi ý của thầy giáo hướng dẫn tôi đã chọn đề tài “Nghiên cứu một số giải pháp an toàn và bảo mật cơ sở dữ liệu ứng dụng cho Sở Giáo dục và Đào tạo tỉnh Quảng Ninh” làm luận văn tốt nghiệp của mình. Mục tiêu chính của luận văn tìm hiểu các kỹ thuật và phương pháp để thực hiện nhiệm vụ bảo mật và an toàn dữ liệu như mật mã, xác thực, bảo mật, chữ ký số có liên quan tới truyền thông an toàn và cơ sở dữ liệu, sau đó sử dụng hệ quản trị cơ sở dữ liệu MySQL với bài toán quản lý dữ liệu và truyền thông bảo mật dữ liệu về kết quả học tập của học sinh cho một trường THPT của tỉnh Quảng Ninh để thử nghiệm. 2. Đối tượng và phạm vi nghiên cứu của đề tài - Đối tượng nghiên cứu: Tìm hiểu, nghiên cứu thực trạng và nhu cầu về an ninh, an toàn thông tin trong bộ dữ liệu của Sở Giáo dục và Đào tạo tỉnh Quảng Ninh, dựa trên các tiêu chuẩn, cơ sở mật mã, chữ ký số nhằm đưa ra các giải pháp an toàn và bảo mật cơ sở dữ liệu cho Sở Giáo dục và Đào tạo. - Phạm vi nghiên cứu: Luận văn tập trung nghiên cứu trên bài toán bảo mật thông tin trong CSDL MySQL. 3. Phương pháp luận nghiên cứu - Phương pháp nghiên cứu lý thuyết: Nghiên cứu, thu thập các tài liệu đã xuất bản, các bài báo trên các tạp chí khoa học và các tài liệu trên mạng Internet có liên quan đến vấn đề đang nghiên cứu của các tác giả trong và ngoài nước. Từ đó, chọn lọc và sắp xếp lại theo ý tưởng của mình. Tìm hiểu, vận dụng một số giải pháp an toàn và bảo mật cơ sở dữ liệu. Thực hiện triển khai cài đặt ứng dụng demo sử dụng một số giải pháp an toàn và bảo mật cơ sở dữ liệu ứng dụng cho Sở Giáo dục và Đào tạo tỉnh Quảng Ninh. - Phương pháp nghiên cứu thực nghiệm: Nghiên cứu tài liệu, ứng dụng và công nghệ liên quan. Tổng hợp các tài liệu lý thuyết về bảo mật CSDL. Xây dựng ứng dụng để bảo mật CSDL MySQL. - Phương pháp trao đổi khoa học: Thảo luận, xemina, lấy ý kiến chuyên gia. 3 4. Nội dung và bố cục của luận văn Ngoài phần mở đầu, kết luận và hướng phát triển, luận văn được bố cục thành ba chương chính như sau: Chương 1. Tổng quan về an toàn thông tin trong cơ sở dữ liệu: Giới thiệu một cách tổng quan về an toàn thông tin trong cơ sở dữ liệu. Chương 2. Cơ sở lý thuyết mật mã trong bảo mật cơ sở dữ liệu: Giới thiệu những kiến thức chung về mã hóa đối xứng, mã hoá công khai và cơ chế mã hóa. Nêu ra các vấn đề an toàn trong dùng các hệ mã, phân phối và sử dụng khóa. Chương 3. Thực nghiệm một số giải pháp an toàn và bảo mật cơ sở dữ liệu MySQL ứng dụng cho Sở Giáo dục và Đào tạo tỉnh Quảng Ninh: Trình bày các giải pháp bảo mật trong CSDL, từ đó đưa ra hướng bảo mật CSDL MySQL và xây dựng ứng dụng bảo mật CSDL MySQL. Xây dựng ứng dụng bảo mật CSDL điểm cho các trường THPT. 4 CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN TRONG CƠ SỞ DỮ LIỆU 1.1. Giới thiệu chung về an toàn, bảo mật cơ sở dữ liệu An ninh cơ sở dữ liệu đã trở thành một vấn đề có tầm quan trọng toàn cầu, những kẻ xâm nhập tìm mọi con đường để đánh cắp dữ liệu. Hướng triển khai nhiều lớp bảo mật trong môi trường cơ sở dữ liệu quan trọng là phương pháp hữu hiệu nhất để giảm thiểu nguy cơ xâm phạm dữ liệu. Nếu nhiều lớp bảo mật được áp dụng cho một môi trường lưu trữ dữ liệu, khi đó những kẻ xâm nhập sẽ có một thời gian khó khăn hơn khi truy cập dữ liệu. Để bảo mật môi trường lưu trữ dữ liệu cần có những lớp bảo vệ sau: Bảo mật cơ sở dữ liệu, bảo mật máy tính và an ninh mạng. 1.2. Khái niệm cơ bản CSDL được hiểu là một tập hợp các dữ liệu, các quy tắc dữ liệu và chỉ ra mỗi quan hệ giữa các dữ liệu ấy. Thông qua quy tắc này thì người tạo lập CSDL mô tả khuôn dạng logic cho dữ liệu [1]. Hệ quản trị CSDL: Hay trình quản lý CSDL (DBMS) là một hệ thống chương trình hỗ trợ thuận lợi cho người tạo lập CSDL và quản lý CSDL. Ví dụ như hệ quản trị CSDL Access của Microsoft: Hỗ trợ cho việc tạo bảng, câu lệnh truy vẫn, các khung nhìn, thủ tục lưu trữ... rất thuận tiện, thực hiện các chính sách về truy cập CSDL. Người quản trị CSDL: Là những người xác định các quy tắc về tổ chức, kiểm soát, cấp quyền truy cập đến các thành phần của CSDL. Ví dụ như hệ quản trị CSDL của Microsoft là SQL server: Người quản trị có thể tạo ra những quy tắc, cấp quyền truy xuất đến CSDL,... 5 Người dùng tương tác đến CSDL: Là 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. Ví dụ: Website báo chí cần truy xuất thông tin bài báo bằng cách thực hiện kết nối đến CSDL. 1.2.1. Các thành phần của DBMS Một DBMS thông thường bao gồm nhiều môđun tương ứng với các chức năng sau:  Định nghĩa dữ liệu - DDL.  Thao tác dữ liệu - DML.  Hỏi đáp cơ sở dữ liệu - QL.  Quản trị cơ sở dữ liệu - DBMS.  Quản lý file. Nguyên lý hoạt động: Yêu cầu người dùng cuối hoặc một chương trình ứng dụng thông qua câu lệnh của DML hoặc QL để thao tác với CSDL. Các câu lệnh này được thông dịch bằng bộ xử lý DML, QL. Kết quả đưa ra các câu hỏi tối ưu theo lược đồ CSDL. Sau đó các câu lệnh được đưa tới bộ quản lý CSDL. Tại đây bộ quản lý CSDL kiểm tra xem 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. Ngoài tra chương trình quản lý CSDL không, thông qua bảng truy cập đồng thời. Tiếp đó thực hiện truy vấn tới chương trình quản lý file, thực thi các thao tác trên file. Chương trình này chịu trách nhiệm lấy dữ liệu từ trong CSDL rồi trả về kết quả cho người dùng thông qua chương trình quản lý file, chương trình quản lý CSDL. Bộ xử lý DML, QL là nơi tiếp nhận sự trả về cuối cùng [1]. 6 Hình 1.1: Tương tác giữa trình ứng dụng và cơ sở dữ liệu Tất cả mọi thao tác nhằm truy vấn tới CSDL đều được thực hiện thông qua các thủ tục của DBMS. Thực hiện một câu lệnh DML tương ứng với một thủ tục của DBMS truy cập tới CSDL. 1.2.2. Các mức mô tả dữ liệu DBMS mô tả dữ liệu theo nhiều mức khác nhau và được mô tả như sau [1]:  Tầng hiển thị logic: Chức năng của tầng là hỗ trợ các ứng dụng hiển thị trên đó, việc xây dựng tầng này phụ thuộc vào các yêu cầu của mô hình logic và mục đích của ứng dụng. Tầng hiển thị logic mô tả một phần tầng lược đồ CSDL logic. Tầng này sử dụng DDL để định nghĩa các hiển thị logic và DML để thực hiện các thao tác trên đó.  Tầng lược đồ dữ liệu logic: Ở tầng này tất cả dữ liệu của CSDL được mô tả sử dụng mô hình logic của DBMS. Dữ liệu và các mối quan hệ của dữ liệu được mô tả qua DDL của DBMS và các thao tác khác nhau trên tầng này được xác định thông qua DML của DBMS.  Tầng dữ liệu vật lý: Ở tầng này kiến trúc lưu trữ của dữ liệu chính là các file trên bộ nhớ ngoài. Dữ liệu là các dữ liệu vật lý được lưu trữ như bản ghi hay con trỏ của bản ghi. 7  Việc DBMS tạo ra các tầng khác nhau trong mô tả của dữ liệu làm cho khái niệm về logic và vật lý của dữ liệu trở nên độc lập ở cả hai mức logic và vật lý.  Độc lập logic nghĩa là một lược đồ logic có thể được thay đổi mà không làm thay đổi các chương trình ứng dụng làm việc của lược đồ này.  Độc lập vật lý nghĩa là lược đồ dữ liệu vật lý có thể thay đổi mà không cần thay đổi các ứng dụng truy cập dữ liệu trên đó. 1.3. Vấn đề an toàn trong cơ sở dữ liệu 1.3.1. Các hiểm hoạ đối với an toàn cơ sở dữ liệu Hiểm họa đối với an ninh cơ sở dữ liệu là người truy cập trái phép vào CSDL nhằm sao chép, sửa đổi, khám phá thông tin. Hiện nay, hiểm họa hàng đầu đối với an toàn cơ sở dữ liệu là:  Lạm dụng quyền vượt mức: Người dùng sử dụng quyền vượt mức các yêu cầu trong chức năng công việc của mình.  Lạm dụng quyền hợp pháp: Người dùng sử dụng không dúng mục đích quyền của mình để thu thập dữ liệu...  Nâng cấp quyền bất hợp pháp: Kẻ tấn công thay đổi quyền truy nhập của người bình thường thành quyền truy nhập của một người quản trị.  Lợi dụng các điểm yếu của nền tảng: 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 có thể dẫn tới truy nhập bất hợp pháp, hay từ chối dịch vụ.  SQL Injection: Kẻ tấn công chèn các mệnh đề CSDL bất hợp pháp vào nguồn CSDL SQL. Để truy nhập và khai thác dữ liệu.  Mã độc: 8 Kẻ tấn công sử dụng các mã độc, hoặc phần mềm độc hại để thâm nhập vào các tổ chức để lấy cắp dữ liệu nhạy cảm.  Lợi dụng lỗ hổng truy vết: Không phát hiện và ngăn chặn được hành động tấn công của người dùng do không ghi lại được đầy đủ những hành động của người dùng.  Từ chối dịch vụ: Người dùng hợp pháp sẽ không thể truy cập được dữ liệu hay các ứng dụng trên mạng.  Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ: Do các phương tiện lưu trữ không thường xuyên được 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. 1.3.2. Các yêu cầu bảo vệ cơ sở dữ liệu Bảo vệ cơ sở dữ liệu khỏi các hiểm hoạ, có nghĩa là bảo vệ tài nguyên, đặc biệt là dữ liệu khỏi các thảm hoạ, hoặc truy nhập trái phép. Các yêu cầu bảo vệ cơ sở dữ liệu gồm [2]:  Bảo vệ chống truy cập trái phép: Đây là một vấn đề được quan tâm chính trong an toàn CSDL. Nó bao gồm việc truy cập hợp pháp tới dữ liệu của người được cấp quyền. Các yêu cầu truy cập sẽ được DBMS kiểm tra lại để xem xét có chấp nhận quyền đó của người dùng hay chương trình ứng dụng không thông qua bảng phân quyền.  Bảo vệ chống suy diễn: Suy diễn chỉ rõ khả năng thu được thông tin bí mật từ những dữ liệu đã được công khai. Vấn đề suy diễn thường là mối đe dọa lớn của cơ sở dữ liệu thống kê. Người dùng sẽ bắt đầu tìm thông tin ẩn từ những dấu vết để lại trên thông tin đã được công khai.  Bảo vệ toàn vẹn CSDL: 9 Bảo vệ truy vấn lại sự truy cập trái phép bắt nguồn từ các lỗi, virut, sự phá hoại hoặc các lỗi hệ thống. DBMS dựa vào dạng bảo vẹn thông qua việc kiểm soát tính đúng đắn của hệ thống, các thủ tục sao lưu, phục hồi dữ liệu, các thủ tục an toàn dữ liệu.  Tính đúng đắn của các phép toán thực hiện trên dữ liệu: Yêu cầu này đảm bảo tính tương thích logic của dữ liệu và các thao tác thực hiện đồng thời trên dữ liệu.  Tính toàn vẹn về mặt ngữ nghĩa của dữ liệu: Yêu cầu đảm bảo tính tương thích logic của dữ liệu bị thay đổi, bằng cách kiểm tra dữ liệu có nằm trong khoảng giá trị cho phép hay không.  Dữ liệu có khả năng lưu vết và kiểm tra: Là khả năng ghi lại mọi truy cập tới dữ liệu và dữ liệu có khả năng kiểm tra được nhằm đảm bảo tính toàn vẹn dữ liệu.  Xác thực người dùng: Hệ thống phải có khả năng xác thực đối tượng người dùng và quyền truy cập của người dùng tới dữ liệu, chỉ có người có quyền hợp pháp mới được truy cập tới dữ liệu.  Bảo vệ dữ liệu nhạy cảm: Bảo vệ dữ liệu nhạy cảm là một vấn đề rất quan trọng đặt biệt trong các môi trường năng động, nhạy cảm như quân đội, thương mại  Có nhiều cấp độ bảo vệ khác nhau: Tùy vào tính chất nhạy cảm của dữ liệu mà phân cấp, cấp độ bảo vệ khác nhau và trao quyền cho người dùng truy cập tới dữ liệu là khác nhau.  Giới hạn thông tin truyền nhằm tránh mất mát thông tin trên đường truyền. 1.4. Kiểm soát an toàn Có thể bảo vệ được cơ sở dữ liệu thông qua các phương pháp an toàn sau:  Kiểm soát luồng.  Kiểm soát suy diễn. 10  Kiểm soát truy nhập. 1.4.1. Kiểm soát luồng Kiểm soát luồng là kiểm tra xem thông tin có trong một số đối tượng có đi vào các đối tượng có mức bảo vệ thấp hơn hay không. Các kiểm soát luồng điều chỉnh phân bố luồng thông tin giữa các đối tượng có khả năng truy nhập. Các chính sách kiểm soát luồng cần phải chỉ ra các luồng có thể được chấp nhận, hoặc phải điều chỉnh. 1.4.2. Kiểm soát suy diễn Kiểm soát suy diễn nhằm mục đích bảo vệ dữ liệu không bị khám phá gián tiếp. Các kênh suy diễn chính trong hệ thống là:  Truy nhập gián tiếp: Từ dữ liệu được phép truy nhập để khám phá ra những dữ liệu khác qua các câu hỏi truy vấn.  Dữ liệu tương quan: Dữ liệu tương quan là một kênh suy diễn đặc trưng, xảy ra khi dữ liệu có thể nhìn thấy được X và dữ liệu không thể nhìn thấy được Y kết nối với nhau mặt ngữ nghĩa. Kết quả là có thể khám phá được thông tin về Y nhờ đọc X.  Thiếu dữ liệu: Kênh thiếu dữ liệu là một kênh suy diễn mà qua đó, người dùng có thể biết được sự tồn tại của một tập giá trị X. 1.4.3. Kiểm soát truy nhập Kiểm soát truy nhập trong các hệ thống thông tin là đảm bảo mọi truy nhập trực tiếp vào các đối tượng của hệ thống tuân theo các kiểu và các quy tắc đã được xác định trong chính sách bảo vệ. Hình 1.2 minh hoạ một hệ thống kiểm soát truy nhập. 11 Hình 1.2: Hệ thống kiểm soát truy nhập 1.5. Khảo sát thực trạng an toàn và bảo mật cơ sở dữ liệu tại Sở Giáo dục và Đào tạo tỉnh Quảng Ninh Hiện tại, Sở Giáo dục và Đào tạo tỉnh Quảng Ninh đã và đang thực hiện quản lý nhiều lĩnh vực khác nhau, trong đó bao gồm một số lĩnh vực sau: - Quản lý cán bộ (CB) 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, bộ môn, hình thức hợp đồng, phòng ban/đơn vị, email, số điện thoại, tình trạng. - Quản lý Đảng viên (ĐV) gồm các thông tin sau: Mã ĐV, tên ĐV, chức vụ, trình độ đào tạo, phòng ban/đơn vị, ngày vào Đảng, ngày chính thức, trạng thái. - 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. - Quản lý điểm học sinh được tác giả trình bày chi tiết ở phần tiếp theo của luận văn. Quảng Ninh là một trong những tỉnh tiên phong trong việc triển khai Chính phủ điện tử và ứng dụng công nghệ thông tin vào hầu hết các ngành nghề, các lĩnh vực trong cuộc sống. Sở Giáo dục và đào tạo tỉnh Quảng Ninh cũng triển khai các 12 biện pháp nhằm đảm bảo an toàn thông tin trong hoạt động ứng dụng công nghệ thông tin cụ thể như: a) Công tác triển khai cơ sở dữ liệu ngành Giáo dục và Đào tạo Ngành GDĐT tỉnh Quảng Ninh triển khai cơ sở dữ liệu ngành Giáo dục theo hướng dữ liệu được thu thập thông qua phần mềm quản lý trường học trực tuyến tại các trường học 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 (API). Đến thời điểm này, toàn bộ dữ liệu học sinh, giáo viên (trừ các nhóm trẻ tư thục độc lập, các cơ sở đào tạo GDTX tại các trường cao đẳng, đại học) đã được thu thập và cập nhật vào cơ sở dữ liệu ngành Giáo dục. Sở GDĐT tỉnh Quảng Ninh đã hoàn thiện, gửi toàn bộ các báo cáo cuối năm trên phần mềm cơ sở dữ liệu. b) Sở GDĐT tỉnh Quảng Ninh đã thực hiện việc gửi và nhận văn bản điện tử có ký số thông qua phần mềm quản lý hành chính điện tử (e-office) với Bộ GDĐT. Sở và các phòng GDĐT, các trường học trực thuộc sở đã thực hiện chuyển nhận văn bản điện tử có ký số qua phần mềm quản lý văn bản. c) Trong các năm học vừa qua, Sở GDĐT Quảng Ninh đã triển khai phần mềm quản lý trường học trực tuyến tại địa chỉ tới 100% các trường mầm non, phổ thông trên địa bàn toàn tỉnh. Sở GDĐT tỉnh Quảng Ninh hiện nay đang quản lý 56 trường THPT thành viên như các trường: THPT Chuyên Hạ Long, THPT Hòn Gai, THPT Cẩm Phả, THPT Uông Bí, THPT Hồng Đức, THPT Hoàng Văn Thụ, THPT Đông Thành, THPT Bãi Cháy, THPT Lê Quý Đôn, THPT Hoành Bồ Các trường THPT đều có chung cách tính điểm cũng như quy trình quản lý điểm của học sinh theo từng khối. Cụ thể như sau: 13  Mỗi học kỳ, một học sinh ...thông điệp sẽ bị phát hiện trong giai đoạn kiểm tra. Ngoài ra, việc ký nhận này đảm bảo người nhận tin tưởng vào thông điệp này xuất phát từ người gửi chứ không phải ai khác. Quá trình nhận và kiểm tra chữ ký số gồm các bước như sau: Hình 2.6: Lược đồ kiểm tra chữ ký số  Sau khi nhận được thông điệp có đính kèm chữ ký điện tử người nhận kiểm tra lại thông điệp:  Người nhận sử dụng khóa công khai của người gửi để giải mã chữ ký điện tử đính kèm trong thông điệp. 35  Sử dụng giải thuật MD5 hay SHA để băm thông điệp đính kèm.  So sánh kết quả thu được ở hai bước trên. Nếu trùng nhau thì ta kết luận thông điệp này không bị thay đổi trong quá trình gửi, người gửi là chính xác và ngược lại. Bản chất của thuật toán tạo chữ ký số là đảm bảo nếu chỉ biết thông điệp thì rất khó (hầu như không thể) tạo ra chữ ký số của người gửi nếu không biết khóa bí mật của người gửi. Nên nếu phép so sánh cho kết quả đúng thì có thể xác nhận người gửi là chính xác. Tuy nhiên khi tạo chữ ký số, người gửi thường không mã hóa toàn bộ thông điệp với khóa bí mật mà chỉ thực hiện với bản băm của thông điệp (bản tóm tắt thông điệp 160 bits) nên có thể xảy ra trường hợp hai thông điệp khác nhau có cùng bản băm nhưng với xác suất rất thấp. 2.7. Một số vấn đề về bảo mật cơ sở dữ liệu 2.7.1. Mô hình bảo mật CSDL Đối tượng mà mô hình CSDL an toàn nghiên cứu là các thủ tục ở cấp độ cao, tính độc lập của phần mềm, mô hình khái niệm, nhằm bảo vệ an toàn hệ thống từ yếu tố bên ngoài. Mô hình an toàn cung cấp các thành phần đại diện về mặt ngữ nghĩa trong đó cho phép các thuộc tính của hàm và cấu trúc của hệ thống an toàn được mô tả. Mô hình bảo mật hỗ trợ cho người phát triển đưa ra các định nghĩa ở cấp độ cao các yêu cầu bảo vệ và các chính sách được cung cấp một cách ngắn gọn, rõ ràng phù hợp với mô hình trừu tượng và dễ dàng trong cài đặt hệ thống [4]. Có nhiều mô hình an toàn, các mô hình có thể phân thành nhiều loại nhưng xoay quanh hai mô hình chính là mô hình an toàn bắt buộc và mô hình an toàn tùy chọn.  Mô hình an toàn tùy chọn quản lý truy cập của người dùng tới thông tin trong CSDL dựa vào việc xác thực người dùng, dựa vào các quy tắc dành riêng cho từng người dùng và từng đối tượng trong hệ thống, các quyền mà người dùng được thao tác với đối tượng. Yêu cầu của người dùng truy cập tới một đối tượng được kiểm 36 tra trong bảng CSDL xem có thỏa mãn các quyền mà họ được cấp không. Nếu truy cập của người dùng phù hợp với các quyền của họ thì họ được quyền tiếp tục truy cập vào hệ thống, nếu không hệ thống đưa ra thông báo từ chối truy cập. Mô hình bảo vệ tùy chọn nhìn chung cho phép người dùng cấp quyền cho những người dùng khác để truy cập tới các đối tượng trong CSDL. Hầu hết quyền đều ở dạng là các chính sách sở hữu, ở đây người tạo ra một đối tượng được phép cấp phát hoặc thu hồi quyền truy cập của người sử dụng khác tới đối tượng mà họ tạo ra.  Đánh giá: Cho đến nay, truy cập thông tin vẫn dựa phần lớn trên chính sách bảo vệ tùy chọn. Thuận lợi mà chính sách tùy chọn mang lại đó là tính mềm dẻo, phù hợp với nhiều hệ thống và các chương trình ứng dụng. Tuy nhiên, chính sách điều khiển truy cập tùy chọn có mặt hạn chế, nó không thể cung cấp một cách thực sự chắc chắn nhằm thỏa mãn các yêu cầu bảo vệ. Mặc dù mỗi cách thức truy cập chỉ được điều khiển hoặc được cho phép nếu được ủy quyền, tuy nhiên vẫn có thể vượt qua các hạn chế đó bằng cách lách quyền. Vấn đề chính mà chính sách tùy chọn gặp phải đó là nó không chịu bất kì hạn chế nào trên các cách thức sử dụng thông tin mà một người dùng giành được, do đó thông tin bị điều khiển dễ dàng. Chính điều này làm cho điều khiển tùy chọn có thể bị tấn công từ Trojan khi chúng được nhúng vào trong chương trình.  Mô hình an toàn bắt buộc quản lý việc truy cập tới thông tin trong CSDL dựa vào việc phân lớp các chủ thể và các đối tượng trong hệ thống. Đối tượng là các thực thể thụ động lưu trữ thông tin như file, bản ghi, không gian trong bản ghi, chủ thể là các thực thể hoạt động, thành phần truy cập tới các đối tượng. Nhìn chung một chủ thể được coi là một quá trình xử lý tính toán đại diện cho người dùng. Các lớp thao tác truy cập được kết hợp với các chủ thể và các đối tượng trong hệ thống, thao tác truy cập của chủ thể trên đối tượng được cấp nếu thỏa mãn các yêu cầu truy cập giữa lớp chủ thể và lớp đối tượng mà hệ thống đặt ra.  Đánh giá: Những thuận lợi mà chính sách bắt buộc mang lại xuất phát từ môi trường, nơi có các đối tượng và chủ thể được phân lớp. Chúng cung cấp tính xác 37 thực ở cấp độ cao cho vấn đề an toàn dựa trên nhãn có thực. Mô hình điều khiển bắt buộc và mô hình điều khiển luồng cho phép lưu vết thông tin do đó ngăn chặn được các kiểu tấn công bề mặt của Trojan. Đối với những môi trường đòi hỏi linh động thì chính sách này là không phù hợp. Hiện nay mô hình an toàn có thể được xây dựng từ sự tích hợp của chính sách tùy chọn và chính sách bắt buộc. Bên cạnh các mô hình ràng buộc và mô hình tùy chọn, các mô hình có thể được phân loại theo các hướng sau:  Mô hình phụ thuộc vào mục đích của hệ thống: Tùy thuộc vào mục tiêu của hệ thống, tài nguyên cần bảo vệ, cách điều khiển mà ta có các mô hình khác nhau. Như mô hình để bảo vệ hệ điều hành, mô hình để bảo vệ CSDL hoặc bảo vệ cả hệ điều hành và CSDL.  Mô hình phụ thuộc vào các chính sách hệ thống đặt ra: Mô hình bắt buộc hoặc mô hình tùy chọn.  Mô hình phụ thuộc vào các cách thức kiểm soát: Cho phép truy cập trực tiếp tới thông tin, hoặc cho phép truy cập gián tiếp tới thông tin. Do đó việc lựa chọn mô hình bảo mật nào trong phát triển hệ thống an toàn phụ thuộc vào mục đích, môi trường, dữ liệu nó muốn bảo vệ, dựa trên các mặt an toàn, chính sách an toàn và trên các mục đích kiểm soát. Có thể một mô hình là không đủ để đảm bảo an toàn trên nhiều khía cạnh khác nhau của hệ thống. Vì vậy, cần có sự kết hợp của nhiều mô hình để đáp ứng được yêu cầu về an toàn CSDL mà nhà quản lý đặt ra. Các thành phần của mô hình CSDL an toàn:  Chủ thể: Đây 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. 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. 38  Đối tượng: Đây là các thực thể bị động của hệ thống, chịu sự điều khiển truy cập của chủ thể. Nó 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.  Mô hình truy cập: Biểu diễn cách mà chủ thể truy cập, thực thi trên các đối tượng.  Chính sách: Là các quy tắc đặt ra nhằm thực hiện việc kiểm soát và truy cập tới CSDL.  Tập các quyền: Là các quyền truy cập của chủ thể. Quyền quản lý: Đây chính là các quyền như: cấp phát, thu hồi, sở hữu, cấp quyền.  Các tiên đề: Đây là các thuộc tính mà một hệ thống an toàn phải được thỏa mãn. Chúng 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. 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. 39 Hình 2.7: Các thành phần của mô hình an toàn trong một hệ thống an toàn 2.7.2. Các yếu tố mất an toàn với cơ sở dữ liệu Các hiểm họa đối với hệ thống có thể phân thành hiểm họa vô tình hay cố ý, chủ động hay thụ động:  Hiểm họa vô tình: Những kẻ xấu lợi dụng sử dụng quyền bất hợp pháp của người dùng truy cập được phép do khi hoàn thành công việc không chuyển hệ thống về bình thường.  Hiểm họa cố ý: Truy cập trái phép vào hệ thống.  Hiểm họa thụ động: Không tác động trực tiếp vào hệ thống.  Hiểm họa chủ động: Là việc thay đổi thông tin, thay đổi tình trạng hoặc hoạt động của hệ thống. Đối với mỗi hệ thống thông tin mối đe dọa tiềm ẩn là rất lớn nó có thể xuẩt phát từ các nguyên nhân sau: 40  Từ phía người sử dụng: Xâm phạm bất hợp pháp, hoặc sử dụng quyền vượt mức.  Trong kiến trúc hệ thống thông tin: Cấu trúc của hệ thông không đủ mạnh để bảo vệ thông tin.  Chính sách bảo mật an toàn thông tin: Chưa phân rõ quyền hạn của người dùng, không áp dụng các chuẩn an toàn.  Do không có công cụ quản lý, kiểm tra và điều khiển hệ thống trên hệ thống máy tính.  Các tội phạm công nghệ cao là nguy hiểm nhất đối với hệ thống. Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công:  Tấn công giả mạo: Giả dạng một chủ thể tin cậy để lấy cắp thông tin nhạy cảm của người dùng.  Tấn công chuyển tiếp: Một thông báo hoặc một phần thông báo được gửi nhiều lần gây ra các tác động tiêu cực.  Tấn công sửa đổi thông báo: Bằng cách nào đó thông báo sẽ bị sửa đổi mà không bị phát hiện.  Tấn công từ chối dịch vụ: Làm cho dùng hợp pháp sẽ không thể truy cập được dữ liệu hay các ứng dụng trên mạng.  Tấn công từ bên trong hệ thống: Người dùng hợp pháp dùng vượt quá quyền hạn của mình để thu thập thông tin trái phép.  Tấn công từ bên ngoài: Người dùng bất hợp pháp truy cập trái phép vào hệ thống nhằm thu thập thông tin. 2.7.3. Những yêu cầu khi xây dựng một hệ thống cơ sở dữ liệu an toàn Chính vì các yêu tố mất an toàn trên, đặt ra yêu cầu phải có một hệ thống đủ mạnh để quản lý, cấp quyền truy cập cho từng cá nhân một cách hợp lý, chỉ có cá nhân có đủ thẩm quyền mới được phép truy cập vào CSDL để tránh xâm nhập bất hợp pháp vào hệ thống, thực hiện thao tác đọc dữ liệu, thêm, xóa, sửa dữ liệu trong CSDL làm mất tính toàn vẹn của dữ liệu, có những thao tác mã hóa dữ liệu nhạy cảm 41 để tránh trường hợp nội dung dữ liệu bị lộ, sửa đổi trên đường truyền. Khi xây dựng mô hình an toàn CSDL, mô hình cần thỏa mãn các yêu cầu sau:  Khả năng thích nghi của hệ thống: Các đặc tính an toàn cần phải làm việc được trên mọi nền, các thiết bị phần cứng, phần mềm, tránh xảy ra xung đột với các hệ thống khác.  Tính trong suốt: Khi thực hiện cài đặt chương trình vào hệ thống, chương trình là trong suốt, việc thêm nó vào không làm cho các ứng dụng khác phải thay đổi theo.  Khả năng mở rộng: Các môđun của chương trình ứng dụng nên được xây dựng một cách độc lập với nhau, việc này thuận tiện cho việc sử dụng lại các môđun khi có nhu cầu, đồng thời khi thực hiện một thay đổi trên môđun này không làm cho các môđun khác phải thay đổi theo.  Dễ cài đặt: Các môđun an toàn có thể cài đặt trên các máy tính cá nhân hay các máy chủ một cách dễ dàng mà không cần phải thực hiện bất kì thay đổi nào của hệ thống.  Tính hiệu quả: Tính mật của hệ thống được nâng cao, tốc độ xử lý của hệ thống là khả thi. 2.8. Kết luận chương 2 Trong chương này đã giới thiệu những kiến thức chung về mã hóa đối xứng, mã hoá công khai và cơ chế mã hóa. Nêu ra các vấn đề an toàn trong dùng các hệ mã, phân phối và sử dụng khóa. Tìm hiểu về xác thực thông tin, kỹ thuật băm, chữ ký số và một số kỹ thuật cơ bản được sử dụng. 42 CHƯƠNG 3 THỰC NGHIỆM MỘT SỐ GIẢI PHÁP AN TOÀN VÀ BẢO MẬT CƠ SỞ DỮ LIỆU MYSQL ỨNG DỤNG CHO SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NINH 3.1. Mục tiêu và giải pháp bảo mật cơ sở dữ liệu 3.1.1. Mục tiêu Căn cứ vào mô hình truy xuất dữ liệu và các nguy cơ có thể gây mất an toàn cho CSDL thì mô hình an toàn hệ thống CSDL đề xuất phải giải quyết các mục tiêu sau: 1. Đảm bảo an toàn dữ liệu CSDL khi chuyển dữ liệu trên mạng. 2. Đảm bảo an toàn dữ liệu CSDL trong lúc khai thác CSDL phục vụ tác nghiệp. 3. Đảm bảo an toàn dữ liệu CSDL khi không phục vụ tác nghiệp. 3.1.2. Giải pháp Hệ thống bảo mật CSDL hoạt động trên nguyên tắc kết hợp chặt chẽ giữa biện pháp nghiệp vụ và các giải pháp kỹ thuật. Các biện pháp nghiệp vụ và giải pháp kỹ thuật không được ảnh hưởng đến những khả năng khai thác CSDL. Với giải pháp kỹ thuật cũng kết hợp nhiều phương pháp khác nhau để thu nhỏ dần không gian hiểm họa đối với CSDL, tiến tới kiểm soát hoàn toàn các hiểm họa đối với CSDL. Việc bảo vệ có thể thực hiện bằng nhiều lớp bảo vệ. Các biện pháp nghiệp vụ mang tính chất hỗ trợ các giải pháp kỹ thuật. Theo nguyên tắc phối hợp nhiều phương pháp khác nhau và chia thành nhiều lớp. Các giải pháp kỹ thuật phải giải quyết cả hai mục tiêu: toàn vẹn dữ liệu và bảo mật dữ liệu. Tính toàn vẹn dữ liệu nhằm chống lại tất cả những tấn công trái phép dẫn tới sai lệnh dữ liệu cũng như từ chối dịch vụ. Bảo mật dữ liệu nhằm chống lại tất cả 43 những tấn công trái phép dẫn đến khám phá thông tin trong CSDL một cách bất hợp pháp. 3.1.2.1. Các giải pháp kỹ thuật Giải quyết bài toán “Đảm bảo an toàn dữ liệu CSDL khi chuyển dữ liệu trên mạng”. Do dữ liệu được truyền từ máy khách tới máy chủ và ngược lại cho nên có những nguy cơ gặp phải:  Không chắc rằng việc trao đổi thông tin là đúng với đối tượng cần trao đổi.  Dữ liệu trên mạng có thể bị chặn, thay đổi và sửa đổi dữ liệu trước khi gửi đến người nhận. Để thực hiện được điều này thì ta áp dụng giao thức SSL để bảo vệ dữ liệu trong quá trình trao đổi giữa tất cả các dich vụ. SSL sẽ giải quyết vấn đề xác thực các đối tượng bằng cách cho phép một cách tùy chọn mỗi bên trao đổi để chắc chắn về định danh của phía đối tác trong quá trình xác thực. Một khi các bên đã được xác thực thì SSL sẽ cung cấp một kết nối mã hóa giữa hai bên để truyền bảo mật các thông điệp. Việc mã hóa trong quá trình trao đổi thông tin giữa hai bên cung cấp sự riêng tư, bí mật do đó giải quyết được vấn đề chặn bắt dữ liệu. Thuật toán mã hóa sử dụng bao gồm các hàm băm mã hóa, nó đảm bảo rằng dữ liệu không bị thay đổi trong quá trình truyền dẫn. Ngoài ra, giao thức SSL còn đòi hỏi ứng dụng chủ phải được xác thực bằng một đối tượng thứ 3 (CA) thông qua giấy chứng thực điện tử dựa trên mật mã công khai. Giao thức SSL dựa trên hai nhóm giao thức là giao thức bắt tay và giao thức bản ghi. Giao thức bắt tay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thông tin hoặc dữ liệu. Giao thức bản ghi xác định khuôn dạng cho tiến hành mã hóa và truyền tin hai chiều giữa hai đối tượng đó. SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hóa để thực hiện các nhiệm vụ bảo mật sau: xác thực máy chủ, xác thực máy trạm, mã hóa kết nối. 44 Kiểm soát quá trình trao đổi dữ liệu trên mạng: Đảm bảo kiểm soát được các điểm kết nối tham gia vào quá trình trao đổi dữ liệu và tránh tình trạng các kết nối không kiểm soát được. Khi tiến hành tra đổi dữ liệu thì toàn bộ trao đổi phải được bảo mật, thức là mã hóa dữ liệu trước khi trao đổi. Cách trao đổi được giải quyết bằng cách:  Không sử dụng lại tiến trình trao đổi của hệ thống mà viết lại để có thể kiểm soát và có thể đưa kỹ thuật bảo mật vào quá trình trao đổi.  Bảo mật dữ liệu trong suốt quá trình trao đổi dữ liệu từ nút tới nút, tức là dữ liệu trao đổi trước khi chuyển lên kênh truyền thì sẽ được mã hóa. Dòng dữ liệu trao đổi trên kênh giữa hai nút A và B được thực hiện trong sơ đồ sau: Hình 3.1: Dòng dữ liệu trao đổi giữa hai nút Giải quyết bài toán “Đảm bảo an toàn dữ liệu CSDL trong lúc khai thác CSDL phục vụ tác nghiệp” Trong DBMS có nhiều CSDL và người dùng, do đó việc phân quyền hạn cho những người dùng này là rất quan trọng nhằm tránh việc lạm dụng quyền hạn, truy cập CSDL trái phép, sửa đổi thông tin... Do đó, để hạn chế tối đa những nguy cơ mất an toàn này thì thứ nhất cần có biện pháp phân quyền truy cập: tùy theo vai trò khác nhau của người dùng mà họ có những quyền hạn khác nhau để khai thác CSDL, ví dụ một số người chỉ có quyền đọc, xem, trong khi đó một số người lại có quyền chỉnh 45 sửa... Các đối tượng trên muốn truy cập vào hệ thống thì cần phải xác thực trước khi vào. Thông tin xác thực bao gồm tên đăng nhập và mật khẩu, dựa vào các thông tin này thì DBMS sẽ thực hiện việc xác nhận và sẽ cho phép hay từ chối vào quyền truy cập CSDL. Trong một số trường hợp thì đối với người có cấp cao thì cơ chế nhận dạng sẽ phức tạp hơn. Ngoài ra, để đảm bảo thông tin xác thực thì DBMS cũng cung cấp cơ chế thay đổi mật khẩu để tăng cường khả năng an toàn cho mật khẩu. Một vấn đề cũng cần chú ý nữa là các thông tin trong CSDL cũng cần có biện pháp bảo vệ, bởi vì nếu chẳng may có kẻ xâm nhập vào DBMS thì chúng dễ dàng xem được các thông tin quan trọng. Đảm bảo an toàn dữ liệu CSDL trong lúc khai thác CSDL phục vụ tác nghiệp nhằm chống lại các tấn công trực tiếp vào CSDL qua môi trường hệ quản trị CSDL. Bài toán được giải quyết theo các hướng sau:  Phân hoạch CSDL: Tùy theo mức độ quan trọng của dữ liệu mà CSDL nên được phân hoạch theo chiều ngang. Với mỗi phân hoạch hệ thống an toàn sẽ thực hiện một chiến lược bảo mật riêng theo yêu cầu bảo mật của dữ liệu. Với phần CSDL lưu trữ thông tin quan trọng yêu cầu độ mật cao thì luôn lưu giữ ở dạng mã hóa toàn bộ CSDL còn những phần CSDL lưu trữ thông tin ít nhạy cảm thì chỉ cần bảo đảm tính xác thực toàn vẹn dữ liệu. Việc khai thác trên phần CSDL này chỉ có thể tiến hành qua phần giao diện ứng dụng chỉ người làm việc thích hợp mới có thể chuyển CSDL về trạng thái sẵn sàng phục vụ và khi kết thúc công việc CSDL lại được chuyển về trạng thái an toàn.  Mã hóa các trường hợp dữ liệu quan trọng: Các dữ liệu trong CSDL có mức độ quan trọng là không giống nhau, có những dữ liệu cần phải bảo mật trong khi có những dữ liệu chỉ cần đảm bảo tính toàn vẹn và xác thực, việc CSDL cần được bảo mật được xác định bởi người có thẩm quyền. Các thông tin có độ mật cao luôn được lưu trữ ở dạng mã hóa, những thông tin này chỉ được giải mã ở tầng giao diện người dùng và chỉ có những thông tin thỏa mãn yêu 46 cầu của người dùng và trong thẩm quyền được phép của người dùng mới được giải mã.  Kiểm soát các luồng dữ liệu: Kiểm soát chuyển thông tin giữa các mức có những mức bảo mật khác nhau. Có hai kiểu chính sách kiểm soát thông tin trong các hệ quản trị CSDL để phục vụ cho bảo vệ CSDL là: Chính sách tùy ý và chính sách bắt buộc.  Kiểm soát người dùng CSDL: Có hai mức kiểm soát quy định bởi người quản trị CSDL và quy định bởi hệ thống an ninh cơ sở dữ liệu người dùng CSDL, để truy cập vào CSDL người dùng cần phải vượt qua hai mức kiểm soát trên. Mô hình có thể được thể hiện như sau: Hình 3.2: Mô hình khai thác CSDL được bảo mật Giải quyết bài toán “Đảm bảo an toàn dữ liệu CSDL khi không phục vụ tác nghiệp” Môi trường hệ điều hành là nơi DBMS được cài đặt trên đó cho nên việc có kẻ xâm nhập được vào hệ thống qua hệ điều hành thì chúng có thể có các biện pháp tấn công, trộm cắp, khai thác thông tin qua việc cài virus, hay các phương tiện phục vụ cho việc khai thác thông tin, để từ đó chúng có thể đánh cắp được thông tin CSDL, 47 thông tin đăng nhập vào DBMS... Do vậy việc bảo vệ CSDL qua môi trường hệ điều hành là việc rất quan trọng. Có một số biện pháp như cần phải phân quyền hạn như quyền truy cập máy chủ, bảo trì hệ thống. Quyền chạy các chương trình ứng dụng trên hệ điều hành. Ngoài ra vấn đề cần chú ý là khi không phục vụ tác nghiệp thì dữ liệu quan trọng trong CSDL sẽ ở trạng thái lưu trữ. Ở trạng thái này thì ngoài những trường quan trọng thì toàn bộ CSDL được mã hóa. Hệ mật phục vụ cho mã hóa cũng là sự kết hợp giữa mã đối xứng và mã công khai đảm bảo người dùng hợp pháp có thể chuyển CSDL về trạng thái sẵn sàng phục vụ do đó ngăn chặn được những tấn công qua đường hệ điều hành vào CSDL chứa những dữ liệu có độ bảo mật cao. 3.1.2.2. Thiết kế hệ mật Hệ mật được sử dụng để bảo vệ dữ liệu cho hệ thống CSDL trong mô hình bảo mật đề xuất được dựa trên hai hệ mật cơ bản:  Hệ mật khóa công khai: Sử dụng để phục vụ cho phân phối khóa phiên cho các phiên làm việc, xác thực người sử dụng và dữ liệu.  Hệ mật khóa đối xứng: Được sử dụng để mã hóa dữ liệu. Hai hệ mật này được kết hợp với nhau để tạo ra các hệ mật cụ thể phục vụ cho các mục tiêu an toàn khác nhau như đã trình bày trong phần trước. 3.1.2.3. Sử dụng hệ thống quản lý và phân phối khóa Hệ thống bảo mật sử dụng hai hệ mật để đảm bảo an toàn là hệ mật khóa công khai và hệ mật khóa đối xứng. Hệ mật khóa công khai được sử dụng để phục vụ cho phân phối khóa phiên cho các phiên làm việc, xác thực người sử dụng và dữ liệu. Để giải quyết bài toán quản lý và phân phối hệ thống bảo mật ứng dụng cơ sở hạ tầng khóa công khai (PKI). Hệ thống cấp phát chứng chỉ làm việc như sau: Một CA phát hành các chứng chỉ cho người tham gia hệ thống CSDL nắm giữ cặp khóa công khai và khóa riêng. Mỗi chứng chỉ gồm có một khóa công khai và thông tin 48 dùng để nhận dạng duy nhất chủ thể của chứng chỉ. Các chứng chỉ CA kí bằng khóa riêng của CA. Một khi các chứng chỉ được thiết lập, nếu người dùng cần khóa công khai của một đối tượng khác trong hệ thống CSDL, anh ta có thể lấy được khóa công khai của đối tượng đó bằng cách lấy một bản sao chứng chỉ của thuê bao, lấy ra khóa công khai, kiểm tra chữ ký của CA có trên chứng chỉ bằng cách sử dụng khóa công khai của CA. Nếu một đối tượng muốn làm giả một chứng chỉ để truy cập trái phép vào hệ thống CSDL khi chứng chỉ này đang được phát hành cho những người sử dụng khóa công khai, anh ta sẽ bị những người này phát hiện ra việc làm giả, bởi vì chữ ký số của CA được kiểm tra chính xác. Khi sử dụng chứng chỉ số trong hệ thống bảo mật an toàn cho CSDL, các cặp khóa của người dùng và khóa công khai của CA sẽ được lưu trữ trên thiết bị lưu trữ an toàn, nhỏ gọn. Với cách phân phối khóa như vậy sẽ giúp thuận lợi hơn rất nhiều cho việc quản lý khóa và việc mở rộng hệ thống. Chúng ta đều biết phân phối khóa là một khâu hết sức quan trọng trong bất kì một hệ thống mật nào. Có được một hệ thống phân phối khóa tốt cũng đồng nghĩa với việc nâng cao hiệu quả và độ tin cậy hệ thống mật áp dụng ở đây. 3.1.2.4. Giải pháp bảo mật trong khâu tác nghiệp Đây là phần hết sức quan trọng không thể thiếu được trong hệ thống bảo đảm an toàn cho CSDL. Cùng với những giải pháp kỹ thuật, các biện pháp nghiệp vụ sẽ tăng độ an toàn cho hệ thống CSDL. Sau đây là một số biện pháp nghiệp vụ sẽ được triển khai trong hệ thống an toàn cho CSDL.  Quy định khai thác CSDL, bảo vệ máy chủ lưu trữ CSDL.  Quy định về nhiệm vụ quản lý khóa.  Quy định về tổ chức hệ thống thiết bị khai thác CSDL. 49  Quy định về trách nhiệm của người sử dụng khi khai thác CSDL. Quy định rõ ràng ai được phép khi thác CSDL và khai thác đến mức nào.  Với những đối tượng khai thác các dữ liệu có độ mật cao phải hết sức tin cậy và được quản lý chặt chẽ, phải ghi rõ nhật kí khai thác. Số lượng người khai thác được tính toán hết sức cẩn thận.  Có các kỹ thuật nghiệp vụ bảo vệ môđun mật mã.  Có các nghiệp vụ bảo vệ các môđun chương trình.  Có các kỹ thuật nghiệp vụ bảo vệ các tham số người dùng trên các thiết bị mang tin. Về đối tượng sử dụng CSDL tại các mức khác nhau cũng rất khác nhau. Hơn nữa, điều kiện bảo vệ ở các mức khác nhau cũng khác nhau. Do đó tùy từng điều kiện cụ thể và tùy thuộc vào mức độ cần bảo vệ của CSDL mà vận dụng những biện pháp nghiệp vụ phù hợp tại mỗi khu vực. Đối với những hệ thống CSDL nhạy cảm chứa nhiều dữ liệu quan trọng có thể cung cấp cho mỗi người sử dụng một thẻ nghiệp vụ khai thác CSDL. Khi muốn khai thác CSDL, người sử dụng phải trình thẻ thì mới được phép truy cập hệ thống sau đó mới tiến hành những mức kiểm tra tiếp theo. 3.2. Giải pháp bảo mật CSDL trong hệ quản trị CSDL MySQL 3.2.1. Giới thiệu MySQL Server là một hệ quản trị CSDL quan hệ mã nguồn mở phổ biến nhất hiện nay, được phát triển, phân chia, hỗ trợ bởi MySQL AB. MySQL Server nhanh, đáng tin cậy, dễ sử dụng, chạy trên mọi nền, dễ dàng cấu hình và miễn phí nhưng vẫn là một DBMS rất an toàn. Các tính năng của MySQL Server đang được bổ sung dần qua từng phiên bản. MySQL là giải pháp cơ sở dữ liệu tốt nhất cho các website. Một số đặc điểm của MySQL [7]: 50 MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương với SQL Server của Microsoft). MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL. Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó. Nếu không, chúng ta sẽ không làm được gì cả. 3.2.2. Vấn đề bảo mật trong MySQL Bảo mật CSDL là một yếu tố cần thiết trong bất kì hệ thống CSDL nào. Bảo mật là bảo vệ dữ liệu chống lại các cracker, đồng thời cũng bảo vệ dữ liệu từ người dùng. Ví dụ người dùng có thể xóa, sửa, xem hoặc thêm những bản ghi mà họ không được phép. Để tránh những tình trạng này, người quản trị có thể tạo nên một cơ chế bảo mật trên CSDL để ngăn chặn các thao tác mà người dùng không được phép thao tác trên CSDL. Bảo mật đóng vai trò chính trong bất kì ứng dụng nào mà người dùng có thể truy cập vào ít nhất một lần. Cơ chế bảo mật của hệ quản trị CSDL MySQL rất tốt, là một trong hệ quản trị CSDL an toàn hiện nay. Cơ chế bảo mật của hệ quản trị CSDL MySQL bao gồm các lĩnh vực chính [3]:  Bảo mật trong môi trường mạng.  Bảo mật tại chỗ.  Các biện pháp tác nghiệp. 3.2.2.1. Bảo mật trong môi trường mạng Các phiên bản gần đây của MySQL Server hỗ trợ cho các kết nối an toàn giữa các MySQL Client và Server dùng giao thức SSL. Mặc định, MySQL Server dùng 51 các kết nối giải mã giữa Client và Server. Điều này có nghĩa là một người dùng khi truy cập vào mạng có thể biết được mọi hoạt động của người dùng và thấy được tất cả dữ liệu đang được nhận hay gửi đi. Thậm chí họ có thể thay đổi dữ liệu trên đường truyền. Chính vì vậy giao thức SSL và chuẩn X.509 được sử dụng để mã hóa dữ liệu và xác thực người dùng trong MySQL Server để đảm bảo tính toàn vẹn và bí mật của CSDL. Để sử dụng giao thức SSL kết nối giữa máy trạm và máy chủ hệ thống phải cung cấp thêm thư viện OpenSSL và yaSSL phù hợp với phiên bản MySQL Server có hỗ trợ SSL... Giao thức SSL được phát triển bởi Netscape, giao thức SSL đã được sử dụng rộng rãi trên mạng Internet trong việc xác thực và mã hóa thông tin giữa máy trạm và máy chủ. SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hóa để thực hiện các nhiệm vụ bảo mật sau:  Xác thực máy chủ: Máy khách sẽ xác thực có đúng là máy chủ cần kết nối hay không. Các kỹ thuật mã hóa công khai được duyệt sử dụng để chắc chắn rằng chứng chỉ và khóa công cộng của máy chủ là có giá trị và được cấp phát bởi một CA trong danh sách các CA đáng tin cậy của máy trạm.  Xác thực máy trạm: Máy chủ sẽ xác thực có đúng là máy khách muốn kết nối hay không. Phía máy chủ cũng sử dụng các kỹ thuật mã hóa công khai để kiểm tra xem chứng chỉ và khóa công cộng máy trạm có giá trị hay không và được cấp phát bởi một CA trong danh sách các CA đáng tin cậy không.  Mã hóa kết nối: Để bảo mật thông tin trao đổi giữa máy chủ và máy trạm thì thông tin sẽ được mã hóa bằng các thuật toán mã hóa mà SSL hỗ trợ. Các dữ liệu gửi đi trên một kết nối SSL đã được mã hóa còn được bảo vệ nhờ cơ chế tự động phát hiện xáo trộn, thay đổi dữ liệu đó là các thuật toán băm. 52 Giao thức SSL hoạt động dựa trên hai nhóm giao thức con là giao thức “bắt tay” và giao thức “bản ghi”. Giao thức bắt tay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thông tin hoặc dữ liệu, còn giao thức bản ghi xác định khuôn dạng cho tiến hành mã hóa và truyền tin hai chiều giữa hai đối tượng đó. Giao thức SSL “bắt tay” sẽ sử dụng SSL “bản ghi” để trao đổi một số thông tin giữa máy chủ và máy trạm vào lần đầu tiên thiết lập kết nối SSL. Một giao dịch SSL thường bắt đầu bởi quá trình “bắt tay” giữa hai bên. Các giai đoạn trong quá trình “bắt tay” có thể như sau: Hình 3.3: Giao thức bắt tay của SSL  Giai đoạn 1: Thiết lập khả năng bảo mật Giai đoạn này được sử dụng để thiết lập kết nối vật lý và khả năng bảo mật sẽ được liên kết với nó. Việc trao đổi được khởi tạo bằng máy khách bằng việc gửi một 53 thông điệp cho máy chủ với những thông số sau: phiên bản SSL mới nhất mà máy khách biết, dữ liệu được sinh ra ngẫu nhiên, những thuật toán mã hóa, phương thức nén mà máy khách được hỗ trợ. Sau đó máy khách chờ thông điệp được gửi từ máy chủ có chứ thông điệp giống với thông điệp máy khách gửi và những thỏa thuận kèm theo.  Giai đoạn 2: Xác thực máy chủ và trao đổi khóa Giai đoạn này máy chủ gửi chứng chỉ đến máy trạm, thông điệp chứa một hoặc một chuỗi chứng thực X.509. Sau đó là một thông điệp trao đổi khóa từ máy chủ nếu nó được yêu cầu. Yêu cầu chứng chỉ từ máy khách nếu có yêu cầu. Chứng thư số ở giai đoạn này chỉ ra giải thuật khóa công khai và danh sách các CA được chấp nhận.  Giai đoạn 3: Xác thực máy khách và trao đổi khóa Máy khách xác nhận xem máy chủ cung cấp chứng chỉ hợp lệ hay chưa, nếu được yêu cầu và kiểm tra các thông số từ thông điệp máy chủ gửi tới được chấp nhận hay không. Nếu thỏa mãn máy khác gửi một hoặc nhiều thông điệp trở lại cho máy chủ. Nếu máy chủ yêu cầu chứng chỉ thì máy khách bắt đầu giai đoạn này bằng cách gửi một thông điệp chứng chỉ. Nếu không có chứng chỉ phù hợp máy khách gửi thông điệp không có chứng chỉ thay thế. Tiếp theo máy khác gửi thông điệp trao đổi khóa, nội dung thông điệp phụ thuộc vào kiểu trao đổi khóa. Cuối cùng, trong giai đoạn này máy khách gửi một thông điệp để xác thực tường minh của một thông điệp máy khách.  Giai đoạn 4: Kết thúc Giai đoạn này hoàn thành thiết lập một kết nối an toàn, máy khách gửi thông điệp theo giải thuật mới với các khóa và các bí mật. Thông điệp kết thúc xác minh xem quá trình trao đổi khóa và xác thực có thành công hay không. Thuật toán mã hóa xác t

Các file đính kèm theo tài liệu này:

  • pdfluan_van_nghien_cuu_mot_so_giai_phap_an_toan_va_bao_mat_co_s.pdf
Tài liệu liên quan