SHARE THE PERSPECTIVE

Перед установленням APK зіставлення хешу SHA-256 може показати, що ваш файл збігається з версією, для якої ви маєте достовірний хеш. Ця перевірка корисна, але сама по собі не доводить відсутності вразливостей або шкідливого коду в застосунку.

Для безпечного завантаження важливі три окремі запитання: звідки походить файл, чи змінився він у дорозі та які свідчення є про код усередині нього? Жоден хеш сам по собі не відповідає на всі три.

Що робить хеш файлу?

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

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

Як перевірити файл перед установленням

  1. Визначте потрібну версію. Порівняйте назву продукту, номер версії та тип пакета зі сторінкою випуску. Файли двох різних версій зазвичай мають різні хеші.

  2. Отримайте очікуваний хеш із надійного джерела. Не обмежуйтеся анонімним повідомленням, у якому разом надіслали файл і хеш. Незалежно перевірте адресу офіційного сайту.

  3. Обчисліть хеш завантаженого файлу. Proof Lab Livara надає інструмент порівняння хешів APK. Не плутайте цей інструмент із повною перевіркою безпеки застосунку.

  4. Порівняйте значення повністю. Кількох перших або останніх символів недостатньо. Також перевірте, чи немає помилки в назві версії або виборі файлу.

  5. У разі розбіжності зупиніть установлення. Причиною може бути інша версія, неповне завантаження або зміна файлу; сама розбіжність не доводить наявності шкідливого коду. Не встановлюйте файл до з’ясування причини та перевірте його повторно через офіційний канал.

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

Чим відрізняються хеш, підпис і відтворювана збірка?

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

Офіційний інструмент Android apksigner використовується для перевірки підписів APK та відомостей про сертифікати. Нове встановлення й оновлення вже встановленого застосунку також не одне й те саме: під час оновлення Android перевіряє сумісність підписувача. Чинний підпис невідомого видавця — недостатня підстава для довіри.

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

Які межі можливостей Proof Lab?

Крім хешу файлів, сторінка Proof Lab містить криптографічну демонстрацію в браузері. Успішна демонстрація криптографічної операції не є повним аудитом установленого застосунку або повним виконанням протоколів месенджера. Інструмент також має працювати в надійному середовищі: заражений пристрій або сторінка можуть показати оманливий результат.

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

Зіставлення хешу — конкретна перевірка в ланцюжку довіри; вона цінніша, коли ви також знаєте джерело випуску, підписувача та обмеження результату.

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