Vì vậy, tại Việt Nam, chỉ có một số cơ quan, đơn vị lớn vềứng dụng công nghệ thông tin mua các sản phẩm bảo vệ an ninh này để sửdụng bảo vệ mạng máy tính của mình.[4]Xuất phát từ nhu cầu
Trang 1TẠ TUẤN DŨNG
NGHIÊN CỨU, XÂY DỰNG MỘT SỐ GIẢI PHÁP
VÀ PHẦN MỀM CẢNH BÁO, PHÁT HIỆN XÂM NHẬP
MẠNG, CHỐNG TRUY CẬP TRÁI PHÉP
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HỒ VĂN CANH
Thái Nguyên - năm 2013
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG I: NGHIÊN CỨU VỀ CÁC HỆ THỐNG GIÁM SÁT, PHÁT HIỆN XÂM NHẬP MẠNG MÁY TÍNH 3
1.1 Nghiên cứu nguyên tắc cơ bản và một số hình thái xâm nhập trái phép trên mạng 3
1.1.1 Các hình thái xâm nhập mạng trái phép 3
1.1.2 Các biện pháp hoạt động xâm nhập máy tính 6
1.1.3 Thủ đoạn của hacker lấy mật khẩu đăng nhập 7
1.2 Nghiên cứu khái niệm về phần mềm IDS giám sát, phát hiện xâm nhập .7
1.2.1 Tổng quan về phần mềm IDS 7
1.2.2 Thành phần của một IDS chuẩn bao gồm: 9
1.2.3 Những tính năng cơ bản nhất của hệ thống phát hiện xâm nhập 12
1.2.4 Thành phần chức năng cơ bản của một hệ thống giám sát an ninh mạng 14
1.2.5 Các công cụ hỗ trợ bổ sung cho IDS 23
CHƯƠNG II: TÌM HIỂU VỀ PHẦN MỀM SNORT 27
2.1 Giới thiệu về Snort 27
2.2 Kiến trúc của Snort 27
2.2.1 Module giải mã gói tin 28
2.2.2 Module tiền xử lý 29
2.2.3 Module phát hiện 30
2.2.4 Module log và cảnh báo 31
Trang 32.2.5 Module kết xuất thông tin 31
2.3 Cấu trúc luật của Snort 31
2.3.1 Khái niệm cơ sở 31
2.3.2 Phần header của luật 36
2.3.3 Các tuỳ chọn luật 39
2.3.4 Preprocessors 50
2.3.5 Các module Output 54
CHƯƠNG III: ỨNG DỤNG TRIỂN KHAI GIẢI PHÁP IDS VỚI PHẦN MỀM SNORT 57
3.1 Mục đích và yêu cầu 57
3.2 Xây dựng cấu trúc của hệ phần mềm cảnh báo, phát hiện xâm nhập mạng máy tính 57
3.3 Cài đặt đầu dò Snort 60
3.4 Chạy chương trình Snort 61
3.4.1 Sniffer Mode 61
3.4.2 Mode Packet Logger 61
3.4.3 Mode Network Inturusion Detection 63
3.4.4 Hỗn hợp 65
3.5 Hình ảnh cài đặt chương trình và một số kết quả 67
3.5.1 Hình ảnh cài đặt chương trình 67
3.5.2 Kết quả thực hiện một phiên giám sát an ninh 70
3.5.3 Kết quả kiểm tra khả năng phát hiện dấu hiệu xâm nhập của phần mềm 72
TÀI LIỆU THAM KHẢO 74
Trang 5LỜI CẢM ƠN
Đầu tiên tôi xin gửi lời cảm ơn chân thành tới các thầy, cô giáo trườngĐại học Công Nghệ Thông Tin và Truyền Thông – Đại Học Thái Nguyêncùng các thầy cô giáo thuộc Viện Công nghệ thông tin – Đại học Quốc gia HàNội đã nhiệt tình giảng dạy và truyền đạt kiến thức cho tôi trong thời gian họctập
Tôi xin gửi lời cảm ơn sâu sắc tới thầy Hồ Văn Canh, người đã địnhhướng, hướng dẫn và hỗ trợ tôi rất nhiều để hoàn thành luận văn này
Tôi xin gửi lời cảm ơn tới các anh chị đồng nghiệp và cảm ơn bạn bècùng khóa, cùng trường đã nhiệt tình hỗ trợ trong thời gian tôi làm luận văn.Mặc dù đã rất cố gắng hoàn thành luận văn này, xong luận văn sẽ khótránh khỏi những thiếu sót Tôi rất mong nhận được sự nhận xét, góp ý, tậntình chỉ bảo từ các thầy, cô
Một lần nữa, tôi xin chân thành cảm ơn!
TÁC GIẢ LUẬN VĂN
Tạ Tuấn Dũng
Trang 6LỜI CAM ĐOANTôi xin cam đoan bản Luận văn là công trình nghiên cứu khoa học độclập của tôi Luận văn này không sao chép toàn bộ các tài liệu, công trìnhnghiên cứu của người khác Tất cả các đoạn trích dẫn nằm trong các tài liệu,công trình nghiên cứu của người khác đều được ghi rõ nguồn và chỉ rõ trongtài liệu tham khảo.
Tôi xin cam đoan những điều trên là đúng sự thật, nếu sai, tôi xin chịu hoàn toàntrách nhiệm.
TÁC GIẢ LUẬN VĂN
Tạ Tuấn Dũng
Trang 7BẢNG KÝ HIỆU VIẾT TẮT
IDS Intrusion Detection Systems
IPS Intrusion Prevention Systems
DoS Denial of Services
GUI Graphical User Interface
NIDS Mode Network Inturusion Detection
Trang 9LỜI MỞ ĐẦU
Song song với sự phát triển ứng dụng mạng máy tính trong hầu hết cáclĩnh vực của đời sống xã hội và an ninh quốc phòng là nguy cơ bị lộ lọt nhiềuthông tin quan trọng ra bên ngoài Hiện nay chúng ta đã có nhiều phươngpháp bảo vệ mạng có hiệu quả như ứng dụng mật mã học, hàm băm an toàn
và tường lửa (Firewall) Mỗi phương pháp đó có những ưu và nhược điểmnhất định Do đó người ta đã sử dụng nhiều biện pháp đồng thời để bảo vệthông tin cho mạng dùng riêng khi kết nối với mạng máy tính toàn cầu.Tuynhiên, một vấn đề đặt ra trong thực tế là: Các biện pháp hiện có đã đủ đảmbảo an toàn thông tin cho mạng dùng riêng của mình chưa? Tại sao, nhiềuthông tin quan trọng vẫn thường bị lộ lọt ra bên ngoài? Do đó, người ta luônnghiên cứu và bổ sung các biện pháp khác nhằm tăng cường an ninh, an toàncho mạng dùng riêng của mình khi kết nối với mạng Internet Một trongnhững biện pháp được quan tâm nghiên cứu và ứng dụng rộng rãi trên toànthế giới, đó là hệ thống phần mềm giám sát, cảnh báo đối với các tấn công,xâm nhập trái phép vào hệ thống mạng Trong những năm gần đây, các vụ tấncông ngày càng tăng lên về số lượng và mức độ nghiêm trọng thì các hệ thốngphát hiện xâm nhập là sự bổ sung cần thiết và kịp thời cho hệ thống thiết bị anninh mạng đã có
Hiện nay, trên thế giới có rất nhiều sản phẩm giám sát an ninh mạng(IDS) ở mức công nghiệp (Enterprise-level) – hệ IPS (Intrusion PreventionSystems) có khả năng tích hợp nhiều chức năng: Phát hiện xâm nhập(detection), giám sát (monitoring) và ngăn chặn (blocking) Nhiều hệ thốngphần mềm được tích hợp vào các thiết bị máy tính chuyên dụng có cấu trúcrack-mount để cắm trực tiếp vào các tủ mạng và chạy theo chế độ thời gianthực Một số hệ thống còn tích hợp luôn với firewall Đa phần các sản phẩmloại này là của Mỹ có chất lượng và tính năng đảm bảo an toàn cao Tuy
Trang 10nhiên, giá của các hệ thống thiết bị này rất cao thông thường từ 25.000 USDđến 35.000 USD Vì vậy, tại Việt Nam, chỉ có một số cơ quan, đơn vị lớn vềứng dụng công nghệ thông tin mua các sản phẩm bảo vệ an ninh này để sửdụng bảo vệ mạng máy tính của mình.[4]
Xuất phát từ nhu cầu trên, để xây dựng và triển khai được một hệ phầnmềm giám sát IDS đủ mạnh, nhưng lại tiết kiệm được chi phí, phù hợp vớicác tổ chức, đơn vị có quy mô vừa và nhỏ, tôi đã nghiên cứu và lựa chọn giảipháp phần mềm nguồn mở cho hệ thống giám sát an ninh mạng IDS Sau mộtthời gian nghiên cứu, triển khai với sự cộng tác, giúp đỡ của bạn bè, cơ quanđồng nghiệp, và đặc biệt là sự hướng dẫn của thầy giáo – Tiến sĩ Hồ VănCanh, tôi đã triển khai thành công hệ phần mềm giám sát, phát hiện xâm nhậpmạng, chống truy cập trái phép, được tích hợp vào hệ thống mạng riêng tạiTrung tâm Công nghệ thông tin và Truyền thông Thái Nguyên Kết quả là khảquan, những hoạt động thăm dò mạng, virus (các gói tin qua cổng 135), khaithác proxy (8080), khai thác Cơ sở dữ liệu, ping flood đều được phát hiện
Báo cáo luận văn được trình bày trong 3 chương:
Chương 1: Nghiên cứu về các hệ thống giám sát, phát hiện xâm nhậpmạng máy tính
Chương 2: Tìm hiểu về phần mềm Snort
Chương 3: Ứng dụng triển khai giải pháp IDS với phần mềm Snort
Trang 11CHƯƠNG I: NGHIÊN CỨU VỀ CÁC HỆ THỐNG GIÁM SÁT,
PHÁT HIỆN XÂM NHẬP MẠNG MÁY TÍNH
1.1 Nghiên cứu nguyên tắc cơ bản và một số hình thái xâm nhập trái phép trên mạng
Hầu hết các cuộc tấn công xâm nhập mạng máy tính chỉ với mục tiêuphá hủy hệ thống bảo mật của hệ thống theo những phương thức rất cụ thể
Ví dụ, những cuộc tấn công nhất định có thể cho phép kẻ tấn công đọc các tệpnhưng không cho phép bất cứ các thay đổi nào đối với các thành phần của hệthống Mặc dù cuộc tấn công xâm nhập có nhiều dạng và nhiều khả năng khácnhau, nhưng chung quy lại chúng thường gây nên các thương tổn đến tính bảomật hệ thống: tính khả dụng, tính tin cậy, tính toàn vẹn và tính điều khiển
Tính tin cậy: Một cuộc tấn công gây ra một vi phạm về tính toàn vẹn nếu
nó thay đổi được trạng thái hệ thống hoặc bất cứ dữ liệu nào thường trú trên
hệ thống
Tính khả dụng: Một cuộc tấn công gây ra vi phạm về tính khả dụng khi nó
có khả năng ngăn những người sử dụng hợp pháp truy cập vào tài nguyên hệthống trong những thời điểm người sử dụng cần truy cập
Tính điều khiển: Một cuộc tấn công gây ra vi phạm điều khiển hệ thống nếu
nó tạo khả năng cho kẻ tấn công những đặc quyền về chính sách điều khiểntruy cập hệ thống Những đặc quyền này sẽ dẫn đến những vi phạm về tínhkhả dụng, tính tin cậy và tính toàn vẹn của thông tin
1.1.1 Các hình thái xâm nhập mạng trái phép
Trang 12- Các máy có mặt trên mạng
- Hệ điều hành đang sử dụng trên từng máy đang chạy
- Phần mền máy chủ dịch vụ trên các máy đang chạy
- Số hiệu phiên bản phần mềm…
Ngoài ra kẻ tấn công có thể biết thêm nhiều thông tin khác nếu máyđang chạy có nhiều sơ hở hoặc lỗ hổng bảo mật Các dạng thông tin nhạy cảmnhư tên account, account default, mật khẩu yếu, nguồn thông tin chia sẻ…những thông tin này có lợi cho việc khai thác, tấn công mạng của kẻ xâmnhập Về mặt pháp lý thì hành động quét, thăm dò mạng là một hành độnghợp pháp Trên mạng Internet có nhiều người quét, thăm dò chỉ vì mục đíchkhai thác tài nguyên miễn phí từ Internet Ngoài ra quét, thăm dò cũng còn cómục đích có lợi là cho phép người quản trị an ninh mạng phân tích các điểmyếu về bảo mật để khắc phục
Mặt trái của hoạt động này đó là kẻ tấn công lợi dụng những kết quảphân tích thu được để thực hiện xâm nhập thực sự vào hệ thống.[4]
1.1.1.2 Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ chia làm hai loại chính: khai thác lỗ hổng vàtấn công ngập lụt (flooding) Tấn công từ chối dịch vụ là cuộc tấn công khaithác lỗ hổng phần mềm hệ thống để gây ra lỗi xử lý hoặc làm cạn kiệt tàinguyên trên hệ thống đích Một thí dụ điển hình của kiểu tấn công này là “ping of death” Kẻ tấn công gửi gói tin lớn bằng lệnh “ping” đến máy đíchwindows Hệ thống windows không thể xử lý kịp gói tin bất thường này vàkết quả là máy đích bị treo hoặc bị tê liệt trước kiểu tấn công này Với cáckiểu tấn công làm cạn kiệt tài nguyên, bao gồm: Thời gian tính toán của CPU,
bộ nhớ trong, dung lượng đĩa còn trống, dung lượng bộ đệm còn trống, băngthông mạng
Trang 13Tấn công DoS flooding: Đây là cuộc tấn công mà kẻ tấn công gửi đến
hệ thống đích liên tiếp nhiều gói tin làm cho hệ thống đích không kịp xử lýchúng Hệ quả là kẻ tấn công có thể độc chiếm kết nối mạng tới mục tiêu và
từ chối bất cứ người dùng nào sử dụng các tài nguyên này
Tấn công từ chối dịch vụ kiểu phân tán là loại tấn công mà kẻ tấn côngdùng nhiều máy tính đồng thời trong cùng một thời điểm gửi gói tin liên tiếpđến máy đích Một kẻ tấn công không thể làm ngưng dịch vụ một trang webthương mại điện tử cỡ lớn bằng tấn công ngập lụt nó bởi các gói tin gửi đi từmột máy tính Tuy nhiên, nếu chiếm quyền điều khiển được 20 ngàn máycùng đồng thời tấn công thì chắc chắn sẽ thành công
1.1.1.3 Các cuộc tấn công xâm nhập hệ thống
Các cuộc tấn công xâm nhập là các tấn công nhằm đạt được quyền thayđổi dữ liệu, tài nguyên và các đặc quyền hệ thống khác mà đáng ra khôngđược phép Thông thường kiểu tấn công này được thực hiện bằng cách khaithác các lỗ hổng phần mềm hoặc các lỗ hổng trong dịch vụ hệ thống Nếungười quản trị hệ thống chưa kịp vá lỗi phần mềm hoặc dịch vụ thì hệ thống
đó rất dễ bị tấn công
Một cách phân loại khác, đó là phân loại các cuộc tấn công theo hướng:Tấn công từ bên ngoài vào và tấn công từ trong nội bộ Kẻ tấn công từ ngoàimạng là người tấn công từ phía bên ngoài, ví dụ sử dụng spam để gửi thư điện
tử Họ có thể vượt qua bức tường lửa để tấn công vào các máy tính của mạngbên trong Những kẻ tấn công từ bên ngoài thông thường là từ mạng Internet,trực tiếp thâm nhập bằng đường vật lý hoặc thông qua các bạn hàng trênmạng có liên hệ đến mạng nội bộ Kẻ xâm nhập bên trong mạng là nhữngngười sử dụng mạng chính thức bên trong Những người này có thể là nhữnguser tạo cho người khác mất quyền truy nhập mạng hoặc chiếm quyền truynhập hoặc chiếm quyền sử dụng mạng của người khác Theo số liệu của cơ
Trang 14quan an ninh mạng EU thì 80% các vụ vi phạm về an ninh mạng là từ những
kẻ xâm nhập từ bên trong mạng.[2]
1.1.2 Các biện pháp hoạt động xâm nhập máy tính
Xâm nhập vật lý: là những kẻ xâm nhập bằng phương pháp sử dụng bàn
phím máy tính của nạn nhân để đăng nhập mạng, thay hoặc lấy cắp các thiết
bị đĩa từ lưu dữ liệu trên máy tính
Xâm nhập thông qua lỗ hổng của phần mềm: Lỗ hổng phần mềm
được phân loại như sau:
Lỗ hổng do tràn bộ đệm:
Phần lớn các lỗ hổng về an ninh là do tràn bộ đệm Lỗi này đều do hầuhết các hệ điều hành, các phần mềm quản trị cơ sở dữ liệu, thậm chí có trongmột vài phiên bản của hệ điều hành UNIX được đánh giá là hệ điều hànhcông nghiệp an toàn nhất hiện nay Một trong những thí dụ tràn bộ đệm đượccoi là điển hình nhất mà không ai nghĩ đến đó là lỗi tràn bộ đệm sinh ra do tênuser Thông thường tên user trên mạng cũng chỉ được thiết lập tối đa 256 ký
tự hoặc số là cùng Ít ai nghĩ ra được điều gì sẽ xẩy ra nếu tên đó dài hơn 256
ký tự có kèm theo mã code để thực hiện trên máy chủ Thông qua thủ đoạnnày hacker có thể xâm nhập hệ thống.[3]
Lợi dụng chỗ yếu để tấn công tệp mật khẩu:
Từ Service Pack 3 trở đi, NT sử dụng chương trình syskey cho phép bảo
vệ tệp SAM và tệp sao lưu của SAM là sam_ Bằng kỹ thuật mã hóa thêm mộtlần nữa với khóa 128 bit Khóa này có thể ko cần lưu trên máy chủ mà có thểlưu trên đĩa mềm Việc bảo vệ theo cách này có thể được thực thi trên máychủ và trên các máy trạm Tuy vậy nếu để mất đĩa khóa thì không thể nàođăng nhập vào hệ thống được nữa
Trang 15Một yếu tố khác đã tạo điều kiện để cho kẻ tấn công xem được toàn bộdanh sách của người sử dụng, nhóm người sử dụng, log hệ thống cũng nhưmột số công cụ quản trị hệ thống từ xa dựa trên giao thức SMB (ServerMessage Block) đó là người sử dụng vô danh (anonymous) Mục đích tồn tạicủa user này trên hệ thống nhằm phục vụ cho các dịch vụ Null Session khôngcần đòi hỏi xác thực NT cho phép người sử dụng vô danh truy cập vào nguồnđặc biệt gọi là IPC$ (inte-proscess communication).
1.1.3 Thủ đoạn của hacker lấy mật khẩu đăng nhập
Chúng ta biết rằng phần lớn các máy sử dụng trong mạng diện rộng cũngnhư trong mạng LAN đều sử dụng hệ điều hành Windows XP/VISTA.Hacker chỉ cần đột nhập bất kỳ một máy trạm nào đó trong mạng lấy tệp mậtkhẩu dạng tên_user.pwl nằm trong thư mục c:\windows hoặc tệp SAM trongthư mục \winnt\repair và sử dụng một loạt các chương trình mở mật khẩukhác nhau để lấy mật khẩu user và sử dụng mật khẩu đó để đăng nhập lạimạng máy tính.[3]
1.2 Nghiên cứu khái niệm về phần mềm IDS giám sát, phát hiện xâm nhập
1.2.1 Tổng quan về phần mềm IDS
Các hệ thống phát hiện xâm nhập (IDS) là những hệ thống phần mềmhoặc phần cứng thực hiện tự động hóa quá trình giám sát các sự kiện xảy ratrong hệ thống mạng máy tính; phân tích các sự kiện đó để nhận biết nhữngvấn đề liên quan đến an ninh mạng Trong những năm gần đây, khi các vụ tấncông ngày càng tăng lên về số lượng và mức độ nghiêm trọng thì các hệ thốngphát hiện xâm nhập là sự bổ sung cần thiết và kịp thời cho hệ thống thiết bị anninh mạng đã có
Phát hiện xâm nhập là một quá trình giám sát các sự kiện diễn ra ở một
hệ thống máy tính hoặc một mạng máy tính và phân tích chúng để tìm ra các
Trang 16xâm nhập làm tổn hại đến độ tin cậy, tính toàn vẹn và khả năng hoạt động của
hệ thống hoặc để vượt qua cơ chế kiểm soát an ninh của hệ thống máy tính.Những kẻ tấn công thường xâm nhập mạng từ bên ngoài Internet hoặc mạngcông cộng hoặc chính là những người sử dụng trong chính mạng đó đã sửdụng trái phép quyền sử dụng được cấp cho họ Các hệ thống phát hiện xâmnhập là các phần mềm hoặc các sản phẩm phần cứng thực hiện việc tự độnggiám sát và phân tích quá trình này
Việc phát hiện xâm nhập cho phép các cơ quan bảo vệ hệ thống mạngmáy tính khỏi các mối đe dọa thường xuyên khi mạng máy tính đang vậnhành nhằm bảo vệ an toàn cho các hệ thống thông tin và dữ liệu Với ý nghĩa
đó, vấn đề đặt ra cho công tác đảm bảo an ninh mạng máy tính không phải là
có nên hay không nên sử dụng IDS mà là sử dụng đặc điểm và tính năng nàocủa IDS cho phù hợp với yêu cầu của công tác bảo vệ an ninh mạng Sau đây
là những tính năng cơ bản nhất của một hệ thống phát hiện xâm nhập
Hình sau đây giới thiệu một mô hình tổng quát của hệ thống giám sát anninh mạng:
Trang 17Hình 1.1: Mô hình tổng quan một hệ thống giám sát an ninh mạng IDS [7]
1.2.2 Thành phần của một IDS chuẩn bao gồm:
- Giải mã gói tin (Packet Decoder)
- Xử lý bộ (Preprocessors)
- Phát hiện phạm vi (Detection Engine)
- Ghi nhật ký và cảnh báo (Logging and Alerting System)
- Các modul xử lý đầu ra (Output Modules)
Trang 18Hình 1.2: Các thành phần cơ bản của một hệ IDS [9]
Giải mã gói tin
Gói tin được tiếp nhận từ card mạng và được bộ chương trình thư việnlibcap tiếp nhận để giải mã Hệ IDS giải mã gói tin trên tầng Data-link Hệthống IDS có khả năng nhận biết các giao thức truyền thống như IP, TCP,UDP Ngoài ra nó còn có khả năng nhận biết các giao thức khác như Ethernet,802.11, Token Ring
Hàm PocessPacket() trong bộ chương trình decode có nhiệm vụ giải mãkhung dữ liệu Ethernet Hàm DecodeIP thực hiện chức năng giải mã gói IP.Trong quá trình giải mã, nếu các gói tin bị phân mảnh thì khi xử lý phải thêmchức năng hợp gói tin (defragmentation) Chức năng này được thực hiện bởihàm frag2preprocessor
Một số hệ thống IDS chuyên nghiệp còn có tính năng statefull – tính
năng kiểm soát toàn diện trạng thái Với tính năng này, IDS có khă năng xử lýđến 2000 dòng và 64.000 kết nối cùng một lúc Hệ IDS Snort sử dụng hàm
stream4Preprocessor đảm bảo tính năng statefull cho hệ thống Ngoài ra, tính năng statefull còn cho phép hệ thống IDS khả năng xác định được hệ điều
hành của máy xâm nhập và các gói tin vượt ra khỏi phạm vi kiểm soát thông
Trang 19thường (out of state) Chương trình quét thăm dò cổng mạng NMAP cũng có
khả năng tương tự
Giống như các phần mềm bắt các gói tin khác, hệ thống IDS có khả năngthu thập mọi thông tin trong quá trình “bắt tay ba lần” của một kết nối TCP vàlưu chúng vào bảng trạng thái kết nối của máy chủ và máy tấn công Nhữngthông tin đó là: địa chỉ IP, địa chỉ MAC, các cờ trạng thái kết nối như SYN,ACK và FIN Hệ thống IDS còn thông báo kịp thời những tín hiệu sai lệchtrong quá trình bắt tay Ví dụ hệ IDS Snort có khả năng phát hiên kỹ thuật “Stealth FIN scan” của chương trình quét cổng NMAP Kỹ thuật này được ápdụng để phát hiện những cổng đóng của máy chủ (closed port)
Luật giám sát an ninh và bộ phần mềm phát hiện xâm nhập
Luật giám sát an ninh thông thường được tạo dưới dạng text để tiện choviệc sửa đổi, cập nhập bổ sung và được lưu trong một thư mục riêng, các tệpluật được phân theo nhóm Ví dụ tệp ftp rules chuyên lưu các dấu hiệu xâmnhập dịch vụ FTP, http.rules chuyên lưu các dấu hiệu tấn công đối với dịnh vụweb Hệ thống giám sát an ninh sẽ so sánh nội dung các gói tin với các dấuhiệu đã biết trong các dòng của tệp luật và làm kết xuất các phản ứng của hệthống một khi có dấu hiệu trùng khớp
Hệ giám sát an ninh mạng IDS sử dụng danh sách kết nối 3 chiều (3D)
và thuật toán so sánh nội dung Boyer-Moore
Luật giám sát an ninh mạng được phân chia thành 4 loại tương ứng với 4loại giao thức:
- TCP: giao thức TCP cho các dịch vụ SMTP, HTTP, FTP
- UDP: giao thức UDP cho các dịch vụ DNS lookups
- ICMP: giao thức ICMP cho các dịch vụ ping, traceroute
- IP: giao thức IP cho các dịch vụ IPSEC, IGMP…
Trang 20Phát hiện vi phạm: Là cấu thành quan trọng nhất của một hệ IDS Nếu
có sự xuất hiện của hành động xâm nhập trong gói tin thì bộ phát hiện sẽ đượckhởi sinh để so sánh với bảng các luật đã cho sẵn Nếu có gói tin phù hợp vớiluật trong khi so sánh thì sẽ có phản ứng từ hệ thống, kể cả chặn gói tin đó lại.Thông thường sự phản ứng là ghi lại nhật ký hoặc tạo ra cảnh báo
Bộ phát hiện chiếm khá nhiều thời gian của một hệ IDS, do vậy hiệu quảcủa sự phát hiện phụ thuộc nhiều đến năng lực phần cứng của máy tính và sốlượng luật nhiều hay ít Ngoài ra nếu IDS hoạt động trên môi trường mạng cóbăng thông lớn thì có thể xảy ra những trường hợp bỏ qua không bắt kịp góitin, do vậy đã không thể ngăn chặn kịp thời gói tin có dấu hiệu xâm nhập hoặckhông thể có những phản ứng kịp thời khác khi có hiện tượng xâm nhập Dựavào những phân tích trên, ta thấy bộ phát hiện xâm nhập phụ thuộc vào nhữngyếu tố cơ bản sau:
- Số lượng các luật cần phát hiện
- Năng lực của máy tính chạy IDS
- Tốc độ của máy tính chạy IDS
- Khả năng tải trên mạng
Chính vì vậy khi thiết kế một hệ thống IDS chạy trên thực tế phải đảmbảo bốn yếu tố cơ bản trên để hệ thống hoạt động phù hợp với năng lực củamạng [9]
1.2.3 Những tính năng cơ bản nhất của hệ thống phát hiện xâm nhập
Một hệ thống giám sát, phát hiện xâm nhập trái phép phải có đầy đủ cáctính năng cơ bản sau:
- Phòng ngừa các hoạt động bất thường bằng việc gia tăng khả năng pháthiện các nguy cơ và xử phạt kẻ tấn công hoặc lạm dụng quyền sử dụng hệthống vượt qua phạm vi cho phép
Trang 21- Phát hiện các cuộc tấn công hoặc những vi phạm chế độ an ninh do cácbiện pháp khác không ngăn chặn được Kẻ tấn công thường sử dụng những kỹthuật được phổ biến rộng rãi trên mạng Internet để xâm nhập mạng, đặc biệt
là đối với các mạng nối trực tuyến với mạng công cộng Điều này thường hayxảy ra khi trong mạng máy tính có các thiết bị mạng, thiết bị máy tính chưakhắc phục các lỗ hổng an toàn, chưa kịp cài đặt các bản vá phần mềm cầnthiết (service pack) hoặc trong môi trường mạng có quá nhiều chủng loại phầnmềm và phần cứng mà bản thân người quản trị an ninh không kiểm soát nổi.Một trong những lý do quan trọng khác tạo điều kiện cho kẻ tấn công là lỗicấu hình và sử dụng hệ thống của cả người quản trị mạng cũng như người sửdụng mạng
- Phát hiện và xử lý các khởi đầu của các cuộc tấn công, thông thường là
các hoạt động thăm dò mạng (doorknob ratting) Khi đối phương tấn công
một hệ thống mạng, chúng thường sử dụng bước thăm dò cấu trúc mạng, cácdịch vụ cho phép sử dụng trên mạng và các lỗ hổng an ninh nếu có Trên cơ
sở phân tích những kết quả thu nhận được qua bước thăm dò, kẻ tấn công cóthể tìm kiếm khe hở xâm nhập mạng một cách tối ưu nhất Nếu không ápdụng IDS thì khả năng phát hiện các cuộc thăm dò là rất ít và kẻ tấn công tự
do phân tích toàn bộ hệ thống mạng nhằm phát hiện chỗ yếu để làm cơ sở chocác bước tiếp theo của cuộc tấn công
Khi được bổ sung thêm IDS để giám sát toàn bộ hoạt động, IDS sẽ quansát việc quét thăm dò mạng, xác định những dấu hiệu đáng nghi vấn và cảnhbáo cho người quản trị an ninh mạng biết để có những hành động đối phó
thích hợp Chỉ riêng việc đối phó kịp thời đối với những hoạt động quét, thăm dò mạng cũng đã góp phần làm giảm nguy cơ khá lớn đối với những hoạt động xâm nhập mạng.
Trang 22- Ghi nhận những nguy cơ đe dọa an ninh mạng Hệ thống giám sát anninh mạng thẩm tra, ghi nhận và mô hình hóa các nguy cơ từ bên trong vànguy cơ từ bên ngoài mạng máy tính, hỗ trợ cho các cơ quan ra quyết định vềchính sách và trang thiết bị đảm bảo an ninh an toàn mạng máy tính Nhữngthông tin về nguồn gốc và tính chất của cuộc tấn công sẽ giúp chúng ta đưa ranhững quyết định đúng trong định hướng về chiến lược đảm bảo an ninh.
- Thông qua những thông tin phát hiện được để đánh giá công tác quảntrị an ninh mạng và tính hiệu quả của thiết kế các hệ thống đảm bảo an ninhđang được thực thi Trên cơ sở đó, giúp bộ phận an ninh mạng khắc phụcđược những yếu tố trong hệ thống mạng đang vận hành
- Cung cấp kịp thời các thông tin hữu ích về các vụ xâm nhập đang xảy
ra nhằm nâng cao nhận thức về công tác đảm bảo an ninh mạng cũng nhưtăng cường áp dụng các biện pháp nhằm khắc phục những tác nhân dẫn đếncác cuộc tấn công.[6]
1.2.4 Thành phần chức năng cơ bản của một hệ thống giám sát an ninh mạng
Trên thị trường hiện nay có khá nhiều IDS khác nhau Mỗi một IDS đặctrưng bởi phương pháp phân tích và giám sát khác nhau Mỗi một phươngpháp có những ưu điểm và nhược điểm riêng Tuy nhiên tất cả các IDS đềuphải đảm bảo ba thành phần chức năng cơ bản sau:
Thu lượm tài nguyên thông tin ( Information Sources ): Thu lượm tài
nguyên thông tin các sự kiện xảy ra trên mạng để xem việc xâm nhập đã xảy
ra chưa Các nguồn thông tin này có thể đưa ra từ các cấp độ khác nhau của
hệ thống: mức mạng, mức host, mức ứng dụng
Phân tích (Analysis): Đó là việc tổ chức, nắm chắc các sự kiện rút ra từ
nguồn thông tin, trên cơ sở đó có thể xác định được các vụ xâm nhập đã vàđang xảy ra Hai phương pháp phân tích thường gặp nhất là: phương pháp
Trang 23phân tích theo phát hiện sử dụng trái phép (misuse delection) và phương phápphân tích theo phát hiện bất thường (anomaly delection).
Đối phó (Response): Đây là thành phần chức năng thứ ba là tập hợp các
biện pháp hành động mà hệ thống phát hiện xâm nhập sẽ đối phó một khi nóphát hiện có xâm nhập Biện pháp hành động được phân làm 2 loại: biện phápchủ động và biện pháp bị động Biện pháp chủ động là biện pháp mà hệ thốngIDS tự động can thiệp vào một phần nào đó của hệ thống nhằm ngăn chặn tứcthời cuộc xâm nhập Biện pháp bị động là biện pháp thông báo, cảnh báo chongười quản trị an ninh và những người có trách nhiệm biết những phát hiện về
sự xâm nhập để họ xử lý [2]
1.2.4.1 Thu lượm các tài nguyên thông tin
Một trong những cách thông thường để phân loại hệ thống IDS là dựavào phương pháp thu lượm nguồn thông tin Một số loại IDS phân tích cácgói tin trên các phân đoạn của mạng LAN để xác định kẻ tấn công Một sốIDS khác lại dựa vào các nguồn thông tin từ các nhật ký (log) của hệ điềuhành hoặc từ các nhật ký phần mềm ứng dụng sinh ra để phát hiện xâm nhập.Các IDS dựa trên phương pháp thu lượm nguồn thông tin theo cách thứ nhấtgọi là các IDS trên nền mạng (Network-based IDS) Các IDS dựa trên phươngpháp thu lượm nguồn thông tin theo cách thứ hai gọi là các IDS trên nền host(Host-based IDS)
Hệ thống các IDS trên nền mạng (Network Base IDS) [5] [6] [8]
Phần lớn các hệ thống IDS thương mại là các IDS trên nền mạng NhữngIDS này phát hiện cuộc tấn công bằng cách bắt và phân tích gói tin trên mạng,trên một nhánh mạng hoặc trên switch hay trên máy nối giữa hai mạng(firewall) IDS trên nền mạng bao gồm một tập các sensor đơn hoặc các máytính đóng vai trò sensor này giám sát thi công mạng, thực hiện phân tích lưuthông và thông báo các cuộc tấn công đến màn hình quản lý trung tâm Nhiều
Trang 24loại sensor được thiết kế để chạy trong mode “stealth” làm cho kẻ tấn côngkhó xác định được sự có mặt và vị trí của chúng.
Hình 1.3: Ví dụ về hệ thống giám sát an ninh trên nền mạng [1]
Ưu điểm của IDS trên nền mạng:
- Chỉ cần một số lượng nhỏ IDS được bố trí một cách tối ưu có thể giámsát được một mạng lớn Việc bổ sung thêm các IDS không làm ảnh hưởngđến sự hoạt động của mạng vì chúng lắng nghe trên đường truyền một cáchthụ động mà không kèm theo nhiễu đến các thiết bị khác trong mạng
- Hệ thống này có thể tự bảo vệ để chống lại các cuộc tấn công đến nó,thậm chí những kẻ tấn công có thể không thấy được sự hiện diện của nó trênmạng
- Ngoài ra IDS trên nền mạng còn có một số lợi thế:
+ Quản lý được cả một network segment (gồm nhiều host)
+ Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
Trang 25+ Tránh DoS ảnh hưởng tới một host nào đó.
+ Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI).+ Độc lập với OS
Nhược điểm của IDS trên nền mạng:
- Hệ thống này sẽ gặp khó khăn khi xử lý tất cả các gói tin trong mộtmạng lớn do không thể xử lý lưu lượng lớn gói tin trong thời gian cho phép
Để khắc phục sự bất cập này, một số nhà thiết kế đề xuất giải pháp triển khaiIDS hoàn toàn dựa trên phần cứng Một số sản phẩm thương mại theo hướngnày đã xuất hiện trên thị trường, ví dụ sản phẩm IDS Dragon của công tySecurity Wizards, Proventia A, G Series của hãng ISS
- Nhiều đặc tính của IDS dựa trên nền mạng không áp dụng được đối vớimạng chuyển mạch tiên tiến Các chuyển mạch chia nhỏ các mạng thànhnhiều phân đoạn mạng nhỏ và đưa ra các liên kết dành riêng giữa các hostdùng chung trong một chuyển mạch Hầu hết các chuyển mạch không có mộtcổng giám sát chung và hạn chế phạm vi giám sát của sensor chỉ còn cho một
máy Chính vì vậy khi cắm các thiết bị chuyển mạch như vậy thì hệ thống này không thể giám sát tất cả mọi lưu lượng đi qua thiết bị chuyển mạch.
- Một số hệ IDS gặp phải trục trặc khi ứng phó với các cuộc tấn côngdùng cách phân mảnh gói tin Quá trình xử lý hợp phân mảnh các gói tin loạinày làm cho hệ thống IDS trở nên bất ổn định
Các hệ thống IDS trên nền host ( Host Base IDS ) [5] [6] [8]
Các hệ thống IDS trên nền host hoạt động dựa vào những thông tin thuthập được trong hệ thống máy tính Những thông tin do hệ điều hành máy tínhthu nhận cho phép IDS trên nền host phân tích các hoạt động tấn công với độtin cậy và chính xác cao, xác định các tiến trình và người sử dụng nào liênquan đến cuộc tấn công cụ thể lên hệ điều hành Hơn nữa, khác với IDS trên
Trang 26nền mạng, IDS trên nền host có thể theo dõi diễn biến tiếp theo của cuộc tấncông, do chúng tiếp cận trực tiếp và giám sát các tệp dữ liệu hệ thống và cáctiến trình hệ thống mà cuộc tấn công đang nhằm vào.
Hình 1.4: Ví dụ về hệ thống giám sát an ninh trên nền host [1]
IDS trên nền host thường khai thác dựa trên hai nguồn thông tin: thôngtin kiểm tra hệ điều hành và nhật ký hệ thống Thông tin kiểm tra hệ điềuhành sinh ra ở trong nhân của hệ điều hành và do đó thường chi tiết hơn sovới nhật ký hệ thống Tuy vậy, nhật ký hệ thống thường rõ ràng tường minhhơn và dễ dàng cho việc tổng hợp, phân tích Một số loại IDS trên nền hostđược thiết kế để hỗ trợ cho việc quản lý một IDS tập trung và cho phép mànhình có thể theo dõi, quản lý nhiều máy chủ mục tiêu
Ưu điểm của IDS trên nền host:
- Các IDS trên nền host với khả năng giám sát các sự kiện đến từng máyquan sát để phát hiện các cuộc tấn công mà IDS trên nền mạng không thể làmđược Hơn thế nữa trên một môi trường mã hóa đường truyền thì chỉ có IDS
Trang 27trên nền host mới có thể giám sát được các sự kiện vì mọi thông tin chỉ có thể
mã và giải mã tại máy đích
- IDS hoạt động trên nền hệ điều hành với audit trail còn có khả năngphát hiện được virus Trojan hoặc các tác nhân khác có ý đồ làm sai lệch tínhtoàn vẹn của phần mềm hệ thống
Nhược điểm của IDS trên nền host:
- Các IDS trên nền host khó quản trị vì mỗi một IDS phải cấu hình vàquản lý riêng cho từng máy được giám sát
- Do cài IDS trên từng máy mục tiêu nên IDS cũng có thể là mục tiêu tấncông cùng với máy chủ và có thể bị kẻ tấn công vô hiệu hóa
- Khi IDS chạy trên hệ điều hành với audit trail như là một nguồn thôngtin đầu vào để phân tích, khi đó lượng thông tin thu thập khá lớn và đòi hỏidung lượng đĩa cần thiết để lưu thông tin
- IDS trên nền host sử dụng tài nguyên tính toán trên máy đang giám sát
do vậy có thể ảnh hưởng đến hiệu năng làm việc của máy này
1.2.4.2 Phân tích IDS
Như đã nêu ở trên, tồn tại hai phương pháp phân tích các sự kiện để pháthiện xâm nhập: đó là phát hiện sử dụng sai và phát hiện bất thường Mỗi mộtphương pháp đều có điểm mạnh và điểm yếu riêng Tuy vậy hiện nay phươngpháp đầu được sử dụng có hiệu quả hơn và thường dùng trong các IDSthương mại
Phương pháp phát hiện sử dụng sai
Modul phát hiện sử dụng sai phân tích hoạt động của hệ thống, tìm các
sự kiện hoặc tập các sự kiện phù hợp với mẫu định nghĩa đặc trưng một cuộctấn công đã biết trước Các mẫu đặc trưng cho các cuộc tấn công đã biết trướcgọi là các dấu hiệu xâm nhập (signatures) Phát hiện sử dụng sai đôi khi còn
Trang 28được gọi là phát hiện dựa trên dấu hiệu Thông thường phương pháp phát hiện
sử dụng sai trong các sản phẩm thương mại quy định mỗi mẫu sự kiện tươngứng với một cuộc tấn công là một dấu hiệu
Ưu điểm của phương pháp phát hiện sử dụng sai:
- Phát hiện sử dụng sai là phương pháp rất hiệu quả để nhận biết cáccuộc tấn công mà không sinh ra các cảnh báo lỗi thừa
- Cho phép nhận biết nhanh chóng và tin cậy các công cụ và kỹ thuậtdùng để tấn công Điều này giúp cho người quản trị an ninh mạng có biệnpháp đối phó kịp thời
- Cho người quản trị an ninh mạng chủ động tiến hành các thủ tục xử lý
sự cố
Nhược điểm của phương pháp phát hiện sử dụng sai:
- Phương pháp phát hiện sử dụng sai chỉ phát hiện được các cuộc tấncông mà nó đã từng biết trước, do vậy phải liên tục cập nhập các dấu hiệu củacác cuộc tấn công mới
- Việc định nghĩa các dấu hiệu xâm nhập một cách quá chặt chẽ đôi khilàm cản trở đến việc phát hiện các cuộc tấn công thông thường
Phương pháp phát hiện bất thường
Phương pháp phát hiện bất thường là nhận biết các hoạt động không bìnhthường trên một host hoặc một mạng Phương pháp này giả thiết rằng cáccuộc tấn công thường có biểu hiện khác với các hoạt động hợp pháp, do vậy
nó được phát hiện bởi những khác biệt đó
Các kỹ thuật phát hiện được sử dụng trong phương pháp này là:
Phát hiện ngưỡng, trong đó các biểu hiện thông thường của người sửdụng và ứng xử của hệ thống được thể hiện dưới dạng đếm theo một ngưỡng
Trang 29cho phép nào đó Những thuộc tính ứng xử của hệ thống có thể là số lượngcác tệp được người sử dụng truy cập trong một khoảng thời gian cho phép, sốlượng các cố gắng bất thành để truy cập vào hệ thống, dung lượng CPU màmột tiến trình chiếm dụng…
Các kỹ thuật thống kê, gồm thống kê theo thông số, trong đó việc thống
kê các thuộc tính mẫu được biết từ một tập các giá trị đã có được quan sáttheo thời gian
Phương pháp phát hiện bất thường đưa ra rất nhiều cảnh báo lỗi do cácmẫu của người dùng và ứng xử của hệ thống thường thay đổi Bất chấp nhượcđiểm này, các nhà nghiên cứu đánh giá rằng IDS dựa trên phát hiện bấtthường có ưu việt là có thể phát hiện những dạng tấn công mới mà IDS dựatrên phương pháp phát hiện dùng sai không thể có khả năng đó
IDS thương mại dùng phương pháp phát hiện bất thường rất ít hoặc nếu
có thì cũng không hoàn toàn dựa trên công nghệ này Phương pháp phát hiệnbất thường được sử dụng trong các sản phẩm thương mại thường để phát hiệnquét thăm dò mạng Phương pháp này còn đang được tiếp tục nghiên cứu đểhoàn thiện nhằm mục tiêu chủ động phát hiện xâm nhập trong tương lai
IDS dựa trên phát hiện bất thường có khả năng phát hiện những biểu hiệncủa cuộc tấn công mà không cần dựa vào những dấu hiệu biết trước
Phương pháp phát hiện bất thường có thể cung cấp thông tin để xác địnhdấu hiệu tấn công cho phương pháp phát hiện dùng sai
1.2.4.3 Các tùy chọn ứng phó cho IDS
Dựa vào kết quả phân tích các dự kiện, IDS sẽ đưa ra các ứng phó(response) Ứng phó đơn giản nhất là thông báo các kết quả phát hiện tớingười có thẩm quyền được quy định trước Một số nhà nghiên cứu thườngđánh giá thấp tầm quan trọng của chức năng ứng phó trong các hệ thống IDS,
Trang 30nhưng trên thực tế chúng thực sự quan trọng Các hệ thống IDS thương mạimột hay nhiều tùy chọn và thường được phân làm hai loại: ứng phó chủ động
Thu thập bổ sung thêm thông tin:
Thu thập bổ sung thêm thông tin tức là tăng thêm độ nhạy của bộ phậngiám sát mạng để bắt giữ tất cả các gói tin Tùy chọn này cũng cho phép các
tổ chức thu thập thêm thông tin để hỗ trợ điều tra và bắt giữ kẻ tấn công
Thay đổi môi trường:
Một ứng phó chủ động khác là chủ động làm ngưng cuộc tấn công đangdiễn ra và sau đó là ngăn chặn các diễn biến tiếp theo của kẻ xâm nhập IDSkhông có khả năng ngăn chặn việc truy cập của một người cụ thể, nhưng nó
có khả năng khóa các địa chỉ IP là nơi kẻ tấn công xuất phát Việc ngăn chặnhacker có đẳng cấp cao là rất khó, tuy vậy IDS có thể đưa ra một số giải pháp
để ngăn trở đối với kẻ tấn công bằng các tác động sau:
- Bơm các gói tin TCP (stealth) đã được thiết lập lại vào kết nối của kẻ
tấn công đến máy mục tiêu để chấm dứt kết nối
- Cấu hình lại router hoặc firewall để chặn địa chỉ IP xuất phát của kẻ tấncông
- Cấu hình lại router hoặc firewall để chặn cổng, giao thức hoặc các dịch
vụ đang bị kẻ tấn công dùng
Các ứng phó bị động:
Trang 31Các ứng phó IDS bị động đưa ra những thông tin cho người quản trị hệthống và dựa vào những thông tin đó họ có những hành động ứng phó tiếptheo Nhiều IDS thương mại dựa theo cách ứng phó này.
Cảnh báo và thông báo:
IDS đưa ra các cảnh báo và thông báo để người quản trị biết dấu hiệu tấncông Dạng thông thường của một cảnh báo là hiện trên màn hình hoặc trênmột của sổ nhỏ trên màn hình điều khiển IDS Thông tin đưa ra trong cáccảnh báo có nhiều dạng Dạng vắn tắt là thông báo có hiện tượng xâm nhập,dạng chi tiết cung cấp địa chỉ IP nguồn, IP đích, tính chất và nội dung củacuộc tấn công, công cụ tấn công và diễn biến của nó Một hình thức thông báokhác là cảnh báo từ xa đến các máy tính quản trị từ xa hoặc đến các máy điệnthoại di động Một dạng khác là thông báo qua thư điện tử Tuy nhiên giảipháp này không an toàn vì kẻ tấn công thường giám sát đường đi của email vàthậm chí có thể chặn được các thông điệp thư điện tử
Một số sản phẩm IDS thương mại được thiết kế để đưa ra các cảnh báođến hệ thống quản trị mạng Hệ thống dùng các bẫy SNMP và thông điệp đểgửi cảnh báo tới màn hình quản lý trung tâm Tuy nhiên trong nhiều trườnghợp kẻ tấn công có thể phát hiện ra sự có mặt của IDS thông qua việc giámsát nội dung những thông báo và cảnh báo dưới dạng văn bản rõ Trường hợpxấu hơn kẻ tấn công sẽ hướng cuộc tấn công vào hệ thống IDS như là mộtphần của cuộc tấn công trên hệ thống đích Dùng các kênh mã hóa và các biệnpháp mã hóa khác để che giấu và xác thực cho các giao tiếp giữa IDS và máyđiều khiển trung tâm là cần thiết để làm tăng độ mật và đảm bảo độ tin cậycủa IDS
1.2.5 Các công cụ hỗ trợ bổ sung cho IDS
Một số công cụ hiện nay bổ sung IDS thường được coi như là các sảnphẩm phát hiện xâm nhập vì chúng có những tính năng tương tự Đó là các
Trang 32công cụ như Hệ thống phân tích thương tổn, Bộ kiểm tra tính toàn vẹn tệp,Honey Pot và Padded cell.
1.2.5.1 Đánh giá tính thương tổn của hệ thống
Công cụ phân tích khả năng thương tổn dùng để xác định liệu hệ thống
có bị thương tổn trước một cuộc tấn công đã biết hay không? Quá trình hệthống phân tích thương tổn bao gồm:
- Lấy mẫu một số thuộc tính của hệ thống
- Kết quả mẫu được lưu một nơi an toàn và được so sánh với một bộ giữliệu tham chiếu được coi như một mẫu “cấu hình chuẩn”
- Bất kỳ sự khác biệt nào giữa hai bộ mẫu đều được xác định và thôngbáo
Có hai phương pháp được áp dụng để phân tích tính thương tổn của hệthống, đó là phương pháp phân tích tính thương tổn dựa vào host và phươngpháp phân tích tính thương tổn dựa vào mạng Phương pháp phân tích tínhthương tổn dựa vào host là xác định khả năng thương tổn bằng cách đánh giácác nguồn dữ liệu hệ thống, chẳng hạn như nội dung tệp hệ thống, các tệpthiết lập cấu hình và các thông tin trạng thái khác Thông tin này thu nhậnđược dựa trên các truy vấn hệ thống chuẩn.Tuy vậy phương pháp này đôi khicũng gặp nguy hiểm vì kẻ tấn công cũng có thể lấy được quyền root trongUnix hoặc Administrator trong NT
Ưu điểm của phân tích tính thương tổn:
- Là một phần của hệ thống giám sát an ninh mạng cho phép phát hiệncác chỗ yếu trên hệ thống mạng không có IDS hỗ trợ
- Đưa ra các giải pháp kiểm tra an ninh dựa vào kết quả của việc ghinhận tình trạng an ninh của hệ thống mạng máy tính
Trang 33- Khi hệ thống đánh giá tính thương tổn được sử dụng thường xuyên theođịnh kỳ, chúng ta sẽ ghi nhận những thay đổi về tình trạng an ninh của hệthống, cảnh báo cho các chuyên gia bảo mật những lỗi cần phải khắc phục.
- Việc kiểm tra hai lần trước và sau khi khắc phục lỗi đảm bảo cho hệthống an toàn hơn và không bị những lỗ hổng khác phát sinh mới sau khi sửalỗi
Nhược điểm của phương pháp phân tích thương tổn:
- Phương pháp phân tích tính thương tổn dựa vào host có tính ràng buộcvới các hệ điều hành và các ứng dụng cụ thể do đó việc bảo dưỡng, khắc phụclỗi và quản lý thường rất phức tạp và tốn kém
- Phương pháp phân tích tính thương tổn dựa trên nền mạng thường ápdụng trên nhiều hệ điều hành, do vậy kết quả phân tích kém chính xác hơn vàthường đưa ra nhiều cảnh báo Lưu ý một vài kiểm tra tính thương tổn của hệthống dựa vào mạng, đặc biệt với các cuộc tấn công từ chối dịch vụ có thểlàm ngưng trệ hệ thống đích
- Việc sử dụng hệ thống đánh giá tính thương tổn phải luôn chú ý đếnviệc bảo mật thông tin dữ liệu trên những hệ thống đích
1.2.5.2 Kiểm tra tính toàn vẹn của tệp
Một thành phần quan trọng được bổ sung cho IDS đó là kiểm tra tínhtoàn vẹn của tệp bằng kỹ thuật chữ ký số Bộ kiểm tra tính toàn vẹn tệp cực
kỳ có giá trị đối với việc tiến hành các phân tích hệ thống đã bị tấn công, do
nó có khả năng nhận dạng nhanh và tin cậy bằng kỹ thuật kiểm tra chữ ký sốnội dung tệp để phát hiện việc in dấu chân của một vụ tấn công Điều nàygiúp các nhà quản trị khôi phục nhanh các dịch vụ mà không cần phải cài đặtlại toàn bộ hệ thống
Trang 341.2.5.3 Hệ thống nhử mồi (Honey Pot và Padded Cell)
Honey Pot là hệ thống nhử mồi được thiết kế để thu hút kẻ tấn cônghướng chúng ra khỏi hệ thống quan trọng Mục đích của Honey Pot là:
- Làm lệch hướng kẻ tấn công đang định nhằm vào hệ thống quantrọng
- Thu thập thông tin về hoạt động của kẻ tấn công
- Giữ chân kẻ tấn công đủ lâu để người quản trị kịp có biện pháp ứngphó
Honey Pot là hệ thống gồm những thông tin giả nhưng được làm nhưchúng rất có giá trị Hệ thống được trang bị các bộ giám sát rất nhạy và bộ ghinhật ký các sự kiện để thu thông tin về kẻ tấn công Tuy vậy hệ thống nhửmồi cũng có những nhược điểm của nó Về mặt pháp lý nó chưa được chứngminh là có hữu dụng đối với mọi công nghệ bảo mật Ngoài ra, một kẻ tấncông sừng sỏ một khi phát hiện ra là nó bị lừa thì có thể sẽ tung ra những cuộctấn công thù địch dữ dội hơn
Trang 35CHƯƠNG II: TÌM HIỂU VỀ PHẦN MỀM SNORT
2.1 Giới thiệu về Snort
Snort là một NIDS được Martin Roesh phát triển dưới mô hình mãnguồn mở Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời
mà không phải sản phẩm thương mại nào cũng có thể có được Với kiến trúcthiết kế theo kiểu module, người dùng có thể tự tăng cường tính năng cho hệthống Snort của mình bằng việc cài đặt hay viết thêm mới các module Cơ sở
dữ liệu luật của Snort đã lên tới trên 3000 luật và được cập nhật thường xuyênbởi một cộng đồng người sử dụng Snort có thể chạy trên nhiều hệ thống nềnnhư Windows, Linux, OpenBSD, FreeBSD, Solaris, HP-UX, AIX, MacOS
Bên cạnh viện có thể hoạt động như một ứng dụng thu bắt gói tin thôngthường, Snort còn có thể được cấu hình để chạy như một NIDS Snort hỗ trợkhả năng hoạt động trên các giao thức sau: Ethernet, 802.11, Token Ring,FDDI, Cisco HDLC, SLIP, PPP, và PF của OpenBSD
2.2 Kiến trúc của Snort
Snort bao gồm nhiều thành phần, với mỗi phần có một chức năng riêng.Các phần chính đó là:
Module giải mã gói tin (Packet Decoder)
Module tiền xử lý (Preprocessors)
Module phát hiện (Detection Engine)
Module log và cảnh báo (Logging and Alerting System)
Module kết xuất thông tin (Output Module)
Kiến trúc của Snort được mô tả như hình sau:
Trang 36Hình 2.1: Mô hình kiến trúc của hệ thống Snort
Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả cácgói tin nào di chuyển qua nó Các gói tin sau khi bị bắt được đưa vào Modulegiải mã gói tin Tiếp theo gói tin sẽ được đưa vào Module Tiền xử lý, rồiModule phát hiện Tại đây, tùy theo việc có phát hiện được xâm nhập haykhông mà gói tin có thể được bỏ qua để lưu thông tiếp hoặc được đưa vàoModule Log và cảnh báo để xử lý Khi các cảnh báo được xác định Modulekết xuất thông tin sẽ được hiện việc đưa cảnh báo ra theo đúng định dạngmong muốn Sau đây ta sẽ đi sâu vào chi tiết hơn về cơ chế hoạt động và chứcnăng của từng thành phần
2.2.1 Module giải mã gói tin
Snort sử dụng thư viện pcap để bắt mọi gói tin trên mạng lưu thông qua
hệ thống Một gói tin sau khi được giải mã sẽ được đưa tiếp vào Module tiền
xử lý Hình sau mô tả việc một gói tin Ethernet sẽ được giải mã thế nào:
Trang 37Hình 2.2: Xử lý một gói tin Ethernet
2.2.2 Module tiền xử lý
Module tiền xử lý là một module rất quan trọng đối với bất kỳ một hệthống IDS nào để có thể chuẩn bị gói dữ liệu và chuyển cho Module phát hiệnphân tích Ba nhiệm vụ chính của Module này là:
Kết hợp lại các gói tin: Khi một lượng dữ liệu lớn được gửi đi, thôngtin sẽ không đóng gói toàn bộ vào một gói tin mà phải thực hiện phân mảnh,chia gói tin ban đầu thành nhiều gói tin rồi mới gửi đi Khi Snort nhận đượccác gói tin này nó phải thực hiện việc ghép nối lại để có được dữ liệu nguyêndạng ban đầu, từ đó mới thực hiện dược các công việc xử lý tiếp Như ta đãbiết khi một phiên làm việc của hệ thống diễn ra, sẽ có rất nhiều gói tin đượctrao đổi trong phiên đó Một gói tin riêng lẻ sẽ không có trang thái và nếucông việc phát hiện xâm nhập chỉ dựa hoàn toàn vào gói tin đó sẽ không đemlại hiệu quả cao Module tiền xử lý stream giúp Snort có thể hiểu được các
Trang 38phiên làm việc khác nhau từ đó giúp đạt được hiệu quả cao hơn trong việcphát hiện xâm nhập.
Giải mã và chuẩn hóa giao thức (decode/normalize): Công việc pháthiện xâm nhập dựa trên dấu hiệu nhận dang nhiều khi bị thất bại khi kiểm tracác giao thức có dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau
Phát hiện các xâm nhập bất thường (nonrule/anormal): Các plugin tiền
xử lý dạng này thường dùng để đối phó với các xâm nhập không thể hoặc rấtkhó phát hiện được bằng các luật thông thường hoặc các dấu hiệu bất thườngtrong giao thức Các module tiền xử lý dạng này có thể thực hiện việc pháthiện xâm nhập theo bất cứ cách nào mà ta nghĩ ra từ đó tăng cường thêm tínhnăng cho Snort
2.2.3 Module phát hiện
Đây là module quan trọng nhất của Snort Nó chịu trách nhiệm pháthiện các dấu hiệu xâm nhập Module phát hiện sử dụng các luật được địnhnghĩa trước để so sánh với dữ liệu thu thập được từ đó xác định xem có xâmnhập xảy ra hay không Rồi tiếp theo mới có thẻ thực hiện một số công việcnhư ghi log, tạo thông báo và kết xuất thông tin
Một vấn đề rất quan trọng trong module phát hiện là vấn đề thời gian
xử lý các gói tin: Một IDS thường nhận được rất nhiều gói tin và bản thân nócũng có rất nhiều các luật xử lý Có thể maatsnhuwngx khoảng thời gian khácnhau cho việc xử lý các gói tin khác nhau Và khi thông lượng mạng quá lớn
có thể xảy ra việc bỏ sót hoặc không phản hồi được đúng lúc Khả năng xử lýcủa module phát hiện dựa trên một số yếu tố như: số lượng các luật, tốc độcủa hệ thống đang chạy Snort, tải trên mạng Một số thử nghiệm cho biết,phiên bản hiện tại của Snort khi được tối ưu hóa chạy trên hệ thống có nhiều
bộ vi xử lý và cấu hình máy tính tương đối mạnh thì có thể hoạt động tốt trên
cả các mãng cỡ Giga
Một module phát hiện cũng có khả năng tách các phần của gói tin ra và
áp dung các luật trên từng phần nào của gói tin đó Các phần đó có thể là:
IP header
Hearder ở tầng giao vận: TCP, UDP
Header ở tầng ứng dụng: DNS header, HTTP header, FTP deader, …
Phần tải của gói tin
Trang 39Một vấn đề nữa trong module phát hiện đó là việc xử lý thế nào khi mộtgói tin bị phát hiện bởi nhiều luật Do các dòng luật trong Snort cũng đượcđánh thứ tự ưu tiên, nên một khi gói tin bị phát hiện bởi nhiều luật khác nhau,cảnh báo được lấy ra sẽ là cảnh báo ứng với luật có mức ưu tiên cao nhất.
2.2.4 Module log và cảnh báo
Tùy thuộc vào việc Module phát hiện có nhận dạng được xâm nhập haykhông mà gói tin có thể bị ghi log hoặc đưa ra cảnh báo Các file log là cácfile text dữ liệu trong đó có thể được ghi dưới nhiều định dạng khác nhau,chẳng hạn tcpdump
2.2.5 Module kết xuất thông tin
Module này có thể thực hiện các thao tác khác nhau tùy theo việc tamuốn ghi kết quả xuất ra như thế nào Tùy theo việc cấu hình hệ thống mà nó
có thể thực hiện các công việc như:
Ghi log file
Ghi syslog: Syslog là một chuẩn lưu trữ các file log được sử dụng rấtnhiều trên các hệ thống Unix, Linux
Ghi cảnh báo vào cơ sở dữ liệu
Tạo file log dang xml: Việc ghi log file dạng xml rất thuận tiện choviệc trao đổi và chia sẻ dữ liệu
Cấu hình lại Router, firewall
Gửi các cảnh báo được gói trong gói tin sử dụng giao thức SNMP.Các gói tin SNMP này sẽ được gửi tới một SNMP server nào đógiúp cho việc quản lý các cảnh báo và hệ thống IDS một cách tậptrung và thuận tiện hơn
Gửi các thông điệp SMB tới các máy tính windows
Nếu không hài lòng với các cách kết xuất thông tin như trên, ta có thểviết các module kết xuất thông tin riêng tùy theo mục đích sử dụng
2.3 Cấu trúc luật của Snort
2.3.1 Khái niệm cơ sở
Snort dùng một ngôn ngữ mô tả các luật sáng sủa và đơn giản, nó cũnglinh động và tương đối mạnh Hầu hết các luật Snort được viết trên một dòng
Trang 40Trong các phiên bản trước 1.8 thì điều này là bắt buộc Trong các bản hiệnnay, các luật có thể được viết trên nhiều dòng bằng việc thêm dấu “/” vào cuốimỗi dòng Nếu xét về mặt logic thì các luật Snort được chia làm 2 phần, phầnheader và phần các tuỳ chọn Phần header gồm có các thông tin về các giaothức, action, các địa chỉ nguồn, đích và mặt nạ mạng địa chỉ cổng nguồn,đích.
Phần tuỳ chọn chứa các thông điệp cảnh báo và các thông tin cho biếtphần nào của gói tin sẽ được phân tích để xác định action được thực hiện
Ví dụ minh họa một luật Snort đơn giản:
alert tcp any ->192.168.1.0/24 111{content:”/00 01 86 a5/”: msg:
“mounld avvess”:}
Từ đầu dòng đến dấu ngoặc đơn đầu tiên là phần header và phần nằmtrong cặp nguồn là phần tuỳ chọn Các từ nằm trong cặp dấu “//” là từ khoátuỳ chọn Lưu ý là phần tuỳ chọn là không được luật nào yêu cầu cụ thể,chúng chỉ để dùng với mục đích xác định rõ gói tin để tập hợp và cảnh báo(hoặc huỷ) Tất cả các thành phần cấu thành luật phải đúng để các action đượcthực hiện Khi được đặt cùng nhau, các thành phần có thể được xem như hìnhthành nên một câu lệnh AND về mặt logic và các luật trong file thư viện cóthể được xem như tạo nên một câu lệnh OR [5]
2.3.1.1 Includes
Từ khoá include cho phép các file luật khác được nằm trong file luật
mà dòng lệnh Snort chỉ ra Nó làm việc giống như # include trong ngôn ngữlập trinh C, đọc các content của file được chỉ ra và đặt chúng vào trong filenơi include xuất hiện
Định dạng:
include: < include đường dẫn/ tên file>