Как защитить приложение iOS в случае любой атаки ОС (на взломанных устройствах с джейлом) - PullRequest
3 голосов
/ 19 декабря 2011

Я хотел бы защитить данные своего приложения в случае любой атаки ОС или несанкционированного доступа на сломанных джейл-устройствах iOS. Есть ли способ обнаружить такие угрозы и защитить данные приложения в таких случаях.

Ответы [ 4 ]

2 голосов
/ 19 декабря 2011

Если пользователь взломал свое устройство, то он отказался от любых ожиданий защиты своих данных.Это не твоя проблема.Вы хотите иметь дело с запросами поддержки от людей, которые сделали это?

2 голосов
/ 19 декабря 2011

Хотя я согласен с тем, что сказал jrturton, если у вас есть важные данные, которые вы хотите защитить от мошеннических приложений (не пользователя), вы можете попробовать следующее:

1) Определить, еслиВаше приложение запущено на взломанном устройстве.Закройте приложение, удалите конфиденциальные данные.См. Эту эту ветку.

2) Используйте сторонние решения, например одно из EnsureIT .Они в некоторой степени полезны для сохранения важных данных, хранящихся в приложении, от мошеннического пользователя / приложения на взломанном устройстве.

3) Попробуйте запутать ваш код.Подробнее о этой ссылке.

Вы также можете найти что-то полезное из обсуждения в этой ветке

0 голосов
/ 19 декабря 2011

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

Вы можете настроить защиту файлов так, чтобы данные были защищены, например,

NSDictionary*   attr = [NSDictionary dictionaryWithObjectsAndKeys:
    NSFileProtectionComplete, NSFileProtectionKey, nil];
[[NSFileManager defaultManager] setAttributes: attr ofItemAtPath: path error: &error];
0 голосов
/ 19 декабря 2011

Нет, вы не можете остановить ОС (взломанную или нет) от считывания памяти вашего приложения, несмотря ни на что. Даже не думайте иначе, обфускация / «шифрование» всего, что будет расшифровано для использования на том же скомпрометированном устройстве, - красная сельдь, которую можно обойти по определению.

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

...