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
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
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
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.
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.
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ư ở
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.
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ệ
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á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ở 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
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
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).