반응형

**API 취약점 공격(API Vulnerability Attack)**을 실무 관점에서 정리해줄게.
최근 클라우드·모바일·웹 서비스에서 API를 통한 공격이 많아서 꼭 이해해야 해.


🔥 1. API 취약점 공격이란?

정의:
API 취약점 공격은 애플리케이션이 제공하는 API 엔드포인트의 설계/구현상의 문제를 공격자가 이용해 불법적으로 데이터에 접근하거나 기능을 오용하는 공격을 의미해.

쉽게 말하면:

👉 “앱이나 웹에서 제공하는 API를 이용해서, 공격자가 권한 없이 정보를 훔치거나 서버를 조작하는 공격”


🔹 2. 공격 대상

API 취약점 공격은 주로 다음 부분에서 발생함:

  1. 인증(Authentication) 취약점
    • API 토큰 탈취, 인증 우회
  2. 권한(Authorization) 취약점
    • Broken Access Control과 유사, 다른 사용자의 데이터 접근 가능
  3. 입력값 검증 미흡
    • SQL Injection, Command Injection, XSS, SSRF
  4. Rate Limiting 부재
    • Brute-force 공격, DoS 공격 가능
  5. 데이터 노출
    • 과도한 정보 반환(Overexposure)

🔹 3. 대표적인 공격 유형

1️⃣ Broken Object Level Authorization (BOLA)

 
GET /api/orders/123 → 내 주문 GET /api/orders/124 → 남의 주문 접근 가능 ❌
  • 사용자 권한 검증 미흡으로 다른 사용자 데이터 탈취

2️⃣ Excessive Data Exposure

 
POST /api/user/profile 응답에 민감 데이터(비밀번호 해시, SSN, 토큰) 포함

3️⃣ Lack of Rate Limiting

  • 로그인, 결제, SMS 인증 API에 요청 제한 없음
  • Brute-force, Credential Stuffing 가능

4️⃣ Mass Assignment

  • JSON 요청에서 허용되지 않은 필드 조작 가능
 
{ "role": "admin" }

→ 권한 상승

5️⃣ Injection 공격

  • SQL, NoSQL, Command Injection, XXE 등 API 요청으로 실행 가능

6️⃣ API Endpoint Enumeration

  • 공개되지 않은 엔드포인트 탐지 → 내부 정보 유출

🔹 4. 공격자가 할 수 있는 일

  • 사용자 개인정보 탈취
  • 관리자 권한 획득
  • 내부 시스템 데이터 조회/변조
  • 계정 탈취 및 세션 하이재킹
  • DoS 공격
  • 내부망 접근 (SSRF 등 연계 가능)

🔹 5. WAF / 보안관제 대응

  1. 인증/권한 검증
  • JWT, OAuth 토큰 검증
  • 사용자 권한 검증 체크
  1. Rate Limiting
  • IP별 요청 제한
  • 반복 요청 패턴 탐지
  1. 민감 데이터 탐지
  • JSON 응답 내 민감 정보 포함 여부 모니터링
  1. 비정상 요청 탐지
  • API 요청 구조 이상, 의심 파라미터 차단
  1. 로깅 및 알림
  • 관리자 권한 요청, 비정상 응답 시 알람

🔹 6. 개발 단계 방어

✔ 1) 인증/권한 철저히 검증

  • 모든 엔드포인트에서 서버 측 권한 확인

✔ 2) 입력값 검증

  • 타입, 길이, 형식 검사
  • SQL/Command/XXE 필터링

✔ 3) 출력값 최소화

  • 필요한 데이터만 반환
  • 민감정보 제거

✔ 4) Rate Limit & Throttling 적용

✔ 5) API 보안 가이드 준수

  • OWASP API Security Top 10 기반 설계

🎯 한 문장 요약

API 취약점 공격 = 공격자가 인증·권한·입력값·출력 검증의 허점을 이용해 서버나 데이터를 불법적으로 접근·조작하는 공격으로, 철저한 인증·권한 검증, 입력/출력 검증, Rate Limiting으로 방어해야 한다.

반응형

+ Recent posts