Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

5,542 views

Published on

Слайды с семинара 17 декабря 2011 г.
http://neuronspace.timepad.ru/event/16544

  • хорошо)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. Android глазами хакера Рютин Борис @dukebarmanEsage Lab {neúron}
  2. 2. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823Esage Lab {neúron}
  3. 3. Архитектура ОС AndroidEsage Lab {neúron}
  4. 4. Структура файлов формата .apk • Директория META-INF: – MANIFEST.MF – CERT.RSA – CERT.SF • Директория res • Директория assets • AndroidManifest.xml • classes.dex • resources.arscEsage Lab {neúron}
  5. 5. Цели malware-программ• GPS• Доступ к веб-сайтам• Работа с SMS• Детализация звонков• И т.д.Esage Lab {neúron}
  6. 6. Отличия от linux-программ• Content Providers — обмен данными между приложениями• Resource Manager — доступ к таким ресурсам, как файлы xml, png• Notification Manager — доступ к строке состояния• Activity Manager — управление активными приложениямиEsage Lab {neúron}
  7. 7. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823Esage Lab {neúron}
  8. 8. Пути исследования• Статистический анализ• Динамический анализEsage Lab {neúron}
  9. 9. ApkToolСайт:http://code.google.com/p/android-apktool/Особенности:• Дизассемблирование приложения практически до оригинальных исходников с возможностью пересобрать• Дебаг smali-кода.• Тулза будет полезна переводчикам и тем, кто занимается переносом приложения на другие платформы.Esage Lab {neúron}
  10. 10. dex2jarСайт: http://code.google.com/p/dex2jarОсобенности:• Простое преобразование файлов формата *.dex в *.jarEsage Lab {neúron}
  11. 11. APK InspectorСайт: http://code.google.com/p/apkinspector/Особенности:• GUI-интерфейс• Написан на python• Объединяет в себе работу различных программ для реверсинга: dex2jar, apktool, androguardEsage Lab {neúron}
  12. 12. Jar-декомпиляторыJadСайт: http://www.kpdus.com/jad.htmlJD-GUIСайт: http://java.decompiler.free.frEsage Lab {neúron}
  13. 13. ScanDroidСайт: http://blueinfy.com/ScanDroid.zipОсобенности:• Написан на Ruby• Проверяет именно приложения на уязвимостиПример использования: http://forum.reverse4you.org/showthread.php?t=1175Esage Lab {neúron}
  14. 14. AREvmСайт: https://redmine.honeynet.org/projects/areВключает в себя:• androguard • ded• android sdk/ndk • dex2jar• apkinspector • droidbox• apktool • ded• axmlprinter • smali/baksmaliEsage Lab {neúron}
  15. 15. Android SDKСайт: http://developer.android.com/sdk/Особенности:• Дебаггер• Туториалы по разработке• Эмулятор• Нужные библиотеки• Примеры программ• Документация по Android APIEsage Lab {neúron}
  16. 16. Android SDKПриложения 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• activityCreatorEsage Lab {neúron}
  17. 17. IDA PRO 6.1Сайт: http://developer.android.com/sdk/ В IDA 6.1 появилась возможность дизассемблировать байткод Android (Dalvik) (Один из пользователей IDA любезно предоставил процессорный модуль и загрузчик )Особенности:• Дизассемблер Dalvik теперь доступен в Расширенной Версии (Advanced Edition)• Нативный код ARM доступен для отладки• Поддерживает смешанный код ARM/Thumb и может работать с многопоточными приложениямиEsage Lab {neúron}
  18. 18. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823Esage Lab {neúron}
  19. 19. Среды для разработокиEclipse ADT-pluginСайт: http://developer.android.com/sdk/eclipse-adt.htmlNetBeans pluginСайт: http://www.nbandroid.org/IntelliJ IDEA pluginСайт: http://code.google.com/p/idea-android/Esage Lab {neúron}
  20. 20. Android NDKСайт: http://developer.android.com/sdk/ndk/index.html Пакет инструментариев и библиотек позволяющий вести разработку приложений на языке С/С++. NDK рекомендуется использовать для разработки участков кода критичных к скорости.Esage Lab {neúron}
  21. 21. Эмуляторы• Входящие в состав Android SDK• Собранные из исходников: – http://source.android.com/source/index.html – http://www.android-x86.org/Esage Lab {neúron}
  22. 22. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823Esage Lab {neúron}
  23. 23. CVE-2011-1823• Описание: 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 debuggingEsage Lab {neúron}
  24. 24. CVE-2011-1823Полезные ссылки по теме анализа 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.htmlEsage Lab {neúron}
  25. 25. МатериалыENG:1. ".dex format to .jar format" http://androidorigin.blogspot.com/2011/02/dex-format-to-jar-format.html2. "Android Reverse Engineering - A Kick Start", автор Dhanesh - разбор crackme "Deurus Android crackme 03"3. http://mylifewithandroid.blogspot.com/2009/01/disassembling-dex-files.html4. "Security Issues in Android Custom ROMs", автор Anant Shrivastava (http://anantshri.info)5. "Reverse Engineering Of Malware On Android", автор Vibha Manjunath6. http://thomascannon.net/projects/android-reversing/7. http://androidcracking.blogspot.com/2011/02/smali-syntax-highlighting-for-notepad.htmlRU:1. http://habrahabr.ru2. Журнал "Хакер" выпуски: Сентябрь 2011 (152) "Android-убийца« Ноябрь 2011 (154) "Больные роботы“Esage Lab {neúron}
  26. 26. Спасибо! Esagelab.ru Neuronspace.ru Drakonoid.ruEsage Lab {neúron}

×