콘텐츠로 바로가기

Web Vulnerabilities (OWASP Top 10)

웹 애플리케이션 보안의 표준 목록인 OWASP Top 10을 통해, 현대 웹 서비스가 직면한 가장 치명적인 수리적·논리적 약점들의 물리적 원리와 방어 기제를 다룹니다.

sys.entry
M

Me

hyunyoun's Blog

posts7 min read

1. Overview

웹 취약점 및 OWASP Top 10 (Web Vulnerabilities, OWASP)은 인터넷의 물리적 창구인 웹 브라우저와 서버 사이의 통신에서 발생하는 수리적 허점들을 분류하고, 이를 악용하여 하드웨어를 장악하거나 데이터를 탈취하려는 공격자들에 맞서는 '애플리케이션 방어 물리학'입니다.

학습자는 전 세계 보안 커뮤니티가 합의한 10가지 핵심 위협 목록인 OWASP Top 10의 물리적 배경을 배웁니다. 특히, 사용자 입력값이 명령어로 돌변하는 **인젝션(Injection)**의 원리와, 타인의 권한을 수리적으로 도용하는 **접근 제어 미흡(Broken Access Control)**의 수순을 익힙니다. 이를 통해 서비스 기획 단계부터 코딩, 배포까지 웹 보안 사고를 '0'으로 수렴시키는 하이엔드 웹 거버넌스 역량을 확보합니다.

2. Scope & Boundaries

In-Scope

  • OWASP Top 10 Categories: 인젝션, 인증 실패, 민감 데이터 노출 등 10대 위협의 수리적 정의
  • Input Manipulation: SQLi, XSS, OS Command Injection의 물리적 페이로드 분석
  • Access Control Logic: 권한 상승(Escalation) 및 수평적 이동의 수치적 탐지
  • Component Security: 취약한 오픈소스 하드웨어 라이브러리 사용에 따른 물리적 위험 전이
  • Security Misconfiguration: 잘못된 서버 설정으로 인한 정보 누출의 수리적 궤적

Out-of-Scope

  • 네트워크 계층의 패킷 필터링 및 방화벽 규칙 (10-02-01 FII 영역에서 분담)
  • 암호학 알고리즘의 수학적 증명 상세 (10-01-01 SAA 영역에서 분담)

Boundaries

  • OWASP vs. Secure Coding: OWASP가 '외부에서 본 결과적 약점'에 집중한다면, Secure Coding(10-03-02)은 '내부에서 그 약점이 생기지 않게 하는 구현 공정'에 집중하여 구분합니다.

3. Counterexample

  • 단순히 "보안 솔루션 설치"라 설명하는 것은 OWASP 학습이 아닙니다. 왜 비즈니스 로직 취약점은 방화벽(WAF) 수치로는 정상 트래픽으로 보임에도 불구하고 실제로는 시스템에 물리적인 타격을 줄 수 있는지 수리적으로 증명할 수 있어야 하며, XSS 공격이 서버가 아닌 '사용자의 브라우저 하드웨어'에서 수리적으로 실행되는 물리적 특성을 논증하지 못한다면 웹 보안의 본질을 이해하지 못한 것입니다.

4. Prerequisites

  • Web Protocols & API Paradigms (Basic): 08-03-XX의 HTTP 요청/응답 구조 및 헤더 이해가 필수입니다.
  • Data & Information Management (Basic): 06-XX-XX의 SQL 쿼리 및 DB 연동 기초 이해가 필수입니다.

5. Learning Map

  1. The Enemy's List: 전 세계 보안 사고의 90% 이상을 차지하는 10가지 수리적 약점을 파악합니다.
  2. Logic as a Weapon: 평범한 입력값이 어떻게 하드웨어 명령어로 물리 변환(Exploit)되는지 실습합니다.
  3. Broken Barriers: 사용자 간의 보이지 않는 벽(Access Control)이 수치적으로 무너지는 현상을 분석합니다.
  4. Holistic Defense: 코드, 라이브러리, 설정을 통합하여 완벽한 '시큐어 웹 에코시스템'을 완성합니다.

6. Learning Topics

Basic

Core: 입력을 통한 명령 실행 (Injection Physics)

  • Why to Learn: 해커가 아이디 입력창에 코드를 넣어 우리 하드웨어의 DB를 통째로 지우는 일을 막기 위해서입니다.
  • What to Learn:
    • SQL Injection: 쿼리문에 논리적 오류를 주입하여 수리적으로 권한을 우회하는 법
    • Cross-Site Scripting (XSS): 악성 스크립트를 타인의 브라우저 물리 메모리에서 실행시키는 기제
    • Command Injection: 웹 서버 OS의 시스템 콜을 직접 호출하는 수리적 경로
  • How to Learn:
    • dvwaWebGoat 같은 실습용 하드웨어 환경에서, ' OR 1=1 --와 같은 수리적 공격 구문 주입 실습
    • 공격 성공 시 서버의 물리 로그(LogLog)에 남는 특수 문자 패턴 식별 훈련
  • Implement: 파라미터화된 쿼리(ParameterizedQueryParameterized Query)를 사용하여 인젝션을 원천 차단하는 SanitizedDB

Core: 인증과 권한의 논리적 붕괴 (Identity Failure)

  • Why to Learn: 남의 계정에 접속하거나, 일반 사용자가 관리자 하드웨어 페이지에 들어가는 물리적 사고를 방지하기 위함입니다.
  • What to Learn:
    • Broken Access Control: URL 유추나 ID 조작으로 수리적 경계를 넘는 법
    • Cryptographic Failures: 패스워드를 평문으로 저장하거나 약한 키를 쓰는 물리적 실수
    • Session Hijacking: 타인의 수리적 토큰(TokenToken)을 탈취하여 신분을 사칭하는 물리 수순
  • How to Learn:
    • 브라우저의 쿠키(CookieCookie) 값을 다른 사용자의 것으로 수치 변경하여 계정이 바뀌는지 물리 확인 실습
    • HTTPS 없이 전송되는 세션 아이디가 하드웨어 스니퍼에 의해 어떻게 수리 탈취되는지 연구
  • Implement: 세션 만료 시간(TTLTTL)과 IP 검증이 추가된 HardenedSessionManager

Practical

Core: 데이터 침해와 컴포넌트 위험 (Data & Supply Chain)

  • Why to Learn: 우리가 만든 코드뿐 아니라, 우리가 가져다 쓴 '외부 라이브러리'의 수리적 결함으로 인해 하드웨어가 털리는 것을 막기 위함입니다.
  • What to Learn:
    • Vulnerable Components: 오래된 버전의 라이브러리 속에 숨은 CVSS 점수 분석
    • SSRF (Server-Side Request Forgery): 서버가 내부 하드웨어 자원을 스스로 공격하게 만드는 수리 유도
    • Improper Assets Management: 폐기되지 않은 구버전 API 하드웨어가 노출되는 물리적 위험
  • How to Learn:
    • npm audit이나 Snyk을 돌려 현재 프로젝트의 오픈소스 라이브러리 중 수리적 결함이 있는 것을 골라내는 실습
    • 클라우드 메타데이터 API주소를 호출하여 서버의 물리적 자격 증명을 뽑아내는 SSRF 경로 분석
  • Implement: 상용 라이브러리의 취약점(CVE)을 상시 감시하고 리포팅하는 SupplyChainWatch

Advanced

Core: 현대적 웹 아키텍처 위협과 자동화 방어 (AI & API Security)

  • Why to Learn: SPA, Microservices, LLM 연동 웹 등 복잡해지는 하드웨어 구조에서의 수리적 실수를 잡아내기 위함입니다.
  • What to Learn:
    • API Security Top 10: REST/GraphQL 환경에서의 고유한 물리 취약점(BOLA 등)
    • LLM Prompt Injection: AI 챗봇을 조종하여 내부 하드웨어 정보를 수리적으로 인출하는 법
    • DevSecOps Alignment: CI/CD 파이프라인에서 보안 스캔을 수치적으로 자동화하는 거버넌스
  • How to Learn:
    • Burp Suite의 침투 테스트 자동화 기능을 사용하여, 수천 개의 수리적 조합 공격을 하드웨어에 가해보는 실습
    • 공격자의 IP 평판(ReputationReputation) 데이터를 실시간 수치로 받아와 서버에서 동적으로 차단하는 물리 루프 설계
  • Implement: 웹 트래픽의 수리적 패턴을 분석하여 비정상 요청을 자동으로 드랍하는 기초 WAF_Brain

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
OWASP 웹 애플리케이션 보안 가이드를 제공하고 전 세계 보안 표준을 수리적으로 정의하는 비영리 기구입니다. 기본 보안 재단 Top 10 / Project NIST 특정 솔루션 아님 Industry core
SQLi DB 쿼리문에 악의적인 수리 구문을 삽입하여 데이터를 조작하거나 기밀 정보를 인출하는 물리 공격입니다. 기본 인젝션 위협 Query / ORM NoSQLi DB만 털리는 게 아님 P3:CyBOK core
XSS 웹 페이지에 악성 스크립트를 삽입하여 타인의 브라우저 메모리 내에서 수리적으로 실행시키는 공격입니다. 기본 클라이언트 위협 Script / DOM CSRF 서버가 뚫리는 것과 다름 P3:CyBOK core
SSRF 서버가 공격자가 의도한 내부 하드웨어 자원의 수리적 주소로 요청을 보내게 만드는 대리인 공격입니다. 실무 연결 위협 Metadata / Cloud CSRF 서버 내부망 공격용임 Industry core

8. References

Primary

Secondary

  • [OWASP Top 10<2021> Official Report] — The fundamental source of current web threats.
  • [The Web Application Hacker's Handbook] Dafydd Stuttard — The industry Bible for web testing.

Industry

  • [PortSwigger Academy: Web Security] — Practical high-end lab context.
  • [Snyk: State of Open Source Security] — Supply chain risk data.

9. Final Checklist

Primary

  • '인젝션' 위협에서 '사용자 입력값의 신뢰 수준'을 수리적으로 어떻게 분류해야 하는지 설명 가능한가? (P3)
  • '민감 데이터 노출' 사고가 발생하는 하드웨어 스토리지와 전송 레이어의 수치적 결합을 기술할 수 있는 가? (P3)

Secondary

  • 'Stored XSS'와 'Reflected XSS'가 사용자의 하드웨어 세션에 미치는 물리적 영향력의 수리적 차이를 소통 가능한가?
  • BOLA (Broken Object Level Authorization) 취약점이 현대 API 하드웨어 구조에서 왜 가장 치명적인지 논증할 수 있는 가?

Industry

  • 실무 서비스 릴리즈 전 'DAST(동적 보안 스캔)'를 통해 발견된 취약점의 수치적 심각도(CVSS)를 제안할 수 있는 가? (SFIA)
  • Content Security Policy (CSP) 헤더 설정을 통해 브라우저 하드웨어의 자바스크립트 실행 권한을 물리적으로 제약하는 수순을 분석할 수 있는 가?