보안IT뉴스 보안권고문 보안Tip 보안처방 보안통신 보안용어 보안백신메일 보안캘린더 보안위협DB 찾기
보안칼럼
에브리존 Zip에브리존 See에브리존 FTP

  보안IT뉴스
  보안권고문
  보안Tip
  보안처방
  보안통신
  보안용어
  보안백신메일
  보안캘린더
  보안위협DB찾기
  보안칼럼

   보안칼럼
   
 목록 |  윗글 |  아랫글
 최근 확산된 웜의 성향과 앞으로의 추세...
   기술개발연구소 2004-07-08       조회  29411 
<table width="500" border="0" cellspacing="0" cellpadding="0" class="subb"> <tr> <td>바이러스의 추세가 점점 파일의 조작이나 변경/파괴등에서 인터넷과 연관된 쪽으로 흘러가고 있다. <br> <br> 최근 상당히 많이 확산되었던 웜 바이러스는 대부분 IRC 기능을 제공하는 류가 많이 있었다. <br> <br> xxxBot.xxxx 웜 바이러스류에 감염되면, 특정 IRC 채널로 접속, 감염된 시스템이 IRC 채널에 접속되면, 공격자는 그 채널을 통해 감염된 시스템을 조종할 수 있게된다. <br> <br> 인터넷상에 떠도는 모 게시물에 남아있는 제작자의 다음과 같은 말로 보아 굉장히 큰 규모로 진행되고 있는 것 같다.<font color="#CC0000"><strong> &quot;i am trying to make huge channel&quot; </strong></font><br> <br> IRC 채널이 접속된 감염된 PC 를 조종할 수 있는 기능은 bot 웜 종류에 따라 많이 다르지만 일반적으로 다음과 같다. <br> <br> - DDoS(syn, icmp, udp flooding 기능 등 다양) 공격 가능.<br> - 웜 업데이트(주기적으로 새로운 프로그램으로 업데이트 시켜 나가는 듯, 백신 탐지 회피 또는 기능 <br> &nbsp;&nbsp;업데이트 ?)<br> - IRC 서버 바꾸기(접속할 IRC 서버 등을 바꿀 수 있음)<br> - 유명 게임 CD key 유출<br> - index.dat 파일 유출(사용자의 인터넷 사용 히스토리 등)<br> - 다른 시스템 공격(DCOM, 네트워크 공유, weak password, MyDoom backdoor, Locator Service, <br> &nbsp;&nbsp;WebDav, 등 상당히 많은 방법 사용) 공격 패턴이 계속 변화하고 있고, 최근의 취약성도 공격<br> - 기타 등등(상당히 많음)<br> - 개인정보 유출 주로 PC 의 사용자는 가장 위험한 부분인 DDoS 공격에 유의해야 한다.<br> <br> 웜 탐지 및 확산 방지를 위해 내부에서 외부로 나가는 트래픽에 대해서만이라도 유심히 관찰해야 한다.<br> 소홀히 할 경우, 네트워크 망 전체의 다운으로 이어질 수도 있다. <br> <br> 다음처럼 파일의 자동실행 상황도 관찰해야 한다. <br> <br> <hr width="500" size="1" color="c8c8c8"> <br> <strong>1. ini 파일을 이용하는 방법</strong></strong><br> INI 파일은 초기화라는 initialize의 약자로 윈도우나 여러 가지 프로그램의 최초 정보가 들어 있는 텍스트 기반의 크기가 64 KB로 제한되는 윈도우 초기화 파일이다. <br> 주요 ini 파일로는 win.ini, system.ini 등이 있고 이들 파일은 윈도우의 기본 구동 설정을 담고 있으며 사용자에 의해 언제든지 수정 가능하다. 이러한 ini 파일의 설정을 변경하여 윈도우가 시작되는 초기에 특정 파일을 실행 시킬 수 있는데 주로 다음과 같은 세 가지 파일을 이용한다. <br> <br> <font color="#CC0000">① Win.ini</font><br> 윈도우의 시작시 C:\WINDOWS(윈도우 98 기준) 폴더에 위치한 Win.ini 파일의 load 와 run 부분에 명시된 경우 해당 파일이 자동 실행된다.<br> 윈도우 설치 후 디폴트로 &quot;load=&quot;과 run=&quot; 부분은 비어있다. 이 win.ini 파일을 조심스럽게 다루지 않으면 부팅이 되지 않을 수 있으므로 함부로 수정하지 않는 것이 좋다.<br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2000년 12월 발견된 화면에 커다란 회오리 모양의 그림을 출력하는 증상을 나타내어 많은 피해를 일으켰던 Hybris 웜에서 win.ini 파일의 [windows]의 run= 부분을 다음과 같이<br> 수정하는 방법을 이용한다.<br> run=C:\Windows\System\amiaamia.exe<br> &lt;※ 생성되는 파일명이 임의로 바뀌어 amiaamia.exe 라는 파일명은 변한다. &gt; </td> </tr> </table> </div> <br> <br> <font color="#CC0000">② System.ini</font><br> 윈도우 시작시 C:\WINDOWS(윈도우 98 기준)폴더에 위치한 System.ini 파일에서 시스템 정보를 읽어 오는데 이때 다음과 같은 boot 부분에 파일명을 명시한 경우 해당 파일이 자동 실행된다.<br> system.ini 파일 역시 잘못 수정할 경우 아예 윈도우 부팅이 되지 않을 수 있으니 함부로 수정하지 않는 것이 좋다. <br> <br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2001년 9월에 등장하여 최고의 피해를 일으킨 Nimda에서 system.ini 파일을 수정하여 자동 실행되도록 다음과 같이 수정하였다.<br> Shell=explorer.exe load.exe - dontrunold<br> &lt;※ Nimda에 감염된 경우 생성되는 파일명이 load.exe 이다. &gt; </td> </tr> </table> </div> <br> <br> <font color="#CC0000">③ wininit.ini</font><br> C:\WINDOWS\(윈도우 98 기준) 폴더에 wininit.ini 파일이 존재하면 시작 프로그램에 의해 한번 실행된 후 삭제된다. 예를 들어 wininit.ini 파일의 내용이 다음과 같을 때 <br> [Rename]<br> NUL=c:\windows\picture.exe<br> NUL=c:\windows\picture.exe 문장은 c:\windows\picture.exe를 NUL 로 보낸다는 뜻이며 이것은 삭제한다는 것을 의미한다. 이러한 행동은 은밀하게 일어나므로 사용자는 의식하지 못하는 것이 대부분이기 때문에 악성 코드의 실행 흔적을 감추는 방법으로 많이 사용된다. <br> <br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2001년 제작된 Nimda에서도 wininit.ini 파일을 이용하여 윈도우 재부팅시 자동으로 삭제되도록 다음과 같이 설정한다.<br> [Rename]<br> NUL = [실행되었던 경로]\[파일이름.EXE]<br> &lt;※ 이때 파일이름은 임의로 정해진다.&gt;</td> </tr> </table> </div> <br> <hr width="500" size="1" color="c8c8c8"> <br> <strong>2 . 레지스트리를 이용하는 방법 </strong><br> 레지스트리를 이용하는 방법은 최근 나타나는 웜들이 가장 많이 사용하는 방법으로 특히 스크립트 언어로 제작된 경우 아주 손쉽게 레지스트리를 다룰 수 있다. 레지스트리를 이용한 자동 실행 설정 방법은 다음과 같다. 윈도우의 시작 시 자동 시작 되는 레지스트리의 위치는 다음과 같으므로 원할 경우 해당 레지스트리에 파일을 등록한다. <br><br> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]<br> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]<br> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]<br> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]<br> [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]<br> [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]<br> [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]<br> <br> 다음의 레지스트리 값은 실행 파일 쉘들의 디폴트 값이다. <br> <br> [HKEY_CLASSES_ROOT\exefile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_CLASSES_ROOT\comfile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_CLASSES_ROOT\batfile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_CLASSES_ROOT\htafile\Shell\Open\Command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_CLASSES_ROOT\piffile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\Command]@=&quot;\&quot;%1\&quot;%*&quot;<br> [HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command]@=&quot;\&quot;%1\&quot;%*&quot; <br> <br> 여기서 각 키들은 디폴트로 %1%* 값을 갖는데 이들을 &quot;server.exe %1%*&quot; 로 변경할 경우 exe, com, bat, hta, pif 파일들의 실행 시 매번 server.exe 파일이 자동으로 실행된다. <br> <br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2001년 7월 발생하여 많은 피해를 일으켰으며 특히 정보유출로 인한 사회적인 피해를 초래한 Sircam의 경우 다음과 같이 윈도우가 시작될 때마다 웜이 실행되고 exe 파일이 실행될 때마다 매번 자동 실행되도록 하는 두 가지 방법의 레지스트리 설정을 이용한다.<br> <br> 다음과 같이 설정하여 윈도우 시작마다 자동 실행되고 HKEY_LOCAL_MACHINE\Software\<br> Microsoft\ Windows\CurrentVersion\RunServices 에 Driv er32= C:\Windows\System<br> \scam32.exe 값 추가 exe 파일이 실행될 때마다 자동 실행된다. <br> <br> HKEY_CLASSES_ROOT\exefile\shell\open\command 에 C:\recycled\sirc32.exe &quot;%1&quot; %*&quot; 값 설정 Sircam과 같이 레지스트리를 설정하는 방법을 이용하는 웜은 쉽게 찾을 수 있을 것이다. </td> </tr> </table> </div> <br> <hr width="500" size="1" color="c8c8c8"> <br> <strong>3 . 자동 시작 폴더를 이용하는 방법</strong> <br> 윈도우의 재시작 시 이 폴더 안에 있는 모든 프로그램들은 자동으로 실행된다. 윈도우에서 이러한 자동 <br> 시작 폴더는 다음과 같으며 여기서는 한글 윈도우와 영문윈도우 경우만 명시한다.<br> <br> <font color="#CC0000">- Win 98에서</font><br> 한글 윈도우 : C:\WINDOWS\시작 메뉴\프로그램\시작프로그램<br> 영문 윈도우 : C:\windows\start menu\programs\startup<br> 시큐어 메신저나 한컴 쪽지 등과 같은 프로그램들이 자동시작 폴더에 위치시켜 윈도우 시작시 마다 자동으로 실행되도록 설정한다.<br> <br> <font color="#CC0000">- Win 2000에서</font><br> 한글 윈도우 : C:\Documentsand Settings\Administrator\시작 메뉴\프로그램\시작프로그램<br> 영문 윈도우 : C:\Documentsand Settings\Administrator\start menu\programs\startup<br> 이러한 폴더는 다음과 같이 레지스트리에 등록되어 있어 이러한 기능이 제공되는 것이다.<br> <br> HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders<br> 에서 Startup의 데이터 값으로 한글 윈도우 경우 C:\WINDOWS\시작 메뉴\프로그램\시작프로그램으로 설정되어 있을 것이다.<br> <br> 이러한 방법은 임의의 프로그램이 자동 시작 폴더에 특정 파일을 복사함으로써 윈도우 시작마다 자동으로 동작하도록 설정할 수 있는 쉬운 방법이다. <br> <br> <hr width="500" size="1" color="c8c8c8"> <br> <strong>4 . bat 파일을 이용하는 방법 </strong><br> 배치파일의 기능은 순차적이고 반복된 동일한 과정을 몇 개의 혹은 수십, 수백 개의 연관된 명령어를 하나의 파일로 집약하여 그 하나의 파일만 실행함으로써 원하는 작업 과정을 수행하도록 만든 것이다. 텍스트 형식으로 이루어져 있으며, 응용 프로그램 실행시 관련파일의 실행 순서와 옵션을 지정한다.<br> <br> bat는 도스용 파일로 윈도우에서는 자주 사용되지는 않으나 autoexec.bat 파일과 같이 시스템 부팅시 중요하게 이용되기도 한다. <br> <br> <font color="#CC0000">① Autoexec.bat</font><br> C:\ 에 위치한 BAT 파일인 Autoexec.bat은 운영체제의 사용 환경을 설정하는데 사용되는 파일로 프롬프트의 형식이나 기본 경로를 설정하며 여러 가지 유틸리티의 환경 설정을 부팅과 동시에 자동으로 이루어지도록 한다. 부팅 시 필요한 중요한 파일로 악성 프로그램에서 사용하는 BAT 파일 중 가장 많이 이용되며 이 파일에 등록된 경우 윈도우 시작시 도스레벨에서 매번 자동 실행된다. <br> 웜이나 바이러스와 같은 악성 코드들이 C 드라이브를 삭제하는 등의 명령을 autoexec.bat 파일에 삽입하여 심각한 피해증상을 나타내는데 주로 사용된다. <br> <br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2002년 1월 발견된 Gigger 웜은 C 드라이브의 모든 파일을 삭제하는 증상을 갖는데 이때 autoexec.bat 파일을 이용한다. 다음과 같은 명령어를 추가하여 C 드라이브를 포맷하며 비슷한 방법으로 사용하는 웜들이 많이 존재한다.<br> ECHO y lformat c: </td> </tr> </table> </div> <br> <font color="#CC0000"><br> ② Winstart.bat</font><br> C:\WINDOWS(윈도우 98 기준) 폴더에 위치한 winstart.bat 파일은 일반 BAT 파일과 같은<br> 기능을 하며 윈도우 시작마다 자동 실행된다.<br> <br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2001년 8월에 발견된 Cuerpo와 같은 웜에서 winstart.bat 파일을 생성하여 레지스트리 파일을 생성하기도 하며 2001년 7월 국내에서 제작된 Reality 에서는 다음과 같이 특정 파일을 생성하여 실행하도록 설정한다.<br> @echo off<br> debug &lt; c:\Windows\System\System.dll &gt; nul<br> copy c:\Command32.com c:\Windows\Cammand\Command32.com<br> c:\Windows\Cammand\Command32.com </td> </tr> </table> </div> <br> <hr width="500" size="1" color="c8c8c8"> <br> <strong>5 . 응용 프로그램 ICQ의 설정을 이용하는 방법</strong> <br> 특정 응용 프로그램을 설치하는 경우 응용 프로그램에 사용에 맞게 자동으로 실행되도록 설정하는 경우가 있다. <br> 악성 프로그램에서 이러한 점을 이용하여 다른 응용 프로그램에서 설정된 사항을 사용하기도 하는데 본 문서에서는 세계적으로 많이 사용되고 있는 대표적인 채팅 프로그램 ICQ의 설정 방법을 이용하는 것에 대하여 알아본다.<br> 시스템에 체팅 프로그램 ICQ의 설치 시 다음 레지스트리에 등록된 모든 값은 ICQNET 이 인터넷 연결을 확립할 경우 실행된다. 이때 다음과 같은 값을 등록하여 자동 실행되도록 만들 수 있다. [HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\test]<br> &quot;Path&quot;=&quot;test.exe &quot;<br> &quot;Sta rtup&quot;=&quot;c:\\test&quot;<br> &quot;Pa ramete rs &quot;=&quot;&quot;<br> &quot;Ena ble &quot;=&quot;Yes &quot; <br> <br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2001년 1월에 발견된 Leave에서 다음과 같은 설정을 이용한다.<br> HKEY_CURRENT _USER\Software\Mirabilis\ICQ\Agent\Apps\ 에 icqrun C:\WINDOWS\regsv.exe 값 추가 </td> </tr> </table> </div> <br> <hr width="500" size="1" color="c8c8c8"> <br> <strong>6 . 파일(확장자) 숨김 방법</strong><br> 바이러스나 웜과 같은 악성 프로그램들이 지능화 되면서 여러 가지 방법들을 이용하는데 파일자체나 확장자를 숨기는 방법은 다음과 같다. <br> <br> <font color="#CC0000"> ① 레지스트리 설정</font><br> 다음과 같이 레지스트리값을 설정할 경우<br> [HKEY_LOCAL_MACHINE\Software\CLASSES\ShellScrap]<br> (기본값)=&quot;스크랩 개체&quot; &quot;NeverShowExt&quot;=<br> SHS 파일의 확장자가 보이지 않게 된다. NeverShowExt 키는 파일의 확장자를 숨기는 기능을 갖는데 이 경우는 .SHS 파일이 보이지 않게 된다. 이는 Girl.jpg.shs 파일이 존재할 경우 마치 그림 파일 Girl.jpg인 것처럼 위장할 수 있다는 것이다. 따라서 사용자는 NeverShowExt 키에 등록된 내용은 전부 삭제하여 모든 확장자명이 숨겨지지 않도록 해야한다. <br> <br> <font color="#CC0000">② 탐색기 설정</font><br> 탐색기에서 알려진 확장자명이 보이지 않도록 숨기는 기능이 제공되는데 이를 해지하여 모든 확장자명이 정확히 보이도록 해야한다.<br> 탐색기를 실행하여 도구 메뉴의 폴더옵션에서 알려진 파일 형식의 파일 확장명 숨기기 선택을 해지 한 후 현재 폴더처럼 버튼을 클릭 한 후 확인 하여 종료한다. 추가적으로 모든 파일의 숨김 속성을 이용하여 일부 파일이 보이지 않을 수 있는데 숨김 파일도 표시되도록 한다. <br> <br> <br> <div align="center"> <table width="490" border="0" cellpadding="7" cellspacing="0" bgcolor="f5f5f5" style="border:1px solid #c8c8c8" class="subb"> <tr> <td><strong>[사례]</strong><br> 2001년 2월 발견된 AnnaKournikova는 메일로 전파시 첨부 파일명이 AnnaKournikova.jpg.vbs 이다. 이때 확장자명이 보이지 않도록 설정되어 있는 경우 AnnaKournikova.jpg 까지만 보이게 되므로 그림파일로 혼동하도록 유도한 것이다. </td> </tr> </table> </div> <br> <br> <font color="#CC0000">③ API HOOKing</font><br> 가장 최근에 나온 방법으로 원도우즈상의 모든 파일을 접근하는 Find 류의 함수를 가로채서 해당 웜 파일의 이름을 건너 뛰게 하여 탐색기 뿐만 아니라 백신등에서 조차 파일이 없는 것처럼 인식되게 하는 방법이다. 이는 최근의 모든 백신에서 추가된 [스텔스파일탐지기능] 으로 해결이 가능하다. <br> <br> 여기 까지가 현재 발생하는 웜의 현 주소이다. <br> 이후의 발전될 웜이 어떨지 상상만 해도 두렵다. 파일감염 바이러스 처럼 다형성과, 좀 더 진화된 스텔스와, 저레벨적인 시스템접근이 이루어진다면, 아마 FORMAT 이 최선일 수 밖에 없지 않을까 생각한다. <br> <br> 하지만 사용자들은 백신을 믿고 있으면 될 것이다. <br> 우리들 백신 개발자들은 어떤 새로운 방법이 나타나든 헤쳐나갈 것이니까.. 사용자들의 몫은 꾸준한 백신과 윈도우즈의 업데이트이다.<br> <br> <div align="right"><strong>- 기술개발연구소 -</strong></div></td> </tr> </table>
 목록