30
#SouthFest2014 Реверс-инжиниринг мобильных приложений Юрий Агеев Точка Кипения

Реверс-инжиниринг мобильных приложений

  • Upload
    -

  • View
    325

  • Download
    1

Embed Size (px)

Citation preview

#SouthFest2014

Реверс-инжиниринг мобильных приложений

Юрий Агеев Точка Кипения

#SouthFest2014

Кто? Зачем? Когда? их ломает

• пока ты спишь, конкурент качается изучает тебя

• хакеры/любопытные/любители халявы

• исследователи

#SouthFest2014

Защита? Абсолютной защиты нет!

#SouthFest2014

Не делать приложение вовсе!

#SouthFest2014

Можно сделать так!

#SouthFest2014

Что мы защищаем?

• данные пользователя

• backend

• транзакции

• алгоритмы

#SouthFest2014

Основные компоненты

• файлы

• сеть

• код

#SouthFest2014

Файлы

• зашитые в приложение файлы

• файлы базы данных

• строковые файлы

• файлы конфигурации

#SouthFest2014

Инструменты

• iExplorer

• iTools

• Терминал/CMD

#SouthFest2014

#SouthFest2014

Поможет - здравый смысл

• добавлять в сборку только те файлы, которые «не жалко»

• следовать ТБ по работы с данными для авторизации

• не хранить важные данные в открытом виде в настройках

#SouthFest2014

Сеть

• прослушка траффика

• прослушка защищенного траффика (SSL)

• подмена запросов на сервер

• например, с помощью Charles

#SouthFest2014

SSL

1.Сниффер с поддержкой SSL Proxy

2.Установка сертификата на устройства

3.Настройка сети на свой ПК

4.Сезам откройся!

#SouthFest2014

SSL Pinning

#SouthFest2014

Код

• токены

• механизмы авторизации

• восстановление алгоритмов

• инструменты использованные в разработке

#SouthFest2014

Обфускация

#SouthFest2014

С Android проще!• легче декомпилировать и

деобфусцировать*

• легче пересобрать приложение и установить его на устройство*

• изучение ресурсов

• аналогичные возможности по прослушке трафика

#SouthFest2014

JailbreakИ это все без…

#SouthFest2014

А если сделать?

#SouthFest2014

Новый дивный мир

• Обход SSL pinning (iOS SSL Kill Switch/Android SSL Bypass)

• Runtime Debugging

• Хардкор - внесение изменений в код приложения (дизассемблирование/ассемблирование)

#SouthFest2014

#SouthFest2014

• файлы - RTFM!

• корректное использование SSL

• обфускация

• проверка на jailbreak

• anti-debug check

#SouthFest2014

А что закон?

#SouthFest2014

Статья 1280 ГК РФ. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для

ЭВМ

#SouthFest2014

Лицо, правомерно владеющее экземпляром программы …, вправе без разрешения автора или

иного правообладателя и без выплаты дополнительного вознаграждения:

#SouthFest2014

• внести изменения, если не работает

• изготовить копию для архивных целей

• воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ)

#SouthFest2014

… не должно наносить неоправданный ущерб нормальному использованию

программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или

иного правообладателя.

#SouthFest2014

Спасибо за внимание! Вопросы?

@wert1go [email protected]