[제138회 정보관리기술사 4교시 2번] API 보안 — OWASP API Top10·API GW·GraphQL·마이크로서비스

📌 원문 문제

API(Application Programming Interface) 보안에 대하여 다음 내용을 설명하시오.
가. OWASP API Security Top 10 (2023) 주요 항목
나. API 게이트웨이(API Gateway)의 보안 기능
다. REST API와 GraphQL API의 보안 특성 비교
라. 마이크로서비스 환경에서의 API 보안 아키텍처 설계

출제 의도 분석

2019년 이후 API 공격이 급증하면서 OWASP는 2023년 API Security Top 10을 갱신했습니다. 전통적인 웹 보안(OWASP Top 10)과 달리 API 특화 취약점(과도한 데이터 노출, 기능 수준 인증 누락 등)을 이해하고, API 게이트웨이와 마이크로서비스 보안을 연계하여 서술하는 것이 핵심입니다.

가. OWASP API Security Top 10 (2023)

순위 항목 설명 대응 방안
API1 BOLA (객체 수준 인가 누락) 타 사용자의 객체에 ID 조작으로 접근 요청자와 객체 소유자 일치 검증
API2 인증 실패 취약한 인증 메커니즘, 토큰 만료 미구현 OAuth 2.0, MFA 강제 적용
API3 BOPLA (객체 속성 수준 인가 누락) 수정 권한 없는 속성 변경 허용 읽기·쓰기 속성 권한 세분화
API4 무제한 리소스 소비 Rate Limit 없어 DoS·비용 폭증 속도 제한, 페이로드 크기 제한
API5 BFLA (기능 수준 인가 누락) 일반 사용자가 관리자 엔드포인트 접근 역할 기반 엔드포인트 접근 제어
API6 민감 데이터 과다 노출 불필요한 필드까지 응답에 포함 응답 필터링, DTO 패턴 적용
API7 서버 측 요청 위조 (SSRF) API를 통해 내부 서비스에 무단 요청 URL 화이트리스트, 내부망 차단
API8 보안 설정 오류 불필요 HTTP 메서드, CORS 과다 허용 최소 허용 원칙, 보안 헤더 설정
API9 부적절한 인벤토리 관리 구버전·테스트 API 방치 API 카탈로그 관리, 버전 정책
API10 안전하지 않은 API 소비 제3자 API 응답을 무검증 신뢰 외부 API 응답 검증, 타임아웃 설정

나. API 게이트웨이 보안 기능

API 게이트웨이는 모든 API 트래픽의 단일 진입점으로, 다음 보안 기능을 중앙 집중화합니다:

  • 인증·인가: OAuth 2.0/OIDC 토큰 검증, JWT 서명 확인, API 키 관리
  • Rate Limiting: IP/사용자/앱 단위 초당 요청 수 제한으로 DDoS·브루트포스 방어
  • 입력 검증: 요청 페이로드 스키마 검증 (JSON Schema, OpenAPI Spec 기반)
  • TLS 종단: HTTPS 강제, 인증서 관리 중앙화
  • 로깅·모니터링: 모든 API 호출 감사 로그, 이상 트래픽 실시간 탐지
  • WAF 통합: SQL 인젝션·XSS·OWASP 공격 패턴 차단

다. REST API vs GraphQL 보안 특성 비교

비교 항목 REST API GraphQL API
엔드포인트 리소스별 다수의 엔드포인트 단일 엔드포인트 (/graphql)
과다 노출 서버가 응답 필드 결정 → 제어 용이 클라이언트가 필드 선택 → 민감 필드 요청 가능
DoS 위험 일반적 Rate Limit으로 대응 가능 중첩 쿼리(Nested Query)로 서버 과부하 유발 가능
인가 관리 엔드포인트별 인가 적용 명확 필드 수준 인가(Field-level Authorization) 복잡
인트로스펙션 없음 (OpenAPI 문서 별도) 스키마 자동 노출 → 공격자 정보 수집 가능
GraphQL 특화 대응 깊이 제한, Query Complexity 제한, 인트로스펙션 비활성화

라. 마이크로서비스 환경 API 보안 아키텍처

외부 클라이언트(앱/웹) API Gateway 인증/인가 Rate Limiting WAF · 로깅 Service Mesh mTLS 서비스 간 암호화 인가 정책(AuthorizationPolicy) 트래픽 관찰 서비스 A필드 수준 인가 서비스 B입력 검증 Secret Manager IdP(Keycloak/Azure AD)

설계 원칙: 외부 인증(API GW) + 내부 mTLS(Service Mesh) + 서비스 내 인가(OPA)의 3계층 방어 구조.

Leave a Comment