웹페이지의 변조는 매우 오래된 해킹 형태입니다. 그 오랜 시간 동안 매우 다양한 대책이 제시되었고 최근에는 웹페이지 소스파일의 변조를 주기적으로 탐지하는 솔루션까지 등장하였습니다. 하지만 변조를 근본적으로 차단하는 보안 솔루션이 있음에도 아직까지 많은 기업이나 기관들이 실 적용을 하지 못하고 있는 경우가 많습니다.
그 보안 솔루션은 바로 SecureOS 제품인 RedCastle입니다. (사실 다른 SecureOS 제품들도 가능하지만 그 편의성이나 안정성 그리고 정책 구현의 다양함은 RedCastle이 월등합니다. 그리고 MAC 스푸핑등에 의한 실제 파일을 변조하지 않고 네트워크 수준에서 변조하는 기법은 네트워크 보안 솔루션을 통해 방어해야 합니다.)
서버 보안 정책 수립에 대한 교육이 있어 새롭게 Solaris 11 서버를 VMWARE로 구성하고 웹쉘을 통한 소스 변조 시연과 방어를 실습하도록 구성한 김에 블로그에 그에 대한 과정을 한번 포스팅해 봅니다. 이런 저런 방안들을 고민하는 보안 담당자들이 많은데 RedCastle을 활용해 가장 근본적인 수준에서 웹 서버의 소스파일에 대한 위변조를 통제하는 방안으로 RedCastle을 검토해 보는 것도 좋을 것 같습니다.
먼저 Solaris 11 가상머신입니다. 10월초에 다운받은 따끈따끈한 버전입니다.
Solaris 11에 설치한 tomcat (version 6)과 index.jsp 소스파일입니다. index.jsp에는 Hello tomcat..!! 메시지와 제 블로그 주소만 들어 있습니다.
업로드 된 것으로 가정한 웹쉘입니다. 매우 유명한 웹쉘인데 운영체제의 명령어 실행은 물론 탐색기 형태의 디렉토리 브라우징과 파일의 다운로드/업로드 그리고 text 형태의 문서에 대한 편집까지 가능합니다. 일단 웹서버에 업로드되면 그 웹서버에게는 사망선고가 내려집니다.
웹쉘(webshell)의 위험성과 서버보안S/W(RedCastle SecurOS)를 이용한 차단 방법
웹쉘(webshell)의 위험성과 서버보안S/W(RedCastle SecurOS)를 이용한 차단 방법 보러가기
위의 화면에서 적색으로 표시된 index.jsp 파일에 대해 edit 링크를 클릭해 아래와 같이 편집 모드로 넘어갑니다.
위는 원본파일의 내용입니다. 아래와 같이 <script> 태그를 이용해 내용을 추가합니다. 이 웹서버에 접속한 사용자의 브라우저 화면에 메시지 창을 띄우는 javascript 입니다.
save 버튼을 눌러 저장한 뒤 브라우저에서 웹서버에 접속해 봅니다.
메시지 창이 뜹니다.
index.jsp 파일이 변조된 것이지요. 일단 서버에 웹쉘이 업로드 되면 해커는 서버를 90% 쯩 장악한것과 같습니다. 그리고 이러한 웹서버 소스파일의 변조는 웹쉘만 가능한 것이 아닙니다. 소스자체의 취약점과 웹서버의 버그에 의한 취약점 혹은 APT 공격을 통해 서버에 침투한 경우 모두 가능합니다. 이러한 경우에 모두 대응해 웹서버의 소스파일을 보호할 수 있는 보안 솔루션은 RedCastle 밖에는 없다고 보는 것이 옳습니다.
아래와 같이 웹서버의 소스파일(객체명 : WWW_SOURCE)과 운영체제의 명령어 시스템파일(객체명 : Sun_System)에 대한 정책을 세웁니다.
WWW_SOURCE 객체가 바로 웹서버 소스파일에 대한 보호 정책입니다. *.jsp 파일과 *.js 파일에 대해 모든사용자(Any)에게 r (읽기)만 허용하는 정책입니다. 소스의 수정에 대한 정책은 이 정책을 수정하여 수정권한을 따로 부여하여야 합니다. 컨설턴트들과 협의하여 수정권한을 부여하는 정책수립 과정이 필요하죠.
위의 정책이 적용되면 아래와 같이 동일한 방법으로 소스파일의 변조를 시도하면 에러가 발생하면서 차단이 됩니다.
당연히 상세한 위반로그가 남게 됩니다. 위의 에러 페이지에서는 Permission Denied가 발생하게 되는데 해커는 왜 permission Denied가 발생하는지 알 수 없습니다. RedCastle의 감사로그를 봐야만 tomcat이 실행중인 java 대몬이 index.jsp 파일에 대해 수정을 시도해 차단된다는 것을 알 수 있습니다.
물론 root 권한으로 로그인하여 vi 편집기를 통해 index.jsp 를 수정하는 것도 차단됩니다. 웹 취약성 뿐만 아니라 서버에 관리자 권한으로 침투한 해커의 소스 변조 시도도 완벽하게 차단하고 실시간으로 알림을 받을 수 있습니다.
이러한 웹 소스변조 차단을 구현하기 위한 RedCastle을 이용한 보안 정책 수립 과정은 RedCastle Advanced Course 과정의 교육을 받으면 실습해 볼 수 있습니다.
네트워크 수준의 서버 해킹차단을 위한 공격패턴 위주의 방어기법과는 차원이 다른 수준의 안전함을 느낄 수 있을 겁니다.