🧭 OWASP Top 10 λ§ˆμŠ€ν„°ν•˜κΈ° (2025λ…„νŒ): μ°¨μ„ΈλŒ€λ₯Ό μœ„ν•œ λ³΄μ•ˆ λ‘œλ“œλ§΅

λ°œν–‰: (2026λ…„ 1μ›” 14일 μ˜€ν›„ 11:01 GMT+9)
8 min read
원문: Dev.to

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 / CommitSAST(정적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŠΈ) 및 λΉ„λ°€ μŠ€μΊ”SonarQube, TruffleHog
Build / CISCA(μ†Œν”„νŠΈμ›¨μ–΄ ꡬ성 뢄석)Snyk, Dependabot
Deploy / CDIaC 및 μ»¨ν…Œμ΄λ„ˆ μŠ€μΊ”Checkov, Trivy
RuntimeDAST(동적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŠΈ) 및 κ΄€μ°° κ°€λŠ₯μ„±OWASP ZAP, Datadog

OWASP Topβ€―10을 μ±„νƒν•˜λŠ” 것은 λͺ©λ‘μ„ μ™Έμš°λŠ” 것이 μ•„λ‹ˆλΌ 우리 쑰직의 μœ„ν—˜μ„ μš°μ„ μˆœμœ„ν™”ν•˜κΈ° μœ„ν•œ 기반으둜 ν™œμš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ—”μ§€λ‹ˆμ–΄λ‘œμ„œ 우리의 λͺ©ν‘œλŠ” **β€œλ³΄μ•ˆμ„ μ™Όμͺ½μœΌλ‘œ 이동(shift security left)”**이며, μ΄λŸ¬ν•œ μ œμ–΄λ₯Ό μžλ™ν™”ν•˜μ—¬ ν’ˆμ§ˆ 게이트처럼 μž‘λ™ν•˜κ²Œ ν•˜κ³ , λ§ˆμ§€λ§‰ λ‹¨κ³„μ—μ„œ μž₯애물이 λ˜μ§€ μ•Šλ„λ‘ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Back to Blog

κ΄€λ ¨ κΈ€

더 보기 Β»

κΈ°μˆ μ€ κ΅¬μ›μžκ°€ μ•„λ‹ˆλΌ μ΄‰μ§„μžλ‹€

μ™œ μ‚¬κ³ μ˜ λͺ…확성이 μ‚¬μš©ν•˜λŠ” 도ꡬ보닀 더 μ€‘μš”ν•œκ°€? TechnologyλŠ” μ’…μ’… λ§ˆλ²• μŠ€μœ„μΉ˜μ²˜λŸΌ μ·¨κΈ‰λœλ‹€β€”μΌœκΈ°λ§Œ ν•˜λ©΄ λͺ¨λ“  것이 κ°œμ„ λœλ‹€. μƒˆλ‘œμš΄ software, ...

에이전틱 코딩에 μž…λ¬Έν•˜κΈ°

Copilot Agentμ™€μ˜ κ²½ν—˜ λ‚˜λŠ” 주둜 GitHub Copilot을 μ‚¬μš©ν•΄ 인라인 νŽΈμ§‘κ³Ό PR 리뷰λ₯Ό μˆ˜ν–‰ν–ˆμœΌλ©°, λŒ€λΆ€λΆ„μ˜ μ‚¬κ³ λŠ” λ‚΄ 머리둜 ν–ˆμŠ΅λ‹ˆλ‹€. 졜근 λ‚˜λŠ” t...

npm Classic Tokens 사라짐: 배포λ₯Ό μ§€μ†ν•˜λŠ” 두 κ°€μ§€ μ € μœ μ§€λ³΄μˆ˜ 방법

λ°°κ²½: npm이 졜근 ν΄λž˜μ‹ npm 토큰이 deprecated(μ‚¬μš© 쀑단)되고 revoked(폐기)λœλ‹€κ³  λ°œν‘œν–ˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  μ‚¬μš©μžλŠ” expiration이 ν¬ν•¨λœ granular tokens둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.