Không thể phát hiện ra cuộc tấn công khi mạng ở trạng thái quá tải whelmingover- Không thể phân tích các lưu lượng dữ liệu đã được mã hóa vd: SSL, SSH,IPSec… Đòi hỏi được cập nhật c
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP KẾT THÚC MÔN
MẠNG MÁY TÍNH NÂNG CAO
GIẢNG VIÊN HƯỚNG DẪN: TRẦN ĐẮC TỐT
SINH VIÊN THỰC HIỆN :
LÝ GIA NGHI – 2033190098 (NHÓM TRƯỞNG) NGUYỄN NGỌC BẢO TRÂN – 2033190131
VŨ VÕ TRUNG HẬU - 2033190011
Trang 2
BÁO CÁODANH SÁCH THÀNH VIÊN
Lý Gia Nghi 2033190098 0898669801 gianghi17092001@gmail.com
Vũ Võ Trung Hậu 2033190011 0938617453 vuvotrunghau277@gmail.comNguyễn Ngọc Bảo Trân 2033190131 0961786943 trannnb.nq.11k@gmail.com
Đợt 1: Họp phân công công việc (20/12/2021)
PHÂN CÔNG CÔNG VIỆC ST
2 Vũ Võ Trung Hậu Cài đặt và cấu hình Snort 27/12/2021
3 Nguyễn Ngọc Bảo
Trân Tìm hiểu IDS/ISPLuật trong Snort
PPT
27/12/2021Ppt (31/12/2021)
Đợt 2: Họp nêu ý kiến của mọi người (2/1/2022)
Lý Gia Nghi
(Nhóm trưởng)
Tổng quan về SnortPhân tích luật trong SnortWord
Đợt 3: Xem lại một lần nữa rồi nộp (3/1/2022)
HOÀN THÀNH
Lý Gia Nghi
(Nhóm trưởng)
Tổng quan về SnortPhân tích luật trong SnortWord
Trang 3LỜI CẢM ƠN
Lời đầu tiên chúng em xin gửi lời cảm ơn chân thành đến quý thầy,
cô giáo trong khoa Công nghệ Thông Tin trường Đại học Công nghiệpthực phẩm Tp Hồ Chí Minh đã truyền đạt kiến thức và kinh nghiệm quýbáu cho chúng em trong suốt quá trình học tập và rèn luyện
Đặc biệt chúng em xin gởi lời cảm ơn đến thầy Trần Đắc Tốt,người đã trực tiếp hướng dẫn và tận tình giúp đỡ chúng em trong suốtthời gian học môn “Mạng Máy Tính Nâng Cao” cũng như trong thời gianchúng em thực hiện thực bài tập kết thúc môn học
Mặc dù đã cố gắng trong quá trình làm bài nhưng không thể tránhkhỏi những sai sót Chúng em mong nhận được sự góp ý, nhận xét củaquý thầy cô và các bạn về nội dung cũng như hình thức trình bày để bàibáo cáo được hoàn thiện
Chúng em xin chân thành cảm ơn thầy cô và các bạn !
TP Hồ Chí Minh, ngày 27 tháng 12, năm 2021
SINH VIÊN THỰC HIỆN (Kí và ghi rõ họ tên)
Lý Gia Nghi
Vũ Võ Trung HậuNguyễn Ngọc Bảo Trân
Trang 4NHẬN XÉT CỦA GIÁO VIÊN
Ý kiến của Giáo Viên (Ký và ghi rõ họ tên) TRẦN ĐẮC TỐT
Trang 5LỜI CAM ĐOAN
Chúng tôi cam đoan rằng bài báo cáo đề tài này là do chính chúng tôithực hiện dưới sự hướng dẫn của thầy TRẦN ĐẮC TỐT Các số liệu vàkết quả phân tích trong báo cáo là trung thực
TP.HCM, ngày 24 tháng 12, năm 2021
SINH VIÊN THỰC HIỆN (Kí và ghi rõ họ tên)
Lý Gia NghiNguyễn Ngọc Bảo Trân
Vũ Võ Trung Hậu
Trang 6TÀI LIỆU THAM KHẢO
ids-so-voi-ips-va-tuong-lua-20200725112126311.htm
https://bizflycloud.vn/tin-tuc/chi-can-5-phut-de-hieu-ids-la-gi-nghip-i-hc.html?page=7
https://hocday.com/vin-i-hc-m-h-ni-khoa-cng-ngh-thng-tin n-tt-trin-khai-snortsnortsam
https://www.slideshare.net/lquang90/kha-lun-tt-nghip-tm-hiu-v-phat-hien-va-ngan-chan-xam-nhap-cho-cong-ty-novaads-ha-noi.htm
https://123docz.net//document/2353561-trien-khai-he-thong-https://www.tailieudaihoc.com/3doc/326378.html
cua-ids-phan-2-pDljMbe5RVZn
https://viblo.asia/p/network-tim-hieu-co-che-cach-hoat-dong-https://www.snort.org/
thong-ids-ips
Trang 7https://thietbiso24h.com/bao-mat-he-thong-mang-noi-bo-voi-he-MỤC LỤC
Trang 8I TÌM HIỂU IDS/IPS
1 Định nghĩa IDS
IDS (Intrusion Detection System - Hệ thống phát hiện xâm nhập) là một ứng dụng,thiết bị làm nhiệm vụ giám sát lưu lượng mạng đến và đi hoặc hệ thống máy tính đểxác định các mối nguy hại và báo cáo cho quản trị viên Hiểu đơn giản, IDS như một
Quản lý được một đoạn mạng (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 hệ thống 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 (trong mô hình OSI)
Độc lập với hệ điều hành
Nhược điểm:
Có thể xảy ra trường hợp báo động giả (false positive)
Trang 9 Không thể phát hiện ra cuộc tấn công khi mạng ở trạng thái quá tải whelming)
(over- Không thể phân tích các lưu lượng dữ liệu đã được mã hóa (vd: SSL, SSH,IPSec…)
Đòi hỏi được cập nhật các dấu hiệu mới nhất thường xuyên để đảm bảo 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 ra, 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
Có thể gặp khó khăn trong việc xử lý các gói tin có kích thước lớn và mật độlưu thông cao
*Phân loại
Về cơ bản IDS có 2 loại:
Network-based IDS (NIDS): Network Intrusion Detection Systems thường được
bố trí tại những điểm dễ bị tấn công trong hệ thống (lắp đặt tại lối vào củamạng) có thể đứng trước hoặc sau tường lửa Nguồn thông tin chủ yếu củaNIDS là các gói dữ liệu đang lưu thông trên mạng Điểm cộng lớn nhất củaNIDS là có thể quét tất cả lưu lượng mạng đến và đi trong hệ thống Tuy nhiên,việc này có thể làm giảm tốc độ chung của mạng
Trang 10 Host-based IDS (HIDS): Host Intrusion Detection Systems, dùng để giám sáthoạt động của từng máy tính riêng biệt, phát hiện xâm nhập hoạt động trên tất
cả các thiết bị trong hệ thống có thể kết nối Internet Nguồn thông tin chủ yếucủa HIDS ngoài lưu lượng mạng đến và đi từ máy chủ còn có hệ thống dữ liệunhật ký hệ thống (system log) và kiểm tra hệ thống (system audit)
Ưu điểm:
HIDS vượt trội hơn NIDS do nó có khả năng ngăn chặn cuộc tấn côngphân mảnh (Fragmentation Attacks)
Có khả năng phát hiện và phản ứng với thời gian thực
Xác minh khả năng của một cuộc tấn công
Không bị ảnh hưởng bởi các thiết bị chuyển mạch
Có thể phát hiện các cuộc tấn công trên 1 máy
Nhược điểm:
Làm mất nhiều thời gian và công sức trong việc cài đặt, quản lý, cập nhật
do phải thực hiện trên tất cả các host cần bảo vệ
Có thể bị vô hiệu hóa bởi cuộc tấn công DOS
Trang 11 HIDS sẽ “chết” nếu hệ điều hành của máy chủ ngừng hoạt động.
Chiếm tài nguyên hệ thống (RAM, Hard Disk…)
Thông tin sẽ không đáng tin nếu cuộc tấn công trên hệ thống thành côngMột số dạng HIDS: OSSEC, Symantec ESM, …
Trang 12Một số IDS khác:
Signature-Based: Là các IDS hoạt động dựa trên chữ ký, giám sát các gói tintrên mạng tương tự như cách phần mềm diệt virus
Anomaly-Based: Được sử dụng để phát hiện mối đe dọa dựa trên sự bất thường,
sẽ giám sát lưu lượng mạng và so sánh với đường cơ sở đã được thiết lập từtrước
Passive: Là một IDS thụ động chỉ phát hiện và cảnh báo Khi phát hiện lưulượng dữ liệu đáng ngờ hoặc độc hại sẽ tạo và gửi cảnh báo đến quản trị viênhoặc người dùng
Reactive: Ngoài nhiệm vụ như IDS Passive còn thực hiện những hành động đãđược thiết lập sẵn để phản ứng lại các mối đe dọa một cách nhanh chóng
2 Định nghĩa IPS
IPS (Intrusion Prevention System - Hệ thống ngăn ngừa xâm nhập) là một trường mở rộng của IDS
Trang 13IPS sẽ làm nhiệm vụ xác định các hoạt động nguy hại và lưu giữ các thông tin đó.Tương tự IDS, IPS cũng có 2 loại cơ bản: NIPS (Network-based IPS) và HIPS (Host-based IPS)
3 Phân biệt IDS, IPS và Tường lửa:
IDS cho phép truy cập và chỉ cảnh báo nhưng không có khả năng phản ứng lại các xâmnhập, về cơ bản IDS chỉ là một hệ thống giám sát
IPS cho phép truy cập, có khả năng ngăn chặn một số truy cập cụ thể dựa vào nội dungcủa các xâm nhập Người quản trị vừa có thể xác định được các lưu lượng khả nghi khi
có dấu hiệu tấn công đồng thời giảm thiểu được khả năng xác định sai các lưu lượng,các cuộc tấn công sẽ bị loại bỏ ngay khi mới có dấu hiệu và nó hoạt động tuân theomột quy luật định sẵn
Tường lửa dùng để ngăn chặn tất cả các truy cập, chỉ một số truy cập nhất định đượccài đặt cho phép
Trang 14Hiện nay, Công nghệ của IDS đã được thay thế bằng IPS
4 Một số thiết kế mô hình
Đặt giữa router và firewall
Đặt trong miền DMZ (phổ biến là HIDS)
Trang 15 Đặt sau firewall
II TỔNG QUAN VỀ SNORT
Trang 161 Snort là gì?
Snort là hệ thống phòng chống và phát hiện xâm nhập (NIDS) được ông Martin Roeshphát triển dựa trên mạng (IDS/IPS) nguồn mở Kết hợp việc kiểm tra dấu hiệu, giaothức và dấu hiệu bất thường
Trang 17Snort được phát triển rộng trên thế giới với hàng triệu lượt download và Snort đã trởthành tiêu chuẩn của hệ thống phòng chống và phát hiện xâm nhập.
Chức năng chính của Snort: Packet sniffing, Packet logging, Network-based intrusiondetection
Hiện nay phiên bản mới nhất của Snort là Snort 3
Trang 182 Đặc điểm của Snort
Ở chế độ NIDS, các gói tin mà đi vào và vượt qua packet sniffer thì dữ liệu sẽ đượcgửi thông qua bất kỳ preprocessor nào được cấu hình trong snort.conf Các gói tin phùhợp sẽ được gửi đến thành phần cảnh báo và ghi lại (alert and logging) vượt qua bất kỳoutput plug-in đã được chọn, sau đó nó sẽ được ghi lại (log) hoặc cảnh báo tùy theocấu hình
Snort có 4 chế độ hoạt động: Sniffer mode, Packet Logger mode, network instructiondetection system (NIDS), Inline mode
Sniffer mode: ở chế độ này snort sẽ lắng nghe và đọc các gói tin trên mạng sau
đó sẽ trình bày kết quả trên giao diện hiển thị
Packet Logger mode: lưu trữ các gói tin trong các tập tin log
Network instruction detect system (NIDS): đây là chế dộ họat động mạnh mẽ vàđược áp dụng nhiều nhất, khi họat động ở NIDS mode Snort sẽ phân tích cácgói tin luân chuyển trên mạng và so sánh với các thông tin được định nghĩa củangười dùng để từ đó có những hành động tương ứng như thông báo cho quản trịmạng khi xảy ra tình huống quét lỗi do các hacker /attacker tiến hành hay cảnhbáo virus
Trang 19 Inline mode: khi triển khai snort trên linux thì chúng ta có thể cấu hình snort đểphân tích các gói tin từ iptables thay vì libpcap do đó iptable có thể drop hoặcpass các gói tin theo snort rule.
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
3.1 Module giải mã gói tin:
Module giải mã gói tin bắt mọi gói tin trên mạng lưu thông qua hệ thống 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 đượcgiải mã sẽ được đưa tiếp vào module tiền xử lý
Trang 20Packet Decoder có thể tạo ra những cảnh báo dựa trên sự phát hiện những giao thứckhác lạ, những gói tin quá dài, những tùy chọn TCP lạ hoặc những hành động khác
3.2 Module tiền xử lý:
- Bộ phận này đóng vai trò khá quan trọng, thực hiện 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óitoà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 Agent 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ựatrê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
Phát hiện các xâm nhập bất thường (nonrule/anormal): xử lý 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
3.3 Module phát hiện:
Trang 21Là quan trọng nhất trong 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 thuthập được, từ đó xác định xem có xâm nhập xảy ra hay không
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ộtIDS 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ưulượ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êntừ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
Snort chỉ tạo ra 1 thông báo khi so sánh đầu tiên thành công, trong khi IDS tạo tất cảcác cảnh báo tương ứng với các so sánh mà nó thành công Nếu có nhiều quá trình sosánh đồng thời 1 sự kiện thì Snort đã có hệ thống hai pha cho phép bật hệ thống đa lựachọn
Tổng quát thì luật cảnh báo sinh ra trước luật pass (cho qua), thứ tự ưu tiên của chúngcũng sẽ có hiệu quả trong 1 số trường hợp Từ khoá PRCE dùng trong tập lệnh là 1 đặctính mạnh trong những phiên bản gần đây của Snort, cho phép chúng ta dùng chung(kết hợp) dữ liệu với các đặc tính của Perl trong những payload của gói tin
3.4 Module log và cảnh báo:
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ó
Trang 22– Cơ sở dữ liệu các địa chỉ IP, tên miền độc hại, các dấu hiệu mất ATTT do người pháttriển tự định nghĩa
– Cơ sở dữ liệu dấu hiệu đặc biệt về những cuộc tấn công (smurf attack, bufferoverfollow, paket sniffers, …)
3.5 Module kết xuất thông tin
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
Tạo file log XML
Cấu hình lại Router, firewall
* Ưu điểm của Snort
Có thể lưu các tập tin log ở sau khi sniffer gói tin xuống cở sở dữ liệu nhưMySQL hoặc PostgreSQL
Có thể hiện thị ở dạng ASCII theo từng địa chỉ IP riêng, dễ dàng phân tích
Ngoài ra còn có thể lưu trữ dưới dạng tập tin nhị phân theo định dạng củatcpdump
III LUẬT TRONG SNORT
Tương tự như luật pháp và quy định ở thế giới thực, Snort cũng có “pháp luật”, baogồm mô tả trạng thái cũng như hành động sẽ xảy ra nếu trạng thái là đúng Điểm nổibật của Snort chính là việc cho phép người dùng có thể tự viết ra luật riêng của mìnhhoặc tùy ý thay đổi những luật có sẵn để phù hợp với nhu cầu và hệ thống mạng củabản thân
Không cần phụ thuộc vào nhà cung cấp hay một cơ quan nào, người quản trị có thể tựphát triển các luật có trong hệ thống của mình khi có những cuộc tấn công mới Việc
Trang 23làm này giúp quản trị viên có thể tùy biến và cập nhật nhanh chóng khi hệ thống có sựbất thường.
Một luật của Snort được chia thành 2 phần: header và options
1) Header: chứa các thông tin xác định ai, ở đâu, cái gì của gói tin và phải làm gìnếu các thuộc tính trong luật được xuất hiện Bao gồm:
Một Header sẽ gồm:
+ Action là phần quy định loại hành động nào được thực thi Thông thường các hànhđộng rạo ra một cảnh báo hoặc ghi lại thông điệp hay kích hoạt một luật khác Gồmcác hành động:
o Alert: cảnh báo khi phát hiện xâm nhập
o Log: ghi lại các gói tin
o Pass: cho phép Snort bỏ qua gói tin
o Active: cảnh báo và bật Dynamic rule để kiểm tra điều kiện gói tin
o Dynamic: được bật bởi luật khác có hành động là Active
Trang 24o Sdrop: chặn nhưng không ghi lại gói tin.
+ Protocol giao thức cụ thể như: TCP, UDP, ICMP, IP
+ Ip address địa chỉ nguồn và địa chỉ đích dùng để kiểm tra nơi đi và đến của 1 gói tin(định nghĩ bằng từ khóa “any”) Phân biệt địa chỉ nguồn và địa chỉ đích bằng “→” + Port xác định các cổng nguồn, cổng đích của một gói tin: từ khóa “any” giống với Ipaddress được sử dụng cho bất kì port nào Port chỉ áp dụng cho 2 giao thức là TCP vàUDP
+ Direction (→) phần này sẽ chỉ ra địa chỉ nguồn và địa chỉ đích: chỉ ra đâu là nguồn,đâu là đích, phần bên trái mũi tên được xem là nguồn, phần bên phải được xem là đích.Ngoài ra “<>” là ký hiệu cho nguồn và đích là như nhau, sẽ phân tích cả hai
2) Options: là trung tâm của việc phát hiện xâm nhập, chứa các dấu hiệu để xácđịnh một cuộc xâm nhập Nằm sau Rule Header, được ngăn cách bởi “()” CácRule Options cách nhau bởi “;” đối số được cách bằng “:” Bao gồm: các thôngđiệp cảnh báo, thông tin các phần của gói tin được kiểm tra để xác định hành độngnào được thực hiện
+ General: cung cấp thông tin về luật nhưng không có ảnh hưởng trong quá trình.Gồm:
Msg: để gán văn bản vào Log rule để cảnh báo
Reference: để tham chiếu thông tin từ hệ thống khác
Sid: xác định duy nhất một luật trong Snort Từ khóa “rev”
Rev: định danh các luật được sửa đổi trong Snort
Classtype: phân loại các hình thức tấn công và độ ưu tiên của chúng Đượcđịnh nghĩa trong tập tin “classfication.config”
Priority: gán mức độ nghiêm trọng của một quy tắc
+ Payload: tùy chọn liên quan tới phần tải trong gói tin Gồm: