posted by 알짜 정보 岳岩 2019.08.07 08:14

JPEG 파일의 EXIF 헤더에 PHP 코드 심어 멀웨어 다운로드하는 공격
2013년에도 있었던 공격 캠페인...최근 공격은 보다 정교하게 가다듬어져

[보안뉴스 문가용 기자] 독특한 스테가노그래피 기술을 사용해 악성 웹셸을 웹사이트에 심는 공격이 남아메리카 지역에서 발견되고 있다는 소식이다. 보안 업체 트러스트웨이브(Trustwave)에 따르면 공격자들은 JPEG 파일의 EXIF 헤더에 PHP 코드를 심는 기법을 사용하고 있다고 한다.

[이미지 = iclickart]


이미지 파일에 멀웨어를 숨기는 건 이미 널리 알려진 기법이다. 많은 보안 솔루션들이 이미지 파일들을 그대로 통과시켜주기 때문에, 공격자들이 이미지를 활용하는 법을 예전부터 연구해왔다. 이번에 발견된 스테가노그래피 공격의 경우 패치가 완전히 끝났고, 취약점이 없는 것처럼 보이는 웹사이트도 공격할 수 있다는 점에서 눈에 띈다.
트러스트웨이브의 보안 전문가인 칼 시글러(Karl Sigler)는 “PHP에는 EXIF 데이터를 읽고 검사할 수 있는 기능이 있기 때문에, 공격 표적이 되는 웹사이트에 이미지를 업로드할 수만 있다면 사실상 원하는 모든 멀웨어를 업로드할 수 있게 되는 것”이라고 설명한다. “즉 공격자로서는 이미지 업로드를 허용해주는 웹사이트를 찾기만 하면 됩니다.”
시글러는 “웹 기반 방화벽과 멀웨어 스캐너 등은 이미지 파일을 화이트리스트 기법으로 처리하는 것이 보통”이라며, “이번 공격 기법을 고안한 사람은 꽤나 영리해 보인다”고 덧붙이기도 했다.
EXIF는 ‘교환 가능한 이미지 형식(Exchangeable Image Format)’의 준말로, 디지털 카메라, 스캐너 등의 장비에서 사용되는 이미지, 사운드, 보조 태그의 특징들을 구체적으로 명시하는 표준 기술이다. 여기서 말하는 특징들이란 이름, 크기, 해상도 등을 말한다. PHP에는 이미지의 EXIF 메타데이터를 추출해서 읽어내는 기술이 원래부터 탑재되어 있다. 
“이미지 업로드 기능이 있는 웹사이트라면, 높은 확률로 EXIF 데이터를 읽고 검사하는 PHP 파일을 탑재하고 있을 겁니다. 그런 경우라면 간단한 업로드만으로 이 PHP 파일을 발동시켜 EXIF 내에 숨긴 악성 코드를 실행시킬 수 있게 됩니다. 즉, 이미지만 조작할 수 있다면 그 다음부터의 공격은 일사천리로 진행될 수 있다는 겁니다.”
EXIF를 읽을 수 있는 PHP의 기능은 웹사이트용 툴 및 플러그인 패키지에서 아주 흔히 발견되는 것으로, “PHP의 작동 원리를 알아야만 공격을 할 수 있는 것도 아니”다. “물론 아무것도 모른 채 공격을 할 수 있는 건 아닙니다. 어느 정도의 PHP 관련 기술을 가지고 있긴 해야 됩니다. 다만 전문가 수준이 될 필요는 없다는 것이죠.”
이러한 공격 수법이 새롭게 등장한 건 아니지만, 흔한 것이라고 하기는 힘들다. 시글러는 “비슷한 원리로 진행되는 공격이 마지막으로 발견된 건 2013년”이라고 한다. “다만 2013년 공격에 비해 많이 가다듬어졌어요. 2013년 공격의 경우 웹셸 백도어 전체가 헤더에 숨겨져 있었습니다. 지금은 다단계로 공격이 진행되죠. JPEG 이미지에 숨겨진 코드는 1단계 드로퍼 기능만 가지고 있습니다. 침투에 성공해 실행되었을 때 다음 단계의 페이로드가 실행됩니다.”
1단계 공격에 사용된 코드를 가지고 ‘멀웨어’라고 부르는 건 약간 애매할 수 있다고 시글러는 말한다. “그냥 뭔가를 다운로드 하는 기능일 뿐이거든요. 그렇기 때문에 보안 장치들을 통과하는 게 쉬운 겁니다. 악성인지 아닌지, ‘다운로드 기능’만 가지고 판단하기가 어렵다는 것입니다.”
공격자들은 이렇게 보기 힘든 기술을 영리하게 사용해서 뭘 얻어내려고 한 걸까? 트러스트웨이브는 “주로 남미의 전자상거래 사이트들이 표적이 되고 있다”고 말한다. “대부분의 웹사이트들에는 구멍이 있기 마련입니다. 그 구멍을 통하면 웹사이트드로 더 쉽게 침투할 수 있습니다. 하지만 운영이 잘 되어 있고 중요한 취약점이 하나도 없는 사이트라면 이런 스테가노그래피 공격을 통해 침투를 생각해볼 수 있습니다.”
그런 점들을 미루어 시글러는 “공격자들이 꽤나 돈을 잘 버는 것으로 알려진 전자상거래 웹사이트들을 공격 표적으로 삼는 것 같다”고 말한다. “최근 다크웹에서는 ‘카드 부재(CNP)’ 데이터가 꽤나 많이 판매되고 있습니다. 요새 크게 급증했습니다. 일반 매장의 POC에서 긁어낸 데이터보다 훨씬 많습니다. 이런 데이터를 탈취하기 위해 규모가 큰 전자상거래 사이트를 노리고 있을 확률이 가장 높아 보입니다.”
이런 식의 공격을 막으려면 웹사이트 운영자들은 제일 먼저 이미지 파일 내에 있는 PHP 태그들을 스캔해봐야 한다. 태그가 있으면 이미지를 보다 상세하게 검사할 필요가 있다. 웹사이트에 있는 이미지 업로드 기능이 꼭 필요한 게 아니라면 빼는 것도 좋은 방법이다. 보안뉴스

3줄 요약
1. 이미지 파일의 헤더에 PHP 코드 삽입해 다운로더 발동시키는 ‘흔치 않은’ 공격 발견됨.
2. 주로 남미에서 일어나고 있는 영리한 공격임. 규모 큰 전자상거래 웹사이트가 표적.
3. 현재 다크웹에서는 CNP 데이터 판매량이 급증하고 있음. 여기에 편승하려는 자들이 공격자인 듯.

댓글을 달아 주세요