GIỚI THIỆU CHUNG
Nguyên tắc truyền thông TCP
1.1 Cấu tạo gói tin TCP
TCP là giao thức hướng kết nối, yêu cầu thiết lập kết nối trước khi truyền dữ liệu Nó hỗ trợ cơ chế fullduplex, cho phép truyền và nhận dữ liệu đồng thời Bên cạnh đó, TCP cung cấp cơ chế đánh số gói tin để đảm bảo thứ tự đúng tại điểm nhận, cơ chế báo nhận để xác nhận dữ liệu đã nhận, và khả năng phục hồi dữ liệu bị mất trong quá trình truyền.
Hình 1-1: Cấu tạo gói tin TCP Ở đây ta chỉ để ý tới các thiết lập Flag trong gói tin TCP nhằm mục đích sử dụng để Scan Port:
− Thông số SYN để yêu cầu kết nối giữa hai máy tính
− Thông số ACK để trả lời kết nối giữa hai máy có thể bắt đầu được thực hiện
− Thông số FIN để kết thúc quá trình kết nối giữa hai máy
− Thông số RST từ Server để nói cho Client biết rằng giao tiếp này bị cấm (không thể sử dụng)
− Thông số PSH sử dụng kết hợp với thông số URG
− Thông số URG sử dụng để thiết lập độ ưu tiên cho gói tin này
Gói tin TCP sử dụng các bit để thể hiện các thông số thiết lập, trong đó mỗi thông số được mã hóa thành 1 hoặc 0 Nếu giá trị là 0, thông số đó không được thiết lập; nếu là 1, thông số sẽ được thực hiện và được thể hiện lần lượt trong 8 bits của phần Flag.
1.2 Quá trình một phiên làm việc TCP với Server
Khi Client muốn thực hiện một kết nối TCP với Server:
Bước 1: Host A gửi cho B một gói tin có cờ SYN được bật lên
Bước 2: Host B nhận được gói tin thì B gửi lại gói tin có cờ SYN được bật lên, kèm theo đó là cờ ACK (để xác nhận)
Bước 3: Sau khi kết nối đã được thiết lập thì A gởi tin để đáp ứng nhu cầu của
B Và chỉ có cờ ACK được bật lên bởi gói tin bước 3 được dùng để báo nhận cho gói tin bước 2
Khi Client muốn kết thúc một phiên làm việc với Server:
Bước 1: Client gửi đến Server một gói tin FIN ACK
Bước 2: Server gửi lại cho Client một gói tin ACK
Bước 3: Server lại gửi cho Client một gói FIN ACK
Bước 4: Client gửi lại cho Server gói ACK và quá trình ngắt kết nối giữa Server và Client được thực hiện.
Internet Scanning
2.1 Giới thiệu về Internet Scanning
Internet Scanning là một kỹ thuật quan trọng được sử dụng bởi các nhà nghiên cứu để nghiên cứu và đo lường Internet, đồng thời cũng bị lạm dụng bởi các hacker nhằm tìm kiếm lỗ hổng để khai thác Mục tiêu của việc quét Internet là thu thập thông tin cần thiết cho cả những người quản lý mạng và những kẻ tấn công Thông tin thu thập được bao gồm các dịch vụ đang hoạt động trên Internet, thông tin về hệ điều hành của máy chủ, các cổng mở và các host đang hoạt động trên mạng.
Internet Scanning là công cụ hữu ích để thu thập thông tin từ mạng, chủ yếu phục vụ hai mục đích chính: tìm kiếm lỗ hổng bảo mật để khai thác hoặc nghiên cứu an ninh, và thống kê để cung cấp cái nhìn tổng quan về các vấn đề trên Internet Bên cạnh đó, nhiều tổ chức cũng thực hiện các dự án Scanning không nhằm nghiên cứu hay khai thác lỗ hổng, mà để khám phá và trinh sát phục vụ cho các hoạt động quân sự.
Ví dụ: Khi một lỗ hổng mới được công bố trên Internet Sử dụng Internet
Quá trình quét giúp xác định các máy chủ bị ảnh hưởng bởi lỗ hổng bảo mật, cũng như những máy chủ đã được vá lỗi Đồng thời, nó cũng cung cấp thông tin về các dịch vụ trên các máy chủ đó có liên quan đến lỗ hổng này.
2.3 Tình trạng Internet Scanning hiện nay
Theo thống kê, gần 80% lượng quét nhắm tới hơn 1% không gian địa chỉ IPV4, và trước đây, việc quét Internet với số lượng địa chỉ IP lớn là một quá trình chậm chạp, tốn nhiều công sức, như trường hợp quét của Electronic Frontier Foundation vào năm 2010 kéo dài hơn 3 tháng Tuy nhiên, sự ra đời của hai công cụ quét tốc độ cao, ZMap và Masscan, đã làm thay đổi đáng kể quy trình này, rút ngắn thời gian quét từ vài tuần xuống chỉ còn vài giờ Tiến bộ này không chỉ giúp kẻ tấn công thực hiện quét quy mô lớn nhanh chóng mà còn tạo ra cơ hội nghiên cứu hấp dẫn cho ngành nghiên cứu Internet.
Quét ngang (Horizontal scan) là quá trình quét một cổng trên nhiều địa chỉ IP, điển hình là quét toàn bộ không gian địa chỉ IPV4 trên một cổng duy nhất Phương pháp này thường được kẻ tấn công sử dụng để phát hiện các cổng mở trên nhiều máy chủ, từ đó khai thác lỗ hổng của các ứng dụng đang lắng nghe trên cổng đó Ngoài ra, quét ngang cũng có thể được áp dụng trong kiểm tra an ninh, chẳng hạn như thống kê sự phân bố của các lỗ hổng trên internet.
Quét dọc là chức năng quét nhiều cổng trên cùng một địa chỉ IP, ví dụ như quét tất cả các cổng thông dụng của một máy chủ Mục đích của việc quét này chủ yếu là phát hiện lỗ hổng bảo mật trên một hệ thống duy nhất.
Quét khối là phương pháp kết hợp giữa quét nhiều cổng và nhiều địa chỉ khác nhau Tuy nhiên, với các khối lớn, khả năng mở rộng bị hạn chế Thực tế, chỉ một số cổng thông dụng được quét, không quét toàn bộ cổng của máy chủ Phương pháp này thường được sử dụng bởi các chuyên gia an ninh mạng toàn cầu hoặc kẻ tấn công nhắm vào nhiều lỗ hổng khác nhau.
Bài viết này tập trung vào việc nghiên cứu loại hình Horizontal scan và các dịch vụ thường được nhắm đến trong quá trình quét Internet quy mô lớn.
2.5 Một số các kiểu Scanning thông dụng
Port scanning là quá trình kết nối các cổng TCP và UDP trên internet để xác định dịch vụ đang hoạt động hoặc đang lắng nghe Việc xác định các cổng lắng nghe rất quan trọng để hiểu loại hệ thống và ứng dụng đang được sử dụng, vì mỗi dịch vụ máy tính thường liên quan đến một số cổng phổ biến.
Quá trình quét mạng (network scanning) nhằm xác định các máy chủ hoạt động trên mạng, phục vụ cho việc tấn công hoặc đánh giá an ninh mạng Các máy chủ được nhận diện thông qua địa chỉ IP của chúng Các công cụ quét mạng cố gắng phát hiện tất cả các máy chủ đang hoạt động và địa chỉ IP tương ứng Sau khi xác định được những địa chỉ có máy chủ đang hoạt động, việc quét cổng sẽ chỉ được thực hiện trên những địa chỉ này, giúp tiết kiệm thời gian và chi phí quét mạng một cách hiệu quả.
Quá trình quét lỗ hổng, hay vulnerability scanning, là phương pháp chủ động để xác định các điểm yếu trên internet Đầu tiên, máy quét sẽ nhận diện hệ điều hành và phiên bản cùng các gói dịch vụ đã cài đặt Tiếp theo, nó sẽ phát hiện các lỗ hổng trong hệ điều hành Hệ thống phát hiện xâm nhập (IDS) hoặc các mạng an ninh chuyên nghiệp có thể phát hiện hoạt động quét cổng Các công cụ quét cổng TCP/IP tìm kiếm các cổng mở và địa chỉ IP, từ đó phát hiện các lỗ hổng thông qua sự tương tác với các mục tiêu trên mạng.
Nguyên tắc quét cổng trên một hệ thống
Trên gói TCP/UDP có 16 bít dành cho Port Number điều đó có nghĩa nó có tử 1-
Hacker thường không quét toàn bộ 65535 cổng trên hệ thống mà chỉ tập trung vào những cổng phổ biến, thường từ cổng 1 đến cổng 1024 Dựa vào nguyên tắc truyền thông TCP, chúng ta có thể xác định trạng thái của các cổng trên máy mục tiêu.
Quá trình quét SYN diễn ra khi Client gửi gói tin SYN đến Server với một cổng cụ thể Nếu Server phản hồi bằng gói SYN/ACK, điều này cho thấy cổng trên Server đang mở Ngược lại, nếu Server gửi gói RST/SYN, Client sẽ biết rằng cổng đó đã bị đóng.
FIN Scan is a technique used when a client has not established a connection to a server but still sends a FIN packet to a specific port on the target server If the server responds with an ACK packet, the client concludes that the port is open Conversely, if the server sends back a RST packet, the client determines that the port is closed.
A NULL Scan involves a client sending TCP packets to a server targeting specific ports without any flag settings such as FIN, URG, or PSH If the server responds with a RST packet, it indicates that the corresponding port on the server is closed.
XMAS Scan là phương pháp mà Client gửi các gói tin TCP đến những cổng nhất định để quét, với nhiều thông số Flag như FIN, URG và PSH Khi Server phản hồi bằng gói RST, điều đó cho thấy cổng trên Server đã bị đóng.
TCP Connect là phương thức thực tế cho phép gửi gói tin yêu cầu kết nối tới các port cụ thể trên Server Khi Server phản hồi bằng gói SYN/ACK, Client nhận biết rằng port đó đang mở Ngược lại, nếu Server gửi gói RST/ACK, Client sẽ biết rằng port đó đã bị đóng.
ACK Scan: dạng Scan này nhằm mục đích tìm những Access Controll List trên
Server cố gắng kết nối tới Server bằng gói ICMP nếu nhận được gói là Host Unreachable thì Client sẽ biết port đó trên server đã bị lọc
Ngoài ra còn có các loại scan trong TCP scan dễ bị tấn công như:
RPC Scan: Cố gắng kiểm tra xem hệ thống có mở port cho dịch vụ RPC không
Windows Scan: Tương tự như ACK Scan, nhưng nó có thể chỉ thực hiện trên một số port nhất định
FTP Scan: Có thể sử dụng để xem dịch vụ FTP có được sử dụng trên Server hay không
Gói tin truyền bằng TCP đảm bảo tính toàn vẹn và an toàn khi đến đích, trong khi gói tin truyền bằng UDP tập trung vào tốc độ và hiệu suất với kích thước nhỏ Quá trình truyền tin qua TCP cho phép kẻ tấn công dễ dàng quét hệ thống để xác định các cổng mở thông qua các thông số Flag Ngược lại, UDP là giao thức không kết nối (connectionless), cho phép gửi gói tin ngay lập tức mà không cần thiết lập kết nối trước Tuy nhiên, UDP không đảm bảo tính tin cậy trong việc truyền dữ liệu và không có cơ chế phục hồi, vì nó không theo dõi xem gói tin có đến đích hay không và cũng không biết có bị mất mát trong quá trình truyền.
Hình 1-8: Cấu tạo gói tin UDP
Gói UDP không có các thông số Flag, vì vậy không thể áp dụng các phương pháp quét cổng TCP cho UDP Đáng tiếc là hầu hết các hệ thống đều cho phép gói ICMP Khi một cổng bị đóng, server sẽ nhận gói ICMP từ client và cố gắng gửi lại gói ICMP loại 3 mã 3 để thông báo về tình trạng cổng.
"unreachable" về Client Khi thực hiện UDP Scan bạn hãy chuẩn bị tinh thần nhận được các kết quả không có độ tin cậy cao.
Giới thiệu về công cụ rà quét ZMap
Dự án ZMap, ra đời năm 2013 tại Đại học Michigan, được sáng lập bởi Zakir Durumeric, Eric Wustrow và J Alex Halderman, với việc phát hành máy quét ZMap gói đơn Kể từ đó, nhóm phát triển ZMap đã phát triển nhiều công cụ và thư viện mã nguồn mở, phục vụ cho việc phân tích thực nghiệm quy mô lớn về các thiết bị Internet.
Các cuộc điều tra Internet quy mô lớn thu thập dữ liệu từ các tập hợp con của không gian địa chỉ public IP, giúp phát hiện lỗ hổng mới và theo dõi biện pháp giảm thiểu Tuy nhiên, phương pháp này dễ bị lạm dụng bởi kẻ tấn công hơn là các nhà nghiên cứu hợp pháp, những người không thể sử dụng quyền truy cập mạng trái phép Việc quét toàn bộ không gian địa chỉ công khai bằng các công cụ như Nmap yêu cầu thời gian và tài nguyên lớn, thường kéo dài hàng tuần hoặc cần nhiều máy tính.
Bài báo cáo này trình bày về ZMap, công cụ mã nguồn mở chuyên dụng cho việc quét mạng, cho phép thực hiện quét nghiên cứu toàn diện trên Internet ZMap có khả năng quét một cổng mở trên toàn bộ không gian địa chỉ IPv4 công cộng chỉ trong vòng dưới 45 phút, đạt hơn 97% tốc độ tối đa lý thuyết của gigabit Ethernet mà không cần phần cứng chuyên dụng Kiến trúc mô-đun của ZMap hỗ trợ nhiều loại đầu dò gói đơn như quét TCP SYN, ICMP echo request và quét UDP, đồng thời cho phép người dùng dễ dàng tích hợp mã tùy chỉnh để thực hiện các hành động tiếp theo trên các máy chủ được phát hiện.
ZMap áp dụng thiết kế mô-đun để tương thích với nhiều loại đầu dò và tích hợp với các ứng dụng nghiên cứu khác nhau Lõi công cụ quét xử lý phân tích dòng lệnh và tệp cấu hình, quản lý địa chỉ, theo dõi tiến độ và hiệu suất, cũng như thực hiện các thao tác đọc và viết gói tin mạng Các mô-đun thăm dò có thể được tùy chỉnh cho từng loại đầu dò, đảm nhiệm việc tạo gói thăm dò và xác định tính hợp lệ của các gói phản hồi Các trình xử lý đầu ra mô-đun cho phép chuyển kết quả quét đến quy trình khác, tích hợp trực tiếp vào cơ sở dữ liệu hoặc gửi đến mã người dùng để thực hiện các hành động tiếp theo, như hoàn thành giao thức bắt tay Một trong những đặc điểm kiến trúc nổi bật của ZMap là việc gửi và nhận gói tin diễn ra trong các chuỗi riêng biệt, hoạt động độc lập và liên tục trong suốt quá trình quét, với thiết kế nhằm giảm thiểu chia sẻ trạng thái giữa các quá trình này.
Nhà phát triển ZMap đã triển khai ZMap trong khoảng 8.900 dòng mã nguồn ngôn ngữ C Nó được viết và thử nghiệm trên hệ điều hành GNU
HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG ZMAP
Hướng dẫn cài đặt
ZMap là công cụ quét mạng hoạt động trên các hệ điều hành GNU/Linux, MacOS và BSD Bạn có thể dễ dàng cài đặt phiên bản ổn định mới nhất (v2.1.1) thông qua hầu hết các trình quản lý gói của hệ điều hành.
Fedora 19+ or EPEL 6+: sudo yum install zmap
Debian 8+ or Ubuntu 14.04+: sudo apt install zmap
MacOS (using Homebrew): brew install zmap
Arch Linux: sudo pacman -S zmap
Kali Linux: sudo apt-get install zmap
Hình 2-1: Cài đặt ZMap trên Kali Linux
Các phiên bản của ZMap được cập nhật tại: git://github.com/zmap/zmap.git
Hướng dẫn sử dụng
Trong bài viết này em sẽ demo cách sử dụng cơ bản ZMap trên Kali Linux
Chúng ta sẽ thực hiện quét ngẫu nhiên 1000 địa chỉ IP trên cổng 80 với tốc độ gửi tin là 10Mbps, và kết quả quét sẽ được lưu trữ trong file result.zmap.
Khi quá trình quét của Zmap bắt đầu, người dùng sẽ thấy cập nhật trạng thái quét mỗi giây, bao gồm thời gian quét còn lại, số gói tin đã gửi và nhận, cùng với lượt truy cập Tất cả kết quả quét sẽ được lưu trữ trong file result.zmap.
Sau đây là các tham số được sử dụng phổ biến khi tiến hành quét với zmap:
-p, target-port: Số cổng TCP để quét ( Ví dụ: 80)
-o, output-file: File lưu kết quả quét
-b, blacklist-file: Khi quét Zmap sẽ không quét các địa chỉ nằm trong danh sách này
-n, max-targets: Số mục tiêu cần quét
-N, max-results: Thoát khỏi quá trình quét sau khi nhận được số kết quả được nhập vào tham số này
-r, rate: Thiết lập tốc độ gửi các gói tin
-B, bandwidth: Thiết lập tốc độ gửi bằng bit/s
-s, source-port: Các gói dữ liệu sẽ được gửi từ cổng này
-S, source-Ip: Các gói dữ liệu sẽ được gửi từ địa chỉ IP này Có thể là 1 hay nhiều địa chỉ IP
-G, gateway-Mac: Địa chỉ Gateway để gửi gói tin đến
-i, interface: Giao diện mạng sử dụng
list-probe-modules: Danh sách module thăm dò ( Ví dụ: tcp_synscan) -M, probe-module: Chọn kiểu module thăm dò Mặc định là tcp_synscan
-C, config: Đọc 1 tập tin cấu hình
-q, quiet: Không hiển thị cập nhật trạng thái trong quá trình quét
-g, summary: cấu hình In và tóm tắt các kết quả vào cuối của quá trình quét -v, verbosity: mức độ chi tiết log
Hình 2-2: Hướng dẫn sử dụng ZMap
Hình 2-2: Hướng dẫn sử dụng ZMap (tiếp theo)
CÁC BÀI LAB, KỊCH BẢN DEMO
Thực hiện rà quét với các ví dụ cơ bản
1.1 Quét Internet để tìm các máy chủ trên TCP/80 và xuất ra stdout
Hình 3-1: Kết quả quét máy chủ trên TCP/80 và xuất ra stdout
ZMap sẽ quét toàn bộ các máy chủ trên TCP / 80 trên Internet, do vậy, quá trình quét mất khá nhiều thời gian
1.2 Tìm 5 HTTP Servers với tốc độ quét là 10Mb/s
Hình 3-2: Kết quả tìm 5 HTTP Servers với tốc độ quét là 10Mb/s
1.3 Quét 2 subnets trên cổng TCP/80
Cú pháp: zmap -p 80 14.0.0.0/8 192.148.0.0/16 -o output-moduleault
ZMap sử dụng danh sách đen mặc định tại /etc/zmap/blacklist.conf, loại trừ các mạng cục bộ như 10.0.0.0/8, 127.0.0.1/8 và 192.168.0.0/16 Nếu bạn muốn quét các mạng cục bộ, hãy chỉnh sửa danh sách đen này trong cấu hình ZMap tại /etc/zmap/zmap.conf.
Hình 3-3: Quá trình quét 2 subnets trên cổng TCP/80
ZMap sẽ đưa ra cảnh báo mỗi khi gói tin gửi đi bị mất mát
Hình 3-4: Cảnh báo mất mát gói tin của ZMap
1.4 Quét các địa chỉ 14.46.101.40 và 129.76.63.19
Hình 3-5: Kết quả quét các địa chỉ 14.46.101.40 và 129.76.63.19
Thực hiện quét mạng LAN
Cú pháp: sudo zmap -p 80 10.0.2.15 -o LANresults.csv
Hình 3-6: Kết quả quét mạng LAN khi chưa chỉnh sửa tệp blacklist.conf
Zmap từ chối quét mạng cục bộ vì mặc định đưa vào danh sách đen tất cả các địa chỉ IP riêng Để khắc phục điều này, người dùng chỉ cần mở tệp blacklist.conf trong bất kỳ trình soạn thảo văn bản nào và chỉnh sửa các địa chỉ IP mà họ muốn quét Danh sách đen của Zmap có thể được tìm thấy tại: sudo mousepad /etc/zmap/blacklist.conf.
Hình 3-7: Tệp blacklist.conf mặc định
Xóa IP riêng của mạng của bạn khỏi blacklist.conf (trong trường hợp của tôi, tôi đã xóa dòng 14 ở tệp mặc định)
Hình 3-8: Tệp blacklist.conf đã chỉnh sửa
Bây giờ, chúng ta hãy thử quét lại mạng LAN của chúng ta sudo zmap -p 80 192.168.0.0/16 -o LANresults.csv
Hình 3-9: Kết quả quét mạng LAN
SO SÁNH, ĐÁNH GIÁ, KẾT LUẬN
So sánh ZMap với Nmap
Nhà phát triển đã tiến hành thử nghiệm để so sánh ZMap và Nmap trong việc quét Internet, chú trọng vào vùng phủ sóng và thời gian hoàn thành quét Nmap là công cụ linh hoạt, thường dùng để kiểm tra nhiều cổng trên số lượng máy chủ nhỏ, trong khi ZMap tối ưu cho việc quét một cổng trên lượng mục tiêu lớn Việc so sánh này được thực hiện do Nmap đã được sử dụng trong các nghiên cứu bảo mật quy mô lớn và cả hai công cụ đều hoạt động trong không gian người dùng trên Linux.
Nhà phát triển ZMap đã tiến hành thử nghiệm với nhiều cấu hình Nmap khác nhau nhằm tìm ra các cài đặt tối ưu để so sánh Tất cả các thử nghiệm đều thực hiện quét TCP SYN trên cổng 443 với lệnh -Ss -p.
Nmap cung cấp các mẫu thời gian mặc định, nhưng ngay cả với mẫu mạnh nhất ("insane"), quá trình quét toàn Internet vẫn mất hơn một năm Để tăng tốc độ quét, nhà phát triển ZMap đã phát triển các cấu hình thử nghiệm nhằm rút ngắn thời gian quét.
Tính năng "insane" của ZMap cho phép phát hiện máy chủ bị vô hiệu hóa và độ phân giải DNS với tốc độ gói tối thiểu cao, lên tới 10.000 gói mỗi giây Mẫu này thực hiện việc thử lại mỗi lần thăm dò sau một khoảng thời gian chờ Ngoài ra, nhà phát triển ZMap cũng đã thử nghiệm một cấu hình Nmap thứ hai với tính năng thử lại bị tắt, sử dụng tùy chọn max-retries 0.
Nhà phát triển ZMap đã thực hiện quét 1 triệu địa chỉ IP ngẫu nhiên để tìm các máy chủ nghe trên cổng 443, sử dụng Nmap với hai cấu hình khác nhau và ZMap với cấu hình mặc định cùng một cấu hình gửi hai đầu dò SYN đến mỗi máy chủ (-P 2) Quá trình này được lặp lại trong 10 thử nghiệm trong khoảng thời gian 12 giờ, và kết quả trung bình được báo cáo trong Hình 4-1.
Hình 4-1: So sánh ZMap và Nmap
Kết quả cho thấy ZMap hoạt động nhanh hơn nhiều so với Nmap, phát hiện nhiều máy chủ đang lắng nghe hơn Thời gian báo cáo của ZMap bao gồm thời gian gửi thăm dò và độ trễ cố định 8 giây sau khi gửi xong, trong đó ZMap chờ phản hồi trễ Khi mở rộng ra toàn bộ Internet, cấu hình ZMap nhanh nhất có thể hoàn thành quét nhanh hơn khoảng 1300 lần so với cấu hình Nmap nhanh nhất.
Để hiểu tại sao ZMap có độ phủ cao hơn Nmap, nhà phát triển đã khảo sát 4,3 triệu địa chỉ ngẫu nhiên trên cổng TCP 80 và đo độ trễ giữa việc gửi SYN và nhận SYN-ACK từ các máy chủ Kết quả khảo sát được thể hiện qua CDF trong Hình 4-2, cho thấy thời gian khứ hồi tối đa lên tới 450 giây, với một số ít máy chủ mất hơn thời gian này.
Thời gian tối đa cho một TCP cố gắng kết nối trên Linux là 63 giây Đáng chú ý, 99% máy chủ phản hồi trong vòng 500 giây, trong khi 99,9% máy chủ có thời gian phản hồi chỉ trong khoảng 8,16 giây.
Hình 4-2: Thời gian SYN đến SYN-ACK
Mã nhận của ZMap không phản ánh trạng thái mã gửi, do đó, bất kỳ SYN-ACK hợp lệ nào nhận được trước khi quá trình quét kết thúc sẽ được ghi nhận là máy chủ lắng nghe Để đạt được mức độ phủ sóng cao, ZMap sử dụng cài đặt mặc định với độ trễ.
8 giây theo kinh nghiệm sau khi đầu dò cuối cùng được gửi trước khi quá trình nhận kết thúc
Ngược lại, Nmap duy trì thời gian chờ cho mỗi đầu dò Trong mẫu thời gian
Trong thử nghiệm của nhà phát triển với Nmap, thời gian chờ ban đầu được đặt là 250 mili giây, với hơn 85% máy chủ phản hồi Khi thời gian chờ tăng lên 300 mili giây trong quá trình quét, tỷ lệ phản hồi đạt 93,2% Nhà phát triển kỳ vọng rằng một lần quét Nmap thăm dò với các giá trị thời gian này sẽ cho thấy 85–93% máy chủ mà ZMap tìm thấy, gần giống với giá trị quan sát được là 82,5%.
Với chế độ "insane" của Nmap, công cụ này sẽ gửi một thăm dò thứ hai sau một khoảng thời gian chờ nhất định Phản hồi cho cả hai thăm dò SYN đầu tiên và thứ hai sẽ được xem là hợp lệ cho đến khi hết lần thứ hai, dẫn đến việc tăng tổng thời gian chờ lên khoảng 500-600 mili giây.
Trong 26 giây, nhà phát triển ghi nhận được 98,2–98,5% phản hồi từ quá trình quét SYN thứ hai có khả năng tạo ra các phản hồi bổ sung Qua quan sát, nhà phát triển nhận thấy rằng quá trình quét Nmap với 2 đầu dò phát hiện được 99,1% số lượng máy chủ mà quét ZMap với 1 đầu dò cũng tìm thấy.
2 Ứng dụng và ý nghĩa bảo mật của ZMap
Khả năng quét không gian địa chỉ IPv4 trong thời gian ngắn mở ra nhiều cơ hội nghiên cứu mới, giúp hiểu rõ hơn về các hệ thống phân tán và ứng dụng giao thức ở độ phân giải mới, đồng thời phát hiện các vấn đề bảo mật từ góc nhìn toàn cầu Tuy nhiên, quét tốc độ cao cũng có thể dẫn đến các ứng dụng độc hại, như tấn công hàng loạt vào các máy chủ dễ bị tổn thương Nhiều nhà phát triển cho rằng Internet quá lớn để thống kê đầy đủ, do đó, quét tốc độ cao có thể làm lộ ra những dịch vụ trước đây được cho là ẩn giấu Trong phần này, chúng tôi sử dụng ZMap để khám phá một số ứng dụng này.
2.1 Khả năng quét vào các hệ thống phân tán
Quét mạng tốc độ cao mang đến cho các nhà nghiên cứu cái nhìn thời gian thực về các hệ thống phân tán trên Internet, đặc biệt trong lĩnh vực thương mại điện tử và giao dịch web an toàn, vốn phụ thuộc vào chứng chỉ TLS đáng tin cậy Tuy nhiên, hiện tại có rất ít sự giám sát đối với các tổ chức phát hành chứng chỉ (CA) và các chứng chỉ đã cấp Hầu hết các CA không công bố danh sách chứng chỉ mà họ đã ký, dẫn đến việc không rõ ai có khả năng ký các chứng chỉ được trình duyệt tin cậy Để khám phá vấn đề này, chúng tôi đã sử dụng ZMap và một trình tìm nạp chứng chỉ tùy chỉnh để thực hiện quét định kỳ trong năm qua, thu thập 33,6 triệu chứng chỉ X.509 duy nhất, trong đó có 6,2 triệu chứng chỉ được trình duyệt tin cậy Trong khoảng thời gian từ tháng 4 năm 2012 đến tháng 6 năm 2013, chúng tôi đã thực hiện 1,81 tỷ lượt bắt tay TLS, trung bình xử lý 220.000 chứng chỉ mới mỗi lần quét Qua các lần quét, chúng tôi đã xác định được 1.832 chứng chỉ ký đáng tin cậy từ 683 tổ chức ở 57 quốc gia, với tổng cộng 3.744 chứng chỉ ký riêng biệt được trình duyệt tin cậy.
Khả năng hiển thị rộng rãi về hành vi của chứng chỉ CA có thể giúp phát hiện các vấn đề bảo mật Chúng tôi đã phát hiện hai trường hợp chứng chỉ CA bị cấp sai, trong đó có một chứng chỉ vô tình được cấp cho một nhà cung cấp dịch vụ chuyển tuyến tại Thổ Nhĩ Kỳ với thông tin C = TR, ST = ANKARA.