샘플 분석 결과

실제 공격 시나리오를 기반으로 생성한 샘플 로그 분석 결과입니다. LogTrace가 어떤 정보를 탐지하고 정리하는지 미리 확인할 수 있습니다.


샘플 1 — Nginx 브루트포스 공격 탐지

시나리오: 외부 공격자가 /wp-login.php에 반복 접근하여 WordPress 관리자 계정 탈취 시도

로그 환경: Nginx access.log, Combined Format, 약 12만 라인


보안 이벤트 요약


탐지된 공격 패턴

브루트포스 (Brute Force)

`` 203.0.113.42 - - [10/May/2024:03:21:05 +0000] "POST /wp-login.php HTTP/1.1" 401 152 203.0.113.42 - - [10/May/2024:03:21:06 +0000] "POST /wp-login.php HTTP/1.1" 401 152 203.0.113.42 - - [10/May/2024:03:21:07 +0000] "POST /wp-login.php HTTP/1.1" 401 152 ... (1분 내 3,241회 반복) `

MITRE ATT&CK 매핑: T1110.001 — Brute Force: Password Guessing

경로 탐색 (Path Traversal)

` 198.51.100.7 - - [10/May/2024:04:15:33 +0000] "GET /wp-content/plugins/../../etc/passwd HTTP/1.1" 400 150 `

MITRE ATT&CK 매핑: T1083 — File and Directory Discovery


트래픽 분석

시간대별 요청 추이

공격은 03:00~05:00(UTC) 사이 집중 발생. 한국 시간 기준 오전 12시~2시 대에 해당하며, 자동화 봇 공격의 전형적인 패턴입니다.

상태 코드 분포


User-Agent 분석


대응 권고

  1. 즉시 조치: 203.0.113.42, 198.51.100.7 IP를 Nginx deny 또는 방화벽 차단
  2. wp-login.php 보호: IP 허용 목록 기반 접근 제한 또는 reCAPTCHA 적용
  3. xmlrpc.php 비활성화: WordPress 설정에서 XML-RPC 완전 비활성화
  4. Fail2Ban 설정: 단시간 반복 실패 IP 자동 차단 규칙 추가

샘플 2 — AWS ALB SQL Injection 탐지

시나리오: 웹 애플리케이션 API 엔드포인트에 대한 SQL Injection 공격 시도

로그 환경: AWS ALB 액세스 로그, 약 5만 라인


보안 이벤트 요약


탐지된 SQL Injection 패턴

` GET /api/users?id=1+UNION+SELECT+table_name+FROM+information_schema.tables-- GET /api/search?q='+OR+1=1+-- GET /api/product?sku=1;+DROP+TABLE+products;-- `

MITRE ATT&CK 매핑: T1190 — Exploit Public-Facing Application


성능 지표

ALB 처리 시간(request_processing_time) 기반 분석:

공격 트래픽이 집중된 시간대에 P99 응답시간이 1.2초를 초과했으며, 백엔드 서버의 쿼리 부하가 증가한 것으로 추정됩니다.


샘플 3 — Linux auth.log SSH 브루트포스

시나리오: 외부에서 SSH 서버에 대한 무차별 대입 공격

로그 환경: Ubuntu /var/log/auth.log, 약 8,000 라인


탐지 요약

항목
-----------
총 요청 수121,430
의심 이벤트4,812건
탐지 유형브루트포스, WordPress 공격, 경로 스캐너
차단률 (4xx+5xx)91.3%
주요 공격 IP203.0.113.42, 198.51.100.7
시간대요청 수에러 비율
----------------------------
03:00–04:0041,23094.1%
04:00–05:0038,91092.7%
05:00–06:0012,44087.2%
06:00–07:002,10031.4% (정상 회복)
코드비율의미
------------------
200 OK5.4%정상 응답
301/3023.3%리다이렉트
401 Unauthorized78.6%인증 실패
403 Forbidden9.1%접근 차단
404 Not Found3.0%경로 탐색 오류
5xx0.6%서버 오류
분류건수비율
------------------
알 수 없는 UA / 봇4,61195.8%
python-requests3,24167.4%
Nikto89218.5%
curl4789.9%
정상 브라우저2014.2%
항목
-----------
총 요청 수52,817
SQL Injection 의심312건
XSS 의심47건
경로 순회 시도23건
주요 공격 IP192.0.2.100
지표
-----------
평균 응답시간0.042초
P95 응답시간0.381초
P99 응답시간1.203초
최대 응답시간8.441초
항목
-----------
총 인증 실패7,234건
공격 시도 IP14개
시도된 사용자명231종
MaxAuthTries 초과89건

주요 공격 패턴

` May 10 03:22:11 web01 sshd[23451]: Failed password for invalid user admin from 203.0.113.42 port 52341 ssh2 May 10 03:22:12 web01 sshd[23452]: Failed password for invalid user root from 203.0.113.42 port 52342 ssh2 May 10 03:22:13 web01 sshd[23453]: Invalid user test from 203.0.113.42 May 10 03:22:14 web01 sshd[23454]: error: maximum authentication attempts exceeded for invalid user admin ``


대응 권고

  1. SSH 포트 변경: 기본 22번 포트 대신 높은 포트로 변경
  2. 공개키 인증 전용: 패스워드 인증 비활성화 (PasswordAuthentication no)
  3. Fail2Ban 적용: 실패 5회 이상 IP 자동 차단
  4. SSH 접근 IP 제한: 허용 IP 외 모두 차단

위 샘플은 실제 로그 패턴을 기반으로 재구성한 예시입니다. 실제 IP, 도메인, 사용자명은 RFC 5737 (문서용 예약 대역) 주소를 사용했습니다.