|
카스퍼스키랩에서 발견한 플레임(Flame) 바이러스에 대한 FAQ내용이다.
스토리 있는 플레임 바이러스에 관심이 있는 분들은 참고하면 좋을 것 같다. 아래의 글 내용의 출처는 한국카스퍼스키랩 홈페이지이다.
플레임은 악명 높은 사이버 공격 무기인 두쿠 및 스턱스넷과 여러 면에서 유사한 특성을 보이고 있습니다. 세부 기능은 다르지만 특정 지역과 특정 대상에 집중된 공격 형태에 특정 소프트웨어 취약점을 악용한다는 점에서 현재 미지의 공격자에 의해 중동 아시아 일대에 퍼지고 있는 악명 높은 ‘슈퍼 무기’의 일종으로 분류할 수 있습니다. 플레임은 한 마디로 지금까지 발견된 보안 위협 중 가장 복잡한 위협입니다. 코드 양이 방대하고 믿을 수 없이 정교하여 기존의 사이버 전쟁 및 사이버 공격에 대한 개념을 바꾸고 있습니다.
|
기본 질문
1. 플레임은 정확히 무엇인가요? 웜인가요, 아니면 백도어인가요? 그리고 어떤 기능을 하나요?
플레임은 정교한 공격 도구로 두쿠보다 훨씬 더 복잡합니다. 백도어, 트로이 목마 및 웜과 같은 기능을 모두 가지고 있으며 공격자의 명령에 따라 로컬 네트워크 및 이동식 미디어를 통해 복제됩니다.
플레임의 최초 감염 지점은 아직 알려지지 않았습니다. 특정 대상에 대한 공격을 통해 배포되는 것으로 짐작하고 있지만 확산의 최초 매개체는 아직 확인되지 않은 상태입니다. 마이크로소프트 MS10-033 취약점의 사용 가능성에 대해 의심하고 있지만 지금으로서는 단정하기 어렵습니다.
시스템이 감염되면 플레임은 네트워크 트래픽 스니핑, 화면 캡쳐, 오디오 대화 녹음, 키보드 가로채기 등과 같은 복잡한 일련의 작업을 시작합니다. 이러한 모든 데이터는 플레임의 명령 및 통제 서버로 전송되어 공격자에게 전달됩니다.
감염 후에도 언제든지 플레임의 기능을 확장하기 위해 공격자가 추가 모듈을 업로드할 수도 있습니다. 플레임은 총 20개의 모듈로 구성되며 각 모듈의 용도는 현재 조사 중입니다.
2. 플레임은 얼마나 정교한가요?
플레임은 여러 모듈로 구성된 하나의 복합 패키지로서 전체 용량이 약 20MB에 달합니다. 따라서 분석 및 조사가 매우 어려운 악성 프로그램입니다. 플레임이 이렇게 큰 이유는 루아(Lua) 가상 머신과 함께, 압축(zlib, libbz2, ppmd), 데이터베이스 조작(sqlite3) 등 여러 가지 다양한 라이브러리가 포함되어 있기 때문입니다.
루아(Lua)는 스크립트(프로그래밍) 언어로 매우 쉽게 확장하여 C 코드와 접속할 수 있습니다. 플레임은 상당 부분이 루아(Lua)로 작성된 고차논리로 되어 있어, C++로 컴파일된 하위 루틴과 라이브러리를 효과적으로 공격할 수 있습니다.
실질적으로 작동하는 루아(Lua) 코드는 전체 코드 용량에 비하면 크기가 작습니다. 3,000행 정도의 루아(Lua) 코드를 개발하려면 평균 수준의 개발자가 작성 및 디버그하는 데 약 한 달이 소요될 것으로 추정됩니다.
[ 이미지 출처 - 카스퍼스키랩 ]
또한 내부적으로 사용되는 로컬 데이터베이스를 통해 중첩 SQL 쿼리, 여러 가지 다양한 암호화 방식과 압축 알고리즘, Windows Management Instrumentation 스크립트, 배치 스크립트 등의 기능을 지원합니다.
일반적인 실행 애플리케이션이 아닌 악성 프로그램을 실행하고 디버깅하려면 시스템 부팅 시 여러 DLL 파일을 로드해야 하므로 간단하지 않습니다.
한 마디로 플레임은 지금까지 발견된 보안 위협 중 가장 복잡한 위협이라고 할 수 있습니다.
3. 플레임은 다른 일반적인 백도어 트로이 목마와 어떻게 다르며 얼마나 더 정교한가요? 특별히 새로운 활동을 하나요?
무엇보다 루아(Lua)를 사용하는 악성 프로그램이라는 점에서 매우 특이합니다. 이 공격 도구의 용량이 매우 크다는 점에도 주목해야 합니다. 일반적으로 최신 악성 프로그램은 크기가 작으며 매우 압축된 프로그래밍 언어로 작성되어 숨기기가 쉽습니다. 대량의 코드를 통해 은폐를 시도하는 것은 플레임에서만 볼 수 있는 새로운 특징 중 하나입니다.
내부 마이크에서 나오는 오디오 데이터를 녹음하는 것 또한 새롭다고 할 수 있습니다. 물론 오디오를 녹음하는 다른 악성 프로그램도 존재하지만 플레임은 더욱 완벽한 기능을 제공하여 여러 가지 다양한 방법으로 데이터를 훔칠 수 있습니다.
또 다른 플레임의 특이한 점은 Bluetooth 기기의 이용입니다. 시스템에서 Bluetooth가 지원되고 해당 옵션이 커져 있는 경우 감염 컴퓨터 인근에서 감지되는 기기에 대한 정보가 수집됩니다. 또한 구성에 따라서는 감염된 시스템을 Bluetooth를 통해 감지될 수 있도록 비컨으로 만든 후 악성 프로그램 상태에 대한 일반 정보를 기기 정보에 인코딩하여 제공합니다.
4. 플레임의 주요 정보 도난 기능은 무엇이 있나요?
아직 여러 모듈에 대한 분석이 진행 중이지만 플레임은 마이크가 있을 경우 이를 통해 오디오를 녹음할 수 있는 것으로 보입니다. 녹음된 오디오는 공용 소스 라이브러리를 통해 압축된 형식으로 저장됩니다.
녹음된 데이터는 정기적으로 은밀한 SSL 채널을 통해 명령 및 통제 서버로 전송됩니다. 현재 진행 중인 분석이 끝나는 대로 조만간 카스퍼스키 랩 웹사이트에 자세한 정보를 공개할 것입니다.
플레임은 정기적으로 화면을 캡쳐할 뿐 아니라 특정 “관심” 애플리케이션이 실행될 때마다 화면을 캡쳐할 수 있습니다. 예를 들어 인스턴트 메신저의 화면을 캡쳐한 후 압축 형식으로 저장한 다음 오디오 녹음과 같이 정기적으로 명령 및 통제 서버로 전송합니다.
5. 플레임은 언제 만들어졌나요?
플레임 개발자들은 발각 시 생성일을 알 수 없도록 파일의 날짜를 변경해두었습니다. 파일 작성 연도가 1992년, 1994년, 1995년 등으로 되어있지만 이는 허위로 작성된 것입니다.
2010년 초에 처음 플레임의 기본 프로젝트가 시작된 것으로 추정하고 있으며 지금도 여전히 개발이 진행되고 있는 것으로 보입니다. 개발자들은 동일한 아키텍처와 파일 이름을 사용하면서 지속적으로 새로운 모듈을 추가하고 있습니다. 몇몇 모듈은 2011년 및 2012년에 변경되었습니다.
카스퍼스키 랩의 자체 데이터에 의하면 2010년 8월에도 플레임이 사용된 것으로 확인되었으며, 또 다른 데이터에 따르면 2010년 2월에서 3월 사이에 처음 활동을 시작한 것으로 보입니다. 또한 이를 뒷받침할 데이터는 아직 없지만 그 전에도 초기 버전이 존재했을 가능성도 매우 높습니다.
6. 플레임이라고 명명한 이유는 무엇이고, 그 유래는 무엇인가요?
플레임 악성 프로그램은 여러 모듈로 구성된 대용량의 공격 도구입니다. 주요 모듈 중 공격과 추가 컴퓨터에 대한 감염을 담당하는 핵심 모듈을 플레임이라고 부릅니다.
[ 이미지 출처 - 카스퍼스키랩 ]
7. 플레임 공격의 주체는 국가 기관인가요? 아니면 사이버 범죄자 또는 해킹을 통해 사회 운동을 하는 단체인가요?
현재 악성 프로그램 및 스파이웨어를 개발하는 집단은 크게 사회 운동의 일환으로 해킹을 이용하는 핵티비스트 및 사이버 범죄자, 그리고 정부 기관의 세 가지 그룹으로 나눌 수 있습니다. 플레임의 목적은 은행 계좌에서 현금을 훔치는 것이 아니며, 핵티비스트가 사용하는 단순한 해킹 도구와 악성 프로그램과도 다릅니다. 따라서 사이버 범죄자와 핵티비스트를 제외한 세 번째의 그룹일 가능성이 높다는 결론을 유추할 수 있습니다. 또한 특정 지역(중동 지역의 특정 국가)을 대상으로 고도의 복잡한 위협을 가하는 것으로 미루어 이 악성 프로그램의 제작에는 국가가 연루되어 있을 것으로 추정됩니다.
8. 플레임의 배후는 누구인가요?
코드 또는 기타 모든 관련 자료를 통해서도 아직 플레임의 개발을 주도한 특정 국가를 짐작할 수 있는 근거는 찾지 못했습니다. 따라서 스턱스넷 및 두쿠와 마찬가지로 아직 그 배후는 밝혀지지 않은 상태입니다.
9. 왜 이런 공격을 하는 건가요?
이란, 레바논, 시리아, 이스라엘 등 중동 지역에 있는 특정 국가 기관의 활동에 대한 정보를 체계적으로 수집하기 위해서입니다. 이 악성 프로그램의 영향을 받는 7개 주요 국가의 지도가 아래 나와 있습니다.
[ 이미지 출처 - 카스퍼스키랩 ]
10. 플레임에서 특정 기관을 대상으로 공격하는 이유가 향후 공격에 사용할 특정 정보를 수집하는 것인가요? 공격자들은 어떤 유형의 데이터와 정보를 찾고 있나요?
초기 분석에 따르면 이 악성 프로그램의 개발자들은 그 유형에 관계 없이 이메일, 문서, 메시지, 주요 위치에 존재하는 대화 내용 등, 거의 모든 정보를 수집합니다. 아직까지 공격의 주요 대상을 알 수 있는 어떠한 근거도 찾지 못했으며, 따라서 일반적인 사이버 스파이 활동을 위한 공격 목적으로 개발된 도구로 보입니다.
이전에 발견된 악성 프로그램을 통해서도 알 수 있듯이 고도로 유연하게 제작된 악성 프로그램은 SCADA 장치, ICS, 주요 인프라 등을 대상으로 하는 특정 공격 모듈을 배포하는 데 사용될 수 있습니다.
11. 플레임에서 목표로 하는 산업 분야 또는 기관은 무엇인가요? 산업 제어 설비/PLC/SCADA가 목표인가요? 목표 대상은 누구이고 얼마나 되나요?
플레임의 목표가 특정 조직이라는 것을 확인할 수 있는 어떤 가시적인 패턴도 찾지 못했습니다. 피해자는 개인에서 특정 정부 관련 기관 또는 교육 기관까지 다양합니다. 또한 사용자의 개인정보를 보호하기 위해 마련된 엄격한 개인 데이터 수집 정책으로 인해 피해자에 대한 정보를 수집하는 것이 쉽지 않은 형편입니다.
12. 분석 결과 플레임에는 한 종류만 있나요? 아니면 다른 변종도 있나요?
카스퍼스키 랩 보안 네트워크의 분석 결과에 의하면 크기와 내용이 서로 다른 여러 버전의 악성 프로그램이 활동하고 있습니다. 이 악성 프로그램의 개발이 수년 동안 진행되었을 것이라는 가정을 고려하면 여러 가지 버전이 존재하는 것도 당연한 일입니다.
또한 플레임은 최대 20개의 각기 역할이 다른 여러 플러그인으로 구성되어 있습니다. 실제로 감염된 사례를 보면 어떤 플레임은 7개의 플러그인 조합으로 구성된 반면, 15개의 플러그인으로 구성된 경우도 있었습니다. 피해자로부터 원하는 정보 및 플레임의 감염 기간에 따라 플러그인의 개수가 달라집니다.
13. 명령 및 통제 서버는 아직 운영 중인가요? 기본 명령 및 통제 서버가 여러 개인가요? 감염된 시스템이 명령 및 통제 서버에 접속하면 어떻게 되나요?
여러 대의 명령 및 통제 서버가 전 세계 여러 곳에 분산되어 있으며, 각 서버에서 실행되는 10여 개의 명령 및 통제 서버 도메인을 확인했습니다. 또한 다른 관련 도메인도 있을 수 있습니다. 악성 프로그램이 명령 및 통제 서버에 접속하는 데 총 약 80개의 서로 다른 도메인을 거치고 있어, 명령 및 통제 서버의 배포 사용을 추적하기가 매우 어렵습니다.
14. 플레임은 두쿠와 스턱스넷을 개발한 그룹에 의해 만들어졌나요? 유사한 소스 코드를 공유하거나 그 외 다른 공통점이 있나요?
용량 면에서 스턱스넷보다 20배 더 큰 플레임은 그만큼 더욱 다양한 공격 및 사이버 스파이 기능을 제공합니다. 플레임은 스턱스넷이나 두쿠와는 크게 유사한 점이 없습니다.
15. 두쿠를 발견했을 때는 “틸데드(Tilded)” 플랫폼에서 스턱스넷을 만든 사람들과 동일한 사람에 의해 만들어진 것임을 쉽게 알 수 있었습니다. 플레임은 어떤가요?
플레임은 스턱스넷이나 두쿠와 비슷한 시기에 틸데드(Tilded) 플랫폼을 사용하지 않고 만든 프로젝트로 보입니다. 플레임의 개발자가 “autorun.inf” 감염 방식을 사용하는 등 스턱스넷 프로젝트에 사용된 기술에 액세스했으며, 스턱스넷에 사용된 것과 같은 인쇄 스풀러 취약점을 악용했음을 나타내는 몇 가지 링크를 찾았습니다. 이를 통해 플레임 개발자는 스턱스넷 개발자와 동일한 취약점에 액세스했을 수 있음을 알 수 있습니다.
반면 스턱스넷의 발견 이후에 플레임의 최신 변종이 개발되었다는 점도 무시할 수 없습니다. 플레임의 개발자는 스턱스넷의 배포 방식에 대한 공개 정보를 접하고 이를 플레임에 활용했을 수도 있습니다.
요약하면 플레임과 스턱스넷 및 두쿠는 서로 다른 그룹에 의해 개발되었을 가능성이 높습니다. 스턱스넷 및 두쿠의 발각에 대한 대비책으로 비슷한 시기에 플레임을 개발한 것으로 보고 있습니다.
16. 플레임이 2010년 3월부터 활동했다고 하는데 스턱스넷이 발각된 시기와 유사합니다. 스턱스넷과 함께 사용되었을 수 있나요?
둘 다 프린터 스풀러 취약점을 악용한다는 점이 의심스럽습니다.
모든 계란을 한 바구니에 담지 말라는 것은 어떤 상황에서도 적용할 수 있는 유익한 격언입니다. 공격자의 입장에서 스턱스넷과 두쿠가 언제든지 발각될 가능성이 있다는 것은 자명하므로, 이와 유사하지만 기본 개념은 완전히 다른 프로젝트를 준비하지 않을 수 없었을 것입니다. 그러면 악성 프로그램 프로젝트 중 하나가 발각되어도 다른 프로젝트는 계속 들키지 않을 수 있을 것입니다.
따라서 플레임은 발각에 대한 대비책으로 다른 프로젝트와 동시에 진행한 프로젝트일 것으로 생각합니다.
17. 카스퍼스키 랩의 두쿠에 대한 분석 자료에 보면 두쿠의 “변종” 또는 다른 형식의 악성 프로그램이 존재할 수 있다고 했습니다. 플레임이 그 중 하나일까요?
그렇지 않습니다. 두쿠의 “변종”이 되려면 스턱스넷에도 사용되는 틸데드(Tilded) 플랫폼에 기반해야 합니다. 그러나 플레임은 틸데드(Tilded) 플랫폼을 사용하지 않습니다.
18. 지금까지 설명을 들어보면 플레임은 두쿠와 유사한 정보 해킹 도구 같습니다. 스턱스넷과 유사하지만 규모가 더 큰 사이버 공격 무기를 만들기 위한 정보 수집 작업의 일환으로 플레임이 개발되었을까요?
두쿠가 수행하는 정보 수집 작업은 규모가 작고 공격 대상이 매우 제한되어 있습니다. 두쿠는 전 세계적으로 50개 미만의 규모가 큰 대상만을 목표로 하고 있습니다.
플레임은 두쿠보다 훨씬 더 광범위하게 확산되어 있으며 전세계적으로 수천여 피해자가 있을 것으로 추정됩니다.
학계, 사기업, 특정 개인 등 그 목표 대상 또한 범위가 훨씬 넓습니다.
관찰 결과 플레임의 운영자는 감염된 시스템의 수를 일정한 수준으로 유지하도록 인위적으로 조정하는 것을 알 수 있었습니다. 그 과정은 매우 순차적으로 이루어집니다. 먼저 수십 대의 컴퓨터를 감염시킨 후 피해자의 데이터를 분석하고 관심 대상이 아닌 시스템에서는 가장 중요한 요소만 남겨둔 채 플레임을 제거합니다. 그런 다음 새로운 컴퓨터에 대해 다시 감염 작업을 시작합니다.
19. 와이퍼(Wiper)란 무엇이고 플레임과 어떤 관계이며, 얼마나 파괴적인가요? 와이퍼(Wiper)가 플레임과 같은 국가에서 발견되었나요?
와이퍼(Wiper) 악성 프로그램은 여러 언론 매체에서 보고되었지만 여전히 자세한 정보를 모르고 있습니다. 몇 건의 와이퍼(Wiper) 공격을 조사하는 과정에서 플레임이 발견되었지만, 플레임과 와이퍼(Wiper) 공격 간의 상관 관계에 대한 정보는 지금까지 밝혀진 것이 없습니다. 플레임의 복잡도를 고려하면 데이터 와이핑 플러그인을 언제든지 쉽게 배포할 수 있을 것 같지만 이에 대한 증거는 아직 찾지 못했습니다.
또한 와이퍼(Wiper) 악성 프로그램에 의해 감염된 시스템은 완전히 복구 불능 상태가 되며, 손상의 범위가 너무 커서 공격의 흔적을 추적할 수 있는 정보가 하나도 남아 있지 않습니다.
지금까지 와이퍼(Wiper) 사고에 대한 정보가 보고된 것은 이란이 유일합니다. 반면 플레임은 이란을 포함한 중동 지역의 여러 국가에서 발견되었습니다.
플레임 악성 프로그램에 대한 기능/특징 질문
20. 어떤 방식으로 컴퓨터가 감염되나요? USB 메모리 스틱을 이용하나요? 감지되는 것을 방지하기 위해 인쇄 스풀러 외, 제로 데이 공격과 같은 다른 취약점도 이용하나요?
플레임에는 각각 “Autorun Infector” 및 “Euphoria”라고 하는, USB 스틱 감염을 위해 개발된 2개의 모듈이 포함되어 있습니다. 구성 데이터에서 플레임이 비활성화된 것으로 표시되는 이유 등으로 인해 아직 어떤 방식으로 작동하는 지는 확인하지 못했습니다. 다만 코드 상에서 USB 스틱 감염 기능을 제공하고 있으며 다음 2가지 방식을 사용하는 것을 확인했습니다.
1. Autorun Infector: 초기 스턱스넷의 “shell32.dll” “trick”을 사용하는 “Autorun.inf” 방식입니다. 주목할 점은 이 방식은 스턱스넷에서만 사용되며 다른 악성 프로그램에서는 발견되지 않는다는 사실입니다.
2. Euphoria: 악성 프로그램 모듈이 포함된 “junction point” 디렉토리 및 디렉토리를 열 때 감염이 시작되는 LNK 파일을 사용하여 미디어를 통해 확산됩니다. 카스퍼스키 랩의 샘플에는 파일 이름은 포함되어 있지만 LNK 자체는 포함되어 있지 않았습니다.
이 외에도 플레임에는 로컬 네트워크를 통한 복제 기능도 있으며, 다음과 같은 방식을 사용합니다.
1. 스턱스넷에서 악용하는 MS10-061 프린터 취약점, 특수 MOF 파일을 사용하며, WMI를 사용하여 공격 대상 시스템에서 실행됩니다.
2. 원격 작업을 수행합니다.
3. 도메인 컨트롤러에 대한 관리 권한이 있는 사용자에 의해 플레임이 실행되면 네트워크 상의 다른 컴퓨터도 감염시킬 수 있습니다. 사전 정의된 암호로 백도어 사용자 계정을 만든 다음 이러한 시스템에 복사합니다.
[ 이미지 출처 - 카스퍼스키랩 ]
현재로서는 제로 데이의 사용 여부는 확인되지 않았지만, 네트워크를 통해 완벽하게 패치된 Windows 7 시스템에도 이 웜이 감염되는 것을 보면 매우 위험한 수준의 제로 데이가 존재하는 것으로 짐작할 수 있습니다.
21. 플레임은 스턱스넷과 같이 자체 복제가 되나요? 아니면 두쿠와 유사한 확산 제어 방식을 사용하나요?
복제 기능에 대해서는 두쿠와 같이 운영자의 명령에 따르는 것으로 나타났으며, 봇 구성 파일에 의해서도 제어됩니다. 대부분의 감염 작업은 공격 실행 횟수가 정해져 있으며 이 한도 내에서만 공격이 허용됩니다.
22. 플레임의 코드 용량이 수십 메가바이트나 되는 이유는 무엇인가요? 어떤 기능으로 인해 스턱스넷보다 용량이 그렇게 커지게 된 것인가요? 이렇게 용량이 큰데도 감지되지 않은 것은 무엇 때문인가요?
장기간 플레임이 발각되지 않은 이유는 바로 이 악성 프로그램의 큰 용량 때문입니다. 일반적으로 최신 악성 프로그램은 크기가 작으며 공격 대상이 매우 제한되어 있습니다. 크기가 작은 파일은 큰 모듈보다 쉽게 숨길 수 있습니다. 또한 불안정한 네트워크에서는 100K 크기의 파일이 6MB보다 다운로드에 성공할 가능성이 더 높습니다.
플레임의 각 모듈을 모두 더하면 20MB가 넘습니다. 대부분의 모듈은 SSL 트래픽 처리, SSH 연결, 스니핑, 공격, 통신 가로채기 등의 작업을 수행하는 라이브러리입니다. 코드 분석 시 500K의 코드를 사용하는 스턱스넷을 분석하는 데 수개월이 걸렸습니다. 따라서 20MB가 넘는 플레임의 코드를 분석하려면 1년 정도 소요될 것으로 예상됩니다.
23. 플레임은 두쿠 또는 스턱스넷에서와 같은 사망 시각 기능이 내장되어 있나요?
플레임에는 여러 가지 타이머가 내장되어, 명령 및 통제 서버에 대한 연결을 모니터링하고 특정 데이터 도난 작업의 빈도와 공격 성공 횟수 등을 제어합니다. 자살 타이머는 없지만 컨트롤러가 시스템에서 악성 프로그램을 완전히 제거하고 추적할 수 없도록 모든 흔적을 삭제하는 특정 악성 프로그램 삭제 모듈(“browse32”)을 전송할 수 있습니다.
24. JPEG 또는 화면 캡쳐와 같은 정보도 훔치나요?
플레임은 정기적으로 화면을 캡쳐하는 기능이 있습니다. 또한 특정 “관심” 애플리케이션이 실행될 때 화면을 캡쳐할 수 있습니다. 예를 들어 인스턴트 메신저의 화면을 캡쳐한 다음 압축 형식으로 저장한 후 오디오 녹음과 같이 정기적으로 명령 및 통제 서버로 전송합니다.
25. 시스템이 플레임에 감염된 경우 카스퍼스키 랩의 조사팀에 샘플을 보내려면 어떻게 해야 하나요?
스턱스넷 및 두쿠 조사를 위해 이전에 만든 다음 이메일 주소로 보내주시면 감사하겠습니다.
stopduqu@kaspersky.com
[ 출처 - 카스퍼스키랩 ]
|
댓글