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

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

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

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

1

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

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

2

WHOAMI

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

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

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

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

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

3

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

защиты

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

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

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

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

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

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

4

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

5

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

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

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

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

6

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

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

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

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

7

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

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

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

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

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

8

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

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

9

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

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

10

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

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

11

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

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

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

12

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

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

13

Обход SSL Pinning

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

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

14

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

SSL Factory hook)

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

15

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

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

16

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

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

17

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

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

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

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

18

Straight arms method

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

19

Straight arms method

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

20

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

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

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

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

21

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

22

Native библиотеки

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

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

IDA Pro GDB Synalyze It!

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

23

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

24

Что в итоге?

Все плохо

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

25

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

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

жизнь.

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

Any questions?