KISA, “웹 서비스 시 주의해야할 관리상의 오류들 많다”주의당부
보안사고는 어디서 발생할까. 전문가들은 “기술적으로나 관리적으로 어렵고 깊이가 있는 보안취약성에 대해서만 관심과 자원이 집중되는 경향이 있지만 보안사고는 가장 취약한 부분에서 발생하기 때문에 아무리 많은 비용과 노력을 들이더라도 사소한 실수로 인해 치명적인 사고가 발생한다”고 지적하고 있다.
한국정보보호진흥원(이하 KISA)은 4월 동향및분석 월보를 통해 ‘웹서비스 시 주의해야 할 관리상의 오류 분석 및 대책’이라는 분석 자료를 내놔 웹서비스 관리자들의 눈길을 끌고 있다. 내용을 살펴보면 다음과 같다.(아래 이미지: KISA 제공)
보안취약성 노출 사례 및 대책
관리자나 시스템 운영자가 장비 또는 각종 서버들의 설정 오류나 관리상의 오류로 인해 보안취약성이 노출되는 사례가 많다고 한다.
아파치 또는 IIS 등과 같은 웹 서비스용 데몬에서 HTTP 서비스에 대해 불피룡한 메소드들을 활성화 해 놓은 경우가 있다. 웹 사이트마다 사용하는 메소드만을 사용해 필요없는 메소드들로 인한 보안 취약성 노출에 주의해야 한다고 강조했다. 특히 HTTP 메소드들 중에서도 PUT, DELETE 등은 외부에서 매우 손쉽게 웹 사이트의 변조가 가능할 정도로 매우 위험한 기능을 제공함으로 충분한 검토가 필요하다고 덧붙였다.
이에 KISA는 “서비스에 필요한 메소드만 활성화해야 한다. 실제로 대부분의 경우 GET, POST, HEAD 정도만 사용하고 있다”고 지적했다.
또한 디렉토리 리스팅은 웹 서버에서 디렉토리의 정보를 나열해 개발이나 정보공유가 쉽게 가능하도록 제공하는 기능이다. 이러한 디렉토리 리스팅은 반드시 필요한 경우가 아니라면 서비스 개시전에 반드시 해제해 서비스해야 한다고 KISA는 강조했다.
또 개발상의 편의를 위해 웹 서비스용 디렉토리에 쓰기권한을 설정 해 두거나 웹DAV 등의 기능을 사용한 경우에는 반드시 서비스 개시 전에 해당 기능을 비 활성화해야 한다. 디렉토리에 쓰기권한이 설정되어 있거나 웹DAV 기능이 활성화돼 있다면 홈페이지 변조사고에 대해 매우 위험한 상태로 노출되어 있는 것이라고 경고했다.
한편 오류정보에 대한 지적도 나왔다. 일반적으로 기본적인 웹 서버 데몬의 설정은 오류가 발생했을 때, 자세하게 오류의 내용을 사용자에게 표시하게 된다. 그러나 이러한 오류정보만으로도 공격자에게 유용한 정보가 될 수 있기 때문에 오류정보 또한 지정된 에러페이지로 표시해 공격자에게 불필요한 정보를 노출하지 않아야 한다고 강조했다.
개발상의 보안 취약성 노출의 위험성
개발상의 보안 취약성 노출 사례도 많다고 한다. 개발자나 관리자가 웹 애플리케이션을 구현하면서 노출되는 보안 문제들은 어떤 것들이 있을까.
우선 일부 개발자나 관리자의 경우 웹 애플리케이션의 디렉토리나 특정 파일을 실제 웹 서비스 디렉토리 내에서 압축해 백업 또는 전송한 뒤 삭제 등의 관리조치가 이루어지지 않고 있다. 이에 웹 애플리케이션 소스코드나 환경설정 정보가 유출되는 사례가 많다는 지적이 나오고 있다.
KISA는 “실제로 공격자들은 ‘/inc/inc.zip’ 등과 같이 주요 디렉토리의 압축파일 존재여부를 확인해본다”며 “실제 웹 서비스 디렉토리에서는 반드시 필요한 파일만 존재하도록 관리해야 하며 특히 압축이나 관리상의 파일관리는 웹 서비스용 디렉토리가 아닌 곳에서 이루어져야 한다”고 강조했다.
또한 자바와 같은 일부 웹 개발 언어에서는 변수의 자료형에 대해 매우 상세하고 정확하게 정의해 사용하도록 하고 있다. 이에 따라 적절한 자료형이 아닌 경우에 대해서는 오류가 발생하게 된다.
KISA는 “공격자는 이러한 자료형의 오류를 고의로 유발해 오류 메시지를 통해 서버의 내부정보를 획득할 수 있기 때문에 주의해야 한다”며 “변수의 자료형을 정확히 정의하고 입력단계에서 처리할 수 있는 자료형인지에 대한 검증절차가 필요하다”고 강조했다.
또 입력받은 자료에 대해 처리할 수 없거나 가부해야 하는 경우에는 예외처리 실행전에 반드시 해당 변수를 비우거나 초기화 한 후에 이전 페이지로 돌리거나 에러 메시지를 표시해야 한다. 그러지 않으면 예외처리는 실행되지만 실제의 변수값은 그대로 서버에 전달될 우려가 있다고 주의를 당부했다.
한편 개발자나 관리자가 임시로 백업하려는 의도에서 웹 서비스용 파일의 확장자를 변경할 경우에 사번 정의된 확장자가 아니라면 소스코드가 그대로 노출될 우려가 있다. 그래서 반드시 백업이나 임시파일은 웹 서비스용 디렉토리에서 수행되면 안되며 파일 확장자 또는 임의로 변경하지 않아야 한다. 또 웹 서버 설정에서 처리 가능한 확장자를 지정하고 그 외의 확장자에 대해서는 처리 거부설정을 하는 것이 안전하다고 KISA는 강조했다.
덧붙여 KISA 관계자는 “개발 단계에서나 장애처리에서 흔히 사용되는 테스트파일들은 반드시 목록화해 관리하고 실제 웹 서비스 디렉토리에 남겨서는 안된다”고 주의를 당부했다.
KISA는 “아무리 훌륭한 보안장비나 인력을 투입하더라도 관리자나 개발자의 사소한 실수로 인해 웹 사이트가 심각한 위험에 노출될 수 있다”며 “이러한 위협은 심각한 보안취약점 보다 더 위험할 수 있다. 개발단계 뿐만 아니라 운영면에서도 체계적인 관리 절차와 방법을 수립하고 지키는 것이 중요하다”고 강조했다.
[길민권 기자(reporter21@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>