Tải bản đầy đủ (.doc) (87 trang)

Nghiên cứu tìm hiểu một số dạng tấn công sql injection vào hệ quản trị csdl microsoft sql server

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 (819.81 KB, 87 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
ĐỒ ÁN TỐT NGHIỆP
Đề tài
Nghiên cứu tìm hiểu một số dạng tấn công SOL Injection
vào hệ quản trị cơ sở dữ liệu Microsoft SQL Server
Ngành:
Chuyên ngành:
Khóa:
Tin học (mã số 01.02.10)
An toàn thông tin
03 (2006 – 2011)
Cán bộ hướng dẫn khoa học :
Sinh viên thực hiện:
PGS.TS. Lê Mỹ Tú
Lã Huyền Châm
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
HÀ NỘI 2011
Lã Huyền Châm - Lớp AT3C 2
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
MỤC LỤC
MỤC LỤC 3
CÁC TỪ VIẾT TẮT 6
TỪ VIẾT TẮT 6
TIẾNG ANH 6
SQL 6
Structured Query Language 6
TDE 6
Transparent Data Encryption 6
DDL 6
Data Definition Language 6
DEK 6


Database Encryption Key 6
SMK 6
Service Master Key 6
DMK 6
Database Master Key 6
SSL 6
Secure Socket Layer 6
SQLIA 6
Structured Query Language Injection Attack 6
SPDL 6
Security Policy Descriptor Language 6
IDS 6
Intrusion Detection System 6
SPDL 6
Security Policy Descriptor Language 6
DANH MỤC HÌNH VẼ 7
LỜI MỞ ĐẦU 8
CHƯƠNG I: TỔNG QUAN VỀ AN NINH, AN TOÀN TRONG HỆ QUẢN
TRỊ CƠ SỞ DỮ LIỆU MICROSOFT SQL SERVER 10
1.1. GIỚI THIỆU CHUNG VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MICROSOFT SQL
10
Lã Huyền Châm - Lớp AT3C 3
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
1.1.1. Kiến trúc hệ thống lưu trữ dữ liệu SQL Server 12
1.1.1.1. Cấu trúc page và extent 12
1.1.1.2. Cấu trúc file và filegroup 13
1.1.1.3. Cấu trúc nhật ký giao tác (transaction log) 15
1.1.1.4. Cấu trúc bảng và cấu trúc dữ liệu chỉ số 16
1.1.2. Giải pháp nhân bản dữ liệu trong SQL Server 17
1.1.2.1. Thành phần trong mô hình nhân bản 17

1.1.2.2. Phương pháp nhân bản 19
1.2. KIẾN TRÚC AN NINH AN TOÀN TRONG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MICROSOFT SQL 22
1.2.1. Cấu trúc hệ thống bảo vệ 22
1.2.2. Các mức bảo vệ 23
1.3. MÃ HÓA CƠ SỞ DỮ LIỆU TRONG MICROSOFT SQL 25
1.3.1. Mã hóa dữ liệu trong suốt (TDE – Transparent Data Encrryption) 25
1.3.2. Tìm hiểu cơ bản về TDE trong SQL Server 2008 26
1.3.2.1. Hệ thống phân cấp khóa mã trong TDE 27
1.3.2.2. Phương pháp thiết lập TDE 28
1.3.2.3. Phương pháp dữ liệu được mã hóa 30
1.3.2.4. Dạng thông tin mà TDE có thể mã hóa 30
CHƯƠNG II: TÌM HIỂU VỀ MỘT SỐ KỸ THUẬT TẤN CÔNG SQL
INJECTION 32
2.1. MỘT SỐ TẤN CÔNG CƠ SỞ DỮ LIỆU PHỔ BIẾN 32
2.2. MỘT SỐ KỸ THUẬT TẤN CÔNG SQL INJECTION 33
2.2.1. Khái niệm về tấn SQL injection: 33
2.2.2. Các cơ chế thực hiện tiêm 34
2.2.2.1. Kỹ thuật tiêm thông qua đầu vào người dùng 34
2.2.2.2. Kỹ thuật tiêm thông qua các coockie 34
2.2.2.3. Kỹ thuật tiêm thông qua các biến môi trường 34
2.2.2.4. Kỹ thuật tiêm bậc hai 35
2.2.3. Các mục tiêu khi thực hiện tấn công SQL injection 36
2.2.4. Các kiểu tấn công SQL injection 38
2.2.4.1. Tấn công dựa vào tính dư thừa (Tautologies) 39
2.2.4.2. Tấn công dựa vào các truy vấn trái phép/sai logic 40
2.2.4.3. Tấn công dựa vào truy vấn kết hợp 41
2.2.4.4. Tấn công dựa vào các truy vấn Piggy-Backed 42
2.2.4.5. Tấn công dựa vào các thủ tục lưu trữ 43
2.2.4.6. Tấn công dựa vào sự suy đoán 44

2.2.4.7. Tấn công dựa vào các biến đổi thay thế 47
2.2.5. Phương pháp ngăn chặn tấn công SQL injection 48
2.2.5.1. Các phương pháp viết mã lệnh có bảo vệ 48
2.2.5.2. Các kỹ thuật phát hiện và ngăn chặn (Detection and Prevention
Techniques) 50
CHƯƠNG III: TẤN CÔNG SQL INJECTION TRÊN SQL SERVER VÀ
XÂY DỰNG MODULE MÔ PHỎNG TẤN CÔNG 54
3.1. KỸ THUẬT TẤN CÔNG SQL INJECTION TRONG CÁC ỨNG DỤNG
SQL SERVER 54
3.1.1. Thu thập thông tin qua các thông báo lỗi 54
Lã Huyền Châm - Lớp AT3C 4
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
3.1.2. Leo thang quyền kiểm soát 58
3.2. XÂY DỰNG CHƯƠNG TRÌNH DEMO THỰC HIỆN TẤN CÔNG SQL
INJECTION 62
3.2.1. Nội dung kịch bản demo 62
3.2.2. Giới thiệu chương trình ứng dụng sẽ được áp dụng cho demo 62
3.2.2.1.Cấu trúc cơ sở dữ liệu QuanLyTinNhan 63
3.2.2.2. Các chức năng của chương trình ứng dụng QuanLyTinNhan 64
3.2.3. Áp dụng thức tấn công SQL injection trong ứng dụng 67
3.2.3.1. Áp dụng cách tấn công SQL injection nhằm làm vô hiệu hóa điều kiện truy
vấn 67
3.2.3.2. Áp dụng cách tấn công SQL injection nhằm làm thay đổi dữ liệu trong
bảng 69
3.2.3.3. Áp dụng cách tấn công SQL injection nhằm xóa toàn bộ dữ liệu trong bảng
71
PHỤ LỤC 75
TÀI LIỆU THAM KHẢO 87
Lã Huyền Châm - Lớp AT3C 5
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server

CÁC TỪ VIẾT TẮT
TỪ VIẾT TẮT TIẾNG ANH
SQL Structured Query Language
TDE Transparent Data Encryption
DDL Data Definition Language
DEK Database Encryption Key
SMK Service Master Key
DMK Database Master Key
SSL Secure Socket Layer
SQLIA Structured Query Language Injection Attack
SPDL Security Policy Descriptor Language
IDS Intrusion Detection System
SPDL Security Policy Descriptor Language
Lã Huyền Châm - Lớp AT3C 6
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
DANH MỤC HÌNH VẼ
Hình 1.1 Cấu trúc extent 13
Hình 1.2. Cách tổ chức của một bảng 16
Hình 1.3. Các thành phân cơ bản trong mô hình nhân bản 17
Hình 1.4: Mô hình nhân bản Snapshot 19
Hình 1.5. Mô hình nhân bản Transaction 20
Hình 1.6. Mô hình nhân bản Merge 21
Hình 1.7. Kiến trúc phân cấp khóa TDE 28
Hình 3.1. Giao diện chương trình demo 64
Chức năng kết nối tới cơ sở dữ liệu SQL Server: 64
Hình 3.2. Giao diện kết nối tới SQL Server 65
Hình 3.3. Giao diện đăng ký thông tin cá nhân 65
Hình 3.4. Giao diện thông tin cá nhân 66
Hình 3.5. Giao diện gửi tin nhắn 66
Hình 3.6. Giao diện gửi tin nhắn 67

Hình 3.7. Hiển thị tin nhắn 68
Hình 3.8. Giao diện thể hiện truy vấn 68
Hình 3.9. Danh sách toàn bộ các tin nhắn 69
Hình 3.10. Giao diện hiển thị thông tin cá nhân 70
Hình 3.11. Thông tin cá nhân của tất cả người dùng 70
Hình 3.12. Giao diện thực hiện chèn thêm truy vấn làm thay đổi dữ liệu 71
Hình 3.13. Giao diện thực hiện chèn thêm truy vấn để xóa dữ liệu trong bảng
72
Lã Huyền Châm - Lớp AT3C 7
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
LỜI MỞ ĐẦU
Ngày nay vấn đề bảo vệ các cơ sở dữ liệu là một trong những vấn đề hết
sức quan trọng. Đặc biệt là các trung tâm lưu trữ cơ sở dữ liệu của các cơ
quan tổ chức doanh nghiệp. Để có thể khai thác trái phép các thông tin này, kẻ
tấn công thực hiện mọi phương pháp và sử dụng nhiều công cụ khác nhau.
Nhằm bảo vệ tốt các cơ sở dữ liệu, đề phòng, phát hiện và ngăn chặn các
tấn công vào tài nguyên hệ thống thì chúng ta cần phải hiểu rõ các cách thức
tấn công. Một trong những cách thức tấn công được thực hiện phổ biến hiện
nay và khá hiệu quả đó là tấn công SQL injection vào các ứng dụng cơ sở dữ
liệu. Đó là một hướng tấn công tuy không mới, nhưng các kỹ thuật cụ thể
được áp dụng thì luôn thay đổi. Nếu tấn công này được thực hiện thành công
thì kẻ tấn công có thể đạt được tới mức có thể lấy được toàn bộ dữ liệu trong
cơ sở dữ liệu, cũng như thay đổi dữ liệu hoặc cấu trúc các đối tượng cơ sở dữ
liệu.
Để hiểu rõ và sâu hơn về kỹ thuật tấn công, em đã chọn nghiên đề tài:
“Nghiên cứu và tìm hiểu một số tấn công dạng SQL Injection vào hệ
quản trị cơ sở dữ liệu Microsoft SQL Server”. Bố cục của đề tài được chia
ra làm ba chương:
Chương 1: “Tổng quan về an ninh, an toàn trong hệ quản trị cơ sở dữ
liệu”. Trong chương này em tập trung tìm hiểu về kiến trúc hệ thống lưu trữ

dữ liệu SQL Server, vấn đề mã hóa cơ sở dữ liệu trong Microsoft SQL.
Chương 2: “Kỹ thuật tấn công SQL injection”. Nội dung chính của
chương nghiên cứu về một số kỹ thuật tấn công SQL Injection, cơ chế thực
hiện và phương pháp ngăn chặn tấn công.
Chương 3: “Tấn công SQL Injection trên SQL Server và xây dựng
module mô phỏng tấn công”. Trong chương này tìm hiểu về kỹ thuật tấn công
SQL injection trong các ứng dụng SQL Server, xây dựng chương trình demo
thực hiện tấn công.
Sau hơn ba tháng nỗ lực nghiên cứu và tìm hiểu, đến nay đồ án tốt
nghiệp của em đã hoàn thành. Trước hết cho phép em được bày tỏ lòng biết
ơn sâu sắc và lời cảm ơn chân thành tới thầy giáo PGS.TS. Lê Mỹ Tú đã hết
lòng chỉ bảo và tận tình hướng dẫn em, các thầy cô giáo trong khoa An toàn
Lã Huyền Châm - Lớp AT3C 8
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
Thông tin đã tạo điều kiện tốt nhất, cám ơn bạn bè và gia đình đã ủng hộ và
động viên em trong suốt quá trình hoàn thành đồ án.
Hà Nội, ngày 6 tháng 6 năm 2011
Sinh viên thực hiện
Lã Huyền Châm
Lã Huyền Châm - Lớp AT3C 9
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
CHƯƠNG I: TỔNG QUAN VỀ AN NINH, AN TOÀN TRONG
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MICROSOFT SQL
SERVER
1.1. GIỚI THIỆU CHUNG VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MICROSOFT SQL
SQL Server bao gồm một số công nghệ phân tích và quản lý dữ liệu sau:
• Bộ máy cơ sở dữ liệu (Database Engine):
Đây là dịch vụ lõi (core service) thực hiện nhiệm vụ lưu trữ, xử lý và an
toàn dữ liệu. Bộ máy cơ sở dữ liệu cung cấp cách truy cập có kiểm soát và xử

lý nhanh các giao tác để đáp ứng các yêu cầu dữ liệu từ ứng dụng.
Bộ máy cơ sở dữ liệu được sử dụng để tạo ra các cơ sở dữ liệu quan hệ
cho các giao tác trực tuyền hoặc dữ liệu xử lý phân tích trực tuyến. Cơ sở dữ
liệu quan hệ gồm các bảng để lưu trữ dữ liệu và các đối tượng cơ sở dữ liệu
như chỉ số (index), khung nhìn (view) và các thủ tục lưu trữ (stored
procedure) để xem, quản lý và an toàn dữ liệu. SQL Server Management
Studio là công cụ được sử dụng để quản lý các đối tượng cơ sở dữ liệu và
SQL Server Profiler dùng để thu thập các sự kiện.
Nhiệm vụ chính của bộ máy cơ sở dữ liệu:
o Thiết kế và tạo cơ sở dữ liệu để lưu trữ các bảng quan hệ hoặc các tài
liệu XML được yêu cầu từ hệ thống.
o Thực thi hệ thống để truy cập và thay đổi dữ liệu được lưu trữ trong
cơ sở dữ liệu. Công việc này bao gồm thực hiện các Website hoặc
các ứng dụng làm việc với dữ liệu và xây dựng các thủ tục làm việc
với dữ liệu.
o Hỗ trợ việc quản trị hàng ngày để tối ưu hiệu năng của cơ sở dữ liệu
• Các dịch vụ phân tích
o Đối với dữ liệu đa chiều (Microsoft SQL Server Analysis Services –
Multidimensional Data): Cho phép thiết kế, tạo, và quản lý các cấu
trúc đa chiều, bao gồm dữ liệu chi tiết và dữ liệu đã được tập hợp từ
Lã Huyền Châm - Lớp AT3C 10
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
nhiều nguồn dữ liệu, như cơ sở dữ liệu quan hệ, trong mô hình logic
đơn lẻ được cung cấp bởi các tính toán bên trong.
o Dịch vụ phân tích này cung cấp việc phân tích từ trên xuống dưới,
trực quan đối với lượng lớn dữ liệu trong mô hình dữ liệu đơn lẻ.
o Nó hoạt động với các kho dữ liệu, các cơ sở dữ liệu sản xuất và các
nơi lưu trữ dữ liệu vận hành, hỗ trợ việc phân tích cả về dữ liệu thời
gian thực và dữ liệu lịch sử.
o Đối với khai phá dữ liệu (Microsoft SQL Server Analysis Services –

Data Mining): bao gồm các đặc tính và các công cụ cần thiết để tạo
ra các giải pháp khai phá dữ liệu phức tạp như:
− Các thuật toán khai phá dữ liệu chuẩn
− Bộ thiết kế khai phá dữ liệu (Data Mining Designer), được dùng
để tạo, quản lý và khảo sát các mô hình khai phá dữ liệu và sau
đó tạo các tiên đoán bằng cách sử dụng các mô hình này.
Ngôn ngữ mở rộng khai phá dữ liệu (Data Mining Extensions) được dùng
để quản lý các mô hình khai phá và tạo các truy vấn tiên đoán phức tạp.
Sử dụng kết hợp các đặc tính và các công cụ trên để khám phá các xu
hướng và các mẫu đang tồn tại trong dữ liệu và sau đó sử dụng các xu hướng
và các mẫu này để đưa ra các quyết định thông minh cho các vấn đề khó trong
thương mại.
• Dịch vụ tích hợp (Microsoft Integration Service): là nền tảng để xây
dựng các giải pháp biến đổi dữ liệu và tích hợp dữ liệu. Dịch vụ này
được sử dụng để giải quyết các vấn đề thương mại phức tạp bằng cách
sao chép, tải các tệp tin, gửi thông báo email để đáp ứng các sự kiện,
cập nhật các kho dữ liệu, làm sạch và khai phá dữ liệu, quản lý các đối
tượng SQL Server và dữ liệu. Các gói (package) có thể làm việc độc
lập hoặc liên quan đến các gói khác nhằm đưa ra được nhu cầu cơ bản
trong thương mại.
• Dịch vụ tích hợp có thể trích và biến đổi dữ liệu từ nhiều nguồn dữ liệu
như các tệp dữ liệu XML, tệp tin phẳng (flat file), và các nguồn dữ
Lã Huyền Châm - Lớp AT3C 11
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
liệu quan hệ, sau đó dữ liệu này được nạp vào trong một hoặc nhiều
đích.
• Dịch vụ tích hợp bao gồm một tập các biến đổi và nhiệm vụ được xây
dựng bên trong (built-in) và các công cụ để xây dựng các package.
• Dịch vụ tạo báo cáo (Microsoft SQL Server 2008 Reporting Service):
Cung cấp đầy đủ các công cụ và dịch vụ hỗ trợ việc tạo, triển khai và

quản lý các báo cáo của tổ chức, cũng như khả năng lập trình để mở
rộng và lựa chọn chức năng báo cáo. Dịch vụ này gồm tập đầy đủ các
công cụ để tạo, quản lý và phân phối các báo cáo và các hàm API cho
phép người phát triển có thể tích hợp hoặc mở rộng công việc xử lý dữ
liệu và báo cáo trong ứng dụng.
1.1.1. Kiến trúc hệ thống lưu trữ dữ liệu SQL Server
1.1.1.1. Cấu trúc page và extent
Đơn vị lưu trữ dữ liệu cơ bản trong SQL Server là trang (page). Không
gian đĩa được cấp phát cho một tệp dữ liệu (.mdf hoặc .ndf) trong cơ sở dữ
liệu được chia thành các trang và được đánh số tuần tự từ 0 tới n. Các thao tác
vào/ra đĩa được thực hiện tại mức trang. Trong SQL Server, kích thước của
mỗi trang là 8 KB, do vậy cơ sở dữ liệu SQL Server có 128 trang cho mỗi
MB. Mỗi trang bắt đầu với 96 byte header được dùng để lưu thông tin hệ
thống về trang đó. Thông tin này bao gồm số trang, kiểu trang, số lượng
không gian trống trong trang đó và ID đơn vị cấp phát của đối tượng sở hữu
trang.
Đơn vị cơ bản trong quản lý không gian đó là extent. Một extent gồm 8
trang liên tiếp hoặc 64 KB. Nghĩa là các cơ sở dữ liệu SQL Server có 16
extent cho mỗi MB.
Để đảm bảo việc cấp phát không gian hiệu quả, SQL Server không cấp
phát toàn bộ extent cho các bảng có kích thước dữ liệu nhỏ. SQL Server có 2
kiểu extent:
• Các extent chuẩn được sở hữu bởi một đối tượng; tất cả 8 trang trong
extent đó chỉ được sử dụng bởi đối tượng sở hữu nó.
Lã Huyền Châm - Lớp AT3C 12
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
• Các extent hỗn hợp được chia sẻ lên tới 8 đối tượng; mỗi trang (trong
số tám trang) của extent đó có thể được sở hữu bởi mỗi đối tượng khác
nhau.
Thường thì một bảng mới hoặc một chỉ số mới được cấp phát các trang từ

extent hỗn hợp này. Khi kích thước của bảng hoặc chỉ số đó tăng lên đến 8
trang, thì khi đó sẽ chuyển sang sử dụng các extent chuẩn cho lần cấp phát
tiếp theo. Nếu tạo chỉ số trên một bảng đang tồn tại mà có đủ dòng để tạo 8
trang trong chỉ số đó thì tất cả việc cấp phát cho chỉ số đó là trong các extent
chuẩn.
Hình 1.1 Cấu trúc extent
1.1.1.2. Cấu trúc file và filegroup
SQL Server ánh xạ một cơ sở dữ liệu lên một tập tệp tin hệ điều hành.
Thông tin về dữ liệu (data) và nhật lý (log) không bao giờ được đặt trong
cùng một file, và các tệp này chỉ được sử dụng cho một cơ sở dữ liệu. Nhóm
tệp tin (filegroup) được đặt tên cho một tập các tệp tin và được dùng để hỗ trợ
cho quản trị và sắp đặt dữ liệu, ví dụ như các thao tác sao lưu và khôi phục dữ
liệu.
Cơ sở dữ liệu SQL Server có 3 kiểu tệp tin:
• Các tệp tin dữ liệu sơ cấp (Primary data files): Đây là điểm bắt đầu của
cơ sở dữ liệu đó và nó chỏ tới các tệp tin khác trong cơ sở dữ liệu.
Mọi cơ sở dữ liệu có một tệp dữ liệu sơ cấp. Phần mở rộng của tên tệp
thường là (.mdf).
Lã Huyền Châm - Lớp AT3C 13
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
• Các tệp tin dữ liệu thứ cấp (Secondary data files): Bao gồm tất cả các
tệp dữ liệu, ngoại trừ tệp dữ liệu sơ cấp. Một cơ sở dữ liệu có thể
không có, hoặc cũng có thể nhiều tệp dữ liệu thứ cấp. Phần mở rộng
của tên của tệp dữ liệu thứ cấp thường là (.ndf).
• Các tệp tin nhật ký (Log files): Lưu giữ tất cả thông tin nhật kýl, và
được sử dụng để khôi phục cơ sở dữ liệu. Mỗi cơ sở dữ liệu phải có ít
nhất một tệp log hoặc cũng có thể có nhiều hơn một tệp log. Phần mở
rộng của tên cho tệp log thường là (.ldf).
SQL Server không bắt buộc các phần mở rộng tên tệp là .mdf, .ndf, .ldf,
nhưng các phần mở rộng này giúp chúng ta dễ dàng nhận dạng và sử dụng các

tệp.
Trong SQL Server, vị trí của tất cả các tệp trong một cơ sở dữ liệu được
ghi trong tệp sơ cấp của cơ sở dữ liệu và trong cơ sở dữ liệu master. SQL
Server Database Engine thường xuyên sử dụng thông tin vị trí của tệp từ cơ
sở dữ liệu master.
Tuy nhiên, Database Engine sử dụng thông tin vị trí tệp từ tệp sơ cấp để
khởi tạo các lối vào lưu trữ tệp trong cơ sở dữ liệu master theo các tình huống
sau:
• Khi gắn kết (attaching) một cơ sở dữ liệu, sử dụng lệnh CREATE
DATABASE với tùy chọn FOR ATTACH hoặc FOR
ATTACH_REBUILD_LOG
• Khi nâng cấp từ SQL Server phiên bản 2000 hoặc phiên bản 7.0
• Khi khôi phục cơ sở dữ liệu master
Các tệp tin trong SQL Server có thể tự động tăng kích thước theo kích
thước được chỉ định ban đầu. Khi định nghĩa một tệp, chúng ta có thể xác
định một kích thước tăng. Mỗi khi tệp được ghi đầy thì nó tăng kích thước
của nó lên bằng kích thước tăng đã thiết lập. Đây là một đặc tính đặc biệt hữu
ích giúp người quản trị giảm gánh nặng công việc quản trị, giám sát không
gian trống và cấp phát không gian thêm vào cho cơ sở dữ liệu.
Lã Huyền Châm - Lớp AT3C 14
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
1.1.1.3. Cấu trúc nhật ký giao tác (transaction log)
Nhật ký giao tác trong SQL Server hoạt động logic ngay cả khi nhật ký
giao tác đó chỉ là một dãy các bản ghi nhật ký. Mỗi bản ghi nhật ký được xác
định bởi giá trị số tuần tự. Các bản ghi nhật ký được lưu trữ tuần tự theo như
thứ tự chúng được tạo ra. Mỗi bản ghi log chứa cả ID của giao tác đó. Đối với
mỗi giao tác, tất cả các bản ghi nhật ký được liên kết thành một chuỗi sử
dụng các con trỏ backward để có thể thực hiện nhanh việc rollback.
Khi thực hiện sửa đổi dữ liệu, các bản ghi nhật ký ghi lại thao tác logic
được thực hiện hoặc ghi lại các ảnh trước và sau khi dữ liệu được sửa đổi.

Ảnh trước là bản sao của dữ liệu trước khi thao tác được thực hiện, ảnh sau là
bản sao của dữ liệu sau khi thao tác thực hiện.
Các bước để khôi phục thao tác phụ thuộc vào kiểu bản ghi log:
• Hoạt động logic được ghi lại nhật ký dùng khi:
o Cuộn tới hoạt động logic phía trước.
o Cuộn tới hoạt động logic phía sau.
• Ảnh trước và ảnh sau được ghi lại nhật ký và dùng khi:
o Cuộn tới hoạt động phía trước, thì ảnh sau được áp dụng.
o Cuộn tới hoạt động phía sau, thì ảnh trước được áp dụng.
Một số kiểu hoạt động được ghi lại trong nhật ký giao tác, bao gồm:
• Điểm bắt đầu và kết thúc của mỗi giao tác.
• Mọi sự sửa đổi dữ liệu (insert, update, hoặc delete), bao gồm các thay
đổi do các thủ tục lưu trữ hệ thống (system stored procedure) hoặc các
câu lệnh định nghĩa dữ liệu (DDL - data definition language) cho bảng
bất kỳ (bao gồm cả bảng hệ thống).
• Mọi thao tác cấp phát hoặc giải phóng extent và trang.
• Tạo và xóa bảng hoặc chỉ số
Lã Huyền Châm - Lớp AT3C 15
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
1.1.1.4. Cấu trúc bảng và cấu trúc dữ liệu chỉ số
Một bảng được chứa trong một hoặc nhiều vùng (partition) và mỗi
partition chứa các dòng dữ liệu theo cấu trúc heap hoặc cấu trúc chỉ số được
bó cụm (clustered index). Các trang của heap và clustered index được quản lý
trong một hoặc nhiều đơn vị (unit) cấp phát, phụ thuộc vào kiểu cột trong
dòng dữ liệu đó.
Hình 1.2. Cách tổ chức của một bảng
Một partition là một đơn vị tổ chức dữ liệu được người dùng định nghĩa.
Mặc định, một bảng hoặc chỉ số chỉ có một partition và partition này chứa tất
cả các trang bảng hoặc chỉ số và nó được đặt trong một filegroup đơn lẻ. Khi
một bảng hoặc chỉ số sử dụng nhiều partition, thì dữ liệu được phân chia theo

chiều ngang bằng cách nhóm các dòng được ánh xạ vào trong các partition
riêng biệt, dựa vào cột được chỉ định. Các partition này có thể được đặt trong
một hoặc nhiều filegroup trong cơ sở dữ liệu.
Các bảng trong SQL Server sử dụng một trong hai phương pháp tổ chức
các trang dữ liệu trong một partition.
• Các bảng được bó cụm (clustered table) là các bảng có clustered index.
Lã Huyền Châm - Lớp AT3C 16
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
• Các dòng dữ liệu được lưu theo thứ tự dựa vào khóa clustered index đó.
Clustered index này được cài đặt là cấu trúc chỉ số B-tree, dùng để
việc truy xuất nhanh các dòng dựa vào giá trị khóa clustered index.
• Heap là các bảng không có clustered index. Các dòng dữ liệu không
được lưu trữ theo thứ tự cụ thể và không có sắp xếp thứ tự cho các
trong dữ liệu.
1.1.2. Giải pháp nhân bản dữ liệu trong SQL Server
SQL Server replication là tập các công nghệ để sao chép, phân phối dữ
liệu và các đối tượng cơ sở dữ liệu từ một cơ sở dữ liệu này tới cơ sở dữ liệu
khác, sau đó đồng bộ giữa các cơ sở dữ liệu này để duy trì tính nhất quán.
Việc nhân bản có thể được chia thành 2 trường hợp là:
• Nhân bản dữ liệu giữa server và các client. Hỗ trợ việc trao đổi dữ liệu
với người dùng di dộng, nơi các ứng dụng bán hàng và tích hợp dữ
liệu từ nhiều site.
• Nhân bản dữ liệu trong một server tới môi trường server: Hỗ trợ việc
cải tiến tính mở rộng, sẵn sàng, lưu trữ dữ liệu, lập báo cáo và tích hợp
dữ liệu từ nhiều site và từ nhiều nguồn dữ liệu khác nhau.
1.1.2.1. Thành phần trong mô hình nhân bản
Hình 1.3. Các thành phân cơ bản trong mô hình nhân bản
• Publisher: Là một thể hiện cơ sở dữ liệu, đảm bảo dữ liệu sẵn sàng
phục vụ cho các nơi khác thông qua nhân bản dữ liệu. Publisher có thể
Lã Huyền Châm - Lớp AT3C 17

Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
có 1 hoặc nhiều publication, mỗi publication sẽ định nghĩa một tập các
đối tượng có quan hệ logic và dữ liệu để nhân bản.
• Distributor: Là một thể hiện cơ sở dữ liệu, đóng vai trò như là nơi lưu
trữ cho dữ liệu nhân bản được gắn kết với một hoặc nhiều Publishers.
Mỗi Publisher được gắn kết với một cơ sở dữ liệu (đó là cơ sở dữ liệu
distribution) tại Distributor. Cơ sở dữ liệu distribution lưu dữ liệu
trạng thái nhân bản, siêu dữ liệu (metadata) về publication và trong
một số trường hợp đóng vai trò như là hàng đợi để dữ liệu di chuyển
từ Publisher đến các Subcriber. Trong một số trường hợp, một thể
hiện dịch vụ cơ sở dữ liệu có thể đóng vai trò vừa là Publisher và
Distributor, khi đó Distributor được gọi là Distributor cục bộ (local
Distributor). Khi Publisher và Distributor được cấu hình trên các thể
hiện dịch vụ cơ sở dữ liệu khác nhau thì khi đó Distributor được gọi là
Distributor từ xa (remote Distributor).
• Subcribers: Là một thể hiện cơ sở dữ liệu, thực hiện nhận dữ liệu nhân
bản. Một Subcriber có thể nhận dữ liệu từ nhiều Publishers và
Publications. Phụ thuộc vào các kiểu nhân bản được chọn mà
Subcriber có thể đưa các thay đổi dữ liệu tới Publisher hoặc tạo bản
sao dữ liệu đó chuyển tới Subcriber khác.
• Article: Một article xác định một đối tượng cơ sở dữ liệu và nó được
chứa trong một publication. Một publication có thể bao gồm các loại
article khác nhau như bảng, views, thủ tục lưu trữ và các đối tượng
khác. Khi bảng được công bố là article, thì các bộ lọc có thể được sử
dụng để hạn chế các cột, dòng của dữ liệu được gửi sang cho
Subcriber.
• Publication: Là một tập của một hoặc nhiều các article từ cơ sở dữ liệu.
Việc nhóm nhiều article vào trong một publication sẽ làm đơn giản
hóa việc xác định tập các đối tượng cơ sở dữ liệu có quan hệ và dữ
liệu được nhân bản.

• Subcription: Là một yêu cầu sao chép một publication để phân phát tới
Subcriber. Subcription định nghĩa những gì mà publication sẽ được
nhận, được nhận tại đâu và nhận khi nào. Có hai kiếu subcription:
Lã Huyền Châm - Lớp AT3C 18
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
o Push subcription: Publisher sẽ truyền các thay đổi tới Subcriber
mà không có một yêu cầu nào từ Subcriber. Các thay đổi được
truyền về Subcriber theo nhu cầu, liên tục hoặc đã được lập lịch.
o Pull subcription: Subcriber yêu cầu các thay đổi trên Publisher.
Pull Subcription cho phép người dùng xác định khi nào các thay
đổi dữ liệu được đồng bộ.
1.1.2.2. Phương pháp nhân bản
Microsoft SQL Server cung cấp ba phương pháp nhân bản:
• Phương pháp nhân bản Snapshot (Snapshot replication):
Phương pháp nhân bản này phân phối dữ liệu một cách chính xác như nó
hiện diện tại thời điểm xác định và không giám sát các cập nhật tới dữ liệu.
Đây là một giải pháp rất hiệu quả đối với việc nhân bản những dữ liệu ít bị
thay đổi. Khi sự đồng bộ hoá xảy ra, toàn bộ snapshot được sinh ra và gửi tới
Subscribers.
Quá trình nhân bản snapshot được mô tả trong hình sau:
Hình 1.4: Mô hình nhân bản Snapshot
Nhân bản snapshot được thực hiện bởi Snapshot Agent và Distribution
Agent. Snapshot Agent chuẩn bị các file chứa sơ đồ và dữ liệu của các bảng
và đối tượng cơ sở dữ liệu cần công bố, lưu trữ các file này trong thư mục
snapshot và ghi lại các công việc đồng bộ hoá trong cơ sở dữ liệu phân phối
trên Distributor. Ngầm định, thư mục snapshot được đặt trên Distributor,
Lã Huyền Châm - Lớp AT3C 19
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
nhưng chúng ta có thể thiết lập lại. Distribution Agent chuyển snapshot trong
các bảng cơ sở dữ liệu phân phối tới các bảng đích ở tại Subscribers.

• Phương pháp nhân bản giao tác (Transactional replication):
Với kiểu nhân bản này snapshot ban đầu được áp dụng tại Subscribers và
sau đó khi các thay đổi dữ liệu xảy ra tại Publisher thì các giao tác được lấy
về và thực thi tại Subscribers. Quá trình nhân bản này được mô tả trong hình
sau:
Hình 1.5. Mô hình nhân bản Transaction
Nhân bản giao tác được thực hiện bởi Snapshot Agent, Log Reader Agent,
and Distribution Agent. Snapshot Agent chuẩn bị các file chứa sơ đồ và dữ
liệu của các bảng và đối tượng cơ sở dữ liệu cần công bố, lưu trữ các file này
trong thư mục snapshot và ghi lại các công việc đồng bộ hoá trong cơ sở dữ
liệu phân phối trên Distributor. Log Reader Agent giám sát nhật ký giao tác
của từng cơ sở dữ liệu được cấu hình cho phương pháp này và sao chép các
giao tác được đánh dấu cho việc nhân bản từ nhật ký giao tác tới cơ sở dữ liệu
phân phối. Distribution Agent chuyển các công việc snapshot ban đầu và các
giao tác được lưu trong các bảng cơ sở dữ liệu phân phối tới Subscribers.
Lã Huyền Châm - Lớp AT3C 20
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
• Phương pháp nhân bản Merge (Merge replication):
Kiểu nhân bản kết hợp này là quá trình phân phối dữ liệu từ Publisher tới
Subscribers, cho phép Publisher và Subscribers thực hiện các cập nhật khi kết
nối hoặc không có kết nối và sau đó hợp nhất các kết nối site khi chúng được
kết nối với nhau. Quá trình nhân bản này được mô tả trong hình sau:
Hình 1.6. Mô hình nhân bản Merge
Merge replication được thực hiện bởi Snapshot Agent và Merge Agent.
Snapshot Agent chuẩn bị các file chứa sơ đồ và dữ liệu của các bảng và đối
tượng cơ sở dữ liệu cần công bố, lưu trữ các file này trong thư mục snapshot,
và chèn các thao tác đồng bộ hoá trong cơ sở dữ liệu công bố (publication).
Snapshot Agent cũng tạo ra các thủ tục lưu trữ, các trigger và các bảng hệ
thống dành cho nhân bản. Merge Agent áp dụng các thao tác snapshot ban
đầu được lưu trong các bảng cơ sở dữ liệu công bố đối với Subscriber. Nó

cũng hợp nhất các thay đổi dữ liệu mà xảy ra tại Publisher và Subscribers sau
khi snapshot ban đầu được tạo và làm tương thích các xung đột dựa trên các
quy tắc mà ta cấu hình. Vai trò của Distributor trong phương pháp nhân bản
Lã Huyền Châm - Lớp AT3C 21
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
này là rất hạn chế, vì vậy việc sử dụng Distributor cục bộ (trên cùng một
server với Publisher) là tối ưu nhất. Distribution Agent không được sử dụng
trong toàn bộ quá trình nhân bản và cơ sở dữ liệu phân phối trên Distributor
chỉ chứa các thông tin về quá trình nhân bản.
1.2. KIẾN TRÚC AN NINH AN TOÀN TRONG HỆ QUẢN TRỊ CƠ SỞ
DỮ LIỆU MICROSOFT SQL
1.2.1. Cấu trúc hệ thống bảo vệ
Cấu trúc hệ thống bảo vệ của Microsoft SQL Server dựa trên những người
sử dụng (users) và các nhóm người sử dụng (groups of users). Mô hình sau
cho thấy người sử dụng và các nhóm người sử dụng trong Microsoft
Windows NT 4.0 và Windows 2000 có thể ánh xạ tới các tài khoản bí mật
trong Microsoft SQL Server như thế nào và Microsoft SQL Server có thể
quản lý các tài khoản bí mật một cách độc lập đối với các tài khoản trong
Microsoft Windows NT4.0 và Windows 2000 như thế nào.
Nhóm local CORPUSERS có hai người sử dụng và một nhóm global
Mktg, nhóm này có hai người sử dụng, SQL Server cho phép các nhóm local
và global của Windows NT 4.0 và Windows 2000 được sử dụng trực tiếp để
thiết lập nên các tài khoản người sử dụng của SQL Server. Hơn nữa người sử
dụng Windows NT 4.0 là Fred và Jerry, mà không thuộc một nhóm người sử
dụng nào trong Windows NT 4.0, được thêm vào SQL Server hoặc trực tiếp
như là người sử dụng Windows NT 4.0 (ví dụ Fred) hoặc như là người sử
dụng của SQL Server (như Jerry).
SQL Server mở rộng mô hình này cùng với việc sử dụng các role. Các
role là các nhóm người sử dụng được tổ chức cho mục đích quản trị, tương tự
như các nhóm của Windows NT 4.0 hoặc Windows 2000, nhưng các role này

không được tạo trong SQL khi mà các nhóm tương ứng của Windows NT 4.0
hoặc Windows 2000 chưa tồn tại. Ví dụ, role Managers chứa nhóm global
Mktg của Windows NT 4.0 và những người sử dụng của Windows NT 4.0 là
Frank và Fred.
Lã Huyền Châm - Lớp AT3C 22
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
SQL Server cũng cung cấp khả năng bảo vệ ở mức ứng dụng thông qua
việc sử dụng các role ứng dụng cơ sở dữ liệu cá nhân (database application
role).
1.2.2. Các mức bảo vệ
Để làm việc với Microsoft SQL Server người sử dụng phải vượt qua được
hai giai đoạn bảo vệ xác thực và quyền hạn được cấp.
• Giai đoạn xác thực: xác định người sử dụng bằng tài khoản đăng nhập
và chỉ kiểm tra khả năng kết nối tới Microsoft SQL Server của người sử
dụng. Nếu quá trình xác thực thành công, người sử dụng kết nối tới
Microsoft SQL Server.
• Giai đoạn kiểm tra quyền: sau khi kết nối tới Microsoft SQL Server,
người sử dụng cần các quyền hạn truy nhập tới cơ sở dữ liệu, mà được
thực hiện bởi việc gán quyền truy nhập tới tài khoản người sử dụng
trong mỗi cơ sở dữ liệu, được ánh xạ tới việc đăng nhập của người sử
dụng. Giai đoạn này kiểm soát các thao tác của người sử dụng được
cho phép thực hiện trên cơ sở dữ liệu SQL Server.
Các chế độ xác thực:
Microsoft SQL Server có thể thực hiện hai chế độ xác thực:
• Chế độ xác thực của Windows (Windows Authentication).
Chế độ xác thực của Windows cho phép người sử dụng kết nối thông qua
tài khoản người sử dụng của Microsoft Windows NT 4.0 hoặc Windows
2000. Khi người sử dụng kết nối thông qua tài khoản người sử dụng của
Microsoft Windows NT 4.0 hoặc Windows 2000, SQL Server xác nhận lại
tên tài khoản và mật khẩu của người sử dụng này bằng cách gọi ngược lại tới

Windows NT 4.0 hoặc Windows 2000.
• Chế độ xác thực hỗn hợp – Mixed Mode (Windows Authentication
và SQL Server Authentication)
Chế độ này cho phép người sử dụng kết nối tới SQL Server sử dụng hoặc
chế độ xác thực của Windows hoặc chế độ xác thực của SQL Server. Những
người sử dụng mà kết nối thông qua tài khoản của Windows có thể thiết lập
được các kết nối an toàn hoặc trong chế độ xác thực của Windows hoặc trong
chế độ xác thực hỗn hợp.
Lã Huyền Châm - Lớp AT3C 23
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
Khi người sử dụng kết nối với tên đăng nhập và mật khẩu được xác định
từ kết nối không an toàn, SQL Server thực hiện việc xác thực của riêng mình
bằng cách kiểm tra xem tài khoản đăng nhập SQL Server đã được thiết lập
chưa và mật khẩu đã được xác định trùng với mật khẩu đã được ghi lại trước
đó hay không. Nếu SQL Server không có tập hợp tài khoản đăng nhập, quá
trình xác thực không thành công và người sử dụng sẽ nhận được thông báo
lỗi.
Chế độ xác thực SQL Server được cung cấp để tương thích với các ứng
dụng được viết cho SQL Server phiên bản 7.0 hoặc trước đó mà có thể đòi hỏi
việc sử dụng các tài khoản đăng nhập SQL Server và các mật khẩu. Hơn nữa
chế độ xác thực SQL Server cần thiết khi SQL Server chạy trên Windows 98
vì chế độ xác thực của Windows không hỗ trợ trên Windows 98. Như vậy,
SQL Server sử dụng chế độ xác thực hỗn hợp trên Windows 98 (nhưng chỉ hỗ
trợ chế độ xác thực của SQL Server).
Kiểm tra quyền truy cập:
Sau khi người sử dụng đã được xác thực và được phép đăng nhập vào
Microsoft SQL Server, một tài khoản độc lập của người sử dụng được yêu cầu
cho mỗi cơ sở dữ liệu mà người sử dụng cần phải truy nhập. Việc yêu cầu tài
khoản người sử dụng trong mỗi cơ sở dữ liệu nhằm ngăn chặn người sử dụng
kết nối tới SQL Server và truy nhập vào tất cả các cơ sở dữ liệu trên server.

Ví dụ, nếu server chứa cơ sở dữ liệu personnel và cơ sở dữ liệu recruiting,
người sử dụng có thể truy nhập vào cơ sở dữ liệu recruiting nhưng không
được truy nhập vào cơ sở dữ liệu personnel, sẽ có tài khoản được tạo ra chỉ ở
trong cơ sở dữ liệu recruiting.
Tài khoản người sử dụng được dùng để áp dụng cơ chế phân quyền đối
với các đối tượng (ví dụ, các bảng, các view và các store procedure) trong cơ
sở dữ liệu này. Tài khoản người sử dụng này có thể được ánh xạ từ các tài
khoản người sử dụng Microsoft Windows NT 4.0 hoặc Windows 2000, các
nhóm người sử dụng Windows NT 4.0 hoặc Windows 2000 trong đó người sử
dụng là thành viên hoặc các tài khoản đăng nhập của SQL Server. Nếu không
có tài khoản được ánh xạ trực tiếp, người sử dụng có thể được phép làm việc
trong cơ sở dữ liệu dưới tài khoản guest, nếu tài khoản này tồn tại. Các thao
Lã Huyền Châm - Lớp AT3C 24
Nghiên cứu tìm hiểu một số dạng tấn công SQL Injection vào hệ quản trị CSDL Microsoft SQL Server
tác mà người sử dụng được phép thực hiện được kiểm soát bởi các quyền cấp
cho tài khoản người sử dụng mà từ tài khoản này người sử dụng có được truy
nhập tới cơ sở dữ liệu.
SQL Server nhận các lệnh từ người sử dụng có quyền truy nhập tới cơ sở
dữ liệu. Tất cả các thao tác người sử dụng thực hiện trong cơ sở dữ liệu được
truyền tới SQL Server thông qua các câu lệnh Transact-SQL. Khi SQL Server
nhận được câu lệnh Transact-SQL, nó đảm bảo người sử dụng có quyền thực
hiện câu lệnh trong cơ sở dữ liệu. Nếu người sử dụng không có quyền thực
hiện câu lệnh hoặc quyền truy nhập đối tượng được sử dụng bởi câu lệnh,
SQL Server trả về lỗi phân quyền.
1.3. MÃ HÓA CƠ SỞ DỮ LIỆU TRONG MICROSOFT SQL
1.3.1. Mã hóa dữ liệu trong suốt (TDE – Transparent Data Encrryption)
Mã hóa dữ liệu trong suốt (TDE – Transparent Data Encryption) được sử
dụng để mã hóa và giải mã các tệp dữ liệu và tệp nhật ký (log). Phép mã hóa
sử dụng khóa mã cơ sở dữ liệu (DEK – Database Encryption Key), khóa này
được lưu trong bản ghi khởi động cơ sở dữ liệu (database boot record) để

cung cấp khả năng sẵn sàng trong quá trình khôi phục. Khóa này là khóa phi
đối xứng, được an toàn bởi một chứng chỉ được lưu trong cơ sở dữ liệu
master. TDE là một công nghệ được sử dụng để giải quyết các vấn đề an toàn
trên thiết bị lưu dữ liệu bằng cách mã hóa các cơ sở dữ liệu trên đĩa cứng và
trên thiết bị sao lưu. Microsoft SQL Server 2008 áp dụng công nghệ này để
mã hóa nội dung cơ sở dữ liệu. TDE mã hóa dữ liệu trước khi dữ liệu được
ghi ra đĩa và giải mã dữ liệu trước khi dữ liệu được trả về cho ứng dụng. Quá
trình mã hóa, giải mã được thực hiện tại lớp SQL, hoàn toàn trong suốt với
ứng dụng và người dùng.
TDE được sử dụng để ngăn cặn việc truy cập bất hợp pháp tới cơ sở dữ
liệu bí mật, làm giảm chi phí quản lý người dùng, và thuận tiện trong việc
quản lý tính bí mật. Ngày nay TDE có thể là lựa chọn tốt nhất để mã hóa đặc
biệt khi dữ liệu có kích thước lớn, đáp ứng yêu cầu điều chỉnh hoặc các chuẩn
an toàn dữ liệu.
TDE có ba lợi ích quan trọng:
Lã Huyền Châm - Lớp AT3C 25

×