API 게이트웨이 액세스 로그 분석은(는) 무엇을 하나요?
사용 시기
- API 게이트웨이 액세스 로그 분석이 필요한 보안 사고를 조사할 때
- 이 도메인에 대한 탐지 규칙 또는 위협 헌팅 쿼리를 작성할 때
- SOC 분석가가 이 분석 유형에 대한 체계적인 절차를 필요로 할 때
- 관련 공격 기술에 대한 보안 모니터링 커버리지를 검증할 때
사전 요구 사항
- 보안 운영 개념 및 도구에 대한 숙련도
- 안전한 실행을 위한 테스트 또는 실습 환경 접근 권한
- 필요한 종속성이 설치된 Python 3.8 이상
- 모든 테스트 활동에 대한 적절한 인가
지침
API 게이트웨이 액세스 로그를 파싱하여 BOLA(객체 수준 권한 위반), 과도한 데이터 노출, 인젝션 시도 등 공격 패턴을 식별합니다.
import pandas as pd
df = pd.read_json("api_gateway_logs.json", lines=True)
# BOLA 탐지: 동일 사용자가 다양한 리소스 ID에 접근
bola = df.groupby(["user_id", "endpoint"]).agg(
unique_ids=("resource_id", "nunique")).reset_index()
suspicious = bola[bola["unique_ids"] > 50]
주요 탐지 패턴:
- BOLA/IDOR: 순차적 리소스 ID 열거
- 헤더 조작을 통한 속도 제한 우회
- 자격 증명 스캐닝 (단일 소스에서 401 오류 급증)
- 쿼리 매개변수 내 SQL/NoSQL 인젝션
- 읽기 전용 엔드포인트에 대한 비정상적 HTTP 메서드 (DELETE, PATCH)
예시
# 자격 증명 스캐닝을 나타내는 401 오류 급증 탐지
auth_failures = df[df["status_code"] == 401]
scanner_ips = auth_failures.groupby("source_ip").size()
scanners = scanner_ips[scanner_ips > 100]