Android глазами хакера

27
Android глазами хакера Рютин Борис @dukebarman Esage Lab {neúron}

description

Details on http://drakonoid.ru/android-glazami-xakera.html

Transcript of Android глазами хакера

Page 1: Android глазами хакера

Android глазами хакера

Рютин Борис @dukebarman

Esage Lab {neúron}

Page 2: Android глазами хакера

Checkpoint’ы семинара

Esage Lab {neúron}

1. ОС Android2. Инструменты для исследования3. Инструменты для разработки4. Анализ уязвимости CVE-2011-1823

Page 3: Android глазами хакера

Архитектура ОС Android

Esage Lab {neúron}

Page 4: Android глазами хакера

Структура файлов формата .apk

Esage Lab {neúron}

• Директория META-INF: – MANIFEST.MF– CERT.RSA– CERT.SF

• Директория res• Директория assets• AndroidManifest.xml• classes.dex• resources.arsc

Page 5: Android глазами хакера

Цели malware-программ

Esage Lab {neúron}

• GPS• Доступ к веб-сайтам• Работа с SMS• Детализация звонков• И т.д.

Page 6: Android глазами хакера

Типы угроз для android

Esage Lab {neúron}

• На уровне приложений(spyware, malware, …)• Веб-угрозы (фишинг, браузеры)• Сетевые (Wi-Fi-сниффинг, network-эксплойты)

Page 7: Android глазами хакера

Отличия от linux-программ

Esage Lab {neúron}

• Content Providers — обмен данными между приложениями

• Resource Manager — доступ к таким ресурсам, как файлы xml, png

• Notification Manager — доступ к строке состояния

• Activity Manager — управление активными приложениями

Page 8: Android глазами хакера

Checkpoint’ы семинара

Esage Lab {neúron}

1. ОС Android2. Инструменты для исследования3. Инструменты для разработки4. Анализ уязвимости CVE-2011-1823

Page 9: Android глазами хакера

Пути исследования

Esage Lab {neúron}

• Статистический анализ

• Динамический анализ

Page 10: Android глазами хакера

ApkTool

Esage Lab {neúron}

Сайт:http://code.google.com/p/android-apktool/

Особенности:• Дизассемблирование приложения практически до

оригинальных исходников с возможностью пересобрать• Дебаг smali-кода.• Тулза будет полезна переводчикам и тем, кто занимается

переносом приложения на другие платформы.

Page 11: Android глазами хакера

APK Inspector

Esage Lab {neúron}

Сайт: http://code.google.com/p/apkinspector/

Особенности:• GUI-интерфейс• Написан на python• Объединяет в себе работу различных программ

для реверсинга: dex2jar, apktool, androguard

Page 12: Android глазами хакера

dex2jar

Esage Lab {neúron}

Сайт: http://code.google.com/p/dex2jar

Особенности:• Простое преобразование файлов формата *.dex в

*.jar

Page 13: Android глазами хакера

Jar-декомпиляторы

Esage Lab {neúron}

JadСайт: http://www.kpdus.com/jad.html

JD-GUI Сайт: http://java.decompiler.free.fr

Page 14: Android глазами хакера

ScanDroid

Esage Lab {neúron}

Сайт: http://blueinfy.com/ScanDroid.zip

Особенности:• Написан на Ruby• Проверяет именно приложения на уязвимости

Пример использования:http://forum.reverse4you.org/showthread.php?t=1175

Page 15: Android глазами хакера

AREvm

Esage Lab {neúron}

Сайт: https://redmine.honeynet.org/projects/are

Включает в себя:• androguard • android sdk/ndk • apkinspector • apktool • axmlprinter

• ded • dex2jar • droidbox • ded • smali/baksmali

Page 16: Android глазами хакера

Android SDK

Esage Lab {neúron}

Сайт: http://developer.android.com/sdk/

Особенности:• Дебаггер• Туториалы по разработке• Эмулятор• Нужные библиотеки• Примеры программ• Документация по Android API

Page 17: Android глазами хакера

Android SDK

Esage Lab {neúron}

Приложения Android SDK:• Dalvik Debug Monitor Service (ddms)• Android Debug Bridge (adb)• Android Asset Packaging Tool (aapt)

• Android Interface Description Language (aidl)

• Sqlite3

• Traceview

• mksdcard

• dx

• activityCreator

Page 18: Android глазами хакера

IDA PRO 6.1

Esage Lab {neúron}

Сайт: http://developer.android.com/sdk/

В IDA 6.1 появилась возможность дизассемблировать байткод Android (Dalvik) (Один из пользователей IDA любезно предоставил процессорный модуль и загрузчик )

Особенности:• Дизассемблер Dalvik теперь доступен в Расширенной Версии (Advanced Edition)• Нативный код ARM доступен для отладки• Поддерживает смешанный код ARM/Thumb и может работать с

многопоточными приложениями

Page 19: Android глазами хакера

Checkpoint’ы семинара

Esage Lab {neúron}

1. ОС Android2. Инструменты для исследования3. Инструменты для разработки4. Анализ уязвимости CVE-2011-1823

Page 20: Android глазами хакера

Среды для разработоки

Esage Lab {neúron}

Eclipse ADT-pluginСайт: http://developer.android.com/sdk/eclipse-adt.html

NetBeans pluginСайт: http://www.nbandroid.org/

IntelliJ IDEA pluginСайт: http://code.google.com/p/idea-android/

Page 21: Android глазами хакера

Android NDK

Esage Lab {neúron}

Сайт: http://developer.android.com/sdk/ndk/index.html

Пакет инструментариев и библиотек позволяющий вести разработку приложений на языке С/С++. NDK рекомендуется использовать для разработки участков кода критичных к скорости.

Page 22: Android глазами хакера

Эмуляторы

Esage Lab {neúron}

• Входящие в состав Android SDK• Собранные из исходников:

– http://source.android.com/source/index.html – http://www.android-x86.org/

Page 23: Android глазами хакера

Checkpoint’ы семинара

Esage Lab {neúron}

1. ОС Android2. Инструменты для исследования3. Инструменты для разработки4. Анализ уязвимости CVE-2011-1823

Page 24: Android глазами хакера

CVE-2011-1823

Esage Lab {neúron}

• Описание:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1823

• Уязвимая функция: DirectVolume::handlePartitionAdded• Тип уязвимости: LPE (вектор повышения привелегий)• Уязвимые системы:

– Android 2.x – 2.3.3– Android 3.0

• Требования:– Установленная карта памяти– Вкл. Usb debugging

Page 25: Android глазами хакера

CVE-2011-1823

Esage Lab {neúron}

Полезные ссылки по теме анализа Gingerbreak:• http://c-skills.blogspot.com/2011/04/yummy-yummy-gingerbreak.html• http://android-dls.com/wiki/index.php?title=Compiling_for_Android• http://plausible.org/andy/agcc• http://source.android.com/source/download.html

Page 26: Android глазами хакера

Материалы

Esage Lab {neúron}

ENG: 1. "Reverse Engineering Of Malware On Android", автор Vibha Manjunath

http://www.sans.org/reading_room/whitepapers/pda/reverse-engineering-malware-android_337692. "Android Reverse Engineering - A Kick Start", автор Dhanesh - разбор crackme "Deurus Android crackme

03" 3. http://mylifewithandroid.blogspot.com/2009/01/disassembling-dex-files.html 4. ".dex format to .jar format" http://androidorigin.blogspot.com/2011/02/dex-format-to-jar-format.html5. http://thomascannon.net/projects/android-reversing/ 6. http://androidcracking.blogspot.com/2011/02/smali-syntax-highlighting-for-notepad.html

RU: 1. http://habrahabr.ru2. Журнал "Хакер" выпуски:

Сентябрь 2011 (152) "Android-убийца«Ноябрь 2011 (154) "Больные роботы“

Page 27: Android глазами хакера

Спасибо!

Esage Lab {neúron}

Esagelab.ru Neuronspace.ru Drakonoid.ru