BÀI 9.CÁC HỆ THỐNG PHÒNG CHỐNG 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 • Tổng quan về phòng chống và phát hiệ
Trang 1BÀI 9.
CÁC HỆ THỐNG PHÒNG CHỐNG
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
• Tổng quan về phòng chống và phát hiện tấn công
• Hệ thống phát hiện tấn công (IDS)
• Hệ thống ngăn chặn tấn công (IPS)
• Tường lửa
2
Trang 21 ĐẶT VẤ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
Vấn đề phát hiện tấn công
• Không thể tạo ra một hệ thống hoàn toàn an toàn bảo mật
• Giải pháp chung: phát hiện và ngăn chặn các hành vi tấn
công, khai thác lỗ hổng an toàn bảo mật
Bao gồm cả vấn đề phục hồi sau tấn công, truy vết tấn công, ngăn
chặn tấn công kế tiếp
Bảo vệ đa tầng (Defense in depth)
Chú ý: khai thác lỗ hổng đối với cả tài nguyên cũng như chính sách
an toàn bảo mật
• Các vấn đề:
Không có mô hình cụ thể và các nguyên lý để giải quyết
Rất nhiều vấn đề khi triển khai (vị trí giám sát, phát hiện các lỗ
hổng thể nào, độ chính xác, khả năng vượt qua của kẻ tấn công)
Trang 3Mộ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
5
Kịch bản truy cập
6
Internet
Remote client
FooCorp’s border router
FooCorp Servers
Front-end web server
4 amazeme.exe?
profile= xxx
5 bin/amazeme -p xxx
1 http://foocorp/amazeme.exe?profile=xxx
2 GET /amazeme.exe?profile=xxx
3 GET /amazeme.exe?profile=xxx
2 GET /amazeme.exe?profile=xxx
Trang 4Kịch bản truy cập
7
Internet
Remote client
FooCorp’s border router
FooCorp Servers
Front-end web server
5 bin/amazeme -p xxx
7 200 OK Output of bin/amazeme
6 Output of bin/amazeme sent back
8 200 OK Output of bin/amazeme
9 200 OK
Output 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
Kết quả trả về chứa các thông tin nhạy cảm
Trang 5Làm thế nào để phát hiện?
• Cách thức 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ế?
9
GP1: Sử dụng NIDS
10
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 copy
of incoming/outgoing HTTP traffic
8 200 OK Output of bin/amazeme
Trang 6Là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ố
• Ưu điểm?
• Hạn chế?
11
GP2: Sử dụng HIDS
Internet
profile= xxx
Remote 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 instrumentation added inside here
Trang 7Làm thế nào để phát hiện?
• Giải pháp 3: sử dụng các tiện ích quét đị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
• Nhận xét chung về các giải pháp: gặp 1 trong 2 vấn đề
lớn
Chính xác
Kịp thời
13
Giải pháp tốt hơn
• Thay vì phát hiện tấn công, hãy tìm cách ngăn chặn
• Quét lỗ hổng: thực hiện các tấn công lên chính tài nguyên
cần bảo vệ, qua đó phát hiện các lỗ hổng ATBM tồn tại
trên hệ thống
• Ưu điểm?
• Nhược điểm?
14
Trang 82 HỆ THỐNG PHÁT HIỆN TẤN
CÔNG (IDS)
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
15
Khái niệm cơ bản
• IDS-Intrusion Detection System: Là hệ thống có khả năng
theo dõi, giám sát, phát hiện và (có thể) 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:
Chính xác
Kịp thời
Khả năng chịu lỗi cao
Trang 9Kiến trúc chung
17
Kiến trúc chung (tiếp)s
• 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
18
Trang 10Tính chính xác
• Đánh giá qua 2 giá trị:
FPR (False Positive Rate): tỉ lệ phát hiện nhầm
FNR (False Negative Rate): tỉ lệ bỏ sót
• I: sự kiện có tấn công xảy ra
• A: sự kiện hệ thống IDS phát ra cảnh báo
• FPR = P(A | not I)
• FNR = P(not A | I)
19
FNR = 0 hay FPR = 0 ?
• Trong ví dụ về công ty FooCorp, để phát hiện các URL độc
hại:
void my_detector_that_never_misses(char *URL)
{
printf("yep, it's an attack!\n");
}
Nhận xét: FNR = 0 (Woo-hoo!)
• Để FPR = 0
void my_detector_that_never_mistakes(char *URL)
{
printf(“nope, not an attack!\n");
}
Trang 11Tính chính xác (tiếp)
• 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
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:
Phát hiện nhầm: 995 x 0.1% ~ 1 truy cập hợp lệ/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:
Phát hiện nhầm: 999995 x 0.1% ~ 1000 truy cập hợp lệ/1 ngày
21
Phát hiện lạm dụng(misuse detection)
• Đặc điểm: sử dụng dữ liệu về các dạng tấn công đã biết
Phát hiện dựa trên dấu hiệu (signature-based)
Phát hiện dựa trên lỗ hổng (vulnerability signature)
• Ưu điểm?
• Nhược điểm?
22
Trang 12Phát hiện bất thường(anomaly detection)
• Đặc điểm: xây dựng mô hình các hành vi bình thường
Đánh dấu nghi ngờ và đo lường các hành vi nằm ngoài
mô hình
Phát hiện dựa trên ngưỡng (threshold-based)
Phát hiện dựa trên đặc điểm (specification-based)
Phát hiện dựa trên hành vi (behavioral-based)
• Ưu điểm?
• Nhược điểm?
23
NIDS và HIDS
• NIDS: Network-based IDS
• Một số thành phần chức năng trong bộ phát hiện:
Bộ phân tích giao thức
Bộ phân tích dấu hiệu: phát hiện các dạng tấn công đã biết
Shadow execution
Trình ghi nhật ký
• Ưu điểm
• Nhược điểm
Trang 13NIDS và HIDS (tiếp)
• Host-based IDS
• Một số thành phần của bộ phát hiện:
Bộ quét gói tin
Bộ quét file
Bộ quét bộ nhớ chính
Phân tích thời gian thự
Sandbox execution
• Ưu điểm?
• Nhược điểm?
25
2 HỆ THỐNG TƯỜNG LỬA
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
Trang 14Khái niệm cơ bản
• Firewall: hệ thống ngăn cách giữa một số vùng tài nguyên
và phần còn lại
Điển hình: mạng nội bộ (intranet) và mạng công cộng (Internet)
• Kiểm soát truy cập vào tài nguyên:
Dịch vụ
Người dùng
Hành vi
• Chú ý: tường lửa không thể kiểm soát các truy cập ở bên
trong
27
Thể hiện qua chính sách
Bộ lọc gói
• Là hình thức đơn giản nhất của tường lửa
• Kiểm soát truy cập dựa trên các thông tin trên phần tiêu
đề:
Địa chỉ IP
Cổng dịch vụ
Giao thức
Các cờ trạng thái
• Điển hình: ACL-Access Control List
• Hạn chế: VPN, SSL/TLS
Trang 15• Hoạt động trên tầng ứng dụng
• Tăng cường kiểm soát dữ liệu của các dịch vụ
• Hạn chế: làm tăng trễ, phức tạp
29
client
Proxy server
client
Web server
Các mô hình chính
• Screening host
30
Trang 16Dual home host
31
Screening subnet