Tải bản đầy đủ (.pdf) (96 trang)

ứng dụng bản đồ tự tổ chức som (self organizing map) phát hiện phát tán virus máy tính qua hành vi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.41 MB, 96 trang )


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG








NGUYỄN QUỐC DOANH





ỨNG DỤNG BẢN ĐỒ TỰ TỔ CHỨC
SOM (Self Organizing Map) PHÁT HIỆN
PHÁT TÁN VIRUS MÁY TÍNH QUA HÀNH VI

Chuyên ngành: Công nghệ thông tin
Mã số: 60.48.02.01










LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN





NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. TRỊNH NGỌC MINH






Đồng Nai – Năm 2012

MỤC LỤC


LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC CÁC HÌNH
Trang
CHƢƠNG 1 - MỞ ĐẦU 1
1.1 Giới thiệu đề tài 1
1.1.1 Lý do chọn đề tài 1
1.1.2 Mục tiêu của đề tài 2
1.1.3 Các giai đoạn thực hiện đề tài 3
1.2 Đối tƣợng, phạm vi nghiên cứu của đề tài 3

1.2.1 Các hệ học 3
1.2.2 Học giám sát 4
1.2.3 Học không giám sát 4
1.2.4 Bản đồ tự tổ chức (SOM) 5
1.2.3 Sâu máy tính và các hệ thống đích 5
1.3 Cấu trúc chung luận luận văn 6
1.4 Ý nghĩa thực tiễn của đề tài 7
CHƢƠNG 2 - TÌM HIỂU HỆ THỐNG PHÁT HIỆN XÂM NHẬP 9
2.1 Khái niệm 9
2.2 Các thành phần và chức năng của IDS 9
2.2.1 Thành phần thu thập gói tin 11
2.2.2 Thành phần phát hiện gói tin 11
2.2.3 Thành phần phản hồi 11
2.3 Phân loại IDS 12
2.3.1 Network Base IDS (NIDS) 12
2.3.2 Host Based IDS (HIDS) .13
2.4 Hệ thống phát hiện xâm nhập theo dấu hiệu cho trƣớc (Misuse-based IDS) và
hệ thống phát hiện xâm nhập bất thƣờng (Anomaly-based IDS) 14
2.4.1 Misuse – based system 14
2.4.2 Anomaly – based system 15
2.5 Phân loại các dấu hiệu 16
2.5.1 Phát hiện dấu hiệu bất thƣờng 16
2.5.2 Các mẫu hành vi thông thƣờng- phát hiện bất thƣờng 16
2.5.3 Các dấu hiệu có hành vi bất thƣờng – phát hiện dấu hiệu 17
CHƢƠNG 3 - BẢN ĐỒ TỰ TỔ CHỨC 20
3.1. Giới thiệu 20
3.2. Cấu trúc mạng Kohonen 21
3.3 Thuật giải Bản đồ tự tổ chức (SOM) 22
3.3.1 Khởi tạo: 22
3.3.2 Chọn phần tử đại diện: 22

3.3.3 Tìm mẫu khớp tốt nhất (BMU) : 22
3.3.4 Xây dựng các phần tử lân cận: 23
3.3.5 Hiệu chỉnh trọng số của các phần tử lân cận 24
3.3.6 Vòng lặp 26
3.7. Chất lƣợng “Bản đồ tự tổ chức” 26
3.8. Các phƣơng pháp trực quan minh họa “Bản đồ tự tổ chức” 27
3.9. Phƣơng pháp tìm ngƣỡng cảnh báo 29
3.10. Phát hiện tấn công ứng dụng “Bản đồ tự tổ chức” 30
3.4 Ƣu và nhƣợc điểm của SOM 31
3.4.1 Ƣu điểm 31
3.4.2 Nhƣợc điểm 31
CHƢƠNG 4: CÁCH THỨC PHÁT TÁN CỦA VIRUS, WORM VÀ MỘT SỐ
VẤN ĐỀ LIÊN QUAN 32
4.1. Các cơ chế phát hiện phát tán virus máy tính 32
4.1.1. Phát hiện virus dựa vào chuỗi nhận dạng 32
4.1.2. Phát hiện virus dựa vào hành vi 33
4.1.3. Phát hiện virus dựa vào ý định 33
4.2. Tổng quan về sâu máy tính(worm) 34
4.2.1. Khái niệm sâu 34
4.2.2 Sâu máy tính và các virus khác phát tán nhƣ thế nào? 34
4.3. Sự phát triển của virus và worm 35
4.3.1 Khái quát : 35
4.3.2 Các thế hệ phát triển của virus, worm : 35
4.4 Số liệu chung về tình hình virus và an ninh mạng năm 2011 38
4.5 Báo cáo tình hình virus tại Việt Nam – tháng 11/2011 (theo Kaspersky) 39
4.5.1 Malware nhắm vào Hệ thống phát hiện xâm nhập (IDS) 39
4.5.2. Những quốc gia có số lƣợng tấn công cao nhất vào máy tính 40
4.5.3 Những quốc gia có tỉ lệ phát hiện các đối tƣợng độc hại cao nhất 40
4.5.4 Các quốc gia có tỷ lệ bị lây nhiễm cao đƣợc ghi nhận 41
4.5.5 Các vấn đề mở của công nghệ anti-virus 41

4.6 Hƣớng tiếp cận của đề tài 42
4.6.1 Tiếp cận máy học và Bản đồ tự tổ chức (SOM) 43
4.6.2 Giới thiệu các đặc trƣng và ý nghĩa 43
4.7 Đề xuất các đặc trƣng 47
4.8. Thuật toán xây dựng đặc trƣng 48
4.8.1 Gán trọng số cho các nhóm đặc trƣng 49
4.8.2 Chuẩn hóa các đặc trƣng 49
CHƢƠNG 5: THIẾT KẾ XÂY DỰNG HỆ THỐNG VÀ THỰC NGHIỆM 51
5.1 Mô hình tổng quát 51
5.2 Tiền xử lý 52
5.3 Xây dựng bản đồ 53
5.3.1 Xác định các tham số quan trọng cho thuật toán SOM 53
5.3.2 Cài đặt thuật toán SOM 53
5.4 Kết quả mạng SOM sau quá trình học. 55
5.5 Bản đồ tham số đặc trƣng 57
5.6 Thực nghiệm Lab phát tán mã độc, virus, worm. 58
5.6.1. Mô tả môi trƣờng thực nghiệm. 58
5.6.2 Môi trƣờng thực nghiệm: 58
5.6.2.1 Phần mềm tạo máy ảo VMware Workstation 58
5.6.2.2 Phần mềm đóng băng ổ cứng Deep Freeze: 59
5.7 Mô hình đề xuất 60
5.7.1 Xây dựng mô hình thực nghiệm 60
5.7.2 Cấu hình máy phát hiện xâm nhập IDS: 60
5.7.3 Cấu hình máy Mail Sever: 60
5.7.4 Cấu hình máy trạm: 61
5.8. Phân tích cách thức hoạt động của một số sâu 61
5.8.1 Worm Mydoom.s 61
5.8.2 Worm W32.NetSky.P 62
5.8.3 Worm Sasser 63
5.8.4 Loveletter 64

5.8.5. Phân tích sâu Blaster 69
5.9 Phƣơng pháp phát hiện mã độc phát tán ứng dụng Bản đồ tự tổ chức 72
5.10 Chƣơng trình thực nghiệm phát hiện xâm nhập mã độc 74
5.10.1 Tải tập tin dữ liệu học 74
5.10.2 Hiển thị nội dung véc-tơ học 75
5.10.3 Khởi tạo bản đồ: 76
5.10.4 Huấn luyện bản đồ 77
5.10.5 Dò tìm xâm nhập bất thƣờng 77
5.10.5.1 Thực nghiệm 1 78
5.10.5.2 Thực nghiệm 2 79
5.10.5.3 Thực nghiệm 3 81
5.10.5.4 Thực nghiệm 4 83
5.10.6 Huấn luyện và tính chất lƣợng “Bản đồ tự tổ chức” 85
5.11 Ứng dụng ngƣỡng cảnh báo vào thực nghiệm 87
5.12 Đánh giá kết quả thực nghiệm 87
5.13 Kết luận 88
CHƢƠNG 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 89
6.1 Những đóng góp của đề tài 89
6.2 Hạn chế của đề tài và cách khắc phục 89
6.3 Hƣớng phát triển đề tài 89
TÀI LIỆU THAM KHẢO TIẾNG VIỆT
TÀI LIỆU THAM KHẢO TIẾNG ANH
CÁC ĐỊA CHỈ INTERNET

-1-

CHƢƠNG 1: MỞ ĐẦU
1.1 Giới thiệu đề tài
1.1.1 Lý do chọn đề tài
Ngày nay công nghệ thông tin trở thành một lĩnh vực mũi nhọn trong

công cuộc phát triển kinh tế xã hội. Cùng với công nghệ sinh học và năng lượng
mới, công nghệ thông tin vừa là công cụ, vừa là động lực thúc đẩy quá trình
công nghiệp hóa, hiện đại hóa đất nước. Trong giai đoạn đất nước hội nhập quốc
tế, Công nghệ thông tin giữ vai trò đặc biệt quan trọng trong việc xử lý tính toán
dữ liệu, kết nối thông tin liên lạc của các đơn vị tổ chức trong và ngoài nước.
Bảo vệ an toàn dữ liệu cho các hệ thống tính toán, giữ vững an ninh mạng, đảm
bảo liên lạc thông suốt, duy trì chất lượng phục vụ luôn là vấn đề quan tâm hàng
đầu của các nhà quản trị hệ thống.
Sự phát triển của Internet tạo điều kiện cho các loại hình xâm nhập trái
phép vào các hệ thống Công nghệ thông tin cả chiều rộng (lây lan trên quy mô
toàn thế giới) và chiều sâu (can thiệp vào hệ thống đích). Mỗi ngày các hệ thống
mạng phải đối phó với hàng loạt đợt tấn công bằng mã độc (Malware) của tin
tặc, khiến nhiều hệ thống bị đình trệ, tắc nghẽn và tê liệt, gây thiệt hại không
nhỏ. Một trong những loại virus máy tính gây thiệt hại đến kinh tế, xã hội và an
ninh trên mạng hiện nay đó chính là sử dụng các loại mã độc (malware), sâu máy
tính (worm). Mã độc được kết hợp với một số kỹ thuật tấn công khác sẽ tạo nên
một khả năng rất mạnh đối với kẻ tấn công. Chúng có thể tự động len lỏi tìm đến
các mục tiêu máy tính được nối mạng và lấy cắp những thông tin từ mục tiêu này
mà người sử dụng không hay biết gì, mã độc thực sự trở thành mối đe dọa thường
xuyên và cấp bách của các hệ thống Công nghệ thông tin hiện nay.
Trong bối cảnh đó đề tài “Ứng dụng Bản đồ tự tổ chức (SOM - Self
Organizing Map) phát hiện phát tán virus qua hành vi” được tiến hành
nhằm góp phần giải quyết vấn đề bảo vệ an toàn dữ liệu cho các hệ thống Công
nghệ thông tin hiện nay.
-2-

1.1.2 Mục tiêu của đề tài
- Nghiên cứu hệ thống phát hiện xâm nhập (IDS – Intrusion Detection
System).
- Nghiên cứu các cách lây lan của virus, worm phổ biến hiện nay.

- Nghiên cứu và cài đặt cách thức lấy các tham số đặc trưng của mã độc
trong hệ thống mạng.
- Khảo sát, phân tích thuật toán Bản đồ tự tổ chức (SOM).
- Ứng dụng bản đồ tự tổ chức SOM để trích chọn các tham số đặc trưng
của một hệ thống mạng trong trạng thái “bất thường” rồi triển khai, phân tích, so
sánh thông tin về hoạt động mạng trong thời gian thực. Sau đó so sánh với
những trạng thái thu nhận khi “bất thường” để phát hiện ra các tấn công của sâu
máy tính thông qua hành vi bất thường.
- Trên cơ sở nhận dạng, phát hiện dấu hiệu “bất thường” các trường hợp
lây nhiễm, tiềm ẩn đã biết trên hệ thống đích “Ứng dụng Bản đồ tự tổ chức
(SOM - Self Organizing Map) phát hiện phát tán virus qua hành vi.”
1.1.3 Các giai đoạn thực hiện đề tài
Quá trình nghiên cứu đề tài được tiến hành qua các giai đoạn như sau
Giai đoạn 1: Xây dựng hệ thống mạng
- Xây dựng hệ thống mạng để làm thực nghiệm (Lab), giả lập phát tán mã
độc trên hệ thống mạng máy tính.
Giai đoạn 2: Thu thập dữ liệu
- Khảo sát tình hình thực tiễn, thu thập các mẫu sâu máy tính hiện nay, các
phần mềm tạo sâu máy tính trong nước và nước ngoài…
- Nghiên cứu tài liệu, tìm hiểu các phương pháp lây nhiễm, phát tán sâu
máy tính vào hệ thống mạng.
Giai đoạn 3: Thực nghiệm
- Xác định các tham số liên quan đến hệ thống máy tính bị ảnh hưởng bởi
mã độc tấn công, cách thức lấy thông tin liên quan tới các tham số đã xác định.
Kết quả cuối cùng là tập các véc-tơ để học.
-3-

- Từ tập véc-tơ học thu được, sử dụng chương trình SOM tạo nơron sinh
ngẫu nhiên để có được nơron sau khi học.
- Phát tán sâu máy tính trong hệ thống mạng, hiệu chỉnh bán kính IDS sao

cho phù hợp và ghi nhận kết quả cảnh báo
Giai đoạn 4: Tổng kết
- Khái quát hóa và rút ra kết luận chung cho đề tài.
- Viết báo cáo, công bố kết quả nghiên cứu đề tài
1.2 Đối tƣợng, phạm vi nghiên cứu của đề tài
1.2.1 Các hệ học
Trong nhiều tình huống, tri thức là không có sẵn. Phần lớn người lập trình
không có đủ kiến thức thuộc về lĩnh vực chuyên môn nên không biết cách mô tả
các luật trong từng lĩnh vực cụ thể. Do thiếu tri thức nên bài toán không được
biểu diễn tường minh theo luật, sự kiện hay các quan hệ. Vì vậy cần xây dựng
các hệ thống học có khả năng thu nhận kiến thức từ các chuyên gia và học tập từ
các ví dụ do chuyên gia cung cấp.
Máy học (Machine Learning) là các hệ chương trình có khả năng thực thi
công việc dựa trên kinh nghiệm, tự khám phá tri thức bằng các cấu trúc dữ liệu
và thuật giải đặc biệt. Có hai tiếp cận cho hệ thống học là học từ ký hiệu và học
từ dữ liệu số. Học từ ký hiệu bao gồm việc hình thức hóa, sửa chữa các luật
tường minh, sự kiện và các quan hệ. Học từ dữ liệu số áp dụng cho các hệ thống
sử dụng các mô hình có liên quan đến các kỹ thuật tối ưu các tham số. Các hệ
học có ưu điểm:
 Xử lý dữ liệu với khối lượng lớn.
 Hỗ trợ các kỹ thuật phân tích, xử lý, trích chọn và chi tiết hóa dữ
liệu
 Phát sinh luật từ dữ liệu, thích hợp cho các trường hợp cần tham
khảo ý kiến chuyên gia tư vấn cho các lĩnh vực cụ thể, có tính chuyên
sâu.
 Hỗ trợ quyết định xử lý liên quan đến kinh nghiệm của con
người…
-4-

Các hệ học có hai giai đoạn cơ bản: Học dữ liệu và xử lý dữ liệu.

- Học dữ liệu là quá trình phân tích và tìm ra những điểm tương đồng
trong dữ liệu để sản sinh luật.
- Giai đoạn xử lý ước lượng đặc tính dữ liệu mới dựa trên luật đã được
phát sinh ở giai đoạn học. Có thể chia các quá trình học thành hai dạng
chính:[4] học có giám sát (suppervised learning) và học không giám sát
(unsuppervised learning).
1.2.2 Học giám sát
Quá trình học giám sát được tiến hành trên một tập dữ liệu mẫu với giá trị
được phân loại (gán nhãn) sẵn. Tập dữ liệu luyện gồm:
S = {x
i
, c
j
| i = 1,…, M; j = 1,…, C}
Trong đó x
i
là véc-tơ n chiều (gọi là đặc trưng của dữ liệu)
c
j
là số lớp biết trước
Thuật toán học sẽ tìm kiếm trên không gian giả thuyết giải pháp tốt nhất
cho ánh xạ f với c = f(x). Kết quả tìm được phản ánh đặc trưng của mẫu dữ liệu.
Các thuật toán học tìm cách phát sinh một tập giả thuyết bằng cách tìm ra các
đặc trưng và giá trị tương ứng với mẫu dữ liệu của mỗi lớp. Sau đó áp dụng các
tập giả thuyết tìm được để phân loại (classification) các mẫu dữ liệu mới vào các
lớp tương ứng.
Bài toán nhận dạng virus đã biết là quá trình học có giám sát. Thư viện S
chứa k mẫu virus đã biết, mỗi mẫu virus xi có p thuộc tính. Mục tiêu của quá
trình chẩn đoán virus là xác định xem đối tượng có nhiễm virus xi hay không và
nếu nhiễm thì thuộc lớp virus đã biết trước c

j
nào.
1.2.3 Học không giám sát
Thay vì có mục tiêu tường minh, hệ tìm kiếm quy luật hình thành các mẫu
và khám phá mối quan hệ của dữ liệu. Các bài toán gom cụm dữ liệu
-5-

(clustering) đều thuộc dạng này. Trong mô hình học có giám sát, số các lớp là
biết trước. Ngược lại, trong mô hình học không giám sát, mẫu học chưa được
gán nhãn nên nói chung, số lớp chưa biết trước. Các hệ học loại này có khả năng
tự giám sát quá trình hình thành và phát sinh của các lớp. Công tác gán nhãn
được thực hiện tự động một cách hệ thống và phân biệt với các lớp khác.
Ở giai đoạn học dữ liệu, sử dụng một cấu trúc dữ liệu và thuật toán đặc biệt
để gán virus vào các nhóm có cùng đặc trưng. Tùy thuộc vào đặc tính phân bố
của dữ liệu, số lớp kết quả và giá trị nhãn lớp sẽ thay đổi. Với mô hình học
không giám sát này, không gian tìm kiếm được giảm thiểu và có thể nhận dạng
nhanh các đối tượng có cùng đặc trưng với các nhóm virus.
1.2.4 Bản đồ tự tổ chức (SOM)
Con người có khả năng sử dụng kinh nghiệm quá khứ để thích nghi với
những thay đổi của môi trường. Sự thích nghi đó không cần hướng dẫn hay chỉ
đạo từ bên ngoài. Mạng nơron thực hiện theo nguyên lý đó gọi là mạng tự tổ
chức hay Bản đồ tự tổ chức. SOM được Kohonen phát triển vào đầu thập những
năm 80, nên cũng thường được gọi là mạng Kohonen. SOM được dùng để gom
cụm dữ liệu (data clustering), nghĩa là học không có hướng dẫn (unsupervised
learning) hay học không giám sát.
1.2.3 Sâu máy tính và các hệ thống đích
Con người đã tốn rất nhiều công sức để giải quyết bài toán nhận dạng sâu
máy tính (worm). Tuy nhiên, các anti-virus vẫn chưa làm chủ được tình hình.
Sâu máy tính vẫn liên tục quấy nhiễu, thâm nhập mạng, đánh cắp thông tin, làm
sai lệch dữ liệu nhiều hệ thống Công nghệ thông tin trên thế giới cũng như ở

Việt Nam.
Sâu máy tính là sản phẩm của con người. Cuộc chiến giữa Anti Virus và
sâu máy tính là cuộc đấu trí giữa chuyên gia hệ thống và tin tặc. Xuất phát từ
nhận định này, đề tài chọn cách phối hợp tiếp cận học (machine learning) để tìm
lời giải cho bài toán phát hiện sâu máy tính qua hành vi.
-6-

Sâu máy tính là một chương trình có khả năng tự nhân bản và tự lây nhiễm
trong hệ thống tuy nhiên nó có khả năng “tự đóng gói”, điều đó có nghĩa là sâu
máy tính không cần phải có “file chủ” để mang nó khi nhiễm vào hệ thống. Như
vậy, có thể thấy rằng chỉ dùng các chương trình quét tập tin sẽ không diệt được
sâu máy tính trong hệ thống vì sâu máy tính không “bám” vào tập tin hoặc một
vùng nào đó trên đĩa cứng. Mục tiêu của sâu máy tính bao gồm cả làm lãng phí
nguồn lực băng thông của mạng và phá hoại hệ thống như xoá file, tạo
backdoor, thả keylogger, Tấn công của sâu máy tính có đặc trưng là lan rộng
cực kỳ nhanh chóng do không cần tác động của con người (như khởi động máy,
copy file hay đóng/mở file). Sâu máy tính có thể chia làm 2 loại:
 Network Service Worm lan truyền bằng cách lợi dụng các lỗ hổng
bảo mật của mạng, của hệ điều hành hoặc của ứng dụng. Sasser là ví
dụ cho loại sâu này.
 Mass Mailing Worm là một dạng tấn công qua dịch vụ mail, tuy
nhiên nó tự đóng gói để tấn công và lây nhiễm chứ không bám vào vật
chủ là email. Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng
tìm kiếm sổ địa chỉ và tự gửi bản thân nó đến các địa chỉ thu nhặt
được. Việc gửi đồng thời cho toàn bộ các địa chỉ thường gây quá tải
cho mạng hoặc cho máy chủ mail. Netsky, Mydoom là ví dụ cho thể
loại này.
Để kiểm tra và đánh giá kết quả, một chương trình thực nghiệm sẽ được
thiết kế dựa trên mô hình mạng Kohonen ứng dụng Bản đồ tự tổ chức SOM
nhằm phát hiện các hành vi, quy luật phát tán của mã độc từ tập véc-tơ học đã

biết.
1.3 Cấu trúc chung luận luận văn
Luận văn gồm 6 chương.
Chương 1: Dẫn nhập và giới thiệu chung về đề tài.
Chương 2: Tổng quan về hệ thống phát hiện xâm nhập IDS
Chương 3: Trình bày thuật toán SOM
-7-

Chương 4: Trình bày các cơ chế phát hiện hoạt động của virus, worm và
một số vấn đề liên quan. Trước tiên, Chương 4 sẽ trình bày cơ chế phát tán
virus, worm. Khảo sát tình hình virus lây nhiễm hiện nay, phân tích các vấn đề
đánh giá tình hình và đề xuất hướng tiếp cận, phương pháp giải quyết vấn đề. Kế
tiếp, Chương 4 trình bày cơ sở lý thuyết đề xuất các tham số đặc trưng. Phần
cuối Chương 4 trình bày thuật toán xây dựng tham số đặc trưng, nghiên cứu
hướng tiếp cận máy học trong lĩnh vực nhận dạng phát tán mã độc qua hành vi.
Chương 5: Trình bày phương pháp thiết kế chương trình thực nghiệm xây
dựng trên cơ sở các nghiên cứu lý thuyết của đề tài. Phần đầu Chương 5 mô tả
mô hình tổng quát thuật toán Bản đồ tự tổ chức SOM trong việc phát hiện phát
tán mã độc lây lan trong hệ thống mạng. Áp dụng tiếp cận máy học và Bản đồ tự
tổ chức SOM, sẽ được triển khai qua ba giai đoạn. Giai đoạn Học dữ liệu để thu
được tập véc-tơ học, giai đoạn Xử lý dữ liệu - thành phần cốt lõi (kernel) và giai
đoạn Tổng kết - đưa ra cảnh báo virus, worm lây lan trên hệ thống mạng. Triển
khai trên hệ thống mạng theo mô hình server - client, chương trình được thiết kế
cài đặt chạy trên máy sử dụng điều hành Linux CentOS 6.2. Mỗi gói trong
chương trình có chức năng cấu trúc dữ liệu, sử dụng các thuật giải học phân
cụm, phân lớp dữ liệu khác nhau. Phần cuối Chương 5 trình bày các kết quả thực
nghiệm của đề tài.
Chương 6: Tổng kết các đóng góp về mặt lý thuyết, đánh giá ý nghĩa thực
tiễn, phân tích hạn chế, đề xuất các biện pháp khắc phục và dự kiến hướng phát
triển tương lai của đề tài.

1.4 Ý nghĩa thực tiễn của đề tài
Ở nước ta mặc dù đã có nhiều đề tài nghiên cứu về virus máy tính, nhưng
chưa có công trình nào đề cập và giải quyết bài toán nhận dạng mã độc một cách
toàn diện. Không chỉ dừng lại ở việc nghiên cứu lý thuyết, đề tài cũng đặt ra
mục tiêu thực tiễn là:
- Xây dựng hệ thống mạng để làm thực nghiệm, phát hiện phát tán mã độc
trên hệ thống đích.
- Xây dựng bộ tham số đặc trưng của hệ thống máy IDS
-8-

- Xây dựng thuật toán gán trọng số các đặc trưng để giảm tỉ lệ cảnh báo
sai.
- Xây dựng thuật toán tìm ngưỡng cảnh báo phù hợp cho từng nơron chiến
thắng khác nhau và ứng dụng ngưỡng này vào quá trình dò tìm dấu hiệu „bất
thường”.
- Cài đặt thuật toán SOM đã nêu trong đề tài: như tạo véc-tơ đặc trưng,
chuẩn hóa dữ liệu, huấn luyện “bản đồ tự tổ chức”, mô hình hóa bản đồ, chạy
giám sát hệ thống và đưa ra cảnh báo cho nhà quản trị mạng khi có mã độc tấn
công xâm nhập.
- Ứng dụng “bản đồ tự tổ chức SOM”, xây dựng một chương trình IDS
chạy trên Linux giám sát hệ thống để phát hiện phát tán mã độc qua hành vi.
-9-

CHƢƠNG 2 - TÌM HIỂU HỆ THỐNG PHÁT HIỆN XÂM NHẬP
IDS (Intrusion Detection System)
2.1 Khái niệm
Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là hệ
thống phần cứng hoặc phần mềm có chức năng giám sát lưu thông mạng, tự
động theo dõi các sự kiện xảy ra trên hệ thống máy tính, phân tích để phát hiện
ra các vấn đề liên quan đến an ninh, bảo mật, virus và đưa ra cảnh báo cho nhà

quản trị.
2.2 Các thành phần và chức năng của IDS
 IDS bao gồm các thành phần chính
- Thành phần thu thập thông tin gói tin.
- Thành phần phát hiện gói tin.
- Thành phần xử lý (phản hồi).

Hình 2.1: Mô hình kiến trúc hệ thống phát hiện xâm nhập (IDS)
Nhiệm vụ chính của các hệ thống phát hiện xâm nhập là phòng chống cho
một hệ thống máy tính bằng cách phát hiện các dấu hiệu tấn công và có thể đẩy
lùi nó. Việc phát hiện các tấn công phụ thuộc vào số lượng và kiểu hành động
thích hợp. Để ngăn chặn xâm nhập tốt cần phải xác định được các mối đe dọa.
Việc làm lệch hướng sự tập trung của kẻ xâm nhập vào tài nguyên được bảo vệ
cũng là một nhiệm vụ quan trọng. Cả hệ thống thực và hệ thống bẫy cần phải
-10-

được kiểm tra một cách liên tục. Dữ liệu được tạo ra bằng các hệ thống phát hiện
xâm nhập được kiểm tra một cách cẩn thận, đây là nhiệm vụ chính cho mỗi IDS
để phát hiện các dấu hiệu tấn công.
Khi một sự xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến các
quản trị viên hệ thống về sự việc này. Bước tiếp theo được thực hiện bởi các
quản trị viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổ
sung (các chức năng khóa để giới hạn các session, backup hệ thống, định tuyến
các kết nối đến bẫy hệ thống, cơ sở hạ tầng hợp lệ,…) theo các chính sách bảo
mật của các tổ chức.[5] IDS là một thành phần nằm trong hệ thống bảo vệ của
hệ thống thông tin.
Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong
những nhiệm vụ cơ bản. Nó cũng hữu dụng trong việc nghiên cứu mang tính
pháp lý các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện
các tấn công trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ

thống.
Phát hiện xâm nhập đôi khi có thể đưa ra các báo cảnh sai, ví dụ những vấn
đề xảy ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công.

Hình 2.2 : Cấu trúc hệ thống phát hiện xâm nhập dạng tập trung
-11-

2.2.1 Thành phần thu thập gói tin
Thành phần này có nhiệm vụ lấy tất các gói tin đi đến mạng. Thông thường
các gói tin có địa chỉ không phải của một card mạng thì sẽ bị card mạng đó huỷ
bỏ nhưng card mạng của IDS được đặt ở chế độ thu nhận tất cả. Tất cả các gói
tin qua chúng đều được sao chụp, xử lý, phân tích đến từng trường thông tin. Bộ
phận thu thập gói tin sẽ đọc thông tin từng trường trong gói tin, xác định chúng
thuộc kiểu gói tin nào, dịch vụ gì Các thông tin này được chuyển đến thành
phần phát hiện tấn công.
2.2.2 Thành phần phát hiện gói tin
Ở thành phần này, đóng vai trò lọc thông tin và loại bỏ những thông tin dữ
liệu không tương thích đạt được từ các sự kiện liên quan tới hệ thống bảo vệ, vì
vậy có thể phát hiện được các hành động nghi ngờ.
2.2.3 Thành phần phản hồi
Khi có dấu hiệu của sự tấn công hoặc thâm nhập, thành phần phát hiện tấn
công sẽ gửi tín hiệu báo hiệu (alert) có sự tấn công hoặc thâm nhập đến thành
phần phản ứng. Lúc đó thành phần phản ứng sẽ kích hoạt tường lửa thực hiện
chức nǎng ngǎn chặn cuộc tấn công hay cảnh báo tới người quản trị. Dưới đây là
một số kỹ thuật ngǎn chặn:
 Cảnh báo thời gian thực
Gửi các cảnh báo thời gian thực đến người quản trị để họ nắm được chi
tiết các cuộc tấn công, các đặc điểm và thông tin về chúng.
 Ghi lại vào tập tin
Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các tập tin

log. Mục đích là để những người quản trị có thể theo dõi các luồng
thông tin và là nguồn thông tin giúp cho module phát hiện tấn công hoạt
động.
 Ngăn chặn, thay đổi gói tin
-12-

Khi một gói tin khớp với dấu hiệu tấn công thì IDS sẽ phản hồi bằng
cách xóa bỏ, từ chối hay thay đổi nội dung của gói tin, làm cho gói tin
trở nên không bình thường.
2.3 Phân loại IDS
Có hai phương pháp khác nhau trong việc phân tích các sự kiện để phát
hiện các tấn công: phát hiện dựa trên các dấu hiệu và phát hiện sự bất thường.
Các sản phẩm IDS có thể sử dụng một trong hai cách hoặc sử dụng kết hợp cả
hai.
 Phát hiện dựa trên dấu hiệu: Phương pháp này nhận dạng các sự kiện hoặc
tập hợp các sự kiện phù hợp với một mẫu các sự kiện đã được định nghĩa
là tấn công.
 Phát hiện sự bất thường: Thiết lập một hiện trạng các hoạt động bình
thường và sau đó duy trì một hiện trạng hiện hành cho một hệ thống. Khi
hai yếu tố này xuất hiện sự khác biệt, nghĩa là đã có sự xâm nhập.
 Các hệ thống IDS khác nhau đều dựa vào phát hiện các xâm nhập trái
phép và những hành động bất thường.
Quá trình phát hiện có thể được mô tả bởi 3 yếu tố cơ bản nền tảng sau:
+ Thu thập thông tin (information source): Kiểm tra tất cả các gói
tin trên mạng.
+ Sự phân tích (Analysis): Phân tích tất cả các gói tin đã thu thập để
cho biết hành động nào là tấn công.
+ Cảnh báo (response): hành động cảnh báo cho sự tấn công được
phân tích ở trên
2.3.1 Network Base IDS (NIDS)

Được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giám
sát toàn bộ lưu lượng vào ra. Có thể là một thiết bị phần cứng riêng biệt được
thiết lập sẵn hay phần mềm cài đặt trên máy tính. Chủ yếu dùng để đo lưu lượng
mạng được sử dụng. Tuy nhiên có thể xảy ra hiện tượng nghẽn cổ chai khi lưu
lượng mạng hoạt động ở mức cao.
 Ƣu điểm:
-13-

- Quản lý được cả một network segment (gồm nhiều host)
- "Trong suốt" với người sử dụng lẫn kẻ tấn công
 Nhƣợc điểm:
- Có thể xảy ra trường hợp báo động giả (false positive), tức không có
intrusion mà NIDS báo là có intrusion.
- Không thể phân tích các traffic đã được encrypt (vd: SSL, SSH,
IPSec…)
- NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực sự an
toàn
- Có độ trễ giữa thời điểm bị attack với thời điểm phát báo động. Khi
báo động được phát ra, hệ thống có thể đã bị tổn hại.
2.3.2 Host Based IDS (HIDS)
HIDS thường được cài đặt trên một máy tính nhất định. Thay vì giám sát
hoạt động của một network segment, 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 của tổ chức và các server thường
là mục tiêu bị tấn công đầu tiên. Nhiệm vụ chính của HIDS là giám sát các thay
đổi trên hệ thống, bao gồm:
 Các tiến trình.
 Các entry của Registry.
 Mức độ sử dụng CPU.
 Kiểm tra tính toàn vẹn và truy cập trên hệ thống file.
 Các thông số khác.

Các thông số này khi vượt qua một ngưỡng định trước hoặc những thay đổi
khả nghi trên hệ thống file sẽ gây ra cảnh báo.
 Ƣu điểm:
- HIDS có khả năng phát hiện các cuộc tấn công diễn ra trên một máy,
NIDS không có khả năng này.
- Có thể phân tích các dữ liệu mã hoá.
- Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên
host này.
-14-

 Nhƣợc điểm:
- Khi hệ điều hành bị kiểm soát do tấn công, đồng thời HIDS cũng bị
kiểm soát.
- HIDS phải được thiết lập trên từng host cần giám sát.
- HIDS cần tài nguyên trên host để hoạt động.
2.4 Hệ thống phát hiện xâm nhập theo dấu hiệu cho trƣớc (Misuse-based
IDS) và hệ thống phát hiện xâm nhập bất thƣờng (Anomaly-based IDS)
2.4.1 Misuse – based system
Misuse-based system có thể phân chia thành hai loại dựa trên cơ sở dữ liệu
về kiểu tấn công, đó là knowledge-based và signature-based.
Misuse-based system với cơ sở dữ liệu knowledge-based lưu trữ thông tin
về các dạng tấn công. Dữ liệu kiểm kê được thu thập bởi IDS để so sánh với nội
dung của cơ sở dữ liệu, và nếu thấy có sự giống nhau thì tạo ra cảnh báo. Sự
kiện không trùng với bất cứ dạng tấn công nào thì được coi là những hành động
chính đáng.
 Ƣu điểm:
Mô hình này ít khi tạo ra cảnh báo sai do dựa trên mô tả chi tiết về kiểu tấn
công.
 Nhƣợc điểm:
Số lượng kiểu tấn công đa dạng với nhiều lỗ hổng khác nhau theo thời gian

sẽ làm cơ sở dữ liệu trở nên quá lớn, gây khó khăn trong việc phân tích, thêm
nữa chúng chỉ có thể phát hiện được các kiểu tấn công đã biết trước nên cần phải
được cập nhật thường xuyên khi phát hiện ra những kiểu tấn công và lỗ hổng
mới.
Dữ liệu cần
kiểm tra (x)
Tập dữ liệu chứa các
dạng tấn công (A)
Đang bị
tấn công
x ÎA ?


Hình 2.3 Phát hiện xâm nhập dựa vào tập CSDL về các dạng tấn công
Misuse-based system với cơ sở dữ liệu signature-based, là hệ sử dụng
định nghĩa trừu tượng để mô tả về tấn công gọi là dấu hiệu. Dấu hiệu bao gồm
-15-

một nhóm các thông tin cần thiết để mô tả kiểu tấn công. Ví dụ như hệ network
IDS có thể lưu trữ trong cơ sở dữ liệu nội dung các gói tin có liên quan đến kiểu
tấn công đã biết. Thường thì dấu hiệu được lưu ở dạng cho phép so sánh trực
tiếp với thông tin có trong chuỗi sự kiện. Trong quá trình xử lý, sự kiện được so
sánh với các mục trong file dấu hiệu, nếu thấy có sự giống nhau thì hệ sẽ tạo ra
cảnh báo.
 Ƣu điểm
Signature-based system hiện nay rất thông dụng vì dễ phát triển, cho phản
hồi chính xác về cảnh báo, và thường yêu cầu ít tài nguyên tính toán.
 Nhƣợc điểm
 Mô tả về cuộc tấn công thường ở mức độ thấp.
 Mỗi cuộc tấn công hay biến thể của nó đều cần thêm dấu hiệu đưa vào cơ

sở dữ liệu, nên kích cỡ của nó sẽ trở nên rất lớn.
 Dấu hiệu càng cụ thể, thì càng tạo ra ít cảnh báo nhầm, nhưng càng khó
phát hiện những biến thể của nó.
2.4.2 Anomaly – based system
Anomaly–based system dựa trên những hành động bất thường là có ý đồ
xấu, do đó trước tiên hệ cần xây dựng mẫu hành động bình thường của hệ thống
rồi mới xác định các hành động bất thường như những hành động không phù
hợp với mẫu hành động đã cho.
Dữ liệu cần
kiểm tra (x)
Tập dữ liệu chứa các mô tả
hệ thống bình thường (A)
Đang bị
tấn công
x ÎA ?
Không

Hình 2.4 Hệ thống phát hiện xâm nhập bất thường
 Ƣu điểm
Hệ thống này là nó có thể phát hiện được những kiểu tấn công chưa biết
trước.
 Nhƣợc điểm
-16-

Hệ thống này lại sinh ra nhiều cảnh báo sai do định nghĩa quá chung về
cuộc tấn công. Thống kê cho thấy trong hệ thống này, hầu hết các cảnh báo là
cảnh báo sai, trong đó có rất nhiều cảnh báo là từ những hành động bình thường,
chỉ có một vài hành động là có ý đồ xấu, vấn đề là ở chỗ hầu hết các hệ thống
đều có ít khả năng giới hạn các cảnh báo nhầm đó.
2.5 Phân loại các dấu hiệu

2.5.1 Phát hiện dấu hiệu bất thƣờng
Hệ thống phát hiện xâm nhập phải có khả năng phân biệt giữa các hoạt
động thông thường của người dùng và hoạt động bất thường để tìm ra được
các tấn công nguy hiểm kịp thời. Mặc dù vậy, việc dịch các hành vi người
dùng (hoặc session hệ thống người dùng hoàn chỉnh) trong một quyết định
liên quan đến bảo mật phù hợp thường không đơn giản – nhiều hành vi
không được dự định trước và không rõ ràng. Để phân loại các hành động,
IDS phải lợi dụng phương pháp phát hiện bất thường, đôi khi là hành vi cơ
bản hoặc các dấu hiệu tấn công,…
2.5.2 Các mẫu hành vi thông thƣờng- phát hiện bất thƣờng
Các mẫu hành vi thông thường rất hữu ích trong việc dự đoán người
dùng và hành vi hệ thống. Do đó các bộ phát hiện bất thường xây dựng
profile thể hiện việc sử dụng thông thường và sau đó sử dụng dữ liệu hành vi
thông thường để phát hiện sự không hợp lệ giữa các profile và nhận ra tấn
công có thể.
Để hợp lý với các profile sự kiện, hệ thống bị yêu cầu phải tạo ra
profile người dùng ban đầu để “đào tạo” hệ thống quan tâm đến sự hợp pháp
hóa hành vi người dùng. Có một vấn đề liên quan đến việc làm profile ở đây
đó là: khi hệ thống được phép “học” trên chính nó, thì những kẻ xâm nhập
cũng có thể đào tạo hệ thống ở điểm này, nơi mà các hành vi xâm phạm
trước trở thành hành vi thông thường. Một profile không tương thích sẽ có
thể được phát hiện tất cả các hoạt động xâm nhập có thể. Ngoài ra, còn có
-17-

một sự cần thiết nữa đó là nâng cấp profile và “đào tạo” hệ thống, một
nhiệm vụ khó khăn và tốn thời gian.
Cho một tập các profile hành vi thông thường, mọi thứ không hợp với
profile được lưu sẽ được coi như là một hoạt động nghi ngờ. Do đó, các hệ
thống này được đặc trưng bởi hiệu quả phát hiện rất cao (chúng có thể nhận
ra nhiều tấn công mặc dù tấn công đó là mới có trong hệ thống), tuy nhiên

chúng lại có hiện tượng là tạo các cảnh báo sai về một số vấn đề.
Ƣu điểm của phƣơng pháp phát hiện bất thƣờng này là: có khả năng
phát hiện các tấn công mới khi có sự xâm nhập; các vấn đề không bình
thường được nhận ra không cần nguyên nhân bên trong của chúng và các
tính cách; ít phụ thuộc vào IDS đối với môi trường hoạt động (khi so sánh
với các hệ thống dựa vào dấu hiệu); khả năng phát hiện sự lạm dụng quyền
của người dùng.
Nhƣợc điểm lớn nhất của phƣơng pháp này là: Xác suất cảnh báo sai
nhiều. Hiệu suất hệ thống không được kiểm tra trong suốt quá trình xây
dựng profile và giai đoạn đào tạo. Do đó, tất cả các hoạt động người dùng bị
bỏ qua trong suốt giai đoạn này sẽ không hợp lý. Các hành vi người dùng có
thể thay đổi theo thời gian, do đó cần phải có một sự nâng cấp liên tục đối
với cơ sở dữ liệu profile hành vi thông thường. Sự cần thiết về đào tạo hệ
thống khi thay đổi hành vi sẽ làm hệ thống không có được phát hiện bất
thường trong giai đoạn đào tạo (lỗi tiêu cực).
2.5.3 Các dấu hiệu có hành vi bất thƣờng – phát hiện dấu hiệu
Thông tin xử lý hệ thống trong các hành vi bất thường và không an toàn
(dấu hiệu tấn công – dựa vào các hệ thống) thường được sử dụng trong các
hệ thống phát hiện xâm nhập thời gian thực.
 Các dấu hiệu hành vi xấu đƣợc chia thành hai loại:
 Các dấu hiệu tấn công –Miêu tả các mẫu hoạt động có thể gây ra
mối đe dọa về bảo mật. Điển hình, chúng được thể hiện khi mối quan
hệ phụ thuộc thời gian giữa một loạt các hoạt động có thể kết hợp lại
với các hoạt động trung tính.
-18-

 Các chuỗi văn bản đƣợc chọn – các dấu hiệu hợp với các chuỗi văn
bản đang tìm kiếm các hoạt động nghi ngờ.
Bất kỳ hoạt động nào không rõ ràng đều có thể bị xem xét và ngăn cản. Do
đó, độ chính xác của chúng rất cao (số cảnh báo sai thấp). Tuy nhiên chúng

không thực hiện một cách hoàn toàn và không ngăn cản hoàn toàn các tấn
công mới.
 Có hai phƣơng pháp chính đã kết hợp sự phát hiện dấu hiệu này:
 Việc kiểm tra vấn đề ở các gói lớp thấp hơn – nhiều loại tấn công
khai thác lỗ hổng trong các gói IP, TCP, UDP hoặc ICMP. Với kiểm
tra đơn giản về tập các cờ trên gói đặc trưng hoàn toàn có thể phát
hiện ra gói nào hợp lệ, gói nào không. Khó khăn ở đây có thể là phải
mở gói và lắp ráp chúng lại. Tương tự, một số vấn đề khác có thể
liên quan với lớp TCP/IP của hệ thống đang được bảo vệ. Thường thì
kẻ tấn công hay sử dụng cách mở các gói để băng qua được nhiều
công cụ IDS.
 Kiểm tra giao thức lớp ứng dụng – nhiều loại tấn công để khai thác
các lỗ hổng chương trình, ví dụ dữ liệu đặc biệt đã gửi đến một kết
nối mạng đã được thành lập. Để phát hiện có hiệu quả các tấn công
như vậy, IDS phải được bổ sung nhiều giao thức lớp ứng dụng.
Các phương pháp phát hiện dấu hiệu có một số ưu điểm dưới đây: tỉ lệ cảnh
báo sai thấp, thuật toán đơn giản, dễ dàng tạo cơ sở dữ liệu dấu hiệu tấn
công, dễ dàng bổ sung và tiêu phí hiệu suất tài nguyên hệ thống tối thiểu.
 Một số nhƣợc điểm:
 Khó khăn trong việc nâng cấp các kiểu tấn công mới.
 Chúng không thể kế thừa để phát hiện các tấn công mới và chưa biết.
Phải nâng cấp một cơ sở dữ liệu dấu hiệu tấn công tương quan với
nó.
 Sự quản lý và duy trì một IDS cần thiết phải kết hợp với việc phân
tích và vá các lỗ hổng bảo mật, đó là một quá trình tốn kém thời
gian.
-19-

 Kiến thức về tấn công lại phụ thuộc vào môi trường hoạt động – vì
vậy, IDS dựa trên dấu hiệu những hành vi xấu phải được cấu hình

tuân thủ những nguyên tắc nghiêm ngặt của nó với hệ điều hành
(phiên bản, nền tảng, các ứng dụng được sử dụng…)
 Chúng dường như khó quản lý các tấn công bên trong. Điển hình, sự
lạm dụng quyền người dùng xác thực không thể phát hiện khi có hoạt
động mã nguy hiểm (vì chúng thiếu thông tin về quyền người dùng
và cấu trúc dấu hiệu tấn công).
 Các sản phẩm IDS thương mại thường sử dụng phương pháp phát
hiện dấu hiệu cho hai lý do. Trước tiên, nó dễ dàng hơn trong việc
cung cấp dấu hiệu liên quan đến tấn công đã biết và để gán tên đối
với một tấn công. Thứ hai, cơ sở dữ liệu dấu hiệu tấn công được
nâng cấp thường xuyên (bằng cách thêm các dấu hiệu tấn công mới
phát hiện).

×