SHARE THE PERSPECTIVE

Сканування на боці клієнта аналізує вміст на пристрої користувача, де він уже може бути читабельним перед надсиланням або після отримання. Тому воно може створити шлях розкриття даних поза зашифрованим каналом доставки. Порівняння контрольної суми APK не доводить, що застосунок не містить коду сканування. Воно відповідає на вужче запитання: чи відповідають вибрані байти певному хеш-значенню.

Розмежування цих тверджень робить кориснішими і шифрування, і перевірку програм.

Чому сканування на пристрої змінює межі конфіденційності

Застосунок має обробляти відкриті дані, щоб показати повідомлення або підготувати фотографію до надсилання. Функція сканування може працювати саме тоді, навіть якщо подальше мережеве повідомлення захищене наскрізним шифруванням. Те, що залишає пристрій, залежить від конструкції сканера: він може повідомляти про збіг, завантажувати вибраний вміст або надсилати іншу похідну інформацію.

Дослідницька праця Bugs in our Pockets розглядає ризики, зокрема зловживання, хибні спрацювання й додаткову поверхню атаки. Це підстави перевіряти потоки даних і керування запропонованою системою сканування. Вони не доводять, що кожна функція на пристрої є стеженням або що певний закон запровадив загальну вимогу сканування.

Локальна функція під контролем користувача не є автоматично еквівалентом обов’язкового звітування. Запитайте, хто обирає аналіз, що його запускає, хто може оновлювати його правила та які дані можуть залишати пристрій.

Чотири різні види свідчень про програму

Перевірка Що вона може встановити Чого вона сама по собі встановити не може
Контрольна сума SHA-256 Файл відповідає довіреному еталонному хеш-значенню Що еталонна програма безпечна або відповідає вихідному коду
Перевірка підпису APK Підпис пакета проходить перевірку та визначає сертифікат підписання Що підписант заслуговує на довіру або код не має небажаної поведінки
Відтворювана збірка Указані вихідні тексти й вхідні дані збірки можуть дати очікувані артефакти Що вихідний код не містить вразливостей або шкідливої логіки
Незалежна перевірка й тестування Висновки щодо визначеної версії та сфери перевірки Постійну гарантію для кожного майбутнього оновлення

Документація apksigner Android пояснює перевірку пакетів і виведення відомостей про сертифікати. Визначення Reproducible Builds пояснює, чому для відтворення артефакту важливі вихідний код, середовище збірки й інструкції.

Архів вихідного коду та надрукована поруч контрольна сума самі по собі не є результатом відтворюваної збірки. Так само дійсний підпис шкідливого випуску залишається дійсним підписом.

Як перевірити завантаження, не перебільшуючи значення результату

Спершу визначте потрібний випуск і отримайте його APK та очікуване хеш-значення через надійний канал розповсюдження. Обчисліть хеш локально. Якщо він відрізняється, не встановлюйте файл, доки розбіжність не пояснено: інший випуск, неповне завантаження або підміна можуть спричинити незбіг.

Якщо він збігається, запишіть випуск і результат. Ви встановили побайтову рівність із цим еталоном, а не відсутність сканування на боці клієнта. Якщо той самий зловмисник може замінити і завантажуваний файл, і показану контрольну суму, порівняння все одно може пройти. Незалежні еталони, наступність ключа підписання та прозорість випусків допомагають розв’язувати різні частини цієї проблеми довіри.

Для твердження про відповідність вихідного коду бінарному файлу шукайте задокументовані інструкції збірки та незалежно відтворені результати для конкретного випуску. Не робіть такого висновку зі слів «відкритий вихідний код».

Оновлення залишаються важливими

Розповсюдження програм може зазнавати атак, але безстрокове уникнення оновлень безпеки не є розумним загальним захистом. Оновлення також усувають вразливості, якими можна скористатися. Використовуйте довірений канал оновлень, переглядайте суттєві повідомлення безпеки та перевіряйте свідчення щодо випусків, коли це виправдано вашим ризиком. Стара версія з відомою вадою не є безпечнішою лише тому, що колись її контрольна сума збіглася.

Що встановлює Proof Lab Livara

Proof Lab Livara пропонує локальне порівняння хеша APK і криптографічні демонстрації в браузері. На сторінці зазначено, що вона не виконує повні механізми ratchet LVR1/LGS1 і не є аудитом протоколу. Її модель загроз також пояснює обмеження, коли зловмисник може замінити і файл, і його очікуване хеш-значення.

Ці перевірки корисні у своїх межах. Вони не доводять, що на телефоні зі встановленим застосунком немає шкідливого ПЗ, що Livara має незалежно відтворювані випуски або що її застосунок не може містити нерозкритої поведінки. Окремо прочитайте документацію з безпеки, щоб дізнатися про заявлені межі захисту повідомлень.

Правильне запитання — не чи написано на значку «перевірено». Воно в тому, яке твердження перевіряли, щодо якого довіреного еталона та для якого саме випуску.

Перевірте застосунок у Proof Lab
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗