Thông thường người ta chia IPS thành các loại NIPS (Network-based Intrusion
Prevention System) theo dõi và phát hiện sựcốtrên một hệthống mạng, HIPS (Hostbased Intrusion Prevention System) theo dõi và xửlý sựcốtrên các máy tính riêng lẻ,
và Hybrid Intrusion Prevention System kết hợp của 2 hệthống NIPS và HIPS thu thập
thông tin trên máy trạm kết hợp với thông tin thu thập được ởtrên mạng đểcó được sự
phân tích một cách chi tiết vềhiện trạng hệthống mạng.
80 trang |
Chia sẻ: lylyngoc | Lượt xem: 3233 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Giải pháp phát hiện và ngăn chặn truy cập trái phép vào mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iệu kiểm tra cĩ khoảng cách tới trung vị của các dữ liệu đào tạo
bình thường lớn hơn ngưỡng đã định sẽ được xếp vào dạng phần tử dị biệt.
Việc tính khoảng cách theo hệ mét Ơclit chuẩn khơng phải lúc nào cũng chính
xác, nhất là khi các dữ liệu được phân bố giống như hình minh họa dưới đây. Bằng
cách sử dụng hệ mét Ơclit, khoảng cách giữa p2 và điểm lân cận gần nĩ nhất lớn hơn
khoảng cách từ điểm p1 đến điểm lân cận gần nĩ nhất. Rõ ràng trong trường hợp này,
phương pháp dựa trên khoảng cách Mahalanobis sẽ hiệu quả hơn phương pháp hệ mét
Ơ-cơ-lit. [5]
44
Hình 3.4 : Ưu điểm của phương pháp dựa trên khoảng cách Mahalanobis khi tính các
khoảng cách.
3.2.2.3 Thuật tốn LOF
Ý tưởng chủ đạo của phương pháp này là gắn cho mỗi mẫu dữ liệu 1 mức độ dị
biệt nào đĩ, được gọi là nhân tố dị biệt địa phương ( Local Outlier Factor). Như vậy
đối với từng mẫu, mật độ phần tử lân cận đĩng một vai trị đặc biệt. Một mẫu khơng
phải được phân loại là “dị biệt” hay “khơng dị biệt” mà được đánh giá là mức độ “dị
biệt” như thế nào, tùy theo giá trị LOF của mẫu đĩ. [7]
Ký hiệu k-dis(x) là khoảng cách đến phần tử lân cận thứ k của mẫu x
Ký hiệu Nk-dis(x) là số lượng phân tử lân cận của x cĩ khoảng cách tới x bé hơn
k-dis(x).
Khoảng cách tiếp cận trung bình của một mẫu x đối với một mẫu y, ký hiệu là R
– dis(x,y) được tính như sau:
R – dis(x,y) = max(k – dis(x),d(x,y))
45
Hình 3.5 : Ví dụ khoảng cách R-dis (reach-dist)
Chẳng hạn cĩ 7 phần tử như hình 3.5, R – dis(p1,O) và R – dis(p2,O) được tính
trong trường hợp k = 3.
Ta cĩ thể tính được giá trị LOF của một phần tử p như sau:
Với : Hàm lrd( ) chỉ mật độ tiếp cận địa phương của một mẫu, và được tính dựa
trên tính nghịch đảo của R – dis(p,o) và MnPts ( số lượng mẫu tối thiểu) các phần tử
lân cận của mẫu p.
Thuật tốn tính LOF cho các mẫu dữ liệu được thực hiện qua nhiều bước:
Tính k – dis(p) cho mẫu p
Tính R – dis(p,o) cho mẫu o
Tính hàm lrd( )
Tính LOF(p)
Chúng ta sẽ áp dụng thuật tốn trên cho một ví dụ nhỏ cụ thể như sau : Gọi D là
cơ sở dữ liệu cĩ 4 đối tượng ký hiệu lần lượt là P1, P2, P3 và P4 cĩ các khoảng cách
P1P4 = 4, P1P3 = 3, P1P4 = 7, P2P3 = 5, P2P4 = 6 và P3P4 = 8 thu được nhờ một hàm
tính khoảng cách đã biết và xét với MinPts(k) = 2. [8]
46
Bước 1: tính kdistance của p:
Mục đích tính kdistance của p là xác định các lận cận của p. Định nghĩa đơn giản,
kdistance của p là khoảng cách lớn nhất từ đối tượng p khi mọi đối tượng trong tập dữ
liệu được xem xét cĩ ít nhất k lân cận. kdistance của p được ký hiệu là kdistance(p) và
thu được bằng cách :
Đầu tiên, tính tất cả các khoảng cách của tất cả các đối tượng từ P1 qua một hàm
tính khoảng cách. Các khoảng cách P1P2 = 4, P1P3 = 3, P1P4 = 7
Tiếp theo, chọn ra 2 khoảng cách nhỏ nhất khơng trùng nhau từ P1. Tất cả các
khoảng cách từ P1 được sắp xếp và 2 khoảng cách nhỏ nhất được chọn.
Min(P1P2=4,P1P3=3,P1P4=7)
Cuối cùng, giá trị lớn nhất trong 2 khoảng cách nhỏ nhất được lựa chọn ở trên là
kdistance của P1. Do đĩ kdistance(P1) = max(3,4), suy ra kdistance(P1) = 4.
kdistance của các đối tượng cịn lại được tính tương tự.
Bước 2: Tìm lân cận kdistance của p:
Lân cận kdistance của p được ký hiệu là ( Nk(p) ), chứa tất cả các đối tượng với
khoảng cách khơng lớn hơn kdistance(p). Cơ sở cho việc tính ra lân cận kdistance là
tìm các lân cận gần nhất của mỗi đối tượng. Ví dụ lân cận kdistance của P1 bao gồm
P2 và P3 từ kdistance(P1) = 4 và khoảng cách của P2, P3 từ P1 khơng lớn hơn 4( P1P2
= 4, P1P3 = 3).
Bước 3: Tính khoảng cách cĩ thể tới được của p ( reachability distance)
Khoảng cách cĩ thể tới được của đối tượng p với đối tượng o là khoảng cách lớn
hơn trong 2 khoảng cách distance(p,o) và kdistance(o). reachdistk(p,o) =
max{kdistance(o), distance(p,o)}. Mục đích là đảm bảo cho tất cả các đối tượng trong
một lân cạn là đồng nhất. Thêm vào đĩ, LOF trở nên ổn định khi các đối tượng trong
một lân cận là đồng nhất mặc dù MinPts(k) thay đổi. Sự thay đổi của khoảng cách cĩ
thể tới được (reachability distance) cĩ thể điều khiển bằng việc chọn giá trị k lớn.
Khoảng cách cĩ thể tới của P1 được tính tốn theo các bước: Đầu tiên, xác định lân
cận kdistance của P1 ( Nk(P1) = (P2,P3)). Khoảng cách cĩ thể tới của P1 được tính
cùng mối liên hệ tới P2 và P3 khi chúng là lân cận của P1. Với P2 trong lân cận của
P1: reachdistk(P1,P2) = max(kdistance(P2),distance(P1,P2)) = max(5,4) =5. Với P3
trong lân cận của P1: reachdistk(P1,P3) = max(kdistance(P3),distance(P1,P3)) =
47
max(5,3) =5. Do đĩ reachdistk(P1,o) = (5,5) nĩ bao gồm các khoảng cách tới được của
các lân cận của P1.
Bước 4: Tính mật độ tới được địa phương của p - local reachbility density
Mật độ tới được địa phương của một đối tượng p, được ký hiệu là lrdk(p) là
nghịch đảo của giá trị trung bình các khoảng cách tới được từ lân cận kdistance của p.
Nĩ cung cấp một cách so sánh giữa các khoảng cách tới được.
Mật độ tới được địa phương của P1 được tính như sau : lrdk(P1) = 1/{(5+5)/2}
= 2/10, khi (5,5) là khoảng cách tới được địa phương của P1 và số các lân cận của
kdistance là 2. Ta cũng cĩ lrdk(P2) = 2/9, lrdk(P3) = 2/9, lrdk(P4) = 2/13.
Bước 5: Nhân tố dị biệt địa phương của p
Nhân tố dị biệt địa phương là tỷ số đánh giá một đối tượng là dị biệt hoặc
khơng trong lân cận của nĩ. Nhân tố dị biệt địa phương của một đối tượng được ký
hiệu là LOFk(p) là trung bình các tỷ số của mật độ tới được địa phương của p và k lân
cận gần nhất của p.
Ưu điểm của thuật tốn LOF so với thuật tốn dựa trên khoảng cách được thể
hiện qua ví dụ sau:
Hình 3.6 Ưu điểm của phương pháp LOF
Nếu trong cách tiếp cận khoảng cách thì mẫu p2 khơng bị coi là tách biệt do
khoảng cách từ p2 đến C2 gần hơn so với từ C1 đến C2. Trong khi đĩ với cách tiếp
cận LOF, cả p1, p2 đều là phần tử dị biệt.
48
Hạn chế lớn nhất của thuật tốn LOF nằm trong việc tính tốn khoảng cách cĩ
thể tính được (reachability distance) được định nghĩa reachdistk(p,o) =
max{kdistance(o),distance(p,o)}. Việc tính tốn khoảng cách reachability của p bao
gồm việc tính tốn khoảng cách của tất cả các đối tượng trong lân cận của p, sau đĩ so
sánh từng khoảng cách này với kdistance của lân cận đĩ, việc này sẽ rất tốn kém khi
MinPts lớn. Hơn thế nữa, LOF phải tính tốn cho tất cả các đối tượng trước khi một
vài điểm dị biệt được phát hiện. Đây khơng phải là điều chúng ta mong muốn khi các
phần tử dị biệt chỉ là một phần rất nhỏ trong tồn bộ tập dữ liệu.
3.2.2.4 Thuật tốn LSC-Mine
Thuật tốn LSC-Mine [8] cơ bản dựa vào các định nghĩa của thuật tốn LOF
nhưng nĩ tránh được việc tính tốn các khoảng cách reachability và các mật độ
reachability địa phương - những thứ rất tốn kém khi sử dụng thuật tốn LOF. Thay vào
đĩ là tỷ số phân bố thưa thớt địa phương ( local sparsity ratio) nhận được từ việc tính
tốn các khoảng cách lân cận. Thêm vào đĩ, LSC-Mine loại bỏ bớt các đối tượng dữ
liệu, khơng cĩ khả năng trở thành điểm dị biệt nhờ nhân tố cắt xén ( pruning factor)
cũng được tính tốn từ khoảng cách của các lân cận. Các đối tượng dữ liệu cịn lại nằm
trong tập các ứng cử viên cĩ thể trở thành điểm dị biệt.
Tỷ số phân bố thưa thớt địa phương của một đối tượng p ký hiệu lsrk(p) được
định nghĩa là tỷ số của số các số kdistance trong lân cận của p trên tổng số của tất cả
các khoảng cách thực trong lân cận đĩ.
Trong đĩ distofNk(P) bao gồm các khoảng cách thực của các đối tượng trong lân
cận kdistance của p, tỷ số lsr đo sự tập trung của các đối tượng xung quanh đối tượng
p. Các đối tượng với mức lsr thấp cĩ khả năng cao trở thành các phần tử dị biệt. Điểm
chú ý cuối cùng đĩ là các điểm dị biệt phụ thuộc vào hệ số “local sparsity” hơn là tỷ
số. Nhân tố cắt xét được bắt nguồn từ việc cho rằng lrs của một đối tượng p trong một
49
tập dữ liệu khơng nên nhỏ hơn một tỷ số đồng dạng được tính tốn từ tất cả dữ liệu nếu
đối tượng đĩ khơng phải là dị biệt.
Nhân tố cắt xén (Pf) là tỷ số giữa tổng của các khoảng cách tuyệt đối trên tồn bộ
tổng của các khoảng cách lân cận thực. Cơng thức tốn học là :
Một khi Pf được xác định, bất kỳ đối tượng nào với lsr nhỏ hơn Pf sẽ được loại
bỏ vì nĩ khơng thể thuộc danh sách các ứng cử viên trở thành điểm dị biệt. Với việc sử
dụng Pf ta cĩ thể loại bỏ hơn một nửa đối tượng của dữ liệu, đây chính là bước đột phá
lớn của thuật tốn LSC so với LOF.
Hệ số phân bố thưa thớt địa phương của p ký hiệu là LSCk(p) là tỷ số trung bình
của lsr của p trên kdistance các lân cận của nĩ.
Một hệ số LSC cao đánh dấu lân cận xung quanh một đối tượng là khơng đơng
đúc và do đĩ cĩ tiềm năng cao trở thành một điểm dị biệt, ngược lại một hệ số LSC
thấp đánh dấu một lân cận đơng đúc và vì vậy cĩ tiềm năng tương đối thấp để trở
thành điểm dị biệt. Hình sau sẽ miêu tả tuần tự các bước trong thuật tốn LSC-Mine để
xác định điểm dị biệt. Thuật tốn LSC-Mine sẽ tính tốn kdistance của từng đối tượng
(1), (2) lân cận kdistance của chúng, (3) tỷ số lsr của nĩ, nhân tố cắt xén Pf (4), tập dữ
liệu ứng cử khơng bị cắt xén (5), LSC của các đối tượng trong tập dữ liệu khơng bị cắt
xén (6), và cuối cùng xếp loại các đối tượng cĩ LSC cao nhất như là các điểm cĩ khả
năng cao nhất thành điểm dị biệt.
50
Hình 3.7 Thuật tốn LSC-Mine
3.3 Mơ hình phát hiện bất thường dựa trên kỹ thuật KPDL
Hình 3.8 Mơ hình hệ thống phát hiện bất thường sử dụng kỹ thuật KPDL
51
Hệ thống phát hiện bất thường dựa trên KPDL áp dụng kỹ thuật phát hiện phần
tử dị biệt để xác định tấn cơng, nĩ bao gồm các module chính : module lọc thơng tin
nhằm hạn chế bớt khối lượng thơng tin cần phân tích và theo dõi, Module trích xuất
thơng tin giúp trích xuất các yếu tố quan sát, module phát hiện phần tử dị biệt là
module chính xác định các cuộc xâm nhập, module phản ứng (đối với hệ thống IPS)
đưa ra các phản ứng tức thời ngăn chặn, chấm dứt các cuộc xâm nhập, module tổng
hợp nhằm rút gọn cảnh báo gửi lên Chuyên gia và xây dựng luật rút gọn để bổ sung tri
thức cho hệ thống, module này cũng sử dụng một kỹ thuật khác của KPDL là kỹ thuật
tổng hợp (Summarization), ngồi ra hệ thống cịn sử dụng một bộ lọc các cuộc tấn
cơng với dấu hiệu đã biết được rút ra từ mơđun tổng hợp.
3.3.1 Module lọc tin
Dữ liệu cần phân tích của hệ thống được tổng hợp từ nhiều nguồn khác nhau như
Sensor, thiết bị mạng, SNMP hoặc là các file log, khối lượng dữ liệu này là rất lớn nên
khơng thể lưu trữ hết tồn bộ chúng, mà chúng ta phải sử dụng các kỹ thuật để lọc bớt
thơng tin, một trong những kỹ thuật hay được sử dụng nhất là kỹ thuật cửa sổ thời
gian, ví dụ như chỉ lưu thơng tin trong vịng một giờ trở lại. Nĩi chung, độ dài của cửa
sổ thời gian phụ thuộc vào từng hệ thống mạng và do người quản trị chọn sao cho phù
hợp. Nếu thời gian lưu thơng tin ngắn, hệ thống cĩ thể bỏ sĩt các cuộc tấn cơng, nhưng
trong trường hợp thời gian dài cĩ thể sẽ khơng đảm bảo tốc độ, khơng áp dụng được
cho trường hợp thời gian thực.
Dữ liệu cần phân tích chủ yếu được lưu trên file ở dưới dạng bản ghi, hệ thống sẽ
truy cập các file này để lấy thơng tin. Module lọc thơng tin sẽ loại bỏ những thơng tin
thừa, các lưu lượng mạng mà hệ thống biết chắc khơng cĩ tấn cơng. Thơng thường các
thơng tin cần thiết cho việc phân tích chỉ chiếm khoảng 20% đến 25% lượng tin được
thu thập.
3.3.2 Module trích xuất thơng tin
Dữ liệu sau khi qua module lọc thơng tin sẽ được tiến hành trích xuất các thành
phần cần quan sát, mỗi một thuật tốn phát hiện bất thường sẽ cĩ một tập các thơng số
cần quan sát riêng. Đối với các gĩi tin mạng, thơng tin quan trọng chủ yếu nằm ở phần
Header của gĩi tin. Một số thơng tin quan trọng cĩ thể được sử dụng là :
52
Đối với header của Ethernet các thơng tin trích xuất bao gồm : Packet size,
Source address, Destination address, Protocol.
IP header các thơng tin trích xuất bao gồm : Source address, Destination address,
Header length, TOS, Packet size, IP Fragment ID, IP Flag & Pointer, TTL,
Checksum.
TCP header gồm : Source port, Destination port, Sequence & ACK Number,
Header length, Window size, Checksum.
UDP header gồm : Source port, Destination port, Checksum, Length
ICMP bao gồm : Type & Code, Checksum
3.3.3 Mơđun phát hiện phần tử di biệt
Như đã trình bày ở trên cĩ rất nhiều thuật tốn để phát hiện ra phần tử dị biệt,
một hệ thống phát hiện bất thường cĩ thể sử dụng các thuật tốn đĩ nhưng chỉ nên sử
dụng một thuật tốn nhằm đảm bảo quá trình hoạt động của hệ thống mạng khơng bị
ảnh hưởng.
Dựa trên việc thử nghiệm và đánh giá trên một bộ dữ liệu chuẩn người ta cĩ thể
lựa chọn thuật tốn phù hợp với tính chất phân bố trong dữ liệu mạng. Một bộ dữ liệu
chuẩn dùng đánh giá hệ thống thường cĩ 2 phần chính : dữ liệu dùng cho việc đào tạo
và dữ liệu dùng trong việc thử nghiệm. Một ví dụ cho bộ dữ liệu dùng đánh giá hệ
thống phát hiện bất thường là bộ dữ liệu DARPA 98 cĩ dữ liệu đào tạo là dữ liệu mạng
trong vịng 7 tuần bao gồm các giao thơng mạng bình thường và giao thơng mạng tấn
cơng đã được đánh dấu, phần dữ liệu kiểm tra là dữ liệu mạng trong vịng 2 tuần cũng
gồm các dữ liệu tấn cơng và dữ liệu bình thường. Dữ liệu tấn cơng được chia làm 4
loại:
DoS (Denial of Service – Từ chối dịch vụ), ví dụ ping-of-death, teardrop, smurf,
SYN flood, vv….
R2L: truy nhập khơng hợp lệ remote từ 1 máy nào đĩ, ví dụ đốn mật khẩu.
U2L: truy nhập khơng hợp lệ của 1 user khơng được cấp quyền vào những đặc
quyền cao nhất của hệ thống, ví dụ những vụ tấn cơng ào ạt ở cấp độ nhẹ.
PROBING: giám sát và điều tra, ví dụ port-scan, ping-sweep, vv...
53
Mặc dù bộ dữ liệu đánh giá DARPA năm 98 đĩng gĩp đáng kể vào lĩnh vực phát
hiện xâm nhập, nhưng nĩ vẫn chứa nhiều vấn đề chưa được giải quyết và những vấn
đề liên quan đến thiết kế và thực hiện. Trong bài viết của mình, McHuge đã đặt ra 1 số
câu hỏi về các kết quả của bảng DARPA, bắt đầu từ việc sử dụng các dữ liệu tổng hợp
để tái hiện dữ liệu bình thường cho đến việc sử dụng các tấn cơng được thực hiện
thơng qua scripts và các chương trình thu thập từ những nguồn khác nhau. Ngồi ra
chúng ta đều nhận thấy dữ liệu nền khơng bao gồm những dữ liệu nhiễu (ví dụ bão
packet, đứt quãng lạ, vv...) điển hình cho dữ liệu thực. Tuy nhiên do chúng ta cịn thiếu
những mốc đánh giá chính xác nên phần lớn các nghiên cứu đều dựa trên thực nghiệm
tiến hành với dãy dữ liệu này và bản nâng cấp của nĩ KDD vào năm 99. Để khắc phục
sự hạn chế và nhằm đánh giá sự hoạt động của các thuật tốn phát hiện bất thường
trong điều kiện thực tế, người ta đã tiến hành áp dụng các phương pháp trên vào dữ
liệu mạng thực ở ĐH Minnesota.
Các dữ liệu học trong bảng DARPA 98 bao gồm các file danh sách xác định các
mốc thời gian (thời điểm bắt đầu và quãng thời gian), loại dịch vụ, địa chỉ IP nguồn,
cổng nguồn, địa chỉ IP đến, cổng đến và loại tấn cơng. Chúng ta dùng các thơng tin
này để ánh xạ các bản ghi kết nối từ các file danh sách đến các kết nối đạt được do
dùng phần mềm tiện ích lọc gĩi tin và để đặt tên mỗi bản ghi kết nối 1 cách chính xác
là “bình thường” hay 1 loại tấn cơng. Phương pháp này cũng được áp dụng vào xây
dựng chuỗi dữ liệu trong bảng KDDCup năm 99, tuy nhiên chuỗi dữ liệu này khơng
lưu thơng tin về thời gian diễn ra các vụ tấn cơng. Do đĩ chúng ta đã xây dựng những
đặc điểm cho phù hợp với thực tế. Những đặc điểm này gồm cĩ số lượng các packets
(gĩi tin), bytes dữ liệu, các packets xác nhận, packets chuyển lại, packets bị đẩy,
packets SYN và FIN vận chuyển từ nguồn đến đích và ngược lại. Ngồi ra chúng ta
cũng thêm tình trạng kết nối để xác định đặc tính dựa trên nội dung. Mục đích của quá
trình này là nhằm gắn kết những đặc điểm mới được xây dựng với những bản ghi kết
nối từ files danh sách và tạo ra nhiều dãy dữ liệu mang tính thơng tin phục vụ việc
nghiên cứu. Những đặc điểm này sẽ là các thơng số được xem xét trong các thuật tốn
phát hiện phần tử dị biệt. Phụ thuộc vào các loại tấn cơng mà các đặc điểm được chọn
lọc là phụ thuộc theo thời gian hay nội dụng ví dụ như các đặc điểm xây dựng trên nội
dung dữ liệu của các kết nối chú trọng vào việc phát hiện các dạng tấn cơng R2L và
54
U2R trong khi các đặc điểm dựa trên thời gian và dựa trên kết nối lại tập trung vào
phát hiện các dạng tấn cơng DoS và probing do đặc điểm của các cuộc tấn cơng này là
số lượng gĩi tin lớn trong một khoảng thời gian ngắn nhằm chiếm dụng băng thơng.
Từ các kết quả thực nghiệm chúng ta cĩ thể đối với kiểu phân bố dữ liệu mạng
thì thuật tốn LOF chiếm ưu thế với việc đưa ra những cảnh báo tấn cơng tốt hơn, ít
cảnh báo sai hơn so với các thuật tốn khác. Thuật tốn LOF được áp dụng để tính
tốn tính tương tự nhau giữa các điểm dữ liệu xét về khía cạnh phân loại cũng như
khía cạnh số liệu. Để tính giá trị LOF cho 1 điểm thì dữ liệu về các điểm lân cận phải
cĩ sẵn, điều đĩ là cần thiết cho việc tính tốn khoảng cách giữa các điểm dữ liệu với
nhau. Như vậy quá trình này cĩ độ phức tạp là O(N2), trong đĩ N là độ lớn của dữ
liệu. Để thích hợp cho dữ liệu lớn người ta thường sử dụng một tập mẫu cĩ kích thước
nhỏ hơn và so sánh tất cả các điểm với tập mẫu này. Như vậy độ phức tạp của thuận
tốn sẽ rút xuống cịn O(N*M) trong đĩ M là độ lớn của tập mẫu.
Hình 3.9 Đường cong ROC của các thuật tốn
Hình 3.9 thể hiện đường cong ROC, mơ tả tỷ lệ cảnh báo đúng/ tỷ lệ cảnh báo sai
của các thuật tốn LOF, thuật tốn điểm lân cận gần nhất NN, thuật tốn dựa trên
khoảng cách Mahalanobis và thuật tốn dựa trên “Vector học máy khơng bắt buộc –
Unsupervised SVM”, trong đĩ chúng ta cĩ thể nhận thấy đường cong ROC của thuật
tốn LOF nằm cao hơn cả nĩ tương đương với việc khả năng đưa ra các cảnh báo đúng
của thuật tốn LOF là lớn hơn so với các thuật tốn cịn lại, tiếp đến là thuật tốn
Unsupervised SVM, sau đĩ là thuật tốn điểm lân cận (NN), cuối cùng là thuật tốn
Mahalanobis. Cũng qua hình 3.9 chúng ta cũng cĩ thể, ban đầu thấy khả năng đưa ra
55
cảnh báo sai của thuật tốn Mahalanobis là thấp nhất nhưng đến một thời điểm nhất
định các giá trị thể hiện khả năng cảnh báo sai của các thuật tốn là tương đương.
3.3.4 Module phản ứng
Dựa vào tín hiệu cảnh báo từ module phát hiện dị biệt trong trường hợp cĩ hiện
tượng bất thường, module phản ứng sẽ lập tức đưa ra các biện pháp nhằm ngăn chặn
cuộc tấn cơng. Như chúng ta đã biết module phản ứng dựa trên một số kỹ thuật cơ bản
: terminate session – gửi gĩi tin reset thiết lập lại kênh giao tiếp tới cả client và server,
drop attack – dùng firewall để hủy bỏ gĩi tin, phiên làm việc hay luồng thơng tin từ
hacker đến victim, Modify firewall polices – tự động cấu hình lại một số chính sách
bảo mật khi cĩ cuộc tấn cơng, Real-time Alerting – gửi cảnh báo thời gian thực đến
người quản trị, Log packet: lưu lại thơng tin các gĩi tin trong các file log.
3.3.5 Module tổng hợp
Trong các hệ thống mạng thời gian thực thơng thường số lượng kết nối được hình
thành là rất lớn, với một khoảng thời gian ngắn vài phút cĩ thể lên đến hàng triệu kết
nối nếu chỉ 0,1% số kết nối này được đánh giá là cĩ dấu hiệu bất thường thì sẽ tương
đương với hàng trăm cảnh báo được gửi đến cho chuyên gia giám sát, để kiểm sốt
được hết lượng cảnh báo này đối với các chuyên gia là tương đối khĩ. Vì vậy cần một
giải pháp nhằm tổng hợp các kết nối được đánh dấu là bất thường để rút gọn dữ liệu
đầu ra. Hơn thế hệ thống cũng cần cĩ chức năng bổ sung các dạng tấn cơng đã biết để
tạo cơ sở dữ liệu giúp hệ thống nhận biết nhanh hơn các cuộc tấn cơng trong tương lai.
[9]
Các module tổng hợp sử dụng một kỹ thuật trong Khai phá dữ liệu đĩ là kỹ thuật
Tổng hợp (Summarization). Cĩ nhiều thuật tốn được sử dụng trong kỹ thuật Tổng
hợp của KPDL nhưng thơng thường một thuật tốn tổng hợp dựa trên 2 yếu tố là độ
nén và tỉ lệ mất tin. Độ nén đại diện cho tính rút gọn của dữ liệu, tỉ lệ mất tin chỉ sự
mất mát thơng tin sau khi sử dụng quá trình tổng hợp dữ liệu. Độ nén và tỉ lệ mất tin là
tỉ lệ thuận với nhau nếu ta tăng độ nén, tỷ lệ mất tin cũng tăng theo. Vì vậy cần cĩ sự
lựa chọn hợp lý giữa hai yếu tố này. Chúng ta cĩ thể sử dụng hàm định lượng:
M = k*(độ nén) – (tỉ lệ mất tin)
56
Với k là hằng số mà ta sẽ lựa chọn, k được điều chỉnh tùy theo mục địch mà ta
mong muốn tỉ lệ nén hay tỉ lệ mất gĩi tin.
Hình 3.10 Mơ tả hoạt động của mơđun tổng hợp
Chúng ta cĩ thể xem xét một ví dụ về tổng hợp luật như sau. Giả sử ta cĩ một tập
các số liệu :
{SrcIP:X.Y.Z.86, StartTime:10:08:20, DestIP:A.B.C.215, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:15:04, DestIP:A.B.C.217, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:29:08, DestIP:A.B.C.213, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:29:20, DestIP:A.B.C.219, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:32:29, DestIP:A.B.C.213, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:38:10, DestIP:A.B.C.225, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:38:40, DestIP:A.B.C.228, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:38:51, DestIP:A.B.C.235, DestPort:158}
{SrcIP:X.Y.Z.86, StartTime:10:42:16, DestIP:A.B.C.217, DestPort:158}
dựa vào quy tắc tổng hợp luật, rút gọn thành :{SrcIP:X.Y.Z.86,DestPort:158}
57
Đối với một module tổng hợp đầu vào là các kết nối được xác định là bất thường
từ module phát hiện phần tử dị biệt, đầu ra là các mẫu rút gọn mơ tả các cuộc tấn cơng.
Module tổng hợp sử dụng các thuật tốn heuristic để lựa chọn cách rút gọn tập cảnh
báo một cách phù hợp. Các thuật tốn này bao gồm các bước sau:
Xuất phát từ các cảnh báo của module phát hiện phần tử dị biệt, xác định các tần
số xuất hiện của các tập yếu tố quan sát.
Đưa ra một danh sách các ứng cử viên rút gọn
Sử dụng vét cạn đối với từng trường hợp sử dụng hàm định lượng S=k*(độ nén)
– ( tỉ lệ mất tin).
Xác định ứng cử viên cĩ hàm định lượng S lớn nhất. Thực hiện rút gọn theo ứng
cử viên này. Loại bỏ các cảnh báo đã nằm trong quá trình rút gọn. Cứ thế tiếp tục
với các ứng cử viên khác cho đến khi tồn bộ danh sách đã được rút gọn.
Ta cĩ thể xem xét danh sách cảnh báo sau:
SrcIp sPort dstIP dPort Pro Flags Packet Bytes
T1
T2
T3
T4
T5
T6
T7
T8
12.190.84.122
88.34.224.2
12.190.19.23
98.198.66.23
192.168.22.4
192.168.22.4
67.118.25.23
192.168.22.4
32178
51989
2234
27643
5002
5001
43532
2765
100.10.20.4
100.10.20.4
100.10.20.4
100.10.20.4
100.10.20.3
100.10.20.3
100.10.20.3
100.10.20.4
80
80
80
80
21
21
21
113
Tcp
Tcp
Tcp
Tcp
Tcp
Tcp
Tcp
Tcp
_APRS_
_APRS_
_APRS_
_ARSF_
_APRS_
_APRS_
_ARSF_
_APRS_
[2,20]
[2,20]
[2,20]
[2,20]
[2,20]
[40,68]
[40,68]
[2,20]
[504,1200]
[220,500]
[220,500]
[42,200]
[42,200]
[200,500]
[42,200]
[504,1200]
Bảng 3.1 danh sách các cảnh báo chưa rút gọn
Tập các ứng cử viên cĩ thể bao gồm các yếu tố quan sát hoặc bộ yếu tố quan sát
cĩ tần số xuất hiện cao như:
{[srcIP=192.168.22.4],[dstIP=100.10.20.4;pro=tcp;flags=_APRPS_, packets=2,20],
[dport=80],[srcIP=192.168.22.4;dstIP=100.10.20.3],[dstIP=100.10.20.4;dport=80]…}
Sử dụng các thuật tốn rút gọn, các cảnh báo sẽ chỉ cịn như sau:
58
SrcIp sPort dstIP dPort Pro Flags Packet Bytes
S1
S2
S3
*.*.*.*
*.*.*.*
192.168.22.4
***
***
2765
100.10.20.4
100.10.20.3
100.10.20.4
*
21
113
Tcp
Tcp
Tcp
_APRS_
***
_APRS_
[2,20]
***
[2,20]
***
***
[504,1200]
Bảng 3.2 Danh sách các cảnh báo sau khi đã rút gọn
Các hệ thống phát hiện bất thường trước đây cĩ một điểm rất hạn chết đĩ là
khơng cĩ quá trình học phản hồi từ các chuyên gia. Nghĩa là các cảnh báo sai sẽ tiếp
tục xuất hiện ở những lần sau. Đối với hệ thống sử dụng KPDL, một khi đã hình thành
các cảnh báo rút gọn, Module tổng hợp sẽ chuyển cho các chuyên gia xem xét và
quyết định những cảnh báo nào là cảnh báo đúng và thực sự cĩ tấn cơng, các dữ liệu
này sẽ được cập nhật vào kho dữ liệu của hệ thống giúp cho việc phát hiện các cuộc
tấn cơng lần sau đơn giản hơn.
3.4 Giới thiệu về hệ thống phát hiện xâm nhập MINDS
3.4.1 Giới thiệu hệ thống
Hệ thống phát hiện xâm nhập Minnesota (MINDS) [9] là 1 hệ thống dựa trên
phương pháp khai phá dữ liệu nhằm phát hiện xâm nhập mạng. Mơ hình của hệ thống
thực chất đã được trình bày ở phần trên vì nĩ cĩ đầy đủ các module cũng như các
thành phần của một hệ thống phát hiện xâm nhập sử dụng khai phá dữ liệu, trong phần
này chúng ta chỉ đi vào giới thiệu các thành phần được triển khai thực của hệ thống.
Hình 3.11 minh họa tiến trình phân tích dữ liệu giao thơng mạng bằng hệ thống này.
Đầu vào của hệ thống MINDS là dữ liệu Netflow phiên bản 5 do các cơng cụ
dịng ( Flow-tool) tập hợp lại. Các cơng cụ này chỉ bắt thơng tin ở phần header của các
gĩi tin (chứ khơng bắt nội dung) và xây dựng các phiên (các flows) 1 chiều. Chúng ta
làm việc trên dữ liệu Netflow thay vì dữ liệu tcpdump bởi vì khả năng thu thập và lưu
trữ dữ liệu tcpdump là tương đối tốn kém. Trong vịng 10 phút, dữ liệu Netflow sinh ra
khoảng 1-2 triệu dịng và được lưu vào các tệp dữ liệu. Các chuyên gia sẽ dùng hệ
thống MINDS để phân tích các tệp dữ liệu sinh ra trong 10 phút này cùng 1 đợt. Lý do
hệ thống chạy các tệp đĩ cùng 1 đợt khơng phải do thời gian cần để phân tích những
tệp này mà chủ yếu các chuyên gia cảm thấy thuận tiện hơn. Để chạy hệ thống với các
59
tệp sinh ra trong 10 phút trên một máy tính để bàn thường mất dưới 3 phút. Như chúng
ta đã biết trước khi dữ liệu được chuyển vào module phát hiện bất thường, 1 bước lọc
dữ liệu sẽ được tiến hành nhằm loại bỏ các dữ liệu mạng mà các chuyên gia khơng
muốn phân tích. Ví dụ, dữ liệu sau khi lọc cĩ thể gồm dữ liệu từ các nguồn đã xác thực
hoặc các biểu hiện mang tính bất thường/ nguy hiểm nhưng lại được coi là khơng
mang tính xâm phạm.
Hình 3.11 Mơ hình hoạt động của hệ thống MINDS
Bước đầu tiên của quá trình MINDS là trích lọc các đặc điểm dùng cho việc phân
tích khai phá dữ liệu. Những đặc điểm cơ bản bao gồm địa chỉ IP nguồn và IP đích,
cổng nguồn, cổng đến, giao thức, cờ, số lượng bytes và số lượng gĩi. Các đặc điểm
phát sinh gồm cĩ cửa sổ thời gian và các đặc điểm dựa trên cửa sổ kết nối(trình bày ở
phần trên). Chúng được tạo ra để bắt các liên kết cĩ cùng tính chất trong khoảng T
giây cuối cùng. Chúng đặc biệt hữu ích trong việc phân biệt các nguồn cĩ lượng kết
nối cao trong 1 đơn vị thời gian với phần cịn lại của giao thơng mạng được biết đến
như là các hoạt động scanning nhanh. Phương pháp tương tự cũng đã được áp dụng
vào việc xây dựng các tính năng trong bảng dữ liệu KDD Cup năm 1999. Bảng 3.3
dưới đây tĩm tắt các tính năng dựa trên cửa sổ thời gian.
60
Tên đặc điểm Mơ tả
count_src Số kết nối cĩ cùng một nguồn đến các đích khác nhau trong t
giây gần đây nhất
count_dest Số kết nối cĩ cùng một đích nhưng từ nhiều nguồn khác nhau
trong t giây gần đây nhất
count_serv_src Số kết nối đến cùng một địa chỉ cổng đích trong t giây gần đây
nhất
count_serv_dest Số kết nối từ địa chỉ đích đến cùng một địa chỉ cổng đích trong
T giây gần đây nhất.
Bảng 3.3 những đặc điểm chọn “dựa trên thời gian”
Khác với scan “nhanh” các hoạt động scanning “chậm” là những hoạt động scan
host hoặc port sử dụng các khoảng thời gian nhiều hơn 1 vài giây, ví dụ 1 tiếp xúc
(scan) trên 1 phút thậm chí 1 tiếp xúc trên 1 giờ và khơng thể bị chia cắt với phần cịn
lại của giao thơng mạng sử dụng đặc điểm dựa trên cửa sổ thời gian. Để làm được điều
đĩ, chúng ta cũng tạo ra các đặc điểm dựa vào cửa sổ-kết nối nhằm bắt các đặc điểm
tương tự của kết nối như các đặc tính dựa trên cửa sổ thời gian, tuy nhiên lại được tính
tốn dựa trên N kết nối cuối cùng xuất phát từ (hoặc đến) các nguồn riêng biệt (đích).
Các đặc điểm dựa trên cửa sổ liên kết được minh họa ở bảng 3.4
Tên đặc điểm Mơ tả
count_dest_conn Số kết nối cĩ cùng từ một nguồn đến các đích khác nhau trong
N kết nối gần đây nhất
count_src_conn Số kết nối cĩ cùng một đích nhưng từ nhiều nguồn khác nhau
trong N kết nối gần đây nhất
count_serv_src_conn Số kết nối đến cùng một địa chỉ cổng đích trong N kết nối gần
đây nhất
count_serv_des_conn Số kết nối từ địa chỉ đích đến cùng một địa chỉ cổng đích trong
N kết nối gần đây nhất.
Bảng 3.4 những đặc điểm chọn “dựa trên kết nối”
61
Sau bước rút ra các đặc điểm để phân tích, module phát hiện các cuộc tấn cơng
đã biết sẽ được dùng để phát hiện các kết nối mạng tương ứng với các tấn cơng mà
chúng cĩ sẵn các dấu hiệu và loại bỏ chúng khỏi danh sách dữ liệu cần phân tích. Tiếp
đến, dữ liệu được chuyển tiếp vào module phát hiện bất thường MINDS sử dụng thuật
tốn phát hiện điểm dị biệt để gán 1 giá trị bất thường cho mỗi kết nối mạng. MINDS
sử dụng thuật tốn LOF trong module phát hiện bất thường.Một chuyên gia sau đĩ chỉ
phải xem xét những kết nối cĩ giá trị bất thường nhất để quyết định liệu chúng cĩ phải
là những tấn cơng thực sự hay chỉ là những biểu hiện ngẫu nhiên bên ngồi. Module
tổng hợp trong MINDS sẽ tổng kết các liên kết mạng và sắp xếp chúng theo mức độ
bất thường từ cao xuống thấp. Cuối cùng chuyên gia sẽ đưa ra phản hồi sau khi phân
tích các kết quả ở trên và quyết định chúng cĩ ích trong việc tạo ra những luật mới sẽ
được sử dụng trong module phát hiện tấn cơng đã biết hay khơng.
Tiếp theo chúng ta sẽ xem xét một số các kết quả thu được sau khi áp dụng
module phát hiện bất thường MINDS vào giao thơng mạng thực ở đại học Minnesota.
Tuy nhiên chúng ta khơng thể đưa ra tỉ lệ phát hiện và tỉ lệ cảnh báo sai do khĩ khăn
trong việc đánh dấu tồn bộ kết nối mạng.
Chuyên viên an ninh mạng tại ĐH Minnesota đã sử dụng phương pháp MINDS
để phân tích giao thơng mạng từ năm 2002. Trong suốt thời gian này, MINDS đã phát
hiện thành cơng rất nhiều tấn cơng mới và các biến dạng mà khơng thể bị phát hiện
nếu dùng hệ thống dựa trên dấu hiệu (signature) như SNORT. Nhìn chung, MINDS cĩ
khả năng thường xuyên phát hiện những hành động xâm nhập nguy hại khác nhau (ví
dụ xâm phạm chính sách - policy violations), phát tán sâu cũng như các hoạt động
scan. Đầu tiên chúng ta sẽ đi vào quá trình một chuyên viên phân tích đầu ra của
module phát hiện bất thường MINDS trên 1 dãy dữ liệu cụ thể. Sau đĩ chúng ta tiếp
tục với 1 vài ví dụ về mỗi loại tấn cơng khác nhau được xác định bởi MINDS.
Hình 3.12 cho chúng ta thấy các kết nối đứng đầu do module phát hiện bất
thường MINDS tìm được trong 10 phút khoảng 48 tiếng sau khi sâu Slammer/
Sapphire xuất hiện. Đầu ra bao gồm các dữ liệu gốc cùng với giá trị bất thường được
gán cho các kết nối và các thành phần liên quan của mỗi một đặc điểm trong số 16 đặc
điểm sử dụng trong thuật tốn phát hiện bất thường. Lưu ý rằng hầu hết các kết nối
đứng đầu đều thuộc về sâu Slammer/ Sapphire ( cĩ giá trị bất thường cao nhất –cột đầu
62
tiên). Đĩ là do trong khoảng thời gian này, các kết nối mạng bị nhiễm sâu chỉ chiếm
2% tổng giao thơng mạng. Điều này chứng tỏ sự hiệu quả của phương pháp MINDS
trong việc xác định kết nối nhiễm sâu. Những kết nối này được đánh dấu màu xám
nhạt. Chúng ta cĩ thể quan sát trong hình để thấy những thành phần đĩng gĩp nhiều
nhất vào giá trị bất thường của những kết nối này là do đặc tính 9 và 11. Nguyên nhân
là do những máy tính bị nhiễm ngồi hệ thống vẫn đang cố gắng kết nối với những
máy tính bên trong mạng.
Hình 3.12 Bảng kết quả đầu ra của hệ thống MINDS – cột đầu tiên là giá trị bất thường
Cũng trong hình 3.12 chúng ta cĩ thể thấy trong suốt khoảng thời gian này cịn cĩ
1 hoạt động scanning khác (ping scan, đánh dấu bằng màu xám đậm) bị phát hiện do
đặc tính 9 và 11. Hai dịng khơng đổi màu là phản hồi từ các server chơi game half-life
bị đánh dấu là bất thường do những máy tính này đang giao tiếp qua 1 cổng duy nhất
27016/udp. Đối với các liên kết web, thơng thường chúng giao tiếp qua cổng 80 và
được trình bày trong mẫu dữ liệu thơng thường. Tuy nhiên, các kết nối half-life khơng
phù hợp với bất kỳ 1 mẫu thơng thường nào mà số lượng đặc tính 15 tăng đột biến nên
chúng bị coi là bất thường.
63
Phát hiện sâu
Vào ngày 10/10/2002, module MINDS phát hiện 2 hoạt động của sâu Slapper
vượt qua sự truy quét của SNORT do chúng là biến thể của 1 loại mã sâu đã cĩ. Một
khi máy tính bị nhiễm sâu, nĩ sẽ giao tiếp vơi các máy khác và sẽ lây lan sang các máy
đĩ. Phiên bản phổ biến nhất của loại sâu này dùng cổng 2002 để giao tiếp, nhưng 1 vài
biến thể lại dùng những cổng khác. MINDS xác định những kết nối này là bất thường
với 2 lý do sau: Thứ nhất, cổng nguồn hoặc cổng đích trong liên kết cĩ thể khơng bất
thường nếu tách riêng, nhưng các cặp đơi cổng nguồn-đích lại là bất thường (tuy máy
phát hiện bất thường khơng lưu số liệu của tần suất các cặp thuộc tính, nhưng trong khi
xây dựng vùng lân cận của các kết nối này, hầu hết điểm lân cận của chúng đều khơng
cĩ các cặp cổng nguồn-đích giống nhau, điều này tạo ra khoảng cách); Thứ 2, mẫu
giao tiếp của loại sâu này trơng giống như 1 hoạt động scan chậm khiến cho giá trị của
các biến tương ứng với số lượng kết nối từ IP nguồn đến cùng 1 cổng đích ở các kết
nối cuối trở nên lớn hơn. Nguyên tắc phát hiện sâu của SNORT là dùng cổng 2002 (và
1 vài cổng khác) nhưng khơng đủ cho tất cả các biến thể cĩ thể xuất hiện. Một nguyên
tắc tổng quát của SNORT được viết để phát hiện biến thể của loại sâu này cĩ thể cảnh
báo sai ở tỷ lệ cao hơn.
Hoạt động scanning và DoS(Scanning and DoS activities):
Ngày 9/8/2002, hệ thống CERT/CC cảnh báo về “sự lan rộng scanning và khả
năng từ chối của hoạt động dịch vụ nhằm vào dịch vụ Microsoft-DS qua cổng
445/TCP” giống như 1 tấn cơng Từ chối Dịch vụ mới (DoS). Ngồi ra, CERT/CC cịn
thể hiện “sự quan tâm khi nhận được những báo cáo như thế này từ những sites cĩ bản
báo cáo chi tiết và bằng chứng của vụ tấn cơng”. Các kết nối mạng thuộc loại scanning
này được xếp trong top đầu cĩ giá trị dị biệt cao vào ngày 13/08/2002 do module phát
hiện bất thường của MINDS phát hiện ra trong khi làm nhiệm vụ phân tích thường
nhật giao thơng mạng ĐH Minnesota. Module scan cổng của SNORT đã khơng phát
hiện ra tấn cơng này do việc scanning cổng diễn ra rất chậm chạp. Sau đĩ vào tháng
9/2002, SNORT đã bổ sung 1 quy tắc mới để bắt loại tấn cơng này.
Ngày 13/08/2002, module phát hiện ‘hoạt động scanning trên dịch vụ Oracle”
thơng qua việc các giá trị bất thường của các kết nối này nằm trong top2(top 1 bao
gồm liên kết thuộc DoS nhằm vào Microsoft-DS service qua cổng 445/TCP như đã
64
trình bày ở trên). Tấn cơng dạng này thường rất khĩ bị phát hiện nếu dùng những
phương pháp khác do Oracle scan được gắn vào 1 mơi trường Web scan rộng lớn hơn
nhiều và cảnh báo sinh ra bởi Web scan cĩ thể đưa đến hàng núi cơng việc cho các
chuyên gia. Ngày 13/06, CERT/CC đã đưa ra cảnh báo về vụ tấn cơng này.
Xâm phạm chính sách(Policy Violations):
- Từ ngày 8-10/08/2002, module của MINDS phát hiện ra 1 máy đang chạy dịch
vụ Microsoft PPTP VPN và 1 máy khác đang chạy dịch vụ FTP qua các cổng khơng
phải là các cổng chuẩn của chúng, đây bị coi là xâm phạm chính sách. Cả 2 loại xâm
phạm này đều nằm trong top cĩ giá trị dị biệt cao. MINDS đánh dấu những dịch vụ
này thuộc dạng bất thường do chúng khơng được phép.
- Ngày 6/2/2003, MINDS đã phát hiện ra những thơng điệp phản hồi lặp lại
ICMP ngồi ý muốn đến 1 máy tính đã bị nhiễm sâu Stacheldract trước đĩ (1 nhân tố
DDoS). Mặc dù chiếc máy bị nhiễm sâu này đã bị tách ra khỏi hệ thống nhưng những
máy tính khác ngồi mạng vẫn cố giao tiếp với nĩ.
3.4.2 So sánh SNORT và MINDS
Trong phần này chúng tơi tiến hành so sánh 2 phương pháp MINDS và SNORT
ở khía cạnh những loại tấn cơng mà chúng cĩ thể phát hiện ra. Đặc biệt, chúng tơi so
sánh sự hiệu quả của chúng trên 3 loại của các hành vi mang tính bất thường trên
mạng:
các tấn cơng dựa trên nội dung
các hoạt động scanning
các hoạt động xâm nhập chính sách (policy)
3.4.3.1 Tấn cơng dựa trên nội dung
Những tấn cơng dạng này nằm ngồi tầm kiểm sốt của MINDS do phiên bản
hiện tại của MINDS khơng tận dụng được các đặc tính dựa trên nội dung. Do đĩ,
SNORT tỏ rõ ưu thế vượt trơi hơn trong việc xác định những tấn cơng dạng này. Tuy
nhiên, SNORT chỉ cĩ thể phát hiện những tấn cơng dựa trên nội dung đã biết dấu hiệu/
quy tắc từ trước đĩ. Mặc dù SNORT cĩ thể phát hiện những tấn cơng này nhưng điều
quan trọng hơn một khi máy tính bị đột nhập thành cơng, biểu hiện của nĩ cĩ thể trở
65
nên bất thường và do đĩ sẽ bị module của MINDS phát hiện ra. Chúng ta sẽ thảo luận
nhiều hơn dạng biểu hiện bất thường này ở phần “xâm nhập chính sách”.
3.4.3.2 Hoạt động scanning
Trong khi đang tiến hành phát hiện các hoạt động scanning khác nhau, SNORT
và MINDS cĩ thể cĩ những biểu hiện giống nhau đối với 1 số loại scans nhất định,
nhưng chúng lại khác nhau về khả năng phát hiện những loại khác. Nĩi chung, chúng
ta cĩ 2 loại scans: scan đến là loại scan trong đĩ kẻ tấn cơng ở ngồi hệ thống đang
quét những điểm dễ bị đột nhập trong 1 hệ thống được giám sát; scan đi là khi ai đĩ
trong hệ thống được giám sát đang truy quét ra bên ngồi. Các hoạt động scan đến
được chia làm 2 loại mà phương pháp SNORT và MINDS cĩ thể cĩ những biểu hiện
nhằm phát hiện ra chúng khác nhau.
scan nhanh (thơng thường)
scan chậm
Khi phát hiện các hoạt động scan đến từ 1 nguồn bên ngồi, module của SNORT
kiểm sốt số lượng địa chỉ IP đích từ mỗi địa chỉ IP nguồn trong 1 khoảng thời gian
nhất định (mặc định là 3 giây). Bất kể khi nào giá trị của countdest cao hơn ngưỡng cố
định (SNORT mặc định giá trị này bằng 4), hệ thống SNORT sẽ báo động và đĩ là
cách chỉ ra hoạt động scan bằng địa chỉ IP nguồn. Module của MINDS cũng cĩ thể gán
1 giá trị cao cho sự bất thường vào những kết nối mạng đĩ do trong hầu hết các kết nối
mạng thơng thường, giá trị count-dest thường thấp. Ngồi ra, các kết nối từ những loại
hoạt động scanning khác nhau cĩ xu hướng mang những đặc tính bất thường (ví dụ
mọi playload), chúng được cộng dồn vào giá trị bất thường.
SNORT cĩ thể phát hiện 1 hoạt động scan đến miễn là hoạt dộng đĩ diễn ra đủ
nhanh trong 1 khung thời gian đã định (giá trị mặc định là 3 giây) và ở ngưỡng cho
phép (giá trị mặc định là 4). Nếu 1 hoạt động scanning diễn ra chậm hơn (nằm ngồi
các tham số cụ thể), nĩ sẽ khơng bị SNORT phát hiện ra. Tuy nhiên, SNORT vẫn cĩ
thể tìm ra những hoạt động như vậy bằng cách tăng khung thời gian và/hoặc giảm số
lượng sự kiện đếm được trong khoảng thời gian đĩ, nhưng việc này sẽ dẫn đến tỷ lệ
cảnh báo nhầm cao hơn. Vì vậy, module của MINDS sẽ tỏ ra phù hợp hơn trong tình
66
huống này do nĩ xem xét cả 2 đặc tính dựa trên khung thời gian và dựa trên khung kết
nối (khác với SNORT chỉ dùng đặc tính dựa trên khung thời gian).
SNORT khơng thể phát hiện các hoạt động scan đi đơn giản là vì nĩ khơng kiểm
tra chúng. Trái lại, module của MINDS cĩ thể phát hiện cả hoạt động scan đến và đi.
Việc thay đổi đầu vào cho 1 module quét cổng cũng sẽ cho phép SNORT phát hiện ra
các hoạt động scan đi này. Tuy nhiên, nĩ sẽ chiếm nhiều bộ nhớ hơn và SNORT vẫn
sẽ gặp vấn đề với các hoạt động scan đi chậm tương tự như các hoạt động scan đến
chậm.
3.4.3.3 Xâm phạm chính sách
Module MINDS cĩ khả năng phát hiện xâm phạm chính sách (ví dụ các dịch vụ
lạ và trái phép) cao hơn so với SNORT do nĩ tìm kiếm hành vi mạng bất thường.
SNORT chỉ cĩ thể phát hiện những xâm nhập nếu nĩ đặt quy tắc cho mỗi 1 hoạt động
cụ thể. Do số lượng và sự đa dạng của những hoạt động này cĩ thể rất lớn và chưa biết
đến nên việc kết hợp chúng vào SNORT là khơng thực tế bởi những lý do sau. Thứ
nhất, việc xử lý tất cả những quy tắc đĩ sẽ tốn rất nhiều thời gian và do đĩ dẫn đến
việc giảm hiệu quả của làm việc SNORT. Một điều quan trọng khác cần chú ý ở đây
đĩ là SNORT chỉ mong muốn giữ 1 số lượng giao thơng mạng được phân tích ở mức
vừa nhỏ bằng cách kết hợp những quy tắc càng cụ thể càng tốt. Mặt khác, những quy
tắc quá chi tiết sẽ hạn chế khả năng tổng hợp hĩa của 1 hệ thống dự trên quy tắc điển
hình, những thay đổi nhỏ trong tính chất của 1 tấn cơng cĩ thể khiến cho tấn cơng đĩ
khơng thể bị phát hiện. Thứ 2, cơ sở tri thức về các cuộc tấn cơng của SNORT cần
phải được cập nhật bằng tay bởi các chuyên gia mỗi khi phát hiện ra 1 một kiểu tấn
cơng mới. Trái lại, module MINDS thích nghi 1 cách tự nhiên, nĩ đặc biệt thành cơng
trong việc phát hiện biểu hiện bất thường bắt nguồn từ 1 máy yếu thế/ phịng thủ lỏng
lẻo (ví dụ kẻ tấn cơng xâm nhập vào 1 máy, cài đặt phần mềm trái phép và dùng máy
này để phát động tấn cơng vào những máy khác). Những biểu như vậy thường xuyên
bị bỏ qua bởi chúng khơng nằm trong các dấu hiệu nhận dạng tấn cơng SNORT.
3.5 Kết chương
Trong chương này chúng ta nghiên cứu việc áp dụng Kỹ thuật khai phá dữ liệu
cho hệ thống IPS. Hướng áp dụng dựa trên KPDL mang lại khá nhiều ưu điểm, đầu
67
tiên giống như các kỹ thuật phát hiện bất thường khác, hệ thống IPS sử dụng KPDL
khơng cần cĩ các hiểu biết trước về các dạng tấn cơng cho nên nĩ cĩ thể dễ dàng phát
hiện các cuộc tấn cơng mới hình thành. Hơn nữa sử dụng phương pháp này chúng ta
cĩ thể phát hiện tương đối chính xác các kiểu tấn cơng dạng DoS hay dị quét cổng
diễn ra trong thời gian kéo dài. Ngồi ra một đặc điểm quan trọng khác đĩ là kỹ thuật
KPDL cĩ thể sử dụng trong trường hợp dữ liệu dạng thơ, khơng đầy đủ, thiếu sĩt hoặc
khơng chính xác. Chương này cũng đưa ra mơ hình cho một hệ thống IPS dựa trên
KPDL, bao gồm các module: Lọc tin, Trích xuất dữ liệu, Phát hiện phần tử dị biệt,
Phản ứng và Tổng hợp. Trong đĩ module Lọc tin và trích xuất dữ liệu là hai module
ban đầu xử lý dữ liệu cho phù hợp với đầu vào của module phát hiện phần tử dị biệt,
đây là module quan trọng nhất làm nhiệm vụ phát hiện ra các trường hợp dữ liệu cĩ
dấu hiệu bất thường cĩ thể là các cuộc tấn cơng mạng, module này sử dụng một số
thuật tốn phát hiện phần tử dị biệt trong KPDL cũng được trình bày trong chương
này. Module cuối cùng là module Tổng hợp cĩ nhiệm vụ tổng hợp, rút gọn các dấu
hiệu mà module phát hiện phần tử dị biệt đưa ra nhằm tạo thành các quy tắc dấu hiệu
giúp quá trình phát hiện ở các lần sau nhanh hơn ( sử dụng trong module Lọc tin). Ở
phần cuối chương, cũng giới thiệu một hệ thống thực đã được triển khai sử dụng kỹ
thuật KPDL, đĩ là hệ thống MINDS của trường đại học Minnesota, Mỹ.
68
KẾT LUẬN
Hệ thống chống xâm nhập (Intrusion Prevention System –IPS) được định nghĩa
là một phần mềm hoặc một thiết bị chuyên dụng cĩ khả năng phát hiện xâm nhập và
cĩ thể ngăn chặn các nguy cơ gây mất an ninh. IPS ra đời nhằm khắc phục những hạn
chế của hệ thống IDS(Instrusion Detection System) như : IDS thường xuyên đưa ra rất
nhiều báo động giả ( False Positives), là gánh nặng cho quản trị an ninh hệ thống bởi
nĩ cần được theo dõi liên tục, kèm theo các cảnh báo tấn cơng là một quy trình xử lý
an ninh rất vất vả, hơn thế nữa IDS khơng cĩ khả năng theo dõi các luồng dữ liệu được
truyền với tốc độ lớn. Xuyên suốt đề tài “Giải pháp phát hiện truy cập trái phép vào
mạng”, tơi đã đi vào tìm hiểu và giới thiệu hệ thống IPS về thành phần, chức năng,
phân loại và hoạt động cũng như các hướng tiếp cận và phát triển một hệ thống IPS.
Thơng thường người ta chia IPS thành các loại NIPS (Network-based Intrusion
Prevention System) theo dõi và phát hiện sự cố trên một hệ thống mạng, HIPS (Host-
based Intrusion Prevention System) theo dõi và xử lý sự cố trên các máy tính riêng lẻ,
và Hybrid Intrusion Prevention System kết hợp của 2 hệ thống NIPS và HIPS thu thập
thơng tin trên máy trạm kết hợp với thơng tin thu thập được ở trên mạng để cĩ được sự
phân tích một cách chi tiết về hiện trạng hệ thống mạng. Về mặt thành phần, hệ thống
IPS bao gồm 3 module chính: module phân tích gĩi tin, module phát hiện tấn cơng và
module phản ứng trong đĩ module phát hiện tấn cơng được quan tâm phát triển nhiều
nhất. Module này được cài đặt dựa trên 2 phương pháp chính đĩ là : phương pháp phát
hiện dựa trên dấu hiệu (mẫu) và phương pháp dị dựa trên phát hiện bất thường.
Phương pháp phát hiện dựa trên dấu hiệu sử dụng các mẫu tấn cơng đã cĩ sẵn trong cơ
sở dữ liệu so sánh với các dấu hiệu hiện tại nhằm xác định xem nĩ cĩ phải là một cuộc
tấn cơng hay khơng. Phương pháp này cĩ khá nhiều điểm hạn chế như nĩ địi hỏi phải
mơ tả một cách chính xác các dấu hiệu, tốn nhiều tài nguyên để lưu trữ, phụ thuộc khá
nhiều vào cơng việc của người quản trị khi thường xuyên phải cập nhật các cuộc tấn
cơng mới. Phương pháp dị dựa trên phát hiện bất thường hoạt động dựa trên nguyên
tắc, sẽ định ra các trạng thái hoạt động bình thường của hệ thống, các IPS sẽ dị và so
sánh nếu tồn tại các cuộc tấn cơng sẽ cĩ các hành động bất thường xảy ra. Phương
69
pháp này cĩ nhiều ưu điểm hơn so với phương pháp sử dụng dấu hiệu cĩ khả năng dị
ra các cuộc tấn cơng chưa biết là rất cao, đồng thời tốn ít tài nguyên hơn nhưng nĩ
cũng cĩ nhược điểm đĩ là cĩ thể đưa ra những cảnh báo sai nếu như hệ thống cĩ
những dấu hiệu bất thường nhưng khơng phải do các cuộc xâm nhập hay tấn cơng.
Tiếp đến luận văn đi vào nghiên cứu hệ thống IPS dựa trên phát hiện bất thường.
Cĩ nhiều phương pháp phát hiện bất thường như Phân tích thống kê, Máy trạng thái
hữu hạn, Mạng Nơ-ron, Hệ chuyên gia, Mạng Bayes… Theo đĩ luận văn tiếp cận
tương đối kỹ một phương pháp phát hiện bất thường đĩ là phương pháp dựa trên khai
phá dữ liệu (KPDL). Đây là phương pháp tương đối mới cĩ nhiều đặc điểm ưu việt
ngồi việc cĩ khả năng phát hiện ra các cuộc tấn cơng dạng mới, các cuộc tấn cơng
kéo dài dạng DoS hay dị quét cổng, ưu điểm của nĩ thể hiển ở khả năng sử lý dữ liệu
trong trường hợp dữ liệu dạng thơ, khơng đầy đủ, thiếu sĩt hoặc khơng chính xác.
Phần cuối luận văn giới thiệu một hệ thống tuy mới là dạng IDS nhưng đã được triển
khai và ứng dụng kỹ thuật KPDL tương đối hiệu quả đĩ là hệ thống phát hiện xâm
nhập của trường đại học Minnesota.
Hướng phát triển của luặn văn:
Ngày nay trong vấn đề an ninh mạng trước những cuộc tấn cơng ngày một tinh vi
của các hacker cũng như sự lây lan của nhiều loại sâu, trojan … thì việc sử dụng các
hệ thống tường lửa, chương trình anti-virus thơi là khơng đủ, mà chúng ta cần phải cĩ
những hệ thống bảo vệ cĩ khả năng phát hiện kịp thời, thậm chí là trước khi cĩ các
cuộc tấn cơng diễn ra. Vì vậy việc nghiên cứu, phát triển và cải tiến các hệ thống IPS
là nhu cấu tất yếu. Hướng phát triển của luận văn sẽ là:
Nghiên cứu các thuật tốn tốt hơn ứng dụng trong việc phát hiện các cuộc tấn
cơng (các thuật tốn phát hiện phần tử dị biệt trong KPDL,…), giúp hệ thống
giảm tỉ lệ cảnh báo sai, tăng tỉ lệ cảnh báo đúng.
Xây dựng một chương trình phát hiện bất thường sử dụng KPDL với thuật tốn
phát hiện phần tử dị biệt cụ thể là thuật tốn LOF hoặc LSC.
IV
TÀI LIỆU THAM KHẢO
1. C. Iheagwara (2004), “The effectiveness of intrusion detection systems”
Computers & Security Journal, 23, pp 213-228
2. A. Yee, “The intelligent IDS: next generation network intrusion management
revealed.” NFR security white paper. Available at:
3. C. Iheagwara (2004), “The Effect Of Intrusion Detection Management Methods On
The Return On Investment” Computers & Security Journal, 23, pp 213-228
4. Marina Thottan and Chuanyi Ji (2003), “Anomaly Detection in IP Networks”,
IEEE TRANSACTIONS ON SIGNAL PROCESSING, 51, Available at:
5. Paul Dokas, Levent Ertoz, Vipin Kumar, Aleksandar Lazarevic, Jaideep
Srivastava, Pang-Ning Tan(2002). “Data Mining for Network Intrusion Detection”.
Available at:
6. Varun Chandola, Eric Eilertson, Levent Ert¨oz, Gy¨orgy Simon and Vipin Kumar
(2006), “Data Mining for Cyber Security”. Available at:
7. Markus M. Breunig, Hans-Peter Kriegel, Raymond T. Ng, Jưrg Sander, (2000)
“LOF: Identifying Density-Based Local Outliers“ . Available at:
8. Malik Agyemang, Christie I. Ezeife, “ LSC-Mine: Algorithm for Mining Local
Outliers”. Available at:
9. Ertoz, L., Eilertson, E., Lazarevic, A., Tan, P., Srivastava, J., Kumar, V., Dokas, P,
(2004) “MINDS - Minnesota Intrusion Detection System”, Available at:
10. The Computer Economics Journal ( 2004), “Cost estimates for viruses and
worms”.
11. SourceFire, Inc (2004), “Real-time Network Defense - The Most Effective Way
to Secure the Enterprise.” White Paper, Columbia, Maryland.
IV
12. E. Hurley (2003), “Intrusion prevention: IDS' 800-pound gorilla”, News Article.
Availiable at:
mlReferences Cont.
13. C. Iheagwara and A. Blyth (2002), “Evaluation of the performance of IDS systems
in a switched and distributed environment,” Computer Networks, 39,pp 93-112
14. C. Iheagwara, A. Blyth and M. Singhal (2003), “A Comparative Experimental
Evaluation Study of Intrusion Detection System Performance in a Gigabit
Environment,” Journal of Computer Security, 11, pp 135,164.
15. K. Richards(1999), "Network Based Intrusion Detection: a review of
technologies,” Computers & Security, 18, pp 671-682.
16. C. Iheagwara, A. Blyth, K. David, T. Kevin (2004), “Cost – Effective Management
Frameworks: The Impact of IDS Deployment on Threat Mitigation.” Information and
Software Technology Journal, 46, pp.651-664.
17. E. Bloedorn, et al.(2001),” Data Mining for Network Intrusion Detection: How to
Get Started”, MITRE Technical Report.
18. S. Manganaris, M. Christensen, D. Serkle, and K. Hermix (1999), “A Data Mining
Analysis of RTID Alarms, Proceedings of the 2nd International Workshop on Recent
Advances in Intrusion Detection (RAID 99)”, West Lafayette.
19. D.E. Denning (1987), “An Intrusion Detection Model”, IEEE Transactions on
Software Engineering.
20. H.S. Javitz, and A. Valdes (1993), “The NIDES Statistical Component:
Description and Justification”.Computer Science Laboratory, SRI International.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN TRUY CẬP TRÁI PHÉP VÀO MẠNG.pdf