«Взломать за 60 секунд», Артем Кулаков, Redmadrobot

Post on 20-Mar-2017

6.449 views 5 download

Transcript of «Взломать за 60 секунд», Артем Кулаков, Redmadrobot

1

Взломать за 60 секунд

2

WHOAMI

- пишу android приложения

- интересуюсь безопасностью приложений и серверов

- в свободное время помогаю OpenSource проектам

Android-разработчик в RedmadrobotАртем Кулаков

3

Всего 200k приложений в 2011 Низкий уровень

защиты

Бедный инструментарий

Отсутствие интереса со стороны бизнеса

Примитивностьплатформы

Практически не представляет интереса

для взломщиков

4

5

В чем проблема?- байткод + VM вместо

нормальной компиляции- легкая декомпиляция и

модификация приложений- нет защиты на уровне OS*- возможность отладки байткода

6

Что можно получить- всю информацию по работе с API

сервера (методы, ключи и т.д.)- аккаунты для доступа к

сторонним сервисам- алгоритмы- ресурсы (графика, разметка и т.д.)

7

API это всегда вкусно- доступ к недокументированным

функциям- увеличение лимита запросов (или полное

избавление от него)- получение платного контента- получение информации о сетевой

инфраструктуре и как следствие - увеличение поверхности атаки

8

Представьте, что у вас есть социальная сеть…

9

Или читалка книг…

10

А может вообще интернет-магазин!

11

Методы борьбы- SSL Pinning- Ограничения для устройств

с root доступом- Обфускация- Native библиотеки

12

SSL Pinning - это внедрение SSL сертификата, который используется на сервере, в код мобильного приложения. В этом случае приложение будет игнорировать хранилище сертификатов устройства, полагаясь только на свое хранилище и позволяя создать защищенное SSL соединение с хостом, подписанным только сертификатом, что хранится в самом приложении

13

Обход SSL Pinning

- Android-SSL-Trust-Killer- Straight arms method ;)

14

Android-SSL-Trust-Killer- Является плагином к Cydia Substrate- Требует root доступа к устройству- Использует ряд техник обхода (e. g.

SSL Factory hook)

15

Обходим проверку на root

16

Обходим проверку на root

17

Straight arms method- Поиск классов реализующих

pinning- Удаление или подмена

существующих методов

18

Straight arms method

19

Straight arms method

20

Обфускация кода

- не является серебряной пулей

- ProGuard - не обфускатор!

21

22

Native библиотеки

- требуют более серьезной квалификации взломщика

- все еще подвержены дизассемблированию и отладке

IDA Pro GDB Synalyze It!

23

24

Что в итоге?

Все плохо

25

Так может не делать защиту вообще?

Однозначно делать! Не облегчайте взломщикам

жизнь.

Any questions?