Bài giảng Bảo mật Cơ sở dữ liệu - Chương 6: Audit Database - Trần Thị Kim Chi

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 minh nguồ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ải trình Audit/auditing: quá trình kiểm tra và xác nhận các tà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ếp theo 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 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ực hiện bởi các nhân viên của tổ chức giám sát bên trong hệ thống  External auditing: : kiểm tra các hoạt động được thực hiện bởi các nhân viên của tổ chức giám sát bên ngoài hệ thống

pdf171 trang | Chia sẻ: candy98 | Lượt xem: 1227 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng Bảo mật Cơ sở dữ liệu - Chương 6: Audit Database - Trần Thị Kim Chi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Audit Database Giảng viên: Trần Thị Kim Chi 1 Nộ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 Giớ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 minh nguồ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ải trình 3 Giới thiệu Audit Database  Audit/auditing: quá trình kiểm tra và xác nhận các tà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ếp theo 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 Giớ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ực hiện bởi các nhân viên của tổ chức giám sát bên trong hệ thống  External auditing: : kiểm tra các hoạt động được thực hiện bởi các nhân viên của tổ chức giám sát bên ngoài hệ thống 5 Tạ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)  Ví dụ xóa dữ liệu từ một bảng  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 (truy cập vượt quyền) 6 Tạ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 khiển truy cập  Thống kê tình hình truy xuất tài nguyên để có biện pháp cải thiện hiệu suất  Ví dụ: dựa vào các trường, bảng thường hay được truy cập  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ủa khách hàng 7 Các chính sách(Compliances)  Các chính sách đưa ra các quy định cần phải tuân thủ và các hướng dẫn cần thiết khi giám sát  Một số chính sách:  Health Insurance Portability and Accountability Act (HIPAA)  Sarbanes-Oxley Act  Graham-Leach-Bliley Act (GLBA)  Các chính sách thường không mô tả công nghệ cần thực thi  Cần xác định yêu cầu và lựa chọn công nghệ 8 Khi 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 Khi 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 lệnh 10 Nộ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 Cá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ủa cá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ám sát 12 Cá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 được giám sát  Cập nhật những thông tin đã audit và các quy định giá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ân viê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ác nhóm giám sát bên ngoài 13 Cá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 Auditing 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 Auditing Environment Các thành phần:  Mục tiêu: một giám sát mà không có một tập hợp các mục tiêu là vô dụng  Procedure-Thủ tục: thực thi theo các bước hướng dẫn và nhiệm vụ  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 Auditing Environment  Môi trường giám sát cơ sở dữ liệu khác với môi trường giám sát chung  Các biện pháp an ninh là không thể tách rời 17 Auditing 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 theo thông số kỹ thuật của nó  Quá trình giám sát: đảm bảo rằng hệ thống đang làm việc và tuân thủ các chính sách, quy định và pháp luật 18 Auditing 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:  Vòng đời phát triển hệ thống  Quá trình giám sát:  Hiểu được mục tiêu  Rà soát, xác minh và xác nhận hệ thống  Dẫn chứng kết quả 19 Auditing Process-Qui trình Audit 20 Auditing Process-Qui trình Audit 21 Quy trình giám sát  Quy trình giám sát do NIST đưa ra 22 Auditing Objectives  Cho phép giải trình những hành động hiện tại tham gia vào một schema, bảng, dòng riêng biệt, hay một nội dùng cụ thể nào đó.  Ngăn cản user khỏi hành động không thích hợp dựa trên trách nhiệm phải giải trình đó.  Điều tra các hoạt động đáng ngờ. Ví dụ, nếu một user không được phép đang xóa dữ liệu từ một bảng nào đó thì người quản trị bảo mật sẽ ghi lại tất cả những kết nối CDSL và tất cả những hành động xóa các dòng từ bảng trong CSDL dù thành công hay không thành công.  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 Auditing Objectives 10 mục tiêu giám sát cơ sở dữ liệu:  Data integrity  Application users and roles  Data confidentiality  Access control  Data changes  Data structure changes  Database or application availability  Change control  Physical access  Auditing reports 24 Cá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ác cô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ệu audit log  Vấn đề tính riêng tư trong audit log 25 Cá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ên ngoà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 26 Cá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ống chỉ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 cho người quản trị hệ thống khi có những bất thường xảy ra trong hệ thống 27 Cá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 Cá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 Cá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 Cá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 ra những câu SQL sai cú pháp  Có thể bị lợi dụng để tấn công  Sửa lỗi ứng dụng  giám sát trên sự thay đổi mã nguồn của trigger và stored procedure  Kẻ tấn công có thể giấu những đoạn mã độc hại vào trigger hay stored procedure 31 Cá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 Cá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 Nộ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 Các mô hình giám sát-Auditing Models 35 Simple 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 Simple Auditing Model 1 37 Simple Auditing Model 1 38 Simple 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 Simple Auditing Model 2 40 Advanced 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 Advanced Auditing Model 42 Advanced Auditing Model 43 Historical 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 Auditing Applications Actions Model 45 Nộ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 Application 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 DML 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 DML Action Auditing Architecture 49 DML Action Auditing Architecture 50 giám sát trong SQL Server  SQL Server Triggers  Implementation of an Historical Model with SQL Server 51 SQL 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 SQL Server Triggers  Restrictions—Transact-SQL statements not allowed:  ALTER and CREATE DATABASE  DISK INIT and DISK RESIZE  DROP DATABASE and LOAD DATABASE  LOAD LOG  RECONFIGURE  RESTORE DATABASE  RESTORE LOG 53 Implementation 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 55 Auditing Server Activity with Microsoft SQL Server 2000  Way to track and log activity for each SQL Server occurrence  Must be a member of the sysadmin fixed server role  Two types of auditing for server events:  Auditing  C2 auditing  Auditing affects performance and can be costly 56 Implementing 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 57 Implementing SQL Profiler (continued) 58 Security 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 59 Security Auditing with SQL Server (continued) 60 Security Auditing with SQL Server (continued)  Auditable events:  ADD DB USER  ADD LOGIN TO SERVER ROLE  ADD MEMBER TO DB ROLE  ADD ROLE  APP ROLE CHANGE PASSWORD  BACKUP/RESTORE  CHANGE AUDIT 61 Security Auditing with SQL Server (continued)  Auditable events (continued):  DBCC  LOGIN  LOGOUT  LOGIN CHANGE PASSWORD  LOGIN CHANGE PROPERTY  LOGIN FAILED  Login GDR (GRANT, DENY, REVOKE) 62 Security Auditing with SQL Server (continued)  Auditable events (continued):  Object Derived Permissions  Object GDR  Object Permissions  Server Start and Stop  Statement GDR  Statement Permission 63 Security Auditing with SQL Server (continued) 64 Security 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 65 Security Auditing with SQL Server (continued) 66 Security Auditing with SQL Server (continued) 67 Security 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 68 Security Auditing with SQL Server (continued) 69 Data Definition Auditing  Audit DDL statements:  Object:Created  Object:Deleted  Will audit all CREATE and DROP statements 70 Data Definition Auditing (continued) 71 Database Auditing with SQL Server 72 Database Errors Auditing with SQL Server Nộ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 giám sát trong Oracle  Giới thiệu  Các loại giám sát  Các công cụ giám sát trong Oracle  Kết luận 74 Giớ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 Giớ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ều hà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 Các loại giám sát trong Oracle  Statement Auditing  Privilege Auditing  Schema Object Auditing  Fine-grained auditing 77 Statement 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 1 nhóm người dùng cụ thể hoặc trên Role 78 Privilege 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 chỉ giám sát câu lệnh CREATE (TABLE) 79 Schema 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:  Table  View  Procedure  Trigger  Function  Package  Privilege auditing có độ ưu tiên thấp hơn các schema object auditing 80 Schema 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 Fine-grained Auditing  Kiểm tra dữ liệu truy xuất và các hoạt động dựa trên nội dung của dữ liệu đó.  Ví dụ: Sử dụng DBMS_FGA, người quản trị bảo mật tạo ra một chính sách kiểm tra trên một bảng. Nếu bất kì dòng nào trả về từ câu lệnh DML thỏa điều kiện kiểm tra thì một mục về sự kiện kiểm tra sẽ được chèn vào trong audit trail. 82 Các công cụ giám sát trong Oracle  Standard Auditing  Fine-Grained Auditing 83 Standard Auditing Kích hoạt Standard Auditing  Bất cứ database user hợp pháp nào cũng có thể thiết lập lựa chọn giám sát đối với câu lệnh, quyền và đối tượng bất cứ khi nào. Tuy nhiên hệ CSDL Oracle không sinh thông tin audit cho Standart database audit trail trừ khi CSDL giám sát được kích hoạt. Người quản trị bảo mật thường có trách nhiệm điều khiển việc giám sát này. 84 Standard Auditing Kích