지난 6월 하순 발생한 대규모 공공기관의 홈페이지 변조 사건(2013년 6월)관련 정보에 대해 구글링하던 중 몇몇 홈페이지 변조 방지 솔루션의 소개페이지들을 보게 되었다. 하지만 자사의 솔루션이 “최고”라는 자부심을 갖는 것은 좋지만 서버운영체제와 웹서버 그리고 HTTP 프로토콜에 대해 전문 지식이 없는 고객에게 응용프로그램 수준에서의 홈페이지 보안만이 홈페이지 위변조를 방어할 수 있다는 잘못된 정보를 제공하는 경우를 많이 볼 수 있었다. 그저 안타까울 뿐이다.
네트워크 보안 솔루션과 응용프로그램수준의 웹보안이 필요 없다는 것은 아니다. 추운 겨울 옷을 입을 때도 얇은 옷을 여러겹 끼워 입는 것이 보온효과가 더 크다는 상식처럼 보안 시스템도 다계층 보안 시스템을 구축해야 효과가 크다.
DDOS, DOS, 포트스캔, TCP/IP 취약성 공격 등 네트워크 기반 공격은 네트워크 보안솔루션이 방어하는 것이 맞다. 그리고 XSS와 같은 소스파일이 직접적인 위변조가 없는 공격은 RedCastle과 같은 SecureOS가 방어할 수 없다. 또한 SecureOS도 자체 방화벽 기능을 제공하지만 어디까지나 운영체제의 네트워크 커널 기반에서 동작하기 때문에 네트워크 방화벽 처럼 IP 레이어의 플래그에 따른 다양한 통제 기능을 제공하지는 않는다. 그저 내부네트워크를 통해 침투하거나 접근하는 행위에 대해서 통제하기에 적합한 수준의 방화벽 기능을 제공하기 때문이다.
하지만 웹서비스를 위해 서버에 저장되어 있는 소스파일이나 바이너리의 변조, 웹쉘의 실행을 차단하는 데는 SecureOS 만큼의 효과를 내는 것은 네트워크 기반의 솔루션으로는 구현이 어렵다고 보는 것이 맞다.
그 이유는 바로 웹페이지의 호출과정을 정확하게 이해하면 알 수 있다.
위의 그림에서 처럼 사용자 PC의 브라우저에서 호출되는 웹페이지 소스는 운영체제의 커널을 통해 읽혀지게 된다. 하지만 웹페이지 소스는 웹서버만 읽고 수정할 수 있는 것이 아니다. 서버에 다른 방법으로 접속한 사용자도 웹서버를 거치지 않고 접근하여 수정(변조)할 수 있고 웹서버의 취약점을 뚫고 침투한 해커도 2중, 3중의 우회방법을 통해 웹페이지의 소스를 변조할 수 있다.
하지만 아무리 2중, 3중의 우회경로를 통해 웹페이지 소스를 수정하더라도 최종적으로는 운영체제의 커널을 거치게 된다. 웹서버가 운영되는 서버에서 운영체제의 커널을 거치지 않고 파일을 수정할 수 있는 경우는 없다. 운영체제의 커널을 거치지 않고 파일 입출력을 하는 경우가 있기는 하나 특별한 파일시스템 구조로 파일시스템이 구성되어 있어야 하며 웹서버 용도의 서버에서는 특별한 파일시스템을 구성하는 경우가 없다.
RedCastle SecureOS를 서버에 설치하게 되면 웹페이지 소스에 접근하는 모든 접근을 커널 수준에서 모니터링하고 통제하기 때문에 정해진 소스파일 업데이트 작업만 허용하고 나머지 접근은 모두 차단할 수 있다.
예를 들면 “192.168.100.10 번 IP에서 FTP로 webadmin 계정으로 접속했을 때만 생성/수정/삭제가 가능하고 이외의 모든 생성/수정/삭제는 차단한다” 와 같은 정책에 의해 통제를 할 수 있게 된다. (다만 소스가 있는 경로는 모두 파악하여 리스트업 해야한다.)
이러한 정책을 적용하면 웹의 어떤 취약성을 뚫고 침입하여 소스파일을 변조시도하더라도 모두 차단이 되는 것이다. 소스의 변조를 막기 위해 별도의 라이브러리를 설치하고 소스를 일일히 수정하거나 새로운 취약성이 발견되어 보안 솔루션의 패턴을 업데이트해야하는 수고를 하지 않아도 되는 것이다. 또한 관리자가 Telnet 접속하거나 터미널 서비스로 접근하여 VI 명령어나 Notepad 명령어로 수정하는 행위도 차단이 된다.
DDOS 공격에 의한 서버 다운과 홈페이지 변조 중 어느 사고가 더 심각한 사고인가?
청와대 홈페이지가 공격을 당한 이후 뉴스기사가 떴다.
음…아주 완벽하게 홈페이지를 변조했다. (대단한 넘들…. -.-) 그런데 뉴스에서 참 희한한 기사를 읽을 수 있었다. 이런 기사가 바로 여론을 호도하는 좋은(?) 사례다. 어떻게 서버 다운이 없었다는 것을 더 “안전”한 것 처럼 이야기 할 수 있는지 이해가 안된다. 77대란 때 어느 국회의원의 “인터넷에 접속하는 모든 PC에 백신설치를 의무화하자”는 발언이 생각난다.
사실 서버에 저장된 파일이 외부의 공격에 의해 변조되었다는 것은 매우 심각한 상황이다. 만약 외부의 공격에 의해 파일이 변조되었다면 해당 서버는 운영체제부터 새로 설치하는 것이 바람직하다. 왜냐하면 파일의 수정이 이루어졌다는 것은 서버의 디스크 어디에 어떤 공격도구가 생성되어 숨겨져 있을지 모르는 상황과 같기 때문이다.
하지만 DDOS 공격은 서버 내에 해커가 침투한 상황은 아니다. 단지 서비스를 하지 못하도록 외부에서 네트워크를 차단하는 형태의 공격이다. 홈페이지 파일의 변조는 “강도가 집 내부에 침입하여 물건을 훔쳐간 것”과 같고 DDOS 공격은 “집 밖에서 누가 돌멩이를 집으로 던져 유리창이 깨진 것” 에 비유할 수 있다. 과연 두 가지 해킹 중 어떤것이 더 심각한 문제일까? 당연히 홈페이지 변조가 더 치명적인 보안사고다. 하지만 공무원은 변조 보다는 장애가 더 큰 문제인 것처럼 이야기하고 있다. 매우 심각한 보안 인식의 문제가 드러난 발언이다.
홈페이지 위변조 공격은 지금도 어디에선가 계속 시도되고 있고 발생하고 있다. 다만 쉬쉬하며 감추기 때문에 알려지지 않을 뿐….