Злоумышленники могут использовать проект с открытым исходным кодом JSPatch в своих целях.
По данным экспертов компании FireEye, разработчики iOS-приложений используют технику, представляющую потенциальную угрозу для пользователей. Проект JSPatch позволяет удаленно вносить изменения в код готового продукта в обход стандартной проверки Apple и может использоваться злоумышленниками.
Техника предполагает динамическое обновление системы или программы без перезагрузки. В данном случае автор iOS-приложения может обновлять его без необходимости вносить новую версию в App Store и ждать, пока Apple проверит и утвердит все изменения. JSPatch – проект с открытым исходным кодом, предоставляющий разработчикам движок для конвертации JavaScript в Objective-C (язык программирования, используемый iOS-приложениями).
Добавление JSPatch требует всего семь строк кода, зато позволяет разработчикам сконфигурировать приложение таким образом, чтобы оно всегда загружало JavaScript-код с подконтрольных им удаленных серверов. Движок интерпретирует и конвертирует код в Objective-C.
«JSPatch – манна небесная для разработчиков. В правильных руках техника позволяет быстро и эффективно развертывать обновления, – сообщают в FireEye. – Тем не менее, в далекой от совершенства реальности ею могут злоупотреблять злоумышленники».
С целью обезопасить пользователей Apple налагает на приложения от сторонних разработчиков определенные ограничения, однако JSPatch позволяет их обойти. К примеру, с помощью данной техники приложение может получить доступ к некоторым iOS API, не заявленным во время первого внесения программы в App Store. JSPatch также предоставляет программе доступ к API, разрешенному для использования только приложениям от Apple.
Программа может изменять системные настройки, подсчитывать типы учетных записей на устройстве, собирать метаданные о фотографиях в альбомах и получать доступ к информации в буфере. Злоумышленники могут использовать данную технику несколькими способами. Самый очевидный из них – с помощью JSPatch обходить обнаружение экспертами Apple.
Еще один способ заключается в создании рекламной сети с использованием JSPatch в комплекте средств разработки (SDK). Если разработчик использует подобный рекламный SDK в своих приложениях, операторы рекламной сети смогут через них получить доступ к iOS API.
Третий способ предполагает загрузку приложением удаленного JavaScript-кода через незащищенное соединение. Злоумышленник может воспользоваться данным способом для осуществления атаки «человек посередине».Живой, мертвый или в суперпозиции? Узнайте в нашем канале