목차 Ⅰ 개요 동향분석 Ⅱ Ⅲ 제품소개
PART I. I. 개 요 Introduction
I. 개요 1. 웹쉘 (WebShell) 이란? 웹쉘은공격자가원격에서웹서버에명령을수행할수있도록작성한웹스크립트 (asp, jsp,php, cgi) 파일들로, 최초, 웹취약점을이용하여공격한후지속적으로피해시스템을관리할목적으로웹쉘을생성함. 이후, 공격자는웹쉘을사용하여재침투해악성코드유포, 개인정보유출, 홈페이지변조등의악성행위를할수있음 - 공격자는웹쉘을대상서버에업로드한후웹을이용하여시스템명령어를수행하기때문에네트워크방화벽영향을받지않고서버를제어할수있으며웹페이지의소스코드열람, 악성스크립트 (iframe) 사입, 파일업로드, 서버및데이터베이스자료유출등의다양한공격이가능 - 홈페이지서버에업로드된웹셀을이용하면서버의파일열람, 프로세스열람및종료, 파일및디렉토리생성ㆍ삭제등서버의모든기능을사용할수있음 - 웹셀은동적인웹페이지를제공하게해주는 JAVASCRIPT, VBSCRIPT, ASP, JSP, PHP 등의언어로작성되고있으며, 다양한버전의웹셀을인터넷을통해쉽게획득가능 - 웹셀은소스형태로유포되고있기때문에웹프로그래밍이가능한사람은누구나수정할수있음 - 일부웹셀은업로드한해커만사용가능하도록패스워드설정기능도포함하고있으며, 백신및네트워크보안장비에서의탐지를회피하기위해일부내용을암호화하기때문에, 비슷한기능을하지만형태가다른수많은웹셀코드가존재함 4
I. 개요 2. 웹쉘의침투과정 게시판취약점 ( 파일업로드 ) 웹쉘 웹에디터취약점 ( 이미지업로드 ) 웹쉘 다른웹서버로웹쉘확산 HTTP 1.1 취약점 (PUT) 기타다양한해킹공격 (SQl Injection,XSS 등 ) 다양한경로및방법을통해웹서버로웹쉘침투 웹쉘을통한정보유출등 2 차피해발생 5
I. 개요 3. 웹쉘의위험성 웹방화벽, 백신프로그램등기존보안시스템으로는탐지및차단이어려움 - 웹쉘프로그램을마음대로조작ㆍ변경할수있기때문에바이러스백신에서탐지가어려움 - 웹취약점을통해피해시스템에접근한공격자는방화벽에서접근을허용하는 HTTP(80/ tcp) 서비스를통해피해시스템을제어하므로웹쉘을차단하기가쉽지않음 - 일부프로그램은암호화되어있어백신및네트워크보안장비에서의탐지가불가능함 웹쉘에의한해킹피해의심각성 - 관리자들이해킹피해를인지하고시스템을재설치하더라도이전에웹쉘이업로드되어있는소스그대로새롭게설치한시스템에복사하여사용하기때문에지속적으로피해를입게됨 - 일단, 웹쉘이설치되면방화벽등보안시스템의통제없이파일열람, 프로세스열람및종료, 파일및디렉토리생성ㆍ삭제등서버의모든기능을제어할수있으며, 데이터베이스및개인정보유출, 홈페이지변조등다양한공격이가능함 - 웹쉘제작자만이사용하도록패스워드를설정하여실행에제한을두고있음 - 소스형태로배포되어웹프로그래밍이가능한사람은누구나자신의목적에맞게수정할수있어다양한형태의다른수많은웹쉘코드가존재함 6
PART II. 동향분석 About WebShell Trend
II. 동향분석 1. 웹쉘현황 최근인터넷에공개된다양한웹쉘공격프로그램을이용한해킹사고가빈번하게발생되고있음 공격자들이웹서비스취약점을공격한후, 시스템을통제할목적으로웹쉘을설치하기때문에웹쉘의사용빈도가매우높음 2007 년한해동안해킹피해를입은서버약 80 건에대한분석결과, 피해서버 91% 이상에서웹쉘이발견되었음 (KISA, 2008.02) 최근 KrCERT/ CC 사고노트중대부분이웹쉘관련노트 (KrCERT/ CC, 2008.06) 문서번호 문서제목 요약 IN2005012 웹해킹을통한악성코드유포사이트사고사례 IN2005014 SQL Injection 취약점을이용한원도우즈웹서버사고사례 IN2005016 업로드취약점을이용한악성코드유포사례 IN2007002 웹쉘의현황과분석 SQL Injection 후웹쉘업로드, iframe 삽입 SQL Injection 후웹쉘업로드, iframe 삽입 게시판업로드취약점, 웹쉘업로드, 악성코드삽입 웹쉘을이용한백도어설치 대부분의웹서버피해시스템에웹쉘존재 (2008 년웹어플리케이션보안세미나 ) 8
II. 동향분석 2. 웹쉘동향 ASP의 eval, execute 메소드등이원격에있는공격자로부터웹쉘실행코드를전달받아실행하는데많이이용되고있으며, 이같은 Eval, Execute 코드는정상적인스크립트파일에도삽입이가능해웹쉘탐지가더욱어려워지고있음 최근각백신업체및관리자들에의해웹쉘탐지가늘어공격자들은여러기능을하는웹쉘코드를각기능별로분리하여사용하고있는데, 파일생성기능, DB 쿼리기능을하는웹쉘파일들이가장많이사용되고있음 ASP 스크립트의경우웹소스를보호하기위해인코딩하는 Script Encoder를제공하고있는데, 이러한인코더를악용하여웹쉘을인코딩하고백신탐지를우회하고있음 웹쉘이업로드되어있는피해시스템웹쉘 URL을관리하기위한웹쉘관리프로그램들이등장하였음 최근에는탐지가어렵도록웹쉘의일부만피해시스템에업로드하는등그유형이나날이발전하고있음 최근국내에서발생하고있는피해시스템웹서버대부분은윈도우가차지하고있음 9
II. 동향분석 2. 웹쉘동향 암호화된웹쉘예 패스워드설정 10
II. 동향분석 3. 웹쉘침해사례 시기 기관 / 기업 2007.02 OOO연구기관 2007.03 OOO인터넷서비스 피해 홈페이지해킹, 악성코드유포경유지로이용 20 여대의서버중 18 대웹쉘발견 비고 웹쉘사용흔적확인, 태국등 36,606 개 IP 수집 웹방화벽운영, 윈도우 2003, 리눅스서버 2007.09 OOO공공기관비공개자료유출게시판취약점이용 2007.10 OOO기업 15 대서버해킹, 15 대모두웹쉘발견 IDC 에입주, 보안관제서비스윈도우 2003 서버 2007.07~ 2008.02 제2금융권 O개기관고객정보유출일부내부망침투 2008.06~ 2008.12 OOO통신사관리자권한획득 월평균 1,000 건의해킹시도월 10 여대웹쉘발견방화벽, IDS, IPS, ESM 운영 2008.12 16개정부기관 2009.02 OOO결제서비스 비공개자료유출, 경유지사용, 관리자권한획득, 일부페이지변조 일부결제서비스장애발생관리자권한획득 웹서비스점검결과취약점이발견된기관의 60% 에서웹쉘이발견 홈페이지를통해결제서버침투시도웹방화벽, 웹취약점진단스케너운영 11
II. 동향분석 3. 웹쉘침해사례 국가. 공공기관홈페이지웹쉘등해킹프로그램업로드내부정보유출피해 ( 출처 : 2007-08- 16 [ 보안뉴스 ] ) 올해상반기국가 공공기관홈페이지변조사고는총 37 건으로지난해 69 건대비 53% 가량감소했다. 하지만지난 7 월에만 17 건으로상반기평균 6 건에비해대폭증가한것으로나타났다. 국가사이버안전센터 ( 길인수센터장, 이하 NCSC) 관계자는 홈페이지변조가증가한이유는관리자권한설정오류, 웹서버보안패치미실시등홈페이지담당자의보안관리가미흡한데따른것 이라고밝혔다. 7 월발생한홈페이지변조사고의원인을분석한결과, 파일업로드취약점 (8 건 ) 과 SQL 인젝션취약점 (6 건 ) 으로인한사고가 82% 로가장많은비율을차지한것으로나타났다. 그중 7 월 21 일발생한모기관변조사고등 8 건은공격자가 WebDAV 취약점, SQL 인젝션등다중취약점을이용해관리자권한을획득, 홈페이지를변조했으며추가적으로웹쉘등해킹프로그램을업로드해내부정보를빼내간것으로확인됐다. 최근홈페이지해킹은자신의실력을과시하기위한단순변조사고는감소하는반면, 금전적이익을취득하기위한비공개정보절취나해킹의경유지로악용하는사례가증가하고있어홈페이지관리자들의철저한보안관리가요구되는상황이다. NCSC 관계자는 각급기관홈페이지담당자는국가사이버안전센터에서배포한 홈페이지보안관리매뉴얼 을참조해 SQL 인젝션등 8 대홈페이지취약점을즉시제거하고주기적인보안점검을통해해킹피해를예방하도록해야한다 고강조했다. [ 길민권기자 (reporter21@boannews.com)] 12
II. 동향분석 3. 웹쉘침해사례 최근 KrCERT/ CC 사고노트중대부분이웹쉘관련노트 ( 출처 : 2008.06 악성코드삽입사고분석절차요약가이드, KrCEDRT/ CC) 13
II. 동향분석 3. 웹쉘침해사례 OO 대학웹서버, 웹쉘 (WebShell) 을통한해킹경유지악용사고 ( 출처 : 2007.09 사고사례, 국가사이버안전센터 ) 14
II. 동향분석 4. 주요웹쉘프로그램 r57shell 프로그램명 환경 curl, MySQL, MSSQL, PostgreSQL, Oracle 비고 러시아, 서버의정보, 서버의상태, 서버사양등모든정보를한눈에볼수있는등강력한기능을제공 kcwebtelnet PHP 4.x 한국, UNIX 쉘과유사, 터미널기능제공 phpremoteview PHP 러시아, 윈도우탐색기형태, 명령어실행가능 C99 shell/ C100 shell Webadmin shell ASP 목마 ( 木马 )2006 Simple CMD exec PHP PHP, Windows/ Linux/ MacOS/ B SD/ Solar ASP ASP 가장많이사용되는웹쉘중의하나, 웹서버프로세스 hijack 이가능, 파일편집및권한변경등강력한기능을제공, c100 shell 은 c99 의성능향상버젼 WASH(Web Admin Shell) 라고불리우며웹개발및웹관리용툴로개발됨 중국, Client/ Server 구조, 피해시스템에 webshell 이업로드되는것이아니라중계역할을해주는 asp 프로그램이업로드됨, 12 가지기능을제공 명령어를실행할수있도록작성된간단한쉘프로그램 AJAX/ PHP command shell JFolder JSP Webshell MSSQL Web Shell MySQL PhpShell ASP JSP JSP IIS + MS- SQL 환경에서 Web Shell 자동생성 PHP + MySQL 패스워드에의한사용자인증, 파일탐색, 명령어실행, 업로드기능을제공 확장스토어드프로시져사용하여 Web Shell 생성기능제공 15
PART III. 제품소개 About ShellClean v1.0
III. 제품소개 1. 개요 쉘크린 (ShellClean) 은웹서버에설치된웹쉘프로그램을탐지하여결과를관리자에게전송하고, 관리자가직접원격조치를할수있도록지원하는웹쉘전용보안솔루션임 쉘크린은웹프로그램에내재된웹쉘패턴을탐지함과동시에, 웹서버의로그를분석하여웹쉘의실행여부를검사함으로써보다정확한웹쉘탐지를보장함 웹쉘전용보안솔루션 웹쉘탐지결과알림 웹쉘탐지이력관리 모니터링 웹쉘코드패턴탐지 웹쉘실행여부탐지 업로드파일필터링 웹쉘탐지 웹쉘이탐지된웹프로그램조회 웹프로그램검역조치 탐지규칙 / 허용목록관리 원격조치 특허출원 : 10-2009- 0018679 패턴탐지기반의웹쉘관제시스템및그방법 17
III. 제품소개 2. 제품구성 ShellClean Agent 웹서버별로설치되어웹쉘코드패턴및실행여부탐지 허용되지않은확장자파일업로드필터링 웹쉘탐지및업로드필터링결과주기적전송 (ShellClean Server) ShellClean Manager 를통한원격관리지원 ShellClean Server ShellClean Agent 의탐지결과정보저장 웹쉘탐지이력저장및관리 ShellClean Manager 의원격관리제어 ShellClean 업데이트서버를통한패턴업데이트및 ShellClean Agent 로패턴배포 ShellClean Manager 웹을통한웹서버별웹쉘탐지결과조회 원클릭원격관리지원 웹서버별 ShellClean Agent 탐지규칙설정 웹쉘탐지실시간알림 (Notification) 18
III. 제품소개 2. 제품구성 Web Server 탐지결과 원격조치 ShellClean Manager ShellClean Server Internet ShellClean Agent 19
III. 제품소개 3. 기능및특징 웹쉘탐지 - ASP, JSP, PHP 등다양한개발언어로제작된웹쉘탐지 - 정규식검사 ( 패턴매칭 ) 를통한효율적인웹쉘코드패턴탐지 - 웹서버로그상의웹쉘실행시그너춰분석을통한웹쉘실행여부탐지 - 스크립트인코딩 (ASP) 된웹쉘디코팅탐지 - 최종검사후변경된웹프로그램파일만선별적으로검사하는빠른검사지원으로웹서버부하경감 업로드필터링 - 지정된폴더로업로드되는파일중허용되지않은확장자파일필터링 - 지정된확장자파일에대해서웹쉘코드패턴탐지자동실행 - 필터링된파일자동검역조치지원 중앙집중식웹쉘모니터링 - Agent- Server- Manager의 3- Tier Architecture - 여러대의웹서버에대한웹쉘탐지결과모니터링지원 - 웹쉘탐지결과에대한시각화된 Report 제공 20
III. 제품소개 3. 기능및특징 SW 보안및자동업데이트지원 - Agent 소프트웨어보안을위한코드불법변조방지기능내장 - 웹쉘코드패턴및시그너춰패턴자동업데이트지원 - Agent/ Manager 소프트웨어자동업데이트지원 21
III. 제품소개 4. 주요기능소개 4.1 웹쉘탐지 ( 전체검사 ) 웹프로그램파일웹프로그램파일웹프로그램파일 웹프로그램파일웹프로그램파일웹프로그램파일 웹쉘코드패턴탐지 ( 지정된전체파일 ) 탐지규칙패턴정보 웹프로그램파일웹프로그램파일웹서버로그 Cross Check 탐지결과전송 ShellClean Server 웹프로그램파일웹프로그램파일웹서버로그 웹쉘실행여부탐지 검사이력캐쉬정보 ShellClean Agent 22
III. 제품소개 4. 주요기능소개 4.2 웹쉘탐지 ( 빠른검사 ) 웹프로그램파일웹프로그램파일웹프로그램파일 웹프로그램파일웹프로그램파일웹프로그램파일 캐쉬정보를이용하여최종전체검사일이후에변경된파일만선별 웹쉘코드패턴탐지 ( 변경된파일만 ) 탐지규칙패턴정보캐쉬정보 웹프로그램파일웹프로그램파일웹서버로그 Cross Check 탐지결과전송 ShellClean Server 웹쉘실행여부탐지 검사이력캐쉬정보 웹프로그램파일웹프로그램파일웹서버로그 재검사된파일에대한캐쉬정보재생성 / 저장 ShellClean Agent 23
III. 제품소개 4. 주요기능소개 4.3 업로드필터링 허용되지않는확장자파일업로드감시 웹프로그램파일웹프로그램파일업로드된파일 허용되지않는확장자탐지 필터링규칙패턴정보 웹프로그램파일웹프로그램파일업로드된파일 웹쉘코드패턴탐지 필터링결과전송 ShellClean Server 필터링이력검역소 필터링된업로드파일검역소보관 ShellClean Agent 24
III. 제품소개 4. 주요기능소개 4.4 웹쉘탐지결과모니터링 HTTP 탐지결과전송 탐지결과저장모듈 탐지결과필터링결과 탐지결과조회모듈 HTTP 탐지결과조회 ShellClean Agent 탐지내역상세조회 / 파일수정 / 검역 탐지내역 ( 파일내용 )/ 파일수정 / 검역결과 TCP/ IP 원격조치제어모듈 탐지내역상세조회 / 파일수정 / 검역 탐지내역 ( 파일내용 )/ 파일수정 / 검역결과 TCP/ IP ShellClean Manager ShellClean Server 25
III. 제품소개 4. 주요기능소개 4.5 원클릭원격조치 원격조치요청수신 처리결과전송 원격조치요청전달 처리결과전달 탐지결과 ( 항목클릭 ) 탐지대상파일요청 탐지대상파일수신 파일내용조회 ShellClean Agent ShellClean Server 파일내용수정 / 검역결정 파일수정 / 검역요청 처리결과수신 처리결과조회 ShellClean Manager 26
III. 제품소개 5. 제품비교 5.1 웹방화벽과의비교 구분 웹쉘탐지시스템 ( 쉘크린 ) 웹방화벽 비고 개요 웹서버에 Agent 형태로탑재되어지정된탐지규칙에따라웹서버상에존재하는웹쉘을탐지하고, 웹서버로그상에남아있는웹쉘실행흔적을탐지하는웹쉘전용보안시스템관리자는원격에서해당웹서버상의웹쉘을삭제하거나웹프로그램파일을검역할수있음 애플리케이션계층 (Layer 7) 분석기술과정규화기술을바탕으로특화된검사엔진을탑재하여웹관련공격을방어하는보안시스템 URL( 및매개변수 ) 에따른접근제어, HTTP/ HTTPS 트래픽에대해검사, HTTP 내부에포함된패킷컨텐츠에대한공격을검사하고공격시도나위협을차단 웹방화벽은네트워크기반과웹서버기반으로구분 보호대상 지원기능 웹어플리케이션 ( 웹서버 ) 악성코드 ( 웹쉘 ) X 웹쉘코드탐지 X 인코딩된웹쉘코드탐지 X 웹쉘실행흔적탐지 X 웹쉘파일업로드차단 웹쉘검역 X 원격조치 X 27
III. 제품소개 5. 제품비교 5.2 휘슬 (Whistl) 과의비교 구분기능쉘크린 웹쉘탐지 탐지결과모니터링 원격대응 업데이트 휘슬 (Whistl) ASP, JSP, PHP 등다양한개발언어지원 웹쉘코드패턴탐지 시그니쳐를이용한웹로그분석 X IIS 자동인식및탐지대상자동설정 X 휘슬 ( 수동지정 ) 인코딩된웹쉘탐지 업로드파일필터링및웹쉘자동탐지 X 비고 웹서버부하경감을위한빠른검사지원 X 휘슬 ( 전체검사만지원 ) 다양한탐지규칙설정 X 휘슬 ( 예약검사만지원 ) 예약검사 중앙집중식모니터링지원 X 휘슬 ( 향후지원예정 ) 웹서버별탐지결과 / 이력정보관리 X 휘슬 ( 향후지원예정 ) 시각화된탐지결과 Report 지원 X 휘슬 ( 향후지원예정 ) 웹쉘이탐지된원격파일 Access X 웹쉘이탐지된원격파일검역 X 웹쉘패턴자동업데이트 소프트웨어라이브업데이트 X 28
감사합니다