[컴][인터넷] warning.or.kr 이 뜨는 원리



Warning page 가 보여지는 원리

처음에 이것은 DNS server 에서 mapping table 을 조작해서 warning 페이지를 보여주는 줄 알았다. 그런데 요새 좀 바뀐 듯 하다. 관련해서 찾아본 내용을 대충 정리해 본다.


누가 차단하나?



누가 차단하는지를 확인하기 위해 "차단절차"를 한번 살펴보자. ref. 1 에 자세한 사항이 나와 있다. 여기서 정리하면 다음과 같다.

차단 절차
  1. 차단결정 : 방심위(방통심의 위원회) 심의를 통해 차단 결정이 나면 
  2. ISP 에 목록 전달 : 결정난 목록을 각 ISP(인터넷사업자)에게 전달
  3. ISP 에서 설정 : ISP들이 가지고 있는 ‘필터링 사이트 목록’에 새로 결정된 사이트 목록을 추가
  4. 사용자 중 누군가 이 목록에 들어가 있는 사이트에 접속 시도를 하면, 
  5. 필터링 장치가 동작해 접속을 끊고 대신 방심위의 warning.or.kr 페이지로 포워딩

결국 차단할 목록을 정하는 것은 "방통심의 위원회"이지만, 실제로 차단을 하는 곳은 "ISP 의 장비"인 것이다.


차단원리

위에서 보았듯이 결국 실질적인 행동은 ISP 에서 하게 된다.

DNS lookup table 수정

ISP 에서 예전에는 DNS server 를 조작해서 warning page 를 보여줬다.

좀 더 자세하게 이야기 하면, 원래 우리가 알고 있는 domain name(http://daum.net 같은 주소라고 보면 된다.) 는 그 domain name 에 대한 "ip 주소" 를 찾아서 그 ip 주소로 packet 을 보낸다. 이 때 domain name 에 대한 'ip 주소' 를 찾아주는 일을 DNS server 가 해준다.

  • Domain name ---> IP address

이 DNS server 이 mapping 해주는 작업은 간단하게 table 을 가지고 한다. 하나의 table 에 어떤 주소는 어떤 ip 주소로 가라고 표시되어 있다.

  • daum.net --> 129.0.2.1 

이 table 을 수정하는 것이다.

그래서 그냥 DNS server 주소를 다른 것으로 바꿔서 사용하는 것으로 warning 을 피할 수 있었다. (참고)


Http header 에서 Host 부분

이것이 이제는 바뀌어서 사용자가 보내는 packet 의 "Http header 에서 Host 부분을 확인"하는 듯 하다. 이것은 ref. 2 / ref. 3 / ref. 4 를 통해 어느정도 확인할 수 있다.

특히 ref. 4에서는 warning page 를 우회시켜주는 프로그램에서 나가는 packet 을 확인해서 좀 더 정확한 이야기를 해준다.

  • Dodge Chrome'(닷지 크롬) 
  • 'Dodge Web & Dodge Browser'(닷지 웹 & 브라우저)

좀 더 자세하게 이야기하면,

packet 의 http header 에는 아래 같이 요청하는 domain 주소가 들어가게 된다. 여기에 적힌 domain 주소를 확인해서 그 주소가 "방심위" 에서 보낸 list 에 있는 주소라면 warning page 로 돌리는 것이다.
Host: daum.net





References


  1. 웹의 자유 옥죄는 ‘방통심의위원회’…Warning.or.kr의 불편한 진실 - 경향신문, 2014-01-18
  2. SSL 페이지는 검열 불가능? - 일간워스트, 2014-05-21
  3. [warning.or.kr] 사이트 차단 및 우회 기법 분석 - 1
  4. [warning.or.kr] 사이트 차단 및 우회 기법 분석 - 2

댓글 없음:

댓글 쓰기