Lagoscope ❤️ VirusTotal
В прошлой статье я рассказал, как устроен Lagoscope, и пообещал отдельно разобрать отчет VirusTotal — по вкладкам, со всеми срабатываниями и странными строчками. Я сел за него и почти сразу понял, что разбирать, по сути, нечего. Отчет был настоящим, но проверял он не совсем то, что ожидалось.
Подробный и довольно душный разбор с энтропией, импортами и песочницами я унес на Хабр — по вайбу он там уместнее. А здесь коротко и по-человечески о том что было не так, что я поменял и как теперь проверить все самому.
Что пошло не так
Не тот файл. С сайта вы скачиваете маленький загрузчик, а на проверку в VirusTotal уходил установщик конкретной версии клиента, который этот загрузчик потом качает. Это два разных файла с разными хешами. Получалось, что по загрузчику — тому самому exe, который вы запускаете первым, — отчета не было вовсе, а связать установщик из отчета с тем, что лежит у вас в «Загрузках», было нечем.
Закрытая коробка. Установщик собирался в Inno Setup со сжатием, то есть по сути был архивом. Проверяемая часть — стандартный стартовый модуль Inno Setup, одинаковый у тысяч программ, а три четверти файла занимали сжатые данные. Мой клиент там или что угодно другое — по отчету не понять. Снаружи сжатая полезная программа и сжатый вирус выглядят одинаково.
Что поменял
Посмотрел я на это и переделал выпуск версий. Теперь каждый файл уходит в VirusTotal на проверку отдельно:
- Загрузчик — то, что вы скачиваете с сайта.
- Установщик — то, что скачивает загрузчик. Он лежит и по прямой ссылке (для 0.0.12 — lagoscope.app/releases/0.0.12/Lagoscope-Setup-0.0.12.exe), так что его можно скачать самому и сверить с отчетом до запуска.
- Клиент — сама программа, которую вы запускаете.
- Два помощника, dpc-sidecar и adlx-helper, — их клиент запускает на время игровой сессии.
Хеш и ссылка на отчет по каждому файлу — на главной странице, в блоке «подробно» под кнопкой скачивания.
Установщик теперь собирается без компрессии. Он стал тяжелее, зато файлы внутри лежат как есть, их хеши совпадают с хешами из отчетов, и сверить это можно еще до установки.
Новая версия выходит, только когда проверены все ее файлы и ни один из них не назвали вредоносным больше пяти антивирусов.
Что показала новая проверка
Вот что насчитали антивирусы по версии 0.0.12 на момент написания статьи:
- загрузчик — 3 из 71
- установщик — 4 из 71
- клиент — 2 из 67
- оба помощника — 0
Чудес не случилось: срабатывания никуда не делись. Более того, у установщика без сжатия их на одно больше, чем было у сжатого. Прозрачнее не значит «зеленее». Зато теперь видно, что именно проверено и отчет о клиенте — это отчет о моем коде, а не об упаковке Inno Setup.
На клиент сработали два антивируса небольших компаний, и ни один не назвал конкретный вирус — оба срабатывания эвристические, то есть догадка по признакам файла. Программа, которая в фоне что-то собирает и отправляет в интернет, и правда похожа на троян, так что я считаю их справедливыми, но ложными. Кто это и что именно написал — в статье на Хабре.
Как проверить самому
Убедиться, что у вас тот самый файл, который проверял VirusTotal, можно за минуту. Откройте PowerShell в папке загрузок и выполните:
Команда выведет SHA-256 — длинную строку из цифр и букв. Сравните ее со строкой «Загрузчик» в карточке на сайте: там видны последние 8 символов, а полный хеш появится, если навести на них курсор.
После установки то же самое можно сделать с файлами программы:
Хеши lagoscope-client.exe и обоих помощников должны совпасть со строками карточки.
Клиент обновляется сам при запуске, а карточка на сайте показывает только последнюю версию. Если у вас стоит более старая, хеши не совпадут — это нормально.
Если хочется подробностей — добро пожаловать на Хабр. Там я прошел отчет по клиенту вкладка за вкладкой: почему, по мнению VirusTotal, файл создан в 2102 году, откуда взялось обвинение в подмене дат файлов, куда клиент ходил и что делал в песочницах. А заодно там есть короткая инструкция, как читать любой такой отчет, не только мой.
Если остались вопросы — задавайте в комментариях, отвечу на каждый. А чтобы следить за обновлениями и развитием продукта, подписывайтесь на блог здесь и канал в Телеграме.
Скачать: lagoscope.app
Новости и обратная связь: t.me/lagoscope