제조업 API Security(OWASP API Top 10·OpenAPI·OAuth 2.1·JWT) 실무 완벽 가이드 — 발견되지 않은 API에서 표준 거버넌스까지 5단계 로드맵

중소·중견 한국 제조사가 OWASP API Security Top 10:2023·OpenAPI 3.1·OAuth 2.1·JWT 등을 인벤토리·설계·게이트웨이·테스트·운영까지 진짜 무사히 정착시키는 5단계 로드맵. API1-10 2023, BOLA·BFLA·BOPLA·SSRF·Unrestricted Resource, OpenAPI 3.1·AsyncAPI 3.0·GraphQL·gRPC, OAuth 2.1·OIDC·PKCE·DPoP, JWT 모범사례 RFC 8725, mTLS·SPIFFE/SPIRE, API Gateway(Apigee·Kong·AWS·Azure APIM·KrakenD), Salt/Noname/Wallarm/42Crunch/Cequence, OWASP ASVS 5.0 API 매핑 실무.

1. 왜 API 보안인가 — Shadow API가 가장 큰 위험

Salt Security 2024 State of API Security: 평균 기업이 운영하는 API 수 613개, 그중 31%가 미문서·미관리(Shadow API). Gartner 2024: 2025년부터 API가 가장 빈번한 공격 표면, 45%+ 데이터 유출이 API 경로. Optus(2022.9·1,030만 PII)·T-Mobile(2023.1·3,700만)·Dell(2024.5·4,900만)·Twilio(2022.8) — 모두 API 인가 결함.

API는 ① 자동화(스크립트), ② 표준화(JSON/XML), ③ 풍부한 데이터(원시 객체 전체 노출), ④ WAF 우회 용이(정상 HTTPS 트래픽), ⑤ 인증·인가가 객체·기능 단위 복잡 — 모두 공격자에게 유리.

오해 1 — “API Gateway 있으면 보호됨.” Gateway는 1차 게이트, 인가 로직은 앱 단위. 오해 2 — “REST OK, GraphQL은 별개.” Top 10은 모든 프로토콜 공통, GraphQL·gRPC·WebSocket·AsyncAPI 모두 해당. 오해 3 — “Zero Trust 도입했으니 API는 자동 보안.” Zero Trust는 신원·세션 수준, API는 객체·함수 인가가 핵심.

관련 압박:

  • EU NIS2 Article 21·EU CRA: API 인터페이스 보안
  • PCI DSS v4.0.1 6.4.2: API 인증 의무
  • 한국 ISMS-P 통신 보안
  • GDPR Art. 32: 적정 보안
  • 고객 RFP: SOC 2·ISO 27001 + API 보안 보고서

2. OWASP API Security Top 10 2023 — 10대 위험

20192023 변경(2023.6 발표):

ID20232019변경
API1Broken Object Level Authorization (BOLA)Broken Object Level Authorization유지 (가장 위험)
API2Broken AuthenticationBroken Authentication유지
API3Broken Object Property Level Authorization (BOPLA)Excessive Data Exposure통합·확장
API4Unrestricted Resource ConsumptionLack of Resources & Rate Limiting명칭 변경
API5Broken Function Level Authorization (BFLA)Broken Function Level Authorization유지
API6Unrestricted Access to Sensitive Business Flows(신규)신규 — 봇·자동화 남용
API7Server Side Request Forgery (SSRF)(신규)신규
API8Security MisconfigurationSecurity Misconfiguration유지
API9Improper Inventory ManagementImproper Assets Management명칭 변경
API10Unsafe Consumption of APIsInsufficient Logging & Monitoring신규 — 3rd party API 신뢰

API1 BOLA(60%+ 발견): URL·바디·JWT의 객체 ID 변경으로 다른 사용자 데이터 접근. 예: /api/users/123/orders/api/users/456/orders. 차단 — 모든 객체 접근 시 사용자×객체 권한 검증.

API3 BOPLA(2023 확장): 객체 단위 권한 OK여도 속성(Property) 단위 미통제 — 사용자가 다른 필드 변경(예: role=userrole=admin). 차단 — Mass Assignment 차단, 명시적 필드만 허용.

API6 신규: 결제·할인·쿠폰·티켓 등 비즈니스 흐름 봇 남용. 차단 — 봇 탐지·인간 검증·Rate Limit·CAPTCHA.

3. OAuth 2.1·OIDC·JWT 모범 사례

OAuth 2.1(IETF Draft 2024 진행 중) — OAuth 2.0 + Best Current Practice 통합:

  • PKCE 모든 클라이언트 의무(이전 Public Client만)
  • Implicit Grant 폐지
  • Resource Owner Password Credentials 폐지
  • Refresh Token Rotation 권장
  • HTTP only Cookie · Token Sender-constraining 권장

Grant Types(2.1):

  • Authorization Code + PKCE: 모든 클라이언트
  • Client Credentials: 서비스 간
  • Device Code: IoT·TV
  • Refresh Token: 갱신

OIDC(OpenID Connect):

  • OAuth 2.0 위에 인증 레이어
  • ID Token(JWT) — 사용자 정보
  • UserInfo 엔드포인트
  • Discovery·Dynamic Registration

JWT 모범사례 (RFC 8725·2020.2):

  • alg: "none" 금지
  • 알고리즘 화이트리스트(서버 강제)
  • 짧은 만료(exp 15분)
  • aud·iss 검증
  • jti 재사용 차단(Token Replay)
  • Refresh Token은 회전·DB 저장·취소 가능
  • 민감 정보 페이로드 X — JWT는 평문(Base64) 디코딩 가능

DPoP(Demonstration of Proof-of-Possession·RFC 9449·2023.9):

  • Bearer Token Sender-constraining
  • 클라이언트 키 쌍 → 요청마다 서명
  • Bearer 탈취 시 재사용 불가
  • 모바일·SPA에 강력

mTLS·SPIFFE/SPIRE:

  • 서비스 간 통신 — Bearer 대신 mTLS
  • SPIFFE/SPIRE — Cloud-Native Workload Identity
  • Service Mesh(Istio·Linkerd·Cilium)에 자동

4. Stage 1 — API 인벤토리·Shadow 발견 (1~2개월)

API Discovery·Inventory:

  • 트래픽 분석 — 미문서 API 자동 발견
  • 도구: Salt Security·Noname·Cequence·Wallarm·Akamai API Security·Traceable·Imvision(Palo Alto)
  • 클라우드 네이티브: Wiz API Security·Orca API·42Crunch
  • 오픈 소스: Akto(API 보안)·Mayhem·KrakenD

Shadow API 유형:

  • Shadow: 회사 미인지 API
  • Zombie: 더 이상 사용 안 됨, 노출만 있음
  • Rogue: 비공식 개발자·외주가 만든 API

OpenAPI Spec 표준화:

  • OpenAPI 3.1(2021·JSON Schema 2020-12 호환)
  • 모든 API에 Spec 의무화
  • 도구: Swagger·Redoc·Stoplight·Bump·OpenAPI Generator
  • Spec → 자동 SDK·문서·테스트·게이트웨이 정책

AsyncAPI(이벤트·메시지):

  • AsyncAPI 3.0(2023.12)
  • Kafka·MQTT·AMQP·WebSocket·SSE 표준 문서화

위험 평가:

  • 각 API에 OWASP API Top 10 적용 가능성
  • 민감 데이터(PII·PCI·PHI·기밀) 처리 여부
  • 외부 노출·내부·B2B 분류
  • 트래픽·소비자 수
  • 비즈니스 영향(Tier 1·2·3)

5. Stage 2 — 설계·인증·인가 (3~6개월)

Authentication 표준화:

  • 외부 사용자: OAuth 2.1 + OIDC + PKCE
  • 서비스 간: mTLS 또는 OAuth Client Credentials
  • IoT·머신: Client Credentials + DPoP
  • 레거시 통합: API Key (Rate Limit·Rotation 강화)
  • MFA: 민감 작업에 Step-up

Authorization 패턴:

  • RBAC: 역할 기반
  • ABAC: 속성 기반 (사용자·자원·환경·행동)
  • ReBAC: 관계 기반 (Google Zanzibar·OpenFGA·SpiceDB·Permify·Topaz)
  • Policy as Code: OPA·Cedar(AWS)·OPAL

Object-level Authorization(API1 차단):

  • 미들웨어에서 사용자×자원 권한 자동 검증
  • 절대 클라이언트 신뢰 X (user_id 헤더 X)
  • DB 쿼리에 사용자 ID 필수 결합:
# Wrong:
order = Order.find(request.params['id'])

# Right:
order = Order.find(request.params['id'], owner: current_user.id)
# OR
authorize! :read, order

Property-level(API3 차단) — Mass Assignment 차단:

  • 명시적 필드 허용(Strong Parameters·DTO 검증·Whitelisting)
  • 응답 시 민감 필드 제거(Serializer·Output Schema)
  • 예: User에 is_admin·balance 필드 직렬화 X

Schema Validation:

  • OpenAPI Spec → 자동 입력·출력 검증
  • 도구: Express-OpenAPI-Validator·FastAPI(자동)·Spring Boot 3 + springdoc·Connexion·Stoplight Prism
  • 게이트웨이에서 사전 차단

6. Stage 3 — API Gateway·정책·Rate Limiting (3~6개월)

API Gateway 선택:

도구특징
KongOSS·플러그인 풍부·Konnect SaaS
Apigee(Google)엔터프라이즈·관리·분석
AWS API Gateway서버리스 Native
Azure APIMM365 통합
KrakenD고성능·OSS·Ultra-fast
TykOSS·Multi-cloud
Gloo Edge(Solo)Envoy 기반·K8s 친화
Emissary-ingressEnvoy·CNCF Incubating
WSO2 API Manager종합·OSS

필수 정책:

  • OAuth 검증(JWKS·Introspection)
  • API Key 인증·Rate Limit
  • Schema Validation(OpenAPI 기반)
  • Rate Limit: 사용자·IP·API Key·티어별
  • Quota: 일·월
  • CORS 명시적 origin
  • TLS 1.3 강제
  • Bot Detection(Reblaze·Cloudflare Bot Mgmt·Akamai Bot Manager)
  • WAF 통합(Cloudflare·AWS WAF·F5·Imperva)

Rate Limiting 전략:

  • 익명: 분당 60·시간당 1,000
  • 인증: 분당 600·시간당 10,000
  • 프리미엄: 분당 6,000·시간당 100,000
  • 비즈니스 흐름(체크아웃·로그인): 별도 엄격
  • 알고리즘: Token Bucket·Sliding Window·Fixed Window

Backend for Frontend(BFF) 패턴:

  • 클라이언트별 BFF — 모바일·웹·B2B 분리
  • 인증·인가·집계를 BFF에 집중
  • 백엔드는 내부 mTLS만 노출

GraphQL 보안:

  • Query Depth Limit
  • Query Complexity Analysis
  • Persisted Queries(허용 쿼리만)
  • Field-level 인가
  • Introspection 비활성(프로덕션)
  • GraphQL Armor·Apollo Operation Safelist

gRPC 보안:

  • mTLS 의무
  • Interceptor 기반 인가
  • Protobuf schema 검증
  • ALTS(Google) 또는 SPIFFE

7. Stage 4 — 테스트·DAST·Fuzzing (지속)

Pre-deployment 테스트:

  • 단위·통합: 인증·인가 시나리오 의무
  • 계약 테스트: Pact·OpenAPI Diff
  • Spec 검증: Spectral·Stoplight

DAST for API:

  • OWASP ZAP API Scan: OpenAPI 기반
  • Burp Suite Professional API Scanner(2024.4 신규)
  • StackHawk: CI/CD 통합
  • Acunetix·Invicti·Veracode
  • APIsec.ai·Mayhem(API Fuzzing)

Fuzzing:

  • Schemathesis: Property-based, OpenAPI 기반
  • APIFuzzer·RESTler(Microsoft)
  • 의도하지 않은 입력으로 5xx·인가 우회·SQLi 발견

Security Testing 매트릭스(OWASP WSTG·ASVS V11/V12):

  • 인증 우회(Bearer 변조·JWT alg=none·만료 무시)
  • 인가 우회(BOLA·BFLA·BOPLA)
  • Mass Assignment
  • Rate Limit 회피
  • SSRF(외부 호출)
  • JSON Injection·XML XXE
  • Race Condition(Tocou)

Production 모니터링:

  • 인증 실패 폭증
  • 비정상 404·403 패턴(Enumeration)
  • 비정상 Rate(스크래핑)
  • 비정상 페이로드 크기·필드
  • 다른 ASN·국가에서 동시 접근

Anomaly Detection·BAS:

  • Salt Security·Noname·Wallarm: ML 이상 탐지
  • Cequence: 봇·자동화 차단
  • Wallarm Goth/Akto: 정책 학습

8. Stage 5 — 거버넌스·고도화 (지속)

거버넌스 체계:

  • API Product Manager: 비즈니스 측면
  • API Architect: 기술 표준
  • API Security Lead: 보안 거버넌스
  • API Council: 분기 운영

Style Guide·Standard:

  • 명명 규칙(snake_case·camelCase·kebab-case)
  • 버저닝(URL·Header·Media Type)
  • 페이지네이션·필터·정렬
  • 에러 표준(RFC 9457 Problem Details)
  • 인증·인가 표준 단일화
  • 도구: Spectral(Stoplight)·Vacuum(Quobix)·Optic

API Catalog·Portal:

  • 내부: Backstage(Spotify)·Roadie·Port·Cortex
  • 외부: Apigee Portal·Kong Konnect·Stoplight·Bump·ReadMe
  • Discovery·문서·SDK·테스트·등록

버전·폐기:

  • 명확한 Deprecation 정책(6~12개월)
  • Sunset 헤더(RFC 8594)
  • API Catalog에 EOL 표시
  • 강제 차단 전 다단계 통지

컴플라이언스 매핑:

  • OWASP ASVS 5.0 V11(Web Service)·V12(API)
  • PCI DSS v4.0.1 — 인증·암호화·로깅
  • ISMS-P — 인증·통신 보안
  • NIST CSF·SP 800-204(API)
  • EU NIS2·CRA

고도화:

  • eBPF API Observability: Pixie·Inspektor Gadget·Tetragon
  • Service Mesh + WAF: Coraza WAF(OSS·Apache ModSecurity 호환)
  • AI for API Security: 자동 정책 생성·이상 탐지
  • Agentic AI API: LLM·MCP — API 호출 권한·승인 게이트
  • WebAssembly Filter: Envoy·Istio Wasm Filter 보안 통제

9. 비용·ROI

항목비용 (연간)
API Gateway 라이선스(Kong·Apigee·Tyk)1~30억
API Security Platform(Salt·Noname·Wallarm)1~20억
WAF·Bot Detection(Cloudflare·F5·Akamai)1~10억
DAST·Fuzzing(StackHawk·Burp·Schemathesis 무료)0~5억
Identity(Auth0·Okta·Entra ID API용)1~10억
인력(API Security 1~5명)2~25억
합계 (중견 제조사)5~100억

ROI:

  • T-Mobile 2023 침해 $350M 합의 → BOLA·BFLA 단일 결함 손실
  • 평균 API 침해 비용(Salt 2024) $670K → 1건 예방 = 5~10년치 비용
  • 사이버보험 — API Security 운영 시 15~25% 할인
  • 컴플라이언스 자동화(ISMS-P·PCI·SOC 2)
  • 개발 속도 — 표준화로 API 출시 30~50% 단축

10. 자가 점검

인벤토리·표준:

  • 모든 API OpenAPI 3.1 Spec
  • AsyncAPI 3.0 (이벤트)
  • Shadow API 자동 발견
  • API Catalog·Portal
  • Style Guide·Linter(Spectral)

인증·인가:

  • OAuth 2.1 + PKCE·외부
  • mTLS·서비스 간
  • DPoP 검토
  • JWT RFC 8725 준수
  • Object·Property·Function 단위 인가(API1·3·5)
  • ReBAC/ABAC(OpenFGA·OPA)

게이트웨이·정책:

  • Schema Validation 강제
  • Rate Limit·Quota
  • WAF·Bot Detection
  • CORS 명시적
  • TLS 1.3 강제

테스트·모니터링:

  • OWASP ZAP API·Burp·StackHawk DAST
  • Schemathesis·RESTler Fuzzing
  • OWASP API Top 10 매트릭스
  • 이상 탐지(Salt·Noname·Wallarm)
  • SIEM·SOAR 통합

거버넌스·매핑:

  • API Council 분기
  • Deprecation·Sunset
  • OWASP ASVS V11/V12
  • PCI DSS·ISMS-P·NIS2 매핑
  • eBPF·Service Mesh·Wasm Filter 검토

11. 마무리 — API는 새 데이터 경계

API Security는 ① 인벤토리·Shadow 발견·표준화, ② 설계·인증·인가, ③ 게이트웨이·정책·Rate Limiting, ④ 테스트·DAST·Fuzzing, ⑤ 거버넌스·고도화 — 5단계로 정착시킨다. 가장 중요한 통제는 API1 BOLA·API3 BOPLA·API5 BFLA — 객체·속성·기능 단위 인가, 세 가지 모두 백엔드 로직 의무다. Gateway·WAF·DAST는 보조, 본질은 코드에 있다.

통합 사이클