Tải bản đầy đủ (.docx) (33 trang)

AN TOÀN cơ sở dữ LIỆU tìm HIỂU KIỂM TOÁN CSDL và THỰC HIỆN TRÊN ORACLE 2

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 (720.79 KB, 33 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TỒN THƠNG TIN
------

AN TỒN CƠ SỞ DỮ LIỆU
TÌM HIỂU KIỂM TỐN CSDL VÀ THỰC HIỆN TRÊN ORACLE

Ngành: An tồn thơng tin
Mã số: ATCTHT10
Giảng Viên: TS. Trần Thị Lượng
Nhóm sinh viên thực hiện: Nhóm 08
Vũ Thị Dịu: AT140408
Nguyễn Thị Lan: AT140221
Bùi Thị Thư Thư: AT140741
Trần Thị Ngân: AT140431

Hà Nội, tháng 12/2020

download by :


MỤC LỤC
DANH MỤC TỪ VIẾT TẮT.........................................................................
DANH MỤC HÌNH VẼ.................................................................................
LỜI NĨI ĐẦU...............................................................................................
CHƯƠNG 1.TỔNG QUAN VỀ KIỂM TOÁN CSDL..................................
1.1

KHÁI NIỆM KIỂM TOÁN..............................................

1.2



MỘT SỐ ĐỊNH NGHĨA CHUNG TRONG KIỂM TỐN

1.3

MỤC ĐÍCH VÀ VAI TRỊ CỦA KIỂM TỐN................

1.3.1

Mục đích.....................................

1.3.2

Vai trị.........................................

1.4

MỘT SỐ LƯU Ý TRONG KIỂM TOÁN.........................

CHƯƠNG 2.KỸ THUẬT KIỂM TOÁN CSDL TRONG ORACLE........
2.1

GIỚI THIỆU VỀ KIỂM TOÁN TRONG ORACLE.........

2.2

CÁC CƠ CHẾ KIỂM TOÁN CSDL................................

2.3


CÁC PHƯƠNG PHÁP KIỂM TỐN TRONG ORACLE

2.3.1

Kiểm tốn bằng application serv

2.3.2

Kiểm tốn bằng trigger...............

2.3.3

Kiểm tốn bằng câu lệnh............

2.4

DANH MỤC KIỂM TỐN CSDL...................................

2.4.1

Kiểm toán đăng nhập/đăng xuất

2.4.2

Kiểm toán nguồn sử dụng cơ sở

2.4.3

Kiểm toán hoạt động câu lệnh D


2.4.4

Kiểm toán hoạt động câu lệnh D

2.4.5

Kiểm tốn sử dụng CSDL ngồi
2

download by :


2.4.6 Kiểm toán lỗi CSDL...........................................................................2
2.4.7 Một số loại kiểm toán CSDL khác..................................................... 2
CHƯƠNG 3: THỰC NGHIỆM MỘT SỐ KỸ THUẬT KIỂM TỐN CSDL

TRONG ORACLE........................................................................................ 2
3.1

KỊCH BẢN THỰC NGHIỆM................................................................2

3.1.1 Kiểm tốn đăng nhập, đăng xuất........................................................2
3.1.2 Kiểm toán câu lệnh DDL....................................................................2
3.1.3 Kiểm toán câu lệnh DML...................................................................2
3.1.4 Kiểm tra lỗi trong CSDL....................................................................2
3.2

Đánh giá kết quả thực nghiệm..............................................................2

KẾT LUẬN................................................................................................... 2

TÀI LIỆU THAM KHẢO.............................................................................2

3

download by :


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

4

download by :


DANH MỤC HÌNH VẼ

Hình 2-1: Khóa tài khoản sử dụng một cảnh báo và thủ tục CSDL......................2
Hình 2-2: Một dịng cơ sở truy cập CSDL............................................................2
Hình 3-1: User1 và User2 sau khi được gán quyền thành cơng............................2
Hình 3-2: Bảng lưu kết quả kiểm tốn..................................................................2
Hình 3-3: Ttrigger kiểm tốn đăng nhập tạo thành cơng.......................................2
Hình 3-4: Trigger kiểm tốn đăng xuất tạo thành cơng.........................................2
Hình 3-5: Thực hiện hành động đăng nhập, đăng xuất với 2 user........................2
Hình 3-6: Kết quả kiểm tốn sau khi thực hiện đăng nhập, đăng xuất.................2
Hình 3-7: Bảng ddl_audit lưu kết quả kiểm tốn..................................................2
Hình 3-8: Trigger kiểm tốn hoạt động câu lệnh DDL tạo thành cơng.................2
Hình 3-9: Thực hiện một số câu lệnh create, alter................................................ 2

5


download by :


LỜI NÓI ĐẦU
Với nhiều tổ chức, cơ sở dữ liệu (CSDL) là nơi chứa tồn bộ thơng tin
bao gồm cả những thơng tin nhạy cảm, bí mật. Đây là một trong những mục
tiêu mà các tin tăc thường xuyên nhắm tới. Bất kì sự mất mát nào liên quan
đến cơ sở dữ liệu cũng sẽ gây ra những tổn thất nặng nề, nó quyết định đến sự
thành bại của một tổ chức.
Vì thế, bất kỳ hoạt động nào liên quan đến CSDL phải được ghi lại, đặc
biệt các câu truy vấn có liên quan đến dữ liệu nhạy cảm, cáo giao dịch bất
thường nhằm đảm tính bảo mật, an tồn và sẵn sàng của thông tin. Một trong
những phương pháp giúp quản trị viên theo dõi, đảm bảo an toàn cho cơ sở dữ
liệu hiệu quả là kiểm toán. Đây được coi như hàng rào cuối cùng để bảo vệ
cuối cùng cho cơ sở dữ liệu khỏi sự xâm phạm bất hợp pháp.
Xuất phát từ thực tế đó, nhóm chúng em đã chọn đề tài “ Tìm hiểu về
kiểm tốn cơ sở dữ liệu và thực hiện trên Oracle”. Mục đích của đề tài tìm
hiểu mục đích cũng như vai trị của việc kiểm tốn, cũng như các cơ chế,
phương pháp và các loại kiểm toán cơ sở dữ liệu và tiến hành thực nghiêm
trên hệ quản trị cơ sở dữ liệu Oracle.
Báo cáo bao gồm 3 chương như sau:
Chương 1: Tổng quan về kiểm toán CSDL
Chương 2: Kỹ thuật kiểm toán CSDL trong Oracle
Chương 3: Thực nghiệm một số kỹ thuật kiểm toán CSDL trên Oracle

6

download by :



Do thời gian thực hiện đề tài còn nhiều hạn chế, báo cáo của nhóm khơng
thể những sai sót trong quá trình thực hiện. Chúng em rất mong nhận được sự
góp ý chân thành của cơ để đề tài được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn!
CHƯƠNG 1 TỔNG QUAN VỀ KIỂM TOÁN CSDL
1.1 KHÁI NIỆM KIỂM TOÁN
Kiểm tốn (auditing) được hiểu là tồn bộ các hoạt động giám sát và ghi
lại những gì xảy ra đối với hệ thống công nghệ thông tin. Các thông tin được
ghi lại có thể là những thay đổi về trạng thái hoạt động của hệ thống hay các
tương tác qua lại giữa hệ thống và người dùng.
Nó có thể dựa trên các hành động cá nhân, chẳng hạn như kiểu câu lệnh
SQL được thực thi hoặc dựa trên sự kết hợp của các yếu tố có thể bao gồm tên
người dùng, ứng dụng, thời gian,...
Dựa trên những bản ghi kiểm toán, quản trị viên cơ sở dữ liệu (DBA) sẽ
phát hiện kịp thời những tấn công hay lỗ hổng ảnh hưởng đến cơ sở dữ liệu, từ
đó ngăn chặn hành vi phá hoại hay xâm phạm của tin tặc, nhanh chóng sửa đổi
những bất thường của hệ thống.
1.2 MỘT SỐ ĐỊNH NGHĨA CHUNG TRONG KIỂM TOÁN CSDL
KIỂM TOÁN CSDL (Database Auditing): là việc theo dõi và ghi lại các
hành động của người dùng thực hiện trên CSDL. Người quản trị CSDL thường
cài đặt tính năng kiểm tốn vì mục đích an tồn, nhằm đảm bảo những người
khơng có thẩm quyền khơng được phép truy cập vào dữ liệu.
NHẬT KÝ KIỂM TOÁN (Audit Log) : là tài liệu chứa tất cả các hoạt
động đang được kiểm toán và được sắp xếp theo thứ tự thời gian.
KIỂM TOÁN VIÊN (Auditor): là người được phép thực hiện cơng việc
kiểm tốn.
7

download by :



THỦ TỤC KIỂM TOÁN (Audit Procedure): là tập hợp các câu lệnh của
tiến trình kiểm tốn.
BÁO CÁO KIỂM TỐN (Audit Report): là tài liệu chứa q trình tìm
kiếm kiểm tốn, ghi lại các kết quả kiếm toán đạt được.
BẢN GHI KIỂM TỐN (Audit Record): bao gồm thơng tin về các hoạt
động đã được kiểm toán, người sử dụng thực hiện các hoạt động, ngày giờ và
thời gian hoạt động.
VẾT KIỂM TOÁN (Audit Trail): là bản ghi lưu lại sự thay đổi tài liệu,
thay đổi dữ liệu những hoạt động hệ thống hoặc những sự kiện thao tác.
DỮ LIỆU KIỂM TOÁN (Audit Data): là bản ghi theo thời gian của dữ
liệu thay đổi được lưu trữ trong tập tin log hoặc đối tượng bảng CSDL.
KIỂM TOÁN NỘI BỘ (Internal Auditing): là kiểm toán thực hiện kiểm
tra những hoạt động được quản lý bởi thành viên có quyền của tổ chức kiểm
tốn.
KIỂM TỐN MỞ RỘNG (External Auditing): là kiểm tốn thực hiện
kiểm tra, xác minh tính hợp lệ của tài liệu, tiến trình, thủ tục, hoặc các hoạt
động được quản lý bởi thành viên có quyền bên ngồi tổ chức đang được kiểm
tốn.
1.3 MỤC ĐÍCH VÀ VAI TRỊ CỦA KIỂM TỐN
1.3.1 Mục đích
Mục đích của kiếm tốn là xem xét, đánh giá tính sẵn sàng, an tồn
và chính xác thơng qua việc trả lời những câu hỏi như:
Hệ thống máy tính có sẵn sàng cho mọi hoạt động tại mọi thời
điểm hay khơng?.
Việc truy cập dữ liệu chỉ dành cho người có thẩm quyền hay
không?.
8

download by :



CSDL có cung cấp thơng tin chính xác, trung thực, kịp thời hay
chưa?.
1.3.2 Vai trị
Vai trị của kiểm tốn được xem là một phần của chính sách an tồn:


Theo dõi các hành động hiện tại trong một lược đồ, bảng, hàng,
cột hoặc một nội dung dữ liệu cụ thể.



Giám sát hoạt động CSDL như phát hiện người sử dụng bất hợp
pháp đang thao tác hoặc sửa đổi với CSDL. Thông báo nếu có
người dùng khơng được ủy quyền nhưng lại thao tác trên dữ liệu
mà địi hỏi phải có đủ quyền truy cập.



Điều tra hoạt động đáng ngờ: Chẳng hạn, nếu một người dùng trái
phép thực hiện hành động xóa dữ liệu từ bảng nào đó, thì các
DBA có thể kiếm tốn tất cả các kết nối CSDL, việc xóa bỏ thành
công và không thành công của các bảng trong CSDL để có thể
phát hiện ra hành vi trên.



Theo dõi và thu thập dữ liệu về các hoạt động CSDL cụ thể.
Chẳng hạn, DBA có thể thu thập số liệu thống kê về những bảng

đang được cập nhật, hoặc làm thế nào nhiều người dùng đồng
thời kết nối trong thời gian cao điểm.Từ đó, có những biện pháp
để cải thiện hiệu suất.



Kiểm toán để thỏa mãn các yêu cầu pháp lý: thể hiện trách nhiệm
với dữ liệu của khách hàng. Kết quả của q trình kiểm tốn là sự
bắt buộc người dùng phải có trách nhiệm về hành động mà họ
thực hiện, bằng cách theo dõi hành vi của họ.

9

download by :


1.4 MỘT SỐ LƯU Ý TRONG KIỂM TỐN
Kiểm tốn tại mọi thời điểm từ khi hệ thống bắt đầu hoạt động.Nên sử
dụng kết hợp kiểm toán bên trong và kiểm tốn bên ngồi.
Kiểm tốn một cách có chọn lọc những gì cần thiết, bởi việc kiểm tốn có
thể làm giảm hiệu suất của hệ thống.
Những hoạt động cần phải kiếm tốn:


Hoạt động của những người dùng có quyền.



Đăng nhập và đăng xuất.




Những thay đổi trong application trigger và data trigger.



Thay đổi quyền và thay đổi thông tin người dùng.



Cấu trúc dữ liệu bị thay đổi.



Các truy cập đọc và ghi trên những dữ liệu nhạy cảm.



Những lỗi và ngoại lệ…

Thông tin nhật ký kiểm toán cần được lưu trữ và bảo mật.Ngồi ra, nên tự
động hóa và giám sát hoạt động kiểm toán.

10

download by :


2


CHƯƠNG 2 KỸ THUẬT KIỂM TOÁN CSDL TRONG ORACLE

2.1 GIỚI THIỆU VỀ KIỂM TỐN TRONG ORACLE
Oracle kiểm tốn các người dùng:
Kiểm tốn các truy cập thành cơng hoặc khơng thành cơng.
Kiểm tốn 1 người dùng, 1 nhóm người dùng hoặc tất cả các
người dùng.
Kiểm toán ở cấp phiên làm việc (session level) hoặc cấp truy cập
(access level).
Kiểm toán sẽ làm giảm hiệu suất của hệ thống. Chỉ nên kiểm toán
những gì cần thiết.Dữ liệu kiểm tốn nên được ghi trên file của hệ
điều hành (OS) để tiết kiếm tài nguyên của CSDL.
u cầu của kiểm tốn trong CSDL


Có khả năng hoạt động độc lập, cho phép theo dõi và ghi nhận lại tất
cả các hoạt động trong hệ thống kể cả những hoạt động của người
quản trị hệ thống.



Có khả năng lưu trữ audit log một cách an toàn bên ngồi CSDL.



Có khả năng thu thập và kết hợp các hoat động xảy ra ở nhiều loại
DBMS (Database management systems) khác nhau. Không phụ
thuộc vào DBMS và cú pháp câu lệnh SQL ứng với mỗi DBMS.




Có khả năng ngăn chặn người quản trị hệ thống chỉnh sửa hoặc xóa
dữ liệu trong audit log.
11

download by :




Có khả năng đưa ra những cảnh báo kịp thời cho người quản trị hệ
thống khi có những bất thường xảy ra trong hệ thống.

2.2 CÁC CƠ CHẾ KIỂM TOÁN CSDL
Có 5 cơ chế kiểm tốn cơ bản trong CSDL bao gồm:
Kiểm toán bắt buộc (Mandatory Auditing): Là các hoạt động kiểm
tốn mặc định. Dù CSDL kiểm tốn có được kích hoạt hay khơng, thì
hệ thống vẫn kiểm tra một số hoạt động liên quan đến CSDL và ghi
chúng vào tập tin vận hành hệ thống kiểm toán.
Kiểm toán chuẩn (Standard Database Auditing): là cơ sở kiểm sốt
tồn diện và đầy đủ nhất trong cơ sở dữ liệu Oracle. Nó cho phép kiểm
soát hành động (Action), loại hành động, đối tượng, đặc quyền
(Privilege), user truy cập…
Có 2 giai đoạn liên quan đến sử dụng Standard Audit.
Kích hoạt cơ chế kiểm soát (Audit).
Xác định các chuyên mục (category) cần kiểm soát, tức là xác
định các hành động nào sẽ được ghi lại dấu vết (Tạo ra Audit
Trail).
Kiểm toán dựa trên giá trị (Value-based Auditing): Là cơ chế
kiểm toán dựa trên kiểm tốn chuẩn, tuy nhiên nó cịn kiểm tốn dựa

trên giá trị thực tế đã được đưa vào, cập nhật, hoặc bị xóa.
Kiểm tốn mịn (Fine-grained auditing- FGA): cơ chế này được
mở rộng từ kiểm toán chuẩn, ghi lại các câu lệnh SQL đã được thực
hiện thay vì chỉ những sự kiện đã xảy ra.

12

download by :


Kiểm toán DBA: là cơ chế thực hiện kiểm toán riêng cho các
DBA.

2.3 CÁC PHƯƠNG PHÁP KIỂM TOÁN TRONG ORACLE
2.3.1 Kiểm toán bằng application server log
Nhật ký truy cập trên application server hay web server là dạng kiểm
tốn cơ bản.
Có nhiều thông tin chứa trong các tập tin nhật ký: các tài nguyên
được truy cập, ai đã truy cập, khi nào, như thế nào (thành cơng, thất
bại...).
Dạng audit này có ích cho việc phát hiện những hành vi đáng nghi
ngờ, (ví dụ tấn cơng DoS).
Nhược điểm: thơng tin khơng trực tiếp (chỉ có IP address mà khơng
biết user nào, có URL mà khơng biết chương trình nào).
2.3.2 Kiểm tốn bằng trigger
Trigger được tự động thực thi khi có các sự kiện hệ thống xảy ra.Chẳng
hạn như :
Khởi động hoặc tắt CSDL
Đăng nhập hoặc đăng xuất
Tạo, chỉnh sửa hoặc xóa các đối tượng của lược đồ

Trigger CSDL: Trigger trên các câu lện Update, Delete, Insert

Các trigger CSDL có thể ghi lại các thay đổi ở cấp hàng và cột của bảng
dữ liệu
Các truy cập đọc (SELECT) không thể được ghi lại bằng các trigger
CSDL thông thường
13

download by :


Dùng để ghi nhận và theo dõi các hành vi trong phạm vi cơ sở dữ liệu,
dùng các database trigger, cụ thể là DML trigger.
Mang tính trong suốt, thực hiện auditing mà không cần thực hiện trên ứng
dụng.
Thực hiện: Tạo bảng phụ lưu dữ liệu của quá trình audit. Trigger gọi thủ
tục ghi nhận lại dữ liệu vào bảng trên.
2.3.3 Kiểm tốn bằng câu lệnh
Dùng câu lệnh AUDIT
Có thể kiểm toán tất cả các quyền gán cho người dùng hoặc role trong
CSDL
Bao gồm: các truy cập đọc, ghi và xóa trên các bảng dữ liệu
Audit
{statement_option | privilege_option} [by user]
[by {session|access}]
[whenever {successful | unsuccessful}]
Trong đó, statement_option và privilege_option là phần bắt buộc, và các
phần khác thì khơng bắt buộc.
2.4 DANH MỤC KIỂM TỐN CSDL
2.4.1 Kiểm tốn đăng nhập/đăng xuất CSDL

Đây là loại kiểm toán đầu tiên được yêu cầu trong hầu hêt các mơi
trường nhằm tạo vết kiểm tốn đầy đủ xem bất kỳ ai đã đăng nhập/đăng
xuất vào CSDL. Quá trình này ghi lại hai sự kiện: một sự kiện cho việc
đăng nhập và một sự kiện cho lần đăng xuất. Đối với mỗi sự kiện như
vậy, DBA cần phải lưu ít nhất hai tham số là tên đăng nhập và thời gian
đăng nhập/đăng xuất. Ngồi ra, có thể lưu thêm một số thông tin bổ sung
bao gồm: địa chỉ IP của máy khởi tạo kết nối và chương trình được sử
dụng để bắt đầu kết nối.
14

download by :


Ngoài hai sự kiện trên, DBA cũng cần ghi lại tất cả các lần đăng
nhập thất bại. Trên thực tế, các sự kiện đăng nhập khơng thành cơng cịn
quan trọng hơn sự kiện đăng nhập thành công từ quan điểm an tồn. Việc
đăng nhập khơng thành cơng khơng chỉ được ghi lại nhằm mục đích kiểm
tốn và tn thủ mà còn được sử dụng làm cơ sở cho các cảnh báo và
thậm chí là việc khóa tài khoản sau này. Đăng nhập không thành công quá
số lần cho phép chắc chắn là một báo cáo bảo mật thú vị mà nhiều người
muốn xem xét sự cố của các lần đăng nhập này dựa trên các yếu tố sau:
Tên người dùng
Địa chỉ IP máy khách kết nối khơng thành cơng
Chương trình được sử dụng kết nối
Thời gian kết nối không thành cơng
Hoạt động đăng nhập và đăng xuất có thể được kiểm tra bằng các
tính năng cơ sở dữ liệu hoặc bằng cách sử dụng giải pháp bảo mật cơ sở
dữ liệu bên ngoài. Khi sử dụng một hệ thống an tồn bên ngồi, DBA có
thể sử dụng tường lửa để chặn bất kỳ kết nối nào sau khi phát hiện có một
số lần cố gắng đăng nhập thất bại. Trong trường hợp này, CSDL thậm chí

cịn khơng nhận được các nỗ lực kết nối vì đã bị từ chối ở mức tường
lửa.Một tùy chọn khác là sử dụng các thủ tục CSDL. Hệ thống kiểm toán
sẽ tạo ra một cảnh báo khi số lần đăng nhập thất bại vượt quá ngưỡng
nhất định. Cảnh báo được gửi đến một hệ thống có trách nhiệm kết nối
với CSDL và gọi đến thủ tục khóa tài khoản. Hệ thống này thường thơng
báo cho DBA rằng hành động này đã được thực hiện để tiến hành một
cuộc điều tra và tài khoản có thể bị trả lại nếu cần.

15

download by :


Hình 2-1: Khóa tài khoản sử dụng một cảnh báo và thủ tục CSDL
2.4.2 Kiểm toán nguồn sử dụng cơ sở dữ liệu
Liên quan đến kiểm toán hoạt động đăng nhập là kiểm tốn thơng tin
nguồn của máy khách. Nó bao gồm: kiểm toán nút mạng được kết nối tới
CSDL(chẳng hạn, sử dụng địa chỉ IP hoặc máy chủ) và kiểm toán ứng
dụng đang được sử dụng để truy cập vào CSDL. Thông tin này là một
trong những giá trị thường nhận được khi kiểm toán các kết nối CSDL.
Nếu kiến trúc của bạn dựa trên mơ hình client/server, thì nguồn địa
chỉ IP thường xác định một người sử dụng duy nhất, việc theo dõi và báo
cáo về địa chỉ IP cho mỗi SQL gọi là tốt khi báo cáo mà trên đó người sử
dụng cuối cùng đã thực hiện thao tác và xem dữ liệu nào –đó là một vết
kiểm tốn có giá trị.
Nếu sử dụng một kiến trúc máy chủ ứng dụng, thì địa chỉ IP sẽ khơng
giúp xác định và báo cáo về việc người sử dụng cuối và bạn sẽ phải thực
hiện một vài kỹ thuật phù hợp.

16


download by :


2.4.3 Kiểm tốn hoạt động câu lệnh DDL
Ngơn ngữ định nghĩa dữ liệu (DDL) là một ngôn ngữ của SQL giúp
đị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 cơ sở dữ
liệu. DDL thực thi các câu lệnh như: CREATE, ALTER, DROP,..
Kiểm toán thay đổi lược đồ hay kiểm toán hoạt động câu lệnh DDL
là một trong những vết kiểm tốn được thực thi nhiều nhất. Điều này có lẽ
bởi xuất phát từ ba quan điểm: bảo mật, tuân thủ, quản lý cấu hình và quy
trình.
Từ quan điểm bảo mật, các câu lệnh DDL là những lệnh có khả năng
gây tổn hại nhất và chắn chắn có thể được sử dụng bởi kẻ tấn công để
xâm nhập bất kỳ hệ thống nào.
Ngay cả việc lấy cắp thông tin thường liên quan đến các câu lệnh
DDL ( chẳng hạn thông qua việc tạo thêm một bảng bổ sung mà dữ liệu
có thể được sap chép trước khi trích xuất).
Từ quan điểm tuân thủ, nhiều quy định yêu cầu phải kiểm toán bất
kỳ sửa đổi nào của cấu trúc dữ liệu như các bảng biểu và khung nhìn.
Việc tuân thủ yêu câu của kiểm toán DDL thường tương tự như các yêu
cầu được định nghĩa trong việc quản lý cấu hình và quản trị IP.
Mọi thao tác thay đổi trên lược đồ cần phải được kiểm tốn và lưu
trữ để DBA có thể xem xét tham khảo trong tương lai. Đây là một cách để
có thể nhanh chóng xác định và giải quyết các lỗi có thể làm tổn hại dữ
liệu hoặc có thể gây ra các dữ liệu sai lệch.
Mặt khác, kiểm toán hoạt động câu lệnh DDL được thực hiện để loại
bỏ các lỗi mà nhà phát triển và DBA đưa ra. Các kiểm sốt chặt chẽ đối
với q trình quản lý cấu hình là quan trọng và là một trong những động

lực chính của các cuộc kiểm tốn DDL .
17

download by :


Có ba phương pháp chính để kiểm tốn hoạt động câu lệnh bao
gồm:Sử dụng tính năng kiểm tốn CSDL, sử dụng hệ thống kiểm tốn bên
ngồi, và so sánh nhanh các lược đồ.
Hầu hết các môi trường CSDL sẽ cho phép kiểm toán hoạt động
DDL bằng cách sử dụng cơ chế kiểm toán, giám sát sự kiện, ghi vết. Đây
là một loại kiểm toán rất quan trọng cần được thực hiện trong các hệ
thống CSDL.
2.4.4 Kiểm toán hoạt động câu lệnh DML
Ngôn ngữ thao tác dữ liệu ( DML) là một ngôn ngữ khác của SQL
giúp thao tác chi tiết hơn trên các đối tượng CSDL cụ thể, bao gồm các
lệnh như: SELECT, INSERT, UPDATE, DELETE.
Kiểm toán hoạt động câu lệnh DML là một yêu cầu phổ biến. Tuy
nhiên, cần phải cẩn thận với loại kiểm toán này và thực hiện có chọn lọc.
Bởi đây là một kỹ thuật mà số lượng dữ liệu có thể được tạo ra rất lớn,
nên cần chắc chắn rằng cơ sở hạ tầng kiểm tốn có thể quản lý được, đặc
biệt là khi nó gồm cả giá trị mới và cũ.
Giả định có 1.000.000 giao dịch DML mỗi ngày, mỗi giao dịch cập
nhật một giá trị giao dịch duy nhất. CSDL có 100 bảng với mỗi bảng có
10 giá trị được cập nhật. Việc kiểm tốn sẽ có kết quả là có một CSDL
kiểm tốn với 10.000 bản ghi trong mỗi tháng.
Mặc dù tính tốn này là đơn giản và độ chính xác khơng cao, nhưng
sẽ khơng ngạc nhiên nếu kiểm tốn ghi lại những giá trị cũ và mới, thì sau
một năm CSDL kiểm tốn sẽ có dung lượng lớn hơn 35 lần so với các
CSDL ban đầu.

Vì vậy, khi xem vết kiểm toán DML, DBA nên chọn lọc các đối tượng
và lệnh để kiểm tốn. Ví dụ, có thể quyết định tạo ra những vết kiểm toán
cho một tập hợp con các bảng CSDL. Thậm chí, DBA nên chọn

18

download by :


lọc các bảng và cột để duy trì các giá trị cũ và mới, thay vì kiểm tốn cho
tồn bộ CSDL hay tồn bộ một bảng nào đó.
2.4.5 Kiểm tốn sử dụng CSDL ngồi giờ làm việc
Một loại kiểm tốn khác liên quan đến kiểm toán đăng nhập CSDL là
hoạt động kiểm tốn được thực hiện ngồi giờ làm việc bình thường. Đây
là một yêu cầu đáng quan tâm và thường được yêu cầu từ một doanh
nghiệp. Bởi các hoạt động thực hiện ngồi giờ thường đáng ngờ và có thể
là kết quả của việc một người sử dụng đang cố gắng truy cập trái phép
hoặc sửa đổi dữ liệu.
Tuy nhiên, một hacker giỏi thường sẽ cố gắng đăng nhập các cơ sở
dữ liệu trong một thời gian “ngụy trang”. Việc cố gắng truy cập trái phép
sẽ tốt hơn khi có nhiều “nhiễu” trong lúc thực hiện. Nhưng các hacker ít
tinh vi thường thực hiện vào ban đêm hoặc lúc sáng sớm vì có ít người ở
cơng ty.
Nói chung, DBA luôn mong muốn nhận được những hoạt động
người dùng đã thực hiện, thường ở mức câu lệnh SQL. Nếu hoạt động
đăng nhập như vậy là đáng ngờ, thì việc nắm bắt những gì họ đã sử dụng
trong CSDL là điều quan trọng. Do đó vết kiểm tốn ngồi giờ rất có ý
nghĩa.
Một cách tiếp cận để lọc ra các hoạt động bình thường xảy ra ở bên
ngồi giờ làm việc là sử dụng một dịng cơ sở.

User1
User2
Hình 2-2: Một dịng cơ sở truy cập CSDL
Khi thực hiện kiểm tốn ngồi giờ, DBA nên loại trừ bất kỳ hoạt
động do các ứng dụng thực hiện, bằng cách sử dụng các tên đăng nhập và
đến từ các địa chỉ IP trên.
19

download by :


Kiểm tốn chỉ thực hiện khi có sự khác biệt từ dịng cơ sở giúp làm
giảm kích thước của vết kiểm toán khi kiểm tra, bởi kiểm toán sẽ chỉ ghi
nhận những hoạt động đang xảy ra bên ngoài các chuẩn (đã được định
nghĩa trong dịng cơ sở).
2.4.6 Kiểm tốn lỗi CSDL
Kiểm toán lỗi được trả về từ cơ sở dữ liệu là rất quan trọng và là
một trong những vệt kiểm toán đầu tiên bạn nên thực hiện.Điều này đặc
biệt đúng theo quan điểm an toàn. Chẳng hạn, khi tìm hiểu về tấn cơng
SQL injection, trong nhiều trường hợp kẻ tấn công sẽ nỗ lực thực hiện
nhiều lần dựa trên thông báo lỗi của hệ thống cho đến khi họ nhận được
kết quả mong đợi.
Bên cạnh đó, các lỗi do CSDL hiển thị có thể giúp DBA tìm ra các
vấn đề ảnh hưởng đến thời gian phản hồi và tính sẵn sàng. Kiểm tốn lỗi
chi tiết được hỗ trợ bởi một số các nhà cung cấp CSDL và DBA có thể
tham khảo các tài liệu hướng dẫn về mơi trường để thực hiện.
2.4.7 Một số loại kiểm toán CSDL khác
Ngồi những loại kiểm tốn cơ bản trên, cịn có các dạng kiểm toán
CSDL khác như:
Kiểm toán các thay đổi đối với các nguồn của thủ tục lưu trữ và

trigger: kẻ tấn cơng có thể giấu những đoạn mã độc hại vào trigger hay
stored procedure.
Kiểm toán các thay đổi đối với các đặc quyền, định nghĩa User/Login
và các thuộc tính an tồn khác.
Kiểm tốn việc tạo, thay đổi và sử dụng các liên kết CSDL và sao lưu.
Kiểm toán những thay đổi đối với dữ liệu nhạy cảm: ghi nhận những
thay đổi giữa giá trị cũ và giá trị mới trong mỗi thao tác thuộc thao tác
ngôn ngữ dữ liệu.
20

download by :


CHƯƠNG 3: THỰC NGHIỆM MỘT SỐ KỸ THUẬT KIỂM
TOÁN CSDL TRONG ORACLE
3.1 KỊCH BẢN THỰC NGHIỆM
3

3.1.1 Kiểm toán đăng nhập, đăng xuất
Kịch bản:
Tạo 2 user có tên User1, User2
Thực hiện kiểm toán đăng nhập, đăng xuất với 2 người dùng vừa
tạo.
Thực nghiệm:
Tạo 2 user có tên USER1, USER2 và gán quyền cho 2 user:

Hình 3-3:User1 và User2 sau khi được gán quyền thành công.

21


download by :


Tạo bảng lưu kết quả kiểm tốn:

Hình 3-4: Bảng lưu kết quả kiểm
tốn Tạo trigger cho đăng nhập:

Hình 3-5:Ttrigger kiểm tốn đăng nhập tạo thành cơng.

22

download by :


Tạo trigger cho đăng xuất:

Hình 3-6: Trigger kiểm tốn đăng xuất tạo thành cơng

Thực hiện đăng nhập, đăng xuất user:

Hình 3-7: Thực hiện hành động đăng nhập, đăng xuất với 2 user

23

download by :


Xem kết quả kiểm tốn:


Hình 3-8: Kết quả kiểm tốn sau khi thực hiện đăng nhập, đăng xuất
3.1.2 Kiểm toán câu lệnh DDL
Kịch bản:
 Sử

dụng người dùng SYS và User1 đã tạo ở phần 3.1.

 Thực

hiện việc tạo và xoá bảng trên người dùng SYS và User1.

 Thực

hiện kiểm toán DDL với 2 người dùng trên.

Thực nghiệm:
Tạo bảng lưu kết quả kiểm tốn:

Hình 3-9: Bảng ddl_audit lưu kết quả kiểm toán

24

download by :


Tạo trigger kiểm tốn:

Hình 3-10: Trigger kiểm tốn hoạt động câu lệnh DDL tạo thành
công Thực hiện các câu lệnh DDL với người dùng sys:


Hình 3-11: Thực hiện một số câu lệnh create, alter..

25

download by :


×