Advanced Windows Malware Analysis 코스 소개

최근 윈도우즈 시스템에서의 말웨어들은 보안 장치들의 탐지를 피하기 위해서 여러가지 복잡한 기법들을 혼용하여 사용하는 추세를 보이고 있습니다. 다른그림이 제공하는 Advanced Windows Malware Analysis 코스에서는 최근의 이러한 변화에 발맞춰 최신 말웨어 분석 기법을 전달하는 것을 목적으로 하고 있습니다. 최근 추세에 맞추어 크게 트레이닝은 Office/PowerShell 위협 분석과 PE 위협 분석의 두개의 부분으로 나누어여 있으며 각 부분에 대해서 개별적인 수강이 가능합니다.

다음 코스들은 2월 3일부터 7일 사이에 제공될 예정입니다. 예약은 다음 링크를 사용하시면 됩니다.

다음 글을 통해서 해당 과정들에 대한 자세한 설명을 진행하겠습니다.

Part 1. Office/PowerShell Threat Analysis

이 과정에서는 최근 몇년간 보안 인더스트리의 화두가 되고 있는 living-off-the-land 공격 기법에 대해서 소개하고 실제 말웨어들을 예시로 그 분석과 분석 자동화에 촛점을 맞춥니다.

최근 living-off-the-land 공격은 이미 공격자들에게는 정형화된 기법으로 자리 잡은지 오래이지만, 방어자 입장에서는 아직도 여전히 디텍션과 remediation 입장에서는 아직도 따라 잡을 요소가 많은 영역으로 남아 있습니다. 이는 living-off-the-land 공격 자체의 난이도가 높아서라기 보다는 기존 윈도우즈 시스템 안에 존재하는 여러 툴들을 나누어서 사용하고, 개념상 간단한 공격 과정을 의도적으로 조각화하고 복잡하게 만들어 내는 방식 자체에 대해서 기존의 일차원적이거나 단순한 방어 개념에 혼란이 계속 되고 있는 것으로 파악하는 것이 맞습니다.

이 과정을 통해서 오피스 파일들을 이용해서 전달 되는 여러 위협들에 대해서 효율적인 분석 툴들에 대해서 알아 보고, 그 툴들이 내어 주는 여러 결과물들을 세세하게 분석할 수 있는 방법을 전달합니다. 오피스 파일의 일반적인 구조와 매크로 등이 삽입되는 방법. 자동화 된 툴들을 이용한 이러한 매크로 추출과 정적인 분석 방법, 그리고 동적인 분석 방법 등에 대해서 다룹니다. 또한 매크로를 사용하지 않는 오피스 익스플로잇 코드의 분석과 취약점 리버스 엔지니어링에 대해서도 학습니다.

또한 복잡한 공격 기제로 자주 사용되는 여러 단계로 난독화된 파워쉘 코드에 대한 분석 세션을 가집니다. 또한 PowerShellRunBox 를 비롯하여 인더스트리에서 제시된 여러가지 분석 자동화 툴들에 대해서 리뷰와 함께 실제 테스트를 진행할 예정입니다. 또한 파워쉘과 오피스 관련 위협들을 분석하는데에 사용할 수 있는 여러 윈도우즈 ETW 이벤트들에 대해서도 심화 학습할 예정입니다.

이 과정을 통해서 실제 네트워크에 피슁 메일 등을 통해서 해당 위협이 전달 되었을 경우 조금 더 효율적으로 해당 위협을 분석할 수 있는 능력을 기르게 됩니다.

Analysis Targets

실습에 사용할 분석 타켓들은 다음과 같습니다. 오피스와 파워쉘 조합, 그리고 오피스 파일만으로 익스플로잇이 되는 케이스 등이 존재합니다. 또한 순수한 파워쉘만으로 작성된 위협에 대해서도 효율적인 분석 방법을 학습할 예정입니다.

1. Office Threat (APT)

  • Office Macro abuse
  • Obfuscated PowerShell
  • Living-Off-The-Land attack

APT에 사용된 오피스 파일 기반 말웨어로서 기본적인 오피스 매크로를 사용하고 있으며, 결과적으로 상단한 난독화가 진행된 PowerShell을 실행시키는 방식으로 작동합니다. 전형적인 living-off-the-land 공격 기법을 보여주며, 그러한 위협을 분석하는데에 있어서 필요한 여러 방법론과 접근법을 학습할 수 있는 기회를 제공해 줍니다. 전반적으로 일반적인 오피스 매크로 샘플 케이스에 대해서 샘플 입수 후 어떠한 방법론을 따라서 분석과 리버스 엔지니어링 과정을 거쳐야 하는지에 대한 모범 프로세스를 제시합니다.

2. Office Exploit Without Macro (Commodity Malware)

  • Encrypted Office document
  • Office exploit

해당 샘플은 암호화된 오피스 문서를 사용하고 있으며, 오피스 자체의 취약점을 사용하고 있습니다. 오피스는 단지 매크로를 통한 공격기법 뿐만 아니라 최근 익스플로잇이 간간히 발견되고 그러한 익스플로잇들이 실제 공격 과정에서 활용되는 사례들이 늘고 있습니다. 이러한 공격 기법에 대해서 심화된 분석 방법을 학습합니다. 오피스의 경우 여러가지 플러그인이나 애드온 형태의 컴퍼넌트에 대한 공격들이 심화되고 있는데, 그러한 컴퍼넌트의 종류와 어떻게 해당 공격에 대한 분석을 진행할지에 대한 아이디어를 제시합니다.

3. Pure PowerShell Malware (Commodity Malware)

  • DNS C2 channel
  • Pure PowerShell malware
  • PowerShell persistency

이 공격 샘플은 순수하게 PowerShell만으로 작성되었습니다. PowerShell이 가진 여러 강력한 기능들이 말웨어에 의해서 어떻게 악용되고 있는지 분석하고, 여러 레벨로 난독화된 PowerShell 샘플을 효율적으로 분석할 수 있는 방법론에 대해서 논의합니다. 일반적인 정적인 디코딩 방법론에 추가적으로 PowerShellRunBox 등의 자동화 도구에 대해서 논의하고 실제 사용하는 과정을 거칩니다.


Part 2. PE Threat Analysis

Living-off-the-land 공격 기법이 아무리 인기를 얻고 있어도 대부분의 공격의 경우 living-off-the-land 공격을 통해서 시스템의 방어 기제를 우회하고 해당 기제를 비활성화 시킨후에는 주로 PE 말웨어를 드랍하여 실행시키는 경우가 가장 흔합니다. 이 과정에서는 PE 말웨어 중에서 고난이도에 해당하는 threat에 대해서 end-to-end로 분석하는 세션을 가질 예정입니다.

해당 실습을 통해서 여러가지 자동화 툴들을 IDAPythonPyKD 등을 사용하여 작성하는 과정도 거칠 예정입니다. 또한 PE 말웨어 뿐만 아니라 living-off-the-land 공격에서도 자주 사용되는 쉘코드의 효과적인 분석을 위한 기법들과 툴들에 대해서도 학습할 예정입니다. 특히 대상이 되는 말웨어의 다중의 쉘코드와 쉘코드 난독화 사용하고 있어서 해당 기법들을 우회하고 분석을 용이하게 하기 위한 여러 기법들에 대해서 연구할 수 있는 좋은 기회가 됩니다.

윈도우즈 말웨어 분석의 어려움은 대부분 말웨어의 다중 쉘코드와 함께 프로세스 사이에서의 페이로드 이동이 이뤄진다는 사실에서 기인하는 경우가 많습니다. 이 샘플 분석을 통해서 이러한 페이로드 전이가 일어 날 수 있는 여러 메카니즘들에 대해서 알아 보고, 해당 기법들을 효율적으로 분석할 수 있는 방법들에 대해서 학습합니다.

또한 해당 말웨어는 supply chain attack이나 DGA와 같은 최근 말웨어들의 여러 경향성을 보여 주고 있어서, 해당 기법들을 탐지하고 방어하기 위해서 어떠한 방어, 탐지 장치들을 사용해야 할지에 대한 고민을 할 수 있는 기회가 될것입니다.

Analysis Targets

이 과정을 통해서 다음과 같은 개념과 기법에 대해서 실습할 수 있습니다.

Target: Impactful Supply Chain Attack Sample

이 코스에서 분석하고 논의하는 샘플은 최근 일어났던 서플라이 체인 공격 샘플로서 처음 페이로드의 딜리버리부터 공격 대상의 기계에서 쉘코드가 실행되고 인코딩 된 페이로드가 다운로드 되어 백도어로서 작동하는 전체 과정에 대한 분석 과정을 대상으로 합니다.

Supply chain attack

서플라이 체인 공격 기법은 특히 동북 아시아 지역에서 많이 발생해 온 공격 기법의 일종으로서, 보안 제품과 장치들로서는 아직까지 완벽하게 방어할 수 있는 방법이 존재하지 않습니다. 어떠한 형태로 공격자들이 기존하는 코드에 자신들의 백도어 모듈을 삽입하는지 어떻게 리버스 엔지니어링을 통해서 해당 모듈들을 찾아 낼 수 있는지에 대해서 학습합니다.

Anti-disassembly

서플라이 체인 공격 기법은 공격자에게는 초기 투자 비용이 많이 드는 비용입니다. 왜냐하면 해당 타겟이 되는 벤더의 인프라스트럭쳐를 먼저 장악해야 하는 과정이 필요하기 때문입니다. 그러한 이유로 인해서 공격자들은 최대한 사후 디텍션과 분석이 힘들도록 Anti-analysis 기법들을 사용하게 됩니다. 이 공격 샘플의 경우 그 중 가장 기본적인 형태의 난독화를 사용하는데, 이러한 난독화는 얻어진 쉘코드에 대한 분석 과정을 방해함으로서 자체의 기능을 숨기는 역할과 함께 분석가의 제대로된 위협 분석 과정을 방해하고 자동화된 툴들의 작동을 방해하는 역할을 합니다.

Multi-stage shellcode

다중 스테이지 쉘코드는 최근 APT 등의 공격 기법에서 자주 사용되는 기법으로서, 일반 상용 말웨어의 경우에도 점점 도입되는 비중이 늘어 나고 있습니다. 가장 초보적인 형태의 다중 스테이지 쉘코드도 존재하지만, 이 쉘코드의 경우 조금 더 진보한 형태로 여러 기법을 사용하여 원활한 분석을 방해합니다. 해당 기법에 대해서 심화된 분석을 수행하고, 어떻게 자동화, 반자동화 기법을 사용하여 이러한 쉘코드 형태의 위협에 대해서 빠르고 정확하게 분석할 수 있는지에 대해서 논의합니다. 이 과정에서 참석자는 IDA와 WinDbg의 툴에 대한 자동화 스크립트들을 작성하게 됩니다.

Encoded shellcode

이 위협의 경우 다중 쉘코드의 단계 중 C2 서버로부터 다운로드 되는 쉘코드가 특정한 키로 인코딩이 되어 있습니다. 이러한 위협에 대해서 어떻게 키를 추출하고 분석할지에 대한 논의와 간단한 프로그래밍 세션을 통해서 비슷한 위협에 대해서 어떻게 빠르게 분석할 수 있을지에 대한 논의가 이뤄집니다.

DGA

이 위협은 DGA (Domain Generation Algorithms)를 사용하여 C2 서버에 접속합니다. DGA 알고리즘에 대한 분석 방법과 효과적인 C2 루틴 분석 방법과 C2 접속에 사용되는 패킷의 포맷을 리버스 엔지니어링을 통해서 생성하고 트래픽을 분석하는 방법을 학습니다.

Process injection

해당 위협은 process injection을 통해서 다른 프로세스로 페이로드를 전이 시키는 방법을 사용합니다. Process injection에 대한 이론적인 이해와 함께, 실제 말웨어 디버깅 세션에서 어떻게 이러한 전이 과정을 탐지하고, 분석할 수 있을지에 대한 논의가 이뤄집니다.

결론

이번 트레이닝은 최근 심화되는 공격 기법들에 대한 총체적인 분석 방법을 공유하기 위해서 설계 되었습니다. 최근 APT와 비 APT 공격 기법 사이의 경계는 흐려지고 있으면, 일반 상용 말웨어들도 굉장히 복잡한 공격 기법을 사용하는 사례가 늘고 있습니다. 이러한 복잡한 공격 기법을 사용하는 모든 말웨어에 대해서 분석할 수는 없지만, 해당 기법들을 제대로 이해하고 필요시에 분석할 수 있는 능력을 가지고 있는 것은 실제 보안 제품이나 장치들에 대한 이해를 높이고, 그들의 한계를 이해하는데에 많은 도움이 됩니다. 또한 장기적으로 어떠한 보안 장치들과 인프라스트럭쳐에 대한 투자를 진행해야 하는지에 대한 가이드를 제공해 줄 수 있습니다.

댓글 남기기