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 ↗