ν”Όλ“œλ‘œ λŒμ•„κ°€κΈ°
Stop Fake Webhooks: Master HMAC Signatures in Laravel πŸ›‘οΈ
Dev.toDev.to
Security

HMAC-SHA256 λ„μž…μ„ ν†΅ν•œ Webhook Spoofing μ™„λ²½ 차단

Stop Fake Webhooks: Master HMAC Signatures in Laravel πŸ›‘οΈ

Prajapati Paresh2026λ…„ 6μ›” 10일2λΆ„intermediate

Context

μ™ΈλΆ€ μ„œλΉ„μŠ€μ˜ Webhook을 μ²˜λ¦¬ν•˜λŠ” 곡개 μ—”λ“œν¬μΈνŠΈμ˜ λ³΄μ•ˆ 취약점 뢄석. λ‹¨μˆœ HTTP POST μš”μ²­μ— μ˜μ‘΄ν•˜λŠ” ꡬ쑰둜 인해 μ•…μ˜μ μΈ Payload μ‘°μž‘μ„ ν†΅ν•œ κΆŒν•œ νšλ“ 및 λΆ€μ • 결제 처리 μœ„ν—˜ 상쑴.

Technical Solution

  • Zero-trust API 섀계λ₯Ό μœ„ν•œ HMAC-SHA256 기반 Signature Verification 체계 λ„μž…
  • Business Controller μ§„μž… μ „ μš”μ²­μ„ κ²€μ¦ν•˜λŠ” Middleware κ³„μΈ΅μ˜ Guard ꡬ쑰 섀계
  • Raw Request Body와 곡유 Secret Keyλ₯Ό μ‘°ν•©ν•œ 독립적 ν•΄μ‹œ 생성 및 비ꡐ 둜직 κ΅¬ν˜„
  • Timing Attack λ°©μ§€λ₯Ό μœ„ν•΄ λ‹¨μˆœ 비ꡐ μ—°μ‚°μžκ°€ μ•„λ‹Œ hash_equals() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œ μƒμˆ˜ μ‹œκ°„ 비ꡐ 적용
  • μœ νš¨ν•˜μ§€ μ•Šμ€ μ‹œκ·Έλ‹ˆμ²˜ 탐지 μ‹œ 즉각적인 401/403 응닡 λ°˜ν™˜ 및 IP 기반 둜그 기둝 체계 ꡬ좕

- Webhook μ—”λ“œν¬μΈνŠΈ 섀계 μ‹œ λ°˜λ“œμ‹œ 곡유 Secret 기반의 Signature 검증 둜직 포함 - λ¬Έμžμ—΄ 비ꡐ μ‹œ Timing Attack λ°©μ§€λ₯Ό μœ„ν•΄ 언어별 μƒμˆ˜ μ‹œκ°„ 비ꡐ ν•¨μˆ˜(Constant-time comparison) μ‚¬μš© μ—¬λΆ€ 확인 - λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 μ§„μž… μ „ Middleware λ‹¨κ³„μ—μ„œ 인증 및 검증을 μ²˜λ¦¬ν•˜μ—¬ λ¦¬μ†ŒμŠ€ λ‚­λΉ„ μ΅œμ†Œν™”

원문 읽기