HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ---TRẦN TUẤN ANH NGHIÊN CỨU CÁC KỸ THUẬT PHÁT HIỆN ĐỘT NHẬP MẠNG VÀ XÂY DỰNG MÔ HÌNH ỨNG DỤNG DỰA TRÊN SNORT CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN
Trang 1NGHIÊN CỨU CÁC KỸ THUẬT PHÁT HIỆN ĐỘT NHẬP MẠNG VÀ
XÂY DỰNG MÔ HÌNH ỨNG DỤNG DỰA TRÊN SNORT
LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI
2014
HÀ NỘI - 2014
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-TRẦN TUẤN ANH
NGHIÊN CỨU CÁC KỸ THUẬT PHÁT HIỆN ĐỘT NHẬP MẠNG VÀ
XÂY DỰNG MÔ HÌNH ỨNG DỤNG DỰA TRÊN SNORT
CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN
MÃ SỐ: 60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS HOÀNG XUÂN DẬU
HÀ NỘI - 2014
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của TS Hoàng Xuân Dậu, kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Hà Nội, tháng 11 năm 2013
Tác giả luận văn
Trần Tuấn Anh
Trang 4MỤC LỤC
LỜI CAM ĐOAN 1
MỤC LỤC ii
DANH MỤC TỪ VIẾT TẮT iv
DANH SÁCH HÌNH VẼ vi
DANH SÁCH CÁC BẢNG vi
MỞ ĐẦU 1
CHƯƠNG I: TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP MẠNG 2
1.1 Khái niệm tấn công đột nhập mạng 2
1.2 Các dạng tấn công 2
1.2.1 Tấn công bằng mã độc 2
1.2.2 Tấn công vào mật khẩu 2
1.2.3 Tấn công từ chối dịch vụ 3
1.2.4 Tấn công giả mạo địa chỉ, nghe trộm 3
1.2.5 Tấn công kiểu phát lại và người đứng giữa 3
1.2.6 Tấn công bằng bom thư và thư rác 3
1.2.7 Tấn công sử dụng cổng hậu 4
1.2.8 Tấn công kiểu Social Engineering 4
1.2.9 Tấn công Pharming 4
1.3 Các phương pháp phát hiện tấn công đột nhập mạng 5
1.3.1 Phát hiện tấn công đột nhập dựa trên dấu hiệu 5
1.3.2 Phương pháp phát hiện dựa trên bất thường 6
1.3.3 Phương pháp phát hiện dựa trên phân tích trạng thái giao thức 7
1.4 Các hệ thống phát hiện tấn công đột nhập mạng 8
1.4.1 Khái niệm hệ thống phát hiện xâm nhập 8
1.4.2 Chức năng của IDS 8
1.4.3 Phân loại IDS 9
1.4.4 Giới thiệu một số hệ thống IDS 13
1.5 Kết chương 15
CHƯƠNG 2: KIẾN TRÚC HỆ THỐNG VÀ CÁC KỸ THUẬT PHÁT HIỆN ĐỘT NHẬP MẠNG 17
2.1 Kiến trúc hệ thống phát hiện đột nhập mạng 17
2.1.1 Thành phần thu thập gói tin (Information collection) 17
Trang 52.1.2 Thành phần phân tích gói tin (Detection) 17
2.1.3 Thành phần phản hồi (Response) 18
2.2 Các kỹ thuật thu thập dữ liệu 18
2.2.1 Giới thiệu chung về thu thập dữ liệu 18
2.2.2 Thu thập dữ liệu cho HIDS 18
2.2.3 Thu thập dữ liệu cho NIDS 20
2.2.4 Thu thập dữ liệu dựa trên ứng dụng 22
2.2.5 Thu thập dữ liệu cho IDS tích hợp với ứng dụng 22
2.2.6 Thu thập dữ liệu lai 23
2.3 Tiền xử lý dữ liệu 23
2.4 Các kỹ thuật phát hiện đột nhập mạng 24
2.4.1 Các kỹ thuật dựa trên phương pháp phát hiện sự lạm dụng 24
2.4.2 Các kỹ thuật dựa trên phương pháp phát hiện sự bất thường 27
2.4.3 Kỹ thuật phát hiện dựa trên đặc trưng 30
2.4.4 Kỹ thuật phát hiện lai 31
2.5 Kết chương 31
CHƯƠNG 3: XÂY DỰNG MÔ HÌNH ỨNG DỤNG DỰA TRÊN SNORT 32
3.1 Giới thiệu hệ thống phát hiện xâm nhập mạng Snort 32
3.1.1 Giới thiệu chung về Snort 32
3.1.2 Kiến trúc và cơ chế hoạt động của Snort 32
3.1.3 Bộ luật của Snort 37
3.2 Xây dựng mô hình phát hiện xâm nhập Snort cho công ty PAMA 48
3.2.1 Yêu cầu của hệ thống 48
3.2.2 Giải pháp đề xuất cho hệ thống phát hiện xâm nhập 48
3.2.3 Mô hình hệ thống 49
3.2.4 Các công cụ sử dụng trong hệ thống Snort 51
3.3 Thử nghiệm một số kịch bản phát hiện xâm nhập 54
3.3.1 Mô hình thử nghiệm 54
3.3.2 Kịch bản 1 55
3.3.3 Kịch bản 2 56
3.4 Kết chương 59
KẾT LUẬN 60
TÀI LIỆU THAM KHẢO 61
Trang 6DANH MỤC TỪ VIẾT TẮT
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập NIDS Network Intrusion Detection System Hệ thống phát hiện xâm nhập cho mạng
HIDS Host Intrusion Detection System Hệ thống phát hiện xâm nhập cho máy
trạm
SMTP
Simple Network Management
Protocol Giao thức quản lý mạng đơn giản DNS Domain Name System Hệ thống tên miền
FPT File Transfer Protocol Giao thức truyền tải file
IP Internet Protocol Giao thức mạng Internet
TCP/IP
Transmission Control Protocol/
Internet Protocol Bộ giao thức Internet TCP/IP ICMP Internet Control Message Protocol Giao thức thông điệp điều khiển Internet
UDP User Datagram Protocol Giao thức gói dữ liệu người dùng
MIB Management Information Base Thông tin quản lý cơ sở
MIDAS Multics Intrusion Detection and
Alerting System
Hệ thống đa phát hiện xâm nhập và cảnh
báo IDES Intrusion Detection Expert System Hệ chuyên gia phát hiện xâm nhập AAFID
Autonomous Agents For Intrusion
Detection Tác nhân tự trị phát hiện xâm nhập
Trang 7HDLC High-Level Data Link Control Giao thức điều khiển liên kết dữ liệu
SLIP Serial Line Internet Protocol Giao thức Internet qua đường moderm PPP Point to Point Protocol Giao thức điểm điểm
PF Packet Filter Lọc gói tin
RB Reserved Bit Bít dự phòng
DF Don’t Fragment Bit Bit không bị phân mảnh
MF More Fragments Bit Bít bị phân mảnh
MTU Maximum Transmission Unit Đơn vị truyền tối đa
TTL Time To Live Thời gian sống
Trang 8DANH SÁCH HÌNH VẼ
Hình 1.1: Mô hình chức năng IDS 9
Hình 1.2: Các HIDS trong hệ thống mạng 12
Hình 1.3: Các NIDS trong hệ thống mạng 13
Hình 1.5: Các bước xử lý của Cisco IDS 14
Hình 2.1: Kiến trúc IDS 17
Hình 2.2: Một mô hình phát hiện lạm dụng điển hình 24
Hình 2.3:Mô hình phát hiện bất thường 27
Hình 3.1: Kiến trúc của Snort 33
Hình 3.2: Giải mã gói tin Ethernet 34
Hình 3.3: Cấu trúc luật của Snort 38
Hình 3.4: Header luật của Snort 38
Hình 3.5: Mô hình hệ thống phát hiện xâm nhập Snort công ty PAMA 49
Hình 3.6: Khởi động Snort làm việc với MySQL 53
Hình 3.7: Mô hình thử nghiệm 54
Hình 3.8: Cảnh báo ScanPort trên Base 55
Hình 3.9: Chi tiết các cảnh báo ScanPort 56
Hình 3.10: Mail gửi về cảnh báo ScanPort 56
Hình 3.11: Cảnh báo Alert từ Snort thông qua BASE 57
Hình 3.12: Cảnh báo có tấn công UDP FLOOD 57
Hình 3.13: Chi tiết cảnh báo UDP FLOOD 58
Hình 3.14: Các cảnh báo được gửi về email 58
Hình 3.15: Cảnh báo về UDP FLOOD được gửi về email 59
DANH SÁCH CÁC BẢNG Bảng 3.2: Các cờ sử dụng với từ khoá Flags 46
Trang 9MỞ ĐẦU
Hiện nay cùng với sự phát triển mạnh mẽ của mạng internet, đảm bảo an toàn thông tin đang trở thành một yêu cầu quan trọng, thiết yếu đối với lĩnh vực phát triển công nghệ thông tin cũng như trong mọi hoạt động kinh tế xã hội
Để đảm bảo an toàn cho thông tin, hệ thống và mạng, phát hiện đột nhập mạng là một trong các khâu quan trọng trong lớp các giải pháp Khác với phát hiện đột nhập cho host, phát hiện đột nhập mạng thường sử dụng nguồn thông tin từ mạng, chẳng hạn chặn bắt các gói tin truyền qua nút mạng, như bộ định tuyến hoặc cầu nối Do lưu lượng mạng thường lớn và tính phức tạp của các dạng tấn công, đột nhập nên các hệ thống phát hiện đột nhập mạng gặp nhiều thách thức
Đề tài luận văn "Nghiên cứu các kỹ thuật phát hiện đột nhập mạng và xây dựng mô hình ứng dụng dựa trên Snort" tập trung nghiên cứu về các các kỹ thuật
phát hiện đột nhập mạng và xây dựng mô hình ứng dụng phát hiện đột nhập cho hệ thống mạng của công ty PAMA dựa trên hệ thống Snort Snort là một hệ thống phát hiện và ngăn chặn đột nhập mạng mã mở được sử dụng rộng rãi Do Snort được cung cấp theo dạng mã mở nên người sử dụng có thể tự do sửa đổi và cải tiến theo yêu cầu Ngoài ra, Snort hoàn toàn miễn phí nên sẽ tiết kiệm được chi phí triển khai ban đầu
Luận văn gồm 3 chương chính với các nội dung sau:
Chương 1 – Tổng quan về phát hiện đột nhập mạng giới thiệu khái quát tấn công đột nhập mạng, các phương pháp phát hiện tấn công đột nhập mạng và hệ thống phát hiện đột nhập mạng
Chương 2 – Kiến trúc hệ thống và kỹ thuật phát hiện đột nhập mạng trình bày kiến trúc hệ thống phát hiện đột nhập mạng, các kỹ thuật thu thập dữ liệu và các kỹ thuật phát hiện đột nhập mạng
Chương 3 – Xây dựng mô hình ứng dụng dựa trên Snort sẽ giới thiệu về
hệ thống phát hiện xâm nhập mạng Snort, phân tích các yêu cầu xây dựng hệ thống từ đó đó xuất mô hình hệ thống phát hiện xâm nhập mạng dựa trên Snort cho công ty Pama Luận văn cũng tiến hành cài mô hình phát hiện xâm nhập Snort và xây dựng thử nghiệm một số kịch bản phát hiện tấn công sử dụng Snort
Trang 10CHƯƠNG I: TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP MẠNG
1.1 Khái niệm tấn công đột nhập mạng
Tấn công, đột nhập mạng là hành vi tấn công xâm nhập vào mạng để truy cập trái phép vào thông tin và hệ thống, hoặc lạm dụng các tài nguyên trên mạng Việc lạm dụng có thể dẫn đến hậu quả có thể khiến cho tài nguyên mạng trở nên không đáng tin cậy hoặc không sử dụng được Hầu hết các cuộc tấn công xâm nhập mạng máy tính vượt qua các lớp bảo mật của hệ thống theo những phương thức cụ thể nhằm phá vỡ các thuộc tính bảo mật của thông tin và hệ thống Ví dụ một số cuộc tấn công nhằm đọc, đánh cắp các thông tin nhưng không thay đổi thành phần nào trong hệ thống; Một số cuộc tấn công lại tắt hoặc làm ngừng hoạt động thành phần nào đó trong hệ thống; Hoặc những cuộc tấn công khác lại có khả năng chiếm toàn quyền điều khiển hoặc phá huỷ hệ thống Chung quy lại chúng thường gây nên tổn thương đến các thuộc tính bảo mật thông tin và hệ thống: tính bí mật, tính toàn vẹn và tính khả dụng
1.2 Các dạng tấn công
1.2.1 Tấn công bằng mã độc
Tấn công bằng mã độc có thể gồm một số định dạng như lợi dụng các lỗ hổng về lập trình, lỗ hổng cấu hình hệ thống để chèn và thực hiện mã độc trên hệ thống nạn nhân hoặc lừa người sử dụng tải, cài đặt và thực hiện các phần mềm độc hạị như các phần mềm Spyware, Virus hoặc Trojan Mã độc là tập mã thực thi tự chủ không đòi hỏi sự can thiệp của Hacker Khi được thực hiện, mã độc có thể giúp tin tặc đánh cắp các thông tin nhạy cảm, truy nhập trái phép vào các tài nguyên hệ thống, hoặc làm hệ thống hỏng hóc hoặc ngừng hoạt động
1.2.2 Tấn công vào mật khẩu
Các hacker tấn công vào mật khẩu (password) bằng một số phương pháp như: tấn công brute-force, sử dụng chương trình Trojan Horse, IP spoofing, và packet sniffer Tấn công brute-force có thể được thực hiện bằng cách dùng một chương trình chạy trên mạng, cố gắng login vào các phần share trên server băng phương pháp “thử và sai” password
Trang 111.2.3 Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ (DoS – Denial of Service Attacks ) là dạng tấn công cản trở người dùng hợp pháp truy cập các tài nguyên hệ thống Tấn công từ chối dịch vụ được chia thành hai loại:
Tấn công Logic (Logic attacks): tấn công dựa vào lỗi phần mềm làm dịch vụ ngừng hoạt động hoặc làm giảm hiệu năng của hệ thống
Tấn công gây ngập lụt (Flooding attacks): Kẻ tấn công gửi một lượng lớn yêu cầu gây cạn kiệt tài nguyên hệ thống nạn nhân hoặc chiếm hết băng thông đường truyền mạng
1.2.4 Tấn công giả mạo địa chỉ, nghe trộm
Tấn công giả mạo địa chỉ là dạng tấn công trong đó kẻ tấn công sử dụng địa chỉ IP giả, thường để đánh lừa máy nạn nhân để vượt qua các hàng rào kiểm soát an ninh
Tấn công nghe trộm là dạng tấn công sử dụng các thiết bị phần cứng hoặc phần mềm lắng nghe trên card mạng, hub hoặc router để bắt các gói tin dùng cho phân tích về sau
1.2.5 Tấn công kiểu phát lại và người đứng giữa
Tấn công kiểu người đứng giữa (Man in the middle attack) là kiểu tấn công lợi dụng quá trình truyền gói tin qua nhiều trạm (hop) thuộc các mạng khác nhau
Kẻ tấn công chặn bắt các thông điệp giữa hai bên tham gia truyền thông và chuyển thông điệp lại cho bên kia Tấn công kiểu người đứng giữa có thể giúp tin tặc đánh cắp thông tin trao đổi, hoặc thay đổi nội dung thông điệp truyền theo hướng có lợi cho mình mà hai bên tham gia quá trình truyền thông không hay biết
1.2.6 Tấn công bằng bom thư và thư rác
Tấn công bằng bom thư ( Mail bombing) là dạng tấn công DoS khi kẻ tấn công gửi một lượng lớn email đến hộp thư của nạn nhân Kẻ tấn công có thể thực hiện bằng kỹ thuật Social Engineering hoặc khai thác lỗi trong hệ thống gửi nhận email SMTP Kẻ tấn công có thể sử dụng các máy chủ email không được cấu hình tốt để gửi email cho chúng
Tấn công bằng thư rác (Spam emails) là kiểu tấn công gửi những email không mong muốn, thường là các email quảng cáo gây lãng phí tài nguyên tính toán
Trang 12và thời gian người dùng Ngoài ra tấn công bằng thư rác cũng có thể dùng để chuyển những phần mềm độc hại
1.2.7 Tấn công sử dụng cổng hậu
Cổng hậu (backdoor hoặc trapdoor) thường được các lập trình viên tạo ra dùng để gỡ rối và test chương trình, do đó cổng hậu thường cho phép truy nhập trực tiếp vào hệ thống mà không thông qua các thủ tục kiểm tra an ninh thông thường
Vì vậy, những kẻ tấn công thường sử dụng cửa hậu như là một công cụ truy cập đến
hệ thống máy tính bỏ qua các cơ chế bảo mật hệ thống
1.2.8 Tấn công kiểu Social Engineering
Tấn công kiểu Social Engineering là dạng tấn công sử dụng các kỹ thuật xã hội (Social Engineering) để thuyết phục người dùng tiết lộ thông tin truy cập hoặc các thông tin có giá trị cho kẻ tấn công Một số dạng tấn công kiểu Social Engineering điển hình:
Kẻ tấn công có thể giả danh làm người có vị trí cao hơn so với nạn nhân để có được sự tin tưởng, từ đó thuyết phục nạn nhân tiết lộ thông tin truy cập hoặc các thông tin có giá trị cho kẻ tấn công
Kẻ tấn công có thể giả mạo nhận là người được ủy quyền của người có thẩm quyền để yêu cầu các nhân viên tiết lộ thông tin về cá nhân hay tổ chức
Kẻ tấn công có thể lập trang web giả danh các tổ chức tài chính, ngân hàng, hoặc diễn đàn, mạng xã hội để đánh lừa người dùng cung cấp các thông tin cá nhân và thông tin tài khoản, thẻ tín dụng…
Phishing là một dạng tấn công Social Engineering, lừa người dùng để lấy thông tin cá nhân, thông tin tài khoản, hoặc thẻ tín dụng Một trong các dạng tấn công phishing nổi tiếng là trò lừa đảo 4-1-9 xuất phát từ Nigeria, lợi dụng sự ngây thơ và lòng tham của nhiều người
1.2.9 Tấn công Pharming
Pharming là kiểu tấn công vào trình duyệt của người dùng Kẻ tấn công thường sử dụng sâu, virus hoặc các phần mềm độc hại cài vào hệ thống để điều khiển trình duyệt người dùng Kẻ tấn công cũng có thể tấn công vào hệ thống DNS
để thay đổi kết quả truy vấn địa chỉ IP, thay địa chỉ IP của website hợp lệ thành IP của website độc hại
Trang 131.3 Các phương pháp phát hiện tấn công đột nhập mạng
Phát hiện tấn công, đột nhập là quá trình giám sát và phân tích các sự kiện xảy ra trên mạng hoặc hệ thống để tìm các dấu hiệu của các tấn công, đột nhập Dựa trên kỹ thuật phát hiện, có thể chia các phương pháp phát hiện tấn công, đột nhập thành các loại: phát hiện dựa trên các dấu hiệu hoặc chữ ký (Signature-based Intrusion Detection [2]), phát hiện dựa trên bất thường (Anomaly-based Intrusion Detection [2]) và phát triện dựa trên phân tích trạng thái giao thức [2]
1.3.1 Phát hiện tấn công đột nhập dựa trên dấu hiệu
Phát hiện tấn công dựa trên dấu hiệu [2] là quá trình so sánh các sự kiện giám sát với các dấu hiệu để xác định các nguy cơ có thể là một tấn công Trong đó
dấu hiệu là các sự kiện, hành động tương ứng với các mối đe dọa được biết đến Ví
dụ:
Một hành động cố gắng truy cập vào hệ thống với username “root” là hành động
vi phạm tới chính sách bảo mật của công ty, tổ chức
Một e-mail với tiêu đề “ Free picture!” và file đính kèm là “freepics.exe” có các đặc điểm được biết đến thường là của phần mềm độc hại
Mục ghi log hệ điều hành với mã trạng thái là 645 được biết đến là sự kiểm tra máy trạm đã bị vô hiệu hóa
Phát hiện tấn công dựa trên dấu hiệu là hữu hiệu để phát hiện các tấn công đã được biết đến và đã được định nghĩa, nhưng sẽ kém hiệu quả với các tấn công chưa được định nghĩa trước đó, hoặc các tấn công được che giấu bằng kỹ thuật lẩn tránh,
và nhiều biến thể khác của các tấn công đã được biết đến Ví dụ: nếu một kẻ tấn công thay đổi hình thức thể hiện trong ví dụ trước sử dụng tên file khác như
“freepic2.exe”, và chuỗi tìm kiếm cho “freepics.exe” sẽ không trùng khớp
Phát hiện tấn công dựa trên dấu hiệu là phương pháp phát hiện tương đối đơn giản bởi vì phương pháp này chỉ so sánh các tập hành vi hiện tại trong các gói tin hoặc bản ghi log với danh sách các dấu hiệu đã biết sử dụng các kỹ thuật so sánh chuỗi Phương pháp phát hiện dựa trên dấu hiệu thường hạn chế hiểu biết về các mạng hoặc các giao thức ứng dụng và không thể theo dõi trạng thái của các hệ thống phức tạp Ví dụ: phương pháp này không thể kết hợp một yêu cầu với một hành động phản hồi tương ứng, như là một yêu cầu cho máy chủ Web đến một trang
Trang 14cụ thể phát ra trạng thái phản hồi giá trị là 403, có nghĩa là server từ chối thực hiện yêu cầu do người dùng không có quyền truy nhập Phương pháp này cũng thiếu khả năng nhớ yêu cầu trước khi xử lý yêu cầu hiện tại Hạn chế này ngăn cản phương pháp phát hiện dựa trên dấu hiệu nhận biết tấn công khi so sánh các sự kiện nhưng không sự kiện nào tồn tại một cách rõ ràng trong các dấu hiệu của một tấn công
1.3.2 Phương pháp phát hiện dựa trên bất thường
Phương pháp phát hiện dựa trên các bất thường [2] là quá trình so sánh tập các hành động được coi là bình thường và các hành vi được giám sát để xác định sự sai lệch Nếu phát hiện một sai lệch đủ lớn giữa tập hành vi bình thường và tập hành
vi hiện tại, một cảnh báo về nguy cơ tấn công hoặc đột nhập có thể được gửi đi
Hệ thống phát hiện tấn công sử dụng phương pháp phát hiện dựa trên bất thường trước hết xây dựng hồ sơ (profile) miêu tả các hành vi bình thường của người dùng, máy trạm, kết nối mạng hoặc ứng dụng Hồ sơ này được xây dựng thông qua việc giám sát các hành vi điển hình trong một giai đoạn thời gian Ví dụ: một hồ sơ cho một mạng có thể chỉ ra hoạt động dịch vụ Web sử dụng trung bình 13% băng thông mạng trong suốt một ngày làm việc Hệ thống phát hiện đột nhập sau đó sử dụng phương pháp thống kê để so sánh các đặc trưng của các hành vi hiện tại với một ngưỡng liên quan đến hồ sơ, như phát hiện khi dịch vụ Web sử dụng băng thông lớn hơn đáng kể so với mức sử dụng bình thường ghi trong hồ sơ và cảnh báo người quản trị về bất thường đã phát hiện Hồ sơ có thể được phát triển cho nhiều thuộc tính hành vi, như số lượng email được gửi bởi một người, số lần đăng nhập sai cho một máy trạm, và mức sử dụng bộ xử lý trên một máy trạm trong một khoảng thời gian
Lợi ích lớn nhất của phương pháp phát hiện dựa trên sự bất thường là có thể nhận biết những tấn công, đột nhập mới hoặc chưa biết Ví dụ: giả sử một máy tính
bị nhiễm một loại phần mềm độc hại mới và phần mềm độc hại này có khả năng sử dụng nhiều tài nguyên của máy tính, gửi một lượng lớn e-mail, thiết lập nhiều kết nối mạng, và thực hiện các hành vi khác, tạo ra sự khác biệt đáng kể với các hồ sơ
về các hành vi đã được thiết lập cho máy tính đó
Một hồ sơ ban đầu được sinh ra trong một khoảng thời gian được gọi là giai đoạn huấn luyện Hồ sơ cho phát hiện dựa trên sự bất thường có thể tĩnh hoặc động
Trang 15Sau khi được tạo ra, một hồ sơ tĩnh không thay đổi được trừ khi hệ thống phát hiện tấn công chỉ định tạo ra một hồ sơ mới Do hệ thống và mạng thay đổi theo thời gian, tập các hành vi bình thường cũng thay đổi, một hồ sơ tĩnh sẽ trở lên không chính xác, do đó hồ sơ tĩnh cần được tái sinh định kỳ Hồ sơ động không có vấn đề này do hồ sơ động có thể được cập nhật sử dụng các sự kiện được giám sát Tuy nhiên, chúng nhạy cảm với sự lẩn tránh của những kẻ tấn công Chẳng hạn, một kẻ tấn công có thể thực hiện số lượng nhỏ các hành vi độc hại, sau đó tăng dần tần suất
và số lượng các hoạt động Nếu tốc độ thay đổi là đủ chậm, hệ thống có thể nghĩ các hành vi phá hoại này là các hành vi bình thường và đưa vào hồ sơ bình thường
1.3.3 Phương pháp phát hiện dựa trên phân tích trạng thái giao thức
Phương pháp phát hiện dựa trên phân tích trạng thái giao thức [2] là một quá trình so sánh hồ sơ của các hành vi giao thức tốt cho mỗi trạng thái giao thức với các sự kiện giám sát được để xác định sự sai lệch Không giống như phương pháp dựa trên sự bất thường là sử dụng hồ sơ của máy trạm hoặc của mạng cụ thể, phương pháp dựa trên trạng thái của giao thức phân tích những phản hồi trên hồ sơ của nhà phát triển cung cấp chung để xác định một giao thức cụ thể nên sử dụng hay không Thuật ngữ "trạng thái" trong phương pháp này có ý nghĩa là hệ thống phát hiện tấn công hiểu biết và có khả năng giám sát trạng thái của mạng, phương tiện và các giao thức ứng dụng Ví dụ: khi một người dùng bắt đầu 1 phiên giao thức trao đổi file (FTP), phiên làm việc sẽ được khởi tạo trong trạng thái không xác thực Do người dùng chưa được xác thực nên họ chỉ có thể thực hiện một vài câu lệnh trong trạng thái này như là xem các thông tin hỗ trợ hoặc cung cấp tên tài khoản và mật khẩu Sự quan trọng của việc hiểu trạng thái là sự kết hợp giữa yêu cầu và đáp ứng, như vậy khi một xác thực FTP xuất hiện, hệ thống phát hiện tấn công có thể xác định quá trình này có thành công hay không thông qua mã trạng thái của phản hồi được trả về Khi người dùng xác thực thành công, phiên làm việc chuyển sang trạng thái đã xác thực và người dùng có thể thực thi các câu lệnh Việc thực thi các câu lệnh trong trạng thái không được xác thực có thể bị nghi ngờ là tấn công xâm nhập, nhưng thực thi trong trạng thái đã xác thực thì được coi là hợp lệ
Phương pháp phát hiện dựa trên phân tích trạng thái giao thức có thể xác định thứ tự không đúng của các câu lệnh, ví dụ phát hành cùng một lệnh liên tục
Trang 16hoặc phát hành một lệnh mà không phát hành lệnh mà nó phục thuộc Một tính năng khác của theo dõi trạng thái trong phương pháp này là cho các giao thức thực thi có xác thực, hệ thống phát hiện tấn công có thể giám sát việc xác thực được dùng cho mỗi phiên, và ghi lại việc xác thực được sử dụng cho các hành động mờ ám Điều này rất hữu ích để đánh giá một hành động nghi ngờ Một vài hệ thống phát hiện tấn công có thể sử dụng thông tin xác thực để định nghĩa các hành động có thể chấp nhận khác nhau của các lớp người dùng hoặc của các người dùng cụ thể
1.4 Các hệ thống phát hiện tấn công đột nhập mạng
1.4.1 Khái niệm hệ thống phát hiện xâm nhập
IDS (Intrusion Detection System- hệ thống phát hiện xâm nhập) [3] là hệ thống phần cứng hoặc phần mềm có chức năng giám sát, phân tích lưu lượng mạng, các hoạt động khả nghi và cảnh báo cho hệ thống, hoặc nhà quản trị IDS cũng có thể phân biệt giữa những tấn công vào hệ thống từ bên trong (từ những người dùng nội bộ) hay tấn công từ bên ngoài (từ các hacker) IDS phát hiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus), hay dựa trên so sánh lưu lượng mạng hiện tại với baseline (thông số đo đạc chuẩn của hệ thống) để tìm ra các dấu hiệu bất thường
1.4.2 Chức năng của IDS
Hệ thống phát hiện xâm nhập cho phép các tổ chức bảo vệ hệ thống của họ khỏi những đe dọa với việc gia tăng kết nối mạng và sự tin cậy của hệ thống thông tin Các IDS được xem như lớp phòng vệ bổ sung, đảm bảo an toàn cho thông tin và
hệ thống Một số yêu cầu đối với IDS:
Bảo vệ tính toàn vẹn (integrity) của dữ liệu, bảo đảm sự nhất quán của dữ liệu trong hệ thống Các biện pháp đưa ra ngăn chặn được việc thay đổi bất hợp pháp hoặc phá hoại dữ liệu
Bảo vệ tính bí mật, giữ cho thông tin không bị lộ ra ngoài
Bảo vệ tính khả dụng, tức là đảm bảo cho hệ thống luôn sẵn sàng thực hiện yêu cầu truy nhập thông tin của người dùng hợp pháp
Trang 17 Bảo vệ tính riêng tư, tức là đảm bảo cho người sử dụng khai thác tài nguyên của
hệ thống theo đúng chức năng, nhiệm vụ đã được phân cấp, ngăn chặn được sự truy cập thông tin bất hợp pháp
Cung cấp thông tin về sự xâm nhập, đưa ra những chính sách đối phó, khôi phục, sửa chữa…
Hệ thống IDS có một số chức năng chính như sau:
- Chức năng quan trọng nhất là: Giám sát – Cảnh báo – Bảo vệ:
o Giám sát: thực hiện giám sát lưu lượng mạng và các hoạt động khả nghi
o Cảnh báo: báo cáo về tình trạng mạng cho hệ thống và nhà quản trị
o Bảo vệ: sử dụng những thiết lập mặc định và cấu hình từ nhà quản trị để có những hành động tương ứng phù hợp chống lại kẻ xâm nhập và phá hoại
- Chức năng mở rộng: IDS cần có khả năng phân biệt tấn công từ bên trong và tấn công từ bên ngoài Ngoài ra, IDS cũng có khả năng phát hiện những dấu hiệu bất thường dựa trên những gì đã biết hoặc nhờ vào sự so sánh lưu lượng mạng hiện
tại với baseline
Thu thập thông tin Phản ứng
Hình 1.1: Mô hình chức năng IDS
1.4.3 Phân loại IDS
Cách thông thường nhất để phân loại IDS là dựa vào đặc điểm của nguồn dữ liệu thu thập được Trong trường hợp này, các hệ thống IDS được chia thành các loại sau:
Chính sách phát hiện
Hệ thống thông tin
Hệ thống đáp trả
Hệ thống phân tích
Trang 18 Host-Based IDS (HIDS): Sử dụng dữ liệu giám sát từ một máy đơn để phát hiện xâm nhập
Network-based IDS (NIDS): Sử dụng dữ liệu giám sát trên toàn bộ lưu lượng mạng, hoặc phân đoạn mạng để phát hiện xâm nhập
1.4.3.1 Host-Based IDS
Host-based IDS [3] tìm kiếm dấu hiệu của xâm nhập trên một host cục bộ HIDS thường sử dụng các cơ chế giám sát và phân tích và các thông tin được ghi log Nó tìm kiếm các hoạt động bất thường như đăng nhập, truy nhập các file hệ thống, các cố gắng nâng cấp đặc quyền truy nhập nhưng không được chấp nhận
Kiến trúc HIDS thường dựa trên các luật (Rule-based) để phân tích các hoạt động của hệ thống Ví dụ, đặc quyền của người sử dụng cấp cao có thể đạt được thông qua lệnh su-select user, như vậy những cố gắng liên tục để đăng nhập sử dụng tài khoản root có thể được coi là một cuộc tấn công
Các ưu điểm của HIDS:
Xác định chính xác các thông tin của cuộc tấn công: Do HIDS sử dụng dữ liệu log lưu các sự kiện xảy ra, nó có thể biết được cuộc tấn công là thành công hay thất bại với độ chính xác cao hơn NIDS Vì thế, HIDS có thể bổ sung thông tin tiếp theo khi cuộc tấn công được sớm phát hiện
Giám sát được các hoạt động cụ thể của hệ thống: HIDS có thể giám sát các hoạt động cụ thể của từng hệ thống mà NIDS không thể: như truy nhập file, thay đổi quyền truy nhập, việc thực thi các chương trình, truy nhập dịch vụ được phân quyền Đồng thời nó cũng có khả năng giám sát các hoạt động chỉ được thực hiện bởi người quản trị Vì thế, hệ thống Host-based IDS có thể là một công
cụ mạnh để phân tích các cuộc tấn công có thể xảy ra do nó thường cung cấp nhiều thông tin chi tiết và chính xác hơn một Network-based IDS
Phát hiện các xâm nhập mà NIDS bỏ qua: Chẳng hạn một kẻ xâm nhập sử dụng bàn phím để truy nhập trực tiếp vào một Server sẽ không bị NIDS phát hiện, nhưng HIDS có thể phát hiện
Thích nghi với môi trường chuyển mạch, mã hóa: Việc chuyển mạch và mã hóa thực hiện trên mạng, nhưng do HIDS được cài đặt trên từng máy nên nó không
bị ảnh hưởng nhiều bởi hai kỹ thuật trên
Trang 19 Không yêu cầu thêm phần cứng: HIDS được cài đặt trực tiếp lên host có sẵn (FTP Server, Web Server) nên không yêu cầu phải bổ sung thêm các phần cứng khác
Các nhược điểm của HIDS:
Khó quản trị: các hệ thống host-based yêu cầu phải được cài đặt trên tất các các thiết bị cần được bảo vệ Điều này yêu cầu phải thực hiện một khối lượng công việc lớn để cấu hình, quản lý, cập nhật
Thông tin nguồn dữ liệu không an toàn: một vấn đề với các hệ thống host-based
là nó hướng đến việc tin vào nhật ký mặc định và năng lực kiểm soát của server Các thông tin này có thể bị tấn công và đột nhập dẫn đến hệ thống hoạt động sai, không phát hiện được xâm nhập
Chi phí lớn: Hệ thống host-based thường có chi phí vận hành tương đối cao Nhiều tổ chức không có đủ nguồn tài chính để bảo vệ toàn bộ các đoạn mạng của mình sử dụng các hệ thống host-based Những tổ chức đó phải rất thận trọng trong việc chọn các hệ thống quan trọng để bảo vệ Nó có thể để lại các lỗ hổng lớn trong mức độ bao phủ phát hiện xâm nhập
Chiếm nhiều tài nguyên hệ thống: Do được cài đặt trên các máy cần được bảo vệ nên HIDS phải sử dụng các tài nguyên của hệ thống để hoạt động như bộ vi xử
lí, RAM và bộ nhớ ngoài
Trang 20Hình 1.2: Các HIDS trong hệ thống mạng
1.4.3.2 Network-Based IDS
NIDS [3] thường bao gồm có hai thành phần logic:
Bộ cảm biến – Sensor: đặt tại một đoạn mạng, kiểm soát các thông tin lưu lượng trên đoạn mạng đó
Trạm quản lý: nhận các tín hiệu cảnh báo từ một bộ cảm biến và thông báo cho điều hành viên
Một NIDS cũng có thể bao gồm hai hay nhiều bộ cảm biến trên các đoạn mạng khác nhau cùng giao tiếp với một trạm quản lý
Các ưu điểm của NIDS:
Chi phí thấp: Do chỉ cần cài đặt NIDS ở những vị trí trọng yếu là có thể giám sát lưu lượng toàn mạng nên hệ thống không cần phải nạp các thành phần mềm và quản lý trên các máy toàn mạng
Phát hiện được các cuộc tấn công mà HIDS bỏ qua: khác với HIDS, NIDS kiểm tra header của tất cả các gói tin vì thế nó không bỏ sót các dấu hiệu tấn công xuất phát từ mạng Ví dụ: nhiều dạng tấn công DoS, như TearDrop chỉ bị phát hiện khi phân tích header của các gói tin di chuyển trên mạng
Trang 21 Khó xóa bỏ dấu vết: Các thông tin lưu trong log file có thể bị kẻ đột nhập sửa đổi để che dấu các hoạt động xâm nhập, trong tình huống này HIDS khó có đủ thông tin để phát hiện Tuy nhiên, do NIDS thu thập tất cả các gói tin lưu chuyển qua mạng, kẻ đột nhập không thể xóa bỏ các dấu vết tấn công Các thông tin thu thập được không chỉ chứa cách thức tấn công mà cả thông tin hỗ trợ cho việc xác minh kẻ đột nhập
Phát hiện và đối phó kịp thời: NIDS có khả năng phát hiện sớm các cuộc tấn công, vì thế việc cảnh báo và đối phó có thể được thực hiện nhanh hơn Chẳng hạn, một hacker thực hiện tấn công DoS có thể bị NIDS phát hiện và ngăn chặn bằng việc gửi yêu cầu TCP reset nhằm chấm dứt cuộc tấn công trước khi nó xâm nhập vào máy nạn nhân
Có tính độc lập cao: Lỗi hệ thống không ảnh hưởng đáng kể tới các NIDS Chúng chạy trên một hệ thống phần cứng chuyên dụng và dễ dàng cài đặt
Hình 1.3: Các NIDS trong hệ thống mạng
1.4.4 Giới thiệu một số hệ thống IDS
1.4.4.1 Hệ thống phát hiện tấn công Cisco IDS
Cisco IDS[6] là một hệ thống phát hiện xâm nhập cho hệ thống mạng sử dụng cơ sở dữ liệu các dấu hiệu để theo dõi toàn bộ lưu lượng mạng và đối sánh từng gói tin để phát hiện các dấu hiệu xâm nhập Cisco IDS là một giải pháp riêng
Trang 22biệt được Cisco cung cấp đồng bộ phần cứng và phần mềm trong một thiết bị chuyên dụng
Hệ thống phát hiện xâm nhập của Cisco có hai thành phần chính đó là bộ cảm biến và nền tảng điều khiển Cisco IDS hoạt động trên một hệ thống Unix được tối ưu hóa về cấu hình và có giao diện tương tác dòng lệnh quen thuộc Cisco
Các bước xử lý cơ bản của một hệ thống phát hiện xâm nhập của Cisco như sau:
Một cảm biến (Sensor) sẽ thu thập các gói tin dữ liệu mạng thông qua giao diện giám sát
Các gói tin có thể được tập hợp lại và so sánh với CSDL các dấu hiệu để xác định các hành động xâm nhập
Nếu một hành động tấn công bị phát hiện, cảm biến ghi lại cuộc tấn công và thông báo cho nền tảng điều khiển thông qua giao diện dòng lệnh và điều khiển
Nền tảng điều khiển hiển thị cảnh báo, các bản ghi dữ liệu và có các hành động tương ứng đáp trả cuộc tấn công
Hình 1.5: Các bước xử lý của Cisco IDS
1.4.4.2 Hệ thống phát hiện tấn công ISS Proventia A201
Proventia A201 là sản phẩm của hãng Internet Security Systems Proventia không phải là một hệ thống phần mềm hay phần cứng đơn mà là một hệ thống các
Trang 23thiết bị được triển khai phân tán trong mạng được bảo vệ Một hệ thống Proventia bao gồm các thiết bị sau:
Intrusion Protection Appliance: Là trung tâm của toàn bộ hệ thống Proventia Nó lưu trữ các cấu hình mạng, các dữ liệu đối sánh cũng như các quy định về chính sách bảo mật của hệ thống Intrusion Protection Appliance chạy một phiên bản
hệ điều hành Linux với các driver thiết bị mạng được tối ưu hóa cũng như các gói dịch vụ được tối thiểu hóa
Proventia Network Agent: Đóng vai trò như các bộ cảm biến Nó được bố trí tại những vị trí nhạy cảm trong mạng nhằm theo dõi toàn bộ lưu lượng trong mạng
để phát hiện những nguy cơ xâm nhập tiềm ẩn
Site Protector: Là trung tâm điều khiển của hệ thống Proventia Đây là nơi người quản trị mạng quản lý toàn bộ cấu hình cũng như điều khiển hoạt động của hệ thống
Với giải pháp của Proventia, các thiết bị sẽ được triển khai sao cho phù hợp với cấu hình của từng mạng cụ thể để có thể đạt được hiệu quả phát hiện tấn công mạng cao nhất
1.4.4.3 Hệ thống phát hiện tấn công NFR NID-310
NFR là một sản phẩm của NFR Security Inc Cũng giống như Proventia,
NFR NID là một hệ thống hướng thiết bị (Appliance –based) Đặc điểm trong kiến
trúc của NFR NID là các bộ cảm biến có khả năng thích ứng với nhiều mạng khác nhau với tốc độ từ 10Mbps đến cỡ Gbps với thông lượng rất lớn
Một đặc điểm khác của NFR NID là mô hình điều khiển 3 lớp Thay vì các thiết bị trong hệ thống được điều khiển trực tiếp bởi một giao diện quản trị riêng biệt, NFR cung cấp một cơ chế điều khiển tập trung với các phần mềm trung gian làm nhiệm vụ điều khiển trực tiếp thiết bị
1.5 Kết chương
Chương 1 đã đã giới thiệu các phương pháp tấn công xâm nhập mạng, các phương pháp phát hiện xâm nhập và tổng quan về hệ thống phát hiện xâm nhập mạng một trong những công cụ hữu ích phát hiện, cảnh báo những rủi ro cho tài nguyên thông tin trên hệ thống mạng Câu hỏi đặt ra ở đây là cơ chế hoạt động của
hệ thống phát hiện xâm nhập như thế nào, và các hệ thống phát hiện xâm nhập sử
Trang 24dụng các kỹ thuật nào để phát hiện và cảnh báo xâm nhập Để trả lời câu hỏi này này, Chương 2 đi sâu nghiên cứu kiến trúc và các thành phần hệ thống phát hiện xâm nhập mạng và các kỹ thuật thu thập ,tiền xử lý dữ liệu và các kỹ thuật phát hiện tấn công xâm nhập mạng
Trang 25CHƯƠNG 2: KIẾN TRÚC HỆ THỐNG VÀ CÁC KỸ THUẬT PHÁT HIỆN ĐỘT NHẬP MẠNG
2.1 Kiến trúc hệ thống phát hiện đột nhập mạng
Kiến trúc của một hệ thống IDS [4] như biểu diễn trên hình 2.1, bao gồm các thành phần chính sau: Thành phần thu thập gói tin (Information collection), Thành phần phân tích gói tin (Detection) và Thành phần phản hồi (Response) Trong ba thành phần này, thành phần phát hiện là quan trọng nhất và bộ phân tích hay cảm biến (Analyzer/Sensor) đóng vai trò quyết định khả năng phát hiện tấn công, đột nhập
Hình 2.1: Kiến trúc IDS
2.1.1 Thành phần thu thập gói tin (Information collection)
Thành phần thu nhập gói tin nhận các gói tin từ nhiều kiểu giao diện như Ethernet, Slip,… và tiền xử lý gói tin thành dạng mà thiết bị phân tích có thể sử dụng được
2.1.2 Thành phần phân tích gói tin (Detection)
Thành phần phân tích gói tin là thành phần thực hiện tìm kiếm, đối sánh các dấu hiệu, chữ ký đột nhập, hoặc hồ sơ các hành vi bình thường trên các gói cần kiểm tra
Trang 26• Đối với mô hình phát hiện đột nhập dựa trên dấu hiệu: so sánh hành vi hiện tại thu được với tập CSDL các dấu hiệu, nếu có sự trùng hợp thì chứng tỏ hành vi hiện tại là một vụ đột nhập
• Đối với mô hình phát hiện đột nhập dựa trên bất thường: so sánh hành vi hiện tại thu được với tập huấn luyện, nếu không có sự trùng hợp thì chứng tỏ hành
vi hiện tại là một vụ đột nhập
2.1.3 Thành phần phản hồi (Response)
Phụ thuộc vào kết quả của thành phần phân tích gói tin, gói tin được chuyển
đi nếu không phát hiện dấu hiệu đột nhập hoặc bất thường Ngược lại, nếu phát hiện dấu hiệu đột nhập hoặc bất thường, gói tin có thể bị chặn lại, đồng thời một cảnh báo cho người quản trị được tạo ra
2.2 Các kỹ thuật thu thập dữ liệu
2.2.1 Giới thiệu chung về thu thập dữ liệu
Thu thập dữ liệu [1] là một trong những bước quan trọng khi thiết kế một hệ thống phát hiện xâm nhập và nó ảnh hưởng đến toàn bộ quá trình thiết kế và cài đặt
và kết quả phát hiện Thông thường, mục tiêu của các cuộc tấn công không chỉ là một máy tính cá nhân mà thường là các máy chủ cung cấp dịch vụ Một số xâm nhập có thể cho thấy một hành vi bất thường tại tầng mạng, trong khi những xâm nhập khác cho thấy hành vi bất thường tại tầng ứng dụng Trong trường hợp lý tưởng là có thể thiết kế và cài đặt một IDS có thể giám sát một loạt dữ liệu chiết xuất từ cả hai lớp mạng và lớp ứng dụng Tuy nhiên, điều này không khả thi trong thực tế do hai lý do chính: (i) tính đa dạng của dữ liệu và (ii) nguồn tài nguyên hệ thống tiêu tốn để thu thập dữ liệu Hệ thống phát hiện đột nhập thu thập dữ liệu từ nhiều nguồn khác nhau, chẳng hạn như các tập tin log đăng nhập hệ thống, gói tin mạng hoặc dòng lưu lượng Nơi mà các dữ liệu được thu thập quyết định khả năng phát hiện và phạm vi của IDS Ví dụ: một NIDS không thể phát hiện một cuộc tấn công sử dụng tài khoản người dùng root, trong khi một HIDS dựa trên ứng dụng không thể tìm thấy tấn công rà quét cổng
2.2.2 Thu thập dữ liệu cho HIDS
Hệ thống phát hiện xâm nhập cho máy trạm (HIDS) [1] phân tích hoạt động trên một máy trạm bằng cách giám sát các nguồn dữ liệu khác nhau lưu trữ trên máy
Trang 27trạm đó, ví dụ như nhật ký truy cập tập tin, hoặc các log lưu các sự kiện hệ thống Một HIDS thường là một phần mềm chạy trên các máy chủ được bảo vệ, và do đó, phạm vi bảo vệ của một HIDS bị hạn chế trong một máy Như vậy, để bảo vệ toàn
bộ mạng doanh nghiệp, HIDS phải được cài đặt trên mỗi tất cả các các máy trong mạng nội bộ Có hai nguồn dữ liệu chính mà có thể được sử dụng để phát hiện xâm nhập cho HIDS, cụ thể là log truy nhập (Audit logs) và chuỗi các lời gọi hàm hệ thống (System Call Sequences) Log truy nhập là một tập hợp các sự kiện được tạo
ra bởi các hoạt động của hệ điều hành (OS) để thực hiện nhiệm vụ nhất định Các lời gọi hàm hệ thống đại diện cho hành vi của mỗi ứng dụng quan trọng chạy trên
hệ điều hành trong hệ thống được giám sát
2.2.2.1 Log truy nhập (Audit logs)
Audit logs [1] là các bản ghi của các sự kiện được ghi lại bởi hệ điều hành, thường bao gồm các bản ghi thông tin của tất cả các tiến trình đang chạy, bộ nhớ sử dụng, và việc truy nhập các tập tin hệ thống và các quá trình thao tác
Khi sử dụng audit logs vào phát hiện xâm nhập, một trong những vấn đề lớn
là không có một cơ chế kiểm tra được thiết kế riêng cho hệ thống phát hiện xâm nhập Việc thu thập các thuộc tính phù hợp từ các file bản ghi trong hầu hết trường hợp là không thể Ngoài ra, các nền tảng hệ điều hành khác nhau thường ghi lại các thông tin khác nhau vào các file logs và do đó sẽ không đảm bảo tính tương thích
Để giải quyết vấn đề này, Flack và cộng sự [1] đề xuất một ngôn ngữ kiểm tra hỗ trợ việc xác định ngữ nghĩa cho các sự kiện liên quan đến xâm nhập mạng Ngôn ngữ mới mô tả định dạng của một bản ghi log, do đó cải thiện tính chính xác về ngữ nghĩa của các IDS được phản hồi trên các file bản ghi Mặc dù thông tin trong một file bản ghi có thể được khai thác bởi IDS để phát hiện xâm nhập, một kẻ xâm nhập cũng có thể can thiệp vào nội dung file bản ghi Để đảm bảo an toàn cho các file bản ghi, chúng có thể được mã hóa và chỉ các người dùng hoặc tiến trình có đủ đặc quyền và có khóa mới có thể truy nhập
2.2.2.2 Chuỗi các lời gọi hàm hệ thống
Chuỗi các lời gọi hàm hệ thống [1] đã được nhiều nghiên cứu khẳng định là một nguồn thông tin hiệu quả trong hệ thống phát hiện xâm nhập máy trạm Trong quá trình thực hiện, các chương trình ứng dụng yêu cầu các dịch vụ từ hệ điều hành
Trang 28thông qua các lời gọi hàm hệ thống đến nhân hệ điều hành Kết quả của nhiều nghiên cứu cho thấy, chuỗi các lời gọi hàm hệ thống có thể được sử dụng hiệu quả
để xây dựng mô hình mô tả các hành vi của ứng dụng Trong điều kiện làm việc bình thường, chuỗi các lời gọi hàm hệ thống được sử dụng tương đối ổn định do các chương trình ứng dụng thường được thiết kế với các tính năng cố định Trong điều kiện xảy ra tấn công hoặc bị lỗi, chuỗi các lời gọi hàm hệ thống tạo ra bởi ứng dụng
sẽ có nhiều bất thường Nếu các mức bất thường đủ lớn có thể kết luận đó là một tấn công hoặc đột nhập
Phương pháp phát hiện dựa trên chuỗi các lời gọi hàm hệ thống có thể gặp một số khó khăn như tiêu tốn nhiều thời gian cho việc thu thập khối lượng dữ liệu chuỗi các lời gọi hàm hệ thống đủ lớn để xây dựng hồ sơ bình thường, và phải xây dựng hồ sơ cho từng ứng dụng cụ thể Hơn nữa, khi ứng dụng được cập nhật, nâng
cấp, hồ sơ phải được tạo lại
2.2.3 Thu thập dữ liệu cho NIDS
Hệ thống phát hiện xâm nhập cho mạng (NIDS) [1] thu thập và phân tích dữ liệu bắt trực tiếp từ mạng Hệ thống này hoạt động bằng cách bắt và kiểm tra tiêu đề (header) và nội dung của gói tin hoặc các lưu lượng chuyển qua mạng Dựa vào vị trí nơi mà dữ liệu được thu thập, NIDS bắt và phân tích lưu lượng cho một mạng con, hoặc giữa một mạng và Internet Thông thường, NIDS bỏ qua payload (nội dung) của các gói tin do đòi hỏi thời gian tính toán, sự đa dạng của các giao thức, và đôi khi là vấn đề riêng tư Payload đại diện cho dữ liệu thuộc lớp ứng dụng
cụ thể dựa trên giao thức TCP / IP, và phần tiêu đề đại diện cho dữ liệu thuộc về tầng truyền tải, mạng và liên kết các lớp từ giao thức TCP / IP
2.2.3.1 Thu thập dữ liệu dựa vào giao thức SNMP
Giao thức quản lý mạng đơn giản SNMP xác định cách thức quản lý thông tin được trao đổi giữa các ứng dụng quản lý và các tác nhân quản lý mạng Trong giao thức SNMP, hệ thống quản lý mạng (NMS – Network Management System) theo dõi trạng thái mạng và cung cấp thông tin về lưu lượng truy cập mạng
NMS và IDS thường hoạt động độc lập với nhau trên cùng một mạng IDS được sử dụng để phát hiện và đối phó với sự xâm nhập, trong khi NMSs được áp dụng để giám sát hiệu suất chung của một mạng lưới Một ví dụ điển hình của phát
Trang 29hiện xâm nhập dựa trên SNMP được thực hiện bởi Qin, trong đó họ đã đề xuất một
cơ chế kết hợp NMSs và IDS để có thể trao đổi thông tin, để để tăng cường khả năng bảo mật của NMSs cũng như cải thiện hiệu suất của IDS Trong cài đặt thực
tế, Qin và cộng sự triển khai một số tác nhân phát hiện xâm nhập ID trên các thành phần mạng khác nhau Một IDS có thể phát hiện tất cả các cuộc tấn công vào mạng một cách chính xác và kịp thời, trong đó mỗi bộ cảm biến ID chuyên về một phương pháp xâm nhập nhất định
2.2.3.2 Thu thập dữ liệu dựa vào các gói tin mạng (Packets)
Hệ thống phát hiện đột nhập cho mạng thu thập các thông tin từ hai nguồn chính đó là các gói tin và lưu lượng mạng Các gói tin được ghi lại bằng kỹ thuật bắt lưu lượng tại các điểm quan trọng khác nhau trong mạng Các dữ liệu thu thập được
từ những các gói tin sau đó được sử dụng để cung cấp chi tiết cuộc tấn công mạng
và thông tin hiệu suất Tcpdump là một công cụ phổ biến để chặn bắt các gói tin mạng Đối với việc theo dõi lưu lượng mạng, một lưu lượng thông thường được xác định bởi địa chỉ IP nguồn, đích, địa chỉ cổng nguồn, đích và giao thức Một công cụ
mã nguồn mở điển hình cho mạng giám sát lưu lượng mạng được gọi là Flowscan công cụ này có thể nhóm các gói tin vào trong một lưu lượng và được kết xuất bởi router
Trong kiến trúc thông thường của hệ thống phát hiện xâm nhập cho mạng yêu cầu phải chặn bắt các gói tin đơn hoặc lưu lượng mạng và gửi các dữ liệu thu thập được đến module phát hiện xâm nhập Ưu điểm chính của kiến trúc này là sự đơn giản trong giao tiếp giữa bộ phận chặn bắt gói tin và bộ phận phát hiện xâm nhập và chi phí vận hành thấp Đối với các mô hình mạng khác nhau, nhược điểm của kỹ thuật bắt gói dữ liệu, lưu lượng đơn là thiếu khả năng thích ứng, ví dụ như không thể chặn bắt được dữ liệu từ hai mạng con ngăn cách bởi một bộ định tuyến Router Do đó, hệ thống phát hiện xâm nhập mạng NIDS cần có khả năng chặn bắt
dữ liệu từ các điểm khác nhau trên mạng và chuyển đến xử lý tại một đơn vị phát hiện duy nhất trong hệ thống Các công cụ chặn bắt gói dữ liệu, lưu lượng cũng có thể trích xuất các thuộc tính từ các gói tin hoặc lưu lượng mạng và sau đó gửi chúng đến bộ phận xử lý Một trong những bước quan trọng nhất khi thiết kế một hệ thống
Trang 30phát hiện xâm nhập cho mạng NIDS là sự lựa chọn tính năng từ một tập hợp các tính năng tốt có thể cải thiện khả năng phát hiện của NIDS:
Phát hiện dựa trên tiêu đề bất thường của gói tin được đề xuất bởi Mahoney, để phát hiện những bất thường trong mạng dựa vào 33 trường của gói tin của các giao thức Ethernet, IP, TCP, ICMP và UDP Phạm vi các trường tiêu đề của gói tin có thể được học trong suốt quá trình huấn luyện và như vậy một bất thường
có thể bị phát hiện khi nằm ngoài phạm vi này
Phát hiện dựa trên đặc tính kết nối Kỹ thuật tiếp cận này dựa trên các đặc tính cơ bản của kết nối hoặc các đặc tính dẫn xuất
2.2.3.3 Thu thập dữ liệu dựa trên ứng dụng
Các hệ thống phát hiện xâm nhập dựa trên ứng dụng kiểm tra và phân tích các file log của một ứng dụng cụ thể để phát hiện các cuộc tấn công nhằm vào ứng dụng đó Một ví dụ điển hình của phát hiện xâm nhập dựa trên ứng dụng là hệ thống
đề xuất bởi Kruegel, trong đó họ sử dụng các bản ghi web logs là nguồn dữ liệu và chỉ tập trung vào các cuộc tấn công dựa trên web vào các máy chủ web Việc phát hiện dựa trên các thông tin thu được từ các truy vấn web cho từng chương trình phía máy chủ và IDS phân tích các thông số của yêu cầu GET truyền cho chương trình phía máy chủ Trong giai đoạn huấn luyện, hồ sơ của mỗi thuộc tính HTTP được học là một tập hợp của các thông tin, bao gồm: chiều dài của thuộc tính, đặc điểm phân phối, cấu trúc của một tham số, thẻ và thứ tự trong truy vấn HTTP
2.2.3.4 Thu thập dữ liệu cho IDS tích hợp với ứng dụng
Hệ thống phát hiện xâm nhập được tích hợp với ứng dụng sử dụng bộ phát hiện được tích hợp trong đoạn mã của chương trình của chính hệ thống đó Khác với tất cả các IDS đã thảo luận trước đó hoạt động độc lập với các ứng dụng được bảo vệ, một IDS tích hợp với ứng dụng sử dụng một mô-đun kết hợp chặt chẽ với các ứng dụng để trích xuất các thông tin mong muốn Kết quả là, các thông tin liên lạc giữa các ứng dụng và IDS liên tục và đồng bộ Hơn nữa, một IDS tích hợp ứng dụng thường được trang bị kiến thức chuyên sâu về các hành vi của ứng dụng Do
sự kết hợp chặt chẽ và có kiến thức chuyên sâu về ứng dụng tích hợp, nên phản ứng của hệ thống phát hiện tấn công cho từng ứng dụng cụ thể là nhanh và kịp thời Hệ thống phát hiện xâm nhập tích hợp với ứng dụng có hai ưu điểm chính, cụ thể là :
Trang 31 Các hệ thống phát hiện xâm nhập IDS có khả năng truy cập tất cả các thông tin
nội bộ mà không thông báo với bên ngoài và có thể không mã hóa
Các IDS có thể theo dõi phiên làm việc của người dùng thông qua máy chủ riêng và tất cả các phản ứng hoặc phản hồi tới các ứng dụng được xử lý vào cuối
mỗi giai đoạn
Nhược điểm chính của IDS tích hợp ứng dụng là chỉ giới hạn cho một số ứng dụng nhất định và do đó mỗi loại ứng dụng cần được giám sát bởi một IDS Ngoài
ra, việc thêm IDS chạy trên cùng một máy chủ như các dịch vụ giám sát sẽ làm
chậm hệ thống
2.2.3.5 Thu thập dữ liệu lai
Hệ thống phát hiện xâm nhập lai nhận dữ liệu từ nhiều nguồn khác nhau và nhiều nghiên cứu chỉ ra rằng một hệ thống lai có khả năng phát hiện các cuộc tấn công tinh vi có liên quan đến nhiều máy chủ hoặc nhiều mạng với các thông tin từ nhiều nguồn Ngoài ra, một IDS có thể kết hợp các loại thông tin khác nhau có thể đồng thời làm tăng tỷ lệ phát hiện đúng và giảm tỷ lệ báo động giả Một ví dụ điển hình của sử dụng thu thập dữ liệu lai được đề xuất bởi Qin bao gồm ba mô-đun phát hiện, cụ thể là, công cụ phát hiện dựa trên dấu hiệu, công cụ dựa trên hồ sơ bình thường và công cụ MIB (Management Information Base) Đầu tiên hai công cụ dựa trên dấu hiệu và dựa trên hồ sơ thu thập và sử dụng các nguồn dữ liệu như các gói
dữ liệu mạng, công cụ thứ 3 thu thập dữ liệu từ các đối tượng MIB Kết quả cuối cùng được tổng hợp để sử dụng phát hiện ra dấu hiệu xâm nhập
2.3 Tiền xử lý dữ liệu
Tiền xử lý dữ liệu [1] đóng một vai trò quan trọng trong phát hiện đột nhập, giúp giảm thời gian phân tích, xử lý dữ liệu ở các bước tiếp theo, nhờ vậy tăng khả năng phát hiện sớm của hệ thống phát hiện tấn công, đột nhập Kỹ thuật tiền xử lý
dữ liệu bao gồm bốn bước chính như sau:
Làm gọn dữ liệu: quá trình này được sử dụng để nâng cao chất lượng của dữ liệu
và loại bỏ các phần trùng lặp Với dữ liệu lớn, có thể áp dụng quá trình lấy mẫu ngẫu nhiên để phân tích và sử dụng Quá trình làm sạch dữ liệu liên quan đến việc phát hiện và loại bỏ các giá trị có thể không chính xác và mất tích Ví dụ như các lỗi thiếu thông tin hay lỗi do sơ xuất hoặc lỗi đánh máy
Trang 32 Tích hợp dữ liệu: khi tích hợp dữ liệu, dữ liệu lịch sử và dữ liệu hiện thời liên quan đến hoạt động hằng ngày được sát nhập vào một định dạng thống nhất
Lựa chọn dữ liệu: quá trình này liên quan đến việc thu thập và lựa chọn dữ liệu thích hợp Một khối dữ liệu được xem là đạt chất lượng khi dữ liệu đó đáp ứng được các yêu cầu về lỗi và khả năng bao phủ phạm vi rộng nhất
Chuyển đổi dữ liệu: liên quan đến việc chuyển đổi dữ liệu từ định dạng ban đầu sang một định dạng dữ liệu khác phù hợp với yêu cầu xử lý tiếp theo Ví dụ trong mạng Nơron sử dụng định dạng dữ liệu số, trong khi trong cây quyết định thường sử dụng dạng dữ liệu kết hợp của số và các biểu tượng Quá trình chuyển đổi dữ liệu phải đảm bảo không bị mất thông tin
2.4 Các kỹ thuật phát hiện đột nhập mạng
2.4.1 Các kỹ thuật dựa trên phương pháp phát hiện sự lạm dụng
Những nghiên cứu về phát hiện xâm nhập dựa trên phương pháp phát hiện sự lạm dụng bắt đầu vào năm 1980 với báo cáo của Anderson [1] Trong đó hành vi xâm nhập được phát hiện bằng cách so sánh những hành vi được giám sát với các hành vi tấn công mẫu đã biết Do đó phương pháp này chỉ có hiệu quả trong việc phát hiện các dạng tấn công, đột nhập đã biết
Hình 2.2: Một mô hình phát hiện lạm dụng điển hình
Mô hình phát hiện lạm dụng như minh họa trên hình 2.2 bao gồm bốn thành phần: thu thập dữ liệu, hồ sơ hệ thống, thành phần phát hiện sự lạm dụng, thành phần phàn hồi Dữ liệu được thu thập từ một hoặc nhiều nguồn, bao gồm báo cáo
Trang 33kiểm tra, lưu lượng mạng, dấu vết các lời gọi hệ thống, v.v Dữ liệu thu thập được chuyển sang một định dạng mà các thành phần khác của hệ thống có thể xử lý được
Hồ sơ hệ thống thường một một tập các luật (rules), được sử dụng để mô tả các hành vi bình thường và không bình thường
Phương pháp phát hiện dựa trên sự lạm dụng có bốn kỹ thuật thường được sử dụng, bao gồm: Kỹ thuật đối sánh mẫu, kỹ thuật dựa trên tập luật, kỹ thuật dựa trên
trạng thái, và kỹ thuật dựa trên khai phá dữ liệu
2.4.1.1 Kỹ thuật đối sánh mẫu (Pattern Matching)
Trong phương pháp phát hiện xâm nhập mạng dựa trên đối sánh mẫu [1], các mẫu tấn công và đột nhập được mô hình hoá, sau đó chúng được đối sánh các thông tin trên tiêu đề gói tin và nội dung gói tin để xác định tấn công, đột nhập Phương pháp này cũng có thể được sử dụng trong hệ thống phát hiện xâm nhập dựa trên máy trạm thông qua việc ghép các từ đại diện cho chuỗi các lời gọi hàm Với việc các dạng tấn công mới liên tục xuất hiện các loại mới dưới nhiều hình thức khác nhau nên số lượng mẫu trở nên rất lớn làm tăng chi phí tính toán khi đối sánh mẫu
Để giải quyết hạn chế này, Abbes[1] đề xuất phương pháp kết hợp cách tiếp cận lý thuyết phân tích giao thức với kỹ thuật đối sánh truyền thống để cải thiện hiệu suất của kỹ thuật đối sánh mẫu khi tìm kiếm dấu hiệu tấn công Việc phân tích, kiểm tra mẫu được thực hiện trên phần tiêu đề của các gói dữ liệu hơn là trong toàn bộ gói
dữ liệu và nó được thực hiện thông qua việc xây dựng một cây quyết định Ưu điểm lớn nhất của phương pháp này làm giảm không gian tìm kiếm các mẫu và tăng tốc
độ đối sánh
2.4.1.2 Kỹ thuật dựa trên tập luật
Hệ thống phát hiện xâm nhập dựa trên tập luật là một trong những kỹ thuật đầu tiên sử dụng để phát hiện sự lạm dụng Hệ thống chuyên gia mã hóa các kịch bản xâm nhập như là một bộ quy tắc Bất kỳ sự sai lệch trong quá trình xử lý đối sánh luật được báo cáo như một sự xâm nhập Ví dụ về các hệ thống dựa trên tập luật bao gồm: hệ thống đa cảnh báo phát hiện xâm nhập MIDAS, Hệ chuyên gia phát hiện xâm nhập IDES và hệ chuyên gia phát hiện xâm nhập thế hệ tiếp theo NIDES
Trang 34
2.4.1.3 Kỹ thuật dựa trên trạng thái
Kỹ thuật dựa trên trạng thái phát [1] hiện xâm nhập bằng cách sử dụng các trạng thái và sử chuyển đổi giữa các trạng thái trong không gian trạng thái Mô hình trạng thái giúp đơn giản hóa các đặc điểm kỹ thuật của mô hình phát hiện và có thể được sử dụng để mô tả các tình huống tấn công dễ dàng hơn dựa trên các nguyên tắc ngôn ngữ Trong các kỹ thuật dựa trên trạng thái, quá trình thực hiện xâm nhập được biểu diễn thông qua quá trình chuyển đổi giữa các trạng thái của hệ thống, và
do đó kịch bản xâm nhập được xác định theo hình thức sơ đồ chuyển trạng thái
2.4.1.4 Kỹ thuật dựa trên khai phá dữ liệu
Trong những năm gần đây, kỹ thuật khai phá dữ liệu (Data mining) [1] đã được ứng dụng để xây dựng mô phát hiện tấn công dựa trên sự lạm dụng Trong kỹ thuật này, phát hiện xâm nhập được xem là quá trình phân tích dữ liệu, trong đó các
kỹ thuật khai phá dữ liệu được sử dụng để tự động thiết lập mô hình mẫu các hành
vi thông thường của người sử dụng hoặc các hành vi xâm nhập Có 3 giải thuật đặc biệt hữu ích cho khai phá dữ liệu, bao gồm phân loại, phân tích liên kết và phân tích trình tự
Các thuật toán phân loại như cây quyết định thực hiện phân loại bằng cách học dựa trên dữ liệu kiểm tra bình thường hoặc bất thường Dữ liệu kiểm tra mới được gán nhãn có thể là bình thường hay bất bình thường theo kết quả phân loại Phân tích liên kết xác định mối quan hệ giữa các trường trong các bản ghi cơ sở dữ liệu kiểm tra và hồ sơ bình thường thường bắt nguồn từ những mối quan hệ Phân tích trình tự được sử dụng để tìm các mẫu tuần tự trong dữ liệu kiểm tra
Kỹ thuật phát hiện dựa trên khai phá dữ liệu cho kết quả rất khả quan trong việc phát hiện các cuộc tấn công đã biết trong sự kiện KDD Cup 1998 [1] Tuy nhiên, giống như kỹ thuật phát hiện dựa trên lạm dụng, phương pháp này hoạt động kém hiệu quả trong phát hiện các dạng tấn công mới Ngoài ra, ứng dụng kỹ thuật khai phá dữ liệu yêu cầu gán nhãn trước cho bộ dữ liệu huấn luyện – là công việc thường phải thực hiện thủ công tốn nhiều thời gian và công sức