Đồ án môn học 6 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP HCM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO AUDIT Giảng viên hướng dẫn ThS Nguyễn Văn Thịnh Sinh viên thực hiện Võ Phú Định 2001160260 V.
1 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO AUDIT Giảng viên hướng dẫn: ThS Nguyễn Văn Thịnh Sinh viên thực hiện: Võ Phú Định - 2001160260 Văn Tấn Đạt - 2001160188 Võ Thị Hoài Phương - 2001160409 TP HỒ CHÍ MINH, tháng 07 năm 2020 MỤC LỤC DANH MỤC HÌNH ẢNH ĐÁNH GIÁ CƠNG VIỆC Họ tên Công việc Đánh giá Văn Tấn Đạt − Cách kích hoạt chức audit − Chỉ định nơi lưu trữ liệu audit − Thuyết trình, làm word, powerpoint B+ Võ Phú Định − Hiểu liệu audit, đề xuất vài kịch phân tích liệu audit thơng dụng − Cách để audit theo mục đích − Thuyết trình, làm word, powerpoint, demo A Lê Thị Hồi Phương − Trình bày cách thức định audit theo mục đích − Cách kích hoạt chức audit − Thuyết trình, làm word, powerpoint, demo A Chương GIỚI THIỆU VỀ AUDIT 1.1 Giới thiệu Audit Accountability − Kiểm toán (Audit): Giám sát ghi lại hoạt động xảy hệ thống cách chọn lọc − Audit: Who did what to which data when anh how (Ai làm với liệu và cách nào) − Trách nhiệm giải trình, hay cịn gọi giải trình (Accountability): Trách nhiệm tìm chứng minh nguồn gốc hoạt động xảy hệ thống − Hoạt động kiểm toán nhằm phục vụ cho hoạt động giải trình 1.2 Tại phải kiểm tốn? − Trách nhiệm giải trình từ hành động xảy lên liệu (schema, bảng, dòng …) − Kiểm tra hành động đáng nghi ngờ (suspicious activity) + Ví dụ: xóa liệu từ bảng … − Thông báo có người dùng khơng ủy quyền lại thao tác liệu mà địi hỏi phải có đủ quyền truy cập (truy cập vượt quyền) − Giám sát ghi lại hàng động xảy nhằm phát vấn đề trình định quyền điều khiển truy cập − Thống kê tình hình truy xuất tài ngun để có biện pháp cải thiện hiệu suât + Ví dụ: Dựa vào trường, bảng thường hay truy cập Chọn cách đánh mục thích hợp để tăng hiệu suất − Kiểm tốn để thỏa yêu cầu sách pháp lý (Compliance): Thể trách nhiệm với liệu khách hàng 1.3 Các sách (Compliances) − Các sách đưa quy định cần phải tuân thủ hướng dẫn cần thiết kiểm toán − Một số sách: + Health Insurance Portability and Accountability Act (HIPAA) + Sarbanes-Oxley Act + Graham-Leach-Bliley Act (GLBA) − Các 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 lựa chọn cơng nghệ 7 1.4 Khi kiểm tốn kiểm tốn gì? − Kiểm tốn thời điểm từ hệ thống bắt đầu hoạt động − Kiểm tốn gì? + Việc kiểm tốn làm giảm hiệu suất hệ thống + Chỉ nên kiểm tốn cần thiết − Trong sách Sarbanes-Oxley, phần 404 có đưa hoạt động cần phải kiểm toán: + + + + + + + + + Hoạt động người dùng có quyền Đăng nhập đăng xuất Những thay đổi Application trigger data trigger Thay đổi quyền mô tả thông tin người dùng Cấu trúc liệu bị thay đổi Các truy cập đọc ghi liệu nhạy cảm Những lỗi ngoại lệ Nguồn gốc hoạt động truy cập liệu Thời gian, tên chương trình , kích thước liệu, câu lệnh … − Quy trình kiểm tốn NIST đưa ra: Hình 1.4.1.1 Quy trình kiểm tốn NIST quy định 1.5 Các vấn đề kiểm tốn − − − − − Kiểm tốn cơng cụ, mục tiêu Nên sử dụng kết hợp kiểm toán bên kiểm toán bên ngồi Lưu trữ bảo mật thơng tin auditlog Tự động hóa giảm sát hoạt động kiểm tốn Kích thước audit log lớn, cần sử dụng công cụ kho liệu (data warehouse) khai phá liệu (data mining) để quản lý phân tích liệu audit log − Vấn đề tính riêng tư audit log 10 Chương KỸ THUẬT AUDIT TRONG CƠ SỞ DỮ LIỆU 2.1 Các yêu cầu kiểm tốn CSDL − Có khả hoạt động độc lập, cho phép theo dõi ghi nhận tất hoạt động hệ thống kể hoạt động người quản trị hệ thống − Có khả lưu trữ audit log cách an toàn bên ngồi CSDL − Có khả thu thập kết hợp hoạt động xảy nhiều loại DBMS (database management systems) khác + Không phụ thuộc vào DBMS cú pháp câu lệnh SQL ứng với DBMS − Có khả ngăn chặn người quản trị hệ thống chỉnh sửa xóa liệu audit log − Có khả đưa cảnh báo kịp thời cho người quản trị hệ thống có bất thường xảy hệ thống 2.2 Các phương pháp kiểm toán − − − − Kiểm toán application server log Kiểm toán mức ứng dụng (Application audit) Kiểm toán trigger Kiểm toán câu lệnh (command) 2.3 Các đối tượng cần kiểm toán − Các hoạt động đăng nhập/đăng xuất 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 đăng xuất − Kiểm toán nguồn gốc truy cập CSDL + Địa IP host name dùng để kết nối CSDL + Chương trình kết nối CSDL 11 − Kiểm tốn hoạt động truy cập CSDL ngồi làm việc + Các truy cập CSDL làm việc đáng nghi ngờ + Cần ghi lại truy cập CSDL làm việc trừ thao tác định − Kiểm toán thao tác thuộc ngôn ngữ định nghĩa liệu (Data Definition Language – DDL) + Rất quan trọng nhiều trường hợp DDL dùng để phá hoại hệ thống + Được quy định sách HIPAA + Phương pháp: dùng chức built-in DBMS, sử dụng hệ thống kiểm tốn bên ngồi, so sánh snapshot lược đồ (shema) theo thời gian − Các lỗi thao tác với CSDL + Các lỗi đăng nhập thất bại, SQL Injection dấu hiệu cơng + Các ứng dụng chứa lỗi gây lỗi: ví dụ sinh câu SQL sai cú pháp Có thể bị lợi dụng để công Sửa lỗi ứng dụng − Kiểm toán thay đổi mã nguồn trigger stored procedure + Kẻ cơng giấu đoạn mã độc hại vào trigger hay stored procedure − Kiểm toán thay đổi quyền người dùng thuộc tính bảo mật khác + Việc kiểm tốn bắt buộc: cơng vượt quyền + Các thơng tin cần lưu ý: Thêm/Xóa User/Login/Role Thay đổi quyền Role Thay đổi quyền role người dùng Thay đổi password 12 − Kiểm toán thay đổi liệu nhạy cảm + Ghi nhận thay đổi giá trị cũ giá trị thao tác thuộc ngôn ngữ thao tác liệu (Data Manipulation Language – DML) + Cần lọc liệu quan trọng kiểm tốn liệu kiểm tốn lớn (ví dụ: CSDL có 100 bảng với khoảng triệu transaction/ngày…) − Kiểm toán thay đổi audit log + Audit log cần bảo vệ không cho phép thay đổi + Phương pháp: sử dụng chức built-in CSDL hệ thống kiểm toán bên khác 13 Chương CASE STUDY: AUDIT TRONG SQL SEVER 3.1 Giới thiệu − Oracle kiểm toán người dùng: + Kiểm tốn truy cập thành cơng khơng thành cơng + Kiểm tốn người dùng, nhóm người dùng tất người dùng + Kiểm toán cấp phiên làm việc (session level) cấp truy cập (access level) − Kiểm toán cấp phiên làm việc (session level) cấp truy cập (access level) − Kiểm toán làm giảm hiệu suất hệ thống − Chỉ nên kiểm tốn cần thiết 3.2 Audit SQL 3.2.1 Bài toán đặt Trong hệ thống quản lý web bán thiết bị máy tính Phân thành hai nhóm quyền: admin nhanvien Tạo hai tài khoản đăng nhập tương ướng với hai nhóm quyền: admin nhanvien1.Tạo kiểm sốt hoạt động tài khoản Tạo kiểm soát nhập vào hệ thống để ngăn chặn kịp tình trạng người xấu cố cơng hệ thống Nhân viên kiểm sốt hoạt động insert, delete,update bảng menu, khách hàng để truy trách nhiệm có xảy mát hay sai sót cho nhân viên từ hoạt động lưu lại 14 3.2.2 Tạo Database Hình 3.2.2.1 Database hệ thống 3.2.3 Xử lý Audit tạo tài khoả ản đảng nhập phân nhóm quyềề n /****** Object: Login [quảnly] ******/ CREATE LOGIN [quảnly] WITH PASSWORD=N'PC06U/6Cl1y8uk7c/9w+MJHbPFIDkDc/uEtảqMENwKc=', DEFAULT_DATABASE=[QL_KHACHSAN], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON GO ALTER LOGIN [quảnly] DISABLE GO 15 ALTER SERVER ROLE [sysảdmin] ADD MEMBER [quảnly] GO /****** Object: Login [nhảnvien1] ******/ CREATE LOGIN [nhảnvien1] WITH PASSWORD=N'rZrhxYclWoKECảbVmEzB8kkmncou7DpI42gYkKA7Nco=', DEFAULT_DATABASE=[QL_KHACHSAN], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON GO ALTER LOGIN [nhảnvien1] DISABLE GO ALTER SERVER ROLE [sysảdmin] ADD MEMBER [nhảnvien1] GO tạo ảudit /****** Object: Audit [Audit] ******/ CREATE SERVER AUDIT [Audit-ALL] TO FILE ( FILEPATH = N'C:\Auditdemo\' ,MAXSIZE = 30 MB ,MAX_ROLLOVER_FILES = 2147483647 ,RESERVE_DISK_SPACE = OFF ) WITH ( QUEUE_DELAY = 1000 ,ON_FAILURE = CONTINUE 16 ,AUDIT_GUID = 'cb95ảfce-bả90-43d4-85b7-d672dc08be66' ) ALTER SERVER AUDIT [Audit-ALL] WITH (STATE = ON) GO -Tạo kiềả m soát cho dảtảbảse USE [QL_KHACHSAN] GO CREATE DATABASE AUDIT SPECIFICATION [KIEMSOAT_ALL] FOR SERVER AUDIT [Audit-ALL] ADD (SCHEMA_OBJECT_ACCESS_GROUP), ADD (SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP), ADD (DATABASE_CHANGE_GROUP), ADD (SCHEMA_OBJECT_CHANGE_GROUP) WITH (STATE = ON) GO -xem ảll: select *from fn_get_ảudit_file ( 'C:\Auditdemo\Audit-ALL_CB95AFCE-BA90-43D4-85B7D672DC08BE66_0_132408663382280000.sqlảudit', 17 defảult, defảult | initiảl_file_nảme defảult -defảult | ảudit_record_offset ) xem rút gọn: select event_time,ảction_id,server_principảl_nảme,server_instảnce_nảme,dảtảbảse_nả me,stảtement from fn_get_ảudit_file ( 'C:\Auditdemo\Audit-ALL_CB95AFCE-BA90-43D4-85B7D672DC08BE66_0_132408663382280000.sqlảudit', defảult, defảult | initiảl_file_nảme defảult -defảult | ảudit_record_offset ) 18 kiểm soát đăng nhập /****** Object: Audit [LOGIN_FAIL] ******/ CREATE SERVER AUDIT [LOGIN_FAIL] TO FILE ( FILEPATH = N'C:\Auditdemo\' ,MAXSIZE = 43 MB ,MAX_ROLLOVER_FILES = 2147483647 ,RESERVE_DISK_SPACE = OFF ) WITH ( QUEUE_DELAY = 1000 ,ON_FAILURE = CONTINUE ,AUDIT_GUID = 'd739d6cf-6d1c-4853-ả198-8e7744ả97bả7' ) ALTER SERVER AUDIT [LOGIN_FAIL] WITH (STATE = ON) 19 KẾT LUẬN − Thực trì việc kiểm toán bước quan trọng đảm bảo an tồn cho hệ thống − Kiểm tốn giúp phát vấn đề không giải vấn đề − Kiểm toán nhiều làm giảm hiệu suất hệ thống nên cần có sách kiểm tốn hợp lý: + + + + Chọn lọc đối tượng kiện cần kiểm toán Bảo vệ liệu kiểm tốn Quản lý kích thước audit log Phân tích liệu kiểm tốn thường xun để sớm phát vấn đề ... [KIEMSOAT_ALL] FOR SERVER AUDIT [Audit- ALL] ADD (SCHEMA_OBJECT_ACCESS_GROUP), ADD (SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP), ADD (DATABASE_CHANGE_GROUP), ADD (SCHEMA_OBJECT_CHANGE_GROUP) WITH (STATE... liệu (Data Manipulation Language – DML) + Cần lọc liệu quan trọng kiểm tốn liệu kiểm tốn lớn (ví dụ: CSDL có 100 bảng với khoảng triệu transaction/ngày…) − Kiểm toán thay đổi audit log + Audit log... CONTINUE 16 ,AUDIT_ GUID = ''cb95ảfce-bả90-43d4-85b7-d672dc08be66'' ) ALTER SERVER AUDIT [Audit- ALL] WITH (STATE = ON) GO -Tạo kiềả m soát cho dảtảbảse USE [QL_KHACHSAN] GO CREATE DATABASE AUDIT