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

Nghiên cứu bảo mật cơ sở dữ liệu bằng phương pháp mã hóa

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.04 MB, 68 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH
TRẦN THỊ HƯƠNG TRÀ

LUẬN VĂN THẠC SỸ
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã ngành: 60.48.02.01
ĐỀ TÀI

NGHIÊN CỨU BẢO MẬT CƠ SỞ DỮ LIỆU BẰNG
PHƯƠNG PHÁP MÃ HÓA
Người hướng dẫn: TS. Phan Anh Phong

Vinh, tháng 7/2018


MỤC LỤC
LỜI MỞ ĐẦU................................................................................................7
LỜI CẢM ƠN................................................................................................9
CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT CƠ SỞ DỮ LIỆU............10
1.1 CSDL và Bảo mật CSDL....................................................................10
1.1.1. Một số khái niệm về CSDL..............................................10
1.1.2. Khái niệm bảo mật CSDL.................................................11
1.2. Một số đe dọa tấn công CSDL............................................................12
1.2.1. Các mối đe dọa tấn công CSDL hàng đầu.......................................12
1.2.2. Một số vụ tấn công CSDL gần đây...................................15
1.3. Bảo mật CSDL....................................................................................18
1.3.1. Bảo mật dữ liệu mức cài đặt hệ thống.........................18
1.3.2. Bảo mật dữ liệu mức người dùng....................................18
1.3.3. Bảo mật dữ liệu mức phân quyền................................19
1.3.4. Bảo mật dữ liệu bằng phương pháp mã hóa...............19


1.4. Các giải pháp bảo vệ tấn cơng CSDL.............................................22
1.4.1. Phát hiện và đánh giá.......................................................22
1.4.2. Quản lý quyền người dùng.............................................24
1.4.3. Giám sát và ngăn chặn...................................................24
1.4.4. Kiểm toán..........................................................................26
1.4.5. Bảo vệ dữ liệu...................................................................27
1.4.6. An ninh ngoài dữ liệu.......................................................27
1.5. Tổng kết chương 1..............................................................................27
CHƯƠNG 2: KỸ THUẬT MÃ HÓA TRONG CÁC HỆ QUẢN TRỊ
CSDL SQL SERVER VÀ ORACLE........................................................28
2.1. Mã hóa dữ liệu....................................................................................28
2.1.1. Mã hóa đối xứng...............................................................28


2.1.2. Mã hóa bất đối xứng.........................................................29
2.1.3. Hàm băm...........................................................................31
2.1.4. Chữ ký số..........................................................................32
2.2. Mã hóa dữ liệu trong SQL Server.......................................................33
2.2.1. Mã hóa mức lưu trữ..........................................................33
2.2.2. Mã hóa mức CSDL...........................................................38
2.2.3. Ví dụ minh họa..................................................................40
2.3. Mã hóa dữ liệu trong Oracle...............................................................40
2.3.1. Mã hóa mức lưu trữ..........................................................40
2.3.2. Mã hóa mức cơ sở dữ liệu.................................................53
2.3.3. Ví dụ minh họa..................................................................57
CHƯƠNG 3: THỬ NGHIỆM..................................................................61
3.1. Bài toán...............................................................................................61
3.2. Thiết kế hệ thống................................................................................61
3.2.1. Thiết kế CSDL..................................................................61
3.2.2. Thiết kế chức năng............................................................62

3.2.3. Thiết kế giao diện..............................................................62
3.3. Kết quả thực hiện................................................................................63
3.3.1. Tiêu chí đánh giá...............................................................64
3.3.2. Các kịch bản đánh giá.......................................................64
3.3.3. Các tính thời gian............................................................645
KẾT LUẬN..................................................................................................66
TÀI LIỆU THAM KHẢO..........................................................................67


DANH MỤC BẢNG
Bảng 2.1: Hoạt động của TripleDES...............................................................42
Bảng 2.2. Các chương trình con của gói DBMS_OBFUSCATION..............44
Bảng 2.3. Các tham số của DES3DECRYPT cho dữ liệu thô.......................45
Bảng 2.4: Các tham số của hàm và thủ tụcDES3ENCRYPT.........................47
Bảng 2.5. Các tham số của hàm và thủ tục DES3GETKEY..........................49
Bảng 2.6. Các tham số của hàm và thủ tụcDESDECRYPT..........................50
Bảng 2.7. Các tham số của hàm và thủ tục DESENCRYPT..........................51
Bảng 2.8. Các tham số của hàm và thủ tục DESGETKEY...........................52
Bảng 2.9: Các tham số của hàm và thủ tục MD5............................................53


DANH MỤC HÌNH
Hình 1.1 Kiến trúc của Hệ quản trị CSDL....................................................11
Hình 1.2. Q trình mã hóa dữ liệu................................................................20
Hình 2.1: Q trình mã hóa khóa đối xứng.....................................................28
Hình 2.2: Q trình mã hóa khóa cơng khai....................................................30
Hình 2.3: Mã hóa khóa cơng khai được sử dụng để xác thực..........................31
Hình 2.4. Kiến trúc mã hóa dữ liệu trong suốt (TDE)...................................35
Hình 2.5. Tạo khóa chủ CSDL........................................................................36
Hình 2.6. Các khóa chủ đang được sử dụng....................................................36

Hình 2.7. Tạo chứng chỉ..................................................................................36
Hình 2.8. Kiểm tra việc tạo chứng chỉ.............................................................37
Hình 2.9. Tạo khóa mã hóa CSDL...................................................................37
Hình 2.10. Sao lưu chứng chỉ..........................................................................38
Hình 2.11. Kiểm tra DEK................................................................................38
Hình 2.12. Bật mã hóa TDE............................................................................38
Hình 2.13. Tạo khóa DMK..............................................................................38
Hình 2.14. Tạo khóa và mở khóa.....................................................................39
Hình 2.15. Mã hóa dữ liệu...............................................................................39
Hình 2.16. Giải mã dữ liệu..............................................................................39
Hình 2.17 Chế độ liên kết khối mã – CBC......................................................42
Hình 3.1. Cơ sở dữ liệu ứng dụng....................................................................62
Hình 3.2. Sơ đồ chức năng ứng dụng..............................................................62
Hình 3.3. Menu ứng dụng................................................................................62
Hình 3.4. Giao diện thêm số lượng bệnh nhân................................................62
Hình 3.5. Giao diện truy vấn q1.......................................................................63
Hình 3.6. Giao diện truy vấn q2.......................................................................63
Hình 3.7. Bảng lưu thông tin truy vấn.............................................................65


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

Advanced Encryption Standard

ANSI

American National Standards Institute

CBC


Cipher-Block Chaining

DAC

Discretionary Access Control

DBA

Database Administrator

DBMS

Database Management System

DCL

Data Control Language

DDL

Data Description Language

DEA

Encryption Standard Algorithm

DES

Data Encryption Standard


DML

Data Manipulation Language

ECB

Electronic Codebook

FW

Firewall

HSM

Hardware Security Module

IDS

Intrusion Detection System

ISO

International Organization for Standardization

IV

Initialization Vector

MAC


Mandatory Access Control

MD

Message-Digest

PL/SQL

Procedural Language/Structured Query Language

RBAC

Role-Based Access Control

RC

Rivest Cipher

SA

Security Administrator

SHA

Secure Hash Algorithm

SQL

Structured Query Language


SSL

Secure Sockets Layer

LỜI MỞ ĐẦU


Với nhiều tổ chức, cơ sở dữ liệu là một kho tàng thông tin nhạy cảm chứa
nhiều loại dữ liệu khác nhau, từ thông tin chi tiết về khách hàng và thơng tin
cạnh tranh bí mật đến các thơng tin sở hữu trí tuệ. Mất mát hoặc bị trộm cắp
dữ liệu, đặc biết là dữ liệu của khách hàng, có thể ảnh hưởng đến danh tiếng,
bất lợi cạnh tranh và thiệt hài về tài chính nghiêm trọng.
Chính vì vậy,bảo mật cơ sở dữ liệu là một ưu tiên hàng đầu cho các tổ chức
ngày nay. Tuy nhiên, các kĩ thuật bảo đảm bảo mật cơ sở dữ liệu truyền thống
như tường lửa và bảo mật ứng dụng trong những năm gần đây bộc lộ rất nhiều
thiếu sót và các phương pháp để bảo đảm này không đủ để bảo vệ các doanh
nghiệp và dữ liệu trong thời đại hiên nay, một môi trường công nghệ thông tin
mở và phức tạp. Trong các biện pháp bảo đảm bảo mật cơ sở dữ liệu mã hóa
được coi như là phương pháp phịng thủ sâu nhất chống lại các lỗ hổng an
toàn.
Từ thực tế đó, em đã chọn đề tài “Nghiên cứu bảo mật cơ sở dữ liệu bằng
phương pháp mã hóa” làm luận văn tốt nghiệp. Mục tiêu của đề tài là tìm hiểu
về các phương pháp mã hóa cơ sở dữ liệu và ứng dụng vào mã hóa một cơ sở
dữ liệu nhỏ trong hệ quản trị Oracle.
Báo cáo của luận văn của em được chia thành 3 chương:
- Chương 1: Tổng quan về bảo mật cơ sở dữ liệu
- Chương 2: Các kỹ thuật mã hóa trong các hệ quản trị CSDL SQL Server
và Oracle
- Chương 3: Thử nghiệm

Trong đó chương 1 giới thiệu tổng quan về mã hóa, tầm quan trọng của mã
hóa trong việc bảo vệ thơng tin và các phương pháp mã hóa cơ bản hiện nay;
chương 2 trình bày về các vấn đề liên quan đến cơ sở dữ liệu và các mức có
thể áp dụng mã hóa để bảo vệ dữ liệu và trình bày khả năng mã hóa cơ sở dữ


liệu của SQL Server và hệ quản trị Oracle; chương 3 sẽ đưa ra cách áp dụng
khả năng mã hóa.
Em xin chân thành cảm ơn sự giúp đỡ tận tình của TS. Phan Anh
Phong để Đồ án của em được hồn thành.
Do thời gian có hạn nên luận văn của em chắc chắn cịn nhiều thiếu sót.
Em rất mong nhận được sự giúp ý, chỉ bảo của quý thầy cô để Đồ án của em
được hoàn thiện hơn.
Em xin chân thành cảm ơn!
TP Vinh, Ngày tháng

năm2018

Trần Thị Hương Trà


LỜI CẢM ƠN
Trong thời gian làm luận văn tốt nghiệp, em đã nhận được nhiều sự giúp
đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cơ, gia đình và bạn bè. Em
xin gửi lời cảm ơn chân thành đến Ts.Phan Anh Phong đã tận tình hướng
dẫn, chỉ bảo em trong suốt quá trình làm đồ án.
Em cũng xin chân thành cảm ơn các thầy cô giáo trong trường Đại học
Vinh nói chung, các thầy cơ trong Viện Kĩ thuật và cơng nghệ nói riêng đã
dạy dỗ cho em kiến thức về các môn đại cương cũng như các mơn chun
ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ

em trong suốt quá trình học tập.
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã ln tạo điều
kiện, quan tâm, giúp đỡ, động viên em trong suốt q trình học tập và hồn
thành khố luận tốt nghiệp.


CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT CƠ SỞ DỮ LIỆU
1.1 CSDL và Bảo mật CSDL
1.1.1. Một số khái niệm về CSDL
a. Dữ liệu
Dữ liệu là các giá trị của 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ố 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 .
b. CSDL
CSDL 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.
c.

Hệ quản trị CSDL

Hệ quản trị CSDL 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 .
Chức năng của Hệ quản trị CSDL:
- Lưu trữ dữ liệu
- Tạo ra và duy trì CSDL

- Cho phép nhiều người dùngtruy 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 (index) 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 và phục hồi.

Hình 1.1 Kiến trúc của Hệ quản trị CSDL
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
1.1.2. Khái niệm bảo mật CSDL
Gần đây các vấn đề bảo mật CSDL diễn ra phổ biến trên các phương tiện
thông tin đại chúng và mạng lưới Internet. Đầu tiên là sâu Slammer và gần



đây nhất là vụ truy cập bất hợp pháp hơn 8 triệu mã số thẻ tín dụng.
Nhiều người đặt ra câu hỏi: “Các admin quản trị hệ thống ngủ sau bánh xe
cho chúng hoạt động hay sao?”. Giống như mạng Internet bị đánh bom vậy.
Hiện người ta thường hay sử dụng các tiện ích rẻ tiền hơn của các hệ thống
thơng tin sử dụng web, do đó họ trở nên lười áp dụng các biện pháp bảo mật


sở.

Vấn đề ở đây là phải cấp bách áp dụng các biện pháp an toàn với người quản
trị hệ thống sáng suốt. Câu hỏi đầu tiên cho các admin hiện nay thường là
“Sửa chữa nhanh như thế nào” chứ khơng phải “Có bao nhiêu mối nguy
hiểm” như trước kia. Muốn giải quyết được vấn đề hiện tại, trước hết chúng ta
phải điều chỉnh lại ý thức và suy nghĩ trong mỗi người.
Hiện nay khi công nghệ thông tin bùng nổ trên phạm vi tồn cầu thì các
vấn đề về bảo mật thơng tin nói chung và bảo mật cơ sở dữ liệu nói riêng là
vấn đề cốt lõi của các hệ thống thông tin.
An tồn thơng tin trong CSDL bao gồm 3 yếu tố chính: tính bí mật, tính
tồn vẹn, tính sẵn sàng
Tính bí mật(secrecy): có nghĩa là ngăn chặn/phát hiện/cản trở những
truy nhập thơng tin trái phép. Nói chung, tính bí mật được sử dụng để bảo
vệ dữ liệu trong những mỗi trường bảo mật cao như các trung tâm quân sự
hay kinh tế quan trọng. Bảo vệ tính riêng tư của dữ liệu.
Tính tồn vẹn(integrity): Bảo đảm cho thơng tin ln tồn vẹn, khơng bị
giả mạo, khơng bị thay đổi bởi những người khơng được phép.
Tính sẵn sàng(availability): Bảo đảm cho việc truy nhập vào hệ thống
cũng như cơ sở dữ liệu ln thơng suốt và nhanh chóng khơi phục chính xác,
hiệu quả sau khi bị tấn công.
1.2. Một số đe dọa tấn công CSDL
1.2.1. Các mối đe dọa tấn công CSDL hàng đầu



Open Web Application Security Project (OWASP) là một tổ chức bao gồm
các chuyên gia bảo mật hàng đầu thế giới, chuyên cung cấp các thông tin về
những ứng dụng và rủi ro đặt ra một cách trực tiếp, khách quan và thực tế
nhất. Từ năm 2013 đến nay, cứ 4 năm 1 lần, OWASP lại công bố danh sách
Top 10 các rủi ro bảo mật ứng dụng lớn nhất, được gọi là OWASP Top 10.
Danh sách này được coi là chuẩn AppSec và được cộng đồng an ninh mạng
tin tưởng. Danh sách bao gồm thông tin mới nhất về các lỗ hổng, các mối đe
dọa và cuộc tấn công cũng như những thủ thuật để phát hiện và khắc phục.
Các thành viên dự án lập ra danh sách này dựa trên việc phân tích tỉ lệ xuất
hiện và mức độ nghiêm trọng của từng mối đe dọa.
OWASP Top 10 năm 2017 được phát hành cơng khai, dựa trên cuộc thăm
dị, kiểm tra hơn 2,3 triệu lỗ hổng tác động đến 50000 ứng dụng, bao gồm 2
bản cập nhật lỗ hổng quy mô lớn và cập nhật các kịch bản tấn công mới.
Và sau đây là danh sách Top 10 của năm 2017.
A1 – Injection (Lỗi nhúng mã)
Nếu ứng dụng của bạn có thể nhận dữ liệu đầu vào người dùng đến cơ sở
dữ liệu back-end, tập lệnh hay cuộc gọi thì ứng dụng của bạn có thể sẽ phải
đối mặt với cuộc tấn công bằng mã nhúng. Lỗi nhúng mã là tập hợp các lỗ
hổng bảo mật xảy ra khi dữ liệu đáng ngờ được chèn vào ứng dụng dưới dạng
lệnh hay truy vấn. Các cuộc tấn công mã nhúng đã biết như: SQL, OS, XXE
và LDAP. Trong đó, phổ biến nhất là tấn cơng SQL, cịn được biết đến là
SQLi.
A2 – Broken Authentication and Session Management
Khi các chức năng của ứng dụng được thực hiện khơng chính xác, tin tặc
có thể dễ dàng xâm nhập, ăn cắp thơng tin tài khoản, mật khẩu và khai thác
các lỗ hổng khác bằng cách sử dụng các chứng chỉ đã đánh cắp.
A3 – Cross-site Scripting (XSS)



XSS là một lỗ hổng thường thấy trong các ứng dụng web. XSS cho phép
tin tặc đưa các kịch bản phía máy khách vào các trang web cơng cộng và
trong nhiều trường hợp, tin tặc có thể sử dụng các cơng cụ kiểm sốt truy cập
của họ.Một cuộc tấn cơng XSS thành cơng có thể gây thiệt hại nghiêm trọng
cho các trang web và có khả năng kéo người dùng vào các trang web khác
(thường chứa nhiều mã độc hơn).
A4 – Broken Access Control
Khi người dùng bị hạn chế kiểm sốt truy cập, tin tặc có thể khai thác và
truy cập các chức năng hoặc dữ liệu trái phép. Nguyên nhân lỗi kiểm sốt truy
cập xảy ra có thể là do các nhà phát triển thường bị bế tắc trong việc kiểm
soát truy cập phù hợp với các quy tắc đặt ra.
A5 – Security Misconfiguration (Sai sót cấu hình an ninh)
Do cấu hình an ninh lỏng lẻo tại các tầng kiến trúc của web như nền tảng,
framework, máy chủ, cơ sở dữ liệu và mã tùy chỉnh nên tin tặc có thể khai
thác tấn cơng và có quyền truy cập dữ liệu. Vì thế, tất cả các tầng kiến trúc
của web phải được cập nhật thường xuyên.
A6 – Sensitive Data Exposure (Lộ dữ liệu nhạy cảm)
Việc tiếp xúc dữ liệu nhạy cảm xảy ra khi các kiểm soát bảo mật, chẳng
hạn như HTTPS khơng được thực hiện chính xác và để lại lỗ hổng, giúp tin
tặc có thể ăn cắp thông tin tài khoản, mật khẩu, địa chỉ hay bất cứ thơng tin có
giá trị nào khác. A7 – Insufficient Attack Protection
Để xem xét có bao nhiêu ứng dụng và API phải vật lộn để phát hiện, ngăn
chặn và phản hồi các cuộc tấn công, các chuyên gia phải sử dụng các phương
pháp kiểm thử bảo mật, đánh giá tính dễ tổn thương và sử dụng WAF hay
RASP để phát hiện và vá lỗi nhanh.
A8 – Cross-Site Request Forgery (CSRF)
Các cuộc tấn cơng CSRF xảy ra khi HTTP trong trình duyệt của người



dùng bị giả mạo, tin tặc sẽ thao tác trong cookie và các phiên. Trình duyệt và
ứng dụng sẽ bị đánh lừa rằng các yêu cầu này là hợp pháp và cho phép tin tặc
đánh cắp thông tin một cách lặng lẽ.
A9 – Using Components with Known Vulnerabilities
Nguyên nhân của lỗi này là do việc sử dụng mà không kiểm duyệt các thư
viện, plug-in, ứng dụng… đã tồn tại lỗ hổng (thường là mã nguồn mở công
cộng). Tin tặc sẽ lợi dụng từ đây để tấn công hệ thống thông qua phương pháp
SQLi và XSS.
A10 – Underprotected APIs
API ngày càng trở nên phổ biến trong thế giới ứng dụng ngày nay bởi các
ứng dụng thường được viết bằng JavaScript và sử dụng API để lấy dữ liệu.
1.2.2. Một số vụ tấn công CSDL gần đây
Nếu như vụ việc Yahoo bị hacker đánh cắp thông tin của hơn 1 tỷ người
dùng vào năm 2016 đã là vơ cùng tồi tệ, thì những cuộc tấn cơng mạng quy mơ
lớn, có tính chun nghiệp cao trong nửa đầu năm 2017 tiếp tục khiến người ta
"sởn gai ốc" vì tần suất xuất hiện và những hậu quả của nó. Cùng điểm qua
những vụ tấn công mạng nổi bật nhất đã xảy ra trong thời gian vừa qua.
1. Hacker đánh cắp email của 1,9 triệu khách hàng tại Bell
Bell - công ty viễn thông lớn nhất tại Canada vào hồi tháng 5 thông báo họ
bị một "hacker ẩn danh" tấn công, ăn cắp dữ liệu gồm 1,9 triệu địa chỉ email
của khách hàng. Hãng đã từ chối trả khoản tiền chuộc mà hacker yêu cầu,
khiến cho một phần thông tin người dùng bị hacker tung lên mạng Internet.
2. Mạng xã hội Edmodo bị đánh cắp hơn 77 triệu tài khoản người dùng
Cũng trong tháng 5, Edmodo - trang mạng xã hội học tập phổ biến nhất thế
giới hiện nay với hơn 77 triệu thành viên tại nhiều quốc gia được kết nối với
nhau đã bị đánh cắp thông tin người dùng và rao bán trên trang web ngầm
(Dark Web). Theo Motherboard, những thông tin bị đánh cắp bao gồm tài


khoản, địa chỉ email và mật khẩu.

3. Máy chủ Handbrake bị tấn công khiến người dùng Mac nhiễm mã độc
Hàng nghìn người dùng MacBook đã đối mặt nguy cơ dính mã độc trojan
chiếm quyền điều khiển sau khi Handbrake - một nhà phát triển ứng dụng hỗ
trợ đổi file video liên kết với Apple. Ngay sau khi phát hiện ra sự việc, máy
chủ bị ảnh hưởng đã đóng cửa để điều tra nhưng các nhà phát triển cảnh báo
người dùng tải phần mềm từ máy chủ trong khoảng thời gian từ ngày 2/5 đến
6/5 vẫn có 50% nguy cơ bị dính trojan.
4. Cơng ty thanh tốn tại Anh bị hacker cướp đánh cắp 270.000 tài
khoản người dùng
Một công ty dịch vụ thanh toán tại Anh là Wonga đã bị hacker tấn cơng
vào hồi tháng 4, khiến ít nhất 270.000 tài khoản người dùng bị ảnh hưởng. Vụ
tấn công diễn ra chỉ vài tháng sau khi hacker chiếm đoạt 2,5 triệu bảng Anh
(tương đương 73,7 tỷ VNĐ) từ hơn 9.000 tài khoản online tại ngân hàng
Tesco Bank.
5. Mã độc tống tiền WannaCry lây lan diện rộng trên toàn thế giới
Được ghi nhận là vụ hack sử dụng phần mềm tống tiền lớn nhất lịch sử tại
nhiều quốc gia, WannaCry đã khiến thế giới "chao đảo" trong gần một tuần
vừa qua. Hacker đã đánh cắp cơng cụ này từ chính Cơ quan an ninh quốc gia
Mỹ (NSA), sau đó sử dụng chúng với mục đích phát tán, kiếm tiền từ những
người dùng bị lây nhiễm mã độc. Hệ quả là chỉ vài ngày sau đó, Quốc hội Mỹ
đã họp và đưa ra một dự luật nhằm cấm chính phủ lưu giữ các vũ khí tấn cơng
mạng tương tự.
6. Hacker đánh cắp 900GB dữ liệu quan trọng từ công ty giúp FBI
hack iPhone
Vừa qua Cellebrite, công ty chuyên về giải mật của Israel - nổi tiếng sau vụ
hack iPhone 5C giúp FBI trong khủng bố ở San Bernardino đã bị một nhóm


hacker tấn công lấy đi 900GB dữ liệu từ ổ cứng và đe dọa sẽ công khai những
thông tin này. Được biết, dữ liệu bị đánh cắp bao gồm: thông tin khách hàng, dữ

liệu cơ sở và nhiều tài liệu kỹ thuật quan trọng miêu tả sản phẩm của công ty.
7. WikiLeaks công bố tài liệu chấn động về chương trình hack của CIA
WikiLeaks, trang web chuyên đăng tải những tài liệu bị rị rỉ từ chính phủ
trên tồn thế giới, đã đăng tải hàng ngàn tài liệu được cho là tuyệt mật từ CIA
hồi tháng 3, cho thấy cơ quan này có khả năng xâm nhập vào hầu như tất cả
các thiết bị điện tử, từ smart TV, điện thoại di động đến xe tự lái... WikiLeaks
cũng cáo buộc CIA có thể giải mã những nội dung được nhận và gửi qua các
ứng dụng nhắn tin như WhatsApp, Signal, Telegram, Weibo, Confide và
Cloakman bằng cách xâm nhập vào smartphone đang dùng các ứng dụng này.
8. DaFont bị hack, để lộ gần 700.000 tài khoản người dùng
DaFont.com - diễn đàn cung cấp phơng chữ miễn phí nổi tiếng nhất trong
tháng qua đã thông báo họ bị hacker truy cập vào cơ sở dữ liệu, đánh cắp
được 699,464 tài khoản người dùng, đồng thời phá vỡ hơn 98% hệ thống mật
khẩu của họ. Những thông tin bị đánh cắp bao gồm địa chỉ email, tất cả các
tin nhắn cá nhân và dòng thảo luận của người dùng trên trang web.
9. Hơn 60 trường Đại học và các cơ quan Chính phủ Mỹ đã bị tấn công
bởi mã độc malware
Nhiều trường học và cơ quan Chính phủ Mỹ bị tấn cơng bởi mã độc khai
thác lỗ hổng SQL injection, cho phép hacker có quyền truy cập vào các thơng
tin nhạy cảm có giá trị để bán trên chợ đen (Black Market) của tội phạm
mạng. Các tổ chức đã bị tấn công bao gồm Ủy ban Điều tiết Bưu chính, Cơ
quan Dịch vụ và Nguồn lực Y tế, Bộ Gia cư và Phát triển Đơ thị, và Cơ quan
Khí quyển và Đại dương Quốc gia.
10. Hàng trăm ngàn tài khoản trên diễn đàn cảnh sát Mỹ bị đánh cắp
Vụ hack lịch sử từ năm 2015 đã lặp lại vào tháng 2/2017 khi một hacker


tấn công vào PoliceOne - diễn đàn dành cho lực lượng cảnh sát Mỹ. Theo báo
cáo, đã có hơn 715.000 tài khoản bị đánh cắp, bao gồm các thành viên đang
làm tại FBI hay DHS. Các dữ liệu bị đánh cắp bao gồm tên người dùng, mật

khẩu được mã hóa bằng thuật toán MD5, địa chỉ email, ngày sinh của những
người dùng đăng ký làm thành viên của trang mạng.
1.3. Bảo mật CSDL
1.3.1. Bảo mật dữ liệu mức cài đặt hệ thống
a. Mã hóa ổ đĩa, tệp tin
Khi kẻ tấn cơng có quyền đọc các thư mục lưu trữ các tệp tin dữ liệu của
hệ quản trị thì tương đương với người đó có quyền truy cấp vào tất cả các
CSDL trong đó, bằng cách gắn các tệp tin dữ liệu vào một hệ quản trị CSDL
mà kẻ đó có quyền.
b. Mã hóa phiên làm việc với SSL
SSL là viết tắt của Secure Sockets Layer, một công nghệ tiêu chuẩn cho
phép thiết lập kết nối được mã hóa an tồn giữa máy chủ web (host) và trình
duyệt web (client). Kết nối này đảm bảo rằng dữ liệu được truyền giữa host
và client được duy trì một cách riêng tư, đáng tin cậy. Các kết quả truy vấn
giữa ứng dụng và CSDL ln phải truyền tải qua mạng, và nó có thể bị đọc
bởi các công cụ như Wireshark. Để đảm bảo kết nối được an tồn thì nó cần
phải được mã hóa. Hiện nay các hệ
quản trị CSDL đều hỗ trợ bảo mật SLL.
1.3.2. Bảo mật dữ liệu mức người dùng
a. Kiểm soát các tài khoản của hệ thống
Hệ quản trị cung cấp một số tài khoản của hệ thống cố định (như sa của
SQL Server, ...) và các tài khoản này thường bị kẻ tấn công nhắm, bởi các tài
khoản này là cố định. Kẻ tấn cơng có thể sử dụng phương pháp Brute Force
để vét cạn mật khẩu của các tài khoản này.


b. Tạo CSDL người dùng và ánh xạ tới người đăng nhập
Cần phân biệt người dùng và người đăng nhập, người đăng nhập chỉ có
quyền đăng nhập vào Hệ quản trị CSDL chứ khơng có quyền truy xuất vào
CSDL. Cịn người dùng thì có quyền với tất cả các đối tượng trong CSDL.

Một người dùng nên được ánh xạ minh bạch với một người đăng nhập.
1.3.3. Bảo mật dữ liệu mức phân quyền
Hệ quản trị CSDL không chỉ đảm bảo việc lưu trữ, truy xuất dữ liệu mà nó
cịn đảm bảo sự an toàn của CSDL. Hệ quản trị CSDL xác thực người dùng
và duy trì phiên đăng nhập nếu người đó được phép.
Quyền có 3 trạng thái:
- GRANT: Quyền được cho phép
- DENY: Quyền bị từ chối
- REVOKE: Xóa bỏ việc cấp quyền hoặc từ chối quyền
Các đối tượng trong CSDL bảo gồm: bảng, cột, hàng, stored procedure, ...
Hệ quản trị CSDL cấp các quyền cho người dùng trên các đối tượng này,
nhằm đảm bảo một đối tượng được sở hữu bởi đúng người dùng.
1.3.4. Bảo mật dữ liệu bằng phương pháp mã hóa
1.3.4.1. Khóa
Khóa là một đoạn thơng tin điều khiển hoạt động của thuật tốn mã hóa.
Trong q trình mã hóa, khóa được sử dụng để mã hóa dữ liệu cũng như
giải mã dữ liệu. Vì vậy, khóa là yếu tố bí mật của thuật tốn mã hóa. Khóa
phải đủ độ dài để tránh được việc có thể sử dụng phương pháp vét cạn để tìm
ra khóa.
1.3.4.2. Mã hóa và giải mã
Mã hóa dữ liệu là chuyển dữ liệu từ dạng này sang dạng khác mà chỉ có
người có quyền truy cập vào khóa giải mã mới có thể đọc được. Hiện nay mã
hóa dữ liệu là một phương pháp rất phổ biến và hiệu quả để ngăn chặn người


khác có thể đọc được nội dung của dữ liệu. Chức năng của mã hóa dữ liệu là
bảo vệ dữ liệu số khi nó được truyền qua Internet hoặc được lưu trữ trong
máy tính. Mã hóa dữ liệu tạo thêm một lớp bảo mật cho dữ liệu, nếu dữ liệu
bị đánh cắp thì việc giải mã rất khó khăn và tốn thời gian lẫn tài nguyên.
Giải mã là quá trình biến đổi dữ liệu đã được mã hóa về dữ liệu ban đầu.

1.3.4.3. Q trình mã hóa dữ liệu và Giải mã dữ liệu

Hình 1.2. Q trình mã hóa dữ liệu
Dữ liệu đầu vào được mã hóa với một thuật tốn mã hóa và một khóa mã
hóa kết quả thu được là một dữ liệu mới đã được mã hóa.
Từ dữ liệu đã được mã hóa, sử dụng thuật tốn giải mã và khóa giải mã
thu được dữ liệu ban đầu.
1.3.4.4. Phân mức mã hóa
a. Mã hóa mức lưu trữ
Mã hóa ở mức lưu trữ thường được sử dụng để mã hóa tệp tin, thư mục
trong mơi trường hệ điều hành, tránh tình trạng có thể thơng qua quyền trong
hệ điều hành để lấy được tệp tin. Mã hóa mức lưu trữ sẽ bảo vệ dữ liệu mà
không làm thay đổi ứng dụng. Nhược điểm của loại mã hóa này là bị hạn chế
không cho phép phân quyền khác nhau cho người sử dụng CSDL.


b. Mã hóa mức CSDL
Mã hóa mức CSDL tức là dữ liệu được mã hóa và giải mã ngay tại máy
chủ, có thể mã hóa linh hoạt theo bản, theo cột hay theo dòng. Nhưng điều
này cũng sẽ dẫn tới việc hiệu năng của Hệ quản trị CSDL bị giảm.
c. Mã hóa mức ứng dụng
Mã hóa ở mức ứng dụng là việc thực hiện mã hóa và giải mã nằm trên ứng
dụng. Dữ liệu trước khi đưa vào CSDL thì được mã hóa tại ứng dụng, và việc
giải mã cũng diễn ra trên ứng dụng. Lợi ích của phương pháp mã hóa này là
việc tách biệt khóa và dữ liệu mã hóa. Nhưng mặt khác việc mã hóa ở trên
ứng dụng thì đỏi hỏi thay đổi kiến trúc của ứng dụng hoặc thậm chí là phải
viết lại ứng dụng. Loại mã hóa này khơng thích hợp với những ứng dụng
chạy trên nhiều nền CSDL khác nhau.
1.3.4.5. Phân loại mã hóa
a. Mã hóa sử dụng khóa đối xứng

Mã hóa sử dụng khóa đối xứng là loại mà hóa mà chỉ dùng một khóa cho
cả hai q trình mã hóa và giải mã. Vấn đề lớn nhất của loại mã hóa này là
làm sao bảo vệ được khóa. Các thuật tốn mã hóa đối xứng thường gặp như:
DES, AES..
b. Mã hóa sử dụng khóa bất đối xứng
Mã hóa sử dụng khóa đối xứng là loại mà hóa mà sử dụng một cặp khóa
khác nhau cho q trình mã hóa và giải mã. Khóa dùng để mã hóa được gọi
là khóa cơng khai. Khóa dùng để giải mã được gọi là khóa bí mật. Các thuật
tốn mã hóa đối xứng thường gặp như: RSA, ...
c. Mã hóa một chiều
Mã hóa một chiều là khi ta cần mã hóa dữ liệu và khơng cần giải mã nó.
Loại mã hóa này thường sử dụng hàm băm để biến dữ liệu thành một chuỗi
băm có để dài nhất định và khơng có bất kì cách nào để giải mã về thông tin


ban đầu.
Đặc điểm của hàm băm là nếu có hai chuỗi đầu vào khác nhau thì sau khi
băm ra thì ln được hai chuỗi khác nhau.
Mã hóa một chiều thường được sử dụng để kiểm tra tính tồn vẹn của dữ
liệu, mã hóa mật khẩu.
Thuật tốn mã hóa một chiều thường gặp đó là MD5, SHA1, SHA2, ...
d. Chứng chỉ
Chứng chỉ được xác thực bởi bên thứ 3 tin cậy và có uy tín là CA
(Certificate Authority) dùng để định danh thơng tin đi kèm với nó. Chứng chỉ
cho phép trao đổi dữ liệu mã hóa đúng người (tránh tình trạng bị giả mạo).
Chứng chỉ chứa các thông tin như: version number (phiên bản của chứng
chỉ), Serial number (định danh của chứng chỉ được gán bởi CA dùng để kí
lên chứng chỉ), Certificate signature algorithm (thuật tốn cơng khai được
CA kí lên chứng chỉ), Issuer name (tên cơ quan phát hành chứng chỉ), ...
1.4. Các giải pháp bảo vệ tấn công CSDL

1.4.1. Phát hiện và đánh giá
- Quét lỗ hổng: Cần hiểu rõ lỗ hổng bảo mật trong CSDL. Mã độc có thể
tìm kiếm và khác thác lỗ hổng bảo mật trong CSDL. CSDL chưa vá lỗi sẽ trở
thành mục tiêu tấn công dễ dàng. Quy tắc xác thực yếu có thể khiến hệ thống
trở thành mục tiêu của tấn công DoS (như cấp quyền truy cập vào CSDL mà
không cần mật khẩu). Sử dụng các công cụ đánh giá để phát hiện các lỗ hổng
bảo mật, cấu hình sai và cập nhật các bản vá lỗi từ nhà cung cấp. Nên sử dụng
các công cụ đánh giá bảo mật CSDL tốt, như DISA STIG và chuẩn CIS.
- Tính tốn rủi ro: Mức rủi ro phụ thuộc vào độ nghiêm trọng của lỗ hổng
bảo mật và sự nhạy cảm của dữ liệu. Tính tốn mức rủi ro cần dựa trên các hệ
thống phổ biến như Common Vulnerability Scoring System (CVSS). Mức độ
rủi ro cao thường có thể dẫn đến tấn công Input Injection.


- Giảm thiểu các lỗ hổng: Nếu lỗ hổng được phát hiện mà nhà cung cấp
chưa phát hành bản vá, có thể sử dụng giải pháp “vá ảo”. Các bản vá lỗi ảo
ngăn chặn những cố gắng khai thác lỗ hổng bảo mật khi chưa cập nhật bản vá
lỗi từ nhà cung cấp mà khơng cần thay đổi cấu hình hiện tại của máy chủ. Vá
ảo giúp bảo vệ CSDL cho đến khi bản vá từ nhà cung cấp được phát hành.
Tuy nhiên vá ảo không phải là giải pháp thay thế hoàn toàn cho việc vá ứng
dụng. Một thay đổi nào đó, dù rất nhỏ của cấu hình mạng có thể khiến cho vá
ảo trở thành vơ hiệu và lỗ hổng bảo mật của ứng dụng lại lộ ra cho tin tặc lợi
dụng. Vì thế, việc áp dụng vá ảo không thay thế cho việc giải quyết tận gốc
các lỗ hổng, lập kế hoạch vá hệ thống ngay khi điều kiện cho phép. Cần chú
ý, mức độ rủi ro cao cũng như các lỗ hổng bảo mật có thể tạo điểu kiện cho
tấn công DoS hay tấn công Input njection.
- Xác định thiết bị bị xâm phạm: Xác định thiết bị bị nhiễm mã độc giúp
ngăn chặn việc bị truy cập các thông tin nhạy cảm trong CSDL. Khi xác định
được thiết bị bị xâm phạm, cần áp dụng các kiểm soát dữ liệu để hạn chế các
thiết bị này truy cập vào các dữ liệu nhạy cảm.

- Phân tích rủi ro và ưu tiên khắc phục: Sử dụng các cơng cụ để phân tích
và cần ưu tiên khắc phục ngay khi phát sinh rủi ro.
- Theo dõi các máy chủ CSDL: Cần lập danh mục các CSDL có trong hệ
thống. Sử dụng các công cụ để quét các dịch vụ CSDL đang hoạt động. Có
thể giảm thời gian quét bằng cách lọc theo địa chỉ IP hay phạm vi theo dịch
vụ CSDL (như Orcacle, MS SQL, IBM DB2,…). Cần theo dõi định kỳ để xác
định có CSDL mới hay thay đổi CSDL khơng.
- Phân tích kết quả: Theo dõi kết quả phân loại và theo dõi CSDL để xác
định CSDL lưu trữ dữ liệu nhạy cảm cần theo dõi.
- Xác định và phân loại dữ liệu nhạy cảm: Khi đã xây dựng được danh mục
các CSDL, có thể xác định được CSDL chứa dữ liệu nhạy cảm. Quét các đối


tượng, các hàng và cột của CSDL để xác định dữ liệu nhạy cảm. Sử dụng các
giải pháp phân loại dữ liệu để phân chia các loại dữ liệu nhạy cảm, như số thẻ
tín dụng, địa chỉ email,… Kết quả phân loại nên bao gồm các địa chỉ IP, tên
máy chủ và chỉ ra được sự tồn tại của dữ liệu nhạy cảm trên máy chủ đó.
1.4.2. Quản lý quyền người dùng
Quản lý quyền truy cập bằng cách quyét lại CSDL với từng người dùng
được cấp để xác định lại được các quyền người đó có. Xác định lại người
phân quyền và người nhận quyền kèm theo đó là các đối tượng được quyền
cấp (bảng, dòng, cột,... ). Tập hợp và lưu trữ các thông tin về quyền người
dùng, từ đó có thể kiểm sốt được truy cập của người dùng.
Thực hiện đánh giá quyền người dùng một cách thích hợp để tránh tình
trạng quyền cấp cho người dùng khơng đúng. Từ đó tranh được phần nào sự
lạm quyền.
1.4.3. Giám sát và ngăn chặn
- Cảnh báo và ngăn chặn theo thời gian thực: Giám sát tất cả các hoạt động
truy cập CSDL và cách thức thực hiện theo thời gian thực để phát hiện rò rỉ
dữ liệu, như: truy vấn SQL bất hợp pháp, các giao dịch Big Data hay các cuộc

tấn công vào giao thức và hệ thống. Khi xuất hiện dấu hiệu cố ý truy cập trái
phép dữ liệu, cần đưa ra cảnh báo hoặc chấm dứt phiên làm việc đó. Sử dụng
một giải pháp cụ thể để đảm bảo chính sách an tồn (đã được định nghĩa trước
hoặc tùy chỉnh) như kiểm tra lưu lượng truy cập CSDL để xác định phương
thức tấn công dựa trên các dạng tấn công phổ biến, chẳng hạn như tấn công
DoS hay các hoạt động trái phép khác. Chính sách bảo mật này không chỉ
giúp phát hiện việc lạm dụng đặc quyền quá mức của người dùng mà cũng
góp phần ngăn ngừa các mối đe dọa tấn công CSDL khác.
- Phát hiện truy cập bất thường: Xây dựng thông tin đầy đủ về các hoạt
động bình thường của từng người dùng CSDL. Giám sát các điều bất thường


xảy ra sẽ giúp phát hiện các mối đe dọa tấn công CSDL, như: tấn công DoS,
mã độc, tấn công Input Injection, hay các hoạt động bất thường khác. Nếu bất
kỳ người dùng nào có hoạt động bất thường so với thơng tin đã xây dựng về
người dùng đó, cần đưa ra cảnh bảo và ngăn chặn người dùng đó ngay. Xây
dựng thơng tin về các hoạt động bình thường của người dùng CSDL giúp phát
hiện các truy cập trái phép tới dữ liệu nhạy cảm trong CSDL.
- Ngăn chặn yêu cầu độc hại từ ứng dụng Web: Vì ứng dụng Web
thường là nơi bắt đầu để thực hiện tấn công Input Injection, nên một phương
pháp không thể bỏ qua giúp bảo vệ là Tường lửa cho ứng dụng Web
(Web Application Firewall - WAF). Một WAF giúp nhận diện và ngăn
chặn kiểu tấn công Input Injection vào ứng dụng Web. Để bảo vệ chống lại
các cuộc tấn công Input Injection, một WAF cần:
+ Kiểm tra các giá trị tham số HTTP đối với các ký tự đặc biệt như dấu
nháy, dấy ngoặc và dự báo được sự xuất hiện các ký tự đặc biệt này có
phải nhằm mục đích tấn cơng hay khơng.
+ Sử dụng các chính sách được xây dựng nhằm chống lại tấn công
Input Injection để cảnh báo và ngăn chặn.
- Giám sát hoạt động CSDL: Các giải pháp DAP có thể kiểm tốn và giám

sát các hoạt động của người dùng có quyền cao nhất (quản trị viên hệ thống
và CSDL). Những người dùng này có quyền sử dụng cao nhất khi truy cập
vào CSDL, do đó cần chú ý lớp người dùng này. Họ có thể lạm dụng đặc
quyền hay bị mã độc tấn công dẫn đến nguy cơ mất dữ liệu và gây nguy
hiểm cho hệ thống.
- Áp dụng các điều khiển kết nối: Ngăn chặn tình trạng quá tải tài
nguyên máy chủ bằng cách hạn chế mức kết nối, truy vấn, và các thông
số khác cho mỗi người dùng CSDL.
- Xác thực giao thức truyền nhận: Khi theo dõi hoạt động của CSDL có thể


×