메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

후기 Code red의 세상에서 살고 있는 윈도우 시스템 관리자가 웜에 대해서 알아야 할 것

한빛미디어

|

2001-10-16

|

by HANBIT

12,138

by Stefan Norberg, 역 한빛리포터 2기 김경태 이 기사를 읽는 사람들은 모두 Code red에 대해 들어봤다고 가정하죠. Code red는 네트워크를 통해서 삽시간에 퍼졌고 수많은 Microsoft Windows NT와 2000의 인터넷 정보 서버(IIS) 시스템을 감염시켰습니다. 제가 이 기사를 쓸 때에는 Nimda라고 불리는 새로운 웜이 IIS와 Internet Explorer의 취약점을 이용해서 퍼지고 있었습니다. 그리고 그 뒤를 따라 여러 웜이 나올 것 같군요. 웜이라는 것은 자기 스스로 번식하는, 악의를 지닌 프로그램입니다. 네트워크를 통해서 퍼졌던 맨 처음의 웜은 1988년의 Morris 웜이었습니다. 웜은 시스템을 망가뜨리고 나면 다른 취약점이 있는 시스템을 찾기 위해 네트워크를 스캔(Scan)한 후 자동적으로 취약점이 있는 시스템에 번식해 들어가게 됩니다. Code red 웜은 마이크로소프트의 Index Server의 ISAPI DLL의 보안 취약점(MS01-33)을 이용하였습니다.
Securing Windows NT/2000 Servers for the Internet
ISAPI DLL은 하위계층의 IIS 확장 응용프로그램입니다. 지금까지 공격자가 원격지에서 취약점이 있는 웹 서버에서 임의의 코드를 실행시킬 수 있게 하는 두 개의 심각한 IIS 보안 취약점이 있었습니다. ISAPI 응용프로그램자체의 프로그래밍 에러가 지금까지의 세 가지의 취약점의 원인이 되었습니다. 그렇다면 왜 이러한 ISAPI 응용프로그램이 위험한 걸까요? 주된 문제는 IIS가 시스템의 보안 환경으로 돌아간다는 것에 있습니다(이는 유닉스에서는 root와 같습니다). 기본적으로 ISAPI 응용프로그램 또한 시스템의 권한으로 돌아가게 됩니다. ISAPI hook이 불려지게 되면, IIS는 그 일을 하는 스레드를 낮은 권한으로 돌리게 됩니다(익명의 인증을 받지 않은 HTTP 요청을 위한 IUSR_MACHINENAME 계정).
네트워크과 웹 보안에 관한 한빛과 오라일리의 도서 목록을 보시려면 security.hanbitbook.co.kr , network.hanbitbook.co.kr을 방문하십시오.
Code Red는 상대적으로 점잖은 형태의 웜입니다. 그것은 단지 가능한 한 많은 서버를 감염시키고 www.whitehouse.gov라고 사용되는 IP 주소에 서비스 거부 공격을 가할 뿐입니다. 이 웜은 만약에 당신이 locale을 "US-English"로 설정 해 놓았다면 당신의 웹사이트에도 10시간 정도 손상을 가할 수 있습니다. 이런 것이 매우 공손한 것은 아니지만, 저는 아직 이러한 행동은 점잖다고 생각합니다. 웜이 시스템의 권한으로 돌아간다고 생각해 봅시다. 이런 것을 생각해 볼 수 있겠죠 : 만약에 마지막 행동으로, 그 웜이 감염된 시스템의 모든 파일을 지우게 된다면 어떻겠습니까? 저는 마이크로소프트가 언론과 사용자로부터 더 많은 비난을 받지 않는 것에 놀랐습니다. 의심할 여지도 없이, 마이크로소프트가 더 제대로 일을 수행하기 위해서는 프로그래밍 에러를 잡기 위한 소스코드의 검사가 필요합니다. 하지만 더 중요한 것은 누구나 접근 가능한 웹 서버처럼 위험에 노출된 시스템을 위해 사용자에게 기본적인 설치만으로 컴퓨터를 안전하게 보호할 수 있는 옵션을 제공하는 것입니다. 왜 IIS에 권한을 지니지 않은 사용자에게는 제한된 기능을 두어 운영하는 옵션이 없는 걸까요? 그건 아마도 어느 사용자라도 벤더(vendor)들에게 더 많은 보안을 고려한 소프트웨어를 만들라고 압력을 넣기가 힘들기 때문일 겁니다. 저는 미래에는 우리들이 더욱더 많은 적대적인 웜 코드를 보게 될 것이고 따라서 이러한 이유로 당신은 당신의 서버가 제대로 설치되었고, 설정이 이루어졌고, 방화벽과 같은 보안 장치에 의해 보호 받고 있는지에 대한 대책을 마련해야 한다고 생각합니다. 당신의 시스템을 안전하게 보호하기 위한 세 가지의 조치
  1. 당신이 꼭 필요로 하는 소프트웨어(또는 소프트웨어의 일부)가 아니라면 설치하지도 실행시키지도 마십시오. 이것은 당신의 시스템의 공격 가능한 부분을 제한하게 됩니다. 또한 당신이 더 적은 소프트 웨어 구성요소를 설치하게 되면, 당신은 당신의 시스템을 안전하게 보호하기 위한 시간과 돈을 덜 소비하게 될 것입니다. 당신이 쓰고 있는 운영체제를 위한 최소한의 설정을 생각해 보십시오. 그리고 시스템을 작동시키기 위해 당신이 필요로 하는 부수적인 소프트웨어는 최소한의 설치를 하기 바랍니다. 당신이 꼭 필요로 하지 않는, 예를 들면 쓰이지 않는 IIS ISAPI 응용프로그램들의 모든 기능을 끌 것이라 확신합니다. 당신은 웹사이트 메뉴에서 오른쪽 마우스 버튼을 클릭한 후 "등록정보→홈 디렉토리→구성"을 차례대로 클릭함으로써 응용프로그램 구성 다이얼로그 박스를 띄울 수 있습니다. 당신은 여기서 당신이 필요로 하지 않는 ISAPI 응용프로그램을 선택하고 제거를 클릭함으로써 IIS 5.0의 ISAPI 응용프로그램들을 동작하지 않게 할 수 있습니다.

    당신이 Index Server의 기능을 쓰지 않는다면 .htw, .ida, 그리고 .idq의 응용프로그램 매핑을 제거해도 상관없습니다. 당신이 HTTP를 통한 프린팅(IPP)을 사용하지 않는다면, 당신은 .printer 매핑을 제거해도 상관없습니다. 당신이 만약 Server Side Include(SSI)를 사용하지 않는다면, 당신은 .shtm, .shtml, 그리고 .stm 매핑을 제거해도 상관없습니다. 당신이 Older Internet Database Connector 기능을 사용하지 않는다면(대부분의 사이트들은 데이터베이스 접근을 위해 ADO를 사용합니다.), 당신은 .idc 매핑 또한 제거해도 상관없습니다. 위험한, 웹에 기반을 둔 비밀번호 변경 (.htr) 매핑도 제거하십시오. 마지막으로 당신이 Active Servrer Page (ASP)를 쓰지 않는다면, .asp, .cdx, 그리고 .asa 매핑을 제거하십시오. 어떠한 담금질과정도 외부 네트워크에 노출되어 있는 서버 뿐만이 아니라 내부 서버에도 적용되는 것임을 기억하십시오. Code Red 웜의 경우를 보자면, 많은 회사의 내부 서버들도 감염되었습니다. 왜죠? 하고 당신은 물으실 겁니다. 많은 윈도 2000 프로페셔널 사용자들은 잘 모르고서 그들의 컴퓨터에서 "Personal Web Server" 버전의 IIS 웹 서버를 운영합니다. 적절한 방화벽 없는 DSL 연결을 통해 집에서 Code Red 웜에 걸린 노트북 사용자들은 그들이 회사로 돌아왔을 때 Code Red 웜을 가지고 오게 되지요. Nimda의 경우에는, 클라이언트 컴퓨터를 포함한 모든 시스템에 가능한 한 빨리 패치를 해야 한다는 점이 더욱 명확하게 됩니다. Nimda는 사용자가 악의를 품거나 Nimda의 공격을 받은 IIS 서버를 방문했을 때 다운로드되어 백그라운드로 수행됩니다. 몇몇 사람들은 자주 업데이트 되는 좋은 바이러스 치료 프로그램을 가지고 있다면 안전할 것이라고 주장합니다. 우리가 잘 알려진 웜에 대해서, 예를 들어 Mellisa, Love Letter 또는 Nimda와 같은 웜들에 대해 이야기 한다면, 그건 맞는 말이겠죠. 그렇지만 그러한 바이러스 치료 프로그램들은 아직 알려지지 않았거나 새로운 형태의 웜과 바이러스는 막을 수 없습니다.
  2. 벤더들이 제공하는 보안 게시물과 Bugtraq의 Mailing List와 CERT 보안 권고문을 받아보십시오. 당신은 당신이 쓰고 있는 소프트웨어에 대한 문제점들을 가능한 한 빨리 알아야 합니다. microsoft_security-subscribe-request@announce.microsoft.com으로 메일을 보냄으로써 당신은 마이크로소프트에서 오는 보안 게시물을 받아볼 수 있습니다. 제목이나 내용은 상관없습니다. 당신은 확인을 요구하는 메시지에 답장을 보내면 됩니다. bugtraq-subscribe@securityfocus.com에 e-mail을 보냄으로써 당신은 Bugtraq에서 메일링 리스트를 받아볼 수 있습니다. 마찬가지로 제목이나 내용은 상관없습니다. 당신은 확인을 요구하는 메시지에 답장을 보내면 됩니다. CERT 보안 권고문을 받아보시려면, majordomo@cert.org로 메일을 보내십시오. 메시지의 내용에는 "subscribe cert-advisory"라고 써야 합니다.
  3. 당신의 시스템에 취약점이 있다면 가능한 한 빨리 보안 패치를 하시기 바랍니다. 2001년 7월 18일, 마이크로소프트는 Microsoft Security Bulletin MS01-033를 발표했고, Code Red 웜 공격에 당한 제품들의 패치를 했습니다. 이후 약 한 달이 지난 8월 19일에 Code Red 웜은 9시간 이내에 250,000개의 시스템을 감염시켰습니다. 이 모든 시스템들이 모두 적절한 시간에 패치가 이루어졌었다면, Code Red 웜에게서의 피해는 피할 수 있었을 겁니다.
추가 자료
스테판 노르버리는 스웨덴 스톡홀름에서 프리랜서로 일하는 네트워크 보안 컨설턴트입니다. 그는 방화벽과 다른 종류의 네트워크 환경에서의 감사를 디자인하고, 수행합니다. stefan@orbisec.com으로 메일을 보내면 스테판과 연락할 수 있습니다. 한빛미디어㈜는 2001년 10월 중으로 『Securing Windows NT/2000 Servers for the Internet』를 번역한 국내서 『윈도우 NT/2000 서버 보안』을 출간할 예정입니다. Return to: security.hanbitbook.co.kr
TAG :
댓글 입력
자료실

최근 본 상품0