I.NIDS LÀ GÌ:
NIDS
viết tắt cụm từ A network intrusion detection system (NIDS).
Mục đích sử dụng NIDS là để bảo vệ hệ thống bên
trong, ngăn chặn và cảnh báo các cuộc tấn công từ bên
ngoài vả các lệnh remote từ bên ngoài vào hệ thống BO
(back office).
II.SNORT
LÀ GÌ:
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. Nó xây dựng để
phát hiện và chống xâm nhập . Được thiết kế trên
module để kiểm tra các gói dữ liệu vào và ra bằng cách
tạo các rule phát hiện các gói dữ liệu bất thường.
Snort có thể chạy trên nhiều hệ thống nền như Windows,
Linux, OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS.
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.
III.
CẤU 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à:
• Môđun
giải mã gói tin (Packet Decoder)
• Môđun
tiền xử lý (Preprocessors)
• Môđun
phát hiện (Detection Engine)
• Môđun
log và cảnh báo (Logging and Alerting System)
• Môđun
kết xuất thông tin (Output Module)
Kiến
trúc của Snort được mô tả trong hình sau:
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. Hình
sau mô tả việc một gói tin Ethernet sẽ được giải mã
thế nào:
Bắt các gói dữ liệu các nhau
của tầng network (ethernet,SLIP, PPP....)
Một gói tin sau khi được giải
mã sẽ được đưa tiếp vào môđun tiền xử lý.
2.MODULE TIỀN XỬ LÝ:
Chuẩn bị dữ liệu cho hệ
thống phân tích → phát hiện dữ liệu bất thường dựa
vào header của gói tin → chống phân mảnh gói tin → giải
mã HTTP URI → lắp ráp lại các gói (TCP, UDP ..)
3. MODULE PHÁT HIỆN
Đây là môđun quan trọng nhất
của Snort. Nó chịu trách nhiệm phát hiện
các dấu hiệu xâm nhập. Môđun
phát hiện sử dụng các rule định nghĩa
trước để so sánh với dữ
liệu thu thập được từ đó xác định xem có hợp lệ
hay không.
Một môđun phát hiện cũng có
khả năng tách các phần của gói tin ra và áp
dụng các luật lên từng phần
nào của gói tin đó. Các phần đó có thể là:
• IP header
• Header ở tầng giao vận:
TCP, UDP
• Header ở tầng ứng dụng:
DNS header, HTTP header, FTP header, ...
• Phần tải của gói tin (bạn
cũng có thể áp dụng các luật lên các phần dữ
liệu được truyền đi của
gói tin)
chú ý: các rule có chế độ ưu
tiên nếu một gói tin bị áp dụng bởi nhiều rule thì nó
chỉ thực hiện một rule có thứ tự ưu tiên nhất
4.Logging
and Alerting System
Tùy thuộc vào việc môđun Phát
hiện có nhận dạng đuợc xâm nhập hay không
mà gói tin có thể bị ghi log
hoặc đưa ra cảnh báo. Các file log là các file text dữ
liệu trong đó có thể được
ghi dưới nhiều định dạng khác nhau chẳng hạn
tcpdump.
5. MODULE XUẤT THÔNG TIN
Xuất các thông tin ra các định
dang khác nhau tùy theo ta cấu hình
III. NGUYÊN TẮC CÁC RULE
Rule có 2 phần phần header và
option
• Phần Header chứa thông tin
về hành động mà luật đó sẽ thực hiện khi
phát hiện ra có xâm nhập nằm
trong gói tin và nó cũng chứa các tiêu
chuẩn để áp dụng luật với
gói tin đó.
• Phần Option chứa một thông
điệp cảnh báo và các thông tin về các phần
của gói tin dùng để tạo nên
cảnh báo. Phần Option chứa các tiêu chuẩn
phụ thêm để đối sánh luật
với gói tin. Một luật có thể phát hiện được một
hay nhiều hoạt động thăm dò
hay tấn công. Các luật thông minh có khả
năng áp dụng cho nhiều dấu
hiệu xâm nhập.
Hành động
của luật (Rule Action)
nort thì tất cả các luật sẽ
được áp dụng gói tin đó.
• Pass: Hành động này hướng
dẫn Snort bỏ qua gói tin này. Hành động này
đóng vai trò quan trọng trong
việc tăng cường tốc độ hoạt động của Snort
khi mà ta không muốn áp dụng
các kiểm tra trên các gói tin nhất định. Ví
dụ ta sử dụng các bẫy (đặt
trên một máy nào đó) để nhử các hacker tấn
công vào thì ta phải cho tất
cả các gói tin đi đến được máy đó. Hoặc là
dùng một máy quét để kiểm
tra độ an toàn mạng của mình thì ta phải bỏ
qua tất cả các gói tin đến
từ máy kiểm tra đó.
• Log: Hành động này dùng để
log gói tin. Có thể log vào file hay vào cơ
sở dữ liệu tuỳ thuộc vào
nhu cầu của mình.
• Alert: Gửi một thông điệp
cảnh báo khi dấu hiệu xâm nhập được phát
hiện. Có nhiều cách để gửi
thông điệp như gửi ra file hoặc ra một
Console. Tất nhiên là sau khi gửi
thông điệp cảnh báo thì gói tin sẽ được
log lại.
• Activate: sử dụng để tạo
ra một cảnh báo và kích hoạt một luật khác kiểm
tra thêm các điều kiện của
gói tin.
• Dynamic: chỉ ra đây là luật
được gọi bởi các luật khác có hành động là
No comments:
Post a Comment