Trìnhbàycácđịnhnghĩa,vaitròcủakiểmtoán.
Trìnhbàycácloạikiểmtoánthườngdùng.
ThựchànhviệckiểmtoántrênOracle
              
                                            
                                
            
 
            
                 61 trang
61 trang | 
Chia sẻ: Mr Hưng | Lượt xem: 1080 | Lượt tải: 0 
              
            Bạn đang xem trước 20 trang nội dung tài liệu An ninh bảo mật - Chương 5: Kiểm toán cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
 
liệu. Cuối cùng, bất kỳ một cố gắng thực hiện nào bị lỗi liên quan 
đến phân quyền là một cảnh báo cho một cuộc tấn công có thể 
được tiến hành. 
45/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
 Lỗi cũng rất quan trọng từ góc độ chất lượng, và điều này cũng
phản ánh đến vấn đề tuân thủ. Việc ứng dụng sản phẩm phát sinh
lỗi bởi vì thiếu xót về vấn đề kỹ thuật và ứng dụng nên phải được
xác định và sửa chữa.
 Ghi lại lỗi SQL thường là một cách đơn giản để xác định những
vấn đề này.
 Các lỗi có thể dẫn bạn theo hướng của các vấn đề có ảnh hưởng
đến thời gian phúc đáp và tính sẵn sàng.
46/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
 Kiểm toán lỗi chi tiết được hỗ trợ bởi một số các nhà cung cấp cơ
sở dữ liệu, và bạn có thể tham khảo các tài liệu hướng dẫn về môi
trường để thực hiện. Trong Oracle bạn có thể sử dụng lại trigger
hệ thống:
47/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Tạo bảng ghi lỗicreate table error_audit
(
user_id
varchar2(30),
session_id number(8), 
host
varchar2(30), 
error_date date,
error
varchar2(100)
);
48/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Tạo các trigger để khởi tạo khi lỗi xảy ra create or replace trigger 
audit_errors_trigger
AFTER SERVERERROR ON DATABASE 
BEGIN
insert into error_audit values(
user, 
sys_context('USERENV','SESSIONID'),
sys_context('USERENV','HOST'),
sysdate, 
dbms_standard.server_error(1) 
); 
COMMIT; 
END;
49/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
 Trong SQL Server, bạn có thể sử dụng kiểm toán tính năng hoặc 
dò vết tính năng. Nếu bạn chọn sử dụng dấu vết, bạn cần thiết lập 
các sự kiện thích hợp có liên quan đến lỗi sử dụng sp_trace_event. 
Những sự kiện bao gồm các định danh được hiển thị trong bảng 
5.1.
50/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
Bảng 5.1 Các sự kiện xử lý lỗi
Tên sự kiện Lớp sự kiện Mô tả
16 Attention Tập hợp tất cả các sự kiện quan tâm,
như yêu cầu gián đoạn kết nối client,
hoặc khi một kết nối client bị ngắt.
21 ErrorLog Sự kiện lỗi đã được ghi trong nhật ký
lỗi.
22 EventLog Sự kiện khi đăng nhập nhật ký ứng
dụng
33 Exception Ngoại lệ xuất hiện trên server.
67 Execution
Warnings
Bất kỳ cảnh báo nào đã xảy ra trong
quá trình thực hiện của thủ tục lưu trữ
và câu lệnh trên máy chủ.
51/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
Bảng 5.1 Các sự kiện xử lý lỗi
Tên sự kiện Lớp sự kiện Mô tả
55 Hash Warning Hoạt động của bảng băm có
thể gặp cácvấn đề về lỗi
79 Missing Column 
Statistics
Cột số liệu thống kê cho các
truy vấn tối ưu thường không
có sẵn.
80 Missing Join Predicate Thực hiện truy vấn không có vị
từ kết nối. Điều này có thể làm
cho câu truy vấn chạy rất lâu.
61 OLEDB Errors Lỗi OLE DB có thể xuất hiện.
52/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
 Đường cơ sở là quan trọng nếu môi trường ứng dụng của bạn là 
không hoàn hảo. Không phải mọi cơ sở dữ liệu và ứng dụng là 
môi trường sạch, và trong hầu hết các môi trường một số ứng dụng 
tạo ra lỗi cơ sở dữ liệu ngay cả trong sản xuất. 
 Tuy nhiên, lỗi được tạo ra bởi các ứng dụng được lặp đi lặp lại: 
các lỗi tương tự xảy ra ở cùng một nơi bởi vì các lỗi thường là kết 
quả từ những sai xót kỹ thuật và không thay đổi. 
 Nếu lỗi bạn lỗi đường cơ sở và đột nhiên thấy xuất hiện từ nhiều 
nơi khác nhau hoặc bạn thấy mã lỗi hoàn toàn khác nhau, thì bạn 
nên điều tra những gì đang xảy ra.
53/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
 Kiểm toán hoạt động của câu lệnh DML là một yêu cầu phổ biến,
đặc biệt là trong trường hợp như dự án Sarbanes-Oxley nơi mà
tính chính xác của thông tin tài chính là sự kiện chính. Vệt kiểm
toán thay đổi dữ liệu là phổ biến ở hầu hết các kiểm toán chính.
 Một yêu cầu kiểm toán liên quan mà đôi khi được nhắc đến (mặc
dù nó không phải là phổ biến như kiểm toán các hoạt động DML)
liên quan đến việc ghi chép đầy đủ giá trị mới và cũ cho mỗi hoạt
động DML.
54/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
 Vệt kiểm toán DML và ghi lại các giá trị mới và cũ là một loại
kiểm toán quan trọng mà có lẽ bạn sẽ cần. Tuy nhiên, bạn phải cẩn
thận với loại kiểm toán này và nhận ra rằng kiểm toán này nên
được thực hiện có chọn lọc.
 Trong một số trường hợp, người đang có quá vệt kiểm toán và để
đơn giản nên thực hiện kiểm toán hoạt động DML. Trong khi đây
là kỹ thuật có thể, số lượng dữ liệu có thể được tạo ra là rất lớn, và
bạn nên chắc chắn rằng cơ sở hạ tầng kiểm toán của bạn có thể
quản lý được, đặc biệt là khi bạn bao gồm giá trị mới và cũ.
55/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
 Ví dụ, giả sử bạn có 1.000.000 DML chuyển tác mỗi ngày, và giả
định đơn giản là mỗi bản cập nhật một giá trị giao dịch duy nhất,
và bạn có 100 bảng trong cơ sở dữ liệu với mỗi bảng có 10 giá trị
có thể sẽ được cập nhật, và bạn bắt đầu ra với một cơ sở dữ liệu đó
có 10.000 bản ghi trong mỗi bảng.
 Mặc dù tính toán này là đơn giản và không chính xác, bạn không
nên ngạc nhiên rằng nếu bạn ghi lại những giá trị cũ và mới, sau
một năm cơ sở dữ liệu kiểm toán của bạn sẽ có hơn 35 lần so với
các cơ sở dữ liệu của chính nó..
56/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
 Vì vậy, khi bạn xem vệt kiểm toán DML, bạn nên chọn có chọn 
lọc các đối tượng và lệnh để kiểm toán. Ví dụ, bạn 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ủa các bảng 
cơ sở dữ liệu, cho một nhóm nhỏ hoặc đăng nhập tài khoản, vv. 
Thậm chí có chọn lọc hơn là lựa chọn những bảng và cột để duy 
trì các giá trị cũ và mới. 
57/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
 Kiểm toán DML cũng được hỗ trợ thông qua ba phương pháp 
chính, nhưng việc so sánh hàng ngày (hoặc định kỳ) không phải là 
một lựa chọn trong trường hợp này. Ba phương pháp này là sử 
dụng khả năng của cơ sở dữ liệu, sử dụng một hệ thống kiểm toán 
bên ngoài, hoặc sử dụng trigger.
58/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Tất cả các cơ sở dữ liệu cung cấp cho bạn một số cách để 
thực hiện các vệt kiểm toán cho các hoạt động DML. Trong 
Oracle, ví dụ, bạn có thể sử dụng công cụ log miner được 
dựa trên redo log. Bởi vì ghi lại tất cả các hoạt động DML 
(bao gồm cả giá trị cũ và mới), log miner có thể giải nén 
thông tin này và làm cho nó sẵn sàng phục vụ bạn. Trong 
SQL Server, bạn có thể sử dụng sự kiện dò vết DOP:
59/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Bảng 5.2 Bảng sự kiện DOP
Tên sự kiện Lớp sự kiện Mô tả
28 DOP Event Xảy ra trước khi một câu lệnh
SELECT, INSERT, hoặc UPDATE
được thi hành.
60/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
 Đối với cách thứ hai, hệ thống kiểm toán cơ sở dữ liệu bên ngoài 
hỗ trợ kiểm toán DML dựa trên bất kỳ tiêu chí nào được lọc, bao 
gồm các đối tượng cơ sở dữ liệu, người sử dụng, ứng dụng, vv. Họ 
cũng giúp đỡ trong việc thu giữ và nén thông tin này và làm cho 
nó sẵn sàng để báo cáo, ngay cả khi số lượng dữ liệu rất lớn. 
 Cuối cùng, cách thứ ba đơn giản là sử dụng các tùy chọn trigger. 
Nếu bạn không phải là một phần của một dự án kiểm toán mở 
rộng và chỉ cần tạo một vệt kiểm toán DML cho một vài đối 
tượng, thêm vào đó gây nên ghi các thông tin vào một bảng kiểm 
toán cụ thể có thể là điều đơn giản nhất và nhanh nhất để giúp bạn 
chuyển sang bước tiếp theo của bạn dự án.
61/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.3 THỰC HÀNH KiỂM TOÁN TRÊN ORACLE
Thực hiện qua các bước:
 Bước 1: Tạo bộ kích khởi DDL với Oracle khởi 
động sau sự kiện đăng nhập và đăng xuất trong 
Oracle.
 Bước 2: Kiểm toán mã lệnh: kiểm toán hoạt động 
của câu lệnh DDL, DML, 
 Bước 3: Tìm hiểu tập tin Alert Log trong Oracle
 Bước 4: Đánh giá dựa vào kết quả đạt được.
            Các file đính kèm theo tài liệu này:
 an_toan_co_so_du_lieu_phan_5_2944.pdf an_toan_co_so_du_lieu_phan_5_2944.pdf