정보관리기술사/보안

OWASP Top 10

알로그 2025. 5. 22. 14:58
반응형

웹 애플리케이션을 개발하거나 운영 중이라면 반드시 알아야 할 보안 지침이 있습니다.
바로 OWASP Top 10입니다.

이 글에서는 OWASP Top 10이 무엇인지, 각 항목이 어떤 취약점이며 왜 중요한지를 작성합니다.

 

1. OWASP Top 10이란?

OWASP(Open Web Application Security Project)는 전 세계 보안 전문가들이 모여 웹 애플리케이션의 주요 보안 취약점을 분석·정리하는 비영리 단체입니다.

 

OWASP는 약 3~4년마다 가장 심각하고 빈번한 취약점 10가지를 OWASP Top 10이라는 리스트로 발표합니다.

이는 사이버 보안의 기준이자, 개발자/운영자/보안 담당자의 체크리스트로 활용됩니다.

https://owasp.org/www-project-top-ten/

 

OWASP Top Ten | OWASP Foundation

The OWASP Top 10 is the reference standard for the most critical web application security risks. Adopting the OWASP Top 10 is perhaps the most effective first step towards changing your software development culture focused on producing secure code.

owasp.org

 


 

2. OWASP Top 10 

아래는 2021년 기준 OWASP Top 10의 항목과 간단한 설명입니다.

순위 취약점명 한글 번역
A01 Broken Access Control 취약한 접근 통제
A02 Cryptographic Failures 암호화 실패
A03 Injection 주입(Injection) 취약점
A04 Insecure Design 보안이 고려되지 않은 설계
A05 Security Misconfiguration 보안 설정 오류
A06 Vulnerable and Outdated Components 취약하거나 오래된 구성요소
A07 Identification and Authentication Failures 인증 및 신원 확인 실패
A08 Software and Data Integrity Failures 소프트웨어 및 데이터 무결성 실패
A09 Security Logging and Monitoring Failures 보안 로그 및 모니터링 실패
A10 Server-Side Request Forgery (SSRF) 서버 측 요청 위조
 

2. 각 취약점 상세 내용

A01. Broken Access Control (접근 통제 실패)

  • 권한 없는 사용자가 관리자 페이지, 다른 사용자 데이터 등에 접근할 수 있는 취약점
  • 예: /admin URL을 직접 입력하면 관리자 페이지 접근 가능

A02. Cryptographic Failures (암호화 실패)

  • 민감 정보가 암호화되지 않았거나, 약한 알고리즘을 사용하는 경우
  • 예: 비밀번호를 평문으로 저장하거나 HTTPS 미사용

A03. Injection (명령어 삽입)

  • 외부 입력값이 검증 없이 SQL, OS 명령어, LDAP 등에 포함되어 실행
  • 예: ' OR 1=1 -- 같은 SQL 인젝션

A04. Insecure Design (보안 미설계)

  • 아예 설계 단계에서 보안을 고려하지 않은 구조
  • 예: 인증 절차 없이 내부 API에 접근 가능한 구조

A05. Security Misconfiguration (보안 설정 오류)

  • 디버깅 모드 ON, 기본 비밀번호 사용 등 설정 부주의로 인한 문제
  • 예: AWS S3 버킷 퍼블릭으로 설정

A06. Vulnerable and Outdated Components (취약한 구성요소)

  • 사용 중인 오픈소스나 라이브러리가 구버전 또는 취약점 포함
  • 예: jQuery, Spring 등 구버전 사용

A07. Identification and Authentication Failures (인증 실패)

  • 인증 로직이 약하거나, 세션 관리가 부실한 경우
  • 예: 세션 탈취, 비밀번호 추측 공격

A08. Software and Data Integrity Failures (무결성 실패)

  • 신뢰할 수 없는 소스에서 소프트웨어/데이터를 받아 실행
  • 예: 서명되지 않은 패키지를 자동 업데이트

A09. Logging and Monitoring Failures (모니터링 부재)

  • 공격 징후를 탐지할 수 없거나, 로그가 없어서 추적 불가
  • 예: 실패한 로그인 시도 기록 없음

A10. Server-Side Request Forgery (SSRF)

  • 공격자가 서버에게 내부 주소로 요청을 보내도록 유도
  • 예: 서버가 내부 IP 127.0.0.1로 접근하게 유도하여 민감 데이터 노출

3. 대응방법

  • 사용자 입력은 반드시 검증 및 필터링
  • 민감 정보는 강력한 암호화로 보호
  • 신 보안 패치 유지
  • 한 관리 철저 (Role-based Access Control)
  • 그 및 이상 탐지 시스템 도입
  • 보안 점검 자동화 도구 활용 (예: SonarQube, Snyk, Burp Suite)

 

OWASP Top 10은 웹 애플리케이션 보안의 가장 핵심적인 지표입니다.
개발자라면 프로젝트 시작 단계부터 이 리스트를 참고해, 안전한 아키텍처를 설계하고 보안 취약점이 최소화된 코드를 작성해야 합니다.

반응형