Приложение для самостоятельного удаления iPhone - PullRequest
1 голос
/ 14 ноября 2009

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

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

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

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

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

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

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

Ответы [ 8 ]

3 голосов
/ 14 ноября 2009

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

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

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

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

1 голос
/ 14 ноября 2009

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

1 голос
/ 14 ноября 2009

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

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

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

1 голос
/ 14 ноября 2009

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

0 голосов
/ 14 ноября 2009

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

0 голосов
/ 14 ноября 2009

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

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

0 голосов
/ 14 ноября 2009

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

0 голосов
/ 14 ноября 2009

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

...