2019-08-18 23:48 (일)
아무도 설명하지 않는 웹보안의 현실
상태바
아무도 설명하지 않는 웹보안의 현실
  • 문일준
  • 승인 2011.06.13 16:40
이 기사를 공유합니다

자바 및 아크로뱃 취약점 집요하게 이용
보안 공백기인 주말 이용 지속적 악성코드 유포 시도
최근 마이크로소프트는 2010년 하반기(7월부터 12월까지)에 발생한 위협을 분석한 보안 정보 보고서(SIR, Security Intelligence Report) 제 10호(이하 SIR-V10)를 발표했다. 이 보고서에서 언급하고 있는 다양한 정보를 토대로 작금의 대한민국의 웹보안의 현주소를 살펴 보고 이를 해결할 수 있는 방안에 대해서도 차례대로 언급해보고자 한다.
 
SIR-V10에서 가장 중요하게 여겨 봐야 할 부분이 바로 악성 코드 감염률(컴퓨터가 악성코드에 감염되는 비율)이 전세계에서 대한민국이 가장 높다는 점이다. 마이크로소프트는 CCM(Computers Cleaned per Mille)이라는 방법론을 사용하여 감염률을 산정한다. CCM은 Microsoft Windows MSRT(악성 소프트웨어 제거 도구)를 1,000번 실행할 때마다 분기별 컴퓨터 치료 보고 횟수를 의미한다. 더 쉽게 설명해 본다면, PC 1000 대를 검사했을 때 악성코드에 감염된 PC의 댓수를 나타내는 것으로 전세계 117개국의 평균 감염율은 10.8 CCM이다. 대한민국은 인터넷 강국답게 40.3 CCM으로 1위이고, 평균보다 약 4배 정도 높게 나타났다.
 

이제 사용자의 동의 없이 즉 사용자가 알지 못하는 사이에 소프트웨어 및 운영체제의 취약점을 이용하여 컴퓨터를 감염시키는 악성코드의 유형을 보면, JAVA와 HTML/JScript가 각각 1, 2위를 차지하고 있음을 알 수 있다. 운영체제나 문서파일의 취약점을 이용하는 유형은 상대적으로 적은 편이다.

 

공격자들이 이용하는 기법 즉 익스플로잇(Exploit)을 살펴 보면, 최근에는 공격자들이 CVE-2010-0840, CVE-2010-0887, CVE-2010-4476 등과 같은 JAVA 취약점을 악용하고 있으며, 특히 2010년도 하반기에는 CVE-2008-5353과 CVE-2009-3847이 주된 공격 통로였다. 참고로, 2011년 상반기에는 Adobe Acrobat/Flash에 관련된 다수의 취약점으로 인해 감염되는 경우가 증가하고 있어 발간 예정인 SIR-V11에서는 오렌지 선의 모양이 상승 직선으로 바뀔 것으로 예상된다.
 
공격자들이 정상적인 웹사이트에 악성코드를 삽입하거나 악성코드를 전파하는 유포지를 삽입하는 방식의 공격을 살펴 보면 다음과 같다. 가장 많은 비율은 악성코드를 전파하는 유포지를 IFRAME 코드 형태로 웹페이지에 삽입하는 것이고, 그 다음은 IE(인터넷 익스플로러)의 취약점을 노린 CVE-2010-0806으로 Windows 7 및 Windows 2008 R2 서버 이전의 거의 모든 윈도우 운영체제에서 운영하는 IE v6과 v7에서 발생할 수 있는 치명적인 취약점이다.
 

지금까지 SIR-V10에서 선별한 자료를 토대로 간단히 요약을 해보면, 마이크로소프트가 제공하는 MSRT 프로그램으로 2010년도 하반기에 검사한 내역을 분석한 결과, 악성코드의 감염율은 국가별 기준으로 전세계에서 대한민국이 가장 높다. 악성코드의 유형 중에서는 JAVA와 HTML/JScript로 감염되는 비율이 높으며, HTML이나 JS의 소스 파일에 IFRAME 태그를 삽입하는 공격이 주를 이루고 있다고 정리할 수 있다.
 
이 보고서의 내용이 정말 사실인지 아니면 과장되어 있어서 참조 용도로만 언급해야 하는지 판단할 수 있도록 실제 자료를 공개한다. 본 자료는 6월 3일(금) 저녁 6시 이후부터 6월 6일(월)까지 국내 P2P(파일 공유) 사이트에서 감염되어 유포되는 상황을 모니터링한 내역으로 자세한 사항은 다음과 같다.
 
국내에는 약 180여만개의 웹사이트가 등록되어 있는 것으로 추정되고 있으며, 이 중에서 가장 널리 방문하고 애용하는 P2P(파일 공유, 토런트) 사이트 50 여개를 중점적으로 조사하였다. P2P 사이트를 선정하기 위해서는 랭키닷컴(http://www.rankey.com/, 웹사이트 접속자 분석 서비스를 제공하는 웹사이트)에서 해당 카테고리 내에 포함되어 있는 웹사이트를 추출하여 표본으로 이용하였다.
 
악성코드를 유포하는 웹사이트 이름의 첫글자는 악의적인 도용이나 실수로 방문하여 감염되는 문제를 감안하여 대문자 'X'로 변경하였다. 또한 URL 주소도 IP 주소의 일부분 및 도메인 이름의 일부분을 'xxx'로 변경하였다.
 
* 악성코드유포지 URL은 해당 기간 내에 웹사이트에 삽입된 IFRAME 또는 JScript(ex. Document.Write 등) 스크립트가 포함된 URL 정보를 의미한다.
* P2P 순위는 랭키닷컴의 P2P 카테고리에 선정된 순위를 나타낸다.
* 주간 방문자는 랭키닷컴(웹사이트 접속자 분석 시스템)에서 참조한 방문자 숫자이다.
* 일일방문자(추정치)는 주간 방문자를 7로 나눈 값으로 대략 하루에 몇 명 정도 방문하는지 추정할 수 있도록 함께 표시하고 있다.
 

위의 표에서 “악성코드 유포지 URL" 부분을 보면, ①, ② 등의 순서로 나열되어 있는 것을 볼 수 있는데 그 이유는 그 사이트에 삽입되는 URL이 변경되고 있다는 것을 나타낸다. 예를 들어, Xowns.co.kr 사이트에서는 금요일 저녁 때에는 174.128.xxx.38/top.html 이 삽입되었으며, 그 이후(아마도 토요일 새벽 또는 오전 중)에 ad.nsmartads.xxx/ad.html이 삽입되었다. 결과적으로 이 사이트에서는 모두 4번의 변조 과정이 진행되었으며, 아마도 웹사이트 담당자가 문제점을 인식하고 삽입된 코드를 제거한 후에 다시 다른 URL 삽입된 것으로 추정된다. 참고로, 월요일이 되면 웹사이트의 담당자가 거의 대부분 출근하여 이러한 사항을 파악하여 조치하게 되며, 그 이후 주말만 되면 동일한 현상이 지속적으로 발생한다는 것을 과거의 모니터링을 통해 확인할 수 있었다.
 
또 하나 주목할 만한 점은 바로 동시에 다양한 웹사이트에 하나의 URL이 삽입되는 마치 Mass SQL Injection(대규모 SQL 인젝션) 공격의 형태를 띠고 있다는 점이다. 필자가 모니터링해본 결과, (주말에) 최초 유포되기 시작한 174.128.xxx.38/top.html의 경우 약 3시간 정도 사이에 모두 9개 웹사이트가 감염된 것을 확인할 수 있었다.
 
하나의 웹사이트를 해킹하고 동일한 형태로 다른 웹사이트를 연속적으로 해킹하기에 3시간이라는 시간은 매우 촉박한 시간으로 볼 수 있다. 이를 통해 볼 때, 공격자는 해당 웹사이트들에 대한 어떤 권한이나 백도어 등을 가지고 있다고 추정해 볼 수 있다.
 
참고로, 위 도표에서는 방문 페이지가 아닌 방문자를 기준으로 계산하고 있는데, 이는 악성코드의 공격 유형을 반영한 것이다. 거의 대부분 제로데이(zero-day)의 성격을 띠고 있어, 사용자가 방문하는 순간 (보안 패치 및 제로데이 패치가 없는 경우) 아무런 인식없이 바로 감염되기 때문이며, 심지어 어떤 스크립트에서는 쿠키를 확인하여 중복 방문인 경우 감염하지 않도록 교묘하게 구성되어 있는 경우도 있다.
 
결론적으로 얘기해 보면, 주말의 24시간 내에 악성코드에 감염될 가능성이 있는 P2P 사이트에 방문하는 인원은 약 50만명이며, 금요일 밤부터 일요일 저녁까지 이틀이라고 가정한다면 약 100만명이라는 엄청난 숫자로 불어나게 된다.
 
100만명이 방문하였을 때 모두 다 감염되는 것은 아니며, 아래와 같이 주로 3가지 취약점으로 인해 감염되고 있다. 따라서, 현실적으로 취약점의 패치가 어느정도 되어 있는지 알기는 어렵지만 간단히 추정할 수 있는 배경 지식을 설명하고자 한다.
 
위에서 언급한 URL을 통해 감염되는 취약점은 다음과 같이 3가지 유형으로 나눌 수 있다.
* 윈도우 및 IE(인터넷 익스플로러) 취약점
* JAVA(자바) 취약점
* Adobe Acrobat/Reader/Flash 취약점
 
아시다시피, 윈도우에서는 “보안 업데이트”라는 내장된 보안 기능을 통해 매달 정기적인 패치를 할 수 있는 방법을 제공하고 있어 그만큼 상대적으로 안전하다고 말할 수 있다. 물론, 정품이라는 가정 하에 말이다.
 
하지만, 자바 및 아크로뱃(특히, 플래시)의 취약점을 알고, 패치하는 경우는 매우 드물다고 말할 수 있다. KISA와 같은 유관 기관 및 보안관련 사이트에서는 이러한 부분을 언급하고 있지만, 실제 컴퓨터를 사용하는 평범한 사용자는 이러한 취약점이 있는지도 모르는 것이 다수이고, 이에 따른 결과 보안 패치를 한다는 것도 거의 불가능하다고 볼 수 있다. 따라서, 윈도우 패치 성공률보다는 매우 낮을 것으로 판단되며, 구체적인 추정은 독자의 몫으로 맡기고자 한다.
 
지금까지 국내에서 웹사이트를 통해 감염되어 유포되는 악성코드에 대한 구체적인 사례를 들어 웹 이용 환경의 현실에 대해서 설명하였다. 아쉽게도 이러한 현상은 수년전부터 바로 저번 주말까지도 비슷한 유형으로 계속 진행 중이다.
 
다음 강좌에서는 PC 보안에서는 빼놓을 수 없는 백신(안티바이러스)가 이러한 웹사이트를 통한 위협에 대해서 어느정도 효과적으로 대응할 수 있는지 실제적인 사례를 들어 설명할 예정이니 많은 기대를 부탁드린다.
[빛스캔주식회사 문일준 대표 moonslab@gmail.com]