Недавно я хотел скачать с гитхаб файлы со своего первого репозитория ;) и внезапно оказалось, что Yandex browser ругается, что они заражены вирусом.
Не-не, дело не в гитхабе! )
Скачиваем репозиторий через Download.ZIP
И тут внезапно
Причем многомудрый Яндекс браузер не дает возможности открыть архив (!)
Это можно сделать через Загрузки-Открыть папку
Ух ты как! Окошко «Будьте осторожны» появляется на пару секунд и надо успеть ткнуть на кнопку «Разблокировать».
А что, Яндекс настолько суров, что лезет в стандартные файловые диалоги и туда дописывает свои страшилки?
Проверил файлы на VirusTotal и понял, что это тема для отдельного поста. Вкратце – от степени упаковки исполняемого файла UPX-ом меняется число антивирусов, обнаруживших троян в файле.
Проблема связана с файлами RAPIDQx.LIB которые являются исполняемыми файлами интерпретатора Rapid-Q Basic programming language.
Этот интерпретатор вместе с байткодом программы встраивается в конечный ехе-шник.
Когда-то в начале 2000-х кто-то написал подобие вируса на этом языке. Соответственно сигнатуры исполняемого файла попали в антивирусные базы. А поскольку исполняемым файлом является интерпретатор, то в дальнейшем все ехешники, содержащие интерпретатор стали детектиться как вирусы. После переписки с некоторыми вендорами частично эти сигнатуры из баз выпилили, но со временем они там появились опять.
Но дело даже не в этом.
Файлы RAPIDQx.LIB упакованы UPX. Можно задавать разную степень сжатия при упаковке и оказывается, от этого зависит число антивирусов, обнаруживших троян в файле.
Для примера перепаковал UPX-ом один из файлов с разной степенью сжатия и получил результат )
И ладно бы кто, но Kaspersky!
Тут значит играем
Тут не играем
Проверил с помощью свежей Kaspersky Removal Tool – оно вообще ничего не нашло.
Ну и как тут можно избавиться от ложных срабатываний? Видимо самый реальный путь - это подобрать упаковщик ехешника, такой чтобы не было срабатываний. Вести переписку с вендорами бессмысленно.
зы.
А, нет, Removal Tool один файл обнаружила.
UDS:DangerousObject.Multi.Generic
Файл: C:\balan\RQIDE\lib4\RAPIDQ4-0.LIB
Объект, обнаруженный с помощью KSN
MD5: 972862F88F37B4462D1EB528C153DBCF
SHA256: 7B5F0EC4BAE8C23FD7A0129642B04548B4E95CE6CDDD2B0DDD0BC0567E7F4D03
Комментарии (58)
Abobcum
23.07.2023 19:29+1Однажды связывался с разработчикам антивирусов. У всех один ответ: мы работаем по белому списку. Т. е. не существует никакой логики, почему та или иная прога считается вирусом - если что-то подозрительное, то сразу бракуется.
diakin Автор
23.07.2023 19:29+2Я им писал, что false positive, посылал файлы для проверки. Вроде убирали из баз, а потом опять все возвращалось )
fedorro
23.07.2023 19:29+3Они хэш\сигнатуру добавляют, а потом Вы что-то меняете и это с их точки зрения уже другой файл, ну и вдруг там уже реально вирус...
Вероятно легче не использовать UPX, толку от него в наши дни не особо много.
qw1
23.07.2023 19:29+6Зачем вообще UPX-ить exe-шники?
Я понимаю, во времена дискет, это было критично, чтобы прога уместилась на дискету и запускалась оттуда. Но сейчас-то, для передачи по сети обычный архив куда лучше подходит. А запускать сжатые файлы — стрелять себе в ногу. Потому что несжатый файл просто маппится в память, без физической загрузки секторов, и подгружается прозрачно теми страницами, к которым идёт обращение (а если файл запущен в нескольких экземплярах, сегмент кода шарится между процессами). Сжатый файл при запуске приходится полностью вычитать с диска в память.
Wesha
23.07.2023 19:29+9запускать сжатые файлы — стрелять себе в ногу.
Вот так троянские слоны и появляются.
alex_shpak
23.07.2023 19:29+2кстати, вот здесь рассказано, как искусственное "раздутие" файла до 700Мб позволило избежать проверки файла антивирусом. Так что да.
Anakoliy
23.07.2023 19:29+1в 2020х годах упаковывать приходится из-за многих факторов, но со своего дилетантского ума могу пояснить только один.
дисковая производительность.
для старых систем с медленными hdd может быть критично важно сэкономить милисекунды.
а для современных но маломощных, как планшеты с виндой или тонкие клиенты или пороговые пластиковые ноутбуки для школьников вопрос места актуален. как и яисла обращений к накопителю данных.
ты говоришь, кому надо упаковывать.
компании мелкомягких пришлось для дешевых устройств с 16-32 гб флеш памяти изобрести целую технологию работы винды из сжатого образа с грубо говоря ссылками на архив, назывпется wimboot.
qw1
23.07.2023 19:29+5дисковая производительность
Так я об этом и пишу! Если у нас есть какой-нибудь chrome.dll размером 120MB, то обработанный UPX-ом (и сжатый до 75MB) при запуске с диска он гарантированно считает все 75MB, а не сжатый просто отмапится в память и будет ждать, когда выполнится первая функция, и считает страницы кода только из-под неё, и дальше будет подчитывать страницы по мере выполнения новый функций. Можно пожаловаться на медленное рандомное чтение, но в винде давно есть сервис prefetch, который составляет типичный профиль чтения с дисков каждого приложения и при старте приложения в фоне последовательно подчитывает ровно те страницы, которые типично читаются при запуске приложения.
ebragim
23.07.2023 19:29-7Вполне нормальное поведение. Задача антивиря - банить всё подозрительное, так как если юзер понимает степень риска, он сможет всё равно скачать/открыть/запустить.
Но 99,99% пользователей - этого не понимают. Обучить каждого невозможно, потому и такие сработки антивирей на подозрение угрозы. Лучше задеть полезную нагрузку, чем допустить заражение.А вообще, у меня большие сомнения в том, что это не высосанная из пальца история специально для хабра, так как не заметить, что в скачанной файле изменено расширение - для человека таких навыков нереально.
diakin Автор
23.07.2023 19:29+4Ну не надо инсинуаций ) Все там реально. Какое расширение изменено? У всех файлов расширение .lib.
А вот почему распознавание зависит от степени упаковки - это вопрос к вендорам. А если бы там на самом деле был вирус?
dimaaannn
23.07.2023 19:29+5Щас бы пользоваться браузерами, которые каким либо образом сканируют твои собственные файлы. И кто знает, куда он отправляет результат.
edo1h
23.07.2023 19:29+1Ну и как тут можно избавиться от ложных срабатываний? Видимо самый реальный путь — это подобрать упаковщик ехешника, такой чтобы не было срабатываний
я думаю, что примерно так же и вирусописатели борются с неложными срабатываниями )
fpinger
23.07.2023 19:29+3Не нужно пользоваться браузерами, которые заточены для того, что бы "оперкать овец в удобных загонах для стрижки".
Viacheslav01
23.07.2023 19:29+3А сейчас есть браузеры которые не делают этого? Ну кроме лично перелопаченных и собранных?
AWRDev
23.07.2023 19:29А что, Яндекс настолько суров, что лезет в стандартные файловые диалоги и туда дописывает свои страшилки?
Так он просто переименовал расширение файла на
.infected
, и поставил соответствие к своему браузеру, чисто на одно окошко.diakin Автор
23.07.2023 19:29Если в проводнике Windows к любому файлу добавить расширение .infected, то он помечается как опасный. Это Windows родная фича или Яндекс при установке добавил?
kh0
23.07.2023 19:29+11Раз:
Все как в рекламе для олдов про тётю Асю:
-А когда у мы так делаем,у нас попа отваливается,рубашка рвется!
-А вы так не делайте!
Два:
Современная антивирусная кухня, это не снайперская сигнатурня стрельба по комариным тестикулам абы не плодилась нечисть, а ковровые бомбардировки эвристиков, решительные танковые клинья дженериков и минные поля проактивной защиты при зомби-апокалеписе. Таким образом, если какой-то полусумасшедший краснокнижный зайчишка по заветам древних зайцев упаковался упэиксом, то он сам себе злобный буратино и, в некотором роде, полис-суицидник, потому что лазерная турель его теперь распознает не как зайчишку, а как коварного зомби косящего под зайчишку.
Три:
Сжимать исполняемые файлы в 2023 это так же странно, как сушить мытые целофановые пакетики над плитой или штопать чулки. А сжимать исполняемые файлы скриптового движка, это еще более странное вроде коллекционирования усов тараканов. Т.е. "кейс" очень редкий, а потому малоучитываемый ибо зомби на пороге и не до сук.
Четыре:
Но, автор, если у вас есть на руках детект без упэикса, то это гораздо более интересный случай, ибо тянет на отдельную драму.Wesha
23.07.2023 19:29+2это так же странно, как сушить мытые целофановые пакетики над плитой
Да, зачем сушить их над плитой? Пластик горячего воздуха не любит, искривляется. Подвесил за уголок на балконе — сам великолепо высохнет.
(уходит, ворча) Вот так выбрасывают-выбрасывают пакетики, выбрасывают-выбрасывают — а потом жалуются, что в океане мусорное пятно из пластика. А кто это сделал?
Ogoun
23.07.2023 19:29Касперский как антивирь неадекватен полностью. Ругается на WinSCP, блокирует приложение если попытаться встроить в него защиту (полностью самописную), при этом игнорирует реальные угрозы, те же RAT'ы. Намного лучше использовать встроенный (если про винду говорить) и соблюдать цифровую гигиену.
nidalee
23.07.2023 19:29+1У меня настойчиво и несмотря на исключения удаляет python.exe из окружения conda. Причем восстанавливать из карантина отказывается.
После последнего раза снес нафиг, больше не хочу дел иметь.
perfect_genius
23.07.2023 19:29А попробуйте этот перенести на Вин11 (может и 10) - там очень жёсткий антивирус, удаляет файлы сразу в карантин.
diakin Автор
23.07.2023 19:29https://www.safezone.cc/threads/kuda-soobschit-o-lozhnom-srabatyvanii-antivirusa.23501/
Вот тут список вендоров с емейлами, куда можно слать сообщения о ложных срабатываниях.
Надо написать скриптик, который автоматом рассылает указанные файлы по этим адресам.)
diakin Автор
23.07.2023 19:29+1Здравствуйте,
Это было ошибочное срабатывание: RAPIDQ4-0.LIB
Оно будет исправлено. Благодарим Вас за помощь.Ну вот, Касперский ответил.)
Boilerplate
Как вариант - упаковка с шифрованием. Если файл зашифрован, то все файлы будут на вид как белый шум. И тогда либо антивирус должен ругаться на все файлы, либо ни на один.
Antonto
А ключ где будет храниться?
Boilerplate
ну можно использовать не полноценное шифрование, а какой-нибудь побайтовый xor с результатом стандартного rand() от seed равного последнему байту файла. Все равно будет шум
qw1
Тут проблема не в том, что файл сжат или зашифрован. А в том, что использовался готовый упаковщик UPX, и им же пользовались некоторые хацкеры для "защиты" своих поделий. А антивирусники просто проверяют начало файла: совпадает с "образцом" — есть детект.
Они конечно знают, что это generic упаковщик, но им лень нормально разбираться. Упаковка исполнимых файлов — дело маргинальное, и серьёзные фирмы не страдают. А если какой-то Васян что-то упаковал, так это наверное неспроста, он что-то прячет, на всякий случай задетектим как "Generic Malicious/Suspicious"
diakin Автор
Ну такой себе подход для серьезных антивирусных фирм . "На всякий случай" получать false positive.
qw1
Лучше, чем пропустить реальную угрозу.
Скажите спасибо, что не ругаются вообще на любое приложение без цифровой подписи. А то ведь большие дяди к этому и идут постепенно. Драйвер, например, уже без подписи не загрузишь.
diakin Автор
"А веревку свою приносить?"
qw1
"Ничего личного, просто бизнес".
diakin Автор
"Отключат газ" - перейдем на Linux. Хотя есть еще 7-ка, 10-ка в резерве.
ReactOS в конце концов к тому времени допилят )
qw1
Вы как хотите, а я пожалуй останусь на "народной" ос, под которую и игры выходят, и всякий софт поддержки для гаджетов. Я скорее найду "хак", который позволит мне запускать всё на своей винде без проверки подписи.
Так-то есть большой опыт кастомизации и сосуществования с проприетарными платформами, типа WinCE или Android (который я предпочитаю от вендора девайса, а не "чистый" из исходников, из-за лучшей поддержки оборудования).
rombell
"Народная" — это которая?
qw1
Наиболее популярная у населения.
rombell
Спасибо, но это тавтология. Если не хотите либо не можете ответить, то и не надо, не обижусь.
qw1
Я подразумевал Windows. Не самой свежей версии. То есть, сейчас наверное в народе Windows 10 самая массовая, и на ней и я сижу. Это ответ к вопросу о переходе на Linux.
rombell
А, понятно. Я думал, Вы имеете в виду конкретную версию. Просто, очень похоже, мне предстоит всё-таки мигрировать с XP, на котрой я до сих пор ухитряюсь сидеть, но обстоятельства додавливают. И выбираю, на куда мигрировать.
10-11 вообще не рассматриваются, как слишком далеок ушедшие по направлению "за тебя всё решает корпорация, а ты просто кнопки тыкай"
Wesha
И эти люди что-то там жужжали про меня с моей "семёркой"!
Как выберете — опытом со мной поделитесь?
rombell
Я точно не жужжал ))
Да, скорее всего, на 7ку и перейду. Куда спешить?
Wesha
К сожалению, firefox прекратил апдейты для семерки. Пока это не критично, но ХЗ знает, что будет дальше.
rombell
Ну пока что клоны-альтернативы есть, которым сам FF, на мой взгляд, проигрывает.
qw1
Это какой-то штамп. Если менять винду раз в 5 лет, можно день потратить на пересборку её под себя. Удалить все облачные мульки типа Windows Store и OneDrive. Естественно, полностью вырезать Windows Defender.
Есть готовые утилитки для пересборки. Например, nLite (хотя я пользовался им ещё для XP, но актуальные версии выходят). Но вообще, утилиты ком. строки для препарации инсталлятора — официальные от MS, можно их изучить.
Если совсем не хочется тратить своё время, можно взять сборку с торрентов от Васяна с максимально порезанной виндой. Всё лучше, чем WinXP.
rombell
Нет ощущения, что лучше. На работе у меня стояла 7ка, потом 10ка, сейчас 11я какая-то стоит, не вижу вообще ничего, что было бы удобнее. Ну кроме тех программ, которые на XP уже не стартуют, но зато новые версии некоторых старых программ поменяли UI, убили UX и стали невменяемыми, а аналогов некоторых старых программ просто нет.
Например, вот я написал 'njn ntrcn цкщтп дфнщге — на моей XP я исправляю обе части одним нажатием, ru->en и en->ru; на 10/11 такой программы нет, исправлять приходится по отдельности каждую часть, а значит, надо держать в голове текущую раскладку и язык. Ну или FAR 3, в котором не работают старые плагины, а новых толком нет. Даже простейшего быстрого перехода в сохранённые папки — ну или я не нашёл. И так далее. Когда работаешь на хорошо отлаженной и заточенной под себя системе 20 лет, переходить на убогое поделие стрёмно.
Но, увы, время подходит — комп уже не тянет навороченные сайты, и браузеры для нынешних сайтов всё труднее подобрать.
qw1
Я люблю последнее самое мощное железо: быстрые видюшки, процессоры, памяти побольше, поэтому на XP (или 7-ке) никак не могу оставаться.
О, это отдельная тема. Мне было довольно сложно перейти, но я завершил переход вроде без потерь. Всему нашлась замена, или удалось намакросить самому на встроенном LUA. Посмотрите ещё раз plugring, очень может быть, что нужный вам плагин уже портирован или переписан.
Это со 2-й версии не поменялось:
RCtrl+Shift+[1-9]
— запомнить папку (поставить закладку)RCtrl+[1-9]
— перейти на закладкуЕдинственное, что если не включен auto-save параметров, надо нажать Shift+F9 для сохранения всех текущих настроек в профиль.
rombell
plugring смотрел, разумеется, не нашёл
Закладки в самом FAR реализрованы неудобно, ещё и помнить нужно.
Был плагин Directory Hotlist — любое количество закладок, удобное редактирование, быстрые клавиши и так далее
qw1
В FAR3 под хоткей можно повесить любое количество директорий. Если директория одна, сразу переходит в неё. А если несколько, показывает менюшку, из которой можно выбрать. И в том же меню добавлять/удалять директории под этой кнопкой, менять их порядок.
Что ещё для счастья нужно?
Разве что нет иерархии. Иерархию можно намакросить на UserMenu (F2).
rombell
Не знаю, в чём причина, но у меня ничего не происходит по RCtrl+Shift+[1-9] и RCtrl+[1-9]
Что до user menu, нарулить там можно, но не так удобно уже. С тем же успехом просто в записной книжке можно пути держать и копипастить
qw1
Вот мануал: https://chuchuva.com/pavel/2020/11/folder-shortcuts-in-far-manager/
rombell
Спасибо. Я проверял, естественно, на 1-2, а эти сочетания, видимо, кто-то перехватывает. На 3..9 повесилось.
Должен признать, что это удобнее, чем в записной книжке, но всё равно сильно уступает плагину. Тем не менее на безрыбье