You are on page 1of 37

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

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
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

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
2
4
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

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ông
 Tườ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
3
6
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

Kịch bản truy cập

2. GET /amazeme.exe?profile=xxx

Internet
FooCorp
FooCorp’s Servers
border router

3. GET /amazeme.exe?profile=xxx

Front-end web server


4. amazeme.exe?
profile=xxx
Remote client
1. http://foocorp/amazeme.exe?profile=xxx 5. bin/amazeme -p xxx
2. GET /amazeme.exe?profile=xxx 8
4
8
Kịch bản truy cập

8. 200 OK
Output of bin/amazeme

Internet
FooCorp
FooCorp’s Servers
border router
7. 200 OK
Output of bin/amazeme

Front-end web server

6. Output of bin/amazeme sent back


Remote client
9. 200 OK
Output of bin/amazeme
5. bin/amazeme -p xxx

10. Trình duyệt hiển thị 9

Thực thi một hành vi tấn công


• http://foocorp.com/amazeme.exe?profile=../../../../../etc/passwd

Kết quả trả về


chứa các thông tin
nhạy cảm

10
5
10
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

11

GP1: Sử dụng NIDS


2. GET /amazeme.exe?profile=xxx

8. 200 OK
Output of bin/amazeme

Internet
Monitor sees a copy
FooCorp
FooCorp’s of incoming/outgoing Servers
HTTP traffic
border router

Front-end web server

Remote client NIDS

bin/amazeme -p xxx
12
6
12
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

13

GP2: Sử dụng HIDS

Internet
FooCorp
FooCorp’s Servers
border router

HIDS instrumentation Front-end web server


added inside here
4. amazeme.exe?
profile=xxx
Remote client
6. Output of bin/amazeme sent back
bin/amazeme -p xxx

14
7
14
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

15

Cấu trúc chung của IDPS

16
8
16
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

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
9
18
Các bước thực hiện của IDPS
• Bước 2: Thu thập thông tin từ sensor

19

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
10
20
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

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
11
22
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

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
12
24
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

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
13
26
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ạng
 Sensor 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

27

Inline Sensor và passive sensor


Inline Sensor Passive sensor

28
14
28
Bố trí NIDPS sensor trên mạng
Sensor trên phân vùng
Sensor sau firewall, trong DMZ nhạy cảm:
cho phép phát hiện tấn công: - Phát hiện tấn công tới
- Xuất phát từ bên ngoài các nút mạng quan trọng
- Tới các nút mạng trong DMZ - Tập trung bảo vệ những
- Xuất phát từ trong DMZ tài nguyên quan trọng nhất
khi chi phí bị hạn chế
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

29

29

Tính năng của NIDPS


• Phân tích lưu lượng mạng
 Có 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
15
30
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

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
16
32
Các đặc trưng lưu lượng mạng
• Thông tin phần tiêu đề trong các gói tin

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

33

33

Các đặc trưng lưu lượng mạng


• Các đặc trưng từ kết nối TCP
Number Feature Description
19 Source IP
20 Destination IP
21 Duration of Connection
22 Connection Starting Time
23 Connection Ending Time
25 Number of packets sent from Source to Destination
26 Number of packets sent from Destination to Source
27 Number of data bytes sent from Source to Destination
28 Number of data bytes sent from Destination to Source
29 Number of Fragmented packets
30 Number of Overlapping Fragments
31 Number of Acknowledgement packets
32 Number of Retransmitted packets
33 Number of Pushed packets
34 Number of SYN packets Number of FIN packets
35 Number of TCP header Flags
36 Number of Urgent packets 34
17
34
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
Number Feature Description
No. of unique connections used by the same SrcIP as the
37
current record
No. of unique connections used by the same SrcIP on the
38
same Dst- Port as the current record
No. of unique connections used by the same SrcIP on
39
different Dst- Port as the current record
No. of unique connections used by the same SrcIP as the
40
current record that have SYN flag
35

35

Các đặc trưng lưu lượng mạng


• Các đặc trưng thống kê
Number Feature Description
No. of unique connections used by the same SrcIP as the
41
current record that have RST flag
No. of unique connections that use the same DstIP as the
42
current record
No. of unique connections that use the same DstIP on the
43
same Dst- Port as the current record
No. of unique connections that use the same DstIP on
44
different Dst- Port as the current record
No. of unique connections that use the same DstIP as the
45
current record that have SYN flag
No. of unique connections that use the same DstIP as the
46
current record that have RST flag
36
18
36
Các đặc trưng lưu lượng mạng
• Các đặc trưng thống kê
Number Feature Description
No. of unique Ports used by the same SrcIP to connect on
47
the same DstIP and the same DstPort as the current record
No. of unique Ports opened on the sane DstIP by the same
48
SrcIP as the current record
No. of unique connections that use the same service as the
49
current packet
No. of unique connections that use the same service and
50
have different DstIP as the current packet
No. of unique connections that use the same service as the
51
current packet that have SYN flag
No. of unique connections that use the same service as the
52
current packet that have RST flag
37

37

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
19
38
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…

…..…attack………………………….
• 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

…………..…at tack……………..

39

39

Vượt qua kiểm soát của NIDPS


Gửi các gói tin TCP có cùng Seq# hoặc mảnh tin IP có cùng
giá trị offset Lưu lượng NIDPS quan sát được:

A T T A I C K

NIDS

Internet Target

Lưu lượng tấn công Dữ liệu được xử lý tại mục tiêu:

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ý


Cùng TCP seq # như thế nào tại mục tiêu cần bảo vệ
hoặc cùng IP frag offset
40
20
40
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

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
a Seq=1,TTL = 27 a a
Seq=2,TTL = 27 Giải
t t t
Seq=3,TTL = 22 quyết?
r r
Seq=3,TTL = 27
t t t
Seq=4,TTL = 22
u u
Seq=4,TTL = 27
a a a
Seq=5,TTL = 27
c c c
Seq=6,TTL = 27
k k k
NIDPS(H1= 20) Target(H2 = 25)
42
21
42
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

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
22
44
Triển khai HIDPS

45

45

HIDPS tập trung và HIDPS phân tán


Tập trung Phân tán

Sensor Server

46
23
46
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

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
24
48
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

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
25
50
Kiến trúc lai – Hybrid IDPS
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
51

51

Kiến trúc lai – Hybrid IDPS


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

52
26
52
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

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
Không cảnh báo
• Xác suất cảnh báo: Pr(A) = |A| / |Ω| đúng(True Negative):
Không cảnh báo ¬(A ∪ I)
Ω
sai(False Negative):
¬A ∩ I I
A
Có cảnh báo sai
Có cảnh báo đúng (False Positive):
(True Positive): A ∩ ¬I
A∩I 54
27
54
Xác suất phát hiện
• Xác suất phát hiện được:
Pr(A ∩ I)
TPR = 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 18 4
|A| = 22, |A ∩ I| = 18
2
I A

55

55

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
28
56
Xác suất phát hiện
• Xác suất cảnh báo đúng
Pr(A ∩ I)
Pr I A =
Pr(A)
• 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

57

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
29
58
Xác suất phát hiện
Pr(I) × Pr(A|I)
Pr I A =
Pr I × Pr A I + Pr(¬I) × Pr(A|¬I)
Ví dụ
Pr = 2 × 10

Với hệ thống có
Pr(A|I) = 1, nếu FPR
≈ 10-5 thì Pr(I|A) ≈
66% Tỉ lệ cảnh báo đúng
Nếu Pr(A|I) = 0.7 thì
Pr(I|A) ≈ 58%
rất thấp nếu hệ
thống ít bị tấn công

59

59

Đườ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
Hành vi Hành vi
bình tấn công
thường

60
30
60
Độ 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,
IDPS có khả năng
FNR = 1 − Pr( | ) là phát hiện 80% hành
hàm nghịch biến với đối vi tấn công sẽ phát
số là FPR sinh ~40% cảnh
báo sai
• Ví dụ: Pr = 2 × 10

61

61

Độ 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
31
62
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

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
32
64
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

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ông
 Mã 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

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)

• 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
33
66
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

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
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;)

• 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
34
68
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

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
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;)

• Hạn chế:
 Độ chính xác thấp: tỉ lệ FPR, FNR phụ thuộc vào giá trị ngưỡng

70
35
70
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

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
36
72
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ãn
 Thuật toán: Expectation Maximization, Transductive SVM
• Chi tiết:
 Mr. Trần Quang Đức: ductq@soict.hust.edu.vn
 Mr. Trần Hải Anh: anhth@soict.hust.edu.vn
73

73

37

You might also like