방문자 입장에서 본 변조 감지 모니터링
기존 보안 솔루션이 제공자 입장의 예방과 대응에 집중했다면, 본 시스템은 방문자 입장의 품질 모니터링을 통해 보안 사각지대를 메웁니다.
내부 상황은 블랙박스로 두고, 방문자가 결과적으로 받게 되는 웹페이지 코드를 모니터링합니다.
외부자 관점에서 공격 표면을 관찰한다는 측면에서 ASM(Attack Surface Management)과 유사하지만,
사전 취약점 발견이 주된 목표인 ASM과 달리 침해 발생 시 신속한 탐지를 목표로 합니다.
비유로 설명하자면 아래와 같습니다.
- As Is: 우유가 상하지 않게, 공장을 점검
- To Be: 도착시 우유가 상하지 않았는지 관찰
공격자가 정상 서버에 침입하여 웹페이지의 코드를 조작하는 공격으로, 정상적인 URL에 정상적인 화면이라도 내부 코드가 변조되어 원치 않는 동작을 수행합니다.
- 경제성: 기존 인프라 활용으로 추가 비용 최소화
- 보완성: 기존 보안의 사각지대인 "방문자 화면" 모니터링
- 선제성: 수동적 신고 대기에서 능동적 정기 감지로 전환
방문자 관점에서 수집한 소스코드를 비교 분석하여, 해당 결과를 가공해 대시보드로 표현하여 실시간 모니터링을 제공합니다.
- Language: Python (스크래핑과 분석 라이브러리 생태계 풍부)
- DB: PostgreSQL (TEXT 데이터 저장에 강점), SQLModel (ORM), Alembic (DB 마이그레이션 툴)
- Web Scraping: Playwright (정적/동적 스크래핑), Playwright-Stealth (봇 탐지 우회)
- Monitoring: Prometheus (시계열 메트릭 수집), Grafana (대시보드),
Prometheus Python Client(DB 분석 결과의 메트릭 변환 및 내보내기), Blackbox Exporter (대상 페이지 접근성 모니터링) - Containerization: Docker (모듈별 독립 환경), Docker Compose (멀티 컨테이너 관리)
- External APIs: VirusTotal, IPAbuseDB (악성 도메인 검증)
- Grafana 관찰: 대시보드를 통한 일상적 모니터링
- 이상 감지: 코드 변경 급격 증가, 위험한 변경 감지, 악성 도메인 탐지
- 소스코드 확인: 변조 내용 상세 분석
- 대응:
- 오탐 → 화이트리스트 추가
- 정탐 → 적절한 보안 대응
변경 감지와 악성 도메인 감지, 두 축으로 포괄적 탐지를 수행합니다.
-
변경 감지
- 방문자가 받은 소스코드의 변화를 탐지
- 일반적인 변경 / 위험한 변경을 구분
-
악성 도메인 감지
- 악성 링크를 통한 공격 탐지
- 외부 API(VirusTotal, IPAbuseDB) 활용
관찰 범위를 최대한 확대하여 놓치는 공격이 없도록 합니다.
- 일반 변경도 계속 추적: 사전에 블랙리스트(위험 변경)로 인지하지 못한 방식의 공격 가능성
- 관찰 대상 확대: 정적/동적 스크래핑을 통해 범위 확장, 시간차 공격까지 방어
- 악성 도메인 지속 관찰: 변경 감지의 사각지대 모니터링
정상적인 운영 변경은 걸러내는 필터링 시스템을 구축했습니다.
- 변경 감지 화이트리스트 필터링: 정상적인 변경 제외
- 변경 감지 교차 검증: 일반 변경 + 블랙리스트(위험한) 변경, 교차 해석을 통해 위험 정도를 구분
- 도메인 화이트리스트 필터링: 정상적인 링크 제외
현재 MVP(Minimum Viable Product) 구현이 완료된 상태로, Grafana 대시보드를 통해 다음 정보를 실시간 모니터링할 수 있습니다:
- 코드 변경 현황 (일반/위험 구분)
- 악성 도메인 탐지 결과
- 각 모니터링 대상 사이트의 상태
- Health Check 및 시스템 상태
확장 가능한 기반에서 운영하며 다음과 같은 고도화를 계획하고 있습니다:
-
블랙/화이트 규칙 세분화
- 실제 운영을 통한 오탐/미탐 대응
- 정확도 향상을 위한 규칙 최적화
-
운영 편의성을 위한 웹 페이지 구축
- 분석 결과 시각화
- 블랙/화이트 규칙 관리 인터페이스
📖 운영 매뉴얼 - 시스템 실행 및 화이트/블랙리스트 운영 가이드
🔧 개발자 가이드 - 코드 구조, ERD, 모듈별 상세 정보
🚀 로드맵 - 향후 개발 계획 및 고도화 방안
개발진: 정보보안센터 이용학 사원, 박요한 인턴, 손서하 인턴
개발기간: 11주 (2025.06.23 ~ 2025.09.05)