본문 바로가기
일반IT/IT보안

OWASP Top 10, 4년의 변화: 2017 vs 2021 무엇이 달라졌을까? 🧐

by gasbugs 2025. 8. 15.

안녕하세요, 웹 애플리케이션 보안에 관심 있는 모든 개발자, 엔지니어, 그리고 보안 전문가 여러분! 👋 오늘은 4년 만에 업데이트된 OWASP Top 10 2021이 이전 2017년 버전과 비교해서 어떻게 변화했는지, 그리고 그 변화가 우리에게 어떤 의미를 주는지 깊이 있게 파헤쳐 보려고 합니다.

 

OWASP Top 10은 웹 애플리케이션 보안에서 가장 중요하고 시급하게 대응해야 할 10가지 취약점 목록입니다. 시대의 흐름에 따라 공격 트렌드와 기술 환경이 바뀌면서 이 목록도 계속해서 진화하는데요, 2021년 버전은 특히나 큰 변화를 보여주었습니다. 그럼, 어떤 점들이 달라졌는지 하나씩 살펴볼까요? 🚀

 

https://owasp.org/Top10/

 


한눈에 보는 2017 vs 2021 비교 📊

순위 OWASP Top 10 2017 OWASP Top 10 2021 변경 사항
1 인젝션 (Injection) 취약한 접근 제어 (Broken Access Control) 🔼 4단계 상승 (5위 -> 1위)
2 취약한 인증 (Broken Authentication) 암호화 실패 (Cryptographic Failures) 🔼 1단계 상승 & 명칭 변경
3 민감한 데이터 노출 (Sensitive Data Exposure) 인젝션 (Injection) 🔽 2단계 하락 & XSS 통합
4 XML 외부 개체 (XXE) 안전하지 않은 설계 (Insecure Design) 신규 등장
5 취약한 접근 제어 (Broken Access Control) 잘못된 보안 설정 (Security Misconfiguration) 🔼 1단계 상승 & XXE 통합
6 잘못된 보안 설정 (Security Misconfiguration) 취약하고 오래된 구성 요소 (Vulnerable & Outdated) 🔼 3단계 상승 & 명칭 변경
7 크로스 사이트 스크립팅 (XSS) 식별 및 인증 실패 (Identification & Auth Failures) 🔽 5단계 하락 & 명칭/범위 변경
8 안전하지 않은 역직렬화 (Insecure Deserialization) 소프트웨어 및 데이터 무결성 실패 (SW & Data Integrity) 신규 등장 & 역직렬화 통합
9 알려진 취약점이 있는 구성요소 사용 보안 로깅 및 모니터링 실패 (Logging & Monitoring) 🔼 1단계 상승
10 불충분한 로깅 및 모니터링 서버 측 요청 위조 (SSRF) 신규 등장
 
 

표만 봐도 정말 많은 변화가 있었죠? 순위 변동은 물론, 3개의 항목이 새롭게 추가되고 기존 항목들은 다른 항목에 통합되거나 이름과 범위가 바뀌었습니다.


주목해야 할 핵심 변화 짚어보기 🔍

1. 새로운 왕의 등장: 취약한 접근 제어 (A1)

2017년 부동의 1위였던 '인젝션'을 밀어내고 '취약한 접근 제어'가 무려 4계단이나 상승하며 1위를 차지했습니다. 이는 인증된 사용자가 허용되지 않은 기능이나 데이터에 접근하는 취약점이 그만큼 광범위하고 심각하다는 것을 의미합니다. 이제는 단순히 공격을 막는 것을 넘어, 사용자별 권한 관리를 얼마나 세밀하고 정확하게 하느냐가 보안의 핵심이 된 것이죠. 🔐

2. '설계'의 중요성을 말하다: 안전하지 않은 설계 (A4)

2021년 목록에서 가장 주목할 만한 변화는 '안전하지 않은 설계' 항목의 등장입니다. 이는 "코드를 아무리 완벽하게 짜도, 애초에 설계가 잘못되었다면 소용없다"는 메시지를 던집니다. OWASP는 이제 개발 초기 단계, 즉 **아키텍처와 설계 단계부터 보안 위협을 모델링하고 방어 체계를 갖추는 'Shift Left'**의 중요성을 강조하고 있습니다. 단순히 구현 상의 실수를 넘어, 근본적인 설계 결함에 주목하기 시작한 것입니다. 🏗️

3. 공급망 공격의 위험: 소프트웨어 및 데이터 무결성 실패 (A8)

CI/CD 파이프라인과 자동화된 업데이트가 보편화되면서 새로운 위협이 등장했습니다. 바로 **'소프트웨어 및 데이터 무결성 실패'**입니다. 이는 우리가 사용하는 외부 라이브러리, 플러그인, 그리고 업데이트 프로세스 자체의 무결성을 검증하지 않을 때 발생하는 위험을 다룹니다. 신뢰할 수 없는 소스에서 코드를 가져오거나, 자동 업데이트 과정에서 악성 코드가 삽입되는 **공급망 공격(Supply Chain Attack)**의 위험성을 반영한 항목이죠. 2017년의 '안전하지 않은 역직렬화'는 이 항목의 일부로 통합되었습니다. ⛓️

4. 클라우드 시대의 새로운 복병: 서버 측 요청 위조 (A10)

마지막 신규 항목은 바로 **'서버 측 요청 위조(SSRF)'**입니다. 마이크로서비스 아키텍처(MSA)와 클라우드 환경이 확산되면서 서버가 다른 서버에게 직접 요청을 보내는 경우가 많아졌습니다. SSRF는 공격자가 이 서버를 대리인으로 삼아 내부 시스템이나 다른 외부 시스템을 공격하게 만드는 취약점입니다. 특히 클라우드 환경에서는 내부 네트워크 정보나 메타데이터 서비스에 접근하는 치명적인 결과를 낳을 수 있어 그 위험성이 크게 부각되었습니다. ☁️

5. 통합되고 재정의된 항목들

  • 인젝션(A3)과 XSS: 전통의 강자 '인젝션'은 3위로 내려왔고, 2017년에 별도 항목이었던 '크로스 사이트 스크립팅(XSS)'이 인젝션의 한 종류로 통합되었습니다. 프레임워크의 발전으로 예전보다 방어가 쉬워진 점이 반영되었습니다.
  • 암호화 실패(A2): 2017년 '민감한 데이터 노출'이 더 근본적인 원인인 '암호화 실패'로 이름이 바뀌며 순위가 상승했습니다. 증상보다는 원인에 집중하려는 변화를 엿볼 수 있습니다.
  • 식별 및 인증 실패(A7): '취약한 인증'에서 이름이 바뀌며 범위가 확장되었습니다. 단순 인증 실패를 넘어 ID 자체를 확인하는 과정의 취약점까지 포함합니다.

왜 이렇게 바뀌었을까? 🤔

이번 개편의 가장 큰 특징은 데이터 기반 접근근본 원인에 대한 집중입니다. OWASP는 이전보다 훨씬 더 많은 기관으로부터 실제 취약점 데이터를 수집하고 분석하여 목록을 만들었습니다. 또한 '민감 데이터 노출'처럼 결과(증상)에 가까운 항목 대신 '암호화 실패'와 같이 그 원인이 되는 항목에 더 집중하여, 개발자들이 문제의 뿌리를 해결하도록 유도하고 있습니다.

결론적으로 OWASP Top 10 2021은 최신 개발 환경과 공격 트렌드를 매우 적극적으로 반영한 결과물이라고 할 수 있습니다. 이제 우리의 보안 전략도 단순히 알려진 취약점을 막는 수준을 넘어, 설계 단계부터 공급망까지 전체 소프트웨어 개발 생명주기(SDLC)를 아우르는 방향으로 나아가야 할 때입니다. 🛡️

여러분은 이번 OWASP Top 10의 변화에 대해 어떻게 생각하시나요? 댓글로 자유롭게 의견을 나눠주세요!