반응형

**Broken Authentication(취약한 인증)**을 정리해줄게.
보안관제 관점 + 개발 보안 관점까지 실무 위주로 설명할게.


🔥 1. Broken Authentication이란?

정의:
Broken Authentication은 인증(로그인) 기능이 안전하게 설계되지 않아 공격자가 계정을 도용하거나 인증을 우회할 수 있는 취약점을 의미해.

쉽게 말해:

👉 로그인/세션 관리가 허술해서 공격자가 사용자의 계정으로 들어오는 상황


🔹 2. Broken Authentication이 발생하는 대표 상황

✔ 1) 취약한 비밀번호 정책

  • 너무 짧거나 쉬운 비밀번호 허용
  • 비밀번호 복잡도 없음
  • 중복 비밀번호 허용

✔ 2) Brute-force / Credential Stuffing 방어 미흡

  • 로그인 횟수 제한 없음
  • CAPTCHA 없음
  • 2FA 없음

✔ 3) 세션 관리 취약

  • 세션 ID가 예측 가능
  • 로그인 후 세션 재발급 안 함(Session Fixation)
  • 세션 만료 시간 과도하게 김
  • 세션이 HTTPOnly/secure 옵션 없음

✔ 4) 인증 우회 가능

  • 직접 URL 접근으로 로그인 우회
  • 잘못된 인증 로직

✔ 5) MFA(2단계 인증) 부재 또는 우회 가능

✔ 6) 비밀번호 찾기/재설정 기능 취약

  • 이메일 검증 없음
  • 토큰이 너무 단순 / 만료 없음
  • 누구나 비밀번호 리셋 메일 요청 가능

🔹 3. 실무 공격 예시

✔ 1) Brute-force 공격

사용자ID를 고정하고 여러 비밀번호 시도:

 
POST /login username=admin&password=123456

✔ 2) Credential Stuffing

유출된 이메일/비밀번호 조합 대량 대입

✔ 3) Session Fixation 공격

공격자:

 
sessionid=knownvalue

피해자가 로그인하면 → 해당 세션이 그대로 유지 → 계정 탈취

✔ 4) 인증 우회 취약점

 
/login → /home

로그인 검사 없이 접근 가능하면 인증 우회.

✔ 5) 비밀번호 재설정 링크 탈취

재설정 링크가 너무 단순:

 
/reset?token=12345

🔹 4. 공격자가 할 수 있는 일

  • 계정 탈취
  • 관리자 계정 장악
  • 대량 로그인 시도로 서비스 마비
  • 내부 정보 열람
  • 악성 게시글/댓글 업로드
  • 금전적 피해(결제 시스템이면 더 위험)

🔹 5. WAF / 보안관제 관점 대응

✔ 1) 로그인 실패 반복 탐지

  • 동일 IP에서 여러 계정 시도
  • 동일 계정에서 여러 IP 시도
  • 짧은 시간에 과도한 실패 → 차단

✔ 2) Credential Stuffing 패턴 차단

  • 유출 PW 목록 기반 탐지
  • User-Agent 비정상 반복

✔ 3) 세션 관련 탐지

  • 세션ID 값 비정상 패턴
  • 여러 지역에서 동일 세션 사용

✔ 4) MFA 우회 탐지

  • 로그인 성공 후 MFA 실패 반복

🔹 6. 개발 단계 방어책 (중요!)

🔸 A. 인증 로직 강화

✔ 비밀번호 정책 강화

  • 대문자 + 소문자 + 숫자 + 특수문자 조합
  • 최소 8~12자 이상 권장

✔ 로그인 시도 제한

  • 5회 이상 실패 시 잠금 처리
  • IP 기반 rate-limit 적용

✔ CAPTCHA 적용

  • 자동화 공격 방지

✔ MFA 필수 적용


🔸 B. 세션 관리 강화

✔ 로그인 성공 시 새로운 세션ID 발급

(Session Fixation 방지)

✔ Secure + HttpOnly + SameSite 옵션 적용

예:

 
Set-Cookie: session=xyz; Secure; HttpOnly; SameSite=Lax

✔ 세션 타임아웃 설정

  • 일정 시간 후 만료

🔸 C. 취약한 비밀번호 재설정 기능 방지

  • 토큰 랜덤 길이 32바이트 이상
  • 10~30분 이내 만료
  • 단일 사용 후 삭제
  • 동일 이메일 요청시 의도치 않은 정보 노출 방지

🎯 한 문장 요약

Broken Authentication = 취약한 인증/세션 관리로 인해 공격자가 사용자 계정을 탈취하거나 인증을 우회할 수 있는 모든 문제를 말하며, 비밀번호 정책·세션 관리·로그인 보호 기능 강화로 방어해야 한다.

반응형

+ Recent posts