악성 코드 삽입 인지 및 악성코드 삭제
홈페이지에 악성코드가 삽입되는 유형은 대단히 다양하고 교묘하게 발전하고 있어 웹 관리자에 의한 발견이 쉽지 않다. 관리하고 있는 사이트에서 악성코드 삽입사실을 인지할 수 있는 것은 다음과 같은 경우가 있다.
- 홈페이지 관리자가 웹 소스 분석을 통해 분석
- 홈페이지 방문자가 바이러스 백신의 경고창에 의한 발견
- KISA 등 제3의 기관으로 부터의 악성코드 삽입사실 통보
홈페이지에 악성코드가 삽입될 경우 홈페이지 방문자들의 pc가 감염되고 바이러스 백신이 이를 탐지하여 경고창을 PC 사용자에게 보여줄 수 있다. 이러한 이유로 홈페이지 방문자의 전화문의 또는 게시판에 홈페이지의 이상현상과 관련된 글들이 게시될 수 있으므로 홈페이지 관리자는 이들의 목소리에 귀를 기울일 필요가 있다.
일반적으로 다음과 같은 방법으로 악성코드를 삽입하고 있으므로 웹 관리자는 아래 사항들에 대해 유심히 살펴볼 필요가 있다.
가. 웹 페이지에 iframe 또는 object 코드 삽입
초기화면 등 접속자 방문이 많은 웹 페이지에 악성코드를 삽입하며, 대부분의 경우 사이즈 크기를 OxO 로 하여 홈페이지 상에서는 유관으로 확인할 수 없는 iframe 또는 object 코드를 삽입한다.
나. 인코딩 코드 삽입
악성코드의 은닉사실 및 내용을 숨기기 위해 코드를 인코딩하여 삽입하기도 한다.
다. 오류 정보 표시 페이지에 삽입
웹 서버의 오류정보 페이지에 일반 웹 페이지에 삽입하는 방법과 마찬가지로 악성코드를 삽입한다.
라. 자바스크립트 코드 삽입
방문자수를 카운트하는 자바 스크립트 등 많은 페이지에서 참조하는 js 또는 css 파일 등에 악성코드를 삽입하기도 한다.
마. 바이너리 형태의 객체 삽입
플래시파일과 같은 외부 객체파일에 악성코드를 삽입하여, 변조한 객체를 사용하는 페이지 접속자들에게 악성 프로그램을 유포한다.
바. 데이터베이스내의 자료 값 변조
일반적인 파일 변조와는 달리, 데이터베이스에 저장되어 있는 자료 값에 악성프로그램 유포용 코드를 삽입하기도 한다.
위와 같이 다양한 방법에 의해 삽입된 악성코드를 발견할 경우 즉시 이를 제거하여 홈페이지 방문자들의 감염을 최소화하여야 한다.
그리고, 전통적인 분석절차에 따라 시스템 내의 휘발성 정보를 분석한다. 구동중인 프로세스 리스트, 네트워크 상태, 레지스트리 상태 등을 분석하여 악성 프로그램이 구동 중일 경우 해당 프로세스나 네트워크 세션을 차단하여 추가적인 피해 확산을 차단한다.
'시스템/웹/포렌식 보안 > 웹 해킹/보안' 카테고리의 다른 글
SQL Injection 취약점 점검 가이드 (0) | 2014.02.23 |
---|---|
취약점 위험평가 Framework (0) | 2013.10.08 |
Apache 보안 설정 (0) | 2013.09.13 |
웹 프록시 툴을 이용한 취약점 점검 (0) | 2013.09.09 |
Blind SQL Injection (0) | 2013.07.18 |