HANGUL.WIKI

OWASP

OWASP

번역 제공
3,611자 · 2026-04-26
목차 (20개 섹션)

OWASP (Open Web Application Security Project)

개요

OWASP(Open Web Application Security Project)는 웹 애플리케이션 보안을 개선하기 위한 비영리 재단으로, 2001년 설립되었다. 무료 오픈소스 문서, 도구, 표준을 제공하며, 전 세계 250개 이상의 챕터와 수만 명의 커뮤니티가 활동한다. 개발자, 보안 전문가, 아키텍트가 보안 소프트웨어를 설계·개발·테스트하는 데 필요한 지식을 제공하는 것이 목표다.

OWASP Top 10

OWASP Top 10은 웹 애플리케이션의 가장 심각한 보안 위험 10가지를 선정한 인식 문서다. 수년마다 업데이트되며, 전 세계 보안 커뮤니티가 가장 많이 참조하는 보안 표준이다.

OWASP Top 10 2021 (현행)

A01:2021 - 접근 통제 실패 (Broken Access Control)

이전 순위: A05:2017 → A01:2021 (1위로 상승)
  • 인증된 사용자가 권한 없는 기능이나 데이터에 접근 가능한 취약점
  • 예시: URL 파라미터 변조(/user/123/user/124), JWT 토큰 조작, CORS 설정 오류, 관리자 페이지 직접 URL 접근
  • 방어: 최소 권한 원칙, 서버 측 접근 통제 검증, CORS 화이트리스트
  • A02:2021 - 암호화 실패 (Cryptographic Failures)

    이전 명칭: A03:2017 민감 데이터 노출
  • 전송 중·저장 중 민감 데이터 보호 실패
  • 예시: HTTP 전송, 약한 암호화(MD5, SHA-1), 하드코딩된 암호키, 불충분한 TLS 설정
  • 방어: TLS 1.2+, AES-256, 강력한 해시(Argon2/bcrypt), HSM 키 관리
  • A03:2021 - 인젝션 (Injection)

    이전 순위: A01:2017 → A03:2021
  • 신뢰할 수 없는 데이터가 인터프리터에 명령으로 전송되는 취약점
  • SQL 인젝션:
  • - 입력: ' OR '1'='1 → WHERE 조건 무력화 - 방어: 준비된 구문(Prepared Statement), ORM, 입력 유효성 검사
  • NoSQL 인젝션: MongoDB 등 NoSQL DB 대상 ({"$ne": null})
  • OS 명령어 인젝션: cmd.exe /c dir 형태 삽입
  • LDAP 인젝션, OGNL 인젝션: 미들웨어 대상
  • A04:2021 - 불안전한 설계 (Insecure Design)

    2021년 신규 추가. 아키텍처·설계 단계의 보안 결함
  • 예시: 비즈니스 로직 결함(무제한 예약, 쿠폰 중복 사용), 불충분한 위협 모델링
  • 방어: 위협 모델링(STRIDE), 보안 설계 패턴, 보안 요구사항 정의
  • A05:2021 - 보안 설정 오류 (Security Misconfiguration)

  • 기본 계정/비밀번호, 불필요한 기능 활성화, 과도한 오류 메시지 노출
  • 예시: S3 버킷 공개 노출, Spring Boot Actuator 무인증 접근, XML 외부 엔티티(XXE)
  • 방어: 하드닝(Hardening) 체크리스트, IaC 보안 스캔, CIS 벤치마크
  • A06:2021 - 취약하고 오래된 컴포넌트 (Vulnerable and Outdated Components)

  • 알려진 취약점이 있는 라이브러리·프레임워크 사용
  • 예시: Log4Shell(CVE-2021-44228), Spring4Shell, Apache Struts 취약점
  • 방어: SCA(Software Composition Analysis) 도구(Dependabot, Snyk), 정기 패치
  • A07:2021 - 식별 및 인증 실패 (Identification and Authentication Failures)

  • 취약한 인증 메커니즘
  • 예시: 무제한 로그인 시도, 약한 세션 ID, 비밀번호 미검증, MFA 미적용
  • 방어: MFA, 강력한 비밀번호 정책, 세션 타임아웃, FIDO2
  • A08:2021 - 소프트웨어 및 데이터 무결성 실패 (Software and Data Integrity Failures)

  • CI/CD 파이프라인 보안 결함, 안전하지 않은 역직렬화
  • 예시: 신뢰할 수 없는 CDN, npm 공급망 공격, 서명 없는 업데이트
  • 방어: 코드 서명, SLSA 프레임워크, 역직렬화 입력 검증
  • A09:2021 - 보안 로깅 및 모니터링 실패 (Security Logging and Monitoring Failures)

  • 보안 이벤트 미기록, 이상 탐지 부재
  • 예시: 로그인 실패 미기록, SIEM 부재, 침해 감지 지연
  • 방어: 중앙집중식 로깅(ELK, Splunk), SIEM, 침해지표(IoC) 모니터링
  • A10:2021 - 서버 측 요청 위조 (SSRF - Server-Side Request Forgery)

    2021년 신규 추가
  • 서버가 외부 공격자가 지정한 URL로 요청을 보내는 취약점
  • 예시: 클라우드 인스턴스 메타데이터 접근(http://169.254.169.254/), 내부망 스캔
  • 방어: URL 화이트리스트, SSRF 방어 라이브러리, 네트워크 세그멘테이션
  • XSS (Cross-Site Scripting) 심층 분석

    XSS는 Top 10 외에도 지속적으로 상위 취약점으로 등장한다.

    유형

  • Stored XSS: DB에 저장된 악성 스크립트가 사용자에게 렌더링
  • Reflected XSS: URL 파라미터의 스크립트가 즉시 반영
  • DOM-based XSS: JavaScript DOM 조작을 통한 스크립트 실행
  • 방어

  • 출력 인코딩(HTML, JS, URL, CSS 컨텍스트별)
  • CSP(Content Security Policy) 헤더
  • HttpOnly/Secure 쿠키 플래그
  • 입력 유효성 검사(화이트리스트)
  • 주요 OWASP 프로젝트

  • OWASP ZAP: 무료 오픈소스 웹 취약점 스캐너
  • OWASP ASVS: 애플리케이션 보안 검증 표준 (3개 레벨)
  • OWASP SAMM: 소프트웨어 보증 성숙도 모델
  • OWASP Cheat Sheet Series: 개발자용 보안 구현 가이드
  • OWASP Dependency-Check: 알려진 취약 컴포넌트 탐지
  • OWASP WSTG: 웹 보안 테스트 가이드
  • 보안 개발 수명주기(SDL) 통합

    OWASP는 개발 단계별 통합을 권장한다:
  • 요구사항: OWASP ASVS 기반 보안 요구사항
  • 설계: 위협 모델링, STRIDE
  • 개발: 보안 코딩 표준, SAST 도구
  • 테스트: DAST(ZAP), 침투 테스트, WSTG
  • 배포: 보안 설정 검토, IaC 스캔
  • 운영: SIEM, 취약점 관리
  • 국내 활용

  • 행정안전부·KISA의 전자정부 웹 취약점 점검 기준이 OWASP 기반
  • 금융보안원 금융 분야 취약점 점검 가이드라인 참조
  • PCI-DSS, ISO 27001 인증 심사에서 OWASP Top 10 준수 요구

문서 정보

최초 작성
최종 갱신
분량
3,611자 (성인 기준)
분류
과학기술

HANGUL.WIKI가 정리·작성한 문서입니다. 정확성을 위해 노력하나 오류가 있을 수 있으므로, 중요한 내용은 공식 출처를 통해 확인하시기 바랍니다. 내용의 오류나 정정 요청은 오류·정정 신고로 알려주시면 검토 후 반영합니다.