bÀi4. hỆ thỐng phÁt hiỆn vÀ ngĂn chẶn tẤn cÔng
TRANSCRIPT
1
BÀI 4.
HỆ THỐNG PHÁT HIỆN VÀ NGĂN CHẶN TẤN CÔNG
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
1
Nội dung
• Khái niệm cơ bản về IDPS
• Các kiến trúc IDPS
• Cơ sở lý thuyết về phát hiện tấn công
• Các phương pháp phát hiện tấn công
2
1
2
2
1. KHÁI NIỆM CƠ BẢN
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
3
Tấn công an toàn bảo mật(nhắc lại)
• Tấn công: các hành vi cố ý gây tổn hại tới hệ thống
• Kịch bản tấn công:Thăm dò, thu thập thông tin
Quét, rà soát mục tiêu
Giành quyền truy cập
Duy trì truy cập và khai thác, tấn công
Xóa dấu vết
4
3
4
3
Hệ thống IDPS
• Intrusion Detection and Preventation System: hệ thống có khả năng theo dõi, giám sát, phát hiện và ngăn chặn các hành vi tấn công, khai thác trái phép tài nguyên được bảo vệ
• Yêu cầu:Tính chính xác
Tính kịp thời
Khả năng tự bảo vệ
• IDPS vs tường lửa:Tường lửa: xử lý từng gói tin trên lưu lượng mạng
IDPS: có khả năng theo dõi, giám sát chuỗi các gói tin, hành vi để xác định có phải là hành vi tấn công hay xâm nhập hay không
Các thiết bị tường lửa thế hệ mới thường trang bị tính năng IDPS
5
Các chức năng của IDPS
• Ngăn chặn (Intrusion Preventation): ngăn cản hoặc giảm xác suất thành công của các hành vi tấn côngTường lửa có thể được coi là một dạng IPS
• Phát hiện (Intrusion Detection): phán đoán một hành vi có phải là tấn công hay không
• Phản ứng(Intrusion Response):Ghi nhận và phát cảnh báo
Cản trở tấn công tiếp diễn
Điều chuyển tấn công sang môi trường cách ly và được giám sát chủ động để thu thập thông tin, đặc điểm của cuộc tấn công
Điều chuyển tấn công sang môi trường có khả năng chống chịu tốt hơn
…
6
5
6
4
Một ví dụ
• Giả sử website của công ty FooCorp cung cấp một dịch vụ thông qua URL:
http://foocorp.com/amazeme.exe?profile=info/luser.txt
• Dịch vụ cho phép hiển thị hồ sơ cá nhân của một nhân viên nào đó trong công ty
7
Kịch bản truy cập
8
Internet
Remote client
FooCorp’s border router
FooCorp Servers
Front-end web server
4. amazeme.exe?profile=xxx
5. bin/amazeme -p xxx1. http://foocorp/amazeme.exe?profile=xxx2. GET /amazeme.exe?profile=xxx
3. GET /amazeme.exe?profile=xxx
2. GET /amazeme.exe?profile=xxx
7
8
5
Kịch bản truy cập
9
Internet
Remote client
FooCorp’s border router
FooCorp Servers
Front-end web server
5. bin/amazeme -p xxx
7. 200 OKOutput of bin/amazeme
6. Output of bin/amazeme sent back
8. 200 OKOutput of bin/amazeme
9. 200 OKOutput of bin/amazeme
10. Trình duyệt hiển thị
Thực thi một hành vi tấn công
• http://foocorp.com/amazeme.exe?profile=../../../../../etc/passwd
10
Kết quả trả về chứa các thông tin nhạy cảm
9
10
6
Làm thế nào để phát hiện?
• Giải pháp 1: Triển khai một hệ thống phát hiện tấn công dạng NIDS (Network-based IDS)Giám sát tất cả các thông điệp HTTP Request
Phát hiện tấn công nếu các yêu cầu chứa “/etc/passwd” và/hoặc “../../”
• Ưu điểm?
• Hạn chế?
11
GP1: Sử dụng NIDS
12
Internet
Remote client
FooCorp’s border router
FooCorp Servers
Front-end web server
bin/amazeme -p xxx
2. GET /amazeme.exe?profile=xxx
NIDS
Monitor sees a copyof incoming/outgoing HTTP traffic
8. 200 OKOutput of bin/amazeme
11
12
7
Làm thế nào để phát hiện?
• Giải pháp 2: sử dụng HIDS (Host-based IDS)Kiểm tra giá trị truyền cho đối số
Phát hiện tấn công nếu đối số chứa “/etc/passwd” và/hoặc “../../”
• Ưu điểm?
• Hạn chế?
13
GP2: Sử dụng HIDS
14
Internet
profile=xxxRemote client
6. Output of bin/amazeme sent back
bin/amazeme -p xxx
FooCorp’s border router
FooCorp Servers
Front-end web server
4. amazeme.exe?
HIDS instrumentationadded inside here
13
14
8
Làm thế nào để phát hiện?
• Giải pháp 3: quét, phân tích định kỳ file nhật ký (log file) của hệ thốngƯu điểm
Nhược điểm
• Giải pháp 4: giám sát các lời gọi hệ thống từ web serverƯu điểm
Nhược điểm
15
Cấu trúc chung của IDPS
16
15
16
9
Cấu trúc chung của IDPS (tiếp)
• Bộ cảm biến (Sensor): thu thập dữ liệu từ hệ thống được giám sát.
• Bộ phát hiện : Thành phần này phân tích và tổng hợp thông tin từ dữ liệu thu được của bộ cảm biến dựa trên cơ sở tri thức của hệ thống
• Bộ lưu trữ : Lưu trữ tất cả dữ liệu của hệ thống IDS, bao gồm: dữ liệu của bộ cảm biến, dữ liệu phân tích của bộ phát hiện, cơ sở tri thức, cấu hình hệ thống … nhằm phục vụ quá trình hoạt động của hệ thống IDS.
• Bộ phản ứng : Thực hiện phản ứng lại với những hành động phát hiện được.
• Giao diện người dùng
17
Các bước thực hiện của IDPS
• Bước 1: Cài đặt, cấu hình hệ thống
18
17
18
10
Các bước thực hiện của IDPS
• Bước 2: Thu thập thông tin từ sensor
19
Các bước thực hiện của IDPS
• Bước 3: Phát cảnh báo nếu phát hiện hành vi tấn công
20
19
20
11
Các bước thực hiện của IDPS
• Bước 4: Phản ứng ban đầu(chặn dừng, điều hướng, ghi nhận…)
21
Các bước thực hiện của IDPS
• Bước 5: Quản trị viên đánh giá tình huống
22
21
22
12
Các bước thực hiện của IDPS
• Bước 6: Phản ứng toàn diện với tấn công
23
Các bước thực hiện của IDPS
• Bước 7: Đánh giá toàn diện sau tấn công, cập nhật, tùy chỉnh hệ thống
24
23
24
13
2. CÁC KIẾN TRÚC CỦA IDPS
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
25
2.1. NETWORK-BASED IDPS
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
26
25
26
14
Network-based IDPS (NIDPS)
• Chức năng: Thu thập và giám sát lưu lượng mạng dựa trên việc triển khai sensor tại nhiều điểm khác nhau trong mạngSensor có thể là các thiết bị có khả năng phân tích, tổng hợp và
thống kê thông tin lưu lượng
Sensor phần mềm cài đặt trên một số nút mạng nhất định
• Các loại sensor sử dụng cho NIDPS:Sensor nội tuyến(Inline sensor): đặt tại các vị trí mà lưu lượng
mạng bắt buộc phải đi qua
Sensor thụ động (Passive sensor): có thể sao chép lưu lượng mạng không bắt buộc lưu lượng mạng phải đi qua
27
Inline Sensor và passive sensor
Inline Sensor Passive sensor
28
27
28
15
Bố trí NIDPS sensor trên mạng
29
Sensor sau firewall, trong DMZ cho phép phát hiện tấn công:- Xuất phát từ bên ngoài- Tới các nút mạng trong DMZ- Xuất phát từ trong DMZ
Sensor trên phân vùng backbone:- Phát hiện tấn công ngay tại các phân vùng bên trong- Phát hiện các hành vi vượt quyền truy cập của người dùng
Sensor trên phân vùng nhạy cảm:- Phát hiện tấn công tới các nút mạng quan trọng- Tập trung bảo vệ những tài nguyên quan trọng nhất khi chi phí bị hạn chế
Tính năng của NIDPS
• Phân tích lưu lượng mạngCó thể trích xuất các đối tượng dữ liệu trong lưu lượng
• Phân tích các dấu hiệu, hành vi:Phát hiện các dạng tấn công đã biết
Các nguồn tấn công đã biết
Hoạt động của malware
Chuỗi và mẫu các hành vi, trạng thái
• Shadow execution
• Ghi nhật ký
30
29
30
16
Thu thập thông tin cho NIDPS
Từ giao thức SNMP
• Simple Network Management Protocol
• Cung cấp thông tin thống kê về lưu lượng mạng:Theo cổng giao tiếp
Theo giao thức
• Đặc điểm:SNMP đã được cài đặt sẵn trên các thiết bị mạng sensor thu
thập thông qua lời gọi các thủ tục SNMP
Thông tin đã được thống kê và chuẩn hóa giảm chi phí tính toán cho NIDPS
31
Thu thập thông tin cho NIDPS
Bắt và phân tích lưu lượng mạng theo từng gói tin đơn lẻ, hoặc theo luồng:
• Có thể cung cấp các thông tin chi tiết về lưu lượng mạng
• Cách thức thu thập đơn giản
• Phạm vi thu thập giới hạn trong phân vùng mạng đặt sensor
• Khó khăn: phải lựa chọn bộ đặc trưng phù hợp cho từng phương pháp phát hiện
32
31
32
17
Các đặc trưng lưu lượng mạng
• Thông tin phần tiêu đề trong các gói tin
33
Number Feature Description Number Feature Description
1 Ethernet Size 10 IP Source
2 Ethernet Destination 11 IP Destination
3 Ethernet Source 12 TCP Source Port
4 Ethernet Protocol 13 TCP Destination Port
5 IP header Length 14 UDP Source Port
6 IP Type of Service 15 UDP Destination Port
7 IP Length 16 UDP Length
8 IP Time To Live 17 ICMP Type
9 IP Protocol 18 ICMP Code
Các đặc trưng lưu lượng mạng
• Các đặc trưng từ kết nối TCP
34
Number Feature Description19 Source IP20 Destination IP21 Duration of Connection22 Connection Starting Time23 Connection Ending Time25 Number of packets sent from Source to Destination26 Number of packets sent from Destination to Source27 Number of data bytes sent from Source to Destination28 Number of data bytes sent from Destination to Source29 Number of Fragmented packets30 Number of Overlapping Fragments31 Number of Acknowledgement packets32 Number of Retransmitted packets33 Number of Pushed packets34 Number of SYN packets Number of FIN packets35 Number of TCP header Flags36 Number of Urgent packets
33
34
18
Các đặc trưng lưu lượng mạng
• Các đặc trưng thống kê:Trong cửa sổ thời gian (t gần nhất): phát hiện các kỹ thuật tấn
công diễn ra trong thời gian ngắn
Trong cửa sổ kết nối (k kết nối mới nhất): phát hiện các kỹ thuật tấn công diễn ra trong thời gian dài
35
Number Feature Description
37No. of unique connections used by the same SrcIP as the current record
38No. of unique connections used by the same SrcIP on the same Dst- Port as the current record
39No. of unique connections used by the same SrcIP on different Dst- Port as the current record
40No. of unique connections used by the same SrcIP as the current record that have SYN flag
Các đặc trưng lưu lượng mạng
• Các đặc trưng thống kê
36
Number Feature Description
41No. of unique connections used by the same SrcIP as the current record that have RST flag
42No. of unique connections that use the same DstIP as the current record
43No. of unique connections that use the same DstIP on the same Dst- Port as the current record
44No. of unique connections that use the same DstIP on different Dst- Port as the current record
45No. of unique connections that use the same DstIP as the current record that have SYN flag
46No. of unique connections that use the same DstIP as the current record that have RST flag
35
36
19
Các đặc trưng lưu lượng mạng
• Các đặc trưng thống kê
37
Number Feature Description
47No. of unique Ports used by the same SrcIP to connect on the same DstIP and the same DstPort as the current record
48No. of unique Ports opened on the sane DstIP by the same SrcIP as the current record
49No. of unique connections that use the same service as the current packet
50No. of unique connections that use the same service and have different DstIP as the current packet
51No. of unique connections that use the same service as the current packet that have SYN flag
52No. of unique connections that use the same service as the current packet that have RST flag
NIDPS
• Ưu điểm:Kiểm soát được toàn bộ hoặc phần lớn hệ thống mạng với yêu cầu
số lượng ít các sensor cần triển khai
Trong hầu hết các trường hợp, NIDPS sensor hoạt động ở chế độ thụ động ít gây ảnh hưởng tới hoạt động của mạng
Khó bị phát hiện bởi kẻ tấn công, chịu lỗi tốt
• Nhược điểm:Lượng thông tin phải xử lý lớn
Không phân tích được các thông tin được mã mật
Tính chính xác thấp
38
37
38
20
Vượt qua kiểm soát của NIDPS
• Giải sử IDPS được cấu hình để xác định lưu lượng chứa từ khóa ‘attack’ là lưu lượng tấn công
• Phương pháp: quét nội dung từng gói tin chứa từ khóa Thuật toán: Boyer-Moore, bộ lọc Bloom…
• Tuy nhiên…TCP truyền theo byte-stream, biên của dữ liệu không xác định
Phân mảnh gói tin IP
Lưu lượng tấn công được phân chia vào nhiều gói tin
39
…..…attack………………………….
…………..…at tack……………..
Vượt qua kiểm soát của NIDPS
40
Internet
Dữ liệu được xử lý tại mục tiêu:
Lưu lượng NIDPS quan sát được:
Lưu lượng tấn công
NIDS
Target
A T T A I C K
Cùng TCP seq #hoặc cùng IP frag offset
A T T A I C K
A T T A I C K
NIDPS không biết dữ liệu được xử lý như thế nào tại mục tiêu cần bảo vệ
Gửi các gói tin TCP có cùng Seq# hoặc mảnh tin IP có cùng giá trị offset
39
40
21
Giải quyết
• Tập hợp các gói tin trên toàn bộ luồng TCP:Lưu vào bộ đệm các gói tin không đúng thứ tự
Sắp xếp theo thứ tự
Ráp các gói tin thành dữ liệu ban đầu
• Khó khăn:Phải kiểm soát trạng thái
Nhạy cảm với tấn công khi kẻ tấn công gửi lượng lớn các gói tin TCP rời rạc
41
Vượt qua kiểm soát của NIDPS• Sử dụng TTL của gói tin IP nhỏ(Short TTL attack)
• Giả sử số hop từ nguồn tấn công tới IDPS là H1, tới mục tiêu là H2>H1(Bằng cách nào kẻ tấn công biết điều này?)
• Chèn vào các gói tin có H1 < TTL < H2 làm nhiễu lưu lượng tấn công
42
a
t
r
a
c
k
u
t
NIDPS(H1= 20) Target(H2 = 25)
Seq=1,TTL = 27 a
t
r
a
c
k
u
t
a
t
a
c
k
t
Seq=2,TTL = 27
Seq=3,TTL = 22
Seq=3,TTL = 27
Seq=4,TTL = 22
Seq=4,TTL = 27
Seq=5,TTL = 27
Seq=6,TTL = 27
Giải quyết?
41
42
22
2.2. HOST-BASED IDPS
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
43
Host-based IDPS (HIDPS)
• Chức năng: thu thập và phân tích thông tin để phát hiện tấn công trên nút mạng cụ thể:Lưu lượng đến và đi
Trạng thái của hệ thống: các tiến trình, quản lý tài nguyên, truy cập file, log, thay đổi cấu hình…
Hoạt động và trạng thái của các ứng dụng
• Mô hình tập trung:Sensor đặt trên các nút mạng để thu thập thông tin
HIDPS Server: phân tích thông tin do sensor thu thập và phát cảnh báo tới nút mạng
• Mô hình phân tán: sensor và HIDPS triển khai trên cùng nút mạng
44
43
44
23
Triển khai HIDPS
45
HIDPS tập trung và HIDPS phân tán
Tập trung Phân tán
46
Sensor Server
45
46
24
Tính năng của HIDPS
• Quét, rà soát, giám sát lưu lượng tới và đi
• Phát hiện các hành vi tấn công đã biết
• Lập hồ sơ các đối tượng tương tác với nút mạng
• Tạo môi trường thực thi sandbox
• Quét rà soát hệ thống file
• Quét rà soát bộ nhớ chính
• Phân tích các hoạt động, hành vi của tiến trình
47
HIDPS
• Ưu điểm:Phân tích được các hành vi ngay trên mục tiêu khó bị các kỹ
thuật tấn công “qua mặt”
Kiểm soát toàn diện lưu lượng đến và đi
Chống lại các nguy cơ tấn công từ bên trong nút mạng(malware)
Thông tin phong phú từ log
• Hạn chếSố lượng sensor tăng theo số lượng các nút cần giám sát
Có thể xuất hiện các lỗ hổng bảo mật từ chính HIDPS tăng nguy cơ cho nút mạng
Khả năng tương tác với các HIDPS khác là hạn chế
Có thể làm giảm hiệu năng hoạt động của nút mạng
48
47
48
25
2.3. KIẾN TRÚC LAI
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
49
Kiến trúc lai – Hybrid IDPS
• Kết hợp NIDPS và HIDPS
• Kiến trúc tập trung:Chi phí thấp, dễ dàng quản
trị
Hạn chế: khó phát hiện và đáp ứng theo thời gian thực
Phù hợp với mạng cỡ nhỏ và vừa
50
49
50
26
Kiến trúc lai – Hybrid IDPS
51
Kiến trúc phân tán hoàn toàn:
• Triển khai mỗi IDPS cho một phân vùng mạng
• Phát hiện và phản ứng nhanh chóng với các tấn công xảy ra trong từng phân vùng
• Hạn chế:Khó kiểm soát tấn công xảy
ra trên diện rộng do không có tương tác giữa các IDPS
Chi phí cao
Kiến trúc lai – Hybrid IDPS
52
Kiến trúc phân cấp
• Subnet IDPS cho mỗi phân vùng, đảm bảo phát hiện và phản ứng nhanh khi có tấn công xảy ra trong phân vùng đó
• Main IDPS giám sát cho toàn bộ mạng, phát hiện các tấn công xảy ra trên diện rộng
• Main IDPS có thể thu thập các báo cáo từ subnet IDPS
51
52
27
3. CƠ SỞ LÝ THUYẾT VỀ PHÁT HIỆN XÂM NHẬP
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
53
Mô hình toán học
• Sử dụng mô hình xác suất thống kê
• Ω: Tập các sự kiện có thể xảy ra trên hệ thống
• I: Tập các sự kiện tấn công.
• Xác suất tấn công Pr(I) = |I| / |Ω|
• A: Tập các cảnh báo tấn công
• Xác suất cảnh báo: Pr(A) = |A| / |Ω|
54
Ω
Không cảnh báo đúng(True Negative):
¬(A ∪ I)
Có cảnh báo sai (False Positive):
A ∩ ¬I
AI
Không cảnh báo sai(False Negative):
¬A ∩ I
Có cảnh báo đúng (True Positive):
A ∩ I
53
54
28
Xác suất phát hiện• Xác suất phát hiện được:
TPR = Pr A I = Pr (A ∩ I)
Pr (I)
• Xác suất không phát hiện được:FNR = Pr(¬A|I) = 1 − Pr(A|I)
• Ví dụ: |Ω| = 1.000.000, |I| = 20
|A| = 22, |A ∩ I| = 18
55
I A
18 4
2
Xác suất phát hiện
• Xác suất phát hiện được các URL độc hại của IPDS sau là bao nhiêu?void my_detector_that_never_misses(char *URL){
printf(“yep, it's an attack!\n”);}
• TPR = 100%, FNR = 0% (Woo-hoo!)
• Điều gì đã sai ở đây, khi chỉ dùng TPR để đánh giá?
56
55
56
29
Xác suất phát hiện
• Xác suất cảnh báo đúng
• Xác suất phát hiện nhầm: FPR = Pr (�|¬�)
• Tính xác suất cảnh báo đúng và FPR cho các ví dụ trước
• Tính FPR cho IDPS sau:
void my_detector_that_never_mistakes(char *URL){
printf(“nope, not an attack!\n”);}
57
Pr I A = Pr (A ∩ I)
Pr (A)
Xác suất phát hiện
Pr A = Pr I × Pr A I + Pr(¬I) × Pr (A|¬I)Pr A ∩ I = Pr (I) × Pr (A|I)
58
57
58
30
Xác suất phát hiện
Pr I A =Pr (I) × Pr (A|I)
Pr I × Pr A I + Pr(¬I) × Pr (A|¬I)
Ví dụ
59
Pr � = 2 × 10��
Với hệ thống có Pr(A|I) = 1, nếu FPR ≈ 10-5 thì Pr(I|A) ≈ 66%Nếu Pr(A|I) = 0.7 thì Pr(I|A) ≈ 58%
Tỉ lệ cảnh báo đúng rất thấp nếu hệ thống ít bị tấn công
Đường cong ROC
• Receiver Operating Curve: đánh giá sự chính xác của dự đoán khi thay đổi các tham số trong phân loại nhị phân
60
Hành vi bình thường
Hành vi tấn công
59
60
31
Độ chính xác của IDPS
• Pr (A|I) là một hàm đồng biến với đối số là FPR
• Hay nói cách khác, FNR = 1 − Pr (�|�) là hàm nghịch biến với đối số là FPR
• Ví dụ: Pr � = 2 × 10��
61
IDPS có khả năng phát hiện 80% hành vi tấn công sẽ phát
sinh ~40% cảnh báo sai
Độ chính xác của IDPS
• Cần cân bằng giữa FPR và FNR
• Nên lựa chọn hệ thống có FPR thấp hay FNR thấp?Phụ thuộc vào sự mức độ thiệt hại của hệ thống với mỗi dạng lỗi
xảy ra và chi phí để khắc phục
Phụ thuộc vào tỉ lệ tấn công trên thực tế
• Ví dụ: Giả sử hệ thống có FPR = 0.1% và FNR = 2%Trường hợp 1: mỗi ngày hệ thống có 1000 truy cập, trong đó có 5
truy cập là tấn công:
Cảnh báo nhầm: 995 x 0.1% ~ 1 cảnh báo/1 ngày
Bỏ sót: 5 x 2% ~ 0.1 (bỏ sót <1 tấn công/1 tuần)
Trường hợp 2: 1.000.000 truy cập mỗi ngày, trong đó 5 truy cập là tấn công:
Cảnh báo nhầm: 999995 x 0.1% ~ 1000 cảnh báo /1 ngày
62
61
62
32
VD: Lựa chọn độ chính xác của IDPS
• Giả sử một công ty trang bị hệ thống IDPS để phát hiện các hành vi tấn công vào hệ thống mạng
• Trung bình, hệ thống hiện tại cảnh báo nhầm 20 truy cập trong mỗi tháng, và không phát hiện được 1 tấn công trong mỗi 6 tháng
• Mỗi lần hệ thống bị tấn công, đội ngũ kỹ thuật cần 4 giờ để khôi phục hoạt động nếu mục tiêu là các máy trạm thông thường và 10 giờ nếu mục tiêu là các máy chủ (chiếm 0.5% số nút mạng)
• Để giải quyết 1 cảnh báo nhầm, cần 0.25 giờ đồng hồ
63
VD: Lựa chọn độ chính xác của IDPS
1. Tính tổng thời gian mỗi năm để xử lý sự cố
2. Điều chỉnh các tham số để hệ thống IDPS chỉ bỏ qua 1 tấn công trong mỗi năm, nhưng làm tăng số cảnh báo sai lên 5 lần. Tính tổng thời gian mỗi năm để xử lý sự cố
3. Giả sử, khi hệ thống bị tấn công, đội ngũ kỹ thuật mất 100 giờ để điều tra trên máy chủ, 5 giờ để điều tra trên máy trạm. Xác định tổng thời gian mỗi năm để xử lý sự cố
64
63
64
33
4. CÁC PHƯƠNG PHÁP PHÁT HIỆN TẤN CÔNG
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
65
Phát hiện dựa trên dấu hiệu
• Attack Signature-based detection
• Sử dụng các thông tin đã biết về các kỹ thuật tấn côngMã khai thác tấn công, giá trị đầu vào…
Nội dung của các gói tin…
• Ví dụ: Snort rule
• Nguồn thông tin tham khảo đặc trưng của các dạng tấn công: http://www.securityfocus.com/bid
66
alert tcp $EXTERNAL_NET any -> $HOME_NET (msg:"EXPLOIT x86 linux samba overflow”, flow: to_server, established, content:”|eb2f 5feb 4a5e 89fb 893e 89f2|”, reference: bugtraq, reference: CVE-1999-0811, classtype: attempted-admin; sid:1497; rev:6)
65
66
34
Phát hiện dựa trên dấu hiệu
• Ưu điểm:Triển khai đơn giản
Có thể chia sẻ CSDL về dấu hiệu của các dạng tấn công
Xác suất phát hiện nhầm thấp
• Hạn chế:Chỉ phát hiện được các kỹ thuật tấn công đã biết
Cần cập nhật CSDL thường xuyên kích thước CSDL tăng giảm hiệu năng
Dấu hiệu xác định dựa trên cú pháp, thay vì dựa trên ngữ nghĩa có thể bị vượt qua(bypass)
67
Phát hiện dựa trên lỗ hổng
• Vulnerability Signature-based detection
• Sử dụng các thông tin đặc trưng về dạng lỗ hổng đã biết
• Cho phép phát hiện những tấn công cùng dạng
• Giảm kích thước CSDL dấu hiệu
• Hạn chế:Có thể bị vượt qua
Không dễ để xác định dấu hiệu
68
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-MISC cross site scripting attempt";
flow:to_server,established; content:"<SCRIPT>"; nocase; classtype:web-application-attack; sid:1497; rev:6;)
67
68
35
Phát hiện dựa trên bất thường
• Anomaly-based detection
• Ý tưởng: Khi tấn công xảy ra, hệ thống xuất hiện những đặc điểm khác thường
• Thực hiện:Xây dựng mô hình các hành vi, trạng thái khi hệ thống hoạt động
bình thường
Phát hiện và đo lường các hành vi, trạng thái nằm ngoài mô hình
• Ưu điểm: có thể phát hiện được các dạng tấn công chưa biết
69
Phát hiện dựa trên bất thường
Phát hiện dựa trên ngưỡng(threshold-based)
• Thiết lập các giá trị giới hạn cho một số đặc điểm của hệ thống (CPU Usage, RAM usage, số kết nối…)
• Phát hiện tấn công nếu các giá trị quan sát được vượt ngưỡng
• Có thể phối hợp nhiều đặc điểm, ngưỡng
• Hạn chế:Độ chính xác thấp: tỉ lệ FPR, FNR phụ thuộc vào giá trị ngưỡng
70
alert tcp !$HOME_NET any -> $HOME_NET 80 (flags: S; msg:"Possible TCP DoS"; flow: stateless; threshold: type both, track by_src, count 70, seconds 10; sid:10001;rev:1;)
69
70
36
Phát hiện dựa trên bất thường
Phát hiện dựa trên hành vi(Behavioral-based)
• Giám sát chuỗi các hành vi, hoạt động trên hệ thống
• Ví dụ:Xác định chuỗi các lời gọi hệ thống phát sinh việc thực thi chương
trình: read(), open(), write(), fork(), exec()…
Chuỗi các truy vấn SQL được thực hiện
• Ưu điểm: Độ chính xác cao
• Hạn chế:Khó xây dựng mô hình, có thể gây bùng nổ tổ hợp với các hệ
thống phức tạp
Có ít khả năng ngăn chặn
71
Các kỹ thuật xây dựng mô hình phát hiện dựa trên bất thường
• Mô hình toán học:Giả sử có tập các bộ giá trị (x1, y1), (x2, y2)…,(xn, yn)
Yêu cầu: Ước lượng giá trị y* nếu biết x* {x1, x2, …, xn}
• Sử dụng các kỹ thuật học máy (machine learning)
• Học có giám sát:B1: Thu thập tập huấn luyện trong đó dữ liệu đã được gán nhãn
B2: Lựa chọn thuật toán phân lớp học tập huấn luyện. Các thuật toán điển hình: SVM, K Nearest Neighbours, Naïve Bayes, mạng nơ-ron
B3: Sử dụng tập kiểm tra đã được gán nhãn trước để kiểm tra tính đúng đắn của thuật toán phân lớp ở B2
B4: Hiệu chỉnh thuật toán và lặp lại từ B2.
72
71
72
37
Các kỹ thuật xây dựng mô hình phát hiện dựa trên bất thường• Học không giám sát:
B1: Thu thập tập huấn luyện, trong đó dữ liệu chưa được gán nhãn
B2: Sử dụng các thuật toán phân lớp để học tập dữ liệu. Các thuật toán điển hình: SOM, K-means, HAC…
B3: Sử dụng tập kiểm tra, trong đó dữ liệu đã được gán nhãn để đánh giá tính đúng đắn của B2.
B4: Hiệu chỉnh thuật toán và lặp lại bước 2
• Học bán giám sát: sử dụng tập huấn luyện gồm cả dữ liệu được gán nhãn và không được gán nhãnThuật toán: Expectation Maximization, Transductive SVM
• Chi tiết:Mr. Trần Quang Đức: [email protected]
Mr. Trần Hải Anh: [email protected]
73
73