상세 컨텐츠

본문 제목

ImageMagick 에서 원격코드실행 취약점(CVE-2016-3714) 발견 !

국내외 보안동향

by 알약(Alyac) 2016. 5. 19. 11:18

본문

ImageMagick 에서 원격코드실행 취약점(CVE-2016-3714) 발견 !


ImageMagick 은 이미지 처리 오픈소스 소프트웨어로, 수 많은 홈페이지에서 사용되고 있습니다. 하지만 5월 3일, ImageMagick에서 심각한 제로데이 취약점이 발견되었습니다. 해당 취약점을 이용하면 공격자가 악의적으로 제작한 이미지 파일을 업로드 하여 목표 서버에서 악의적인 코드를 실행시킬 수 있습니다. 


만약 현재 운영중인 사이트에서 ImageMagick 을 사용한다면, 반드시 아래 조치를 취해야 합니다. 또한 코드를 수정하여 유효한 이미지 파일만 업로드를 허용하거나, ImageMagick샌드박스를 이용하는 것도 좋은 방법 중 하나입니다. 


▶ 조치방법 보러가기


이번 취약점이 공개된 후에 취약점 관련 EXP도 공개되었으며, ImageTragick이라고 명명되었습니다. 취약점의 EXP은 이미 이메일과 각종 커뮤니티에 공유되고 있습니다. 그렇기 때문에 만약 ImageMagick을 사용하고 있다면, 최대한 빨리 조치를 취하는 것이 권고됩니다. 


ImageMagick은 Perl, C++, PHP, Python등 다양한 언어를 지원하며, 홈페이지, 블로그, sns 및 wordpress등 몇백만개의 홈페이지에서 사용되고 있습니다. 


이 취약점의 이용은 매우 간단압니다. 악의적으로 수정된 이미지 파일을 목표 웹서버에 올리면 공격자는 임의 코드를 실행하여 주요 정보들을 탈취할 수 있습니다. 


이는 즉, ImageMagick을 사용하고 있고, 사용자들에게 이미지 업로드 권한이 부여되고 있는 홈페이지는 모두 취약하다는 뜻입니다. 


현재까지 패치는 공개되지 않았지만, 설정파일 중 몇줄의 코드를 추가하면 일부 공격을 차단할 수 있습니다. 


Web관리자들은 파일이 ImaeMagick에 의해 처리되지 건 문서의 magic bytes를 확인하는 로직을 추가할 것이 권고됩니다. Magic bytes는 문서의 앞 몇바이트로, 이미지 유형을 판단하는데 사용되는 것입니다.



취약점 설명


ImageMagick 공식 홈페이지에 따르면, 공격자가 공격코드가 포함된 이미지를 업로드 하고, 원격에서 해당 코드를 실행시켜 서버를 장악할 수 있는 원격코드실행취약점(CVE-2016-3714)이 존재하며, 해당 취약점은 ImageTragick 이라고 명명하였다고 밝혔습니다. 


영향범위


1. ImageMagick의 라이브러리를 이용하여 이미지 처리 및 랜더링을 하는 프로그램

2. ImageMagick을 사용하는 CMS

3. shell에서 convert명령을 이용하여 이미지 처리를 하는 기능


해결방법


1. 설정문서에서 ImageMagick을 사용하지 않도록 설정한다. 

2. "/etc/ImageMagick/policy.xml"에 다음과 같은 코드를 추가한다. 


<policymap>

  <policy domain="coder" rights="none" pattern="EPHEMERAL" />

  <policy domain="coder" rights="none" pattern="URL" />

  <policy domain="coder" rights="none" pattern="HTTPS" />

  <policy domain="coder" rights="none" pattern="MVG" />

  <policy domain="coder" rights="none" pattern="MSL" />

</policymap>


POC


https://github.com/ImageTragick/PoCs



참고 : 

https://imagetragick.com/

http://thehackernews.com/2016/05/imagemagick-exploit-hack.html

관련글 더보기

댓글 영역