Kiểm toán các hoạt động khai thác mạng là phương pháp hữu hiệu giúp cải thiện chính sách an ninh ngày càng phù hợp đối với một hệ thống thông tin trực tuyến. Ngoài ra kết quả Kiểm toán cũng có thể phát hiện các cuộc tấn công mạng khi đang “âm thầm” tiến hành hoặc ngay khi ở giai đoạn chuẩn bị. Mặc dầu vậy còn rất nhiều hệ thống thông tin trực tuyến ở Việt nam vẫn chưa coi trọng vai trò của kiểm toán an ninh. Mục tiêu của luận văn là xây dựng một mô hình kiểm toán an ninh nhằm chứng minh tầm quan trọng của Kiểm toán trong công tác đảm bảo An toàn thông tin. Để áp dụng mô hình Kiểm toán, chúng tôi đã xây dựng một Cổng thông tin (Portal) thử nghiệm “Quản lý điểm sinh viên của trường đại học Võ Trường Toản” trên Hệ thống nền nguồn mở Liferay. Kết quả của việc kiểm toán trên Hệ thống thông tin trực tuyến thử nghiệm này là các thống kê hoạt động người dùng khi truy cập hệ thống, nhận dạng các dấu hiệu vi phạm bao gồm vi phạm người dùng, dấu hiệu tấn công và kiểm toán trên hệ thống máy chủ. Kết quả của luận văn có thể được ứng dụng để hỗ trợ xây dựng một quy trình Kiểm toán an ninh hiệu quả và phù hợp cho một Hệ thống thông tin trực tuyến tại Việt nam. Từ khóa: kiểm toán, kiểm toán hệ thống trực tuyến, cổng thông tin điện tử, mô hình kiểm toán, kiểm toán nhật ký.
Trang 1PHẠM CHÍ VỌNG I
LỜI CAM ĐOAN
Tôi xin cam kết rằng toàn bộ nội dung luận văn “Xây dựng dịch vụ kiểm toán
an ninh các truy cập vào một hệ thống trực tuyến” được hoàn thành trên kết quả
nghiên cứu của tôi với sự hướng dẫn của Thầy TS Lê Quyết Thắng, ngoài trừ lý thuyết được ghi rõ trong phần tài liệu tham khảo của luận văn Luận văn này chưa được ai công bố trong bất kỳ công trình nào
Cần Thơ, ngày tháng năm 2016
Ký tên
Phạm Chí Vọng
Trang 2Đặc biệt, tôi xin được gởi lời cảm ơn sâu sắc tới Tiến sĩ Lê Quyết Thắng đã trực tiếp hướng dẫn, chỉ bảo tận tình để tôi hoàn thành tốt luận văn này
Cuối cùng, tôi xin chân thành cảm ơn các anh, chị, bạn bè và đồng nghiệp đã tạo điều kiện và khích lệ tôi hoàn thành luận văn của mình
Cần Thơ, ngày tháng năm 2016
Ký tên
Phạm Chí Vọng
Trang 3PHẠM CHÍ VỌNG III
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH v
DANH MỤC TỪ VIẾT TẮT vii
TÓM TẮT viii
ABSTRACT ix
Chương 1: GIỚI THIỆU 1
1.1 Mở đầu 1
1.1.1 Tổng quan 1
1.1.2 Phạm vi nghiên cứu 3
1.2 Cấu trúc luận văn 3
Chương 2: LÝ THUYẾT CƠ BẢN 5
2.1 An toàn hệ thống thông tin 5
2.1.1 Xây dựng hệ thống bảo mật 7
2.1.2 Chiến lược bảo mật hệ thống AAA 9
2.2 Cổng thông tin điện tử, Liferay, cấu trúc log 13
2.2.1 Khái niệm portal và portlet 13
2.2.2 Liferay portal [8][9] 13
2.2.3 Cấu trúc tập tin log 16
Chương 3: MÔ HÌNH KIỂM TOÁN 21
3.1 Xây dựng quy trình Quản lý rủi ro 21
3.2 Mô hình Kiểm toán an ninh trực tuyến 30
Chương 4: XÂY DỰNG HỆ THỐNG KIỂM TOÁN 35
4.1 Mô tả hệ thống 35
4.2 Xác định các mối đe dọa và các vùng dể tổn thương của hệ thống 37
4.3 Mối đe dọa từ hệ thống máy chủ 38
4.4 Phân tích kiểm soát 40
Trang 4PHẠM CHÍ VỌNG IV
4.5 Đánh giá, phân tích ảnh hưởng các mối đe dọa 42
4.6 Nhận định các mối rủi ro 43
Chương 5: MÔ HÌNH KIỂM TOÁN HỆ THỐNG 48
5.1 Xây dựng mô hình kiểm toán hệ thống 48
5.1.1 Kiểm toán trên hệ thống Liferay 49
5.1.2 Kiểm toán truy cập vào hệ thống web từ bên ngoài 53
5.1.3 Kiểm toán hệ thống trên máy chủ 59
5.2 Kết quả thực hiện 59
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
6.1 Kết quả đạt được 67
6.2 Hướng phát triển của đề tài 67
TÀI LIỆU THAM KHẢO 69
Trang 5PHẠM CHÍ VỌNG V
DANH MỤC HÌNH
Hình 2.1 Mô hình bảo mật thông tin CIA 5
Hình 2.2 Cấu trúc MVC trong Liferay 14
Hình 2.3 Service-builder phân chia code thành 2 tầng (javabeat.net) 15
Hình 2.4 Sơ đồ mô tả hoạt động log4j (logging.apache.org) 16
Hình 3.1 Quy trình quản lý rủi ro hệ thống [4] 22
Hình 3.2 Mô hình kiểm toán an ninh [4] 31
Hình 5.1 Mô hình hệ thống trực tuyến 48
Hình 5.3 Mô hình chuyển log vào cơ sở dữ liệu của Snort [1] 54
Trang 6PHẠM CHÍ VỌNG VI
DANH MỤC BẢNG
Bảng 2.1 Kế thừa của Logger level 18
Bảng 2.2 Các thông số của log4j 19
Bảng 3.1 Các tiêu chuẩn an ninh 25
Bảng 3.2 Khả năng xuất hiện mối đe dọa 27
Bảng 3.3 Định nghĩa mức độ ảnh hưởng các mối đe dọa 27
Bảng 3.4 Các cấp độ rủi ro 29
Bảng 3.5 Mô tả các cấp độ rủi ro 29
Bảng 4.1 Một số lỗ hỏng của Liferay (web.liferay.com) 39
Bảng 4.2 Phân loại các mối đe dọa hệ thống 42
Bảng 4.3 Phân loại mức độ ảnh hưởng rủi ro 43
Bảng 4.4 Ảnh hưởng của các mối đe dọa 43
Bảng 4.5 Phân loại mức độ ảnh hưởng của các mối đe dọa 43
Bảng 5.1 Kết quả thực nghiệm 1 65
Bảng 5.2 Kết quả thực nghiệm 2 66
Trang 7PHẠM CHÍ VỌNG VII
DANH MỤC TỪ VIẾT TẮT
AAA: Access control – Authentication - Auditing
ACLs: Access Control List
CIA : Confidentiality - Integrity - Availability
CMS: Content Management System
DAC: Discretionary Access Control
DDOS: Distributed Denial of Service
JCL: Apache common logging
MAC: Mandatory Access Control
MVC: Model–view–controller
NIST: National Institute of Standards and Technology
RBAC: Role Based Access Control
SOA: Service Oriented Architecture
SQL: Structured Query Language
WCM: Web Content Management
XSS: Cross-site Scripting
Trang 8PHẠM CHÍ VỌNG VIII
TÓM TẮT
Kiểm toán các hoạt động khai thác mạng là phương pháp hữu hiệu giúp cải thiện chính sách an ninh ngày càng phù hợp đối với một hệ thống thông tin trực tuyến Ngoài ra kết quả Kiểm toán cũng có thể phát hiện các cuộc tấn công mạng khi đang
“âm thầm” tiến hành hoặc ngay khi ở giai đoạn chuẩn bị Mặc dầu vậy còn rất nhiều
hệ thống thông tin trực tuyến ở Việt nam vẫn chưa coi trọng vai trò của kiểm toán
an ninh Mục tiêu của luận văn là xây dựng một mô hình kiểm toán an ninh nhằm chứng minh tầm quan trọng của Kiểm toán trong công tác đảm bảo An toàn thông tin Để áp dụng mô hình Kiểm toán, chúng tôi đã xây dựng một Cổng thông tin (Portal) thử nghiệm “Quản lý điểm sinh viên của trường đại học Võ Trường Toản” trên Hệ thống nền nguồn mở Liferay Kết quả của việc kiểm toán trên Hệ thống thông tin trực tuyến thử nghiệm này là các thống kê hoạt động người dùng khi truy cập hệ thống, nhận dạng các dấu hiệu vi phạm bao gồm vi phạm người dùng, dấu hiệu tấn công và kiểm toán trên hệ thống máy chủ Kết quả của luận văn có thể được ứng dụng để hỗ trợ xây dựng một quy trình Kiểm toán an ninh hiệu quả và phù hợp cho một Hệ thống thông tin trực tuyến tại Việt nam
Từ khóa: kiểm toán, kiểm toán hệ thống trực tuyến, cổng thông tin điện tử, mô
hình kiểm toán, kiểm toán nhật ký
Trang 9PHẠM CHÍ VỌNG IX
ABSTRACT
The audit of network exploiting activities is the effective method to help improve security policies more suitable to the online information system Additionally, auditing results may also realize the hidden network attacks or even attacks in the preparatory phase Nevertheless, many online systems in Vietnam have not highly appreciated the role of security audits yet The goal of the thesis is
to construct a model of the security audit to prove the importance of the audit in information security To test audit models, we have established an experimental portal, “System of Managing Student’s Marks" in Vo Truong Toan University, based on the system of Liferay opening source The result of the audit on the experimental system is the statistics on users' activities, the realization of violating signs from users, signs of attacks and the audit on the server system The result of the thesis can be applied to support to construct security audit processes effectively and suitably for online information systems in Vietnam
Keywords: audit, online system audit, portal, audit model, log audit
Trang 10“hiện trạng an toàn thông tin 2015” có đến 39% các tổ chức chưa quan tâm đến tình hình an toàn thông tin, chỉ có 10% hệ thống ghi nhận lại và phân tích các dấu hiệu bất thường, 26% các doanh nghiệp có kế hoạch đào tạo công nghệ thông tin, có 0,4% tổ chức triển khai các hệ thống an toàn thông tin Với các chỉ số thống kê trên, cho chúng ta thấy sự quan tâm của các cơ quan và doanh nghiệp về an toàn thông tin còn thấp Yêu cầu cấp thiết hiện nay là cần đẩy mạnh, nâng cấp khả năng đảm bảo an toàn thông tin một cách đa dạng và tùy mức độ an toàn cho các hệ thống thông tin trực tuyến Để xây dựng một hệ thống thông tin trực tuyến cần tiến hành đồng bộ 3 giải pháp căn bản:
- Xây dựng Chính sách an ninh (Security Policy) phù hợp với Hệ thống thông tin
- Xây dựng Quy trình Kiểm toán an ninh (Security Audit) phù hợp với Chính sách an ninh
- Áp dụng Mô hình Tin cậy (Trust Model) đáp ứng các yêu cầu về mức độ An toàn thông tin, đồng thời phải đáp ứng bốn tiêu chí: (1) An toàn Xác thực (Athentication), (2) Bảo mật hoặc Riêng tư (Confidentiality/Privacy) (3) Toàn vẹn (Integrity) và (4) Không thoái thác (Non-Repudiation)
Trong đó, giải pháp Kiểm toán an ninh đóng vai trò quan trọng hàng đầu nhằm Phát hiện vi phạm (bao gồm các cuộc tấn công) và Nâng cao khả năng Bảo mật và
Trang 11PHẠM CHÍ VỌNG 2
Quản lý rủi ro Kết quả Kiểm toán có thể cho biết các dấu hiệu bất thường xảy ra trong hệ thống, đảm bảo tính toàn vẹn, đồng thời cũng tạo ra các con số thống kê đáp ứng Chính sách an ninh của công ty đối với hệ thống thông tin trực tuyến
Từ kiểm toán được dịch từ Audit trong tiếng Anh Tuy nhiên, còn rất nhiều định nghĩa khác nhau về khái niệm kiểm toán nhất là kiểm toán trong hệ thống thông tin
vì kiểm toán hệ thống thông tin còn nhiều mới mẽ ở Việt Nam để hiểu rõ hơn khái niệm này chúng tôi xin đưa ra một định nghĩa dễ hiểu về kiểm toán hệ thống thông tin
Trong giáo trình kiểm toán của các tác giả Alvin A.Rens và James K.Loebbecker đã định nghĩa: “ Kiểm toán là quá trình các chuyên gia độc lập và có thẩm quyền thu thập và đánh giá các bằng chứng về các thông tin có thể định lượng được của một đơn vị cụ thể nhằm mục đích xác nhận và báo cáo về mức độ phù hợp giữa các thông tin này với các chuẩn mực đã được thiết lập”
Kiểm toán hệ thống thông tin là việc xem xét lại các hoạt động của các tiến trình trong hệ thống có tác động hoặc thực thi một tác vụ trong hệ thống thông tin (thông thường các tiến trình này được sinh ra từ các yêu cầu của người dùng) có thực hiện đúng với các chính sách an ninh áp đặt vào hệ thống thông tin hay không, thống kê các hoạt động người dùng, cảnh báo và đưa ra các báo cáo cho người kiểm toán hay người quản trị nhằm mục đích đánh giá tính an toàn, an ninh của hệ thống để từng bước hoàn thiện chính sách an ninh cho hệ thống thông tin Quá trình kiểm toán bao gồm 3 bước: ghi nhận sự kiện, nhận biết (hay phân tích sự kiện) các dấu hiệu vi phạm và cảnh báo 3 bước của quá trình có liên kết chặc chẽ và không thể tách rời Một dịch vụ Kiểm toán trực tuyến sẽ hỗ trợ tốt khả năng quản lý rủi ro và từ đó cải tiến thường xuyên chính sách an ninh Có như vậy thì hệ thống trực tuyến mới
có khả năng phòng ngừa ngày càng tốt các cuộc tấn công cũng như tăng cường khả năng kiểm soát các truy cập, lưu vết dữ liệu người dùng tạo ra một hệ thống đủ mạnh kiểm toán và toàn vẹn hệ thống
Ở nước ta, dịch vụ kiểm toán cho hệ thống thông tin còn chưa phổ biến và trước
yêu cầu về an ninh hệ thống thông tin ngày càng lớn nên chúng tôi đề nghị “Xây dựng dịch vụ kiểm toán an ninh các truy cập vào một hệ thống trực tuyến” với
mục tiêu là tạo ra một mô hình mẫu để có thể áp dụng dễ dàng vào các hệ thống trực tuyến tăng cường khả năng bảo mật và tạo ra các báo cáo vi phạm các chính sách an ninh
Trang 12PHẠM CHÍ VỌNG 3
Mục tiêu nghiên cứu:
Phân tích mô hình quản lý rủi ro theo chuẩn NIST [4] nắm được các bước tiến hành đánh giá rủi ro hệ thống thông tin, mô hình kiểm toán an ninh theo 3 tầng trong đó đặc biệt chú ý phần kiến thức ghi nhận nhật ký hoạt động truy cập làm nền tảng cho việc ghi nhận các vi phạm chính sách cho hệ thống
Áp dụng mô hình vừa phân tích đưa các chính sách an ninh vào kiểm toán mô hình thử nghiệm, đồng thời tạo ra các kịch bản vi phạm chính sách để đưa ra các thống kê hoạt động, cảnh báo vi phạm nhằm đánh giá hiệu quả mô hình
Tìm hiểu mô hình an ninh hệ thống thông tin áp dụng các chuẩn an ninh vào hệ thống trực tuyến, kết hợp với phần mềm kiểm toán khác nhằm đảm bảo các chính sách an ninh được thực thi đúng, và ghi nhận thêm nhiều các vi phạm chính từ nhiều cấp độ
1.1.2 Phạm vi nghiên cứu
Sử dụng một mô hình mẫu để tạo ra một hệ thống kiểm toán cơ bản áp dụng cho một hệ thống trực tuyến dựa trên các chính sách an ninh đã được triển khai Kết quả của nghiên cứu là kiểm toán trực tuyến bằng cách tạo và tổng hợp các thông tin log trên hệ thống thông tin, hệ điều hành và hệ thống phát hiện tấn công (Snort) để tạo
ra các thống kê dữ liệu Các số liệu thống kê này có thể sử dụng để đánh giá các vi phạm cũng như hậu quả của các cuộc tấn công qua đó cải tiến chính sách an ninh và tăng cường khả năng đảm bảo an toàn của hệ thống
1.2 Cấu trúc luận văn
Chương 1: Giới thiệu
Giới thiệu tổng quan về đề tài, xác định mục tiêu, phạm vi nghiên cứu Trình bày
bố cục trong luận văn
Chương 2: Lý thuyết cơ bản
Trình bài lý thuyết cơ bản về An toàn thông tin, hệ thống Liferay, hệ thống log file trong Tomcat, giới thiệu môi trường phát triển cổng thông tin điện tử
Chương 3: Mô hình kiểm toán
Trình bày Mô hình Kiểm toán trên nền Hệ thống quản lý rủi ro (Risk Management System) theo chuẩn NIST với 9 bước
Trang 13PHẠM CHÍ VỌNG 4
Chương 4: Kiểm toán hệ thống và kết quả thực hiện
Xây dựng Bài toán quản lý rủi ro cho Hệ thống quản lý điểm sinh viên theo chuẩn NIST được trình bày ở chương 3
Chương 5: Kết quả thực hiện
Ghi nhận kết quả DEMO hệ thống
Chương 6: Kết luận và hướng phát triển
Trang 14PHẠM CHÍ VỌNG 5
Chương 2: LÝ THUYẾT CƠ BẢN
2.1 An toàn hệ thống thông tin
Bảo mật hệ thống thông tin là vấn đề rất quan trọng và cần đặc biệt xem trọng nhất là hệ thống trực tuyến với rất nhiều các nguy cơ từ môi trường mạng Bảo mật
hệ thống thông tin tốt, tức là tính an toàn của hệ thống được đảm bảo và do đó hệ thống hoạt động sẽ ổn định
Đặc trưng của một hệ thống thông tin bảo mật phải đảm bảo 3 tiêu chí sau [5]:
- Tính bí mật của thông tin (Confidentiality)
- Tính toàn vẹn của thông tin (Integrity)
- Tính khả dụng của thông tin (Availability)
Mô hình bảo mật hệ thống với ba tiêu chí trên được gọi là mô hình bảo mật CIA
Hình 2.1 Mô hình bảo mật thông tin CIA
Tính bí mật của thông tin (Confidentiality)
Trang 15PHẠM CHÍ VỌNG 6
Thông tin của cá nhân, tổ chức có giá trị khác nhau và chúng cần được bảo mật Tính bí mật của thông tin là việc giới hạn đối tượng truy xuất đến thông tin Đối tượng có thể là con người, phần mềm, bao gồm các phần mềm virus…
Tính bí mật của thông tin được chia làm nhiều cấp độ, các thông tin đặc biệt quan trọng, thì càng được giữ bí mật bằng nhiều tầng, nhiều lớp, nhiều hình thức bảo mật khác nhau Các hình thức bảo mật bao gồm bảo mật mức vật lý, mã hóa, cài mật khẩu… trong đó mã hóa thông tin là phương pháp hiệu quả và được sử dụng phổ biến hiện nay, kết hợp với xác thực người dùng và các chính sách an ninh tạo nên một hệ thống bảo mật thông tin khá toàn vẹn được áp dụng hầu hết các hệ thống
Bí mật thông tin được xem xét với 2 góc độ là sự tồn tại của thông tin và nội dung của thông tin; cả hai đều cực kì quan trọng trong việc bảo vệ an toàn thông tin Nếu biết sự tồn tại của tin thì với nhiều phương thức những đối tượng muốn có thông tin sẽ tìm nhiều cách tiếp cận và lấy thông tin Vì thế thay vì xuất ra những cảnh báo rõ ràng khi một người đăng nhập không thành công (tài khoản không tồn tại, nhập sai mật khẩu) thì hệ thống sẽ xuất thông báo “bạn nhập sai tài khoản hoặc mật khẩu” để bảo mật các thông tin hệ thống Mã hóa các thông tin quan trọng, truyền đi trong môi trường mạng cũng được quan tâm để đảm bảo tính bảo mật thông tin
Tính toàn vẹn của thông tin (Integrity)
Sự toàn vẹn thông tin là sự tồn tại nguyên vẹn của thông tin, loại trừ mọi sự thay đổi thông tin có chủ đích hoặc hư hỏng, mất mát thông tin do sự cố thiết bị hoặc phần mềm
Tính toàn vẹn được xem xét trên hai khía cạnh:
- Sự nguyên vẹn của nội dung thông tin: các thông tin cần được giữ nguyên vẹn
và không được can thiệp bởi các yếu tố không mong muốn Mỗi thông tin có cơ chế
so sánh tính toàn viện với thông tin góc đảm bảo an toàn và sai sót khi truyền đến nơi nhận
- Xác thực nguồn gốc của thông tin: nguồn góc thông tin là quan trọng trong ngữ cảnh có ý nghĩa tương đương với sự đảm bảo tính không thể chối cãi (non-repudiation) của thông tin Các cơ chế đảm bảo sự toàn vẹn của thông tin được chia
thành 2 loại: các cơ chế ngăn chặn (Prevention mechanisms) và các cơ chế phát hiện (Detection mechanisms)
Trang 16PHẠM CHÍ VỌNG 7
Cơ chế ngăn chặn có chức năng ngăn cản các hành vi trái phép làm thay đổi nội
dung và nguồn gốc của thông tin Các hành vi này bao gồm 2 nhóm: hành vi cố gắng thay đổi thông tin khi không được phép truy xuất đến thông tin và hành vi thay đổi thông tin theo cách khác với cách đã được cho phép Nếu như tính bí mật của thông tin chỉ quan tâm đến việc thông tin có bị tiết lộ hay không, thì tính toàn vẹn của thông tin vừa quan tâm tới tính chính xác của thông tin và cả mức độ tin cậy của thông tin Các yếu tố như nguồn gốc thông tin, cách thức bảo vệ thông tin trong quá khứ cũng như trong tương lai
Cơ chế phát hiện thực hiện chức năng giám sát và thông báo khi nhận thấy có
thay đổi diễn ra trên thông tin bằng cách phân tích sự kiện diễn ra trên hệ thống, dữ liệu, nó không thực hiện chức năng ngăn chặn các hành vi truy xuất trái phép đến thông tin
Tính khả dụng của thông tin (Availability)
Tính khả dụng của thông tin là tính sẵn sàng của hệ thống cho các nhu cầu truy xuất hợp lệ Tính khả dụng là một yêu cầu sống còn của hệ thống trực tuyến, bởi vì một hệ thống tồn tại nhưng không sẵn sàng cho người dùng khai thác thì cũng giống như không tồn tại hệ thống Một hệ thống thông tin khả dụng cao là một hệ thống làm việc trôi chảy, hiệu quả và có khả năng phục hồi nhanh chóng nếu có sự cố xảy
ra Trên thực tế, tính khả dụng được xem là nền tảng của một hệ thống bảo mật, bởi
vì khi hệ thống mất sẵn sàng thì việc đảm bảo 2 đặc trưng còn lại sẽ trở nên vô nghĩa
Với tầm quan trọng của tính khả dụng hệ thống trực tuyến các hacker lợi dụng
để đánh vào nó làm hệ thống không còn khả năng phục vụ các yêu cầu hợp lệ như các cuộc tấn công từ chối dịch vụ đang rất phổ biến và chưa có phương pháp hiệu quả để bảo vệ hệ thống
2.1.1 Xây dựng hệ thống bảo mật
Thông thường hệ thống bảo mật được đề cập bằng hai khái niệm là:
Chính sách bảo mật (Security policy): là hệ thống các chính sách nhằm đảm bảo
an toàn hệ thống Hệ thống chính sách này bao gồm nhiều hệ thống chính sách khác nhau như chính sách nhân sự, chính sách bảo vệ hệ thống, chính sách an toàn thông tin… Tùy thuộc vào đặc điểm của công ty, chức năng của hệ thống thông tin mà người dùng có những chính sách riêng Các chính sách này càng rõ ràng, bao quát thì càng hiệu quả Các chính sách này không ngừng được cải tiến để cập nhật các lỗ
Trang 17- Ngăn chặn các nguy cơ gây ra vi phạm chính sách
- Phát hiện các hành vi vi phạm chính sách
- Hạn chế hậu quả của rủi ro khi có vi phạm xảy ra
Mục tiêu của hệ thống bảo mật
Để thực hiện mô hình CIA, quản trị viên của hệ thống cần định nghĩa các trạng thái an toàn của hệ thống qua chính sách bảo mật, đồng thời thiết lập các cơ chế bảo mật để bảo vệ chính sách đó Một hệ thống thông tin lý tưởng là hệ thống [7]:
- Có các chính sách xác định một cách chính xác, đầy đủ các trạng thái an toàn của hệ thống;
- Có cơ chế áp dụng, thực thi đầy đủ và hiệu quả các quy định trong chính sách Tuy nhiên trong thực tế, rất khó xây dựng những hệ thống như vậy do có những hạn chế về mặc kỹ thuật, về con người hoặc do chi phí thiết lập cơ chế cao hơn lợi ích
mà hệ thống an toàn đem lại Do vậy, khi xây dựng một hệ thống bảo mật, thì mục tiêu đặt ra cho cơ chế được áp dụng phải bao gồm 3 phần sau:
Ngăn chặn (prevention): mục tiêu là ngăn chặn các vi phạm các chính sách Có
nhiều hành vi dẫn đến vi phạm chính sách Có những hành vi đã được nhận diện là nguy cơ của hệ thống nhưng có những hành vi chưa được ghi nhận là nguy cơ Hành vi vi phạm có thể đơn giản như việc để lộ mật khẩu cá nhân, quên thoát khỏi
hệ thống khi rời khỏi máy tính, … hoặc có những hành vi có chủ đích như cố gắng tấn công vào hệ thống
Phát hiện (detection): tập trung vào các sự kiện vi phạm chính sách đã, đang
hoặc sẽ xảy ra trên hệ thống Thực hiện các cơ chế phát hiện nói chung rất phức tạp, phải dựa trên nhiều kỹ thuật, nhiều nguồn thông tin khác nhau Cơ bản, các cơ chế phát hiện xâm nhập chủ yếu dựa vào việc theo dõi và phân tích các thông tin trong tập tin nhật ký hệ thống và dữ liệu đang lưu thông trên mạng để tìm ra các dấu hiệu
Trang 18PHẠM CHÍ VỌNG 9
của vi phạm Các dấu hiệu vi phạm này (signature) thường phải được nhận diện trước và mô tả trong một cơ sở dữ liệu của hệ thống (rule)
Phục hồi (recovery): bao gồm các cơ chế nhằm chặn đứng các vi phạm đang
diễn ra (response) hoặc khắc phục hậu quả của vi phạm một cách nhanh chóng nhằm giảm mức độ thiệt hại Tùy theo mức độ nghiêm trọng của sự cố mà có các cơ chế phục hồi riêng Có những sự cố đơn giản và việc phục hồi có thể thực hiện tự động mà không cần sự can thiệp của con người, nhưng có những sự cố phức tạp và nghiêm trọng yêu cầu phải áp dụng những biện pháp phức tạp để phục hồi và mất rất nhiều thời gian
2.1.2 Chiến lược bảo mật hệ thống AAA
AAA (Access control, Authentication, Auditing) được xem là mô hình cơ bản nhất, là chiến lược, nền tảng nhất để thực thi các chính sách bảo mật trên một hệ thống theo mô hình CIA
Cơ sở của mô hình này như sau:
- Quyền truy xuất đến các tài nguyên trong hệ thống được xác định một cách tường minh và được gán cho các đối tượng xác định trong hệ thống
- Mỗi khi có một đối tượng muốn vào hệ thống để truy xuất tài nguyên, nó phải được xác thực bởi hệ thống để chắc chắn rằng đây là một đối tượng có quyền truy xuất đến tài nguyên
- Sau khi đã được xác thực, tất cả các thao tác của đối đượng đều phải được theo dõi, ghi nhật ký để đảm bảo đối tượng không thể thực hiện qúa quyền hạn của mình
và truy vết các vi phạm
Điều khiển truy xuất
Điều khiển truy xuất (Access control) được xác định là một quy trình được thực thi bởi một thiết bị phần cứng, một phần mềm, có tác dụng chấp thuận hay từ chối một sự truy xuất cụ thể đến một tài nguyên cụ thể Điều khiển truy xuất được thực hiện theo 3 mô hình cơ bản sau đây:
Mô hình điều khiển truy xuất bắt buộc (Mandatory Access Control_MAC): là
mô hình điều khiển truy xuất được áp dụng bắt buộc đối với toàn hệ thống Trong hầu hết các hệ điều hành, cơ chế điều khiển truy xuất bắt buộc được tích hợp sẵn trong hệ điều hành đó, và có tác dụng đối với tất cả các tài nguyên và đối tượng trong hệ thống, người dùng không thể thay đổi được Những đặc điểm phân biệt của
mô hình điều khiển truy xuất bắt buộc:
Trang 19Mô hình điều khiển truy xuất tự do (Discretionary Access Control_DAC): là
mô hình điều khiển truy xuất trong đó việc xác lập quyền truy xuất đối với từng tài nguyên cụ thể do người chủ sở hữu (người tạo) của tài nguyên đó quyết định Đây
là mô hình được sử dụng phổ biến nhất, xuất hiện trong hầu hết các hệ điều hành máy tính
Đặc điểm của mô hình điều khiển truy xuất tự do:
- Không áp dụng mặc định trên hệ thống
- Người chủ sở hữu của tài nguyên thường là người tạo ra tài nguyên đó hoặc người chủ sơ hữu gán quyền sở hữu, có toàn quyền điều khiển việc truy cập đến tài nguyên
- Quyền điều khiển truy cập trên một tài nguyên có thể được chuyển từ đối tượng này sang đối tượng khác
Mô hình điều khiển truy xuất theo chức năng (Role Based Access Control_RBAC): là mô hình điều khiển truy xuất dựa trên vai trò của từng người sử
dụng trong hệ thống Vấn đề quan trọng trong mô hình điều khiển truy xuất theo chức năng là định nghĩa các quyền truy xuất cho từng nhóm đối tượng tùy theo chức năng, nhiệm vụ của các đối tượng đó Việc này được định nghĩa ở mức hệ thống và được áp dụng cho tất cả các đối tượng Cơ chế quản lý theo nhóm của Windows chính là sự mô phỏng của mô hình này Trong cơ chế này, người sử dụng được gán làm thành viên của một hoặc nhiều nhóm trong hệ điều hành, việc phân quyền truy xuất đến các tài nguyên được thực hiện đối với các nhóm chứ không phải đối với từng tài khoản, khi đó các người dùng thành viên trong nhóm thỏa nhận được quyền truy xuất như nhau một cách mặc định Việc thay đổi quyền truy xuất đối với từng người dùng riêng biệt được thực hiện bằng cách chuyển người dùng đó sang nhóm khác
Đặc điểm phân biệt của mô hình điều khiển truy xuất theo chức năng:
- Quyền truy xuất được cấp dựa vào công việc của người dùng trong hệ thống
Trang 20PHẠM CHÍ VỌNG 11
- Linh động hơn mô hình điều khiển MAC, người quản trị hệ thống có thể cấu hình lại quyền sử dụng cho từng nhóm chức năng hoặc thay đổi thành viên trong nhóm
- Thực hiện đơn giản hơn mô hình DAC, không cần phải gán quyền truy xuất trực tiếp cho từng tài khoản
Xác thực:
Xác thực (Authentication) là một thủ tục có chức năng nhận dạng (identity) một
đối tượng trước khi trao quyền truy xuất cho đối tượng này đến tài nguyên của hệ thống Trong nhiều môi trường khác nhau thì có nhiều kỹ thuật khác nhau được áp dụng để thực thi cơ chế xác thực Cơ chế xác thực dùng tên đăng nhập và mật khẩu
là cơ chế phổ biến và vẫn còn được sử dụng rộng rãi hiện nay Khi việc xác thực được thực hiện thông môi trường qua mạng, hệ thống cần thực hiện việc mật mã hoá tên đăng nhập và mật khẩu trước khi truyền đi để tránh bị tiết lộ thông tin Một
số kỹ thuật tiên tiến hơn được dùng trong xác thực như thẻ thông minh (Smartcard), chứng thực số (digital certificate), các thiết bị nhận dạng sinh trắc học (biometric devices),…Để tăng độ tin cậy của cơ chế xác thực, nhiều kỹ thuật được sử dụng phối hợp nhau gọi là multi-factor authentication
Thường có hai phương thức xác thực: xác thực một chiều (one way authentication) và xác thực hai chiều (mutual authentication):
Phương thức xác thực một chiều chỉ cung cấp cơ chế để một đối tượng (thường
là server) kiểm tra nhận dạng của đối tượng khách hàng mà không cung cấp cơ chế kiểm tra ngược Xét trường hợp một người sử dụng đăng nhập vào một hộp thư điện
tử thông qua dịch vụ web (web mail) Người sử dụng phải cung cấp tên đăng nhập
và mật khẩu đúng thì mới được phép truy xuất hộp thư Để đánh cắp mật khẩu, tài khoản của người dùng, kẻ tấn công có thể xây dựng một trang web rất giống với giao diện của máy chủ cung cấp dịch vụ và đánh lừa người sử dụng kết nối đến trang web này Do không có cơ chế xác thực máy chủ, người sử dụng không biết đây là một máy chủ giả mạo nên sẽ cung cấp tên đăng nhập và mật khẩu và máy chủ giả mạo sẽ lấy thông tin này khai thác trên máy chủ thực sự
Phương thức kiểm tra hai chiều cho phép hai đối tượng tham gia giao tác xác thực lẫn nhau, do đó tính chính xác của quá trình xác thực được đảm bảo Giao thức bảo mật SSL (Secure Sockets Layer) dùng trong dịch vụ web cung cấp cơ chế xác thực hai chiều dùng chứng thực số
Trang 21PHẠM CHÍ VỌNG 12
Kiểm toán (Auditing) là cơ chế dùng để theo dõi hoạt động của hệ thống, ghi nhận các hành vi diễn ra trên hệ thống (ghi nhật ký) và liên kết các hành vi này với các tác nhân gây ra hành vi tạo nên bằng chứng ghi nhận các vi phạm của người dùng
Các mục tiêu của kiểm toán:
- Cung cấp các thông tin cần thiết cho việc phục hồi dữ liệu hệ thống khi gặp sự
cố
- Đánh giá mức độ an toàn của hệ thống, kiểm tra các chính sách an ninh để có
kế hoạch nâng cấp kịp thời
- Cung cấp các thông tin (các dữ liệu ghi nhận nhật ký) làm chứng cứ cho việc phát hiện các hành vi chính sách an ninh trên hệ thống Trong một hệ thống tin cậy thì việc kiểm tra là một yêu cầu quan trọng, cần được duy trì thường xuyên bởi vì
nó đảm bảo rằng các hành vi của bất kỳ người dùng nào trong hệ thống cũng đều được theo dõi để đảm bảo rằng hành vi đó diễn ra đúng theo các chính sách an ninh
đã được định nghĩa trên hệ thống Nguyên tắc chung khi xây dựng các hệ thống an toàn là chia nhỏ các thủ tục thành nhiều công đoạn được thực hiện bởi nhiều tác nhân, do đó việc thực hiện hoàn chỉnh một thủ tục yêu cầu phải có sự tham gia của nhiều tác nhân Đây là cơ sở để thực thi các cơ chế kiểm toán
Các thành phần của hệ thống kiểm toán:
- Logger: Ghi lại thông tin giám sát (ghi nhật ký) trên hệ thống
- Analyzer: Phân tích kết quả kiểm toán
- Notifier: thông báo về tính an toàn của hệ thống dựa trên kết quả phân tích Đồng thời với cơ chế kiểm toán thường xuyên trên hệ thống, việc kiểm tra hệ thống định kỳ có chức năng kiểm tra và phát hiện các lỗ hỗng kỹ thuật ảnh hưởng đến sự an toàn của hệ thống Các chức năng có thể thực hiện bởi các hệ thống tự động hoặc các chuyên gia một số lỗi máy tính thường gặp:
- Kiểm tra việc tuân thủ chính sách mật khẩu
- Đánh giá khả năng xâm nhập vào hệ thống từ bên ngoài
- Kiểm tra phản ứng của hệ thống (quét lỗ hỏng, tạo kịch bản tấn công) để kịp thời phát hiện vá các lỗi này
Trang 22PHẠM CHÍ VỌNG 13
2.2 Cổng thông tin điện tử, Liferay, cấu trúc log
2.2.1 Khái niệm portal và portlet
Portal hay cổng thông tin điện tử được coi là một bước tiến trong kiến trúc web truyền thống Portal được hiểu đơn giản là sự tích hợp các dịch vụ, các ứng dụng để
có được một ứng dụng hoàn chỉnh hơn cho các yêu cầu của doanh nghiệp Điểm lợi lớn nhất của portal là khả năng tích hợp các dịch vụ, các ứng dụng sẵn có (hướng dịch vụ) để tạo nên một hệ thống mới hoàn chỉnh tích hợp nhiều nội dung khác nhau như các trang yahoo, google là các ví dụ tiêu biểu cho cổng thông tin điện tử
vì các trang này tích hợp rất nhiều dịch vụ khác nhau như tin tức, mail, lưu trữ… tạo nên một hệ thống lớn mà các tài khoản có thể đăng nhập 1 lần và sử dụng mọi dịch
vụ trên hệ thống
Một cách nói khác của portal là từ một hệ thống lớn sẽ được chia nhỏ ra thành các thành phần con, các thành phần này được phát triển độc lập theo chuẩn của cổng thông tin điện tử rồi từ các thành phần này sẽ được tích hợp lại thành hệ thống portal Các thành phần được tách ra như trên được gọi là các portlet
2.2.2 Liferay portal [8][9]
Liferay portal là một khung nền (framework) mã nguồn mở để phát triển cổng thông tin Liferay cung cấp một giao diện web cho việc phát triển các portal và các portlet riêng lẻ
Liferay portal được xem là một môi trường tốt nhất để xây dựng các cổng thông tin điện tử hiện nay vì nó luôn được cập nhật các công nghệ mới nhất, hỗ trợ nhiều kênh thông tin, các chuẩn phát triển ứng dụng với dạng dịch vụ web Liferay sử dụng các chuẩn phổ biến như JSR 168/JSR 286 Các portal phát triển trên Liferay được hỗ trợ các CMS và WCM giúp người dùng cuối quản lý hệ thống Liferay hỗ trợ một số lượng lớn các portlet như blog, calendar, web form, webmail, RSS… và một lượng lớn các plugin phục vụ các yêu cầu người dùng Đồng thời Liferay cũng
hỗ trợ mạnh mẽ các ngôn ngữ lập trình phổ biến hiện nay như AJAX, CSS3, HTML5… đặc biệt là mô hình lập trình MVC
Liferay xây dựng trên sức mạnh của kiến trúc SOA bao gồm một tập hợp các công cụ và framework để xây dựng các portlet theo chuẩn của SOA Với lợi thế này các portlet được tạo ra sẽ có thể tích hợp vào nhiều nền tảng khác, một lượng lớn các thiết bị từ truyền thống tới các thiết bị hiện đại như điện thoại thông minh Ngoài ra với các phiên bản được cập nhật liên tục được phát triển bởi cộng đồng
Trang 23Liferay được coi là môi trường phát triển các portlet tốt nhất hiện nay với nhiều
ưu điểm vượt trội MVC là mô hình được Liferay tích hợp vào môi trường Liferay IDE Để xây dựng một MVC portlet ta cần:
Liferay IDE + Eclipse + Liferay Plugins SDK 6.2+Tomcat 7.0 Liferay Portal Bundle
Một yêu cầu được gửi đến server một Front controller sẽ tiếp nhận yêu cầu điều hướng đến một Model thích hợp các Model này có nhiệm vụ xử lý các yêu cầu bao gồm các phương thức xử lý dữ liệu, truy xuất database, thực hiện các công thức tính toán… sau khi xử lý xong các yêu cầu của người dùng model trả về các dữ liệu cho controller Controller tiếp tục đưa các dữ liệu này vào thành phần View (như một giao diện trả về cho người dùng) Controller chuyển giao diện phản hồi lại cho người yêu cầu và kết thúc yêu cầu Sau khi tích hợp Liferay IDE và Liferay SDK vào eclipse ta sẽ tạo mới một portlet với kiến trúc MVC
Trên eclipse chọn new Liferay plugin project >Liferay MVC, cấu trúc
MVC trong Liferay được tạo như hình dưới đây
Hình 2.2 Cấu trúc MVC trong Liferay
Các thư mục chính của mô hình MVC gồm docroot/WEB-INF/src chứa các lớp
mà ta xây dựng, các lớp được tạo ra trong quá trình build các tập tin Ngoài ra, thư
Trang 24portlet.xml: chứa các thông tin định nghĩa portlet như tên portlet, tên hiển thị,
class, theme, quyền truy câp portlet…
service.xml: chứa cấu hình của service-builder đây là một file quan trọng của
portlet để tạo các bảng lên cơ sở dữ liệu thông qua các biên dịch của ANT Biên dịch sẽ tạo ra các loại class chính sau: model, persistance và service; Model class là các class thể hiện các entity:
Persistance class là class có nhiệm vụ tương tác với database Service class là các class đóng vai trò là trung gian giữa portlet và persistence Service thì có 2 loại
đó là local service và remote service Service-builder phân chia code thành 2 tầng riêng biệt đó là: interface và implementation Phần interface được lưu tại thư mục service trong WEB-INF, phần này sẽ được đóng gói thành file jar trong thư mục lib của project khi thực hiện lệnh ant build-service Lưu ý không sửa phần này Implementation thì lưu vào thư mục src của project Developer có thể thay đổi phần này
Hình 2.3 Service-builder phân chia code thành 2 tầng (javabeat.net)
Service-builder sẽ tạo class với đầy đủ các chức năng cơ bản để tương tác cơ sở
dữ liệu bao gồm: add, update, delete, findAll, findByPrimaryKey…
Trang 25PHẠM CHÍ VỌNG 16
Ở portlet phải gọi các dịch vụ tương tác với cơ sở dữ liệu thông qua các class Util của nó (ví dụ: SinhvienLocalServiceUtil)
2.2.3 Cấu trúc tập tin log
Log Apache Tomcat được phát triển từ Apache common logging (JCL) là thư viện hầu hết các cấu trúc log khác của apache Thư viện này cung cấp khả năng ghi log linh hoạt và mạnh mẽ cho ứng dụng web
Từ Tomcat 6.0, Tomcat sử dụng các gói triển khai của JCL cho phép các ứng dụng web có thể linh hoạt hơn trong việc ghi và định dạng log đó là java.util.logging, log4j… mặc định thì ứng dụng web sẽ dùng java.util.logging nhưng log4j lại được cộng đồng sử dụng nhiều hơn và cũng có nhiều tài liệu chỉ dẫn hơn nên chúng tôi sẽ dùng log4j để ghi log cho chương trình
o Giới thiệu log4j
Mô hình hoạt động của log4j được biểu diễn bằng sơ đồ sau:
Hình 2.4 Sơ đồ mô tả hoạt động log4j (logging.apache.org)
Ban đầu các ứng dụng sử dụng log4j API yêu cầu một logger với một tên xác định từ LogManager
LogManager sẽ xác định một LoggerContext thích hợp cho Logger Nếu Logger được tạo nó sẽ liên kết với LoggerConfig nơi mà logger sẽ lấy ra các biến, cấu hình
Trang 26PHẠM CHÍ VỌNG 17
để thực hiện việc ghi log bao gồm các Appenders để điều hướng, định dạng cấu trúc log
o Hệ thống cấu trúc log4j
Để định nghĩa một lớp được ghi log ta có thể định nghĩa như sau:
Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME); hay
Logger logger = LogManager.getRootLogger();
Cấu trúc log4j cũng được phân cấp cha (parent), con (child), tiền bối (ancestor) như java là cha của java.until; java là tiền bối của java.util.logging RootLogger là cấp bậc cao nhất trong cấu trúc ghi log của một lớp Tất cả các logger khác sẽ được ghi log thông qua LogManager.getLogger
LoggerContext: được xem như điểm mỏ neo trong hệ thống log, nó chứa tất cả các yêu cầu ghi log của hệ thống và một danh sách tham chiếu đến configuration Configuration: mỗi LoggerContext sẽ có một Configuration Configuration này bao gồm các Appenders, context-wide Filters, LoggerConfigs Hệ thống luôn có một Configuration và người phát triển có thể tùy biến bằng một Configuration, khi
có một Configuration mới thì cấu trúc Configuration củ được bỏ qua
Logger: một logger được tạo khi gọi đến LogManager.getLogger Logger không
tự nó thực hiện các hành động mà nó thực hiện liên kết tới LoggerConfig Mỗi Logger có thể liên kết đến nhiều LoggerConfig khác nhau
Khi gọi LogManager.getLogger phương thức này sẽ liên kết chính xác tới chính xác một lớp mà nó tham chiếu tới
ví dụ:
Logger x = LogManager.getLogger("wombat");
Logger y = LogManager.getLogger("wombat");
x,y sẽ tham chiếu đến cùng một đối tượng Logger
LoggerConfig: là đối tượng được tạo khi các Logger được khai báo LoggerConfig chứa đựng các Filters cho phép các LogEvent đi qua nó trước khi đến được bất cứ Appenders nào được sử dụng để ghi nhận các dữ liệu log
Log Levels
Trang 27LoggerConfig Level
Logger Level
Các lớp con Logger kế thừa LoggerConfig của lớp tiền bối Root khi không được định nghĩa Nếu Root không tham chiếu đến một Loggerconfig nào thì level mặc định là DEBUG
Filter (Bộ lộc): giống như bộ lộc của tường lửa, các Filter của Log4j thực hiện việc lộc sự kiện trước khi nó có thể được thực hiện trước khi đưa vào LoggerConfig hoặc thực hiện sau LoggerConfig nhưng trước khi đi qua bất kỳ một Appender nào hoặc sau khi qua LoggerConfig nhưng trước khi qua một Appender xác định, hoặc qua mỗi Appender Filter trả về ba giá trị là Accept, Deny hoặc Neutral Accept là
sự kiện được chấp nhận và không cần thông qua bất cứ một filter nào khác Deny nghĩa là sự kiện ngay lập tức được hủy bỏ Meutral nghĩa là sự kiện tiếp tục được đưa sang một filter khác
Mặc dù sự kiện được thông qua các Filter nhưng nó vẫn chưa được ghi log ngay lập tức mà nó còn phải được chấp nhận bởi bộ lọc của LoggerConfig hoặc định nghĩa của Appender
Appender: là khả năng lựa chọn cho phép hay không việc ghi log qua các phương thức khác nhau Log4j cho phép ghi log qua nhiều dạng khác nhau như màn hình, file, remote socket
Một Appender có thể được thêm vào Logger bởi việc gọi phương thức addLoggerAppender Mỗi yêu cầu ghi log sẽ được logger chuyển qua tất cả các Appender của LoggerConfig của Logger đó và qua các Appender của các LoggerConfig cha của nó Ví dụ: nếu console là Appender được thêm vào root
Trang 28PHẠM CHÍ VỌNG 19
logger thì một yêu cầu ghi log sẽ được ghi ít nhất một lần qua console Ta có thể thay thế việc ghi log như vậy bằng cách đưa vào additivity="false" trong file cấu hình
Layout: có thể tùy chỉnh cấu trúc của việc xuất các sự kiện qua các Appender thông qua các PattenLayout
Ví dụ: PatternLayout với các biến "%r [%t] %-5p %c - %m%n" sẽ xuất ra cấu trúc log sau:
176 [main] INFO org.foo.Bar - Located nearest gas station
Trường đầu tiên của dòng log là số milli giây trôi qua khi yêu cầu được xử lý Trường thứ hai là tên đối tượng (thread) yêu cầu ghi log Trường thứ ba là level của log Trường thứ tư là tên của Logger Trường thứ năm là “-” là ký tự phân cách Trường cuối cùng là nội dung thông báo cần ghi log
Sau đây là một số thông số thông dụng trong layout log4j:
Bảng 2.2 Các thông số của log4j
d định dạng giờ cho log ví dụ %d{HH:mm:ss,SSS}
m thông báo cần được ghi log
M tên phương thức yêu cầu ghi log
n xuống dòng
p Level của log
r thời gian thực hiện tính bằng mili giây
t tên đối tượng (Thread) yêu cầu ghi log
Trang 29PHẠM CHÍ VỌNG 20
x lấy biến NDC (nested diagnostic context)
X lấy biến MDC (mapped diagnostic context) ví dụ: %X{clientNumber}
Trang 30PHẠM CHÍ VỌNG 21
Chương 3: MÔ HÌNH KIỂM TOÁN
Mục tiêu của việc xây dựng mô hình kiểm toán là tạo ra một mô hình mẫu tương đối phù hợp với một số hệ thống thông tin cụ thể là một mô hình trực tuyến (trong
đề tài này chúng tôi xây dựng theo mô hình NIST [4]) Hiện nay, với sự phát triển của Internet và các dịch vụ trực tuyến đã tạo ra nhiều mô hình kiểm toán và quản lý rủi ro cho hệ thống Tuy nhiên, các hệ thống này thường tốn phí, đòi hỏi phần cứng, phần mềm, bản quyền các hệ thống phát hiện xâm nhập phức tạp và đòi hỏi nhân viên quản trị hệ thống phải có trình độ cao Trước yêu cầu đó chúng tôi muốn đưa ra một mô hình kiểm toán không quá tốn kém dựa trên các tập tin log của hệ thống để
cố gắng phát hiện các vi phạm chính sách an ninh, các dấu hiệu bất thường từ hệ thống Các thống kê báo cáo sẽ giúp quản trị hệ thống tốt hơn, tạo ra cái nhìn tổng quan hệ thống để quản lý rủi ro và cải thiện các chính sách an ninh giao dịch
Các chính sách an ninh cho doanh nghiệp thường được chia làm 4 cấp độ [6]: chính sách an ninh vật lý (Physical Security), an ninh nhân sự (Personal Security),
an ninh truyền thông (Communication Security), an ninh giao dịch (Transaction Security) mỗi cấp độ là các chính sách quy định riêng nhưng các chính sách lại thống nhất với nhau để đảm bảo cho an ninh hệ thống thông tin, giảm đến mức thấp nhất các rủi ro an ninh hệ thống thông tin
3.1 Xây dựng quy trình Quản lý rủi ro
Một hệ thống thông tin phải bảo đảm: tính toàn vẹn, bảo mật và tính sẵn dùng của dữ liệu đồng thời đảm bảo các yêu cầu bảo mật chống xâm nhập, khả năng phục
vụ truy cập của hệ thống Các kiểm toán viên phải xác định được các mối rủi ro từ
hệ thống trực tuyến việc xác định các rủi ro này là phức tạp và thực hiện theo từng bước theo một quy trình nhất định, chúng tôi sẽ trình bày một quy trình của hoạt động đánh giá rủi ro hệ thống gồm 9 bước:
Bước 1: mô tả đặc trưng hệ thống
Bước 2: xác định các mối đe dọa của hệ thống
Bước 3: xác định các vùng dễ bị tổn thương của hệ thống
Bước 4: phân tích kiểm soát (điều khiển)
Bước 5: đánh giá khả năng các mối đe dọa
Bước 6: phân tích sự ảnh hưởng
Bước 7: nhận định các rủi ro
Trang 31PHẠM CHÍ VỌNG 22
Bước 8: kiến nghị các chính sách
Bước 9: lập tài liệu kết quả
Hình 3.1 Quy trình quản lý rủi ro hệ thống [4]
Cụ thể các bước được trình bày như sau:
- Bước 1: mô tả đặc trưng hệ thống: công việc đầu tiên của việc đánh giá rủi
ro hệ thống là xác định phạm vi hệ thống, nó xác định ranh giới của hệ thống thông tin, nguồn lực và mức độ công nghệ thông tin của doanh nghiệp Đặc
Trang 32PHẠM CHÍ VỌNG 23
trưng của hệ thống thông tin sẽ thiết lập một vùng các rủi ro, chức năng xác thực, các thông tin về hệ thống như phần cứng, phần mềm, kết nối, phân chia trách nhiệm nhân sự Sau giai đoạn này phải xác định được các phạm vi, chức năng hệ thống, dữ liệu quan trọng, nhạy cảm của hệ thống
o Xác định các thông tin liên quan đến hệ thống như phần mềm, phần
cứng, dữ liệu quan trọng, nhạy cảm của hệ thống Thêm vào đó cần xác định thêm chức năng hệ thống, người dùng, chính sách công ty, cấu trúc an ninh, mô hình mạng, cách thức lưu trữ… các thông tin này phải được thu thập từ giai đoạn thiết kế, người thiết kế phải đánh giá được các chính sách an ninh chính cho hệ thống
o Kỹ thuật thu thập thông tin: để thu thập chính xác và đầy đủ các thông
tin cho hệ thống cần kết hợp các kỹ thuật khác nhau như bản câu hỏi, phỏng vấn, xem xét tài liệu liên quan đến công ty
Đầu ra của bước này là mô tả hệ thống, tạo ra một cái nhìn tổng thể hệ thống thông tin như môi trường, phạm vi hệ thống
- Bước 2: xác định các nguồn đe dọa của hệ thống: là tìm các mối đe dọa có
thể được khai thác, tấn công hệ thống Các đe dọa này có thể đến từ các lỗ hổng của hệ điều hành, phần mềm hoặc các chức năng dễ bị khai thác Các mối đe dọa này chủ yếu đến từ con người, thiên tai, môi trường hệ thống từ
đó đưa ra các nguy cơ mà hệ thống có thể đương đầu
o Xác định các nguồn đe dọa hệ thống: xác định các nguy cơ có thể từ
con người, thiên tai, môi trường Xác định được các nguyên nhân này
là cơ sở quan trọng để đưa ra các biện pháp nhằm giảm thiểu tác động đến hệ thống từ các mối đe dọa này
o Các hành vi nguy hiểm: các hành vi đe dọa có thể được tạo ra từ con
người, các cuộc tấn công, khai thác lổ hổng, đây là một mối đe dọa thường trực và nguy hiểm cho hệ thống thông tin Ngoài ra, cũng phải xem xét đến các mối đe dọa từ thiên nhiên như lũ lụt, động đất, bảo…
Đầu ra của bước này là một danh sách các nguồn các mối đe dọa có thể ảnh hưởng đến hệ thống và những lổ hổng mà hệ thống có thể bị khai thác
- Bước 3: xác định các vùng dễ bị tổn thương của hệ thống: phân tích các chức
năng dể tổn thương liên quan đến hệ điều hành, yếu kém trong phân tích, triển khai hệ thống như chính sách thu hồi tài khoản, đăng nhập từ bên ngoài,
lổ hổng từ nhà sản xuất… một số lổ hổng thường gặp là: kết thúc hợp đồng với nhân viên nhưng nhân viên không khóa tài khoản truy cập hệ thống, do
đó nhân viên có thể tiếp tục tương tác với hệ thống, cho các tài khoản không
Trang 33PHẠM CHÍ VỌNG 24
được chứng thực vào hệ thống như guest, đối tác… các lổ hổng từ nhà sản xuất, phần mềm mà không vá các lổ hổng
o Xác định nguồn vùng dễ tổn thương: các vùng dễ tổn thương của hệ
thống có thể được xác định bằng các kỹ thuật thu thập thông tin, xem xét hệ thống, chính sách công ty, các tài liệu của các nhà sản xuất, mức độ an ninh của phần mềm, bao gồm:
Nhận định các rủi ro từ các tài liệu đã có
Xem xét các báo cáo an ninh, kiểm toán, đánh giá hệ thống, kết quả kiểm thử
Kiểm tra danh sách các vùng dễ tổn thương hệ thống
Tư vấn của nhà sản xuất
Phân tích an ninh phần mềm
o Kiểm thử an ninh hệ thống: việc kiểm thử nhằm đánh giá các lổ hổng
của hệ thống, những vùng dễ bị tấn công Công việc kiểm thử thường dùng các công cụ tự động dò tìm các lổ hổng, đánh giá và thử nghiệm
an ninh hệ thống, thử nghiệm xâm nhập
Công cụ tự động dò tìm lổ hổng hệ thống có thể dò tìm trong một nhóm máy tính hoặc mạng nội bộ để phát hiện ra các lổ hổng của các dịch
vụ Mặc dù các công cụ này có thể phát hiện ra các lổ hổng, các vùng dễ tổn thương nhưng trên thực tế có thể phát sinh thêm nhiều lổ hổng khác, nên cần đánh giá lại các khả năng mà các lỗi có thể xuất hiện hệ thống
Đánh giá, thử nghiệm an ninh hệ thống là kỹ thuật khác để đánh giá lổ hổng trong tiến trình nhận định rủi ro Nó bao gồm phát triển và thực thi kế hoạch kiểm thử Mục đích của thử nghiệm an ninh hệ thống là để thử nghiệm hiệu quả các chính sách bảo mật hệ thống
Thử nghiệm thâm nhập có thể sử dụng được dùng để hoàn thiện xem xét điều khiển an ninh cho hệ thống và đảm bảo các khía cạnh khác nhau của
hệ thống được an toàn Hệ thống luôn tiềm ẩn các lổ hổng nguy hiểm để các hacker có thể lợi dụng thâm nhập nhằm mục đích đánh cắp dữ liệu, phá hoại Bước này nhằm nhìn nhận tổng quan lại an ninh hệ thống, đảm bảo các mục tiêu chống thâm nhập từ bên ngoài, các lổ hổng chưa được xem xét
o Phát triển danh sách yêu cầu an ninh cho hệ thống: trong bước này
nhận định các rủi ro về nhân sự thu thập các yêu cầu hệ thống trong quá trình mô tả và xây dựng kế hoạch bảo đảm an ninh hệ thống Các yêu cầu bảo đảm an ninh hệ thống có thể được thể hiện trên các biểu
Trang 34Quản lý Hoạt động
Kỹ thuật Danh sách tiêu chuẩn an ninh
Bảng 3.1 Các tiêu chuẩn an ninh
An ninh quản lý
Phân công trách nhiệm Tiếp tục hỗ trợ
Ứng phó sự cố Đánh giá định kì các chính sách an ninh Đánh giá rủi ro
Tập huấn an ninh và kỹ thuật Phân chia nhiệm vụ
Mã hóa
Trang 35PHẠM CHÍ VỌNG 26
Điều khiển truy cập tùy ý Nhận dạng và xác thực Phát hiện xâm nhập Tái sử dụng đối tượng
Hệ thống kiểm toán
Đầu ra của bước này là một danh sách các vùng dễ bị tổn thương được nhận thấy từ các nguồn đe dọa tiềm năng của hệ thống
- Bước 4: phân tích kiểm soát (điều khiển): mục tiêu của bước này là phân tích
các chính sách đã triển khai hoặc kế hoạch cho việc triển khai cho hệ thống
để giảm hoặc loại bỏ các khả năng đe dọa đến các vùng dễ bị tổn thương của
hệ thống Để thực hiện được công việc này cần xác định về xác suất hay điểm đánh giá của các mối đe dọa có thể xuất hiện Các công việc lần lượt của bước này là:
o Các phương thức kiểm soát: kiểm soát an ninh bao gồm kỹ thuật hoặc phi kỹ thuật Kiểm soát kỹ thuật là bảo đảm an toàn cho phần mềm, phần cứng, firmware Kiểm soát phi kỹ thuật là kiểm soát việc quản lý
và chức năng hệ thống như chính sách an ninh, thủ tục, nhân sự, vật
lý, an ninh môi trường
o Phân loại kiểm soát: phân loại kiểm soát bao gồm cả các phương thức kiểm soát kỹ thuật và phi kỹ thuật và có thể phân loại theo chức năng ngăn chặn hoặc phát hiện cụ thể như sau:
Kiểm soát ngăn chặn là cản trở thâm nhập trái phép bao gồm như điều khiển truy cập bắt buộc, mã hóa, xác thực
Kiểm soát phát hiện là cảnh báo vi phạm các chính sách an ninh bao gồm ghi vết, các phương thức phát hiện xâm nhập, checksums
Kỹ thuật phân tích điều khiển: trong phần trước ta đã xem xét danh sách các yêu cầu an ninh nó sẽ hữu dụng cho việc quản lý điều khiển và quản lý hệ thống một cách thống nhất Những chính sách này sẽ xem xét và được thay đổi lần lượt theo môi trường phát triển của công ty
Đầu ra của bước này là danh sách các chính sách kiểm soát đang thực hiện hoặc đang lên kế hoạch thực hiện để giảm thiểu khả năng xảy ra những lổ hổng, vùng dễ tổn thương của hệ thống đồng thời cũng giảm các yếu tố không tương thích với hệ thống
Trang 36PHẠM CHÍ VỌNG 27
- Bước 5: nhận định khả năng các mối đe dọa hệ thống: đánh giá xác suất mà
một mối đe dọa có thể xuất hiện trong hệ thống Định nghĩa các cấp độ của mối đe dọa là cao, trung bình hay thấp Các mối đe dọa được đánh giá cao sẽ được các nhà kiểm toán xem xét để giảm thiểu tác động để hệ thống trước (bước 6), đồng thời các cũng kết hợp với các nhân tố khác như chi phí, khả năng thực hiện, đồng bộ của hệ thống
Bảng 3.2 Khả năng xuất hiện mối đe dọa Các khả năng xuất hiện mối đe dọa
Cao Các nguồn đe dọa có khả năng xuất hiện cao và các chính sách an
ninh thì kém hiệu quả
ninh thì có hiệu quả cao để ngăn chặn các mối đe dọa này
hiệu quả nếu đe dọa này xuất hiện
Đầu ra của bước 5 là phân loại khả năng các mối đe dọa (cao, trung bình, thấp)
- Bước 6: phân tích sự ảnh hưởng: xác định mức độ ảnh hưởng của các mối de
dọa lên hệ thống, trước tiên ta cần xem xét các thông tin về nhiệm vụ hệ thống, tầm quan trọng của dữ liệu và hệ thống, tính chất nhạy cảm của dữ liệu và hệ thống
Các thông tin này có thể tìm thấy từ các tài liệu đã tồn tại trong doanh nghiệp như các thống kê về ảnh hưởng đến nhiệm vụ hệ thống, thống kê nhận định các dữ liệu Mức ảnh hưởng đến hệ thống sẽ được phân cấp theo sự phân tích định tính và định lượng về mức độ quan trọng và nhạy cảm thông tin của doanh nghiệp
Nếu doanh nghiệp chưa có các tài liệu nhận định về mức độ quan trọng của dữ liệu cũng như các chức năng nhiệm vụ của hệ thống thì nó sẽ được đánh giá dựa vào các yêu cầu vể đảm bảo an ninh thông tin như tính bảo mật, tính toàn vẹn và tính sẵn dùng của dữ liệu Như vậy ta có 3 mục tiêu chính cần được xem xét là sự mất an toàn về mặt bảo mật, toàn vẹn và sẵn dùng Các nguyên nhân dẫn đến các mất thông tin nêu trên sẽ được tính toán để phân chia thành cao, trung bình, thấp tùy theo mức
độ ảnh hưởng đến con người, chức năng hệ thống, giá để khắc phục hậu quả của nó
Bảng 3.3 Định nghĩa mức độ ảnh hưởng các mối đe dọa
Định nghĩa mức ảnh hưởng Cao Hậu quả của mối đe dọa sẽ ảnh hưởng đến doanh nghiêp như
Trang 37PHẠM CHÍ VỌNG 28
chi phí rất lớn cho việc khắc phục hậu quả; ảnh hưởng đến tính mạng con người; vi phạm nghiêm trọng, tổn hại hoặc làm cản trở nhiệm vụ hệ thống
Trung
bình
Hậu quả của mối đe dọa sẽ ảnh hưởng đến doanh nghiêp như chi phí lớn cho việc khắc phục hậu quả; ảnh hưởng đến tình trạng sức khỏe con người; vi phạm, tổn hại hoặc làm cản trở nhiệm vụ hệ thống
Thấp
Hậu quả của mối đe dọa sẽ ảnh hưởng đến doanh nghiêp như làm mất thông tin, tài sản, tài nguyên hệ thống; ảnh hưởng đến chức năng hệ thống
Đầu ra của bước 6 là mức độ ảnh hưởng các mối de dọa
- Bước 7: nhận định các rủi ro: mục tiêu của bước này là nhận định cấp độ rủi
ro cho hệ thống thông tin Xác định cấp độ của rủi ro được thể hiện ở:
o Khả năng mà các nguồn đe dọa có thể xuất hiện trên các vùng dễ tổn thương của hệ thống
o Tầm ảnh hưởng nếu mối đe dọa xuất hiện thành công trong hệ thống
o Kế hoạch đầy đủ hoặc tồn tại của các điều khiển an ninh để giảm thiểu hoặc loại bỏ rủi ro
Ma trận cấp độ rủi ro: nhận định cuối cùng của đánh giá rủi ro là việc tổng hợp các mức độ ở nhiều mặc về khả năng và ảnh hưởng của rủi ro Một ma trận 3x3 sẽ thể hiện cho các cấp độ về khả năng và mức độ ảnh hưởng của rủi ro (cao, trung bình, thấp) dựa vào các nhận định về xác suất xuất hiện, khả năng và tầm ảnh hưởng của mối đe dọa:
Nhận định khả năng các mối đe dọa cao là 1.0, trung bình là 0.5, thấp là 0.1 Nhận định mức độ ảnh hưởng của mối đe dọa ở các cấp độ 100 cho mức cao, 50 cho mức trung bình, 10 cho mức thấp
Trang 38PHẠM CHÍ VỌNG 29
Bảng 3.4 Các cấp độ rủi ro Khả năng các
Cao 100x1.0=100
50x0.5=25
Trung bình 50x0.5=25
Trung bình 100x0.5=50
100x0.1=10
Thấp 50x0.1=5
Thấp 100x0.1=10
Mô tả các cấp độ rủi ro:
Mô tả các cấp độ rủi ro được thể hiện bảng sau:
Bảng 3.5 Mô tả các cấp độ rủi ro
Mô tả rủi ro và các hoạt động cần thiết
Cao Nếu hệ thống có nhận định rủi ro đang ở mức cao, thì cần có ngay
các biện pháp ngăn cản, giảm thiểu các rủi ro ngay lập tức
Trung bình
Nếu hệ thống có nhận định rủi ro đang ở mức trung bình, thì cần thiết phải lên kế hoạch, các hành động giảm thiểu rủi ro trong một thời gian hợp lý
chi phí cho việc giảm thiểu rủi ro, hoặc có thể chấp nhận các rủi ro
Đầu ra của bước 7 là xác định cấp độ rủi ro có khả năng xuất hiện trong hệ thống
- Bước 8: kiến nghị các chính sách điều khiển: khi đã nhận định được các rủi
ro hệ thống, bước này sẽ đưa ra các điều khiển, chính sách để giảm thiểu hoặc loại bỏ các rủi ro Mục tiêu của bước này là giảm thiểu cấp độ rủi ro Các nhân tố sau sẽ được xem xét để đưa ra các điều khiển và các điều chỉnh
để giảm thiểu hoặc loại bỏ rủi ro:
o Hiệu quả của các đề xuất
Trang 39PHẠM CHÍ VỌNG 30
Các đề xuất điều khiển là kết quả của tiến trình nhận định rủi ro và dữ liệu đầu vào của tiến trình giảm thiểu rủi ro và không phải tất các đề nghị nào cũng được chấp nhận để một điều khiển được chấp nhận cần chứng minh được tính hiệu quả của đề xuất về giá, mức chi, các yêu cầu an ninh
Đầu ra là của bước 8 là cách kiến nghị chính sách điều khiển và các điều chỉnh chính sách để giảm thiểu rủi ro
- Bước 9: lập tài liệu kết quả: bước cuối cùng của giai đoạn phân tích rủi ro là
phát hành các chính sách, các rủi ro hệ thống thành tài liệu, báo cáo cho doanh nghiệp Tài liệu giúp các nhà quản lý kiểm soát hệ thống về chính sách, ngân sách, thủ tục, các chức năng, và các sự thay đổi hệ thống
Đầu ra của bước 9 là các báo cáo nhận định rủi ro, mô tả các rủi ro, các vùng
dễ tổn thương, mức rủi ro, các điều khiển đề nghị được triển khai cho hệ thống
Giảm thiểu rủi ro là bước tiếp theo khi đã đánh giá được các rủi ro hệ thống, người kiểm toán phải đưa ra các chính sách phù hợp Người kiểm toán không thể đánh giá hết tất cả các rủi ro hệ thống nên các chính sách đề ra chỉ giảm một phần các rủi ro Các chiến lược để giảm thiểu rủi ro gồm có: thực hiện các hoạt động ưu tiên, nhận định và đưa ra các giải pháp hạn chế rủi ro, xem xét giá để thực hiện giải pháp, chọn các chính sách phù hợp, gán trách nhiệm cho nhân viên, xây dựng kế hoạch triển khai và điều khiển triển khai kế hoạch
3.2 Mô hình Kiểm toán an ninh trực tuyến
Để đưa ra các chính sách kiểm toán giảm thiểu rủi ro, doanh nghiệp phải xem xét công nghệ, hệ thống quản lý, các chức năng điều khiển hoặc tổng hợp nhiều yếu
tố để nâng cao hiệu quả cho hệ thống và để giảm thiểu, ngăn cản, giới hạn các nguồn đe dọa cho hệ thống Thống nhất các yêu cầu trên doanh nghiệp sẽ đưa ra các chính sách để đảm bảo an ninh cho hệ thống Phần sau đây sẽ trình bài rỏ thêm về kiểm soát kỹ thuật (technical controls), kiểm soát quản lý (management controls)
và kiểm soát chức năng (operational controls) để giảm thiểu rủi ro:
Kiểm soát kỹ thuật an ninh: được xây dựng để chống lại các mối đe dọa của hệ
thống Các điều khiển này là một vùng từ đơn giản đến phức tạp và thường liên quan đến kiến trúc hệ thống, kỹ thuật, và các gói bảo mật với sự kết hợp giữa phần cứng, phần mềm và firmware Tất cả các biện pháp cần làm việc cùng nhau
để bảo vệ dữ liệu nhạy cảm và quan trọng, thông tin và các chức năng hệ thống Kiểm soát an ninh`được nhóm lại thành các nhóm chính sau:
- Hỗ trợ (Support): là các điều khiển chung và cơ bản nhất của một hệ thống bảo mật hệ thống thông tin