암호화된 트래픽 분석
암호화된 트래픽도 타이밍, 크기, 트래픽 패턴과 같은 메타데이터를 유출한다는 사실을 알아봅니다.
암호화된 트래픽 분석은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Encryption Does Not Hide Timing
네트워크 트래픽을 암호화하면 메시지 내용은 보호되지만, 패킷 타이밍은 여전히 완전히 관찰 가능합니다. 암호화된 연결을 모니터링하는 공격자는 패킷 간 지연, 연결 지속 시간, 그리고 버스트의 시간적 패턴을 측정할 수 있습니다. 이러한 타이밍 특성을 통해 어떤 애플리케이션이 사용 중인지, 사용자가 타이핑 중인지 데이터를 수신 중인지 파악할 수 있으며, 심지어는 타이밍 정보만으로 민감한 정보를 재구성할 수도 있습니다.
Packet Size Reveals Data Volume
콘텐츠를 직접 확인하지 않아도 패킷 크기만으로도 정보를 얻을 수 있습니다. 파일을 다운로드할 때는 최대 전송 단위(MTU)에 가까운 큰 패킷이 발생하고, 채팅 메시지에는 작은 패킷이 사용됩니다. 암호화된 세션에서 전송된 전체 데이터 양을 통해 큰 파일이 공유되었는지 여부를 파악할 수 있습니다. 영상 통화의 품질 설정에 따라 특징적인 패킷 크기 분포가 나타나는데, 이는 숙련된 분석가라면 식별할 수 있습니다.
Traffic Analysis: Communication Patterns
트래픽 분석은 내용을 확인하지 않고 누가 누구와 통신하는지, 언제, 얼마나 자주, 그리고 얼마나 오랫동안 통신하는지 파악합니다. 완전히 암호화된 통신이라 할지라도 소셜 그래프를 드러냅니다. 한 기자가 불규칙적인 간격으로 특정 정부 관료의 IP 주소에 접촉한다는 사실을 아는 것은, 무슨 내용이 오갔는지와 상관없이 귀중한 정보입니다. 트래픽 분석은 전신 통신 시대부터 감시에 사용되어 왔습니다.
TLS SNI Leaks the Hostname
브라우저가 TLS 연결을 수립할 때, 암호화가 시작되기 전 초기 ClientHello 메시지에 Server Name Indication 확장(extension)을 보냅니다. SNI는 클라이언트가 연결하려는 도메인 이름을 담고 있습니다. 네트워크 경로에 있는 모든 관찰자는 SNI를 읽어 사용자가 어떤 웹사이트를 방문하는지 정확히 알 수 있습니다. 이후 HTTP 요청이 암호화되어 있더라도 말이죠. SNI는 서버가 올바른 인증서를 선택하는 데 필요하므로 평문(plaintext)으로 전송됩니다.
QUIC and Encrypted Client Hello
QUIC은 Google에서 개발한 현대적인 전송 프로토콜로, UDP 위에서 동작합니다. 이는 Encrypted Client Hello (ECH) 메커니즘을 사용하여 SNI를 포함한 TLS 핸드셰이크를 처음부터 암호화합니다. ECH는 실제 호스트 이름을 포함하는 내부 ClientHello를 CDN 진입점으로 향하는 외부 ClientHello 안에 암호화합니다. 이는 TCP 기반의 기존 TLS 1.3에서 불가피했던 호스트 이름 유출을 방지합니다.
Website Fingerprinting via Traffic Patterns
웹사이트 핑거프린팅 공격은 각 웹사이트가 고유한 리소스 요청 패턴, 즉 특정 개수의 객체가 특정 크기로 특정 순서로 로드되는 패턴을 생성한다는 사실을 악용합니다. 이러한 패턴으로 분류기를 학습시키면, 공격자는 암호화된 VPN을 사용하더라도 트래픽 패턴만으로 사용자가 어떤 웹사이트를 방문했는지 식별할 수 있습니다. 연구에 따르면 일반적인 웹사이트에 대해 90% 이상의 정확도를 보입니다.
Tor's Limitations Against Global Adversaries
Tor는 각 홉마다 암호화되어 세 개의 자원 봉사 릴레이를 통해 트래픽을 라우팅하여 출발지와 목적지 간의 연결을 숨깁니다. 하지만 Tor 진입 노드와 종료 노드를 모두 관찰할 수 있는 공격자는 트래픽 상관 분석(traffic correlation)을 사용할 수 있습니다. 내용이 암호화되어 있더라도 진입 및 종료 지점에서의 타이밍과 볼륨 패턴이 일치하기 때문입니다. 인터넷의 상당 부분을 감시할 수 있는 능력을 가진 국가 지원 공격자는 이러한 상관 분석 공격을 수행할 수 있습니다.
Video Streaming Resolution Inference
넷플릭스와 유튜브는 가용 대역폭에 따라 비디오 품질을 조절하며, 해상도별로 패킷 전송률과 크기 분포가 달라집니다. 연구자들은 관찰자가 스트리밍 중인 비디오의 트래픽 패턴을, 다양한 품질 수준의 알려진 비디오들의 핑거프린트 데이터베이스와 대조하여 비디오 제목을 추론할 수 있음을 입증했습니다. 콘텐츠 길이와 타이밍 패턴이 여전히 노출되기 때문에, 이는 HTTPS 환경에서도 작동합니다.
VPN Metadata Leakage
VPN은 사용자와 VPN 서버 간의 트래픽을 암호화하여 로컬 ISP로부터 목적지를 숨깁니다. 하지만 VPN 제공업체는 모든 목적지를 볼 수 있으며, 목적지별 총 트래픽 양도 제공업체에 노출됩니다. 또한, VPN 터널이 시작되기 전의 DNS 쿼리는 여전히 ISP에 유출될 수 있습니다. 게다가, 명시적으로 차단하지 않으면 브라우저의 WebRTC는 VPN이 활성화된 상태에서도 사용자의 실제 IP 주소를 노출시킬 수 있습니다.
DNS Lookups Before TLS Still Reveal Destinations
TLS 연결이 설정되기 전에 브라우저는 도메인 이름을 IP 주소로 확인하기 위해 DNS 룩업을 수행합니다. 만약 DNS가 암호화되어 있지 않다면 (DoH나 DoT를 사용하지 않는다면), DNS 쿼리는 평문으로 전송되어 로컬 리졸버, ISP, 그리고 네트워크상의 모든 관찰자에게 목적지를 노출합니다. 이후 TLS 연결이 암호화되고 ECH가 SNI를 숨기더라도, DNS 쿼리는 이미 목적지를 노출한 상태입니다.
Countermeasures for Traffic Analysis
트래픽 분석에 대응하려면 실제 패턴을 숨기기 위한 커버 트래픽을 추가하고, 트래픽 셰이핑을 적용한 익명 네트워크를 사용하며, DoH 또는 DoT로 DNS를 암호화해야 합니다. HTTPS 패딩은 객체 크기를 가릴 수 있습니다. 플러그형 전송을 사용하는 Tor는 트래픽 패턴을 난독화하여 검열 기반 탐지를 회피할 수 있습니다. 어떤 단일 대응책도 모든 트래픽 분석 공격을 막을 수는 없습니다. 효과적인 보호를 위해서는 여러 기술을 조합하여 적용해야 합니다.
Traffic Metadata
TLS 1.3이 HTTP 요청을 암호화하더라도, 네트워크 관찰자에게 어떤 메타데이터가 보일까요?
Encrypted Traffic Analysis: Key Takeaways
암호화는 콘텐츠를 보호하지만 메타데이터는 보호하지 못합니다. 타이밍, 패킷 크기, 통신 패턴은 상당한 정보를 드러냅니다. TLS SNI는 호스트명을 평문으로 노출하지만, QUIC의 Encrypted Client Hello는 이를 방지합니다. 웹사이트 핑거프린팅은 트래픽 패턴을 통해 방문한 사이트를 식별할 수 있습니다. Tor는 전역 공격자에 의한 트래픽 상관 분석에 취약합니다. DoH나 DoT를 사용하지 않으면, TLS 전의 DNS 조회는 목적지를 노출합니다.
자주 묻는 질문
“암호화된 트래픽 분석” 강의는 무료인가요?
네 — “암호화된 트래픽 분석” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“암호화된 트래픽 분석”에서 뭘 배우나요?
암호화된 트래픽도 타이밍, 크기, 트래픽 패턴과 같은 메타데이터를 유출한다는 사실을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“암호화된 트래픽 분석” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.