1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp

94 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Tác giả Pham Tuan Khang, Duong Van Canh
Người hướng dẫn Ths. Tran Tuan Dung
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành An Toàn Thông Tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 94
Dung lượng 49,39 MB

Cấu trúc

  • 1.1.2. Vấn dé phát hiện sớm mã độc được tải về từ internet (0)
  • 1.2. Phát biểu van dé và mục tiêu hướng đến 1. _ Phát biểu vấn đề......................................-22222cc2222EEcEEEEErErrrrrrrrrrrre 7 2. Mục tiêu hướng đến.. 1.3. Phương pháp luận và kết quả......................----2¿-©++++22E2++++22EEE+rtrrExerrrrrkecree § 1.4. Phạm vi và giới hạn của dé tài 1.4.1. Phạm vi và đối tượng nghiên cứu........................--.---cz+22++ze+zczxxzcrrrre 9 1.4.2. Giới hạn của đề tài 1.5. Cu trúc của luận văn.......................--c-- 2c +k2S22E122112211211211211111111 111111 1e. 0 Chương 2. | CAC NGHIÊN CỨU VÀ CÔNG NGHỆ LIEN QUAN (0)
  • 2.1. Tình hình nghiên cứu các công trình liên quan ............................---¿-- -5+5+<<+ 2 1. ĂDƯ ỂNỐệỒễỀ HA. ốổố .ố.ốốố ỐC ố ốố 2 2. Endpoin( S€CUTi(y...............................- cv HH triệt 3 2.2. Cơ sở lý thuyết và hướng tiếp cận đề tài...........................--222ccccccczecrerrrreerrer § 2. Giao thức HTTP/HTTTPS..............................- 5-5 Sccretertererrrtererrrrsre 8 2.2.2. Các nền tảng ảo hóa: Container và HyperVisor...................-.....------ 9 2.2.3. Kiến trúc Microservice...............................ccccccccrirtrttirtiiiiiiiiiiirrree 21 (25)
  • Chương 3. PHƯƠNG PHÁP LUẬN, NGHIÊN CỨU (53)
    • 3.1. Đặc tả ngữ cảnh..................................... .-c-S. St. t2. 40 3.2. Phân tích, thiết kế hệ thống............................------222c¿+2222vvvvvrrttrrrrrrrrrrrrrrrrr 40 3.2.1. Mô hình phân rã hệ thống...........................-------2++++zt+2v+zererrrseee 40 3.2.2... Phân tích, thiết kế cách thức hoạt động của hệ thống (53)
      • 3.2.2.1. Thành phần Proxy SerVer......................-----cc:z-22vvvc+rtztczrvsrcceez 42 3.2.2.2. Thành phần AnalyZer....................----.-:---¿z22++++22cvvr+etvvvvrrerrvsrrrrrg 45 3.2.2.3. Thành phần Backend Server.......................----¿-c++22s+c++ccvsvcer 45 Chương 4. HIỆN THỰC, TRIEN KHAI HE THÓNG (55)
    • 4.1. Hiện thực Proxy S€TV€T............................ Sàn TH HH 47 ALD. Nhiệm vụ.................................................cccctehtihrheheheree 47 2. _ Công nghệ sử dụng..................................-- - tt 47 3. s10 2 ...A"^Ễ'®'-............ 47 4.2. Hiện thực AnalyZ€T.........................----- +55 tt TH. 2 H011 1 run 50 4.2.1. Nhiệm vụ........................................... Ăn 50 (60)
  • Hinh 5.6 Két qua tai man hinh Dashboard hiển thị cảnh báo sau khi tai các file trên ở mỏy ảo Vmware ((ẽ).................- -.cc ch HH nhe 68 Hình 5.7 Kết quả tại màn hình Dashboard hiển thị cảnh báo sau khi tải các file trên ở (0)

Nội dung

Áp dụng phương pháp nàyvào thực tế sẽ đem lợi ích vô cùng lớn trong việc phòng ngừa bị tấn công bởi mã độchay chính xác hơn là phát hiện sớm dé từ đó đưa ra phan ứng nhanh nhất có thé dé

Tình hình nghiên cứu các công trình liên quan -¿ -5+5+<<+ 2 1 ĂDƯ ỂNỐệỒễỀ HA ốổố ố.ốốố ỐC ố ốố 2 2 Endpoin( S€CUTi(y .- cv HH triệt 3 2.2 Cơ sở lý thuyết và hướng tiếp cận đề tài 222ccccccczecrerrrreerrer § 2 Giao thức HTTP/HTTTPS - 5-5 Sccretertererrrtererrrrsre 8 2.2.2 Các nền tảng ảo hóa: Container và HyperVisor - 9 2.2.3 Kiến trúc Microservice .ccccccccrirtrttirtiiiiiiiiiiirrree 21

IDS [1] (Intrusion Detection Systems - Hệ thống phát hiện xâm nhập) là thiết bị hoặc phần mềm có nhiệm vụ giám sát traffic mạng, các hành vi đáng ngờ và cảnh báo cho admin hệ thống Mục đích của IDS là phát hiện và ngăn ngừa các hành động phá hoại bảo mật hệ thống, hoặc những hành động trong tiễn trình tan công như dò tìm, quét các công IDS cũng có thé phân biệt giữa những cuộc tan công nội bộ (từ chính nhân viên hoặc khách hàng trong tô chức) và tan công bên ngoài (từ hacker) Trong một số trường hợp, IDS có thê phản ứng lại với các traffic bất thường/độc hại băng cách chặn người dùng hoặc địa chỉ IP nguồn truy cập mạng [2].

Hiện tại trên thé giới có rất nhiều phần mềm, công cụ hỗ trợ IDS Tiêu biểu như:

Hình 2.2 Công cụ Suricata 2.1.2 Endpoint security

An ninh thiết bị đầu cuối hay bảo mật thiết bị đầu cuối là một công nghệ bảo vệ mang máy tinh được kết nối từ xa tới các thiết bi của người dùng Việc sử dụng máy tính xách tay, máy tính bảng, điện thoại di động và các thiết bị không dây khác được kết nối với mạng công ty tạo ra những con đường dễ bị tôn thương đối với các mối đe dọa an ninh An ninh thiết bị đầu cuối cố gắng đảm bảo rằng các thiết bị như vậy theo một mức độ nhât định của các yêu câu và tiêu chuân.

Hiện tại, trên thế giới có rất nhiều các công ty lớn chuyên về bảo mật và các giải pháp bảo mật như McAfee, Kaspersky, SYMANTEC, SOPHOS, đi đầu trong phát triển các hệ thống Endpoint Security.

7 https://www.vietsunshine.com.vn/2019/01/14/endpoint-protection-la-gi-giai-phap-nao-phu-hop-cho-doanh- nghiep/

MVISION EDR devices running McAfee Agent and MVISION EDR clients

Hình 2.4 Ví du mô hình SaaS Endpoint Security cua MacAfee

Endpoint Security thường hoạt động dựa trên 2 mô hình:

— Mô hình Client — Server: Các máy, thiết bị đầu cuối sẽ được cài một chương trình client có tác dụng như một Agent thu thập thông tin, cũng như bảo vệ đầu cuối, liên lạc với máy chủ dé có thé quản lý, cập nhật Máy chủ đóng vai trò là nơi để quản lý, cấu hình các Agent và đảm bảo các Agent hoạt động chính xác.

— Mô hình SaaS (mô hình phần mềm dạng dịch vụ): Cũng giống với mô hình

Client — Server, tuy nhiên các chương trình bảo mật và các máy chủ lưu trữ được duy trì từ xa bởi các nhà cung cấp.

Trong bai báo [Endpoint security architecture with programmable logic engine] [4] đã chỉ rõ các rủi ro có thé gặp phải của các endpoint trong doanh nghiệp và đề xuất một hệ thống bảo mật tích hợp, nhận biết ngữ cảnh, cung cấp mô hình kiến trúc tác nhân bảo mật điềm cuối thích ứng cho hoạt động giám sát và ghi lại liên tục

15 trong toàn doanh nghiệp, đặc biệt là theo dõi hoạt động trên các điểm cuối, sau đó phát hiện và ngăn chặn bat kỳ quy trình độc hại nào có thể xâm nhập.

Endpoint Device Endpoint Device Endpoint Device

Endpoint Agent Endpoint Agent Endpoint Agent

Hình 2.5 Mô hình Enpoint Security do [Endpoint security architecture with programmable logic engine] [4] dé xuat.

Hình 2.6 Kiến trúc của một Agent do [Endpoint security architecture with z A x ề xuat A programmable logic engine] [4] d

2.2 Cơ sở lý thuyết và hướng tiếp cận đề tài

HTTP (Hypertext Transfer Protocol) là giao thức truyền tải siêu văn ban Day là giao thức tiêu chuẩn cho World Wide Web (www) dé truyền tải dữ liệu đưới dang văn bản, âm thanh, hình ảnh, video từ Web Server tới trình duyệt web của người dùng và ngược lại.

HTTP hoạt động theo mô hình Client (máy khách) — Server (máy chủ) Việc truy cập website được tiễn hành dựa trên các giao tiếp giữa 2 đối tượng trên Khi chúng ta truy cập một trang web qua giao thức HTTP, trình duyệt sẽ thực hiện các phiên kết nối đến server của trang web đó thông qua địa chỉ IP do hệ thống phân giải tên miền DNS cung cấp Máy chủ sau khi nhận lệnh, sẽ trả về lệnh tương ứng giúp hiển thị website, bao gôm các nội dung như: văn bản, ảnh, video, âm thanh,

HTTPS (Hypertext Transfer Protocol Secure) là giao thức truyền tải siêu văn bản an toàn Thực chất, đây chính là giao thức HTTP nhưng tích hợp thêm Chứng chỉ bảo mật SSL nhằm mã hóa các thông điệp giao tiếp dé tăng tinh bao mật Có thé hiểu,

HTTPS là phiên bản HTTP an toàn, bao mật hơn.

8 https://sites.google.com/site/agucon9 1 0/tom-tat/giaothuchttpvahttps

HTTPS hoạt động tương tự như HTTP, tuy nhiên được bổ sung thêm chứng chi SSL (Secure Sockets Layer — tầng 6 bảo mật) hoặc TLS (Transport Layer Security — bao mật tang truyền tải) Hiện tai, day là các tiêu chuan bao mật hang dau cho hang triéu website trén toan thé gidi.

Giao thức HTTP sử dung Port 80, trong khi đó HTTPS sử dung Port 443 — đây chính là cổng hỗ trợ mã hóa kết nối từ máy tính client đến server, nhằm bảo vệ gói dữ liệu đang được truyền đi

2.2.2 Các nền tảng ảo hóa: Container và Hypervisor

Khi sức mạnh và năng lực xử lý của máy chủ tăng lên, các ứng dụng bare-metal không thé khai thác sự mở rộng da dạng về tài nguyên Do đó, VM đã ra đời, được thiết kế với một phần mềm chạy trên các máy chủ vật lý để “mô phỏng” một hệ thống phần cứng nào đó Một trình ảo hóa (hypervisor), hay còn gọi là trình giám sát máy ảo, là phần SOftware / firmware hoặc hardware cho phép tạo ra và chạy các VM Đó là thành phan nằm giữa phần cứng và máy ảo, cần thiết dé thực hiện ảo hóa máy chủ. Trong mỗi máy ảo chạy một hệ điều hành khách (Guest OS) duy nhất Các máy ảo với các hệ điều hành khác nhau có thể chạy trên cùng một máy chủ vật lý Máy ảo UNIX có thể ngồi cùng với máy ảo Linux, v.v Mỗi VM có các mã binary, thư viện va ứng dụng riêng mà nó phục vụ và VM có thé có kích thước nhiều gigabyte.

Hình 2.8 So sánh nền tang ảo hóa Hypervisor va Container Ảo hóa máy chủ cung cấp nhiều lợi ích khác nhau, một trong những khả năng lớn nhất là khả năng hợp nhất các ứng dụng trên một hệ thống Đã qua rồi thời của một ứng dụng chạy trên một máy chủ vật lý Ảo hóa mở ra cơ hội tiết kiệm chi phí thông qua việc loại bỏ footprint, cung cấp máy chủ nhanh hơn và hệ thống phục hồi thảm họa (DR) được cải thiện, vì phần cứng của DR Site không cần phải phản ánh chính xác trung tâm dữ liệu chính Các dự án phần mềm cũng được hưởng lợi từ sự hợp nhất vật lý này vì việc sử dụng nhiều hơn các máy chủ cỡ lớn, nhanh hơn, giải phóng các máy chủ không được sử dụng sau đó đề tái sử dụng cho bộ phận QA, nhóm phát triển hoặc phòng lab Nhưng phương pháp này cũng bộc lộ nhược điểm của nó Mỗi

VM bao gồm một “hình ảnh” của hệ điều hành riêng biệt, tăng thêm không gian lưu trữ trong bộ nhớ và dung lượng lưu trữ Hóa ra, vấn đề này làm tăng thêm sự phức tạp cho tất cả các giai đoạn của vòng đời phát triển phần mềm, từ phát triển và thử nghiệm đến vận hành và khắc phục thảm họa Cách tiếp cận này cũng hạn chế nghiêm trọng tính di động của các ứng dụng giữa các đám mây công cộng, dam mây riêng va trung tâm dữ liệu truyền thống.

Công nghệ ảo hóa container

Thùng chứa (Container) - cung cấp một cơ chế đóng gói, trong đó các ứng dụng có thể được trừu tượng hóa từ môi trường mà chúng sẽ thực sự chạy Việc tách rời này cho phép các ứng dụng dựa trên container được triển khai dé dàng và nhất quán, bat kế môi trường dich là trung tâm dữ liệu riêng, public cloud hay thậm chí là máy tính xách tay cá nhân của nhà phát triển (developer) Cơ chế container hóa cung cấp một sự phân tách rõ ràng các van dé cần giải quyết, vì các developer tập trung vào logic ứng dụng va các ràng buộc của chúng, trong khi các nhóm vận hành IT có thé tập trung vào vấn đề triển khai và quản trị mà không bận tâm đến các chỉ tiết của ứng dụng như version và các câu hình chi tiệt của chúng. Ưu điềm

PHƯƠNG PHÁP LUẬN, NGHIÊN CỨU

Đặc tả ngữ cảnh -c-S St t2 40 3.2 Phân tích, thiết kế hệ thống 222c¿+2222vvvvvrrttrrrrrrrrrrrrrrrrr 40 3.2.1 Mô hình phân rã hệ thống -2++++zt+2v+zererrrseee 40 3.2.2 Phân tích, thiết kế cách thức hoạt động của hệ thống

Hệ thống phát hiện sớm mã độc từ file tải về từ internet trong doanh nghiệp được thiết kế trong ngữ cảnh phát hiện sớm những bất thường từ các tệp tin được tải về từ internet từ người dùng hoặc nhân viên Việc phát hiện sớm các mối đe dọa có khả năng len lỏi vào trong hệ thống của công ty, doanh nghiệp có thé giảm thiêu rủi ro, hậu quả mà các mối đe dọa có thê gây ra Đặc biệt là các loại mã độc gián điệp, đánh cắp dữ liệu hoặc mã độc tống tiền thì hậu quả, thiệt hại mà chúng gây ra là vô cùng khó lường Hệ thống sẽ phát hiện va thông báo đến người quan trị qua các nền tảng như web, hay các nén tang chat.

3.2 Phân tích, thiết kế hệ thống

Trong phan này, nhóm xin trình bày tổng quan về hệ thống, hướng tiếp cận dé xây dựng hệ thống, từ đó phân rã ra thành các thành phần nhỏ hơn để dễ dàng hơn trong việc hiện thực.

3.2.1 Mô hình phân rã hệ thống

Mô hình nhóm xây dựng bao gồm những thành phần sau:

— REST Api Server, Broadcast Alert Server.

Hình 3.1 Chi tiét những thành phân chính của hệ thông

3.2.2 Phân tích, thiết kế cách thức hoạt động của hệ thống

Hệ thống phát hiện sớm mã độc từ file tải về từ internet như hình 3.1, cách thức hoạt động của từng thành phần sẽ được trình bày ở đây.

Proxy Server là một trong những thành phần chính của hệ thống Nhiệm vụ của Proxy Server là lọc tất cả request của client từ đó đưa tìm ra tất cả các request chứa file tải về dé phân tích.

Theo bài báo “Local proxy server for establishing device controls [14] ” chúng ta có thé kiểm soát các yêu cau http/https của các thiết bi thông qua proxy Cụ thé, Proxy Server sẽ nằm ỏ giữa tất cả các request http/https ra ngoài internet đều phải đi qua proxy Tại đây, Proxy Server sẽ tiến hành kiểm tra request, nếu request tới những địa chỉ mà người quản trị cau hình là không cho phép thì sẽ hủy requet và trả về lỗi không được phép truy cập cho client Nếu request là hợp lệ thì tiến hành kiểm tra ở phần trả về từ internet, nếu trả về là một file thuộc loại file mà người quản trị cấu hình là có khả năng nguy hiểm, Proxy Server sẽ tiến hành sao chép trả về dé lay dữ liệu của file

42 đi phân tích, đồng thời phải trả về dữ liệu của file cho phía client để không gây gián đoạn việc tải file của client. Đối với giao thức http thì việc kiểm tra trả về từ internet khá đơn giản do có thé đọc trực tiếp nội dung trả về Còn đối với https, nhóm sẽ dùng phương pháp MITM (Man-in-the-middle) dé có thé đọc được nội dung trả về Và dé có thé kiểm soát được việc này, các endpoint phải cài đặt chứng chỉ CA do Proxy Server cung cấp. Đối với giao thức HTTP, dé có thể nhận biết được trả về có phải là file cần phân tích hay không, nhóm sẽ dựa vao 2 trường trong header của trả về là

Contenf-Type!* và Confent-Disposition!Š từ đó lọc ra những trả về nào là file cần phân tích và tiến hành xử lý.

Theo Mozilla.org!° đã định nghĩa các types (loại file) hiện được đăng ký với IANA là:

“* application : “Bat kỳ loại dữ liệu nhị phân nào không rõ ràng thuộc mot trongkở các loại khác; hoặc dữ liệu sẽ được thực thi hoặc diễn giải theo một cách nào đó hoặc dữ liệu nhị phân yêu cầu một ứng dụng hoặc danh mục ứng dụng cụ thể để sử dung Dữ liệu nhị phân chung (hoặc dữ liệu nhị phân có kiểu thực không xác định) là application/octet-stream Các vi dụ phổ biến khác bao gồm application/pdf, application/pkcs8 và application/zip ”. s* audio: “Dit liệu âm thanh hoặc âm nhac Vi du bao gom audio/mpeg, audio/vorbis ”’.

* example: “Dành riêng dé sử dung như một trình giữ chỗ trong các ví dụ cho thấy cách sử dụng các loại MIME Chúng không bao giờ được sử dụng bên ngoài danh sách mã mẫu và tài liệu example cũng có thé được sử dụng như một kiểu con; chẳng hạn, trong một ví dụ liên quan đến làm việc với âm thanh trên web, audio/example kiểu MIME có thể được sử dụng để chỉ ra rằng đây

'4 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type

15 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

16 https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types

43 là một trình giữ chỗ và nên được thay thé bang một loại thích hop khi sw dung mã trong thé giới thực ”. s%* font: “Dữ liệu phông chữ / kiều chữ Các ví dụ phổ biến bao gồm font/woff, font/ttf và font/otf `.

“+ image: “Dữ liệu hình ảnh hoặc đô hoa bao gồm cả ảnh bitmap và ảnh tĩnh+ vectơ cũng như các phiên bản động của các định dang anh tĩnh nhự GIF động hoặc APNG Các ví dụ phổ biến là image/jpeg, image/png và image/svg + xml”. ằ model: “Dữ liệu mụ hỡnh cho một doi tượng hoặc cảnh 3D Vớ dụ bao gom model/3mf và model/yvml ”.

% text: “Dữ liệu chi văn bản bao gém bat kỳ nội dung, mã nguồn hoặc di liệu văn bản nào con người có thé đọc được, chẳng hạn như comma-separated value (CSV) Ví dụ bao gồm text/plain, text/csv và text/html”. s* video: “Dữ liệu video hoặc tệp video, chăng hạn như phim MP4 (video/mp4) ” Ở đây, chúng ta chủ yếu chú trọng vào “application” vì đa số các loại tệp ở loại này đêu có khả năng và nguy cơ là mã độc.

Một trong những thành phan hạt nhân của hệ thống đó là Analyzer Đây là nơi sẽ tiếp nhận dữ liệu sau khi được lấy về từ Proxy Server và phân tích. pg &

Hình 3.3 So đồ hoạt động của Analyzer File sau khi được lấy về từ Proxy Server sẽ được kiểm tra xem đã từng phân tích trước chưa, nếu có thì sẽ day kết qua đã phân tích trước đó về Backend Server thông báo cho người quản trị Nếu file chưa có kết quả phân tích sẽ tiến hành submit lên các dịch vụ phân tích như Virustotal, Cuckoo Sandbox va Hybrid Analysis dé phân tích Kết quả nhận được sẽ tiến hành kiểm tra xem đây có phải là mối đe dọa hay không, nếu có tiến hành gửi dit liệu về cho Backend Server xử lý, đồng thời lưu vào Redis để có thé cache lại dữ liệu cho lần tiếp theo nếu cùng file tải về.

Thành phần chính cuối cùng của hệ thống là Backend Server Nhiệm vụ của Backend Server là nhận báo cáo do Analyzer gửi về thông qua các kênh như web, các nền tang chat thông báo cho người quan tri.

Hình 3.4 Sơ đồ hoạt động của Backend Server Sau khi Analyzer phân tích xong file, nếu file là mã độc hoặc nguy hiểm, Analyzer sẽ gửi report của file cùng với thông tin về người tải, thời gian tải, về cho Backend

Server Tại đây, Backend Server sẽ thông qua các kênh như Web Dashboard, các kênh chat liên kết (Slack, Telegram, Messenger) dé có thé thông báo một cách kịp thời cho người quản trị Ngoài ra, thông qua Web Dashboard, người quản trị có thé cau hình, theo dõi hoạt động của hệ thống.

Chương 4 HIỆN THỰC, TRIEN KHAI HE THONG

Hiện thực Proxy S€TV€T Sàn TH HH 47 ALD Nhiệm vụ .cccctehtihrheheheree 47 2 _ Công nghệ sử dụng - tt 47 3 s10 2 A"^Ễ'®'- 47 4.2 Hiện thực AnalyZ€T . - +55 tt TH 2 H011 1 run 50 4.2.1 Nhiệm vụ Ăn 50

Là một trong những thành phần trọng yếu của hệ thống, Proxy Server có nhiệm vụ như sau: e_ Cung cấp internet cho người dùng, hứng tat ca các request http/https của người dùng và xử lý. e Lọc kết quả trả về dé phát hiện file được tải về từ người dùng và lưu trữ dé

4.1.2 Công nghệ sử dụng e - Ngôn ngữ lập trình Golang: Sử dụng ngôn ngữ lập trình Golang và sử dụng package goproxy1 dé phát triển Proxy Server. e Cơ sở dữ liệu Postgresql: Lưu trữ thông tin, cấu hình cho Proxy Server. e Rabitmq: Sử dụng Rabitmg dé tạo hang đợi chuyền tín hiệu cho Analyzer biết khi nào file được tải xong và phân tích.

1 Xây dựng đối tượng proxy server:

"7 https://github.com/elazarl/goproxy

Ta sẽ xây dựng 1 đối tượng ProxyCore gồm những thuộc tính sau:

Config: là một đối tượng cấu hình dành cho Proxy Server.

Proxy: là một đối tượng Proxy từ thư viện goproxy dé tiến hành tạo mới 1 proxy server.

FileValidate: là một kiểu Map[string] với đối tượng MineType dùng dé kiểm tra trả về từ internet có phải là file tải về hay không.

ContentTypeValidate: tương tự như FileValidate, kiểm tra trả về từ internet có phải là file hay không dựa vào trường Content-Type trong

Mutex: là một đối tượng mutex dùng dé tránh xung đột khi dùng chung tài nguyên. amqp.Channel : là một đối tượng Rabitmq dùng dé tạo hàng đợi chuyển thông tin sang cho Analyzer.

QueueName, QueueNameCpu: lần lượt là 2 tên của 2 hang đợi dùng dé chuyên dit liệu.

2 Hiện thực các hàm cần thiết:

Hình 4.1 Một số hàm hiện thực Proxy Server

48 e NewProxy: Hàm sẽ trả về một đối tượng ProxyCore Khi gọi hàm, sẽ truyền vào những thông tin cần thiết, sau đó hàm sẽ thực hiện gọi đến Database dé lay dữ liệu về các loại file sẽ được phân tích và một số cấu hình khác Sau đó sẽ trả về một đối tượng ProxyCore hoàn chỉnh. e ConnectToRabitmgq: Ham sẽ trả về một lỗi Khi gọi hàm, sẽ truyền vào địa chỉ của server Rabitmq Hàm sẽ thực hiện tao kết nối tới Rabitmq và tiễn hành tạo mới 2 hàng đợi Nếu thành công hàm sé trả về lỗi là nil (null), ngược lại sẽ trả về lỗi. e HandleConnect: Hàm cấu hình hoạt động cho Proxy Server Việc cau hình cho proxy server sẽ được thực hiện khi gọi hàm Proxy sẽ đọc tất cả request gửi lên từ người dùng, nếu vi phạm chính sách hoặc có trong danh sách đen thì request đó sẽ bị loại bỏ Proxy server sẽ chạy ở chế độ (AIwaysMitm) luôn sử dụng MITM để đọc request được gửi lên từ người dùng và trả về từ internet Proxy sẽ được cau hình Certificate dé có thé chạy ở chế độ này Ở mỗi trả về từ internet, Proxy Server sẽ tiến hành kiểm tra trong Header dé có thể nhận biết đâu là file được tải về từ internet, nếu là file được tải về, Proxy Server sẽ tiến hành sao chép ludng trả về thành 2, một sẽ lưu dé lay dữ liệu cho Analyzer phân tích, một sẽ trả về cho người dùng dé việc tải file sẽ không bị gián đoạn Ở đây, Proxy Server chỉ sử dụng một luồng duy nhất được trả về từ internet chứ không hè tiêu tốn thêm băng thông mang dé tải file vê riêng.

4.2. e handleProcessing: Hàm sẽ nhận luồng được sao chép từ ham

HandleConnect kiểm tra xem nếu vượt quá dung lượng cho phép thì không tiến hành tải tiếp, nếu không sẽ lưu trữ sau đó trích xuất thông tin và gửi vào hàng chờ Rabitmq cho Analyzer xử lí ¢ StartProxy: Ham sẽ tiến hành khởi chạy Proxy Server và chấp nhận kết nối từ phía client.

Analyzer có nhiệm vụ như sau:

Nhận thông tin file tải về từ Proxy Server.

Tiến hành phân tích file bằng các dịch vụ như Virustotal, HybridAnalysis,

Trả kết quả về cho Backend Server nếu file có dấu hiệu nguy hiểm từ kết quả phân tích file.

Ngôn ngữ lập trình Golang: Sử dụng ngôn ngữ lập trình Golang dé hiện thực

50 e Cơ sở dữ liệu Postgresql: Lưu trữ thông tin phân tích file, tạo ra và lưu trữ các cảnh báo. © Rabitmq: Sử dụng Rabitmq dé tạo hàng đợi nhận tín hiệu từ Proxy Server dé phân tích file. e Redis: Sử dụng redis như là một in-memory database để cache lại các file đã được phân tích rồi. e Các dịch vụ phân tích file: Sử dụng một số dịch vụ phân tích file như

Virustotal, Hybrid Analysis dé tiến hành phân tích các file được nhận từ Proxy

Server với độ chính xác cao.

1 Xây dựng đối tượng Analyzer sanalysis. models.

Tiến hành xây dựng đối tượng Analyzer với các thành phan sau: ¢ Config: Cấu hình của Analyzer. e VirusTotalModule: La module phân tích file sử dụng dịch vụ Virustotal Hiệu quả của dịch vụ phân tích file của Virustotal là rất cao và khá chính xác theo bài báo “Automated malicious advertisement detection using virustotal,

5I urlvoid, and trendmicro” [15] Chính vì vậy khả Virustotal sẽ nâng cao tính chính xác của hệ thống đáng kẻ. e HybridAnalysis: La module phân tích file sử dụng dịch vụ Hybrid Analysis. ¢ CuckooSandboxModule: Là module phân tích file sử dụng Cuckoo Sandbox. ¢ BroadcastAnalysis: Hàng đợi Rabitmq dùng dé gửi các báo cáo sau khi đã phân tích file cho Backend Server. e FileEngineRedisClient: Sử dung Redis dé cache lại các báo cáo phân tích của các file để tránh phân tích lại các file đã trùng lặp gây lãng phí tài nguyên hệ thống. ¢ BroadcastQueueMQ: Hang đợi Rabitmq dùng dé gửi các thông tin cần thiết cho Backend Server.

3 Xây dựng module Hybrid Analysis

4 Xây dựng module Cuckoo Sandbox

Backend Server có nhiệm vu sau: ¢ Nhan thông tin cảnh báo tir Analyzer và tiến hành gửi thong báo đến người quản trị thông qua tin nhắn hoặc Web Dashboard. e _ Cung cấp api cho các dịch vụ khác có thể sử dụng © _ Cung cấp giao diện Web Dashboard cho người dé quản lý, theo dõi hệ thống.

4.3.2 Công nghệ sử dụng e Ngôn ngữ lập trình Golang: Sử dụng ngôn ngữ lập trình Golang để hiện thực

Backend Server. ¢ Co sở dữ liệu Postgresql: Lưu trữ thông tin phân tích file, trích xuất dữ liệu dé gửi cảnh báo, cũng như cung cấp api.

52 ¢ Rabitmq: Sử dụng Rabitmg dé tạo hàng đợi nhận tín hiệu từ Analyzer dé tiến hành gửi cảnh báo kịp thời đến người quản trị. © React JS: Sử dụng React và ngôn ngữ lập trình javascript để xây dựng dao diện quản lý trên web — Web Dashboard. ¢ _ Một số nền tảng nhắn tin: Sử dụng một số nền tảng nhắn tin lớn thường được sử dụng trong doanh nghiệp như Slack, Telegram, Messenger, để thông báo cảnh báo nếu có bat thường đến người quản trị.

Cấu trúc thư mục của Backend Server:

Các thư mục chính, cốt lõi của Backend Server như:

— Model: Nơi chứa cấu trúc dữ liệu cho hệ thống, định nghĩa các trường, bảng của các kiểu dữ liệu đó trong cơ sở dữ liệu PostgreSQL, đồng thời cung cấp các phương thức lưu trữ, truy xuất dữ liệu trong cơ sở dữ liệu.

— Controller: Đây là nơi xử lý các yêu cầu về REST Api để phục vụ cho Web

Dashboard sử dụng, hoặc các ứng dụng khác có thé dé dàng liên kết với hệ thống thông qua api.

— Router: Đây là nơi cấu hình router cho các hàm xử lý api ở Controller.

— Service: Đây là nơi chứa các hàm xử lý các dịch vụ khác nhau Hiện tại có một số dịch vụ như gửi cảnh báo đến Messenger, Slack, Telegram, Web Dashboard và điều chỉnh cấu hình cho Proxy Server va Analyzer.

Câu trúc thư mục của Web Dashboard:

Web Dashboard được xây dựng với một số chức năng cơ bản là quản lý và theo dõi hệ thống Chính vì vậy, trong thư mục page, ta sẽ hiện thực các màn hình chính như:

User, Dashboard, Config, Detail Cụ thể:

55 e Màn hình Dashboard: Dashdoard sẽ bao gồm những thành phần như theo dõi hoạt động của hệ thống, thông tin của tat cả các alert, hién thi alert mới nhất theo thời gian thực e Man hình User: Quản lý tất cả các người dùng cuối, thêm, xóa, sửa các người dùng cuối. e Màn hình Config: Thêm, sửa cau hình cho hệ thống. e Màn hình Detail: Hiển thị thông tin chi tiết báo cáo của file được phân tích bởi

Hinh 4.5 Giao dién co ban cua man hinh Dashboard.

Hash 256: 33b60de6e1834b¢77ada0452beSbOfab64cf6c332ded 1f06097de9c363929638

Refer Link: https://raw.githubusercontent.com:443/khangpropk123/CvTemplate/master/Te

Hash 256: 38b60dc6e1834bc77ada0452be5b0fab64cf6c332ded'1f06097dc9c3639e9638

Refer Link: https://raw.githubusercontent.com:443/khangpropk123/CvTemplate/master/Te

File name: b43c2ba4e312d36a1b7458d 1342600957e0daf3d'1fcd8c7324afd387772f2cc0

Name: | Tuấn Khang | Hash 256: b43c2ba4e312d36a1b7458d1342600957e0daf3d 1fcd8c7324afd387772f2cc0.

| Refer Link: https://raw.githubusercontent.com:443/InQuest/malware-samples/master/201¢

File name: eScb86789b8770b8c2fa35f67bbd48b4cd305217f8bb05d37aa437718c076042

Hash 256: e5cb86789b8770b8c2fa35f67bbd48b4cd305217f8bb05d37aa4377 18c076042 Name: Tuấn Khang

Ip Address: | 1270041 Refer Link: https://raw.githubusercontent.com:443/InQuest/malware-samples/master/201$

File name: d9¢970b7#48d53ea22 13dfd3e15562762387 1ald245befd67804d862decec070

Hash 256: d9c9T0b7f48453ea2213dfd3e155627623871a14245bbefd6780441862deccc070 Name: Tuấn Khang

Ip Address:| 1270011 | Refer Link: https://raw.githubusercontent.com:443/InQuest/malware-samples/master/201$ etect Download ụ Time

Cuckoo Detection: NA 07:52:50 Malwares:| Genere/Tojand6 | Í HEURTrojanPowerSheliGenenc | Í VBA/Agent677Bitldr | { RON)

Cuckoo DetecionrL NA 07:52:50 Maluares ( Geneie/Tejianđ6f] Í HEURTrojan PowerShellGeneric | Í VA/Agent6778tu.dir | [ RON/

Malwares:| Genere/Trejan75 | HEURTiojanPOFPhishgen | | POF/Phishing Agent | | Te/PDF

Cuckoo Detection: NA 08:09:48 Malwares:[TojanDLBarlosdlGDisGKaZIVe | [Gen ZevaF 34694 @5W@aubbsod | (malnare i

Hinh 4.6 Giao dién hién thi alert. m——= : ope: EE po SE ee a

AhnLab-V3 Alibaba Anty-AVL conor ED eso ES EI cs

Hình 4.7 Giao diện chi tiết của file được cho là nguy hiểm.

Hình 4.8 Giao diện chi tiét màn hình quản lí user.

5 a k 4 m svete đ os 6S i a mm sa — ee — mpeg MP3 audio [ae |

Hình 4.9 Giao diện chi tiết màn hình cau hình cho hệ thống.

4.3.3.3 Xây dung service broadcast message e Xây dựng đối tượng Service với các thành phan sau:

BroadcastMessChan chan interface { } Subscribers *Subscribers

Trong đó, Config là noi lưu trữ cấu hình cho Service, Channel là đối tượng Rabitmq dùng để tạo hàng đợi nhận thông tin trả về từ Analyzer, BroadcastMessChan là một kênh dùng dé nhận các cảnh báo (alert) được gửi tới nó và tiễn hành xử ly, Subscribers là đối tượng chứa các kết nối websocket, hay các dịch vụ nhắn tin dé tiến hành thông báo qua các kênh nay. e Xây dựng các ham dé hiện thực chức năng xử lý của đối tượng Service, một số hàm chính như sau:

— ReceiveFromQueue: Hàm này sẽ tao kết nối đến Analyzer dé nhận thông tin, từ đó chuyển vào BroadcastMessChan dé tiến hành xử lý.

— BroadcastMessage: Lấy dữ liệu từ BroadcastMessChan và tiễn hành gửi thông báo đến các kênh như Web Dashboard, các nền tảng nhắn tin như đề cập ở phần trên.

— ConnectRabifMq: Hàm sẽ kết nôi đến server Rabitmd. nfig.Configer) *Se

4.4.1 Triển khai các dịch vụ nền e Triển khai Redis server

Ngày đăng: 02/10/2024, 04:27

HÌNH ẢNH LIÊN QUAN

Bảng 1 Bảng các file test mã độc EICaT. ........................  - -- 5c 3313213 seirrserrerrrrrre 65 Bang 2 Bảng các file sạch dùng trong kịch bản Ì..........................----  ô+ ss+sccssseesesers 66 Bang 3 Bảng các file dùng trong kịch bản 2....... - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Bảng 1 Bảng các file test mã độc EICaT. ........................ - -- 5c 3313213 seirrserrerrrrrre 65 Bang 2 Bảng các file sạch dùng trong kịch bản Ì..........................---- ô+ ss+sccssseesesers 66 Bang 3 Bảng các file dùng trong kịch bản 2 (Trang 11)
Bảng điều khiến dữ liệu - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
ng điều khiến dữ liệu (Trang 13)
Hình 1.2 Hoạt động cua Ransomware hiện nay* - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 1.2 Hoạt động cua Ransomware hiện nay* (Trang 17)
Hình 2.4 Ví du mô hình SaaS Endpoint Security cua MacAfee - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.4 Ví du mô hình SaaS Endpoint Security cua MacAfee (Trang 28)
Hình 2.5 Mô hình Enpoint Security do [Endpoint security architecture with - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.5 Mô hình Enpoint Security do [Endpoint security architecture with (Trang 29)
Hình 2.6 Kiến trúc của một Agent do [Endpoint security architecture with - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.6 Kiến trúc của một Agent do [Endpoint security architecture with (Trang 30)
Hình 2.8 So sánh nền tang ảo hóa Hypervisor va Container - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.8 So sánh nền tang ảo hóa Hypervisor va Container (Trang 33)
Hình 2.9 Kiên trúc microservice? - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.9 Kiên trúc microservice? (Trang 35)
Hình 2.10 Giao tiếp với RabbitMQ!” - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.10 Giao tiếp với RabbitMQ!” (Trang 41)
Hình 2.11 Mô hình Docker!! - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.11 Mô hình Docker!! (Trang 45)
Hình 2.12 Giao diện của virustotal!” - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.12 Giao diện của virustotal!” (Trang 48)
Hình 2.13 Giao diện Hybrid-analysis'? - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 2.13 Giao diện Hybrid-analysis'? (Trang 50)
Hình 3.1 Chi tiét những thành phân chính của hệ thông - Khóa luận tốt nghiệp An toàn thông tin: Phát triển hệ thống phát hiện sớm mã độc từ tập tin tải về của người dùng trong doanh nghiệp
Hình 3.1 Chi tiét những thành phân chính của hệ thông (Trang 54)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN