2010년 이란 핵 시설을 공격하여 전 세계를 충격에 빠뜨렸던 악명 높은 사이버 무기 스턱스넷(Stuxnet)의 소스 코드가 역공학(reverse engineering) 분석을 통해 재구성되어 깃허브(GitHub)에 공개되었습니다. 이 프로젝트는 원본 바이너리를 분석하여 스턱스넷의 복잡한 로직과 공격 경로를 학술적 연구 및 방어 목적으로 쉽게 이해할 수 있도록 정리한 것이 특징입니다. 이는 사이버 보안 커뮤니티가 역사적인 사이버 무기의 작동 방식을 깊이 탐구하고, 미래의 위협에 대비하는 데 중요한 자료가 될 것입니다.
재구성된 스턱스넷 코드는 지멘스(Siemens)의 산업 제어 시스템(ICS)인 SIMATIC WinCC, Step 7, S7-300/400 PLC를 표적으로 삼아 주파수 변환 드라이브를 조작, 원심분리기에 물리적 손상을 입히는 방식으로 설계되었습니다. 코드베이스는 로더(loader), 권한 상승(privilege escalation), 통신 훅(communication hook), 루트킷(rootkit), PLC 페이로드(payload) 등 여러 모듈로 구성되어 있으며, USB, 네트워크 공유, P2P(Peer-to-Peer) 등 다양한 전파 경로와 파일, 프로세스, 레지스트리 은폐 로직을 상세히 보여줍니다. 특히, s7otbxdx.dll과 s7aaapix.dll 같은 지멘스 통신 훅 모듈은 엔지니어링 소프트웨어와 PLC 사이의 통신을 가로채 악성 코드를 주입하는 핵심 역할을 담당했습니다.
이 프로젝트는 악성코드 분석 교육, ICS 보안 도구 개발을 위한 YARA 규칙 및 Snort 탐지 시그니처 개발, 그리고 사이버 보안과 중요 인프라 보호에 대한 학술 연구를 목적으로 합니다. 개발자들은 인터넷이 차단된 가상 환경에서 정적 분석(static analysis)과 디버깅(debugging)을 수행하도록 권장하며, 실제 중요 인프라에 배포하는 용도로 사용해서는 안 된다고 강조합니다. 스턱스넷은 망 분리(air-gapped)된 시스템까지 침투하여 자율적으로 공격을 수행했다는 점에서 현대 소프트웨어 가운데 가장 중요한 사례 중 하나로 평가받고 있으며, 이번 소스 코드 재구성은 이러한 복잡한 사이버 공격의 메커니즘을 이해하는 데 귀중한 통찰을 제공할 것입니다.