Đăng ký Đăng nhập
Trang chủ Xây dựng hệ thống cảnh báo trong môi trường IoT...

Tài liệu Xây dựng hệ thống cảnh báo trong môi trường IoT

.PDF
49
111
53

Mô tả:

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 -

Tài liệu liên quan

Tài liệu vừa đăng