VPN 탐지는 어디서 지켜보는지에 따라 달라진다
네트워크 관찰자는 터널을 보고, 웹사이트는 브라우저의 TLS 세션을 본다. 한 관찰 지점의 증거는 다른 지점으로 전이되지 않는다.
두 탐지기는 같은 사용자를 관찰하면서 서로 다르게 판단할 수 있고, 둘 다 옳을 수 있다. 액세스 링크 옆의 관찰자는 VPN의 바깥 대화를 보고, 웹사이트는 출구에서 도착한 애플리케이션 연결을 본다. 이들은 서로 다른 지문을 가진 다른 연결이며, 한쪽의 증거가 다른 쪽으로 옮겨 가지 않는다. 어떤 TLS나 TCP 시험을 논하기 전에 관찰 지점을 밝히는 것이 그 주장을 의미 있게 만든다.
관찰 지점을 밝히지 않은 탐지기는 측정이 아니라 의견을 서술한다.
두 관찰 지점, 두 개의 다른 연결
바깥 대화는 터널 프로토콜에 속한다. 자체 메시지 형식, 자체 상태 기계, 자체 타이밍을 가진다. 안쪽 연결은 브라우저가 웹사이트로 TLS를 여는 것으로, 터널을 거쳐 출구에서 전달된다. 둘은 같은 순간에 존재하며 같은 흐름이 아니다. 하나는 액세스 네트워크가 볼 수 있는 것이고, 다른 하나는 목적지가 볼 수 있는 것이며, 둘 중 하나를 종료하는 중간 장치는 두 그림을 모두 바꾼다.
이 차이가 탐지 논의의 혼란 대부분을 설명한다. 흐름에 대해 한 가지를 보고하는 시험은 운영자가 염두에 둔 것과 다른 계층의 질문에 답하는 경우가 많다.
액세스 경로의 관찰자가 보는 것
액세스 링크 옆에서 보이는 자료는 터널 프로토콜 자체다. OpenVPN의 제어 및 데이터 패킷 유형, WireGuard의 고정 크기 핸드셰이크와 데이터 패턴, 또는 배포가 추가하는 어떤 래퍼든. 분류기가 그것들을 식별할 수 있는지는 무엇이 보이는지, 어떤 전송이 그것을 나르는지, 추가 난독화가 있는지에 달려 있다. 알아볼 수 있는 패턴은 흐름에 대한 증거이며, 그 뒤에 있는 사람의 신원이나 의도에 대한 증거는 아니다.
포트 443은 서비스에 도달하기 위한 관례다. 그것이 모든 터널 전송을 HTTPS로 만들지는 않는다.
웹사이트가 실제로 보는 것
라우팅된 터널에서도 브라우저는 사이트와 자신의 TLS 세션을 수행한다. 출구에서의 변환은 VPN 게이트웨이를 브라우저의 TLS 종단점으로 만들지 않으므로, 사이트가 받는 ClientHello는 브라우저나 그 TLS 라이브러리를 설명한다. 따라서 JA3 방식의 지문은 애플리케이션 연결을 특징짓고, 그것을 나르는 VPN 소프트웨어를 특징짓지 않는다. 의도적으로 종료하는 프록시만이 그 배치를 바꾸며, 그것은 별도로 식별해야 한다.
TCP 관찰에도 같은 주의가 필요하다. 전달, 변환, 그리고 새 연결을 시작하는 프록시는 세 가지 다른 설계이며, 그중 하나만 전송 스택을 다시 쓴다. 하나의 특이한 특징이 터널을 유일하게 시사하지는 않는다.
주장을 증거 안에 두어라
네트워크 분류, 프로토콜 관찰, 애플리케이션 지문, 계정 신호는 위험 결정의 입력이며, 각각 오탐, 미탐, 빠진 증거가 있다. 호스팅 대역의 주소는 상업용 VPN에 대해 아무것도 증명하지 못하며, 흔한 브라우저 지문은 직접 VPN에 대해 아무것도 증명하지 못한다. 탐지기를 평가할 때는 알려진 경로가 있는 승인된 데이터 세트를 사용하고, 어느 관찰이 각 결과를 낳았는지 기록하라.
프로토콜 분류를 결과가 따르는 액세스 결정과 분리하라. 맞춤 응답이나 잘못된 패킷 수법은 그 배후의 추론을 검증하지 않는다. 단지 추측에 압박을 가할 뿐이다.
유용한 보고서는 관찰, 관찰 지점, 확신 수준을 밝힌다. «VPN 탐지됨»이라는 빈약한 한 줄은 누군가가 그것을 검증할 수 있게 하는 부분을 정확히 숨긴다.