Mục này mô tả một số nội dung cần đƣợc kiểm toán trong cơ sở dữ liệu. Các nội dung này gồm:Kiểm toán đăng nhập/đăng xuất cơ sở dữ liệu
- Kiểm toán nguồn sử dụng cơ sở dữ liệu - Kiểm toán hoạt động DDL
- Kiểm toán lỗi cơ sở dữ liệu
- Kiểm toán thay đổi mã nguồn của thủ tục, hàm, hoặc triger - Kiểm toán thay đổi đặc quyền và thông tin truy nhập - Kiểm toán việc thay đổi các dữ liệu nhạy cảm
Phần tiếp theo của mục này trình bày chi tiết của từng nội dung kiểm toán kể trên.
Kiểm toán đăng nhập/đăng xuất cơ sở dữ liệu
Nội dung này giám sát các thao tác đăng nhập (sign-on, log-on) và đăng xuất (sign- out, log-out) của ngƣời dùng cơ sở dữ liệu. Đây là các thao tác quan trọng trong khâu kiểm soát truy nhập cần giám sát. Các thông tin cần thu thập về 2 sự kiện này thƣờng bao
153 gồm: username, địa chỉ IP của máy khách, tên ứng dụng máy khách, thời gian, trạng thái (thành công, hay không thành công). Hình 7.10 biểu diễn dữ liệu log ghi đƣợc về đăng
nhập không thành công và kết quả tổng hợp trên biểu đồ. Từ kết quả phân tích dữ liệu log
đăng nhập, đăng xuất có thểđƣa đến việc thực hiện một sốthao tác ngăn chặn tạm thời,
nhƣ tạm khóa tài khoản ngƣời dùng sau khi đăng nhập không thành công một số lần.
Hình 7.10.Dữ liệu log ghi được vềđăng nhập không thành công
Có thể sử dụng các công cụ ghi log có sẵn trong hệ quản trị cơ sở dữ liệu, hoặc tự xây dựng công cụ để giám sát ghi log đăng nhập, đăng xuất. Hình 7.11 là giao diện cấu hình tựđộng ghi log đăng nhập trong SQL Server.
Hình 7.11. Giao diện cấu hình tựđộng ghi log đăng nhập trong SQL Server
Cũng có thể viết các đoạn mã SQL dựa trên trigger để ghi log và lƣu trong bảng cơ sở
154
Sau đó, sử dụng đoạn mã sau đểghi log đăng nhập dựa trên trigger:
155
Kiểm toán nguồn sử dụng cơ sở dữ liệu
Nguồn sử dụng cơ sở dữ liệu gồm địa chỉ IP và tên ứng dụng, hoặc nút mạng kết nối
đến cơ sở dữ liệu và một sốthông tin khác, nhƣ biểu diễn trên Hình 7.12. Trong nội dung này, cần thu thập thông tin nguồn sử dụng cơ sở dữ liệu cho các hoạt động, nhƣ kết nối
và đăng nhập vào cơ sở dữ liệu và thực hiện các lệnh SQL.
Hình 7.12.Dữ liệu log ghi được về nguồn sử dụng cơ sở dữ liệu Kiểm toán hoạt động DDL
Kiểm toán hoạt động DDL (Data description language) là kiểm toán việc thay đổi
lƣợc đồ (schema), hoặc cấu trúc các bảng trong cơ sở dữ liệu. Các thay đổi về cấu trúc cơ
sở dữ liệu cần đƣợc giám sát chặt chẽ do chúng ảnh hƣởng lớn đến các thao tác khác và hiệu năng vận hành cơ sở dữ liệu. Có thể ghi dữ liệu giám sát cho nội dung kiểm toán này bằng sử dụng tính năng kiểm toán cung cấp bởi cơ sở dữ liệu, hoặc sử dụng hệ thống kiểm toán độc lập, hoặc so sánh các snapshot của các lƣợc đồcơ sở dữ liệu.
Kiểm toán lỗi cơ sở dữ liệu
Trong nội dung này, cần giám sát và ghi các thông tin về các lỗi xảy ra khi thực hiện các thao tác với cơ sở dữ liệu. Từ thông tin giám sát có thể phân tích, tìm ra các lỗ hổng, hoặc các nỗ lực tấn công cơ sở dữ liệu. Chẳng hạn, việc phân tích lỗi cơ sở dữ liệu có thể
tìm ra việc tin tặc chèn thêm các ký tựđặc biệt vào dữ liệu gây lỗi câu lệnh SQL để tìm lỗ
hổng chèn mã SQL trong hệ thống ứng dụng để tấn công cơ sở dữ liệu.
Kiểm toán thay đổi mã nguồn của thủ tục, hàm, hoặc triger
Đây là nội dung yêu cầu giám sát và ghi log sự thay đổi mã nguồn của các thủ tục, hàm và các triger. Cần ghi log các thông tin, nhƣ ai thực hiện sửa, nội dung thay đổi và thời gian thực hiện. Trên cơ sở đó có thể lần vết và khắc phục khi có lỗi xảy ra. Để thực hiện việc này, có thể sử dụng công cụ quản lý mã nguồn (có hỗ trợ change tracking), hoặc sử dụng tính năng kiểm toán (audit) trong cơ sở dữ liệu.
156
Kiểm toán thay đổi đặc quyền và thông tin truy nhập
Các thay đổi thông tin ngƣời dùng và quyền truy nhập cần đƣợc giám sát và ghi log
do đây là các thông tin nhạy cảm và có thể ảnh hƣởng đến an toàn cơ sở dữ liệu. Các thông tin cần ghi log có thể gồm:
- Thêm hoặc xóa ngƣời dùng, tài khoản đăng nhập và các vai trò;
- Các thay đổi với các ánh xạ giữa tài khoản đăng nhập và ngƣời dùng, hoặc vai trò; - Thay đổi đặc quyền (có thểdo ngƣời dùng hoặc vai trò);
- Thay đổi mật khẩu;
- Thay đổi các thuộc tính an ninh tại máy chủ, cơ sở dữ liệu, lệnh, hoặc ở mức đối
tƣợng cơ sở dữ liệu.
Kiểm toán việc thay đổi các dữ liệu nhạy cảm
Các thay đổi với dữ liệu nhạy cảm cần đƣợc giám sát để có thể phát hiện các sửa đổi bất hợp pháp. Dữ liệu ghi log ngoài sự kiện xảy ra còn cần phải lƣu thông tin (bản ghi)
trƣớc thay đổi và bản ghi sau thay đổi. Do đối tƣợng kiểm toán là các dữ liệu nhạy cảm, nên cần xem xét thực hiện giám sát và ghi log trong những trƣờng hợp thực sự cần thiết
do có thêm nguy cơ rò rỉ dữ liệu nhạy cảm thông qua ghi log kiểm toán và lƣợng dữ liệu phát sinh có thể rất lớn.