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

Nghiên cứu một số kỹ thuật phát hiện xâm nhập mạng bằng phương pháp so khớp

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 (1.2 MB, 77 trang )

i

LỜI CAM ĐOAN
Học viên xin cam đoan luận văn “Nghiên cứu một số kỹ thuật phát
hiện xâm nhập mạng bằng phương pháp so khớp” là công trình nghiên
cứu của cá nhân học viên tìm hiểu, nghiên cứu dưới sự hướng dẫn của TS.
Nguyễn Ngọc Cương. Các kết quả là hoàn toàn trung thực, toàn bộ nội dung
nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và
nghiên cứu của chính cá nhân học viên hoặc là được trích dẫn từ các nguồn tài
liệu được trích dẫn và chú thích đầy đủ.

TÁC GIẢ LUẬN VĂN

Trần Thanh Hòa


ii

LỜI CẢM ƠN
Học viên xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô giáo
Viện công nghệ thông tin, các thầy cô giáo Trường Đại học Công nghệ thông
tin và truyền thông - Đại học Thái Nguyên đã mang lại cho học viên kiến thức
vô cùng quý giá và bổ ích trong suốt quá trình học tập chương trình cao học
tại trường. Đặc biệt học viên xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo
TS.Nguyễn Ngọc Cương - Học viện an ninh đã định hướng khoa học và đưa
ra những góp ý, gợi ý, chỉnh sửa quý báu, quan tâm, tạo điều kiện thuận lợi
trong quá trình nghiên cứu hoàn thành luận văn này.
Cuối cùng, học viên xin chân thành cảm ơn các bạn bè đồng nghiệp,
gia đình và người thân đã quan tâm, giúp đỡ và chia sẻ với học viên trong
suốt quá trình học tập.
Do thời gian và kiến thức có hạn nên luận văn không tránh khỏi


những thiếu sót nhất định. Học viên rất mong nhận được những sự góp ý
quý báu của thầy cô và các bạn.

Thái Nguyên, ngày 10 tháng 5 năm 2016
HỌC VIÊN

Trần Thanh Hòa


iii

DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Hệ thống chống xâm nhập IDS ....................................................... 8
Hình 1.2. Mô hình Networt based IDS – NIDS .............................................. 9
Hình 1.3. Mô hình Host based IDS – HIDS .................................................. 10
Hình 1.4. Các thành phần của hệ thống phát hiện xâm nhập ......................... 14
Hình 2.1. Xây dựng hàm Goto...................................................................... 41
Hình 2.2. Xây dựng hàm Failure .................................................................. 42
Hình 2.3. Xây dựng hàm Output................................................................... 42
Hình 3.1. Mô hình hệ thống phát hiện xâm nhập mạng ................................ 45
Hình 3.2. Các thành phần của Snort ............................................................. 48
Hình 3.3. Lệnh Snort –W xem thông số card mạng ...................................... 55
Hình 3.4. Mô hình mạng ở trung tâm GDTX Định Hóa................................ 56
Hình 3.5. Mô hình giải pháp kết hợp IDS ..................................................... 57
Hình 3.6. Gói tin được mã hóa ..................................................................... 59


MỤC LỤC
LỜI CAM ĐOAN ............................................................................................ i
LỜI CẢM ƠN ................................................................................................ ii

DANH MỤC CÁC HÌNH VẼ......................................................................... iii

MỞ ĐẦU ....................................................................................................... 3
1. Lý do chọn đề tài ........................................................................................ 3
2. Hướng nghiên cứu của luận văn ................................................................. 4
3. Đối tượng và phạm vi nghiên cứu............................................................... 5
4. Những nội dung nghiên cứu chính .............................................................. 5
5. Phương pháp nghiên cứu ............................................................................ 5
1.1.1. Định nghĩa ........................................................................................... 6
1.1.1.1. Phát hiện xâm nhập............................................................................ 6
1.1.1.2. Hệ thống phát hiện xâm nhập ............................................................ 7
1.1.2. Tính năng của IDS ................................................................................ 8
1.1.3. Phân loại IDS ....................................................................................... 8
1.1.3.1. Network based IDS – NIDS ............................................................... 9
1.1.3.2. Host based IDS – HIDS ................................................................... 10
1.1.4. Cơ chế hoạt động của hệ thống IDS .................................................... 11
1.1.4.1. Phát hiện sự lạm dụng...................................................................... 12
1.1.4.2. Phát hiện sự bất thường ................................................................... 13
1.1.5. Ưu điểm và hạn chế của IDS ............................................................. 13
1.1.5.1. Ưu điểm........................................................................................... 13
1.1.5.2. Hạn chế ........................................................................................... 13
1.2. Các thành phần của hệ thống phát hiện xâm nhập.................................. 13


1.3. Phân biệt những hệ thống không phải là IDS ......................................... 14
1.4. Một số kỹ thuật phát hiện xâm nhập mạng ............................................ 15
1.4.1. Phương pháp tiếp cận dựa trên xác suất thống kê................................ 15
1.4.2. Phương pháp tiếp tiếp cận dựa trên trạng thái ..................................... 15
1.4.3. Phương pháp tiếp cận dựa trên hệ chuyên gia ..................................... 16
1.4.4. Phương pháp tiếp cận dựa trên khai phá dữ liệu.................................. 17

1.4.5. Hệ thống phát hiện xâm nhập dựa trên mạng nơ-ron .......................... 17
1.4.6. Tiếp cận dựa trên so khớp mẫu ........................................................... 19
1.5. Kết chương ............................................................................................ 19
2.1. Bài toán so khớp mẫu ............................................................................ 20
2.1.1. So khớp mẫu là gì? ............................................................................. 20
2.1.2. Lịch sử phát triển ................................................................................ 22
2.1.3. Các bước xử lý ................................................................................... 22
2.1.4. Các cách tiếp cận ................................................................................ 22
2.1.5. Độ phức tạp tính toán ......................................................................... 23
2.1.6. Ứng dụng của so khớp mẫu ................................................................ 24
2.2. Các thuật toán so khớp trong phát hiện xâm nhập mạng ........................ 24
2.2.1. Thuật toán Brute Force ....................................................................... 24
2.2.2. Các thuật toán so khớp đơn mẫu trong phát hiện xâm nhập mạng....... 28
2.2.2.1 Thuật toán Knuth-Morris-Pratt (KMP) ............................................ 28
2.2.2.2 Thuật toán Boyer-Moore Horspool (BMH)...................................... 32
2.2.2.3 Thuật toán Karp-Rabin .................................................................... 34
2.2.3. Đánh giá ưu, nhược điểm các thuật toán so khớp đơn mẫu ................. 38


2.2.3.1. Ưu điểm........................................................................................... 39
2.2.3.2 Nhược điểm ...................................................................................... 40
2.2.4. Các thuật toán so khớp đa mẫu trong phát hiện xâm nhập mạng .............. 40
2.2.4.1. Thuật toán Aho-Corasick (AC) [8] .................................................. 40
2.2.4.2. Thuật toán Commentz-Walter (CW) ............................................... 43
2.3. Kết chương ............................................................................................ 44
3.1. Mô hình phát hiện xâm nhập mạng dựa trên so khớp mẫu ..................... 45
3.1.1. Thành phần thu nhập gói tin ............................................................... 45
3.1.2. Thành phần phân tích gói tin .............................................................. 46
3.1.3. Thành phần phản hồi .......................................................................... 46
3.2. Hệ thống phát hiện xâm nhập mạng Snort ............................................. 47

3.2.1. Giới thiệu ........................................................................................... 47
3.2.2. Các thành phần của Snort ................................................................... 48
3.3. Hệ thống luật ......................................................................................... 52
3.3.1. Định nghĩa .......................................................................................... 52
3.3.2. Các thành phần của tập luật ................................................................ 52
3.3.2.1. Rule header...................................................................................... 52
3.3.3.2. Rule options..................................................................................... 52
3.4. Cài đặt và cấu hình Snort ....................................................................... 53
3.5. Mô hình triển khai ................................................................................. 55
3.5.1. Mô hình bài toán: .............................................................................. 55
3.5.1.1. Đặt ra giải pháp ............................................................................... 56
3.5.1.2. Yêu cầu ........................................................................................... 57


3.6. Thực hiện .............................................................................................. 57
3.6.1. Đầu vào của bài toán .......................................................................... 57
3.6.2. Đầu ra của bài toán ............................................................................. 58
3.6.3. Thử nghiệm và đánh giá kết quả ......................................................... 58
3.6.3.1. Tập dữ liệu thử nghiệm.................................................................... 58
3.6.3.2. Tiền xử lý dữ liệu ............................................................................ 59
3.6.3.3. Dữ liệu lựa chọn .............................................................................. 59
3.6.3.4. Thiết kế thử nghiệm......................................................................... 60
3.6.3.5. Kết quả thử nghiệm ......................................................................... 60
3.6.3.6. Nhận xét kết quả .............................................................................. 60
3.6.4. Sử dụng chương trình so khớp đa mẫu Aho-Corasick vào Snort ......... 61
3.6.4.1. Cài đặt chương trình so khớp đa mẫu Aho – Corasick ..................... 61
3.6.4.2. Cài đặt thuật toán so khớp đa mẫu Aho Corasick vào Snort............. 61
3.7. Kết chương ............................................................................................ 63
KẾT LUẬN................................................................................................ 634
TÀI LIỆU THAM KHẢO .......................................................................... 635

PHỤ LỤC .................................................................................................. 637


3

MỞ ĐẦU
1. Lý do chọn đề tài
Mạng Internet từ cuối thế kỷ XX đã mở ra một làn sóng mới về xu
hướng phát triển của xã hội - thời đại của công nghệ thông tin và truyền
thông, trong đó các dịch vụ trực tuyến được phát triển mạnh mẽ như thương
mại điện tử, thanh toán trực tuyến, kinh doanh, tài chính, công nghiệp, an
ninh, y tế,…
Người sử dụng nhờ mạng Internet có thể truy cập, khai thác và chia sẻ
thông tin mọi lúc mọi nơi, tuy nhiên 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, 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.
Phát hiện xâm nhập mạng là một trong các thành phần quan trọng trong
hệ thống các giải pháp đảm bảo an ninh cho các mạng hiện đại
Hệ thống phát hiện xâm nhập mạng IDS (Intrusion Detection System)
có nhiệm vụ phân tích các thông tin, theo dõi, phát hiện và ngăn chặn sự xâm
nhập trái phép tài nguyên làm tổn hại đến tính bảo mật, tính toàn vẹn và tính
sẵn sàng của hệ thống.
Hiện nay, trong việc phát triển hệ thống IDS có nhiều phương pháp để
phát hiện xâm nhập vào hệ thống như:
- Sử dụng phương pháp Bayes với ý tưởng tính toán xác suất Bayes để
có thể dịch chuyển ngược thời gian và tìm ra nguyên nhân của sự kiện, phù
hợp cho việc tìm kiếm lý do cho một sự bất thường đặc biệt trong hành vi
mạng.
- Sử dụng mạng nơ ron nhân tạo trên mô hình Kohonen’s Self
Organizing features Map (SOM) và sử dụng máy học vectơ. Mục tiêu chính

của việc sử dụng mạng nơ ron nhân tạo là cung cấp một phương pháp phân


4

loại không giám sát để vượt qua số chiều nhiều đối với số lượng lớn các tính
năng đầu vào.
- Sử dụng kỹ thuật so khớp mẫu: Các thuật toán so khớp mẫu tiếp cận
theo phương pháp dựa trên đặc trưng (signature-based) cho phép các công cụ
nhanh chóng tìm kiếm nhiều mẫu cùng một lúc trong đầu vào của hệ thống
IDS. Kỹ thuật này được sử dụng phổ biến trong các hệ thống phát hiện và
ngăn chặn xâm nhập mạng. Nguyên lý của kỹ thuật này là: việc phát hiện các
nguy cơ tiềm ẩn trong hệ thống phát hiện xâm nhập mạng được thực hiện
bằng cách so khớp nội dung gói tin với các mẫu đã biết. Với sự đa dạng về số
lượng các đợt tấn công, hình thức tấn công thì việc thu thập đầy đủ các mẫu
làm cho kích thước tập mẫu ngày càng tăng nhanh.
Vì vậy, em lựa chọn đề tài “Nghiên cứu một số kỹ thuật phát hiện
xâm nhập mạng bằng phương pháp so khớp”. Luận văn sẽ nghiên cứu việc
sử dụng kỹ thuật so khớp mẫu trong việc phát hiện xâm nhập mạng. So khớp
mẫu là kỹ thuật được ứng dụng nhiều trong vấn đề an ninh mạng. Trong hệ
thống phát hiện xâm nhập mạng, so khớp được thể hiện dưới dạng mẫu hoặc
biểu thức chính quy nhằm tạo thuận lợi trong việc chia sẻ cơ sở dữ liệu mẫu.
Nguyên lý của kỹ thuật này là việc phát hiện các nguy cơ tiềm ẩn trong
hệ thống phát hiện xâm nhập mạng được thực hiện bằng cách so khớp nội
dung gói tin với các mẫu đã biết.
2. Hướng nghiên cứu của luận văn
- Tìm hiểu, phân tích đánh giá về thời gian thực hiện các thuật toán so
khớp đơn mẫu, đa mẫu trên hệ thống phát hiện thâm nhập Snort;
- Tìm hiểu thuật toán so khớp đa mẫu và thử nghiệm
- Cài đặt thực nghiệm của thuật toán so khớp đa mẫu trong việc phát

hiện xâm nhập mạng của hệ thống Snort đối với mạng máy tính.


5

3. Đối tượng và phạm vi nghiên cứu
- Các kỹ thuật xâm nhập trái phép và kỹ thuật ngăn chặn.
- Bài toán so khớp mẫu, các thuật toán so khớp đơn mẫu, thuật toán so
khớp đa mẫu và ứng dụng trong phát hiện kỹ thuật xâm nhập trái phép.
- Chỉ nghiên cứu dựa trên giả thiết các mẫu tấn công đã có các mô hình,
luận văn sẽ không nghiên cứu việc phân tích và mô hình hóa các mẫu tấn
công hay hành vi của mạng của các cuộc xâm nhập trái phép.
- Thử nghiệm phát hiện xâm nhập bằng phương pháp so khớp trên
mạng máy tính.
4. Những nội dung nghiên cứu chính
Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết
luận, phần mục lục, phần tài liệu tham khảo. Các nội dung cơ bản của luận
văn được trình bày theo cấu trúc sau:
Chương 1 - Tổng quan về xâm nhập mạng
Chương 2 – Kỹ thuật so khớp trong phát hiện xâm nhập mạng
Chương 3 - Xây dựng mô hình phát hiện xâm nhập mạng bằng
phương pháp so khớp
5. Phương pháp nghiên cứu
- Nghiên cứu các tổng hợp các kết quả nghiên cứu có liên quan đến đề
tài, giải quyết, lập trình, thử nghiệm.
- Hiểu bài toán so khớp mẫu và ứng dụng trong phát hiện xâm nhập
mạng, các thuật toán và công cụ lập trình hệ thống.
- Sử dụng phương pháp nghiên cứu thực nghiệm trên mô hình mạng
máy tính để đánh giá hiệu quả của thuật toán sử dụng.



6

CHƯƠNG 1
TỔNG QUAN VỀ XÂM NHẬP MẠNG
Nội dung chương trình bày các kỹ thuật xâm nhập trái phép và một số
kỹ thuật ngăn chặn xâm nhập, đi sâu vào hệ thống phát hiện xâm nhập IDS
(Intrusion Detetion System) và các hướng nghiên cứu trong và ngoài nước về
kỹ thuật phát hiện: tiếp cận dựa trên trí tuệ nhân tạo (Artificial Intelligence),
tiếp cận dựa trên so khớp mẫu.
1.1. Giới thiệu về hệ thống phát hiện xâm nhập mạng
1.1.1. Định nghĩa
Khi một máy tính hay một hệ thống hoạt động trên môi trường mạng,
sẽ có rất nhiều kết nối giữa nó và các máy tính, các thiết bị khác. Trong những
kết nối đó có những kết nối đang tìm cách tấn công hệ thống để đạt được mục
đích nào đó. Bản thân mỗi máy tính đều có những cơ chế để tự bảo vệ nhưng
nó có những điểm yếu và thực sự không đủ sức chống lại các cuộc tấn công
mới với mức độ nguy hiểm ngày càng lớn hơn. Bên cạnh đó các máy tính hay
hệ thống cũng phải chịu các nguy cơ đến từ các hành vi vi phạm chính sách
an toàn và bảo mật công nghệ thông tin một cách vô tình hay hữu ý. Bài toán
được đặt ra là cần có cơ chế để phát hiện sớm các cuộc tấn công để từ đó có
những biện pháp ngăn chặn hoặc giảm thiểu tối đa những thiệt hại, tác động
do các cuộc tấn công gây ra.
1.1.1.1. Phát hiện xâm nhập
Phát hiện xâm nhập là tập hợp các kỹ thuật và phương pháp được sử
dụng để phát hiện các hành vi đáng ngờ cả ở cấp độ mạng và máy chủ. Phát
hiện xâm nhập có thể dựa trên dấu hiệu xâm nhập hoặc dựa vào dấu hiệu bất
thường. Kẻ tấn công có những dấu hiệu tìm ra dữ liệu của gói tin mà có chứa
bất kỳ dấu hiệu xâm nhập hoặc dị thường được biết đến. Dựa trên một tập hợp
các dấu hiệu này hệ thống phát hiện xâm nhập có thể dò tìm, ghi lại những



7

hoạt động đáng ngờ này và đưa ra các cảnh báo. Hệ thống phát hiện dựa vào
bất thường dựa vào phần tiêu đề giao thức của gói tin được cho là bất thường.
Thông thường hệ thống dựa trên bất thường sẽ bắt lấy các gói tin trên mạng
và đối chiếu với các quy tắc để tìm ra các dấu hiệu bất thường của gói tin.
1.1.1.2. Hệ thống phát hiện xâm nhập
Hệ thống phát hiện xâm nhập (Intrusion Detetion System - IDS) là một
hệ thống giám sát lưu lượng mạng nhằm phát hiện hiện tượng bất thường, các
hoạt động trái phép xâm nhập vào hệ thống. IDS có thể phân biệt được những
tấn công từ bên trong (nội bộ) hay tấn công từ bên ngoài (từ các tin tặc).
IDS phát hiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết
(giống như cách các phần mềm diệt virus dựa vào các dấu hiệu đặc biệt để
phát hiện và diệt virus) hay dựa trên so sánh lưu thông mạng hiện tại với
baseline (thông số đo đạt chuẩn của hệ thống có thể chấp nhận được ngay tại
thời điểm hiện tại) để tìm ra các dấu hiệu khác thường.
Nói một cách khác, IDS là hệ thống có nhiệm vụ theo dõi, phát hiện và
(có thể) ngăn cản sự xâm nhập, cũng như các hành vi khai thác trái phép tài
nguyên của hệ thống được bảo vệ mà có thể dẫn đến việc làm tổn hại đến tính
bảo mật, tính toàn vẹn và tính sẵn sàng của hệ thống.
Hệ thống IDS sẽ thu thập thông tin từ rất nhiều nguồn trong hệ thống
được bảo vệ sau đó tiến hành phân tích những thông tin đó theo các cách khác
nhau để phát hiện những xâm nhập trái phép.
Một hệ thống phát hiện xâm nhập trái phép cần thỏa mãn những yêu
cầu sau:
- Tính chính xác
- Hiệu năng.
- Tính trọn vẹn.

- Chịu lỗi.


8

- Khả năng mở rộng.

Hình 1.1. Hệ thống chống xâm nhập IDS

1.1.2. Tính năng của IDS
- Giám sát lưu lượng mạng và các hoạt động khả nghi.
- Cảnh báo về tình trạng mạng cho hệ thống và nhà quản trị.
- Kết hợp với các hệ thống giám sát, tường lửa, diệt virus tạo thành một
hệ thống bảo mật hoàn chỉnh.
1.1.3. Phân loại IDS
Cách thông thường nhất để phân loại các hệ thống IDS là dựa vào đặc
điểm của nguồn dữ liệu thu thập được. Trong trường hợp này, các hệ thống
IDS được chia thành các loại sau:
- Host-based IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm
đơn để phát hiện xâm nhập.
- Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thông
mạng, cùng với dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện
xâm nhập.


9

1.1.3.1. Network based IDS – NIDS
NIDS thường bao gồm có hai thành phần logic:


Hình 1.2. Mô hình Network based IDS - NIDS

- Bộ cảm biến – Sensor: đặt tại một đoạn mạng, kiểm soát các cuộc lưu
thông nghi ngờ trên đoạn mạng đó.
- Trạm quản lý: nhận các tín hiệu cảnh báo từ bộ cảm biến và thông báo
cho một điều hành viên.
Một NIDS truyền thống với hai bộ cảm biến trên các đoạn mạng khác
nhau cùng giao tiếp với một trạm kiểm soát.
Ưu điểm

• Chi phí thấp
• Phát hiện được các cuộc tấn công mà HIDS bỏ qua: Khác với HIDS,
NIDS kiểm tra header của tất cả các gói tin vì thế nó không bỏ sót các
dấu hiệu xuất phát từ đây.
• Khó xoá bỏ dấu vết (evidence)
• Phát hiện và đối phó kịp thời
• Có tính độc lập cao
Nhược điểm

• Bị hạn chế với Switch
• Hạn chế về hiệu năng


10

• Tăng thông lượng mạng
• Một hệ thống NIDS thường gặp khó khăn trong việc xử lý các cuộc tấn
công trong một phiên được mã hoá. Lỗi này càng trở nên trầm trọng khi
nhiều công ty và tổ chức đang áp dụng mạng riêng ảo VPN.
• Một số hệ thống NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn

công mạng từ các gói tin phân mảnh. Các gói tin định dạng sai này có
thể làm cho NIDS hoạt động sai và đổ vỡ.
1.1.3.2. Host based IDS – HIDS
Host-based IDS tìm kiếm dấu hiệu của xâm nhập vào một host cục bộ;
thường sử dụng các cơ chế kiểm tra và phân tích các thông tin được logging.
Nó tìm kiếm các hoạt động bất thường như login, truy nhập file không thích
hợp, bước leo thang các đặc quyền không được chấp nhận.
Kiến trúc IDS này thường dựa trên các luật (rule-based) để phân tích
các hoạt động. Ví dụ: đặc quyền của người sử dụng cấp cao chỉ có thể đạt
được thông qua lệnh su-select user, như vậy những cố gắng liên tục để login
vào account root có thể được coi là một cuộc tấn công.

Hình 1.3. Mô hình Host based IDS – HIDS

Ưu điểm

• Xác định được kết quả của cuộc tấn công


11

• Giám sát được các hoạt động cụ thể của hệ thống
• Phát hiện các xâm nhập mà NIDS bỏ qua.
• Thích nghi tốt với môi trường chuyển mạch, mã hoá.
• Không yêu cầu thêm phần cứng
Nhược điểm

• Khó quản trị
• Thông tin nguồn không an toàn
• Hệ thống host-based tương đối đắt

• Chiếm tài nguyên hệ thống.
Mỗi thành phần tham gia trong kiến trúc mạng đều có chức năng, điểm
mạnh, điểm yếu khác nhau. Sử dụng, khai thác đúng mục đích sẽ đem lại hiệu
quả cao. IDS là một trong những thành phần quan trọng trong các giải pháp
bảo vệ hệ thống. Khi triển khai có thể giúp hệ thống:
- Theo dõi các hoạt động bất thường đối với hệ thống.
- Xác định ai đang tác động đến hệ thống và cách thức nhưu thế nào.
- Các hoạt động xâm nhập xảy ra tại vị trí nào trong cấu trúc mạng.
1.1.4. Cơ chế hoạt động của hệ thống IDS
Có hai cách tiếp cận cơ bản đối với việc phát hiện và phòng chống
xâm nhập là:
- Phát hiện sự lạm dụng (Misuse Detection Model): Hệ thống sẽ phát
hiện các xâm nhập bằng cách tìm kiếm các hành động tương ứng với các kĩ
thuật xâm nhập đã được biết đến (dựa trên các dấu hiệu - signatures) hoặc các
điểm dễ bị tấn công của hệ thống.
- Phát hiện sự bất thường (Anomaly Detection Model): Hệ thống sẽ
phát hiện các xâm nhập bằng cách tìm kiếm các hành động khác với hành vi
thông thường của người dùng hay hệ thống.


12

1.1.4.1. Phát hiện sự lạm dụng [1]
Phát hiện sự lạm dụng là phát hiện những kẻ xâm nhập đang cố
gắng đột nhập vào hệ thống mà sử dụng một số kỹ thuật đã biết. Nó liên quan
đến việc mô tả đặc điểm các cách thức xâm nhập vào hệ thống đã được biết
đến, mỗi cách thức này được mô tả như một mẫu.
Ở đây, ta sử dụng thuật ngữ kịch bản xâm nhập (intrusion scenario).
Một hệ thống phát hiện sự lạm dụng điển hình sẽ liên tục so sánh hành động
của hệ thống hiện tại với một tập các kịch bản xâm nhập để cố gắng dò ra

kịch bản đang được tiến hành. Hệ thống này có thể xem xét hành động hiện
tại của hệ thống được bảo vệ trong thời gian thực hoặc có thể là các bản ghi
kiểm tra được ghi lại bởi hệ điều hành.
Các kỹ thuật để phát hiện sự lạm dụng khác nhau ở cách thức mà chúng
mô hình hoá các hành vi chỉ định một sự xâm nhập. Các hệ thống phát hiện sự
lạm dụng thế hệ đầu tiên sử dụng các luật (rules) để mô tả những gì mà các
nhà quản trị an ninh tìm kiếm trong hệ thống. Một lượng lớn tập luật được
tích luỹ dẫn đến khó có thể hiểu và sửa đổi bởi vì chúng không được tạo thành
từng nhóm một cách hợp lý trong một kịch bản xâm nhập.
Để giải quyết khó khăn này, các hệ thống thế hệ thứ hai đưa ra các biểu
diễn kịch bản xen kẽ, bao gồm các tổ chức luật dựa trên mô hình và các biểu
diễn về phép biến đổi trạng thái. Điều này sẽ mang tính hiệu quả hơn đối với
người dùng hệ thống cần đến sự biểu diễn và hiểu rõ ràng về các kịch bản. Hệ
thống phải thường xuyên duy trì và cập nhật để đương đầu với những kịch
bản xâm nhập mới được phát hiện.
Do các kịch bản xâm nhập có thể được đặc tả một cách chính xác, các
hệ thống phát hiện sự lạm dụng sẽ dựa theo đó để theo vết hành động xâm
nhập. Trong một mẫu hành động, hệ thống phát hiện có thể đoán trước được
bước tiếp theo của hành động xâm nhập. Bộ dò tìm phân tích thông tin hệ


13

thống để kiểm tra bước tiếp theo, và khi cần sẽ can thiệp để làm giảm bởi tác
hại có thể.
1.1.4.2. Phát hiện sự bất thường
Dựa trên việc định nghĩa và mô tả đặc điểm của các hành vi có thể chấp
nhận của hệ thống để phân biệt chúng với các hành vi không mong muốn
hoặc bất thường, tìm ra các thay đổi, các hành vi bất hợp pháp.
Như vậy, bộ phát hiện sự không bình thường phải có khả năng phân

biệt giữa những hiện tượng thông thường và hiện tượng bất thường.
Ranh giới giữa dạng thức chấp nhận được và dạng thức bất thường của
đoạn mã và dữ liệu lưu trữ được định nghĩa rõ ràng (chỉ cần một bit khác
nhau), còn ranh giới giữa hành vi hợp lệ và hành vi bất thường thì khó xác
định hơn.
1.1.5. Ưu điểm và hạn chế của IDS
1.1.5.1. Ưu điểm
- Cung cấp một cách nhìn toàn diện về toàn bộ lưu lượng mạng.
- Giúp kiểm tra các sự cố xảy ra với hệ thống mạng.
- Sử dụng để thu thập bằng chứng cho điều tra và ứng cứu sự cố.
1.1.5.2. Hạn chế
- Có thể gây ra tình trạng báo động nhầm nếu cấu hình không hợp lý.
- Khả năng phân tích lưu lượng bị mã hóa tương đối thấp.
- Chi phí triển khai và vận hành hệ thống tương đối lớn.
1.2. Các thành phần của hệ thống phát hiện xâm nhập
Các hệ thống phát hiện xâm nhập khác nhau thường dựa vào việc phát
hiện các dấu hiệu của xâm nhập trái phép, hoặc những hành động dị thường.
Một hệ thống phát hiện xâm nhập điển hình thường gồm 3 thành phần chính:
Bộ phận thu thập thông tin, bộ phận phân tích và bộ phận phản ứng/cảnh báo,
như minh họa trên hình dưới.


14

Bộ phận thu nhập thông tin (Information collection): Thu thập
các thông tin cho phát hiện đột nhập, như các gói tin truyền trên mạng, các
logs hệ thống.
Bộ phận phân tích (Analysis): Phân tích thông tin đã thu thập để
nhận biết hành động nào là tấn công, đột nhập.
Bộ phận phản ứng/ cảnh báo (Response): Cảnh báo tấn công, đột

nhập được phân tích ở trên đến người quản trị hệ thống.

Hình 1.4. Các thành phần của hệ thống phát hiện xâm nhập

1.3. Phân biệt những hệ thống không phải là IDS
Theo một cách riêng biệt nào đó, các thiết bị bảo mật dưới đây không
phải là IDS:
- Hệ thống đăng nhập mạng được sử dụng để phát hiện lỗ hổng đối với
vấn đề tấn công từ chối dịch vụ (DoS) trên một mạng nào đó. Ở đó sẽ có hệ
thống kiểm tra lưu lượng mạng.
- Các công cụ đánh giá lỗ hổng kiểm tra lỗi và lỗ hổng trong hệ điều
hành, dịch vụ mạng (các bộ quét bảo mật).
- Các sản phẩm chống virus được thiết kế để phát hiện các phần mềm
mã nguy hiểm như virus, trojan horse, worm…. Mặc dù những tính năng mặc
định có thể giống IDS và thường cung cấp một công cụ phát hiện lỗ hổng bảo
mật hiệu quả.
- Tường lửa – firewall.
- Các hệ thống bảo mật, mật mã như: SSL, Kerberos, VPN,…


15

1.4. Một số kỹ thuật phát hiện xâm nhập mạng
1.4.1. Phương pháp tiếp cận dựa trên xác suất thống kê
Các phương pháp thống kê đo lường các hành vi của người dùng và của
hệ thống bằng một số các biến được lấy mẫu theo thời gian và xây dựng các
profile dựa trên các thuộc tính của hành vi bình thường. Các thông số theo dõi
trên thực tế sẽ được so sánh với các profile này, và các sai khác vượt qua một
ngưỡng sẽ bị coi là một bất thường.
Các hệ thống phát hiện bất thường như ADAM, NIDES, và SPADE có

một cách tiếp cận trong đó hệ thống sẽ học một mô hình thống kê về lưu
lượng bình thường của mạng, và xem xét các sai khác so với mô hình này.
Các mô hình thống kê thường dựa trên sự phân bố của các thành phần như các
địa chỉ IP nguồn và đích, các cổng nguồn và đích trên mỗi giao tác (như các
kết nối TCP, và đôi khi là các gói tin UDP và ICMP). Các thành phần có xác
suất càng nhỏ thì có mức độ bất thường càng cao.
Các hệ thống phát hiện bất thường sử dụng các mô hình tần suất, trong
đó xác suất của một sự kiện đã được tính toán bằng tần suất trung bình của nó
trong quá trình huấn luyện dựa trên thời gian, trong đó xác suất của một sự
kiện phụ thuộc vào thời điểm mà nó xảy ra lần cuối cùng. Đối với mỗi thuộc
tính, chúng thu thập một tập các giá trị cho phép (mọi thứ quan sát được ít
nhất một lần trong quá trình huấn luyện), và sẽ coi các giá trị mới của thuộc
tính đó là bất thường.
1.4.2. Phương pháp tiếp tiếp cận dựa trên trạng thái
Một cách tiếp cận hơi khác so với phát hiện bất thường truyền thống là
cách tiếp cận phát hiện dựa trên trạng thái đối với phát hiện xâm nhập trên
mạng. Phương pháp luận của nó là cố gắng phát hiện xâm nhập thông qua
việc chuyển trạng thái bất thường. Ưu điểm chính của cách tiếp cận này là nó
có thể phát hiện với tỷ lệ cao các tấn công đã biết và chưa biết. Tại cùng một


16

thời điểm, nó có một tỷ lệ cảnh báo nhầm có thể so sánh được với các phương
pháp phát hiện xâm nhập dựa trên dấu hiệu. Tuy nhiên nó có giá thành khá
cao do phải xây dựng các mô hình chuyển trạng thái của các giao thức mạng.
Bên cạnh đó, các hệ thống dựa trên trạng thái đều gặp phải vấn đề lớn về kích
thước của mô hình hệ thống.
Một trong các bộ phân loại phát hiện bất thường áp dụng cách tiếp cận
này là các mô hình mẫu Markov ẩn. Đây là một máy trạng thái hữu hạn mạnh,

mỗi trạng thái đại diện một mẫu các lời gọi hệ thống hoặc các hành vi của
người dùng. Trong mỗi trạng thái, có một giá trị xác suất của việc sinh ra các
trạng thái đầu ra và một xác suất chỉ ra các trạng thái kế tiếp. Trong quá trình
huấn luyện, máy trạng thái hữu hạn này sẽ được cập nhật các trạng thái mà nó
được học. Sau đó trong pha phát hiện, các sự kiện chuyển trạng thái bất
thường sẽ bị hệ thống phát hiện và phát ra cảnh báo.
1.4.3. Phương pháp tiếp cận dựa trên hệ chuyên gia
Để phát hiện bất thường, các hệ chuyên gia mô tả các hành vi bình
thường của người sử dụng bằng một tập các luật. Các hệ thống phát hiện bất
thường sử dụng hệ chuyên gia đã triển khai là ComputerWatch ( Dowell và
Ramstedt, 1990) và Wisdom & Sense (Liepins và Vaccaro,1992).
ComputerWatch ( phát triển tại AT&T) sử dụng hệ chuyên gia để tổng
kết các sự kiện an ninh nhạy cảm và xây dựng các luật để phát hiện các hành
vi bất thường. Nó sẽ kiểm tra các hành vi của người dùng theo một tập các
luật mô tả chính sách sử dụng bình thường của hệ thống, và sẽ kết luận các
hành động không phù hợp với các mẫu có thể chấp nhận được là bất thường.
Wisdom & Sense ( được phát triển tại phòng thí nghiệm Los Alamos
National) phát hiện các bất thường có tính thống kê trong hành vi của người
dùng. Đầu tiên, nó xây dựng một tập các luật mô tả một cách thống kê hành vi
dựa trên việc ghi lại các hành vi của người dùng theo một khoảng thời gian


17

cho trước. Các mẫu hành vi nhỏ sau đó được so sánh với những luật này để
phát hiện các hành vi mâu thuẫn. Cơ sở tri thức luật được xây dựng lại một
cách định kỳ để phù hợp với các mẫu sử dụng mới.
1.4.4. Phương pháp tiếp cận dựa trên khai phá dữ liệu
Khai phá dữ liệu tập trung khai thác các thông tin hữu ích tiềm tàng,
chưa biết trước từ các tập dữ liệu. Các hệ thống phát hiện xâm nhập có ứng

dụng phương pháp khai phá dữ liệu trong phát hiện bất thường là ADAM
(Audit Data Analysis and Mining, của Wu,2001, Barbara và cộng sự, 2001),
IDDM (Intrusion Detection using Data Mining, của Abraham, 2001), và
eBayes (của Valdes và Skinner,2000).
Trong cách tiếp cận này, việc khai phá dữ liệu tìm kiếm các phiên kết
nối và nó khác so với cách tiếp cận phát hiện bất thường dựa trên việc tìm
kiếm thông tin trên các gói tin riêng biệt. Phương pháp này sử dụng các công
cụ và phương pháp khai phá dữ liệu để phân biệt các phiên bất thường so với
các phiên bình thường theo cách sử dụng lặp đi lặp lại dữ liệu huấn luyện nó
thu thập được như một tham chiếu. Khai phá dữ liệu là một công nghệ có hiệu
quả cao, mang lại khả năng phát hiện các tấn công chưa biết và đã biết, nhưng
lại khá phức tạp và đòi hỏi giá thành cao.
1.4.5. Hệ thống phát hiện xâm nhập dựa trên mạng nơ-ron
Từ năm 1998, ba nhà khoa học Jake Ryan, Meng-Jang Lin, Risto
Miikkulainen đã đề xuất giải pháp xây dựng hệ thống phát hiện xâm nhập dựa
trên mạng nơ- ron (Neural Network Intrusion Detector - NNID). NNID sử
dụng giải thuật học lan truyền ngược (backpropagation), hoạt động trên môi
trường UNIX và là IDS không trực tuyến. Tại cuối mỗi ngày làm việc, người
quản trị hệ thống sẽ chạy NNID để kiểm tra phiên đăng nhập của người dùng
có phù hợp với mẫu hoạt động thông thường của họ hay không. Nếu hoạt


18

động của người dùng không phù hợp với mẫu hoạt động thông thường thì sẽ
đưa ra cảnh báo về một sự xâm nhập tới hệ thống.
Các mẫu hoạt động thông thường của người sử dụng hợp pháp được gọi
là hồ sơ người dùng. Để tạo ra hồ sơ người dùng, hệ thống sẽ sử dụng phương
pháp thống kê, nhằm thống kê tần suất sử dụng các câu lệnh trong hệ thống
của mỗi người dùng, từ đó tạo nên các biểu đồ sử dụng lệnh của từng người

dùng, việc học hồ sơ người dùng cũng được thực hiện thông qua các biểu đồ
này. Dữ liệu để sử dụng cho việc thống kê được lấy từ các bản ghi nhật ký
(log record) của hệ thống, với mục đích ghi lại toàn bộ hành vi của mỗi người
dùng trong phiên đăng nhập của họ. Các bản ghi này không làm ảnh hưởng
tới quyền riêng tư của người dùng khi tham gia vào hệ thống. Tần suất sử
dụng các câu lệnh trong hệ thống hay thói quen của mỗi người dùng khi sử
dụng các ứng dụng trong hệ thống được gọi là dấu vết người dùng (a “print”
of the user).
Hệ thống NNID gồm 3 tầng chuẩn (tầng đầu vào- input layer, tầng ẩnhidden layer và tầng đầu ra- output layer). Tầng đầu vào của hệ thống NNID
gồm 100 nơ- ron, đại diện cho vector người dùng; tầng ẩn gồm 30 nơ- ron và
tầng đầu ra có 10 nơ-

ron tương ứng với 10 người dùng.

NNID được triển khai theo 3 giai đoạn:
- Thu thập dữ liệu huấn luyện (training data): thống kê nhật ký đăng
nhập của mỗi người dùng trong nhiều ngày trước đó. Lập vector thể hiện tần
suất sử dụng các lệnh của mỗi người dùng trong từng ngày.
+ Huấn luyện (training): Huấn luyện NNID để nhận dạng người dùng dựa trên
các vector phân bố câu lệnh.
- Thực hiện (performance): Xác định người dùng dựa trên mỗi vector
phân bố lệnh mới. Nếu hệ thống xác định nó không thuộc các người dùng


19

thường, hoặc không có xác định rõ ràng thì sẽ đưa ra cảnh báo về một sự bất
thường.
1.4.6. Tiếp cận dựa trên so khớp mẫu
Các thuật toán so khớp đa mẫu là trái tim của nhiều hệ thống IDS tiếp

cận theo phương pháp dựa trên đặc trưng. Chúng cho phép các công cụ nhanh
chóng tìm kiếm nhiều mẫu cùng một lúc trong đầu vào của hệ thống IDS.
Trong chương 2 chúng ta sẽ đi nghiên cứu về các kỹ thuật so khớp mẫu
trong việc phát hiện xâm nhập mạng.
1.5. Kết chương
Chương 1 giới thiệu tổng quan phát hiện xâm nhập mạng, khát quát về
các dạng tấn công, đột nhập và các cách tiếp cận trong việc phát hiện tấn công
xâm nhập mạng.


20

CHƯƠNG 2
KỸ THUẬT SO KHỚP TRONG PHÁT HIỆN XÂM NHẬP MẠNG
2.1. Bài toán so khớp mẫu
So khớp mẫu là một kỹ thuật đóng vai trò nền tảng trong lĩnh vực xử lý
văn bản. Hầu như tất cả các trình soạn thảo và xử lý văn bản đều cần phải có
một cơ chế để tìm kiếm các mẫu trong tài liệu hiện tại. Việc tích hợp các thuật
toán so khớp mẫu là một trong những khâu cơ bản được sử dụng trong việc
triển khai phần mềm và được thực hiện trên hầu hết các hệ điều hành.
Mặc dù hiện nay dữ liệu được lưu trữ dưới nhiều hình thức khác nhau,
nhưng văn bản vẫn là hình thức chủ yếu để lưu trữ và trao đổi thông tin.
Trong nhiều lĩnh vực như phát hiện đột nhập, trích trọn thông tin và tin sinh
học, một lượng lớn dữ liệu thường được lưu trữ trong các tập tin tuyến tính.
Hơn nữa, khối lượng dữ liệu thu thập được tăng lên rất nhanh nên đòi hỏi phải
có các thuật toán xử lý và so khớp dữ liệu văn bản hiệu quả.
Phát biểu bài toán so khớp mẫu như sau:
Cho một mẫu P có độ dài m và một mẫu văn bản T có độ dài n. Hãy
tìm tất cả các vị trí mà P xuất hiện trong T.
- Input: + Mẫu P

+ Mẫu văn bản T
- Output: Số chỉ vị trí của ký tự đầu tiên của mẫu P xuất hiện trong T.
2.1.1. So khớp mẫu là gì?
So khớp mẫu bao gồm việc tìm kiếm một, nhiều, hoặc tất cả số lần xuất
hiện của một mẫu (thường được gọi là mẫu (Pattern)) trong một văn bản.
So khớp mẫu có thể được biểu diễn dưới dạng toán học như sau :


×