chon

OWASP Top 10 2025 본문

Web

OWASP Top 10 2025

chon29 2026. 3. 16. 16:18

OWASP(Open Web Application Security Project, 국제 웹 보안 표준기구)는 소프트웨어 보안 향상을 목적으로 활동하는 글로벌 비영리 재단이다. 웹 애플리케이션 보안에 관한 표준 가이드와 도구를 개발 및 배포하며 전 세계적인 보안 수준 향상에 기여하고 있다.

 

OWASP Top 10웹 애플리케이션에 대한 가장 중요한 10가지 위험을 다루며, 취약점의 순위가 아닌 위험(Risks)의 순위다. 또한, 데이터 기반으로 이루어진 인식 재고를 위한 문서이며, 약 3~4년 주기로 업데이트된다. 표준이나 규정 준수 체크리스트가 아닌, 조직이 보안 위험에 우선순위를 부여하도록 돕는 역할을 한다.

 

본격적인 WebGoat 실습에 앞서, 최근 업데이트된 2025년판을 기준으로 이전 버전(2021)과 비교하여 OWASP Top 10에는  어떤 순위 변동과 새로운 취약점이 등장했는지에 대해 작성하겠다.

 

2025년 Top 10에는 두 개의 새로운 카테고리가 추가되었고, 한 개의 카테고리가 통합되었다.

 

[ OWASP Top 10 2021과 2025의 주요 차이점 ]

Security Misconfiguration의 상승 (5위 → 2위): 클라우드 및 IaC(코드형 인프라) 환경 확산으로 인해 보안 설정 오류가 가장 흔하고 치명적인 위험 중 하나로 부상함.

Software Supply Chain Failures의 신규 등재 및 확장: 기존 '취약한 구성 요소(A6)'를 넘어 오픈소스 라이브러리와 빌드 파이프라인 전체를 관리해야 하는 공급망 전체를 아우르는 개념으로 확장되어 3위로 신규 진입함.

SSRF가 단일 항목에서 Broken Access Control로 흡수: 2021년 10위였던 Server-Side Request Forgery가 권한 제어 실패의 특수한 형태로 간주되어 1위 항목에 통합됨.

Injection, Cryptographic Failures, Insecure Design의 순위 하락:  프레임워크 자체의 보안 기능 강화와 자동화된 방어 도구의 보편화로 인해, 과거 핵심이었던 취약점들이 각각 2계단씩 순위가 하락함.

Mishandling of Exceptional Conditions 신규 등재: 시스템의 비정상적 종료나 예외 상황 발생 시 정보 노출이나 보안 로직이 무력화되는 '예외 처리 미흡' 항목이 10위로 새롭게 추가됨.

 

[ OWASP Top 10:2025 주요 취약점 상세 ]

A01:2025 – Broken Access Control (부적절한 인가)

2021년에 이어 가장 심각한 애플리케이션 보안 위험 요소 1위 자리를 유지하고 있으며, 위 그림의 점선으로 표시된 것처럼 기존의 SSRF(서버 측 요청 위조)가 이 항목으로 통합되었다. BAC는 애플리케이션이 사용자가 허용된 권한을 넘어서는 행동을 막지 못할 때 발생한다. 이로 인해 공격자가 권한을 우회하거나, 무단으로 정보 조회·수정·삭제 또는 비즈니스 기능을 수행할 수 있다.

  • 대표적인 취약점 : 타인의 계정 정보 조회(IDOR), SSRF, 권한 없는 관리자 페이지 접근 등

A02:2025 – Security Misconfiguration (보안 설정 미흡)

2021년 5위에서 2025년 2위로 상승했다. 시스템, 애플리케이션, 클라우드 서비스, 컨테이너 또는 IaC 템플릿 등이 보안 관점에서 잘못 설정되거나, 안전하지 않은 기본값을 사용하여 배포될 때 발생하는 위험이다.

  • 대표적인 취약점 : 클라우드 설정 오류(S3 버킷 노출, IAM 과도한 권한 부여 등), CORS(Cross-Origin Resource Sharing) 오설정, 잘못 구성된 HTTP 보안 헤더(예: Content Security Policy), 기본 비밀번호 사용, XXE 외부 엔티티 허용 등

A03:2025 – Software Supply Chain Failures (소프트웨어 공급망 실패)

2025년 신규 등재된 항목으로, 2021년의 A06 취약하고 오래된 구성 요소를 대체하는 새로운 항목이다. 단순히 오래된 라이브러리를 관리하는 것을 넘어서 사용하는 공급망에서의 문제 및 공급망 관리의 보안까지 포함하는 항목으로 변화했다.

  • 대표적인 취약점 : 악성 코드가 삽입된 외부 라이브러리 사용, 변조된 업데이트 배포 등

A04:2025 – Cryptographic Failures (암호화 문제)

암호학적 결함은 민감한 데이터를 노출시킬 수 있는 암호화 부재, 암호화 강도가 낮은 암호화, 암호화 키 유출 및 하드코딩 된 암호화 키와 같은 문제를 다룬다.

  • 대표적인 취약점 :  약한 알고리즘 사용, 부적절한 암호화 키 관리(하드코딩, 키 교체 주기, 키 접근 제어), 데이터 암호화 미흡 등

A05:2025 – Injection (인젝션)

3위에서 5위로 두 단계 하락했지만, 암호화 오류 및 안전하지 않은 설계와 관련된 순위는 유지했다. 신뢰할 수 없는 데이터가 쿼리, 명령어 또는 템플릿으로 유입될 때 발생하며, 애플리케이션이 이를 데이터가 아닌 실행 가능한 코드나 명령어의 일부로 처리하는 위험이다.

  • 대표적인 취약점 : SQL Injection, Command Injection. XSS(Cross Site Scrip) 등

A06:2025 – Insecure Design (안전하지 않은 설계)

Security Misconfiguration과 Software Supply Chain Failures 항목에 밀려 4위에서 6위로 두 단계 하락했다. 이 항목은 2021년에 도입되었으며, 위협 모델링과 보안 설계에 대한 강조가 강화되면서 업계에서 눈에 띄는 개선이 이루어졌다. 개발의 초기 단계에서 보안을 간과하고 지나쳤다가 뒤놓게 취약점을 발견하면 조치하기가 매우 어렵다. 코딩 단계가 아닌 설계 단계에서 보안 제어가 누락되거나 비효율적일 때 발생하는 위험이다.

  • 대표적인 취약점 : 비즈니스 로직 취약점 류(단체 예매 창구로 예매시 할인이 있으나 1명도 예약이 가능함), 비밀번호 찾기시 질문/답변 기능 제공, 봇의 자동화 공격 대응 미흡

A07:2025 – Authentication Failures (인증 실패)

공격자가 유효하지 않거나 부정확한 사용자를 정상적인 요청으로 인식하도록 시스템을 속일 수 있게 만드는 위험이다. 표준화된 인증 프레임워크의 사용이 증가함에 따라 인증 실패 발생 빈도가 감소하는 긍정적인 효과가 나타나고 있다.

# A01(BAC) 과 다른점은?

A01은 인가(authz)에 초점을 둔다면 A07은 인증(authn)에 초점을 둠

  • 대표적인 취약점 : 약한 비밀번호 정책, 크리덴셜 스터핑 및 무차별 대입 공격, MFA 기능 누락/MFA 사용안함, 세션 관리 오류(로그아웃 후에도 세션 토큰 유지, 세션 키가 URL에 노출되는 문제 등) 등

A08:2025 – Software or Data Integrity Failures (소프트웨어 및 데이터 무결성 문제)

소프트웨어 공급망 실패보다 하위 수준에서 소프트웨어, 코드 및 데이터 아티팩트의 무결성을 검증하고 신뢰 경계를 유지하는 데 실패하는 것을 중점적으로 다룬다. 애플리케이션에서 데이터 유효성, 출처 또는 무결성이 확인되지 않은 채 처리되거나 사용될 때 발생하는 보안 위험이다.

# A03(소프트웨어 공급망 보안 실패) 과 다른점은?

A08은 외부의 종속성 자체가 안전하더라도, 애플리케이션 환경 내부에서 이루어지는 무결성 검증 실패에 초점을 둠

  • 대표적인 취약점 : 안전하지 않은 역직렬화(React2shell의 루트커즈), CDN 무결성 유효성 검증 미흡, 업데이트시 디지털 서명 검증 미흡, 신뢰하지 않는 종속성 저장소 사용 등

A09:2025 – Logging & Alerting Failures (로깅 및 경고 문제)

침해 사고가 발생했을 때 적절한 보안 로그를 수집하지 않거나, 이를 모니터링하지 않았거나, 또는 알람 경고에 신속하게 대응하지 못할 때 발생하는 위험이며 사고 대응과 포렌식을 어렵게 만든다. 2021년 9위를 유지했으며, 이번 2025년 버전에서는 '모니터링' 대신 '경고(Alerting)'라는 단어를 사용하여 대응의 실효성을 강조했다.

  • 대표적인 취약점 : 로그인 실패 로깅 누락, 실시간 모니터링 부재 등.

A10:2025 – Mishandling of Exceptional Conditions (예외 처리 미흡)

2025년 신규 등재 항목으로, 이 범주에는 부적절한 오류 처리, 논리적 오류, 시스템 개방 실패 및 시스템이 직면할 수 있는 비정상적인 상황에서 발생하는 기타 관련 시나리오에 초점을 맞춘 24개의 핵심 문제(CWE)가 포함되어 있다.

예상치 못하거나 예측 불가능한 상황에 대해 예방, 감지 및 대응하는 데 실패하여 장애, 취약점으로 이어질 때 발생하는 위험이다.

  • 대표적인 취약점 : 에러 정보 노출 - 중요정보, 민감 정보 노출,  Failing Open - 검증 실패시 접근을 허용 - if False: break; if False: break; pass();, 불충분한 입력 값 처리 - 입력 값을 적절히 처리하지 못하여 예상하지 못한 동작으로 이어지는 경우 등

 

지금까지 2025년 최신 기준으로 업데이트된 OWASP Top 10을 살펴보았다. 이론적인 개념을 익혔으니, 이제 다음 포스팅부터는 WebGoat라는 모의 해킹 실습 환경을 통해 이러한 취약점들이 실제로 어떻게 발생하고, 어떻게 방어할 수 있는지 하나씩 직접 실습해 보겠다.

'Web' 카테고리의 다른 글

Webgoat 실습 환경 구축  (0) 2026.03.16