1
TRƯỜNG ĐẠI HỌC LẠC HỒNG
KHOA CÔNG NGHỆ THÔNG TIN
-----
----
BÁO CÁO
NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG CẢNH BÁO
TRONG MÔI TRƯỜNG IoT.
LÊ MINH HẬU
BIÊN HÒA, THÁNG 11/2018
2
TRƯỜNG ĐẠI HỌC LẠC HỒNG
KHOA CÔNG NGHỆ THÔNG TIN
----- -----
BÁO CÁO
NGHIÊN CỨU KHOA HỌC
ĐỀ
TÀI:
THỐNG CẢNH BÁO
XÂY DỰNG HỆ
TRONG MÔI
TRƯỜNG IoT.
Sinh viên thực hiện: LÊ MINH HẬU
Giáo viên hướng dẫn: Th.S Nguyễn Minh Sơn
BIÊN HÒA, THÁNG 11/2018
i
LỜI CẢM ƠN
Em xin cám ơn các giảng viên trường Đại Học Lạc Hồng, các thầy cô khoa
Công Nghệ Thông Tin đã giảng dạy và hướng dẫn chúng em trong suốt thời gian
chúng em theo học tại trường.
Em xin cảm ơn ThS. Nguyễn Minh Sơn, là giáo viên hướng dẫn em hoàn
thành đề tài nghiên cứu khoa học này.
Em xin cám ơn các thầy, các cô trong khoa Công Nghệ Thông Tin đã có
những ý kiến đóng góp trong các buổi báo cáo tiến độ.
Ngoài ra em xin cám ơn thầy Nguyễn Vũ Duy Quang, là giáo viên chủ nhiệm
và là giáo viên phản biện, các bạn trong lớp cùng toàn thể gia đình và người thân
đã giúp đỡ, động viên chúng em trong quá trình thực hiện đề tài này.
Với vốn kiến thức còn hạn chế cùng những điều kiện khách quan không cho
phép, đề tài của em khó tránh khỏi những thiếu sót cũng như chưa đáp ứng đầy đủ
các yêu cầu. Do đó em hy vọng tiếp tục nhận được những ý kiến đóng góp và
hướng dẫn của quý thầy cô để đề tài của em được hoàn thiện hơn.
Em xin chân thành cảm ơn.
Biên Hòa, tháng 11 năm 2018
Sinh viên thực hiện
Lê Minh Hậu
ii
BẢNG KÝ HIỆU VIẾT TẮT
Từ viết tắt
IDS
IPS
VPN
DMZ
Nghĩa tiếng Anh
Intrusion Detection System
Intrusion Prevention
Systems
Virtual Private Network
Demilitarized Zone
HIDS
Host Intrusion Detection
System
NIDS
Network Intrusion
Detection System
Host-based Intrusion
Prevention
Network-based Intrusion
Prevention
Distributed Denial of
Service
File Transfer Protocol
Point-to-Point Protocol
Transmission Control
Protocol
User Datagram Protocol
Domain Name System
Simple Network
Management Protocol
Internet Protocol
Internet Control Message
Protocol
Secure Shell
Internet of Thing
HIPS
NIPS
DDOS
FTP
PPP
TCP
UDP
DNS
SNMP
IP
ICMP
SSH
IOT
iii
MỤC LỤC
LỜI CẢM ƠN .......................................................................................................... i
BẢNG KÝ HIỆU VIẾT TẮT .................................................................................ii
MỤC LỤC ............................................................................................................. iii
DANH MỤC BẢNG ............................................................................................... v
DANH MỤC HÌNH ................................................................................................ v
PHẦN MỞ ĐẦU ..................................................................................................... 1
1. Lý do chọn đề tài ............................................................................................... 1
2. Tình hình nghiên cứu ......................................................................................... 1
3. Mục tiêu nghiên cứu .......................................................................................... 2
4. Đối tượng nghiên cứu ........................................................................................ 2
5. Phương pháp nghiên cứu ................................................................................... 2
Chương 1 : TỔNG QUAN ĐỀ TÀI ........................................................................ 3
1.1. Tình hình chung........................................................................................... 3
1.2. Kiến trúc trong môi trường IoT ................................................................... 3
Application layer ............................................................................................ 3
Network layer ................................................................................................. 3
Support layer .................................................................................................. 3
Perceptual layer .............................................................................................. 3
1.3. Tổng quan về IDS........................................................................................ 4
1.3.1. Định nghĩa ............................................................................................ 4
1.3.2. Các yếu tố về một hệ thống IDS. ......................................................... 4
1.4. Phân loại IDS/IPS ........................................................................................ 5
1.4.1.1. Host based - HIDS/HIPS ............................................................. 5
1.4.1.2. Network based – NIDS/NIPS ...................................................... 5
1.5. Sự khác nhau giữa IDS và IPS .................................................................... 6
1.6. Một số sản phẩm của IDS/IPS ..................................................................... 6
Chương 2 : TỔNG QUÁT VỀ CÔNG CỤ SNORT ............................................... 8
2.1. Giới thiệu về snort ....................................................................................... 8
2.2. Kiến trúc của Snort ...................................................................................... 8
2.2.1. Packet Decoder .................................................................................... 9
2.2.2. Preprocessors ....................................................................................... 9
2.2.3. Detection Engine ................................................................................ 10
2.2.4. Logging and Alerting System ............................................................ 11
2.2.5. Output Module ................................................................................... 11
iv
2.2.6. Chế độ thực thi của Snort ................................................................... 12
2.2.6.1. Sniff mode.................................................................................. 12
2.2.6.2. Packet logger mode .................................................................... 12
2.2.6.3. NIDS mode ................................................................................ 13
2.3. Cơ chế hoạt động của hệ thống IDS/IPS ................................................... 13
2.4. Bộ luật của snort ........................................................................................ 13
2.4.1. Giới thiệu ........................................................................................... 13
2.4.2. Cấu trúc luật của Snort ....................................................................... 14
2.4.2.1. Phần Header ............................................................................... 16
2.4.2.2. Các tùy chọn Rule Option .......................................................... 18
2.5. Tổng quan về Iptables ............................................................................... 25
2.5.1. Giới thiệu Iptables .............................................................................. 25
2.5.2. Cơ chế xử lý gói tin trong iptables ..................................................... 25
2.5.3. Target của Iptables ............................................................................. 25
2.6. Chế độ phòng chống của Snort ................................................................. 26
2.6.1. Snort Inline ......................................................................................... 26
2.6.2. Bổ sung cho cấu trúc Rules trong Snort chạy Inline mode ................ 27
2.7. Tiểu kết ...................................................................................................... 28
Chương 3 : TRIỂN KHAI HỆ THỐNG PHÁT HIỆN XÂM NHẬP ................... 29
3.1. Sơ đồ triển khai ......................................................................................... 29
3.1.1. Mô hình .............................................................................................. 29
3.1.2. Thiết bị ............................................................................................... 30
3.1.3. Các công cụ cần thiết. ........................................................................ 30
3.1.3.1. Snort ........................................................................................... 31
3.1.3.2. BASE ......................................................................................... 32
3.1.3.1. MQTT ........................................................................................ 33
3.1.3.2. Ntop-NG .................................................................................... 33
3.1.3.3. Mysql ......................................................................................... 34
3.2. Đánh giá và nhận xét ................................................................................. 34
Chương 4 : THỬ NGHIỆM PHÒNG CHỐNG TẤN CÔNG BẰNG SNORT .... 35
4.1. Mô Hình .................................................................................................... 35
4.2. Các phương thức tấn công ......................................................................... 35
4.2.1. Attack ping of death (DOS). .............................................................. 35
4.2.2. Attack Syn Flood ............................................................................... 35
4.2.3. Attack Zero Day ................................................................................. 35
v
4.2.4. Attack ARP Spoofing ........................................................................ 36
4.3. Thử nghiệm phòng chống tấn công của snort ........................................... 37
4.3.1. Attack ping of death (DOS). .............................................................. 37
4.3.2. Attack Syn Flood ............................................................................... 38
4.4. Tiểu kết ...................................................................................................... 39
Chương 5 : TỔNG KẾT ........................................................................................ 40
TÀI LIỆU THAM KHẢO ............................................................................................... 41
DANH MỤC BẢNG
Bảng 2-1 Các cờ sử dụng với từ khóa flags ............................................ 23
Bảng 2-2 Các thông số chuyển mạch ...................................................... 25
Bảng 2-3 Các Targets của Iptables ......................................................... 26
DANH MỤC HÌNH
Hình 1-1 Mô hình hệ thống NIDS/NIPS........................................................5
Hình 1-2 Sản phẩm của IDS của Cisco ..........................................................7
Hình 1-3 IDS Software Suricata ....................................................................7
Hình 1-4 IDS Software Snort .........................................................................7
Hình 2-1 Kiến trúc hệ thống của Snort ..........................................................9
Hình 2-2 Quy trình xử lý một gói tin .............................................................9
Hình 2-3 Mô hình Logging ..........................................................................11
Hình 2-4 Cấu trúc rules của Snort ................................................................14
Hình 3-1 Mô hình áp dụng ...........................................................................29
Hình 3-2 Thiết bị Ras3 .................................................................................30
Hình 3-3 Chạy Snort ....................................................................................31
Hình 3-4 Thêm các rules tự khởi tạo ..........................................................31
Hình 3-5 Giao diện Base ..............................................................................32
Hình 3-6 Quản lý Alert ................................................................................32
Hình 3-7 Khởi chạy MQTT .........................................................................33
Hình 3-8 Giao diện làm việc Ntop-Ng .........................................................33
vi
Hình 3-9 Các dữ liệu của alert được lưu lại .................................................34
Hình 4-1 Mô hình áp dụng ...........................................................................35
Hình 4-2 ARP Cache....................................................................................36
Hình 4-3 Rule phát hiện tấn công ................................................................37
Hình 4-4 Kết quả thử nghiệm phát hiện .......................................................37
Hình 4-5 Rules ngăn chặn ............................................................................37
Hình 4-6 Kết quả chặn Dos ..........................................................................38
Hình 4-7 Kết quả sau khi bị chặn của máy tấn công ...................................38
Hình 4-8 Rule chặn Syn Attack ...................................................................38
Hình 4-9 Kết quả chặn Syn Attack ..............................................................38
1
PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Theo cục An toàn thông tin - Bộ TT&TT ở nước ta đã đánh giá, hiện có khá
nhiều doanh nghiệp viễn thông, CNTT tham gia sản xuất thiết bị IoT. Tuy nhiên,
trên thị trường Việt Nam cũng như thế giới có nhiều thiết bị trôi nổi không đảm
bảo an toàn thông tin, các lỗ hổng bị khai thác và tấn công. Có tới 70% thiết bị IoT
có nguy cơ bị tấn công mạng đến máy chủ của họ.
Việt Nam là một trong những quốc gia đang phát triển và ở nước ta thì những
năm gần đây thì các thiết bị IoT được áp dụng rất nhiều trên nhiều lĩnh vực. Hơn
36% các doanh nghiệp trong nước ta đã và đang triển khai mô hình này. Đây là
một con số rất lớn, và với số mật độ triển khai lớn như vậy thì bài toán về việc theo
dõi và phòng chống cho hệ thống IoT cũng là một vấn đề đáng quan tâm.
Vì thế tác giả thực hiện báo cáo này hướng tới việc giám giát máy chủ trung
tâm điều khiển các thiết bị Iot, biết được các đặc trưng cơ bản của một hệ thống
IDS và có thể áp dụng vào thực tiễn. Giúp người dùng có thể biết được những
phiên làm việc từ thiết bị nào.
2. Tình hình nghiên cứu
Theo Itcnew.vn trong buổi tọa đàm trực tuyến chủ đề “Bảo mật IoT tại Việt
Nam: Thách thức và giải pháp” chiều ngày 17/10/2018 có ông Nguyễn Hoài Nam,
đại diện Cục An toàn thông tin (Bộ TT&TT) đã nói:” Nguy cơ mất an ninh, an
toàn thông tin đối với các doanh nghiệp cũng giống như nguy cơ đối với việc tin
tặc khai thác máy chủ, thiết bị mạng hay máy tính cá nhân. Tuy nhiên có một điểm
nghiêm trọng hơn đối với các nhóm thiết bị trên là các lỗ hổng của thiết bị IoT
thường được cập nhật tương đối chậm, cách thức để cập nhật bản vá lỗ hổng trong
một số trường hợp là phức tạp hơn so với việc cập nhật của máy chủ và máy tính
cá nhân. Vì lý do này, ngay cả khi doanh nghiệp đã được thông báo về các lỗ hổng
của thiết bị IoT đang sử dụng thì việc khắc phục sẽ tương đối mất nhiều thời gian,
có thể tính thời gian bằng tháng. Đối với các thiết bị IoT, có 2 vấn đề chính về bảo
mật: Một là liên quan đến mức độ an toàn của sản phẩm khi xuất xưởng. Điều này
phụ thuộc hoàn toàn vào nhà sản xuất. Trong trường hợp sản phẩm không có nguồn
gốc rõ ràng thì nhiều thiết bị có thể bị cài đặt backdoor/module thu thập dữ liệu
người dùng. Hai là do việc bảo mật từ phía người dùng, do việc đặt mật khẩu, cấu
hình không an toàn. Đối với trường hợp camera giám sát an ninh của doanh nghiệp,
sẽ có 2 nguyên nhân: một là do nhà cung cấp đã chủ động cài đặt mã độc, hoặc do
hacker đã khai thác lỗ hổng để tấn công vào thiết bị, cài đặt mã độc.
Trong buổi tọa đàm có nhắc đến những năm gần đây có trên 90% các hệ
thống IDS được áp dụng bởi các tổ chức doanh nghiệp và riêng đối với lĩnh vực
IoT thì các năm trở lại đây được các sinh viên ở các trường đại học trong và ngoài
nước thường tìm tới một giải pháp bảo mật IDS mềm như Snort vì một phần là đây
là một open source và có khả năng tùy biến và yêu cầu phần cứng không quá cao.
2
Không chỉ trong nước ta mà ở các trường đại học nước ngoài khác hiện tại
Snort đang được đại đa số các sinh viên thực tập trong các trường đại học đang
nghiên cứu và phát triển theo mục đích riêng, cộng đồng người sử dụng và nghiên
cứu Snort rất nhiều trên một diễn đàn công nghệ hiện tại có hơn 26 000 thành viên
đang sử dụng và quan tâm đến công cụ và vấn đề này.
3. Mục tiêu nghiên cứu
Đề tài thực hiện với các mục tiêu:
Xây dựng được hệ thống phát hiện, cảnh báo các hành vi truy cập vào Server
điểu khiển trong hệ thống IoT.
Lưu trữ thông tin Attack vào Mysql và hiển thị.
4. Đối tượng nghiên cứu
Các dịch vụ của snort và cách hoạt động, cấu hình.
Các giao thức và các gói tin.
Hệ thống phát hiện và ngăn chặn, Snort Inline
5. Phương pháp nghiên cứu
Tìm hiểu về IDS.
Tìm hiểu về Snort
Tìm hiểu về các giao thức điều khiển trong hệ thống IoT.
Tìm hiểu về các gói tin và các port của hệ thống IoT.
Tổng hợp các phương pháp tấn công và dấu hiệu.
Triển khai hệ thống trên Snort.
3
Chương 1 : TỔNG QUAN ĐỀ TÀI
Ở chương này tác giả sẽ nói sơ lược về đề tài nghiên cứu các định nghĩa về lý thuyết,
cũng như các khái niệm chung cho hệ thống IDS.
1.1. Tình hình chung
Các doanh nghiệp và các quốc gia trên thế giới đang được trang bị rất nhiều những
thiết bị kết nối Iot, với mong muốn tạo ra nhiều tiện nghi trong cuộc sống cho con người.
Theo dự đoán số lượng thiết bị trong môi trường IoT sẽ tăng đến con số 20,4 tỷ vào năm
2020, và các doanh nghiệp sẽ tiêu tốn khoảng 134 tỷ USD/năm để đầu tư vào việc bảo
mật cho môi trường này.
Với việc càng nhiều thiết bị trong môi trường IoT thì khả năng lỗi càng nhiều. Cơ
chế bảo mật của chúng vẫn chưa thể cải thiện và số lượng mối đe dọa thì vẫn đang tăng
không ngừng, vì thế việc phát hiện và phòng chống tấn công cho môi trường này là rất
cần thiết.
1.2. Kiến trúc trong môi trường IoT
Theo bài báo số [1] Một mô hình kiến trúc của IoT có thể chia làm 4 lớp:
Application layer
Ở lớp này cung cấp các dịch vụ cá nhân hoá theo nhu cầu của người sử dụng.
Network layer
Ở lớp Network có nhiệm truyền tải thông tin được dựa trên một số mạng cơ bản,
đó là mạng Internet, mạng truyền thông di động, mạng lưới truyền hình vệ tinh,
mạng không dây, cơ sở hạ tầng mạng và các giao thức truyền thông. Đây là lớp được
hacker chú ý và tấn công nhiều nhất. Một số phương thức tấn công mạng phổ biến
vào hệ thống IoT như: Denial of Service (Từ chối dịch vụ), Tấn công Man-in-themiddle và giả mạo thông tin, Active Wiretap gói tin bị thay đổi địa chỉ Ip hoặc bị
sao chép, Ddos Tắc nghẽn mạng do gửi lưu lượng lớn dữ liệu cũng dễ xảy ra…
Support layer
Lớp này thiết lập một nền tảng hỗ trợ cho lớp ứng dụng. Đóng vai trò kết hợp
lớp ứng dụng phía trên và lớp mạng phía dưới.
Perceptual layer
Thu thập tất cả các loại thông tin thông qua các thiết bị vật lý (cảm biến, đầu
đọc RFID, GPS…) và nhận diện thế giới vật chất.
Qua kiến trúc trên cho thấy ở lớp Network là lớp ẩn chứa nhiều nguy cơ bị tấn công
và phá hoại thông tin vì có rất nhiều kiểu tấn công mạng trong lớp này.
Sau khi tham khảo một số bài báo như: Raspberry Pi IDS A Fruitful Intrusion
Detection System for IoT [1], [2] A study of Centralized Network Intrusion
Detection System using low end single board computers…
Họ đã áp dụng IDS vào môi trường IoT của họ cụ thể hơn là Snort được thiết lập
trên Ras của họ. Vì thế các hệ thống IDS ở bài báo cáo này tác giả sẽ sử dụng một
giải pháp IDS mã nguồn mở tên là Snort để áp dụng vào môi trường IoT.
4
1.3. Tổng quan về IDS
Một nghiên cứu Cisco có tên “Ready, Steady, Unsure - Sẵn sàng, Ổn định,
Không chắc chắn”. Nói về quan điểm công nghệ liên quan đến sự sẵn sàng chuyển
đổi kỹ thuật của các nước Châu Á. Việt Nam là một trong những quốc gia đang
phát triển và ở nước ta thì những năm gần đây thì các thiết bị IoT được áp dụng rất
nhiều trên nhiều lĩnh vực. Hơn 36% các doanh nghiệp trong nước ta đã và đang
triển khai mô hình này. Đây là một con số rất lớn, và với số mật độ triển khai lớn
như vậy thì bài toán về việc giám sát và phòng chống cho hệ thống IoT cũng là
một vấn đề đáng quan tâm.
Vì thế một trong những giải pháp có thể đáp ứng phần nào là triển khai một
hệ thống giám sát và phòng chống xâm nhập IDS. Qua tìm hiểu thì Snort một công
cụ được Cisco mua lại có thể đáp ứng phần nào cho vấn đề này.
1.3.1. Định nghĩa
Hệ thống phát hiện xâm nhập (IDS) có nhiệm vụ theo dõi, phát hiện sự xâm
nhập, cũng như các hành vi xâm nhập trái phép tài nguyên của hệ thống được bảo
vệ mà có thể dẫn đến việc làm tổn hại đến việc bảo mật, tính toàn vẹn và tính sẵn
sàng của hệ thống.
Chức năng chính của hệ thống là cung cấp các thông tin nhận biết về những
hành vi không bình thường và đưa ra các thông tin cho các quản trị viên có thể cho
phép hoặc tìm cách chặn các hành vi này. Đồng thời những thông tin này cho phép
chúng ta có thể phân biệt được những cuộc tấn công đến từ một nguồn bên trong
hoặc bên ngoài.
1.3.2. Các yếu tố về một hệ thống IDS.
Trong một hệ thống IDS không thể thiếu những yếu tố sau :
Accuracy
• Phân biệt được đâu là hành vi bất
thường và hành vi thông thường
Performance
• Hệ thống phải đáp ứng đủ để phát
hiện các hành vi trong thời gian thực.
Completeness
• Không bỏ qua các hành vi xâm nhập
nào. Nhưng đây là điều kiện không
thể đáp ứng đủ vì các thông tin tấn
công ở tương lai thì không thể đoán
trước.
Scalability
• Khả năng mở rộng từ nhiều nguồn
thu nhập dữ liệu khác nhau.
5
1.4. Phân loại IDS/IPS
Cách cơ bản để phân loại các hệ thống IDS /IPS là dựa vào đặc điểm của
nguồn dữ liệu thu thập được. Trong trường hợp này, các hệ thống IDS được chia
thành các loại sau:
Host-based (HIDS/HIPS): 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. Chức năng chính là bảo vệ tài nguyên trên các máy chủ.
Network-based (NIDS/NIPS): Sử dụng dữ liệu trên toàn bộ lưu thông mạng, cùng
với 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. Đồng
thời có khả năng ngăn chặn và quản lý gói tin trước khi vào hệ thống.
Ở bài báo cáo tác giả sử dụng IDS ở chế độ Host-based. Vì hệ thống theo dõi đặt ở
server trung tâm điều khiển các thiết bị.
1.4.1.1. Host based - HIDS/HIPS
Host-based IDS tìm kiếm dấu hiệu của xâm nhập vào một host cục bộ,
thường sử dụng các cơ chế kiểm tra và phân tích các thông tin được logging. Nó
tìm kiếm các hoạt động bất thường như login, truy nhập file không thích hợp, bước
leo thang các đặc quyền không được chấp nhận. Kiến trúc của IDS này thường dựa
trên các luật (rule-based) để phân tích các hoạt động.
1.4.1.2. Network based – NIDS/NIPS
NIDS/NIPS thường bao gồm có hai thành phần logic:
• Bộ cảm biến – Sensor: đặt tại một đoạn mạng, kiểm soát các cuộc lưu
thông nghi ngờ trên đoạn mạng đó.
Hình 1-1 Mô hình hệ thống NIDS/NIPS
• Trạm quản lý: nhận các tín hiệu cảnh báo từ bộ cảm biến và thông báo cho
một điều hành viên.
6
Một NIDS/NIPS truyền thống với hai bộ cảm biến trên các đoạn mạng khác
nhau cùng giao tiếp với một trạm kiểm soát.
1.5. Sự khác nhau giữa IDS và IPS
Hệ thống IPS là trường hợp mở rộng của hệ thống IDS, cách thức hoạt động
và đặc điểm của 2 hệ thống này tương đương nhau. Điểm khác nhau là hệ thống
IPS ngoài khả năng theo dõi, giám sát thì còn có chức năng ngăn chặn kịp thời các
hoạt động nguy hại đối với hệ thống. Hệ thống IPS sử dụng tập luật tương tự như
hệ thống IDS.
Sự khác biệt giữa hai khái niệm ngay ở tên gọi: “phát hiện” và “ngăn chặn”.
Các hệ thống IDS được thiết kế với mục đích chủ yếu là phát hiện và cảnh báo các
nguy cơ xâm nhập đối với mạng máy tính nó đang bảo vệ, nhưng một hệ thống
IPS ngoài khả năng phát hiện còn có thể tự hành động chống lại các nguy cơ theo
các rule được cấu hình.
Nhưng, sự khác biệt này không thật sự rõ ràng. Một số hệ thống IDS được
thiết kế với khả năng ngăn chặn như một chức năng tùy chọn. Trong khi đó một
số hệ thống IPS lại không mang đầy đủ chức năng của một hệ thống phòng chống
theo đúng nghĩa.
Một câu hỏi là sẽ chọn giải pháp nào, IDS hay IPS? Câu trả lời sẽ phụ thuộc
vào quy mô, tính chất của từng mạng máy tính cụ thể cũng như chính sách an ninh
của người quản trị. Trong các mạng có quy mô nhỏ, với một server bảo mật, thì
giải pháp IPS thường được sử dụng nhiều hơn do tính chất kết hợp giữa phát hiện,
cảnh báo và ngăn chặn của nó. Tuy nhiên với các mạng lớn thì chức năng ngăn
chặn thường được giao phó cho một sản phẩm chuyên dụng như một firewall. Khi
đó, hệ thống cảnh báo sẽ chỉ cần quan sát, phát hiện và gửi các cảnh báo đến một
hệ thống ngăn chặn khác. Sự phân chia này làm cho việc đảm bảo an ninh cho
mạng trở nên linh động và hiệu quả hơn.
Ví dụ: Ở trong mô hình báo cáo thì tác giả chỉ áp dụng IDS vì chỉ là một mô
hình mạng nhỏ.
1.6. Một số sản phẩm của IDS/IPS
Có 2 dạng sản phẩm :
Dạng chuyên dụng (phần cứng):
• Cisco IDS-4235
Cisco IDS (còn được gọi là NetRanger) là một hệ thống NIDS/NIPS, có khả
năng theo dõi và giám sát toàn bộ lưu thông mạng và đối sánh từng gói tin để phát
hiện các dấu hiệu xâm nhập. Cisco IDS là một giải pháp riêng biệt, được Cisco
cung cấp và được đồng bộ phần cứng lẫn phần mềm trong một thiết bị chuyên
dụng của họ.
7
Hình 1-2 Sản phẩm của IDS của Cisco
Dạng software: Có rất nhiều các sản phẩm IDS mềm nhưng 2 công cụ nổi
bật được nhiều ưa dùng là Snort và Suricata.
Hình 1-3 IDS Software Suricata
Hình 1-4 IDS Software Snort
Với nhiều công cụ hỗ trợ như vậy thì lý do nào khiến tác giả chọn Snort làm nghiên
cứu. Ở Snort có rất nhiều báo cáo và cộng đồng hỗ trợ rất lớn trên thế giới. Ngoài ra,
khả năng tùy biến theo mục đích người dùng là một khả năng được tác giả và cộng đồng
người dùng rất thích ở công cụ này. Snort là một công cụ mã nguồn mở không cần bản
quyền nên được khá yêu thích. Đó là lý do khiến tác giả chọn Snort để thực hiện đề tài.
8
Chương 2 : TỔNG QUÁT VỀ CÔNG CỤ SNORT
Ở chương này tác giả sẽ nói tổng quát về các định nghĩa cũng như các khả
năng của công cụ Snort.
2.1. Giới thiệu về snort
Snort là một NIDS/NIPS là một sản phẩm mã nguồn mở, được Martin Roesh
phát triển vào năm 1998. Hiện tại, Snort được phát triển bởi Sourcefire, nơi mà
Roesch đang là người sáng lập và CTO, và được sở hữu bởi Cisco từ năm 2013.
Snort sử dụng các luật được lưu dưới dạng file text, người dùng có thể tự tăng
cường tính năng cho hệ thống Snort của mình bằng việc cài đặt hay viết thêm mới
các Rules. Cơ sở dữ liệu luật của Snort đã lên tới 2930 luật và được cập nhật thường
xuyên bởi một cộng đồng người sử dụ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.
Bên cạnh việc có thể hoạt động như một ứng dụng thu bắt gói tin thông
thường, Snort còn có thể được cấu hình để chạy như một NIDS/NIPS. 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.
Trong bài báo cáo Snort đóng vai trò chủ đạo của hệ thống. Snort được áp
dụng để cảnh báo trong hệ thống giám sát và phát hiện bất thường trong môi trường
IOT.
2.2. Kiến trúc của Snort
Snort bao gồm nhiều thành phần. Những thành phần này làm việc với nhau
để phát hiện các cách tấn công cụ thể và tạo ra các output. Các thành phần chính
đó là:
• Packet Decoder(giải mã các gói tin)
• Preprocessors (xử lý)
• Detection Engine (phát hiện)
• Logging and Alerting System (Log và cảnh báo)
• Output Module (Kết xuất)
Kiến trúc của Snort được mô tả trong hình sau:
9
Hình 2-1 Kiến trúc hệ thống của Snort
• Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt 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 được đưa vào Packet
Decoder. Tiếp theo gói tin sẽ được đưa vào Preprocessors, rồi Detection Engine.
Tại đây tùy theo việc có phát hiện được xâm nhập hay không mà gói tin có thể
được bỏ qua để lưu thông tiếp hoặc được đưa vào Logging và cảnh báo để xử lý.
Khi các thông tin được xác định Output Module sẽ thực hiện việc đưa cảnh báo ra
theo đúng định dạng mong muốn. Sau đây ta sẽ đi sâu vào chi tiết hơn về cơ chế
hoạt động và chức năng của từng thành phần. [3]
2.2.1. Packet Decoder
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:
Hình 2-2 Quy trình xử lý một gói tin
Một gói tin sau khi được giải mã sẽ được đưa tiếp vào Preprocssors. Hệ thống
này sẽ phân tích gói dữ liệu thô bắt được. [2]
2.2.2. Preprocessors
Preprocessors là một module rất quan trọng đối với bất kỳ một hệ thống IDS
nào để có thể chuẩn bị gói dữ liệu đưa và cho module Detection Engine. Ba nhiệm
vụ chính của các module loại này là:
10
Kết hợp lại các gói tin: Khi một lượng 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à phải thực hiện việc phân mảnh,
chia gói tin ban đầu 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 việc ghép nối lại để có được dữ liệu nguyên
dạng ban đầu, từ đó mới thực hiện được các công việc xử lý tiếp. Như ta đã
biết khi một phiên làm việc của hệ thống diễn ra, sẽ có rất nhiều gói tin được
trao đổi trong phiên đó.
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. [2]
2.2.3. Detection Engine
Đâ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. Rồi tiếp theo mới có thể thực hiện một số công việc như ghi log, tạo thông
báo và kết xuất thông tin.
Một vấn đề rất quan trọng trong module phát hiện là vấn đề thời gian xử lý
các gói tin: một IDS/IPS thường nhận được rất nhiều gói tin và bản thân nó cũng
có rất nhiều các luật xử lý. Có thể mất những khoảng thời gian khác nhau cho việc
xử lý các gói tin khác nhau. Và khi thông 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 được đúng lúc. Khả năng xử lý của module phát hiện
dựa trên một số yếu tố như: số lượng các luật, tốc độ của hệ thống đang chạy Snort,
tải trên mạng. Một số thử nghiệm cho biết, phiên bản hiện tại của Snort khi được
tối ưu hóa chạy trên hệ thống có nhiều bộ vi xử lý và cấu hình máy tính tương đối
mạnh thì có thể hoạt động tốt trên cả các mạng cỡ Giga.
Một module 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
11
Một vấn đề nữa trong Module phát hiện đó là việc xử lý thế nào khi một gói
tin bị phát hiện bởi nhiều luật. Do các luật trong Snort cũng được đánh thứ tự ưu
tiên, nên một 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 sẽ là cảnh báo ứng với luật có mức ưu tiên lớn nhất. [2]
2.2.4. Logging and Alerting System
Tùy thuộc vào việc 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 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.
[2]
Hình 2-3 Mô hình Logging
2.2.5. Output Module
Module này có thể thực hiện các thao tác khác nhau tùy theo việc bạn muốn
lưu kết quả xuất ra như thế nào. Tùy theo việc cấu hình hệ thống mà nó có thể thực
hiện các công việc như là:
• Ghi log file
• Ghi syslog: syslog và một chuẩn lưu trữ các file log được sử dụng rất nhiều
trên các hệ thống Unix, Linux.
• Ghi cảnh báo vào cơ sở dữ liệu.
• Tạo file log dạng xml: việc ghi log file dạng xml rất thuận tiện cho việc
trao đổi và chia sẻ dữ liệu.
• 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. Các
gói tin dạng SNMP này sẽ được gửi tới một SNMP server từ đó giúp cho việc quản
lý các cảnh báo và hệ thống IDS một cách tập trung và thuận tiện hơn.
• Gửi các thông điệp SMB (Server Message Block) tới các máy tính
Windows.
12
Nếu không hài lòng với các cách xuất thông tin như trên, ta có thể viết các
module kết xuất thông tin riêng tùy theo mục đích sử dụng.
Nếu không thích những cách output trên, ta có thể viết các output riêng.
2.2.6. Chế độ thực thi của Snort
2.2.6.1. Sniff mode
Ở mode này, Snort hoạt động như một chương trình phân tích gói tin thông
thường. Không sử dụng file cấu hình, các thông tin Snort sẽ thu được khi hoạt động
chế này:
- Date and time.
- Source IP address.
- Source port number.
- Destination IP address.
- Destination port.
- Transport layer protocol used in this packet.
- Time to live or TTL value in this packet.
- Type of service or TOS value.
- Packet ID
- Leght of IP header.
- IP payload.
- Don’t fragment or DF bit is set in IP header.
- Two TCP flags A and P are on.
- TCP window field.
- Acknowledgement number in TCP header.
- TCP header length.
2.2.6.2. Packet logger mode
Khi chạy mode này, Snort sẽ tập hợp tất cả các packet nó thấy và đưa vào log
theo cấu trúc tầng. Một thư mục mới sẽ được tạo ra ứng với mỗi địa chỉ nó bắt
được, Và dữ liệu sẽ phụ thuộc theo địa chỉ mà nó lưu trong thư mục đó. Snort đặt
các packet vào file ASCII, với tên liên quan đến giao thức và cổng. Sự sắp xếp này
dễ dàng nhận ra ai đang kết nối vào mạng mình và giao thức là gì, port nào đang
được sử dụng.
Tuy nhiên khi chạy mode này sẽ tạo ra rất nhiều thư mục trong giờ cao điểm
nên rất khó để xem hết tất cả các thư mục và file này. Log với dạng nhị phân
(binary) những gì Snort có thể đọc được nó làm tăng tốc độ và khả năng bắt gói
tin của Snort. Ta có thể chạy Snort ở chế độ NIDS với các rule để tìm ra các traffic.
- Xem thêm -