Джейлбрейк как узнать что он установлен

Джейлбрейк как узнать что он установлен

Выявляем случаи несанкционированного доступа к системе

Прежде чем приступить к собственно защите устройства под iOS, проверьте, не имеют ли уже злоумышленники несанкционированный доступ для сбора данных. Обычно для этого злоумышленник совершает так называемый джейлбрейк: обходит параметры безопасности устройства и может в фоновом режиме управлять всем смартфоном, устанавливать приложения и перехватывать данные. Выявить факт джейлбрейка можно с помощью определенных инструментов безопасности, сканирующих систему на предмет вмешательства. Рекомендуем приложение от Lookout, которое кроме джейлбрейка также проверяет, какой версией iOS вы пользуетесь. Если инструмент Lookout бьет тревогу, вам нужно пойти на радикальные меры: полностью переустановить систему. Только таким образом можно со стопроцентной гарантией избавить систему от шпионов. И если вы создали резервную копию ОС, в таком случае лучше ее не разворачивать, за исключением локального бэкапа, хранящегося на домашнем компьютере: шифрование защищает от злоумышленников, которые, возможно, имеют доступ к Apple ID пользователя.

Чтобы полностью удалить данные с устройства, перейдите в меню «Настройки | Основные | Сброс» и выберите «Стереть». После перезагрузки устройство откатится к заводским настройкам. Выберите настройку iPhone как нового. Чтобы в дальнейшем иметь возможность создавать защищенные резервные копии, сохраняйте данные на домашнем компьютере с помощью iTunes или используйте безопасную USB-флешку для iPhone, например, iXpand от SanDisk.

Разоблачаем подозрительных сборщиков данных

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

Чтобы определить, установлен ли уже такой профиль на устройстве, откройте меню «Настройки | Основные» и в пункте «Профили» посмотрите все активные профили конфигурации. Если какой-то из них вам не знаком, откройте его и нажмите «Подробнее». В следующем окне вы увидите, к чему у профиля есть доступ. Если вы сомневаетесь в определении параметров, лучше на всякий случай стереть всю запись, нажав в просмотре профиля «Удалить профиль».

Другие ответы на вопрос: Как узнать взломан ли айфон или айпад, джейлбрейк

Фантазии на тему: "Голосовой помощник Siri в недалеком будущем"

Всем привет! Сегодня мы расскажем вам – как узнать стоит ли джейлбрейк в вашем iPhone, планшете iPad или плеере iPod touch. Тема очень важная, особенно для тех, кто планирует покупку Айфона. Ране мы немного рассказывали о Jailbreak, решили немного развить тему и объяснить немного подробней.

Существует два вида джейла:

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

Читайте также:  Как живут русские в туркмении сегодня

Узнаем – стоит ли отвязанный джейлбрейк

Самый распространенный вид джейла – это отвязанный Jailbreak. Отвязанный джейл отличается от привязанного тем, что после перезагрузки устройства, Айфон, Айпад или Айпод нормально загружается и все приложения работают. Определить стоит ли такой джейлбрейк можно несколькими способами:

Стандартный способ распознавания джейлбрейка

Основные признаки сделанного джейлбрейка — Cydia и сторонние приграммы и утилиты

В основном любой джейлбрек распознается по наличию установленной сторонней программы – Cydia. Если среди значков на одном из рабочих экранов вы обнаружите приложение Cydia, то знайте – что джелбрейк стоит точно. Вместе с Сидией, среди приложений иногда можно встретить распространенный файловый менеджер iFile или уже не работающий Installous (старое название Installer), которые ставились из Cydia.

Существуют хитрые продавцы телефонов iPhone (особенно б/у) умудряются прятать признаки джейла, после чего продают залоченный iPhone мало-разбирающемуся покупателю, выдавая его за официально разлоченный. В основном такие люди наводят визуальный марафет, пряча приложение Cydia (могут припрятать и другие сторонние приложения вроде iFile или Installous).

Если вы нашли Cydia в своем iPhone или iPad, то джейлбрейк имеется

Степень спрятанности зависит от наличия знаний по теме, некоторые прячут Cydia в созданную папку или делают иконки невидимыми при помощи специальных твиков (к примеру SBSettings). Для поиска спрятанной Cydia, иногда, можно воспользоваться быстрым поиском – вводим Cydia в строке поискам смотрим результаты, главное чтобы в настройках поиска (Настройки – Основные – Поиск Spotlight) стояла галочка – В программах.

Более разбирающиеся специалисты, при выполнении джейлбрейка, программу Cydia даже не устанавливают, соответственно узнать стоит ли джейлбрейк, при помощи найденной Cydia, не получится. Остается ставить iFunBox.

iFunBox знает – стоит джейлбрейк или нет

Есть еще один способ как можно узнать установлен джейл или нет. Ставим программу iFunBox в свой компьютер. Подключаем свой iPhone, iPad или iPod к компу.

Программа iFunBox знает что такое джейлбрейк

Программа iFunBox поможет нам узнать сделан ли джейлбрейк, для этого переходим в раздел iFunbox Classic и смотрим:

  • Если в самом конце названия устройства в скобках указано – (Jailed), то в устройстве джейлбрейка нет.
  • Если надписи (Jailed) в конце названия нету – в таком iPhone джейлбрейк сделан.

Что у нас получается. На изображении выше 3 устройства, из них лишь в iPod touch 5 джейлбрейк не сделан. Как мы видим в iPhone 2G и iPad 2 джейл установлен.

Распознаем привязанный джейлбрейк

Наличие установленного привязанного джейлбрейка определить очень просто, для этого достаточно выключить и включить свой iPhone, iPad или iPod. Если после включения устройство продолжает нормально работать, то привязанного джейла нет, для убедительности после загрузки проверьте работу браузера Safari.

Ели телефон, планшет или плеер после перезагрузки на запускается, горит яблоко, то в нем стоит привязанный джейл.

Некоторые модели устройств с процессорами A4, установленной утилитой SemiTether и привязанным джейлбрейком после перезагрузки могут включаться, но не будут работать некоторые приложения – Safari, Cydia, почтовое приложение Mail.

Читайте также:  Pll тюнер что это

С признаками привязанного и полу привязанного джела вроде разобрались.

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

Автор: Пратик Джианчандани (Prateek Gianchandani)

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

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

1 NSString *filePath = @"/Applications/Cydia.app";
2 if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
3 <
4 //Device is jailbroken
5 >

Однако не на всех джейлбрейковых устройства установлена Cydia. Кроме того, взломщик может изменить месторасположение этого пакета. В этом случае более эффективна проверка на присутствие множества других приложений и файлов. Например, можно проверить присутствие фреймворка Mobile Substrate, который также установлен на множестве устройств, где есть джейлбрейк. Кроме того, можно проверить присутствие демона SSH или интерпретатора shell. Все вышеупомянутые проверки выполняет следующий код:

1 +(BOOL)isJailbroken <
2
3 if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"]) <
4 return YES;
5 >else if([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/MobileSubstrate.dylib"]) <
6 return YES;
7 >else if([[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"]) <
8 return YES;
9 >else if([[NSFileManager defaultManager] fileExistsAtPath:@"/usr/sbin/sshd"]) <
10 return YES;
11 >else if([[NSFileManager defaultManager] fileExistsAtPath:@"/etc/apt"]) <
12 return YES;
13 >
14 return NO;
15>

Из предыдущих статей мы также знаем, что приложения, запускаемые под пользователем «mobile», работают внутри песочницы и находятся в директории /var/mobile/Applications, а приложения, которые запускаются от имени суперпользователя (root) находятся в директории /Applications. Таким образом, пользователь на джейлбрейковом устройстве может установить приложение в папку /Applications и тем самым наделить его привилегиями суперпользователя. Исходя из этого, мы можем проверить, работает ли приложение внутри песочницы или у него есть более широкие права, путем тестовой модификации файла вне директории, где установлено приложение.

1 NSError *error;
2 NSString *stringToBeWritten = @"This is a test.";
3 [stringToBeWritten writeToFile:@"/private/jailbreak.txt" atomically:YES
4 encoding:NSUTF8StringEncoding error:&error];
5 if(error==nil) <
6 //Device is jailbroken
7 return YES;
8 > else <
9 //Device is not jailbroken
10 [[NSFileManager defaultManager] removeItemAtPath:@"/private/jailbreak.txt" error:nil];
11 >

Как было сказано выше, опытный злоумышленник может изменить местонахождение приложения, однако даже в этом случае мы можем узнать, установлена ли Cydia на устройстве, поскольку злоумышленник, скорее всего, не изменит схему URL, которая используется в Cydia. Если вызов URL-схемы (cydia://) из вашего приложения завершился успешно, можно быть уверенным в том, что устройство джейлбрейковое.

Читайте также:  Задувка пеной между стенами

1 if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:
@"cydia://package/com.example.package"]]) <
2 //Device is jailbroken
3 >

Также добавим условие, при котором код не будет выполняться в том случае, если приложение тестируется в симуляторе. Объединяя все вышеперечисленные техники, получаем следующий метод:

if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"]) <
return YES;
>else if([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/MobileSubstrate.dylib"]) <
return YES;
>else if([[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"]) <
return YES;
>else if([[NSFileManager defaultManager] fileExistsAtPath:@"/usr/sbin/sshd"]) <
return YES;
>else if([[NSFileManager defaultManager] fileExistsAtPath:@"/etc/apt"]) <
return YES;
>

NSError *error;
NSString *stringToBeWritten = @"This is a test.";
[stringToBeWritten writeToFile:@"/private/jailbreak.txt" atomically:YES
encoding:NSUTF8StringEncoding error:&error];
if(error==nil) <
//Device is jailbroken
return YES;
> else <
[[NSFileManager defaultManager] removeItemAtPath:@"/private/jailbreak.txt" error:nil];
>

if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]) <
//Device is jailbroken
return YES;
>
#endif

//All checks have failed. Most probably, the device is not jailbroken
return NO;
>

Честно сказать, на данный момент не существует метода, который определял бы джейлбрейк на устройстве в 100% случаев. Опытный взломщик всегда сможет найти способ обхода всех этих проверок. Кроме того, он попросту может найти соответствующие инструкции в бинарном файле и заменить их NOP’ами. Он также может изменить логику работы вашего метода на свою собственную при помощи Cycript.

Вначале злоумышленник может найти соответствующий класс, используя утилиту Class-dump-z. Далее он найдет метод +(BOOL)isJailbroken, который относится к классу JailbreakDetector. Обратите внимание, это так называемый классовый метод, поскольку вначале него стоит префикс «+». Само собой из названия метода очевидно, что он отвечает за проверку устройства на джейлбрейк, и возвращает YES, если устройство джейлбрейковое. Если вы не знакомы с этими концепциями, обращайтесь к предыдущим статьям из этой серии.

Рисунок 1: После получения информации о классах, находим метод, который проверяет присутствие джейлбрейка на устройстве

Затем злоумышленник может подцепиться к приложению при помощи Cycript

Рисунок 2: Подключение к приложению при помощи Cycript

После этого взломщик получает перечень методов класса JailbreakDetector. Обратите внимание, что мы получаем этот перечень, используя конструкцию JailbreakDetector->isa.messages, поскольку isJailbroken – классовый метод. Для нахождения методов экземпляра класса следует использовать конструкцию JailbreakDetector.messages.

Рисунок 3: Перечень методов класса JailbreakDetector

После того, как список методов получен, злоумышленник может изменить реализацию метода (используя технику method swizzling), где вместо YES будет возвращаться NO. Если вы не знакомы с этой техникой, рекомендую изучить восьмую статью из этой серии.

Рисунок 4: Изменение логики работы метода

Мы, как разработчики, можем усложнить жизнь взломщику, если будем использовать такие имена методов, которые не привлекают внимание. Например, класс JailbreakDetector, можно переименовать в ColorAdditions, а метод +(BOOL)isJailbroken в +(BOOL)didChangeColor. На подобные имена злоумышленник не обратит внимания. Конечно, он всегда может посмотреть вызовы внутри этого метода, используя Snoop-it, GDB и другие утилиты, но это маленькое изменение вполне может затруднить ему жизнь.

Подписывайтесь на каналы "SecurityLab" в Telegram и Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

Ссылка на основную публикацию
Дата выхода новой ios
Бета-версия iOS 13 уже здесь, как и наш список изменений. По словам Apple, на выступлении со сцены WWDC 2019, новые...
Геймпад подключен к пк но не работает
Есть такие компьютерные игры, управление в которых возможно исключительно с помощью клавиатуры и мыши. А если хочется поиграть на джойстике?...
Гелий расширяется сначала адиабатно а затем изобарно
Экзаменационная работа состоит из трех частей, различающихся формой и уровнем сложности заданий (см. таблицу). По форме работа разбивается на три...
Дата выхода яндекс станции
Яндекс.Станция Конфигурация Аппаратная платформа ARM Цена 10 990 ₽ Тип Сетевой медиаплеер, персональный ассистент, голосовой помощник Разработчик Яндекс Государство Россия...
Adblock detector