I. Tổng quan về tấn công Man in the Middle và đánh giá an toàn mạng
Tấn công Man-in-the-Middle (MiTM) là một trong những phương thức tấn công mạng phổ biến và nguy hiểm nhất hiện nay. Trong thời đại công nghiệp 4.0, khi các thiết bị IoT và công nghệ mới phát triển mạnh mẽ, cơ chế bảo mật thường không theo kịp tốc độ phát triển. Điều này tạo điều kiện cho kẻ tấn công xâm nhập vào mạng nội bộ LAN, đánh cắp thông tin cá nhân, thông tin đăng nhập và tài liệu quan trọng của người dùng. Báo cáo đồ án này trình bày quá trình nghiên cứu, phân tích và xây dựng công cụ tấn công MiTM phục vụ đánh giá an toàn mạng. Mục tiêu chính bao gồm giới thiệu các phương thức tấn công MiTM, phân tích thiết kế công cụ tấn công, thử nghiệm thực tế và đề xuất phương pháp phòng chống. Công cụ được xây dựng dựa trên ngôn ngữ Python, sử dụng thư viện Scapy để thực hiện các kỹ thuật tấn công ARP Spoofing, DNS Spoofing và lắng nghe gói tin HTTP. Qua quá trình nghiên cứu, các mục tiêu đề ra cơ bản đã đạt được, góp phần nâng cao hiểu biết về bảo mật mạng.
1.1. Khái niệm tấn công Man in the Middle MiTM
Tấn công Man-in-the-Middle là kỹ thuật trong đó kẻ tấn công bí mật chèn mình vào giữa hai bên giao tiếp, cho phép nghe lén, chặn và thay đổi dữ liệu truyền đi mà nạn nhân không hề hay biết. Kẻ tấn công có thể giả mạo danh tính của cả hai đầu mối liên lạc, từ đó thu thập thông tin nhạy cảm như tên đăng nhập, mật khẩu và dữ liệu cá nhân. Kiểu tấn công này có thể xảy ra ở bất kỳ đâu trong mạng nội bộ, đặc biệt nguy hiểm trong môi trường mạng LAN nơi mà việc truyền tin thường thiếu mã hóa đầu cuối.
1.2. Tầm quan trọng của đánh giá an toàn mạng hiện đại
Đánh giá an toàn mạng là quy trình kiểm tra, phát hiện lỗ hổng và điểm yếu trong hệ thống mạng trước khi kẻ xấu khai thác. Trong bối cảnh các cuộc tấn công mạng ngày càng tinh vi, việc xây dựng công cụ kiểm thử mô phỏng tấn công MiTM giúp đánh giá mức độ an toàn của hạ tầng mạng. Nhiều công cụ như Ettercap đã tồn tại lâu đời nhưng vẫn còn hạn chế về khả năng thu thập thông tin. Việc phát triển công cụ tấn công mới với nhiều phương thức hơn là cần thiết để phục vụ đánh giá toàn diện hệ thống bảo mật mạng.
II. Phân tích các phương thức và kỹ thuật tấn công MiTM phổ biến
Tấn công MiTM sử dụng nhiều phương thức khác nhau để chen vào đường truyền dữ liệu. Phương pháp phổ biến nhất là ARP Spoofing, kẻ tấn công gửi gói tin ARP giả mạo đến nạn nhân và gateway, khiến lưu lượng mạng đi qua máy của kẻ tấn công. Kỹ thuật DNS Cache Poisoning cho phép kẻ tấn công sửa đổi bản ghi DNS, chuyển hướng nạn nhân đến website giả mạo. Tấn công ICMP Redirect lợi dụng giao thức ICMP để thay đổi bảng định tuyến của nạn nhân, buộc gói tin đi qua máy kẻ tấn công. Ngoài ra, hình thức Packet Injection and Modification cho phép kẻ tấn công không chỉ nghe lén mà còn thay đổi nội dung gói tin, thêm gói tin độc hại nhằm chuyển hướng hoặc thay đổi hành vi máy tính nạn nhân. Ví dụ điển hình là DNS Spoofing sử dụng kỹ thuật sửa đổi gói tin DNS Query, khi nạn nhân yêu cầu phân giải tên miền Yahoo.com, kẻ tấn công thay đổi phản hồi dẫn đến địa chỉ IP giả mạo. Các kỹ thuật này có thể kết hợp tạo thành cuộc tấn công phức tạp, khó phát hiện nếu không có cơ chế bảo mật phù hợp.
2.1. Kỹ thuật ARP Spoofing và DNS Cache Poisoning
ARP Spoofing khai thác giao thức ARP không có cơ chế xác thực, kẻ tấn công gửi gói tin ARP Reply giả mạo liên tục để cập nhật bảng ARP của nạn nhân và gateway. Kết quả là toàn bộ lưu lượng mạng giữa nạn nhân và router đều đi qua máy kẻ tấn công. DNS Cache Poisoning tấn công vào bộ nhớ cache DNS, kẻ tấn công chèn bản ghi DNS giả mạo, khiến nạn nhân bị chuyển hướng đến website giả khi truy cập tên miền hợp lệ. Cả hai kỹ thuật đều là nền tảng quan trọng trong các cuộc tấn công MiTM phức tạp.
2.2. Hình thức Packet Injection và thay đổi gói tin
Packet Injection là hình thức tấn công nâng cao khi kẻ tấn công đã đứng giữa đường truyền và nghe lén được các gói tin. Kẻ tấn công có thể thay đổi tham số gói tin hoặc chỉnh sửa số thứ tự để chèn gói tin độc hại vào luồng dữ liệu hợp lệ. Gói tin độc hại sau đó được truyền lại cho nạn nhân nhằm chuyển hướng truy cập, ngụy trang nội dung hoặc thay đổi cách thức hoạt động của hệ thống nạn nhân. Hình thức này đặc biệt nguy hiểm vì nạn nhân không nhận ra dữ liệu đã bị can thiệp.
III. Xây dựng và thử nghiệm công cụ tấn công MiTM phục vụ đánh giá bảo mật
Công cụ tấn công MiTM được xây dựng bằng ngôn ngữ Python với thư viện Scapy làm nền tảng chính. Công cụ tích hợp ba chức năng cốt lõi: tấn công ARP Spoofing, phát hiện ARP Spoofing và lắng nghe HTTP Sniffer. Chức năng ARP Spoofing gửi gói tin ARP giả mạo định kỳ đến nạn nhân và gateway để duy trì vị trí trung gian. ARP Spoofing Detector giám sát lưu lượng mạng, so sánh các cặp địa chỉ MAC-IP để phát hiện bất thường và cảnh báo người quản trị. HTTP Sniffer sử dụng hàm sniff của Scapy kết hợp module scapy_http để nhận diện gói tin HTTP request, trích xuất URL, cookie và thông tin đăng nhập tiềm ẩn. Công cụ sử dụng module termcolor để hiển thị màu sắc giúp nhận diện thông tin quan trọng dễ dàng hơn. Quá trình thử nghiệm được thực hiện trong môi trường mạng LAN kiểm soát, đánh giá hiệu quả từng chức năng riêng lẻ và kết hợp. Kết quả cho thấy công cụ có khả năng thực hiện tấn công ARP Spoofing ổn định, phát hiện spoofing chính xác và thu thập thông tin HTTP hiệu quả trong mạng không mã hóa.
3.1. Thiết kế chức năng ARP Spoofing và phát hiện tấn công
Chức năng ARP Spoofing hoạt động bằng cách gửi gói tin ARP Reply giả mạo liên tục, cập nhật bảng ARP của nạn nhân và gateway để mọi lưu lượng đều đi qua máy tấn công. Công cụ cho phép người dùng chọn interface mạng và địa chỉ IP mục tiêu. Song song đó, chức năng ARP Spoofing Detector liên tục giám sát bảng ARP, khi phát hiện hai địa chỉ IP khác nhau cùng ánh xạ đến một địa chỉ MAC, hệ thống sẽ phát cảnh báo. Cơ chế phát hiện này giúp quản trị viên mạng nhận biết kịp thời cuộc tấn công đang diễn ra.
3.2. Chức năng HTTP Sniffer và thu thập thông tin
HTTP Sniffer lắng nghe toàn bộ gói tin đi qua interface mạng đã chọn. Công cụ sử dụng module scapy_http để phân tích gói tin HTTP request, từ đó trích xuất các thông tin quan trọng gồm URL truy cập, cookie phiên làm việc và thông tin đăng nhập. Các hàm process_url và process_cookie xử lý dữ liệu thu được, sử dụng danh sách dấu hiệu để cảnh báo những thông tin nhạy cảm. Hàm get_login_info kiểm tra trường Raw trong gói tin để phát hiện thông tin đăng nhập tiềm ẩn, hiển thị nổi bật bằng màu đỏ để người dùng dễ nhận biết.
IV. Kết luận và hướng phát triển công cụ đánh giá an toàn mạng trong tương lai
Báo cáo đồ án đã trình bày toàn diện về tấn công Man-in-the-Middle từ lý thuyết đến thực hành. Các mục tiêu đề ra cơ bản đạt được bao gồm nghiên cứu phương thức tấn công MiTM, xây dựng công cụ tấn công tích hợp ARP Spoofing, ARP Detection và HTTP Sniffer, thử nghiệm trong môi trường kiểm soát và tìm hiểu phương pháp phòng chống. Công cụ được xây dựng cho thấy tiềm năng trong việc đánh giá an toàn mạng nội bộ, đặc biệt khả năng phát hiện thông tin đăng nhập và cookie trong giao thức HTTP không mã hóa. Tuy nhiên, công cụ vẫn còn hạn chế do kiến thức và kỹ năng lập trình, chưa hỗ trợ đầy đủ các phương thức tấn công nâng cao như HTTPS stripping hay SSL hijacking. Hướng phát triển trong tương lai bao gồm mở rộng khả năng tấn công sang giao thức HTTPS, tích hợp module tự động hóa quy trình kiểm thử và phát triển giao diện đồ họa thân thiện. Việc nghiên cứu tiếp tục công cụ tấn công MiTM vẫn còn nhiều tiềm năng để cải thiện kỹ thuật và thêm phương thức mới, phục vụ hiệu quả hơn cho mục tiêu đánh giá và nâng cao an toàn mạng.
4.1. Các kết quả đạt được và hạn chế của đồ án
Đồ án đã đạt được các mục tiêu chính: giới thiệu tổng quan về tấn công MiTM, phân tích các phương thức ARP Spoofing, DNS Cache Poisoning và Packet Injection, xây dựng công cụ tấn công với ba chức năng hoạt động ổn định, thực hiện thử nghiệm thành công trong môi trường mạng LAN kiểm soát. Hạn chế lớn nhất là công cụ chỉ hoạt động hiệu quả với giao thức HTTP chưa mã hóa, chưa thể xử lý lưu lượng HTTPS. Ngoài ra, giao diện dòng lệnh còn phức tạp, chưa thân thiện với người dùng phổ thông.
4.2. Ứng dụng thực tế và hướng phát triển tương lai
Công cụ tấn công MiTM có ứng dụng thực tế trong đánh giá an toàn mạng nội bộ, kiểm thử thâm nhập và đào tạo nhận thức bảo mật cho nhân viên. Hướng phát triển bao gồm tích hợp kỹ thuật HTTPS stripping để đánh giá mạng sử dụng mã hóa, xây dựng module phát hiện tấn công tự động hóa và phát triển giao diện đồ họa trực quan. Công cụ cũng có thể mở rộng thêm khả năng phân tích giao thức khác như FTP, SMTP nhằm cung cấp đánh giá toàn diện hơn cho hệ thống mạng doanh nghiệp.