SSH 허니팟(Honeypot)을 통해 수집된 실시간 공격 데이터를 시각화하는 프로젝트임
Cowrie 허니팟, Python, WebSockets을 활용하여 공격 시도 및 명령어 실행 기록을 실시간으로 보여줌
반복되는 공격 패턴(Recurring Patterns) 분석을 통해 자동화된 캠페인 식별 가능성을 제시함
커뮤니티에서는 ASN, 국가 정보, 리더보드 등 추가 데이터 제안이 있었음
본 프로젝트는 Cowrie SSH 허니팟에서 발생하는 로그를 Python 서비스가 실시간으로 수집하여 WebSockets으로 프론트엔드에 전달하는 구조입니다. Nginx는 이 프론트엔드 대시보드를 서빙합니다. 이는 저사양 VPS(1 vCPU/1 GB RAM) 환경에서도 실시간 공격 흐름(Real-time Attack Flow)을 효과적으로 시각화할 수 있는 경량 아키텍처(Lightweight Architecture)를 보여줍니다. 특히, 개별 세션과 소스 IP별 활동 그룹화 기능은 공격 패턴 분석의 기초를 제공합니다.
개발자는 약 8시간 샘플에서 1,950개 세션, 213개 소스 IP를 관찰하며 흥미로운 패턴을 발견했습니다. 동일한 SSH 공개 키(SSH Public Key)가 152회 설치되거나, 허니팟 탐지를 위한 시스템 지문 스크립트(System Fingerprinting Script) 사용, 다양한 아키텍처 대상 페이로드 다운로드 시도 등이 관찰되었습니다. 이는 개별 IP 추적이 아닌, 공통된 공격 캠페인(Common Attack Campaign)으로 활동을 클러스터링하는 것의 중요성을 시사합니다.
댓글에서는 ASN(Autonomous System Number) 및 국가 정보 연동, 그리고 공격자 리더보드(Attacker Leaderboard) 구현에 대한 아이디어가 제시되었습니다. 또한, Azure 환경에서의 악성 트래픽 비중에 대한 경험 공유도 있었습니다. 이는 단순 시각화를 넘어 위협 인텔리전스(Threat Intelligence) 플랫폼으로 발전할 가능성을 보여줍니다. LLM을 활용한 응답 생성 프로젝트(`honeyprompt`)와의 연계 가능성도 언급되었습니다.
개발자는 수집된 데이터의 개인정보 보호(Privacy) 및 책임 있는 공개(Responsible Disclosure)에 대한 고민을 토로했습니다. IP 주소, 시도된 자격 증명, 명령어 등은 실제 공격자의 신원을 직접적으로 나타내지 않으며, 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 수집된 정보는 안전하지 않거나 실행해서는 안 된다는 점을 명시했습니다. 향후 세션 자동 분류 및 캠페인 클러스터링 기능 추가 시 이러한 딜레마는 더욱 중요해질 것입니다.