You are on page 1of 45

Signature

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 1


Dấu hiệu (Signature)
- Dấu hiệu (signature) là 1 một tập hợp các
quy tắc được sử dụng bởi bộ cảm biến
IDS/IPS để phát hiện các hành động xâm
nhập đã biết (known attacks).
- Bộ cảm biến so sánh các dấu hiệu với các
hoạt động mạng. Khi có một dấu hiệu phù
hợp, bộ cảm biến sẽ phát ra cảnh báo (alert).

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 2


Các loại Dấu hiệu
Dấu hiệu được xây dựng sẵn (buit-in
signatures): dấu hiệu của các cuộc tấn công đã
biết và được tích hợp sẵn vào trong phần mềm
của bộ cảm biến
Dấu hiệu được điều chỉnh (tuned signatures):
dấu hiệu được xây dựng sẵn, nhưng được người
dùng chỉnh sửa lại cho phù hợp.
Dấu hiệu tự tạo (custom signatures): dấu hiệu
mới do người dùng tạo ra.
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 3
Các thuộc tính của dấu hiệu
- Tên dấu hiệu (Signature name)
- Số hiệu của dấu hiệu (Signature ID)
- Tình trạng dấu hiệu (signature status)
- Kiểu dấu hiệu (Signature engine)
- Mức độ nghiêm trọng (Severity rating)
- Mức độ tin cậy (Fidelity rating)
- Điều kiện kích hoạt (Triggering conditions)
- Chiến lược tổng kết (Summarization strategy)
- Các hành động phản ứng (Response actions)
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 4
Các hành động của Cisco IOS
(Signature actions)
- Loại bỏ (dropping) các gói dữ liệu xấu, bao gồm cả gói
dữ liệu khởi phát (trigger packet), trước khi chúng có thể tới
được mục tiêu.
- Phát ra cảnh báo (alert).
- Ghi lại các gói dữ liệu IP mà chứa địa chỉ của kẻ tấn
công.
- Khởi tạo sự ngăn chặn một kết nối hoặc 1 địa chỉ nào đó.
- Gửi thông báo bằng SNMP.
- Kết thúc 1 phiên TCP giữa kẻ tấn công và máy bị tấn
công
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 5
Dấu hiệu: ví dụ

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 6


Signature Engines
Signature engine là một thành phần của bộ
cảm biến cái mà hỗ trợ các dấu hiệu (signatures)
cùng loại với nhau.
Mỗi dấu hiệu (signature) được hỗ trợ và
điều khiển bởi 1 signature engine cụ thể nào đó
(được tạo ra để giám sát 1 loại dấu hiệu cụ thể
nào đó).
Cisco IPS signature engine cho phép người
quản trị mạng điều chỉnh và tạo ra các dấu hiệu
cho hệ thống mạng của mình
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 7
Các Signature Engines của Cisco IPS
AIC
Atomic
Fixed
Flood
Meta
Multi String
Normalizer
Service
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 8
Atomic Engine
Bao gồm:
Atomic ARP: giám sát giao thức ARP của lớp 2
Atomic IP: xem xét phần đầu (header) và tải
(payloads) của IP, TCP, UDP, và ICMP
Atomic IP advanced: IPv6, IPv4, ICMP,
ICMPv6, TCP, UDP
Atomic IPv6: phát hiện các lỗ hổng của phần
mềm Cisco IOS mà bị phát động bởi các lưu
lượng IPv6 xấu.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 9


Ví dụ dấu hiệu thuộc Atomic IP
Signature Name (common): TCP SYN/FIN
packet
Signature ID (common): 3041/0
Engine (common): ATOMIC IP
Description (common): được khởi phát khi 1
gói dữ liệu đơn TCP với cờ SYN và FIN cùng
được bật và được gửi tới 1 máy nào đó.
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 10
String Singnature engines
String ICMP: tìm kiếm một dạng chuỗi
(string pattern) trong các gói dữ liệu ICMP.
String TCP: tìm kiếm một dạng chuỗi trong
các kết nối TCP.
String UDP: tìm kiếm một dạng chuỗi trong
các luồng UCP
Multi String: tìm kiếm nhiều chuỗi thông qua
nhiều kết nối độc lập
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 11
Ví dụ String TCP
Cisco IPS IOS FTPd MKD
- Signature Name (common): IOS FTPd MKD
Command Buffer Overflow
- Signature ID (common): 6973/0
- Engine (common): STRING TCP
- Description (common): Buffer Overflow in MKD
- Service Ports (engine-specific): 21
- Regex String (engine-specific):
^[mM][kK][dD]\x20[^\x0a\x0d]*[\x7f-\xff]
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 12
Ví dụ String TCP
Cisco IPS IOS FTPd MKD
- Signature Name (common): IOS FTPd MKD
Command Buffer Overflow
- Signature ID (common): 6973/0
- Engine (common): STRING TCP
- Description (common): Buffer Overflow in MKD
- Service Ports (engine-specific): 21
- Regex String (engine-specific):
^[mM][kK][dD]\x20[^\x0a\x0d]*[\x7f-\xff]
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 13
SERVICE Signature engine
Bộ cảm biến Cisco IPS dùng các loại
Service signature engines: Service DNS,
service FTP, service Generic, service H225,
service HTTP, service IDENT, service
MSRPC, service MSSQL, service NTP,
service P2P, service RPC, service SMB
Advanced, service SNMP, service SSH,
service TNS.
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 14
Ví dụ: dấu hiệu service HTTP
Ví dụ về dấu hiệu được dựa trên Service HTTP engine là
Signature Name (common): Dot Dot Slash in URI
Signature ID (common): 5256/0
Engine (common): SERVICE HTTP
Description (common): ../ in URI
De Obfuscate (engine-specific): Yes (engines sẽ chuyển
đổi tất cả dữ liệu sang dạng ASCII trước khi phân tích nó)
Service Ports (engine-specific): #WEBPORTS (80,
3128, 8000, 8010, 8080, 8888, và 24326.)
URI Regex (engine-specific): [.][.][/\\]
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 15
Flood Signature engines
Flood Signature engines phát hiện các cuộc tấn
công mà trong đó kẻ tấn công đang làm tràn
(flood) dữ liệu tới 1 máy tính hoặc bộ cảm biến.
Flood net: được dùng để xem xét một số
lượng quá nhiều các gói tin được gửi qua bộ cảm
biến.
Flood host: được dùng để xem xét một số
lượng quá nhiều các gói tin ICMP hoặc UDP được
gửi tới 1 máy tính đích nào đó

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 16


Ví dụ: dấu hiệu Flood
Một dấu hiệu được dựa trên Flood Host engine:
■ Signature Name (common): DNS Flood Attack
■ Signature ID (common): 4004/0
■ Engine (common): FLOOD HOST
■ Description (common): dấu hiệu này phát hiện
một cuộc làm tràn DNS mà có thể dẫn tới “đầu độc”
bộ nhớ cache DNS.
■ Src Ports (engine-specific): 53
■ Dst Ports (engine-specific): 1–65,535
■ Rate Ports (engine-specific): 500
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 17
Sweep Signature Engines
Sweep signature engines phát hiện các cuộc tấn
công mà trong đó 1 hệ thống tạo nhiều kết nối tới
nhiều host hoặc tới 1 host đơn nhưng với nhiều
cổng (port). Sweep engines được sử dụng để phát
hiện kiểu tấn công do thám.
Sweep: engine này phát hiện việc quét 1 máy tính,
dò cổng và quét các dịch vụ.
Sweep other TCP: engine này phân tích lưu
lượng giữa 2 host để tìm kiếm các gói tin bất
thường.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 18


Ví dụ: dấu hiệu Sweep
Cisco IPS TCP FIN Port Sweep là dấu hiệu
dựa trên Sweep engine. Dấu hiệu này sẽ xem
xét các gói tin TCP FIN được gửi tới mỗi
host, và sẽ khởi phát nếu có nhiều hơn 5 gói
tin được gởi tới các cổng khác nhau trong
khoảng thời gian đang bị theo dõi. Điều này
có nghĩa là host đang đang bị quét cổng.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 19


Meta signature engine
Nhiều cuộc tấn công sẽ khai thác nhiều lỗi khác
nhau của hệ thống và có thể khởi phát một vài dấu hiệu
khác nhau. Điều này sẽ sinh ra nhiều cảnh báo tương
ứng với mỗi dấu hiệu được kích hoạt. Sử dụng Meta
engine có thể giảm số lượng cảnh báo được tạo bởi các
cuộc tấn công. Meta engine sẽ vô hiệu hóa việc phát
cảnh báo của các dấu hiệu thành viên, và một cảnh báo
meta (meta-alert) sẽ được tạo ra cho cả cuộc tấn công
đó.
Sự khác nhau giữa Meta engine và các engine khác
là dữ liệu đầu vào của nó. Các engine thông thường thì
dữ liệu đầu vào là lưu lượng mạng, còn Meta engine
lấy các sự kiện của dấu hiệu làm dữ liệu đầu vào
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 20
Ví dụ: dấu hiệu dựa trên Meta engine
Cisco IPS Worm Activity Brute Force
Dấu hiệu này quan sát 3 dấu hiệu độc
lập và sẽ được khởi phát nếu tất cả 3 dấu hiệu
này cùng được kích hoạt trong 60 giây với
cùng địa chỉ IP của kẻ tấn công.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 21


Normalizer engine
Normalizer engine bao gồm IP traffic
normalizer và TCP traffice normalizer.
Engine này sẽ loại bỏ sự bất thường trong các
gói tin IP và TCP thông qua hành động
Modify Packet Inline.
Không thể dùng engine này để tạo ra các
dấu hiệu mới. Tuy nhiên, có thể điều chỉnh tất
cả dấu hiệu thuộc engine này.
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 22
Ví dụ: dấu hiệu dựa trên Normalizer
Signature Name (common): TCP Segment
Overwrite
■ Signature ID (common): 1300/0
■ Engine (common): NORMALIZER
■ Description (common): dấu hiệu này sẽ được
kích hoạt khi một hoặc nhiều phân đoạn TCP
trong cùng 1 dòng ghi đè lên dữ liệu từ một hoặc
nhiều phân đoạn đã ở trong dòng này trước đó.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 23


AIC Signature engines
AIC engines bao gồm các engine như là AIC
HTTP, AIC FTP cung cấp sự giám sát gói tin
từ lớp 4-7 cho các lưu lượng HTTP và FTP.
AIC HTTP cung cấp sự kiểm soát các phiên
HTTP để ngăn chặn sự lạm dụng giao thức
HTTP. Tương tự như vậy, AIC FTP giám sát
các lưu lượng FTP và điều khiển các lệnh
được tạo ra bởi FTP
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 24
Ví dụ: dấu hiệu dựa trên AIC engine
Cisco IPS Request Method Not Recognized là dấu hiệu
dựa trên AIC HTTP engine.
Signature Name (common): Request Method Not
Recognized
■ Signature ID (common): 12676/0
■ Engine (common): AIC HTTP
■ Description (common): dấu hiệu này cung cấp 1 danh
sách các phương pháp yêu cầu như là GET, POST.
Chúng ta có thể đưa vào các phương pháp yêu cầu mới.
Nếu 1 phương pháp bị phát hiện là không phù hợp với các
phương pháp đã biết, thì dấu hiệu này được kích hoạt.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 25


Cảnh báo (Alert)
Mặc định, bộ cảm biến tạo ra một cảnh
báo khi một dấu hiệu được kích hoạt.
Cảnh báo có 1 trong các cấp độ an ninh
sau:
- Informational
- Low
- Medium
- High
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 26
Snort Rules
Snort rules hoạt động trên lớp mang
(network (IP)) và vận chuyển (transport
(TCP/UPD)). Tuy nhiên có các phương
pháp để phát hiện sự bất thường ở lớp liên
kết (data link) và các giao thức lớp ứng
dụng (application).

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 27


Snort Rules (tt)
Rule được chia làm 2 phần:
Rule Header
Rule Option

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 28


Snort Rules (tt)
Rule Header: chứa thông tin về hành động
được thực hiện (log hay alert), loại gói tin
(TCP, UDP, ICMP...), địa chỉ nguồn và đích
và cổng.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 29


Rule Actions
There are five available default actions in
Snort:
alert - generate an alert using the selected
alert method, and then log the packet
log - log the packet
pass - ignore the packet

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 30


Rule Actions (cont.)
This example will create a type that will log to just tcpdump:
ruletype suspicious
{
type log
output log_tcpdump: suspicious.log
}

This example will create a rule type that will log to syslog and a mysql database:
ruletype redalert
{
type alert
output alert_syslog: LOG_AUTH LOG_ALERT
output database: log, mysql, user=snort dbname=snort host=localhost
}

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 31


Snort Rules (tt)
Rule Header:
Examples
alert tcp any any -> 192.168.2.1 80 (...)
log udp 192.168.1.1 53 -> !192.168.1.0/24 any (...)
drop ip $EXTERNAL_NET any <> $HTTP_SERVERS
$HTTP_PORTS (...)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 32


Snort Rules (tt)
Rule Option: hành động trong rule header
chỉ được thực hiện khi tất cả các tiêu chí
trong rule option là đúng.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 33


Snort Rules (tt)
Cấu trúc Rule Option:
- Theo sau rule header.
- Nằm trong cặp dấu ().
- Nếu có nhiều option, thì các option sẽ kết
hợp với nhau theo thuật toán AND.
- Rule Option bao gồm 2 phần: từ khóa
(keyword) và tham số (argument)
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 34
Rule đầu tiên
Ví dụ 1: tất cả gói IP bị phát hiện và phát cảnh
báo
alert icmp any any -> any any (msg: "ICMP
Packet found";)
Ví dụ 2: phát cảnh báo khi gặp gói ICMP
alert icmp any any -> 192.168.1.113/32 any \
(msg: "Ping with TTL=100"; ttl:100;)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 35


Một số từ khóa phổ biến
content
content-list
flags
logto
msg
priority
session
ttl
..........
Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 36
Từ khóa: content
1 đặt tính quan trọng của snort là có khả năng tìm
ra dạng thức (pattern) dữ liệu bên trong 1 gói. Dạng
thức này có thể ở dạng ASCII hoặc binary.
Ví dụ:
alert tcp 192.168.1.0/24 any -> ![192.168.1.0/24] any \
(content: "GET"; msg: "GET matched";)
alert tcp 192.168.1.0/24 any -> ![192.168.1.0/24] any \
(content: "|47 45 54|"; msg: "GET matched";)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 37


Từ khóa: content-list
Từ khóa content-list được sử dụng với 1 tên tập
tin làm tham số. Tập tin này sẽ chứa danh sách các
chuỗi được tìm bên trong gói dữ liệu. Mỗi chuỗi sẽ nằm
trên các dòng riêng biệt trong nội dung tập tin.
Ví dụ: tập tin có tên là porn với nội dung sau:
“porn”
“hardcore”
“under 18”
alert ip any any -> 192.168.1.0/24 any (content-list: \
"porn"; msg: "Porn word matched";)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 38


Từ khóa: flags
Từ khóa flags được sử dụng để xem xét các bit
flag được thiết lập bên trong TCP header của gói dữ
liệu.
alert tcp any any -> 192.168.1.0/24 any (flags: SF; \
msg: “SYNC-FIN packet detected”;)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 39


Từ khóa: flags (tt)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 40


Từ khóa: logto
Từ khóa logto được sử dụng để ghi log các gói
dữ liệu vào trong 1 file đặc biệt.
Cú pháp: logto:logto_log
Ví dụ:
alert icmp any any -> any any (logto:logto_log; ttl:
100;)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 41


Từ khóa: msg
Từ khóa msg được sử dụng để để thêm 1
chuỗi văn bản vào trong log và cảnh báo.
Ví dụ:
msg: "Your message text here";

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 42


Từ khóa: priority
Từ khóa priority sẽ gán giá trị ưu tiên
(priority) cho một rule.
Có 10 giá trị priority
Giá trị 1 là ưu tiên cao nhất.
Ví dụ:
alert ip any any -> any any (ipopts: lsrr; \
msg: "Loose source routing attempt"; priority: 10;)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 43


Từ khóa: session
Từ khóa session được sử dụng để kết xuất tất
cả dữ liệu từ 1 session của TCP hoặc chỉ những ký
tự có thể in được (printable characters).
Ví dụ:
log tcp any any -> 192.168.1.0/24 110 (session:
printable;)

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 44


Additional packets
Barnyard2: Software that takes Snort output and
writes to a SQL database, which reduces load on the
system.

PulledPork: Automatically downloads the latest Snort


rules.

BASE: A web-based graphical interface for viewing


and clearing Snort events.

Hệ thống tìm kiếm, phát hiện và ngăn ngừa xâm nhập 45

You might also like