Đăng ký Đăng nhập
Trang chủ Xây dựng hệ thống giám sát và cảnh báo nguy cơ xâm nhập mạng tại trung tâm dữ li...

Tài liệu Xây dựng hệ thống giám sát và cảnh báo nguy cơ xâm nhập mạng tại trung tâm dữ liệu điện tử tỉnh quảng bình

.PDF
23
96
131

Mô tả:

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN VĨNH HUẾ XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO NGUY CƠ XÂM NHẬP MẠNG TẠI TRUNG TÂM DỮ LIỆU ĐIỆN TỬ TỈNH QUẢNG BÌNH Chuyên ngành: Khoa học máy tính Mã số: 8480101 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2018 Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: PGS.TS. NGUYỄN TẤN KHÔI Phản biện 1 : TS. ĐẶNG HOÀI PHƯƠNG Phản biện 2 : TS. ĐẬU MẠNH HOÀN Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ chuyên ngành khoa học máy tính họp tại Trường Đại học Bách khoa Đà Nẵng vào ngày 05 tháng 01 năm 2018 Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu và Truyền thông Trường Đại học Bách khoa Đại học Đà Nẵng - Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa Đại học Đà Nẵng. 1 MỞ ĐẦU 1. Tổng quan về đề tài Xã hội ngày càng phát triển, Internet trở thành một phần không thể thiếu đối với từng cá nhân, doanh nghiệp, các tổ chức, trường học. Internet đã trở thành công cụ, phương thức giúp cho các doanh nghiệp tiếp cận với khách hàng, cung cấp dịch vụ, quản lý dữ liệu của tổ chức một cách hiệu quả và nhanh chóng. Cùng với sự phát triển theo chiều hướng tốt, các cuộc tấn công và xâm nhập mạng của những kẻ xấu cũng phát triển theo. Không chỉ trên thế giới mà ở Việt Nam vấn đề “An toàn thông tin” đã và đang trở thành vấn đề nóng bỏng. Sự đa dạng và phức tạp trong các loại hình tấn công đã gây ra nhiều khó khăn cho việc ngăn chặn và phòng chống. Một hệ thống phòng chống và phát hiện xâm nhập sẽ giúp người quản trị có thể luôn luôn theo dõi và thu thập nhiều thông tin đáng giá cho quá trình chống lại các hình thức tấn công và xâm nhập đó. Hiện nay, các chương trình bảo mật, phòng chống virus, giám sát bảo vệ hệ thống đều có giá thành cao và được phát triển ở nước ngoài. Ngoài ra, các chương trình giám sát hầu hết được tích hợp trên các thiết bị phần cứng nên việc khai thác chức năng, hoặc người dùng tự phát triển mở rộng thêm chức năng của các chương trình này nhằm phục vụ cho công việc quản trị mạng bị hạn chế. Vì thế, nhu cầu có được một hệ thống hỗ trợ giám sát và bảo vệ hệ thống mạng trực quan nhằm giúp cho công việc quản trị mạng 2 được tập trung và đạt hiệu quả cao là rất cần thiết. Đó là lý do mà tôi chọn nghiên cứu và thực hiện đề tài: “Xây dựng hệ thống giám sát và cảnh báo nguy cơ xâm nhập mạng tại Trung tâm dữ liệu điện tử tỉnh Quảng Bình” 2. Mục tiêu đề tài Nghiên cứu chung về hệ thống phát hiện xâm nhập, các đặc điểm, kiến trúc của một hệ thống phát hiện xâm nhập, đặc biệt là các kỹ thuật phát hiện xâm nhập đang được áp dụng. Nghiên cứu về hệ thống phát hiện xâm nhập Snort, cách cài đặt, cấu hình, triển khai trong hệ thống mạng. Phân tích các dấu hiệu của các hình thức tấn công, hình thành nên các luật tương ứng với đặc điểm của các dạng tấn công và xâm nhập đó. 3. Phương pháp thực hiện Nghiên cứu về lý thuyết phát hiện xâm nhập thông qua các tài liệu các bài báo cáo. Nghiên cứu lý thuyết về Snort thông qua tài liệu từ trang chủ của Snort, tài liệu hướng dẫn cho người sử dụng từ Sourcefire và các nguồn tài liệu khác. Triển khai hệ thống trên máy ảo VMware Workstation, xây dựng hệ thống mạng đơn giản mô tả một hệ thống mạng nhỏ trong thực tế. Triển khai các dịch vụ như trong mô hình mạng cỡ nhỏ. Tìm hiểu về các phương thức xâm nhập, tấn công và khai thác lỗ hổng, công cụ và cách thức thực hiện. Triển khai tấn công, xâm nhập, khai thác lỗ hổng. Sau đó đọc log, phân tích gói tin bắt được, chuyển hóa thành các luật nhằm phát 3 hiện và ngăn chặn. 4. Cấu trúc của luận văn Ngoài phần mở đầu, kết luận và tài liệu tham khảo trong luận văn gồm có các chương dưới đây. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHƯƠNG 2: PHÂN TÍCH VÀ CÀI ĐẶT HỆ THỐNG CHƯƠNG 3: TRIỂN KHAI KẾT QUẢ ĐẠT ĐƯỢC . 4 NỘI DUNG CHƯƠNG 1. CƠ SỞ LÝ THUYẾT Chương 1 sẽ giới thiệu tổng quan về hệ thống phát hiện xâm nhập IDS, hệ thống Snort và ngôn ngữ lập trình C#. 1.1. Hệ thống phát hiện xâm nhập IDS 1.1.1. Giới thiệu Hệ thống phát hiện xâm nhập được xây dựng để bảo vệ các tài nguyên của hệ thống mạng trước những hacker không mong muốn. 1.1.2. Hệ thống phát hiện xâm nhập. Intrusion Detection Systems (IDS) có thể là một thiết bị phần cứng (các thiết bị phát hiện xâm nhập của Cisco (Cisco IDSM-2 hoặc Cisco IPS 4200 Series Sensors)) hoặc cũng có thể là một ứng dụng phần mềm giúp giám sát máy tính, hệ thống mạng trước các hành động đe dọa đến hệ thống hoặc vi phạm chính sách an ninh và báo cáo lại cho người quản trị hệ thống. 1.1.3. Cấu trúc bên trong của một IDS Mỗi IDS đều bao gồm các thành phần cơ bản sau: - Sensor (là một packet sniffer) - Preprocessors - Detection Engine - Output (Alerting System và Longging System) Mỗi thành phần này làm việc với nhau để phát hiện các tấn công cụ thể và tạo ra các output đã được quy định trước. 5 1.1.4. Đặt IDS trong hệ thống mạng Hình 1: Một số vị trí đặt IDS trong hệ thống mạng 1.2. Hệ thống Snort 1.2.1. Giới thiệu Snort là một số hệ thống phát hiện xâm nhập hàng đầu bằng phần mềm. Snort là một sản phẩm IDS Open source của công ty SourceFire, họat động dựa trên một tập luật linh họat, thông qua phân tích các protocol, tìm kiếm nội dung và các bộ tiền xử lý (preprocessor) để phát hiện ra hàng ngàn lọai sâu (worm), các kiểu tấn công, quét cổng và những hành động đáng ngờ khác trên mạng. 1.2.2. Luật trong Snort. Một luật trong Snort được chia thành hai phần đó là phần header và options. Phần header bao gồm: rule action, protocol, địa chỉ ip nguồn, địa chỉ ip đích, subnetmask, port nguồn, port đích. Phần options bao gồm các thông điệp cảnh báo, thông tin các phần của gói 6 tin sẽ được kiểm tra để xác định xem hành động nào sẽ được áp dụng. Rules được hình thành từ 02 thành phần chính là rules header và rules options. Ví dụ: 1.3. Ngôn ngữ C# 1.3.1. Giới thiệu: C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), . . . trở nên rất dễ dàng. 1.3.2. Đặc trưng của ngôn ngữ C# 1.3.2. Các loại ứng dụng C# - Ứng dụng console - Ứng dụng Windows Form - Ứng dụng Web 1.4. Kết chương Chương này trình bày cơ sở lý thuyết về hệ thống phát hiện xâm nhập IDS, hệ thống Snort và ngôn ngữ C# để viết chương trình App-BASE, App-Rules hỗ trợ quản lí, giám sát Snort. 7 CHƯƠNG 2. PHÂN TÍCH VÀ CÀI ĐẶT HỆ THỐNG Chương 2 trình bày về phương pháp tấn công mạng, cách cài đặt và cấu hình Snort, cách xây dựng ứng dụng quản lý Snort. 2.1. Phân tích một số phương pháp tấn công Một cách tổng quát, một cuộc tấn công xâm nhập hệ thống mạng có thể chia thành năm giai đoạn: - Thăm dò (Reconnaissance) là giai đoạn tiền tấn công, trong đó hacker tìm kiếm và tập trung các thông tin về hệ thống cần tấn công. Kỹ thuật Footprint được sử dụng trong giai đoạn này. Trong kỹ thuật footprint hacker sẽ cố gắng tìm kiếm nhiều nhất các thông tin liên quan đến mục tiêu bao gồm các doanh nghiệp, tổ chức và cá nhân, từ đó hacker có thể xác định được sẽ tấn công và điểm yếu nào của hệ thống. Thông tin đạt được trong giai đoạn này liên quan đến tên miền (domain), dãy địa chỉ mạng, địa chỉ email sử dụng trong domain. Các công cụ thường dùng là whois (SmartWhois), nslookup, 1st email address spider - Quét mạng (Scanning): Trong giai đoạn này, hacker bắt đầu tìm kiếm lỗi có thể khai thác trên hệ thống mục tiêu. - Truy cập hệ thống (Gaining Access) là giai đoạn khai thác lỗi và truy cập vào hệ thống. - Duy trì sự có mặt trong hệ thống (Maintaining Access) giai đoạn này hacker thực hiện các mục đích xâm nhập như là khai thác dữ liệu, đánh cắp thông tin... - Xoá dấu vết (Covering Tracks) hacker cố gắng xoá đi các dấu vết để không bị phát hiện là đã xâm nhập hệ thống. 8 2.1.1. Scanning(Quét mạng) Scanning hay quét mạng là giai đoạn không thể thiếu trong quá trình tấn công vào một hệ thống của hacker. Kết quả đạt được trong giai đoạn này là hacker xác định được những máy nào đang hoạt động, các dịch vụ (sevices) đang chạy (running) và lắng nghe (listening), các cổng (port) đang mở, hệ điều hành đang chạy và các lỗi có thể khai thác trên hệ thống. 2.1.2. Tấn công ARP (ARP attack) ARP là giao thức giúp giải quyết sự bất đồng bộ giữa địa chỉ luận lý (IP) và địa chỉ vật lý (MAC). Trong hệ thống mạng, điều kiện tiên quyết để trao đổi thông tin giữa các máy tính là máy tính gửi phải biết địa chỉ của máy tính nhận. Nhưng địa chỉ IP (internet protocol) là địa chỉ luận lý ở lớp 3 của mô hình OSI, nên không giúp máy gửi xác định máy đích trong mạng LAN để có thể truyền dữ liệu khi xuống lớp 2, vì vậy mà ở lớp 2 phải cần địa chỉ MAC (Media Access Control) để phân biệt giữa các máy tính. 2.1.3. Sniffer Sniffer được hiểu đơn giản là một chương trình cố gắng nghe ngóng các lưu lượng thông tin trên một hệ thống mạng. Sniffer có thể được sử dụng như một công cụ để các nhà quản trị mạng theo dõi và bảo trì hệ thống mạng. 2.1.4. Tấn công từ chối dịch vụ (DoS attack) DoS attack là cách tấn công từ chối dịch vụ. Kiểu tấn công này nguy hiểm, với loại tấn công này , máy hacker chỉ cần kết nối Internet là đã có khả năng thực hiện việc tấn công được máy tính của nạn nhân. Thực chất của tấn công từ chối dịch vụ là hacker sẽ chiếm 9 dụng một lượng lớn tài nguyên trên server có thể là băng thông, bộ nhớ, cpu, đĩa cứng, làm cho server không thể nào đáp ứng các yêu cầu từ các máy client bình thường được. Hệ thống bị tấn công sẽ chạy chậm, bị treo hoặc có thể nhanh chóng bị ngừng hoạt động. 2.1.5. Tắt kết nối TCP (TCP Kill) TCP (Transmission Control Protocol) là giao thức truyền thông tin phổ biến và tin cậy trên mạng vì có biện pháp khắc phục lỗi các gói tin. TCP hoạt động dựa trên nguyên tắc “bắt tay ba bước”. Hình 2: Mô hình bắt tay 3 bước 2.1.6. SQL Injection SQL injection là một kĩ thuật tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các câu lệnh SQL bất hợp pháp. Công cụ dùng để tấn công là một trình duyệt web bất kì, chẳng hạn như Internet Explorer, Chrome… 10 2.2. Cài đặt và cấu hình Snort 2.2.1. Sơ đồ hệ thống Hình 3: Sơ đồ hệ thống 2.2.2. Cài đặt Snort 2.2.3. Cài đặt và cấu hình PHP 2.2.4. Cấu hình MySQL để chạy Snort 2.2.5. Cài đặt và cấu hình Barnyard2 2.2.6. Cài đặt và cấu hình BASE 2.2.7. Kiểm tra cài đặt 11 2.3. Xây dựng ứng dụng quản lí Snort 2.3.1. App-BASE : Quản lí dữ liệu Snort Việc xây dựng App-BASE bên cạnh Web-BASE giúp cho việc giám sát, theo dõi Snort được tổng quan, dễ dàng và thuận tiện hơn cho người giám sát. Hình 4: Giao diện App-BASE 2.3.2. AppRules : Quản lí Rules Snort 12 Việc cập nhật, thêm, xóa Rules của Snort phải tốn nhiều thao tác khởi động lại Snort và Barnyard2, do đó AppRules cho phép thổng hợp các Rules của hệ thống, cập nhật, chỉnh sửa Rules và thực hiện các thao tác để khởi động lại Snort nhanh chóng. Giao diện AppRules 2.4. Kết chương Chương này tập trung phân tích một số phương pháp tấn công phổ biến hiện nay. Bên cạnh đó, hướng dẫn cấu hình và cài đặt hệ thống Snort. 13 CHƯƠNG 3. TRIỂN KHAI KẾT QUẢ ĐẠT ĐƯỢC Trình bày về việc thực hiện cài đặt mô phỏng trực quan các phương pháp ở chương 1 và chương 2. Đề tài đã thực hiện được hầu hết các nội dung nghiên cứu đã đặt ra từ đầu là tìm hiểu nguyên tắc và thực nghiệm các phương pháp tấn công xâm nhập mạng phổ biến hiện nay để tìm ra các biện pháp phòng chống hiệu quả. Từ nền tảng là các nguyên tắc tấn công xâm nhập đã tìm hiểu được chúng tôi tiến hành xây dựng và triển khai hệ thống phát hiện xâm nhập dựa trên phần mềm mã nguồn mở Snort. Chúng tôi đã tiến hành khảo nghiệm khả năng phát hiện tấn công xâm nhập của hệ thống bằng các phương pháp tấn công khác nhau, các luật sẵn có và viết một số luật mới để cho hệ thống hoạt động phù hợp với từng kiểu tấn công cụ thể. Phần này sẽ trình bày một số kết quả khảo nghiệm thu được. 3.1. Quét cổng (port scan) Port scan là quá trình thu thập các thông tin về cổng dịch vụ được mở, phiên bản hệ điều hành, phiên bản các phần mềm trên máy chủ. Công cụ : Nmap 14 Hình port scan bằng Zenmap Hình đáp ứng của hệ thống với Port scan 15 3.2. Ping of Death ping -l 1000 192.168.1.100 -t Attacker gửi các gói tin ICMP có kích thước lớn tới máy chủ nhằm chiếm đường truyền và ngăn việc cung cấp dịch vụ của máy chủ. Luật Snort sẽ kiểm tra kích thước của các gói tin ICMP được gửi tới. alert icmp any any-> any any (msg: “ICMP ping of death”; itype:8; dsize>1024; sid:100001; rev:1;) Hình đáp ứng của hệ thống với Ping of Death 3.3. DDOS UDP Công cụ : UDP – Unicorn 16 DDOS UDP bằng UDP – Unicorn 17 Hình đáp ứng của hệ thống với DDOS UDP 3.4. SYN attack hping3 -I eth0 -a 192.168.1.200 -S 192.168.1.100 -p 80 -- flood Hacker gửi tràn ngập đến hệ thống đích các gói tin có cờ SYN nhưng đây là dữ liệu hợp lệ nên hệ thống đích đáp ứng lại bằng SYN/ACK. Các luật mặc định và các preprocessor có sẵn không phát hiện được tấn công. Ta cần viết luật cho Snort để nhận biết nếu trong một đơn vị thời gian mà số lượng các gói tin có cờ SYN đến hệ thống đích rất lớn thì phải cảnh báo là có SYN attack. Ví dụ : alert tcp any any -> any any (msg: “SYN attack”; flags:S; threshold: type threshold, track by_dst, count 1000, seconds 60; sid:100002; rev:1;) 18 3.5. SQL Injection Ta biết là các gói tin mà hacker gửi từ một client đến sever trong SQL Injection khi được phân tích bằng các công cụ phân tích protocol sẽ có chứ một số từ khoá như SELECT, UNION, INSERT... ta có thể viết luật cho snort để phát hiện ra kiểu tấn công này trong một số cách như ví dụ sau : alert tcp any any -> any any (msg: “SQL Injection detect”; content:”UNION”; flow: to_server; sid:100005; rev:1;) alert tcp any any -> any any (msg: “SQL Injection detect”; content:”SELECT”; flow: to_server; sid:100005; rev:1;) Từ một client nếu ta truy cập vào server mà trong gói tin có chưa các từ khóa như: union, select thì các rules trên của Snort sẽ bắt được.
- Xem thêm -

Tài liệu liên quan