Безопасность iOS-приложений: гайд для новичков

Продолжаю серию статей про секреты и лайфхаки для iOS 13 и iPadOS. Я расскажу, как управлять папками в приложении Заметки и как управлять файлами на iPadOS в проводнике (приложение Файлы).

Инструкция: как сохранить файлы из ВК в Айфон

Первым делом проверьте версию своей операционной системы. Если она ниже IOS 11, вам понадобится скачать с AppStore любой файловый менеджер. Начиная с 11 операционки и выше – последний встроен в систему.

Итак, как сохранить на Айфон документ из ВК, изучите алгоритм действий:

  • Откройте ВК и найдите материал, который необходимо сохранить на смартфон;
  • Если это картинка, щелкните по многоточию справа от нее;
  • А затем выберите пункт «Сохранить в фото»;
  • Если такого блока нет, жмите по самому документу;
  • А когда он загрузится внизу на кнопку «Поделиться»;
  • А затем на значок импорта в левом верхнем углу;
  • Среди пунктов найдите тот, который отвечает за сохранение данных;
  • Обратите внимание, что можно отправить его к фотографиям или к другим файлам;
  • Теперь нужно выбрать папку, в которой скачанное будет лежать после загрузки. К слову, здесь можно выбрать папку в самом Айфоне, либо отправить материал на Icloud, в облако. В этом случае у вас будет к нему доступ с любого яблочного устройства;
  • Тапните по клавише «Добавить»;
  • Готово, вам удалось скачать документ на Айфон из Вконтакте.

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

Шаг Установка приложения

Apple не предлагает простого способа входа в сторонние облачные хранилища, в отличие от сервисов электронной почты в приложении «Почта». Нужно установить приложение облачного хранилища, которое поддерживает расширение File Provider. Расширение подключается к приложению «Файлы» и другим приложениям, которые позволяют просматривать файлы и выбирать документы.

Если на iPhone уже установлены приложения облачных хранилищ, у вас будет меньше работы.

Ниже приведён список популярных приложений:

Amazon Drive

Box

Dropbox

Google Drive

MEGA

Microsoft OneDrive

Другие приложения:

Adobe Creative Cloud

Baidu Cloud

Boxcryptor

Citrix Files

Documents by Readdle

ibi

ownCloud

PDF Expert

SugarSync

Tresorit

Приложения, которые пока не работают:

MediaFire

В iOS 11 и iOS 12 возможности этих приложений ограничены. В iOS 13 приложение «Файлы» является единым хабом для управления файлами. Однако, некоторые приложения используют iCloud только для хранения файлов, такие как PDF Expert. Несмотря на это, они тоже отображаются в приложении «Файлы».

Приложение Файлы на iPadOS

  1. Просмотреть и добавить папки.

Запустите приложение Файлы и нажмите Местоположение слева. В главном окне сделайте свайп вниз для открытия панели инструментов. Нажмите на иконку папки со значком + для создания новой папки. Нажмите имя, дата и т.д. для сортировки по этим критериям. Нажмите на один из трёх вариантов просмотра справа. Можно увидеть иконки, список или столбец.

  1. Добавить новую локацию.

Для доступа к USB-флешке или внешнему жёсткому диску подключите их в разъём USB-C на iPad Pro или iPad 2019. Они появятся в списке локаций. Для доступа к сетевому хранилищу нажмите Дополнительно и выберите Подключиться к серверу. Наберите адрес сервера и нажмите Подключиться.

  1. Управлять папками.

Нажмите и удерживайте любую папку в приложении Файлы, чтобы увидеть меню доступных команд. Они разные для папок разных типов. Нажмите Сжать для создания архива Zip. Также есть команды Копировать, Дублировать или Переместить. Ещё можно ставить теги, переименовывать и вносить папки в избранные.

  • Секреты и скрытые возможности iOS 13 и iPadOS [Часть 1].
  • Секреты и скрытые возможности iOS 13 и iPadOS [Часть 3].
  • Секреты и скрытые возможности iOS 13 и iPadOS [Часть 4].

Файловая система и песочница приложений

Безопасность на платформе iOS была одним из главных приоритетов Apple с тех пор, как iPhone был представлен в 2007 году. В отличие от приложений OS X, приложение iOS находится в изолированной программной среде. Песочница приложения не только ссылается на каталог песочницы приложения в файловой системе. Он также включает в себя контролируемый и ограниченный доступ к пользовательским данным, хранящимся на устройстве, системным службам и оборудованию.

С появлением Mac App Store Apple начала применять изолированную программную среду приложений в OS X. Хотя ограничения, накладываемые на приложения OS X, не такие строгие, как ограничения, накладываемые на приложения iOS, основная концепция аналогична. Хотя есть и отличия. Например, в изолированной программной среде приложения для iOS содержится пакет приложений, чего нельзя сказать о приложениях OS X. Причины этих различий в основном исторические.

Песочница и каталоги

Операционная система устанавливает каждое приложение iOS в каталог песочницы, который содержит каталог пакета приложений и три дополнительных каталога, Documents , Library и tmp . Доступ к каталогу песочницы приложения, часто называемому его домашним каталогом, можно получить, вызвав простую функцию Foundation, NSHomeDirectory() .

1 print(NSHomeDirectory())

Вы можете попробовать это сами. Создайте новый проект Xcode на основе шаблона приложения Single View и назовите его « Постоянство данных».

Откройте и добавьте приведенный выше фрагмент кода в application(_:didFinishLaunchingWithOptions:) . Если вы запустите приложение в симуляторе, вывод в консоли должен выглядеть примерно так:

1 /Users/Bart/Library/Developer/CoreSimulator/Devices/14F00EFB-2EAB-438C-B401-7FEFDA1D94AB/data/Containers/Data/Application/81B23594-3BA2-4AF9-B91A-F74A53FD6945

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

1 /var/mobile/Containers/Data/Application/41E7939B-6A39-4005-9C28-372FD9C7AD99

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

1 2 3 4 5 let directories = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, , true)   if let documents = {     print(documents) }

Мы вызываем NSSearchPathForDirectoriesInDomains() , которая определена в платформе Foundation. В качестве первого аргумента мы передаем DocumentDirectory типа NSSearchPathDirectory чтобы указать, что нас интересует только каталог документов приложения. Второй и третий аргументы имеют меньшее значение для нашего обсуждения. Функция возвращает массив типа [String] , содержащий один результат, путь к каталогу документов приложения.

Почему песочница?

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

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

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

Что идет куда?

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

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

Каталог Documents предназначен для пользовательских данных, а каталог Library — для данных приложения, которые не привязаны строго к пользователю. Каталог Caches в каталоге Library — это еще один каталог, для которого нет резервных копий.

Также имейте в виду, что ваше приложение не должно изменять содержимое каталога комплекта приложений. Каталог комплекта приложений подписывается при установке приложения. Изменяя содержимое каталога комплекта приложений любым способом, вышеупомянутая подпись изменяется, что означает, что операционная система не позволяет приложению снова запускаться. Это еще одна мера безопасности, введенная Apple для защиты клиентов.

Вам также может быть интересно

Текстовые документы на Айфон можно создавать, сохранять и просматривать с помощью целого ряда приложений, которые можно бесплатно скачать в App Store. Все редакторы поддерживают форматы Word и Excel, так что вы можете перенести файл с компьютера на iPhone и продолжить работать с ним.

Pages

Вам также может быть интересно

Приложение Pages входит в состав iWork и является продуктом разработчиков Apple. Программа поддерживает открытие и экспорт наиболее популярных форматов документов.

По умолчанию созданные в Pages документы сохраняются с расширением *.pages. Однако вы можете выбрать другой формат при экспорте.

  1. Откройте документ и нажмите на кнопку с тремя точками.
  2. Выберите пункт «Export».
  3. Укажите подходящий формат.
  4. Выберите способ отправки.
Вам также может быть интересно

С помощью iCloud вы можете предоставить к документам, которые хранятся в Pages, общий доступ – это позволит работать с текстом командой. Если вы задаетесь вопросом, как сохранить на Айфон текстовый документ, созданный на компьютере, то здесь тоже поможет iCloud.

  1. Запустите на компьютере браузер и зайдите на сайт iCloud.
  2. Выберите приложение в зависимости от того, документ в каком формате необходимо перенести – Pages для Word, Numbers или Keynote для Excel.
  3. Перетащите файл в окно браузера, чтобы загрузить его в облако.

Загруженный в облачное хранилище документ будет доступен на iPhone в приложении iCloud Drive в папке Pages. Кроме того, в самом приложении Pages есть менеджер файлов, в котором сохраняются все документы, которые были созданы или ранее открывались в редакторе.

Вам также может быть интересно

Вместо iCloud можно использовать для переноса файлов iTunes и iTools. Например, чтобы переместить файл на iPhone через iTools:

  1. Откройте iTools, подключите iPhone к компьютеру.
  2. Перейдите на вкладку «Application» в верхнем и боковом меню.
  3. Найдите Pages и нажмите кнопку «File Share» напротив.
  4. Выделите раздел «Documents».
  5. Нажмите на «Import» и выберите файл.

Чтобы открыть файл на iPhone, запустите Pages, нажмите на плюс и выберите опцию копирования данных с iTunes.

Вам также может быть интересно

МойОфис Документы

Текстовые документы на Айфон можно также создавать и просматривать с помощью приложения МойОфис. Он весит всего 80 Мб и предлагает большое количество способов импорта документов с компьютера и из других офисных программ. Для начала разберемся, как скачать текстовый документ на Айфон через МойОфис. Есть три способа:

Если вы отправили файл по почте, то откройте вложение и нажмите на кнопку «Поделиться». Среди доступных вариантов выберите «Скопировать в Документы».

Вам также может быть интересно

На облачном хранилище можно закинуть файл в приложение Pages. Чтобы затем открыть его в МойОфис, нажмите на плюс и выберите «Загрузить документ». В качестве источника выберите приложение iCloud Drive и папку Pages.

Еще проще скачать файл из интернета. Нажмите на документ в Safari, чтобы вызвать меню «Открыть в …». Нажмите на кнопку и выберите «Скопировать в Документы», после чего загруженный файл будет доступен в приложении МойОфис в разделе «На устройстве».

Чтобы создать документ в МойОфис, запустите приложение и на вкладке «На устройстве» нажмите на плюсик. Выберите, файл какого типа необходимо создать – текст или таблицу.

Вам также может быть интересно

После этого вы окажитесь в окне редактора, где можно:

  • Выбрать стиль, размер и цвет шрифта.
  • Выравнивать текст по краям и по центру.
  • Добавлять списки.
  • Использование в тексте выделение курсивом, полужирным или подчеркиванием.

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

Вам также может быть интересно

Чтобы сохранить документ, нажмите на кнопку с тремя горизонтальными полосами. Выберите «Экспорт», если рассчитываете продолжить редактировать текст позже, или «Отправить копию», если уже закончили работу.

МойОфис умеет сохранять файлы в форматах DOC, ODT и PDF. Последний является предпочтительным, так как в нем точно сохранится форматирование страниц.

Microsoft Word, Excel и PowerPoint

Вам также может быть интересно

Отвечая на вопрос, как на Айфоне создать текстовый документ, нельзя пройти и мимо стандартных офисных приложений Microsoft. Word, Excel и PowerPoint стали бесплатными на iOS еще в 2014 году. Тогда же была добавлена поддержка Dropbox, благодаря которой файлы стало легко переносить между устройствами.

Чтобы создавать и редактировать документы в Word, Excel и PowerPoint, необходимо авторизоваться с помощью учетной записи Microsoft. Если же вы хотите получить доступ ко всем возможностям Office, то придется приобрести подписку на Office 365.

Вам также может быть интересно

Многофункциональность Documents

Для просмотра видеороликов, воспроизведения фильмов, сохраненных в различных форматах порой требуется на мобильный гаджет установить несколько приложений. Решить проблему помогает многофункциональная программа Documents для iPhone. Примечательно, что скачать приложение можно абсолютно бесплатно, его установка также не вызовет никаких сложностей.

Важно! Для установки приложения необходим зарегистрированный аккаунт на Apple Store, а также установленная русифицирована.

Documents позволяет обмениваться данными и файлами между своими iOS устройствами по средствам iCloud, импортировать их между персональным компьютером и iPhone с помощью Wi-Fi. Простая и понятная программа не вызовет проблем с ее использованием.  Она отличается удобством и функциональностью.

Многофункциональность Documents

Скачать Documents для iOS

@

Анализ трафика приложения

На предыдущих этапах мы уже настроили перехватывающий прокси, поэтому информацию об HTTP и HTTPS трафике сразу же сможем увидеть через Burp Suite:

Пример перехвата данных, отправленных приложением

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

SSL пиннинг. В качестве защиты перехвата HTTPS трафика в мобильных приложениях используется SSL пиннинг. В приложение добавляются заранее вычисленные пины — хэш-суммы от серверного сертификата или от отдельных его полей (например, SubjectPublicKeyInfo). Пины сохраняются в коде приложения. При обращениях к серверу приложение снова вычисляет пины сертификата и сравнивает со списком доверенных. Если пины не совпадают, значит сертификат подложный (например, как в случае с перехватывающим прокси) — соединение останавливается.

Для реализации SSL пиннинга существуют готовые решения:

Анализ трафика приложения
  • TrustKit;

  • Alamofire;

  • NSURLSession — нужно писать самостоятельно свою реализацию защиты на основе данного API.

Разберем на примере TrustKit возможные варианты обхода SSL пиннинга. Например, конфигурация для TrustKit выглядит так:

let googleCom: [String: Any] = [ kTSKReportUris: [«https:///report_url»], kTSKDisableDefaultReportUri: true, kTSKEnforcePinning: true, kTSKIncludeSubdomains: true, kTSKPublicKeyHashes: [ «Z8geUnmtnmt4ehRyQAOJ4…», «YZPgTZ+woNCCCIW3LH2…» ] ] … let trustKitConfig: [String: Any] = [ kTSKSwizzleNetworkDelegates: true, kTSKPinnedDomains: [ «»: googleCom, … ] ]

Параметры конфигурации передаются в метод initSharedInstanceWithConfiguration при запуске приложения и инициализируют SSL пиннинг. При попытке установить соединение TrustKit проверит, что хотя бы один из указанных пинов совпадает с пинами, подсчитанными для сертификатов в цепочке сертификатов сервера.

Способы обойти данную проверку:

  • Перехватить вызов метода initSharedInstanceWithConfiguration и выставить TKSEnforcePinning в 0.

  • Перехватить вызов verifyPublicKeyPin и заменить на функцию, которая всегда возвращает 0 (=TSKTrustEvaluationSuccess).

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

WebView. Если приложение использует WebView, то при тестировании стоит обратить особое внимание на конфигурацию и значения параметров. UIWebView (старая версия) и WKWebView предназначены для встраивания содержимого веб-страниц прямо в приложение, поддерживая CSS и JS. Также поддерживают базовую логику навигации в веб (переход вперед/назад/гиперссылки и т.д.). Начиная с iOS 8.0 и OS X , используйте WKWebView для добавления веб-содержимого в ваше приложение и не используйте UIWebView.

У WKWebView есть флаги, которые могут быть для нас интересны:

Анализ трафика приложения
  • JavaScriptEnabled — включено ли исполнение JS для данного WebView.

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

  • AllowFileAccessFromFileURLs (для WKPreferences, по умолчанию false) — включает JavaScript, работающий в контексте URL-адреса схемы “file://”, для доступа к содержимому из других URL-адресов схемы “file://”.

  • IsFraudulentWebsiteWarningEnabled — логическое значение, которое указывает, отображаются ли предупреждения о мошенническом содержимом: например, о вредоносных программах или попытках фишинга.

Для экспериментов или отладки своего приложения удобно использовать Web Inspector в Safari (для этого приложение должно быть собрано с возможностью отладки). Включив Web Inspector на девайсе, мы сможем подключиться к WebView и посмотреть, что происходит: как выглядит HTML, выполнить какой-то JavaScript и т.д.

Подключение к DVIA-v2 через Web Inspector

App Store

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

App Store

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

  • Сегодня,
  • Игры,
  • Приложения,
  • Обновления,
  • Поиск.
App Store

На вкладке «Сегодня» содержится самый актуальный контент на сегодняшний день по версии редакторов App Store. Здесь в ежедневном порядке обновляются рубрики «Игра дня» и «Приложение дня», которые, опять-таки, тщательно отбираются сотрудниками Apple.

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

App Store

Вкладки «Игры» и «Приложения», как понятно из названий, посвящены играм и приложениям из App Store. Разделение игр и приложений по раздельным вкладкам в Apple решили сделать для того, чтобы дать пользователям возможность наиболее удобным образом находить именно то, что они ищут. Так, если в App Store вас совершенно не интересуют игры, в обновленном App Store они будут мелькать перед вашими глазами только на вкладке «Сегодня», в очень ограниченном количестве.

Непосредственно на страницах приложений и игр в новом App Store представлено больше предварительных видеопросмотров, отображаются наклейки «Выбор редакции», имеется удобный доступ к оценкам пользователей и информации о встроенных покупках.

App Store

App Store в iOS 11 улучшился не только внешне. Главным техническом апгрейдом магазина приложений Apple стал усовершенствованный поиск. Искать в App Store стало значительно проще — «умный» механизм подсказывает очень точно, а также дает ссылки на подходящие по запросу статьи, советы и рекомендации и подборки.

Что такое «Документы и данные»?

На iOS-устройствах хранятся два вида «Документов и данных»: первый находится непосредственно на устройстве и занимает внутреннюю память (кэш и другая информация приложения), а второй занимает , где также хранятся данные установленных программ.

Порой «Документы и данные» того или иного приложения трогать не стоит — например, в случае со Spotify в качестве них будут выступать доступные для офлайн-прослушивания треки, а в «Навигаторе» это загруженные карты местности. Если вы их удалите, не сможете полноценно пользоваться приложением. Но есть и такие программы, которым «Документы и данные» вовсе не нужны: тот же , который при «весе» 32 мегабайта может занимать до одного гигабайта свободного места.

Перенести файл любого формата с iPhone через почтовый ящик

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

Перенести файл любого формата с iPhone через почтовый ящик

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

Как одновременно перетаскивать несколько файлов в приложении Файлы

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

Как одновременно перетаскивать несколько файлов в приложении Файлы

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

Как одновременно перетаскивать несколько файлов в приложении Файлы
Инна Шелепова
Оцените автора
( Пока оценок нет )