Tùy thuộc vào phạm vi giám sát xâm nhập, tồn tại hai loại hệ thống phát hiện xâm nhập chính: dựa trên luồng mạng (NIDS) và dựa trên máy chủ (HIDS). Các hệ thống phát hiện xâm nhập dựa trên luồng mạng giám sát các lưu lượng mạng giữa các trong hệ thống thông tin, trong khi các hệ thống phát hiện xâm nhập dựa trên máy chủ giám sát hoạt động trên một máy cụ thể. Mặt khác, cũng có thể chia hệ thống phát hiện xâm nhập thành 2 loại: dựa trên chữ ký và dựa trên các hành vi bất thường. Hệ thống phát hiện xâm nhập dựa trên chữ ký là phương pháp mà hệ thống so sánh chữ ký dựa trên so sánh chữ ký phát sinh từ mẫu thu thập được và mẫu tấn công đã có trong cơ sở dữ liệu.
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan khóa luận tốt nghiệp “Tìm hiểu cơ chế hoạt động và ứng dụng của hệ thống phát hiện xâm nhập dựa trên máy chủ thông qua lời gọi hệ thống” là công trình nghiên cứu của bản thân tôi; các số liệu sử
dụng trong khóa luận là trung thực, chính xác; các tài liệu tham khảo cónguồn gốc trích dẫn rõ ràng; kết quả nghiên cứu không sao chép vi phạm bảnquyền của bất kỳ công trình nào
Tôi xin chịu mọi trách nhiệm và hình thức kỷ luật theo quy định cho lờicam đoan của tôi
Hà Nội, tháng 7 năm 2019
Sinh viên
Trang 2MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC ii
DANH MỤC TỪ VIẾT TẮT iv
DANH MỤC HÌNH VẼ v
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ NGUY CƠ TẤN CÔNG MÁY CHỦ VÀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP DỰA TRÊN MÁY CHỦ 7
1.1 Các nguy cơ tấn công máy chủ hệ thống mạng máy tính 7
1.1.1 Nguy cơ xuất phát từ kỹ thuật 7
1.1.2 Nguy cơ xuất phát từ con người 9
1.1.3 Nguy cơ xuất phát từ chính sách 11
1.2 Hệ thống phát hiện xâm nhập dựa trên máy chủ 12
1.2.1 Khái niệm 14
1.2.2 Cách thức hoạt động 14
Kết luận chương 1 18
Chương 2 CƠ CHẾ HOẠT ĐỘNG CỦA HỆ THỐNG PHÁT HIỆN XÂM NHẬP DỰA TRÊN MÁY CHỦ THÔNG QUA LỜI GỌI HỆ THỐNG 19
2.1 Thu thập dữ liệu 19
2.1.1 Thu thập các file syscall từ các máy khách 20
2.1.2 Chuyển file syscall về máy host 20
2.2 Tiền xử lý dữ liệu 21
2.3 Phát hiện bất thường 24
Trang 32.4 Cảnh báo 25
Kết luận chương 2 27
Chương 3 XÂY DỰNG VÀ THỬ NGHIỆM HỆ THỐNG 28
3.1 Phân tích thiết kế hệ thống 28
3.1.1 Khảo sát và phân tích hệ thống 28
3.1.2 Xây dựng hệ thống 30
3.2 Thử nghiệm hệ thống 43
3.2.1 Cài đặt máy chủ thử nghiệm 44
3.2.2 Cài đặt máy tính phục vụ phân tích kết quả thu thập 44
3.2.3 Kết quả thử nghiệm 44
Kết luận chương 3 48
KẾT LUẬN VÀ KIẾN NGHỊ 49
DANH MỤC TÀI LIỆU THAM KHẢO 51
Trang 4DANH MỤC TỪ VIẾT TẮT
IDS Intrusion Detection Systems Hệ thống phát hiệnxâm nhập
NIDS Network Intrusion DetectionSystems
Hệ thống phát hiệnxâm nhập dựa trênluồng mạng
HIDS Host Intrusion DetectionSystems
Hệ thống phát hiệnxâm nhập dựa trênmáy chủ
LSTM Long Short Term Memory Mạng bộ nhớ dài-ngắn
RNN Recurrent Neural Network Mạng nơ-ron hồi quy
NLP Natural Language Processing Xử lý ngôn ngữ tự
nhiên
Trang 5Hình 1.7 Hệ thống được cài đặt HIDS
Hình 2.1 Thu thập dữ liệu và gửi về máy chủHình 2.2 file syscall log máy khách gửi về máy chủHình 2.3 File syscall log được convert
Hình 2.4 Mô hình triển khai hệ thống
Hình 3.1 Biểu đồ Use case của hệ thốngHình 3.2 Kiến trúc xây dựng mô hình học máy
Hình 3.4 1 Cell trong mô hình LSTM
Hình 3.5 Kiến trúc mô hình học máy
Hình 3.6 Xây dựng mô hình ngôn ngữ
Hình 3.7 Đồ thị phân phối xác suất Gaussian
Hình 3.9 Giao diện đăng nhập vào hệ thốngHình 3.10 Giao diện đăng nhập thành côngHình 3.11 Giao diện đăng nhập thất bại
Hình 3.12 Giao diện quản trị của hệ thốngHình 3.13 Hệ thống đưa ra cảnh báo
Trang 6Hình 3.14 Mô hình hệ thống mạng
Hình 3.16 Trạng thái ban đầu của hệ thốngHình 3.17 Hiển thị bất thường trên giao diện quản trị
Trang 7là sự tăng trưởng số lượng lớn của mã độc Theo báo cáo của McAfee trongquý 1 năm 2018 [1], phòng thí nghiệm trung bình thu nhận được 45 triệu tệp
mã độc, 57 triệu URL độc hại, 84 triệu địa chỉ IP nguy hiểm mỗi ngày Ngàynay, các hệ thống máy tính hiện có phần lớn có kết nối Internet, điều đó khiếncho các hệ thống máy tính không được bảo vệ kỹ càng dễ bị xâm hại trướccác hoạt động tấn công mạng Theo số liệu thống kê từ Trung tâm Giám sát
an toàn không gian mạng quốc gia thuộc Cục An toàn thông tin - Bộ Thôngtin và truyền thông - đã ghi nhận 10.220 cuộc tấn công mạng vào các hệ thốngthông tin tại Việt Nam trong cả năm 2018; Trong đó có 5932 cuộc tấn cônglừa đảo (Phishing); 3198 cuộc tấn công thay đổi giao diện (Deface) và 1090cuộc tấn công cài cắm mã độc (Malware) [2] Các con số đã cho thấy sốlượng các hoạt động xâm nhập vào hệ thống máy tính đang gia tăng đáng kể
và các hệ thống phát hiện xâm nhập trở thành một trong những thành phầnquan trọng nhất trong bảo mật máy tính Với sự phát triển bùng nổ của côngnghệ thông tin trong nhiều lĩnh vực và đời sống, sự xuất hiện và phát triển củanhiều loại mã độc cũng đang diễn biến ngày càng phức tạp Theo báo cáo củaMCAfee quý 4 năm 2018, tính đến thời điểm đó đã phát hiện tổng cộng hơn800.000.000 loại mã độc, tăng hơn khoảng 62.000.000 mã độc so với quý 3[3], bao gồm nhiều loại mã độc với các biến thể, kỹ thuật làm rối, che giấu mãnguồn để vô hiệu hóa các chương trình phát hiện mã độc Vì vậy mà cácphương pháp phát hiện mã độc truyền thống như sử dụng mẫu chữ ký từ cácloại mã độc đã biết dần trở nên lạc hậu, hiệu quả kém Cùng với cách mạng
Trang 84.0, hiện nay với sự phát triển của sức mạnh phần cứng và công nghệ họcmáy, máy tính đã dần thay thế con người trong việc phân biệt các dấu hiệucủa mã độc và chương trình lành tính (benign).
Tùy thuộc vào phạm vi giám sát xâm nhập, tồn tại hai loại hệ thốngphát hiện xâm nhập chính: dựa trên luồng mạng (NIDS) và dựa trên máy chủ(HIDS) Các hệ thống phát hiện xâm nhập dựa trên luồng mạng giám sát cáclưu lượng mạng giữa các trong hệ thống thông tin, trong khi các hệ thống pháthiện xâm nhập dựa trên máy chủ giám sát hoạt động trên một máy cụ thể Mặtkhác, cũng có thể chia hệ thống phát hiện xâm nhập thành 2 loại: dựa trên chữ
ký và dựa trên các hành vi bất thường Hệ thống phát hiện xâm nhập dựa trênchữ ký là phương pháp mà hệ thống so sánh chữ ký dựa trên so sánh chữ kýphát sinh từ mẫu thu thập được và mẫu tấn công đã có trong cơ sở dữ liệu.Trong khi đó, hệ thống phát hiện xâm nhập dựa trên hành vi bất thường lạidựa trên sự sai khác khi so sánh các hành vi quan sát được với một cơ sở dữliệu các hành vi bình thường hoặc bất thường được thu thập trước đó để đưa
ra kết luận mỗi hoạt động bất thường là một cuộc tấn công Hệ thống pháthiện dựa trên chữ ký có thể phát hiện các kiểu tấn công đã biết và đã học với
tỷ lệ chính xác cao nhưng không thể phát hiện các kiểu tấn công nằm ngoài cơ
sở dữ liệu đã có Hệ thống phát hiện xâm nhập dựa trên hành vi bất thường lại
có thể phát hiện các kiểu tấn công chưa có mẫu chữ ký trong cơ sở dữ liệunhưng lại có tỷ lệ báo động giả cao Trong những năm gần đây, lời gọi hệthống (system calls) đang ngày càng trở thành dữ liệu quan trọng đối với các
hệ thống phát hiện xâm nhập trên máy chủ và đã được đề cập đến một số bàibáo như: “A semantic approach to host-based intrusion detection systemsusing contiguousand discontiguous system call patterns - Gideon Creech andJiankun Hu” [4] hay “Intrusion detection using sequences of system calls -Steven A Hofmeyr, Stephanie Forrest, and Anil Somayaji” [5] Để tấn công
Trang 9hệ thống, các phần mềm độc hại thường phải gọi các lời gọi hệ thống để thựchiện các hành vi mong muốn Điều đó trở thành điều kiện thuận lợi để ngườiquản trị có thể phát hiện được các cuộc tấn công vào hệ thống nhờ vào quansát các lời gọi hệ thống Với sự phát triển bùng nổ của số lượng mã độc nhưngày nay, việc phát triển hệ thống phát hiện dựa trên các hành vi bất thường
lại càng được coi trọng Chính vì thế mà tôi lựa chọn đề tài: “Tìm hiểu cơ chế hoạt động và ứng dụng của hệ thống phát hiện xâm nhập dựa trên máy chủ thông qua lời gọi hệ thống” làm đề tài khóa luận tốt nghiệp của
mình
2 Tình hình nghiên cứu liên quan đến đề tài
Năm 1996, Forrest et al là người đầu tiên sử dụng dấu vết cuộc gọi hệthống làm dữ liệu thô cho các hệ thống phát hiện xâm nhập bất thường dựatrên máy chủ và đến nay, dấu vết cuộc gọi hệ thống đã được nghiên cứu và sửdụng rộng rãi để phát triển các IDS [6] Các cuộc gọi hệ thống (system call)đại diện cho các tương tác cấp thấp giữa các chương trình với nhân (kernel)trong hệ thống, và nhiều nhà nghiên cứu coi dấu vết từ cuộc gọi hệ thống lànguồn chính xác nhất để phát hiện sự xâm nhập trong HIDS dựa trên sự bấtthường [7]
Trong hơn 20 năm, các nghiên cứu khác nhau đã được thực hiện dựatrên phân tích dấu vết lời gọi hệ thống: “Intrusion detection using sequences
of system calls Steven A Hofmeyr, Stephanie Forrest, and Anil Somayaji 1998” [8] hay “Detecting intrusions using system calls: Alternative datamodels - Christina Warrender, Stephanie Forrest, and Barak Pearlmutter -1999” [9], Hầu hết các phương pháp đều nhằm xác định các đặc trưng có ýnghĩa bằng cách sử dụng tần suất của các lời gọi hệ thống riêng lẻ và các mẫulời gọi từ các lời gọi hệ thống Tuy nhiên các phương pháp này có hạn chếtrong việc đồng thời hiểu ý nghĩa của từng lời gọi và từng nhóm lời gọi vì
Trang 10-từng lời gọi và nhóm lời gọi là một chuỗi dữ liệu tuần tự - một tính chất vôcùng quan trọng của chúng, nên trích xuất đặc trưng được đề cập trong nhữngbài báo trên không phản ánh được tính tuần tự của chúng sẽ không cho đượckết quả cao.
Để giải quyết hạn chế trên, hướng tiếp cận của tôi là đưa ra một môhình nắm bắt ngữ nghĩa của các lời gọi hệ thống để có thể hiểu được ngữnghĩa của các cuộc gọi hệ thống riêng lẻ và các tương tác của chúng (có thểbiểu thị ý nghĩa mới) xuất hiện trong chuỗi lời gọi Trong xử lý ngôn ngữ tựnhiên (NLP) bằng công nghệ học máy, mô hình ngôn ngữ (Language model)đại diện cho phân phối xác suất theo chuỗi từ và mô hình ngôn ngữ là mộtthành phần rất quan trọng của nhiều ứng dụng NLP bao gồm: dịch máy, nhậndạng giọng nói, trả lời câu hỏi và tóm tắt nội dung đoạn văn Trong đó, mạngneural hồi quy (RNN) đang cho thấy hiệu suất vượt trội cho nhiều bài toánkhác nhau, trong đó có bài toán xây dựng mô hình ngôn ngữ Chính vì thế màtôi đã lựa chọn mạng RNN, mà cụ thể ở đây là LSTM để xây dựng mô hìnhngôn ngữ của các lời gọi hệ thống, ứng dụng vào xây dựng hệ thống phát hiệnxâm nhập dựa trên lời gọi hệ thống Tôi khẳng định đề tài của mình khôngtrùng lặp với các đề tài khóa luận tốt nghiệp đã được nghiên cứu công bố
3 Mục tiêu, nhiệm vụ nghiên cứu
- Mục tiêu nghiên cứu: Tìm hiều cơ chế hoạt động, xây dựng hệ thống
phát hiện xâm nhập dựa trên máy chủ thông qua lời gọi hệ thống và ứng dụng
- Nhiệm vụ nghiên cứu: Hệ thống hóa những kiến thức về mã độc, hệ
thống phát hiện xâm nhập dựa trên máy chủ, công nghệ học sâu và mạngneural hồi quy RNN và LSTM; Đưa ra giải pháp xây dựng hệ thống; Tiếnhành thực nghiệm và đánh giá kết quả thực nghiệm
4 Đối tượng và phạm vi nghiên cứu của đề tài
Trang 11- Đối tượng nghiên cứu: Hệ thống máy chủ mạng, các phương pháp
lý luận để phát hiện xâm nhập hệ thống máy chủ mạng
- Phạm vi nghiên cứu: nghiên cứu về hệ thống máy chủ mạng và các
hành vi xâm nhập hệ thống máy chủ mạng từ năm 1996 đến nay
5 Phương pháp nghiên cứu
Trên cơ sở những điều kiện và đặc điển nêu trên, để đạt được mục tiêunghiên cứu của đề tài, tác giả sử dụng tổng hợp các cách tiếp cận và phươngpháp nghiên cứu sau:
- Phương pháp nghiên cứu tài liệu:
+ Phương pháp phân tích và tổng hợp lý thuyết: tác giả thực hiện phân
tích, tổng hợp các bài báo khoa học có liên quan đến vấn đề cần nghiên
cứ được đăng trên các tạp chí, hội nghị uy tín trên thế giới được cộngđồng nghiên cứu sử dụng như:
Science direct: http://www.sciencedirect.com/
IEEE Xplore Digital Library: http://ieeexplore.ieee.org
Google Scholar: https://scholar.google.com
+ Phương pháp phân loại và hệ thống hóa lý thuyết: Từ những kiến thức
thu được bằng phân tích và tổng hợp lý thuyết, tác giả hệ thống và sắp xếplại các thông tin thu được một cách khoa học, đồng thời sử dụng chúng đểnhận định, đánh giá các phương pháp đã có, từ đó có những đề xuất tìm racác phương pháp mới tối ưu hơn cho bài toán đặt ra
- Phương pháp nghiên cứu thực tiễn:
+ Phương pháp mô hình hóa: Từ những mạng xã hội trong thực tế tác
giả mô hình hóa thành các mô hình toán học phù hợp Trên cơ sở các môhình này, tác giả định nghĩa bài toán và đưa ra những tri thức và giải
Trang 12pháp mới giải quyết yêu cầu của bài toán bằng những công cụ của toánhọc và khoa học máy tính,…
+ Phương pháp thống kê: Từ những kết quả, số liệu từ phương pháp
thực nghiệm khoa học, khóa luận tiến hành tổng hợp, thống kê, xử lý và
mô tả bằng các biểu đồ thích hợp, phục vụ quá trình phân tích đánh giá
6 Ý nghĩa khoa học, ý nghĩa thực tiễn của đề tài
- Ý nghĩa khoa học: Đề tài để lại những cơ sở lý thuyết và ứng dụng
cơ bản cho bài toán xây dựng hệ thống phát hiện xâm nhập dựa trên lời gọi hệthống của máy chủ
- Về mặt thực tiễn: Xây dựng hệ thống phát hiện xâm nhập dựa trên
lời gọi hệ thống của máy chủ cho một hệ thống mạng quy mô học viện,trường học
7 Kết cấu của đề tài
Ngoài phần mở đầu, kết luận, danh mục tài liệu tham khảo và phụ lục,
đề tài được cấu trúc gồm 3 chương:
Chương 1: Tổng quan về nguy cơ tấn công máy chủ và hệ thống phát hiện xâm nhập dựa trên máy chủ
Chương 2: Cơ chế hoạt động của hệ thống phát hiện xâm nhập dựa trên máy chủ thông qua lời gọi hệ thống
Chương 3: Xây dựng, thử nghiệm và đánh giá hệ thống đề xuất
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ NGUY CƠ TẤN CÔNG MÁY CHỦ VÀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP DỰA TRÊN MÁY CHỦ 1.1 Các nguy cơ tấn công máy chủ hệ thống mạng máy tính
1.1.1 Nguy cơ xuất phát từ kỹ thuật
Trong số các thành phần của hệ thống thông tin, mạng máy tính (cục bộhay diện rộng) có vai trò đặc biệt Từ tầng vật lý, tầng liên kết dữ liệu đếntầng ứng dụng (trong mô hình 7 lớp OSI) đều có nhiều lỗ hổng, tạo ra cáckênh tiếp cận trái phép cho những kẻ khai thác thông tin bất hợp pháp Nếumột mạng máy tính không áp dụng các biện pháp bảo vệ thì với một laptoptrong tay, những kẻ khai thác bất hợp pháp dễ dàng đột nhập vào cơ sở dữliệu của máy tính để lấy đi hoặc sửa đổi, bóp méo các tệp thông tin mà chúngquan tâm Trong số các phương pháp cơ bản tiếp cận bất hợp pháp vào mạngmáy tính, điển hình nhất là tạo ra các chương trình hoặc các phương tiện kỹthuật có khả năng vô hiệu hóa các phương tiện bảo vệ thông tin, biến thể cácphương tiện bảo vệ thông tin sao cho chúng cho phép thực hiện việc tiếp cậnthông tin trái phép Ví dụ như cài vào hệ thống bảo vệ các chương trình giánđiệp thu và phát thông tin về những địa chỉ định trước, đưa vào hệ thốngthông tin các chương trình hoặc cơ chế kỹ thuật phá vỡ cấu trúc hiện có vàcho phép tiếp cận trái phép thông tin, tải vào máy tính những hệ điều hànhkhông có chức năng bảo vệ…
Một số hình thức tấn công vào mạng máy tính bằng kỹ thuật phổ biến:
- Khai thác lỗ hổng bảo mật: Là điểm yếu trong một hệ thốngthông tin, quy trình bảo mật hệ thống, kiểm soát nội bộ hoặc thực thi mà cóthể bị khai thác hoặc bị kích hoạt bởi một mối nguy cơ (Ví dụ: NIST-SP 800-53; SP 800 -37)
- Malware (“phần mềm độc hại” hay “mã độc”) là những phần
Trang 14mềm được viết ra với mục đích gây hại cho hệ thống Malware có thể được sửdụng bởi hacker hoặc các tổ chức, bao gồm cả chính phủ nhằm mục các mụcđích: kiếm tiền, lấy dữ liệu, hại người, chính trị hoặc chỉ để cho vui
Hình 1.1: Các hình thức tấn công mã độc
- Tấn công từ chối dịch vụ (Denial of Service -DoS): là dạng tấncông làm cho các hệ thống máy chủ, trang web bị tê liệt không thể đáp ứng lạicác yêu cầu của người dùng [10] Đây là một trong các hình thức tấn côngđem lại hiệu quả cao cho các hacker cũng như là giải pháp sau cùng nếukhông tìm được cách nào đột nhập vào mục tiêu Hình thức tấn công này đánhvào bản chất tự nhiên của một quá trình truyền thông của máy khách và máychủ dịch vụ, nếu có quá nhiều máy khách truy cập thì máy chủ dịch vụ sẽ bịquá tải, buộc lòng phải từ chối các yêu cầu truy cập khác
Trang 15Hình 1.2: Tấn công Dos
1.1.2 Nguy cơ xuất phát từ con người
Có thể nói nguy cơ xuất phát từ người dùng được đánh giá là đe dọanhất do người dùng có bản chất khó đoán định và khó kiểm soát hành vi Cácvấn đề thường gặp như thiếu ý thức, coi nhẹ vấn đề an ninh an toàn, vi phạmcác chính sách an ninh an toàn; đưa CD/DVD/USB với các file cá nhân vào
hệ thống; tải ảnh, âm nhạc, video trái phép; phá hoại dữ liệu, ứng dụng và hệthống; các nhân viên bất mãn có thể tấn công hệ thống từ bên trong, hoặcnhân viên có thể tống tiền hoặc chiếm đoạt thông tin nhạy cảm, thông tinquan trọng
Một số nguy cơ xuất phát từ phía con người bao gồm:
- Gián điệp: các hacker giả dạng làm người trong nội bộ để tìm kiếmcác bí mật về công nghệ, con người, những thông tin riêng tư
- Phishing: là một dạng tấn công có sử dụng kỹ thuật máy tính trongkiểu tấn công bằng kỹ nghệ xã hội, sử dụng các chương trình máytính hay trang web để dẫn dụ người dùng nhập vào các thông tin bí
Trang 16mật là tài khoản và mật khẩu truy cập [11].
Hình 1.3: Tấn công Phishing
- Kỹ nghệ xã hội (Social Engineering): Bên cạnh các biện pháp tấncông bằng kỹ thuật như sử dụng các chương trình tấn công thìhacker thường vận dụng kết hợp các phương pháp phi kỹ thuật, tậndụng các kiến thức và kỹ năng xã hội để đạt được kết quả nhanhchóng và hiệu quả hơn Và phương pháp tấn công không dựa trêncác kỹ thuật hay công cụ thuần túy trên được gọi là SocialEngineering, trong đời thực thì dạng tấn công này có thể xem như làcác kiểu lừa đảo để chiếm dụng tài sản, giả mạo để đạt được mụctiêu nào đó [12]
Trang 17Hình 1.4: Các loại tấn công Social Engineering
1.1.3 Nguy cơ xuất phát từ chính sách
Chính sách xác định mục tiêu và mục tiêu của tổ chức và hướng dẫn hành
vi và hành động của mỗi người Các quy trình và thủ tục chính sách thiết lậpphương pháp nhất quán, cụ thể chỉ đạo các cá nhân trong các hoạt động của
họ Chính sách bảo mật tốt, được sử dụng đúng cách, được xem là một trongnhững biện pháp bảo mật quan trọng nhất mà công ty sẽ thực hiện
Chính sách bảo mật thông tin bao gồm:
- Bảo vệ con người và thông tin
- Đặt ra những quy tắc cho các hành vi của người dùng, quản trị viên hệthống, quản lý và nhân viên bảo mật
- Ủy quyền cho nhân viên an ninh giám sát, thăm dò và điều tra
Trang 18- Xác định và cho phép các hậu quả của vi phạm
- Xác định lập trường cơ sở đồng thuận về an ninh
- Giúp giảm thiểu rủi ro
- Giúp theo dõi việc tuân thủ các quy định và pháp luật
- Đảm bảo tính bảo mật, tính toàn vẹn và tính sẵn có của dữ liệu của họ
- Cung cấp một môi trường trong đó nhân viên có thể làm việc, được sửdụng để đảm bảo người dùng tuân thủ các yêu cầu an toàn
Phát triển chính sách bảo mật an toàn thông tin là điểm khởi đầu và là nềntảng cho bảo mật thông tin trong bất kỳ tổ chức nào Các chính sách phải cóthể sử dụng được, có thể thực hiện được và phù hợp với thực tế
1.2 Hệ thống phát hiện xâm nhập dựa trên máy chủ
Hiện nay mạng Internet đã trở thành một phần không thể thiếu của conngười Internet ngày càng phổ biến rộng rải cho mọi người để trao đổi thôngtin trên mạng Khả năng kết nối trên toàn thế giới đang mang lại thuận tiệncho tất cả mọi người, nhưng nó cũng tiềm ẩn những nguy cơ khó lường đedọa tới mọi mặt của đời sống xã hội Việc mất trộm thông tin trên mạng gâyảnh hưởng đến tính riêng tư cho các cá nhân, những vụ lừa đảo, tấn công từchối dịch vụ gây ảnh hưởng lớn đến hoạt động kinh doanh cho các công ty vàgây phiền toái cho người sử dụng Internet… làm cho vấn đề bảo mật trênmạng luôn là một vấn đề nóng hổi và được quan tâm đến trong mọi thời điểm
Cho đến nay, các giải pháp bảo mật luôn được chú trọng và đã cónhững đóng góp lớn trong việc hạn chế và ngăn chặn những vấn đề về bảomật, ví dụ như Firewall ngăn chặn những kết nối không đáng tin cậy, mã hóalàm tăng độ an toàn cho việc truyền dữ liệu, các chương trình diệt virus với cơ
sở dữ liệu liên tục cập nhật về những loại virus mới nhất Tuy nhiên hiện nay
Trang 19các vụ vi phạm bảo mật xảy ra ngày càng tinh vi hơn cùng với sự gia tăngnhững vụ lạm dụng, dùng sai xuất phát từ trong hệ thống mà những phươngpháp bảo mật truyền thống không chống được Những điều đó dẫn đến yêucầu phải có một phương pháp bảo mật mới bổ trợ cho những phương phápbảo mật truyền thống
Trang 20Hình 1.5: Quy trình hoạt động của một IDS
Hệ thống phát hiện xâm nhập trái phép (IDS) là một phương pháp bảomật có khả năng chống lại các kiểu tấn công mới, các vụ lạm dụng, dùng saixuất phát từ trong hệ thống và có thể hoạt động tốt với các phương pháp bảomật truyền thống Nó đã được nghiên cứu, phát triển và ứng dụng từ lâu trên
Trang 21thế giới và đã thể hiện vai trò quan trọng trong các chính sách bảo mật Hình
vẽ dưới đây là một ví dụ về hệ thống có cài đặt IDS
Hình 1.6: Hệ thống cài đặt IDS
1.2.1 Khái niệm
Hệ thống phát hiện xâm nhập dựa trên máy chủ (HIDS) là hệ thốngphát hiện xâm nhập dựa trên thông tin thu thập được từ máy chủ hệ thốngthông tin Theo dõi các hoạt động bất thường trên các host riêng biệt HIDSđược cài đặt trực tiếp trên các máy (host) cần theo dõi, hoặc được cài trên cáctác tử để thu thập thông tin từ máy chủ, sau đó chuyển về máy phân tích đểphát hiện ra các cuộc tấn công
1.2.2 Cách thức hoạt động
Bằng cách cài đặt một phần mềm trên tất cả các máy tính chủ, IDS dựatrên máy chủ quan sát tất cả những hoạt động hệ thống, như các file log vànhững lưu lượng mạng thu thập được Hệ thống dựa trên máy chủ cũng theodõi thay đổi của hệ điều hành, những cuộc gọi hệ thống, nhật ký sự kiện từng
Trang 22tài khoản (audit log) và những thông điệp báo lỗi trên hệ thống máy chủ.Trong khi những tác tử của mạng có thể phát hiện một cuộc tấn công có đangxảy ra hay không, thì chỉ có hệ thống dựa trên máy chủ mới có thể xác địnhxem cuộc tấn công có thành công hay không Thêm nữa là hệ thống dựa trênmáy chủ có thể ghi nhận những hành vi mà người tấn công đã làm trên máychủ bị tấn công (compromised host), từ đó nắm rõ được các mục tiêu mà đốitượng nhắm tới Đây là thông tin hữu ích để phục vụ cho việc điều tra, khắcphục sự cố và phòng thủ tấn công mạng sau này.
Không phải tất cả các cuộc tấn công được thực hiện qua mạng Bằngcách giành quyền truy cập ở mức vật lý (physical access) vào một hệ thốngmáy tính, kẻ xâm nhập có thể tấn công một hệ thống hay dữ liệu mà khôngcần phải tạo ra bất cứ lưu lượng mạng (network traffic) nào cả Hệ thống dựatrên máy chủ có thể phát hiện các cuộc tấn công mà không đi qua đường côngcộng hay mạng được theo dõi, hay thực hiện từ cổng điều khiển (console),nhưng với một kẻ xâm nhập có hiểu biết, có kiến thức về hệ IDS thì hắn cóthể nhanh chóng tắt tất cả các phần mềm phát hiện khi đã có quyền truy cậpvật lý
Một ưu điểm khác của IDS dựa trên máy chủ là nó có thể ngăn chặncác kiểu tấn công dùng sự phân mảnh hoặc thời gian tồn tại của gói tin (Time-to-live) Vì một host phải nhận và tái hợp các phân mảnh khi xử lí lưu lượngnên IDS dựa trên host có thể giám sát chuyện này HIDS thường được cài đặttrên một máy tính nhất đinh Thay vì giám sát hoạt động của một networksegment, HIDS chỉ giám sát các hoạt động trên một máy tính HIDS thườngđược đặt trên các host xung yếu của tổ chức, và các máy chủ dịch vụ trongvùng DMZ - thường là mục tiêu bị tấn công đầu tiên Nhiêm vụ chính củaHIDS là giám sát các thay đổi trên hệ thống, bao gồm:
- Các tiến trình
Trang 23HIDS phát hiện sự thay đổi trên các tệp và trên hệ điều hành Nó giámsát kích thước và tổng kiểm tra các tệp để đảm bảo rằng các tệp hệ thốngkhông bị thay đổi Ngoài ra nó có thể ngăn chặn các cuộc gọi hệ thống khônghợp lệ mà đang cố gắng tìm kiếm các lỗ hổng của hệ thống.
Trang 24Hình 1.7: Hệ thống được cài đặt HIDS
Hình ảnh trên đây minh họa cho việc sử dụng HIDS để bảo vệ máy chủ
và máy trạm Tập các nguyên tắc HIDS trên máy chủ dịch vụ thư điện tửđược tối ưu để bảo vệ cho các xâm nhập vào máy chủ dịch vụ thư điện tử,trong khi đo các nguyên tắc cho web Máy chủ dịch vụ được tạo thích hợp đểbảo vệ các xâm nhập web
Trang 25Hệ thống phát hiện xâm nhập dựa trên máy chủ đã trở nên phổ biến vàđược cài đặt trên hầu hết tất cả các hệ thống mạng nhằm đảm bảo cho mụctiêu an toàn thông tin của hệ thống Chương 2 của khóa luận tiếp tục đi sâuvào tìm hiểu và làm rõ cơ chế hoạt động của hệ thống phát hiện xâm nhập dựatrên máy chủ thông qua lời gọi hệ thống.
Trang 262.1 Thu thập dữ liệu
Hình 2.8: Thu thập dữ liệu và gửi về máy chủ
Hệ thống được miêu tả sơ lược như trong hình 2.1
Trang 27Để thu thập dữ liệu, tức là chuyển các thông tin về trạng thái của máykhách, mà ở đây là các file syscall về máy host để tiến hành xử lý Quá trình
có thể chia là 2 bước:
- B1: Thu thập các file syscall từ các máy máy khách
- B2: Chuyển file syscall về máy host
2.1.1 Thu thập các file syscall từ các máy khách
Để thu thập các file system call từ các máy máy khách, tôi dùng tooltrace là perf-trace để thu thập toàn bộ dữ liệu về các system call được gọi của
hệ thống trong 2 phút
Perf-trace là một công cụ thu thập dấu vết hệ thống, thường được sửdụng để thu thập dữ liệu về các lời gọi hệ thống cho người dùng một cáchnhanh chóng và đơn giản Nhờ đó, người dùng có thể dễ dàng phân tích trạngthái của máy thông qua dữ liệu đã thu thập theo cú pháp như sau
$files: đường dẫn đến thư mục tôi sẽ lưu file log
-a: thu thập tất cả các syscall từ CPU
-o: lưu kết quả tìm được ra một file
2.1.2 Chuyển file syscall về máy host
Để chuyển các file syscall về máy host để xử lý, tôi thiết lập một kênhtruyền SSH (Secure Shell) mà ở đây máy truyền là các máy máy khách, cònmáy host là máy nhận Sau đó, tôi dùng giao thức SCP (Secure copy) đểtruyền file log syscall về máy host Giao thức SCP truyền tin đảm bảo đượctính bảo mật, tính toàn vẹn và ít bị ảnh hưởng đến đường truyền mạng Quátrình thiết lập kênh truyền SSH và truyền tin được miêu tả như sau:
Sudo perf trace -a -o $files -v sleep 120
Trang 28SSH (Secure Shell) là một giao thức mạng được sử dụng để thiết lập mộtkênh truyền dựa trên một kết nối mạng có sẵn Để cải đặt một kênh truyềnSSH, tôi cài đặt thông qua các SSH tools (OpenSSH, PuTTY,…) cho phépngười dùng thiết lập một kết nối mạng được mã hóa để tạo ra một kênh kếtnối riêng tư Bất cứ khi nào dữ liệu được gửi bởi một máy tính trong mạnglưới, SSH sẽ tự động mã hóa nó Khi dữ liệu được nhận vào, SSH tự động giải
mã nó Việc mã hóa được thực hiện một cách âm thầm: người dùng vẫn có thểlàm việc bình thường mà không biết rằng thông tin liên lạc của họ đã được mãhóa an toàn trên mạng Ở đây, tôi chọn OpenSSH để cài đặt:
Sau khi cài đặt thành công, tôi chỉ việc thiết lập kênh truyền và truyềntin Việc truyền tin tôi sử dụng giao thức SCP, một giao thức truyền tin có bảomật, được thực hiện bằng câu lệnh:
$files: đường dẫn đến files log tôi muốn truyền
$destination: thư mục ở máy host mà tin truyền đến máy host được lưutrữ và xử lý
$user User của máy host mà tôi muốn kết nối đến
$IP Địa chỉ IP của máy host
Trang 29Hình 2.9: file syscall log máy khách gửi về máy chủ
Hình 2.2 Là một đoạn dữ liệu trong file log mà tôi thu thập được Tôi cóthể thấy, dữ liệu hoàn toàn ở dạng thô Để có thể đưa vào trong mô hình vàđưa ra dự đoán, tôi phải làm sạch và chuyển các system call về dạng số màvẫn giữ được thứ tự của chúng Để làm được điều này, tôi đưa dữ liệu thuthập được của tôi trong file log vào qua một file Python Script là Convert.py
để thu được dữ liệu chuẩn File convert.py được viết để làm sạch dữ liệu vàchuyển dữ liệu sang dạng số Một file dữ liệu chuẩn sẽ có dạng như sau: