F O C U S 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 민재원 *, 손기종 ** 최근리눅스계열 OS에서주로사용하는 GNU Bash에서공격자가원격에서악의적인시스템명령을실행할수있는취약점이발견되었다. 이취약점은쉘쇼크 (ShellShock) 로명명되었으며취약점정보와공격프로그램이인터넷에공개된이후다양한사이버공격이발생하고있다. 이에본고에서는 GNU Bash의취약점을통해발생하고있는사이버공격활동들에대한분석을통해이번취약점이국내에미칠수있는영향과앞으로예상되는위협추세들에대해살펴보고기업및기관에서취약점을대응할수있는방안에대해서술한다. Ⅰ. 서론 Ⅱ. Gnu Bash 취약점분석 1. 취약점발생원인분석 2. 취약한프로그램 3. 공격유형 4. 공격가능시나리오 Ⅳ. 취약점대응방안 1. Gnu Bash 업데이트방법 2. 사용하지않는 CGI 페이지삭제또는관련서비스중지 3. 네트워트탐지룰설정 Ⅳ. 결론 Ⅲ. 공격동향분석을통한보안위협예측 1. 공격동향분석 2. 국내공격동향 3. 공격프로그램분석 4. 악성코드분석 5. 보안위협예측 ** 한국인터넷진흥원취약점분석팀주임연구원 (jwmin@kisa.or.kr) ** 한국인터넷진흥원취약점분석팀선임연구원 (skj@kisa.or.kr) 46 INTERNET & SECURITY FOCUS October 2014
Ⅰ. 서론 최근계속해서오픈소스소프트웨어들의보안이슈가발생하고있다. 대표적인예로지난 FOCUS 2014년 4월인터넷통신을암호화하기위해사용하는오픈소스라이브러리인 OpenSSL 에서하트블리드 (HeartBleed) 취약점이발견되어전세계적으로큰이슈가되었으며이때문에수많은서버들이업데이트를해야했다. 오픈소스소프트웨어의장점은소스코드가공개되어있기때문에누구나접근할수있어널리사용하고있다는것이다. 따라서소스코드가비공개된소프트웨어들보다많은소스코드오디터 (auditor) 들에의해분석되어더안전할것이라고예상했으나, 수십년동안존재했던코드들에취약점들이계속발견되면서오픈소스소프트웨어의보안성에대한신뢰가떨어지고있다. GNU 프로젝트 1 의 Bash 2 또한개발이된지매우오래된오픈소스프로젝트이다. 아카마이 (Akamai) 의 IT 매니저인스테판챠젤라스 (Stephane Chazelas) 에의해취약점 (CVE-2014-6271) 이발견되기전에는보안연구원들이 Bash에대한관심을크게가지지않았으나, 취약점이공개된이후지속적으로관심을가지며추가적인보안취약점이계속발견되는상황이발생하였다. 취약점을최초발견한스테판챠젤라스는영국에서 IT 매니저로근무하는프랑스인으로, Bash의소스코드를분석하던중원격명령을실행할수있는취약점을 2014년 9월 12일발견하여 Bash 개발담당자에게신고하였다. 취약점이존재하는코드는 1993년도이전부터최근에발견되기전까지 20년동안존재했으며, OpenSSL 하트블리드취약점이후로취약점에이름을짓는유행에따라이취약점은쉘쇼크 (Shellshock) 라고명명되었다. 또한앞서언급했듯이보안연구원들이 Bash의보안성에관심을가지기시작해토드사빈 (Todd Sabin), 플로리안웨이머 (Florian Weimer), 미첼잘루스키 (Michal Zalewski) 에의해추가적인취약점들이발견되었다. 이번쉘쇼크 (ShellShock) 취약점에의해영향을받는프로그램들중가장대표적인것은 CGI(Common Gateway Interface) 이며취약점정보와공격도구가공개된즉시인터넷트래픽에서이를악용하는공격들이급격히증가하기시작했다. 그리고 CGI 3 웹서버만을대상 1 GNU 프로젝트 : 유닉스계열컴퓨터운영체제를개발하기위한프로젝트 2 Bash : 운영체제의명령어실행인터페이스 3 CGI : 웹서버에요청된페이지를응용프로그램에전달하고처리하기위한인터페이스 47
으로하는공격자의활동이점점 NAS(Network Attached Storage) 4 장비등여러환경으로공격이확산되고있다. 본고에서는쉘쇼크취약점분석및이를악용할수있는시나리오를구성하고실제발생하고있는사이버공격활동에대한분석을통해이번취약점이국내에미칠수있는영향과앞으로예상되는보안위협추세들에대해살펴본다. 그리고마지막으로기업이취약점에대응할수있는방안들에대해서술한다. Ⅱ. GNU Bash 취약점분석 GNU Bash에서발견된이번쉘쇼크취약점이공개된이후악용될경우의파장때문에큰이슈가되었고인터넷을통해간단한명령만으로시스템을장악할수있는심각성때문에미국국립표준기술연구소 (NIST) 는쉘쇼크취약점 (CVE-2014-6271) 의취약점등급 (CVSS) 5 을 2014년 4월에발표된하트블리드취약점 (5점) 보다높은최고점수인 10점으로산정하여발표하였다. [ 그림 1] NIST( 미국국립표준기술연구소 ) 에서발표한쉘쇼크취약점위험수준 4 NAS : 네트워크를통해데이터를주고받는저장장치 5 CVSS(Common Vulnerability Scoring System) : 취약점의심각성정도를점수화한평가체계 48 INTERNET & SECURITY FOCUS October 2014
Ⅱ 장에서는이번 Bash 취약점들이발생하게된원인분석과현재까지취약하다고알려진 프로그램들은무엇인지설명한다. 또한이를바탕으로공격자가어떻게취약점을악용할수 있는지에대해여러가지관점에서시나리오를구성했다. FOCUS 1. 취약점발생원인분석 현재까지보고된 GNU Bash 취약점은총 6 종이다. 최초취약점 (CVE-2014-6271) 이공 개된이후로추가적인취약점들이발견되었으며이들취약점들을요약하면다음과같다. < 표 1> GNU Bash 취약점요약 CVE 번호 CVE-2014-6271 CVE-2014-7169 CVE-2014-7186 CVE-2014-7187 CVE-2014-6277 CVE-2014-6278 원격명령실행함수선언문파싱에러잘못된메모리접근잘못된메모리접근함수선언문파싱에러원격명령실행 취약점내용 취약점이발생한부분은 Bash 쉘이제공하는함수선언기능이다. () { 로시작하는문자열을시스템환경변수에저장하면동일한이름을가진함수로선언된다. 하지만함수선언문끝에임의의명령어를추가로삽입할경우, Bash가함수문에서처리를멈추지않고추가로삽입한명령어를계속실행시키기때문에문제가발생한다. [ 그림 2] 와같이환경변수에함수와명령어를함께새로운 Bash 프로세스에주입시킬경우해당프로세스가입력값을시스템의환경변수로등록하는과정에서리눅스명령어까지자동으로실행한다. ;; [ 그림 2] CVE-2014-6271 취약점공격방법 FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 49
Bash의소스코드를분석해보면, evalstring.c 파일내에정의되어있는 parse_and_ execute() 함수에서 Bash에전달된명령어를처리하여실행한다. 이때명령어문자열을처리하는과정에서반복문 (while) 을사용하는데, 함수선언문뒤에명령어가삽입된것을확인하고반복문을종료시키는코드가없다. 따라서함수선언문의끝까지처리한뒤에도반복문이계속실행되어뒤에삽입된명령어가실행된다. < 표 2> GNU Bash 취약점요약 int parse_and_execute (string, from_file, flags) {... while (*(bash_input.location.string)) {... < 표 3> 을보면, 현재처리하려는명령어가함수선언문뒤에삽입되어있는지확인하는조건문이없이다른명령어들과동일하게처리하는것을확인할수가있다. 취약점을해결한패치에서는 parse_and_execute() 함수를호출할때특정플래그값을주어함수선언문을처리할경우다른추가적인명령어를처리하지않도록수정되었다. < 표 3> 입력값검증미흡 if (parse_command () == 0) { if ((flags & SEVAL_PARSEONLY) (interactive_shell == 0 && read_but_dont_execute)) { last_result = EXECUTION_SUCCESS; dispose_command (global_command); global_command = (COMMAND *)NULL; } else if (command = global_command) { // 함수선언명령어인지확인하지않음 struct fd_bitmap *bitmap;... 50 INTERNET & SECURITY FOCUS October 2014
만약외부로부터환경변수를전달받아 Bash 쉘을통해명령어를실행하는서버가존재하 면, 공격자는함수선언문뒤에임의의명령어를삽입시켜해당프로세스의권한으로실행 시킬수있다. 직접적으로명령어주입이가능한취약점이기때문에 ASLR(Address Space FOCUS Layout Randomization) 6 등의운영체제보호매커니즘에전혀영향을받지않아공격성공률이높은매우심각한취약점이다. 각 OS 개발사에서는이에대한보안패치를신속하게발표했으나구글의보안연구원인타비스오르만디 (Tavis Ormandy) 는자신의트위터를통해 CVE-2014-6271 를해결한패치를적용해도함수선언문처리과정에여전히문제점 (CVE-2014-7169) 이있다고밝혀다시이슈화가되었다. [ 그림 3] 보안패치우회를제시한트위터내용 이후 Bash에대한해커들의관심이높아지면서추가적인취약점발견으로이어졌다. 레드햇의연구원인토드사빈 (Todd Sabin), 플로리안웨이머 (Florian Weimer) 는 Bash가 10개이상의리다이렉트명령문을처리하거나특수한반복문을처리하는과정에서잘못된메모리접근을유발할수있다는보고와함께추가적인취약점 (CVE-2014-7186, CVE-2014-7187) 을공개하였으며구글의미첼잘루스키 (Michal Zalewski) 는자신의블로그를통해 Bash의함수처리부분을퍼징 (Fuzzing) 7 하는동안두가지취약점을추가적으로발견했다고밝혔다. 6 ASLR(Adress Space Layout Randomization) : 프로그램이실행될때마다메모리주소를랜덤하게배치 7 퍼징 (Fuzzing) : 소프트웨어에임의의데이터를무작위로입력하여보안상의취약점을찾아내는기술 FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 51
그중 CVE-2014-6277 는할당되지않은메모리에접근하는취약점이며, 공격자가원하는메모리주소를읽거나그주소에데이터를쓰도록제어할수있다. 추가로발견된취약점 (CVE-2014-6278) 은첫번째쉘쇼크취약점과유사하게직접적으로명령어를삽입할수있는취약점이지만, CVE-2014-6271 를해결한첫보안패치를설치했을경우에만취약한제한사항이있다. 따라서 CVE-2014-6271 취약점이공개된이후최초로공개된보안패치를설치한서버는최신패치로신속하게업데이트를해야한다. 2. 취약한프로그램 쉘쇼크취약점은시스템에 GNU Bash가설치되어있다고해서무조건공격에영향을받는것은아니며앞서언급한바와같이환경변수를통해 Bash를호출할수있는프로그램또는스크립트가시스템내에존재할경우취약점에영향을받는특성을가지고있다. < 표 4> 는현재까지쉘쇼크취약점을이용하여일부제한된환경에서공격이가능하다고알려진프로그램들의목록이며, 해당프로그램이설치되어있다고해서무조건취약한것은아니다. 하지만국내뿐만아니라전세계적으로많이사용하는서버기반의소프트웨어들이다수포함되어있어이번취약점의파급력이크다는것을파악할수있다. < 표 4> Bash 취약점에취약하다고알려진프로그램들 CGI NAS(QNAP) OpenVPN DHCP VMWARE PureFTPd Inetd stunnel Exim Apache mod_cgi, mod_cgid VOIP SIP Server QMail SSH suphp Postfix gopher Nginx procmail 보고서에언급한프로그램들외에도외부데이터를환경변수로설정하여 Bash 를실행시 키는방식으로동작하는프로그램이있다면마찬가지로취약점에영향받을수있다. 특히 Apache 를통해인터넷에 CGI 페이지를서비스하고있는경우공격에별다른제약조건이 52 INTERNET & SECURITY FOCUS October 2014
없어공격자들이가장선호하는공격대상으로분석되었다. 넷크래프트 (NetCraft) 의조사에 따르면 Apache 가웹서버중가장높은비중을차지하고있는것으로나타났다. FOCUS 출처 : 넷크래프트 [ 그림 4] 웹서버소프트웨어점유율 아래 [ 그림5] 은실제로쉘쇼크취약점에영향받는 CGI 웹서버에테스트를수행한결과화면이다. HTTP의헤더영역에함수와명령어를넣어취약한 CGI 서버로전송하면응답패킷의헤더부분에삽입한명령어를실행한결과가저장되거나 500번에러메시지가회신되어대상서버의취약여부를판별할수있다. 만약전송한명령어가서버의데이터를삭제하는것이었다면공격자가획득한권한여부에따라해당서버를파괴하는동작도가능하다. [ 그림 5] Bash 취약점에노출된화면 FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 53
3. 공격유형 현재 GNU Bash 취약점을악용한다양한공격들이네트워크에서탐지되고있다. 주요공 격유형들은아래와같다. - 공격자의서버에포트를열어놓고피해자의서버에서공격자서버로접속하도록유도 [ 그림 6] 리버스쉘연결 - 악성코드유포지서버에서악성코드를다운로드하여실행 [ 그림 7] 악성코드다운로드 - 공격자가 ping 을통해대상서버가취약한지체크 [ 그림 8] 시스템상태확인 - 대상시스템의계정정보 (/etc/passswd) 를탈취 [ 그림 9] 패스워드파일탈취 54 INTERNET & SECURITY FOCUS October 2014
- 웹디렉토리에웹셀 ( 악성스크립트 ) 생성 FOCUS [ 그림 10] 웹쉘생성 - 시스템을강제로재시작하여서비스거부발생 [ 그림 11] 시스템강제재시작 - 시스템의파일중.php 확장자로된파일을삭제하여웹서비스방해 [ 그림 12] 파일삭제 - 디렉토리전체파일을삭제하여시스템파괴 [ 그림 13] 디렉토리삭제 - 공격자메일로메일을발송하여대상시스템의취약여부확인 [ 그림 14] 메일발송 - sleep 함수를통해대상시스템의응답시간을체크하여취약여부확인 [ 그림 15] 시스템슬립 FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 55
4. 공격가능시나리오 현재악용가능성이제일높은것은 CGI 페이지에대한공격이다. CGI는 HTTP 패킷의헤더의데이터를환경변수로설정하여쉘을실행시킨다. 따라서헤더부분에취약점을공격하는페이로드를삽입하면 CGI 페이지를운영중인서버에임의의명령어를실행시킬수있다. CGI 페이지를이용한악성시나리오는아래와같다. [ 그림 16] CGI 공격시나리오 QMAIL 또한 Bash를사용하여명령어를실행시키는프로그램의일종이다. QMAIL은유닉스용오픈소스메일전송에이전트이며, 센드메일의보다더안전한보안성을제공하고자개발되었다. QMAIL을통해메일을전달할때, 확장자가.qmail인파일에메일수신자에게전달할프로그램의목록을저장한다. 메일을실제수신자에게전달할때.qmail 파일을파싱하여실행하는데, 이때 Bash를사용한다. 실행할때 SENDER라는환경변수를정의하는데, SENDER 값에공격자가명령어를삽입하면 QMAIL이.qmail 파일을처리하는과정에서악의적인명령어가실행될수있다. 56 INTERNET & SECURITY FOCUS October 2014
FOCUS [ 그림 17] QMAIL 공격시나리오 Ⅲ. 공격동향분석을통한보안위협예측 1. 공격동향분석 쉘쇼크 (ShellShock) 취약점이 2014년 9월 24일 ( 현지시간 ) 공개된이후취약점을악용하는다양한사이버공격이전세계적으로발생하고있다. 현재까지관측된공격자의주요활동으로는취약점스캔, 악성코드유포, DDoS 공격을위한봇넷구성등이며, 이들중불특정다수를대상으로취약한시스템을검색하는스캔공격이가장빈번하게일어나는것으로나타났다. 9월 26일에는쉘쇼크의취약점을이용하는최초봇넷악성코드로알려진 wopbot 이등장하였으며, 악성코드의주요행위는미국방성 IP 주소범위 (215.0.0.0/8) 를대상으로한스캔공격과컨텐츠전송네트워크 (CDN) 서비스를제공하는회사인아카마이 (Akamai) 에대한 DDoS 공격을수행하는것으로이탈리아연구원에마누엘레젠틸리 (Emanuele Gentili) 에의해확인되었다. FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 57
자체수집한공격 IP 및 Andrew Hay 보안연구원에의해공개된공격 IP 8 [ 그림 18] 공격 IP 소재지통계 현재국내 외에서수집한공격 IP 1160개를분석한결과, 주요공격 IP의소재지는미국 (30%), 영국 (13%), 중국 (9%) 으로파악됐으며, 탐지한 IP중절반이상 (52%) 의수치가이들국가의 IP로부터발생한것으로확인되었다. 그외영국, 러시아, 프랑스, 독일등다국적으로공격 IP가탐지되고있어쉘쇼크에대한공격자들의활동이활발하게진행되고있는것으로분석되었다. 전세계적으로광범위하게쉘쇼크취약점을이용한공격이발생하는이유는원격에서아무런제약없이시스템에침투할수있어공격성공률이높으며기업이나기관에서보안패치를하기전에많은수의시스템을감염시키려고하기때문이다. 공격자들의이러한활동은향후대규모 DDoS 공격등의사이버공격에활용하기위한봇넷을구축하는사전작업으로예측할수있다. 시스코보안연구원마틴리 (Martin Lee) 의조사에따르면, 시스코장비에의해탐지된공격 IP중가장활발한공격시도가있었던 IP 소재지로 61.160.224.130( 중국 ) 가확인되었으며이것은공격자가다수의감염시스템을확보하려는한예시로볼수있다. 8 https://gist.github.com/andrewsmhay/de1cdc63d04c2bbf8c12 58 INTERNET & SECURITY FOCUS October 2014
FOCUS 출처 : 시스코 [ 그림 19] IP 별공격시도횟수 2. 국내공격동향 국내에서도취약점발표이후다수의공격시도가탐지되고있으며대부분의공격이다른곳과마찬가지로 CGI를기반으로하는웹서버를타겟으로하고있으며웹관리용프로그램인 webmin(10000/tcp) 서비스에서도공격시도가탐지되고있다. 국내를대상으로한국가별공격탐지건수는프랑스 IP가 4,480건으로가장많았으며, 일자별탐지건수로는 9월 30일에공격시도가가장많았던것으로분석되었다. 또한아래의그림 [21] 에서볼수있듯이일일평균 100회이상의공격이탐지되고있어패치를하지않았을경우공격으로인한피해를받을수있다. [ 그림 20] 국가별공격시도탐지건수 (14.09.26 ~ 14.10.01) FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 59
[ 그림 21] 일자별공격시도탐지건수 (14.09.26 ~ 14.10.01) 국내의쉘쇼크취약점에대한공격영향도를파악하기위해 CGI 웹서버를사용하는곳을구 글검색엔진과쇼단 (shodan) 9 을통해검색해본결과상당수의웹서버가쉘쇼크취약점에 취약할가능성이높은 CGI 를사용하고있는것으로확인되었다. [ 그림 22] 구글링을통해국내에서 CGI 를사용하는페이지검색결과 (41 만 5 천건 ) [ 그림 23] html:.cgi country:kr 검색결과 (38 만 4 천건 ) 9 쇼단 (shodan): 인터넷에연결된기기를검색하는서비스 (https://www.shodan.io) 60 INTERNET & SECURITY FOCUS October 2014
3. 공격프로그램분석 또한그림 [24,25] 와같이 Bash 취약점을악용할수있는다양한공격도구가 SNS, 해커 FOCUS 커뮤니티및 pastebin.com 10 사이트등을통해공개되었다. [ 그림 24] pastebin.com 에공개된쉘쇼크공격도구 [ 그림 25] 트위터에공개된쉘쇼크 POC 도구 10 pastebin.com : 개발자가자신이개발한소스코드를저장하기위한사이트로공격자들이공격도구를공개하는사이트로도사용되고있음 FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 61
이들공격도구의특징을살펴보면대부분의공격은아래의 CGI 웹디렉터리를주요타겟 으로하고있는것으로분석됐다. [ 그림 26] 공격도구의주요타겟웹 URL 주소 보안회사에서는기업이나기관에서자체점검을할수있도록점검도구를공개하였다. 점검사이트및도구목록은아래와같으며, 점검시특정문자열을기록하여실제공격도구와구별할수있도록하였다. < 표 5> 쉘쇼크취약점점검도구의특징점검도구특징비고 에라타시큐리티 (ShellShock scan) CrowdStrike (ShellShock Scanner) CVE-2014-7shellshocker.net (shellshock_test.sh)186 User-agent에 shellshock-scan 문자열이기록됨 User-Agent에 CrowdStrike ShellShock Scanner/1.0 문자열이기록됨 CVE-2014-6271 (original shellshock) : VULNERABLE 문자열이기록됨 원격점검용 원격점검용 로컬점검용 4. 악성코드분석 그리고쉘쇼크취약점을이용하여악성코드를유포하는사례가여러바이러스백신회사와보안회사로부터탐지되었다. 악성코드종류로는 DDoS 공격을위한봇넷구성, 추가악성코드다운로드, 리버스연결을통한권한획득악성코드로구분되었으며, 이중대부분의악성코드가 DDoS 공격을수행하는것으로나타났다. 알려진악성코드중 wopbot 은 Akamai 회사에대한 DDoS 공격사례이다. 62 INTERNET & SECURITY FOCUS October 2014
< 표 6> 악성코드유포지목록과행위 http://74.xxx.85.69/ec.z 악성코드유포지목록 악성코드행위 DDoS 공격기능을가진 IRCBOT FOCUS http://82.xxx.38.36/user http://198.xxx.76.152/wow1 http://xxx.com/legend.txt http://213.5.xxx.223/jur http://xxx/.c http://xxx/shock/cgi http://104.192.xxx.6/bosh http://37.187.xxx.119/conf.txt http://xxx/bots/regular.bot http://xxx/.a DDoS 공격기능을가진 IRCBOT DDoS 공격기능을가진 IRCBOT DDoS 공격기능을가진 IRCBOT DDoS 공격기능을가진 IRCBOT DDoS 공격기능을가진 IRCBOT DDoS 공격기능을가진 IRCBOT DDoS 공격기능을가진 IRCBOT DDoS 공격악성코드드랍퍼악성코드드랍퍼 http://xxx/fu4k 리버스연결 (27.19.159.xxx:4545 연결시도 ) http://xxx/auth 리버스연결 (46.246.34.xxx:1992 연결시도 ) http://82.118.242.xxx:5487/v 리버스연결 악성코드에이용된 C&C 서버는주로미국, 영국, 네덜란드등에위치하고있었으며미국 (US) 이가장많은비율을차지하는것으로확인되었다. 공격자는 IRC 채팅방을주로 C&C 서버로이용하였다. < 표 7> 에주요악성코드 C&C 서버들의 IP 주소와위치를정리했다. < 표 7> 악성코드 C&C 정보 악성코드 C&C IP 위치 89.238.150.xxx United Kingdom 108.162.197.xxx United States 162.253.66.xxx United States 162.253.66.xxx United States 213.5.67.xxx Netherlands 68.235.41.xxx United States 162.220.10.xxx United States 198.98.112.xxx United States FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 63
5. 보안위협예측 몇몇보안연구원들은이번쉘쇼크취약점이악성코드를스스로전파시킬수있는웜바이러스형태로발전할수있다고예측하고있다. 인터넷에연결된많은수의리눅스시스템을대상으로쉘쇼크취약점을이용하여특정시스템을감염시키고감염된시스템이다음감염시킬대상을스스로찾아가는웜바이러스가나올경우훨씬많은수의시스템을감염시킬수있어지난 2003년 1월 25일발생한 SQL 슬래머웜이원격코드실행취약점을이용했듯이공격자들이쉘쇼크취약점을웜의형태로발전시킬수있다. SQL 슬래머웜은우리나라를비롯해전세계적으로인터넷전산망에막대한피해 ( 약 10억 $) 를주었다. 이렇게쉘쇼크취약점이발견된후다양한공격활동및여러가지예측을분석해보면앞으로도이취약점을이용한공격이더진보하고확산될가능성이높다. 국내 IT인프라에도다양한기기에서리눅스운영체제를사용하고있기때문에단순웹서버만공격을시도하는것이아니라사물인터넷기기, 스카다등의국가기반시설시스템으로공격을시도할잠재적인가능성을배제할수없다. 국내에서데이터저장장치인 NAS장비 (QNAP) 에대한공격시도가탐지된것이이를뒷받침해주는근거이다. 보안회사 Fireeye 에의해공격시도가탐지되었으며불특정다수를공격하는일반적인쉘쇼크스캔공격과는다르게한국과일본에서주로공격활동이발견되고있다고밝혔다. 공격자는 NAS장비를공격하여스토리지에저장된기밀연구자료, 개인소장자료등의중요데이터에접근하기위한목적으로공격을이용한것으로보인다. 이번쉘쇼크취약점은산업제어시스템인스카다시스템으로의공격이일어날수도있다는점을고려해야한다. 일반적으로중요산업제어시스템 (SCADA) 의경우인터넷에연결되지않아상대적으로안전한것으로볼수있으나, 만약 Bash 취약점에노출된시스템이스카다시스템에연결되어있다면위협은존재할수있다. 따라서인터넷에공개된시스템의경우우선적인보안조치가필요하며이번쉘쇼크취약점을제거하기위해지속적인노력이필요한것을인지해야한다. 64 INTERNET & SECURITY FOCUS October 2014
Ⅳ. 취약점대응방안 쉘쇼크취약점에영향받는시스템을운영하고있는기업에서는빠른시일내에취약점에 FOCUS 대한조치를해야한다. 본장에서는기업측면에서조치를할수있는몇가지방법에대해 설명한다. 1. Bash 업데이트 가장근본적인방법은취약한 Bash 버전을가장최신버전으로업데이트하는것이다. 사 용하는운영체제의제조사홈페이지를방문하면취약점이해결된최신 Bash 버전을설치하 는방법을안내받을수있다. 아래표는주요운영체제제조사의업데이트페이지이다. < 표 8> 제조사별업데이트링크 CentOS Redhat Ubuntu Fedora Solaris Suse Arch http://centosnow.blogspot.kr/2014/09/critical-bash-updates-for-centos-5.html https:/rhn.redhat.com/errata/rhsa-2014-1306.html http://www.ubuntu.com/usn/usn-2364-1/ http://fedoramagazine.org/updated-bash-packages-now-available-via-fedora-updates/ https://support.oracle.com/rs?type=doc&id=1930090.1 http://lists.opensuse.org/opensuse-security-announce/2014-09/msg00042.html https://lists.archlinux.org/pipermail/arch-security/2014-september/000099.html Mac OS X http://support.apple.com/kb/dl1769 http://support.apple.com/kb/dl1768 http://support.apple.com/kb/dl1767 FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 65
보통운영체제제조사는소프트웨어업데이트를패키지형태로제공하는데, 각운영체제 별패키지업데이트방법은아래와같다. < 표 9> 제조사별패키지업데이트방법 OS 종류 업데이트방법 yum clean all && yum update bash CentOS RHN 업데이트문제로해결이되지않을경우 cd /etc/yum.repos.d vi rhel-debuginfo.repo를통해아래와같은내용으로대체 name=centos-$releasever - Updates baseurl=http://mirror.centos.org/centos/5/updates/$basearch/ gpgcheck=1 <rhel-debuginfo.repo 파일내용변경 > Redhat 대체후, 사용할버전맞게명령어입력 rpm import http://mirror.centos.org/centos/ ( 버전에따라입력 ) (ex : rpm import http://mirror.centos.org/centos/5/os/x86_64/rpm-gpg-key- CentOS-5) yum update bash Ubuntu sudo apt-get update sudo apt-get install --only-upgrade bash (1) 페도라 21 알파 su -c yum -y install koji koji download-build --arch=$(uname -m) bash-4.3.25-2.fc21 su -c yum localinstall bash-4.3.25-2.fc21.$(uname m).rpm Fedora (2) 페도라 20su -c yum -y install koji koji download-build --arch=$(uname -m) bash-4.2.48-2.fc20 su -c yum localinstall bash-4.2.48-2.fc20.$(uname -m).rpm (3) 페도라 19 su -c yum -y install koji koji download-build --arch=$(uname -m) bash-4.2.48-2.fc19 su -c yum localinstall bash-4.2.48-2.fc19.$(uname -m).rpm 66 INTERNET & SECURITY FOCUS October 2014
OS 종류 (1) Debian 6 (Squeeze) sudo apt-get update sudo apt-get install bash 업데이트방법 FOCUS (2) Debian 7 (Wheezy) sudo vim /etc/apt/sources.list를통해아래와같은내용작성 debian deb http://http.debian.net/debian/ squeeze main contrib non-free deb-src http://http.debian.net/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free deb http://http.debian.net/debian squeeze-lts main contrib non-free deb-src http://http.debian.net/debian squeeze-lts main contrib non-free <sources.list 파일내용변경 > sudo apt-get update sudo apt-get install bash Solaris 패치파일다운로드 (https://support.oracle.com/rs?type=doc&id=1930090.1) patchadd < 패치경로 > (1) Enterprise Software Development Kit 11 SP3 zypper in -t patch sdksp3-bash-9780 (2) Enterprise Server 11 SP3 for VMware zypper in -t patch slessp3-bash-9780 SUSE (3) Enterprise Server 11 SP3 zypper in -t patch slessp3-bash-9780 (4) Enterprise Server 11 SP2 LTSS zypper in -t patch slessp2-bash-9781 (5) Enterprise Server 11 SP1 LTSS zypper in -t patch slessp1-bash-9782 (6) Enterprise Desktop 11 SP3 zypper in -t patch sledsp3-bash-9780 Arch pacman Syu FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 67
OS 종류 업데이트방법 Mac OS X http://support.apple.com/kb/dl1769 http://support.apple.com/kb/dl1768 http://support.apple.com/kb/dl1767 운영체제버전에알맞은 DMG 파일을다운받아설치 2. 사용하지않는 CGI 페이지삭제또는관련서비스중지 CGI 서비스의사용유무를확인하여해당서비스를사용하지않을경우에는 CGI 관련서 비스를중지시키거나 CGI 페이지를삭제해야한다. 기업운영에불필요한서비스를계속유 지하는것은잠재적인보안구멍을계속노출시키는것이다. 3 네트워크탐지룰설정 현재네트워크에서쉘쇼크취약점을공격하는시도가계속탐지되는가운데, 네트워크보안장비 (IPS/IDS/ 웹방화벽등 ) 단에서공격시그니처를등록하여차단을할수있다. SNORT 탐지룰의경우, https://www.snort.org/download 에서최신룰을다운로드받을수있다. alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg: Volex Possible CVE-2014-6271 bash Vulnerability Requested (header) ; flow:established,to_server; content: () { ; http_header; threshold:type limit, track by_src, count 1, seconds 120; sid:2014092401;) 출처 : http://www.volexity.com/blog/?p=19 68 INTERNET & SECURITY FOCUS October 2014
Ⅴ. 결론 쉘쇼크취약점은악용이쉽고영향받는시스템또한많기때문에실제공격들이다수발 FOCUS 생하고있다. 취약점에노출된시스템은침해사고로직결될수있기때문에기업이나기관의적극적인보안조치가필요하다. 특히보안담당자시야에서벗어나있는시스템들이공격대상이될확률이높아이에대해조사할필요가있으며, 패치를적용할때외부망에노출된시스템을우선적으로패치하는것이중요하다. 또한공격추세가일반서버에서오픈소스의리눅스서버등다른컴퓨팅환경으로확산될가능성이존재하니이에대한인식과주의가요구된다. 참고문헌 GossamerThreads (2014), http://www.gossamer-threads.com/lists/qmail/users/138578. itnews (2014), http://www.itnews.com.au/news/396197,first-shellshock-botnet-attacksakamai-us-dod-networks.aspx. lcamtuf s blog (2014), http://lcamtuf.blogspot.kr/2014/10/bash-bug-how-we-finallycracked.html. Netcraft (2014), http://news.netcraft.com/archives/2014/06/06/june-2014-web-serversurvey.html. OpenDNS (2014), http://labs.opendns.com/2014/10/02/opendns-and-bash/. Openwall (2014), http://www.openwall.com/lists/oss-security/2014/09/25/13. Wikipedia (2014), http://en.wikipedia.org/wiki/shellshock_(software_bug). FOCUS 4 GNU Bash 원격코드실행취약점이슈분석및대응방안 69