반응형
**API 취약점 공격(API Vulnerability Attack)**을 실무 관점에서 정리해줄게.
최근 클라우드·모바일·웹 서비스에서 API를 통한 공격이 많아서 꼭 이해해야 해.
🔥 1. API 취약점 공격이란?
정의:
API 취약점 공격은 애플리케이션이 제공하는 API 엔드포인트의 설계/구현상의 문제를 공격자가 이용해 불법적으로 데이터에 접근하거나 기능을 오용하는 공격을 의미해.
쉽게 말하면:
👉 “앱이나 웹에서 제공하는 API를 이용해서, 공격자가 권한 없이 정보를 훔치거나 서버를 조작하는 공격”
🔹 2. 공격 대상
API 취약점 공격은 주로 다음 부분에서 발생함:
- 인증(Authentication) 취약점
- API 토큰 탈취, 인증 우회
- 권한(Authorization) 취약점
- Broken Access Control과 유사, 다른 사용자의 데이터 접근 가능
- 입력값 검증 미흡
- SQL Injection, Command Injection, XSS, SSRF
- Rate Limiting 부재
- Brute-force 공격, DoS 공격 가능
- 데이터 노출
- 과도한 정보 반환(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 / 보안관제 대응
- 인증/권한 검증
- JWT, OAuth 토큰 검증
- 사용자 권한 검증 체크
- Rate Limiting
- IP별 요청 제한
- 반복 요청 패턴 탐지
- 민감 데이터 탐지
- JSON 응답 내 민감 정보 포함 여부 모니터링
- 비정상 요청 탐지
- API 요청 구조 이상, 의심 파라미터 차단
- 로깅 및 알림
- 관리자 권한 요청, 비정상 응답 시 알람
🔹 6. 개발 단계 방어
✔ 1) 인증/권한 철저히 검증
- 모든 엔드포인트에서 서버 측 권한 확인
✔ 2) 입력값 검증
- 타입, 길이, 형식 검사
- SQL/Command/XXE 필터링
✔ 3) 출력값 최소화
- 필요한 데이터만 반환
- 민감정보 제거
✔ 4) Rate Limit & Throttling 적용
✔ 5) API 보안 가이드 준수
- OWASP API Security Top 10 기반 설계
🎯 한 문장 요약
API 취약점 공격 = 공격자가 인증·권한·입력값·출력 검증의 허점을 이용해 서버나 데이터를 불법적으로 접근·조작하는 공격으로, 철저한 인증·권한 검증, 입력/출력 검증, Rate Limiting으로 방어해야 한다.
반응형
'2. 보안 > 2. 보안 관제' 카테고리의 다른 글
| [보안_GPT] CORS(Cross-Origin Resource Sharing)란? (0) | 2025.11.14 |
|---|---|
| [보안_GPT] TTP 헤더 조작(HTTP Header Manipulation)이란? (0) | 2025.11.14 |
| [보안_GPT] 직렬화 / 역직렬화란? (0) | 2025.11.14 |
| [보안_GPT] Broken Access Control이란? (0) | 2025.11.14 |
| [보안_GPT] Broken Authentication이란? (0) | 2025.11.14 |