윈도우 ᆞ 유닉스 / 리눅스등주요운영체제취약점 (SANS Top 20 v5.0) 소개 NCSC-TR05004 2005 년 1 월 15 일
I. SANS Top 20 개요 SANS Top 20 (http://www.sans.org/top20/) 은현재알려진수많은보안취약점중가장주요한취약점 20개항목을의미하는것으로윈도우의취약점 10개와유닉스 / 리눅스의취약점 10 개로구성되어있다. 2000년부터매년 10월발표되어정기적으로업데이트되고있는 20개의항목은가장큰위협요인이면서도쉽게발견되는순서로나열되어있으며현재전세계적으로많은기관에서활용되고있다. SANS Top 20 는최초 SANS 협회와 FBI의 NIPC(National Infrastructure Protection Center, 2003.4 국토안보부로소속변경 ) 의연구에의해서시작되어현재는미국, 영국, 유럽, 아시아의정부기간보안분야전문가, 대학, 주요소프트웨어업체와컨설팅업체가참여하여작성하고있다. 2000년도에인터넷보안의중요 10개의취약점을처음으로발표하면서시작되었고그뒤로매년윈도우분야와유닉스 / 리눅스분야에서각각 10개씩총 20개의항목을발표하면서 Top 20 로정해지게되었다. 버전5.0( 통권 5호 ) 은 2004년 10월 8일 (10, 18 업데이트 ) 발표되었다. 각취약점항목에는취약점에대한설명과영향받는운영체제, 취약점항목과관련된 CVE와 CAN 목록, 운영중인시스템이취약한지판단하는방법, 그리고시스템을해당취약점으로부터보호하는방법등이기술되어있다. * CVE(Common Vulnerabilities and Exposures) : 취약점에부여된고유한이름 ( 번호 ) * CAN(CVE Candidates) : CVE 목록에들어가기위해검증단계에있는후보목록 버전5.0에서는윈도우의웹서버와서비스관련취약점과유닉스 / 리눅스의 DNS 서버인 BIND의취약점이각각첫번째로꼽혔다. II. SANS Top 20 내용 2. 윈도우의 Top 10 취약점 2-1. 웹서버와서비스 윈도우를위협하는최고의취약점은패치가제대로수행되지않은웹서버에존재하는취약점으로서비스거부공격, 파일이나자료의노출, 임의의명령어실행, 서버의손상등과같은피해를유발할수있다. 윈도우 98부터윈도우 XP 프로페셔널에설치되어있는 IIS, 아파치서버, 그리고 SUN의 JAVA 시스템 /SUN One/iPlanet 웹서버가영향을받는다. 데모어플리케이션이나샘플용웹사이트를삭제하지않고웹서버를운영하거나, ColdFusion 이나 PHP와같은프로그램설치시환경변수설정값을잘못입력하거나, 또는프로그램자체의 1
오류로인하여대다수웹서버는기본적인설치과정에서부터보안상의취약점을다수노출하고있다. 새롭게발견되는취약점을없애기위해서는제품별로주기적인업데이트를수행하여야하고무엇보다도새로운정보에대해서항상귀기울여야한다. 2-2. 워크스테이션서비스 파일, 프로세스에대한접근요청작업을담당하는이서비스는윈도우 2000과윈도우 XP SP1 이하버전, 그리고윈도우 XP 64비트버전에영향을미친다. 이취약점을공격하는웜 (Phatbot, Gaobot) 변종에의해서대랑피해가발생한적이있다. MS03-049( 워크스테이션서비스의버퍼오버런으로인한코드실행문제, 2003.11.12) 의윈도우 2000 패치나 MS03-043( 메신저서비스의버퍼오버런으로인한코드실행문제, 2003.10.16) 의윈도우 XP 패치등이필요하고, 윈도우 XP SP2는이취약점에대해완전히보호되고있다. 2-3. 윈도우원격접속서비스 윈도우가제공하는 NETBIOS 네트워크공유, 익명로그온, 원격레지스트리접속, 원격프로시져콜 (RPC) 등과같은원격접속서비스의취약점은클레즈 (Klez), 서캠 (Sircam), 님다 (Nimda) 등과같은웜ᆞ바이러스에의하여악용되어피해를확산시켰다. 윈도우 95부터 2003까지잠재적으로이취약점을가지고있다. 윈도우 95 이상의모든운영체제들은 RPC공격에취약하지만윈도우 XP SP2 버전은 RPC의활동방식을구체화하는방식으로안전도를높였다. 2-4. MS SQL 서버 2003년새해벽두부터온나라를떠들썩하게했던 1.25 인터넷대란을발생시킨슬래머 (Slammer) 웜이바로 MS SQL 서버의취약점을이용하였다. 이취약점은 MS SQL 서버와 MSDE 데스크톱엔진을설치한모든시스템에영향을미칠수있다. 특히주의할사항은 MS SQL 서버는여러어플리케이션과프로그래밍툴에필요하기때문에사용자가설치여부를깨닫지못할수도있다는것이다. 예를들어 Visual Studio.NET, 액세스 2002, 오피스 XP 등은모두보안상의취약점이있는 MSDE 데스크톱엔진이설치되어있다. 예방하는방법은새로운패치로업그레이드하고시스템설정을제대로한후, 네트워크에서관련된포트에대한필터링을강화하는것이다. 2-5. 윈도우인증 적절하지않은패스워드나낮은수준의인증알고리즘사용은윈도우인증취약점을야기한다. 윈도우시스템에는 LM, NTLM, NTLMv2와같은인증알고리즘이제공되는데윈도우 NT/2000/XP 2
에서는사용자인증시기본적으로보안상가장취약한 LM 알고리즘을이용하여패스워드를저장한다. LM 알고리즘은다른인증알고리즘보다상대적으로짧은패스워드만을저장하는등여러취약점을갖고있기때문에쉽게공격대상이되고있다. 윈도우인증취약점을제거하는방법은사용자패스워드관리를위한올바른정책을세워운영하는것이가장중요하며기본적으로제공되는취약한인증알고리즘의사용을제한하는것이다. 2-6. 웹브라우저 윈도우용웹브라우저에는 MS 인터넷익스플로러, 오페라, 모질라ᆞ파이어폭스등이있다. 그중가장보편적으로사용되는 MS 인터넷익스플로러는시큐리티포커스아카이브 (SFA) 에따르면 2001년 4월이래 153건의취약점이보고된바있으며따라서아직도가장보안이취약한웹브라우저로간주되고있다. 취약한웹브라우져를사용하는시스템은크로스사이트스크립팅공격등에의해서쿠키노출, 파일이나자료유출, 임의의프로그램다운로드및실행과같은피해를당하게된다. 가장최선의대응방안은시스템권한이높은관리자계정으로로그온했을경우절대로네트워크를탐색하지않는것이다. 또한수시로작동하는 Active X를확인, 닫아주는것이좋다. 윈도우 XP SP2는개선된 Active X 보안을적용하고있다. 2-7. 파일공유어플리케이션 파일공유에사용되는 P2P 네트워크시스템은대중적인인기속에성장했지만다양하고심각한보안위협요소에시스템을노출시키는결과를유발시키고있다. 가장최선의대응방안은네트워크에서 e-돈키 (e-donkey), 카자 (KaZaa), 그누텔라 (Gnutella) 등과같은 P2P 소프트웨어사용을자제하는것이다. 또한방화벽을사용해각프로그램에서기본으로사용하는포트를차단해야한다. 냅스터의경우에는 TCP 8888, 8875, 6699번포트, e-돈키는 UDP 4665와 TCP 4661, 4662번포트, 그누텔라는 TCP/UDP 6345, 6346, 6347, 6348번포트등이해당된다. 2-8. LSASS 취약점 로컬보안권한서브시스템서비스 (LSASS, Local Security Authority Subsystem Service) 는인증과액티브디렉터리등에활용되는서비스로서윈도우 2000/XP/XP 64비트, 그리고윈도우서버 2003 등에서심각한버퍼오버플로우취약점이발견되었는데새써 (Sasser) 와코르고 (Korgo) 웜등이이취약점을악용하였다. 방화벽에서관련포트를차단하고최신패치를설치하는것이최선의보호대책이다. 3
2-9. 메일클라이언트 아웃룩 (Outlook) 과아웃룩익스프레스 (Outlook Express) 는윈도우에서기본적으로제공하는메일클라이언트어플리케이션으로서메시지에포함되어있는스크립트나첨부된파일등을통하여바이러스나웜의전파수단으로악용되는취약점등이존재한다. 또한원하지않는상업적인스팸메일에도노출된다. 이러한취약점으로부터안전하게사용하는방법은취약점이제거된최신제품을설치하고취약점발견시최신패치를적용하거나악성파일이첨부되는것을막기위하여다양한예방활동을수행해야한다. 2-10. 인스턴트메신저 윈도우운영체제에서사용되는야후메신저, AOL 메신저, MSN 메신저등은간단한채팅뿐만아니라원격웹메일접속, 보이스채팅, 비디오케뮤니케이션, 파일전송및공유등다양한기능을제공하고있다. 이러한다양한기능이제공됨에따라프로그램의버퍼오버플로우취약점, 파일전송취약점, Active X 취약점등을이용하는공격기법이증가하고있다. 인스턴트메신저의보안위협요소에대한보호대책은접속목록을지속적으로관리하고소프트웨어를주기적으로업데이트하는것이다. 3. 유닉스 / 리눅스의 Top 10 취약점 3-1. DNS(Domain Name System) 서버 BIND 최고의유닉스 / 리눅스위협요소는가장많이사용되고있는도메인네임서버소프트웨어인 BIND가차지하였다. 대부분의유닉스 / 리눅스에기본적으로포함된 BIND는관리자가업그레이드를소홀히하거나필요하지않은데몬을운영할때분산서비스공격과버퍼오버플로우, 캐쉬오염등과같은공격에노출되게된다. 보호대책으로는필요없는 BIND 데몬을비활성화시키고업체에서제공하는최신배포판을사용하거나최신패치를설치하는것이다. 3-2. 웹서버 일반적인유닉스 / 리눅스웹서버인아파치나선자바의웹서버는프로그램자체의취약점과기본으로제공되거나예제나테스트로사용되는 CGI 스크립트에존재하는취약점, PHP 버그등에의해서많은공격을받는경향이있다. 웹서버취약점으로부터시스템을보호하기위해서는항상최신패치를적용하고필요없는서비스는비활성화시키고관리자권한으로웹서버를작동하지않는등보안을고려한관리가필요하다. 4
3-3. 인증 시스템을사용하는일반사용자나관리자의취약한패스워드는유닉스 / 리눅스시스템의보안에심대한영향을끼친다. 하지만대부분의사용자들이패스워드를취약하게설정하거나심하면아예설정하지않고시스템을운영하고있다. 더군다나아직까지일반기업에서는패스워드정책에대한관심이크지않은형편이다. 사용자인증에관한최선의보호대책은시스템사용자모두가안전한패스워드를사용하도록강력한패스워드정책을시행하는것이다. 그리고기본으로설정된계정과패스워드및사용하지않는계정을제거하는등의주의가필요하다. 3-4. 버전제어시스템 버전제어시스템은여러사용자가동시에문서를작성하거나소프트웨어개발시소스코드등을작성할때버전을관리하기위한도구로서유닉스 / 리눅스에서가장많이사용되는프로그램은동시버전시스템 (CVS, Concurrent Versions System) 과서브버전 (Subversion) 등이있다. 공개소프트웨어인 CVS와 Subversion에는버퍼오버플로우취약점등이이미알려져있고익명의사용자에의한다양한공격도가능하다. 최선의보호대책은최신의패치설치및업데이트작업을수시로수행하고소프트웨어사용시설정값을적절하게적용하는것이다. 3-5. 메일전송서비스 센드메일 (Sendmail), Qmail, Courier-MTA, Exim, Postfix 등은유닉스 / 리눅스시스템에서 e-메일전송에이전트 (MTA) 로사용되고있지만보안상취약점과설정상의문제점으로웜ᆞ바이러스및해커로부터꾸준히공격을당하고있다. 메일서버로사용하지않는시스템에서는메일서버를비활성화하고제품별로발표되는패치설치를수시로하며, 스패머들에게이용당하지않도록메일릴레이기능을비활성화하는등설정에대해세심한주의를기울이는것이최선의보호대책이라할수있다. 3-6. SNMP(Simple Network Management Protocol) TCP/IP 네트워크장치에대한원격모니터링과설정을위한 SNMP는분산네트워크환경과프린터, 라우터, 스위치등의장치에대한설정및관리를위해폭넓게사용되고있다. 이러한사용의편리성과더불어메시지핸들링과비암호화및안전하지않은설정값사용등은인증에서심각한취약점을가지고있다. SNMP를사용하지않는다면비활성화하도록하고가능하면메시지인증과데이터암호화가지원되는 SNMPv3를사용하는것이바람직하며 SNMPv1과 v2를사용시에는신규패치를설치한후사용해야한다. 5
3-7. Open SSL(Secure Sockets Layer) 네트워크로통신하는어플리케이션에암호화를지원하는 OpenSSL 라이브러리는아파치웹서버등많은인터넷기반소프트웨어에사용되고있다. 하지만 OpenSSL을사용하는다양한어플리케이션을통해서라이브러리취약점을이용한공격이종종일어나고있다. 최선의보호방법은방화벽을적절하게설정하고 OpenSSL 패치를주기적으로업데이트해주는것이다. 3-8. 잘못설정된엔터프라이즈서비스 NIS/NFS 네트워크파일시스템 (NFS) 과네트워크정보서비스 (NIS) 는유닉스 / 리눅스네트워크에서사용되는중요한서비스다. 하지만이서비스는버퍼오버플로우, 분산서비스공격, 취약한인증과같은취약점및잘못된설정으로인하여지속적으로공격받고있다. 불필요한서비스는비활성화시키고, NFS/NIS 사용시최신패치를설치하며, 잘못설정된부분을수정하는한편, 방화벽에서불필요한포트를차단하는등의보호대책이필요하다 3-9. 데이터베이스 데이터베이스시스템에대한보안은그동안많은관심을받지못했다. 하지만안전하지못한패스워드, 잘못된설정, 취약하게제작된어플리케이션, 시스템백도어등의보안상문제점이상업용과오픈소스용데이터베이스시스템에존재함에따라데이터에대한무결성과기밀성이위협받고있다. 데이터베이스시스템을보호하기위해서는제품별신규패치를적용하고적절한설정작업을수행해야한다. 3-10. 커널 운영체제의핵심인커널은시스템의모든부분을제어할수있는권한이있기때문에취약점이공격받을경우시스템자원을쓸데없이사용하는등의서비스거부공격을받을수있으며, 시스템권한으로임의의코드를실행시킬수도있다. 서비스거부공격이나네트워크공격등으로부터보호하기위하여제품별튜닝을실시하고, 네트워크설정을강화해야하며, 최신버전으로업그레이드하는노력을기울여야한다. 6
III. 결론 2003년도발표된버전4.0과비교할경우이번에새롭게포함된취약점항목으로윈도우에서는워크스테이션서비스취약점, LSASS의버퍼오버플로우취약점, 인스턴트메신저취약점이있으며, 유닉스 / 리눅스에서는버전제어시스템취약점, 데이터베이스취약점, 커널취약점이있다. SANS Top 20 항목을살펴보면해마다선정되는취약점항목에많은변화가없으며대책또한별반차이가없는것을알수있는데이것은일반사용자가윈도우나유닉스 / 리눅스를사용할때가장기본적인보안조치를제대로수행하지않고있다는것을의미한다. 정보보안관련동향살펴보기, 최신배포판으로업그레이드하기, 주기적으로신규패치설치하기, 방화벽등에서의심스러운패킷필터링하기등의기본적인일련의보안활동을모든사용자가수행한다면시스템을위협하는취약점이발견되더라도막대한피해를당하지않을것이며해마다유사한취약점을보는일도없을것이다. 우리생활에서간단하게수행할수있는보안수칙을생활화하도록노력해야할것이다. 7