Home | Data Center | Contact US | Login

제목 웹서버 설정파일 변조를 통한 악성사이트로 강제 이동(redirect)
첨부파일 090608-IN2009001_htaccess_redirect.pdf 작성일 2009-06-30 11:33:52
웹서버 설정파일 변조를 통한 악성사이트로 강제 이동(redirect)

1. 개요
홈페이지 침해사고의 대다수를 차지하는 악성코드 삽입 사고는 지금도 빈번하게 발생하고 있다.
이러한 악성코드 삽입 사고는, 홈페이지에 접속하는 PC에 악성코드를 노출시켜 웜이나 바이러스에
감염 시키거나 개인정보 탈취 또는 좀비(봇) 역할 수행 등의 피해가 발생한다.
그리고 이러한 악성코드 삽입 사고는 많은 분석 자료와 문서들을 통해 널리 알려져 있다.
하지만, 본 사고노트에서 다루고자 하는 사고 사례는 단순히 웹페이지에 악성코드를 삽입하여
접속자의 PC를 감염시키고자 함이 아니었다.
본 사고에서 공격자는 웹서버에 침입 후, 웹서버 설정파일(.htaccess)을 생성ㆍ조작 하여,
특정 접속경로(referer)를 거쳐 접속한 사용자만 미리 준비한 페이지로 강제 이동(redirect) 시켰다.
결과적으로 특정 검색 포털을 통해 접속한 사용자는 대출광고 사이트로 접속되었으며
이 외에도 악성 코드 노출,피싱 사고 등의 피해가 발생할 수 있다.


2. 피해 현상
홈페이지 접속을 위해 직접 브라우저에 도메인을 입력한 경우나 다른 홈페이지의 링크를 통해 접속한
경우는 이상이 없었으나, "특정 포털"사의 검색페이지나 카페, 게시판을 통해 접속하는 경우에는
대출 광고 사이트로 접속이 강제 이동되었다.



이러한 현상 때문에, 피해 홈페이지 운영자는 많은 항의를 받았고 포털사로부터는 ‘불건전사이트로
분류되어 검색 결과에서 제외 한다’는 통보를 받기도 하였다.
분석 초기에는 웹페이지 내에 접속자의 접속 경로(referer)를 식별하여 페이지 이동시키는 스크립트가
삽입되었을 것으로 추정하였으나, 아파치 웹서버의 설정파일 중 하나인 .htaccess 파일을 조작한
것이었다.


3. 피해 서버 분석
특정 검색 포털을 통한 접속 장애 사고를 접수 받아 분석한 사이트는 세 곳이었으며, 모두 웹 호스팅
서비스를 이용 중인 홈페이지였다. 다행히 분석 결과 동일 서버의 타 사이트에 대한 영향은 없었으며,
세 사이트 모두 동일한 날짜에 .htaccess 파일이 생성되었다.

가. 분석 대상
o 대상 사이트: 총 3개 사이트(교회, 물류 사업체, 사회복지관)
o 웹서버 환경: Linux, Apache, PHP
o 특이사항: 대상 사이트 모두 제로보드 Patch Level 6(2005년 1월) 이전 버전 사용 중

나. 분석 결과
접속자의 HTTP 헤더 정보 중 접속 경로(referer)를 식별하는 기능은 아파치 설정파일 중 하나인
.htaccess 파일에 포함되어 있었다.



<참고: Apache .htaccess 파일>
Apache HTTP Server에서 사용하는 “분산 설정파일”로써 디렉토리 별로 설정을 달리하거나
특정 조건에 따른 접속 요청에 대한 처리를 위한 기능을 제공한다.
가장 흔히 쓰이는 용례는 디렉토리에 대한 접속자 인증이나 접속 요청에 대한 Rewrite 기능이며,
그 외에도 설치한 모듈이나 지시어에 따라 다양한 기능을 제공한다.
▪ Apache tutorial .htaccess http://httpd.apache.org/docs/2.0/ko/howto/htaccess.html
▪ Apache Module mod_rewrite http://httpd.apache.org/docs/2.0/ko/mod/mod_rewrite.html

아래의 그림은 사용자 홈 디렉토리에 생성되어 있던 .htaccess 파일 내용이다. 참고로 분석 대상
.htaccess 파일의 생성시간은 세 사이트 모두 2009년 4월 18일 23시경이었다.



이 파일 내용 중, 세 번째 행이 접속자의 referer를 검사하는 명령이며, 그 결과 이곳에 명시한
사이트를 거쳐 접속한 요청은 아래행의 명령을 통해 대출광고 사이트로 접속(redirect) 하게 된다.



그러므로 이 조건에 해당하는 접속요청들은 아래의 대출광고 페이지로 접속 되었다.



추가적으로 이 파일의 생성원인이나 침해사고 경로를 확인하기 위해 로그를 확보하고자 하였으나,
분석일로부터 1개월 이상 경과된 시점이었고 모두 웹호스팅서비스를 이용하고 있어 1개월 이상의
로그를 보관하지 않는 문제로 인해 추가적인 분석은 할 수 없었다.
그리고 이와 유사하게 해당 서버의 하위 디렉토리 일부에는 또 다른 .htaccess 파일이 발견되었는데,
이 파일에는 HTTP 403, HTTP 404 오류가 발생 할 때, 특정 사이트의 플래시파일에 접속하도록
되어 있었다.



이 파일에서 지시하고 있는 플래시파일을 다운로드 하여 액션 스크립트를 분석 해 보니,
아래의 그림과 같이 또 다른 대출 광고 페이지로 강제 이동(redirect) 시키는 기능을 하도록
기술되어 있었다.






4. 결론

홈페이지 악성코드 삽입 사고의 경우, 겉으로 드러나는 문제는 데이터 삭제나 홈페이지 변조 등의
사고보다 심각하게 보이지 않을 수 있다. 하지만, 악성코드 삽입사고 또한 공격자가 홈페이지를
해킹하여 서버 내부에 침입한 결과이고, 그 피해는 접속하는 사용자들이 입는 것이기 때문에
결코 그 심각성이 떨어진다고 볼 수 없다.
그러므로 홈페이지가 공격자에게 해킹되지 않도록 철저히 예방해야 하며, 악성코드 삽입 사고에
대해서도 침해사고 분석절차에 따라 정확한 원인을 찾아내고 그 원인을 제거하여 근본적인 재발방지
대책을 마련해야 한다.
침해사고 분석절차 가이드[1]는 KrCERT/CC 홈페이지에서 제공하고 있으며,
홈페이지 보안수준 강화를 위한 웹방화벽이나 휘슬, 캐슬 등의 보안도구도 함께 제공하고 있다.
그리고 이번 사고와 같이 디렉토리의 무결성을 모니터링 해야 하는 경우는
Tripwire[2]나 FCheck[3] 등의 도구를 활용하면 더욱 더 수월한 관리가 가능하다.


5. 웹 침해사고 처리
    "넥스트라인 웹 취약점 점검 서비스"  바로가기


[자료: 한국정보보호진흥원(KISA)]
  리눅스 방화벽 IPTABLES 활용 가이드
  SquirrelMail 웹메일 설치하기





회사소개 개인정보취급방침 이용약관 이메일주소 무단수집거부 CONTACT US IDC 약도
회사소개 개인정보취급방침 이용약관 이메일주소 무단수집거부 CONTACT US IDC 약도 회사소개 개인정보취급방침 이용약관 이메일주소 무단수집거부 CONTACT US IDC 약도