2009년 4월 20일 월요일

대한민국 인터넷의 아버지

 

출처 : http://networker.jinbo.net/zine/view.php?board=networker_4&id=1030

인터넷 역사를 돌아본다

KAIST 전자전산학과 전길남 교수

임정애 : 한국에서 인터넷은 언제, 어떻게 시작되었나요?
전길남 : 국내에서 인터넷은 연결되었다기 보다 개발되었다는 것이 맞아요. 왜냐하면 인터넷이라는 것이 당시에는 없었으니까. 미국에는 알파넷(ARPANET)이 있었고 영국에도 있었지만 그때는 제대로 연결되지 않았어요.
그런데, 당시 70년대 말 3공 시대에 해외 과학자 유치에 열심이었죠. 한국과학기술연구원(KIST)과 한국과학기술원(KAIST)도 만들고, 박사학위 마친 나 같은 사람에게 굉장히 잘해주었죠. 외국에서 배운 기술을 국내로 이전했으면 좋겠다는 거였지. 그래서, 어떤 기술을 가져올까 생각했죠. 사실 인터넷은 내 전공은 아니었어요. 대학원생 때 잠시 옆에서 보았을 뿐 직접 참여하지는 않았죠. 그건 미 국방부 프로젝트였고, 외국인으로서 직접 참여한다는 것은 어려웠죠.
원래 내 전공은 주로 지구에 있는 컴퓨터와 우주와의 네트워킹을 연구하는 거였지만 한국에서는 별로 필요가 없었고. 그래서, 인터넷을 도입하는 게 괜찮겠다 생각했죠. 그건 보통 컴퓨터와 컴퓨터를 연결해서 연구하는 사람끼리 쓰는 거였으니까. 또 이미 미국에서 사용한지 10년 정도 되니까 우리나라에서 바로 쓸 수 있을 거라고 생각했죠.
그런데, 기술이나 표준은 RFC라는 문서를 통해 다 오픈되어 있었지만 노드(NODE), 지금은 라우터라고 불리는 장비가 필요했는데 이 장비를 미국에서 가져올 수 없었죠. 그건 미국하고 군사동맹을 맺은 영국, 노르웨이, 캐나다 정도 밖에 없었고, 우리는 아예 이전될 수도 없었죠. 왜냐하면, 우리나라는 공산국가 바로 옆이니까 불안한거지. 우리에게 기술을 이전해 주었다가는 중국이나 북한, 소련에 가는 거 아니냐 걱정한거죠. 우리가 3.8선 넘는 게 얼마나 힘든 줄 아느냐고 설명해도 이해를 못했죠. 그래서, 독자적으로 개발할 수밖에 없었죠.(웃음)
오병일 : 그럼 인터넷 전용선으로 바로 연결된 것은 아니었군요.
전길남 : 처음에는 하루에 몇 번 해외로 전화거는 방식이었죠. 메일 정도를 주고받는 게 전부였으니까. 미국은 인터넷 연결을 개방하면 미국의 기술이 외국에 유출될 가능성을 우려했죠. 그래도 이건 군사용이 아니라 학술용이니까 2~3년 정도 요구해서 결국 86년에 열어줬죠.
근데 일본, 독일, 호주는 돈이 있으니까 금방 연결할 수 있었는데, 우리는 힘들었죠. 1년 경비가 20만불 정도, 우리나라 돈으로 한 2억 정도 드니까. 80년대 말쯤인데 한국정부는 왜 인터넷이 필요한지 이해하지 못했죠. 실제로는 한국통신이 우리에게 프로젝트를 주는 식으로 돈을 부담했는데 길게 보면 그쪽 입장에서도 나쁘지 않은 투자였죠. 인터넷 기술을 자기 것으로 만들 수 있었으니까.
임정애 : 이게 인터넷 발전의 두 번째 단계라고 할 수 있겠군요.
전길남 : 그렇죠. 웹(WWW)이 등장한 게 세 번째 단계가 되겠죠. 웹의 도입은 우리가 굉장히 빨랐어요. 세계에서 가장 빨리 만들어진 웹사이트 중 하나가 KAIST 인공지능 연구센터죠.
93년도에 박사과정 학생이 만들었어요. 인터넷이 만들어지면서 이제 외국과 우리나라의 시차가 없어졌죠. 인터넷을 통해 최신의 외국 자료들을 받아볼 수 있으니까. 우리가 인터넷을 세계에서 두 번째로 시작했다는 것이 중요합니다. 거의 미국 다음이라고 생각해도 되요. 90년대 말에 인터넷 인구가 폭발적으로 늘어난 것도 그것을 지원해줄 수 있는 기술이 우리에게 축적되어 있었기 때문이죠. 인터넷 발전의 네 번째 단계는 브로드밴드(broadband), 즉 초고속통신망의 확대라고 할 수 있어요.
오병일 : 도메인네임은 언제부터 쓰기 시작했나요?
전길남 : 처음에 미국에서 도메인 네임을 쓸 때는 국가도메인(ccTLD)이 없었어요. COM, ORG, GOV 이런 것만 있었지. 영국도 인터넷 이전에 자기네만 쓸 수 있는 도메인네임을 가지고 있었어요. 그때 영국은 미국하고는 반대로 UK가 맨 왼쪽에 오는 형식을 사용했었죠. 그러다가 인터넷에서도 국가도메인을 허용하자고 얘기가 되었고, UK를 쓰고 있던 영국 다음으로 우리나라가 바로 KR을 사용하기 시작했죠.
물론 국가도메인 이름은 거의 한꺼번에 만들어졌지만, 국가도메인 이용을 인정하는 절차는 인터넷을 잘하는 국가부터 시작되었던 거죠. 우리하고 호주, 이스라엘 이렇게 두 번째 그룹이었죠. 지금 보면 북한도 우리 초창기하고 비슷하게 가고 있어요. 북한도 도메인네임을 쓰고 있는데 북한 내에서만 쓰는 거죠. 외국하고는 인터넷 연결이 안되어 있으니까.
오병일 : 국내에 인터넷주소위원회 같은 인터넷 정책기구가 만들어진게 언제인가요?
전길남 : 우리 네트워크를 시작하자마자 도메인네임 같은 몇 가지 기술적 사항을 해결하기 위한 워킹그룹이 만들어졌죠. 그 다음에 학술용 정보교환 형식으로 80년대 후반에 학술전산망협의회(ANC, Academic Network Council)가 만들어졌죠.
이후 민간기업에서 인터넷을 사용하면서 한국전산망협의회(KNC, Korea Network Council)가 되었고, 다음에 인터넷주소위원회(NNC, Number & Name Committee)가 된거죠. 20년 이상 되었는데 매우 오래된 조직이죠. 미국 외에는 세계적으로도 이런 경우가 거의 없죠.
임정애 : 요즘에는 무슨 일에 관심 있으세요?
전길남 : 6개월쯤 전에 사고가 나서 요즘에는 조금 쉬고 있어요. 그냥 교수로서 하던 것 하는 거지. 지금 한창 하고 있는 것은 예를 들어, 압축하지 말고 HDTV를 인터넷에서 볼 수 있게 하자, 그러려면 인터넷 회선이 1.2기가 필요한데 현재 ADSL 정도로는 안되는 거죠. 10년쯤 후에는 가정에서 10기가 이상으로 다 연결이 되어있겠죠. 일부로 압축을 하지 않고 연구하는데, 그걸 요구하는 분야가 있어요.
예를 들어, 압축을 하게 되면 0.2초 정도 시간이 지연되요. TV에서 해외 기자와 연결할 때 조금 늦게 대답하잖아요. 그렇게 안되려면 압축을 하지 않아야죠. 또 병원에서 CT, MRI, X-ray 등을 전송할 때 압축하는 거 싫어해요. 영화에서도 필름 압축하는 거 싫어하고. 압축하면 용량이 1/50 정도로 떨어지니까 효율적이지만, 압축을 하면 안 되는 곳이 몇 군데 있죠.
임정애 : 인터넷 역사를 정리하는 일에도 관여하고 계신 것으로 아는데요.
전길남 : 사람이란게 시간이 지나면 과거에 일을 잊어버리고 자료도 없어지니까, 믿고 볼 수 있는 기록이 있었으면 좋겠다는 취지로 시작된거죠. 자료를 영문과 한글로 정리하는 작업이 지금 시점에서는 필요한 것 같아요.
다른 나라에서도 이런 식의 워킹그룹이 있어요. 이런 걸 묶어서 아시아의 인터넷 역사도 만들고, 세계적인 공동작업도 생각하고 있어요. 이것이 만들어지면 단순한 역사가 아니라 나중에 참고가 될 수 있는 가이드라인이 될 거예요. 우리나라는 인터넷 역사가 한 20년 정도 됐지만 5-10년 정도밖에 되지 않은 나라도 있으니까, 앞으로 어떻게 할 것인지, 앞서간 나라가 무엇을 잘못했는지 배울 수 있지 않겠어요?
오병일 : 그럼 누군가는 평가를 해야겠군요.
전길남 : 누군가는 해야지. 하지만 우리 작업은 거기까지는 아니고 일단 최대한 정확하게 기록하자는 거지. 그거 하나하나 알아내는 것도 쉽지 않아요. 예를 들어, 다른 유닉스 시스템들 간에 파일을 복사하고, 다른 시스템 상에서 실행될 명령어들을 보내기 위한 유닉스 프로그램의 집합인 UUCP(UNIX-to-UNIX Copy Protocol)가 언제 시작했는지, 82년인지 83년인지, 누가 참여했는지, 객관적으로 정리해낼 필요가 있어요. 아마 이 작업은 내년 초 정도에 공식적으로 발표할 수 있을 거예요.
특히 영어 버전에 대한 요구가 많은데, 외국에서는 한국에서 어떻게 일찍 인터넷이 시작됐는지 궁금해해요. 요새는 인터넷 하는 게 이상하지 않지만 20년 전에 미국 다음으로 한국에서 시작했다는게 신기한거지. 사실 우리도 당시에 인터넷 프로젝트 제안했을 때는 안됐어요. 실제로는 컴퓨터 개발하는 프로젝트에 인터넷을 슬쩍 끼어넣은거죠. 그래야만 예산이 나올 수 있었으니까.
생각해보세요. 그때는 금성사 라디오, 흑백 텔레비젼 보던 시대에요. 그건 선진국에서 하는 거지 한국에서는 할 필요도 없다는 게 일반적인 생각이었죠.
임정애 : 공개 소프트웨어 분야에도 관심이 많으신가요?
전길남 : 물론 계속 그걸 사용했죠. 우리나라에서 컴퓨터 개발할 때 운영체제는 만들지 말자고 했어요. 왜냐하면, 그걸 만들 수 있는 사람이 우리나라에는 없었으니까. 그걸 만들려면 한 100명 정도 필요한데, 우리나라에서는 비슷한 거 해본 사람이 겨우 5명 정도였으니까. 한국에서는 오픈소스 밖에 방법이 없을 것 같다라고 판단했죠. 지금 리눅스라고 알려져 있는 것, 우리나라에서도 연구는 일찍 시작했어요. 지금 생각하면 조금 억울한데, 핀란드에서 리누스 토발즈가 리눅스를 개발할 당시에 KAIST에서도 작업을 하고 있었어요.
그런데, 내가 마음이 약한가봐. 그때 개발하던 KAIST 대학원생한테 취직하지 말고 계속 연구하라고 강하게 얘기했어야 하는데 그러지 못했지. (웃음) 그때 계속 했으면 좋은 결과가 있었을텐데. 그랬으면 오픈소스의 역사가 달라졌겠지.
오병일 : 혹시 블로그 운영하세요?
전길남 : 필요한 자료가 있으면 보는 정도지 개인적으로는 안해요. 그거 시작하면 계속 업데이트 해야하고 시간을 너무 많이 빼앗길 것 같아서. 그거 할려면 큰 맘 먹고 해야지. 우리 과에서도 블로그 운영하는 학생이 거의 없어요. 그거 너무 하면 논문이 제대로 안나오니까. (웃음)
블로그도 이미 한 4-5년 되었는데, 내가 아쉬운 건, 우리나라에서도 그런 거는 만들 수 있는데 우리나라에서 시작되지 않았다는 거죠. 미국에서 블로그 나왔을 때 우리나라에서는 별로 인기가 없었는데, BBS랑 인터넷 카페가 있는데 뭐가 부족한가하는 생각을 했던거죠. 우리나라는 뭐가 나오면 활용은 잘 하는데, 아직 우리가 만드는 수준까지는 가지 못한 것 같아요.
임정애 : 향후에 인터넷이 어떠한 방향으로 나갈 거라고 보세요?
전길남 : 인터넷 상에 가상도시를 만드는 수준까지 가지 않을까 봐요. 예를 들어, 진보넷 앞에 여러 가게들이 있을텐데 그 가게에 대한 정보를 얻는 수단이 뭐가 있을까요? 하나는 실제 걸어가면서 찾아보는 것이고, 둘째는 전화번호부를 이용하는 것, 세 번째가 인터넷이겠죠. 만일 모든 가게가 하나씩 홈페이지를 가진다면 가상도시를 만들 수가 있겠죠. 미국이나 캐나다에 그런 실험들이 있고, 앞으로 2-3년 내에 누군가 해낼텐데 한국에서 먼저 되었으면 좋겠어요.
그 다음에는 계속 안좋아질 것 같아요. 스팸 문제도 지금은 아무것도 아니고 앞으로 얼마나 나빠질 건지 예측할 수도 없어요. 바이러스 역시 5년 정도전에 유치한 수준으로도 한국 전체를 멈출 수 있었는데, 앞으로 더 지독한 게 나올 것 같아요. 9·11과 비교도 안될 정도로 심각한 사이버테러 역시 우려되고. 프라이버시 침해도 당분간은 더욱 나빠질 것 같아요. 여러 가지로 악용하려는 사람들이 너무나 많은데, 상대적으로 보호하고자 하는 사람들의 힘은 너무 약해요. 정부는 인터넷이 이상한 방향으로 가면 자꾸 불안하니까 억제할려고 하고. 이렇게 향후 몇 년 동안은 계속 나빠질 것 같은데, 그러다보면 이를 해결하려는 움직임도 커지겠죠.
고민되는 건, 나중에라도 수정할 수 있으면 좋은데, 한번 만들어진 시스템이 굳어져 버리는 건 아닌가 하는거죠. 한번 만들면 그걸 지키려는 사람들이 있으니까. 초고속 통신망을 이용하려면 자격증이 필요할지도 모르죠. 운전도 면허가 있어야 하잖아요. 인터넷도 자동차만큼 위험성이 있는거 아닌가요? (웃음) 인터넷의 부정적인 영향에 대해 이제 주의를 기울여야 할 때에요.

2009년 4월 10일 금요일

Wtsapi32.dll 오류 해결(windows 2000 pro)

 

windows 2000 professional 에서 Wtsapi32.dll 오류가 발생 하는 경우 십중 팔구 Wtsapi32.lib를 정적으로 링크해서 컴파일한 프로그램들이다.

WTSGetActiveConsoleSessionId 및 WTSQueryUserToken 따위의 함수들이 xp, vista 이상만 지원 하고 하위 버전 호환이 안되기 때문에 발생 하는 듯 하다.

이럴땐 아래 처럼 Loadlibrary 처리하면 오류를 해결 할 수 있다.

BOOL bRes = FALSE;

char lpPath[MAX_PATH];

DWORD RetVal                 = 0;

DWORD ErrCode = 0;

DWORD ConsoleSessionId = 0;

 

HMODULE hInstKernel32 = NULL;

HMODULE hInstWtsapi32 = NULL;

 

HANDLE hTokenUser = NULL;

HANDLE hTokenThisProcess = NULL;

HANDLE hTokenThis = NULL;

 

typedef DWORD (WINAPI *WTSGetActiveConsoleSessionIdPROC)();

WTSGetActiveConsoleSessionIdPROC WTSGetActiveConsoleSessionId = NULL;

hInstKernel32 = LoadLibrary("Kernel32.dll");

if (!hInstKernel32)

{

return FALSE;

}

WTSGetActiveConsoleSessionId = (WTSGetActiveConsoleSessionIdPROC)GetProcAddress(hInstKernel32,"WTSGetActiveConsoleSessionId");

if (!WTSGetActiveConsoleSessionId)

{

return FALSE;

}

 

typedef BOOL (WINAPI *WTSQueryUserTokenPROC)(ULONG SessionId, PHANDLE phToken );

WTSQueryUserTokenPROC WTSQueryUserToken = NULL;

hInstWtsapi32 = LoadLibrary("Wtsapi32.dll");

if (!hInstWtsapi32)

{

return FALSE;

}

WTSQueryUserToken = (WTSQueryUserTokenPROC)GetProcAddress(hInstWtsapi32,"WTSQueryUserToken");

if (!WTSQueryUserToken)

{

return FALSE;

}

 

ConsoleSessionId = WTSGetActiveConsoleSessionId();

 

bRes = WTSQueryUserToken( ConsoleSessionId, &hTokenUser);

if (!bRes)

{

return FALSE;

}

 

bRes = ImpersonateLoggedOnUser(hTokenUser);

if (!bRes)

{

return FALSE;

}

bRes = SHGetSpecialFolderPath(NULL,lpPath,CSIDL_STARTUP,TRUE);

if (!bRes)

{

return FALSE;

}

else

{

MessageBox(NULL,lpPath,"Startup",MB_OK);

}

RevertToSelf();

2009년 4월 7일 화요일

HoneyClient, HoneyMonkey

 

HoneyClient, HoneyMonkey

허니클라이언트는 악성코드를 감염시키는 웹사이트에서 활발하게 활동하고 있다.

데스크탑 웹 브라우저는 오랫동안 보안의 하수구였다. 안전한 코딩에 대한 강조 증가, 더 많은 사용자 인식, 인터넷 익스플로러와 파이어폭스와 오페라 같은 대안의 사용에 대한 발전에도 불구하고 그것은 더 깊어졌다. 범죄자들은 사용자들을 수천 개의 악성 혹은 오염된 웹사이트로 유인해 그들의 신분 정보를 편취하거나 그들의 컴퓨터에 몇몇 위험 코드를 떨어뜨리도록 유인한다.

이런 사이트들을 감지하고 익스플로잇을 대항하는 것은 두더지잡기 게임과 비슷했지만 보안 연구자들은 효과적인 대처방안을 찾고 있다. 마이크로소프트와 개방형 소스 옹호자들은 허니넷 기술의 활동적인 변형인 허니클라이언트를 활용한 익스플로잇을 공격적으로 추적하면서 유망한 선제공격 두 가지를 추구하고 있다.

허니넷이 있었던 얼마 동안은 어떤 해커들이 그들에게 연결되어 증거를 남길 것을 기다리면서 인터넷 상의 임의의 네트워크에 빈둥거리며 앉아있는 수동적인 컬렉터였다. 일반적으로 그것들은 웹서버와 해커가 들려서 시스템을 오염시키려 할 때 기록하는 추적 소프트웨어를 지닌 모든 디바이스를 제거한 운영 시스템으로 이루어진다.

그것들이 익스플로이트를 문서화하는데 뛰어난 반면, 한 가지 큰 단점이 있다. 그것은 의심 없는 방문자들을 감염시키기 위해 설계된 웹사이트를 운영하는 범죄자들을 적극적으로 찾아 나설 수 없다는 것이다. 하지만 허니클라이언트는 미끼의 희생양이 아닌 사냥꾼이다. 웹 브라우저를 운영하고 활발하게 위험한 사이트를 찾는다.

독일 허니넷 프로젝트의 설립자이며 ‘버츄얼 허니폿:침투 감지에 대한 봇넷 추적으로부터’의 공동 저자인 토르스텐 홀츠는 “브라우저와 다른 클라이언트측 애플리케이션은 보안 사슬 속에서 가장 약한 연결이 되었다. 벤더들은 이제 OS를 보강하는 것을 더 자세히 살펴보지만 클라이언트측 애플리케이션은 아직 수많은 취약점을 지니고 있다”고 말했다.

서버에서 브라우저 공격으로 옮겨가는 이러한 변화에는 몇 가지 이유들이 있다. 최근 HP에 의해 인수된 SPI 다이내믹스의 보안 전도사인 마이클 서튼은 “이것은 서버측 소프트웨어에 대한 안전한 코딩 절차 내의 발전과 더 중요한 피싱과 신분 절도 공격에 의해 주도되었다. 침입자들은 활발하게 보호된 보강 서버보다 직원들과 말단 사용자들을 목표로 삼을 때의 취약 지점을 찾아내는 것이 더 쉽다는 사실을 알게 되었다”고 말했다.

상황은 꽤 침울하다. 허니넷의 연구자들에 의하면 대부분의 카테고리 안에서 오염된 웹사이트가 발견된다. 누구든 웹에 엑세스하면 열람하는 내용의 유형이나 내용이 엑세스되는 방식에 관계없이 위험에 처한다. 브라우징 동작을 조정하는 것은 그런 위험을 완화하는데 충분하지 않다. 사용자가 하이퍼링크를 따르기보다 URL 내에서만 타이핑하는 정책을 세운다 할지라도 그것들은 타이포 스퀘터 URL로 부터의 위험에 처해 있다.

웹을 통과해 날아가기

허니넷 서버는 보통의 사용자를 위한 목적지가 아니기 때문에 보안 연구원들은 서버에 의해 기록된 엑세스는 해커나 좋을 리 없는 누군가에 의한 것이라고 말한다. 반면 허니클라이언트를 사용하는 연구원들은 그들이 사용하는 URL은 그 보안상태가 규정되어 있지 않기 때문에 그것이 방문하는 어떤 사이트가 악성인지 양성인지를 식별해야 한다.

허니클라이언트는 다음의 세 가지 요소로 이루어져 있다.

ㆍ오염된 웹 서버를 찾으려는 희망으로 일련의 URL을 방문하기 위해 PC와 웹 브라우저를 구동하는 자동화된 스크립트 기반 시스템.

ㆍ허니넷 상에서 사용된 것과 같이 PC에 대한 변화를 문서화하는 기록 프로그램.

ㆍ다수의 PC와 브라우저 세션으로 구축된 일련의 버츄얼 머신들은 동일한 실제 시스템상에서 운영될 수 있다. 각 세션이 완료되고 모든 변화가 기록되면 버츄얼 머신은 단계 내의 다음 URL을 시도하기 전의 깨끗한 이미지와 함께 다시 시작된다.

허니클라이언트는 보고되거나 공표되지 않은 새로운 형태의 맬웨어를 드러내어 보안 연구자들이 범죄자들을 깜작 놀라게 할 수 있다. 이것은 그것들이 침투 서명이나 동작 유형에 대한 스캔 보다는 근원적인 OS와 브라우저 구성의 변화를 관찰하기 때문이다.

best practices

달콤한 거래

기업 보호를 위해 허니클라이언트 프로젝트를 활용하라

허니클라이언트 연구 결과는 IT와 보안 관리자들을 위해 매우 실제적인 애플리케이션을 지니고 있고 기업체의 일상적인 활용에 브라우저 및 네트워크 보안 업무를 개선하는 데 도움이 된다.

허니클라이언트의 범위를 이해하는 좋은 출발점은 의심스런 URL의 데이터 꾸러미와 웹 기반의 감염을 피하기 위한 시도로, 취할 수 있는 완화 행위의 설명과 함께 저먼 허니넷 프로젝트 논문 ‘적을 알라:악성 웹 서버’를 다운받는 것이다(www.honeynet.org/papers/mws/). 연구원들은 URL 블랙리스트를 만들고 언제 무엇을 패치해야 하는지, 그리고 적절한 데스크탑 브라우저 소프트웨어의 선택을 위한 제안사항들을 제공한다.

그들이 권장하는 것 중 하나는 최소한의 시장 점유율을 가진 브라우저를 사용하는 것이다. “우리가 시행한 테스트는 오페라와 같이 목표 사용자가 비주류 애플리케이션을 사용해야 하듯이 스스로를 제거하는 간단하지만 효과적인 방법을 보여준다.

취약점이 존재함에도 불구하고 이 브라우저는 목표물이 되는 것 같지 않다.”고 그 논문의 저자가 말했다. 물론, 덜 알려진 브라우저를 골라내는 것과 관련된 한 가지 문제는 많은 사이트가 살펴볼 당시 작동하지 않는다는 것이다.

다음으로 IT 매니저들은 그들 사용자의 머신이 개인적인 방화벽과 혹은 호스트 기반의 침투 감지 소프트웨어를 포함한 최적의 상태로 구동되고 있는지 확인할 필요가 있다. IE 샵을 운영하고 있다면 IE 7로 업그레이드하고 가능성 있는 감염을 방지하기 위한 비관리 모드 내에서 사용자들을 움직이도록 하라. 이전의 버전과는 다르게 IE 7은 그것의 노출을 제한하기 위한 초기 값에 의해 별도의 ‘샌드박스’를 운영한다.

그리고 제3자 애플리케이션과 클라이언트 소프트웨어를 패치하는 것을 잊지 말라. 특히 지원받는 브라우저 플러그인을 형성하는 것들과 뷰어들과 주 브라우저 소프트웨어와 함께 흔히 사용되는 부수적인 부분들이 그렇다.

독일 허니넷 프로젝트의 토르스텐 홀츠는 “지금은 모든 사람들이 마이크로소프트 패치 싸이클에 대해 꽤 잘 이해하고 있어야 하지만 당신의 모든 쇽웨이브나 플래시 클라이언트도 패치할 것인가?”라고 물었다.

레드몬드의 일벌

마이크로소프트는 2005년 허니클라이언트 프로젝트인 허니몽키(www.research.microsoft.com /HoneyMonkey/)를 윈도우와 인터넷 보안을 개선하기 위한 전반적인 프로그램의 일환으로 시작했다. 그것은 악성 사이트에 의한 OS 구성의 변화를 추적하는 비행 데이터 기록기, URL 조합, 검색 페이지 링크 스캐닝 요소 등으로 이루어진다.

마이크로소프트 인터넷 서비스 연구 센터 내의 사이버 지능 연구소의 이사인 왕이민은 “그 프로젝트는 윈도우즈 충돌과 ‘죽음의 푸른 화면’을 더 잘 문서화하고 그 원인을 추적하려는 전체적인 노력과 함께 출발했다”며 “파일 시스템과 윈도우 레지스트리를 업데이트하는 모든 것을 추적하는 비행 데이터 기록기가 되는 것을 구축한다”고 말했다.

그는 그 프로젝트의 초점을 단지 불량 웹사이트를 찾아내는 것을 넘어 이런 사이트들에 트래픽을 구동하려고 해커가 운영하는 전체 에코시스템을 검사한다. 또 “우리는 지금 악성 사이트들이 더 큰 그림에 어떻게 맞춰지는지에 대한 훨씬 더 넓은 이해를 갖게 되었다. 사람들은 우선 검사 장소에 놓여져 이러한 인터넷 스캠을 사용하고 그 다음 그것들의 사이트를 방문하기 위한 많은 트래픽을 취하고 그 다음 이러한 머신 상에 악성 소프트웨어를 올려놓음으로써 이러한 방문자들의 브라우저를 익스플로잇하고 이러한 배치에 대해 그 소프트웨어의 저자들을 고소한다.

그 프로젝트는 지금 2,000개의 PC와 1,000개의 제작 서버를 운영한다. 각 PC는 일련의 웹사이트를 방문하기 위한 인터넷 익스플로러를 구동하기 위한 맞춤형 코드와 함께 버츄얼 PC를 운영하며 운영 시스템과 브라우저 구성의 어떤 변화든지 기록한다.

그 PC들은 완저전히 패치 된 10개 PC들의 제 2 네트워크를 도입하기 위해 사용되는 악성 URL 리스트를 컴파일하며, 해커가 여전히 PC를 통과할 수 있는지 확인하기 위해 사이트를 재방문 한다.

악성 웹사이트를 찾아내는 것은 단지 첫 번째 단계일 뿐이다. 불량 사이트들은 검색결과 페이지에서 제거되어서 의심 없는 방문자들이 그것들의 링크를 클릭하지 않도록 해야 한다. 그리고 새롭게 발견된 맬웨어는 방어수단이나 방어 서명을 작성할 수 있는 보안전문가들에게 보내져야 한다. “새로운 악성 사이트를 발견할 때마다 우리의 법률부서는 사이트의 ISP에 테이크다운 통지를 보낸다”고 왕이민은 말했다.

exploits

호르넷의 은신처

해커가 인터넷 브라우징을 고통스럽게 만드는 방법

“우리는 매우 어려운 전쟁을 치르고 있고 우리의 적들은 매우 고무되어 있다. 그들은 대규모의 법적인 결과와 상관없이 돈을 버는 아주 쉬운 방법을 지니고 있다. 그들은 매우 똑똑하며 필요한 것을 얻을 수 있다”고 캐시 왕이 말했다.

그러면 해커는 어떻게 브라우저 익스플로잇으로부터 돈을 벌 수 있을까? 그것은 많고 다양한 사람들과 수입 흐름에 의해 지원받는 풍부하고 다양한 에코시스템 때문이다.

우선, 누군가가 일반적으로 루트킷, 키로거, 브라우저 툴바 등의 익스플로이트 코드를 개발한다. 그 다음 이 코드는 인터넷의 다양한 웹사이트 상에 내려놓는 제3자에게 팔린다. 이것들은 오염된 합법적인 사이트이거나 애드서빙 네트워크에 삽입된 오염된 배너광고일 것이거나, 혹은 애드웨어 분배자일 것이다. 방문자가 이런 사이트들에 연결되면, 코드는 알지 못하는 사이에 조용히 다운로드된다. 이런 머신들은 해커에 의해 조종될 수 있는 보트넷의 기반을 형성한다. 그러나 그것은 그저 시작일 뿐이다. 그 사이트들은 트래픽이 필요하고 그것을 얻는 가장 좋은 방법은 방문자들을 그들에게 인도할 검색 엔진에 의해 발견되는 것이다.

마이크로소프트의 사이버인텔리전스 랩의 이민 왕은 “많은 사이트가 수정기능을 실행한다. URL이 서버로 이동하고 그것이 바로 익스플로잇을 지원하는 것이다. 따라서 우리는 누가 익스플로잇을 실행하고 있는지 알아내기 위해 각 수정동작을 추적해야 한다”고 말했다.

인기가 많은 URL에서 한두 개 글자를 바꾸어 합법적인 트래픽을 획득하려고 시도하는 타이포스쾌터라 불리는 것도 있다. 보트넷은 다른 집단이 소유한 사이트를 방문하고 검색 엔진 순위를 상승시켜 더 많은 트래픽이 들어오도록 하기 위해 사용된다.

“어떤 사이트는 악성 소프트웨어를 가지고 있지 않고 단지 배너 광고를 지원하고 그 트래픽으로부터 이익을 가져간다”고 이민 왕이 말했다.

캐시 왕은 범죄자들이 허니클라이언트를 더 잘 찾아내고 있다고 말했다. “우리가 VM웨어 서버를 사용하기 때문에 해커들은 들어오는 요청이 I/O 포트, 명령어 세트, 장치 드라이버 정보 같은 VM 환경에서 들어온다는 분명한 신호를 찾고 있다.”

인터넷을 벌집화하기

개방형 허니클라이언트(www.honeyclient.org/trac)는 기존의 작업을 허니넷 서버 기반 프로젝트에 확장함으로써 시작된다. 마이터와 독일과 뉴질랜드 출신의 연구원들이 지원하는 이 개방형 소스 이니셔티브는 IE와 파이어폭스 시스템에 대항하는 익스플로잇을 찾기 위한 허니클라이언트 시스템을 구축하는 데 사용될 수 있는 코드와 VM웨어 이미지를 공시한다.

마이터의 선임 정보보안 엔지니어인 캐시 왕은 “또한 우리는 SP2를 보유한 윈도우 XP에서 패치가 전혀 없는 XP에 이르기까지 우리가 테스트하는 것에 대한 여러 가지 구성을 지니고 있다”고 말했다.

서로 다른 XP 버전을 테스트하는 것은 사용자의 경험을 흉내내기 위해 중요하다. 그는 “이것은 XP의 표절 버전을 운영하는 머신들은 SP2 패치를 습득할 수 없을 것이기 때문이다. 또한 우리는 브라우저 익스플로이트 이상을 관찰하려는 계획을 세우고 있다. 이것에는 피어투피어 애플리케이션과 도메인 네임 시스템 클라이언트가 포함된다”고 말했다.

허니 몽키와 같이 개방형 소스 허니클라이언트는 변경되거나 만들어진 프로세스는 물론, 시스템 폴더내에서 새롭거나 제거된 수정된 레지스트리 키 같은 근원적인 윈도즈 운영 시스템에 일어난 변화를 찾고 있다.

주요한 차이점은 프로젝트가 그 뒤에 법적인 화력을 지니고 있지 않고 발견된 악성 사이트들을 차단하기 위해 광고와 보안 벤더와 ISP로부터의 협조에 의존한다는 것이다. 모든 주요 안티 맬웨어 벤더들은 그들이 찾은 것의 결과로서 서명 변경을 시행해 왔다고 연구원들은 말했다.

마이터는 일곱 개의 머신을 가지고 2005년에 출발했다. 빅토리아 대학교의 뉴질랜드 그룹은 또 다른 12개를 지니고 있다. 전 세계에 흩어진 더 많은 시스템들이 분명 있지만 누구든지 다운로드하고 그 코드를 설치할 수 있기 때문에 정확한 숫자는 알려지지 않았다.

지금까지 마이터 내의 그룹은 최소한 10개의 새로운 맬웨어 변형을 찾아냈다. “이 모든 것들은 주요 안티바이러스 제품이 초기에 감지할 수 없었던 것이다”고 캐시 왕이 말했다.

그 동안 독일·뉴질랜드 연구원 그룹은 194개의 호스트로부터 30만개가 넘는 URL을 낚아 올리면서 올해 초반 306개의 악성 URL을 찾았다.

독일·뉴질랜드 그룹은 또한 파이어폭스가 IE 보다 익스플로잇에 대해 취약한지 아닌지를 비교하는 테스트도 수행했다. IE의 보안 문제가 언론의 관심을 받으면서 파이어폭스는 문제와 패치를 더 잘 알게 됐다. 그럼에도 불구하고 그 팀은 파이어폭스가 더 안전한 브라우저라는 결론을 내렸다.

“우리는 파이어폭스를 공격하는 것이 더 힘든 일이 아닌지 의심하는데 그것이 자동화되고 즉각적인 업데이트 메커니즘을 사용하기 때문이다”고 연구원들이 허니넷 프로젝트 ‘적을 알라’논문에 기고했다.

IE는 사용자들이 전체적인 윈도즈 업데이트 기능을 활성화하도록 요구한다. 그는 또 “파이어폭스는 인터넷 익스플로러 같은 운영 시스템과 통합된 것이 아닌 단독형 애플리케이션이기 때문에 우리는 사용자들이 이 업데이트 메커니즘을 켜놓을 가능성이 더 크지 않을까 생각한다. 파이어폭스는 진정한 이동형 목표물이다”고 말했다.

독일·뉴질랜드 팀은 또한 누구라도 의심스런 웹 서버 상에서 운영이 가능한 테스트들(www.nz-honeynet. org/cwebservice.php)을 개발했다. 의심스런 URL을 입력하면 그 서비스는 구동되는 맬웨어의 사이트가 의심스러운지 여부를 알려준다.

다음으로 프로젝트 팀은 SETI@home이 외부세계로부터의 라디오 시그널 스캐닝을 조정하는 것과 비슷하게 모든 다운로드된 추적 시스템이 전체적인 인터넷을 어떻게 스캔하는지 조정하기를 원했다. 그것들은 그들의 소프트웨어를 광범위하게 퍼뜨릴 수 있는 허니클라이언트 프로젝트에 대한 연장선상에서 작동했다.

“이 전쟁에서 승리함으로써 배워야 할 때이고 우리는 공격자들을 찾아내고 우리에게 다가와 머신들을 오염시키기 전에 차단해야 할 필요가 있다. 우리들 대부분은 우리의 시스템을 방어하는 데 너무 지나친 반응을 보인다. 일단 관련자들을 많이 얻게 되면 우리는 경향과 공격 벡터에 관한 정보를 공유할 수 있다. 그러면 당신은 제로데이 공격으로부터 무방비상태가 될 필요가 없다”고 캐시 왕은 말했다.

<글: 데이빗 스트롬[David Storm]>

Copyright ⓒ 2006 Information Security and TechTarget

[월간 정보보호21c 통권 제89호(info@boannews.com)]

인터넷 익스플로러 8.0 설치 후 VC 2008 에서 변수 추가, 함수 추가시 발생 하는 Script 오류

 

인터넷 익스플로러 8.0 설치 후  VC 2008 에서 변수 추가, 함수 추가시 발생 하는  Script 오류 박스가 나오는 경우 임시 해결 법.

Visual C++ 팀이 블로그를 통해 이 문제를 우회 하는 방법을 소개했다.

- regedit 실행

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings\Zones에서 1000 키 생성

- DWORD 엔트리 생성 (Name=1207, Type=REG_DWORD, Data=0x000000)

Visual C++ Team Blog: http://blogs.msdn.com/vcblog/archive/2009/03/28/some-vs2005-and-vs2008-wizards-pop-up-script-error.aspx