[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -1,31 +1,35 @@
|
||||
---
|
||||
id: [[P-Reinforce]]-AI-050
|
||||
category: "10_Wiki/💡 Topics/Security & [[Reliability]]"
|
||||
confidence_score: 0.99
|
||||
tags: [security, owasp, vulnerability, secure coding]
|
||||
last_reinforced: 2026-06-XX
|
||||
github_commit: "[P-Reinforce] Processed OWASP Top 10."
|
||||
id: P-REINFORCE-AUTO-WIKI-SEC-005
|
||||
category: "10_Wiki/💡 Topics/Security & Reliability"
|
||||
confidence_score: 0.95
|
||||
tags: [security, owasp-top-10, web-security, vulnerability-checklist, compliance, p-reinforce]
|
||||
last_reinforced: 2026-05-01
|
||||
---
|
||||
|
||||
# [[OWASP Top 10]] (웹 애플리케이션 보안 취약점)
|
||||
# [[OWASP Top 10]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 웹 애플리케이션 개발 시 가장 빈번하고 치명적인 상위 10가지 보안 위험 목록으로, 개발 초기 단계부터 '[[Shift]]-Left' 원칙에 따라 코딩과 테스트 전반에 걸쳐 방어 로직을 적용하는 것이 필수적이다.
|
||||
> "웹 애플리케이션에서 발생하는 가장 치명적인 10대 보안 취약점의 표준 정의이자, 개발자와 리뷰어가 공유해야 할 최소한의 보안 안전장치이자 체크리스트."
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **개념:** OWASP(Open Web Application Security Project)가 매년 발표하는 웹 보안 취약점 목록이며, 모든 개발 팀이 반드시 숙지해야 할 기본적인 '최소한의 방어선'을 정의한다.
|
||||
- **주요 위험 요소 및 대응 원칙 (예시):**
|
||||
1. **Injection (주입 공격):** 가장 흔하며 치명적이다. 사용자 입력을 신뢰하지 않고, 모든 입력에 대해 반드시 파라미터화된 쿼리(Prepared [[State]]ment)를 사용해야 한다.
|
||||
2. **Broken Authentication:** 인증 메커니즘을 강력하게 관리해야 한다. 비밀번호 암호화는 최신 알고리즘(Argon2 등)과 복잡한 정책을 따라야 하며, 세션 관리에 주의한다.
|
||||
3. **Cross-Site Scripting (XSS):** 사용자 생성 콘텐츠 출력 시 반드시 컨텍스트 기반 이스케이프(Contextual Escaping) 처리를 거쳐 악성 스크립트 실행을 막아야 한다.
|
||||
4. **Security Misconfiguration:** 기본 설정값을 변경하지 않고 사용하는 실수를 최소화하며, 모든 컴포넌트는 최소 권한 원칙에 따라 운영되어야 한다.
|
||||
OWASP Top 10은 안전한 소프트웨어 개발을 위한 범용적인 가이드라인입니다.
|
||||
|
||||
1. **보안 코드 리뷰의 표준**:
|
||||
* 단순한 기능 점검을 넘어 "공격자가 이 데이터를 어떻게 조작할 수 있는가?"라는 관점을 제시합니다.
|
||||
* 입력값 검증, 인증/인가, 민감 데이터 노출, 보안 설정 오류 등 핵심 영역을 아우르는 프레임워크를 제공합니다.
|
||||
2. **주요 취약점 유형**:
|
||||
* 인젝션(Injection), 취약한 인증(Broken Authentication), 민감 데이터 노출, 보안 오설정 등이 포함됩니다.
|
||||
3. **자동화 도구와의 시너지**:
|
||||
* SonarQube 등 SAST 도구의 규칙 엔진(Rule Engine)의 근간이 되며, 기계가 패턴을 선별하고 인간이 비즈니스 로직을 검토하는 협업 체계를 구축합니다.
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 보안은 단순히 패치를 적용하는 문제가 아니라, 개발 프로세스(SDLC) 전체에 걸쳐 '보안을 기본으로 생각하는' 문화적 접근이 필요하다.
|
||||
- **정책 변화:** [[SAST]]/DAST 같은 자동화된 테스트 도구 활용 외에도, 설계 단계에서부터 보안 취약점 분석(Threat Modeling)을 의무화하고, 코드를 검토할 때마다 (Pull Request 기반의) 보안 체크리스트를 도입하는 것이 현대적 표준이다.
|
||||
- **로직 결함의 사각지대**: OWASP Top 10은 패턴화된 취약점 탐지에는 뛰어나지만, 비즈니스 로직의 특수성에서 기인하는 설계 오류나 복잡한 접근 제어 결함은 인간의 심층 수동 리뷰(Manual Review)가 필수적입니다.
|
||||
- **버전별 변화**: 웹 기술의 발전에 따라 Top 10의 순위와 항목은 주기적으로 업데이트되므로(예: 2017 -> 2021), 최신 가이드라인에 맞춘 체크리스트의 동적 갱신 정책이 중요합니다.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- Parent: [[DevSecOps]]
|
||||
- Related: [[SAST (Static Application Security [[Testing]])]] , [[DAST (동적 애플리케이션 보안 테스트)]] , Security by Design
|
||||
|
||||
- [[SAST (Static Application Security Testing)]]: 자동화된 탐지 엔진과의 연동.
|
||||
- [[Secure Code Review]]: 보안 중심의 코드 검토 방법론.
|
||||
- [[Injection Flaws]]: 대표적인 취약점 패턴의 심화.
|
||||
- [[CWE Top 25]]: 소프트웨어 약점 목록과의 교차 분석.
|
||||
- [[Shift-Left Security]]: 보안 기준의 조기 적용 전략.
|
||||
---
|
||||
Reference in New Issue
Block a user