OWASP Top 10은 웹 애플리케이션 보안에서 가장 중요한 취약점을 정리한 목록으로, 개발자와 보안 전문가들에게 중요한 지침을 제공합니다. 아래는 OWASP Top 10의 주요 항목을 정리한 내용입니다.
OWASP Top 10 (2021 기준)
- Broken Access Control (취약한 접근 통제)
- 접근 권한이 제대로 설정되지 않아, 공격자가 다른 사용자 데이터에 접근하거나 관리자 권한을 획득할 수 있는 취약점.
- 예: 인증되지 않은 사용자가 관리자 페이지에 접근.
- Cryptographic Failures (암호화 실패)
- 민감한 데이터 보호를 위한 암호화가 잘못 구현되거나 누락된 경우 발생.
- 예: 비밀번호를 평문으로 저장하거나 약한 암호화 알고리즘 사용.
- Injection (인젝션)
- SQL, NoSQL, OS 명령어 등에서 입력값이 제대로 검증되지 않아 악의적인 코드를 실행하는 취약점.
- 예: SQL Injection, Command Injection.
- Insecure Design (설계의 불안전성)
- 보안이 고려되지 않은 설계로 인해 발생하는 문제. 보안 취약점의 근본 원인을 초기에 제거하지 못함.
- 예: 인증 절차를 설계하지 않거나 비효율적인 인증 흐름.
- Security Misconfiguration (보안 설정 오류)
- 잘못된 보안 설정으로 인해 시스템이 공격에 노출되는 경우.
- 예: 디버그 모드 활성화, 기본 비밀번호 사용.
- Vulnerable and Outdated Components (취약하거나 오래된 컴포넌트)
- 사용 중인 라이브러리나 프레임워크의 취약점을 해결하지 않은 상태로 운영하는 경우.
- 예: 패치되지 않은 오픈소스 소프트웨어 사용.
- Identification and Authentication Failures (식별 및 인증 실패)
- 인증 메커니즘이 부적절하게 구현되어 공격자가 사용자 계정을 탈취할 수 있는 취약점.
- 예: 약한 비밀번호 정책, 세션 고정 공격(Session Fixation).
- Software and Data Integrity Failures (소프트웨어 및 데이터 무결성 실패)
- 코드 및 데이터의 무결성을 검증하지 않아 발생하는 문제. 주로 공급망 공격과 관련됨.
- 예: 서명되지 않은 소프트웨어 업데이트.
- Security Logging and Monitoring Failures (보안 로깅 및 모니터링 실패)
- 보안 이벤트를 기록하거나 모니터링하지 않아 침해 사고를 탐지하지 못하는 경우.
- 예: 로그 미생성 또는 분석 시스템 부재.
- Server-Side Request Forgery (SSRF, 서버사이드 요청 위조)
- 서버가 외부 자원에 요청을 보낼 때 사용자 입력값을 검증하지 않아 발생하는 취약점.
- 예: 공격자가 내부 네트워크로 요청을 위조하여 민감한 정보를 획득.
OWASP Top 10의 중요성
- 보안 인식 제고: 개발자와 조직이 웹 애플리케이션 보안에서 가장 중요한 위협을 이해하도록 도움.
- 표준화된 가이드라인 제공: 애플리케이션 개발 시 보안을 고려한 설계를 촉진.
- 법적/규제 준수 지원: GDPR, PCI-DSS 등 다양한 규제 요구사항 충족에 도움.
728x90