우리는 늘 해킹 위험을 안고 산다. 최근 일어난 많은 해킹사고를 분석해 보면 대부분 웹쉘이 문제인 때가 많다. 웹쉘은 해커가 원격으로 서버에 접속해 △시스템 명령어 수행 △시스템 파일 접근 △데이터 베이스 접속 같은 기능을 수행하게 하는 프로그래밍 언어(asp, php, jsp 등)로 작성된 스크립트 파일이다.
웹쉘이 웹서버에 침투하면 여러 문제가 생긴다. 해커가 웹 서버를 통제할 수 있기 때문에 홈페이지 위·변조나 개인정보 등 중요 데이터베이스(DB) 유출, 위·변조 악성코드 유포, 분산서비스거부(DDoS) 공격 유발 같은 피해가 생길 수 있다. 이런 공격을 시도하기 위해 해커는 업로드 취약점 같은 다양한 서버 취약점을 공격, 웹쉘을 업로드하고 있는 것으로 파악된다.
웹쉘 보안 솔루션은 웹쉘이 웹 서버에 침투하는 시점에 실시간으로 탐지, 웹 서버 관리자에게 통보하고 차단하는 역할을 한다. 웹쉘 보안 솔루션은 웹 방화벽과 다르다. 그런데 웹쉘 보안 솔루션이 기존 웹 방화벽과 유사한 기능을 가지고 있다 보니 많은 사람이 두 솔루션을 헷갈려 한다.
웹쉘 보안 솔루션이 웹 방화벽과 다른 점은 다음과 같다. 먼저 웹 방화벽은 웹 서버에 접속하는 클라이언트 세션을 모니터링, 웹쉘 등 위험코드를 감시하는 기능을 수행한다. 하지만 모든 클라이언트 세션을 모니터링하면 시스템 부하가 증가해 서버운영비용(TCO)이 높아지므로 웹쉘 등 위험코드를 모니터링하는 것은 사실상 제한적이다. 또 웹쉘이 웹으로 침투하지 않고 다른 경로로 침투하는 때에 전혀 탐지할 수 없는 단점도 있다.
웹쉘 보안 솔루션은 파일 생성 및 변경 시 해당 파일의 웹쉘 탐지 기능을 수행한다. 해커가 다양한 방법으로 웹쉘을 웹 서버에 침투시켜 실행하기 위해서는 웹서버 파일시스템에 해당 웹쉘 파일을 생성하거나 변경해야만 한다.
웹쉘 보안 솔루션은 웹쉘 파일이 생성·변경되는 시점에 파일 이벤트를 실시간으로 감지, 해당 파일을 탐지함으로써 시스템 부하를 최소화한다. 또 이렇게 함으로써 웹이 아닌 FTP나 터미널 콘솔 창을 이용한 직접 침투 등 다양한 경로로 침투하는 웹쉘을 탐지할 수 있는 장점도 지녔다.
웹쉘 보안 솔루션 적용은 최근 몇 년간 웹 서버 구간(DMZ)이나 인터넷 구간에 위치한 웹 서버 위주로 이뤄졌다. 그런데 최근 해킹 사고를 분석해 보면 내부 직원 및 관계자에 의한 해킹이 빈번히 발생하고 있다. 내부에 의한 해킹을 방어하기 위해서는 내부 서버에도 웹쉘 보안 솔루션을 설치해야 한다. 웹쉘 보안 솔루션 설치를 권장하는 내부 서버는 웹 서버와 연동하는 웹애플리케이션서버(WAS) 서버, 웹 기반 그룹웨어 등이다. 특히 파일을 업로드하는 파일 서버도 최근 웹쉘이 많이 침투하는 경로로 이용되고 있기 때문에 파일 업로드 서버도 웹쉘 보안 솔루션 설치 대상으로 삼아야 한다.
웹쉘 보안 솔루션은 시스템에 파일이 생성·변경되는 이벤트를 실시간으로 모니터링하는 기능을 수행한다. 이 때문에 웹쉘 보안뿐만 아니라 다른 여러 가지 기능도 할 수 있다. 그 중 하나가 실시간 파일 이벤트에 근거한 해커행위 기반 탐지 기능이다. 해커는 보통 웹 서버에 침투하기 위해 바로 웹쉘을 업로드하지 않는다. 대신 웹쉘로 탐지되지 않는 테스트 코드를 먼저 올려 해당 서버 보안 상태를 체크하고 홈 디렉터리 위치를 검색한다. 이러한 해커 행위로 생성되는 시스템 파일 이벤트를 실시간으로 분석, 시스템 위협원을 탐지할 수 있다. 시스템에서 발생하는 실시간 파일 이벤트에 기반을 둔 지능형 위험탐지 기능이 웹쉘보안 솔루션이 앞으로 발전해 가야 할 방향이다.
오영철 에스큐브아이 대표 oyc@s3i.co.kr