Bối cảnh và vấn đề nghiên cứu

  • Lý do chọn đề tài và bối cảnh thực tiễn: Trong bối cảnh mạng Internet phát triển rộng khắp, nhu cầu công bố thông tin và thực hiện giao dịch trực tuyến của các tổ chức, cá nhân ngày một gia tăng. Đi cùng với sự mở rộng quy mô ứng dụng là nguy cơ xuất hiện các khiếm khuyết kỹ thuật trong hệ thống mạng. Các lỗi này chủ yếu bắt nguồn từ khâu kiểm duyệt chưa kỹ lưỡng trước khi bàn giao cho người dùng cuối, hoặc do các hành vi cố tình phá hoại nhằm chiếm đoạt dữ liệu cá nhân như tài khoản ngân hàng, thông tin liên lạc. Xuất phát từ thực tế đó, việc áp dụng các công cụ mã nguồn mở để chủ động rà soát, phát hiện và khắc phục các lỗ hổng bảo mật trong mạng nội bộ (LAN) trước khi triển khai thực tế là yêu cầu cấp thiết được tác giả lựa chọn để nghiên cứu.
  • Mục tiêu và nhiệm vụ nghiên cứu:
    1. Mục tiêu tổng quát: Nghiên cứu, tìm hiểu các giải pháp phát hiện lỗ hổng bảo mật nhằm hỗ trợ phát hiện lỗi sớm và đề xuất giải pháp bảo vệ hệ thống mạng.
    2. Nhiệm vụ cụ thể:
      • Hệ thống hóa các khái niệm nền tảng về an toàn thông tin, phân loại lỗ hổng và các hình thức tấn công mạng.
      • Tìm hiểu hệ điều hành chuyên dụng Kali Linux và khảo sát các công cụ kiểm thử bảo mật mã nguồn mở tích hợp sẵn.
      • Cài đặt môi trường kiểm thử ảo hóa và thực nghiệm dò quét an ninh trên mục tiêu thực tế bằng các công cụ mã nguồn mở.
  • Đối tượng và phạm vi nghiên cứu:
    • Đối tượng nghiên cứu: Lỗ hổng bảo mật trong hệ thống mạng và các công cụ dò quét nguồn mở (trọng tâm là Zenmap và Nikto trên nền tảng Kali Linux).
    • Phạm vi không gian: Hệ thống mạng nội bộ và máy chủ mục tiêu (cụ thể trong thực nghiệm là tên miền máy chủ web hpu.vn).
    • Phạm vi thời gian/dữ liệu: Các số liệu và báo cáo an ninh mạng được trích dẫn trong giai đoạn 2016–2018 (tiêu biểu như báo cáo tấn công mạng năm 2017 của Kaspersky Lab, phiên bản Kali Linux 2018).

Cơ sở lý thuyết và phương pháp

  • Khung lý thuyết và tiêu chuẩn áp dụng:
    • Định nghĩa an toàn thông tin: Sử dụng định nghĩa an toàn bảo mật mạng theo tiêu chuẩn của Liên minh Viễn thông Quốc tế (ITU), bảo đảm ba thuộc tính cơ bản gồm: tính bảo mật (Confidentiality), tính toàn vẹn (Integrity) và tính sẵn sàng (Availability).
    • Tiêu chuẩn phân loại lỗ hổng: Tham chiếu tiêu chuẩn GOST P56546-2-15 của Nga về các tiêu chí phân loại lỗ hổng dựa trên hệ điều hành, nền tảng phát triển, phiên bản phần mềm, mức độ nguy hại, ngôn ngữ lập trình và dịch vụ vận hành.
    • Mô hình vòng đời lỗ hổng: Lý thuyết về phân loại lỗ hổng theo vòng đời phát triển hệ thống (thiết kế, chế tạo, khai thác) và khái niệm lỗ hổng đã biết so với lỗ hổng chưa có bản vá (zero-day).
  • Phương pháp nghiên cứu:
    • Phương pháp phân tích và tổng hợp lý thuyết: Thu thập, phân loại các dạng khiếm khuyết an toàn thông tin, các giai đoạn và phương thức tấn công mạng từ các tài liệu chuyên ngành.
    • Phương pháp thực nghiệm kỹ thuật: Triển khai cài đặt hệ điều hành Kali Linux trên môi trường ảo hóa VMware Workstation; cấu hình và thực thi các công cụ rà quét Zenmap (Nmap giao diện đồ họa) và Nikto Web Scanner để thu thập thông tin dịch vụ và dò quét lỗi máy chủ.
  • Nguồn dữ liệu: Dữ liệu kỹ thuật trích xuất trực tiếp từ các báo cáo an toàn mạng (Kaspersky, SAP), cơ sở dữ liệu lỗ hổng bảo mật nguồn mở (OSVDB), và dữ liệu phản hồi mạng thực tế từ các gói tin quét mục tiêu hpu.vn.

Nội dung chính theo từng chương

Chương 1: Tổng quan về bảo mật mạng

Chương này tập trung trình bày các khái niệm nền tảng về an toàn mạng, bản chất của các lỗ hổng hệ thống và các hình thức đe dọa trực tuyến:

  1. Khái niệm và thuộc tính cốt lõi: Dẫn xuất định nghĩa của ITU, nhấn mạnh bảo mật mạng là hệ thống các chính sách, biện pháp quản lý rủi ro và công nghệ bảo vệ tài sản mạng, bảo đảm ba yếu tố: tính bảo mật, tính toàn vẹn và tính sẵn sàng.
  2. Phân loại lỗ hổng bảo mật:
    • Theo tính chất nguyên nhân: Lỗ hổng khách quan (đặc tính kỹ thuật phần cứng/phần mềm), lỗ hổng chủ quan (lỗi cấu hình, vận hành của con người), và lỗ hổng ngẫu nhiên (môi trường ngoài dự đoán).
    • Theo vòng đời: Giai đoạn thiết kế, giai đoạn chế tạo và giai đoạn khai thác.
    • Theo khu vực phát sinh: Lỗ hổng mã nguồn (code), lỗ hổng cấu hình (tham số sai lệch), lỗ hổng kiến trúc và lỗ hổng tổ chức quản lý.
    • Theo vị trí phát hiện: Hệ điều hành, phần mềm ứng dụng, phần mềm chuyên dụng, phần sụn (firmware), thiết bị di động, thiết bị mạng (router, switch) và thiết bị bảo vệ (firewall, IDS).
    • Lỗ hổng zero-day: Phân tích vòng đời tồn tại trung bình khoảng 300 ngày (một số trường hợp kéo dài 10 năm như các mã CVE-2004-308 làm tổn hại bộ nhớ, CVE-2005-2974 gây từ chối dịch vụ, CVE-2005-3550 thực thi lệnh từ xa do hãng SAP công bố). Đề cập đến thị trường mua bán lỗ hổng (giá 90.000 USD cho quyền quản trị Windows) và chương trình trả thưởng 100.000 USD của Kaspersky Lab.
  3. Các giai đoạn và phương thức tấn công mạng:
    • Quy trình 5 giai đoạn: Thăm dò (Reconnaissance: thụ động và chủ động) $\rightarrow$ Quét hệ thống (Scanning) $\rightarrow$ Chiếm quyền điều khiển (Gaining access) $\rightarrow$ Duy trì điều khiển (Maintaining access) $\rightarrow$ Xóa dấu vết (Clearing tracks).
    • 8 phương thức tấn công tiêu biểu: Tấn công trình duyệt (Browser Attacks); tấn công vét cạn (Brute Force); từ chối dịch vụ (DDoS - dẫn số liệu 5.200 vụ tại 29 quốc gia năm 2017); sâu máy tính (Worm Attacks - điển hình là mã độc WannaCry lây nhiễm hơn 300.000 máy tính); phần mềm độc hại (Email Phishing, Malicious Websites, Malvertising); tấn công website (SQL Injection, XSS, Path Traversal); tấn công rà quét (Scan Attacks); tấn công vật lý và tấn công nội bộ.

Chương 2: Công cụ dò quét lỗ hổng bảo mật

Chương 2 giới thiệu về môi trường thử nghiệm Kali Linux, các công cụ chuyên dụng tích hợp và quy trình triển khai máy ảo:

  1. Tổng quan về hệ điều hành Kali Linux:
    • Tiền thân là BackTrack Linux, được Offensive Security phát hành lại từ đầu trên nền tảng Debian vào ngày 13/03/2013.
    • Cơ chế phát hành: Chuyển đổi từ đặt tên mã (1.x là Kali Moto, 2.0 là Kali Sana) sang mô hình Rolling Release sau năm 2016 (phiên bản trong đề tài là Kali Linux 2018).
    • Ưu điểm kỹ thuật: Đồng bộ Repository của Debian giúp cập nhật nhanh; tuân thủ chuẩn quản lý gói Debian; tương thích kiến trúc ARM (chạy được trên Raspberry Pi, thiết bị di động); hỗ trợ phần cứng không dây rộng rãi; tùy biến nhiều môi trường desktop (GNOME, KDE, XFCE); nâng cấp hệ thống trực tiếp qua dòng lệnh mà không cần cài mới.
  2. Khảo sát các công cụ an ninh nguồn mở tích hợp:
Tên công cụ Mục đích chính Đặc điểm kỹ thuật theo văn bản
Nmap / Zenmap Quét cổng, thăm dò dịch vụ mạng Hỗ trợ cả giao diện dòng lệnh và đồ họa (Zenmap); nhận dạng hệ điều hành, dịch vụ.
John The Ripper (JTR) Phá mã mật khẩu ngoại tuyến Sử dụng danh sách từ điển (wordlist); tấn công vét cạn offline.
Wireshark Phân tích lưu lượng giao thức mạng Mã nguồn mở (tiền thân Ethereal); bắt và phân tích gói tin thời gian thực.
Burp Suite Kiểm thử ứng dụng Web Bộ công cụ tích hợp gồm: Intercepting Proxy, Spider, Web Scanner, Intruder, Repeater, Sequencer, Extensions.
OWASP ZAP Quét lỗ hổng ứng dụng Web Công cụ proxy mã nguồn mở miễn phí của cộng đồng OWASP, thay thế tốt cho Burp Suite.
Aircrack-NG Bẻ khóa mạng không dây Thu thập gói tin và giải mã khóa bảo vệ chuẩn 802.11 WEP và WPA-PSK.
Ettercap Tấn công trung gian trong mạng LAN Hỗ trợ phân tích giao thức mạng và theo dõi an ninh nội bộ trên nhiều nền tảng OS.
Nikto Dò quét máy chủ web Kiểm tra hơn 6.700 tệp nguy hiểm, phiên bản lỗi thời trên 1.250 máy chủ và lỗi cụ thể của 270 máy chủ.
  1. Quy trình cài đặt Kali Linux trên VMware Workstation:
    • Yêu cầu cấu hình: Dung lượng ổ đĩa tối thiểu 20 GB (khuyến nghị thiết lập > 40 GB); bộ nhớ RAM tối thiểu 1 GB đối với i386/amd64 (khuyến nghị $\ge$ 2 GB); hỗ trợ khởi động CD-DVD/USB.
    • Quy trình thiết lập: Gồm 23 bước chi tiết từ tạo máy ảo Typical, chọn tệp ISO, chọn hệ điều hành Debian 9.x 64-bit, thiết lập vị trí địa lý Việt Nam, bàn phím Tiếng Việt, tạo tên máy ảo và tên miền localhost, cấu hình phân vùng đĩa đơn (/dev/sda), cập nhật gói mạng, cài đặt trình nạp khởi động GRUB lên /dev/sda cho đến khi khởi động lại hoàn tất.

Chương 3: Thực nghiệm

Chương 3 trình bày việc ứng dụng hai công cụ nguồn mở Zenmap và Nikto để kiểm tra an ninh trên mục tiêu thực nghiệm:

  1. Thực nghiệm với Zenmap:
    • Mô hình: Gồm máy quét (cài Kali Linux/Zenmap) kết nối Internet đến máy đích (hpu.vn).
    • Các bước thực hiện: Đăng nhập tài khoản root/root $\rightarrow$ Khởi chạy Zenmap theo đường dẫn Applications $\rightarrow$ Information Gathering $\rightarrow$ Zenmap.
    • Cấu hình tham số quét (Intense Scan): Lệnh quét kết hợp 3 tùy chọn:
      • -A: Kích hoạt nhận diện phiên bản hệ điều hành, dịch vụ, chạy traceroute và sử dụng tập lệnh NSE.
      • -v: Tăng mức độ chi tiết (verbose) của dữ liệu hiển thị.
      • -T4: Thiết lập thời gian quét ở mức nhanh (timing template thang từ T0 đến T5).
    • Kết quả quét cổng: Hệ thống phát hiện tổng cộng 14 cổng TCP đang mở trên máy chủ mục tiêu:
Cổng (Port TCP) Dịch vụ tương ứng ghi nhận
Port 21 FTP (Truyền tệp tin)
Port 80 HTTP (Dịch vụ Web)
Port 135, 139, 445 Các cổng dịch vụ mạng Windows / RPC / NetBIOS / SMB
Port 443 HTTPS (Dịch vụ Web mã hóa)
Port 3306 MySQL Database
Port 3389 Remote Desktop Protocol (Điều khiển từ xa)
Port 49152, 49153, 49154, 49155, 49156, 49157 Các cổng động cấp phát dịch vụ nội bộ hệ thống
  • Thông tin hệ thống trích xuất qua Host Details: Trạng thái máy (Up), địa chỉ IPv4, IPv6, địa chỉ MAC, tên máy/tên miền, cùng dự đoán hệ điều hành và xác suất chính xác. Tác giả chỉ ra nguy cơ việc mở nhiều cổng chưa cần thiết và khuyến nghị giải pháp đóng bớt cổng hoặc ẩn cổng dịch vụ.
  1. Thực nghiệm với Nikto:
    • Mô hình: Máy quét Kali Linux quét trực tiếp máy chủ dịch vụ web qua môi trường mạng Internet.
    • Các bước thực hiện: Đăng nhập tài khoản root/toor $\rightarrow$ Mở cửa sổ dòng lệnh Terminal theo đường dẫn Applications $\rightarrow$ Favorites $\rightarrow$ Terminal $\rightarrow$ Chạy lệnh quét Nikto hướng vào mục tiêu hpu.vn.
    • Kết quả ghi nhận:
      • Xác định phần mềm máy chủ: Apache Web Server.
      • Xác định phiên bản ngôn ngữ kịch bản: PHP/5.22.
      • Tổng số lỗ hổng phát hiện: 11 lỗi thuộc cơ sở dữ liệu OSVDB.
      • Các lỗi cụ thể được trích xuất gồm:
        • OSVDB-877: Phương thức HTTP TRACE đang được kích hoạt, tạo điều kiện cho các cuộc tấn công Cross-Site Tracing (XST).
        • Tệp XST.xml: Cho phép liệt kê danh mục cấu trúc nội dung của trang web.
        • OSVDB-12184: Truy vấn tham số /?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 làm lộ các thông tin cấu hình nhạy cảm của PHP thông qua một số chuỗi truy vấn HTTP chuyên biệt.

Kết quả và đóng góp

  • Kết quả thực nghiệm chính:
    • Thiết lập thành công hệ thống kiểm thử bảo mật độc lập trên nền ảo hóa VMware chạy Kali Linux phiên bản 2018.
    • Hoàn thành rà soát cổng dịch vụ bằng Zenmap với cấu hình -A -v -T4, định danh được chính xác 14 cổng TCP mở trên máy chủ đích (hpu.vn), bao gồm các cổng rủi ro cao nếu không bảo vệ như cổng điều khiển 3389, cơ sở dữ liệu 3306 và hệ thống chia sẻ tệp 135, 139, 445.
    • Sử dụng Nikto phát hiện 11 lỗi OSVDB trên máy chủ web Apache chạy PHP/5.22, bóc tách được các lỗi nguy cơ rò rỉ dữ liệu như phương thức TRACE (OSVDB-877) và lộ thông tin cấu hình PHP qua chuỗi truy vấn đặc biệt (OSVDB-12184).
  • Giải pháp và khuyến nghị đề xuất:
    • Quản trị viên cần tiến hành rà soát định kỳ và đóng các cổng dịch vụ không thực sự cần thiết, hoặc áp dụng các kỹ thuật ẩn cổng để tránh các đợt quét thăm dò từ kẻ tấn công.
    • Đối với máy chủ web, cần cấu hình tắt phương thức HTTP TRACE nhằm vô hiệu hóa kỹ thuật tấn công XST, đồng thời che giấu các thông tin phiên bản PHP/Apache để ngăn chặn việc thu thập dữ liệu cấu hình hệ thống.
  • Đóng góp của đồ án: Đồ án tổng hợp một cách có hệ thống cơ sở lý thuyết về lỗ hổng mạng, đồng thời chuẩn hóa quy trình cài đặt từng bước hệ điều hành Kali Linux và quy trình dò quét thực tế bằng công cụ mã nguồn mở, chứng minh tính khả thi của giải pháp bảo mật chi phí thấp cho các đơn vị vừa và nhỏ.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Văn bản khóa luận chưa mở rộng thực nghiệm khai thác chuyên sâu đối với các lỗ hổng đã được phát hiện mà chỉ dừng lại ở mức độ rà quét và liệt kê thông tin.
    • Dù tiêu đề đề tài định hướng "trong mạng LAN", nội dung thực nghiệm tại Chương 3 chủ yếu triển khai quét trực tiếp vào mục tiêu tên miền web công cộng (hpu.vn) qua mạng Internet, chưa thể hiện chi tiết các kịch bản thử nghiệm mô phỏng riêng biệt trên các phân đoạn mạng cục bộ nội bộ thuần túy.
  • Hướng nghiên cứu tiếp: Căn cứ theo phạm vi đồ án, các hướng phát triển tiếp theo bao gồm việc nghiên cứu các cơ chế tự động vá lỗi sau khi rà quét, mở rộng kiểm thử các công cụ phòng thủ khác trên Kali Linux (như phân tích gói tin chuyên sâu với Wireshark, bẻ khóa thử nghiệm dịch vụ nội bộ), và xây dựng chính sách an toàn thông tin toàn diện cho mạng LAN cơ quan.

Giá trị tham khảo

  • Đối tượng sử dụng:
    • Sinh viên ngành Công nghệ Thông tin, chuyên ngành Mạng máy tính và An toàn thông tin đang chuẩn bị làm đồ án tốt nghiệp hoặc bài tập lớn về kiểm thử bảo mật.
    • Quản trị viên hệ thống mạng tại các cơ quan, trường học muốn tìm hiểu giải pháp kiểm toán an ninh mạng định kỳ bằng phần mềm mã nguồn mở miễn phí.
  • Phần nội dung có giá trị tham khảo cao nhất:
    • Hướng dẫn trực quan 23 bước cài đặt chi tiết Kali Linux trên VMware Workstation tại Mục 2.4.
    • Cấu hình tham số dòng lệnh rà quét nâng cao (-A -v -T4) trên Zenmap và quy trình phân tích kết quả quét cổng tại Mục 3.1.
    • Danh mục và cách phân tích các cảnh báo mã lỗi OSVDB trả về từ công cụ Nikto tại Mục 3.2.

Câu hỏi thường gặp

1. Tùy chọn dòng lệnh -A, -v, và -T4 trong công cụ Zenmap được tác giả giải thích có tác dụng gì?
Trong đồ án, -A là tùy chọn nâng cao ra lệnh cho Nmap nhận dạng phiên bản hệ điều hành, dịch vụ, thực hiện traceroute và chạy các kịch bản mã lệnh NSE; -v (verbose) có tác dụng hiển thị thông tin rà quét một cách chi tiết và tường minh hơn; -T4 là mẫu định thời gian (timing template) mức 4 trên thang từ T0 đến T5 (nhanh nhất), quy định tốc độ thực thi tiến trình quét của Nmap.

2. Công cụ Nikto đã phát hiện ra bao nhiêu lỗi trên máy chủ web mục tiêu và phiên bản dịch vụ web là gì?
Kết quả thực nghiệm bằng Nikto trên máy chủ hpu.vn xác định phần mềm máy chủ là Apache Web Server sử dụng phiên bản PHP/5.22, đồng thời phát hiện tổng cộng 11 lỗi bảo mật được đánh mã theo cơ sở dữ liệu OSVDB (trong đó nêu cụ thể lỗi OSVDB-877 và OSVDB-12184).

3. Yêu cầu phần cứng tối thiểu để cài đặt hệ điều hành Kali Linux trên máy ảo VMware theo đồ án là gì?
Theo Mục 2.4.2 của đồ án, điều kiện tiên quyết để cài đặt bao gồm dung lượng ổ đĩa trống tối thiểu 20 GB (khuyến nghị để lớn hơn 40 GB để hoạt động tốt), bộ nhớ RAM tối thiểu 1 GB cho kiến trúc i386 và amd64 (khuyến nghị từ 2 GB trở lên), cùng khả năng hỗ trợ khởi động từ CD-DVD hoặc USB.

4. Hai lỗ hổng OSVDB cụ thể được phân tích trong báo cáo Nikto có mã số và nguy cơ gì?
Đồ án chỉ rõ hai lỗi: mã OSVDB-877 liên quan đến việc phương thức HTTP TRACE đang kích hoạt, làm cho máy chủ có nguy cơ bị tấn công Cross-Site Tracing (XST); và mã OSVDB-12184 liên quan đến việc PHP tiết lộ các thông tin cấu hình nhạy cảm thông qua một số chuỗi truy vấn HTTP chứa tham số đặc biệt /?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000.

5. Lỗ hổng zero-day được đồ án định nghĩa như thế nào và thời gian tồn tại trung bình là bao lâu?
Đồ án định nghĩa lỗ hổng zero-day là những lỗ hổng chưa được nhà sản xuất biết đến hoặc chưa kịp khắc phục tại thời điểm phát hành phiên bản mới, có nguy cơ bị khai thác trong thực tế ngay khi phát hiện; thời gian tồn tại trung bình của loại lỗ hổng này được nêu là khoảng 300 ngày, cá biệt có những lỗ hổng tồn tại kéo dài tới 10 năm như trường hợp của hãng SAP.

Kết luận

Đồ án tốt nghiệp "Phát hiện lỗ hổng bảo mật trong mạng LAN dựa trên phần mềm nguồn mở" của sinh viên Nguyễn Bá Đức đã hệ thống hóa tương đối đầy đủ các khái niệm lý thuyết về lỗ hổng an toàn thông tin và quy trình tấn công mạng. Tác giả đã trình bày chi tiết các tính năng của hệ điều hành Kali Linux cùng các công cụ kiểm thử mã nguồn mở, đồng thời hướng dẫn cụ thể quy trình cài đặt môi trường ảo hóa. Thông qua các thực nghiệm thực tế với Zenmap và Nikto, đồ án đã chứng minh khả năng phát hiện các cổng mở tiềm ẩn rủi ro và các lỗ hổng web máy chủ, cung cấp tài liệu tham khảo kỹ thuật mang tính ứng dụng thực hành cho sinh viên ngành Công nghệ Thông tin.