- 트래픽과다유발및시스템셧다운등제어시스템에악영향 - 2014. 5 본보고서의전부나일부를인용시, 반드시 [ 자료 : 한국인터넷진흥원 (KISA)] 를명시하여주시기바랍니다.
[ 목차 ] 1. 산업제어시스템의보안위협 1 2. 제어시스템에서활동하는웜바이러스 2 3. 웜바이러스침투경로및특징 3 4. 산업제어시스템환경에서웜바이러스의영향 3 5. 대응방안 6 [ 붙임 ] 제어시스템웜바이러스상세분석결과 10
1. 산업제어시스템의보안위협 산업제어시스템 (Industrial Control System, ICS) 을대상으로한새로운사이버공격유형인 스턱스넷 이등장하면서폐쇄망으로운영되는제어시스템조차도더이상사이버위협으로부터안전을장담할수없게되었다. 작년 13년한해미국에서발생한제어시스템침해사고건수 ( 미국 ICS-CERT 발표 ) 는 257건에달하며, 이는 11년 140건, 12년 197건에비해크게늘어난수치이다. 공격유형은악성코드감염, 시스템무단접근시도, SQL 인젝션, 스피어피싱, 워터링홀공격등으로나타났다. 산업제어시스템 : 전력, 수도, 교통등의산업분야의시스템을제어하기위해사용되는컴퓨터시스템 스턱스넷 : 휴대용저장장치 (USB) 를통해산업시설내컴퓨터로침투해제어시스템에오작동을유발하는악성코드 SQL 인젝션 : 데이터베이스서버에조작된쿼리문을전송해내부데이터를빼내는공격 스피어피싱 : 특정인혹은조직에잘아는지인인것처럼속여악성코드가담긴메일을보내는공격 워터링홀공격 : 공격대상이방문할가능성이있는웹사이트에악성코드를감염시킨뒤잠복하는공격 < 제어시스템침해사고건수, ICS-CERT 발표 > < 제어시스템취약점건수, ICS-CERT 발표 > - 1 -
2. 제어시스템에서활동하는웜바이러스 전통적으로제어시스템구축시신뢰성, 가용성이우선적으로고려됨으로상대적으로사이버보안위협으로부터더욱취약할수밖에없다. 따라서보안관리가부재한제어시스템환경에서는운영체제및관리적취약점을이용해자가전파되는웜바이러스가더욱강력한전파력과영향력을떨치게된다. 실제로 03년과 05년에미국원자력발전소와자동차공장에단순한웜바이러스가감염돼공장가동이멈추는사례가발생한바있다. KISA는지난 4개월간국내 외에서발전, 제철, 철도, 의료, 난방등산업제어분야에서널리사용되고있는 SIMENS 社제품 WinCC( 산업현장내장비감시및제어용 SW) 와 Step7( 논리제어기 (PLC) 의프로그래밍용 SW) 을공격하는웜을집중분석하였다. 1) 웜바이러스가온라인악성코드검색서비스에업로드된국가분포를보면중국 28건, 미국 9건, 캐나다 2건으로나타났으며, 웜바이러스종류는 Viking 웜이 13건으로가장많았고, Virut 9건, Sality 8건, Alman 5건순으로나타났다. < 웜바이러스가업로드된국가분포 > < 제어시스템활동웜바이러스종류 > 1) 악성코드샘플수집 : 온라인악성코드검색서비스 (Virustotal, www.virustotal.com) - 2 -
3. 웜바이러스침투경로및특징 발견된웜바이러스의제어시스템침투경로는단순한암호를사용하는윈도우공유폴더나휴대용저장장치 (USB) 로분석되었다. 웜이실행되면인접네트워크를스캐닝하여취약한환경의시스템공격하고, 감염시스템내부에제어시스템소프트웨어구성파일을포함한모든실행파일에자기자신을복제시킨다. 또한원격서버로접속하여추가악성코드다운로드를시도한다. 또한윈도우 RPC(Remote Procedure Call) 인터페이스취약점 (MS03-026) 2) 을침투경로로이용하기도하였다. 해당취약점은공격자가 RPC에서 TCP/IP를통한메시지교환처리중시스템권한으로코드를실행할수있도록하며, 윈도우 XP SP1, 윈도우 2000 등구버전운영체제에서만영향을받는다. 4. 산업제어시스템환경에서웜바이러스의영향 웜바이러스가실제산업제어시스템환경에서어떠한영향을미치는지에파악 하기위해 KISA 에서운영중인제어시스템테스트베드환경에서웜을감염시켜 시험하였으며, 그결과다음과같은피해를확인하였다. 1 웜이네트워크를통한자가전파를위해취약한패스워드가설정된공유폴더나, 윈도우 RPC 취약점이존재하는시스템에대한스캐닝을시도하였다. 그과정에서네트워크트래픽이발생하였으며, 감염된시스템이증가할수록트래픽양또한급속하게증가하였다. 2) MS03-026 취약점은 2003 년 7 월 16 일에패치되었음 - 3 -
< 네트워크트래픽유발 > 2 웜이악성모듈을정상프로세스 (explorer.exe) 에은닉 실행시키는과정에서특정윈도우 API(QueueUserAPC) 호출하는데, 이과정에서윈도우내부에충돌이발생하면서시스템이셧다운되는현상이발생하였다. 셧다운된원인은잘못된 API 사용 ( 코딩 ) 으로분석되었으며, 윈도우 XP 이하버전에서만영향을받았다. < 시스템셧다운유발코드 > 3 정상실행파일변조, 악성코드자기복제및네트워크스캐닝등의악성행위로인해웜프로세스의 CPU 점유율이평균약 12% 가량증가하였다. 시험환경에서제어시스템소프트웨어의 CPU 사용률이 1~3% 인것을감안하면웜에의해시스템성능이현저히저하되었다. - 4 -
<CPU 점유율증가 > 4 웜이제어시스템소프트웨어구성파일에자기복제를수행하면서소프트웨어구동자체가불가능하였다. 뿐만아니라일부자가보호기능이없는보안소프트웨어의경우웜에의해무력화되어구동이불가능함을확인하였다. < 제어시스템소프트웨어구동불가 > - 5 -
5. 대응방안 제어시스템은그동안격리된제어망 ( 폐쇄망 ) 에서위치하고, 알려지지않은프로토콜과시스템을사용하는등특수성때문에사이버보안과는무관하다는인식이일반적이었다. 그러나현실에서는업무 PC에서제어시설에대한모니터링및실시간정보수집등을위해불가피하게인터넷에연결되어있는경우가있고, MS 윈도우 PC, TCP/IP, 무선 AP 등일반정보시스템과동일한운영환경이사용되고있는것이현실이다. 최근사이버공격은기술을과시하기위한해킹수준에서금전적이득을위한목적으로변했으며, 현재는사회 / 정치적목적의해킹, 항공 / 발전소등의국가기반시설을위협하는사이버테러양상으로변하고있다. 이러한, 사이버보안위협으로부터제어시스템을안전하게보호하기위한방안을정리하면다음과같다. 1 제어시스템을관리하는담당자들의보안인식확립 o 제어시스템은폐쇄망, 특수성으로사이버보안과무관하다는인식개선 물리적으로네트워크가완벽하게분리된환경에서도 USB 사용등보안부주의로제어시스템에웜 바이러스등악성코드가침투할수있음 ( 기술적인보안대책만큼내부직원에대한보안인식교육이중요 ) 2010 년폐쇄적이고외부와단절된네트워크로운영되던이란의원자력발전소제어시스템에스턱스넷악성코드가침투하여 1천여대의원심분리기에오작동을일으킨사고가실제로발생 o 백신설치및응용프로그램보안패치, USB 매체강화등제어시스템구축 및운영시사이버보안을우선적으로고려 - 6 -
2 제어시스템기술적보안대책강화 o 최신운영체제업그레이드및보안취약점패치 (HMI 등응용프로그램포함 ) MS 기술지원이종료된윈도우 XP 운영체제는상위버전으로업그레이드 웜 바이러스는 PC 등시스템의보안취약점을악용하여시스템에침투하기때문에, 운영체제및 HMI 등응용프로그램에대한보안패치가무엇보다중요 제어시스템호환성등의문제로업그레이드불가시화이트리스팅어플리케이션컨트롤보안제품설치등추가적인보안대책필요 o 제어시스템운영 통제 PC(HMI), 중앙서버, 네트워크장비등주요시스템들은인가된관리자만접속할수있도록관리자, 이용자등권한에따른계정 (ID) 을부여하고, 등록 변경 폐기절차마련등접근통제강화 일부기관은운영의편의성을위해관리자 ID/PW 를작업자모두가공유하거나, 시스템에자동로그인되게운영하는경우발견 사용자계정등록시추측이어려운비밀번호사용및주기적비밀번호교체 o 공용 ID/ 비밀번호, 제품초기 ID/ 비밀번호제거 o 제품초기설정으로열려있는서비스및불필요한서비스및공유폴더제거 o 사내망과물리적으로분리하는것이안전하나실제환경에서는모니터링및데이터수집을이유로네트워크연결이불가피한경우일방향통신장비사용 일방향통신장비는물리적으로는단방향통신방식을사용하나, 별도에이전트또는장비를설치하여 TCP 통신및세션관리가가능하도록지원하여프로토콜변경없이사용가능 o 제어시스템도입 변경 운영시최신백신설치, 응용프로그램보안패치 - 7 -
o 제어시스템을통제하는운영자 PC(HMI), 중앙서버등에 USB 포트를통해이동식저장매체가연결되지못하도록차단 스턱스넷 (Stuxnet) 은 USB와같은이동식저장매체를통해악성코드를전파하여폐쇄망으로운영되는이란의원전시설을파괴한바있음 o 제어시스템네트워크 Zone 에대한접근제어강화 (DMZ 구성등 ) NIST 에서는방화벽과 DMZ (Demilitarized Zone) 을통해연결하는것을권고 3 제어시스템취약점점검등보안관리체계강화 o PC, PLC, HMI, 라우터, IDS, IPS, 방화벽, 서버, 데이터, 서비스등제어시스템 중요자산을빠짐없이식별하고, 해당자산의기밀성, 무결성, 가용성을침해할 수있는웜 바이러스등사이버보안위협에대한위험관리대책수립 ( 보안정책 ) o 제어시스템에대한취약점점검 ( 매년최소 1 회이상 ) 및보호대책수립 o 제어시스템도입 변경 운영시보안성검토후시스템반영 o 외주인력의노트북등휴대용 PC 등은바이러스감염여부, 불법프로그램 설치여부등을꼼꼼히점검후사용하도록하고, 기본적으로는관리기관이 보유한내부클린 PC 를사용하여점검토록유도 o 내부직원또는외주인력에의한인가되지않은모뎀, 무선랜등이설치되어있지않은지점검하고발견즉시차단하여야함 ( 지속적모니터링 ) 유지보수 시스템관리편의를위해외부인터넷연결접점을개방하여둔경우가있을수있음 - 8 -
4 제어시스템사이버공격모니터링및대응 o 제어시스템내사이버공격이상징후를모니터링하여발견즉시차단및한국인터넷진흥원 ( 118) 등전문기관에악성코드 ( 침해사고 ) 분석의뢰 제어시스템담당자는제어시스템내웜 바이러스발견시 PC를포맷하는경우가많은데, PC를포맷할경우악성코드침투경로를정확히파악하기어려워재차보안사고가발생할수있어반드시한국인터넷진흥원등전문기관에악성코드및침해사고분석을의뢰할것을권고 o 제어시스템에대한모의해킹등비상대응훈련실시 제어시스템사이버안전, 이제생각만이아닌실천하는것이중요한때이다. [ 참고자료 ] 1. https://ics-cert.us-cert.gov/sites/default/files/documents/year_in_review_fy2013_final.pdf 2. http://samsungsds.net/data/upload/sjis/researcharticle22_01.pdf 3. NIST, Guide to Industrial Control Systems (ICS) Security - 9 -
[ 붙임 ] 제어시스템웜바이러스상세분석결과 1. 제어시스템파일에감염된웜바이러스특징 웜에감염된지멘스社제품 (WinCC Flexible) 파일정보 구성프로그램파일 상세정보 정상파일 vs 웜바이러스에감염된파일구조정보 - 파일뒷부분에인코딩된웜바이러스코드가추가되어있음 < 정상파일 > < 감염된파일 > - 10 -
정상파일에감염된웜바이러스코드는자체디코딩을거쳐곧바로실행 되거나정상시스템프로세스에은닉후실행됨 < 정상파일에감염된웜바이러스코드일부 > 2. 웜전파방식 취약한패스워드가설정된공유폴더를통한전파 1 감염된컴퓨터와동일한서브넷에존재하는내부시스템스캐닝 < 동일서브넷내시스템스캐닝 > - 11 -
< 검색된시스템의공유폴더에접속시도 > 2 웜내부에저장된패스워드사전을이용해서공유폴더에로그인시도 < 웜내부에저장된패스워드사전 > 3 로그인성공된공유폴더에웜전파후실행 < 공유폴더에웜복사후실행 > - 12 -
USB 를이용한전파 1 숨김속성으로생성된악성코드와자동실행파일 (autorun.inf) <USB 에생성된웜및자동실행파일 > < 자동실행 autorun.inf 내부 > 2 시스템에연결된모든드라이브에 (USB 포함 ) 악성코드설치 <autorun.inf 파일생성 > < 악성코드생성 > < 모든드라이브에악성코드생성 > - 13 -
3 복사된웜파일은숨김설정을통해사용자에게보이지않도록함 < 감염된제어시스템라이선스 USB> < 숨김파일을보이지않도록설정 > E-mail 메시지를이용한전파 - 웜이첨부된이메일을생성하여공유폴더및감염시스템내부에전파 < 전파를목적으로생성된이메일 > - 14 -
<E-mail 메시지에첨부된웜실행파일 > 정상실행파일을통한감염 - 유명게임파일명등으로검색해서감염 < 감염대상정상파일 > < 웜코드은닉 실행코드 > - 15 -
3. 웜바이러스에의한시스템영향 웜전파후시스템강제종료 < 시스템강제종료 > 호스트파일변조 - 웜전파, 추가악성코드다운로드, 원격제어등의추가악성행위수행을 위해서시스템내호스트파일을변조하는것으로추정 < 호스트파일변조 > - 16 -
실행중인다른악성코드종료 - 웜을단독으로실행시키기위해서다른악성코드를강제종료 < 제거대상악성프로세스 > < 프로세스종료및파일삭제 > 시스템셧다운유발 - QueueUserAPC 함수를처리하는중시스템충돌발생 프로세스외부에서 QueueUserAPC 함수를호출하는경우메모리침범오류발생가능 < 정상프로세스에악성모듈은닉 > - 17 -
<QueueUserAPC 호출 > 감염된시스템의 CPU 점유율증가 - 실행중인프로세스들중에서 taskhost.exe 프로세스가감염 taskhost.exe 프로세스는윈도우즈운영체제작동을위한프로세스들중하나 < 감염된 taskhost.exe 프로세스 > - 감염된프로세스는추가악성행위수행 < 추가악성코드를생성하는감염된프로세스 > - 18 -