| [시큐리티 Q&A] 네트워크 보안의 한계 | 2014.05.09 |
Q. 방화벽, IPS, IDS 등 다양한 네트워크 보안장비를 갖추고도 웹서버 안에 미리 숨겨져 있던 웹셸로 인해 사고가 발생하는 경우가 많다. 이러한 문제를 사전에 예방할 수 있는 방법은 없는가?
그러나 이러한 웹셸은 JSP, ASP, PHP 등과 같은 Script로 작성되었으며, 다양한 변종들로 인해 기존의 Anti-Virus와 같은 보안솔루션으로 방어하는데 한계점이 드러나 있다. 따라서 웹셸을 방어하기 위해서는 이미 나와 있는 웹셸에 대한 다양한 패턴정보뿐 아니라 신종 웹셸에 대해서도 능동적으로 대응할 수 있는 휴리스틱 기법을 사용해야 한다. 또한, 웹셸을 포함한 서버 내 보안위협이 되는 파일등에 대한 실시간 모니터링이 중요하다. 최근의 웹서버는 NAS와 같은 대용량 스토리지(Storage)를 많이 사용하고 있으므로, 이에 대한 대비책도 염두에 두어야 한다. 수동진단을 통한 사후 대처는 이미 발생한 피해를 더 이상 확산시키지 않는데 포커스를 둘 수밖에 없으므로, 사전 예방을 위해 실시간 탐지 등을 통해 더욱 관심을 기울여야 한다. 이외에 시스템 및 DB, WEB/WAS, 네트워크장비 등의 보안설정을 철저히 점검 관리하고 취약점을 제거하는 것이 매우 중요하다. (이상용 에스에스알 연구소장/jion99@ssrinc.co.kr) A-2. 웹셸에 대한 사전 예방법은 크게 3가지로 구분해 볼 수 있다. 첫째, 홈페이지 파일 업로드 취약점 제거이다. 이는 파일 업로드가 불필요한 게시판의 경우는 업로드의 기능을 완전히 제거하고 필요한 경우에는 파일의 확장자를 체크하는 것이다. 확장자를 체크하는 루틴은 javascript 같이 html 파일 내에 포함되어서는 안되고 반드시 서버 사이드에서 실행되는 CGI 파일 등에 존재해야 한다. 또한 업로드를 제한하는 asp, cgi, php, jsp 등의 확장자를 막는 방법으로 구현하기 보다는 허용하는 확장자 즉, txt, hwp, doc, pdf,gif 등의 업로드 가능한 파일 확장자만 올릴 수 있도록 체크하는 것이 바람직하다고 볼 수 있다. 두 번째는 파일 업로드 폴더의 실행 제한으로, 이를 위해서는 웹서버의 파일 업로드 전용 폴더를 만들고 전용 폴더의 스크립트 파일 실행을 제한하여 해당 폴더 내에 있는 파일이 실행되지 않도록 해야한다. 세 번째는 SQL Injection 방지이다. 웹셸 공격은 파일 업로드 취약점뿐만 아니라 SQL Injection을 이용해서도 가능하므로 DB 쿼리와 관련된 특수 문자들을 필터링해 사용자의 입력 값에 포함되어 있을 경우 에러를 발생시켜 악의의 쿼리가 실행되지 않도록 방지해야 한다. SQL Injection 공격은 에러 메세지를 참고해 이루어지는 경우가 대부분이므로 에러 메세지의 출력만 막아도 어느 정도 방지할 수 있다. (전승준 한국산업기술보호협회 관제운영팀 연구원/sjun@kaits.or.kr) [김경애 기자(boan3@boannews.com)] <저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지> |
|
|
|