IT Professional Engineering/SEC

SSL MITM Attack: 보안 통신의 숨겨진 위협

GilliLab IT 2025. 5. 27. 14:18
728x90
반응형

SSL MITM Attack: 보안 통신의 숨겨진 위협

SSL/TLS 개요

  • SSL(Secure Socket Layer)과 TLS(Transport Layer Security)는 네트워크 통신 보안을 위한 암호화 프로토콜.

  • 웹사이트 접속 시 주소창의 자물쇠 아이콘과 HTTPS 표시로 SSL/TLS 적용 확인 가능.

  • 주요 기능:

    • 데이터 암호화(Encryption): 제3자가 데이터 내용을 볼 수 없도록 함
    • 데이터 무결성(Integrity): 전송 중 데이터 변조 방지
    • 인증(Authentication): 통신 상대방의 신원 확인
  • SSL/TLS 작동 방식:

sequenceDiagram
    Client->>Server: Client Hello (지원 암호화 방식 전달)
    Server->>Client: Server Hello (암호화 방식 선택, 인증서 전달)
    Client->>Client: 서버 인증서 검증
    Client->>Server: 대칭키 생성 및 전송 (서버 공개키로 암호화)
    Server->>Client: 암호화 통신 준비 완료
    Client->>Server: 암호화된 데이터 통신

MITM(Man-In-The-Middle) 공격이란?

  • 중간자 공격: 통신 당사자 간에 제3자가 끼어들어 정보를 도청하거나 변조하는 공격 기법.
  • 공격자는 양쪽 당사자에게 자신이 상대방인 것처럼 위장하여 통신 내용 탈취.
graph LR
    A[클라이언트] -- 원래 통신 경로 --> B[서버]
    A -- 변조된 통신 --> C[공격자] -- 변조된 통신 --> B
  • MITM 공격 종류:
    • ARP Spoofing: 로컬 네트워크에서 MAC 주소를 속여 트래픽 중간 탈취
    • DNS Spoofing: DNS 응답을 속여 클라이언트를 가짜 사이트로 유도
    • Wi-Fi 스푸핑: 신뢰할 수 있는 무선 네트워크로 위장
    • SSL MITM: SSL/TLS 암호화 통신을 우회하는 고급 공격 기법

SSL MITM 공격 메커니즘

  • SSL MITM 공격은 SSL/TLS 암호화 통신을 중간에서 가로채는 고도화된 공격 기법.
  • 공격 단계:
sequenceDiagram
    participant C as 클라이언트
    participant A as 공격자
    participant S as 서버

    C->>A: Client Hello (원래 서버로 전송 의도)
    A->>S: Client Hello (클라이언트 대신 전송)
    S->>A: Server Hello (인증서 포함)
    A->>C: 가짜 인증서를 포함한 Server Hello
    Note over C,A: 클라이언트가 가짜 인증서 수락할 경우
    C->>A: 대칭키 전송 (공격자 공개키로 암호화)
    A->>S: 새 대칭키 전송 (서버 공개키로 암호화)
    C->>A: 암호화된 데이터
    A->>A: 데이터 복호화, 확인, 재암호화
    A->>S: 재암호화된 데이터
    S->>A: 응답 데이터
    A->>C: 변조 가능한 응답 데이터
  • 공격 성공을 위한 조건:
    1. 네트워크 트래픽 통제 (ARP 스푸핑, DNS 스푸핑 등 활용)
    2. 가짜 인증서 생성 및 설치
    3. 클라이언트의 인증서 경고 무시 또는 우회

SSL MITM 공격 도구

  • 주요 공격 도구:

    1. SSLstrip: HTTPS 연결을 HTTP로 다운그레이드하여 공격
    2. Burp Suite: 웹 애플리케이션 보안 테스트 도구, 프록시 기능 제공
    3. mitmproxy: 오픈소스 TLS/HTTP 프록시
    4. Wireshark: 네트워크 패킷 분석 도구
    5. Ettercap: 네트워크 중간자 공격 및 컨텐츠 필터링 도구
  • 실제 공격 시나리오:

    • 공격자가 카페 와이파이 네트워크 제어
    • DNS 스푸핑으로 유명 은행 사이트 접속 시 트래픽 탈취
    • 가짜 인증서로 SSL 세션 중간 차단
    • 사용자 로그인 정보 탈취 및 세션 하이재킹

SSL MITM 공격 사례

  1. 2011년 DigiNotar 인증서 유출 사건

    • 해커가 네덜란드 인증기관 DigiNotar 시스템 침투
    • 구글, 야후 등 주요 사이트에 대한 가짜 인증서 발급
    • 이란 내 Gmail 사용자 30만 명 이상 공격 영향
  2. 2017년 이집트 ISP MITM 공격

    • 이집트 ISP가 사용자 트래픽을 Coinhive 암호화폐 채굴 스크립트로 리다이렉트
    • 광고 수익 창출 위해 국가 수준의 MITM 공격 수행
  3. 기업 네트워크 모니터링 도구

    • 많은 기업이 Blue Coat, Forcepoint 등 모니터링 도구 사용
    • 직원들의 HTTPS 트래픽 검사를 위해 합법적 MITM 기술 활용
    • 프라이버시 vs 보안 모니터링 이슈 발생

방어 기법 및 대응 방안

인증서 핀닝 (Certificate Pinning)

  • 앱이나 브라우저에 특정 서비스의 인증서 정보를 미리 저장하는 기술
  • 예상된 인증서와 실제 인증서 불일치 시 연결 차단
  • 구현 예시 (Android):
// 네트워크 보안 구성 XML (res/xml/network_security_config.xml)
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">example.com</domain>
        <pin-set expiration="2022-01-01">
            <pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
            <!-- 백업 핀 -->
            <pin digest="SHA-256">fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=</pin>
        </pin-set>
    </domain-config>
</network-security-config>

HSTS (HTTP Strict Transport Security)

  • 웹 서버가 브라우저에게 HTTPS만 사용하도록 지시하는 보안 헤더
  • 구현 예시:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  • max-age: 브라우저가 HTTPS 사용 정책을 기억하는 시간(초)
  • includeSubDomains: 모든 하위 도메인에도 적용
  • preload: 브라우저 HSTS 프리로드 목록에 포함

보안 인증서 검증

  • EV(Extended Validation) 인증서 사용: 더 엄격한 신원 확인 절차
  • OCSP(Online Certificate Status Protocol) 스테이플링: 인증서 폐기 상태 실시간 확인
  • 브라우저 기본 인증서 저장소만 신뢰하도록 설정

클라이언트 측 방어

  • 브라우저 보안 경고 무시하지 않기
  • VPN 사용하여 안전한 네트워크 터널 구축
  • 공용 Wi-Fi 사용 시 추가 주의
  • 네트워크 모니터링 도구 사용 (Wireshark 등)

서버 측 방어

  • 최신 TLS 버전 사용 (현재 TLS 1.3 권장)
  • 취약한 암호화 알고리즘 비활성화
  • Perfect Forward Secrecy 지원 암호화 스위트 사용
  • 적절한 키 길이 및 강력한 암호화 알고리즘 적용

SSL MITM 공격과 법적, 윤리적 측면

  • SSL MITM 기술은 합법적인 목적으로도 사용됨:

    • 기업 네트워크 모니터링
    • 보안 감사 및 취약점 테스트
    • 침투 테스트 및 보안 연구
  • 윤리적, 법적 고려사항:

    • 사용자 동의 없는 트래픽 감청은 대부분 국가에서 불법
    • 기업 네트워크 모니터링 시 명확한 정책과 고지 필요
    • 보안 테스트는 적절한 허가와 범위 내에서만 수행
  • 국내 법적 근거:

    • 정보통신망법 제49조: 정보통신망 침해행위 금지
    • 개인정보보호법: 개인정보 불법 수집 금지
    • 통신비밀보호법: 불법 감청 금지

향후 보안 동향

  • 양자 암호화: 양자 컴퓨터에 대비한 새로운 암호화 알고리즘 개발 중
  • TLS 1.3: 개선된 보안과 성능, 단순화된 핸드셰이크로 MITM 공격 난이도 증가
  • 인증서 투명성(Certificate Transparency): 모든 인증서를 공개 로그에 기록, 가짜 인증서 탐지 용이
  • DNSSEC: DNS 스푸핑 방지를 위한 DNS 보안 확장
  • Zero Trust 아키텍처: 모든 사용자와 디바이스를 잠재적 위협으로 간주하는 보안 모델

결론

  • SSL/TLS는 인터넷 통신의 보안을 위한 핵심 기술이지만 MITM 공격에 완전히 안전하지는 않음
  • 공격자의 기술이 발전함에 따라 방어 기법도 지속적으로 발전 필요
  • 다중 레이어 보안 접근법(Defense in Depth) 채택 권장
  • 사용자, 개발자, 시스템 관리자 모두 보안 인식과 적절한 대응 지식 필요
  • 최신 보안 동향과 취약점 정보 지속적 모니터링 중요

Keywords

MITM Attack, SSL/TLS, 중간자 공격, 인증서 핀닝, HSTS, 네트워크 보안, 암호화 통신, 트래픽 감청, Certificate Transparency, 보안 취약점

728x90
반응형