ݺߣ

ݺߣShare a Scribd company logo
Android глазами хакера



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


Esage Lab                        {neúron}
Checkpoint’ы семинара

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




Esage Lab                                {neúron}
Архитектура ОС Android




Esage Lab                        {neúron}
Структура файлов формата .apk
  • Директория META-INF:
      – MANIFEST.MF
      – CERT.RSA
      – CERT.SF
  •   Директория res
  •   Директория assets
  •   AndroidManifest.xml
  •   classes.dex
  •   resources.arsc


Esage Lab                   {neúron}
Цели malware-программ

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



Esage Lab                       {neúron}
Отличия от linux-программ

• Content Providers — обмен данными между
  приложениями
• Resource Manager — доступ к таким ресурсам, как
  файлы xml, png
• Notification Manager — доступ к строке состояния
• Activity Manager — управление активными
  приложениями



Esage Lab                                      {neúron}
Checkpoint’ы семинара

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




Esage Lab                                {neúron}
Пути исследования


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




Esage Lab                       {neúron}
ApkTool
Сайт:http://code.google.com/p/android-apktool/

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



Esage Lab                                        {neúron}
dex2jar
Сайт: http://code.google.com/p/dex2jar


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




Esage Lab                                  {neúron}
APK Inspector
Сайт: http://code.google.com/p/apkinspector/

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



Esage Lab                                 {neúron}
Jar-декомпиляторы
Jad
Сайт: http://www.kpdus.com/jad.html

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




Esage Lab                              {neúron}
ScanDroid
Сайт: http://blueinfy.com/ScanDroid.zip

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

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




Esage Lab                                         {neúron}
AREvm
Сайт: https://redmine.honeynet.org/projects/are

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


Esage Lab                                  {neúron}
Android SDK
Сайт: http://developer.android.com/sdk/

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




Esage Lab                                 {neúron}
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
•   activityCreator




Esage Lab                                           {neúron}
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}
Checkpoint’ы семинара

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




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/




Esage Lab                                                 {neúron}
Android NDK
Сайт: http://developer.android.com/sdk/ndk/index.html



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




Esage Lab                                               {neúron}
Эмуляторы

• Входящие в состав Android SDK
• Собранные из исходников:
   – http://source.android.com/source/index.html
   – http://www.android-x86.org/




Esage Lab                                          {neúron}
Checkpoint’ы семинара

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




Esage Lab                                {neúron}
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 debugging




Esage Lab                                                      {neúron}
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.html




Esage Lab                                                     {neúron}
Материалы
ENG:
1. ".dex format to .jar format" http://androidorigin.blogspot.com/2011/02/dex-format-to-jar-format.html
2. "Android Reverse Engineering - A Kick Start", автор Dhanesh - разбор crackme "Deurus Android
     crackme 03"
3. http://mylifewithandroid.blogspot.com/2009/01/disassembling-dex-files.html
4. "Security Issues in Android Custom ROMs", автор Anant Shrivastava (http://anantshri.info)
5. "Reverse Engineering Of Malware On Android", автор Vibha Manjunath
6. http://thomascannon.net/projects/android-reversing/
7. http://androidcracking.blogspot.com/2011/02/smali-syntax-highlighting-for-notepad.html

RU:
1. http://habrahabr.ru
2. Журнал "Хакер" выпуски:
     Сентябрь 2011 (152) "Android-убийца«
     Ноябрь 2011 (154) "Больные роботы“




Esage Lab                                                                                  {neúron}
Спасибо!


              Esagelab.ru
            Neuronspace.ru
             Drakonoid.ru




Esage Lab                    {neúron}

More Related Content

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

  • 1. Android глазами хакера Рютин Борис @dukebarman Esage Lab {neúron}
  • 2. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823 Esage Lab {neúron}
  • 4. Структура файлов формата .apk • Директория META-INF: – MANIFEST.MF – CERT.RSA – CERT.SF • Директория res • Директория assets • AndroidManifest.xml • classes.dex • resources.arsc Esage Lab {neúron}
  • 5. Цели malware-программ • GPS • Доступ к веб-сайтам • Работа с SMS • Детализация звонков • И т.д. Esage Lab {neúron}
  • 6. Отличия от linux-программ • Content Providers — обмен данными между приложениями • Resource Manager — доступ к таким ресурсам, как файлы xml, png • Notification Manager — доступ к строке состояния • Activity Manager — управление активными приложениями Esage Lab {neúron}
  • 7. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823 Esage Lab {neúron}
  • 8. Пути исследования • Статистический анализ • Динамический анализ Esage Lab {neúron}
  • 9. ApkTool Сайт:http://code.google.com/p/android-apktool/ Особенности: • Дизассемблирование приложения практически до оригинальных исходников с возможностью пересобрать • Дебаг smali-кода. • Тулза будет полезна переводчикам и тем, кто занимается переносом приложения на другие платформы. Esage Lab {neúron}
  • 10. dex2jar Сайт: http://code.google.com/p/dex2jar Особенности: • Простое преобразование файлов формата *.dex в *.jar Esage Lab {neúron}
  • 11. APK Inspector Сайт: http://code.google.com/p/apkinspector/ Особенности: • GUI-интерфейс • Написан на python • Объединяет в себе работу различных программ для реверсинга: dex2jar, apktool, androguard Esage Lab {neúron}
  • 13. ScanDroid Сайт: http://blueinfy.com/ScanDroid.zip Особенности: • Написан на Ruby • Проверяет именно приложения на уязвимости Пример использования: http://forum.reverse4you.org/showthread.php?t=1175 Esage Lab {neúron}
  • 14. AREvm Сайт: https://redmine.honeynet.org/projects/are Включает в себя: • androguard • ded • android sdk/ndk • dex2jar • apkinspector • droidbox • apktool • ded • axmlprinter • smali/baksmali Esage Lab {neúron}
  • 15. Android SDK Сайт: http://developer.android.com/sdk/ Особенности: • Дебаггер • Туториалы по разработке • Эмулятор • Нужные библиотеки • Примеры программ • Документация по Android API Esage Lab {neúron}
  • 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 • activityCreator Esage Lab {neúron}
  • 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. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823 Esage Lab {neúron}
  • 19. Среды для разработоки 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/ Esage Lab {neúron}
  • 20. Android NDK Сайт: http://developer.android.com/sdk/ndk/index.html Пакет инструментариев и библиотек позволяющий вести разработку приложений на языке С/С++. NDK рекомендуется использовать для разработки участков кода критичных к скорости. Esage Lab {neúron}
  • 21. Эмуляторы • Входящие в состав Android SDK • Собранные из исходников: – http://source.android.com/source/index.html – http://www.android-x86.org/ Esage Lab {neúron}
  • 22. Checkpoint’ы семинара 1. ОС Android 2. Инструменты для исследования 3. Инструменты для разработки 4. Анализ уязвимости CVE-2011-1823 Esage Lab {neúron}
  • 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 debugging Esage Lab {neúron}
  • 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.html Esage Lab {neúron}
  • 25. Материалы ENG: 1. ".dex format to .jar format" http://androidorigin.blogspot.com/2011/02/dex-format-to-jar-format.html 2. "Android Reverse Engineering - A Kick Start", автор Dhanesh - разбор crackme "Deurus Android crackme 03" 3. http://mylifewithandroid.blogspot.com/2009/01/disassembling-dex-files.html 4. "Security Issues in Android Custom ROMs", автор Anant Shrivastava (http://anantshri.info) 5. "Reverse Engineering Of Malware On Android", автор Vibha Manjunath 6. http://thomascannon.net/projects/android-reversing/ 7. http://androidcracking.blogspot.com/2011/02/smali-syntax-highlighting-for-notepad.html RU: 1. http://habrahabr.ru 2. Журнал "Хакер" выпуски: Сентябрь 2011 (152) "Android-убийца« Ноябрь 2011 (154) "Больные роботы“ Esage Lab {neúron}
  • 26. Спасибо! Esagelab.ru Neuronspace.ru Drakonoid.ru Esage Lab {neúron}