피드로 돌아가기
Active defense: introducing a stateful vulnerability scanner for APIs
Cloudflare BlogCloudflare Blog
Security

Active defense: introducing a stateful vulnerability scanner for APIs

Cloudflare가 상태 기반 취약점 스캐너를 도입해 BOLA(Broken Object Level Authorization) 같은 API 로직 결함을 능동적으로 탐지

Malte Reddig2026년 3월 9일10intermediate

Context

기존의 방어 중심 보안은 WAF가 감지할 수 있는 구문 오류나 주입 공격은 탐지하지만, 완전히 유효한 HTTP 요청의 논리 결함(예: 사용자 인증은 성공했으나 특정 리소스에 대한 접근 권한이 없는 경우)은 놓친다. 패시브 스캔만으로는 개발/테스트 환경에서 충분한 트래픽 컨텍스트가 없거나 프로덕션에서 공격 트래픽이 부재할 때 취약점을 발견할 수 없다.

Technical Solution

  • 요청 체이닝 기반 스캔: 개별 요청을 독립적으로 처리하는 기존 DAST와 달리, 여러 API 요청을 논리적 순서로 연결하여 실행(예: 객체 생성 → 인가 검증 필요)해 BOLA 취약점 발견
  • 상태 유지 취약점 스캐너: 테스트 객체 생성, 인증 유지, 권한 검증을 하나의 테스트 플로우로 통합하여 Authorization 로직 결함 탐지
  • HashiCorp Vault Transit Secret Engine (TSE)을 통한 자격증명 암호화: 제출 즉시 자격증명을 암호화하고, 공개 API 레이어는 복호화 권한이 없으며, Worker 실행 시에만 복호화 수행
  • Rust 기반 타입 안전성: 엄격한 타입 지정으로 복호화 메서드 접근 제한을 강제하여 최소 권한 원칙 구현
  • 자격증명 정기 로테이션 및 재암호화: TSE를 통해 정기적으로 자격증명을 재암호화하여 원본 시크릿은 항상 접근 불가능하게 유지
  • 프로그래매틱 인터페이스: Cloudflare API를 통해 스캔 트리거, 설정 관리, 결과 검색이 가능하며 CI/CD 파이프라인 및 보안 대시보드와 직접 통합

Key Takeaway

API 보안은 패시브 탐지만으로는 부족하며, 논리 결함을 찾기 위해서는 테스트 시나리오의 상태 흐름을 유지하면서 능동적으로 권한 검증을 수행해야 한다. 자격증명 관리에서는 복호화 권한을 최소화하고 엄격한 타입 안전성으로 강제하는 것이 공격 표면을 줄이는 효과적인 방법이다.


API를 운영하는 팀에서 BOLA 취약점을 탐지할 때, 개별 요청이 아닌 '객체 생성 → 다른 사용자 권한으로 접근 시도' 같은 멀티 스텝 시나리오를 작성하고 상태를 유지하면서 테스트하면 기존 WAF나 단순 DAST 도구로 놓치던 인가 로직 결함을 효과적으로 발견할 수 있다.

원문 읽기
Active defense: introducing a stateful vulnerability scanner for APIs | Devpick