Đồ Án HCMUTE: Phát Triển Phần Mềm Phân Tích Dữ Liệu và Phát Hiện Xâm Nhập Mạng

Khám phá đồ án HCMUTE về phần mềm phân tích dữ liệu và phát hiện xâm nhập mạng, ứng dụng công nghệ hiện đại trong bảo mật thông tin.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2019

80
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. PHẦN MỞ ĐẦU

1.1. Lý do chọn đề tài

1.2. Mục tiêu và đối tượng nghiên cứu

1.3. Mục tiêu và nhiệm vụ

1.4. Phương pháp nghiên cứu

1.5. Ý nghĩa khoa học và thực tiễn

2. PHẦN NỘI DUNG

2. TỔNG QUAN VỀ DỮ LIỆU VÀ MẠNG MÁY TÍNH

2.1. Các khái niệm liên quan

2.2. Mạng máy tính

2.3. Lưu lượng mạng

2.4. Dữ liệu mạng

2.5. Gói tin

2.6. Ý nghĩa việc phân tích dữ liệu mạng

2.7. Khái niệm Socket

2.8. Số hiệu cổng (Port Number) của socket

2.9. Phân loại socket

2.10. Module socket trong Python

3. TỔNG QUAN VỀ XÂM NHẬP MẠNG VÀ HỆ THỐNG IDS

3.1. Khái niệm xâm nhập mạng

3.2. Các phương pháp phát hiện xâm nhập mạng

3.2.1. Nhận biết dựa vào dấu hiệu (Signature-base)

3.2.2. Nhận biết dấu hiệu bất thường (Anomaly-base)

3.2.3. Phân tích trạng thái giao thức (Stateful protocol analysis)

3.3. Network Package Sniffing

3.4. Một số loại sniffing

3.5. Dấu hiệu và cách phát hiện một số tấn công mạng phổ biến

3.5.1. Ping of death

3.6. Hệ thống IDS

3.6.1. Kiến trúc của IDS

3.6.2. Phân loại hệ thống IDS

4. XÂY DỰNG PHẦN MỀM PHÂN TÍCH DỮ LIỆU VÀ PHÁT HIỆN XÂM NHẬP MẠNG

4.1. Kiến trúc phần mềm

4.2. Thiết kế thành phần

4.2.1. Sơ đồ thành phần hệ thống

4.2.2. Sơ đồ thành phần phân tích dữ liệu mạng (sniffAnaly_use)

4.2.3. Sơ đồ thành phần kiểm tra tấn công (check_use)

4.2.4. Sơ đồ thành phần thông báo (alert_use)

4.3. Thiết kế Package

4.3.1. Sơ đồ Package hệ thống

4.4. Thiết kế class và function

4.4.1. Các class của hệ thống

4.4.2. Các function của hệ thống

4.5. Thiết kế tuần tự

4.5.1. Sơ đồ tuần tự hệ thống

5. CHƯƠNG 4: THỰC NGHIỆM

5.1. Mô hình thực nghiệm

5.2. Kịch bản tấn công

5.3. Kết quả

5.3.1. Xmas tree scan

5.3.2. Ping of death

6. PHẦN KẾT LUẬN

6.1. Kết quả đạt được

6.2. Hướng phát triển trong tương lai

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Phân tích tổng quan về Phần mềm phân tích dữ liệu và phát hiện xâm nhập mạng HCMUTE

Đề tài tốt nghiệp này tập trung vào việc xây dựng phần mềm phân tích dữ liệu và phát hiện xâm nhập mạng. An ninh mạng HCMUTE là một yếu tố then chốt. Luận văn nghiên cứu các khía cạnh khác nhau của an ninh mạng đại học, bao gồm phát hiện xâm nhập mạng, phân tích lưu lượng mạng, và bảo mật thông tin HCMUTE. Mục tiêu chính là tạo ra một hệ thống có thể phát hiện mối đe dọa mạng hiệu quả, góp phần vào an toàn thông tin mạng của trường. Việc sử dụng ngôn ngữ lập trình Python và các module hỗ trợ cho phép thực hiện các chức năng như thu thập dữ liệu mạngphân tích log mạng. Phát hiện malware cũng được xem xét.

1.1. Phát hiện xâm nhập mạng và các giải pháp

Luận văn đề cập đến nhiều phương pháp phát hiện xâm nhập mạng, bao gồm cả IDS (Intrusion Detection System)IPS (Intrusion Prevention System). Phát hiện anomaly mạng là một trong những trọng tâm. Các giải pháp an ninh mạng được nghiên cứu để ứng dụng vào hệ thống. Ngăn chặn tấn công mạng được xem là mục tiêu cuối cùng. Nghiên cứu đề cập đến việc sử dụng phân tích lưu lượng mạng để tìm ra dấu hiệu bất thường. Các mô hình phát hiện xâm nhập được xây dựng và kiểm tra. Học máy trong an ninh mạng có tiềm năng được nghiên cứu thêm trong tương lai. Big Data Analytics trong an ninh mạng có thể được dùng để xử lý lượng lớn dữ liệu mạng.

1.2. Phần mềm giám sát mạng và phân tích dữ liệu lớn

Luận văn tập trung vào việc phát triển một phần mềm phân tích dữ liệu mạng. Dữ liệu lớn (Big Data) đóng vai trò quan trọng trong việc xử lý và phân tích thông tin mạng. Phần mềm SIEM (Security Information and Event Management) là một hướng tiếp cận có tiềm năng. Phân tích dữ liệu lưu lượng mạng được sử dụng để tìm ra các mẫu bất thường. Việc thu thập dữ liệu mạng hiệu quả là rất quan trọng. Phân tích an ninh mạng cần phải chính xác và kịp thời. Công nghệ an ninh mạng liên tục phát triển, luận văn này đóng góp vào việc ứng dụng công nghệ đó. An ninh mạng trường họcan ninh mạng đại học cũng là những vấn đề liên quan được đề cập đến trong luận văn.

1.3. An ninh mạng HCMUTE và ứng dụng thực tiễn

Luận văn có ý nghĩa thực tiễn cao đối với an ninh mạng HCMUTE. Kết quả nghiên cứu có thể được áp dụng trực tiếp vào hệ thống mạng của trường. Nghiên cứu an ninh mạng HCMUTE đóng góp vào việc bảo vệ hệ thống thông tin của trường. Đào tạo an ninh mạng HCMUTE có thể sử dụng luận văn này làm tài liệu tham khảo. Việc bảo mật thông tin HCMUTE được nâng cao nhờ vào hệ thống này. HCMUTE bảo mật là một trong những mục tiêu quan trọng. Ứng dụng của luận văn mang tính khả thi cao. Cổng mặc định một số dịch vụ mạng được mô tả chi tiết, bổ sung thêm hiểu biết cho việc bảo mật.

01/02/2025

Trích đoạn nội dung tài liệu

Chương 1. TỔNG QUAN VỀ DỮ LIỆU VÀ MẠNG MÁY TÍNH 1. Các khái niệm liên quan 1. Mạng máy tính Mạng máy tính là tập hợp các máy tính đơn lẻ được kết nối với nhau bằng các phương tiện truyền vật lý (Transmission Medium) và theo một kiến trúc mạng xác định (Network Architecture).

Mạng viễn thông cũng là mạng máy tính. Các node chuyển mạch là hệ thống máy tính được kết nối với nhau bằng các đường truyền dẫn và hoạt động truyền thông tuân theo các chuẩn mô hình tham chiếu OSI. Kiến trúc mạng gồm cấu trúc mạng (Topology) và giao thức mạng (Protocol). Topology là cấu trúc hình học của các thực thể mạng và giao thức mạng là tập các quy tắc chuẩn các thực thể hoạt động truyền thông phải tuân theo.

Lưu lượng mạng Lưu lượng truy cập trong mạng đề cập đến việc bổ sung dữ liệu di chuyển qua mạng tại một thời điểm nhất định. Dữ liệu mạng hầu hết được gói gọn trong các gói tin, cung cấp tải trong mạng. Lưu lượng mạng còn gọi là lưu lượng dữ liệu. Lưu lượng mạng là thành phần chính để đo lường và quản lý băng thông.

Hơn nữa, các cấu trúc liên kết khác nhau của mạng có thể được triển khai dựa trên lưu lượng mạng trong hệ thống. Dữ liệu mạng Dữ liệu hay còn gọi khác là cơ sở dữ liệu (CSDL) hay Database được hiểu theo định nghĩa kỹ thuật thì nó là một tập hợp thông tin có cấu trúc. Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như băng hay đĩa. Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu.

Đơn giản hơn, dữ liệu là những thông tin được máy tính lưu trữ và xử lý hoặc truy xuất theo yêu cầu của người dùng hoặc theo tiến trình hoạt động của máy tính. Dữ liệu trao đổi giữa các máy tính trên mạng gọi là dữ liệu mạng. Gói tin Khi truyền dữ liệu qua mạng, một file lớn sẽ được chia ra làm nhiều đoạn nhỏ, mỗi đoạn ngoài dữ liệu gốc còn được gắn các thông tin cơ bản để có thể dò đường đến đích và ghép lại thành file nguyên gốc sau này. Các đoạn nhỏ này gọi là gói tin.

Mỗi tầng có các giao thức và mỗi giao thức lại có cấu trúc gói tin khác nhau. Ý nghĩa việc phân tích dữ liệu mạng Phân tích chính xác dữ liệu mạng cung cấp cho các tổ chức những lợi ích sau:  Xác định các tắt nghẽn mạng: có thể có người dùng hoặc ứng dụng tiêu thụ băng thông lớn.  An ninh mạng: phân tích dữ liệu mạng có thể cung cấp các thông tin hưu ích cho việc phân tích các dấu hiệu bất thường từ đó có biện pháp phát hiện xâm nhập và tấn công mạng. Khái niệm Socket Socket là các endpoint của một kênh giao tiếp hai chiều.

Các lớp Socket được sử dụng để biểu diễn kết nối giữa client và server, được ràng buộc với một cổng (port – thể hiện là một con số cụ thể) để các tầng trong mô hình TCP/IP có thể định danh ứng dụng mà dữ liệu sẽ được gửi tới. Nó sử dụng để kết nối với một chương trình khác chạy trên một máy tính khác trên internet. Một máy khi hoạt động có thể có nhiều socket từ đó dẫn đến việc có thể nhiều chương trình cùng sử dụng internet cùng một lúc. 5 do an Hình 1.

1: Mô hình Socket 1. Số hiệu cổng (Port Number) của socket Để có thể thực hiện các cuộc giao tiếp, một trong hai quá trình phải công bố số hiệu cổng của socket mà mình sử dụng. Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống. Khi quá trình được gán một số hiệu cổng, nó có thể nhận dữ liệu gửi đến cổng này từ các quá trình khác.

Quá trình còn lại cũng được yêu cầu tạo ra một socket. Ngoài số hiệu cổng, hai bên giao tiếp còn phải biết địa chỉ IP của nhau. Địa chỉ IP giúp phân biệt các máy tính khác nhau trên mạng. Trong khi số hiệu cổng dùng để phân biệt các quá trình khác nhau trên cùng một máy tính.

2: Mô tả các cổng trong Socket 6 do an Trong hình trên, địa chỉ của quá trình B1 được xác định bằng hai thông tin: host B và Port B1. Số hiệu cổng gán cho Socket phải duy nhất trên phạm vi máy tính đó, có giá trị trong khoảng từ 0 đến 65535 (16 bit). Trong đó, các cổng từ 1 đến 1023 được gọi là là cổng hệ thống được dành riêng cho các quá trình của hệ thống. Các cổng mặc định của một số dịch vụ mạng thông dụng: Số hiệu cổng Quá trình hệ thống 7 Dịch vụ Echo 21 Dịch vụ FTP 23 Dịch vụ Telnet 25 Dịch vụ E-mail (SMTP) 80 Dịch vụ Web (HTTP) 110 Dịch vụ E-mail (POP) Bảng 1.

1 Cổng mặc định một số dịch vụ mạng 1. Phân loại socket Dựa theo chế độ giao tiếp, thường thì socket được chia làm hai loại chính: Stream socket và Datagram socket. Stream socket: Dựa trên giao thức TCP (Tranmission Control Protocol), việc truyền dữ liệu chỉ được thực hiện giữa 2 quá trình đã thiết lập kết nối. Do đó, hình thức này được gọi là socket hướng kết nối.

7 do an Hình 1. 3: Socket với TCP Ưu điểm: có thể dùng để liên lạc theo mô hình client và server. Nếu là mô hình client/server thì server lắng nghe và chấp nhận từ client. Giao thức này đảm bảo dữ liệu được truyền đến nơi một cách đáng tin cậy, đúng thứ tự nhờ vào cơ chế quản lý luồng lưu thông trên mạng và cơ chế chống tắc nghẽn.

Đồng thời mỗi thông điệp gửi phải có xác nhận trả về và các gói tin chuyển đi tuần tự. Hạn chế: có một đường kết nối (địa chỉ IP) giữa 2 tiến trình nên 1 trong 2 tiến trình kia phải đợi tiến trình còn lại yêu cầu kết nối. Datagram socket: Dựa trên giao thức UDP (User Datagram Protocol) việc truyền dữ liệu không yêu cầu có sự thiết lập kết nối giữa 2 quá trình. Do đó, hình thức này được gọi là socket không hướng kết nối.

8 do an Hình 1. 4: Socket với UDP Ưu điểm: do không yêu cầu thiết lập kết nối, không phải có những cơ chế phức tạp nên tốc độ giao thức khá nhanh, thuận tiện cho các ứng dụng truyền dữ liệu nhanh chư chat, game,. Hạn chế: ngược lại với giao thức TCP thì dữ liệu được truyền theo giao thức UDP không được tin cậy, có thể không đúng trình tự và lập lại. Module socket trong Python Trong khóa luận, nhóm em dùng module socket trong Python sẽ giúp thực hiện các kết nối client server để giao tiếp giữa các máy với nhau.

Và để có thể sử dụng được nó thì phải import module socket vào chưa trình. import socket tiếp theo khởi tạo đối tượng socket trong module này với cú pháp như sau: socket.socket(AddressFamily, SocketType, Protocol) Trong đó:  AddressFamily: là cách chúng ta thiết lập địa chỉ kết nối.  SocketType: là cách thiết lập giao thức cho socket. 9 do an  Protocol: tham số thiết lập loại giao thức, tham số này có thể không cầ thiết lập.

Mặc định sẽ bằng 0. Trong đề tài khóa luận, nhóm em cần bắt tất cả gói dữ liệu ở layer 2 (lớp liên kết dữ liệu – data link) có định dạng gói tin Frame Ethernet. Nên dùng câu lệnh: socket(socket.AF_PACKET, socket.SOCK_RAW, socket.ntohs(3)) Dưới đây là một vài phương thức hay được sử dụng trong đối tượng socket Phương thức Mô tả bind(address, port) Được dùng để lắng nghe đến địa chỉ address và port listen(backlog) Thiết lập mở kết nối trên server, với tham số truyền vào là số kết nối được phép (nhó nhất là 0 và lớn nhất là do cấu hình của server) accept Thiết lập chấp nhận một kết nối, và nó sẽ trả về một tuple gồm 2 thông số (conn, address) để chúng ta có thể gửi ngược về client connect(address) Thiết lập một kết nối từ client đến server recv(bufsize, flag) Nhận dữ liệu qua giao thức TCP send(byte, flag) Gửi dữ liệu thông qua giao thức TCP recvfrom(bufsize, Nhận dữ liệu thông qua giao thức UDP flag) sendto(byte, address) Gửi dữ liệu qua giao thức UDP close() Đóng một kết nối Bảng 1. 2: Một số phương thức dùng trong socket 1.

Khái niệm giao thức Giao thức giao tiếp hay còn gọi là giao thức truyền thông, giao thức liên mạng, giao thức tương tác, giao thức trao đổi thông tin – trong công nghệ thông tin gọi tắt là giao thức (protocol) – là một tập hợp các quy tắc chuẩn dành cho việc biểu diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ liệu – những việc cần thiết để gửi thông tin qua các kênh truyền thông, nhờ đó mà các máy tính (và các thiết bị) có thể kết nối và trao đổi thông tin với nhau. Các giao thức truyền thông dành cho truyền thông tín hiệu số trong mạng máy tính có nhiều tính năng để đảm bảo việc trao đổi dữ liệu một cách đáng tin cậy qua một kênh truyền thông không hoàn hảo. Các giao thức có thể được thực hiện bằng phần cứng, phần mềm hoặc kết hợp cả hai. Chức năng giao thức giao tiếp 10 do an Đóng gói: trong quá trình tao đổi thông tin, các gói dữ liệu được thêm vào một số thông tin điều khierenm bao gồm địa chỉ nguồn và địa chỉ đích, mã phát hiện lỗi, điều khiển giao thức… Việc thêm thông tin điều khiển vào các gói dữ liệu được gọi là quá trình đóng gói (Encapsulation).

Bên thu sẽ thực hiện ngược lại, thông tin điều khiển sẽ được gỡ bỏ khi gói tin được chuyển từ tầng dưới lên tầng trên. Phân đoạn và hợp lại: mạng truyền thông chỉ chấp nhận kích thước các gói dữ liệu cố định. Các giáo thức ở các tầng thấp cần phải cắt dữ liệu thành những gói có kích thước quy định. Quá trình này gọi là quá trình phân đoạn.

Ngược với quá trình phân đoạn bên phát là quá trình hợp lại bên thu. Dữ liệu phân đoạn cần phải được hợp lại thành thông điệp thich hợp ở tầng ứng dụng (Application). Vì vậy vấn đề đảm bảo thứ tự các gói đến địch là rất quan trọng. Gói dữ liệu trao đổi giữa hai thực thể qua giao thức gọi là đơn vị giao thức dữ liệu PDU (Protocol Data Unit).

Điều khiển liên kết: trao đổi thông tin giữa các thực thể có thể thực hiện theo hai phương thức: hướng liên kết (Connection- Oriented) và không liên kêt (Connectionless). Truyền không liên kết không yêu cầu độ tin cậy cao, không yêu cầu chất lượng dịch vụ và không yêu cầu xác nhận.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Phần Mềm Phân Tích Dữ Liệu và Phát Hiện Xâm Nhập Mạng HCMUTE" cung cấp cái nhìn sâu sắc về các công cụ và phương pháp phân tích dữ liệu nhằm phát hiện các hành vi xâm nhập mạng. Tác giả nhấn mạnh tầm quan trọng của việc bảo mật thông tin trong thời đại số, đồng thời giới thiệu các phần mềm tiên tiến giúp nâng cao khả năng bảo vệ hệ thống mạng. Độc giả sẽ nhận được những lợi ích thiết thực từ việc hiểu rõ hơn về cách thức hoạt động của các phần mềm này, cũng như cách áp dụng chúng vào thực tiễn để bảo vệ dữ liệu cá nhân và doanh nghiệp.

Nếu bạn muốn mở rộng kiến thức về các ứng dụng công nghệ trong lĩnh vực này, hãy tham khảo thêm bài viết Luận văn thạc sĩ khoa học máy tính xây dựng ứng dụng monocular full slam, nơi bạn có thể tìm hiểu về các ứng dụng trong lĩnh vực thị giác máy tính. Ngoài ra, bài viết Nghiên cứu xây dựng cloud storage và vpn trong điện toán đám mây sử dụng devstack luận văn thạc sĩ sẽ giúp bạn nắm bắt cách bảo mật dữ liệu trong môi trường điện toán đám mây. Cuối cùng, bài viết Luận văn tốt nghiệp khoa học máy tính xây dựng hệ thống quản lý khóa học dựa trên moodle framework cũng mang đến cái nhìn về việc quản lý thông tin và dữ liệu trong giáo dục, một lĩnh vực có liên quan mật thiết đến bảo mật thông tin.