보안 제품정보


웹 서버 해킹을 통한 악성코드 대량 배포 유행 2009.09.07

웹사이트 변조 및 악성코드 배포 현황 조기 파악해 신속한 대처 필요

하루가 다르게 변하고 새로운 기술들이 생겨나는 오늘날 악성코드 또한 그에 발 맞춰 함께 발전 해왔다. 분석에 있어서 혼란을 가져오는 안티 디버깅 기능에 대한 발전과 함께 기존에 없었던 새로운 기능을 추가 하는 등 많은 변화가 있었지만 그 중 가장 큰 발전이라 함은 악성코드의 유입경로에 대한 다양화라고 볼 수 있을 것이다. 특히 근래에 가장 문제가 되는 방법은 웹 해킹에 따른 악성코드의 유입이라고 할 수 있다.


◆ 연재순서

1. 사람의 심리를 이용하여 설치하게 하는 악성코드

2. 국내 메신저의 쪽지를 통해 전파되는 악성코드의 실체

3. 웹서버 해킹을 통한 악성코드의 대량 배포 유행


초창기 바이러스가 처음 발견된 당시 수동적으로만 전파되던 바이러스와는 달리 근래의 전파 방법이라 함은 과거로선 상상조차 할 수 없을 정도로 다양해졌다. 메신저, 이동식저장장치, e-mail 등 많은 여러 가지 방법으로 전파가 되었지만 근래에 가장 문제가 되는 방법은 웹 해킹에 따른 악성코드의 유입이라고 할 수 있다.

기존의 해킹은 단순히 자신의 실력을 과시하거나 어떠한 의사 전달 등의 목적을 지니고 있었다면 최근 발생하는 웹 해킹은 금전적인 이익을 노리고 발생한다는 점에서 해킹에 목적이 많이 변모했음을 보여 준다. IT사회를 살아가는 오늘날 개인 사용자들에게 인터넷이 보급되면서 이러한 웹 해킹은 전반적으로 큰 우려를 낳고 있으며 단순히 웹사이트에 접속하는 것만으로도 위험한 악성코드에 감염될 수 있어 피해가 큰 상황이다.


전파 방법

웹 해킹에 대한 기법은 여러 가지로 볼 수 있으나 그 중 두각을 나타내고 있는 것으로는 중국 근원의 자동화 툴에 의한 공격을 꼽을 수 있다. 이러한 자동화 툴로 인한 공격법은 자동화 툴을 이용하여 홈페이지 내의 취약점이 있는 페이지를 탐색한 후 DB를 열람하여 사용자 정보를 탈취 한다. 탈취한 계정을 이용하여 웹사이트 로그인을 가능하게 한 후 악의적인 파일을 업로드 한 후 webshell을 이용하여 서버를 장악한 후 Iframe 삽입, 메인 페이지 소수 수정 등 홈페이지 변조가 가능하게 된다. 개인적으로 사용하는 백신이나 보안에 취약한 사용자는 이러한 변조된 웹사이트에 접속 할 당시 악성 코드에 감염 되는 것이다. 그림 1은 자동화 툴에 의해 게시물의 인자 값에 SQL 구문을 입력한 것으로 보여지는 공격에 의해 나타나는 공격 로그를 작성한 예이다. 이때 자동화 툴에 관한 그림 1과 같은 공격 로그는 단 시간에 굉장히 많이 발견되기도 한다. 공격자는 관리자 로그인 페이지에 접속을 시도 하여 웹 관리자 페이지를 유추한 후 접근을 시도 하고 관리자 로그인을 우회하여 직접 관리자 권한의 편집 페이지를 찾는다.

이러한 중국근원의 웹 해킹 사례는 그림 3과 같은 iframe 기법으로 다른 파일이 삽입되어 있는 상황을 발견 할 수 있다.

공격자가 고의로 보안 취약점이 있는 웹사이트에 악성 스크립트를 넣어두고 이 웹사이트에 접속하는 PC에서 설정된 주소에 접속하여 악성코드를 다운로드 하거나 혹은 직접적으로 파일이 다운로드되어 또 다른 악성코드를 Drop하는 방법이다. 또한 height를 0으로 설정하여 감염여부를 숨기려 하고 있다. 여러 종류의 취약점을 사용하여 삽입되는 이러한 웹 해킹은 국산 게임에 대한 정보를 유출하는 것을 목표로 하는 Downloader 혹은 Dropper가 대부분이다. 대량의 악성코드를 내포하고 있음은 물론, 혹은 ARP Spoo fing과 같은 종류의 악성코드도 유입 될 수 있다.

ARP Spoofing의 경우 동일 IP 대역폭에 있는 모든 PC를 감염 시키는 숙주 역할을 하므로 이러한 악성코드에 감염이 되었을 경우 개인 PC 사용자 보다는 기업 입장에서 큰 위협이 아니 될 수 없다.

이러한 최근 웹 해킹은 제로데이 취약점을 이용하여 공격 하는 것이 일반화 되었다. 임의의 취약점이 발견되고 그 취약점에 대한 패치 출시 사이에 이러한 공격이 발견 된다.

결국 사용자는 웹사이트에 방문했다는 죄(?)로 악성코드에 노출되는 것이며 과거 보안패치만 제대로 이루어진다면 웹 서핑 시 다운로드 되는 악성코드는 막을 수 있었지만 현재는 그것만으로는 결코 안전 할 수 없다.

그림 5에서 나온 파일의 내용은 다르다. 단독으로 실행될 수 있는 US-ASCII로 이루어진 파일이 있는가 하면 2개의 파일로 내용이 이루어져 다운로드 되는 경우가 있다. 이는 단독으로 다운로드에 대한 내용을 실행을 하게 되면 백신에서 탐지를 할 수 있기 때문에 내용을 갈라놓은 경우이다. 내용을 갈라 2개, 혹은 여러 개의 파일로 나뉘게 되면 백신에서 탐지를 할 수 없기 때문에 이런 식의 구성은 점점 늘어나고 있는 추세이다. 이러한 보안 업체를 의식해 회피 기술을 사용하는 것을 ‘스텔스화’라고 한다.


악성코드의 실행

그림 5에서 발견 되는 스크립트를 통해 유입되는 악성코드는 역시 중국 근원의 spyware Downloader로 보인다. ‘.htm’ 파일로 다른 악성코드를 유입한 후 다단계적으로 또 다른 .htm 파일을 유입한 후 .css 파일과 .swf 파일로 같은 악성코드를 다운로드하게 된다.

그림 6은 유입되는 파일 중 .css 파일을 통해 다운로드되는 파일에 대한 내용이다. .htm 파일을 통해 얻어진 .css 파일을 UCS2 To Hex로 변환한 후 XOR 값을 찾아 변환 하면 그림 6과 같은 주소를 확인 할 수 있다.

플래시 취약점을 통해 다운로드 되는 Swf 파일들은 같은 파일명에 number를 붙여 각기 다른 여러 종류의 파일을 다운로드하게 된다. 이유는 swf 취약점에 대한 버전이 다르기 때문에 어떠한 버전에서도 다운로드가 되어 사용자 PC에 맞는 취약점을 찾아 실행되도록 해놓은 것이다.

.htm, .css, .swf의 각기 다른 파일들로 다운로드 되는 악성코드는 동일한 악성코드임에도 불구하고 이런 여러 가지 방법들을 동원하여 악성코드 유입을 하는 부분에서 확인할 수 있는 것처럼 공격자에 의해 웹 해킹을 당하여 유입되는 악성코드의 경로는 점점 치밀하고 정교해지고 있음을 확인 할 수 있다.

다운로드되는 악성코드는 자신이 설치된 PC에서 자신 외에 다른 파일을 생성하게 되는데 이는 악성코드의 또 다른 유입과 pc의 기본적인 기능 혹은 다른 프로그램에 대한 방해로 이루어 질 수 가 있다.

악성코드가 실행되면서 생성될 killdll.dll 파일을 정상적인 rundll32.exe와 같이 작동이 되도록 작업을 수행 한다. 이 생성되는 killdll.dll 파일은 자신의 실행을 방해할 요소가 되는 프로세스에 대한 정보를 찾아 그 프로그램에 대한 정상적인 실행을 억제한다.

생성되는 killdll.dll 파일은 각 백신의 프로세스에 관한 실행을 자신이 실행되는 것으로 바꾸며 이미 실행되고 있는 프로세스들에 대해서 작업을 종료시켜 정상적인 백신의 활동을 억제한다. 이러한 기능을 killav 기능이라 하며 killav 기능은 근래 탐지되는 악성코드의 동향에서 빼놓을 수 없는 필수(?)요소가 되어 가고 있다. 특히 근래에 자주 발견되는 keylogger, spyware로 분류되는 악성코드는 대부분 이러한 killav 기능을 내포 하고 있다.

보안관련 제품들의 방해 외에도 자신을 보호하는 SSDT Hooking 관련 파일과 Droopper에 대한 파일을 생성하게 되며 모든 작업이 끝나면 자기 자신은 삭제를 하는 작업을 수행한다.

Hooking 관련 파일을 생성하여 자신과 다른 Downloader의 보호 및 변화에 대한 감시를 하게 되며 Killav 기능과 SSDT Hooking을 통한 모든 작업이 마무리되면 최종적으로 다운로드 할 국산 온라인게임의 계정 관련 정보를 노리는 파일을 다운로드하게 되며 자기 자신을 삭제 한다.

설정된 주소는 Downloader가 접근 하는 주소로 각자 다른 내용을 포함하고 있다. Spyware에 대한 다운로드를 하기 전 설치된 pc의 Mac Address주소와 OS의 Version을 정보를 보내어 감염된 사용자에 대한 정보를 파악 한 후 어떤 사이트를 통해 언제 감염 되었는가에 대한 내용을 알 수 있다.

사용자의 감염된 PC의 정보를 훔친 후 본격적으로 다운로드 할 악성코드에 대한 주소에 접근하여 다운로드를 시도 하게 된다.

URL 다운로드 ToCacheFailA 함수를 사용하여 임시 파일이 생기며 그 안에 설정된 주소의 파일을 받아 본격적인 악성코드의 다운로드를 실행한다. 주로 .txt 파일로 이루어진 주소에 접근을 해보면 그림 14와 같은 수많은 악성코드들에 대한 다운로드 주소를 눈으로 확인 할 수 있다.

눈으로 확인 할 수 있듯이 대량의 악성코드에 다운로드를 시도하게 되며 이러한 악성코드는 spyware 외에도 다른 악성코드도 첨부된다. 그림 14에서 확인 할 수 있듯이 영문자 숫자 조합으로 된 .exe 파일들은 모두 국내의 온라인 게임 관련 계정 정보를 탈취 해 가는 것으로 각기 다른 게임의 프로세스를 감지하고 정보를 훔쳐가는 것으로 확인 할 수 있다. 다운로드 되는 파일들은 설치 시 특정 게임에 대한 프로세스 정보를 찾는다.

현재 실행중인 모듈의 이름을 구해서 explorer.exe(탐색기)인지 특정 게임의 프로세스인지 비교하여 탐색기일 때는 모든 프로세스에 자신을 Injection하고 게임의 프로세스이면 계정 탈취를 시도한다. 게임에서 사용되는 특정 파일에서 사용자 환경이 담긴 내용을 수집한다. 수집된 정보는 http://a**h.o****e.cn으로 전송 된다.


웹 해킹에 대한 대처

웹 해킹으로 인해 유입되는 악성코드에 피해 사례는 점차 늘어만 가고 있다. 이러한 국산 온라인게임에 관한 계정 정보를 노리는 spyware는 결코 한 가지 게임만을 노리는 것이 아닌 국내의 모든 게임에 관한 계정 정보가 타깃이 된다고 볼 수 있다. 특히 현재 국내 온라인 게임시장은 단순히 게임이 아닌 현금 거래가 활발하게 이루어 있으며 이러한 점을 악용하여 금전적 이윤을 챙기고자 중국발 악성코드의 피해율은 날로 증가하고 있는 실정이다.

이러한 웹 해킹은 기업 활동에도 직접적 간접적 피해를 끼치고 있다. 우선 웹 해킹에 대한 공격이 일어나면 기업에 대한 이미지 실추 및 고객의 접속자 수 감소로 인한 직접적 피해가 발생되며 서비스에 대한 불신으로 인한 매출이 하락된다. 웹 해킹에 대한 주요 원인은 홈페이지가 보안에 취약하게 개발되었기 때문으로 개발 보안은 안전한 웹사이트를 만드는 것이 기본 대책 일 수 있겠지만 소요비용이 상당하다.

이에 따른 대책으로 웹 방화벽은 비용 효과적으로 홈페이지 해킹을 막을 수는 있다. 하지만 일반적인 홈페이지 해킹 기법을 막아 줄 수는 있지만 모든 해킹을 막아 줄 수는 없으므로 실시간 탐지 및 복구에 대한 적절하고 신속한 대응이 필요하다. 웹사이트 변조 및 악성코드 배포 현황을 조기에 파악하여 신속한 차단 및 복구를 시도하여 기업 및 기관의 피해를 최소화하고 홈페이지에 대한 다양한 종류의 침해사고 유형을 고려하여 인공지능 기법을 활용한 다양한 모니터링 서비스에 적극 참여하는 것이 좋다.


사용자의 인식이 중요

인터넷이라는 환경은 알 수 없는 수많은 위협에 노출되어 있는 상태다. 사용자들은 항상 보안제품에 대한 인식을 늘리고 인터넷 익스플로러 설정을 변경하는 등 인터넷 이용시 각별한 주의를 기울여야 한다. 신뢰할 수 없는 웹사이트. 위험 사이트 차단, 액티브 스크립트 관련의 적용 해제 등 여러 대책이 있다. 또한 발표된 보안 패치 관련 정보도 숙지하여 철저히 대비하는 것이 좋다.

자칫하면 제 2의 인터넷 대란이 될 수 있는 웹 해킹 사례는 여전히 현재 진행형이며 국가적인 차원에서 보안조치에 만전을 다해야 할 것으로 보인다.

<글 : 이스트소프트 DB분석팀 배상민 대리(bsm6864@estsoft.com)>


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

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>