Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)Nghiên cứu hệ thống giám sát, chống tấn công mạng (LV thạc sĩ)
Trang 1ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Lê Mỹ Trường
Thái Nguyên, 2015
Trang 2LỜI CAM ĐOAN
Học viên xin cam đoan luận văn “
là công trình nghiên cứu của chính bản thân học viên Các nghiên cứutrong luận văn này dựa trên những tổng hợp kiến thức lý thuyết đã được học, và sựhiểu biết thực tế dưới sự hướng dẫn khoa học của Thầy giáo TS Hồ Văn Hương
Các tài liệu tham khảo được trích dẫn đầy đủ nguồn gốc Học viên xinchịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan củamình
Thái Nguyên, ngày 20 tháng 8 năm 2015
Học viên thực hiện
Lê Mỹ Trường
Trang 3Đặc biệt, học viên xin được gửi lời cám ơn đến thầy giáo hướng dẫn họcviên TS Hồ Văn Hương - Ban cơ yếu Chính phủ, thầy đã tận tình chỉ bảo giúp đỡhọc viên trong suốt quá trình nghiên cứu để hoàn thành luận văn.
Cuối cùng cho phép tôi xin cảm ơn Lãnh đạo, đồng nghiệp, bạn bè, gia đình
đã giúp đỡ, động viên ủng hộ tôi rất nhiều trong toàn bộ quá trình học tập cũng nhưnghiên cứu để hoàn thành luận văn này
Thái Nguyên, ngày 20 tháng 8 năm 2015
Học viên thực hiện
Trang 4~ iv ~
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN DANH MỤC CÁC HÌNH ẢNH
DANH MỤC CÁC BẢNG BIỂU
T r a n g
MỞ ĐẦU
1 Đặt vấn đề
2 Mục tiêu nghiên cứu
3 Đối tượng và phạm vi nghiên cứu
4 Phương pháp nghiên cứu
5 Ý nghĩa khoa học của đề tài
6 Bố cục của luận văn
CHƯƠNG 1 TỔNG QUAN AN NINH MẠNG
1.1 Tình hình an ninh mạng hiện nay
1.2 Các yếu tố đảm bảo an toàn thông tin
1.3 Các mối đe dọa đến an toàn thông tin
1.4 Các lỗ hổng hệ thống
1.4.1 Các lỗ hổng loại C
1.4.2 Các lỗ hổng loại B
1.4.3 Các lỗ hổng loại A
1.5 Các nguy cơ mất an toàn thông tin
1.5.1 Kiểu tấn công thăm dò
1.5.2 Kiểu tấn công truy cập
1.5.3 Kiểu tấn công từ chối dịch vụ
1.6 Giải pháp an ninh mạng
7
1.6.2 Hai phương thức giám sát Poll và Alert
Trang 61.6.2.2 Phương thức Alert -7
1.6.2.3 So sánh phương thức Poll và Alert -8
1.6.3 Giao thức quản lý giám sát mạng SNMP 9
-9
- 10
- 10
1.6.4 Kiến trúc giao thức SNMP 11
- 11
1.6.4.2 ObjectID -11
1.6.4.3 Object access -13
1.6.4.4 Cơ sở thông tin quản trị MIB -14
1.6.5 Các phương thức của SNMP 15
1.6.5.1 GetRequest -15
1.6.5.2 SetRequest -16
1.6.5.3 GetResponse -16
1.6.5.4 Trap -16
1.6.6 Các cơ chế bảo mật cho SNMP 17
1.6.6.1 Community string -17
1.6.6.2 View -17
1.6.6.3 SNMP access control list -17
1.6.6.4 RMON -18
1.6.7 Cấu trúc bản tin SNMP 18
1.6.8 Hệ thống phát hiện và ngăn chặn xâm nhập mạng (IDS/IPS) 18
1.6.8.1 Giới thiệu về IDS/IPS -18
1.6.8.2 Các thành phần và chức năng của IDS/IPS -19
1.6.8.3 Phân loại IDS -20
1.6.8.4 Cơ chế hoạt động của hệ thống IDS/IPS -23
CHƯƠNG 2 NGHIÊN CỨU BỘ CÔNG CỤ GIÁM SÁT, CHỐNG TẤN CÔNG MẠNG 26
2.1 Giới thiệu chung 26
2.2 Bộ công cụ giám sát mạng – Cacti 26
2.2.1 Kiến trúc của Cacti 26
Trang 7~ vi ~
2.2.2 Nguyên tắc hoạt động 28
2.2.3 Các tính năng chính 29
2.2.4 Lưu trữ và xử lý dữ liệu trong hệ thống giám sát mạng Cacti 32
2.3 Bộ công cụ chống tấn công mạng - Snort 34
2.3.1 Kiến trúc của Snort 34
2.3.1.1 Module giải mã gói tin -35
2.3.1.2 Module tiền xử lý -36
2.3.1.3 Module phát hiện -38
2.3.1.4 Module log và cảnh báo -39
2.3.1.5 Module kết xuất thông tin -39
2.3.2 Bộ luật của Snort 40
2.3.2.1 Phần tiêu đề -40
2.3.2.2 Các tùy chọn -43
2.3.3 Chế độ ngăn chặn của Snort: Snort – Inline 46
2.3.3.1 Các chế độ thực thi của Snort -46
2.3.3.2 Nguyên lý hoạt động của inline mode -47
CHƯƠNG 3 NGHIÊN CỨU ỨNG DỤNG MÃ NGUỒN MỞ CACTI VÀ SNORT .49
3.1 Giới thiệu về hệ thống giám sát, chống tấn công mạng 49
3.2 Xây dựng mô hình giả lập để thử nghiệm giám sát, chống tấn công mạng 49
3.2.1 Mô hình mạng trường 49
3.2.2 Đề xuất mô hình 50
3.2.3 Mô hình mạng thử nghiệm 51
3.2.4 Triển khai thử nghiệm giám sát mạng 51
3.2.5 Triển khai thử nghiệm chống tấn công mạng 60
3.2.5.1 Cấu hình Snort -60
3.2.5.2 Chương trình Snort -64
3.3 Đánh giá kết quả thực nghiệm 70
3.4 Kết quả thử nghiệm đạt được 71
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73
TÀI LIỆU THAM KHẢO 74
Trang 8~ vii ~
DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN
FTP File Tranfer Protocol Giao thức truyền tập tin
HTTP Hyper Text Tranfer Protocol Giao thức truyền tải siêu văn bản
MIB Management Information Base Cơ sở thông tin quản lý
OID Object Identifier Định danh đối tƣợng
LAN Local Area Network Mạng cục bộ
SNMP Simple Network Managerment
Protocol
Giao thức quản lý mạng đơn giản
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập
IPS Intrusion Prevention System Hệ thống ngăn chặn xâm nhậpH-IDS Host Based Intrusion Detection
VPN Vitual Private Network Mạng riêng ảo
CPU Central Processing Unit Đơn vị xử lý trung tâm
DOS Denial of Service Từ chối dịch vụ
DDOS Distributed Denial of Service Phân phối từ chối dịch vụ
TCP Transmission Control Protocol Giao thức kiểm soát
UDP User Datagram Protocol Giao thức sử dụng dữ liệu
ICMP Internet Control Message Protocol Giao thức điều khiển thông điệp
InternetMAC Media Access Controllers Bộ điều khiển truy cập truyền thôngPDU Protocol Data Unit Giao thức dữ liệu đơn vị
Trang 9~ viii ~
DANH MỤC CÁC HÌNH ẢNH
Trang
Hình 1.1 Minh họa cơ chế Poll 7
Hình 1.2 Minh họa cơ chế Alert 8
Hình 1.3 Trạm quản lý mạng 11
Hình 1.4 Minh họa quá trình lấy sysName.0 13
Hình 1.5 Minh họa MIB tree 14
Hình 1.6 Minh họa các phương thức của SNMPv1… 17
Hình 1.7 Cấu trúc bản tin SNMP 18
Hình 1.8 Các vị trí đặt IDS trong mạng 19
Hình 1.9 Mô hình NIDS 21
Hình 1.10 Hệ thống kết hợp 2 mô hình phát hiện 25
Hinh 2.1 Kiến trúc của Cacti 26
Hình 2.2 Các thành phần của hệ quản trị Cacti 28
Hình 2.3 Hoạt động của hệ quản trị Cacti 28
Hình 2.4 Biểu đồ trong Cacti 30
Hình 2.5 Weather map trong cacti 31
Hình 2.6 Giám sát trạng thái thiết bị trong Cacti 31
Hình 2.7 Nguyên lý của cơ sở dữ liệu RRD (RRA) 33
Hình 2.8 Biểu diễn đồ thị trong RRD 33
Hinh 2.9 Mô hình kiến trúc hệ thống Snort 34
Hinh 2.10 Quy trình xử lý một gói tin Ethernet 35
Hình 2.11 Cấu trúc luật của Snort 40
Hình 2.12 Header luật của Snort 40
Hình 3.1 Mô hình mạng hiện tại 49
Hình 3.2 Đề xuất mô hình 50
Hình 3.3 Mô hình thử nghiệm 51
Hình 3.4 Màn hình giao diện Cacti khởi động cài đặt 52
Hình 3.5 Màn hình giao diện Cacti kiểm tra các công cụ 53
Trang 10~ ix ~
Hình 3.6 Màn hình đăng nhập hệ thống 53
Hình 3.7 File SNMP services 54
Hình 3.8 Đặt cấu hình SNMP services 54
Hinh 3.9 Thêm thiết bị máy client vào cacti 55
Hình 3.10 Thêm thiết bị máy 2 vào Cacti 55
Hình 3.11 Danh sách các nội dung cần giám sát 56
Hình 3.12 Lựa chọn thiết bị muốn tạo đồ thị 57
Hình 3.13 Đồ thị của máy 2 57
Hình 3.14 Danh sách các máy có trong cây đồ thị 58
Hình 3.15 Tình trạng thiết bị trên cây đồ thị (máy 2) 59
Hình 3.16 Tình trạng thiết bị trên cây đồ thị (máy 7) 59
Hình 3.17 Giao diện hệ điều hành CentOS 5.4 60
Hình 3.18 Giao diện Base 63
Hình 3.19 Phát hiện có máy đang ping 64
Hình 3.20 Phát hiện truy cập web 65
Hình 3.21 Phát hiện truy cập trang web với IP 66
Hình 3.22 Tiến hành DDOS vào máy ảo Centos 67
Hình 3.23 Phát hiện tấn công DDOS 68
Hình 3.24 Phát hiện tấn công PORTSCAN 69
Trang 11DANH MỤC CÁC BẢNG BIỂUBảng 1.1 So sánh hai phương thức Poll và Alert
Bảng 1.2 Các phương thức hoạt động của SNMP
Bảng 2.1 Các module tiền xử lý
Bảng 2.2 Các cờ sử dụng với từ khoá flags
Trang 12Các chuyên gia an ninh mạng đã đoán trước rằng trong kỷ nguyên Internet diđộng, vấn đề khủng khiếp nhất sẽ là an ninh, dự đoán này bây giờ đang trở thànhthực tế Trong những năm gần đây, các website trên Internet, cũng như các dữ liệucủa các doanh nghiệp, tổ chức, chính phủ,… đã bị nhiều đợt tấn công của các tộiphạm mạng Đã có nhiều website, hệ thống mạng bị ngưng hoạt động trong nhiềugiờ, nhiều dữ liệu quan trọng đã bị đánh cắp Những vụ tấn công đã gây ra thiệt hạinghiêm trọng và tác động tiêu cực, ảnh hưởng trực tiếp đến nhiều cá nhân, côngviệc kinh doanh của các doanh nghiệp, ảnh hưởng đến nền an ninh quốc phòng củanhiều quốc gia.
Các vụ tấn công mạng ngày càng gia tăng, với nhiều loại hình tấn công và mức
độ ngày càng nghiêm trọng Những kẻ tấn công cũng có nhiều mục đích khác nhaunhư: chính trị, tài chính, tôn giáo, gián điệp, khủng bố… nhằm đánh cắp dữ liệu,phá hủy dữ liệu, làm cho hệ thống bị ngưng hoạt động, hoạt động chậm…
Tấn công mạng và chiến tranh không gian mạng ngày càng trở nên nghiêm
dụng trong phòng thủ mạng để đảm bảo mạng hoạt động ổn định, bảo đảm an toànthông tin trên mạng là việc làm rất cần thiết Giải quyết vấn đề an ninh mạng là việclàm của cả xã hội và là vấn đề cấp bách
Với như trên, em xin mạnh dạn nghiên cứu và triển khai
2 Mục tiêu nghiên cứu
+ Nghiên cứu triển khai các ứng dụng mã nguồn mở giám sát, chống tấn côngmạng (Cacti, Snort)
Trang 133 Đối tượng và phạm vi nghiên cứu
- Đối tượng của đề tài:
+ Một số phương thức giám sát, chống tấn công mạng: Poll, Alert, SNMP, IDS/IPS
+ Bộ công cụ mã nguồn mở: Cacti, Snort
- Phạm vi nghiên cứu:
+ Tìm hiểu về công nghệ, mô hình, giao thức giám sát mạng
+ Kiến trúc giám sát mạng mã nguồn mở
+ Chức năng, phân loại, cơ chế hoạt động của hệ thống chống tấn công mạng
4 Phương pháp nghiên cứu
về lý thuyết của đề tài
5 Ý nghĩa khoa học của đề tài
- Về lý thuyết:
, thực nghiệm để chứng minh những nghiên cứu
+ Là tài liệu tham khảo về kiến trúc quản trị mạng và phần mềm mã nguồn mở Cacti và Snort
+ Nắm vững nội dung nghiên cứu về tổng quan các kiến trúc của hệ thống quản lý hiện tại của mạng, giao thức SNMP và IDS/IPS
- Về thực tiễn:
6 Bố cục của luận văn
Dựa trên đối tượng và phạm vi nghiên cứu, luận văn sẽ được phân làm 3 chương chính với các nội dung cụ thể như sau:
Chương 1 Tổng quan an ninh mạng
Chương 3 Nghiên cứu ứng dụng mã nguồn mở cacti và Snort
Trang 14CHƯƠNG 1 TỔNG QUAN AN NINH MẠNG 1.1 Tình hình an ninh mạng hiện nay
Các nguy cơ từ mã độc, tấn công từ chối dịch vụ, xu hướng “Internet ofThings” (khái niệm chỉ các thiết bị kết nối được với nhau và kết nối với Internet) là
“mồi ngon” của tin tặc… sẽ đe dọa tình hình an ninh mạng tại Việt Nam
1.2 Các yếu tố đảm bảo an toàn thông tin
- Tính bí mật: Thông tin phải đảm bảo tính bí mật và được sử dụng đúng đối tượng
- Tính toàn vẹn: Thông tin phải đảm bảo đầy đủ, nguyên vẹn về cấu trúc
- Tính sẵn sàng: Thông tin phải luôn sẵn sàng để tiếp cận, để phục vụ theo đúng mục đích và đúng cách
- Tính chính xác: Thông tin phải chính xác, tin cậy
- Tính không khước từ (chống chối bỏ): Thông tin có thể kiểm chứng được nguồn gốc hoặc người đưa tin
1.3 Các mối đe dọa đến an toàn thông tin
Các mối đe dọa đến an toàn hệ thống là các hành động hoặc các sự kiện/hành
vi có khả năng xâm hại đến độ an toàn của một hệ thống thông tin
- Mục tiêu đe dọa tấn công: Chủ yếu là các dịch vụ an ninh
Khả năng bảo mật thông tin: Sẽ bị đe dọa nếu thông tin không được bảo mật
Tính toàn vẹn của thông tin: Đe dọa thay đổi cấu trúc thông tin
Tính chính xác của thông tin: Đe dọa thay đổi nội dung thông tin
Khả năng cung cấp dịch vụ của hệ thống: Làm cho hệ thống không thể cung cấp được dịch vụ (tính sẵn sàng)
Khả năng thống kê tài nguyên hệ thống
- Đối tượng đe dọa tấn công: Là chủ thể gây hại đến hệ thống
Khả năng đe dọa tấn công của đối tượng: Khả năng truy cập để khai thác các lỗ hổng hệ thống tạo ra mối đe dọa trực tiếp
Sự hiểu biết của đối tượng về mục tiêu đe dọa tấn công: user ID, file mật khẩu, vị trí file, địa chỉ mạng,…
Động cơ tấn công của đối tượng: Chinh phục, lợi ích cá nhân, cố tình
- Hành vi đe dọa tấn công:
Trang 15Lợi dụng quyền truy nhập thông tin hệ thống
Cố tình hoặc vô tình thay đổi thông tin hệ thống
Truy cập thông tin bất hợp pháp
Cố tình hoặc vô tình phá hủy thông tin hoặc hệ thống
Nghe lén thông tin
dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp
1.4.2 Các lỗ hổng loại B
Các lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống màkhông cần thực hiện kiểm tra tính hợp lệ Đối với dạng lỗ hổng này, mức độ nguyhiểm ở mức độ trung bình Những lỗ hổng này thường có trong các ứng dụng trên
hệ thống, có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật
Các lỗ hổng loại B có mức độ nguy hiểm hơn lỗ hổng loại C, cho phép người
sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập không hợp pháp.Người sử dụng cục bộ được hiểu là người đã có quyền truy nhập vào hệ thống vớimột số quyền hạn nhất định
Trang 161.4.3 Các lỗ hổng loại A
Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truy nhập vào hệthống bất hợp pháp Lỗ hổng này rất nguy hiểm, có thể làm phá hủy toàn bộ hệthống Các lỗ hổng loại A có mức độ rất nguy hiểm, đe dọa tính toàn vẹn và bảo mậtcủa hệ thống Các lỗ hổng loại này thường xuất hiện ở những hệ thống quản trị yếukém hoặc không kiểm soát được cấu hình mạng
Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phầnmềm sử dụng; người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng
sẽ có thể bỏ qua những điểm yếu này
1.5 Các nguy cơ mất an toàn thông tin
Cùng với sự phổ cập Internet ngày càng rộng rãi, vấn đề bảo đảm an toàn, anninh thông tin trên môi trường mạng cũng ngày càng trở nên cấp thiết Các nguy cơmất an toàn thông tin đang gia tăng cả về số lượng và mức độ nghiêm trọng Trướccác hiểm họa tinh vi và gánh nặng tuân thủ các quy định bảo mật mới, các phươngthức và hệ thống bảo mật truyền thống đã không còn hiệu quả để đảm bảo an toànthông tin và dữ liệu cho các tổ chức, cần có những công cụ và kỹ thuật tiên tiến hơn
để bảo vệ lợi ích của tổ chức, đảm bảo an toàn, duy trì kiểm soát các ứng dụng và
dữ liệu
1.5.1 Kiểu tấn công thăm dò.
Thăm dò là việc thu thập dữ liệu trái phép về tài nguyên, các lỗ hổng hoặc dịch
vụ của hệ thống Các cách tấn công truy cập hay DoS thường được tiến hành bởikiểu tấn công thăm dò Hiển nhiên, các hacker phải biết có thể tấn công cái gì trướckhi xâm nhập Thăm dò giống như một kẻ trộm nhà băng muốn biết có bao nhiêubảo vệ đang làm nhiệm vụ, bao nhiêu camera, vị trí của chúng và đường thoát hiểm.Thăm dò là một kiểu tấn công, nó cũng là một giai đoạn tấn công
1.5.2 Kiểu tấn công truy cập
Truy cập là một thuật ngữ rộng miêu tả bất kỳ kiểu tấn công nào đòi hỏi ngườixâm nhập lấy được quyền truy cập trái phép của một hệ thống bảo mật với mục đíchthao túng dữ liệu, nâng cao đặc quyền, hay đơn giản chỉ là truy cập vào hệ thống:
+ Tấn công truy cập hệ thống: Hacker thường tìm kiếm quyền truy cập đến
một thiết bị bằng cách chạy một đoạn mã hay bằng những công cụ hack (hacking
Trang 17tool) hay là khai thác một yếu điểm của ứng dụng hoặc một dịch vụ đang chạy trên máy chủ.
+ Tấn công truy cập thao túng dữ liệu: Thao túng dữ liệu xuất hiện khi kẻ
xâm nhập đọc, viết, xóa, sao chép hay thay đổi dữ liệu Nó có thể đơn giản như việctìm phần mềm chia sẻ trên máy tính, hay khó hơn như việc cố gắng xâm nhập một
hệ thống tín dụng của cục thông tin
+ Tấn công truy cập nâng cao đặc quyền: Nâng cao đặc quyền là một dạng
tấn công phổ biến Bằng cách nâng cao đặc quyền, kẻ xâm nhập có thể truy cập vàocác files hay folder dữ liệu mà tài khoản người sử dụng ban đầu không được chophép truy cập Mục đích chung của hacker là chiếm được quyền truy cập ở mức độquản trị Khi đã đạt được mục đích đó, họ có toàn quyền điều khiển hệ thống mạng
1.5.3 Kiểu tấn công từ chối dịch vụ
Kiểu tấn công DdoS được thực hiện nhằm làm vô hiệu hóa, làm hư hỏng, haygây tổn hại đến tài nguyên mạng với mục đích cản trở việc sử dụng những hệ thốngnày của người dùng Tấn công DdoS gồm các giai đoạn sau:
+ Giai đoạn đầu tiên – Mục tiêu: Là giai đoạn định nghĩa đối tượng Điều
đầu tiên cần làm rõ trong mọi hoạt động cũng như việc hacking là xác định đượcmục tiêu Kết quả của việc xác lập mục tiêu của kiểu tấn công dẫn đến việc hìnhthành, chọn lựa những công cụ và phương pháp phù hợp Nếu kẻ xâm nhập có động
cơ trả thù thì kiểu tấn công DdoS phù hợp với nhu cầu đó Nếu kẻ tấn công là mộtđối thủ thì, xâm nhập hệ thống và thao túng dữ liệu mới là mục tiêu Khi kẻ xâmnhập tiến hành những bước của một kiểu tấn công, thì mục tiêu có thể và thườngthay đổi
+ Giai đoạn hai thăm dò: Giai đoạn thăm dò, như chính tựa đề của nó, là giai
đoạn mà hacker sử dụng nhiều nguồn tài nguyên để thu thập thông tin về hệ thốngđối tượng
+ Giai đoạn thứ ba tấn công: Giai đoạn cuối cùng là giai đoạn tấn công.
Trong giai đoạn tấn công kẻ xâm nhập bắt đầu cố gắng xâm nhập mạng và tàinguyên hệ thống trên mạng Bằng cách sử dụng các thông tin đã thu thập được, mộtvài hacker có thể thực hiện việc tấn công nhiều lần cho đến khi phát hiện được lỗibảo mật để có thể khai thác
Trang 18Yêu cầu #1
Phản hồi#1 Yêu cầu#2
Phản hồi #2
Thiết bị (Device)Máy chủ giám sát
1.6 Giải pháp an ninh mạng
1.6.
: Máy tính cá nhân, máytrạm, server, máy vi tính cỡ nhỏ, máy vi tính cỡ lớn, các thiết bị đầu cuối, modem, các gateway, router và switch, tất cả mới chỉ là một phần của
1.6.2 Hai phương thức giám sát Poll và Alert
Hai phương thức giám sát “Poll” và “Alert”, đây là 2 phương thức cơ bản củacác kỹ thuật giám sát hệ thống, nhiều phần mềm và giao thức được xây dựng dựatrên 2 phương thức này, trong đó có SNMP
1.6
Nguyên tắc hoạt động: Máy chủ giám sát sẽ thường xuyên hỏi thông tin của
thiết bị cần giám sát Nếu máy giám sát không hỏi thì thiết bị không trả lời, nếu máygiám sát hỏi thì thiết bị phải trả lời Bằng cách hỏi thường xuyên, máy giám sát sẽluôn cập nhật được thông tin mới nhất từ thiết bị
Hình 1.1 Minh họa cơ chế Poll
1.6.2.2 Phương thức Alert
Nguyên tắc hoạt động: Mỗi khi trong thiết bị xảy ra một sự kiện (event) nào đó
thì thiết bị sẽ tự động gửi thông báo cho máy giám sát, gọi là Alert Máy giám sátkhông hỏi thông tin định kỳ từ thiết bị
Thiết bị chỉ gửi những thông báo mang tính sự kiện chứ không gửi nhữngthông tin thường xuyên thay đổi, nó cũng sẽ không gửi Alert nếu chẳng có sự kiện
gì xảy ra Chẳng hạn khi một port down/up thì thiết bị sẽ gửi cảnh báo, còn tổng sốbyte truyền qua port đó sẽ không được thiết bị gửi đi vì đó là thông tin thường
Trang 19Hình 1.2 Minh họa cơ chế Alert
1.6.2.3 So sánh phương thức Poll và Alert
Hai phương thức Poll và Alert là hoàn toàn khác nhau về cơ chế Một ứngdụng giám sát có thể sử dụng Poll hoặc Alert, hoặc cả hai, tùy vào yêu cầu cụ thểtrong thực tế
Bảng sau so sánh những điểm khác biệt của 2 phương thức :
Có thể chủ động lấy những thông tin
cần thiết từ các đối tượng mình quan
tâm, không cần lấy những thông tin
không cần thiết từ những nguồn không
quan tâm
Tất cả những event xảy ra đều đượcgửi về Manager, Manager phải có cơchế lọc những even cần thiết, hoặcDevice phải thiết lập được cơ chế chỉgửi những event cần thiết lập
Có thể lập bảng trạng thái tất cả các
thông tin của Device sau khi poll qua
một lượt các thông tin đó Ví dụ Device
có một port down và Manager được
khởi động sau đó, thì Manager sẽ biết
được port đang down sau khi poll qua
một lượt tất cả các port
Nếu không có event gi xảy ra thìManager không biết được trạng tháicủa Device Ví dụ Device có một portdown và Manager được khởi động sau
đó, thì Manager sẽ không thể biết đượcport đang down
Trong trường hợp đường truyền giữa
Manager và Device xảy ra gián đoạn và
Device có sự thay đổi, thì Manager sẽ
Khi đường truyền gián đoạn vàDevice có sự thay đổi thì nó vẫn gửialert cho Manager, nhưng alert này sẽ
Thiết bị (Device)
Sự kiện
Sự kiện(No có
Sự kiện
Trang 20không thể cập nhật Tuy nhiên khi
đường truyền thông suốt trở lại thì
Manager sẽ cập nhật được thông tin mới
nhất do nó luôn luôn poll định kỳ
không thể đến được Manager Sau đómặc dù đường truyền có thông suốt trởlại thì Manager vẫn không thể biếtđược những gì đã xảy ra
để trỏ về Manager mới
Nếu tần suất poll thấp, thời gian chờ
giữa hai chu kỳ poll dài sẽ làm Manager
chậm cập nhật các thay đổi của Device
Nghĩa là nếu thông tin Device đã thay
đổi nhưng vẫn chưa đến lượt poll kế
tiếp
thì Manager vẫn giữ thông tin cũ
Ngay khi có sự kiện xảy ra thì Device
sẽ gửi alert đến Manager, do đóManager luôn luôn có thông tin mớinhất tức thời
Có thể bỏ sót các sự kiện: Khi Device
có thay đổi, sau đó thay đổi trở lại như
ban đầu trước khi đến poll kế tiếp thì
Manager sẽ không phát hiện được
Manager sẽ được thông báo mỗi khi
có sự kiện xảy ra ở Device, do đóManager không bỏ sót bất kỳ sự kiệnnào
Nếu chu kỳ Poll ngắn sẽ gây tốn băng
thông, nếu chu kỳ dài thì thông tin giám
sát sẽ không chính xác
Không có chu kỳ gửi tin nên không tốn nhiều băng thông như cơ chế Poll
Bảng 1.1 So sánh hai phương thức Poll và Alert
1.6.3 Giao thức quản lý giám sát mạng SNMP
1.6.
SNMP là “giao thức quản lý mạng đơn giản Giao thức là một tập hợp các thủtục mà các bên tham gia cần tuân theo để có thể giao tiếp được với nhau Trong lĩnhvực thông tin, một giao thức quy định cấu trúc, định dạng (format) của dòng dữ liệutrao đổi với nhau và quy định trình tự, thủ tục để trao đổi dòng dữ liệu đó Nếu mộtbên tham gia gửi dữ liệu không đúng định dạng hoặc không theo trình tự thì các bênkhác sẽ không hiểu hoặc từ chối trao đổi thông tin SNMP là một giao thức, do đó
nó có những quy định riêng mà các thành phần trong mạng phải tuân theo
Trang 21Một thiết bị hiểu được và hoạt động tuân theo giao thức SNMP được gọi là
“có hỗ trợ SNMP” (SNMP supported) hoặc “tương thích SNMP” (SNMPcompartible) SNMP dùng để quản lý, nghĩa là có thể theo dõi, có thể lấy thông tin,
có thể được thông báo, và có thể tác động để hệ thống hoạt động như ý muốn
Ví dụ một số khả năng của giao thức SNMP:
Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã truyền/nhận
Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao nhiêu
Tự động nhận cảnh báo khi switch có một port bị down
Điều khiển tắt (shutdown) các port trên switch
SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền
TCP/IP và quản lý các thiết bị có nối mạng TCP/IP Các thiết bị mạng không nhấtthiết phải là máy tính mà có thể là switch, router, firewall, adsl gateway, và cả một
số phần mềm cho phép quản trị bằng SNMP
1.6.3.2
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trongmạng Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ít chi phí.SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát.Không có giới hạn rằng SNMP có thể quản lý được cái gì Khi có một thiết bị mớivới các thuộc tính, tính năng mới thì người ta có thể thiết kế “custom” SNMP đểphục vụ cho riêng mình
SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chếcủa các thiết bị hỗ trợ SNMP Các thiết bị khác nhau có hoạt động khác nhau nhưngđáp ứng SNMP là giống nhau
1.6.3.
SNMP có 4 phiên bản: SNMPv1, SNMPv2c, SNMPv2u và SNMPv3 Cácphiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động.Hiện tại SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiềuphần mềm hỗ trợ nhất Trong khi đó chỉ có một số thiết bị và phần mềm hỗ trợ
SNMPv3.
Trang 22Phần tử mạngTrạm quản lý mạng
Trạm quản lý mạng thường là một máy tính chạy phần mềm quản lý
SNMP, dùng để giám sát và điều khiển tập trung các các phần tử mạng
Giao thức SNMP
Giao thức SNMP
Hình 1.3 Trạm quản lý mạngPhần tử mạng là các thiết bị, máy tính, hoặc phần mềm tương thích SNMP vàđược quản lý bởi trạm quản lý mạng Như vậy phần tử mạng bao gồm thiết bị, máytrạm và ứng dụng
Một trạm quản lý có thể quản lý nhiều phần tử mạng, một phần tử mạng cũng
có thể được quản lý bởi nhiều trạm Vậy nếu một phần tử được quản lý bởi 2 trạmthì điều gì sẽ xảy ra? Nếu trạm lấy thông tin từ phần tử mạng thì cả 2 trạm sẽ cóthông tin giống nhau Nếu 2 t r ạ m tác động đến cùng một phần tử thì phần tử sẽđáp ứng cả 2 tác động theo thứ tự cái nào đến trước
Ngoài ra còn có khái niệm SNMP agent SNMP agent là một tiến trình
(process) chạy trên phần tử mạng, có nhiệm vụ cung cấp thông tin của phần tửcho trạm, nhờ đó trạm có thể quản lý được phần tử Chính xác hơn là ứng dụngchạy trên trạm và agent chạy trên phần tử mới là 2 tiến trình SNMP trực tiếp liên
hệ với nhau [1]
1.6.4.2 ObjectID
Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗi
thông tin đó gọi là một object Ví dụ:
Máy tính có thể cung cấp các thông tin: Tổng số ổ cứng, tổng số port nối
Trang 23mạng, tổng số byte đã truyền/nhận, tên máy tính, tên các process đang chạy Router có thể cung cấp các thông tin: Tổng số card, tổng số port, tổng số byte đã truyền/nhận, tên router, tình trạng các port của router, … Mỗi object
có một tên gọi và một mã số để nhận dạng object đó, mã số gọi là Object ID
(OID) Ví dụ :
Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5
Tổng số port giao tiếp (interface) được gọi là ifNumber, OID là 1.3.6.1.2.1.2.1
Địa chỉ Mac Address của một port được gọi là ifPhysAddress, OID là
Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5; nếu thiết bị có 2 tênthì chúng sẽ được gọi là sysName.0 & sysName.1 và có OID lần lượt là1.3.6.1.2.1.1.5.0 & 1.3.6.1.2.1.1.5.1
Địa chỉ Mac address được gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6; nếu thiết bị có 2 Mac address thì chúng sẽ được gọi là ifPhysAddress.0 &
ifPhysAddress.1 và có OID lần lượt là 1.3.6.1.2.1.2.2.1.6.0 & 1.3.6.1.2.1.2.2.1.6.1 Tổng số port được gọi là ifNumber, giá trị này chỉ có 1 nên OID của nó không có phân cấp con và vẫn là 1.3.6.1.2.1.2.1
Ở hầu hết các thiết bị, các object có thể có nhiều giá trị thì thường được viếtdưới dạng có sub-id Ví dụ: Một thiết bị dù chỉ có 1 tên thì nó vẫn phải có OID làsysName.0 hay 1.3.6.1.2.1.1.5.0 Cần nhớ quy tắc này để ứng dụng trong lập trìnhphần mềm SNMP manager
Sub-id không nhất thiết phải liên tục hay bắt đầu từ 0 VD một thiết bị có 2mac address thì có thể chúng được gọi là ifPhysAddress.23 và
ifPhysAddress.125645
Trang 24OID của các object phổ biến có thể đƣợc chuẩn hóa, OID của các object dobạn tạo ra thì bạn phải tự mô tả chúng Để lấy một thông tin có OID đã chuẩn hóathì SNMP application phải gửi một bản tin SNMP có chứa OID của object đó choSNMP agent, SNMP agent khi nhận đƣợc thì nó phải trả lời bằng thông tin ứng vớiOID đó.
VD: Muốn lấy tên của một PC chạy Windows, tên của một PC chạy Linux hoặctên của một router thì SNMP application chỉ cần gửi bản tin có chứa OID là1.3.6.1.2.1.1.5.0 Khi SNMP agent chạy trên PC Windows, PC Linux hay routernhận đƣợc bản tin có chứa OID 1.3.6.1.2.1.1.5.0, agent lập tức hiểu rằng đây là bảntin hỏi sysName.0, và agent sẽ trả lời bằng tên của hệ thống Nếu SNMP agentnhận đƣợc một OID mà nó không hiểu (không hỗ trợ) thì nó sẽ không trả lời
Hình 1.4 Minh họa quá trình lấy sysName.0 [1]
Một trong các ƣu điểm của SNMP là có đƣợc thiết kế để chạy độc lập với cácthiết bị khác nhau Chính nhờ việc chuẩn hóa OID mà ta có thể dùng một SNMPapplication để lấy thông tin các loại device của các hãng khác nhau.[1]
Trang 251.6.4.4 Cơ sở thông tin quản trị MIB
MIB là một cấu trúc dữ liệu gồm các đối tƣợng đƣợc quản trị, đƣợc dùng choviệc quản lý các thiết bị chạy trên nền TCP/IP MIB là kiến trúc chung mà các giaothức quản lý trên TCP/IP nên tuân theo, trong đó có SNMP, MIB đƣợc thể hiệnthành một tệp tin (MIB file), và có thể biểu diễn thành 1 cây (MIB tree) MIB cóthể đƣợc chuẩn hóa hoặc tự tạo
Hình 1.5 Minh họa MIB tree [1]
Một node trong cây là một object, có thể đƣợc gọi bằng tên hoặc id
Các objectID trong MIB đƣợc sắp xếp thứ tự nhƣng không phải là liên tục,khi biết một OID thì không chắc chắn có thể xác định đƣợc OID tiếp theo trongMIB VD trong chuẩn mib-2 thì object ifSpecific và object atIfIndex nằm kề nhaunhƣng OID lần lƣợt là 1.3.6.1.2.1.2.2.1.22 và 1.3.6.1.2.1.3.1.1.1
Muốn hiểu đƣợc một OID nào đó thì bạn cần có file MIB mô tả OID đó.Một MIB file không nhất thiết phải chứa toàn bộ cây ở trên mà có thể chỉ chứa mô
tả cho một nhánh con Bất cứ nhánh con nào và tất cả lá của nó đều có thể gọi làmột MIB
Một manager có thể quản lý đƣợc một device chỉ khi ứng dụng SNMPmanager và ứng dụng SNMP agent cùng hỗ trợ một MIB Các ứng dụng này cũng
Trang 26Manager gửi GetNextRequest có chứa mộtObjectID cho agent để yêu cầu cung cấp thông tinnằm kế tiếp ObjectID đó trong MIB
SetRequest Manager gửi SetRequest cho agent để đặt giá trị
cho đối tượng của agent dựa vào ObjectID
GetResponse Agent gửi GetResponse cho Manager để trả lời
khi nhận được GetRequest/GetNextRequest
Trap Agent tự động gửi Trap cho Manager khi có một
sự kiện xảy ra đối với một object nào đó trong agent.Bảng 1.2 Các phương thức hoạt động của SNMP
Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì OIDtrong GetRequest cho biết nó muốn lấy thông tin của object nào OID trongGetResponse cho biết nó mang giá trị của object nào OID trong SetRequest chỉ ra
nó muốn thiết lập giá trị cho object nào OID trong Trap chỉ ra nó thông báo sự kiệnxảy ra đối với object nào.[2]
1.6.5.1 GetRequest
Bản tin GetRequest được manager gửi đến agent để lấy một thông tin nào đó.Trong GetRequest có chứa OID của object muốn lấy VD: Muốn lấy thông tin têncủa Device1 thì manager gửi bản tin GetRequest OID=1.3.6.1.2.1.1.5 đếnDevice1, tiến trình SNMP agent trên Device1 sẽ nhận được bản tin và tạo bản tintrả lời Trong một bản tin GetRequest có thể chứa nhiều OID, nghĩa là dùng mộtGetRequest có thể lấy về cùng lúc nhiều thông tin [2]
Trang 27Có thể shutdown một port trên switch bằng phần mềm SNMP manager,bằng cách gửi bản tin có OID là 1.3.6.1.2.1.2.2.1.7 (ifAdminStatus) và cógiá trị là 2 (ifAdminStatus có thể mang ba giá trị là UP (1), DOWN (2), vàTESTING (3)) Chỉ những object có quyền READ_WRITE mới có thể thayđổi được giá trị [2]
1.6.5.3 GetResponse
Mỗi khi SNMP agent nhận được các bản tin GetRequest, GetNextRequest haySetRequest thì nó sẽ gửi lại bản tin GetResponse để trả lời Trong bản tinGetResponse có chứa OID của object được request và giá trị của object đó.[2]
1.6.5.4 Trap
Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy rabên trong agent, các sự kiện này không phải là các hoạt động thường xuyên củaagent mà là các sự kiện mang tính biến cố Ví dụ: Khi có một port down, khi cómột người dùng login không thành công, hoặc khi thiết bị khởi động lại, agent sẽgửi trap cho manager
Phương thức trap là độc lập với các phương thức request/response SNMPrequest/response dùng để quản lý còn SNMP trap dùng để cảnh báo Nguồn gửi
trap gọi là Trap Sender và nơi nhận trap gọi là Trap Receiver Một trap sender có
thể được cấu hình để gửi trap đến nhiều trap receiver cùng lúc
Theo SNMPv1, generic trap có 7 loại sau: coldStart(0), warmStart(1),
linkDown(2), linkUp(3), authenticationFailure(4), egpNeighborloss(5),
enterpriseSpecific(6)
Người dùng có thể tự định nghĩa thêm các loại trap để làm phong phú thêmkhả năng cảnh báo của thiết bị như: boardFailed, configChanged, powerLoss,cpuTooHigh, …
Trang 28Người dùng tự quy định ý nghĩa và giá trị của các specific trap này, và dĩnhiên chỉ những trap receiver và trap sender hỗ trợ cùng một MIB mới có thể hiểu ýnghĩa của specific trap Do đó nếu bạn dùng một phần mềm trap receiver bất kỳ đểnhận trap của các trap sender bất kỳ, bạn có thể đọc và hiểu các generic trap khichúng xảy ra; nhưng bạn sẽ không hiểu ý nghĩa các specific trap khi chúng hiện lênmàn hình vì bản tin trap chỉ chứa những con số.
Hình 1.6 Minh họa các phương thức của SNMPv1Đối với các phương thức Get/Set/Response thì SNMP Agent lắng nghe ở portUDP 161, còn phương thức trap thì SNMP Trap Receiver lắng nghe ở port UDP
1.6.6.2 View
Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent Tuynhiên agent có thể quy định chỉ cho phép đọc một số OID có liên quan nhau, tức làchỉ đọc được một phần của MIB Tập con của MIB này gọi là view Trên agent cóthể định nghĩa nhiều view Một view phải gắn liền với một community string Tùyvào community string nhận được là gì mà agent xử lý trên view tương ứng
1.6.6.3 SNMP access control list
SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sátagent, nó chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent Nếu mộtmanager
Trang 29có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dù request
có community string là đúng
1.6.6.4 RMON
Mục đích: Quản lý, giám sát tập trung toàn mạng từ xa giúp mạng có thể tự
hoạt động và các thiết bị riêng lẻ có thể hoạt động đồng bộ trong mạng không chỉdùng cho việc giám sát lưu lượng trong LAN mà còn cho cả các giao diện WANRMON bổ sung MIB-RMON cho MIB-II và cung cấp thông tin quan trọng
Phần Data trong bản tin SNMP gọi là PDU (Protocol Data Unit)
SNMPv1 có 5 phương thức hoạt động tương ứng 5 loại PDU Tuy nhiên chỉ
có 2 loại định dạng bản tin là PDU và Trap-PDU, trong đó các bản tin Get, GetNext,Set, GetResponse có cùng định dạng là PDU, còn bản tin Trap có định dạng là Trap-PDU [1]
1.6.8 Hệ thống phát hiện và ngăn chặn xâm nhập mạng (IDS/IPS)
1.6.8.1 Giới thiệu về IDS/IPS
* IDS: Hệ thống phát hiện xâm nhập là hệ thống có nhiệm vụ theo dõi, phát
hiện và (có thể) ngăn cản sự xâm nhập, cũng như các hành vi khai thác trái phép tàinguyên của hệ thống được bảo vệ mà có thể dẫn đến việc làm tổn hại đến tính bảomật, tính toàn vẹn và tính sẵn sàng của hệ thống
Hệ thống IDS sẽ thu thập thông tin từ rất nhiều nguồn trong hệ thống được bảo
vệ sau đó tiến hành phân tích những thông tin đó theo các cách khác nhau để pháthiện những xâm nhập trái phép
Hình sau minh hoạ các vị trí thường cài đặt IDS trong mạng :
Trang 30Hình 1.8 Các vị trí đặt IDS trong mạng [4]
* IPS: Hệ thống chống xâm nhập được định nghĩa là một phần mềm hoặc một
thiết bị chuyên dụng có khả năng phát hiện và ngăn chặn các nguy cơ gây mất anninh IDS và IPS có rất nhiều điểm chung, do đó hệ thống IDS và IPS có thể đượcgọi chung là IDP- Intrusion Detection and Prevention
1.6.8.2 Các thành phần và chức năng của IDS/IPS
* Các thành phần
- Thành phần thu thập thông tin gói tin: Thành phần này có nhiệm vụ lấy tất cảcác gói tin đi đến mạng Tất cả các gói tin qua chúng đều được sao chụp, xử lí, phântích đến từng trường thông tin Bộ phận thu thập gói tin sẽ đọc thông tin từngtrường trong gói tin, xác định chúng thuộc kiểu gói tin nào, dịch vụ gì… Các thôngtin này được chuyển đến thành phần phát hiện tấn công
- Thành phần phát hiện gói tin: Ở thành phần này, các bộ cảm biến đóng vaitrò quyết định Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ nhữngthông tin dữ liệu không tương thích đạt được từ các sự kiện liên quan tới hệ thốngbảo vệ vì vậy có thể phát hiện được các hành động nghi ngờ
- Thành phần phản hồi: Khi có dấu hiệu của sự tấn công hoặc thâm nhập,thành phần phát hiện tấn công sẽ gửi tín hiệu báo hiệu có sự tấn công hoặc thâmnhập đến thành phần phản ứng Lúc đó thành phần phản ứng sẽ kích hoạt tường lửathực hiện chức năng ngăn chặn cuộc tấn công hay cảnh báo tới người quản trị Dướiđây là một số kỹ thuật ngăn chặn:
Trang 31+ Cảnh báo thời gian thực: Gửi các cảnh báo thời gian thực đến người quản trị
để họ nắm được chi tiết cuộc tấn công, các đặc điểm và thông tin về chúng.+ Ghi lại vào tập tin: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các tập tin log
+ Ngăn chặn, thay đổi gói tin: Khi một gói tin khớp với dấu hiệu tấn công thìIDS sẽ phản hồi bằng cách xóa bỏ, từ chối hay thay đổi nội dung của gói tin,làm cho gói tin trở nên không bình thường
- Bảo vệ: Dùng những thiết lập mặc định và sự cấu hình từ nhà quản trị mà có những hành động thiết thực chống lại kẻ xâm nhập và phá hoại
1.6.8.3 Phân loại IDS
* Network based IDS (NIDS)
NIDS thường bao gồm có hai thành phần logic :
• Bộ cảm biến – Sensor: Đặt tại một đoạn mạng, kiểm soát các cuộc lưu thông nghi ngờ trên đoạn mạng đó
• Trạm quản lý: Nhận các tín hiệu cảnh báo từ bộ cảm biến và thông báo cho một điều hành viên
Trang 32• Phát hiện được các cuộc tấn công mà HIDS bỏ qua.
• Khó xoá bỏ dấu vết (evidence): NIDS sử dụng lưu thông hiện hành trênmạng để phát hiện xâm nhập Vì thế, kẻ đột nhập không thể xoá bỏ được cácdấu vết tấn công
• Phát hiện và đối phó kịp thời
• Có tính độc lập cao
* Nhược điểm:
• Bị hạn chế với Switch: Nhiều lợi điểm của NIDS không phát huy được trongcác mạng chuyển mạch hiện đại Thiết bị switch chia mạng thành nhiều phầnđộc lập vì thế NIDS khó thu thập được thông tin trong toàn mạng Do chỉkiểm tra mạng trên đoạn mà nó trực tiếp kết nối tới, nó không thể phát hiệnmột cuộc tấn công xảy ra trên các đoạn mạng khác Vấn đề này dẫn tới yêucầu tổ chức cần phải mua một lượng lớn các bộ cảm biến để có thể bao phủhết toàn mạng gây tốn kém về chi phí cài đặt
• Hạn chế về hiệu năng: NIDS sẽ gặp khó khăn khi phải xử lý tất cả các gói tintrên mạng rộng hoặc có mật độ lưu thông cao, dẫn đến không thể phát hiệncác cuộc tấn công thực hiện vào lúc "cao điểm" Một số nhà sản xuất đã khắcphục bằng cách cứng hoá hoàn toàn IDS nhằm tăng cường tốc độ cho nó
Trang 33Tuy nhiên, do phải đảm bảo về mặt tốc độ nên một số gói tin được bỏ qua cóthể gây lỗ hổng cho tấn công xâm nhập.
• Tăng thông lượng mạng
• Một hệ thống NIDS thường gặp khó khăn trong việc xử lý các cuộc tấn côngtrong một phiên được mã hoá Lỗi này càng trở nên trầm trọng khi nhiềucông ty và tổ chức đang áp dụng mạng riêng ảo VPN
• Một số hệ thống NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn côngmạng từ các gói tin phân mảnh Các gói tin định dạng sai này có thể làm choNIDS hoạt động sai và đổ vỡ
* Host based IDS (HIDS)
Host-based IDS tìm kiếm dấu hiệu của xâm nhập vào một host cục bộ; thường
sử dụng các cơ chế kiểm tra và phân tích các thông tin được logging Nó tìm kiếmcác hoạt động bất thường như login, truy nhập file không thích hợp, bước leo thangcác đặc quyền không được chấp nhận
Kiến trúc IDS này thường dựa trên các luật (rule-based) để phân tích các hoạtđộng Ví dụ đặc quyền của người sử dụng cấp cao chỉ có thể đạt đvược thông qualệnh su-select user, như vậy những cố gắng liên tục để login vào account root có thểđược coi là một cuộc tấn công
* Ưu điểm:
• Xác định được kết quả của cuộc tấn công: Do HIDS sử dụng dữ liệu log lưucác sự kiện xảy ra, nó có thể biết được cuộc tấn công là thành công hay thấtbại với độ chính xác cao hơn NIDS Vì thế, HIDS có thể bổ sung thông tin tiếptheo khi cuộc tấn công được sớm phát hiện với NIDS
• Giám sát được các hoạt động cụ thể của hệ thống: HIDS có thể giám sát cáchoạt động mà NIDS không thể như: truy nhập file, thay đổi quyền, các hànhđộng thực thi, truy nhập dịch vụ được phân quyền Đồng thời nó cũng giámsát các hoạt động chỉ được thực hiện bởi người quản trị
• Phát hiện các xâm nhập mà NIDS bỏ qua
• Thích nghi tốt với môi trường chuyển mạch, mã hoá
• Không yêu cầu thêm phần cứng: Được cài đặt trực tiếp lên hạ tầng mạng cósẵn (FTP Server, WebServer) nên HIDS không yêu cầu phải cài đặt thêm cácphần cứng khác
Trang 34• Hệ thống host-based tương đối đắt: Nhiều tổ chức không có đủ nguồn tàichính để bảo vệ toàn bộ các đoạn mạng của mình sử dụng các hệ thống host-based Những tổ chức đó phải rất thận trọng trong việc chọn các hệ thống nào
để bảo vệ Nó có thể để lại các lỗ hổng lớn trong mức độ bao phủ phát hiệnxâm nhập Ví dụ như một kẻ tấn công trên một hệ thống láng giềng khôngđược bảo vệ có thể đánh hơi thấy các thông tin xác thực hoặc các tài liệu dễ bịxâm phạm khác trên mạng
• Chiếm tài nguyên hệ thống: Do cài đặt trên các máy cần bảo vệ nên HIDSphải sử dụng các tài nguyên của hệ thống để hoạt động như: bộ vi xử lí, RAM,
bộ nhớ ngoài
1.6.8.4 Cơ chế hoạt động của hệ thống IDS/IPS
IDS có các chức năng là phát hiện các cuộc tấn công và cảnh báo các cuộc tấncông đó Có các phương pháp khác nhau trong việc phân tích các sự kiện để pháthiện các vụ tấn công IDS hoạt động dựa trên 3 phương pháp phát hiện xâm nhập:
* Mô hình phát hiện sự lạm dụng:
Phát hiện sự lạm dụng là phát hiện những kẻ xâm nhập đang cố gắng đột nhậpvào hệ thống mà sử dụng một số kỹ thuật đã biết Nó liên quan đến việc mô tả đặcđiểm các cách thức xâm nhập vào hệ thống đã được biết đến, mỗi cách thức nàyđược mô tả như một mẫu
Các kỹ thuật để phát hiện sự lạm dụng khác nhau ở cách thức mà chúng môhình hoá các hành vi chỉ định một sự xâm nhập Các hệ thống phát hiện sự lạm dụng
sử dụng các luật (rules) để mô tả những gì mà các nhà quản trị an ninh tìm kiếmtrong hệ thống Một lượng lớn tập luật được tích luỹ dẫn đến khó có thể hiểu và sửa
Trang 35đổi bởi vì chúng không được tạo thành từng nhóm một cách hợp lý trong một kịch bản xâm nhập.
Để giải quyết khó khăn này, các hệ thống đưa ra các biểu diễn kịch bản xen
kẽ, bao gồm các tổ chức luật dựa trên mô hình và các biểu diễn về phép biến đổitrạng thái Điều này sẽ mang tính hiệu quả hơn đối với người dùng hệ thống cần đến
sự biểu diễn và hiểu rõ ràng về các kịch bản Hệ thống phải thường xuyên duy trì vàcập nhật để đương đầu với những kịch bản xâm nhập mới được phát hiện
* Mô hình phát hiện các dấu hiệu bất thường
Mô hình phát hiện các dấu hiệu bất thường (Abnormaly-base Detection) sosánh định nghĩa của những hoạt động bình thường và đối tượng quan sát nhằm xácđịnh các độ lệch Một hệ IDS sử dụng phương pháp Anormaly-base Detection cócác profiles đặc trưng cho các hành vi được coi là bình thường, được phát triểnbằng cách giám sát các đặc điểm của hoạt động tiêu biểu trong một khoảng thờigian Sau khi đã xây dựng được tập các profile này, hệ IDS sử dụng phương phápthống kê để so sánh các đặc điểm của các hoạt động hiện tại với các ngưỡng địnhbởi profile tương ứng để phát hiện ra những bất thường
Quá trình phát hiện được mô tả bởi 3 yếu tố cơ bản nền tảng sau:
- Thu thập thông tin (information source): Kiểm tra các gói tin trên mạng
- Phân tích (Analysis): Phân tích các gói tin đã thu thập để nhận biết hànhđộng nào là tấn công
- Cảnh báo (response): Hành động cảnh báo cho sự tấn công
* Kiểm tra tính toàn vẹn
Kiểm tra tính toàn vẹn là một phương pháp đơn giản nhưng đem lại hiệu quảcao trong việc giám sát, phát hiện xâm nhập Nó hoạt động bằng cách tạo ra mộtchecksum cho mỗi tập tin trên một hệ thống, và sau đó định kỳ so sánh checksum đóvới tập tin gốc để đảm bảo tập tin không bị thay đổi Nếu một sự thay đổi tập tin tráiphép xảy ra, một cảnh báo sẽ được được tạo ra Nhược điểm của kiểm tra tính toànvẹn là nó đòi hỏi quyền truy cập vào các file nhạy cảm trên máy chủ
Để có được một hệ thống chống tấn công mạng tốt nhất ta tiến hành kết hợphai mô hình phát hiện trên trong cùng một hệ thống Hệ thống kết hợp này sẽ cungcấp khả năng phát hiện nhiều loại tấn công hơn và hiệu quả hơn
Trang 36lý hệ thống biết đƣợc hệ thống đang quản lý đƣợc giám sát nhƣ thế nào.
Trang 37Router
CHƯƠNG 2 NGHIÊN CỨU BỘ CÔNG CỤ GIÁM SÁT, CHỐNG TẤN
CÔNG MẠNG 2.1 Giới thiệu chung
Công cụ giám sát, phát hiện và chống xâm nhập mạng là những ứng dụngđược phát triển để theo dõi tình trạng của hệ thống, hiện nay trên thế giới có nhiều
bộ công cụ chia làm nhiều nhóm có những chức năng riêng
Tuy nhiên, những công cụ giám sát hệ thống phải được toàn diện, tình trạngcủa hệ thống phải được cập nhật thường xuyên 24/7 Phải hỗ trợ nhiều giao thứctrong đó có giao thức SNMP, dễ dàng phát triển, dễ sử dụng, cài đặt đơn giản Hiện nay, có nhiều giải pháp phần mềm mã nguồn mở tự do cho phép triểnkhai giám sát, phát hiện và chống xâm nhập mạng rất hiệu quả như Nagios, Cacti,Snort, Zabbix, Zenoss, … Trong đó Cacti và Snort là hai giải pháp mã nguồn mởvới nhiều chức năng mạnh mẽ cho phép quản lý băng thông kết nối, tình trạng hoạtđộng của các thiết bị, trạng thái của dịch vụ trong hệ thống mạng Nhiều tính năngtrên Cacti và Snort còn được đánh giá cao hơn các sản phẩm thương mai [6]
Dựa vào các tiêu chí đó, luận văn nghiên cứu, phân tích, đánh giá bộ công cụđiển hình là Catti và Snort
2.2 Bộ công cụ giám sát mạng – Cacti
Cacti là một công cụ mã nguồn mở và kiến trúc frontend hoàn toàn trên nềnweb Cacti lưu toàn bộ thông tin cần thiết trong cơ sở dữ liệu MySQL và tạo ra đồthị đo lường trực quan, tất cả các tham số đều có thể cấu hình qua giao diện web.Cacti sử dụng 3 phiên bản SNMP để thu thập thông tin thông qua phương thức Poll
2.2.1 Kiến trúc của Cacti
Hinh 2.1 Kiến trúc của Cacti [6]
Cacti sử dụng phương thức Poll để thu thập dữ liệu từ nhiều nguồn khác nhau.Các tệp tin Round Robin Database (RRD) dùng để lưu trữ dữ liệu Poll Cơ sở dữ
Trang 38liệu MySQL dùng để chứa các thông số cấu hình hệ thống Giao diện người dùngchính là ứng dụng web PHP, cho phép dễ dàng quản trị mọi khía cạnh của hệ thống,cũng như tự động hiển thị các thông số trực quan trên nền đồ họa [6]
Người dùng (người quản trị mạng) làm việc với Cacti thông qua trình duyệtweb (Browser) Với trình duyệt web, người quản trị có thể khai báo cácloại thiết bị trong hệ thống mạng, thiết lập các thông số về tất cả các thiết bị cầngiám sát, quản lý Các dữ liệu quản trị sẽ được lưu trữ trong các bảng dữ liệuMySQL, kết quả các dữ liệu được minh họa hiển thị dưới dạng các sơ đồ
Những thông tin mà Cacti thu thập được của người dùng thông qua cáctruy vấn được lưu trữ lại trong cơ sở dữ liệu MySQL để duy trì hoạt động chonhững lần sau
Từ yêu cầu của người dùng, Cacti sẽ xử lý các dữ liệu thông qua các truyvấn từ Poller Poller liên tục lấy dữ liệu từ các thiết bị cần được giám sát như:Server, router, HDD, Ram … Các dữ liệu thu thập được sẽ được lưu trữ bằng cơ
sở dữ liệu xoay vòng RRD Cacti sẽ sử dụng những dữ liệu RRD để tổ hợp vàbiểu diễn dữ liệu dưới dạng đồ thị
Các thành phần cài đặt chính để Cacti hoạt động là các gói phần mềm:RRDtool, MySQL, Webserver, PHP, Net-snmp
RRDtool: Là một cơ sở dữ liệu xoay vòng dùng để lưu lại dữ liệu thu thập
được từ các truy vấn hỗ trợ cho việc xuất dữ liệu đồ họa
MySQL: Gói này được cài đặt giống như cơ sở dữ liệu riêng của Cacti để
Cacti tùy ý sử dụng Là cơ sở dữ liệu lưu lại dữ liệu về người dùng, mật khẩu…vàokho MySQL
Webserver: Cacti được xây dựng trên nền web nên bất kỳ web server hỗ
trợ PHP cũng phải cài đặt để Cacti giao tiếp như Httpd của Apache hay củaMicrosoft được khuyên dùng vì tính năng ổn định và phổ biến
PHP: Cacti được lập trình dựa trên ngôn ngữ PHP, do vậy muốn để Cacti
hoạt động được trên hệ thống bắt buộc phải cài đặt gói PHP
Net- snmp: Gói phần mềm hỗ trợ việc sử dụng giao thức SNMP có thể
được hoạt động trên Ipv4, Ipv6
Các modul của hệ quản trị mạng Cacti
Trang 39Hình 2.2 Các thành phần của hệ quản trị CactiCacti là hệ quản trị mạng mã nguồn mở dựa trên nền Web, cung cấp cáctính năng phong phú như biểu đồ nhúng, mẫu thiết bị, tích hợp và phát triển trêncác phần mềm cơ bản (mysql, php, rrdtool, net-snmp) dễ cài đặt và dễ dàng sử dụngcác menu trong Cacti.
2.2.2 Nguyên tắc hoạt động
Cacti là một phần mềm mã nguồn mở hỗ trợ việc giám sát các lưu lượngmạng qua các switch, router và lưu lượng các thiết bị kết nối trong mạng:Nhiệt độ CPU, HDD, RAM… Hoạt động Cacti có thể được chia thành 3 nhiệm vụchính như sau:
Thu thập dữ liệu Lưu trữ dữ liệu Trình bày dữ liệu
Hình 2.3 Hoạt động của hệ quản trị Cacti
+ Thu thập dữ liệu:
Nhiệm vụ đầu tiên là để lấy dữ liệu Cacti sẽ thực hiện bằng cách sử dụng
bộ quét thiết bị Tần số quét có thể được thực hiện từ lịch của hệ điều hành.Trong hệ thống mạng hiện tại, làm việc với rất nhiều thiết bị các loại khác nhau,
ví dụ như máy chủ, thiết bị mạng…Để lấy dữ liệu từ mục tiêu ở xa, Cacti sẽ chủyếu sử dụng SNMP Do đó, tất cả các thiết bị có khả năng sử dụng giao thứcSNMP đều có thể được quản trị và theo dõi bởi phần mềm Cacti
+ Lưu trữ dữ liệu:
Sau khi thu thập được dữ liệu, Để có thể tạo ra những đồ thị về trạng tháihoạt động của các thiết bị cần giám sát Cacti sử dụng RRDTool (Round Robin
Trang 40Database Tool) để lưu trữ dữ liệu RRDTool là một hệ thống lưu trữ dữ liệu vàhiển thị dữ liệu theo chuỗi thời gian Nó lưu trữ các dữ liệu một cách rất nhỏ gọn
mà độ lớn của tệp sẽ không thay đổi theo thời gian, dựa trên dữ liệu củaRRDTool, RDDTool hỗ trợ trong hệ thống đồ họa, tạo ra các sơ đồ thể hiện dữliệu mà nó thu thập được
+ Trình bày dữ liệu:
Một trong những tính năng được đánh giá cao nhất của RRDTool là tíchhợp chức năng đồ họa Điều này càng hữu ích khi kết hợp với máy chủ web.Như vậy, dữ liệu được thể hiện qua các thông số của hệ thống và khoảngthời gian dữ liệu được thu thập Hình ảnh của các dữ liệu này thường được minhhọa thể hiện theo những cách rất khác nhau trên cơ sở đó người quản trị có thểđánh giá được ngưỡng của thiết bị
RRDTool là một công cụ mạnh đóng vai trò rất quan trọng trong hệ thốngquản trị mạng Cacti
Trong cấu hình mặc định Cacti chỉ hỗ trợ 2 menu tính năng chính làConsole và Graph Trong đó, phần Console cho phép điều chỉnh các thông sốnhư chọn thiết bị cần giám sát lưu lượng và hiển thị đồ thị lưu lượng trong phầnGraph Một đặc điểm quan trọng mà Cacti là cho phép tích hợp nhiều thànhphần khác vào nó Cacti có khả năng tích hợp thêm các chức năng của người sửdụng (Plugin) Plugin là một dạng phần mềm có thể thêm các tính năng vào mộtứng dụng có sẵn Đây là một đặc điềm quan trọng cho việc thực hiện ý tưởng trongluận văn này là tạo nên một hệ thống tích hợp hỗ trợ trong việc giám sát, chống tấncông hệ thống mạng
2.2.3 Các tính năng chính
Biểu đồ: Hầu như tất cả mọi thứ trong cacti đều liên quan đến biểu đồ Kể từkhi Cacti cung cấp một giao diện người dùng thân thiện với RRD mà không yêu cầungười dùng phải hiểu RRD làm việc ra sao Với cơ chế này, mỗi biểu đồ trong Cactiđều được cài đặt và có ít nhất một công cụ biểu đồ liên kết với nó Vì vậy, các công
cụ xác định dữ liệu để hiển thị và xác định những gì sẽ được hiển thị trên chú giảicủa biểu đồ