1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

76 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 1,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để 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 t

Trang 1

ĐẠ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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

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

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

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

dữ liệu

Object Linking and Embedding Database

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

Trang 8

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

Trang 10

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

Trang 11

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]

Trang 12

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

Trang 13

- 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ể:

Trang 14

- 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

Trang 15

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

Trang 16

- 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)

Trang 17

- 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 đó:

Trang 18

- 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

Trang 19

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

Trang 20

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

Trang 21

- 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

Trang 22

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 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

Trang 23

- 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

Trang 24

- 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

Trang 25

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

Trang 26

CHƯƠNG 2 TÌNH HÌNH TẤN CÔNG CƠ SỞ DỮ LIỆU HIỆN NAY

VÀ GIẢI PHÁP PHÒNG CHỐNG

Cơ sở dữ liệu là một trong những mục tiêu tấn công chịu nhiều tổn hại nhất theo “Báo cáo về vi phạm dữ liệu năm 2014” của Verizon [20,12] (Một trong những công ty hàng đầu thế giới về các giải pháp công nghệ và truyền thông) 96% các vụ tấn công ghi nhận được là nhằm vào CSDL [11] CSDL trở thành mục tiêu tấn công do đó là hệ thống quan trọng của bất kỳ cơ quan,

tổ chức hay doanh nghiệp nào Đó là nơi lưu trữ hồ sơ nhân sự, thông tin khách hàng, dữ liệu kinh doanh hay những thông tin bí mật khác Nhưng CSDL lại rất dễ bị tấn công, do những chính sách giúp phòng chống các mối

đe dọa tấn công CSDL là chưa chính xác và đầy đủ

Trong khi đó, nếu kẻ xấu truy cập được vào các thông tin nhạy cảm thì hậu quả sẽ khó kiểm soát được

2.1 Các mối đe dọa tấn công CSDL hàng đầu

Theo thống kê của Imperva, 10 mối đe dọa tấn công CSDL hàng đầu năm 2015 và thứ tự xếp hạng của chúng so với năm trước hầu như không thay đổi [12] Chỉ có một sự thay đổi cần lưu ý, đó là mối đe dọa tấn công “SQL Injection” được thay bằng “Input Injection” để cập nhật những liên quan của mối đe dọa dạng này đến công nghệ Big Data

Xếp hạng Mối đe dọa tấn công CSDL hàng đầu năm 2015

5 Lợi dụng viết kiểm toán yếu

6 Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ

7 Khai thác các CSDL có điểm yếu và bị lỗi cấu hình

8 Rò rỉ các dữ liệu nhạy cảm không được quản lý

9 Tấn công từ chối dịch vụ

10 Vấn đề đào tạo và chuyên gia an ninh còn hạn chế

Trang 27

Khi giải quyết được các mối de dọa tấn công CSDL hàng đầu này, tức

là hệ thống đáp ứng tương đối yêu cầu bảo mật CSDL và giảm thiểu được rủi

ro có thể xảy ra hiện nay Thực tế, 9 mối đe dọa đầu tiên có thể giải quyết được khi có một nền tảng ứng dụng tự động Kiểm toán và Bảo vệ CSDL (Database Auditing and Protection - DAP) mạnh, giúp cải thiện an ninh, và tăng hiệu quả hoạt động[12]

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

Khi người dùng (hay ứng dụng) được gán các đặc quyền truy nhập CSDL vượt quá các yêu cầu trong chức năng công việc của họ, thì những đặc quyền này có thể bị lạm dụng cho các mục đích xấu Ví dụ, một người phụ trách CSDL của trường đại học với công việc là thay đổi các thông tin liên lạc của sinh viên, người này có thể lạm dụng quyền của mình với quyền cập nhật CSDL để sửa đổi trái phép điểm của sinh viên Hoặc, một nhân viên ngân hàng với công việc là chỉ được thay đổi thông tin liên lạc của những người nắm giữ tài khoản Tuy nhiên, người này có thể lạm dụng quyền vượt mức của mình để tăng số dư tài khoản tiết kiệm của một người nào đó,

Bên cạnh đó, khi một người thôi không làm việc tại một tổ chức, có thể các quyền truy nhập vào dữ liệu nhạy cảm của họ chưa bị thay đổi Và nếu người này có mục đích xấu, người đó có thể sử dụng những đặc quyền cũ của mình để lấy cắp dữ liệu có giá trị hoặc gây thiệt hại cho hệ thống

Trong trường hợp người quản trị CSDL chưa định nghĩa và cập nhật cơ chế kiểm soát quyền truy nhập cho mỗi người dùng, có thể một số người dùng được gán các đặc quyền truy nhập mặc định vượt xa so với yêu cầu công việc của họ

2.1.2 Lạm dụng đặc quyền

Người dùng có thể lạm dụng các đặc quyền hợp pháp của mình để thực hiện những mục đích không hợp pháp Ví dụ, một nhân viên chăm sóc sức khỏe có quyền xem các bản ghi liên quan đến một bệnh nhân trong CSDL qua một ứng dụng Web Tuy nhiên, thường cấu trúc của ứng dụng Web sẽ hạn chế không cho phép người dùng được xem nhiều bản ghi, về lịch sử khám chữa bệnh liên quan đến nhiều bệnh nhân một cách đồng thời Khi đó, nếu có mục đích xấu, nhân viên này có thể bỏ qua hạn chế của ứng dụng Web đó bằng cách kết nối tới CSDL bằng một trình khách khác, chẳng hạn như MS-Excel Trong đó, người này sử dụng MS-Excel với quyền đăng nhập hợp lệ của mình

Trang 28

nên có thể lấy ra và lưu lại tất cả các bản ghi về các bệnh nhân trong CSDL.[12]

Ở đây, cần xét hai rủi ro Thứ nhất, nhân viên có mục đích xấu, sẵn sàng bán các bản ghi thông tin bệnh nhân Thứ hai (phổ biến hơn) là nhân viên đó cẩu thả, truy xuất và lưu trữ một lượng lớn thông tin bệnh nhân vào máy khách của họ với mục đích công việc hợp pháp Tuy nhiên, nhân viên này có thể để lộ dữ liệu bệnh nhân, vì nó trở thành điểm yếu cho Trojan, hay khi máy tính bị lấy cắp,…

2.1.3 Tấn công Input Injection

Có 2 loại chính trong tấn công Injection vào CSDL:

- Tấn công SQL Injection: mục tiêu là CSDL truyền thống

- Tấn công NoSQL Injection: mục tiêu là nền tảng Big Data

Tấn công SQL Injection thường là chèn các câu lệnh trái phép hoặc độc hại vào các trường nhập dữ liệu trên các ứng dụng Web Trong khi đó, tấn công NoSQL Injection là chèn các mã độc vào thành phần của Big Data (như Hive hay MapReduce)[12] Khi tấn công Input Injection (gồm 2 loại trên) thành công, kẻ tấn công có thể có quyền truy cập không hạn chế vào CSDL

2.1.4 Mã độc

Tội phạm mạng thường sử dụng các cuộc tấn công tiên tiến, pha trộn nhiều chiến thuật, chẳng hạn như: lừa đảo qua email và sử dụng phần mềm độc hại để thâm nhập vào các tổ chức và lấy cắp dữ liệu nhạy cảm Những người dùng hợp pháp không biết phần mềm độc hại đã lây nhiễm vào thiết bị của mình Vì vậy, vô tình, họ trở thành một đường dẫn cho tin tặc truy cập vào hệ thống và dữ liệu nhạy cảm

2.1.5 Lợi dụng viết kiểm toán yếu

Đối với bất kỳ hoạt động nào liên quan đến CSDL, cần phải ghi lại một cách tự động tất cả các giao dịch CSDL nhạy cảm và/hoặc các giao dịch bất thường Chính sách kiểm toán CSDL yếu sẽ dẫn đến những rủi ro nghiêm trọng cho tổ chức với nhiều mức độ khác nhau

Các cơ chế kiểm toán là tuyến hàng rào bảo vệ CSDL cuối cùng Nếu

kẻ tấn công có thể phá vỡ các hàng rào khác thì cơ chế kiểm toán dữ liệu vẫn

có thể xác định sự tồn tại của một xâm nhập sau những hành động của kẻ tấn công trước đó Những vết kiểm toán thu được có thể dùng để xác định người

Trang 29

dùng nào vừa thực hiện các hành động này, đồng thời qua vết kiểm toán có thể phục hồi lại hệ thống

Cơ chế kiểm toán yếu đồng nghĩa với việc hệ thống không thể ghi lại đầy đủ những hành động của người dùng, dẫn đến việc không thể phát hiện và ngăn chặn kịp thời những hành động tấn công của người dùng hoặc một nhóm người dùng Do vậy, kiểm toán là cơ chế quan trọng mà mọi hệ thống cần phải có để đảm bảo an toàn thông tin

2.1.6 Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ

Các phương tiện lưu trữ sao lưu thường không được bảo vệ khỏi các tấn công Kết quả là đã có rất nhiều lỗ hổng bảo mật có liên quan đến các hành vi trộm cắp các đĩa và băng sao lưu CSDL Hơn nữa, sự thất bại trong việc kiểm toán và giám sát các hoạt động của quản trị viên – người lẽ ra chỉ

có thể truy cập ở mức độ thấp vào thông tin nhạy cảm, có thể đặt dữ liệu của các tổ chức vào những rủi ro và nguy cơ khó lường Để hạn chế điều này, cần

có những biện pháp thích hợp để bảo vệ bản sao lưu của dữ liệu nhạy cảm và theo dõi những người dùng có đặc quyền cao nhất trong hệ thống nhằm đảm bảo an toàn cho dữ liệu

2.1.7 Khai thác các CSDL có điểm yếu và bị lỗi cấu hình

Các CSDL thường chứa các điểm yếu dễ bị tổn thương và chưa được

vá lỗi, hoặc chứa các tài khoản và các tham số cấu hình mặc định Kẻ tấn công có thể khai thác những lỗ hổng đó để khởi động các cuộc tấn công Các

tổ chức thường cố gắng duy trì cấu hình hiện tại CSDL của mình Việc vá lỗi cho CSDL mất rất nhiều thời gian để hoàn thành, ngay cả khi các bản vá đã

có sẵn Kết quả là trong thời gian vá lỗi, các CSDL chưa được vá lỗ hổng bảo mật vẫn còn rất nhiều điểm yếu, dễ bị tấn công

Theo một thống kê năm 2014 của Nhóm người dùng của Oracle (Independent Oracle User Group - IOUG), có khoảng 36% người dùng Oracle phải mất hơn 6 tháng mới cập nhật một bản vá quan trọng Ngoài ra, có 8% người dùng của Oracle không cập nhật một bản vá nào.[12]

2.1.8 Rò rỉ các dữ liệu nhạy cảm không được quản lý

Nhiều tổ chức đã thực hiện duy trì việc kiểm kê chính xác các CSDL và các đối tượng dữ liệu quan trọng chứa trong các CSDL của họ Các CSDL thường có chứa một số thông tin nhạy cảm, có thể chúng được lưu trữ rải rác trong CSDL Do đó, nếu không có những biện pháp điều khiển và kiểm soát

Trang 30

quyền phù hợp thì những thông tin nhạy cảm này rất dễ bị truy xuất bất hợp pháp

2.1.9 Tấn công từ chối dịch vụ

Từ chối dịch vụ (DoS) là một loại tấn công trong đó các truy nhập của người dùng hợp pháp vào các ứng dụng mạng hay vào dữ liệu sẽ bị từ chối Các điều kiện từ chối dịch vụ có thể được tạo ra qua nhiều kỹ thuật (nhiều trong số đó liên quan đến các điểm yếu nền tảng) Ví dụ, tấn công DoS có thể dựa trên điểm yếu nền tảng CSDL để phá hủy một máy chủ Ngoài ra, còn có một số kỹ thuật DoS phổ biến khác như: sửa đổi dữ liệu, làm nghẽn mạng (network flooding) và làm quá tải tài nguyên máy chủ

2.1.10 Vấn đề đào tạo và chuyên gia an ninh còn hạn chế

Những cơ chế kiểm soát an toàn bên trong tổ chức hiện nay chưa đáp ứng kịp với sự tăng nhanh của dữ liệu được lưu trữ và nhiều tổ chức không được trang bị đầy đủ những giải pháp an toàn để đối phó với những sự cố và

vi phạm an ninh thường xuyên xảy ra Đó là do thiếu năng lực chuyên môn cần thiết để thực hiện các kiểm soát an toàn, các chính sách bảo mật và vấn đề đào tạo

Theo Nghiên cứu về tổn thất do xâm phạm dữ liệu năm 2014 của Viện Ponemon, 30% sự cố xâm phạm dữ liệu có nguyên nhân chính là từ “yếu tố con người”.[12]

2.2 Các giải pháp phòng chống tấn công CSDL

Như đã đề cập trong phần 2.1, các mối đe dọa tấn công CSDL trên có thể được ngăn chặn bằng cách thực hiện các bước theo quy luật và có sự kiểm soát từ bên trong Có nhiều phương thức khác nhau để tấn công CSDL và chúng có thể được sử dụng kết hợp nhằm tăng thêm sức mạnh tấn công Do

đó, một chiến lược bảo vệ nhiều lớp là hết sức cần thiết để có thể bảo vệ CSDL Bảng 2.2 giúp xác định các giải pháp cho từng mối đe dọa tấn công CSDL trên Trên cơ sở đó, có thể đưa ra giải pháp cụ thể cho hệ thống

Trang 31

Thu thập thông tin về quyền

truy cập của người dùng vào dữ

Phát hiện truy cập bất thường     

Ngăn chặn yêu cầu độc hại từ

Ghi lại chi tiết các giao dịch 

Tạo báo cáo về việc tuân thủ

ật Đào tạo chuyên gia bảo mật 

Bảng 2.2 Bảng xác định giải pháp chống lại tấn công CSDL [12]

Trang 32

Có 6 nhóm giải pháp khác nhau trong Bảng 2.2 gắn với các nhiệm vụ cần thực hiện để chống lại tấn công CSDL, gồm:

Phát hiện và đánh giá: các lỗ hổng CSDL và vị trí dữ liệu quan trọng Quản lý quyền người dùng: xác định quyền quá mức trên các dữ liệu nhạy cảm

Giám sát và ngăn chặn: bảo vệ CSDL khỏi các cuộc tấn công, truy cập trái phép, và đánh cắp dữ liệu

Kiểm toán: giúp tuân thủ các quy định được thiết đặt

Bảo vệ dữ liệu: đảm bảo tính toàn vẹn và bảo mật dữ liệu

An ninh ngoài kỹ thuật: nắm chắc và củng cố nhận thức về an ninh và

sự chuẩn bị để đối phó các rủi ro

2.2.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 toá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 toá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

Trang 33

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 Injection

- 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ủ đó

2.2.2 Quản lý quyền người dùng

- Tập hợp quyền truy cập: Quét CSDL với quyền người dùng được cấp, đồng thời ghi lại các quyền theo thực tế (như quyền SELECT, DELETE, CONNECT,…), xác định người phân quyền và người nhận quyền cùng với đối tượng mà quyền được cấp Tập hợp quyền người dùng vào một kho lưu trữ, từ đó có thể phân tích được truy cập của người dùng vào dữ liệu nhạy cảm

- Thu thập thông tin về quyền truy cập của người dùng vào dữ liệu nhạy cảm: Kiểm tra vai trò người dùng và hành vi của họ đến CSDL giúp phân tích quyền người dùng và làm giảm sự lạm dụng quyền

- Xác định và loại bỏ các quyền quá mức hay người dùng không sử dụng: Xác định những người dùng có quá nhiều đặc quyền và những người dùng không sử dụng đặc quyền của họ Điều này giúp xác định các quyền truy cập của người dùng một cách thích hợp, và loại bỏ quyền quá mức khi không

Trang 34

cần thiết cho người sử dụng Kẻ tấn công có thể sử dụng quyền truy cập để mạo danh người dùng và đánh cắp dữ liệu nhạy cảm Vì vậy, việc giảm quyền quá mức sẽ giúp bảo vệ chống lại mã độc, các cuộc tấn công và giảm thiểu hậu quả khi các mối đe dọa tấn công CSDL đó xảy ra

- Xem xét và phê duyệt/từ chối quyền người dùng: Thực hiện đánh giá các quyền người dùng để xác định xem chúng có thích hợp hay không Quá trình đánh giá giúp làm giảm nguy cơ do quyền cấp cho người dùng là không đúng

- Theo dõi người dùng “thực”: Giải pháp phân tích thông tin người dùng khi thực hiện các truy vấn CSDL, được gọi là “Theo dõi người dùng phổ biến” (Universal User Tracking – UUT) Kết quả theo dõi cho thấy người dùng và ứng dụng CSDL liên quan Từ đó giúp quản lý quyền người dùng

- 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

Trang 35

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 toá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ể giúp phân tích các giao thức truyền nhận và các bất thường xảy ra Khi có việc truyền nhận bất thường xuất hiện, cần kích hoạt cảnh bảo và ngăn chặn giao dịch thực hiện

- Phản ứng kịp thời: Mối đe dọa tấn công DoS vào CSDL với mục tiêu làm quá tải tài nguyên máy chủ, khiến CSDL hoạt động chậm hoặc "treo" Sử dụng các giải pháp theo dõi sự phản ứng kịp thời của hệ thống sẽ giúp tạo ra các cảnh báo khi hệ thống phản ứng chậm trễ

2.2.4 Kiểm toán

- Kiểm toán tự động với nền tảng DAP: Sử dụng một giải pháp DAP giúp tăng hiệu năng, khả năng mở rộng và tính linh hoạt để đáp ứng các nhu cầu bảo vệ trước các mối đe dọa tấn công CSDL Một giải pháp DAP có thể giải quyết hầu hết các điểm yếu liên quan đến công cụ kiểm toán Giải pháp DAP cần đáp ứng các yêu cầu:

+ Phân tách nhiệm vụ: Giải pháp DAP hoạt động độc lập với quản trị viên CSDL, nó tách rời nhiệm vụ kiểm toán khỏi quản trị viên

hệ thống Ngoài ra, nó hoạt động độc lập với máy chủ CSDL và do đó khó sử dụng nó để tấn công CSDL bằng cách nâng đặc quyền

Trang 36

+ Kiểm toán trên các nền tảng khác nhau: Các giải pháp DAP hỗ trợ các nền tảng CSDL từ nhiều nhà cung cấp với một tiêu chuẩn thống nhất và tập trung, hoạt động trên các môi trường CSDL lớn và phân bố không đồng nhất

+ Hiệu năng: Các giải pháp DAP hàng đầu có thể hoạt động với hiệu năng cao mà không ảnh hưởng đến hiệu năng CSDL

- Ghi lại chi tiết các giao dịch: Để hỗ trợ yêu cầu quản lý, phát hiện và phân tích các mối đe dọa tấn công, giải pháp DAP có thể ghi lại các log (lưu vết) kiểm toán bao gồm các thông tin như tên ứng dụng nguồn, nội dung truy vấn, thuộc tính truy vấn, hệ điều hành nguồn, tên máy chủ, Sử dụng các quy tắc kiểm toán để thu thập các thông tin cần thiết giúp cho việc tuân thủ các quy tắc nhằm đáp ứng yêu cầu kiểm toán

- Tạo báo cáo về việc tuân thủ yêu cầu: Tổng kết chi tiết các hoạt động của CSDL trong việc đáp ứng các yêu cầu kiểm toán, như: các hoạt động quan trọng của CSDL, hiệu năng của hệ thống giám sát, Giải pháp DAP đưa

ra các báo cáo giúp tùy chỉnh nhằm đáp ứng nhu cầu bảo vệ CSDL

2.2.5 Bảo vệ dữ liệu

- Lưu trữ dữ liệu bên ngoài: Có các quy trình tự động lưu trữ dữ liệu lâu dài Sử dụng các giải pháp có thể được cấu hình để lưu trữ định kỳ dữ liệu với các hệ thống lưu trữ bên ngoài Dữ liệu có thể nén, mã hóa và được ký trước khi lưu trữ

- Mã hóa CSDL: Mã hóa dữ liệu nhạy cảm trên các môi trường CSDL không đồng nhất Giải pháp này cho phép bảo vệ CSDL và các bản sao lưu CSDL Sau đó, kiểm toán các hoạt động truy cập dữ liệu nhạy cảm của người dùng tại mức hệ điều hành và lớp lưu trữ Bằng cách tận dụng việc kiểm toán với mã hóa CSDL, có thể giám sát và kiểm soát người dùng bên trong và bên ngoài CSDL

2.2.6 An ninh ngoài kỹ thuật

- Đào tạo chuyên gia bảo mật: Để bảo vệ chống lại các mối đe dọa tấn công CSDL, cần có các chuyên gia an ninh thông tin có kinh nghiệm thực hiện, quản lý và giám sát các giải pháp bảo mật Cần đào tạo liên tục nhằm phát triển các kiến thức và kỹ năng chuyên sâu về an ninh thông tin

- Đào tạo các nhân sự khác: Đào tạo các nhân lực khác trong tổ chức giúp giảm thiểu rủi ro Đơn giản là nhân lực "có ý thức bảo mật" khi sử dụng

Trang 37

có nhận thức về các mối đe dọa tấn công CSDL sẽ làm tăng nguy cơ bị tấn công, nhất là khi họ được kết nối với các hệ thống thông tin quan trọng

2.3 Một số vụ tấn công CSDL gần đây

Trong những năm qua, tình hình ăn cắp dữ liệu ngày càng gia tăng Gần đây nhất, trong “Báo cáo về các mối đe dọa tấn công năm 2014” (McAfee Labs – 2014 Threats Report [14]) và “Dự báo các mối đe dọa trong năm 2015” của McAfee (McAfee Labs - 2015 Threats Predictions [15]) đã cho thấy sự gia tăng tấn công CSDL và an toàn mạng, cùng với những chiến lược mới của giới hacker để che giấu hành tung và đánh cắp dữ liệu nhạy cảm

Nhiều báo cáo về thiệt hại do dữ liệu bị đánh cắp gây ra đã được công

bố, bên cạnh những vụ việc mà thiệt hại chưa thể ước tính được

2.3.1 Vụ tấn công làm lộ thông tin khách lớn nhất trong lịch sử [1]

Hãng bảo hiểm Anthem, lớn thứ 2 của Mỹ, đã bị hacker tấn công vào CSDL khách hàng hồi đầu tháng 2/2015 Hậu quả là thông tin cá nhân của khoảng 78,8 triệu khách hàng bị xâm phạm, gồm tên, ngày sinh và số thẻ an sinh xã hội, Hãng bảo mật ThreatConnect cho rằng cuộc tấn công có thể có liên quan đến hoạt động của nhóm hacker Axiom đến từ Trung Quốc Nhóm hacker đã sử dụng các công cụ như giả mạo website, phishing email và mã độc nhằm đánh cắp mật khẩu của nhân viên và chiếm quyền truy cập hệ thống Điều nguy hiểm là dữ liệu mà hacker đánh cắp lại chưa được mã hóa, nên chúng dễ dàng sử dụng dữ liệu này để gây hại [9,13]

Trang 38

Chỉ 1 tháng sau vụ tấn công Anthem, ngày 17/3/2015 công ty bảo hiểm

y tế Premera Blue Cross cho biết các dữ liệu y tế và thông tin tài chính của 11 triệu khách hàng của hãng có thể bị hacker xâm nhập Hiện vẫn chưa rõ các thông tin bị rò rỉ từ vụ tấn công CSDL của Premera đã được mã hóa hay chưa.[1]

2.3.2 Đánh cắp dữ liệu của công ty Community Health Systems (CHS)

Các dữ liệu bị đánh cắp gồm tên bệnh nhân, địa chỉ, ngày sinh, số an sinh xã hội, các thông tin nhạy cảm khác của nhân viên và lãnh đạo CHS.[18,22]

Kẻ tấn công đã khai thác lỗi trên giao thức mã hóa SSL xuất phát từ công nghệ OpenSSL trong một thiết bị của Juniper Networks (OpenSSL - thư viện mã hóa nguồn mở dùng để bảo mật cho khoảng 2/3 số trang web trên toàn thế giới) Kiểu tấn công này còn có tên khác là “Trái tim rỉ máu” (Heartbleed) Được phát hiện trong tháng 4/2014, Heartbleed là lỗ hổng bảo mật đầu tiên trong hai lỗ hổng nghiêm trọng làm chấn động thế giới Internet năm này (Heartbleed và Shellshock) Heartbleed cho phép kẻ tấn công đột nhập vào các máy chủ có tính năng “the heartbeat extension” trong thư viện OpenSSL được kích hoạt, lấy đi những dữ liệu nhạy cảm của người dùng được bảo mật bằng mã hóa SSL

Tuy nhiên, một lỗi bảo mật khác hiện đang trở thành mối lo ngại của nhiều chuyên gia bảo mật, đó là Shellshock [3] Shellshock là tên gọi một lỗ hổng bảo mật có khả năng gây ảnh hưởng trực tiếp đến ứng dụng Bash

Ngày đăng: 16/03/2021, 11:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w