Tải bản đầy đủ (.pdf) (76 trang)

Nghiên cứu giải pháp bảo mật cơ sở dữ liệu SQL Server 2012 bằng phương pháp mã hóa : Luận văn ThS. Công nghệ thông tin: 60 48 01 04

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.7 MB, 76 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN HỒNG GIANG

NGHIÊN CỨU GIẢI PHÁP BẢO MẬT CƠ SỞ DỮ LIỆU
SQL SERVER 2012 BẰNG PHƯƠNG PHÁP MÃ HÓA

Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. Vương Đạo Vy

Hà Nội - 2015



LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này là do tôi thực hiện, không sao chép của
ai. Các đoạn trích dẫn được sử dụng trong luận văn đều được dẫn nguồn và có
độ chính xác cao nhất trong phạm vi hiểu biết của tôi.

Học viên

Nguyễn Hồng Giang



LỜI CẢM ƠN

Trước hết, em xin chân thành cảm ơn PGS. TS. Vương Đạo Vy đã trực
tiếp hướng dẫn em hoàn thành luận văn này. Những định hướng, tài liệu và sự
hướng dẫn tận tình của Thầy đã giúp em khắc phục những điểm còn yếu kém
trong quá trình thực hiện luận văn.
Em cũng xin trân trọng cảm ơn quý thầy cô giáo trong và ngoài Trường
Đại học Công nghệ - Đại học Quốc gia Hà Nội đã giảng dạy trong suốt quá
trình học tập vừa qua. Những kiến thức quý báu thu nhận được đã rất hữu ích
và giúp đỡ em rất nhiều trong quá trình thực hiện luận văn.
Mặc dù đã rất cố gắng hoàn thành luận văn trong khả năng của mình
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Kính mong nhận được
sự góp ý, chỉ bảo của các thầy cô giáo!

Học viên

Nguyễn Hồng Giang


MỤC LỤC
Trang
Lời cam đoan ...................................................................................................... i
Lời cảm ơn ......................................................................................................... ii
Mục lục ............................................................................................................. iii
Danh mục các từ viết tắt .................................................................................... iv
Danh mục các bảng và hình vẽ ........................................................................... v
MỞ ĐẦU ........................................................................................................... 1
CHƯƠNG 1. TỔNG QUAN VỀ AN TOÀN CƠ SỞ DỮ LIỆU ......................... 2
1.1. Một số khái niệm .................................................................................... 3
1.2. Vấn đề an toàn CSDL ............................................................................. 5

1.3. Thiết kế CSDL an toàn ........................................................................... 7
1.3.1. Phân tích sơ bộ................................................................................ 8
1.3.2. Xây dựng các yêu cầu và chính sách bảo mật ................................. 9
1.3.3. Xây dựng khái niệm ...................................................................... 11
1.3.4. Thiết kế cấu trúc logic................................................................... 12
1.3.5. Thiết kế cấu trúc vật lý.................................................................. 13
1.3.6. Cài đặt cơ chế an toàn ................................................................... 13
1.3.7. Kiểm tra ........................................................................................ 15
CHƯƠNG 2. TÌNH HÌNH TẤN CÔNG CSDL HIỆN NAY VÀ GIẢI PHÁP
PHÒNG CHỐNG ............................................................................................. 17
2.1. Các mối đe dọa tấn công CSDL hàng đầu ............................................. 17
2.1.1. Lạm dụng các đặc quyền vượt mức và các đặc quyền không còn
được dùng............................................................................................... 18
2.1.2. Lạm dụng đặc quyền ..................................................................... 18
2.1.3. Tấn công Input Injection ............................................................... 19
2.1.4. Mã độc.......................................................................................... 19
2.1.5. Lợi dụng viết kiểm toán yếu ......................................................... 19
2.1.6. Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ ...................... 20


2.1.7. Khai thác các CSDL có điểm yếu và bị lỗi cấu hình ..................... 20
2.1.8. Rò rỉ các dữ liệu nhạy cảm không được quản lý............................ 20
2.1.9. Tấn công từ chối dịch vụ .............................................................. 21
2.1.10. Vấn đề đào tạo và chuyên gia an ninh còn hạn chế ..................... 21
2.2. Các giải pháp phòng chống tấn công CSDL.......................................... 21
2.2.1. Phát hiện và đánh giá .................................................................... 23
2.2.2. Quản lý quyền người dùng............................................................ 24
2.2.3. Giám sát và ngăn chặn .................................................................. 25
2.2.4. Kiểm toán ..................................................................................... 26
2.2.5. Bảo vệ dữ liệu............................................................................... 27

2.2.6. An ninh ngoài kỹ thuật.................................................................. 27
2.3. Một số vụ tấn công CSDL gần đây ....................................................... 28
CHƯƠNG 3. CÁC GIẢI PHÁP BẢO VỆ CSDL TRONG SQL SERVER ...... 34
3.1. An toàn dữ liệu mức cài đặt hệ thống.................................................... 34
3.2. An toàn dữ liệu mức người dùng .......................................................... 38
3.3. An toàn dữ liệu mức phân quyền .......................................................... 41
3.4. An toàn dữ liệu bằng phương pháp mã hóa ........................................... 43
CHƯƠNG 4. THỰC NGHIỆM BẢO VỆ CƠ SỞ DỮ LIỆU............................ 56
4.1. Thực nghiệm mã hóa dữ liệu mức lưu trữ ............................................. 56
4.2. Thực nghiệm mã hóa dữ liệu mức CSDL.............................................. 58
4.3. Demo ứng dụng mã hóa dữ liệu ............................................................ 61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................................ 65
TÀI LIỆU THAM KHẢO ................................................................................ 66


DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt

Tiếng Việt

Tiếng Anh

CA

Nhà cung cấp chứng nhận số

Certificate Authority

CSDL


Cơ sở dữ liệu

Database

DBMS

Hệ quản trị cơ sở dữ liệu

DataBase Management System

DCL

Ngôn ngữ kiểm soát dữ liệu

Data Control Language

DDL

Ngôn ngữ định nghĩa dữ liệu

Data Definition Language

DMK

Khóa chủ cơ sở dữ liệu

Database Master Key

DML


Ngôn ngữ thao tác dữ liệu

Data Manipulation Language

HTTP

Giao thức truyền tải siêu văn bản

HyperText Transfer Protocol

LAN

Mạng cục bộ

Local Area Network

OLEDB

Đối tượng liên kết và chèn cơ sở
dữ liệu

Object Linking and Embedding
Database

QL

Ngôn ngữ truy vấn

Query Language


SMK

Khóa chủ dịch vụ

Service Master Key

SID

Mã nhân dạng bảo mật

Security Identifier

TCP

Giao thức kiểm soát truyền tải

Transmission Control Protocol

UDP

Giao thức không liên kết

User Datagram Protocol


DANH MỤC CÁC BẢNG VÀ HÌNH VẼ
Trang
Hình 1.1. Kiến trúc của DBMS .......................................................................... 4
Hình 1.2. Mô hình tương tác giữa ứng dụng và CSDL ....................................... 4

Hình 1.3. Các mức mô tả dữ liệu ........................................................................ 5
Hình 1.4. Sơ đồ thiết kế CSDL an toàn............................................................. 16
Bảng 2.1. Các mối de dọa tấn công CSDL hàng đầu năm 2015 ........................ 17
Bảng 2.2. Bảng xác định giải pháp chống lại tấn công CSDL........................... 22
Bảng 2.3. Tỉ lệ Crypto-ransomware trong Ransomware ................................... 31
Hình 3.1. Quy trình mã hóa và giải mã dữ liệu ................................................. 43
Hình 3.2. Mô tả mã hóa mức lưu trữ................................................................. 43
Hình 3.3. Mô tả mã hóa mức CSDL ................................................................. 44
Hình 3.4. Mô tả mã hóa mức ứng dụng ............................................................ 45
Hình 3.5. Hệ thống phân cấp khóa.................................................................... 46



1

MỞ ĐẦU
Lý do chọn đề tài
Những năm gần đây, vấn đề tấn công mạng, ăn cắp dữ liệu số ngày
càng tinh vi, các vụ việc đã gây nhiều thiệt hại không chỉ cho các cá nhân mà
cho cả các tổ chức và các công ty lớn xuyên quốc gia. Vấn đề an toàn thông
tin càng trở nên nghiêm trọng hơn khi các vụ tấn công mang cả động cơ chính
trị, nhằm vào cơ quan chính phủ của các nước.
Trước tình hình đó, các hệ quản trị cơ sở dữ liệu (CSDL) lưu trữ thông
tin đã trở thành mục tiêu tấn công nhằm gây thiệt hại cho các cơ quan, tổ
chức, doanh nghiệp và các cá nhân. Có thể thấy, vấn đề an toàn CSDL đã và
đang trở thành một vấn đề cấp bách và rất cần thiết.
Một trong những mục tiêu chính của an toàn CSDL là ngăn chặn việc
thông tin bị truy cập và phát tán trái phép. Trong các giải pháp để đạt được
mục tiêu này, giải pháp mã hóa được lựa chọn tương đối rộng rãi. Vì thế tôi
đã lựa chọn đề tài: “Nghiên cứu giải pháp bảo mật CSDL SQL Server 2012

bằng phương pháp mã hóa”.
Mục tiêu nghiên cứu
- Nghiên cứu và tìm hiểu tổng quan về an toàn CSDL.
- Tìm hiểu tình hình tấn công CSDL hiện nay và giải pháp phòng chống.
- Nghiên cứu các giải pháp bảo vệ CSDL trong SQL Server.
- Thực nghiệm bảo vệ CSDL.
Bố cục của luận văn
Luận văn gồm phần Mở đầu, 4 Chương, Kết luận và Hướng phát triển:
Chương 1. Tổng quan về an toàn cơ sở dữ liệu
Chương 2. Tình hình tấn công CSDL hiện nay và giải pháp phòng chống
Chương 3. Các giải pháp bảo vệ CSDL trong SQL Server
Chương 4. Thực nghiệm bảo vệ CSDL


2

CHƯƠNG 1
TỔNG QUAN VỀ AN TOÀN CƠ SỞ DỮ LIỆU

Việc lưu trữ và quản lý dữ liệu ngày nay hầu hết được thực hiện trên
các hệ thống máy tính. Vấn đề đặt ra là phải có phương pháp đảm bảo tính an
toàn và toàn vẹn của dữ liệu trên các hệ thống này để phục vụ tốt nhu cầu khai
thác dữ liệu của người dùng.
Để thể hiện an toàn trong CSDL, thông tin trong CSDL phải đáp ứng
các yêu cầu sau[5]:
- Tính bí mật (Confidentiality): Bảo đảm rằng chỉ người dùng được
phép mới có thể truy cập vào thông tin.
- Tính toàn vẹn (Integrity): Bảo đảm tính nhất quán, sự chính xác và
ngăn chặn những sửa đổi do vô tình hay cố ý tới thông tin.
- Tính sẵn sàng (Availability): Bảo đảm tính sẵn sàng cung cấp thông

tin cho người dùng được cho phép. Có thể hiểu rằng, tính sẵn sàng bảo đảm
hệ thống luôn hoạt động hiệu quả, có khả năng khôi phục nhanh chóng, chính
xác khi gặp các tấn công từ bên ngoài hoặc bên trong.
1.1. Một số khái niệm
Dữ liệu (Data): là thông tin định lượng hoặc đính tính của các sự vật,
hiện tượng trong cuộc sống. Trong tin học, dữ liệu được dùng như một cách
biểu diễn hình thức hóa của thông tin về các sự kiện, hiện tượng thích ứng với
các yêu cầu truyền nhận, thể hiện và xử lí bằng máy tính[5].
Cơ sở dữ liệu (Database): là một kho dữ liệu được tổ chức theo một
nguyên tắc nào đó. Đó là một tập hợp các tập tin có liên quan với nhau, được
thiết kế nhằm làm giảm thiểu sự dư thừa dữ liệu, đảm bảo tính tin cậy khi truy
xuất dữ liệu. Các tập tin này chứa các thông tin biểu diễn các đối tượng trên
một ứng dụng trong thế giới thực[5].
Ví dụ: CSDL lưu giữ thông tin của một trường đại học như: khoa,
giảng viên, sinh viên, khóa học,…
Hệ quản trị cơ sở dữ liệu (DataBase Management System - DBMS):
là hệ thống chương trình, công cụ cho phép quản lý và tương tác với CSDL.
Trên đó người dùng có thể định nghĩa, thao tác, và xử lí dữ liệu trong một
CSDL để đưa ra những thông tin có ích[5].


3

Ví dụ: một DBMS có thể quản trị CSDL của một trường đại học cũng
như những CSDL có ý nghĩa khác như: CSDL phục vụ bảo hiểm xã hội,
CSDL về thông tin du lịch quốc gia,…
Các ngôn ngữ dùng trong DBMS bao gồm:
- Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL): là
ngôn ngữ dùng để định nghĩa cấu trúc của CSDL, bao gồm định nghĩa các
hàng, các cột, các bảng dữ liệu, các chỉ số và một số thuộc tính khác liên quan

đến CSDL.
- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): là
ngôn ngữ để thao tác dữ liệu, được người dùng đặc biệt sử dụng (ví dụ như
các nhà phát triển). Bao gồm các cú pháp cập nhật, xóa, thêm thông tin.
- Ngôn ngữ truy vấn (Query Language - QL): là ngôn ngữ cho phép
người sử dụng khai thác dữ liệu, truy vấn thông tin trên CSDL.
Hầu hết các hệ quản trị CSDL đều thực hiện các chức năng sau[4]:
- Lưu trữ dữ liệu
- Tạo và duy trì CSDL
- Cho phép nhiều người dùng truy xuất đồng thời
- Hỗ trợ tính bảo mật và riêng tư
- Cho phép xem và xử lý dữ liệu lưu trữ
- Cho phép cập nhật và lưu trữ dữ liệu sau khi cập nhật
- Cung cấp một cơ chế chỉ mục hiệu quả để truy cập nhanh các dữ liệu
lựa chọn
- Cung cấp tính nhất quán giữa các bản ghi khác nhau
- Bảo vệ dữ liệu khỏi mất mát bằng các quá trình sao lưu (backup) và
phục hồi (recovery)
Một DBMS thông thường bao gồm nhiều modul tương ứng với các
chức năng, gồm:
- Trình biên dịch DDL
- Trình biên dịch ngôn ngữ DML
- Bộ xử lý truy vấn
- Bộ quản lý CSDL


4

- Bộ quản lý tập tin (file)
Tập hợp dữ liệu hỗ trợ các modul này là:

- Các bảng mô tả CSDL
- Các bảng cấp quyền
- Các bảng truy cập đồng thời

Hình 1.1. Kiến trúc của DBMS [4]

Hình 1.2. Mô hình tương tác giữa ứng dụng và CSDL [4]
Trong DBMS có các mức mô tả dữ liệu, ở mỗi mức mô tả dữ liệu cung
cấp cái nhìn khác nhau về CSDL. Cụ thể:


5

- Lược đồ dữ liệu vật lý: Mức này mô tả cấu trúc lưu trữ dữ liệu trong
các tập tin trên bộ nhớ ngoài. Dữ liệu được lưu trữ dưới dạng các bản ghi và
các con trỏ trỏ tới bản ghi.
- Lược đồ dữ liệu logic: ở mức này, mọi dữ liệu trong CSDL được mô
tả bằng mô hình logic của DBMS. Các dữ liệu và quan hệ của chúng được mô
tả thông qua DDL của DBMS.
- Khung nhìn logic: phụ thuộc các yêu cầu của mô hình logic và các
mục đích của ứng dụng. Khung nhìn logic mô tả một phần lược đồ CSDL
logic. Sử dụng DDL để định nghĩa các khung nhìn logic, DML để thao tác
trên các khung nhìn này.

Hình 1.3. Các mức mô tả dữ liệu [4]
1.2. Vấn đề an toàn CSDL
Hiểm họa xảy ra khi một người dùng hoặc nhóm người dùng sử dụng
các kỹ thuật đặc biệt để tiếp cận nhằm khám phá, sửa đổi trái phép thông tin
quan trọng trong hệ thống.
Các vi phạm an toàn CSDL bao gồm: đọc, sửa, xoá dữ liệu trái phép.

Hậu quả của việc vi phạm này là:
- Khai thác dữ liệu trái phép, làm lộ, mất thông tin.
- Sửa đổi dữ liệu trái phép, ngay cả khi người thay đổi có thể không cần
biết đến nội dung của dữ liệu.
- Hệ thống từ chối dịch vụ hợp pháp của người dùng vào CSDL.


6

1.2.1. Một số nguyên nhân gây mất an toàn CSDL
Các nguyên nhân ngẫu nhiên:
- Các thảm họa trong thiên nhiên, chẳng hạn như: động đất, hỏa hoạn,
lụt lội,...
- Các lỗi phần cứng hay phần mềm có thể dẫn đến việc áp dụng các
chính sách an toàn không đúng.
- Các sai phạm vô ý do con người gây ra, chẳng hạn như nhập dữ liệu
đầu vào không chính xác hay sử dụng các ứng dụng không đúng.
Các nguyên nhân do cố ý:
Là các nguyên nhân liên quan đến hai lớp người dùng sau:
- Người dùng hợp pháp: là người có thể lạm dụng quyền, sử dụng vượt
quá quyền hạn được phép của họ.
- Người dùng truy cập thông tin trái phép: có thể là những người ở
ngoài hay bên trong tổ chức. Họ tiến hành các hành vi phá hoại phần mềm
CSDL hay phần cứng của hệ thống, hoặc đọc/ghi dữ liệu trái phép.
1.2.2. Một số biện pháp bảo vệ an toàn CSDL
Từ những nguyên nhân gây mất an toàn CSDL do ngẫu nhiên và cố ý
nêu trên, dẫn đến yêu cầu các biện pháp để bảo vệ CSDL chống lại những
nguyên nhân gây tổn hại đó. Các biện pháp bảo vệ an toàn CSDL bao gồm:
- Bảo vệ chống truy cập trái phép: là biện pháp bảo vệ an toàn CSDL
được quan tâm nhiều nhất. Nó đảm bảo việc chỉ trao quyền cho những người

dùng hợp pháp. Việc kiểm soát truy cập cần được tiến hành trên các đối tượng
dữ liệu mức thấp hơn tập tin như: bản ghi, thuộc tính và giá trị. Và kiểm soát
truy cập CSDL phức tạp hơn kiểm soát truy cập tập tin.
- Bảo vệ chống suy diễn: Suy diễn là khả năng có được các thông tin bí
mật từ những thông tin không bí mật. Bảo vệ chống suy diễn đảm bảo người
dùng không được phép dò xét thông tin của các cá thể khác từ các dữ liệu
người dùng đó được biết.
- Bảo vệ toàn vẹn CSDL: Bảo vệ CSDL khỏi những người dùng không
hợp pháp, tránh sửa đổi nội dung dữ liệu trái phép. DBMS đưa ra các kiểm
soát bằng các ràng buộc dữ liệu, thủ tục sao lưu, phục hồi và các thủ tục an
toàn đặc biệt. Hệ thống phục hồi của DBMS sử dụng các tập tin nhật ký, ghi
lại tất cả các phép toán được thực hiện trên dữ liệu như: đọc, ghi, xóa, chèn.


7

- Toàn vẹn dữ liệu thao tác: đảm bảo tính tương thích của dữ liệu khi có
nhiều thao tác thực hiện đồng thời. Một thao tác là một loạt các hoạt động xảy
ra được xem như một đơn vị công việc (unit of work) nghĩa là hoặc thành
công toàn bộ hoặc không làm gì cả (all or nothing).
- Toàn vẹn ngữ nghĩa của dữ liệu: đảm bảo tính tương thích logic của
các dữ liệu bị thay đổi, bằng cách kiểm tra các giá trị dữ liệu có nằm trong
khoảng cho phép hay không (đó là các ràng buộc toàn vẹn). Ràng buộc là
những thuộc tính mà ta áp đặt lên một bảng hay một cột để tránh việc lưu dữ
liệu không chính xác vào CSDL.
- 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ới các phép toán Read và Write). Khả năng kiểm tra và lưu vết đảm bảo
tính toàn vẹn dữ liệu vật lý và trợ giúp cho việc phân tích dãy truy cập vào
CSDL.
- Xác thực người dùng: biện pháp này để xác định tính duy nhất của

người dùng. Định danh người dùng làm cơ sở cho việc trao quyền. Người
dùng được phép truy cập dữ liệu, khi hệ thống xác định được người dùng này
là hợp pháp.
- Bảo vệ dữ liệu nhạy cảm: Dữ liệu nhạy cảm là dữ liệu không được để
công khai. Cần có chế độ kiểm soát người dùng truy cập đến dữ liệu nhạy
cảm, chỉ được cấp cho người dùng hợp pháp và hạn chế mức tối đa truy cập
không cần thiết.
- Bảo vệ nhiều mức: Bao gồm một tập các yêu cầu bảo vệ, dữ liệu được
phân loại thành nhiều mức nhạy cảm. Mục đích của bảo vệ nhiều mức là phân
loại các mục thông tin khác nhau, đồng thời phân quyền cho các mức truy cập
khác nhau vào các mục riêng biệt. Một yêu cầu đối với bảo vệ nhiều mức là
khả năng gán mức cho các thông tin.
1.3. Thiết kế CSDL an toàn
Bảo mật CSDL (Database Security): 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.[5]
Các cơ chế bảo mật CSDL:[5]
- Xác thực (Authentication)
- Kiểm soát truy cập (Access controls)
- Kiểm tra tính toàn vẹn (Integrity controls)


8

- Khả năng giám sát (Auditing)
- Mã hóa (Encryption):
+ Mức tập tin: 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.

Việc thiết kế CSDL an toàn có nhiều hướng tiếp cận, trong đó phương
pháp tích hợp đa giai đoạ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 gồm các giai đoạn sau[4]:
- Phân tích sơ bộ
- Xây dựng các yêu cầu và chính sách bảo mật
- Xây dựng khái niệm
- 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
- Kiểm tra
Lợi ích mà phương pháp tích hợp đa giai đoạn mang lại là:
- Có thể chia nhỏ quá trình thiết kế thành các thành phần nhỏ hơn, 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.
- Tách chính sách an toàn ra khỏi cơ chế an toàn. Chính sách là các cơ
chế ở mức cao bắt buộc việc thiết kế phải tuân theo. Cơ chế an toàn là một tập
hợp các chức năng phần cứng, phần mềm. Các cơ chế nên được dựa trên các
yêu cầu an toàn để đảm bảo chúng tuân theo các chính sách an toàn.
- Thuận tiện trong thiết kế hệ thống, cài đặt và quản lý.
- Hỗ trợ vạch kế hoạch cho việc bảo vệ hệ thống thông tin.
1.3.1. Phân tích sơ bộ
Mục đích của giai đoạn này là tiến hành nghiên cứu tính khả thi của hệ
thống an toàn, bao gồm: đánh giá các rủi ro, ước lượng các chi phí thiết kế,
phát triển các ứng dụng cụ thể nào và xác định quyền ưu tiên của chúng.
Trong đó:


9

- Các rủi ro của hệ thống là các đe dọa đáng kể nhất có thể xảy ra đối

với một CSDL, 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 đe dọa điển hình có thể kể ra như: đọc và sửa đổi trái
phép dữ liệu, từ chối dịch vụ hợp pháp.
- 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 ứng dụng của các sản phẩm an toàn hiện có: Việc ứng dụng
các sản phẩm an toàn hiện có phải được xem xét dựa trên tính tiện lợi mà nó
mang lại và có khả năng phát triển hệ thống an toàn từ việc kết hợp nhiều sản
phẩm khác nhau hay không? Việc lựa chọn đó tùy thuộc vào mô hình và cấp
độ bảo vệ dữ liệu.
- Khả năng tích hợp của các sản phẩm an toàn: khả năng 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ế.
- Hiệu năng đạt được của các hệ thống an toàn: được so sánh với khả
năng hoạt động hiệu quả của hệ thống hiện tại hoặc là hệ thống mới mà không
cần bất kỳ các cơ chế và kiểm soát an toàn nào.
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
Việc phân tích yêu cầu bắt đầu từ việc phân tích đầy đủ và chính xác tất
cả các đe dọa có thể xảy ra đối với hệ thống. Điều này cho phép 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 đủ, tùy thuộc vào
các đòi hỏi bảo vệ thực tế của hệ thống. CSDL khác nhau đòi hỏi có các biện
pháp bảo vệ khác nhau.
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, 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.
Bảo vệ hệ thống hầu hết chịu ảnh hưởng bởi số lượng và trình độ

người dùng. Một mặt, sự chuyên nghiệp của người dùng làm cho hệ thống
đáng tin cậy hơn. Mặt khác, do nắm được kẽ hở an toàn, chính người dùng lại
là mối đe dọa tiềm tàng khả năng lạm dụng quyền là rất cao. Trong phân tích
yêu cầu, nên xem xét đến mục đích tấn công. Hầu hết các kiểu tấn công là


10

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.
Trong việc phân tích các mối đe dọa và các điểm yếu dễ bị tấn công
của hệ thống, các mặt sau thường được xem xét:
- Phân tích giá trị: Phân tích dữ liệu được lưu giữ và các ứng dụng truy
cập vào dữ liệu này nhằm xác định mức nhạy cảm của chúng. Các kiểm soát
truy cập tăng theo mức nhạy cảm của dữ liệu.
- Nhận dạng các mối đe dọa: Cần nhận dạng các mối đe dọa điển hình
cũng như các kỹ thuật xâm nhập (có thể có) của các ứng dụng khác nhau.
- Phân tích các điểm yếu dễ bị tấn công: Cần nhận dạng các điểm yếu
của hệ thống và liên hệ chúng với các đe dọa đã được nhận dạng từ trước.
- Phân tích rủi ro: Đánh giá các đe dọa, các điểm yếu của hệ thống và
các kỹ thuật xâm nhập dựa vào các xâm phạm tính bí mật, tính toàn vẹn của
hệ thống. Chẳng hạn như khám phá, xử lý dữ liệu trái phép, sử dụng trái phép
tài nguyên và từ chối dịch vụ.
- Ước tính rủi ro: Cần ước tính khả năng xảy ra của từng biến cố không
mong muốn, kết hợp khả năng phản ứng hoặc đối phó của hệ thống đối với
các biến cố này.
- Xác định yêu cầu: Cần xác định yêu cầu an toàn dựa vào các đe dọa
(đã được ước tính) và các biến cố không mong muốn đồng thời dựa vào khả
năng xuất hiện của chúng.
Để hỗ trợ việc chọn lựa các chính sách an toàn một cách hợp lý nhất

người ta dựa vào một bộ các tiêu chuẩn lựa chọn chính sách an toàn:
- Tính bí mật đối nghịch với tính toàn vẹn dữ liệu và tính tin cậy của
dữ liệu.
- Việc chia sẻ đặc quyền: Tùy thuộc từng môi trường mà có lựa chọn
phù hợp.
- Mức độ chi tiết của kiểm soát: Nghĩa thứ nhất chỉ phạm vi của kiểm
soát trong mối quan hệ về số lượng của chủ thể và đối tượng bị kiểm soát.
Nghĩa thứ hai chỉ độ chi tiết của của từng đối tượng bị kiểm soát. Thứ ba, khi
nói đến độ chi tiết của kiểm soát người ta muốn nói đến mức độ điều khiển.
Trong một hệ thống, việc kiểm soát tất cả các tập tin trong hệ thống nằm ở
vùng duy nhất và khi có lỗi xảy ra thì chúng tập trung trong một vùng duy


11

nhất này. Trong các hệ thống khác, an toàn phức tạp hơn, nhưng các kiểm
soát và các trách nhiệm được dàn trải trên các vùng khác nhau của hệ thống.
- Các thuộc tính được sử dụng cho kiểm soát truy cập: Các quyết định
an toàn dựa trên các thuộc tính chủ thể/đối tượng dựa trên ngữ cảnh yêu cầu
truy cập. Các thuộc tính cơ bản là: Vị trí, phân phối chủ thể/đối tượng, thời
gian, trạng thái một hoặc nhiều biến của hệ thống, lược sử truy cập. Các chính
sách an toàn phải được lựa chọn tùy thuộc vào nhu cầu của kiểm soát.
- Tính toàn vẹn: Áp dụng các chính sách và mô hình an toàn xác định
vào trong các môi trường, trong đó tính toàn vẹn là mối quan tâm chính.
- Trao các quyền ưu tiên: Mâu thuẫn có thể xảy ra giữa các nguyên tắc
và quyền ưu tiên dùng để giải quyết các mâu thuẫn này.
- Các đặc quyền: Chính là khả năng sử dụng các quyền: Đọc, ghi, thực
thi, xóa, sửa, thêm. Để quản lý đặc quyền, các phép trao/thu hồi đặc quyền
phải rõ ràng.
- Quyền: Một chính sách phải định nghĩa các kiểu vai trò, quyền và

trách nhiệm khác nhau trong cùng một hệ thống. Các vai trò phổ biến là người
sử dụng, người sở hữu, người quản trị an toàn. Ngoài ra còn có thêm các
nhóm người sử dụng. Điều này thực sự hữu ích khi những người sử dụng chia
sẻ các yêu cầu truy cập thông thường trong tổ chức.
- Tính kế thừa: Điều này chỉ ra việc sao chép các quyền truy cập. Việc
truyền lại các quyền truy cập không xảy ra trong các chính sách tùy chọn,
nhưng lại xảy ra trong các chính sách bắt buộc.
1.3.3. Xây dựng khái niệm
Trong giai đoạn này, các yêu cầu và các chính sách an toàn (được định
nghĩa trong giai đoạn trước) được hình thức hóa bởi các khái niệm. Mô hình
an toàn khái niệm là một công cụ và nó được sử dụng cho việc hình thức hóa
các yêu cầu và các chính sách. 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.


12

- Phân tích việc thừa kế các quyền trên hệ thống thông qua các đặc
quyền trao/thu hồi quyền.
Từ các bước trên, các yêu cầu được biểu diễn thành các bộ bốn như
sau: {subject, access right, objects, predicate} tương đương với {chủ thể,
quyền truy cập, đối tượng, thuộc tính}. Trong đó, “thuộc tính” miêu tả các
điều kiện truy cập có thể có. Một mô hình an toàn khái niệm được định nghĩa
thông qua việc biểu diễn này.
Nhiệm vụ mà các mô hình này thực hiện là:

- Mô tả ngữ nghĩa của CSDL an toàn
- Hỗ trợ việc phân tích các luồng quyền
- Hỗ trợ cho người quản trị CSDL. Tại mức khái niệm, các kiểm tra này
dễ thực hiện hơn so với tại mức cơ chế an toàn.
Một mô hình an toàn mức khái niệm cho phép biểu diễn một cách rõ
ràng các chính sách và các yêu cầu, đồng thời cho phép kiểm tra một số đặc
tính an toàn hệ thống.
Mô hình an toàn khái niệm biểu diễn các chủ thể, các đối tượng, các
phép toán, các chế độ truy cập tùy thuộc vào các yêu cầu chính sách đã được
định nghĩa. 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: Mô hình phải đảm bảo rằng 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
Trong giai đoạn này người ta sử dụng mô hình an toàn khái niệm
chuyển nó thành mô hình logic. Mô hình này được DBMS hỗ trợ. Hơn nữa
trong giai đoạn thiết kế logic, các nguyên tắc an toàn phải được xác định
trong mô hình logic 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. Sử dụng các thông tin về chức năng an toàn được định nghĩa
trong mức khái niệm, người phát triển xây dựng các yêu cầu an toàn có thể
được cung cấp ở mức hệ điều hành, mức DBMS hoặc thông qua các gói an
toàn.


13


1.3.5. Thiết kế cấu trúc vật lý
Những chi tiết về 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 được xem xét trong giai đoạn thiết kế cấu trúc vật lý. 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
Một số quy tắc trong thiết kế, lựa chọn và cài đặt cơ chế an toàn:
- Tính kinh tế của các cơ chế: 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. Các cơ chế cần đơn giản đến mức
có thể.
- Hiệu quả: Các cơ chế cần hiệu quả, vì chúng thường được gọi trong
thời gian chạy.
- Độ 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: là 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 (ví dụ: có nhiều mức mật
khẩu).
- Đặ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. Lợi ích của việc áp dụng đặc quyền tối thiểu
mang lại là:
+ Hạn chế lỗi
+ Tăng khả năng bảo trì
+ Ngăn chặn sự tấn công của phần mềm độc hại
- 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.


14

- 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.
- 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.
- Sự cách ly: Cơ chế an toàn nên cách ly (trong suốt) từ các thành phần
khác nhau của hệ thống, và nó 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 đủ (có nghĩa là nó
tuân theo toàn bộ các đặc tả thiết kế) và nhất quán (có nghĩa là không tồn tại
các mâu thuẫn vốn có).
- 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ế đó.
- Vấn đề bỏ sót: Phần bị bỏ sót là các đoạn thông tin được lưu trữ trong
bộ nhớ sau khi tiến trình kết thúc. Dữ liệu có thể bị lộ nếu các chủ thể trái
phép có thể kiểm tra các phần bị bỏ sót. Cơ chế an toàn cần loại bỏ các phần
bị bỏ sót.
- Khả năng không nhìn thấy được của dữ liệu: Nội dung của một đối
tượng và sự tồn tại của đối tượng đó cần được che giấu để tránh những người
dùng trái phép suy diễn ra các đối tượng đó.
- Hệ số làm việc: Việc phá vỡ một cơ chế an toàn phải là một công việc
khó khăn, đòi hỏi nhiều nỗ lực.
- Các bẫy chủ ý: có thể thiết kế một cơ chế với các lỗi chủ ý bên trong,

sau đó kiểm soát chúng trong thời gian thực của hệ thống, để phát hiện ra các
cố gắng xâm nhập có thể xảy ra, nhằm giám sát các hành vi của kẻ xâm nhập.
- Xác định tình trạng khẩn cấp: nên thiết kế cơ chế cùng với các
phương thức “disable” – “mất khả năng làm việc” trong trường hợp cần xây
dựng lại hay cấu hình lại hệ thống, khi có sự cố xảy ra, hoặc khi có nhu cầu tổ
chức lại hệ thống.
- Phần cứng an toàn: Phần cứng phải tin cậy và được bảo vệ vật lý, bởi
vì kẻ xâm nhập có thể dễ dàng sử dụng các lỗi phần cứng/phần mềm nhằm
vượt qua kiểm soát an toàn.


15

- Ngôn ngữ lập trình: cần lựa chọn một ngôn ngữ lập trình và sử dụng
những lập trình viên có kỹ năng để giảm tối thiểu lỗi có thể xảy ra.
- Tính đúng đắn: Các cơ chế phải thông dịch một cách chính xác mô
hình, nếu ngược lại thì các cơ chế này được xem là không đúng.
1.3.7. Kiểm tra
Mục đích của giai đoạn này là kiểm tra các yêu cầu và các chính sách
an toàn. Việc kiểm tra này được thực hiện thông qua các sản phẩm phần mềm
và cần có sẵn các phương pháp hình thức và phi hình thức, dựa vào hoặc
không dựa vào các ký hiệu toán học. Các phương pháp phi hình thức dựa trên:
- Kiểm soát chéo các yêu cầu/chương trình nguồn hoặc các yêu cầu/các
hành vi tại thời gian chạy.
- Duyệt lại chương trình phần mềm để phát hiện ra các lỗi/các mâu
thuẫn (tính không nhất quán).
- Phân tích hành vi của chương trình, tùy thuộc vào các tham số khác
nhau nhằm kiểm tra các đường dẫn thực hiện khác nhau và biến thể tương
ứng của các tham số.
- Thông qua thử nghiệm, gỡ rối.



16

Hình 1.4. Sơ đồ thiết kế CSDL an toàn [4]


×