TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
───────────*───────────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
TÊN ĐỀ TÀI:
NGHIÊN CỨU VÀ TRIỂN KHAI HỆ THỐNG
PHÁT HIỆN XÂM NHẬP MẠNG
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính – K50
Giảng viên hướng dẫn: GV. Lương Ánh Hoàng
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
HÀ NỘI 6-2010
MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Hoàng Thanh Tùng
Điện thoại liên lạc: 0975672044 Email:
Lớp: Truyền thông mạng – K50 Hệ đào tạo: Chính quy
Đồ án tốt nghiệp được thực hiện tại:
Thời gian làm đồ án: Từ 01/02/2010 đến 02/06/2010
2. Mục đích nội dung của ĐATN
Với mục tiêu xây dựng được một giải pháp an toàn mạng cho các nhà quản trị
mạng, đồ án tập trung vào nghiên cứu và triển khai hệ thống phát hiện các xâm
nhập vào mạng, từ đó đảm bảo cho hệ thống mạng hoạt động liên tục và an toàn.
3. Các nhiệm vụ cụ thể của ĐATN
- Nghiên cứu, tìm hiểu về hệ thống phát hiện xâm nhập mạng – IDS.
- Triển khai hệ thống phát hiện xâm nhập mạng với Snort.
- Phát hiện một số xâm nhập phổ biến hiện nay.
4. Lời cam đoan của sinh viên:
Tôi – Hoàng Thanh Tùng – cam kết ĐATN là công trình nghiên cứu của bản thân
tôi dưới sự hướng dẫn của GV Lương Ánh Hoàng.
Các kết quả trong ĐATN là trung thực, không phải sao chép toàn văn của bất kỳ
công trình nào khác.
Hà Nội, ngày 25 tháng 5 năm 2010
Tác giả ĐATN
Hoàng Thanh Tùng
5. Xác nhận của giảng viên hướng dẫn về mức độ hoàn thành của ĐATN và cho
phép bảo vệ:
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
2
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Hà Nội, ngày tháng 6 năm 2010
Giảng viên hướng dẫn
GV Lương Ánh Hoàng
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Phát hiện xâm nhập mạng là một công nghệ nhằm kiểm soát các quá trình, lưu
lượng mạng vào ra trên một mạng máy tính. Khả năng áp dụng của hệ thống phát
hiện xâm nhập mạng là rất lớn trong một môi trường internet nhiều rủi ro như hiện
nay. Chính vì thế đồ án được thực hiện với mục đích tìm hiểu và triển khai một hệ
thống phát hiện xâm nhập mạng để bảo vệ an toàn cho một mạng máy tính với
những nội dung chính như sau:
Chương I: Tổng quan về hệ thống phát hiện xâm nhập mạng
• Nghiên cứu, tìm hiểu các khái niệm, chức năng, kiến trúc, phương thức hoạt
động…của IDS.
• Xác định vai trò của IDS trong hệ thống mạng
• Các cách vượt qua IDS.
• Tương lai, hướng phát triển của IDS
Chương II: Triển khai hệ thống phát hiện xâm nhập mạng
• Tìm hiểu tổng quan về Snort – một hệ thống phát hiện xâm nhập được đánh
giá cao.
• Cài đặt Snort trên nền hệ điều hành Windows XP
• Nghiên cứu tập luật của Snort
• Xây dựng tập luật để phát hiện một số xâm nhập phổ biến
• Phát triển Snort phát hiện port scan và phát hiện Directory Traversal của
Snort.
Chương III: Kết luận
• Những kết quả đạt được và hạn chế của đồ án.
• Hướng phát triển của đồ án trong tương lai.
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
3
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
LỜI CẢM ƠN
Để hoàn thành đồ án này, em xin cảm ơn thầy giáo, KS Lương Ánh Hoàng,
giảng viên bộ môn Kỹ thuật máy tính - Viện Công nghệ thông tin và truyền thông –
trường Đại học Bách Khoa Hà Nội đã tận tình chỉ dẫn, tạo điều kiện cho em trong
quá trình xây dựng đồ án.
Em xin chân thành cảm ơn các thầy, cô phụ trách giảng dạy đã tận tâm dạy dỗ
em trong suốt những năm học vừa qua.
Cuối cùng, xin chân thành cảm ơn các giảng viên của Công ty Cổ phần CNTT
iPMAC đã giúp đỡ tôi về mặt tài liệu cũng như kinh nghiệm khi nghiên cứu về IDS
trong thời gian tôi làm đồ án. Cảm ơn các bạn trong lớp đã trao đổi kinh nghiệm,
kiến thức, giúp đồ án hoàn thành được như ý.
Hà Nội, ngày 25 tháng 5 năm 2010
Người thực hiện
Hoàng Thanh Tùng
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
4
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
DANH MỤC HÌNH ẢNH
Hình 1.1: Vị trí của IDS trong mạng 13
Hình 1.2: Quá trình của IDS 14
Hình 1.3: Cơ sở hạ tầng IDS 15
Hình 1.4: Một IDS mẫu 15
Hình 1.5: Các thành phần của IDS 16
Hình 1.6: Các tác nhân tự trị cho việc phát hiện xâm nhập 17
Hình 1.7: Mô hình NIDS 19
Hình 1.8: Mô hình HIDS 20
Hình 2.1: Cơ chế hoạt động của IDS 27
Hình 2.2: Xác định số hiệu card mạng 39
Hình 2.3: Kiểm tra cài đặt Snort 40
Hình 2.4: Kiểm tra cài đặt Apache 42
Hình 2.5: Giao diện web BASE 48
Hình 2.6: Xác định số hiệu card mạng 51
Hình 2.7: Các options của lệnh snort 52
Hình 2.8: Snort ở chế độ sniff packet 53
Hình 2.9: Snort bắt các gói tin ICMP 54
Hình 2.10: Bảng tổng kết của packet sniffing 55
Hình 2.11: Câu lệnh snort ở NIDS mode 56
Hình 2.12 a: Ping www.yahoo.com 56
Hình 2.12 b: Snort hiển thị các xâm nhập 56
Hình 2.12 c: Kết quả ping www.yahoo.com 57
Hình 2.13: Phân mức tấn công 59
Hình 2.14: Snort phát hiện port scan 66
Hình 2.15 a: Thử nghiệm tấn công Directory Traversal 67
Hình 2.15 b: Thử nghiệm tấn công Directory Traversal 67
Hình 2.16: Snort phát hiện Directory Traversal 69
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
5
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
DANH MỤC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
AAFID Autonomous Agent for Intrusion Detection System
BASE Basic Analysis and Security Engine
CGI Common Gateway Interface
DoS Daniel of Services
DDoS Distributed Daniel of Services
DIDS Distributed Intrusion Detection System
DMZ Demilitarized Zone
DNS Domain Name Services
FTP File Transfer Protocol
HIDS Host – base Intrusion Detection System
HTTP Hypertext Markup Language
ICMP Internet Control Message Protocol
IDS Intrusion Detection System
IETF Internet Engineering Task Force
IP Internet Protocol
IPS Intrusion Prevention System
IPSEC Internet Protocol Security
MAC Media Access Controllers
MTU Maximum Transmission Unit
NIDS Networks Intrusion Detection System
OS Operating System
SMB Server Message Block
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Management Protocol
SSH Secure Shell
SSL Secure Sockets Layer
TCP Transmission Control Protocol
UDP User Datagram Protocol
URI Uniform Resource Identifier
VPN Virtual Private Network
XML eXtensible Markup Language
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
6
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
LỜI NÓI ĐẦU
Sự phát triển chóng mặt của Công nghệ thông tin nói chung và ngành Mạng
máy tính nói riêng đã đem lại những thay đổi to lớn cho mọi lĩnh vực của đời sống
con người. Ngày nay, trong nền kinh tế tri thức, không có một hoạt động nào có thể
tách rời khỏi hạ tầng mạng máy tính. Chính vì vậy, việc áp dụng Công nghệ thông
tin đã trở thành một yêu cầu không thể thiếu cho tất cả các tổ chức, doanh nghiệp.
Với tầm quan trọng như thế, việc sở hữu một hệ thống mạng doanh nghiệp ổn định,
hoạt động liên tục, đảm bảo an toàn…để luôn sẵn sàng cho mọi hoạt động trở nên
cấp thiết hơn bao giờ hết.
Tuy nhiên, với tầm quan trọng như vậy, hệ thống mạng cũng phải đối diện với
rất nhiều nguy cơ. Mỗi sự riêng tư, mỗi tài liệu quan trọng, đều cần được bảo đảm
một cách an toàn. Trong khi đó, các xâm nhập, tấn công từ phía bên ngoài luôn luôn
có thể xảy ra và với mức độ ngày càng nguy hiểm, phức tạp hơn. Do đó, chúng ta
cần có một hệ thống phát hiện ra những sự "viếng thăm" không cần thiết đó. Ở đây,
tôi không đề cập đến việc tạo ra hay phát triển một hệ thống phát hiện xâm nhập mà
chỉ đề cập đến vấn đề tìm hiểu và triển khai một hệ thống như vậy.
Nhiệm vụ của đồ án
Với mục tiêu xây dựng được một giải pháp an toàn mạng cho các nhà quản trị
mạng, đồ án tập trung vào nghiên cứu và triển khai hệ thống phát hiện các xâm
nhập vào mạng, từ đó đảm bảo cho hệ thống mạng hoạt động liên tục và an toàn.
Bố cục của đồ án
Đồ án được chia làm 3 chương:
+ Chương I: Tổng quan về hệ thống phát hiện xâm nhập mạng
+ Chương II: Triển khai hệ thống phát hiện xâm nhập mạng
+ Chương III: Kết luận
Hà Nội, ngày 25 tháng 5 năm 2010
Tác giả:
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
7
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Hoàng Thanh Tùng
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN
XÂM NHẬP
I. Định nghĩa và chức năng của IDS
1. Định nghĩa
Xâm nhập là một thuật ngữ dùng để chỉ các hành động đột nhập hoặc làm ảnh
hưởng tới hệ thống của bạn.
Phát hiện xâm nhập là một tập hợp các kỹ thuật và phương pháp được sử dụng
để phát hiện các hành vi đáng ngờ ở cả trên mạng cũng như ở mức độ host.
Hệ thống phát hiện xâm nhập (Intrusion detection system) là một hệ thống
giám sát các lưu thông trên mạng và các dấu hiệu khả nghi, từ đó thông báo cho
người quản trị mạng. Trong một vài trường hợp, IDS có thể hoạt động một cách tích
cực khi block user hoặc chặn IP của nguồn tin mà nó nghi ngờ. Đây không phải là
một dịch vụ bảo mật hệ thống, nó chỉ là một công cụ để giúp chúng ta giám sát
mạng.
IDS cung cấp thêm cho việc bảo vệ an toàn thông tin mạng một mức độ cao
hơn. Nó được đánh giá giá trị không giống như firewall và VPN (Virtual Private
Network) là ngăn ngừa các cuộc tấn công mà IDS cung cấp sự bảo vệ bằng cách
trang bị cho bạn thông tin về cuộc tấn công. Bởi vậy, 1 IDS có thể thoả mãn nhu
cầu về an toàn hệ thống của bạn bằng cách cảnh báo cho bạn về khả năng các cuộc
tấn công (và thỉnh thoảng thì ngoài những thông báo chính xác thì chúng cũng đưa
ra một số cảnh báo chưa đúng. Nhìn chung, IDS không tự động cấm các cuộc tấn
công hoặc là ngăn chặn những kẻ khai thác 1 cách thành công, tuy nhiên, một sự
phát triển mới nhất của IDS đó là hệ thống ngăn chặn xâm nhập ( IPS - The
intrusion prevention systems) đã có để thực hiện nhiều vai trò hơn và có thể ngăn
chặn các cuộc tấn công khi nó xảy ra.
Định nghĩa 1 IDS khó hơn là chúng ta tưởng. Đầu tiên, IDS được nhìn nhận
như là một cái chuông báo trộm mà có thể thông báo cho bạn biết khi nào thì bạn bị
tấn công. Tuy nhiên, những hệ thống IDS hiện đại thì phức tạp hơn nhiều và quan
điểm này được cho là chưa đầy đủ. Hệ thống IDS hiện đại trông giống như những
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
8
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
chiếc camera chống trộm hơn là 1 cái chuông, những người có trách nhiệm có thể
quan sát chúng và đáp trả cho những xâm nhập. Thực tế thì dường như IDS chỉ
thông báo cho chúng ta những biết rằng mạng đang bị nguy hiểm. Theo tôi, giá trị
chính mà một hệ thống IDS mang lại đó là nó biết được chuyện gì sẽ xảy ra. Một hệ
thống IDS có thể giúp chúng ta ngăn ngừa các sự kiện khi nó chưa xảy ra, cung cấp
các giải pháp cho mạng và host. Tuy nhiên, chức năng chính của nó là thông báo
cho bạn biết về các sự kiện có liên quan đến an ninh hệ thống đang sắp sửa xảy ra
bên trong mạng và hệ thống mà bạn đang kiểm soát.
2. Phân biệt những hệ thống không phải là IDS
Trái ngược với những thuật ngữ được sử dụng trong các bài giảng về hệ thống
phát hiện xâm nhập, không phải mọi thứ đều được qui vào mục này. Theo một cách
riêng biệt nào đó, các thiết bị bảo mật dưới đây không phải là IDS:
• Hệ thống đăng nhập mạng được sử dụng để phát hiện lỗ hổng đối với vấn
đề tấn công từ chối dịch vụ (DoS) trên một mạng nào đó. Ở đó sẽ có hệ thống kiểm
tra lưu lượng mạng.
• Các công cụ đánh giá lỗ hổng kiểm tra lỗi và lỗ hổng trong hệ điều hành,
dịch vụ mạng (các bộ quét bảo mật).
• Các sản phẩm chống virus được thiết kế để phát hiện các phần mềm mã
nguy hiểm như virus, trojan horse, worm, Mặc dù những tính năng mặc định có
thể giống IDS và thường cung cấp một công cụ phát hiện lỗ hổng bảo mật hiệu quả.
• Tường lửa – firewall
• Các hệ thống bảo mật, mật mã như: SSL, Kerberos, VPN,
3. 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. Những đe dọa đối với an ninh mạng ngày càng trở nên cấp thiết đã đặt ra câu
hỏi cho các nhà an ninh mạng chuyên nghiệp có nên sử dụng hệ thống phát hiện
xâm nhập trừ khi những đặc tính của hệ thống phát hiện xâm nhập là hữu ích cho
họ, bổ sung những điểm yếu của hệ thống khác IDS có được chấp nhận là một
thành phần thêm vào cho mọi hệ thống an toàn hay không vẫn là một câu hỏi của
nhiều nhà quản trị hệ thống. Có nhiều tài liệu giới thiệu những chức năng mà IDS
đã làm được nhưng có thể đưa ra vài lý do tại sao nên sử dụng IDS:
• Bảo vệ tính toàn vẹn (integrity) của dữ liệu, đảm bảo 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.
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
9
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
• Bảo vệ tính khả dụng, tức là 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.
• 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
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.
Nói tóm lại, ta có thể nói IDS có 3 chức năng chính là:
• Giám sát: Giám sát lưu lượng mạng và các hoạt động khả nghi
• Cảnh báo: Báo cáo tình trạng mạng cho hệ thống và nhà quản trị.
• Bảo vệ: Dùng những thiết lập mặc định và những cấu hình từ phía nhà quản
trị để có những hành động thiết thực chống lại kẻ xâm nhập và phá hoại.
Ngoài ra, hệ thống phát hiện xâm nhập còn có chức năng:
• Ngăn chặn sự gia tăng của các tấn công
• Bổ sung những điểm yếu mà các hệ thống khác chưa làm được.
• Đánh giá chất lượng của việc thiết kế hệ thống.
Khi IDS chạy một thời gian, nó sẽ đưa ra những điểm yếu của hệ thống. Việc
đưa ra những điểm yếu đó nhằm đánh giá chất lượng mạng cũng như cách bố trí
phòng thủ của các nhà quản trị mạng.
4. Một vài khái niệm liên quan
Signature
Là những dấu hiệu. Signature là phần mà ta có thể thấy được trọng một gói dữ
liệu. Nó được sử dụng để phát hiện ra một hay nhiều kiểu tấn công. Signature có thể
có ở các phần khác nhau của gói dữ liệu. Ví dụ ta có thể tìm thấy tín hiệu trong
header IP, header của tầng giao vận, hoặc header của tầng ứng dụng. Thông thường,
IDS đưa ra quyết định dựa trên những dấu hiệu tìm thấy ở hành động xâm nhập.
Các nhà cung cấp IDS cũng thường xuyên cập nhật các dấu hiệu mới để đảm bảo
tính tối ưu của hệ thống. Tôi sẽ tiếp tục trình bày về Signature trong phần sau.
Logfile.
Chúng ta có thể hình dung logfile là những bản nhật ký lưu lại quá trình hoạt
động của hệ thống. Thông thường, những thông tin mà IDS thu được sẽ được lưu
trong logfile. Chúng có thể lưu dưới dạng file text hoặc dạng nhị phân. Với máy
tính cá nhân, việc đọc logfile dường như không quan trọng nhưng để cho một hệ
thống (client - server) hoạt động bình thường, ổn định thì một việc rất quan trọng là
thường xuyên đọc logfile hệ thống. Việc đọc logfile giúp cho người quản trị có thể
lưu bug/exploit, lưu lại lịch sử quá trình dùng máy - cài đặt phần mềm, theo dõi tình
trạng hệ thống
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
10
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Việc kiểm tra logs thường xuyên để nắm toàn bộ logs thì thực chất là khó khả
thi vì quá nhiều logs và vì đa phần là logs vô nghĩa, nên yêu cầu phải xây dựng kế
hoạch logs. Khi xây dựng kế hoạch logs, nên chú ý:
+ Lựa chọn những chương trình hỗ trợ logs tốt, tài liệu phân tích, giải nghĩa
log đầy đủ.
+ Phần mềm lưu logs nên áp dụng theo cơ chế tập trung, kiểu client - server.
+ Phần mềm logs có hỗ trợ lọc bỏ những logs vô nghĩa hoặc không cần thiết.
+ Phần mềm logs phải có hỗ trợ cảnh báo, dựa trên những mẫu mà mình định
sẵn.
Có thể dùng các phần mềm chuyên dụng để đọc logfile như ACTIX hay TEMS
investigation,
Alert
Là những cảnh báo, là lời thông báo ngắn về những hành động xâm nhập bất
hợp pháp. Khi IDS phát hiện ra kẻ xâm nhập, nó sẽ thông báo cho người quản trị
bằng alert. Alert có thể là Pop - up Windows, bằng mail, Đồng thời hành động
này cũng có thể được lưu vào logfile để các chuyên gia bảo mật có thể xem lại.
False alarm
Là những thông báo đúng về một dấu hiệu nhưng thực chất thì hành động xâm
nhập chưa xảy ra. Trường hợp này, ta gọi là IDS đã cảnh báo sai.
Sensor
Sensor là bộ cảm biến, là những thiết bị mà hệ thống phát hiện xâm nhập chạy
trên nó bởi vì nó được sử dụng như các giác quan trên mạng, cũng tương tự như các
sensor trong các ngành kỹ thuật khác, sensor dùng để bắt tín hiệu âm thanh, màu
sắc, ánh sáng, thì sensor ở đây sẽ bắt các tín hiệu của xâm nhập bất hợp pháp.
Vị trí của sensor phụ thuộc vào mô hình của hệ thống mạng. Ta có thể đặt ở
một hoặc nhiều nơi, nó phụ thuộc vào loại hoạt động mà ta muốn giám sát (internal,
external hoặc cả 2). Ví dụ, nếu ta muốn giám sát hành động xâm nhập từ bên ngoài
và ta chỉ có một router kết nối với internet thì nơi thích hợp nhất là đặt phía sau thiết
bị router (hay firewall). Nếu ta có nhiều đường kết nối với Interrnet thì ta có thể đặt
sensor tại mỗi điểm kết nối với Internet. Ta có thể hình dung qua hình vẽ sau:
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
11
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Hình 1.1: Vị trí của IDS trong mạng
Honeypot
Là hệ thống hấp dẫn hacker bằng cách vận hành như một hệ thống bảo mật
yếu. Khi một hacker tìm thấy một Honeypot, họ sẽ thực hiện các thao tác trên đó.
Trong khoảng thời gian này, ta có thể log các hành động của hacker lại và tìm ra
phương thức và kỹ thuật xâm nhập của họ để sau này chúng ta có thể dùng các
thông tin này cho việc bảo mật hệ thống.
II. Kiến trúc hệ thống IDS
1. Các nhiệm vụ thực hiện
Nhiệm vụ chính của hệ thống phát hiện xâm nhập là bảo vệ cho một hệ thống
máy tính bằng cách phát hiện các dấu hiệu tấn công. Việc phát hiện các tấn công
phụ thuộc vào số lượng và kiểu hành động thích hợp. Toàn bộ hệ thống cần phải
được kiểm tra một cách liên tục. Thông tin được các hệ thống phát hiện xâm nhập
được kiểm tra một cách cẩn thận (điều này rất quan trọng cho mỗi IDS) để phát hiện
ra các dấu hiệu tấn công.
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
12
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Hình 1.2: Quá trình của IDS
Hình 1.3: Cơ sở hạ tầng IDS
Khi một hành động xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến
quản trị viên hệ thống về sự việc này. Bước tiếp theo được thực hiện bởi các quản
trị viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổ sung (các
chức năng khoá để giới hạn các session, backup hệ thống, định tuyến các kết nối
đến bẫy hệ thống cơ sở hạ tầng hợp lệ, ) theo các chính sách bảo mật của các tổ
chức (Hình 1.3). Một IDS là một thành phần trong chính sách bảo mật.
Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong
những nhiệm vụ cơ bản. Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp
lý các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấn
công trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống.
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
13
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
2. Kiến trúc của hệ thống phát hiện xâm nhập
Hình 1.4: Một IDS mẫu
Kiến trúc của IDS bao gồm 3 thành phần chính: Thành phần thu thập gói tin
(information collection), thành phần phân tích gói tin và phát hiện xâm nhập
(detection), thành phần phản hồi (response) nếu gói tin đó được phát hiện là một tấn
công của hacker. Trong 3 thành phần này thì thành phần phân tích gói tin là quan
trọng nhất và ở thành phần này bộ cảm biến (sensor) đóng vai trò quyết định nên ta
sẽ đi sâu vào phân tích bộ cảm biến để hiểu rõ hơn kiến trúc của IDS.
Bộ cảm biến được tích hợp với thành phần sưu tập dữ liệu (Hình 1.5) – một bộ
tạo sự kiện. Cách sưu tập này được xác định bởi chính sách tạo sự kiện để định
nghĩa chế độ lọc thông tin sự kiện. Bộ tạo sự kiện (Hệ điều hành, mạng, các ứng
dụng) cung cấp một số chính sách thích hợp cho các sự kiện, có thể là một bản ghi
các sự kiện của hệ thống hoặc các gói mạng. Số chính sách này cùng với thông tin
chính sách có thể được lưu trong hệ thống được bảo vệ hoặc bên ngoài. Trong
trường hợp nào đó, ví dụ, khi luồng dữ liệu được truyền tải trực tiếp đến bộ phận
phân tích mà không có sự lưu dữ liệu nào được thực hiện. Điều này cũng liên quan
một chút nào đó đến các gói mạng.
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
14
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Hình 1.5: Các thành phần của IDS
Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ dữ liệu không
tương thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể
phát hiện được các hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính
sách phát hiện cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công,
profile hành vi thông thường, các tham số cần thiết (Ví dụ: các ngưỡng). Thêm vào
đó, cơ sở dữ liệu giữ các tham số cấu hình, gồm có các chế độ truyền thông với
module đáp trả. Bộ cảm biến cũng có cơ sở dữ liệu của riêng nó, gồm dữ liệu lưu về
các xâm phạm phức tạp tiềm ẩn (Tạo ra từ nhiều hành động khác nhau).
IDS có thể được sắp đặt tập trung (ví dụ như được tích hợp vào trong tường
lửa) hoặc phân tán (DIDS – Distributed Intrusion Detection System). Một IDS phân
tán gồm nhiều IDS khác nhau trên một mạng lớn, tất cả chúng truyền thông với
nhau. Nhiều hệ thống tinh vi đi theo nguyên lý cấu trúc một tác nhân, nơi các
module nhỏ được tổ chức trên một host trong mạng được bảo vệ.
Vai trò của tác nhân là để kiểm tra và lọc tất cả các hành động bên trong vùng
được bảo vệ và phụ thuộc vào phương pháp được đưa ra – tạo phân tích bước đầu
và thậm chí đảm trách cả hành động đáp trả. Mạng các tác nhân hợp tác báo cáo đến
máy chủ phân tích trung tâm là một trong những thành phần quan trọng của IDS.
DIDS có thể sử dụng nhiều công cụ phân tích tinh vi hơn, đặc biệt được trang bị sự
phát hiện các tấn công phân tán. Các vai trò khác của tác nhân liên quan đến khả
năng lưu động và tính roaming của nó trong các vị trí vật lý. Thêm vào đó, các tác
nhân có thể đặc biệt dành cho việc phát hiện dấu hiệu tấn công đã biết nào đó. Đây
là một hệ số quyết định khi nói đến nghĩa bảo vệ liên quan đến các kiểu tấn công
mới. Các giải pháp dựa trên tác nhân IDS cũng sử dụng các cơ chế ít phức tạp hơn
cho việc nâng cấp chính sách đáp trả.
Giải pháp kiến trúc đa tác nhân được đưa ra năm 1994 là AAFID
(Autonomous Agents for Intrusion Detection - Các tác nhân tự trị cho việc phát hiện
xâm phạm) – Xem Hình 1.6. Nó sử dụng các tác nhân để kiểm tra một khía cạnh
nào đó về các hành vi hệ thống ở một thời điểm nào đó. Ví dụ: Một tác nhân có thể
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
15
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
cho biết một số không bình thường các telnet session bên trong hệ thống nó kiểm
tra. Tác nhân có khả năng đưa ra một cảnh báo khi phát hiện một sự kiện khả nghi.
Các tác nhân có thể được nhái và thay đổi bên trong các hệ thống khác (tính năng tự
trị). Một phần trong các tác nhân, hệ thống có thể có các bộ phận thu phát để kiểm
tra tất cả các hành động được kiểm soát bởi các tác nhân ở một host cụ thể nào đó.
Các bộ thu nhận luôn luôn gửi các kết quả hoạt động của chúng đến bộ kiểm tra duy
nhất. Các bộ kiểm tra nhận thông tin từ các mạng, điều đó có nghĩa là chúng có thể
tương quan với thông tin phân tán. Thêm vào đó, một số bộ lọc có thể được đưa ra
để chọn lọc và thu thập dữ liệu.
Hình 1.6: Các tác nhân tự trị cho việc phát hiện xâm nhập
III. Phân loại các hệ thống phát hiện xâm nhập
Có nhiều tiêu chí để phân loại các hệ thống phát hiện xâm nhập. Nhưng ở đây,
tôi chỉ đề cập đến phân loại dựa trên phạm vi của IDS. Khi xem xét đến vùng chứa
dữ liệu được sử dụng cho việc phát hiện xâm nhập và phạm vi hoạt động, ta có thể
chia các hệ thống phát hiện xâm nhập thành 2 dạng là: Hệ thống phát hiện xâm
nhập hoạt động trên toàn mạng (NIDS – Network Intrusion Detection System) và hệ
thống phát hiện xâm nhập hoạt động trên các Host ( HIDS – Host Intrusion
Detection System).
1. Network intrusion detection system (NIDS)
NIDS thường được đặt trong các hệ thống mạng để giám sát giao dịch giữa các
thiết bị. Chúng ta có thể quét tất cả các thông tin vào – ra của hệ thống. NIDS cung
cấp dữ liệu về hiệu suất mạng nội bộ, tập hợp lại các gói tin và phân tích chúng.
Chúng không chỉ xử lý các gói đang gửi đến host cụ thể mà còn có thể được cài đặt
trên các thành phần mạng tích cực, ví dụ trên bộ định tuyến. NIDS làm nhiệm vụ
phân tích các packets "đi qua nó" và kiểm tra các dấu hiệu tấn công dựa trên các dấu
hiệu bất thường, nếu dấu hiệu trong packet trùng khớp, NIDS sẽ ghi nhận và phát đi
một cảnh báo (Cách thức như thế nào thì lại phụ thuộc vào người quản trị cấu hình).
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
16
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Người ta thường tranh cãi về vị trí đặt NIDS (Trước hay sau firewall) nhưng
tất cả đều đồng ý rằng sử dụng nhiều NIDS sẽ tốt hơn.
Ưu điểm của NIDS:
+ Quản lý được cả một network segment (Bao gồm nhiều host).
+ Trong suốt với người sử dụng lẫn kẻ tấn công.
+ Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng.
+ Có khả năng xác định lỗi ở tầng Network (Trong mô hình OSI).
+ Chạy độc lập với hệ điều hành (OS)
+ Tránh DoS (Denial of Service) ảnh hưởng tới 1 host nào đó.
Nhược điểm của NIDS:
+ Có thể xảy ra trường hợp báo động giả, tức là không có intrusion mà lại báo
là có intrusion.
+ Không thể phân tích được các traffic đã được encrypt (VD: SSL, SSH,
IPSec )
+ NIDS đòi hỏi phải được cập nhật các signature mới nhất để bảo đảm sự an
toàn.
+ Có độ trễ (delay) giữa thời điểm phát ra báo động và thời điểm bị tấn công.
+ Không biết việc tấn công có thành công hay không?
Các NIDS điển hình là: Cisco Secure IDS (tên cũ là NetRanger), Hogwash,
Dragon, E-Trust IDS.
Hình 1.7: Mô hình NIDS
2. Host intrusion detection systems (HIDS)
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
17
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
HIDS thì lại chạy trên một máy riêng biệt hoặc các thiết bị trên mạng nhằm
phát hiện các tấn công vào chính các thiết bị đó. HIDS còn có thể giám sát file
systems nhằm phát hiện các hành động thay đổi trên tập tin của hệ thống. Host IDS
thường được cài đặt trên một máy tính nhất định, thay vì giám sát hoạt động của
một network segment, HIDS chỉ giám sát hoạt động trên một máy tính. HIDS
thường được đặt trên các host xung yếu của tổ chức, các server và các vùng DMZ
(demilitarized zone) - thường là mục tiêu bị tấn công đầu tiên. Nhiệm vụ chính của
HIDS là giám sát các thay đổi trên hệ thống, bao gồm:
+ Các tiến trình.
+ Các entry của Registry
+ Mức độ sử dụng của CPU
+ Kiểm tra tính toàn vẹn và truy cập trên hệ thống file
+ Một vài thông số khác
Khi các thông số này vượt qua một ngưỡng định trước hoặc những thay đổi
khả nghi trên hệ thống file sẽ gây ra báo động
Ưu điểm của HIDS:
+ Có khả năng xác định user liên quan tới 1 event.
+ Có khả năng phát hiện các cuộc tấn công diễn ra trên một máy trong khi
NIDS không có khả năng này.
+ Có thể phân tích các dữ liệu đã mã hoá (encrypt).
+ Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này.
Nhược điểm của HIDS:
+ Thông tin từ HIDS không đáng tin cậy ngay khi sự tấn công vào host này đã
thành công
+ Khi OS (Operating System) bị hạ do tấn công thì HIDS cũng bị hạ theo.
+ HIDS phải được thiết lập trên từng host cần giám sát.
+ HIDS không có khả năng phát hiện các cuộc dò quét mạng (VD: Nmap,
Netcat, )
+ HIDS cần tài nguyên trên host để hoạt động.
+ HIDS có thể không hiệu quả khi bị DoS.
Một số sản phẩm HIDS điển hình như: Dragon Squire, Emerald eXpert-BSM,
NFR HID, Intruder Alert.
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
18
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Hình 1.8: Mô hình HIDS
3. Hybrid IDS
Sự khác nhau chủ yếu giữa NIDS và HIDS đó là dữ liệu mà nó tìm kiếm.
NIDS nhìn vào toàn cảnh các chuyển dịch trên mạng, trong khi host IDS thì quan
sát các host, hệ điều hành và các ứng dụng. Vậy những thuận tiện của Host-base
IDS là gì? Sự khác nhau cơ bản giữa chúng đó là trong khi NIDS phát hiện ra các
cuộc tấn công tiềm năng (những thứ sẽ được chuyển tới đích) thì host IDS lại phát
hiện ra những cuộc tấn công mà đã thành công, có kết quả. Bởi vậy có thể nói rằng
NIDS mang tính tiên phong hơn. Tuy nhiên, 1 HIDS sẽ hiệu quả hơn đối với trong
các môi trường có tốc độ chuyển dịch lớn, mã hoá và có chuyển mạch - đây là
những môi trường mà NIDS rất khó hoạt động. HIDS được thử thách bởi rất nhiều
những hành động có mức độ phơi bày cao của kẻ tấn công và đã thực sự nâng tầm
xử lý của chúng. Mặt khác thì NIDS lại là 1 phần rất tuyệt cho môi trường tổng hợp
như toàn bộ mạng. Vì thế, NIDS có thể tạo nên một sự quan sát có ý nghĩa đến các
phần của vụ tấn công có liên quan đến nhiều host. Nó được thử thách trong môi
trường mạng có chuyển mạch tốc độ cao, môi trường mã hoá và các giao thức ứng
dụng hiện đại phức tạp, bởi vậy nên các kết quả báo sai cũng rất có khả năng xảy ra.
Và Hybrid IDS, hệ thống lai giữa 2 loại IDS trên, là những hệ thống nhằm kết
hợp những ưu điểm của mỗi dạng IDS, cũng như việc tối thiểu hoá những hạn chế.
Trong hệ thống lai, cả những bộ máy cảm biến và những máy chủ đều được báo cáo
về một trung tâm quản trị (centralized management or director platform).
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
19
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Càng nhiều thông tin càng tốt, nhưng quá nhiều thông tin từ nhiều nguồn gây
khó khăn trong việc xử lý và công tác quản lý. Việc thể hiện thông tin thu thập từ
bộ cảm biến dựa trên mạng và phần mềm trên máy chủ có thể là một thử thách cho
các nhà sản xuất hệ thống IDS lai.
Về hệ thống Hybrid IDS, tôi không đề cập sâu vì hệ thống này vẫn còn đang
trong thời gian nghiên cứu, chưa triển khai rộng rãi.
IV. Phương thức hoạt động
Hiện nay có rất nhiều hệ thống IDS khác nhau, mỗi hệ thống lại có một
phương thức riêng để bảo đảm an ninh cho hệ thống mạng. Tuy nhiên, chúng ta có
thể khái quát thành 2 phương thức sau:
1. Phương pháp dò dấu hiệu (Signature - based)
Những kẻ xâm nhập thường dùng một số phương pháp để tấn công hệ thống,
mỗi phương pháp như vậy đều có một dấu hiệu (signature) mà ta có thể nhận biết,
bạn có thể hình dung điều này như là các dấu hiệu để nhận biết virus máy tính.
Phương pháp này phân tích các hoạt động của hệ thống, tìm kiếm các sự kiện
giống với các mẫu tấn công đã biết trước. Các mẫu tấn công này gọi là dấu hiệu.
Kiểu phát hiện tấn công này có ưu điểm là phát hiện tấn công nhanh và chính xác, ít
đưa ra các cảnh báo sai làm giảm hiệu năng hoạt động cua hệ thống và giúp người
quản trị xác định được các lỗ hổng bảo mật trong hệ thống của mình. Tuy nhiên,
phương pháp này có nhược điểm là không phát hiện được các tấn công không có
trong cơ sở dữ liệu, các kiểu tấn công mới, do vậy hệ thống liên tục phải cập nhật
các mẫu tấn công mới.
2. Phương pháp dò sự không bình thường (Anomaly - based)
Đây là kỹ thuật dò thông minh, nhận dạng ra các hành động không bình
thường của mạng. Quan niệm của phương pháp này về các cuộc tấn công là khác so
với hoạt động thông thường. Ban đầu, IDS sẽ mô tả sơ lược về các hoạt động bình
thường của hệ thống. Các cuộc tấn công sẽ có hành động khác so với bình thường
và phương pháp dò này có thể nhận dạng. Có một số kỹ thuật giúp dò sự không
bình thường của các cuộc tấn công như sau:
+ Phát hiện mức ngưỡng: Kỹ thuật này nhẫn mạnh việc đo đếm các hoạt động bình
thường trên mạng. Các mức ngưỡng về các hoạt động bình thường được đặt ra. Nếu
có sự bất thường nào đó như đăng nhập với số lần quá qui định, số tiến trình hoạt
động trên CPU, số lượng một loại gói tin được gửi vượt quá mức, thì hệ thống có
dấu hiệu bị tấn công.
+ Phát hiện nhờ quá trình tự học: Kỹ thuật này gồm 2 bước: Khi bắt đầu thiết lập,
IDS sẽ chạy ở chế độ tự học và tạo ra một hồ sơ về cách cư xử của mạng với các
hoạt động bình thường. Sau thời gian khởi tạo, hệ thống sẽ chạy ở chế độ làm việc,
tiến hành theo dõi, phát hiện các hoạt động bất thường của mạng bằng cách so sánh
với hồ sơ đã thiết lập. Chế độ tự học có thể chạy song song với chế độ làm việc để
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
20
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
có thể cập nhật hồ sơ của mình, nhưng khi phát hiện ra tín hiệu tấn công, thì chế độ
tự học phải ngừng lại cho tới khi cuộc tấn công kết thúc.
+ Phát hiện sự không bình thường của giao thức: Kỹ thuật này căn cứ vào hoạt
động của giao thức, các dịch vụ của hệ thống để tìm ra các gói tin không hợp lệ, các
hoạt động bất thường vốn là dấu hiệu của sự xâm nhập, tấn công. Kỹ thuật này rất
hiệu quả trong việc ngăn chặn các hình thức quét mạng, quét cổng để thu thập thông
tin của tin tặc.
Phương pháp dò sự không bình thường của hệ thống rất hữu hiệu để phát hiện
các tấn công dạng từ chối dịch vụ. Ưu điểm của phương pháp này là có thể phát
hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích, bổ sung cho phương
pháp dò dấu hiệu, tuy nhiên chúng có nhược điểm là thường tạo ra một số lượng
cảnh báo sai làm giảm hiệu năng hoạt động của mạng. Phương pháp này sẽ là
hướng được nghiên cứu nhiều hơn, khắc phục các nhược điểm còn gặp, hạn chế các
cảnh báo sai để hệ thống chạy chuẩn xác hơn.
V. Các tuỳ chọn đáp ứng
Khi các hệ IDS phát hiện ra dấu hiệu xâm nhập, chúng cần phải có hành vi để
đáp trả lại các dấu hiệu đó, ta phân các đáp ứng này làm 2 loại:
+ Đáp ứng tích cực: Các đáp ứng này là các hành động tự động được thực hiện
bởi IDS mỗi khi phát hiện dấu hiệu xâm nhập.
+ Đáp ứng tiêu cực: Đáp ứng kiểu này là IDS cung cấp thông tin cho quản trị
hệ thống và từ đó con người sẽ ra quyết định chứ không phải hệ thống tự đưa ra
quyết định.
VI. Tấn công vượt qua IDS
Rõ ràng sự bảo đảm toàn vẹn tuyệt đối của một hệ thống là không thể. Để giúp
cho việc xây dựng chiến lược an ninh, trong phần này tôi sẽ khái quát một số
phương thức mà các hacker thường khai thác lỗi IDS như thế nào
1. Phân đoạn - Fragmentation
Phân đoạn hoặc chia nhỏ các gói tin là một trong những cách chống lại IDS, và
phương pháp này thường đánh gục tất cả các NIDS thương mại được thiết kế cách
đây vài năm. Bằng cách cắt các gói tin thành những mẩu nhỏ, các hacker có thể hạ
được IDS. Một IDS trạng thái dịch ngược các gói tin để phân tích, nhưng khi lượng
các gói tin tăng tiến, tiến trình cũng tiêu thụ hết nhiều nguồn lực hơn và trở nên bắt
đầu thiếu chính xác. Dường như có một giá trị xác định những con số những phân
đoạn mà một IDS có thể xử lý, và khi số phân đoạn mà hacker tạo ra vượt quá con
số này, thì IDS sẽ bị vô hiệu hoá.
2. Giả mạo - spoofing
Ngoài phương pháp phân đoạn dữ liệu, các hacker còn có thể giả mạo TCP
sequence number mà NIDS nhìn thấy. Ví dụ như, nếu gói tin tiền kết nối SYN cùng
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
21
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
với 1 số thứ tự được chuyển, IDS trở thành một thiết bị desynchronized từ host vì
host bỏ qua những SYN không được đánh giá cao và không được trông đợi, trong
khi đó IDS tự thiết lập lại để nhận số thứ tự mới. Bởi vậy, khi đó IDS bỏ qua dòng
dữ liệu thực vì nó đang chờ một số thứ tự mới mà không tồn tại. Khi gửi một gói tin
RST (Reset) với địa chỉ giả mà chịu trách nhiệm cho SYN giả mạo có thể làm kết
thúc kết nối này với IDS.
Nhìn chung, NIDS không biết bằng cách nào máy đích sẽ dịch những thông tin
đầu vào. Bởi vậy, những giao tiếp mạng bất thường có thể được thiết lập để có thể
nhìn thấy sự khác biệt từ chính IDS. Chỉ có địa chỉ đích thực sự mới có thể cho
phép tất cả các vấn đề của NIDS được giải quyết.
3. Thay đổi giao thức - Protocol mutation
Ta sẽ mô tả phương pháp này thông qua ví dụ về Whisker. Nó là công cụ rất
mạnh để hack các Web server bằng cách làm giả một yêu cầu HTTP để vượt qua
IDS.
Một CGI cổ điển sẽ theo chuẩn http sau:
GET/cgi-bin/script.cgi http/1.0
Chúng ta có thể thường xuyên tạo ra các fool bằng cách thêm các dữ liệu mở rộng
vào yêu cầu của chúng ta. Trong yêu cầu trên, ta có thể thay đổi như sau:
GET/cgi-bin/subdirectory/ /script.cgi http/1.0
Trong trường hợp này, chúng ta yêu cầu thư mục con và sử dụng / / để chuyển tới
thư mục cha và thực hiện script đích, cách thức đánh lừa này trong các back door
được đề cập như một thư mục thay đổi và nó là một trong những cách đánh lừa phổ
biến nhất hiện nay.
Nói thêm về Whisker: Whisker được phát triển bởi Rain Forest Puppy (Có thể
download và tham khảo thêm tại ). Nó xuất hiện vào thời kỳ
đầu của Web khi mà các lỗ hổng đều liên quan đến CGI (Common Gateway
Interface) hoặc script. Whisker tự động tạo ra các cách tấn công IDS rất đa dạng.
Kết quả là Whisker được biết đến như một công cụ Anti IDS.
4. Tấn công vào thiết bị kiểm tra tính toàn vẹn
Như đã đề cập trước, IDS là những thiết bị kiểm tra tính toàn vẹn và tập hợp
thông tin về các file ở chế độ khởi tạo. Sau đó chương trình sẽ kiểm tra những thay
đổi. Thêm vào đó, người quản trị hệ thống có thể cập nhật những dấu hiệu sau khi
cấu hình lại hệ thống. Phụ thuộc vào sự thực thi của host IDS mà mỗi chế độ đều có
thể bị tấn công.
Một kẻ tấn công có thể tự thay đổi phần mềm host IDS, sau đó gửi thông tin
sai lệch đến bàn điều khiển host IDS trung tâm hoặc có thể làm cho hệ thống nhầm
lẫn giữa những công việc kiểm tra tính toàn vẹn. Đồng thời một số chương trình tấn
công vào nhân cũng có thể bị IDS bỏ qua vì chúng có thể tự làm đúng đối với hệ
thống và lừa IDS thành công
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
22
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
VII. Tương lai của IDS
1. Hệ thống IDS nhúng - Embedded IDS
IPSec (Viết tắt của IP Security) trở thành một chuẩn phổ biến cho an toàn dữ
liệu trên mạng. IPSec là một bộ những chuẩn những chuẩn về an toàn được thiết kế
bởi IETF (Internet Engineering Task Force) nhằm cung cấp sự bảo vệ đầu - cuối
cho các dữ liệu cá nhân. Việc thực thi các chuẩn này có thể cho phép một thiết bị có
thể chuyển dữ liệu trên một mạng không đáng tin cậy như Internet trong khi ngăn
chặn các kẻ tấn công, phá hỏng, ăn trộm hoặc spoofing các giao tiếp cá nhân riêng
biệt này.
Bằng cách bảo vệ an toàn cho những gói tin tại tầng Network, IPSec cung cấp
các dịch vụ mã hoá trong suốt đối với các ứng dụng cũng như bảo vệ truy cập cho
an toàn mạng. Ví dụ, IPSec có thể cung cấp sự an toàn đầu cuối cho các hệ thống
cấu hình client to client, server to server, client to server.
Nhưng IPSec lại là con dao 2 lưỡi cho IDS. Một mặt, IPSec cho phép người sử
dụng log an toàn vào mạng của họ, mặt khác IPSec lại mã hóa dữ liệu, khiến cho
việc sniffing của IDS kém hiệu quả. Nếu hacker tấn công vào thiết bị đăng nhập từ
xa của người sử dụng, họ sẽ có một tunnel an toàn để xâm nhập vào toàn bộ mạng.
Để sửa lỗi này của IPSec, những IDS tương lai đều phải nhúng vào các tầng của
TCP/IP stack tại host. Điều này sẽ cho phép IDS quản lý những dữ liệu khi nó chưa
bị mã hoá, chưa bị unencapsualated. Đây là hệ thống trong tương lai sẽ phát triển
theo dự đoán của các nhà bảo mật mạng.
2. Ngăn chặn những dấu hiệu bất thường được phát hiện thấy
Bởi vì những cuộc tấn công vẫn tiếp diễn và ngày càng tốc độ và phức tạp, do
đó IDS càng ngày càng ít khả năng chống chọi. Trả lời cho tình huống này bằng
cách ngăn cấm những dấu hiệu bất thường được phát hiện thấy: tất cả những dấu
hiệu bất thường, bất kể chúng là chính hay phụ, đều được báo động bằng xác nhận
đúng. Phương pháp này đòi hỏi các IDS phải được đưa về các host riêng rẽ hơn là
để chúng trong toàn mạng. Một host riêng rẽ có thể có nhiều mẫu thông tin có thể
dự báo được hơn là trên toàn mạng. Mỗi một host được nói đến đều có một IDS để
phát hiện bất kỳ một dấu hiệu bất thường nào. Sau đó người quản trị có thể đưa ra
những quy luật (ngoại lệ) cho các tùy biến có thể được chấp nhận. Theo cách này,
IDS giám sát các hoạt động theo cách mà firewall giám sát truyền thông.
3. Sự rắc rối của mạng hiện nay
Sự gia tăng của những mạng switch làm cản trở 1 IDS trong việc giám sát
mạng sử dụng chế độ pha tạp, phân tích giao thức thụ động. Nó trở nên ngày càng
khó để giám sát nhiều host cùng lúc bởi vì sự gia tăng của đường truyền, những
mạng ảo và những sự rắc rối khác. Thêm vào đó là sự mã hoá, phân tích dữ liệu
cũng làm cho quá trình hoạt động của IDS bị cản trở. Bởi vậy, như trên đã nói, IDS
hiện nay và trong tương lai thường được giám sát dựa trên một host cố định.
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
23
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
4. Hiển thị dữ liệu
Bởi vì đường truyền và hiệu quả các cuộc tấn công ngày càng tăng, nên việc
tạo ra các cảnh báo chính xác ngày càng trở nên khó khăn. Lượng dữ liệu cảnh báo
được tạo nên bởi IDS có thể nhanh chóng vượt quá thao tác của con người. Thật
không may, việc lọc dữ liệu cho con người thường sử dụng hạn chế những hiệu quả
của nó.
Do vậy, các IDS tương lai đưa ra một khái niệm là "Visual Display of Data".
Có nghĩa là dữ liệu sẽ được mô hình hoá trên màn hình đồ hoạ với tốc độ, giai điệu,
màu sắc, âm thanh, Khi có sự khác lạ, thay đổi trên mạng mà tác động đến các dữ
liệu này, thì các biểu hiện của dữ liệu trên màn hình đồ hoạ cũng thay đổi theo.
Chúng ta có thể hình dung lúc này, hệ thống hiển thị dữ liệu sẽ giống như một máy
đo nhịp tim trong bệnh viện, người quản trị mạng có thể dễ dàng giám sát LAN
bằng cách để ý đến màn hình.
CHƯƠNG 2: TRIỂN KHAI HỆ THỐNG PHÁT HIỆN XÂM NHẬP
I. Tổng quan về Snort.
1. Giới thiệu
Hiện nay, có rất nhiều hệ thống phát hiện xâm nhập khác nhau, nhưng đang
được đánh giá cao trong giới bảo mật, có lẽ phải kể đến Snort. Snort được thiết kế
dùng command line và nó có thể được tích hợp chung với các sản phẩm khác và
được dùng trên nhiều platforms khác nhau. Đây là một phần mềm mã nguồn mở có
khả năng phát hiện, chống sự xâm nhập trái phép. Nó hoạt động như một phần mềm
đứng giữa sự giao tiếp của hai máy tính. Các packet trước khi được gửi đến máy
tính đích sẽ được snort kiểm tra, thẩm định. Snort có thể phát hiện nhiều loại xâm
nhập như: buffer overflows, stealth port scans, CGI attacks, SMB probes, OS
fingerprinting attempts…
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
24
Nghiên cứu và triển khai hệ thống phát hiện xâm nhập mạng
Dữ liệu được thu thập và phân tích bởi Snort. Sau đó, Snort lưu trữ dữ liệu
trong cơ sở dữ liệu MySQL bằng cách dùng output plug-in
Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plug-in cũng tồn
tại để phát hiện sự bất thường trong các header của giao thức. Snort sử dụng các
luật được lưu trữ trong các file text, có thể được chỉnh sửa bởi người quản trị. Các
luật được nhóm thành các kiểu. Các luật thuộc về mỗi loại được lưu trong các file
khác nhau. File cấu hình chính của Snort là snort.conf. Snort đọc những luật này
vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp các luật để bắt giữ dữ
liệu. Tìm ra các dấu hiệu và sử dụng chúng trong các luật là một vấn đề đòi hỏi sự
tinh tế, vì càng sử dụng nhiều luật thì năng lực xử lý càng được đòi hỏi để thu thập
dữ liệu trong thực tế. Snort có một tập hợp các luật được định nghĩa trước để phát
hiện các hành động xâm nhập và ta cũng có thể thêm vào các luật của mình. Cũng
có thể xóa một vài luật đã được tạo trước để tránh việc báo động sai.
2. Các thành phần và cơ chế hoạt động của Snort
Snort được chia thành nhiều phần. Những phần này làm việc cùng nhau
nhằm phát hiện những loại tấn công khác nhau và sinh ra trong một định dạng yêu
cầu từ hệ thống phát hiện. Một Snort IDS cơ bản gồm các thành phần chính sau:
a. Packet Decoder: Bộ giải mã gói
b. Preprocessors: Bộ tiền xử lý.
c. Detection Engine: Bộ máy phát hiện
d. Logging and Alerting System: Hệ thống ghi và cảnh báo.
e. Output Modules: Các modules xuất.
Dưới đây là mô hình của các thành phần và cơ chế của Snort:
Hình 2.1: Cơ chế hoạt động của IDS
Sinh viên thực hiện: Hoàng Thanh Tùng
Lớp: Truyền thông và mạng máy tính
25