Bài giảng Bảo mật cơ sở dữ liệu - Chương 6: Audit Database trình bày các nội dung: Giới thiệu về Audit Database, các hoạt động của Auditi, Database Auditing Models, Application Data Auditing, Additing trong SQL, Auditing trong Oracle. Mời các bạn cùng tham khảo.
Trang 1Audit Database
Giảng viên: Trần Thị Kim Chi
1
Trang 2Nội dùng
Giới thiệu về Audit Database
Các hoạt động của Auditi
Database Auditing Models
Application Data Auditing
Additing trong SQL
Auditing trong Oracle
2
Trang 3Giới thiệu Audit
giám sát(Audit): giám sát và ghi lại những hoạt động
đã và đang xảy trong hệ thống một cách có chọn lọc
Audit = Ai làm gì với dữ liệu nào khi nào và bằng
cách nào (Who did what to which data when and
how)
Trách nhiệm giải trình, gọi tắt là giải trình (Accountability): trách nhiệm tìm ra và chứng minhnguồn gốc các hoạt động xảy ra trong hệ thống
Hoạt động giám sát nhằm phục vụ cho hoạt động giảitrình
3
Trang 4Giới thiệu Audit Database
Audit/auditing: quá trình kiểm tra và xác nhận cáctài liệu, dữ liệu, quy trình, thủ tục, hệ thống
Nhật lý giám sát (Audit log): tài liệu có chứa tất cả
các hoạt động đang được giám sát được sắp xếptheo thứ tự thời gian
Mục tiêu giám sát: thiết lập các quy tắc kinh doanh,
điều khiển hệ thống, các quy định của chính phủ,hoặc các chính sách bảo mật
4
Trang 5Giới thiệu Audit Database
Data audit: giám sát lịch sử những thay đổi dữ liệuđược lưu trữ trong tập tin nhật ký hoặc các bảng(table) của cơ sở dữ liệu
Database auditing: giám sát lịch sử của các hoạtđộng cơ sở dữ liệu
Internal auditing: kiểm tra các hoạt động được thựchiện bởi các nhân viên của tổ chức giám sát bêntrong hệ thống
External auditing: : kiểm tra các hoạt động đượcthực hiện bởi các nhân viên của tổ chức giám sátbên ngoài hệ thống
5
Trang 6Tại sao phải Audit Database
Trách nhiệm giải trình từ những hành động xảy ra
lên các dữ liệu (schema, bảng, dòng, …)
Kiểm tra hành động đáng ngờ (suspiciousactivity)
Trang 7Tại sao phải Audit Database
Giám sát và ghi lại các hoạt động xảy ra nhằm phát
hiện các vấn đề trong quá trình định quyền và điều
Chọn cách đánh chỉ mục thích hợp để tăng hiệu suất
giám sát để thỏa các yêu cầu chính sách pháp lý(compliance): thể hiện trách nhiệm với dữ liệu củakhách hàng
7
Trang 8 Graham-Leach-Bliley Act (GLBA)
Các chính sách thường không mô tả công nghệ cầnthực thi
Cần xác định yêu cầu và lựa chọn công nghệ
8
Trang 9Khi nào và giám sát những gì?
Khi nào nên giám sát?
giám sát tại mọi thời điểm từ khi hệ thống bắt đầu hoạt động
giám sát những gì?
Việc giám sát có thể làm giảm hiệu suất của hệ thống
Chỉ nên giám sát những gì cần thiết
9
Trang 10Khi nào và giám sát những gì?
Trong chính sách Sarbanes-Oxley, phần 404 có đưa
ra những hoạt động cần phải giám sát:
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 các application trigger và data trigger
Thay đổi quyền và mô tả thông tin của 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ệ
Nguồn gốc của những hoạt động truy cập dữ liệu
Thời gian, tên chương trình, kích thước dữ liệu, câu
Trang 11Nội dùng
Giới thiệu về Audit Database
Các hoạt động của Auditi
Database Auditing Models
Application Data Auditing
Additing trong SQL
Auditing trong Oracle
11
Trang 12Các hoạt động của Audit
Đánh giá hiệu quả và đầy đủ của các thành phầnđược giám sát
Xác định và xem lại độ tin cậy và tính toàn vẹn củacác thành phần được giám sát
Đảm bảo tổ chức tuân thủ chính sách, thủ tục, quyđịnh, pháp luật, và các tiêu chuẩn của chính phủ vàngành công nghiệp
Lập kế hoạch, chính sách và thủ tục thực hiện giámsát
12
Trang 13Các hoạt động của Audit
Lưu lại tất cả các thay đổi cho các thành phần đượcgiám sát
Cập nhật những thông tin đã audit và các quy địnhgiám sát mới
Cung cấp tất cả các chi tiết giám sát cho tất cả nhânviên công ty tham gia vào việc giám sát
Xuất bản hướng dẫn và thủ tục giám sát
Các hoạt động như liên lạc giữa các công ty và cácnhóm giám sát bên ngoài
13
Trang 14Các hoạt động của Audit
Hoạt động như một nhà tư vấn cho các kiến trúc sư,nhà phát triển, và các nhà phân tích kinh doanh
Tổ chức và thực hiện giám sát nội bộ
Đảm bảo tất cả các mục trong hợp đồng được đápứng bởi các tổ chức được giám sát
Xác định các loại giám sát sẽ được sử dụng
Xác định các vấn đề an ninh phải được giải quyết
Tư vấn cho Vụ Pháp chế
14
Trang 15Auditing Environment
Ví dụ giám sát:
giám sát tài chính
kiểm tra bảo mật
giám sát cũng đo lường sự phù hợp với các quy định
và luật pháp của chính phủ
giám sát diễn ra trong một môi trường:
Môi trường giám sát
Môi trường cơ sở dữ liệu giám sát
15
Trang 16 People: giám sát viên,
nhân viên, nhà quản lý
Các đơn vị được giám
sát: người, tài liệu, quy
trình, hệ thống
16
Trang 18Auditing Process-Qui trình Audit
Đảm bảo chất lượng (QA):
Đảm bảo hệ thống là không lỗi và hoạt động theothông số kỹ thuật của nó
Quá trình giám sát: đảm bảo rằng hệ thống đanglàm việc và tuân thủ các chính sách, quy định vàpháp luật
18
Trang 19Auditing Process-Qui trình Audit
Thực hiện giám sát: quan sát nếu có suy giảm hiệu
suất hoạt động vào những thời điểm khác nhau
giám sát quá trình dòng chảy:
Trang 20Auditing Process-Qui trình Audit
20
Trang 21Auditing Process-Qui trình Audit
21
Trang 22Quy trình giám sát
Quy trình giám sát do NIST đưa ra
22
Trang 23 Thông báo cho người giám sát rằng có user bất hợp phát đang thao tác hay xóa dữ liệu hay user có nhiều quyền hệ thống hơn
sự cho phép.
Giám sát và thu thập dữ liệu về các hoạt động CSDL cụ thể Ví
dụ, người quản trị CSDL có thể thu thập thống kê về thông tin các bảng đang được update, hay bao nhiêu users cùng trung cập vào thời điểm cực đỉnh.
23
Trang 24 Data structure changes
Database or application availability
Change control
Physical access
Auditing reports 24
Trang 25Các vấn đề với giám sát
giám sát là công cụ, không phải là mục tiêu
Nên sử dụng kết hợp giữa giám sát bên trong vàgiám sát bên ngoài
Lưu trữ và bảo mật thông tin audit log
Tự động hóa và giám sát hoạt động giám sát
Kích thước của các audit log lớn, cần sử dụng cáccông cụ kho dữ liệu (data warehouse) và khai phá dữliệu (data mining) để quản lý và phân tích dữ liệuaudit log
Vấn đề tính riêng tư trong audit log
25
Trang 26Các yêu cầu của giám sát 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ênngoà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 managementsystems) khác nhau
Không phụ thuộc vào DBMS và cú pháp câu lệnhSQL ứng với mỗi DBMS
26
Trang 27Các yêu cầu của giám sát trong CSDL
Có khả năng ngăn chặn người quản trị hệ thốngchỉnh sửa hoặc xóa dữ liệu trong audit log
Có khả năng đưa ra những cảnh báo kịp thời chongười quản trị hệ thống khi có những bất thường xảy
ra trong hệ thống
27
Trang 28Các phương pháp giám sát
giám sát bằng application server log
giám sát mức ứng dụng(Application audit)
giám sát bằng trigger
giám sát bằng câu lệnh(command)
28
Trang 29Các đối tượng cần giám sát
Các hoạt động đăng nhập/đăng xuất trong CSDL
Username
Client IP mà đăng nhập không thành công
Chương trình(source program)
Thời gian đăng nhập và đăng xuất
giám sát nguồn gốc truy cập CSDL
Địa chỉ IP và host name được dùng để kết nối CSDL
Chương trình nào kết nối CSDL
29
Trang 30Các đối tượng cần giám sát
giám sát các hoạt động truy cập CSDL ngoài giờ làm việc
Các truy cập CSDL ngoài giờ làm việc đều đáng nghi ngờ
Cần ghi lại mọi truy cập CSDL ngoài giờ làm việc trừ những thao tác đã được định giờ
giám sát các thao tác thuộc ngôn ngữ định nghĩa dữ liệu (Data Definition Language –DDL)
Rất quan trọng vì trong nhiều trường hợp DDL có thể được dùng để phá hoại hệ thống
Được quy định trong chính sách HIPAA
Phương pháp: dùng chức năng built-in của DBMS, sử dụng hệ thống giám sát bên ngoài, so sánh snapshot của lược đồ(shema) theo thời gian
30
Trang 31Các đối tượng cần giám sát
Các lỗi trong thao tác với CSDL
Các lỗi như đăng nhập thất bại, SQL Injection
dấu hiệu của sự tấn công
Các ứng dụng có thể chứa lỗi và gây ra lỗi: ví dụ sinh
Trang 32Các đối tượng cần giám sát
giám sát trên sự thay đổi quyền của người dùng vàcác thuộc tính bảo mật khác
Việc giám sát này là bắt buộc: tấn công vượt quyền
Các thông tin cần chú ý:
Thêm/Xóa trên User/Login/Role
Thay đổi quyền của Role
Thay đổi quyền hoặc role của người dùng
Thay đổi password
32
Trang 33Các đối tượng cần giám sát
giám sát sự thay đổi của các dữ liệu nhạy cảm
Ghi nhận thay đổi giữa giá trị cũ và giá trị mới trong mỗi thao tác thuộc ngôn ngữ thao tác dữ liệu(Data Manipulation Language –DML)
Cần lọc dữ liệu nào quan trọng mới giám sát vì dữ liệu giám sát sẽ rất lớn (vídụ: CSDL có 100 bảng với khoảng1 triệu transaction/ngày…)
giám sát sự thay đổi của audit log
Audit log cần được bảo vệ và không cho phép thay đổi
Phương pháp: sử dụng các chức năng built-in của CSDL hoặc một hệ thống giám sát bên ngoài khác
33
Trang 34Nội dùng
Giới thiệu về Audit Database
Các hoạt động của Auditi
Database Auditing Models
Application Data Auditing
Additing trong SQL
Auditing trong Oracle
34
Trang 35Các mô hình giám sát-Auditing Models
35
Trang 36Simple Auditing Model 1
Dễ hiểu và phát triển
Các đơn vị đăng ký giám sát trong các kho lưu trữ
mô hình giám sát
Theo dõi các hoạt động theo thứ tự thời gian
Đối tượng: người sử dụng, bảng, hoặc cột
Hoạt động: DML giao dịch hoặc đăng nhập và đăng xuất
Điều khiển cột:
Giữ chỗ cho dữ liệu được chèn tự động khi một bản ghi được tạo hay cập nhật
36
Trang 37Simple Auditing Model 1
37
Trang 38Simple Auditing Model 1
38
Trang 39Simple Auditing Model 2
Chỉ lưu trữ các giá trị cột thay đổi
Có một cơ chế lọc và lưu trữ dữ liệu làm giảm số lượng dữ liệu được lưu trữ
Không đăng ký một hành động đã được thực
hiện trên dữ liệu
Rất lý tưởng cho giám sát một hoặc hai cột của một bảng
39
Trang 40Simple Auditing Model 2
40
Trang 41Advanced Auditing Model
Được gọi là “advanced" vì tính linh hoạt của nó
Phức tạp hơn
Đăng ký tất cả các thực thể: mức độ giám sát tốt hơn
Có thể điều khiển người dùng, hành động, bảng, cột
41
Trang 42Advanced Auditing Model
42
Trang 43Advanced Auditing Model
43
Trang 44Historical Data Model
Được sử dụng khi lưu trữ của cả hàng được yêu cầu
Thường được sử dụng trong hầu hết các ứng dụng tài chính
44
Trang 45Auditing Applications Actions Model
45
Trang 46Nội dùng
Giới thiệu về Audit Database
Các hoạt động của Auditi
Database Auditing Models
Application Data Auditing
Additing trong SQL
Auditing trong Oracle
46
Trang 47Application Data Auditing
Mục tiêu:
Hiểu được sự khác biệt giữa các audit kiến trúc,
giám sát hành động và thay đổi
Tạo và thực hiện trigger trong Oracle
Tạo và thực hiện trigger trong SQL Server
47
Trang 48DML Action Auditing Architecture
Ngôn ngữ thao tác dữ liệu (DML): các công ty sử
dụng kiến trúc, giám sát cho những thay đổi DML
Thay đổi DML có thể được thực hiện ở hai cấp độ:
cấp hàng
mức độ cột
Fine-grained auditing (FGA)
48
Trang 49DML Action Auditing Architecture
49
Trang 50DML Action Auditing Architecture
50
Trang 51giám sát trong SQL Server
SQL Server Triggers
Implementation of an Historical Model with SQL Server
51
Trang 52SQL Server Triggers
CREATE TRIGGER DDL statement: creates
a trigger
Trigger condition:
Prevents a trigger from firing
UPDATE() and COLUMNS_UPDATE()
functions
Logical tables:
DELETED contains original data
INSERTED contains new data
52
Trang 53SQL Server Triggers
Restrictions—Transact-SQL statements not allowed:
ALTER and CREATE DATABASE
DISK INIT and DISK RESIZE
DROP DATABASE and LOAD DATABASE
Trang 54Implementation of an Historical Model with SQL Server
Create a history table:
Same structure as original table
HISTORY_ID column
Create a trigger: inserts original row into the HISTORY table
54
Trang 56Implementing SQL Profiler
User interface for auditing events
For each event you can audit:
Date and time of the event
User who caused the event to occur
Type of event
Success or failure of the event
Origin of the request
Name of the object accessed
Text SQL statement
Trang 57Implementing SQL Profiler (continued)
Trang 58Security Auditing with SQL Server
Steps for setting security auditing level:
Open Enterprise Manager
Expand the appropriate SQL Server group
Right-click on the desired server
Click Properties
On the security tab, select the desired security level
Trang 59Security Auditing with SQL Server (continued)
Trang 60 ADD LOGIN TO SERVER ROLE
ADD MEMBER TO DB ROLE
ADD ROLE
APP ROLE CHANGE PASSWORD
BACKUP/RESTORE
CHANGE AUDIT
Trang 61 LOGIN CHANGE PASSWORD
LOGIN CHANGE PROPERTY
LOGIN FAILED
Login GDR (GRANT, DENY, REVOKE)
Trang 62Security Auditing with SQL Server (continued)
Auditable events (continued):
Object Derived Permissions
Trang 63Security Auditing with SQL Server (continued)
Trang 64Security Auditing with SQL Server (continued)
New trace information:
A name for the trace
The server you want to audit
The base template to start with
Where to save the audit data, either to a file or
to a database table
A stop time, if you don’t want the trace to run indefinitely
Trang 65Security Auditing with SQL Server (continued)
Trang 66Security Auditing with SQL Server (continued)
Trang 67Security Auditing with SQL Server (continued)
Steps to add Login Change Password event
Expand the Security Audit node under
Available event classes
Click Audit Login Change Password Event
Click the Add button
Trang 68Security Auditing with SQL Server (continued)
Trang 70Data Definition Auditing (continued)
Trang 71Database Auditing with SQL Server
Trang 72Database Errors Auditing with SQL Server
Trang 73Nội dùng
Giới thiệu về Audit Database
Các hoạt động của Auditi
Database Auditing Models
Application Data Auditing
Additing trong SQL
Auditing trong Oracle
73
Trang 74giám sát trong Oracle
Trang 75Giới thiệu giám sát trong Oracle
Oracle giám sát các người dùng:
giám sát các truy cập thành công hoặc không thành công
giám sát 1 người dùng, 1 nhóm người dùng hoặc tất
cả các người dùng
giám sát ở cấp phiên làm việc(session level) hoặc cấp truy cập (access level)
giám sát sẽ làm giảm hiệu suất của hệ thống
Chỉ nên giám sát những gì cần thiết
75
Trang 76Giới thiệu giám sát trong Oracle
Dữ liệu giám sát nên được ghi trên file của hệ điềuhành (OS) để tiết kiếm tài nguyên củaCSDL
Các tham số khởi tạo AUDIT_TRAIL trong init.ora
76
Trang 77Các loại giám sát trong Oracle
Trang 78Statement auditing
Statement auditing:giám sát những lệnh hoặc nhóm
câu lệnh trên từng đối tượng
Câu lệnh DDL: Ví dụ AUDIT TABLE giám sát tất cả
các câu lệnh CREATE và DROP TABLE
Câu lệnh DML: Ví dụ AUDIT SELECT TABLE giám
sát tất cả câu lệnh SELECT trên bảng và trên view
Có thể giám sát trên mọi người dùng hoặc trên 1nhóm người dùng cụ thể hoặc trên Role
78
Trang 79Privilege auditing
Privilege auditing: giám sát những quyền hệ
thống
AUDIT SELECT ANY TABLE sẽ giám sát mọi lệnh
được tạo ra từ những người dùng sử dụng quyền SELECT ANY TABLE
Trường hợp cả statement và privilege cùng được
giám sát thì chỉ 1 audit record được tạo ra
Privilege auditing có độ tập trung hơn statement
auditing
Statement auditing: AUDIT TABLE
CREATE, ALTER, DROP (TABLE) đều được giám sát
Privilege auditing: AUDIT CREATE TABLE
Trang 80Schema Object Auditing
Kiểm tra câu lệnh cụ thể trên đối tượng schema cụ thể, ví dụ AUDIT SELECT ON employees (Rất được chú trọng) Schema object auditing luôn áp dụng cho tất cả các user
Giám sát trên những đối tượng củaSchema:
Trang 81Schema Object Auditing
Ví dụ:
Thực hiện giám sát câu lệnh SELECT trên Employee
AUDIT SELECTON Employee;
Tạo view Emp_Name và giám sát câu lệnh SELECT
CREATE VIEW Emp_NameAS SELECT EName
FROM Employee;
AUDIT SELECTON Emp_Name;
Thực hiện câu lệnh truy vấn trên view Emp_Name
SELECT * FROM Employee_Name;
81