Google Play Integrity API научили проверять источник Android-приложений

Google Play Integrity API научили проверять источник Android-приложений

Google Play Integrity API научили проверять источник Android-приложений

В Play Integrity API добавлена возможность верификации установки Android-софта из магазина Google. Вердикт «UNLICENSED» разработчик теперь может использовать для блокировки доступа либо через подсказку настоять на скачивании версии с Google Play.

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

Предотвратить sideloading помогает Play Integrity API — средство предоставления разработчикам информации о надёжности запущенных приложений. Проверки проводятся по различным параметрам, в том числе определяются целостность бинарника, обратившегося к серверу, и наличие на устройстве поддержки Google Play (а теперь и наличие соответствующего аккаунта у текущего пользователя).

Вызов Play Integrity API может происходить на любом этапе выполнения программы. Разработчик также волен выбрать реакцию приложения на результаты проверок.

 

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

Когда Play Integrity API возвращает вердикт «UNLICENSED», пользователю выводится диалоговое окно с предложением установить софт через Google Play. Если последовать этой подсказке, приложение добавится в библиотеку Play Store (нелегитимная версия удаляется вместе со связанными данными) и с этого момента будет получать апдейты из официального источника.

Новый вектор ProAttack позволяет незаметно внедрять бэкдоры в LLM

Промпт-инжиниринг давно стал нормой при работе с большими языковыми моделями. Но, как выясняется, вместе с удобством он приносит и новую поверхность атаки. Исследователи представили вектор под названием ProAttack, который позволяет внедрять бэкдор в модель через промпты, причём делать это почти незаметно.

В тестах атака показывала эффективность, близкую к 100%, причём без классических красных флагов вроде странных токенов или подмены меток.

В обычных атаках на NLP-модели злоумышленники добавляют в данные подозрительные слова или фразы и меняют метки. Такие вещи уже научились отслеживать. 

ProAttack идёт другим путём. Вместо явных «триггеров» он использует разные промпты для обучающих данных:

  • для части данных (целевая категория) — вредоносный промпт;
  • для остальных — обычный, чистый.

 

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

А дальше всё просто: на этапе использования достаточно подать вход с этим промптом, и бэкдор срабатывает.

Особенно опасно, что атака остаётся эффективной даже при небольшом количестве данных. В ряде случаев хватало буквально нескольких (около шести) «отравленных» примеров, чтобы внедрить бэкдор.

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

Исследователи проверили ProAttack против популярных методов защиты — ONION, SCPD, back-translation и fine-pruning. Ни один из них не смог полностью остановить атаку.

В качестве возможного решения предлагается использовать LoRA (parameter-efficient fine-tuning). Идея в том, что такие методы ограничивают количество параметров, которые модель может менять при дообучении. А значит, ей сложнее запомнить связь между триггером и целевым результатом.

RSS: Новости на портале Anti-Malware.ru