hệ thống phát hiện và phòng chống xâm nhập - Pdf 22

TRUNG TÂM ĐÀO TẠO AN NINH MẠNG ATHENA
oOo
HỆ THỐNG PHÁT HIỆN

PHÒNG CHỐNG XÂM NHẬP
INTRUSI
O
N

DETECTION
AND

PREVENTION

SYSTEM
Thực hiện : Nguyễn Thành Danh
Đinh Công Chinh
Lớp Security +
I. Tổng quan về IDS/IPS
1. Khái niệm về IDS/IPS
a. Định nghĩa :
Intrusion Detection system ( IDS ) là một hệ thống giám sát hoạt động trên hệ thống
mạng và phân tích để tìm ra các dấu hiệu vi phạm đến các quy định bảo mật máy tính,
chính sách sử dụng và các tiêu chuẩn an toàn thông tin. Các dấu hiệu này xuất phát từ rất
nhiều nguyên nhân khác nhau, như lây nhiễm malwares, hackers xâm nhập trái phép,
người dung cuối truy nhập vào các tài nguyên không được phép truy cập v.v
Intrusion Prevention system ( IPS ) là một hệ thống bao gồm cả chức năng phát hiện xâm
nhập ( Intrusion Detection – ID ) và khả năng ngăn chặn các xâm nhập trái phép dựa trên
sự kết hợp với các thành phần khác như Antivirus, Firewall hoặc sử dụng các tính năng
ngăn chặn tích hợp.
2. Chức năng của IDS/IPS

tương ứng để phát hiện ra những bất thường.
Profile sử dụng bởi phương pháp này có 2 loại là static và dynamic. Static profile
không thay đổi cho đến khi được tái tạo, chính vì vậy dần dần nó sẽ trở nên không
chính xác, và cần phải được tái tạo định kỳ. Dynamic profile được tự động điều chỉnh
mỗi khi có các sự kiện bổ sung được quan sát, nhưng chính điều này cũng làm cho nó
trở nên dễ bị ảnh hưởng bởi các phép thử dung kỹ thuật giấu ( evasion techniques )
Ưu điểm chính của phương pháp này là nó rất có hiệu quả trong việc phát hiện ra các
mối nguy hại chưa được biết đến.
Sự khác biệt giữa phương pháp Abnormaly-base và Signature-base
(3) Phân tích trạng thái giao thức ( Stateful protocol analysis ) :
Phân tích trạng thái protocol là quá trình so sánh các profile định trước của hoạt động
của mỗi giao thức được coi là bình thường với đối tượng quan sát từ đó xác định độ
lệch. Khác với phương pháp Anomaly-base detection, phân tích trạng thái protocol
dựa trên tập các profile tổng quát cung cấp bởi nhà sản xuất theo đó quy định 1
protocol nên làm và không nên làm gì. "Stateful" trong phân tích trạng thái protocol
có nghĩa là IDS/IPS có khả năng hiểu và theo dõi tình trạng của mạng, vận chuyển, và
các giao thức ứng dụng có trạng thái.
Nhược điểm của phương pháp này là chiếm nhiều tài nguyên do sự phức tạp trong
việc phân tích và theo dõi nhiều phiên đồng thời. Một vấn đề nghiêm trọng là phương
pháp phân tích trạng thái protocol không thể phát hiện các cuộc tấn công khi chúng
không vi phạm các đặc tính của tập các hành vi chấp nhận của giao thức.
b. Cơ sở hạ tầng của IDS/IPS
Nhiệm vụ chính của hệ thống IDS/IPS là phòng thủ máy tính bằng cách phát hiện một
cuộc tấn công và có thể đẩy lùi nó. Phát hiện vụ tấn công thù địch phụ thuộc vào số
lượng và loại hành động thích hợp.
Intrusion detection system activities
Công tác phòng chống xâm nhập đòi hỏi một sự kết hợp tốt được lựa chọn của "mồi
và bẫy" nhằm điều tra các mối đe dọa, nhiệm vụ chuyển hướng sự chú ý của kẻ xâm
nhập từ các hệ thống cần bảo vệ sang các hệ thống giả lập là nhiệm vụ của 1 dạng
IDS riêng biệt ( Honeypot IDS ),cả hai hệ thống thực và giả lập được liên tục giám sát


b

o

m
ật.
Trong

số
các
nhi

m

vụ

IDS
khác

nhau,

nh

n

d

ng


th

h

u

ích
trong
các
nghiên
cứ
u

giám

định

s
ự c



tiế
n

hành
cài
đặ
t các
b

ng
lai
nh

m

vào

mụ
c tiêu c


th

c. Cấu trúc & kiến trúc của hệ IDS/IPS
(1) Các thành phần cơ bản
(a) Sensor / Agent :
giám sát và phân tích các hoạt động. “Sensor” thường được dùng cho dạng
Network-base IDS/IPS trong khi “Agent” thường được dùng cho dạng
Host-base IDS/IPS
(b) Manage m ent Server :
là 1 thiết bị trung tâm dùng thu nhận các thông tin từ Sensor / Agent và quản lý
chúng. 1 số Management Server có thể thực hiện việc phân tích các thông tin sự
việc được cung cấp bởi Sensor / Agent và có thể nhận dạng được các sự kiện này
dù các Sensor / Agent đơn lẻ không thể nhận diện.
(c) Database server :
dùng lưu trữ các thông tin từ Sensor / Agent hay Management Server
(d) Console :
là 1 chương trình cung cấp giao diện cho IDS/IPS users / Admins. Có thể cài đăt
trên một máy tính bình thường dùng để phục vụ cho tác vụ quản trị, hoặc để giám

chất quan trọng ( public servers, sensitive data servers ), hoặc 1 dịch vụ quan trọng
( trường hợp đặc biệt này được gọi là application-based IDS/IPS ).
Quá trình triển khai các agent HIDS/IPS thường đơn giản do chúng là một phần mềm
được cài đặt trực tiếp lên host. Application-based agent thường được triển khai thẳng
hàng ngay phía trước host mà chúng bảo vệ.
Mô hình triển khai Host-based IDS/IPS agent
Một trong những lưu ý quan trọng trong việc triển khai hệ thống Host-based IDS/IPS là
cân nhắc giữa việc cài đặt agent lên host hay sử dụng agent-based appliances.
Trên phương diện phát hiện và ngăn chặn xâm nhập, việc cài đặt agent lên host được
khuyến khích vì agent tương tác trực tiếp với các đặc tính của host và qua đó có thể phát
hiện và ngăn chặn 1 cách hiệu quả hơn. Tuy nhiên, do agent thường chỉ tương thích với 1
số hệ điều hành nhất định nên trong trường hợp này người ta sử dụng thiết bị. Một lý do
khác để sử dụng thiết bị là việc cài đặt agent lên host có thể ảnh hưởng đến performance
của host.
Hệ thống HIDS/IPS cung cấp các khả năng bảo mật sau:
(1) Khả năng ghi log.
(2) Khả năng phát hiện
(a) Phân tích mã ( phân tích hành vi mã, nhận diện buffer-overflow, giám sát hàm gọi
hệ thống, giám sát danh sách ứng dụng và hàm thư viện )
(b) Phân tích và lọc lưu lượng mạng
(c) Giám sát filesystem ( kiểm tra tính toàn vẹn,thuộc tính,truy cập của file )
(d) Phân tích log
(e) Giám sát cấu hình mạng
(3) Khả năng ngăn chặn
(a) Phân tích mã: ngăn chặn thực thi mã độc
(b) Phân tích và lọc lưu lượng mạng: ngăn chặn truy cập, lưu mã độc, chặn các dịch
vụ hoặc giao thức không được phép
(c) Giám sát filesystem: ngăn chặn việc truy cập, thay đổi filesystem
(4) Các khả năng bảo vệ khác: ngăn chặn truy cập đến các removeable-media, củng cố
bảo mật cho host, giám sát trạng thái các tiến trình…

Sensor thụ động có thể giám sát lưu lượng mạng qua nhiều cách như Spanning port (
hoặc Mirror port ), Network tap hoặc IDS loadbalancer.
Mô hình triển khai Sensor kiểu thụ động
Hệ thống NIDS/IPS cung cấp các khả năng về bảo mật sau:
(1) Khả năng thu thập thông tin
(a) Nhận dạng host
(b) Nhận dạng hệ điều hành
(c) Nhận dạng ứng dụng
(d) Nhận dạng đặc điểm mạng
(2) Khả năng ghi log
(3) Khả năng nhận diện
(a) Hoạt động thăm dò và tấn công trên các lớp ứng dụng,vận chuyển và mạng
(b) Các dịch vụ ứng dụng không mong đợi ( unexpected application services )
(c) Vi phạm chính sách ( policy violations )
(4) Khả năng ngăn chặn
(a) Kiểu thụ động: ngắt phiên TCP hiện tại
(b) Kiểu thẳng hàng: thực hiện tác vụ firewall thẳng hàng, điều tiết băng thông sử
dụng, loại bỏ các nội dung gây hại
(c) Ngoài ra chức năng ngăn chặn còn có thể thay đổi cấu hình của 1 số thiết bị bảo
mật cũng như thực thi các ứng dụng thứ 3 hoặc các script.
Lưu ý khi triển khai NIDS/IPS: khi triển khai các hệ NIDS/IPS, 1 trong những điểm cần
lưu ý là phải triển khai các Sensor ở dạng ẩn ( Stealth mode ). Trong dạng này, các
interface của Sensor không được gán địa chỉ IP ( trừ interface quản lý ) để tránh việc khởi
tạo kết nối từ các host khác nhằm ẩn Sensor khỏi sự phát hiện của kẻ tấn công.
Điểm yếu của hệ thống NIDS/IPS chính là việc nó rất dễ bị ảnh hưởng bởi nhiều loại tấn
công liên quan đến khối lượng lưu lượng mạng lớn ( large volume of network traffic ) và
kiến trúc Single-point of Failure khi triển khai Sensor kiểu thẳng hàng.
So sánh giữa HIDS va NIDS
Chức năng HIDS NIDS Ghi chú
Bảo vệ với mạng **** **** Cả hai loại đều có khả năng bảo vệ trong mạng

giám sát tất cả các packet trong mạng thì Wireless IDS/IPS giám sát bằng cách lấy mẫu
lưu lượng mạng.
Sensor trong hệ thống Wireless IDS/IPS sử dụng 1 kỹ thuật gọi là quét kênh ( channel
scanning ), nghĩa là thường xuyên đổi kênh giám sát. Để hỗ trợ cho việc giám sát hiệu
quả, các Sensor có thể được trang bị nhiều antenna thu phát công suất cao.
Wireless Sensor thường gặp dưới 3 hình thức là
Chuyên biệt ( Dedicated ) :
thường ở dạng thụ động, được vận hành dưới dạng giám sát tần số phát ( radio frequency
monitoring mode ), được triển khai theo 2 dạng là cố định ( thiết bị ) và di động ( phần
mềm hoặc thiết bị ).
Tích hợp trong Access Point
Tích hợp trong Wireless switch
Mô hình triển khai Wireless IDS/IPS
Vấn đề vị trí triển khai Wireless IDS/IPS là 1 vấn đề cơ bản, khác biệt hoàn toàn so với
các loại Sensor trong các hệ thống NIDS/IPS hay HIDS/IPS do đặc thù của mạng
Wireless. Thông thường các Wireless IDS/IPS thường được triển khai ở các khu vực mở của
hệ thống mạng ( khu vực khách, công cộng … ), ở các vị trí có thể giám sát toàn bộ vùng
sóng của mạng Wireless, hay được triển khai để giám sát trên 1 số băng tần và kênh
xác định.
Hệ thống NIDS/IPS cung cấp các khả năng về bảo mật sau:
(1) Khả năng bảo mật
(2) Khả năng thu thập thông tin
(a) nhận diện thiết bị Wireless
(b) nhận diện mạng Wireless
(3) Khả năng ghi log
(4) Khả năng nhận diện
(a) nhận diện các mạng và thiết bị Wireless trái phép
(b) nhận diện các thiết bị Wireless kém bảo mật
(c) nhận diện các mẫu sử dụng bất thường
(d) nhận diện các hoạt động của wireless scanner

đó quan sát dấu vết và truy vết tấn công.
III. Cài đặt và cấu hình thử nghiệm IDS/IPS với Snort
1. Giới thiệu chung về Snort
Snort được phát triển năm 1998 bởi Sourcefire và CTO Martin Roesch, là 1 phần mềm miễn
phí mã nguồn mở có khả năng phát hiện và phòng chống xâm nhập trái phép vào hệ thống
mạng có khả năng phân tích thời gian thực lưu lượng mạng, và ghi log gói tin trên nền mạng
IP. Ban đầu được gọi công nghệ phát hiện và phòng chống xâm nhập hạng nhẹ, Snort đã dần
phát triển và trở thành tiêu chuẩn trong việc phát hiện và phòng chống xâm nhập. Với hơn
3,7 triệu lượt tải về và hơn 250 ngàn người dùng đăng ký, Snort trở thành công nghệ phát
hiện và phòng chống xâm nhập được sử dụng rộng rãi nhất hiện nay.
Snort có thể thực hiện phân tích giao thức và tìm kiếm nội dung, từ đó có thể phát hiện rất
nhiều kiểu thăm dò và tấn công như buffer-overflow, stealth ports scanning, tấn công CGI,
OS fingerprint, thăm dò SMB v.v. Để có thể làm được điều này, Snort dùng 1 loại ngôn ngữ
mô tả các quy tắc giao thông mạng mà nó sẽ thu thập hoặc bỏ qua, cũng như sử dụng cơ chế
phát hiện xâm nhập theo kiến trúc modular plug-ins. Nó cũng có khả năng cảnh báo tức thời,
kết hợp với các cơ chế cảnh báo syslog, tập tin người dùng chỉ định, Unix socket hoặc
Winpopup message.
Snort có thể sử dụng với 3 kiểu chính :
- Packet sniffer như tcpdump
- Packet logger
- Hệ thống phát hiện và phòng chống xâm nhập hoàn chỉnh.
2. Chuẩn bị môi trường ( system prerequisites )
Hệ điều hành : Ubuntu Linux 9
Các gói phần mềm hỗ trợ :
MySQL
Libnet 1.0.2a
Libpcap 0.8
BASE 1.4.4
Barnyard2
Apache

vấn và phân tích các cảnh báo từ Snort. Download B.A.S.E 1.4.4 tại :
http://so u rc ef orge.net/ pr ojects/s e cu r eidea s / f ile s /
- ADOdb là 1 tiện ích trừu tượng hóa cơ sở dữ liệu, cho phép nhiều kiểu tương tác giữa
PHP và cơ sở dữ liệu. Download ADOdb 5.10 tại :
/>- Đăng ký làm thành viên của Snort, sau đó download gói rules cho Snort ở đây :
. Lưu ý là có 2 gói rules, 1 gói dành cho người dùng trả
tiền ( Subscription release ) và 1 gói miễn phí cho người dùng đăng ký ( registered-user
release ). Điểm khác biệt duy nhất là gói miễn phí sẽ được cung cấp sau gói trả phí 30
ngày.
Giả dụ các gói phần mềm được tải về và lưu tại desktop.
Cài đặt Libnet
- cd /usr/local
- tar zxvf /home/ids_usr/Desktop/libnet-1.0.2a.tar.gz
- cd Libnet-1.0.2a
- ./configure && make && make install
Cài đặt Snort
Sudo apt-get install snort-mysql
Ghi chú:
1. Trong quá trình cài đặt Snort bằng lệnh apt-get install, lưu ý khi quá trình cài đặt MySQL
xuất hiện, ta phải ghi nhớ mật khẩu root của database
2. Ngoài phương pháp install Snort bằng apt-get install, ta có thể download phiên bản mới
nhất của Snort tại : ( phiên bản mới nhất là 2.8.5.1 ) , sau đó
biên dịch :
- cd /usr/local
- tar zxvf /home/ids_usr/Desktop/snort-2.8.5.1.tar.gz
- cd snort-2.8.5.1
- ./configure enable-targetbased && make && make install
Tuy nhiên, trong thực tế , tác giả gặp vấn đề với Snort cài đặt theo kiểu biên dịch mã nguồn
khi thực thi Snort ở phần sau xuất hiện thông báo “ mysql support is not compiled in this
build of snort “

- cd /usr/local/snort-2.8.5.1/schemas
- mysql -p < create_mysql snort
Kiểm tra lại cấu hình cơ sở dữ liệu để chắc chắn cơ sở dữ liệu cho Snort đã được config đúng
- mysql –p
- < nhập DB root password >
- Show tables;
Xuất hiện 4 hàng dữ liệu ( row )
- Use snort;
- Show tables;
Xuất hiện 16 hàng dữ liệu ( row )
Chỉnh sửa file snort.conf
Snort.conf quy định cách thức Snort sẽ thực thi 1 khi được chạy. Ở cấu hình nâng cao sẽ đề
cập đến việc chỉnh sửa file snort.conf một cách cụ thể hơn. Ở đây ta chỉ chỉnh sửa 1 số tính
năng đơn giản
- Gedit /etc/snort/snort.conf
- Tìm dòng RULE_PATH và đổi thành /etc/snort/rules
- Tìm dòng “output log_unified” và thêm dòng sau đây phía dưới nó :
output log_unified2: filename snort.log, limit 128
Lưu ý : “unified2” chỉ ra format cho file log là version 2, dùng kết hợp với
Barnyard2.
- Tìm dòng “output database:” và thêm dòng sau đây phía dưới nó :
output database: alert, mysql, user=snort password=< password> dbname=snort
host=localhost
Cấu hình giao diện Web với ADOdb và B.A.S.E
Ta sẽ lần lượt giải nén ADObd, B.A.S.E vào thư mục Webroot, sau đó tiến hành cấu hình
cho ADOdb và B.A.S.E
- cd /var/www
- pear channel-update pear.php.net
- pear install Mail
- pear install Mail_Mime

tài nguyên hơn cho việc xử lý các gói tin.
- cd /usr/local
- tar zxvf /home/ids_usr/Desktop/barnyard2-1.7.tar.gz
- cd barnyard2-1.7
- ./configure with-mysql && make && make install
- cp /usr/local/barnyard2-1.7/etc/barnyard2.conf /etc/snort
- gedit /etc/snort/barnyard2.conf
- Tìm “thor” và thay thế bằng “localhost”
- Kiểm tra config interface để chắc chắn đang sử dụng interface “eth0”
- Tìm dòng “output database” và thay bằng :
output database: alert, mysql, user=snort password=<password> dbname=snort
host=localhost
Khởi động Snort và hoàn tất cấu hình Barnyard
- snort -c /etc/snort/snort/conf -i eth0
- Open a second CLI.
- Mkdir /var/log/barnyard2
- ls -la /var/log/snort.
Để ý 10 chữ số sau file snort.log sau cùng
- gedit /var/log/snort/barnyard.waldo
thêm nội dung sau rồi lưu và đóng file :
/var/log/snort
snort.log
<10 chữ số phía trên>
0
- khởi động barnyard: /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -G
/etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -d /var/log/snort –f snort.log
-w /var/log/snort/barnyard.waldo
4. Thử nghiệm ( post-installed testing )
Khởi động Snort & Barnyard2
- snort -c /etc/snort/snort/conf -i eth0

/>bin/oink m aster.cgi/5a08 f 649c16a278e1012e1c/snortrules-snapshot-2.8.tar.gz
( ví dụ oinkcode của ta là 5a08f649c16a278e1012e1c , và Snort là ver. 2.8 )
(4) khởi động Oinkmaster
oinkmaster.pl -o /etc/snort/rules
b. Quản trị Alert / Sensor : Snort consoles
Trong phần này, ta xem qua 1 số console quản trị Snort, một số chuyên phân tích các
thông tin được Snort thu thập, một số bao gồm cả chức năng cập nhật rule, chỉnh sửa cấu
hình rule. Các console được xem xét giới thiệu :
- SnortSnaft
- Cerebus
- ACID ( và phiên bản mới được dùng bên trên là B.A.S.E )
- SnortCenter
o SnortSnarf :
Là một Perl script thu thập các thông tin từ Snort và hiển thị dưới dạng HTML để có
thể duyệt một cách dễ dàng.
Ưu điểm :
Miễn phí, đơn giản và cung cấp 1 cái nhìn tổng thể về tình trạng.
N hược điểm :
Chậm khi phải phân tích các file cảnh báo dung lượng lớn, tạo ra nhiều file
HTML.
Rất tiếc là SnortSnarf đã không còn được tiếp tục phát triển và hỗ trợ
o Cerebus :
Là một công cụ được phát triển bởi Drados Ruiu, cho phép duyệt, tổng hợp, quản lý
các cảnh báo từ Snort. Điểm mạnh nhất của Cerebus chính là việc cho phép tổng hợp
báo cáo từ nhiều file cảnh báo, điều này cho phép Admin của các mạng lớn có cái
nhìn tổng quát, và dễ dàng hơn khi phải làm việc với số lượng lớn các cảnh báo
Cerebus có thể download tại :
m /cerebus/download.ht m l
Ưu điểm :
Nhanh, tương thích nhiều nền tảng khác nhau ( *nix, Win32 ), là công cụ tốt cho

Tương thích với SnortSam

Kiến trúc client-server 1-nhiều

Tương thích cơ sở dữ liệu


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status