Traffic monitoring for security anomaly detection 바이러스연구실 최원혁
바이러스사례 (1) 2001.07 CodeRed 최초의패킷형바이러스. IIS 의버퍼오버플로어취약점을이용해서바이러스를메모리에상주후, 무작위로 PC 를선별버퍼오버플로어패킷을보내어취약점이존재할경우다시바이러스에감염되는과정을반복함 (2) 2001.08 CodeRed_II CodeRed 이후나온변형바이러스이며동작은 CodeRed 와흡사. (3) 2001.09 CodeBlue CodeRed 와는또다른 IIS 의취약점을이용한바이러스. IIS 의유니코드해석의취약점을이용. (4) 2001.09 Nimda Nimda 는다양한감염경로를가지지만, 패킷을이용한공격부분은 CodeBlue 와유사. (5) 2003.01 Slammer SQL 의버퍼오버플로어취약점을이용한바이러스. CodeRed 와유사한방식이지만, UDP 를사용하는게틀리며, 무작위 PC 선별을통해패킷전송
CodeRed 의패킷 (1) 패킷상단부 IIS 서버를오버플로어를일으켜서비정상적인동작을하게끔한다. /default.ida 를요청할경우 IIS 서버는 IDQ.DLL 을통해서 *.ida 확장자를처리할려고하는데.. 이때뒤이어서오는내용의길이를체크하지않음으로인해버퍼오버플로어가생기게된다.
CodeRed 의패킷 (2) 패킷하단부 Code Red 의악성코드가존재하는곳이다. IIS 서버가버퍼오버플로어가되면서정확하게악성코드첫부분을실행위치로인식한다. 패킷의마지막에보이는 HTML 코드는영문윈도우의 IIS 서버에서는접속시이상한내용을출력하는코드이다.
패킷수집법 (1) NetCast 를통한수집 (http://www.hanul93.com/pds/nc.exe)
패킷수집법 (2) C:\Util\nc> nc -l -p 80 (80 port listen mode 로동작 )
패킷수집법 (3) CodeRed_II 패킷 Capture
HoneyPot 이란? 허니팟 (HoneyPot) 해커를유인해침입자정보를실시간으로수집하는가상의호스트를말함. 해커의공격에대응할수있는시간을벌고해커의움직임을자세히파악함으로써사이버테러를방지하는기술의하나. 가상으로해커의침입을유도해신분을확보하는허니팟은위장서버와추적장치를활용해해커를유인. 수많은컴퓨터를뒤져취약점을지닌해커대상을찾아컴퓨터정보를유출하거나변조하는해커들에게허니팟은일부러취약점을드러내유인하는전략을사용. 취약점공략을위해허니팟을공격하는해커들은해킹경로와수법을드러내신분이나위치를역추적. 해외에서는이미국가기간망보안을위해중요시설에앞다퉈도입한상태.
VirusPot 이란? 바이러스팟 (VirusPot) 바이러스를유인해서바이러스를실시간으로수집하는가상의호스트를말함. 바이러스가유입되기쉽게하기위해서존재하지않는응용프로그램이설치된것처럼위장. 즉, CodeRed 및 CodeRed_II 등은 IIS 서버가설치된시스템에만감염되므로 VirusPot 은 80 Port 로대기상태로존재하다가외부접속이일어나면해당패킷을저장. 같은원리로 Ftp, SQL 등이존재하는것처럼위장. 이후에접속되는모든패킷들을저장. 단, 같은패킷의경우무시하게되며, 이상패킷이다량으로유입되는것이확인되면, 관리자에게메시지발송을하게됨
VirusPot 이란? VirusPot 의이론 80 port 감염된서버 1434 port Nc 를각바이러스가공격할만한 port 로 Open 한상태로 listen mode 로대기상태를유지한다. 감염된서버
주요 listen Port / 접속통계 VirusPot 의주요 listen Port 및접속통계 TCP Port Number : Service name : Connection attempts : 21 FTP 3371 22 SSH 880 23 Telnet 265 25 SMTP 266 53 DNS 43 80 HTTP 207749 111 RPC 644 515 lpd 133 1243 backdoor 13 1434 MS-SQL 13816 5000 UPnP 13 6666 backdoor 2 6969 backdoor 2 12345 backdoor 35 23456 backdoor 3 27374 SubSeven/backdoor 398 31337 backdoor 3 54320 backdoor 2
주요접속로그 VirusPot 의주요접속로그 % : VirusPot tag : 50.04 34.88 4.54 4.26 1.70 1.18 0.63 0.52 0.42 0.33 0.14 0.13 0.12 0.11 0.07 0.07 0.07 0.07 I-Worm.Win32.Nimda {A,E} Worm.SQL.Slammer Unknown malware CodeRed_II Worm ftp://user_ftp info://get_scripts_255_cmd_dir ssh://ssh_version_map ssh://ssh_15_anti.security.is rpc://rpcinfo_services_list info://get_root_http1_1 ssh://ssh_version_151227 info://get_scripts_c0af_dir_c info://get_scripts_fcfc_dir_c info://getx_scan info://get_www.s3.com info://crlf info://get_yahoo.com ftp://user_anonymous.a
VirusPot 내부구조 VirusPot 제작 (1) Visual C++ (SDK) 프로그래밍 (2) WSock32.dll 사용 (3) 멀티쓰레드방식동작 (4) 19개의주요 TCP Port를 Open (5) CRC로패킷을관리 (6) 이상패킷다량유입시 SMS/E-mail 로관리자에게경고메시지송신 (7) 여러서버구성시루트서버에게 Date 전송
VirusPot 의가상서버동작 (1) FTP 220 ftp.hauri.co.kr FTP server (Version wu-2.6.0(8)) ready. 220 linux.source.com FTP server (Version wu-2.6.1(18)) ready. 220 source.name.org WU-FTPD server v2.6, running on an i386, ready. (2) SSH SSH-1.5-1.2.27 SSH-1.99-OpenSSH_3.2.3pl 바이러스중에는접속한곳이이전에접속한적이있는지없었는지를간혹체크하는경우가있는데바이러스를속이기위해매번접속때마다다음과같이전혀다른서버인것처럼처리를해주게된다. 이렇게함으로써바이러스는아무의심없이패킷을전송해버리게된다.
VirusPot 동작 이상패킷유입시메시지 (E-mail)
VirusPot 동작 이상패킷유입시메시지 (SMS)
VirusPot 의배치 VirusPot (7) VirusPot (1) VirusPot (1) VirusPot (4) VirusPot (1)
VirusPot 활용사례 2003.1.25 14:02 VirusPot(HAURI #3) 으로 1434 Port 에이상패킷최초유입 14:27 이상패킷으로간주메일및 SMS 발송 ( 네트워크속도저하로파악이늦어짐 ) 일직근무중이던직원에의해비상상황발생통보 17:30 19:30 ~ 이후 주5일근무제로인해회사도착이늦게이루어짐 VirusPot DB에서이상패킷추출 외부업체를통해다른바이러스일가능성에대비해샘플수집 인터넷대란을일으킨주범은 1434 Port로유입된패킷임을확인 최초로 Slammer로명명 메모리전용백신개발 1434 Port 유입감지및차단백신개발 ( 잉카인터넷 ) 두제품을하나로하여안티-Slammer 제품인터넷에공개
QnA 감사합니다. 최원혁 hanul93@korea.com