Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / практический хакинг.pdf
Скачиваний:
23
Добавлен:
19.04.2024
Размер:
31.35 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

14

ВЗЛОМ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

Сегодня с мобильного телефона можно управлять прак- тически всей бытовой техникой. Представьте, что вы готовитесь к романтическому вечеру. Вы приготовили ужин, поместили его в духовку, а инструкции по приго- товлению отправили с телефона. Его же вы используете для

контроля времени. Затем настраиваете обдув, нагрев и охлаждение – опять-таки через приложение на телефоне.С телефона вы включаете воспроизведение фоновой музыки на телевизоре (пульт от которого давным-давно где-то потеряли и так и не удосужились найти). Нако- нец, вы используете мобильное приложение, чтобы приглушить свет в комнате (освещение тоже входит в IoT-систему). Все идеально.

Но если все в вашем доме контролируется с телефона, то любой, кто его взломал, сможет перехватить управление! В этой главе мы представим обзор угроз и уязвимостей мобильных приложений, свя- занных с интернетом вещей. Затем проведем анализ двух преднаме- ренно небезопасных приложений: приложения OWASP iGoat для iOS

и приложения InsecureBankV2 для Android.

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

Взлом мобильных приложений  385

 

 

 

hang

e

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

 

t

 

F

 

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

BUY

 

 

wClick

to

Угрозыo m

в мобильных приложениях интернета вещейwClick

to

 

 

 

 

o m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

w

 

 

 

 

 

 

.c

 

.

 

 

 

 

g

 

.

 

 

 

 

g

 

p

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

df

 

 

n

e

 

 

 

-xcha

 

 

 

 

 

 

 

-x cha

 

 

 

 

Мобильные приложения для интернета вещей имеют свою собствен- ную экосистему, подверженную атакам злоумышленников. В этом разделе мы рассмотрим процесс, аналогичный моделированию уяз- вимостей в главе 2,чтобы исследовать основные угрозы,которые мо- бильные приложения создают для устройств интернета вещей.

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

Разбивка архитектуры на компоненты

 

На рис.14.1 показаны основные компоненты среды мобильного при-

ложения IoT.

 

 

 

Экосистема мобильного устройства

Магазин приложений

 

 

 

Приложение

 

Устройство

 

Инфраструктура

интернета вещей

Экосистема платформы

производителя

 

 

 

Аппаратная часть

Сторонний

 

и прошивка устройства

поставщик услуг

Рис.14.1.Структура среды мобильного приложения,предназначенного для IoT

Мы рассматриваем мобильное приложение отдельно от экоси-

стемы платформы и функций, связанных с оборудованием. Мы не

оставим без внимания процесс установки мобильного приложения

для IoT из магазина приложений, взаимодействие этого приложения

с устройством IoT, инфраструктуру поставщика услуг и любых воз-

можных сторонних поставщиков услуг.

 

Выявление угроз

Теперь рассмотрим два типа угроз средам мобильных приложений: общие угрозы,влияющие на мобильные устройства,и угрозы,влияю- щие конкретно на среды Android и iOS.

386  Глава 14

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

t

 

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

 

NOW!

r

 

 

 

 

 

 

BUY

 

 

Общие угрозы для мобильныхустройств

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Основная характеристика мобильного устройства – портативность.

 

 

 

 

 

 

 

А поскольку вы постоянно носите с собой телефон, потерять его до- вольно легко. К тому же его могут украсть, и даже если вора изна- чально интересовал телефон как таковой, он может воспользоваться конфиденциальной информацией и личными данными в хранили- ще сопутствующего приложения IoT. Или же он попытается обойти слабый или неработающий элемент управления аутентификацией в приложении,чтобы получить удаленный доступ к соответствующе- му устройству IoT. Владельцы устройств, которые остаются подклю- ченными к своим аккаунтам приложений-компаньонов IoT, значи- тельно упростят задачу злоумышленнику.

Кроме прочего, мобильные устройства обычно подключаются к ненадежным сетям, например случайным общедоступным точкам доступа Wi-Fi в кафе и гостиничных номерах, а это само по себе от- крываетпутьдляразличныхсетевыхатак(такихкак«человекпосере- дине» или перехватсетевых пакетов).Приложения IoT обычно разра- батываютсядлявыполнениясетевыхподключенийкинфраструктуре поставщика,облачным службам и устройствам IoT.Злоумышленники могут извлекать данные, которыми обмениваются приложения в не- безопасных сетях, или вмешиваться в них.

Приложение также может работать как связующий элемент между устройством IoT, API поставщика, сторонними поставщиками услуг и облачной платформой. Эти внешние системы могут представлять новые угрозы в отношении защиты передаваемых конфиденциаль- ных данных. Злоумышленники могут атаковать и использовать об- щедоступные службы или неправильно настроенные компоненты инфраструктуры для получения удаленного доступа и извлечения хранимых данных.

Процедура установки приложения также может быть подвержена атаке. Не все приложения для интернета вещей поступают из офи- циального магазина мобильных приложений. Многие мобильные устройства могут устанавливать приложения из сторонних магази- нов, некоторые приложения не подписаны действующим сертифи- катом разработчика. Злоумышленники используют эту проблему для доставки поддельных версий приложений,содержащих вредоносные функции.

Угрозы для Android и iOS

Теперьисследуемугрозы,связанныесплатформамиAndroidиiOS.На рис. 14.2 показаны экосистемы обеих платформ.

Программноеобеспечениедляобеихплатформвключаеттриуров- ня: 1) нижний, содержащий операционную систему и интерфейсы для ресурсовустройства; 2)промежуточный,состоящийиз библиотек и фреймворков приложений, которые обеспечивают большую часть функций API; 3) уровень приложений, в котором находятся пользо- вательские приложения и набор системных приложений. Уровень

Взлом мобильных приложений  387

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

приложений отвечает за предоставление пользователю возможности

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

w Click

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

взаимодействовать с мобильным устройством.

 

w

 

df-x chan

 

o

 

 

.

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

e

 

ЭкосистемаAndroid

Приложения

ПлатформаAndroid

Библиотеки

 

Среда

 

выполнения

 

 

 

 

 

Уровеньаппаратной абстракции

Ядро Linux

Экосистема iOS

Приложения

(CocoaTouch)

Структура пользовательского интерфейса

Уровеньмедиа

Открытые

структуры

Выполнение Закрытые структуры

Уровеньядра OS

Рис.14.2.Экосистемы Android и iOS

Обе платформы обеспечивают гибкость как разработчикам, так и пользователям. Например, пользователи могут установить соб- ственное программное обеспечение, такое как игры и расширения, разработанные ненадежными программистами. Злоумышленники могут обманом заставить пользователей установить вредоносное ПО, замаскированное под легальные приложения, и эти приложения могут злонамеренно взаимодействовать с приложением интернета вещей. Кроме того, платформы имеют богатую среду разработки, но безответственные или необученные разработчики иногда оставляют конфиденциальные данные без защиты из-за ненадлежащего ис- пользования мер безопасности­ для конкретных устройств или в не- которых случаях даже отключив их.

Определенные платформы, такие как Android, подвержены дру- гой угрозе: большому разнообразию различных устройств, на ко- торых работает платформа. Многие из этих устройств используют устаревшие версии операционной системы платформы, которые со- держат известные уязвимости, что создает проблему фрагментации программного обеспечения. Разработчику практически невозмож- но отслеживать и смягчать последствия всех этих проблем, а также выявлять их. Кроме того, злоумышленники могут идентифициро- вать плохо защищенные приложения интернета вещей и атаковать их, используя несоответствия конкретного устройства требованиям приложения. Например, API-интерфейсы, связанные с элементами управления безопас­ностью,такими как аутентификация по отпечат-

388  Глава 14

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ку пальца, не всегда демонстрируют предсказуемое поведение из-за

 

 

 

 

 

m

w Click

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

различий в оборудовании. Многие производители предлагают обоd-f-x chan

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

e

 

рудование для устройств Android с различными характеристиками

ибазовыми стандартами безопасности­ . Эти поставщики также несут ответственность за поддержку и развертывание данных в энергоне- зависимой памяти, что лишь усугубляет проблему фрагментации. Пользователи рассчитывают на хорошо протестированное, надежное

истабильное приложение, а также безопасное программное обеспе- чение, но вместо этого разработчики используют не очень надежный API в непредсказуемой среде.

Средства управления безопасностью­ Android

и iOS

ПлатформыAndroid и iOS включаютряд средств управления безопас­ ностью, которые интегрированы в критически важные компоненты их архитектур (рис. 14.3).

 

 

Архитектура безопасности платформы

 

 

 

 

 

 

 

Защита данных

 

 

 

 

 

обеспечение

 

 

Песочница приложения

 

 

 

 

 

Безопасный IPC

 

 

 

 

Программное

 

 

 

 

Подписание приложения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Службы

 

 

 

 

 

 

 

 

 

 

 

Зашифрованная файловая система

 

 

 

 

 

 

 

 

 

 

 

Аутентификация пользователя

 

 

 

 

 

 

 

 

 

 

 

Доверенная среда выполнения,

 

Оборудование

 

безопасный элемент

 

 

 

 

 

Средства аппаратной

 

 

 

безопасности ядра

 

 

 

 

 

 

 

Проверенная/безопасная загрузка

 

 

 

 

 

 

 

 

 

 

 

Ключи и сертификаты

 

 

 

 

 

Рис.14.3.Интегрированные меры безопасности­ в архитектурах мобильных платформ

Взлом мобильных приложений  389