SlideShare a Scribd company logo
1 of 26
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

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

Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений
Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений
Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений Mail.ru Group
 
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Kuban Dzhakipov
 
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Denis Vasilyev
 
Xe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновXe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновЕкатерина Макарова
 
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.jsОмские ИТ-субботники
 
Android IOT, Eugene Dubovik
Android IOT,  Eugene DubovikAndroid IOT,  Eugene Dubovik
Android IOT, Eugene DubovikDataArt
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”GlobalLogic Ukraine
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPITimur Shemsedinov
 
Безопасность без антивирусов 4
Безопасность без антивирусов 4Безопасность без антивирусов 4
Безопасность без антивирусов 4Positive Hack Days
 
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projectsAsya Dudnik
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidDevGAMM Conference
 
Создай свое первое Android приложение.
Создай свое первое Android приложение. Создай свое первое Android приложение.
Создай свое первое Android приложение. Kuban Dzhakipov
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleGeeksLab Odessa
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...solit
 
Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...
Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...
Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...ISsoft
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qaISsoft
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancevAlexei Lupan
 
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Ontico
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Yandex
 

Similar to Android.глазами хакера (20)

Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений
Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений
Юрий Крутилин. Инструментарий для реверс-инжиниринга Android-приложений
 
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?
 
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
 
Xe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновXe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леонов
 
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
 
Android IOT, Eugene Dubovik
Android IOT,  Eugene DubovikAndroid IOT,  Eugene Dubovik
Android IOT, Eugene Dubovik
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Безопасность без антивирусов 4
Безопасность без антивирусов 4Безопасность без антивирусов 4
Безопасность без антивирусов 4
 
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projects
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
 
Создай свое первое Android приложение.
Создай свое первое Android приложение. Создай свое первое Android приложение.
Создай свое первое Android приложение.
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
 
Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...
Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...
Инструменты автоматизации тестирования мобильных приложений. Сравнительный ан...
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancev
 
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 

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}