2006년 03월 05일
KT는 어떻게 IP 공유기를 탐지한다지?
(최근 수정: 2006/03/14)
(기본적으로 기술적인 내용입니다.
요약하고 풀자면: KT는 이미 IP 공유기 탐지를 (최소한 일부의) 개인 사용자에게 시행하고 있으며, 그 방식은 정확도가 충분히 높습니다. 기존의 모든 IP 공유기가 이 방법을 피해가지 못할 것이라 생각되며, 피해가는 기술이 나올 수 있을 것인가에 대해선 회의적입니다. 사용하는 기술 중 일부에서 다소 'evil'한 것이 있습니다.)
종량제에 이어 IP 공유기 사용자에 대한 추가 요금이라는 화제거리를 만들며 만인의 따사로운 비난을 사고 있는 KT- 그런데 패킷 오가는 거야 하나하나 세어주면 된다지만 IP 공유기의 사용 여부는 어떻게 알아내겠다는 걸까? 이전부터 여기저기서 이에 대한 논의가 제기되었다.
(관련 링크 목록 추가 예정)
위의 글에서 보듯 예상되는 탐지 방식은 자바 애플릿(혹은 플래시)을 이용하는 것이다. 자, 이것이 어떻게 동작하는 걸까? 요약하자면, 자바 애플릿에서 애플릿을 가져온 웹 서버에 접속을 시도하고, 그 때 만들어진 소켓의 클라이언트쪽 주소를 얻어내서 이를 KT측으로 전송하는 것이다. 이곳에서 그러한 방식이 동작하는 걸 확인해 볼 수 있다.
Java를 어느 정도 아는 이라면 금방 이런 프로그램을 만들 수 있을 것이다. 그런데 그런 애플릿을 만든 것만으로는 충분치 않다는 것 역시도 이미 알고 있을 것이다. 사용자가 그 애플릿을 담고 있는 페이지를 열어야 그 애플릿이 실행될 게 아닌가? 여기서 등장하는 것이 웹 프럭시 기술이다. (DNS 서버를 이용하는 방식도 가능할 거라고 생각했으나, 세밀한 분석을 해주신 여러 분들의 자료에 따르면 제외할 수 있다.)
유해 사이트 차단 서비스를 신청하면 요청한 삐리리페이지 대신 차단을 알리는 페이지를 보여준다. 여기서 쓰이는 것이 (아마도..;;) 웹 프럭시 기술이다.(물론 다른 기술들도 함께 쓰인다)
웹 프럭시는 사용자의 웹 요청을 받아서 프럭시 서버가 대신 웹 서버에 접속을 하여 그 결과를 사용자에게 다시 전달해 준다. 기본적으로 내부 IP의 존재를 외부로부터 숨기기, 사용자의 접속을 제어하기 등을 목적으로 사용하지만, 살짝 변경해 주면 사용자가 요청한 웹 페이지에 대해 프럭시 운영자가 원하는 임의의 다른 페이지를 보여줄 수도 있다.
KT에서는 IP 공유기 탐지 주간이 되면 프럭시 서버를 동작시킬 것이다. (혹은 공지사항 표시 등을 위해 평소에도 계속 동작시키고 있는지도...) 사용자가 웹 접속을 시도하면 프럭시에 저장된 다른 페이지로 (본래의 웹 서버를 대신해서) 응답해 준다. 그 페이지의 내용인즉, 페이지를 두 개의 프레임으로 나누고, 크기가 0인 숨어있는 프레임에는 KT의 특정 서버의 페이지를 표시하고 다른 프레임에는 본래 사용자가 요청한 페이지를 보여준다. 숨어있는 프레임 내에서 IP 주소를 알아내는 자바 애플릿이 실행되고, 자바 애플릿은 사용자 PC의 주소를 알아낸 후 그 주소 정보를 포함한 HTTP 요청을 KT의 웹 서버에 보냄으로써 사용자의 IP 주소 정보를 KT측으로 전달한다. KT는 이렇게 수집된 자료들을 분석하고, 한 사용자에게서 여러 개의 IP 주소 사용을 확인하면 기사를 파견하여 물증을 잡고 요금을 추가 부과하게 된다...
뭐, 그렇게 되겠거니 하고 있었는데... 과연 시행에 대한 반작용으로 어떤 시도들이 있을까 두근대고 있었는데... 드디어 KT가 실제로 시스템을 동작시킨 증거가 포착되었다. 시발점은 KLDP에 올라온 어느 사용자의 글이었는데, Hannal님의 "KT... 무슨 짓을 하고 있는거지?" 글에서와 같은 현상이었다. 네이버 지식인에서도 유사한 증상을 호소하는 질문들을 찾아볼 수 있었다. 문제의 주소(210.91.57.xxx)에 접속하여 웹 페이지를 직접 열어 보니 자바 애플릿을 실행하는 태그가 보였다. 그 애플릿을 받아서 살짝 디컴파일 하여 나온 것이 다음 코드-
& 참, KT 담당자님, 이런 거 할 땐 KT 사용자망 외부에선 그 서버에 접속 못 하게 하는 센스(!) 정도는 있으셔야죠;-)
& 보너스로, 애플릿을 설치하는 HTML 소스
& 관련 특허: "[특허실용] 외부에서 네트워크내의 클라이언트 컴퓨터의 로컬 아이피를검출 및 구분하는 시스템" (출원번호: 20-2005-0003771, 출원인: 플러스기술). 한국특허정보원에서 "공유기 검출"로 검색 및 열람 가능. 패킷 분석 등에 기반한 다른 방법들도 출원되어 있음.
& 애플릿 자체에서 주소 정보 포함된 HTML 요청을 보내도록 하면 서버 부하가 약간 덜해질 텐데...
& 이런 탐지 방식에 대한 기술적 '대응' 방식은 뭐가 있을까?
* http://en.wikipedia.org/wiki/Captive_portal
(기본적으로 기술적인 내용입니다.
요약하고 풀자면: KT는 이미 IP 공유기 탐지를 (최소한 일부의) 개인 사용자에게 시행하고 있으며, 그 방식은 정확도가 충분히 높습니다. 기존의 모든 IP 공유기가 이 방법을 피해가지 못할 것이라 생각되며, 피해가는 기술이 나올 수 있을 것인가에 대해선 회의적입니다. 사용하는 기술 중 일부에서 다소 'evil'한 것이 있습니다.)
종량제에 이어 IP 공유기 사용자에 대한 추가 요금이라는 화제거리를 만들며 만인의 따사로운 비난을 사고 있는 KT- 그런데 패킷 오가는 거야 하나하나 세어주면 된다지만 IP 공유기의 사용 여부는 어떻게 알아내겠다는 걸까? 이전부터 여기저기서 이에 대한 논의가 제기되었다.
- "공유기 검출이 기술적으로 가능한가요?" (bbs.kldp.org)
- "kt 인터넷 공유기 사용금지!!!!!" (bbs.kldp.org)
- "KT 매가패스 사용자, IP 공유기 사용시 추가 요금" (bbs.kldp.org)
(관련 링크 목록 추가 예정)
위의 글에서 보듯 예상되는 탐지 방식은 자바 애플릿(혹은 플래시)을 이용하는 것이다. 자, 이것이 어떻게 동작하는 걸까? 요약하자면, 자바 애플릿에서 애플릿을 가져온 웹 서버에 접속을 시도하고, 그 때 만들어진 소켓의 클라이언트쪽 주소를 얻어내서 이를 KT측으로 전송하는 것이다. 이곳에서 그러한 방식이 동작하는 걸 확인해 볼 수 있다.
Java를 어느 정도 아는 이라면 금방 이런 프로그램을 만들 수 있을 것이다. 그런데 그런 애플릿을 만든 것만으로는 충분치 않다는 것 역시도 이미 알고 있을 것이다. 사용자가 그 애플릿을 담고 있는 페이지를 열어야 그 애플릿이 실행될 게 아닌가? 여기서 등장하는 것이 웹 프럭시 기술이다. (DNS 서버를 이용하는 방식도 가능할 거라고 생각했으나, 세밀한 분석을 해주신 여러 분들의 자료에 따르면 제외할 수 있다.)
유해 사이트 차단 서비스를 신청하면 요청한 삐리리페이지 대신 차단을 알리는 페이지를 보여준다. 여기서 쓰이는 것이 (아마도..;;) 웹 프럭시 기술이다.(물론 다른 기술들도 함께 쓰인다)
웹 프럭시는 사용자의 웹 요청을 받아서 프럭시 서버가 대신 웹 서버에 접속을 하여 그 결과를 사용자에게 다시 전달해 준다. 기본적으로 내부 IP의 존재를 외부로부터 숨기기, 사용자의 접속을 제어하기 등을 목적으로 사용하지만, 살짝 변경해 주면 사용자가 요청한 웹 페이지에 대해 프럭시 운영자가 원하는 임의의 다른 페이지를 보여줄 수도 있다.
KT에서는 IP 공유기 탐지 주간이 되면 프럭시 서버를 동작시킬 것이다. (혹은 공지사항 표시 등을 위해 평소에도 계속 동작시키고 있는지도...) 사용자가 웹 접속을 시도하면 프럭시에 저장된 다른 페이지로 (본래의 웹 서버를 대신해서) 응답해 준다. 그 페이지의 내용인즉, 페이지를 두 개의 프레임으로 나누고, 크기가 0인 숨어있는 프레임에는 KT의 특정 서버의 페이지를 표시하고 다른 프레임에는 본래 사용자가 요청한 페이지를 보여준다. 숨어있는 프레임 내에서 IP 주소를 알아내는 자바 애플릿이 실행되고, 자바 애플릿은 사용자 PC의 주소를 알아낸 후 그 주소 정보를 포함한 HTTP 요청을 KT의 웹 서버에 보냄으로써 사용자의 IP 주소 정보를 KT측으로 전달한다. KT는 이렇게 수집된 자료들을 분석하고, 한 사용자에게서 여러 개의 IP 주소 사용을 확인하면 기사를 파견하여 물증을 잡고 요금을 추가 부과하게 된다...
뭐, 그렇게 되겠거니 하고 있었는데... 과연 시행에 대한 반작용으로 어떤 시도들이 있을까 두근대고 있었는데... 드디어 KT가 실제로 시스템을 동작시킨 증거가 포착되었다. 시발점은 KLDP에 올라온 어느 사용자의 글이었는데, Hannal님의 "KT... 무슨 짓을 하고 있는거지?" 글에서와 같은 현상이었다. 네이버 지식인에서도 유사한 증상을 호소하는 질문들을 찾아볼 수 있었다. 문제의 주소(210.91.57.xxx)에 접속하여 웹 페이지를 직접 열어 보니 자바 애플릿을 실행하는 태그가 보였다. 그 애플릿을 받아서 살짝 디컴파일 하여 나온 것이 다음 코드-
/* Decompiled by Mocha from toppotal.class */두둥~ 그 코드다... 그리고 알아낸 주소를 KT 웹 서버로 정말 보.낸.다...
/* Originally compiled from toppotal.java */
import java.net.*;
import java.applet.Applet;
import java.applet.AppletContext;
public synchronized class toppotal extends Applet
{
String Url;
String Target;
String IpL;
public toppotal()
{
Url = "";
Target = "";
IpL = "unknown";
}
private String MyIP()
{
String string2;
String string3;
int i;
Exception e;
String string1 = "";
string3 = getDocumentBase().getHost();
byte b = 80;
if (getDocumentBase().getPort() != -1)
i = getDocumentBase().getPort();
string2 = new Socket(string3, i).getLocalAddress().getHostAddress();
pop e
return string2;
}
public void init()
{
IpL = MyIP();
if (getParameter("URL") != null)
{
Url = getParameter("URL");
Url = Url + IpL;
if (getParameter("TARGET") != null)
Target = getParameter("TARGET");
}
}
public void start()
{
Exception e;
URL uRL = new URL(getDocumentBase(), Url);
getAppletContext().showDocument(uRL, Target);
pop e
}
}
& 참, KT 담당자님, 이런 거 할 땐 KT 사용자망 외부에선 그 서버에 접속 못 하게 하는 센스(!) 정도는 있으셔야죠;-)
& 보너스로, 애플릿을 설치하는 HTML 소스
& 관련 특허: "[특허실용] 외부에서 네트워크내의 클라이언트 컴퓨터의 로컬 아이피를검출 및 구분하는 시스템" (출원번호: 20-2005-0003771, 출원인: 플러스기술). 한국특허정보원에서 "공유기 검출"로 검색 및 열람 가능. 패킷 분석 등에 기반한 다른 방법들도 출원되어 있음.
& 애플릿 자체에서 주소 정보 포함된 HTML 요청을 보내도록 하면 서버 부하가 약간 덜해질 텐데...
& 이런 탐지 방식에 대한 기술적 '대응' 방식은 뭐가 있을까?
* http://en.wikipedia.org/wiki/Captive_portal
# by | 2006/03/05 21:10 | 네트워크 | 트랙백(6) | 핑백(3) | 덧글(129)

☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : IP 공유기 탐지 기법에 대한 또다른 시각
KT는 어떻게 IP 공유기를 탐지한다지? IP 공유기 탐지에 사용하는 기법에 대해 다른 면에서 생각을 해볼까 한다. 위 글에서 설명한 것처럼 현재 IP 공유기 탐지는 다음과 같은 방법으로 이뤄질 것으로 추측된다. 사용자가 웹브라우저에서 웹 접속을 시도한다. 웹브라우저는 해당 웹서버에 접속하여 HTTP 요청을 전송한다.<......more
제목 : KT 드디어 공유기 제제를 한다고 하네요.
kt가 돈좀 벌어보겠다고 난리네요. 그것도 아주 편하게... 시설을 확충하고 서비스를 개선해서 돈벌 생각은 안하고 편히 앉아서 돈 뜯어내겠다는 도둑놈 심보같은 생각을 하고 있군요. 디지탈 타임즈 관련기사 이딴식으로밖에 돈벌생각을 못하는건지 머리에 뭐가 들었는지... 한심합니다....more
제목 : KT의 공유기 사용 탐지
신문에서 KT에서 공유기 사용을 탐지하여 추가 요금을 부과 한다는 기사를 보았다. 그 기사를 보면서 과연 어떻게 공유기 사용을 탐지하는지 궁금했었는데, 생각밖으로 간단항 방법을 사용하였더군... 패킷 변조를 통해 임의의 java applet을 실행 시키고, 그 applet에서는 Socket.getLocalAddress()를 통해 local 의 ip를 얻어오고, 그 ip를 KT의 서버로 전송하고.. KT에서는 전송된 ip가 그것을 보낸 ip(공유......more
제목 : KT 공유기 단속, 왜 시민단체와 블로거들은 조용한가?
그동안 잠잠하던 KT가 드디어 일을 저지를 태세이다. 2007년 8월부터 IP 공유기 단속이 시작된다고 공지된 것이다. KT의 공유기 단속 개념도. 관련 늬우스 KT는 1.가입시 단말 수에 대한 약관 위반, 2.몇몇 공유기 사용 악성 사용자의 트래픽 억제를 이유로 공유기 사용을 금지하겠다고 한다. 1번 근거. 약관... 흠, 내가 메가패스를 가입한 지 벌써 8년 째이다. 당시 무려 4만원이란 거금을 들여 초당 400KB(.....more
제목 : KT의 공유기 제재의 숨은 의도
최근에 KT가 다시 공유기 문제를 끌고 나왔습니다. 그 기사는 전자신문(디지털 타임즈)의 "KT, 메가패스 불법공유 해결 나섰다 - [전자신문] 2007/07/29"기사를 보시면 아시겠지만, 주요 골자는 공유기 사용시 추가 1대까지는 허용 2대 추가부터는 5000원 부가 입니다. 이에 대한 원인으로 공유해서 사용하는 사례가 급증 비정상적인 트래픽이 발생 정상 사용자의 불이익 을 이야기 했습니다. 이와 관련되어 전자신문(디지털 타임즈)의 사설로는......more
제목 : KT 공유기 검출방법은 다양하다???
KT가 공유기 검출을 위한 하드웨어 시스템을 개발하였다는 소문은 상당히 오랜세월 돌았으며 2003년 부터 돈 소문은 06년도에 한 사이트 글에서 정리되어 급속하게 퍼졋다가 네티즌들의 몰매를 맞고 KT는 도입시기를 미루겟다는 어정쩡한 말로 회피 하였다. 그러던 도중 2007년 8월10일 전후에서 한사이트에 이상한글이 올라온적이 있다. 안산에 사는 모분이 KT를 사용하는데 공유기를 쓴다며 KT측에서 사용하지말라고 통지하였다는것이다. 지금 그분은 통......more
... 0 metoo KT는 어떻게 IP 공유기를 탐지한다지? 오전 10시 37분 ... more
... 유기 얘기. 두꺼비집 고치려 전기기사를 불렀는데 말도 없이 도청장치도 설치하고 갔다면 법적으로 문제가 되겠죠. 하지만 내가 원하는 웹 페이지를 요청했는데 사업자가 자기 마음대로 이상한 페이지를 끼워 보내서 애플릿까지 실행시킨다면 법적으로 문제되지 않는건가요? 오후 12시 21분 ... more
... )을 한적이 있다.그런데 파코즈에서 이런 글을 발견했다. [일반] KT 공유기 탐지 시스템?그리고 리플 중에서 이글루 링크가 있길래 들어가서 좀 더 자세히 살펴보았다.KT는 어떻게 IP 공유기를 탐지한다지?IP 공유기 탐지 기법에 대한 또다른 시각by wariua 한 마디로 사용자 몰래 브라우저에서 코드가 실행되고 한 인터넷 회선에서 사용자의 웹 접속기록 ... more
http://cars-1.oqauzi.info
http://acura-4.odatyr.info
http://used-49.odatyr.info
http://ferrari-2.olikera.info
http://treatment-4.gubjeco.info
http://dental-21.yniezxa.info
http://prednisolone.gubjeco.info
http://nursing-6.icequom.info
http://alcohol-18.uzoaghu.info
http://plan-b-18.gubjeco.info
http://preven.culahfy.info
http://rehab-1.jipogek.info
http://ojaipby.info
http://plan-b-15.jetici.info
http://pain-37.icequom.info
http://house-edge.zyvhubi.info
http://roulette-1.zyvhubi.info
http://lusapoz.info
http://sylvia-under.namjoiz.info
http://justine-de-sade.tajiwo.info
http://aperfectcircleringtoneszqn.blogspot.com
http://mp3ringtonev710lea.blogspot.com
http://freeringtonesforsprintrl25miw.blogspot.com
http://freebollywoodringtonesfortopm.blogspot.com
http://bestfreeringtonesforcellulmlj.blogspot.com
http://3210halfnoteringtonearchivzbo.blogspot.com
http://registry-1-460.fekupa.info
http://shopping-15.mebivyt.info
http://oklahoma-city-2-703.zovlil.info
http://football.yxymaf.info
http://advertising-11.hifokur.info
http://trust-2-448.bogreiq.info
http://indianapolis-18.exeyce.info
http://credit-46-845.zukriba.info
http://lcd-20.rypmeba.info
http://indonesia-5.exeyce.info
http://shirt-6-722.aruysu.info
http://indianapolis-12.gapjog.info
http://management-23-109.orotyag.info
http://sony-24.etizyx.info
http://dc-18-162.deqcola.info
http://spokane-5-374.etizyx.info
http://arizona-29.omaepyh.info