Challenges of collaborative malware analysis Polichombr S. Le Berre - - PowerPoint PPT Presentation

challenges of collaborative malware analysis
SMART_READER_LITE
LIVE PREVIEW

Challenges of collaborative malware analysis Polichombr S. Le Berre - - PowerPoint PPT Presentation

Challenges of collaborative malware analysis Polichombr S. Le Berre A. Chevalier T. Pourcelot ANSSI/COSSI/DTO/BFS SOGETI ESEC SSTIC Rennes June 1, 2016 Introduction Plan Introduction 1 Needs and challenges 2 3 Polichombr 4


slide-1
SLIDE 1

Challenges of collaborative malware analysis

Polichombr

  • S. Le Berre
  • A. Chevalier
  • T. Pourcelot

ANSSI/COSSI/DTO/BFS — SOGETI ESEC SSTIC — Rennes — June 1, 2016

slide-2
SLIDE 2

Introduction

Plan

1

Introduction

2

Needs and challenges

3

Polichombr

4

DEMO

5

Conclusion

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 2/30

slide-3
SLIDE 3

Introduction

What is it about

Operational malware analysis

◮ Malwares everywhere! ◮ Malware writers are more numerous than malware reversers ◮ Let’s work as a team to tackle them!

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 3/30

slide-4
SLIDE 4

Needs and challenges

Plan

1

Introduction

2

Needs and challenges

3

Polichombr

4

DEMO

5

Conclusion

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 4/30

slide-5
SLIDE 5

Needs and challenges

Goals

Why reverse malwares?

◮ Technical follow up on adversary tools

◮ Many adversaries, many tools

◮ Sample identification

◮ More effective incident response! . . .

◮ Produce detection elements ◮ Capitalization of experience ◮ Threat intelligence & know your adversary

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 5/30

slide-6
SLIDE 6

Needs and challenges

Formalization

Inputs

◮ Samples ◮ Context, associated documents, detection rules, . . .

Output

◮ IOC and threat reports ◮ Adversary toolset knowledge

Constraints

◮ DO IT QUICK! ◮ Don’t waste time ◮ Don’t forget anything ◮ Limited manpower

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 6/30

slide-7
SLIDE 7

Needs and challenges - Analysis cycle

Analysis cycle

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 7/30

slide-8
SLIDE 8

Needs and challenges - Malware analysis challenges

Storage and collection

Challenges

◮ Collection ◮ Volume (many adversaries, many tools, many versions of these

tools) Effective storage needs

◮ Browsable (metadata) ◮ Usable

Problems

◮ Filer storage ◮ Storage on reverser’s laptop or drives

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 8/30

slide-9
SLIDE 9

Needs and challenges - Malware analysis challenges

Classification

Benefits

◮ Family identification ◮ Identification of similarities ◮ Sample triaging

Current techniques

◮ Yara and dynamic execution signatures ◮ Mandiant’s imphash ◮ Control Flow Graph comparison ◮ Metadata comparison

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 9/30

slide-10
SLIDE 10

Needs and challenges - Malware analysis challenges

Analysis

Benefits

◮ Answer technical questions about the sample ◮ Identify interesting points in the binary

Methods

◮ Top-down: start from entry points ◮ Bottom-up: start from IAT or patterns

Challenges

◮ Automated analysis: fast but incomplete ◮ Manual analysis : time consuming, prone to omissions ◮ Team work: whiteboards and meetings are not sufficient

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 10/30

slide-11
SLIDE 11

Needs and challenges - Malware analysis challenges

Results production and capitalization

Sample information

◮ Raw technical information ◮ Techniques used ◮ Code overview

Family information

◮ Overview: sophistication, variants, etc ◮ Detection techniques ◮ Tools (unpacking scripts, etc.)

Problems

◮ Lost reports, IDB corruption, . . .

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 11/30

slide-12
SLIDE 12

Needs and challenges - Malware analysis challenges

Dissemination and feedback

Benefits

◮ Propagation on existing dataset, ◮ Information shared: improved detection, actors knowledge, . . . ◮ Information gained: new samples, technical/context feedback, . . .

Challenges

◮ Multiple types of interlocutors = multiple types of languages and

channels

◮ Effective technical information sharing ◮ Both external (sensitivity) AND internal (experience)

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 12/30

slide-13
SLIDE 13

Needs and challenges - Malware analysis challenges

Automation

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 13/30

slide-14
SLIDE 14

Polichombr

Plan

1

Introduction

2

Needs and challenges

3

Polichombr

4

DEMO

5

Conclusion

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 14/30

slide-15
SLIDE 15

Polichombr - Overview

POLICHOMBR

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 15/30

slide-16
SLIDE 16

Polichombr - Overview

Why this new tool?

History

◮ Tool developped by BFS in 2014 ◮ Originally Ruby/PHP/Python for Windows (yes. . . ) ◮ Evolving since ;)

Addressed challenges

◮ Storage! ◮ Information/Knowledge centralization ◮ Collaborative teamwork ◮ Automation ◮ Classification (introducing the MACHOC algorithm)

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 16/30

slide-17
SLIDE 17

Polichombr - Overview

Bricks

WebUI

◮ Macro overview ◮ Expose an API

Analysis engine

◮ Run all the things!

Disassembly engine

◮ METASM

User’s endpoint

◮ IDA Python script

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 17/30

slide-18
SLIDE 18

Polichombr - Overview

Datatypes

Binaries

◮ PE/ELF/Shellcodes/. . . ◮ Associated metadata

Families

◮ Store contexts, utilities, overview information ◮ Tree used to organize samples/threats

Signatures

◮ Machoc ◮ Yara

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 18/30

slide-19
SLIDE 19

Polichombr - The Machoc algorithm

Binary classification

Problems

◮ MD5, SHA* not adapted (by definition) ◮ SSDEEP, SDHash not adapted to executables

Goals

◮ Act like a fingerprint of the program ◮ Lightweight (can be exchanged by mail) ◮ Resistant to recompilation ◮ Resistant to architecture change (x86_64)

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 19/30

slide-20
SLIDE 20

Polichombr - The Machoc algorithm

Machoc algorithm

In a nutshell Control Flow Graph "snapshot" of a function Algorithm

◮ Blocks and call labelling ◮ Translate to text ◮ → 1:2;2:c,3,4;3:2;4:; ◮ Murmurhash3 ◮ → 0x94167eb0 ◮ For each function in sample,

concatenate

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 20/30

slide-21
SLIDE 21

Polichombr - The Machoc algorithm

Usages

Sample classification

◮ Threshold = 80% (empiric)

Information propagation

◮ Between samples ◮ Propagate all the names!

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 21/30

slide-22
SLIDE 22

Polichombr - Workflow

Analyzing a new sample

Submission WebUI, API or directly from IDA Automated analysis: plugins

◮ Metadata, strings, machoc extraction ◮ Add comments, renames, hints ◮ Output a brief text summary

Classification

◮ Strong/automated identification: Yara (extended with Machoc) ◮ Soft/suggested identification: imphash, Machoc_80

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 22/30

slide-23
SLIDE 23

Polichombr - Workflow

Results storage

Sample documentation

◮ Analysts notes ◮ Checklist ◮ IDA actions

Family documentation

◮ Analysts notes ◮ Detection items (SNORT rules, OpenIOC, etc.) ◮ Classification signatures (Yara, Machoc) ◮ Other elements: context, reports, tools ◮ Analysts ◮ Etc.

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 23/30

slide-24
SLIDE 24

Polichombr - Workflow

Data export

For analysts: Machex

◮ Can include any information about the sample ◮ Specifically information about functions, names and machoc

hashes

◮ Can be imported back

For consumers

◮ Reports, detection rules, IOC, samples archive ◮ Sensitivity management

For tools

◮ Expose all the data with an API

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 24/30

slide-25
SLIDE 25

Polichombr - Workflow

Team reversing

Skelenox

◮ IDA Python script ◮ Synchronization between user’s IDA database and Polichombr ◮ Push/pull changes (including other user’s) ◮ Names, comments, types, . . . ◮ Realtime identification (using Machoc hashes)

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 25/30

slide-26
SLIDE 26

DEMO

Plan

1

Introduction

2

Needs and challenges

3

Polichombr

4

DEMO

5

Conclusion

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 26/30

slide-27
SLIDE 27

DEMO

DEMO DEMO DEMO

Automated analysis

◮ Sample metadata ◮ Classification ◮ Automated reverse!

Bonus

◮ OpenIOC Export

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 27/30

slide-28
SLIDE 28

Conclusion

Plan

1

Introduction

2

Needs and challenges

3

Polichombr

4

DEMO

5

Conclusion

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 28/30

slide-29
SLIDE 29

Conclusion

Conclusion

What we try to achieve

◮ Quickly and efficiently produce information about malwares ◮ Provide a tool for automation and communication of analyses

About the tool

◮ https://github.com/ANSSI-FR/polichombr ◮ Can be used for other collaborative reversing tasks =) ◮ Pull requests, feedback and suggestions are welcome!

HR

◮ If you like malware analysis, ◮ If you were not lost in this presentation, ◮ BFS & Sogeti are hiring! ;-)

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 29/30

slide-30
SLIDE 30

Conclusion

Q&A

Thank you for your attention!

Questions?

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 30/30

slide-31
SLIDE 31

Backup

Plan

6

Backup

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 27/30

slide-32
SLIDE 32

Backup - Architecture

Architecture schema

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 28/30

slide-33
SLIDE 33

Backup - Architecture

TODO

Missing features

◮ Overlay/resources extraction ◮ Emulator ◮ PDB generation ◮ More tasks! ◮ More IDA functionalities (structs, segments, . . . ) ◮ Fix bugs!

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 29/30

slide-34
SLIDE 34

Backup - State of the art

Existing tools and limits

Main tools:

◮ IDAScope ◮ IDAToolbag ◮ Viper ◮ CrowdRE ◮ Manalyze

Why we didn’t choose them for the task

◮ Often unmaintained ◮ Or not open source ◮ Scaling problem ◮ None of them were a silver bullet for our problems

ANSSI/COSSI/DTO/BFS — SOGETI ESEC Challenges of collaborative malware analysis 30/30