π§ OWASP Top 10 λ§μ€ν°νκΈ° (2025λ ν): μ°¨μΈλλ₯Ό μν 보μ λ‘λλ§΅
Source: Dev.to
νλ κ°λ° μΈκ³μμ 보μμ λͺ©μ μ§κ° μλλΌ μ§μμ μΈ κ°μ κ³Όμ μ΄λ€. μννΈμ¨μ΄ κ°λ° λ°°κ²½μ κ°μ§ μ°λ¦¬μκ² κ°μ₯ ν° μ₯μ μ μ½λκ° μ΄λ»κ² ꡬμΆλλμ§λ₯Ό μ΄ν΄νλ€λ μ μ΄λ€; OWASP Topβ―10μ κ·Έ μ½λκ° μ΄λ»κ² κΉ¨μ§ μ μλμ§, κ·Έλ¦¬κ³ κ°μ₯ μ€μν κ²μ μ΄λ»κ² 보νΈν μ μλμ§λ₯Ό μλ €μ£Όλ κ°μ΄λλ€.
μ΄ λͺ©λ‘μ μ€μ 보μ μ
체μ λ²κ·Έ λ°μ΄ν° νλ‘κ·Έλ¨μ λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ μΉ μ ν리μΌμ΄μ
μ λν κ°μ₯ μ€μν 보μ μνμ λνλΈλ€.
λ€ λ¨κ³ λͺ¨λΈ
| λ¨κ³ | μ€λͺ |
|---|---|
| Entrada de datos (Input Handling) | λ°μ΄ν° μ λ ₯ (Input Handling) β μΈμ μ (Injection) λ° μ κ·Ό μ μ΄ (Access Control) μ€λ₯κ° λ°μνλ κ³³. |
| Procesamiento del sistema (Processing Layer) | μμ€ν μ²λ¦¬ (Processing Layer) β μνΈν (Cryptography), 보μ κ΅¬μ± (Security Configuration) λ° μΈμ¦ (Authentication) μ€λ₯κ° λ°μνλ κ³³. |
| Dependencias externas (Dependencies / Supply Chain) | μΈλΆ μ’ μμ± (Dependencies / Supply Chain) β λ¬΄κ²°μ± (Integrity) λ° μννΈμ¨μ΄ 곡κΈλ§ (Software Supply Chain)μ μ€μ . |
| Respuesta y fallos (Error Handling & Logging) | μλ΅ λ° μ€λ₯ (Error Handling & Logging) β λ‘κ·Έ (Logging) λ° μμΈ μ²λ¦¬ (Exception Handling)λ νμμ μ λλ€. |
μμλ μ κ·Ό μ μ΄
μν₯: μ¬μ ν 1μ μ리λ₯Ό μ°¨μ§νκ³ μμ΅λλ€. λΆμλ μ ν리μΌμ΄μ μ 94β―%κ° μ΄ μ νμ κ²°ν¨μ λνλκΈ° λλ¬Έμ λλ€. μ¬μ©μκ° μμ μ κΆνμ λ²μ΄λ νλν μ μμ λ λ°μν©λλ€. μλ₯Ό λ€μ΄, νΈν ν¬μκ°μ μ΄μ κ° λ§€λμ μ¬λ¬΄μ€κΉμ§ μ΄ μ μλ κ²½μ°μ κ°μ΅λλ€.
ν΅μ¬ λ³ν (2025): μ΄μ SSRF (ServerβSide Request Forgery) λ₯Ό 곡μμ μΌλ‘ ν¬ν¨ν©λλ€. μ΄λ μλ²κ° λ΄λΆ 리μμ€μ μμ²μ μννλλ‘ κ°μ νλ 곡격μ λλ€.
λ°©μ΄:
- βκΈ°λ³Έ κ±°λΆ(deny by default)β μ μ± μ ꡬνν©λλ€.
- κΆν λΆμ¬ λ‘μ§μ λ―Έλ€μ¨μ΄μ μ€μ μ§μ€νν©λλ€.
보μ κ΅¬μ± μ€λ₯
μν₯: ν΄λΌμ°λ(AWS, Azure)μ μΏ λ²λ€ν°μ€μ 볡μ‘μ± λλ¬Έμ #2μλ‘ μμΉνμ΅λλ€. κΈ°λ³Έ μ격 μ¦λͺ λΆν° νλ‘λμ μμ λλ²κ·Έ λͺ¨λ νμ±νκΉμ§ ν¬ν¨ν©λλ€.
DevSecOps μ κ·Όλ²: λ°°ν¬ μ μ μ€λ₯λ₯Ό κ°μ§νκΈ° μν΄ Checkov λλ tfsecμ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ μΈνλΌμ€νΈλμ²λ₯Ό μ½λ(IaC)λ‘ μ€μΊν©λλ€.
μννΈμ¨μ΄ 곡κΈλ§ μ€ν¨
Impacto: μ€λλ κ°μ₯ μ€μν μ£Όμ (μ·¨μ½νκ³ μ€λλ κ΅¬μ± μμλ₯Ό λ체). μ½λκ° μμ νλ€κ³ ν΄λ μλνν° λΌμ΄λΈλ¬λ¦¬κ° μμλμ΄ μμΌλ©΄ μΆ©λΆνμ§ μλ€.
Defensa:
- μννΈμ¨μ΄μ ν¬ν¨λ κ΅¬μ± μμλ₯Ό μ νν νμ νκΈ° μν΄ **SBOM (Software Bill of Materials)**μ μμ±νλ€.
- SCA (Software Composition Analysis) λκ΅¬μΈ Snykλ₯Ό μ¬μ©νλ€.
μνΈνμ μ€ν¨
μν₯: μ μ‘ μ€μ΄κ±°λ μ μ₯λ λ―Όκ°ν λ°μ΄ν°μ λν 보νΈκ° μΆ©λΆνμ§ μμ.
λͺ¨λ² μ¬λ‘:
- λΉλ°λ²νΈ ν΄μ±μ μν΄ Argon2μ κ°μ κ°λ ₯ν μκ³ λ¦¬μ¦μ μ¬μ©ν©λλ€.
- HashiCorp Vaultμ κ°μ κΈκ³ μμ μνΈ ν€λ₯Ό κ΄λ¦¬ν©λλ€.
Injection
Impacto: μ λ’°ν μ μλ λ°μ΄ν°κ° μΈν°ν리ν°(SQL, NoSQL, OS λͺ λ Ή)λ‘ μ μ‘λμ΄ μΏΌλ¦¬μ μΌλΆκ° λ λ λ°μν©λλ€.
SoluciΓ³n: νμ λ§€κ°λ³μνλ 쿼리 λλ μ€λΉλ λ¬Έμ μ¬μ©νμ¬ μ½λμ λ°μ΄ν°λ₯Ό λΆλ¦¬νμμμ€.
λΆμμ ν μ€κ³
μν₯: 건μΆμ κ²°ν¨μ΄λ©°, μ½λ κ²°ν¨μ΄ μλλ€. μ΄λ ꡬν λ¬Έμ κ° μλλΌ μμ€ν μ€κ³ λ¬Έμ μ΄λ€.
μλ°©: μ€κ³ λ¨κ³μμ STRIDEμ κ°μ λ°©λ²λ‘ μ μ¬μ©νμ¬ μν λͺ¨λΈλ§μ μννλ€.
μλ³ λ° μΈμ¦ μ€ν¨
μν₯: μ μ νμΈ λ° μΈμ κ΄λ¦¬μ μ·¨μ½μ .
μν μ‘°μΉ:
- MFA (λ€μ€ μΈμ¦) κ°μ μ μ©.
- λ‘κ·ΈμΈ μλν¬μΈνΈμ rate limiting μ μ©.
μννΈμ¨μ΄ λ° λ°μ΄ν° λ¬΄κ²°μ± μ€ν¨
μν₯: μ λ’°ν μ μλ μΆμ²μμ μ¨ μ½λ, μ λ°μ΄νΈ λ° μν°ν©νΈμ λν κ²μ¦μ΄ λΆμ‘±ν¨.
μ‘°μΉ: 컨ν μ΄λ μ΄λ―Έμ§μ μν°ν©νΈλ₯Ό Cosignκ³Ό κ°μ λꡬλ₯Ό μ¬μ©νμ¬ λμ§νΈ μλͺ ν©λλ€.
보μ λ‘κ·Έ λ° λͺ¨λν°λ§ μ€ν¨
μν₯: λ‘κ·Έκ° μμΌλ©΄ 곡격μ κ°μ§νκ±°λ μ°¨λ¨ν μ μμ΅λλ€.
ν΄κ²°μ± :
- λ‘κ·Έλ₯Ό SIEM(μ: ELK λλ Splunk)μΌλ‘ μ€μ μ§μ€νν©λλ€.
- μμ¬μ€λ¬μ΄ ν¨ν΄(401/403 μ€λ₯ κΈμ¦)μ λν μλ¦Όμ μμ±ν©λλ€.
μλͺ»λ μμΈ μ²λ¦¬
μν₯: 볡μλ ₯μ΄ λΆμ‘±ν¨; μμ€ν μ΄ βμμ νκ² μ€ν¨βνμ§ μμ. μ 체 μ€ν νΈλ μ΄μ€λ₯Ό μ¬μ©μμκ² νμνλ©΄ λ΄λΆ κ²½λ‘λ λΉλ°μ΄ λ ΈμΆλ μ μμ.
μλ°©: μ μ μ€λ₯ μ²λ¦¬κΈ°λ₯Ό ꡬννμ¬ ν΄λΌμ΄μΈνΈμκ²λ μΌλ°μ μΈ λ©μμ§λ₯Ό λ°ννκ³ λ΄λΆμμλ μμΈ λ‘κ·Έλ₯Ό μ μ§νλλ‘ ν¨.
SDLCμμ 보μ ν΅ν©
| λ¨κ³ | 보μ νλ | κΆμ₯ λꡬ |
|---|---|---|
| IDE / Commit | SAST(μ μ μ ν리μΌμ΄μ 보μ ν μ€νΈ) λ° λΉλ° μ€μΊ | SonarQube, TruffleHog |
| Build / CI | SCA(μννΈμ¨μ΄ κ΅¬μ± λΆμ) | Snyk, Dependabot |
| Deploy / CD | IaC λ° μ»¨ν μ΄λ μ€μΊ | Checkov, Trivy |
| Runtime | DAST(λμ μ ν리μΌμ΄μ 보μ ν μ€νΈ) λ° κ΄μ°° κ°λ₯μ± | OWASP ZAP, Datadog |
OWASP Topβ―10μ μ±ννλ κ²μ λͺ©λ‘μ μΈμ°λ κ²μ΄ μλλΌ μ°λ¦¬ μ‘°μ§μ μνμ μ°μ μμννκΈ° μν κΈ°λ°μΌλ‘ νμ©νλ κ²μ λλ€. μμ§λμ΄λ‘μ μ°λ¦¬μ λͺ©νλ **β보μμ μΌμͺ½μΌλ‘ μ΄λ(shift security left)β**μ΄λ©°, μ΄λ¬ν μ μ΄λ₯Ό μλννμ¬ νμ§ κ²μ΄νΈμ²λΌ μλνκ² νκ³ , λ§μ§λ§ λ¨κ³μμ μ₯μ λ¬Όμ΄ λμ§ μλλ‘ ν΄μΌ ν©λλ€.