Uppsats

Automated External Attack Surface Mapping - Developing a High-Performance Reconnaissance Engine using Concurrent Systems in Go

Kandidat-uppsats

Chalmers tekniska högskola / Institutionen för data och informationsteknik

Publicerad: 2026

Språk: Engelska

Sammanfattning

Organisations that deploy software rapidly often lose track of what they have exposed to the internet. Forgotten staging servers, misconfigured cloud storage buckets, and outdated services running on undocumented ports accumulate faster thansecurity teams can audit them manually. Attack Surface Management (ASM) addresses this by continuously discovering and monitoring an organisation’s externallyreachable assets from the perspective of an attacker rather than an administrator.This project designs and implements a high-performance ASM-engine in Go. Theengine operates as a three-phase pipeline. Phase 1, passive Open Source Intelligence(OSINT) discovery retrieves subdomains and IP addresses from public sources without sending any probes to the target. Phase 2, active TCP scanning connects toeach discovered asset, extracts service banners, matches versions against an embedded CVE database to surface known weaknesses, and computes a differentialanalysis against the previous scan. Phase 3, cloud storage probing checks for associated storage buckets across AWS, Azure, and Google Cloud Platform. Within eachphase, operations run concurrently, results are persisted to PostgreSQL, and thedifferential analysis component reports only what has changed since the last scanrather than repeating the full inventory every time. A web-UI and a command-lineinterface give operators two ways to interact with the engine.The engine was evaluated against three environments. An isolated Docker Composesandbox used to verify differential change detection under controlled conditions, alive scan of scanme.nmap.org, and a scan of chalmers.se to demonstrate the engineat organisational scale. All local scans completed in approximately 130 milliseconds.The entire engine is implemented using Go’s standard library and a single externalPostgreSQL driver. No API keys or third-party scanning infrastructure are required.

Information

Lärosäte / institution
Chalmers tekniska högskola / Institutionen för data och informationsteknik
Publiceringsdatum
2026
Uppsatstyp
Kandidat-uppsats
Språk
Engelska