🔁 전자금융 보안 모의해킹 · HTTPS 재협상 차단
Target: 금융 서비스 HTTPS 웹서버
평가기준: 위험도 5 WEB-SER HTTPS 재협상(037)
평가기준: 위험도 5 WEB-SER HTTPS 재협상(037)
💡 쉽게 말하면
통화 도중 상대가 마음대로 회선을 계속 다시 연결하게 두면, 끼어들어 가짜 말을 넣거나 전화기를 마비시킵니다. 중간 재연결을 막아두면 한 번 연결된 안전한 통화만 유지됩니다.
통화 도중 상대가 마음대로 회선을 계속 다시 연결하게 두면, 끼어들어 가짜 말을 넣거나 전화기를 마비시킵니다. 중간 재연결을 막아두면 한 번 연결된 안전한 통화만 유지됩니다.
🔓 공격 시뮬레이션 (Red Team)
🛡️ 대응 방안 (Blue Team)
TLS 재협상 점검🔒 Secured Channel
서버가 안전하지 않은 클라이언트 개시 TLS 재협상을 허용하면, 공격자는 재협상 경계를 악용해 평문 요청 주입이나 반복 재협상으로 자원을 고갈시키는 DoS를 유발할 수 있습니다.
⚡ 클라이언트 재협상 악용
openssl s_client로 재협상(R) 허용 확인
openssl s_client로 재협상(R) 허용 확인
OFF
🖥️ 금융 시스템 처리 로그
[SYSTEM] Core Banking Channel ready.
[INFO] 거래 요청 대기 중...
⚖️ 컴플라이언스 위반 분석
공격 실행 후 분석 결과가 표시됩니다.
[심각] 전자금융 보안 기준 위반 감지
- 평가기준 [전자금융] HTTPS 재협상 차단(위험도 5)
- 전자금융감독규정 제32조: 안전하지 않은 재협상 통제 미흡
- TLS 권고(RFC 5746) 안전하지 않은 재협상 / CVE-2009-3555 위반
🛡️ 대응 코드/설정 실습
서버는 안전하지 않은 재협상을 비활성화하고 클라이언트 개시 재협상을 차단해야 합니다. 아래 Nginx/OpenSSL 설정을 보완하세요.
📚 금융보안원 평가기준 / 조치 가이드
1. 점검 항목
서버 보안 > HTTPS 재협상 차단2. 위험 분석
- 안전하지 않은 재협상으로 평문 요청 주입
- 재협상 반복으로 자원 고갈 DoS
3. 조치 방법
- 안전하지 않은 재협상 비활성화
- 클라이언트 개시 재협상 차단(SSL_OP_NO_RENEGOTIATION)
- 필요 시 재협상 횟수·속도 제한
🏗️ 현대 금융 IT 환경에서의 변형
TLS 1.3ALBDoS
어디가 달라졌나
TLS 1.3 에는 재협상 기능 자체가 없습니다. 규격에서 제거되었기 때문에, 1.3 전용으로 운영하면 이 항목은 구조적으로 해소됩니다. 문제는 1.2 를 함께 지원하는 동안이며, 대부분의 금융 서비스가 여기에 해당합니다.
현대 스택에서의 조치
- TLS 1.2 구간에서는 클라이언트 개시 재협상을 거부합니다. 관리형 LB(ALB·CloudFront)는 기본적으로 거부하므로, 직접 운영하는 nginx·HAProxy 가 점검 대상입니다.
- 재협상은 비대칭 연산 증폭 DoS 경로이기도 합니다 — 적은 대역폭으로 서버 CPU 를 소모시킵니다.
- 가능하면 TLS 1.3 전용 정책으로 옮겨 문제를 없앱니다.
# 직접 운영하는 nginx 라면 (OpenSSL 1.0.2 이후 기본 거부지만 명시해 둔다) ssl_protocols TLSv1.2 TLSv1.3; # 1.3 전용이 가능하면: # ssl_protocols TLSv1.3;
놓치기 쉬운 곳 — ALB 뒤의 오리진 서버는 점검에서 빠집니다.
외부에서 스캔하면 ALB 만 보이므로, 내부 오리진은 별도로 확인해야 합니다.