Tải bản đầy đủ (.docx) (31 trang)

Đề tài số 1 (an ninh mạng)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.28 MB, 31 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO.

BÁO CÁO CUỐI KỲ
ĐỀ TÀI SỐ 1 : Tìm hiểu về Network

-Based IDS và thực nghiệm
Giảng viên hướng dẫn :

Nguyễn Thị Thanh Vân

Môn học :

Hệ Điều Hành Unix

Sinh viên thực hiện:

Trần Trung Tín

1

- 14110204


Mục Lục
Contents

I. Tổng quan về IDS

2




 Hiện nay mạng Internet đã trở thành một phần không thể thiếu của con

người. Internet ngày càng phổ biến rộng rải cho mọi người để trao đổi thông
tin trên mạng. Khả năng kết nối trên toàn thế giới đang mang lại thuận tiện
cho tất cả mọi người, nhưng nó cũng tiềm ẩn những nguy cơ khó lường đe
dọa tới mọi mặt của đời sống xã hội. Việc mất trộm thông tin trên mạng gây
ảnh hưởng đến tính riêng tư cho các cá nhân, những vụ lừa đảo, tấn công từ
chối dịch vụ gây ảnh hưởng lớn đến hoạt động kinh doanh cho các công ty
và gây phiền toái cho người sử dụng Internet… làm cho vấn đề bảo mật trên
mạng luôn là một vấn đề nóng hổi và được quan tâm đến trong mọi thời
điểm.
 Cho đến nay, các giải pháp bảo mật luôn được chú trọng và đã có những

đóng góp lớn trong việc hạn chế và ngăn chặn những vấn đề về bảo mật, ví
dụ như Firewall ngăn chặn những kết nối không đáng tin cậy, mã hóa làm
tăng độ an toàn cho việc truyền dữ liệu, các chương trình diệt virus với cơ sở
dữ liệu liên tục cập nhật về những loại virus mới nhất. Tuy nhiên hiện nay
các vụ vi phạm bảo mật xảy ra ngày càng tinh vi hơn cùng với sự gia tăng
những vụ lạm dụng, dùng sai xuất phát từ trong hệ thống mà những phương
pháp bảo mật truyền thống không chống được. Những điều đó dẫn đến yêu
cầu phải có một phương pháp bảo mật mới bổ trợ cho những phương pháp
bảo mật truyền thống.
 Hệ thống phát hiện xâm nhập trái phép IDS là một phương pháp bảo mật có

khả năng chống lại các kiểu tấn công mới, các vụ lạm dụng, dùng sai xuất
phát từ trong hệ thống và có thể hoạt động tốt với các phương pháp bảo mật
truyền thống. Nó đã được nghiên cứu, phát triển và ứng dụng từ lâu trên thế
giới và đã thể hiện vai trò quan trọng trong các chính sách bảo mật. Tuy

nhiên ở Việt Nam hiện nay hệ thống phát hiện xâm nhập trái phép vẫn mới
đang được nghiên cứu, vẫn chưa được ứng dụng vào trong thực tế. Nguyên
nhân của việc này có thể do các hệ thống IDS hiện nay quá phức tạp, tốn
thời gian đào tạo để sử dụng, cũng có thể do nó là những hệ thống lớn, yêu
cầu nhiều trang thiết bị, nhiều công sức để quản lý bảo dưỡng, không phù
hợp với điều kiện của các hệ thống ở Việt Nam hiện nay.

1. Khái niệm IDS
3


 Là một hệ thống nhằm phát hiện các hành động xâm nhập tấn công vào

mạng. IDS phát hiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết
hay dựa trên so sánh lưu thông mạng hiện tại với basedline để tìm ra các dấu
hiệu khác thường.
 Phát hiện xâm nhập trái phép là một công việc đầy khó khăn do ảnh hưởng

của sự tăng trưởng nhanh chóng các kết nối mạng, môi trường máy tính
không đồng nhất, nhiều giao thức truyền thông và sự phân loại đáng kể của
các ứng dụng thông dụng và độc quyền. Hầu hết các kỹ thuật IDS được xây
dựng dựa trên sự khác biệt ứng xử của kẻ xâm nhập so với người dùng hợp
lệ.
 Một IDS có nhiệm vụ phân tích các gói tin mà Firewall cho phép đi qua, tìm

kiếm các dấu hiệu đã biết mà không thể kiểm tra hoặc ngăn chặn bởi
Firewall. Sau đó cung cấp thông tin và đưa ra các cảnh báo cho các quản trị
viên.
 IDS cung cấp thêm cho việc bảo vệ an toàn thông tin mạng một mức độ cao


hơn. Nó được đánh giá giá trị giống như Firewall và VPN là ngăn ngừa các
cuộc tấn công mà IDS cung cấp sự bảo vệ bằng cách trang bị cho bạn thông
tin về cuộc tấn công. Bởi vậy, IDS có thể thỏa mãn nhu cầu về an toàn hệ
thống của bạn bằng cách cảnh báo cho bạn về khả năng các cuộc tấn công và
thỉnh thoảng thì ngoài những thông báo chính xác thì chúng cũng đưa ra một
số cảnh báo chưa đúng.
 Phân biệt những hệ thống không phải là IDS: Theo một cách riêng biệt nào

đó, các thiết bị bảo mật dưới đây không phải là IDS:
 Hệ thống đăng nhập mạng được sử dụng để phát hiện lỗ hổng đối với vấn đề

tấn công từ chối dịch vụ trên một mạng nào đó. Ở đó có hệ thống kiểm tra
lưu lượng mạng.
 Các công cụ đánh giá lỗ hổng kiểm tra lỗi và lỗ hổng trong hệ điều hành,

dịch vụ mạng.

4


 Các sản phẩm chống virus đã thiết kế để phát hiện phần mềm mã nguy hiểm

như virus, Trojan horse, worm... Mặc dù những tính năng mặc định có thể
rất giống hệ thống phát hiện xâm nhập và thường cung cấp một công cụ phát
hiện lỗ hổng bảo mật hiệu quả.
 Tường lửa và các hệ thống bảo mật, mật mã như VPN, SSL,S/MINE,

Kerberos, Radius...

2. Giới thiệu hệ thống IDS


 Hệ thống phát hiện xâm nhập IDS là một hệ thống giám sát lưu lượng mạng

nhằm phát hiện ra hiện tượng bất thường, các hoạt động trái phép xâm nhập
vào hệ thống. IDS có thể phân biệt được các cuộc tấn công từ nội bộ hay tấn
công từ bên ngoài.




IDS phát hiện dựa trên các dấu hiệu đặc biệt về nguy cơ đã biết (giống như
cách phần mềm diệt virus phát hiện và diệt virus) hay dựa trên so sánh lưu
thông mạng hiện tại với baseline (thông số chuẩn của hệ thống có thể chấp
nhận được) để tìm ra các dấu hiệu bất thường.
Một hệ thống IDS cần phải thỏa mãn những yêu cầu:
• Tính chính xác (Accuracy): IDS không được coi những hành động thông
thường trong môi trường hệ thống là những hành động bất thường hay
lạm dụng
• Hiệu năng (Performance): Hiệu năng của IDS phải đủ để phát hiện xâm
nhập trái phpes trong thời gian thực
• Tính trọn vẹn (Completeness): IDS không được bỏ qua một xâm nhập trái
phép nào. Đây là một điều kiện khó thỏa mãn được .
• Chịu lỗi (Fault Tolerance): bản thân IDS cũng phải có khả năng chống lại
tấn công
• Khả năng mở rộng (Scalability): IDS phải có khả năng xử lý trong trạng
thái xấu nhất là không bỏ sót thông tin nào. Yên cầu này liên quan tới hệ
thống mà các sự kiện trong tương lai đến từ nhiều nguồn tài nguyên với số
5



lượng host nhỏ. Với sự phát triển nhanh và mạnh của mạng máy tính, hệ
thống có thể bị quá tải bởi sự tăng trưởng của số lượng sự kiện.

3. Kiến trúc, chức năng và quy trình hoạt động của IDS

Các thành phần của IDS

3.1.

 IDS bao gồm các thành phần chính: thành phần thu thập gói tin (information

collection), thành phần phân tích gói tin (Detection), thành phần phản hồi
(response) nếu gói tin đó được phát hiện là một cuộc tấn công.


3.2.

Thành phần phân tích gói tin là quan trọng nhất và ở thành phần này bộ cảm
biến đóng vai trò quyết định. Bộ cảm biến tích hợp với thành phần là sưu tập
dữ liệu và một bộ tạo sự kiến. Cách sưu tập này được xác định bởi chính sách
tạo sự kiện để định nghĩa chế độ lọc thông tin sự kiện. Vai trò của bộ cảm
biến là dùng để lọc thông tin và loại bỏ dữ liệu không tương thích đạt được từ
các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể phát hiện được các
hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính sách phát hiện
cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công, profile hành
vi thông thường, các tham số cần thiết. Thêm vào đó, cơ sở dữ liệu giữa các
tham số cấu hình, gồm các chế độ truyền thông với module đáp trả. Bộ cảm
biến cũng có sơ sở dữ liệu của riêng nó.

Chức năng

6






3.3.












Chức năng quan trọng nhất của IDS là:
• Giám sát: giám sát lưu lượng mạng các hoạt động bất thường và các hoạt
động khả nghi
• Cảnh báo: Khi đã biết được các hoạt động bất thường của một truy cập
nào đó, IDS sẽ đưa ra cảnh báo về hệ thống cho người quản trị
• Bảo vệ: Dùng những thiết lập mặc định và những cấu hình từ nhà quản trị
mà có những hành động chống lại kẻ xâm nhập
Chức năng mở rộng của IDS:
• Phân biệt các cuộc tấn công từ trong hoặc từ bên ngoài: nó có thể phân
biệt được đâu là những truy cập hợp lệ (hoặc không hợp lệ) từ bên trong

và đâu là cuộc tấn công từ bên ngoài
• Phát hiện: dựa vào so sánh lưu lượng mạng hiện tại với baseline, IDS có
thể phát hiện ra những dấu hiệu bất thường và đưa ra các cảnh báo và bảo
vệ ban đầu cho hệ thống

Quy trình hoạt động của IDS
Một host tạo ra một gói tin mạng
Các cảm biến trong mạng đọc các gói tin trong khoảng thời gian trước khi
nó được gửi ra khỏi mạng cục bộ (cảm biến này cần phải được đặt sao cho
nó có thể đọc tất cả các gói tin).
Chương trình phát hiện nằm trong bộ cảm biến kiểm tra xem có gói tin nào
có dấu hiệu vi phạm hay không. Khi có dấu hiệu vi phạm thì một cảnh báo
sẽ được tạo ra và gửi đến giao diện điều khiển.
Khi giao diện điều khiển lệnh nhận được cảnh báo nó sẽ gửi thông báo cho
một người hoặc một nhóm đã được chỉ định từ trước (thông qua email, cửa
sổ popup, trang web v.v…).
Phản hồi được khởi tạo theo quy định ứng với dấu hiệu xâm nhập này.
Các cảnh báo được lưu lại để tham khảo trong tương lai (trên địa chỉ cục bộ
hoặc trên cơ sở dữ liệu).
Một báo cáo tóm tắt về chi tiết của sự cố được tạo ra.
Cảnh báo được so sánh với các dữ liệu khác để xác định xem đây có phải là
cuộc tấn công hay không.

7


4. Phân Loại IDS
 Hệ thống IDS được chia làm 2 loại cơ bản:



Network-based IDS (NIDS): sử dụng dữ liệu trên toàn bộ lưu thông mạng
cùng dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm
nhập



Host-based IDS (HIDS): sử dụng dữ liệu kiểm tra tự một máy trạm đơn
để phát hiện xâm nhập

Network based IDS – NIDS

4.1.

 Hệ thống IDS dựa trên mạng sẽ kiểm tra các giao tiếp trên mạng với thời

gian thực (real-time). Nó kiểm tra các giao tiếp, quét header của các gói tin,
và có thể kiểm tra nội dung của các gói đó để phát hiện ra các đoạn mã nguy
hiểm hay các dạng tấn công khác nhau. Một Network-Based IDS hoạt động
tin cậy trong việc kiểm tra, phát hiện các dạng tấn công trên mạng, ví dụ như
dựa vào băng thông (bandwidth-based) của tấn công Denied of Service
(DoS).
8


 Ưu điểm:

 Quản lý được cả một network segment (gồm nhiều host)
 Trong suốt với người sử dụng lẫn kẻ tấn công
 Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
 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
 Độc lập với OS
 Nhược điểm:
 Có thể xảy ra trường hợp báo động giả
 Không thể phân tích các dữ liệu đã được mã hóa (VD: SSL, SSH,

IPSec...) NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực
sự an toàn
 Có độ trễ giữa thời điểm bị tấn công với thời điểm phát báo động. Khi

báo động được phát hiện, hệ thống có thể đã bị tổn hại.
 Không cho biết việc tấn công có thành công hay không
 Hạn chế lớn nhất là giới hạn băng thông. Những bộ dò mạng phải nhận

tất cả các lưu lượng mạng, sắp xếp lại những lưu lượng đó và phân tích
chúng. Khi tốc độ mạng tăng lên thì khả năng của đầu dò cũng phải tăng
theo.

9


Host based IDS - HIDS

4.2.

 Bằng cách cài đặt một phần mềm trên máy chủ, IDS dựa trên máy chủ quan

sát tất cả những hoạt động về hệ thống và các file log, lưu lượng mạng thu
thập. Hệ thống dựa trên máy chủ cũng theo dói OS, những cuộc gọi hệ
thống, lịch sử và những thông điệp báo lỗi trên hệ thống máy chủ. HIDS

thường được cài đặt trên một máy tính nhất định thay vì giám sát hoạt động
của một network, HIDS chỉ giám sát các hoạt động trên một máy tính. HIDS
thường được đặt trên các host quan trọng và các server trong vùng DMS.
Nhiệm vụ của HIDS là theo dõi các thay đổi trên hệ thống gồm:


Các tiến trình



Các entry



Mức độ sử dụng CPU



Tình trạng RAM



Tính toàn vẹn của hệ thống



Các thông số này khi vượt qua một ngưỡng nhất định hoặc có những
thay đổi khả nghi sẽ gây ra báo động

10



 Ưu điểm:
 Có khả năng xác định user liên quan tới event
 HIDS có khả năng phát hiện tấn công diễn ra trên một máy, NIDS thì

không
 Có thể phân tích các dữ liệu mã hóa
 Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên

host này
 Nhược điểm:
 Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào

host này thành công
 Khi OS bị sập do tấn công, đồng thời HIDS cũng sập
 HIDS phải được thiết lập trên từng host cần giám sát
 HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap,

Netcat ...)
 HIDS cần tài nguyên trên host để hoạt động
 HIDS có thể không hiệu quả khi bị DOS.

11


Những loại tấn công thường gặp và IDS tương ứng

5.


Tấn công từ chối dịch vụ Denial of Services

5.1.

 Denial of Service (DoS) có mục đích đóng bang hay chặn đứng tài nguyên

hệ thống đích. Cuối cùng mục tiêu không thể tiếp cận và trả lời các gói tin
gửi đến. DoS tấn công vào các mục tiêu bao gồm 3 dạng: mạng, hệ thống và
ứng dụng.
 Phá hoại mạng: kiểu tấn công SYN flood. Kẻ tấn công sẽ gửi các gói tin kết

nối SYN tới hệ thống cho tới khi công suất của máy chủ quá tải và sẽ không
thể nhận được bất kỳ gói tin nào nữa.
 Phá hoại hệ thống: bao gồm các dạng như Ping of Death (gửi 1 gói dữ liệu

có kích thước lớn thông qua lệnh ping tới máy chủ), Teardrop (gửi tới máy
chủ một loại gói tin có giá trị offset chồng chéo khiến máy chủ không sắp
xếp được à crash hoặc reboot) … Các kiểu tấn công này nhằm lợi dụng lỗ
hổng trên hệ điều hành nhằm phá hoại, gây quá tải hệ thống.
 Phá hoại ứng dụng: bằng cách lợi dụng điểm yếu trên ứng dụng, cơ sở dữ

liệu hay trang web…
 Giải pháp: Network IDS có thể phát hiện được các cuộc tấn công dạng gói

tin
12


Quét và thăm dò (Scanning và Probe)


5.2.

 Bộ quét và thăm dò tự động sẽ tìm kiếm hệ thống trên mạng để xác định

điểm yếu. Việc thăm dò có thể thực hiện bằng cách ping tới hệ thống cũng
như kiểm tra các cổng TCP hoặc UDP để phát hiện ra ứng dụng có những lỗi
đã được biết tới.
 Giải pháp: Network IDS có thể phát hiện các hành động nguy hiểm trước khi

chúng xảy ra. Host IDS cũng có tác dụng đối với kiểu tấn công này

Tấn công vào mật khẩu (Password attack)

5.3.

 Có các phương thức để tiếp cận:


Kiểu dễ nhận thấy nhất là ăn trộm mật khẩu, mang lại quyền quản trị cho
kẻ tấn công có thể truy cập mọi thông tin trong mạng.



Đoán hay bẻ khóa mật khẩu là phương thức tiếp cận bằng cách thử nhiều
lần mật khẩu để tìm được đáp án đúng. Với kiểu bẻ khóa, kẻ tấn công cần
truy cập tới mật khẩu đã được mã hóa hay file chứa mật khẩu đã mã hóa.
Và sử dụng chương trình đoán mật khẩu với thuật toán mã hóa để xác
định mật khẩu đúng.

 Giải pháp: Một Network IDS có thể phát hiện và ngăn chặn cố gắng đoán


mật khẩu, nhưng nó không hiệu quả trong việc phát hiện truy cập trái phép
tới file bị mã hóa. Trong khi đó, Host IDS lại thể hiện hiệu quả trong việc
phát hiện đoán mật khẩu cũng như truy cập trái phép.

Chiếm đặc quyền (Privilege-grabbing)

5.4.

 Khi kẻ tấn công đã xâm nhập được hệ thống, chúng sẽ cố chiếm quyền truy

cập. Khi thành công, chúng sẽ tìm cách phá hoại hệ thống hoặc đánh cắp
thông tin quan trọng. Một số kỹ thuật thường dung cho việc chiếm đặc
quyền:
13




Đoán hay đánh cắp mật khẩu root, admin



Gây tràn bộ đệm



Khai thác registry




Sử dụng file, script hay lỗi của hệ điều hành, ứng dụng.

 Giải pháp: Cả NIDS và HIDS đều có thể xác định được việc thay đổi đặc

quyền trái phép

Cài đặt mã nguy hiểm (Hostile code insertion)

5.5.

 Một số loại tấn công có thể cài đặt mã nguy hiểm vào hệ thống. Mã này có

thể lấy trộm dữ liệu, gây từ chối dịch vụ, xóa file hay tạo backdoor cho lần
truy cập tiếp theo.
 Virus: khi được thực thi sẽ dẫn tới hành động tự động, có hoặc không có hại,

luôn tạo ra bản sao của file hệ thống, file ứng dụng hay dữ liệu.
 Trojan Horse: được đặt tên như một chương trình người ta muốn sử dụng

nhưng thực tế chúng kích hoạt các hành động dẫn tới hỏng hệ thống
 Giải pháp: không có loại IDS nào chống việc phá hoại từ virus hay Trojan.

Cách tốt nhất là cài đặt phần mềm diệt virus

Hành động phá hoại trên máy móc (Cyber vandalism)

5.6.

 Hành động phá hoại bao gồm: thay đổi trang web, xóa file, phá block khởi


động và chương trình hệ điều hành, format ổ đĩa
 Giải pháp: sử dụng HIDS trong trường hợp này là hoàn toàn phù hợp. Với

NIDS có thể sử dụng dấu hiệu tấn công được định nghĩa trước để phát hiện
chính xác việc truy cập trái phép vào hệ điều hành
5.7.

Tấn công hạ tầng bảo mật (Security infrastructure attack)
14


 Có nhiều loại tấn công can thiệp vào việc điều khiển cơ bản của cơ sở hạ

tầng bảo mật như tạo tường lửa trái phép, chỉnh sửa tài khoản của người
dung hay thay đổi các quyền của file. Tấn công vào cơ sở hạ tầng cho phép
kẻ xâm nhập có them quyền truy cập hay tạo them nhiều đường xâm nhập
vào hệ thống
 Giải pháp: HIDS có thể bắt giữ các cuộc đăng nhập mà thực hiện những

hành động như trên

II. Giới thiệu về snort
1. Khái niệm Snort
 Snort là phần mềm IDS được phát triển bởi Martin Roesh dưới dạng mã

nguồn mở.
 Snort ban đầu được xây dựng trên nền Unix nhưng sau đó phát triển sang

các nền tảng khác. Snort được đánh giá rất cao về khả năng phát hiện xâm

nhập. Tuy snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời. Với
kiến trúc 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. Snort có thể chạy trên nhiều hệ thống như Windows,
Linux, OpenBSD, FreeBSD, Solaris …
 Bên cạnh việc có thể hoạt động như một ứng dụng bắt gói tin thông thường,

Snort còn được cấu hình để chạy như một NIDS.
 Tuy nhiên snort cũng có điểm yếu. Đó là tương tự như các bộ quét virus

(virus scanner), snort chỉ có thể chống lại các cuộc tấn công một cách hiệu
quả nếu như nó biết được dấu hiệu (signature) của các cuộc tấn công đó.
Dựa vào điểm này, các hacker "cao thủ" có thể điều chỉnh các cuộc tấn công
để thay đổi signature của cuộc tấn công đó. Từ đó các cuộc tấn công này có
thể "qua mặt" được sự giám sát của snort.
 Snort là một kiểu IDS (Instruction Detection System). Nói ngắn gọn IDS là

một hệ thống được cài đặt trên mạng (hay máy tính) của bạn và nhiệm vụ
của nó là giám sát những gói tin vào ra hệ thống của bạn. Nếu một cuộc tấn
15


công được phát hiện bởi Snort thì nó có thể phản ứng bằng nhiều cách khác
nhau phụ thuộc vào cấu hình mà bạn thiết lập, chẳng hạn như nó có thể gởi
thông điệp cảnh báo đến nhà quản trị hay loại bỏ gói tin khi phát hiện có sự
bất thường trong các gói tin đó.
 Tuy nhiên snort cũng có điểm yếu. Đó là tương tự như các bộ quét virus

(virus scanner), snort chỉ có thể chống lại các cuộc tấn công một cách hiệu
quả nếu như nó biết được dấu hiệu (signature) của các cuộc tấn công đó.
Dựa vào điểm này, các hacker "cao thủ" có thể điều chỉnh các cuộc tấn công

để thay đổi signature của cuộc tấn công đó. Từ đó các cuộc tấn công này có
thể "qua mặt" được sự giám sát của snort.
 Như vậy có thể thấy rằng, để snort hoạt động một cách hiệu quả thì một

trong những yếu tố quan trọng cần phải chú ý là các luật viết cho snort. Khi
snort hoạt động, nó sẽ đọc các tập luật, giám sát luồng dữ liệu chạy qua hệ
thống và sẽ phản ứng nếu có bất kì luồng dữ liệu nào phù hợp với tập luật
của nó. Cụ thể hơn, tập luật có thể được tạo ra để giám sát các nỗ lực quyét
cổng (scanning), tìm dấu vết (footprinting), hoặc nhiều phương pháp khác
mà các hacker dùng để tìm cách chiếm quyền hệ thống.

2. Kiến trúc của Snort
 Snort bao gồm nhiều thành phần, mỗi phần có một chức năng riêng biệt


Module giải mã gói tin



Module tiền xử lý



Module phát hiện



Module log và cảnh báo




Module kết xuất thông tin

 Kiến trúc của Snort được thể hiện qua mô hình sau:

16


 Khi Snort hoạt động, nó sẽ lắng nghe tất cả các gói tin nào di chuyển qua nó.

Các gói tin sau khi bị bắt sẽ được đưa vào module giải mã. Tiếp theo sẽ vào
module tiền xử lý và rồi module phát hiện. Tại đây tùy vào việc có phát hiện
được xâm nhập hay không mà gói tin có thể bỏ qua để lưu thông tin tiếp
hoặc đưa vào module Log và cảnh báo để xử lý. Khi các cảnh báo được xác
định, Module kết xuất thông tin sẽ thực hiện việc đưa ra cảnh báo theo đúng
định dạng mong muốn.

Module giải mã gói tin

2.1.

 Snort chỉ 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.

17


 Một gói tin sau khi được giải mã sẽ đưa tiếp vào module tiền xử lý.


Module tiền xử lý

2.2.

 Module này rất quan trọng đối với bất kỳ hệ thống nào để có thể chuẩn bị

gói dữ liệu đưa vào cho Module phát hiện phân tích. 3 nhiệm vụ chính:


Kết hợp lại các gói tin: Khi một dữ liệu lớn được gửi đi, thông tin sẽ
không đóng gói toàn bộ vào một gói tin mà thực hiện phân mảnh, chia
thành nhiều gói tin rồi mới gửi đi. Khi Snort nhận được các gói tin này,
nó phải thực hiện kết nối lại để có gói tin ban đầu. Module tiền xử lý giúp
Snort có thể hiểu được các phiên làm việc khác nhau.



Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện
xâm nhập dựa trên dấu hiệu nhận dạng nhiều khi thất bại khi kiểm tra các
giao thức có dữ liệu có thể được biểu diễn dưới nhiều dạng khác nhau. Ví
dụ: một Web server có thể nhận nhiều dạng URL: URL viết dưới dạng
hexa/unicode hay URL chấp nhận dấu / hay \. Nếu Snort chỉ thực hiện
đơn thuần việc so sánh dữ liệu với dấu hiệu nhận dạng sẽ xảy ra tình
trạng bỏ sót hành vi xâm nhập. Do vậy, 1 số Module tiền xử lý của Snort
phải có nhiệm vụ giải mã và chỉnh sửa, sắp xếp lại các thông tin đầu vào.



Phát hiện các xâm nhập bất thường (nonrule/anormal): các plugin dạng
này thường để xử lý với các xâm nhập không thể hoặc rất khó phát hiện

bằng các luật thông thường. Phiển bản hiện tại của Snort có đi kèm 2
plugin giúp phát hiện xâm nhập bất thường đó là portscan và bo
(backoffice). Portscan dùng để đưa ra cảnh báo khi kẻ tấn công thực hiện
quét cổng để tìm lỗ hổng. Bo dùng để đưa ra cảnh báo khi hệ thống
nhiễm trojan backoffice.

Module phát hiện

2.3.

 Đây là module 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. Module phát hiện sử dụng các luật được định nghĩa
trước để so sánh với dữ liệu thu thập được, từ đó xác định xem có xâm nhập
xảy ra hay không.
18


 Một vấn đề quan trọng đối với module phát hiện và vấn đề thời gian xử lý

gói tin: một IDS thường nhận rất nhiều gói tin và bản thân nó cũng có rất
nhiều luật xử lý. Khi lưu 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 đúng lúc. Khả năng xử lý của module phát hiện phụ thuộc
vào nhiều yếu tố: số lượng các luật, tốc độ hệ thống, băng thông mạng.
 Một module phát hiện có khả năng tách các phần của gói tin ra và áp dụng

luật lên từng phần của gói tin:


IP header




Header ở tầng transport: TCP, UDP



Header ở tầng application: DNS, HTTP, FTP …



Phần tải của gói tin

 Do các luật trong Snort được đánh số thứ tự ưu tiên nên 1 gói tin khi bị phát

hiện bởi nhiều luật khác nhau, cảnh báo được đưa ra theo luật có mức ưu
tiên cao nhất.

Module log và cảnh báo

2.4.

 Tùy thuộc vào module phát hiện có nhận dạng được xâm nhập hay không

mà gói tin có thể bị ghi log hay đưa ra cảnh báo. Các file log là các file dữ
liệu có thể ghi dưới nhiều định dạng khác nhau như tcpdump

Module kết xuất thông tin

2.5.


 Module này thực hiện các thao tác khác nhau tùy thuộc vào việc cấu hình

lưu kết quả xuất ra như thế nào.


Ghi log file



Ghi syslog



Ghi cảnh báo vào cơ sở dữ liệu
19




Tạo file log XML



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


III. Thực nghiệm
1. Thực nghiêm tạo mô hình và cài đặt snort









Chúng ta sẽ có mô hình như sau, gồm 4 máy:
• Client: Windows 7 –Vmnet 11: 192.168.11.12
• Attacker: Kali Linux 2016.2 –Vmnet 12 : 192.168.11.10
• Snort IDS: Centos 6.9 –Vmnet 11 : 192.168.11.11
–Vmnet 12 : 192.168.10.12
• WEB Server: Centos 6.9 –Vmnet 12 : 192.168.10.13
Cấu hình cơ bản này các bạn tự làm, vì phần này đã học ở môn Hệ điều hành
Unix. Coi lại phần cấu hình ip và routing để có thể ping thông qua các máy.
Lưu ý 1 số điều:
• Tắt Firewall khi ping
• Trong file /etc/sysctl.conf -> Chỉnh dòng net.ipv4.ip_forward = 1
• Coi lại cấu hình routing
Sau khi ping thông giữa các máy, các bạn bắt đầu vào việc cài đặt Snort
Cài đặt Package
20


yum install -y gcc flex bison zlib* libxml2 libpcap* pcre* tcpdump git libtool curl
man make daq

yum groupinstall - y "Development Tools"
Chuẩn bị các file cài đặt riêng sau, chỉ cần có card mạng NAT ra ngoài internet thì
các bạn có thể dễ dàng cài đặt các file này

libdnet-1.12.tgz
libdnet-1.12-6.el6.x86_64.rpm
libdnet-devel-1.12-6.el6.x86_64.rpm
snortrules-snapshot-2983tar.gz



Tải file snort mới nhất tại Snort.org

daq-2.0.4.tar.gz
snort-2.9.8.3.tar.gz



Sau khi cài đặt các file thì chúng trong tình trang chưa giải nén như trong
máy mình đây
Lưu ý:
• Sau khi mình cài đặt Snort thất bại rất nhiều lần thì mình rút ra được kinh
nghiêm như thế này. Các bạn hãy lưu ý snort-2.9.8.3.tar.gz và snortrulessnapshot-2983tar.gz phải cùng phiên bản với nhau, của mình là 2983.
Các bạn có thể phiên bản bất kỳ nhưng 2 file này phài cùng phiên bản
nếu không thì khi cài được 1 nữa các bạn sẽ gặp lỗi và phải bắt đầu lại từ
đầu như mình, lúc sau mình sẽ cho các bạn xem lỗi đó.

21







Tiếp theo chúng ta bắt đầu công việc
Tùy các bạn để file ở đâu để giải nén nó, mình để ở desktop và muốn giải
nén nó vào file /usr/local/src
Tiếp tục các bước như mình hướng dẫn

22


23




Tạo user, group, cấp quyền



Cấu hình snort

vi /etc/snort/snort.conf
ipvar HOME_NET any

>

ipvar HOME_NET 192.168.10.0/24
24



ipvar EXTERNAL_NET any
var RULE_PATH ../rules >

var SO_RULE_PATH
/etc/snort/so_rules

>

ipvar EXTERNAL_NET !$HOME_NET

104 var RULE_PATH /etc/snort/rules

../so_rules

>

var PREPROC_RULE_PATH ../preproc_rules
PREPROC_RULE_PATH /etc/snort/preproc_rules

105 var SO_RULE_PATH
>

106

var

var WHITE_LIST_PATH ../rules
/etc/snort/rules


>

109 var WHITE_LIST_PATH

var BLACK_LIST_PATH ../rules
/etc/snort/rules

>

110 var BLACK_LIST_PATH



Cấp quyền start snort



Check



Lỗi
25


×