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

Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật

13 19 0

Đ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

Journal of Science and Technology on Information security Phát triển Framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật Nguyễn Mạnh Thiên, Phạm Đăng Khoa, Nguyễn Đức Vượng, Nguyễn Việt Hùng Tóm tắt—Hiện nay, nhiệm vụ đánh giá an tồn thơng tin cho hệ thống thơng tin có ý nghĩa quan trọng đảm bảo an tồn thơng tin Đánh giá/khai thác lỗ hổng bảo mật cần thực thường xuyên nhiều cấp độ khác hệ thống thông tin Tuy nhiên, nhiệm vụ gặp nhiều khó khăn triển khai diện rộng thiếu hụt đội ngũ chuyên gia kiểm thử chất lượng cấp độ khác Trong khuôn khổ báo này, chúng tơi trình bày nghiên cứu phát triển Framework có khả tự động trinh sát thông tin tự động lựa chọn mã để tiến hành khai thác mục tiêu dựa công nghệ học tăng cường (Reinforcement Learning) Bên cạnh Framework cịn có khả cập nhật nhanh phương pháp khai thác lỗ hổng bảo mật mới, hỗ trợ tốt cho cán phụ trách hệ thống thông tin chuyên gia bảo mật tự động đánh giá hệ thống mình, nhằm giảm thiểu nguy từ công mạng Abstract—Currently, security assessment is one of the most important proplem in information security Vulnerability assessment/exploitation should be performed regularly with different levels of complexity for each information system However, this task is facing many difficulties in large-scale deployment due to the lack of experienced testing experts In this paper, we proposed a Framework that can automatically gather information and automatically select suitable module to exploit the target based on reinforcement learning technology Furthermore, our framework has intergrated many scanning tools, exploited tools that help pentesters doing their work It also can be easily updated new vulnerabilities exploit techniques Từ khóa—Đánh giá kiểm thử xâm nhập; Phân tích lỗ hổng bảo mật; Học tăng cường; Mơ hình Asynchronous Advantage Actor-Critic; A3C Keywords—Penetration testing, Vulnerability analysis, Reinforcement learning, automated exploitation Bài báo nhận ngày 25/9/2021 Bài báo nhận xét phản biện thứ ngày 5/10/2021 chấp nhận đăng ngày 02/11/2021 Bài báo nhận xét phản biện thứ hai ngày 10/10/2021 chấp nhận đăng ngày 25/10/2021 80 Số 1.CS (13) 2021 I.GIỚI THIỆU CHUNG Lỗ hổng bảo mật đề cập đến thiếu sót yếu hệ thống dẫn đến việc đánh cắp liệu bí mật, phá vỡ tính tồn vẹn liệu ảnh hưởng đến tính khả dụng ứng dụng Kẻ cơng truy cập thơng qua điểm yếu sau khai thác, phá hoại hệ thống Để kiểm thử khai thác lỗ hổng bảo mật, thông thường phải trải qua giai đoạn trinh sát thông tin Sau thu thập đủ thông tin cần thiết, kiểm thử viên tiến hành đánh giá lỗ hổng bảo mật, lựa chọn lỗ hổng có tiềm khai thác Kiểm thử viên xây dựng lựa chọn công cụ công phù hợp, tiến hành thử nghiệm khai thác Quá trình thường thực trực tiếp chuyên gia có kinh nghiệm, với giúp đỡ công cụ hỗ trợ Hiện nay, nhiều công cụ phát triển để giúp thực thu thập thông tin kiểm tra lỗ hổng bảo mật tồn hệ thống, kể đến như: - Nmap (“Network Mapper”) [1] công cụ bảo mật phát triển Gordon Lyon Nó dùng để phát máy chủ dịch vụ mạng máy tính cách gửi gói tin phân tích phản hồi - Acunetix Web Vulnerability Scanner [2]: công cụ kiểm tra bảo mật ứng dụng web Nó tự động kiểm tra ứng dụng web để tìm kiếm lỗ hổng bảo mật SQL Injection, Cross-Site Scripting (XSS), … Đây phần mềm trả phí - Metasploit [3]: Là mơi trường dùng để kiểm tra, công khai thác lỗi service Nó phát triển từ ngơn ngữ Perl chạy hầu hết hệ điều hành: Linux, Windows, MacOS - Wappalyzer [4]: Là tiện ích đa tảng giúp khám phá cơng nghệ sử dụng trang web Khoa học Cơng nghệ lĩnh vực An tồn thơng tin Phần lớn phần mềm kể thực chức định, khơng có phần mềm hỗ trợ hiệu đầy đủ bước mơ tả nên người dùng khơng có đánh giá xác mức độ an tồn thơng tin hệ thống Bên cạnh đó, việc xuất nhiều trường hợp cảnh báo giả dò quét lỗ hổng bảo mật mang đến nhiều khó khăn cho cán phụ trách hệ thống thơng tin người có kiến thức bảo mật hệ thống Hiện tồn số Framework khác để kiểm thử bảo mật Trong kể đến như: - Rengine [5]: Là Framework thu thập thông tin Nó cho phép tích hợp cơng cụ thu thập thông tin khác để thực thi đưa kết tổng hợp - VulScan [6]: Là Framework cho phép tích hợp mã khai thác cho lỗ hổng phổ biến(CVE) kiểm thử mục tiêu với giao diện web - Nexpose [7]: Là cơng cụ tính phí cho phép thu thập thơng tin, dò quét, khai thác lỗ hổng bảo mật (nếu có) hệ thống - TestREx [8]: Một Framework cho phép kiểm thử mã khai thác với cấu hình hệ thống khác website Sử dụng kết hợp docker kết hợp selenium lặp lại thao tác kiểm thử giao diện thử nghiệm mã khai thác với lỗ hổng khác nhau(XSS, SQL injection, … ) Các Framework công cụ thiết kế xây dựng dành cho số mục đích định như: thu thập thông tin, khai thác lỗ hổng bảo mật người sử dụng phải điền thơng tin xác điểm cuối(endpoint) để tiến hành việc kiểm thử,… Một số cơng cụ có mã nguồn đóng cho phép kiểm thử dựa công cụ cấu hình sẵn hệ thống gây khó khăn cho người dùng ảnh hưởng đến kết kiểm thử Từ đặt việc phải phát triển Framework cho phép người dùng sử dụng cơng cụ mong muốn, chí người dùng tự định nghĩa để kiểm thử bảo mật hệ thống thơng tin Việc tích hợp cần thiết giúp tận dụng điểm mạnh cơng cụ, tối đa hóa kết phục vụ cho việc kiểm thử bảo mật Việc kiểm thử không giới hạn website mà mở rộng đến hệ thống thông tin cần có kết nối mạng đến Framework thiết kế xây dựng nhằm cho phép người dùng thực đầy đủ bước quy trình khai thác bảo mật, có module lựa chọn mã khai thác dựa vào AI để thử nghiệm công vào lỗ hổng bảo mật Hệ thống cho phép chạy song song tiến trình thu thập thông tin đánh giá lỗ hổng bảo mật với công nghệ multithreading [9] docker [10] Dựa vào đó, thời gian thực quy trình thu thập thơng tin hệ thống rút ngắn Bên cạnh đó, hệ thống cịn thực tiến trình kiểm tra lại (re-testing), cho phép hạn chế trường hợp cảnh báo giả đưa cảnh báo lỗ hổng bảo mật xác đến người quản trị II.PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Với mục tiêu xây dựng tảng cho phép tích hợp cơng cụ thu thập thơng tin mã nguồn mở, tự động tìm kiếm, kiểm thử lỗ hổng, tiến hành khảo sát, phân tích quy trình kiểm thử, khai thác lỗ hổng bảo mật, từ thiết kế Framework có chức phù hợp Các chức Framework gồm: - Thêm mục tiêu, thông tin mục tiêu (bằng thơng tin có từ nguồn khác, có) Thực nhiệm vụ nhóm module đầu vào có chức nhận thơng tin từ phía người dùng tiền xử lý thơng tin - Thu thập thông tin đối tượng thông qua module thu thập thơng tin Nhóm module dị qt phục vụ mục đích thu thập thơng tin, dị qt lỗ hổng, thông tin đối tượng hướng tới - Kiểm thử lỗ hổng CVE, lỗ hổng nghiêm trọng Nhóm module kiểm tra lỗ hổng có mục đích kiểm tra lỗ hổng q trình dị quét, đồng thời tìm lỗ hổng CVE tiềm mà module dị qt khơng tìm - Đưa báo cáo trình kiểm thử gồm thơng tin q trình dị qt thơng tin lỗ hổng tìm đồng thời thực thi lỗ hổng RCE cần thiết Nhóm module đầu có mục đích đưa thơng tin sau lần kiểm thử tới người dùng báo cáo, xuất thông tin cho công cụ khai thác lỗ hổng trực tiếp khác Số 1.CS (13) 2021 81 Journal of Science and Technology on Information security Hình Luồng liệu xử lý Framework - Cho phép bổ sung module viết python vào Framework dễ dàng Các công cụ, mã nguồn mở cài đặt môi trường docker, CVE-plugins viết python Để thực module rời rạc nhau, Framework cần phải tổ chức liệu, xây dựng quy trình chung cho q trình dị qt, khai thác lỗ hổng Đưa luồng liệu trao đổi module, thứ tự thực hiện, khả đồng từ đưa luồng liệu (Hình 1) Dữ liệu đầu vào: Là liệu nhập từ phía người dùng, thơng tin liên quan tới mục tiêu cần dò quét, khai thác lỗ hổng Các thông tin bao gồm thông tin mà người dùng có Modules: Là module thiết lập sẵn Framework, người dùng truyền module vào Framework thông qua truyền tên module Mỗi module thiết kế theo khuôn mẫu định mà Framework thực thi Chuẩn hóa liệu đầu vào Framework: Với loại liệu đầu vào khác cần chuẩn hóa cho Framework đọc theo trường khởi tạo, ngồi trường đầu vào khác loại bỏ Các trường đầu vào lấy từ đầu vào module Từ đầu vào đưa vào module tương ứng để module hoạt động Sắp xếp module theo thứ tự thực hiện: Các module chia thành vào nhóm module Hiện Framework hỗ trợ nhóm module sau: Module_Input, Module_Reconnaissance, Module_Expoit, 82 Số 1.CS (13) 2021 Module_Output nhóm hỗ trợ: Module_Other Trong trình thực thi, module truyền vào phân vào nhóm, thứ tự thực module xếp theo nhóm module Thực thi module với đầu vào: Các module chuyển thành đối tượng tương ứng với module thực thi Đầu vào từ Framework chuyển đổi thành đầu vào module, điều giúp module sử dụng xác trường cần thiết Chuẩn hóa đầu cho module: Các module trả giá trị, trường khác Vậy nên cần thiết phải chuẩn hóa lại theo mẫu thống chung để module sau sử dụng Sau phần liệu truyền ngược lại thơng qua chuẩn hóa đầu vào module sử dụng Chuẩn hóa đầu cho Framework: Quá trình xuất liệu đầu cho Framework tiếp tục chuẩn hóa cho liệu xác Các module khác trả kiểu liệu cần thiết phải loại bỏ module trùng Kết thu gửi Framework Điểm mạnh Framework tính mở, cho phép dễ dàng tích hợp module khai thác vào Framework Mỗi module chuẩn hóa đầu cho khớp với trường thơng tin mà Framework có Cơng việc chuẩn hóa bao gồm sau: Khoa học Công nghệ lĩnh vực An tồn thơng tin - Phân loại liệu đầu trường thông tin khớp với Framework có bổ sung thêm trường Framework chưa có Module-Input: Các module hỗ trợ nhập liệu đầu vào sau chuyển thành chuẩn cố định - Loại bỏ thông tin trùng lặp trường Định nghĩa giống module quy định Module-Reconnaissance: Nhóm module thu thập thông tin, đầu vào lấy từ module-input từ module thu thập thông tin khác - Gộp thông tin khác nhau, xung đột với thành danh sách Module-Exploit: Nhóm module sử dụng thơng tin từ nhóm module-reconnaissance để tiến hành kiểm thử tìm kiếm lỗ hổng mục tiêu Chi tiết thành phần để Framework hoạt động hồn chỉnh trình bày hình (Hình 2) Tầng GUI: gồm API Web-GUI cung cấp khả truy cập liệu vào Framework Tầng Process: đảm nhiệm phân luồng liệu tới module, truy xuất thông tin tới database, bao gồm: - Process Main: xử lý Framework có nhiệm vụ: Đảm nhận truy xuất liệu từ database với GUI Truy xuất liệu từ database, chuyển định dạng đầu vào cho module module khác có định dạng khác - Database: lưu trữ liệu sử dụng mongoDB Tầng nhóm module: chứa module thực thi Framework, gồm nhóm chính: Module-Output: Nhóm module xuất đầu cho Framework Các Nhóm module chưa module, module thực chức khác nhìn chung chức của module dựa thành phần chính: Mã thực thi python: Module trực tiếp viết python, thực thi yêu cầu trả kết Các công cụ sử dụng hình thức thơng thường cơng cụ đơn giản, không bị xung đột nhiều với công cụ khác Docker: Các công cụ triển khai mơi trường docker có khả tách biệt với công cụ khác, ổn định trình khai thác Chúng tơi khuyến khích nên sử dụng docker để phát triển module Hình Các thành phần Framework Số 1.CS (13) 2021 83 Journal of Science and Technology on Information security Kết nối API: Kết nối, sử dụng tới công cụ mạng, sử dụng thông qua kết nối giao tiếp để điều khiển, gửi nhận liệu Các thành phần góp phần hỗ trợ q trình tìm kiếm, khai thác lỗ hổng thuận tiện Hiện tại, nhóm chúng tơi xây dựng số module phục vụ mục đích tìm kiếm, khai thác lỗ hổng (Bảng 1) BẢNG MỘT SỐ MODULE TRONG FRAMEWORK TT Nhóm Module Tên module Chức Input ModuleTarget Chuyển đầu vào mục tiêu thành dạng chuẩn ModuleNmap Sử dụng công cụ Nmap dò quét cổng, dịch vụ, hệ điều hành, sử dụng docker nmap [11] ModuleWebApp Detect Xác định cổng mở dịch vụ web ModuleDirSearch Dò quét đường dẫn trang web sử dụng docker Dirsearch [12] ModuleWappalyz er Dò quét dịch vụ chạy website sử dụng docker Wappalyzer [14] ModuleNuclei Dò quét lỗ hổng, dịch vụ mục tiêu sử dụng docker Nuclei [13] Reconnai ssance ModulePoCChec k Kiểm thử lỗ hổng CVE sử dụng script khai thác ModuleMetasploi tAI Kiểm thử sử dụng module AI chọn lọc payload Metasploit ModuleReport Xuất báo cáo dạng pdf 10 ModuleOutputMe tasploit Thực thi lỗ hổng qua server Metasploit dựa kết nối msgrpc [23] ModuleOutputSh ell Thực thi lỗ hổng thủ công shell Exploit 11 84 Output Số 1.CS (13) 2021 III MODULE ỨNG DỤNG AI TRONG TỰ ĐỘNG KHAI THÁC LỖ HỔNG BẢO MẬT Trong Framework xây dựng, chúng tơi có phát triển tích hợp module khai thác lỗ hổng bảo mật tự động sử dụng trí tuệ nhân tạo Module nhận thơng tin trinh sát từ module Reconnaissance, sau tự động lựa chọn mã khai thác công cụ Metasploit thực khai thác A Ý tưởng chung Để giải vấn đề đặt ra, nghiên cứu việc áp dụng Học tăng cường (Reinforcement Learning) cho kiểm tra xâm nhập mạng tự động Trong nghiên cứu này, chúng tơi cải tiến mơ hình học tăng cường Asynchronous Advantage Actor-Critic (A3C) để giải vấn đề Module kết nối cơng cụ Metasploit với mơ hình thuật tốn A3C để tự động hóa việc thực loạt thao tác từ thu thập thông tin đến phát khai thác lỗ hổng bảo mật hệ thống Hệ thống kết nối với Metasploit thông qua RPC API (Remote Procedure Call) Metasploit để thực thi câu lệnh khai thác Metasploit từ xa Dựa vào thông tin trinh sát từ phần Trinh sát Framework tới máy chủ mục tiêu, hệ thống kết nối với Metasploit mơ hình học tăng cường A3C để đưa thông tin sử dụng để khai thác Metasploit (rhost, rport, module exploit, payload, target,…), từ gửi thơng tin khai thác đến Metasploit, thực khai thác đưa kết thành công (tạo session đến máy mục tiêu) Hình Các thành phần module tự động khai thác ứng dụng trí tuệ nhân tạo Khoa học Cơng nghệ lĩnh vực An tồn thơng tin Trong tốn này, từ thơng tin trinh sát (dịch vụ, phiên dịch vụ, hệ điều hành) lấy module khai thác target (option target Metasploit) tương ứng sử dụng Nhiệm vụ máy lúc đưa payload thích hợp tương ứng để thực cơng Để giải vấn đề này, sử dụng thuật toán học tăng cường A3C để đánh giá lựa chọn cặp trạng thái - hành động tối ưu, từ đưa thơng tin khai thác B Mơ tả mơ hình AI Học tăng cường Học tăng cường kỹ thuật cho phép đưa sách từ học sách tốt thông qua tương tác với môi trường Học tăng cường liên quan đến việc dạy cho máy (Agent) thực tốt nhiệm vụ cách tương tác với môi trường (Environment) thông qua hành động (Action) nhận điểm (Reward) trạng thái máy Điểm tốt xấu, từ đó, máy bắt đầu học cố gắng thực hành động mà nhận điểm tốt Cách học gọi trial-and-error [17] Hình Cơ chế hoạt động học tăng cường Học tăng cường bao gồm [17]: x S = {s1, s2, s3, …, sn}: tập biểu diễn trạng thái hệ thống x A = {a1, a2, a3, …, am}: tập biểu diễn hành động máy thực trạng thái x R(si, aj): điểm tức thời mà máy thu thực hành động aj trạng thái si x π: gọi sách, máy sử dụng để tìm hành động dựa trạng thái Mơ hình Thuật tốn A3C phát hành nhóm DeepMind Google vào năm 2016 tạo nên cách mạng học củng cố, nhanh chóng vượt qua thuật tốn DQN quen thuộc Nó nhanh hơn, đơn giản hơn, mạnh mẽ đạt kết tốt nhiều [18] A3C áp dụng khơng gian hành động liên tục hành động rời rạc Thuật toán cho phép máy hoạt động cách không đồng - Asynchronous Thay sử dụng máy để cố gắng học sách tối ưu Deep Q learning, A3C sử dụng nhiều máy tương tác với mơi trường Ta có nhiều máy tương tác với mơi trường thời điểm, tương tác với môi trường giống [18] Ta gọi máy ‘worker’, đồng thời có máy riêng biệt gọi ‘global network’ Các ‘worker’ huấn luyện song song với cập nhật vào ‘global network’ sau T bước Mỗi worker sau T bước cập nhật trọng số vào ‘global network’, cập nhật khơng diễn đồng thời, nguyên nhân không đồng Sau lần cập nhật, ‘worker’ cập nhật lại trọng số cách chép lại trọng số ‘global network’ Thuật toán sử dụng hàm lợi Advantage cho mạng nơ-ron học Trong có mạng mạng Actor Critic Actor thuật toán Policy Gradient để xác định chọn hành động nào, Critic thuật toán Q-learning sử dụng hàm lợi để đánh giá hành động mà mạng Actor chọn [18] Advantage – lợi thế, tính hàm Advantage-function hiệu Q-function (state-action value function) V-function (state value function) [18] Q-function đánh giá hành Số 1.CS (13) 2021 85 Journal of Science and Technology on Information security Hình Thuật toán A3C động a trạng thái s V-function dùng để đánh giá trạng thái s không gian trạng thái S Từ đó, Advantage-function cho ta biết mức độ cải thiện thực hành động a so với giá trị mong đợi trạng thái Nói cách khác, hàm điểm phụ nhận thực hành động a vượt với giá trị mong đợi trạng thái Nếu máy chọn hành động, tức Q(s,a) > V(s), lợi giá trị dương, nhiên, hành động xấu: Q(s,a) < V(s) lợi giá trị âm Do đó, Advantage-function sử dụng để cải thiện hành vi máy [18] A(s, a) = Q(s, a) – V(s) (1) Bởi khơng thể tính giá trị Q trực tiếp A3C, nên ta ước tính Q cách sử dụng lợi nhuận chiết khấu (discounted return) R: R = rn + γrn-1 + γ2rn-2 (2) Hàm lợi ước tính bằng: A(s, a) = R – V(s) Khi đó, hàm mát giá trị tính bằng: 86 Số 1.CS (13) 2021 (3) ValueLoss(Lv) = ߑ (R – V(s))2 (4) PolicyLoss(Lp) = -log(π(a | s)) * A(s) - β*H(π) (5) Hàm mát sách tính theo cơng thức: Trong đó, H(π) Entropy, thước đo mức độ lan tỏa xác suất, sử dụng để đảm bảo thăm dò đầy đủ sách Khi Entropy cao, xác suất hành động nhau, đó, máy khơng chắn hành động thực hiện, giá trị Entropy thấp, hành động có xác suất cao hành động khác máy chọn hành động có xác suất cao Do đó, việc thêm Entropy vào hàm mát khuyến khích máy khám phá thêm tránh bị mắc kẹt điểm tối ưu cục Gộp hàm mát ta hàm mát tổng thể: L = 0.5*Σ(R - V(s))² - log(π(a | s))*A(s) - β*H(π) (6) Khoa học Công nghệ lĩnh vực An tồn thơng tin Hình Thuật tốn A3C tự động khai thác Metasploit [19] Trong toán này, để xây dựng mơ hình A3C ta cần xác định số yếu tố Đầu tiên, môi trường mà máy tương tác môi trường kết nối Metasploit máy chủ mục tiêu Nhiệm vụ máy gửi module khai thác đến máy chủ mục tiêu thông qua Metasploit, làm cho việc khai thác thành công Trạng thái toán gồm trường: x Loại hệ điều hành (OS type) x Dịch vụ (Service) x Phiên dịch vụ (Service version) x Module khai thác (Exploit module) x Mục tiêu khai Metasploit) thác (target Đây trường thông tin cần thiết để thực khai thác lỗ hổng bảo mật Metasploit Nhiệm vụ mơ hình A3C lúc đánh giá mức độ tối ưu hành động (action) cho trạng thái, tức đánh giá mức độ tối ưu cặp trạng thái – hành động, từ xác định thơng tin để khai thác thành công Các payload Metasploit hành động nên số payload số hành động máy Tuỳ phiên Metasploit mà có số payload khác Tuy nhiên, có module khơng sử dụng payload nên số hành động phải cộng thêm với (ứng với “no payload”) Mạng A3C lấy đầu vào trạng thái máy, đầu hành động, ta có lớp đầu vào mạng gồm node tương ứng với trường trạng thái, lớp đầu có số node tương ứng số hành động (Npayload + 1) Trong toán này, với dịch vụ trinh sát có nhiều module Metasploit, với module lại có nhiều payload target tương ứng Vì có nhiều cặp trạng thái – hành động xảy Mơ hình A3C sử dụng Advantage-function để đánh giá mức độ tốt hành động (Payload) trạng thái so với giá trị mong đợi, tức đánh giá cặp trạng thái – hành động Cặp trạng thái – hành động tốn chứa thơng tin sử dụng để khai thác Metasploit (Module, Target, Payload) Do đó, mơ hình A3C sử dụng để đánh giá module MetasploitAI lựa chọn cặp trạng thái – hành động có điểm đánh giá cao để khai thác mà không cần phải thử qua tất trường hợp Số 1.CS (13) 2021 87 Journal of Science and Technology on Information security C Tích hợp module AI Framework Để thuận tiện cho trình kiểm thử, tìm kiếm lỗ hổng, module AI Framework xây dựng dạng client-server để trình thực thi phân tán, dễ dàng triển khai hệ thống mạng BẢNG BẢNG KẾT QUẢ KIỂM THỬ FRAMEWORK VỚI MỘT SỐ CVE TT Hình Module kết hợp MetasploitAI với Framework Hai module Module-MetasploitAI Module-OutputMetasploit xây dựng để phục vụ trình khai thác Framework Server AI nhận thông tin từ đối tượng thông qua API, sau tiến hành tìm payload có khả tồn lỗ hổng bảo mật Sau tiến hành tự động khai thác thơng qua Metasploit RPC [22] từ xác định lỗ hổng có thực tồn Trong q trình tự động khai thác sử dụng liệu thu thập thơng tin để hỗ trợ q trình Sau gửi kết lại Framework Server-Metasploit server nhận yêu cầu thực thi từ ModuleOutputMetasploit để tạo session thực thi câu lệnh theo yêu cầu IV.ĐÁNH GIÁ THỬ NGHIỆM HỆ THỐNG Các mã khai thác xây dựng Tuỳ vào đối tượng khác nhau, dựng môi trường tồn lỗ hổng để kiểm thử trình khai thác, triển khai mơi trường mạng LAN môi trường mạng Internet Qua kiểm thử hệ thống: máy sử dụng hệ điều hành Kali Linux với cấu hình CPU 2.5 Ghz, RAM 4Gb, tiến hành khai thác với lỗ hổng CVE thuộc tảng khác nhau, thu kết (Bảng 2) sau: 88 Số 1.CS (13) 2021 Loại POC POC thử nghiệm Kết window CVE-20201472 Thành công CMS CVE-20199978 Thành công apache CVE-20190232 Thành công git CVE-202122192 Thành công big-ip CVE-202122986 Thành công vmware CVE-202121985 Thành công exchange CVE-202134473 Thành công linux CVE-20213156 Thành công Kết cho thấy khả khai thác lỗ hổng Framework đáp ứng nhiều loại lỗ hổng khác nhau, nhiều tảng khác Việc kết hợp script khai thác lỗ hổng vào Framework, giúp trình kiểm thử trở nên nhanh chóng mà đảm bảo tính xác Ngồi ra, sử dụng mã script tảng ngơn ngữ Python, q trình thêm mới, chỉnh sửa đơn giản hơn, hỗ trợ nhiều thông qua hệ thống mã nguồn mở (một lượng lớn mã khai thác công bố viết Python Github [25]) Ngôn ngữ Python đáp ứng kết nối giao tiếp SSH, TCP, HTTP, NRPC [24], Vậy nên, ngôn ngữ Python đủ để đáp ứng cho trình khai thác lỗ hổng Framework Để làm phong phú thêm khả tìm kiếm khai thác lỗ hổng, xây dựng số mã script lỗ hổng nhằm tăng khả tìm kiếm lỗ hổng Framework (Bảng 3): BẢNG MỘT SỐ SCRIPT KIỂM THỬ CVE TRONG FRAMEWORK Đánh giá TT Loại POC Số lượng RCE Auth Leo Thang window 2 CMS 8 0 Khoa học Công nghệ lĩnh vực An tồn thơng tin apache 5 0 git 2 0 big-ip 2 0 vmware 3 0 exchange 4 linux 1 Tổng 32 29 Để kiểm thử khả khai thác mục tiêu ngồi phịng thí nghiệm, chúng tơi thử nghiệm Framework dị qt hệ thống thông qua mạng Internet thu kết quả: Hình Lỗ hổng tìm kiếm mục tiêu mail exchange Quá trình kiểm thử với hệ thống mail exchange tìm lỗ hổng bảo mật, tiến hành khai thác thử nghiệm đảm bảo khơng cịn dương tính giả Kết thử nghiệm thực thi lỗ hổng server exchange Kết thu thập thông tin Framework cho phép lựa chọn sử dụng nhiều cơng cụ dị qt thơng tin hệ thống Nmap, Nuclei, Wappalyzer,…, đưa nhiều thông tin đa dạng xác Chúng tơi tích hợp cơng cụ Nmap để dị qt cổng dịch vụ, đồng thời sử dụng Scrapy tìm đường dẫn dịch vụ web, sau gửi request phân tích response kỹ thuật so khớp chuỗi để tìm thơng tin ứng dụng web (kỹ thuật sử dụng công cụ DeepExploit [19]) Để thử nghiệm độ xác q trình thu thập thơng tin nhóm tiến hành so sánh độ xác kết thu thập thông tin mà DeepExploit với Framework cho kết Bảng BẢNG KẾT QUẢ THU THẬP THƠNG TIN CỦA FRAMEWORK DeepExploit[19] Framework Cơng cụ Nmap, scapy Cài đặt trực tiếp Nmap, WebDetect, Wappalyzer, Nuclei Sử dụng thông qua docker Môi trường Metasploitable2 Metasploitable2 Kết Cổng mở Tổng số: 13/33 Tỉ lệ xác: 39.39% Tổng số: 13/13 Tỉ lệ xác: 100% Dịch vụ cổng Số dịch vụ: 13/33 Tỉ lệ đúng: 39.39% Số dịch vụ: 13/13 Tỉ lệ đúng: 100% Cơng nghệ sử dụng Tổng số: 10/16 Có version: Tỉ lệ xác: 62.50% Tổng số 11/12 Có version: Tỉ lệ xác: 91.67% Lỗ hổng bảo mật Tổng số: Tổng số: 22/27 lỗ hổng xác Tỉ lệ xác: 81.84% Hệ điều hành Tổng số: Tỉ lệ xác: 100% Tổng số: Tỉ lệ xác: 100% Thời gian thực 262s 550s Nhận xét Thời gian thu thập nhanh, tốn nhớ, kết thu tỉ lệ xác khơng cao, xuất nhiều thông tin sai Thời gian thu thập lâu, chạy tốn nhớ Kết thu bảo đảm, tỉ lệ xác cao Kết thu thập thơng tin có kết xác cao(100%) thể kết trả có tỉ lệ xác cao hơn, sàng lọc cảnh báo dương tính giả (false positive) Tuy cho kết với độ xác cao đồng nghĩa nhiều thời gian hơn, số request gửi nhiều Trong q trình thu thập thơng tin, dị qt hệ thống mục tiêu server mail exchange, có sử dụng firewall thơng qua mơi trường Internet Kết thu trình tới 120 phút kết Số 1.CS (13) 2021 89 Journal of Science and Technology on Information security Apache Tomcat Manager Application Deployer Authenticated Code Execution Thất bại Ra1NX PHP Bot PubCall Authentication Bypass Remote Code Execution Thất bại CVE 2007-5423 Thất bại Samba “username map script” Command Execution Thất bại 10 Oracle MySQL UDF Payload Execution Thành công 11 PostgreSQL for Linux Payload Execution Thất bại 12 CVE 2019-9193 Thành công 13 CVE 2017-12617 Thất bại Hình Thời gian dị qt lỗ hổng Kết thử nghiệm mơ hình AI Mơ hình A3C huấn luyện môi trường máy ảo Metasploitable [20] Thơng tin thiết lập cấu hình cho máy ảo Metasploitable thể Hình 10 Hình 10 Máy ảo Metasploitable Xây dựng máy chủ mục tiêu hệ điều hành Linux, có cài đặt phiên dịch vụ chứa lỗ hổng bảo mật để thử nghiệm Sau thử nghiệm với module trí tuệ nhân tạo tự động khai thác, đạt kết sau: BẢNG KẾT QUẢ THỬ NGHIỆM MODULE AI STT Lỗ hổng Kết CVE 2010-4221 Thành công CVE 2017-7722 Thành công CVE 2011-4862 Thất bại CVE 2005-1099 Thành công CVE 2013-2028 Thành công 90 Số 1.CS (13) 2021 Ghi Dự đoán module payload khai thác khơng thành cơng Dự đốn module payload khai thác không thành công Module bước đầu phát khai thác số lỗ hổng bảo mật hoàn toàn tự động, nhiên hiệu độ xác cịn chưa cao, lý môi trường dùng để huấn luyện cho mơ hình AI cịn hạn chế Trong thực nghiệm, sử dụng máy chủ Metasploitable để huấn luyện nên mơ hình học cịn chưa ổn định, chưa thực có hiệu cao với lỗ hổng bảo mật Bên cạnh đó, có số trường hợp module gửi options lỗ hổng (exploit module, payload, rhost, rport,…) đến Metasploit RPC API, nhiên lại thực khai thác không thành công biến môi trường thay đổi Chúng cố gắng khắc phục cải thiện mô hình để có kết tốt tương lai Khoa học Công nghệ lĩnh vực An tồn thơng tin KẾT LUẬN Bài báo giới thiệu Framework tự động hỗ trợ đánh giá/khai thác lỗ hổng bảo mật hệ thống thông tin Framework chúng tơi có tính mở cao, cho phép bổ sung nhiều cơng cụ trinh sát, dị qt hệ thống để thu thập thông tin Framework đồng thời tích hợp khả mở rộng, có thêm Script, module khai thác Dựa môi trường Metasploit, chúng tơi xây dựng thành cơng module có khả dự đoán module khai thác payload tương ứng, tự động sử dụng để khai thác lỗ hổng bảo mật hệ thống Framework thuận tiện triển khai hướng tới việc sử dụng rộng rãi công cụ đánh giá, kiểm thử hệ thống thông tin Những cán sở khơng cần có kiến thức chun gia dễ dàng vận hành hệ thống để đánh giá/kiểm thử khai thác lỗ hổng bảo mật sau hệ thống cập nhật module khai thác chuyên gia trung tâm bổ sung Tuy nhiên, Framework nhiều hạn chế như: dò quét thông tin tương đối nhiều thời gian, độ xác cịn hạn chế thơng qua tường lửa, chưa phát bẫy honeypot Trong thời gian tới, tiếp tục mở rộng chức hệ thống, xây dựng kho liệu chứa mã khai thác cập nhật nhiều tảng, nhiều phiên khác để hỗ trợ việc đánh giá, khai thác lỗ hổng bảo mật hiệu TÀI LIỆU THAM KHẢO [1] Mujahid Shah, Sheeraz Ahmed, Khalid Saeed, Muhammad Junaid, Hamayun Khan, Ata-urrehman (2019), “Penetration Testing Active Reconnaissance Phase – Optimized Port Scanning With Nmap Tool” [2] Angel Rajan, Emre Erturk (2017), “Web Vulnerability Scanners: A case Study” [3] Sudhanshu Raj, Navpreet Kaur Walia (2020), “A Study on Metasploit Framework: A PenTesting Tool” [4] Wappalyzer - Identify technologies on websites https://www.wappalyzer.com/ [Accessed: September, 22, 2021] [5] Rengine wiki for developer https://rengine.wiki/ [Accessed: September, 14, 2021] [6] Vulscan https://github.com/vulscanteam/vulscan [Accessed: September, 05, 2021] github [7] Vulnerability Scanning with Nexpose https://docs.rapid7.com/metasploit/vulnerabilityscanning-with-nexpose [Accessed: September, 14, 2021] [8] Stanislav Dashevskyi, Daniel Ricardo dos Santos, Fabio Massacci, and Antonino Sabetta (2017), "TestREx: a Framework for Repeatable Exploits", Journal reference: Int J Software Tools for Technology Transfer, 2017 [9] Python Multithreaded Programming – Tutorials Point, https://www.tutorialspoint.com/python/pytho n_multithreading.htm [Accessed: September, 1, 2021] [10] Sachchidanand Singh; Nirmala Singh (July, 2016), “Containers & Docker: Emerging roles & future of Cloud technology”, IEEE 2016 2nd International Conference on Applied and Theoretical Computing and Communication Technology (iCATccT) [11] Nmap Docker image 7.92 Instrumentisto https://hub.docker.com/r/instrumentisto/nmap [Accessed: September, 14, 2021] [12] Dirsearch - Web path discovery image, Maurosoria https://github.com/maurosoria/dirsearch [Accessed: September, 14, 2021] [13] Nuclei - Fast and customisable vulnerability scanner based on simple YAML based DSL github https://github.com/projectdiscovery/nuclei [Accessed: September, 14, 2021] [14] Wappalyzer https://hub.docker.com/r/wappalyzer/cli [Accessed: September, 14, 2021] [15] Jăurgen Cito, Vincenzo Ferme, Harald C Gall (2016), “Using docker Containers to Improve Reproducibility in Software and web Engineering Research” Số 1.CS (13) 2021 91 Journal of Science and Technology on Information security [16] Jonathon Schwart (2018), “Autonomous Penetration Testing using Reinforcement Learning”, The University of Queensland, Australia [17] Julien Vitay, “Deep Reinforcement Learning”, https://julien-vitay.net/deeprl/, [Accessed: September, 14, 2021] [18] Sudharsan Ravichandiran (2018), “Hands-On Reinforcement Learning with Python”, Published by Packt Publishing SƠ LƯỢC VỀ TÁC GIẢ Nguyễn Mạnh Thiên Đơn vị công tác: Học viện Kỹ thuật Quân Email: nguyenmanhthien98@gmail.com Quá trình đào tạo: Học viên năm thứ – Học viện Học viện Kỹ thuật Quân Hướng nghiên cứu nay: An toàn ứng dụng web [19] Isao Takaesu (2018), “DeepExploit”, https://github.com/13o-bbrbbq/machine_learning_security/tree/master/Deep Exploit [Accessed: June, 24, 2021] [20] Metasploit (2010), “Introducing Metasploitable”, http://blog.metasploit.com/2010/05/introducin g-metasploitable.html, [Accessed: September, 14, 2021] ứng dụng web [21] Eashan Kaushik (2020), “Asynchronous Advantage Actor Critic with Random Exploration Exploitation (A3C-REE)”, International Research Journal of Engineering and Technology (IRJET) [22] Rapid7 (2016), “Metasploit Pro RPC API Guide” [23] SpiderLabs, “msgrpc”, https://github.com/SpiderLabs/msfrpc, [Accessed: September, 14, 2021] [24] Dirkjanm, PoC for Zerologon - all research credits go to Tom Tervoort of Secura https://github.com/dirkjanm/CVE-2020-1472 [Accessed: September, 2, 2021] [25] A small place to discover languages in GitHub https://madnight.github.io/githut/#/pull_requests/ 2021/2 [Accessed: September, 19, 2021] 92 Số 1.CS (13) 2021 nhân tạo Phạm Đăng Khoa Đơn vị công tác: Học viện Kỹ thuật Quân Email: Khoa0010098@gmail.com Quá trình đào tạo: Học viên năm thứ – Học viện Học viện Kỹ thuật Quân Hướng nghiên cứu nay: An toàn Nguyễn Đức Vượng Đơn vị công tác: Học viện Kỹ thuật Quân Email: ndvuong98@gmail.com Quá trình đào tạo: Học viên năm thứ – Học viện Học viện Kỹ thuật Quân Hướng nghiên cứu nay: Trí tuệ Nguyễn Việt Hùng Đơn vị công tác: Học viện Kỹ thuật Quân Email: hungnv@lqdtu.edu.vn Quá trình đào tạo: Tốt nghiệp Cử nhân (2006), Thạc sĩ (2008) Tiến sĩ (2012) Đại học Vật lý Kỹ thuật Mát-x-cơ-va Hướng nghiên cứu nay: An tồn khơng gian mạng, trí tuệ nhân tạo ... module khai thác lỗ hổng bảo mật tự động sử dụng trí tuệ nhân tạo Module nhận thơng tin trinh sát từ module Reconnaissance, sau tự động lựa chọn mã khai thác công cụ Metasploit thực khai thác A... khả tồn lỗ hổng bảo mật Sau tiến hành tự động khai thác thơng qua Metasploit RPC [22] từ xác định lỗ hổng có thực tồn Trong trình tự động khai thác sử dụng liệu thu thập thông tin để hỗ trợ trình... ell Thực thi lỗ hổng thủ công shell Exploit 11 84 Output Số 1.CS (13) 2021 III MODULE ỨNG DỤNG AI TRONG TỰ ĐỘNG KHAI THÁC LỖ HỔNG BẢO MẬT Trong Framework xây dựng, chúng tơi có phát triển tích

Ngày đăng: 22/09/2022, 10:20

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Hình 1. Luồng dữ liệu được xử lý trong Framework. - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
Hình 1. Luồng dữ liệu được xử lý trong Framework (Trang 3)
dưới đây (Hình 2). - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
d ưới đây (Hình 2) (Trang 4)
Hình 3. Các thành phần trong module tự động khai thác ứng dụng trí tuệnhân tạo. - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
Hình 3. Các thành phần trong module tự động khai thác ứng dụng trí tuệnhân tạo (Trang 5)
BẢNG 1. MỘT SỐ MODULE TRONG FRAMEWORK - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
BẢNG 1. MỘT SỐ MODULE TRONG FRAMEWORK (Trang 5)
B. Mô tả mơ hình AI 1. Học tăng cường - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
t ả mơ hình AI 1. Học tăng cường (Trang 6)
Hình 5. Thuật toán A3C. - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
Hình 5. Thuật toán A3C (Trang 7)
Trong bài toán này, để xây dựng mơ hình A3C ta  cần  xác  định  một  số yếu  tố.  Đầu  tiên,  môi  trường mà máy tương tác là môi trường kết nối giữa Metasploit và máy chủmục tiêu - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
rong bài toán này, để xây dựng mơ hình A3C ta cần xác định một số yếu tố. Đầu tiên, môi trường mà máy tương tác là môi trường kết nối giữa Metasploit và máy chủmục tiêu (Trang 8)
BẢNG 2. BẢNG KẾT QUẢ KIỂM THỬ FRAMEWORK VỚI - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
BẢNG 2. BẢNG KẾT QUẢ KIỂM THỬ FRAMEWORK VỚI (Trang 9)
được kết quả (Bảng 2) như sau: - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
c kết quả (Bảng 2) như sau: (Trang 9)
năng tìm kiếm lỗ hổng của Framework (Bảng 3): BẢNG 3. MỘT SỐSCRIPT KIỂM THỬCVETRONG  - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
n ăng tìm kiếm lỗ hổng của Framework (Bảng 3): BẢNG 3. MỘT SỐSCRIPT KIỂM THỬCVETRONG (Trang 9)
BẢNG 4. KẾT QUẢ THU THẬP THÔNG TIN CỦA - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
BẢNG 4. KẾT QUẢ THU THẬP THÔNG TIN CỦA (Trang 10)
FRAMEWORK - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
FRAMEWORK (Trang 10)
Hình 8. Lỗ hổng tìm kiếm được đối với một mục tiêu mail exchange. - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
Hình 8. Lỗ hổng tìm kiếm được đối với một mục tiêu mail exchange (Trang 10)
BẢNG 4. KẾT QUẢ THU THẬP THÔNG TIN CỦA - Phát triển framework ứng dụng AI hỗ trợ tự động khai thác lỗ hổng bảo mật
BẢNG 4. KẾT QUẢ THU THẬP THÔNG TIN CỦA (Trang 10)

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

TÀI LIỆU LIÊN QUAN

w