SNI 차단 방식 HTTPS에서의 암호화 및 우회방법

Posted by 미니송
2019.02.24 22:43 IT/정보보안




SNI 차단 방식을 사용하여 음란물, 도박사이트를 차단한다는 소식이 있었습니다. ISP(인터넷 공급 회사)에서 이것을 막을 수 있다고 하는데 우리나라에는 인터넷을 보급하는 회사가 크게 정해져 있으므로 차단하기 쉽다고 보여집니다.



HTTP를 사용하던 때에는 데이터 전송시에 암호화가 이루어지지 않기 때문에 사이트주소만 가지고 차단을 할 수 있었습니다. 그리고 HTTPS가 보급되면서 불법사이트들은 HTTPS를 통해서 우회하게 되었습니다. 하지만 이번 SNI필드를 차단한다고 하며 패킷 감청 등의 소지가 있는 것 아니냐는 얘기가 나오고 있습니다. HTTPS는 암호화 되어 있기 때문에 감청을 할 수가 없는 것인데 SNI필드를 이용하면 사용자가 어디로 접속하는지 알 수 있습니다.


SNI필드는 Server Name Indicator의 약자입니다. 서버네임이 들어있는 필드라고 보시면됩니다. 이 SNI필드는 암호화가 되지 않고 사용하기 때문에 HTTPS통신이지만 평문으로 전송됩니다. 따라서 이 필드의 값이 무엇인지 예를들어 google.com이라는 주소로 접속을 하는지 안하는지를 보고 차단한다고 생각하면 될 것 같습니다.


이것이 실제로 감청이냐 아니냐는 정확하게 말할 수 없습니다. 우선 SNI필드에 주소가 있기 때문에 원래 warning.co.kr이라는 사이트로 나오는 사이트들을 등록해서 접속하지 못하게 막으면 되기 때문입니다. 분명 어느정도 막을 수 있겠지만 곧 ESNI가 사용화되고 모든 인터넷에서 사용된다면 SNI필드 차단 기술도 무용지물이 될 것입니다.



SNI 우회방법


우회방법에는 가장 간단하게 파이어폭스 브라우저를 사용하는 방식, 새로고침을 계속 누르는 방식이 있습니다. 두가지 모두 계속 페이지 접속을 시도해서 순간적으로 튕기는 것을 이용하는 것입니다. 물론 될지 안될지는 장담할 수 없습니다. 하지만 한 번 연결이 된다면 끊어지지 않고 계속 연결될 가능성이 높습니다.


그 이외 방법은 어플리케이션 사용 방법, ESNI(Encrypted SNI)를 사용하는 방법이 있습니다. 대표적으로는 Intra어플이 있다고 합니다. 또한 ESNI는 SNI필드 자체도 암호화하여 사용하는 것을 말합니다. 따라서 SNI를 보고 차단하는 방식을 우회할 수 있습니다.


Tags
이 댓글을 비밀 댓글로