윈도우 XP SP2 방화벽의 새로운 기능
윈도우 XP SP2를 설치하면 이전 윈도우 버전의 시리즈와는 달리 많은 면에서 보안기능이 향상된다. 하지만 그 기능이 일반 사용자들이 느끼기에는 번거러울 정도로 귀찮게 여겨질 수도 있다. 그 중 하나가 바로 '방화벽' 기능이다.
물론 윈도우 XP 출시부터 인터넷 연결 방화벽(Internet Connection Firewall, ICF) 라고 불리우는 방화벽이 포함되어 있었지만 그 기능은 사용자가 설정하지 않는 한 비활성화되어 있었고 기능을 활성화하기도 매우 어려웠다. 하지만 윈도우 XP SP2부터는 기본으로 그 기능이 활성화되어 있고 윈도우 시작시 제일 먼저 실행되도록 되어 있다.
[그림1] 윈도우 XP SP2 방화벽 이전 윈도우 XP 방화벽은 인터넷 연결 방화벽(ICF)/인터넷 연결 공유(ICS) 서비스가 성공적으로 시작되었을 경우에만 방화벽 기능이 활성화되었다.
따라서 윈도우 XP를 실행하는 컴퓨터를 시작하면, 컴퓨터가 네트워크에서 활성화되는 시간과 ICF를 사용해 연결이 보호되는 시간 사이에 지연이 발생했고 이 지연으로 인해 윈도우 부팅을 시작하는 동안 허가 받지 않은 악성(유해) 트래픽이 차단되지 못하여 악성코드에 감염될 위험이 매우 높았다.
하지만 윈도우 XP SP2는 이러한 연결보다 우선적으로 시행되는 '시작정책'에 의해서 방화벽이 우선적으로 수행되도록 되어 있다.
악성코드로부터의 도전
기능이 강화된 윈도우 XP SP2의 방화벽으로 인하여 일단 악성(유해)패킷은 외부로부터 차단되고 내부에서 외부로의 연결이 있을시 이를 요청하는 응용 프로그램에 대한 경고를 사용자에게 보내주어 사용자가 선택적으로 차단할 수 있게 해 두었다.
또한 윈도우가 사용하는 기본 포트이외에 모든 포트를 방화벽에서 차단하고 있어 인터넷 관련 응용 프로그램을 사용하는 사용자는 불편할지 몰라도 악성코드의 위협으로부터는 이전 윈도우보다 훨씬 안전하게 되었다.
그러나 윈도우 XP SP2가 배포되고 얼마 지나지 않아 악성코드 제작자는 윈도우 XP SP2의 방화벽을 무력화하기 위한 도전을 시도하였고 이는 벌써 몇몇의 악성코드에 의해서 현실로 나타났다. 바로 Win32/Bagle.worm(이하 베이글 웜) 변형 중 일부와 Win32/Bagz.worm(이하 백쯔 웜), Win32/Zafi.worm.15993(이하 자피 웜)들이다.
또한 해외일부 포럼에서는 윈도우 XP SP2 방화벽의 기능해제는 물론 버퍼오버플로우를 방지하는 DEP(Data Execution Prevention), 그리고 TCP/IP의 동시연결횟수제한을 해제하는 프로그램들이 소개되었다.
이러한 것들은 충분히 악의적인 목적에 이용될 수 있는 만큼 윈도우 XP SP2의 보안기능은 여러모로 도전을 받고 있다.
Win32/Bagle.worm.AM
베이글 웜의 변형중 하나인 이 웜은 W32.Beagle.AV@mm, W32/Bagle.bb@mm, WORM_BAGLE.AT라고도 불리운다. 가장 최근에 알려진 베이글 웜 변형중에 하나인 이 웜의 이전 변형 중 일부는 서비스 중지를 통한 ICF, ICS 기능해제를 시도하였다. 또한 최근 베이글 웜 변형 중 일부는 서비스 중지 및 설정해제를 통한 방법으로 윈도우 XP SP2 보안센터와 ICS를 중지하거나 기능을 해제한다.
[그림2] 윈도우 XP SP2 보안센터 웜은 다음과 같이 서비스 모드로 실행 중 윈도우 XP SP2 기능을 중지한다.
- SharedAccess : 인터넷 연결 공유 - wscsvc : 윈도우 XP SP2 시큐리티 센터
웜은 위 서비스를 중지하기 위하여 보통 다음과 같은 API 를 사용한다.
- OpenSCManagerA OpenServiceA ControlService - ChangeServiceConfigA CloseServiceHandle
최근에 알려진 정보에 의하면 윈도우가 지원하는 간단한 서비스 관련 명령만으로도 쉽게 보안센터의 기능을 해제하는 방법이 알려지기도 하였다.
Win32/Bagz.worm 원형 및 변형
백쯔 웜이라고 불리우는 이 웜은 11월 초순 현재 원형을 포함 8개의 변형이 발견, 보고되었다. 이 웜은 원형부터 여러가지 방법을 통하여 윈도우 XP SP2의 방화벽과 보안센터의 경고기능을 해제하는 증상을 가지고 있었다.
- netsh 명령을 이용 윈도우 방화벽 기능해제 - 네트워크 디바이스 드라이버를 이용하여 제3사의 방화벽도 우회
netsh 명령은 네트워크 구성요소에 대한 설정을 지원해주는 커맨드라인 명령 프로그램이다.윈도우 XP SP2부터 그 기능이 강화된 이것을 이용하여 단 1줄의 명령으로 방화벽 기능을 해제 할 수 있다. 원래는 방화벽 그룹에 대한 정책을 설정할 때 사용되는데, 이것이 악용된 예라 할 수 있다.
Win32/Zafi.worm.15993
WORM_ZAFI.C, W32.Erkez.C@mm 라고도 불리우는 이 웜의 이전 변형의 경우 국외에서 많은 피해문의가 있었던 악성코드이다. 다행히 국내에서는 그리 확산되지 않았으며 최근에 발견된 C형은 다행스럽게도 원형에 비하면 널리 확산되지 못했다. 이 웜은 윈도우 XP SP2 방화벽과 보안센터와 관련된 레지스트리 값을 조작하여 해당 기능을 무력화시킨다.
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\ - Parameters\FirewallPolicy\StandardProfile
위 레지스트리 경로에서 다음의 값으로 변경하여 방화벽 기능을 해제한다.
DisableNotifications = 1 EnableFirewall = 0 DoNotAllowExceptions" = 0
보안센터의 경고기능을 해제하기 위해서 다음의 레지스트리 경로에서
- HKEY_LOCAL_MACHINE\Software\Microsoft\Security Center
아래 값으로 변경한다.
- AntiVirusDisableNotify = 1 - FirewallDisableNotify = 1 - UpdatesDisableNotify = 1 - AntiVirusOverride = 1 - FirewallOverride = 1
위와 같이 변경된 보안센터는 안티 바이러스 제품이 설치되어 있지 않아도, 방화벽이 꺼져 있어도, 업데이트가 되지 않아도 사용자에게 경고기능을 보여주지 않게된다.
향후 윈도우 XP SP2 방화벽을 공격하는 악성코드 전망
최근 들어 복합적인 보안위협에 대응하기 위해서 방화벽은 매우 중요한 보안 소프트웨어로 자리잡았다. 방화벽은 네트워크 기반에 설치되는 것과 클라이언트에 응용 프로그램으로 설치되는 형태로 나눠질 수 있으며 윈도우 XP SP2는 당연 후자에 속한다.
윈도우 XP에 방화벽 기능이 포함될 때부터 이러한 악성코드의 출현은 예견되어 왔다. 윈도우 XP SP2라고 다를바는 없다.
윈도우 XP SP2 방화벽은 제3사의 방화벽과는 달리 기능을 중지하거나 설정 등을 변경하는데 있어서 다른 제약을 받지 않도록 되어 있다. 제3사 방화벽의 경우 암호를 설정하거나 방화벽과 관련된 중요한 파일을 보호하므로써 외부로부터의 공격에 대응하고 있다.
하지만 윈도우의 방화벽은 운영체제에 포함된 형태라 이러한 기능이 있다면 사용자로부터 쉽게 다가서지 못할 것이다. 따라서 윈도우 XP SP2의 방화벽과 보안센터를 무력화시키는 방법은 위에 알려진 베이글 웜, 백쯔 웜, 자피 웜이 이용하는 방법도 있지만, 윈도우가 기본으로 제공하는 서비스 관련 명령줄 프로그램을 사용해서도 이를 쉽게 무력화시킬 수 있어 언제든지 악성코드로부터 시스템이 노출되어 있다.
하지만, 이 방법은 로컬에서 사용자가 메일이나 P2P를 이용하여 다운로드한 악성코드가 실행될 때에만 가능하다. 향후 윈도우 XP SP2를 더욱 많은 사용자들이 선택하면 그 만큼 윈도우 방화벽과 보안기능을 무력화하려는 악성코드는 더욱 늘어날 것으로 전망된다.
결론
악성코드는 오래전부터 안티 바이러스 프로그램을 삭제하거나 변조하는 등의 공격을 시도해왔다. 근래에 발견되는 악성 아이알씨봇(IRCBot)은 700개 넘는 보안관련 응용 프로그램의 주요한 파일명을 가지고 있어 이 대상에 포함하는 보안관련 응용 프로그램을 프로세스에서 제거하여 더 이상 실행되지 못하도록 한다.
윈도우라고 예외는 아니다. 몇 년전 본격적인 공격대상의 시작이라고 할 수 있는 윈도우 2000 버전이 그렇다. 이것은 '시스템 파일 보호' 기능이라고 알려져 있었고 보호 메카니즘이 알려지기 전까지 윈도우 파일 바이러스를 제작하는 악성코드 제작자에게는 넘어야할 커다란 산이였다.
그러나-복잡하기는 하지만-보호 메커니즘이 알려지면서 '시스템 파일 보호' 기능을 무력화하고 윈도우 시스템 내 실행파일을 감염시키는 윈도우 파일 바이러스가 발견, 보고 되었다. 이렇듯 악성코드가 윈도우를 공격하는 것은 어제, 오늘만의 일은 아니며 보안기능이 있으면 이를 해제하려는 크래커(Cracker)가 있는 것도 역시 같은 맥락이라고 볼 수 있다.
MS도 인정 했듯이 윈도우 XP SP2가 보안에 대한 모든 것을 안전하게 챙겨주지는 못한다. 따라서 서로 상호보완적인 관계로 안티 바이러스 제품이 필요한 것처럼 오늘날 보안을 위해서는 어느 곳에 일방적으로 의지할 수 없다.
과거에 안티 바이러스 업체들만이 악성코드와 보안위협으로부터 싸웠다면 현재는 마이크로 프로세서 제조사, 네트워크 장비 제조사, 운영체제 제작사 등 다수가 사용자의 안전한 컴퓨팅 환경에 일조하기 위해서 힘쓰고 있다.
이러한 모습을 볼 때면 안티 바이러스를 연구하는 입장에서 매우 바람직한 현상이라고 생각된다. 이렇게 모두가 유대관계를 결속하여 대응한다면 더 나은 안전한 환경을 우리 고객들에게 제공해줄 수 있으리라 본다.
[출처] 안철수연구소 ASEC [저자] 정진성 연구원 |