BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
NGUYỄN ĐỨC THIỆN
XÂY DỰNG MÔ HÌNH PHÁT HIỆN ĐỘT NHẬP BẤT
THƯỜNG DỰA TRÊN HỌC MÁY
CHUYÊN NGÀNH : TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ: 60.48.15
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI - 2010
Luận văn được hoàn thành tại:
Học viện Công nghệ Bưu chính Viễn thông
Tập đoàn Bưu chính Viễn thông Việt Nam
Người hướng dẫn khoa học:
TS. HOÀNG XUÂN DẬU………………………
Phản biện 1: ……………………………………………………
……………………………………………………
Phản biện 2: ……………………………………………………
……………………………………………………
Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn tại Học viện Công nghệ Bưu
chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện Học viện Công nghệ Bưu chính Viễn thông
1
Chương 1 TỔNG QUAN AN TOÀN MẠNG
Từ khi ra đời mạng Internet đã mở ra một làn sóng mới về
xu hướng phát triển của xã hội, đó là sự phát triển như vũ bão
của thời đại công nghệ thông tin và truyền thông. Song song với
những tiến bộ và lợi ích mang lại, Internet cũng là không gian
rộng mở cho kẻ xấu lợi dụng thực hiện những vụ tấn công, đột
nhập, truy cập trái phép vào các hệ thống máy tính và mạng
của người dùng. Vì thế, bên cạnh việc phát triển các dịch vụ và
ứng dụng trên mạng, an toàn, bảo mật mạng là một vấn đề hết
sức quan trọng cần được quan tâm nghiên cứu thường xuyên.
Chương này sẽ trình bày tổng quan về an toàn mạng, một số
hình thức tấn công, đột nhập phổ biến và các biện pháp phòng
chống.
1.1 AN TOÀN MẠNG VÀ CÁC YÊU CẦU CƠ BẢN
Sự bùng nổ của công nghệ thông tin đã và đang ảnh hưởng
sâu rộng tới mọi lĩnh vực của cuộc sống. Đặc biệt cùng với sự
phát triển của Internet, nhiều dịch vụ trực tuyến cũng phát triển
mạnh mẽ như các dịch vụ thương mại điện tử, thanh toán trực
tuyến… Internet mang lại như cho phép mọi người truy cập,
khai thác và chia sẻ thông tin, vấn đề an toàn mạng và bảo mật
thông tin cũng là một thách thức lớn. Thông tin trao đổi qua
mạng máy tính nếu không được bảo vệ, thì những kẻ đột nhập,
truy nhập trái phép sẽ đánh cắp, thay đổi thông tin làm ảnh
hưởng không chỉ tới lợi ích cá nhân mà còn có thể xâm hại đến
lợi ích quốc gia.
Một hệ thống an ninh mạng phải đảm bảo được các thuộc
tính sau của thông tin và hệ thống:
2
Tính xác thực (Authentication)
Phân quyền (Authorization)
Tính bí mật (Confidentiality)
Tính toàn vẹn dữ liệu (Data Integrity)
Tính không thể phủ nhận (Non-repudiation)
Tính sẵn dùng (Availability )
Kiểm soát truy nhập (Access Control)
1.2 CÁC DẠNG TẤN CÔNG VÀ ĐỘT NHẬP TRÊN
MẠNG
Tấn công (attack), hay đột nhập (intrusion) lên một hệ
thống là sự vi phạm chính sách an toàn bảo mật của hệ thống
đó. Mặc dù các tấn công, đột nhập ngày càng trở nên phức tạp,
tinh vi nhưng chúng ta cũng có thể chia chúng thành một số
dạng tấn công và đột nhập thường gặp. Các dạng tấn công đột
nhập thường gặp bao gồm:
1.2.1 Các phần mềm phá hoại
Có 2 loại phần mềm phá hoại: Phần mềm phá hoại phụ
thuộc chương trình chủ và phần mềm phá hoại độc lập chương
trình chủ.
Các phần mềm phá hoại cần chương trình chủ bao gồm:
Trap-door, Logic bomb, Trojan horse, Virus.
Các phần mềm phá hoại không cần chương trình chủ gồm:
Worm, Zombie.
1.2.2 Các dạng tấn công máy tính và mạng
Người đứng giữa (Man-in-the-Middle Attack)
Nghe trộm (Eavesdropping)
Giả mạo địa chỉ IP (IP Address Spoofing ) / Identity
Spoofing
3
Dạng gián đoạn (interruption)
1.3 CÁC BIỆN PHÁP PHÒNG CHỐNG
Các biện pháp phòng chống tấn công và đột nhập đảm bảo
an toàn thông tin và hệ thống thường gồm hai nhóm chính:
i) Các biện pháp ngăn chặn đột nhập như: Tường lửa, xác
thực, mã hóa.
ii) Các biện pháp phát hiện đột nhập.
Trong thực tế, cả hai nhóm trên đều được sử dụng trong đó
biện pháp ngăn chặn đột nhập được sử dụng như lớp phòng vệ
thứ nhất, biện pháp phát hiện đột nhập được sử dụng như lớp
phòng vệ thứ hai.
1.3.1 Các biện pháp ngăn chặn đột nhập
Tường lửa (Firewall)
Bảo vệ vật lý (Physical)
Mã hóa dữ liệu (Data Encryption)
Xác thực (Authentication)
Quyền truy cập (Access Rights)
1.3.2 Các biện pháp phát hiện đột nhập
Có 2 phương pháp phân loại các biện pháp phát hiện đột
nhập: (i) Phương pháp dựa trên kĩ thuật phân tích dữ liệu ; (ii)
Phương pháp dựa trên nguồn dữ liệu cho phát hiện đột nhập.
Phương pháp dựa trên kĩ thuật phân tích dữ liệu: Có 2 kĩ
thuật phát hiện đột nhập:
Phát hiện đột nhập dựa trên chữ kí:
Phát hiện đột nhập dựa trên bất thường:
Phương pháp dựa trên nguồn dữ liệu: Có 2 loại hệ thống
phát hiện đột nhập:
4
Hệ thống phát hiện đột nhập mạng (Network-based
instrusion detection systems-NIDS):
Hệ thống phát hiện đột nhập cho host (Host-based
instrusion detection systems-HIDS):
1.4 KẾT CHƯƠNG
Internet càng phát triển mạnh thì các kẻ tấn công mạng
cũng tìm ra những công cụ và phương pháp tấn công ngày càng
tinh vi hơn. Để tăng tính bảo mật cho hệ thống, các biện pháp
ngăn chặn và phát hiện đột nhập được sử dụng đồng thời với
nhau như hai lớp song song bảo vệ cho hệ thống. Ta sẽ đi sâu
hơn vào các phương pháp phát hiện đột nhập trong chương II
của tài liệu này.
Chương 2 CÁC GIẢI PHÁP PHÁT HIỆN ĐỘT NHẬP
Phát hiện đột nhập là một khâu quan trọng trong đảm bảo
an toàn cho hệ thống máy tính và mạng. Có nhiều giải pháp
hiệu quả được sử dụng trong phát hiện đột nhập. Chương này
trình bày một số giải pháp phát hiện đột nhập, với các khái
niệm cơ bản và phân loại các phương pháp phát hiện đột nhập.
2.1 KHÁI NIỆM VỀ CÁC GIẢI PHÁP PHÁT HIỆN ĐỘT
NHẬP
2.1.1 Phát hiện đột nhập dựa trên chữ kí
Phát hiện đột nhập dựa trên chữ kí quyết định hành vi bình
thường hay bất thường dựa trên những gì đã biết. Phương pháp
này gồm hai bước để phát hiện đột nhập: (i) Đầu tiên là xây
dựng tập chữ kí của các tấn công hay đột nhập đã biết; (ii) Sau
đó kiểm tra hành vi hiện tại xem có match với tập các chữ kí đã
xây dựng hay không để nhận biết một tấn công. Một chữ kí đột
5
nhập đặc tả một phần kịch bản hay các sự kiện có thể dẫn đến
một tấn công hay đột nhập. Chữ kí tấn công không chỉ dùng để
phát hiện đột nhập mà còn có thể dùng để ngăn chặn đột nhập.
2.1.2 Phát hiện đột nhập dựa trên bất thường
Phương pháp này nhằm nhận diện một hành vi bất thường,
hay có dấu hiệu của sự tấn công – xâm nhập của một luồng dữ
liệu dựa vào tập hồ sơ của cách hành vi được xác định là bình
thường, hay hợp pháp, không gây hại.
Tương tự như phương pháp phát hiện đột nhập dựa trên chữ
ký, phương pháp phát hiện đột nhập dựa trên bất thường này
gồm có hai bước: (i) Bước huấn luyện: Xây dựng cơ sở dữ liệu
(CSDL) các hành vi bình thường của đối tượng (người sử dụng,
chương trình ứng dụng, chương trình hệ thống, lưu lượng mạng
); (ii) Và bước kiểm tra: So sánh hành vi hiện tại của đối
tượng với các hành vi được xác định là bình thường được lưu
trong CSDL để xác định các hành vi tấn công, đột nhập.
2.2 PHƯƠNG PHÁP PHÁT HIỆN ĐỘT NHẬP BẤT
THƯỜNG
2.2.1 Các kĩ thuật giám sát trong phát hiện đột nhập
Một trong những nghiên cứu sớm nhất về phát hiện đột
nhập được thực hiện bởi Jim Anderson. Anderson định nghĩa
một đột nhập là bất kì sự cố gắng truy nhập trái phép, thao tác,
thay đổi hay xóa thông tin, hoặc đưa ra một hệ thống không tin
cậy hay không thể sử dụng. Anderson đưa ra ý tưởng là kẻ đột
nhập có thể bị phát hiện bằng cách giám sát sự thay đổi bất
thường trong hành vi của người sử dụng, hay rộng hơn ý tưởng
có thể được áp dụng để phát hiện đột nhập bằng cách giám sát
6
hành vi của một đối tượng có thể là chương trình, lưu lượng
mạng.
2.2.1.1 Kiểm soát hành vi người sử dụng
Phương pháp này thường áp dụng cho các hệ thống HIDS,
dữ liệu được thu thập từ các bản ghi hoạt động hệ thống của bản
thân các máy trạm. Một số hành vi người sử dụng như: thay đổi
registry, thao tác file, truy nhập hệ thống, đổi mật khẩu, có thêm
quyền sử dụng, và một số các hành vi khác ảnh hưởng trực tiếp
tới máy trạm … có thể dùng để lập hồ sơ hành vi cho hệ thống
phát hiện đột nhập.
2.2.1.2 Kiểm soát hoạt động của mạng
Trong các hệ thống NIDS, các hệ thống giám sát sẽ thu thập
thông tin từ nhiều điểm trong mạng, bao gồm cả các giao dịch ở
biên và nội bộ mạng. Các thông tin có được từ việc giám sát
hoạt động mạng như: địa chỉ IP nguồn – đích, cổng nguồn –
đích của các giao dịch TCP/UDP, các gói tin ICMP với thông
điệp không tìm thấy trạm đích, các máy chủ và dịch vụ đang
được sử dụng trong mạng … Từ đó hệ thống phát hiện tấn công
đột nhập có thể đưa ra một số cảnh báo, ví dụ: máy trạm trong
mạng có địa chỉ không được xác thực, máy trạm cố gắng sử
dụng dịch vụ không được xác thực, máy trạm cố gắng kết nối
tới một máy trạm cụ thể khác trong hoặc ngoài mạng …
Ưu điểm của phương pháp này so với phương pháp kiểm
soát hành vi người sử dụng là các hoạt động của mạng ít có sự
thay đổi hành vi bình thường như của người dùng.
2.2.1.3 Kiểm soát hành vi chương trình
Một phương pháp được đưa ra bởi Fink, Levitt và Ko, thay
vì cố gắng xây dựng hồ sơ người dùng bình thường, họ xác định
7
hành vi bình thường của các tiến trình đặc quyền. Họ định nghĩa
hành vi bình thường sử dụng một ngôn ngữ đặc tả chương trình
trong đó các hoạt động được phép (các lời gọi hệ thống và các
tham số của nó) của một tiến trình được xác định.
2.2.2 Mô hình hóa hành vi chương trình sử dụng lời gọi hệ
thống
Các hệ thống phát hiện đột nhập sử dụng rất nhiều loại dữ
liệu khác nhau để phân biệt các hoạt động là bình thường hay
một đột nhập. Và lời gọi hệ thống được sinh ra từ các chương
trình khác nhau là một trong các dữ liệu phổ biến mà các
phương pháp sử dụng để xây dựng mô hình mô tả hành vi bình
thường cho phát hiện đột nhập. Mỗi phương pháp bao gồm việc
xây dựng hoặc huấn luyện mô hình sử dụng các trace của các
tiến trình bình thường. Dưới đây là một số phương pháp thường
được sử dụng.
2.2.2.1 Phương pháp dựa trên tần số
Mô hình các phương pháp dựa trên tấn số phân phối tần số
của các sự kiện khác nhau. Các sự kiện này chính là các sự kiện
của các mẫu của các lời gọi hệ thống trong chuỗi.
Phương pháp mô hình hóa này tính toán tần số xuất hiện
của các mẫu. Phương pháp này được giới thiệu bởi Bhangoo và
Helman. Trong phương pháp này, tần số của mỗi chuỗi lời gọi
được xếp hạng bởi số lần xuất hiện cả trong các trace bình
thường và trace có dấu hiệu xâm nhập. Vì thế, những chuỗi
thường xuất hiện trong các trace xâm nhập, hay ít xuất hiện
trong các thao tác bình thường được cho phân loại vào nhóm
chuỗi không đáng tin.
2.2.2.2 Phương pháp dựa trên khai khoáng dữ liệu
8
Phương pháp khai khoáng dữ liệu được thiết kế để xác định
các đặc điểm quan trọng nhất từ một tập dữ liệu lớn.Ý tưởng
của phương pháp này là phát hiện được nhiều định nghĩa ngắn
gọn của chương trình bình thường hơn là đạt được đơn giản
bằng cách lấy danh sách tất cả các mẫu trong chương trình bình
thường. Phương pháp này thực hiện như sau: Đầu tiên chương
trình khai khoáng dữ liệu được sử dụng để phát hiện các mẫu
tổng quát (tập các qui tắc) từ cơ sở dữ liệu lớn. Tiếp theo các
mẫu được sử dụng để mô tả hành vi người dùng. Hồ sơ người
dùng được thống kê trên hành vi của người dùng trong các mẫu.
Từ đó xác định hành vi của người sử dụng là đột nhập hay
không. Cuối cùng, mô hình (đã học) kết hợp với bằng chứng từ
các hồ sơ đưa ra cảnh báo nếu có đột nhập.
2.3 ỨNG DỤNG HỌC MÁY TRONG PHÁT HIỆN ĐỘT
NHẬP BẤT THƯỜNG
FSA là một cách tự nhiên để mô tả các hành vi bình thường
của chương trình bằng cách biểu diễn cấu trúc chương trình như
các vòng lặp, phân nhánh. Khác với các kĩ thuật trước, các trạng
thái của FSA có thể nhớ sự tương quan các trường hợp ngắn và
trường hợp dài giữa các lời gọi hệ thống do đó thực hiện phát
hiện đột nhập tin cậy hơn.
Kosoresow và Hofmeyr xây dựng bằng tay máy tự động
hữu hạn đơn định (DFA-Deterministic Finite Automaton) để
mô tả hành vi bình thường của chương trình sử dụng các lời gọi
hệ thống. DFA có thể được xây dựng để mô tả hành vi bằng
cách sử dụng ngôn ngữ macro. Mỗi chương trình, lựa chọn thủ
công các macro match với các mẫu mô tả hành vi chương trình
bình thường. Sau đó, so sánh các macro đã tạo với hành vi
9
chương trình để tìm mismatch nhằm phát hiện hành vi bất
thường. DFA có thể phát hiện một số đột nhập. Tuy nhiên, xây
dựng bằng tay FSA từ các lời gọi hệ thống là công việc rất tốn
thời gian đặc biệt với các chương trình phức tạp và các trace
chạy với thời gian dài.
2.4 KẾT CHƯƠNG
Mục tiêu của các hệ thống phát hiện đột nhập là có thể đưa
ra được các cảnh báo về sự bất thường ngay khi có dấu hiệu của
sự xâm nhập. Nguyên tắc hoạt động của cả hai kỹ thuật phát
hiện đột nhập cơ bản, dựa trên chữ ký và dựa trên bất thường, là
so sánh các trường hợp giám sát hiện tại với các mô hình định
nghĩa xâm nhập của mình. Sự khác biệt nhất giữa hai phương
pháp đó là các hệ thống dựa chữ ký mô hình hóa các trường hợp
bất thường, còn các hệ thống dựa bất thường lại sử dụng các
trường hợp bình thường để mô hình hóa.
Mỗi phương pháp phát hiện đột nhập và mô hình hóa dữ
liệu hóa khác nhau đều có những ưu và nhược điểm riêng.
Chương III PHÁT HIỆN ĐỘT NHẬP BẤT THƯỜNG
ĐA LỚP DỰA TRÊN THÔNG KÊ VÀ MÁY TRẠNG
THÁI HỮU HẠN
Chương II đã phân tích chi tiết các phương pháp phát hiện
đột nhập được nghiên cứu hiện nay. Trong đó các phương pháp
phát hiện đột nhập dựa trên thống kê và học máy cho kết rất
khả quan. Tuy nhiên, do các dạng tấn công và đột nhập phát
triển rất nhanh và thường xuyên thay đổi hình thức, nên các
phương pháp phát hiện đơn lớp thường gặp nhiều khó khăn.
10
Trong chương này, một mô hình phát hiện đa lớp được phát
triển nhằm giảm tỷ lệ cảnh báo sai và nâng cáo tỷ lệ phát hiện
đúng.
3.1 PHƯƠNG PHÁP PHÁT HIỆN ĐỘT NHẬP BẤT
THƯỜNG DỰA TRÊN THỐNG KÊ
3.1.1 Xây dựng CSDL bình thường.
Để xây dựng CSDL, ta trượt cửa sổ kích thước k qua các
trace của các lời gọi hàm hệ thống và ghi lại những chuỗi lời
gọi khác nhau xuất hiện bên trong cửa sổ trượt( loại bỏ những
chuỗi trùng nhau ). Bởi vì mỗi chương trình chạy trên mỗi hệ
điều hành khác nhau sẽ tạo ra các chuỗi lời gọi hàm hệ thống
khác nhau, do đó mỗi cặp chương trình – hệ điều hành phân biệt
được xây dựng một CSDL riêng. Sau đó CSDL này được sử
dụng để giám sát các hành vi tiến trình được thực hiện bởi cặp
chương trình – hệ điều hành tương ứng.
3.1.2 Phát hiện đột nhập bất thường
Chúng ta đã xây dựng xong CSDL biểu diễn hành vi bình
thường, bước tiếp theo là tiến hành kiểm tra những trace hành
vi mới sử dụng CSDL đã xây dựng. Mọi chuỗi lời gọi hàm hệ
thống chiều dài k trong trace mới được kiểm tra xem có xuất
hiện trong CSDL bình thường hay không. Mỗi chuỗi không
xuất hiện trong CSDL bình thường được coi là một chuỗi không
khớp ( bất thường) – mismatch. Độ khẳng định mỗi trace mới là
bất thường tỉ lệ thuận với số mismatch xuất hiện trong quá trình
kiểm tra trace.
Đây là một thuật toán đơn giản có thể cài đặt hiệu quả với
độ phức tạp tính toán là O(N), với N là chiều dài của trace
(trong trường hợp của các lời gọi hệ thống).
11
3.2 MÔ HÌNH PHÁT HIỆN ĐỘT NHẬP DỰA TRÊN
MÁY TRẠNG THÁI HỮU HẠN (FSA)
3.2.1 Xây dựng mô hình FSA
Định nghĩa:
Máy trạng tháy hữu hạn (FSM- Finite State Machine) hay
máy tự động trạng thái hữu hạn (FSA – Finite State
Automaton), hoặc gọi đơn giản là máy trạng thái, là một trừu
tượng toán học thường được sử dụng để thiết kế mạch logic số
hoặc chương trình máy tính. Nó là một mô hình hành vi bao
gồm một số hữu hạn trạng thái, các chuyển dịch giữa các trạng
thái, các hành động, tương tự như đồ thị luồng trên đó chúng ta
có thể biết được đường đi của mạch logic khi điều kiện nhất
định nào đó được thỏa mãn. Nó có bộ nhớ trong hữu hạn, một
tính năng đầu vào đọc các ký hiệu một cách tuần tự, mỗi lần
một ký hiệu và không quay ngược trở lại; một đầu ra có thể ở
dạng giao diện người dùng, một khi mô hình được cài đặt. Hoạt
động của FSM bắt đầu từ một trong các trạng thái (gọi là trạng
thái bắt đầu), đi qua các chuyển dịch sang các trạng thái khác
dưới tác động của đầu vào và có thể dừng ở bất kỳ trạng thái
nào. Tuy nhiên chỉ một số trạng thái nhất định đánh dấu sự
thành công của hoạt động (gọi là trạng thái chấp nhận hay trạng
thái dừng).
Khái niệm và từ vựng
Trạng thái hiện tại được xác định bởi các trạng thái quá khứ
của hệ thống. Như vậy có thể nói rằng FSM ghi thông tin về
quá khứ, nghĩa là nó phản ánh những thay đổi từ trạng thái bắt
đầu đến thời điểm hiện tại. Số lượng và tên các trạng thái
thường phụ thuộc vào các trạng thái khác nhau của bộ nhớ, ví
12
dụ bộ nhớ có 3 bit sẽ có 8 trạng thái có thể sử dụng. Một chuyển
dịch biểu thị một sự thay đổi trạng thái và được diễn đạt bằng
một điều kiện cần được thỏa mãn để chuyển dịch có thể xảy ra.
Một hành động là một mô tả hoạt động được thực hiện ở một
thời điểm nhất định. Có nhiều loại hành động:
Hành động đi vào (entry action): Được thực hiện khi vào
một trạng thái.
Hành động đi ra ( exit action): Được thực hiện khi ra một
trạng thái.
Hành động đầu vào ( input action): Được thực hiện phụ
thuộc vào trạng thái hiện tại và các điều kiện vào.
Hành động chuyển dịch (transition action): Được thực hiện
khi thực hiện chuyển dịch.
c)Mô hình toán học
Tương ứng với phân lớp tổng quát ở trên, các định nghĩa về
FSM như sau:
Một FSM đơn định là một bộ 5 (Σ,S,s
0
,δ,F), trong đó:
Σ là bảng chữ cái đầu vào (một tập hữu hạn, không rỗng các
ký hiệu).
S là tập hữu hạn, không rỗng các trạng thái.
s
0
là trạng thái khởi tạo, một phần tử thuộc S.
δ là hàm chuyển trạng: (ở FSM không
đơn định là a .
F là tập các trạng thái kết thúc, có thể rỗng, là tập con của
S.
3.2.2 Kỹ thuật tự động tạo FSA cho phát hiện đột nhập bất
thường
13
Mục tiêu của phần này là đánh giá kỹ thuật tạo máy tự
động hữu hạn (FA-Finite Automaton) cho phát hiện đột nhập
dựa trên host. Vì dữ liệu mô tả các hành vi đột nhập không
được sử dụng trong suốt quá trình huấn luyện, mục đích đầu
tiên đơn giản là xây dựng một máy tự động hữu hạn chấp nhận
tất cả các chuỗi sự kiện (audit-event) trong dữ liệu huấn luyện,
nhưng không phải chấp nhận hoặc là nó từ chối tất cả dữ liệu
mới sau khi huấn luyện.
Thông qua ví dụ, chúng ta có thể tạo ra một FA với một
trạng thái duy nhất, trong đó mọi sự kiểm tra quá trình tạo ra
một sự chuyển trạng thái lại về chính nó. Chúng ta có thể cũng
tạo ra một FA không có chu trình và chấp nhận các dãy sự kiện
kiểm tra trong dữ liệu huấn luyện.
3.2.3 Một vài ví dụ FA được tạo tự động
FA được tạo bằng giải thuật mô tả ở trên phụ thuộc vào
khối lượng dữ liệu huấn luyện, cũng như các tham số n và l.
Không có n-gram nào liên quan đến nhiều trạng thái, do vậy
không có quá kn trạng thái với chương trình tạo ra k sự kiện
kiểm toán khác nhau. (Trong thực hành, số lượng các trạng thái
thường nhỏ hơn nhiều: nhiều trạng thái được gán hơn một n-
gram và ít hơn kn n-gram xuất hiện trong dữ liệu huấn luyện).
Mỗi trạng thái có nhiều nhất kl chuyển trạng thái đi ra, do vậy
tổng số chuyển trạng thái tối đa là kn+l. Cũng như vậy, số cạnh
cũng nhỏ hơn bởi vì có hữu hạn các l-gram khác nhau xuất hiện
trong dữ liệu luyện.
3.2.4 Phát hiện đột nhập dựa trên FSA
Ý tưởng ban đầu của phát hiện bất thường dựa trên trạng
thái đó là máy phát hiện sẽ trả lại một giá trị lớn bất thường khi
14
nó gặp phải sự chuyển dịch trạng thái sai, và trả lại giá trị 0 nếu
sự chuyển trạng thái đúng. Nhưng điều này không phải là cách
tốt nhất để mô tả kết quả phát hiện đột nhập, bởi vì người sử
dụng có thể thay đổi độ nhạy của máy phát hiện. Máy phát hiện
có thể trả lại một giá trị từ 0 đến 1 thể hiện sự chắc chắn rằng có
một xâm nhập xảy ra.
3.3 MÔ HÌNH KẾT HỢP THỐNG KÊ N-GRAM VÀ FSA
ĐỂ PHÁT HIỆN BẤT THƯỜNG
Sử dụng CSDL bình thường và mô hình FSA kiểm tra các
chuỗi thử để phát hiện bất thường.
Các bước thực hiện:
Bước 1: Chuỗi các lời gọi hệ thống được so sánh với chuỗi
các lời gọi trong CSDL bình thường để tìm ra mismatch.
Bước 2: Nếu chuỗi được phát hiện là mismatch, nó được
dùng làm đầu vào cho mô hình FSA để kiểm tra xem có thực sự
là mismatch không. Bằng cách sử dụng phương pháp FSA để
phân tích kĩ hơn chuỗi mismatch ta có thể làm giảm số cảnh báo
sai.
3.4 KẾT LUẬN
Phương pháp phát hiện đa lớp dựa trên thống kê và máy
trạng thái hữu hạn có khả năng giúp giảm tỷ lệ cảnh báo sai và
tăng tỷ lệ phát hiện đúng. Điều này giúp tăng hiệu quả phát hiện
tổng thể. Hơn nữa, mô hình còn có thể được tích hợp khả năng
tự cập nhật, giúp cho nó có khả năng phát hiện các đột nhập
mới thay đổi theo thời gian.
Chương IV THỬ NGHIỆM VÀ KẾT QUẢ
15
Trong chương này các thử nghiệm mô hình phát hiện đột
nhập kết hợp được thực hiện trên chương trình sendmail chạy
trên các hệ điều hành Unix và Linux. Dữ liệu thử nghiệm để
phát hiện đột nhập là các chuỗi ( trace ) các lời gọi hàm hệ
thống sendmail gửi đến nhân hệ điều hành để yêu cầu các dịch
vụ. Để mô tả các hành vi bình thường trong chương trình các
trace thu thập được trong quá trình làm việc bình thường của
sendmail được sử dụng để xây dựng CSDL bình thường và mô
hình FSA theo các kỹ thuật đã mô tả ở chương III. Sau đó
CSDL bình thường và mô hình FSA được sử dụng để kiểm tra
chuỗi của các lời gọi hàm hệ thống của các trace thử nghiệm để
phát hiện bất thường theo phương pháp đã đề cập tại mục 3.3.
4.1 TẬP DỮ LIỆU THỬ NGHIỆM
Tập dữ liệu thử nghiệm được sử dụng được lấy từ tập dữ
liệu tổng hợp cho sendmail được thu thập tại UNM (University
of New Mexico) trên Sun SPARCstations. Tập dữ liệu bao gồm
định danh tiến trình (PID) và định danh của các lời gọi hệ thống
(System Call ID) của một số chương trình Unix như: sendmail,
fpt, lpr…Mỗi trace là một danh sách các lời gọi hàm hệ thống
được tạo ra bởi các tiến trình của một chương trình từ khi bắt
đầu thực hiện đến khi kết thúc. Các trace có chiều dài khác nhau
bởi vì các chương trình có độ phức tạp khác nhau và vì một số
trace là tiến trình deamon, một số khác thì không. Ánh xạ giữa
số các lời gọi hệ thống và tên của lời gọi hệ thống thực sự được
đặt trong các file riêng biệt. Mỗi file ánh xạ là một danh sách
tên các lời gọi hệ thống
4.2 THỬ NGHIỆM VÀ KẾT QUẢ
4.2.1 Cài đặt thử nghiệm
16
Mục đích của các thử nghiệm là để xác định mức cảnh báo
sai (false positive) và hệ số phát hiện đúng (true positive) của
mô hình phát hiện kết hợp đề nghị. Để xác định mức cảnh báo
sai, một phần dữ liệu bình thường chưa được sử dụng trong tập
huấn luyện được sử dụng để test mô hình. Nếu hệ thống xác
định một chuỗi bình thường là bất thường thì đó được xem là
một cảnh báo sai.
Để xác định hệ số phát hiện đúng, tập dữ liệu bất thường
được sử dụng để test mô hình đề nghị. Tập dữ liệu bất thường là
các traces được sinh ra trong quá trình sendmail chạy dưới dự
tấn công của các công cụ sinh một số đột nhập đã biết, như
sm5x, sm565a và syslog-remote và syslog-local. Nếu hệ thống
nhận ra các chuỗi bất thường thì đó được xem là một phát hiện
đúng. Để khái quát hoá kết quả, việc tính toán tỷ lệ phát hiện
đúng được thực hiện thông qua mức tín hiệu bất thường. Để đo
các tín hiệu bất thường, các miền cục bộ theo thời gian với
chiều dài gồm r chuỗi liên tiếp được sử dụng. Cũng giống như
cửa sổ trượt của chuỗi ngắn, các miền cục bộ cũng di chuyển
qua các trace kiểm tra. Hệ thống đếm số chuỗi bất thường m
trong mỗi vùng và xem xét tỷ lệ (m/r) là giá trị của tín hiệu bất
thường. Một ngưỡng được sử dụng để xác định xem miền cục
bộ này là bình thường hay bất thường.
4.2.2 Một số kết quả
Sau khi xây dựng mô hình kết hợp phát hiện đột nhập bất
thường như mô tả ở chương III, các thử nghiệm được thực hiện
trên dữ liệu thu được từ chương trình sendmail. Bảng 4.3 cho
thấy số các chuỗi đơn nhất trong CSDL bình thường với chiều
17
dài chuỗi từ 5 tới 20 được xây dựng dựa trên 30%, 60% và
100% từ tập dữ liệu huyến luyện đầy đủ.
Trace size
(% của tập
dữ liệu
huấn luyện
đầy đủ )
K=5
K=8
K=11
K=15
K=20
30%
535 595 796 941 1112
60%
601 681 955 1151 1378
100%
748 847 1210 1462 1758
Bảng 4.3 Số các chuỗi đơn nhất của các lời gọi hệ thống
trong CSDL bình thường.
4.3 ĐỀ XUẤT ỨNG DỤNG MÔ HÌNH PHÁT HIỆN ĐỘT
NHẬP VÀO HỆ THỐNG MÁY CHỦ ĐHQGHN
4.3.1 Giới thiệu hệ thống mạng ĐHQGHN
Đại học quốc gia Hà Nội có tổng cộng 28 đơn vị với 2.503
cán bộ và 23.628 sinh viên, học viên các hệ tập trung ( tổng
cộng 26.131 cán bộ và học viên, sinh viên các hệ tập trung), và
khoảng 26.000 sinh viên các hệ không tập trung.
Gần như 100% cán bộ đã có máy tính làm việc. Số lượng
máy tính trong các phòng thí nghiệm và phòng thực hành phục
vụ công tác giảng dạy và trong các ký túc xá có khoảng 1.500
chiếc, tổng cộng hiện có khoảng 4.000 máy tính kết nối vào
mạng VNunet.
18
4.3.2 Đề xuất ứng dụng mô hình phát hiện đột nhập vào hệ
thống máy chủ
Vùng mạng bên trong VNUnet, bao gồm máy của giảng
viên, máy của cán bộ trường, máy thực hành của sinh viên được
bảo vệ bằng cơ chế NAT và tường lửa CheckPoint nên ít có
khả năng bị tấn công. Vì vậy, hướng ứng dụng phù hợp là triển
khai mô hình kết hợp FSA phát hiện tấn công, đột nhập vào các
máy chủ cung cấp dịch vụ. Hình 4.4 là một ví dụ về hướng
dựng mô hình phát hiện kết hợp đề nghị cho máy chủ web. Mô
hình phát hiện liên tục giám sát máy chủ web nhằm phát hiện
các bất thường khi máy chủ web cung cấp dịch vụ.
KẾT LUẬN
Tựu trung, luận văn đã trình bày tổng quan về an toàn
mạng, các giải pháp phát hiện đột nhập, và các biện pháp phát
hiện bất thường dựa trên thống kê và mô hình FSA.
Cụ thể, các vấn đề đã được nghiên cứu trong phạm vi luận
văn:
Các dạng tấn công và đột nhập trên mạng bao gồm các phần
mềm phá hoại và các dạng tấn công máy tính và mạng. Một số
phần mềm phá hoại như trapdoor, logic bomb, trojan horse,
virus, worm, zombie. Các số dạng tấn công máy tính và mạng
như nghe trộm, thay đổi dữ liệu, giả mạo địa chỉ IP, tấn công
dựa trên passworrd, tấn công từ chối dịch vụ và một số tấn công
khác cùng với đặc điểm của từng loại tấn công.
Giới thiệu các phương pháp phát hiện đột nhập dựa trên chữ
kí, phương pháp phát hiện đột nhập dựa trên bất thường và
19
phương pháp phát hiện đột nhập bằng cách kiểm soát hành vi
chương trình cùng với ưu, nhược điểm của từng loại.
Luận văn tập trung nghiên cứu mô hình phát hiện đột nhập
dựa trên thống kê và mô hình FSA. Trên cơ sở đó luận văn đưa
ra mô hình phát hiện đột nhập kết hợp dựa trên thống kê và
FSA. Mô hình này đạt được một số ưu điểm:
Giảm tỉ lệ cảnh báo sai so với phương pháp chỉ dùng CSDL
bình thường do mô hình kết hợp kiểm tra chuỗi mismatch qua
hai bước: Đầu tiên, dữ liệu thử nghiệm được so sánh với CSDL
bình thường để phát hiện mismatch. Sau đó, các chuỗi hiếm và
mismatch được đưa vào mô hình FSA để kiểm tra xem chuỗi đó
có thật sự là chuỗi bất thường hay không.
Chi phí sử dụng cho việc huấn luyện không quá cao mà
hiệu suất phát hiện đột nhập cũng cho kết quả khả quan.
Luận văn đề xuất hướng ứng dụng mô hình phát hiện đề
nghị vào hệ thống mạng của ĐHQGHN.
Hướng phát triển của luận văn:
Chương trình thử nghiệm mới chỉ thực hiện trên máy cục
bộ và chỉ với dữ liệu offline của phần mềm sendmail. Mô hình
thử nghiệm cần được thử nghiệm với nhiều chương trình để có
đánh giá chính xác hơn.
Thực hiện cải tiến mô hình để có thể thực hiện phát hiện đột
nhập đồng thời cho nhiều chương trình theo chế độ online.
Từng bước triển khai các thử nghiệm trên hệ thống máy chủ
của ĐHQGHN nếu được các cấp quản lý cho phép.