웹사이트 침해 사고 현황 현재 웹사이트 침해사고의 경향은 웹사이트 전체 구조나 겉모습의 위변조가 중심이었던 과거와는 다른 양상을 보이고 있다. 인터넷 익스플로러와 같은 웹 브라우저 프로그램의 취약점을 이용하여 악의적인 목적을 가진 파일이 다운로드된 후 실행되도록 특정 스크립트 등을 기존 웹 문서 파일에 삽입하는 형태가 대부분이다[그림 1]. 이때 웹사이트의 겉모습은 위변조가 되지 않으므로 그 사이트에 접속한 사용자는 자신도 모르게 그 파일을 다운로드 받게 된다. [그림 2]는 2007년 2월 3일부터 2007년 2월 9일까지 일주일간 트래픽 양이 많은 국내 30,000여 개의 웹사이트 중 침해사고가 일어난 사이트의 수와 다운로드되는 악성코드가 존재하는 서버의 수를 나타낸 것이다. (이 그래프는 침해사고가 일어난 사이트 중 악의적인 목적을 가진 파일이 실제로 다운로드 되는 곳만을 나타낸 것으로 실제 침해된 웹사이트의 수는 이보다 많다)
[그림 1] 특정 파일의 파일의 경로가 삽입되어 있는 모습
[그림 2] 지난 일주일간 침해 웹사이트 숫자 그래프침해 웹 사이트들의 사고 유형을 살펴보면 다음과 같은 몇 가지 공통점을 발견할 수 있다. 1. 다운로드 되는 파일의 서버가 같은 경우가 많다. [그림 2]에서 볼 수 있듯이 침해사고가 일어난 웹사이트의 수에 비해 다운로드 되는 파일의 서버의 수가 적다. 이 것은 소수의 해커가 여러 곳의 웹사이트를 침해하고 있음을 알 수 있다. 2. 또 다른 국내 웹사이트가 중간 경유지로 이용되는 경우가 많다. [그림 3]은 침해사고가 일어난 특정 웹사이트에 접속 후 악의적인 목적을 가진 파일이 다운로드 되는 경로를 나타낸 것이다. 해커는 자신의 위치를 드러내지 않기 위하여 또 다른 웹사이트를 해킹하고 그 곳을 파일 서버로 사용한다. 따라서 실제 침해사고가 일어난 웹 사이트는 [그림2]의 수 보다 많을 것이라고 추정할 수 있다.
[그림 3] 또 다른 사이트가 중간 경유지로 이용된 경우 3. 한번 해킹된 웹사이트는 계속하여 해킹될 가능성이 많다 웹사이트의 관리자가 침해사고를 인지하여 웹 문서를 수정하더라도 웹사이트가 가지고 있는 구조적인 문제가 수정되지 않는 한 그 사이트는 계속하여 해커의 공격대상이 될 수밖에 없다. [표 1]은 특정 사이트가 침해사고가 일어난 날짜를 표시한 것이다. 침해된 웹 문서가 계속 수정이 되었지만 반복해서 침해사고가 일어나는 것을 알 수 있다.
| 2007년 1월 16일 |
| 2007년 1월 18일 |
| 2007년 1월 20일 |
| 2007년 1월 21일 |
| 2007년 1월 23일 |
| 2007년 1월 24일 |
| 2007년 1월 25일 |
| 2007년 1월 28일 |
[표 1] 특정 웹사이트의 침해사고 날짜 4. Internet Exploerer 취약점을 이용한다. 침해 유형을 살펴보면 2006년에 보고된 취약점을 이용하는 것이 대부분이며 2007년에 발표된 취약점을 이용하는 사이트도 발견되고 있다. 5. 다운로드 되는 파일은 사용자의 특정 정보를 유출하는 트로이목마가 대부분이다. 실제로 다운로드 되는 파일을 분석해보면 특정게임의 아이디와 패스워드 또는 기타 정보 등을 유출하는 것들이 대부분이다.
웹사이트 침해사고 예방 방법 2006년 발표된 Microsoft 제품 취약점을 살펴보면 Internet Explorer 및 Office와 관련된 취약점이 50% 이상을 차지하고 있다[그림 3]. 또한 현재 국내 웹사이트 침해사고 역시 사용자의 웹 브라우저의 취약점을 이용하는 것이 대부분이기 때문에 이러한 침해사고를 예방하고 피해를 최소화 하기 위해서는 웹 서버 관리자와 사용자 모두 보안에 신경을 써야 한다.
[그림 4] 2006년 Microsoft 제품 취약점 통계1. 관리자가 신경 써야 할 보안 수칙 웹사이트의 침해사고는 게시판과 같은 웹 어플리케이션의 취약점이나 IIS같은 웹 서버의 취약점을 이용하여 발생한다. 따라서 관리자는 웹 어플리케이션을 취약점을 진단하고 해당 제품의 보안 패치에 항상 신경을 써야 한다. 관리자가 기본적으로 확인해야 할 웹 어플리케이션 취약점 목록은 다음과 같다. A. 특정 파일의 업로드 가능 여부 확인 웹 서버에서 실행되어 해당 서버의 권한을 획득할 수 있는 파일이 업로드 가능한지 확인한다. B. 디렉터리의 쓰기 권한 확인 웹 어플리케이션을 설치할 때 모든 유저의 쓰기 권한이 설정되는 경우가 있다. 따라서 웹 어플리케이션을 설치한 후에는 해당 디렉터리의 쓰기권한을 점검해야 한다. C. 환경 설정관련 파일이 노출되는지의 여부 확인 데이터베이스 관련 파일이나 패스워드 관련파일이 일반 유저에게 노출되지 않는지 점검해야 한다. D. 사용자의 입력값 검증 “.<>*|'&;$!#()[]{}:"/^\n\” 같은 메타 캐릭터는 웹 어플리케이션이 이상동작을 하는데 원인이 된다. 따라서 이러한 메타 캐릭터를 사용할 수 없도록 하거나 사용자의 입력에서 제거하여 웹 어플리케이션이 부적절한 동작을 하는 것을 방지한다. - PHP나 ASP관련 취약점 모니터링 및 패치 PHP나 ASP의 옛 버전의 경우 웹 서버의 권한을 획득할 수 있는 취약점이 존재하므로 취약이 제거된 새로운 버전의 제품을 사용하거나 패치를 한다.
2. 사용자가 신경 써야 할 보안 수칙 A. 해당제품의 지속적인 패치 Internet Exploerer나 오피스 제품의 지속적인 패치를 한다. B. 보안소프트웨어의 설치 및 주기적인 업데이트 Anti-Virus 프로그램과 방화벽과 같은 프로그램을 설치한다. Anti-Virus 제품의 경우 새로운 악성 코드에 대한 패턴이 계속해서 업데이트 되므로 새로운 악성코드로 인한 피해를 막을 수 있도록 제품의 주기적인 업데이트를 한다.@