2009-11-13 4 views
1

У меня есть приложение для iPhone, которое должно иметь параметр саморазрушения. Это приложение будет использоваться в уязвимых местах и ​​содержит некоторые алгоритмы, которые не должны быть известны никому, кроме iPod Holder.Самостоятельное удаление приложения для iPhone

Что было бы самым «полным» способом удаления приложения?

Я думал о том, как писать нули в файл nib. или фактическое application.app, но я считаю, что эти папки защищены от записи и изолированы.

У кого-нибудь есть идеи о лучших способах достижения этого?

Разработка (Взято из комментариев автора первоначального):

Это для взломанных iPhone.

Эти устройства будут предоставлены военным персонажам, которые могут попасть в руки противника, и это будет наименьшей из моих проблем. У него будет кнопка, так что вытрите приложение, как только приложение будет записано в ноль или лучше, но все же испорчено мусором на всем протяжении «exe», приложение не имеет возможности работать, и для этого потребуется проверка чипа iPod flash с оборудованием, которое i 100% знают, что у неверных людей не будет

ответ

1

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

+0

Я планирую использовать JailBroken iPod для этого, так как знаю эти ограничения и упрощает распространение приложения. – Annerajb

+0

Ах, ну, это наверняка устранит один аспект этого - вы можете посмотреть и на какое-то шифрование, если уже используете настроенный ipod. – paulthenerd

0

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

+0

Итак, использование NSFileManager для написания нулей в приложении не должно быть проблемой? – Annerajb

+0

Выглядит хорошо. Должно быть достаточно просто проверить. Я видел некоторые операционные системы, у которых были проблемы с изменением двоичных файлов (вызывая сбои). –

0

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

1

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

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

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

+0

Думаю, мне придется немного разобраться. Эти устройства будут предоставлены военному персоналу, и это устройство, попавшее в руки врага, было бы наименьшей из моих проблем. У него будет кнопка, так что вытрите приложение, как только приложение будет записано в ноль или лучше, но все же испорчено мусором на всем протяжении «exe», приложение не имеет возможности работать, и для этого потребуется проверка чипа iPod flash с оборудованием, которое i 100% знают, что у людей не будет. – Annerajb

0

Даже если вы найдете способ записи по приложению во флэш-памяти, вы действительно не стираете приложение. Чипы флэш-памяти используют wear leveling algorithms, чтобы уменьшить количество записей в тех же блоках, и поэтому, когда вы выписываете нули, они, как правило, записываются в новый блок памяти, а не в тот же блок, что и раньше, поэтому вы действительно ничего не стираете. Данные все еще можно восстановить из флеш-чипа (по профилю).

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

1

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

3

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

Кроме того, если вы имеете дело с государственным заказчиком в США, я сомневаюсь, что они одобрят покупку джейлбрейкового устройства, учитывая, что у продавца такого устройства есть claimed that jailbreaking is illegal. Независимо от того, будет ли это задерживаться в суде, правительство имеет тенденцию быть консервативным в этих вопросах и ошибаться на стороне осторожности. Поскольку Apple является крупной компанией США и поставщиком для правительства, я бы не ожидал, что государственные закупщики возьмут сторону джейлбрейкеров в этом.

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

Армия США - rolling out iPods in the field, с пользовательскими приложениями на них, поэтому я уверен, что вы не первый человек, столкнувшийся с этим вызовом. Если эта работа финансируется через грант SBIR Министерства обороны (или аналогичный), вы можете даже связаться с вашим договаривающимся офицером и посмотреть, могут ли они связаться с людьми в соответствующем агентстве, которые могут помочь вам (или даже определить, с чего это связано).

0

Я бы использовал встроенное шифрование для хранения данных с помощью ключа, который пользователь должен ввести, чтобы расшифровать его. Без ключа не имеет значения, восстанавливается ли блок данных с устройства.

 Смежные вопросы

  • Нет связанных вопросов^_^