VPN도 해킹할 수 있을까? 보다 자세한 VPN 이야기 속으로

이 글에서 우리는 VPN에 대해 자세히 알아보고, 해커들이 노릴만한 취약점을 다루려 한다.

VPN이란 무엇인가?

가상사설망(이하 VPN)은 안전한 가상 통로를 생성해 사용자의 인터넷을 다른 네트워크 혹은 기기와 안전하게 연결될 수 있도록 돕는다. 만약 사용자가 이 가상 통로를 통해 인터넷을 이용한다면, 인터넷제공자(ISP)를 포함한 그 누구도 사용자의 검색 활동을 염탐하기는 어렵다.

VPN을 사용하면 전 세계 어느 곳에 있든 나의 위치를 숨길 수 있고, 위치 제한 서비스도 해제할 수 있다. VPN은 인터넷 곳곳을 돌아다니는 데이터가 노출되지 않도록 지켜주는 ‘비밀성’과 데이터가 변형되지 않도록 하는 ‘완전성’을 보장한다.

VPN 사용법은 매우 쉽고 간편하다. 사용자는 먼저 ISP를 통해 인터넷을 연결하고, 클라이언트 소프트웨어를 사용해 VPN 서버와 함께 VPN 연결을 실행한다. 이후, VPN은 요청받은 웹 페이지를 가져와 안전한 가상 통로를 이용하여 사용자에 전달한다. 이를 통해 사용자의 데이터는 보호되며, 인터넷상의 프라이버시 역시 보장된다.

어떻게 VPN의 암호화 작동할까?

VPN 프로토콜은 데이터 전공과 암호화를 위한 일련의 협의된 규칙 집합체이다. 대부분의 VPN 제공업체는 사용자에 선택 가능한 다양한 VPN 프로토콜을 제공한다. 다음은 가장 흔히 사용되는 프로토콜들이다: 지점 간 터널링 프로토콜(PPTP), 이중 레이어 터널링 프로토콜(L2TP), IP 보안 프로토콜(IPSec), OpenVPN (SSL/TLS)이다.

VPN이 어떻게 프라이버시를 보호하는지 완벽히 이해하기 위해서는, 먼저 암호화 기술에 대해 조금 더 자세히 살펴볼 필요가 있다. VPN은 읽을 수 있는 데이터인 ‘평문’을 읽을 수 없는 데이터인 ‘암호문’으로 변환하는 암호화 기술을 사용하는데, 이로써 인터넷에 떠돌아다니는 사용자의 데이터를 누군가가 가로챌 수 없도록 막는다. 암호 알고리즘은 VPN 프로토콜 내에서 어떻게 암호화와 복호화가 일어날 것인지를 정한다. VPN 프로토콜은 이러한 암호 알고리즘을 통해 사용자의 데이터를 감추고, 이를 통해 사용자의 인터넷 활동을 노출되지 않도록 막는 것이다.

각 VPN 프로토콜은 자신들 안에서 시행된 암호 알고리즘에 따라 강점과 약점을 지니고 있다. 어떤 VPN 제공업체는 사용자들에 다양한 암호를 제공해 선택하도록 하기도 한다. 알고리즘에는 대칭, 비대칭, 해싱 세 가지가 있다.

대칭 암호화 알고리즘의 경우, 암호화와 복호화에 동일한 키를 사용한다. 반면 비대칭 알고리즘의 경우 서로 다른 두 키를 사용해, 각각을 암호화와 복호화에 사용한다. 아래 표는 대칭, 비대칭 알고리즘의 차이점을 비교 분석한 것이다.

속성 대칭 알고리즘 비대칭 알고리즘
다수의 개체들이 하나의 키를 공유 하나의 개체는 공개 키를, 다른 개체는 비밀 키를 보유
키 교환 수발신 키들에 보안 메커니즘 요구 비밀 키는 소유자만 알 수 있고, 공개 키는 모두에 사용 가능
속도 비대칭에 비해 덜 복잡하고 더 빠름 대칭에 비해 보다 복잡하고 더 느림
성능 비대칭에 비해 해독이 덜 어려움 대칭에 비해 해독이 어려움
확장성 확장성 좋음 확장성 훌륭함
사용 무리의 비밀화 (예: 모든곳) 암호키 분배와 디지털 서명에만 사용
제공 보안 서비스 기밀성 기밀성, 인증, 부인 방지
사례 DES, 트리플 DES, AES, 블로피시, IDEA, RC4, RC5, RC6 RSA, 타원곡석암호(ECC), DSA, 디피헬만(Diffie-Hellman)

위의 표에서 확인할 수 있듯, 비대칭 암호화는 대칭 암호화의 한계점에 대한 해결책이기도 하다. 위트필드 디피(Whitfield Diffie)와 마틴 헬만(Martin Hellman)은 대칭 암호 방식에 한계에 관한 주장을 처음으로 주장한 이들로, 디피헬만 알고리즘이라는 비대칭 알고리즘을 개발했다.

이 알고리즘은 HTTPS, SSH, IPsec, OpenVPN 등 많은 VPN 프로토콜들에 근본이 되는 널리 사용되는 인기 암호화 알고리즘이다. 특히 이 알고리즘은 한번도 만난 적 없는 두 사용자가 어떠한 비밀 교환 없이도 공중 통신망 환경에서 공통 키를 교환하게 해준다.

해싱 알고리즘은 일방(돌이킬 수 없는) 암호화 기술로 전송된 데이터의 무결성을 위해 사용된다. 대부분의 VPN 프로토콜은 해싱 알고리즘을 통해 VPN을 통해 전송된 메시지의 인증 확인 절차를 진행한다. 그 예에는 MD5, SHA-1, SHA-2가 있다. 다만, MD5와 SHA-1의 경우 더 이상 안전한 프로토콜로 간주하지 않는다.

VPN 역시 해킹할 수 있지만, 이는 매우 어려운 작업이다. 여전히 VPN 사용 시에, 해킹 확률이 현저히 낮아진다.

VPN은 해킹할 수 있을까?

VPN은 온라인에서 프라이버시를 지킬 수 있는 가장 효과적인 방법 중 하나다. 하지만 여전히 어떤 것도 해킹으로부터 완벽히 안전할 수 없고, VPN도 마찬가지다. 특히 당신이 높은 가치가 있는 목표물이고, 당신의 적수가 충분한 시간, 자금, 자원을 가지고 있다면 더더욱 그렇다. 다행히도 대부분 사용자는 “고가치 목표대상”에 속하지 않기 때문에, 해커들의 표적이 될 확률은 지극히 낮다.

VPN 연결을 해킹하는 데는 알려진 취약점을 공략해 암호화를 풀거나, 복호화 키를 훔치는 방법이 있다. 암호화를 직접 푸는 방법은 주로 해커나 암호학 전공자들이 사용하는 방법으로 복호화 키 없이 암호화된 데이터를 평문으로 복구한다. 하지만 암호화를 푸는 일은 엄청난 계산력과 시간이 요구되며, 심한 경우 수년이 걸릴지도 모른다.

그렇기에 암호화를 풀기보다는 복호화 키를 훔치는 것이 상대적으로 쉬운 일이다. 한 국가의 최고 기밀 기관인 국정원 역시 이 방법을 주로 사용하는 것으로 알려졌다. 성공률은 단순한 수학보다는, 기술, 연산력, 속임수, 법원의 지시, 그리고 뒷거래에 달려있다. 암호화에 쓰이는 수학은 몹시 어려워, 엄청난 수학력을 요구하기 때문에 이를 스스로 해결하기란 쉬운 일이 아니기 때문이다.

현존하는 VPN 취약점과 악용 가능성

세기의 내부고발자 에드워드 스노든의 미국의 사이버 감시 행위에 대한 폭로와 보안 전문가들은 미국의 국정원(이하 ‘NSA’)이 VPN을 포함한 대규모의 인터넷 트래픽의 암호화 기술을 풀었음을 입증하였다. 스노든 문서는 NSA의 VPN 복호화 인프라가 암호화된 트래픽을 가로챌 뿐 아니라, 어떤 자료는 고성능 컴퓨터에 넘겨져 키로 변환될 수 있음을 세계에 알렸다.

보안 연구원 알렉스 할더맨(Alex Halderman)과 나디아 헤닝어(Nadia Heninger)는 연구를 통해, NSA가 디피헬만 알고리즘을 기반으로 한 ‘로그잼’ 공격 내 다수의 HTTPS, SSH, VPN 트래픽을 해독할 수 있는 능력을 이미 개발했음을 발표하기도 했다.

미 국정원이 이에 성공할 수 있었던 이유는 디피헬만 알고리즘 시행에서 취약점을 활용했기 때문이다. 그 취약점은 바로 암호화 소프트웨어는 이 알고리즘을 시행할 때 정형화된 소수를 사용한다는 것이다. 연구원들에 따르면 하나의 1024비트 디피헬만 소수를 부술 만큼 강력한 컴퓨터를 만드는데 1년의 시간과 1억 달러의 자금이 필요했을 거라 보고 있으며, 이는 미 국정원의 능력으론 충분했다.

사용자에게 좋지 않은 소식은, VPN과 같이 실제 암호화 기술에 주로 사용되는 소수는 1024비트보다 작아, 이를 해독하는 것은 상대적으로 쉽다는 것이다. 미국의 보안 학자 브루스 슈나이어는 ‘수학은 훌륭한 학문이지만, 수학에는 이를 관리해줄 에이전시가 없다. 코드도 마찬가지다. 특히 코드는 이미 전복되었다’라고 말했다.

여전히 VPN은 사용해야 할까?

연구원들은 VPN 서비스 제공업체들에 2048비트 혹은 그 이상의 델피헬만 키를 사용할 것을 권장하며 TLS를 위한 델피헬만 키의 배치 가이드도 발행했다. 국제 인터넷 표준화 기구(IETF) 역시 제공업체들에 가장 최근에 수정된 프로토콜을 사용할 것을 권하는데, 이는 보다 긴 소수를 필요로 한다.

스파이들이 1024비트(약 309자리 숫자)에 달하는 델피헬만 키에 사용되는 소수를 파악하고 이를 풀 수 있을 수도 있다. 하지만 2048비트 키의 소수는 만만치 않을 것이다. 즉 스파이들은 당분간 이 키를 사용해 보안된 데이터를 해독할 수 없을 거란 얘기다.

국정원이 VPN에 대응하며 목표로 삼은 암호화된 트래픽에 적용된 암호화 프로토콜에 대상으로 공격을 일삼는 것은 사실이다. 하지만 여전히 VPN을 이용하는 것은 일반 텍스트로 소통하는 것보다 훨씬 안전하다. 사용자의 컴퓨터가 손상될 수 있긴 하지만, VPN 사용자들을 해킹하기 위해서는 일반 사용자들보다 더 많은 시간과 돈을 들여야 한다. 사용자가 더욱 불명확해 질수록, 더 안전할 수 있다.

에드워드 스노든은 ‘암호화는 작동한다. 제대로 시행된 강력한 암호 시스템은 우리가 의지할 수 있는 몇 안되는 것 중 하나다’라고 말했다. 가능하다면 MD5나 SHA-1 해싱 알고리즘과 PPTP, L2TP/IPSec 프로토콜을 사용하는 VPN은 사용하지 않길 권한다. 대신 상대적으로 안전한 OpenVPN의 현 버전과 SHA-2를 지원하는 VPN을 사용하길 바란다. 만약 당신이 사용중인 VPN이 어떤 알고리즘을 적용하는지 모르겠다면 우리가 제공하는 VPN 자료를 참고하거나 고객지원팀에 연락하기를 바란다.

VPN은 우리를 돕는 친구와도 같다. 이들의 암호화 능력, 수학 능력을 믿어라. 그리고 이를 최대한 활용하여 당신의 사소한 정보 하나도 보호하도록 최선을 다하라. 이로써 누군가 우리의 암호화된 연결이 단속하려 할 때도 우리의 정보를 안전하게 지킬 수 있다.

도움이 되었나요? 공유하세요!