23 августа 2009 г.

Virus.Win32.Induc.a: энцать дней спустя (FAQ)

Читать предыдущую часть (первое упоминание, только для программистов).

Итак, прошло почти две недели. Решил в один пост собрать резюме последних новостей.

Внимание: здесь идёт речь ТОЛЬКО о вирусе Virus.Win32.Induc.a (название по Касперскому). Однако другие антивирусные продукты имеют свою систему обозначений, поэтому этот же вирус может называться у них как:

  • Induc.A
  • Mal/Induc-A
  • Virus.Win32.Induc.a
  • TROJ_INDUC.AA
  • W32/Induc.A
  • W32/Induc!dcu
  • W32.Induc.A!dcu
  • Win32:Induc
  • Win32.Induc
  • Win32.Induc.A

Я разбил всю информацию по разделам:

  1. FAQ для простых пользователей (не программистов).
  2. FAQ для программистов.
  3. FAQ по истории.
  4. Прочие вопросы.
  5. Забавные факты.

FAQ для простых пользователей.

Q: У меня анти-вирус начал ругаться на некоторые программы, говорит в них сидит Virus.Win32.Induc.a. Это ложная тревога (false-positive)?

A: Вероятнее всего нет. В подавляющем большинстве случаев это действительно программы, инфицированные вирусом Virus.Win32.Induc.a. Вы можете проверить это, закачав файл на бесплатный сервис VirusTotal.

Q: Но эта программа стоит у меня уже энцать дней/недель/месяцев. Никто не ругался, а вчера – начал анти-вирус вопить. Я ничего не скачивал(а) в последнее время. Наверное это всё же ложное срабатывание. Мне все вокруг говорят, что анти-вирусы любят ошибочно принимать здоровые файлы за инфицированные. Кому верить?

A: Ну, это точно не случай ложного срабатывания. Это действительно самый настоящий вирус. Просто его длительное время никто не находил. А когда обнаружили, то добавили в базы анти-вирусов, вот они и стали находить вирус. Т.е. вирус сидел в программах давно, с самого их создания, просто про него никто не знал. Теперь узнали.

Q: А почему же тогда анти-вирус ругается только на одну программу? Был бы это вирус, у меня всё было бы заражено! Я уверен(а), что это ложное срабатывание.

A: Это особый тип вируса, который размножается только с помощью разработчиков программ. На "воле" (машинах пользователей) он размножаться не умеет.

Q: А это опасно? Мне пора кричать: “караул”?

A: Нет. Спокойно, этот вирус ничего не делает, кроме размножения. Это скорее проблема разработчиков, а не ваша. В этот раз можете спать спокойно (речь идёт ТОЛЬКО о Virus.Win32.Induc.a).

Q: А как лечиться-то?

A: Обновите базы своего анти-вируса и запускайте полное сканирование.

Q: Мне тут добрые люди предлагают скачать программку, которая лечит Virus.Win32.Induc.a. Мне качать?

A: Однозначно НЕТ! Это действительно может быть программа для удаления Virus.Win32.Induc.a, собранная каким-нибудь энтузиастом. Но во многих случаях это может быть какая-нибудь другая пакость. Вирусописатели не упускают шумихи вокруг этого дела и воспользовались случаем лишний раз впарить доверчивым пользователям свои поделки. Оно вам надо, этот риск? Лучше запустите сканирование штатным анти-вирусом. Если с этим какие-то проблемы – воспользуйтесь online антивирусом от Касперского (нет, это не реклама, просто я других не знаю). Он может проверить всю вашу машину с самыми свежими базами вообще без установки.

Q: Что мне сделать, чтобы избавиться от Virus.Win32.Induc.a? Мой анти-вирус не хочет лечить эти файлы (вариант: лечит, но они после этого не работают).

A: Попробуйте скачать новую версию программы с сайта разработчиков. Как правило, большинство производителей программ, которые были инфицированы Virus.Win32.Induc.a, уже выпустили исправления. Если же обновления нет до сих пор – вы должны сообщить разработчикам программы о том, что они заражены. Обычно это можно сделать на сайте программы (ищите контакты, e-mail, форму для ввода сообщения разработчикам и т.п.) или в самой программе (есть не во всех программах) – обычно через меню Справка. Зайдите через недельку на сайт за исправленной версией.

Q: А где качать программу-то?

A: Очевидно: на сайте производителя программы. Если вы его не знаете, то просто вбейте название программы в Google (без номера версии). Сайт разработчиков почти всегда идёт первой ссылкой. Например, при поиске "AIMP", Google первой ссылкой выдаёт www.aimp.ru.

Q: Нет возможности скачать программу (вариант: программа записана на CD/DVD). Что делать?

A: Ну, поскольку вирус безобиден, вы можете безбоязненно запустить программу с вирусом (ВНИМАНИЕ: речь идёт ТОЛЬКО о вирусе Virus.Win32.Induc.a!). Для этого внесите программу в список исключений вашего анти-вируса. Если идёт речь об установке программы с CD/DVD, то вы можете попытаться вылечить файл после установки программы.

Q: Но я не хочу запускать программу с вирусом!

A: Что ж, тогда решайте, что вам важнее: программа или вирус. Если программу сильно хочется - запускайте её с вирусом, если же сильнее боитесь вируса - то выхода просто нет: программу придётся удалить. Вернётесь к ней через некоторое время, когда её разработчики выпустят исправленую версию.

Q: Я отключил(а) анти-вирус, запускаю инфицированную программу, а она вылетает с ошибкой Runtime error 3. Мне очень нужна программка, что делать?

A: Из-за досадной ошибки в коде вируса он может вылетать на редких машинах. Это его единственный побочный эффект (ну, не считая размножения, конечно же). Чтобы исправить это, откройте редактор реестра (Пуск, Выполнить, введите “regedit.exe” без кавычек и нажмите Enter), в левой части перейдите к разделу HKEY_LOCAL_MACHINE\Software\Borland\Delphi и удалите его (т.е. раздел Delphi). Теперь программа должна работать. Только не забудьте отправить сообщение разработчикам и попросите их уведомить вас, когда будет готова исправленная версия, чтобы её скачать.

Q: Я слышал(а), что WebMoney инфицирована! Это правда?

A: Пока эта информация не была подтверждена. Лично я проверял указанную версию вдоль и поперёк и не нашёл проблем. Скорее всего, ошибка.

FAQ для программистов.

Q: Проклятый [имя-антивируса] начал ругаться на все мои программы! Говорит: в них Virus.Win32.Induc.a. Параноидальный какой, надо отправить разработчикам с пометкой false-positive, а то работать невозможно.

A: Поздравляю, дорогой коллега, вы попались. Это не ложное срабатывание, а действительно инфекция. Вы и все ваши программы заражены.

Q: Что это за вирус?

A: Так называемый “Compile-a-virus” (“Скомпилируй-вирус”) или Virus.Win32.Induc.a.

Q: Какие версии Delphi подвержены этому вирусу?

A: Delphi версий с 4 по 7 включительно.

Q: Какие версии Delphi НЕ инфицируются этим вирусом?

A: Новые версии, начиная с Delphi 2005: 2005, 2006, 2007, 2009, включая 2010, а также Delphi Prism.

Q: Разносят ли вирус Delphi IDE или язык Delphi?

A: Нет, те версии Delphi, которые уязвимы для атаки, не поставляются вместе с вирусом. Вы получаете его, когда запускаете инфицированный exe или DLL файл на своей машине.

Q: Что делает вирус?

A: Вирус ничего не делает Delphi-ям версии выше, чем 7. Если машина заражена, то вирус не делает ничего плохого, кроме размножения.

Вирус встраивает себя в установленную Delphi версии 4, 5, 6 или 7. Потом, когда заражённая Delphi компилирует exe или DLL, то вирус автоматически появляется в результирующем модуле. Когда этот модуль запускается, то код вируса ищет установленные Delphi версий с 4 по 7 и встраивает себя во все установки, которые он найдёт. Тогда эти Delphi станут производить заражённые программы, которые снова будут искать Delphi для размножения и так далее.

Когда вирус находит подходящую Delphi для заражения, он ищет файл SysConst.pas. Он копирует файл во временную копию, добавляет в него свой код, компилирует модуль и заменяет дистрибутивный SysConst.dcu этой новой инфицированной версией. Затем временная копия SysConst.pas удаляется (вирус не модифицирует никаких pas-файлов на вашей системе). Вставляемый в SysConst.pas код просто запускает процедуру размножения вируса.

Q: А при чём же тут тогда runtime error 3?

A: Из-за досадной ошибки в коде вируса, инфицированные программы могут вылетать на машинах, у которых в ключах реестра HKLM\Software\Borland\Delphi\версия\RootDir содержится неправильное значение (например, Delphi была удалена или заменена новой версией). Подробнее см. в моём предыдущем сообщении.

Q: А как мне определить, не заражён ли я?

A: Если нет анти-вируса или он молчит – отправьте файл sysconst.dcu на бесплатный сервис VirusTotal.

Q: Как узнать, есть ли на моей машине инфицированные программы, распространяющие этот вирус?

A: Запустите полное сканирование анти-вирусом, умеющим распознавать эту бяку (сверьтесь по результатам того же VirusTotal). Не забудьте обновить базы анти-вируса. Если не хотите ставить анти-вирус – воспользуйтесь online проверкой у Касперского.

Q: У меня вирус :( Откуда он взялся?

A: Если у вас есть вирус, то вы получили его, запустив на своей машине инфицированный exe или DLL. Delphi довольно популярная среда разработки, особенно среди ISV и MicroISV разработчиков. Если на вашу машину попал заражённый файл, он мог попасть или при скачивании программы или от ваших Delphi-коллег.

Q: Что означает для меня заражение?

A: Все компилируемые вами программы будут заражены. На любой машине с не защищёнными Delphi ваши программы будут заражать эти Delphi.

Q: Я уже отправил заражённые программы заказчику/выложил на сайте. Что делать?

A: Удалить вирус с машины и пересобрать все проекты. Опубликовать/разослать обновления. Говорить прямым текстом про вирус или нет – ваше дело. Можно сказать просто (как авторы QIP): “была исправлена ошибка с вылетом программы” (это про runtime error 3). Не прикопаешься. Вроде и правда, но вроде и не вся. Конечно, по-честному лучше бы оповестить о вирусе (да, можно дать ссылку на этот блог ;) ) и порекомендовать просканировать анти-вирусом со свежими базами. Но это ваш выбор. Лично я голосую за честное предупреждение.

Q: Как лечиться?

A: Рекомендую поставить один из анти-вирусов, который умеет обнаруживать эту заразу. Если не хотите ставить – воспользуйтесь online проверкой у Касперского. Все найденные файлы излечить, а если это невозможно – удалить и пересобрать/скачать новые версии без вируса. Файл sysconst.dcu надлежит скопировать с дистрибутивного диска (в старых версиях Delphi файлы лежали “как-есть”, без упаковки в архивы).

Q: Как удалить вирус из уже скомпилированных программ?

A: Ну, ваш анти-вирус может попытаться вылечить файл, но это не всегда помогает (например, при изменении файла начинает проваливаться проверка целостности). Самый надёжный способ: очистить систему и пересобрать все проекты.

Q: Как предотвратить заражение?

A: Единственный надёжный способ: следить за папкой \Lib и \Source. Если в вашем анти-вирусе есть функция “эти-файлы-никогда-не-должы-меняться” – добавляйте в неё на слежение папки \Lib и \Source (а лучше – всю папку Delphi сразу). Если нет анти-вируса, то как вариант, можно загнать все файлы в какую-нибудь систему контроля версий или хотя бы сделать бекап и проверять на отличия перед сборкой финальных релизов. Ну, напишите хотя бы программку по сверке файлов. Программист вы, в конце концов или нет? Кроме того, я уверен, что есть и сторонние программы подобного плана – надо только поискать. К примеру, это сделанный в стиле утилит от дяди Нортона AdInf или IDSMonitor. Embarcadero рекомендует сделать бекап и использовать сравнивалки каталогов типа Free FileSync.

Примечание: ранее были советы типа создания sysconst.bak файла. Надо понимать, что это направлено против одного конкретного вируса. Сейчас это уже не имеет смысла, т.к. сигнатура вируса сидит в базах анти-вирусов – они и так его поймают. А защищаться сейчас нужно от модификаций/клонов этого вируса. И сделать это можно только контролем папок Delphi.

Q: Я слышал и другие рекомендации! Типа: создать файл sysconst.bak, переименовать dcc32.exe или установить атрибут read-only.

A: Эти способы защищают только от конкретного вируса или только некоторых (будущих) типов вирусов. Ничто не мешает вирусу не смотреть на наличие sysconst.bak или таскать с собой инфицированные dcu-шки, чтобы не пользоваться dcc32. Единственно надёжный способ: контролировать свою папку с Delphi. Какой бы иной способ вы ни придумали – обязательно появится вирус, который будет его обходить.

Более того, переименование dcc32 принесёт вам немало проблем с установкой некоторых компонент и библиотек (типа JEDI), а установка read-only атрибута и вовсе не имеет никакого эффекта, т.к. вирус не модифицирует файлы: он переименовывает старый файл и создаёт новый.

Q: А разве установка прав или там работа в Vista с UAC (под не-админом в XP) не достаточная защита?

A: Хм, ну если бы все так делали – то было бы достаточно. Проблема в том, что не так много народа об этом заботится. Впрочем сегодня это достаточно на 95%. Потому что под админом запускаются только установщики (ну, в идеальном случае, конечно). А в 95% случае установщик не компилируется из исходников вашей Delphi (даже если он на Delphi писан). Что ж, +1 одна причина не отключать UAC. Если вам лень самому защищать папки – хотя бы доверьте это операционной системе.

Q: Что насчёт выделенной машины для сборок?

A: Почти идеальный вариант, надо сказать. Но не всегда бывает возможность. Кроме того, даже на изолированную машину для сборок иногда ставится/обновляется софт, так что полной защиты тут нет. Машина для сборок + слежение за папкой Delphi + работа не под админом + [опционально] анти-вирус = вы можете забыть про эти проблемы навсегда ;)

P.S. Надо заметить, что машина для сборок создаётся не только для этого. С неё много и других бонусов.

Q: Поражает ли вирус пакеты Delphi?

A: Это возможно, но бывает очень редко. По-умолчанию – нет. Это может быть только если вы используете свои custom-пакеты вместо стандартного RTL-пакета.

Q: Поражает ли вирус C++ Builder?

A: Конкретно этот – нет. Но это теоретически возможно.

Q: Ого, у меня дата изменения sysconst.dcu – 5 лет назад! Это ж сколько он гуляет по сети?

A: Нельзя смотреть на дату sysconst.dcu, т.к. вирус сохраняет дату оригинального файла. Поэтому обычно эта дата – время установки вашей Delphi, не более того. По вопросу его времени активной жизни - см. вопросы по истории ниже.

Q: У меня нет sysconst.bak – я чист!

A: Это не всегда верно. Например, sysconst.bak мог быть кем-то удалён. Да, чаще всего это означает отсутствие Virus.Win32.Induc.a, но не всегда. Надёжнее всего – проверить sysconst.dcu, скормив его анти-вирусу или поискав в нём вручную “CreateFile(pchar(d+$bak$),0,0,0,3,0,0)”.

Q: Антивирус ругается на файл, но никакого “CreateFile(pchar(d+$bak$),0,0,0,3,0,0)” там нет!

A: Т.е. вы считаете, про при упаковке программы UPX или AspPack, пакер специально не будет паковать строку “CreateFile(pchar(d+$bak$),0,0,0,3,0,0)”, чтобы вы могли найти вирус?

Q: Я заражён, но на мои программы антивирус не ругается! Кому верить?

A: Ну, если вы компилируете программу с пакетами (run-time packages), то очевидно, что вирус в вашу программу не попадает, т.к. модуль SysConst сидит в (уже скомпилированном) пакете RTL, который вирус не трогает. Также надо обратить внимание на тот факт, что вирус не трогает отладочные копии файлов (в папке \Lib\Debug), так что если вы включаете опцию “Use Debug DCUs”, то ваша программа будет собираться с чистой, а не с инфицированной версией модуля SysConst.

Q: Все мои программы анти-вирус считает заражёнными, но не ругается ни на один файл в папке Delphi. Т.е. SysConst.dcu чист. Ложное срабатывание?

A: Ну, некоторые анти-вирусы имеют своё мнение о том, что можно, а что нельзя считать заразой. В частности, некоторые считают, что сам по себе инфицированный SysConst.dcu не представляет угрозы - а лишь будучи вкомпилирован в программу. Именно поэтому антивирус пропускает модифицированный SysConst.dcu, но ругается на программу, собранную с ним. Чтобы убедиться в этом - отправьте SysConst.dcu на бесплатный сервис VirusTotal

Q: Все эти анти-вируса "нормальным пацанам" не нужны. Если не тащить на машину что попало, то всё будет хорошо.

A: Действительно, обычно, если вы соблюдаете разумные правила осторожности, то вполне можете обходиться и без анти-вируса. Но не в этом случае. Почему? Потому что вирус попадает к вам от доверенного источника. Вы скачиваете программу от разработчика, которому доверяете. И - бац! В программе сидит вирус. Ниже я приведу примеры программ. Анти-вирус тут, к слову, действительно не помощник (если речь идёт о новом вирусе), а вот контроль папки с Delphi тут как раз в тему.

Q: Как определить, от чего я заразился?

A: Найдите инфицированную программу, скомпилированную не вами. Самая ранняя из них и будет источником заражения (ну, если вы не удалили её, конечно).

Q: Как определить, когда я заразился?

A: Найти все инфицированные программы и посмотреть самую раннюю дату создания/компиляции.

Q: У меня из-за этого вируса происходит Access Violation (как вариант: BSOD)!

A: Вы видите что-то другое. Причина этого – не в Virus.Win32.Induc.a. Он безобидный и ничего не делает. Проверяйте свою машину на другие вирусы или проверьте прямость своих рук. Скорей всего у вас просто несколько факторов совпало. И пока из них вы заметили только Virus.Win32.Induc.a. Не надо всё скидывать на него, а лучше ищите реальную причину.

Q: Вирус есть, но sysconst.bak файла нет, а анти-вирус не лечит. Что делать?

A: Проще всего – скопировать файл с установочного диска. Ну и для верности вообще Delphi переустановить ;) Для сильно умеющих – вместо этого можно пересобрать файлы в \Lib из папки \Source. Разумеется, перед этим сперва нужно провести полное сканирование системы и удалить все заражённые файлы (ну или вылечить, если ваш анти-вирус такое умеет).

Q: А вдруг самая главная зараза сидит в sysconst.bak! И когда мы его восстанавливаем, тут-то она и активируется!

A: Это параноидальный бред. Достаточно посмотреть на размеры файлов. Предположительно выполняющий реальную нагрузку вируса sysconst.bak почему-то весит меньше предполагаемой заглушки sysconst.dcu, да ещё и совпадает размером с дистрибутивным. Впрочем, если вы перекомпилируете из исходников или переустановите Delphi – хуже от этого точно не будет.

Q: Может ли быть сам дистрибутив Delphi заражён? Не опасно ли переустанавливать среду?

A: Нет. Это очевидно. Чтобы был заражён дистрибутив, надо, чтобы вирус сидел на машине для сборок Delphi в Borland (потому что вирус не умеет поражать уже готовые файлы – ему нужно инфицировать сначала среду). Но ведь сперва вышла Delphi 7 и только потом был написан вирус (иначе как бы он заражал среду, которая ещё не вышла). Вирус не обладает способностью путешествия назад во времени, чтобы испортить дистрибутив.

Q: Почему Delphi так тупо сделали, что она не следит за несанкционированными изменениями?

A: Вообще-то Delphi ничем не отличается в этом плане от всех остальных компиляторов.

Q: Эта проблема применима только к Delphi?

A: Этот конкретный вирус ищет Delphi версий с 4 по 7, но подобный тип вируса не привязан к Delphi и может поражать любые средства разработки: от Eclipse до Visual Studio.

Q: А Embarcadero будет молчать?

A: Allen Bauer сообщил в своём блоге, что Embarcadero в курсе про вирус:

At this point, here at Embarcadero, we’re actively analyzing situation and overall impact to our community. We’re also working on recommendations about how to find out if you’re infected and what to do once you see that you are. Throughout all this we’re working on recommended steps can you take to guard against re-infections. Rest assured that we’re neither ignoring this threat, nor are we going to do anything to blow it out of proportion.

What we’re working on is a response that includes ways that our customers can appropriately guard against any future attacks. Maybe this will include code and utilities for them to use, or maybe it will only be a set of guidelines and steps. The point of this post was to merely state that we’ve *seen* the reports.

Перевод:

В настоящий момент, мы, в Embarcadero, активно анализируем ситуацию и общее влияние на Delphi-сообщество. Мы также работаем над рекомендациями по вопросу обнаружения инфекции и её удаления. Кроме этого, мы также работаем над рекомендуемыми шагами, которые вы можете предпринять, чтобы предотвратить повторное заражение. Будьте уверены, что мы не собираемся игнорировать эту угрозу, но мы и не собираемся раздувать её больше того, чем она заслуживает.

Над чем мы работаем – так это над официальным ответом, который мог бы защитить наших клиентов от любых будущих атак. Может быть, это будут какие-то утилиты, может быть это будет рекомендации или инструкции. Смысл моего поста в том, чтобы сообщить, что мы видели текущее состояние дел.

Что ж, если будет реализовано автоматическое решение, то, возможно, это будет +1 причина для апгрейда, когда выйдет очередная версия Delphi. Лично я непременно перечислил бы её в статье типа “причины для апгрейда”. Это реальный способ убедить босса потратиться на апгрейд.

В настоящий момент доступен английский FAQ.

Q: Чем лично я могу помочь?

A: Как минимум используйте Vista и UAC или работайте под не-администратором в XP. А лучше всего - настройте мониторинг своих папок с Delphi. Идеальный вариант: работать "по-взрослому" и завести отдельную машину для сборок проектов (можно виртуальную). Худшее, что вы можете сделать - это ничего не изменить в своей практике. Мы (разработчики Delphi) уже допустили повальную эпидемию, так не допустим же вторую.

Разносите новость друзьям и по ресурсам, где вы обычно тусуетесь. Предупредите всех Delphi-разработчиков, что необходимо защищать свои папки с Delphi. Только не разводите панику: “найден новый вирус, его нельзя поймать, галактеко в опасносте!!!”. Информируйте простых пользователей об отсутствии угрозы от Virus.Win32.Induc.a и что Delphi тут не виноват. Короче: “spread the word”.

FAQ по истории.

Q: Кто первый обнаружил вирус?

A: Мне удалось найти только два зарегистрированных случая. Первый из них – 21-го апреля 2009-го на форумах CheatEngine. Второй из них – 23-го июня 2009-го на форумах Infinity Box. К сожалению, в первый раз человек даже не понял, что он нашёл. Вирус был в тренировочной программе типа “взломай меня” – именно поэтому был обнаружен код вируса, но никто не осознал, что это была угроза, а не часть программы. Во второй раз, было осознано, что это что-то типа вируса, но никто не стал поднимать шум, удовлетворившись удалением этой бяки из Infinity Box.

Q: Кто же тогда поднял столько шума в интернете?

A: Ну, было и третье обнаружение – лично мною 12-го августа в топике на Delphi Kingdom. Мы разбирали проблему необъяснимого вылета с runtime error 3, несколько человек сообщили о странном поведении QIP, но не стали копать дальше. Ну а я копнул, нашёл (“в очередной раз”) этот вирус. Потом администрация Delphi Kingdom повесила объявление в новостях на главной, а я опубликовал подробное описание у себя в блоге. Далее люди, которые посещают Delphi Kingdom и/или мой блог, а также являются активными участниками на других форумах, продублировали объявление в своих любимых форумах – на sources.ru, vingrad-е, Клубе ПРОграммистов и других местах (даже на немецком Delphi Praxis). Уже я не имел к этому никакого отношения – люди сами разносили новость по форумам (лично я постил только на sql.ru). В этих постах ссылки обычно были либо на Delphi Kingdom, либо на мой блог. Реже – на обоих или на форум QIP-а.

Потом новость появилась на хабре и форумах QIP (ну, вообще-то она была там с самого начала) – ресурсах с высокой посещаемостью. Народ начал активно срать в комментах, разносить новость по блогам, не программистским форумам (в том числе по сайтам, посвящённым угрозам и борьбе с ними) и т.п. Обычно в этих сообщениях вставляли ссылки на хабр или QIP-овский форум. Реже – на программерский форум, где они об этом услышали и уж совсем редко – на Delphi Kingdom или мой блог. В общем, волна пошла, но ни от кого это больше не зависело.

Q: Как это попало в анти-вирусные базы?

A: Ну, прочитав сообщения, народ (который сознательный) начал массовую отправку заражённых примеров в анти-вирусные компании. Я сам лично отправлял Касперскому и в Symantec (впрочем, от Symantec мне пришёл ответ, что ничего страшного в файлике нету :) Определение они добавили только через несколько дней). Раньше всего среагировал Касперский – спустя три дня. Потом мало-помалу подтянулись и остальные. Вот текущее состояние дел. Не слишком утешительно – только треть антивирусов после почти пол-месяца шумихи. Кстати, сами анти-вирусные компании не упустили случая лишний раз пропиариться – выпустив объявления типа “нами был обнаружен новаторский вирус и только мы умеем его лечить” :) Ну, а после того, как анти-вирусы начали определять эту заразу, сообщения о ней стали появляться вообще везде. Теперь уже со ссылкой на антивирусные компании.

Q: Как насчёт англоязычного сегмента интернета?

A: Ну, во-первых это сообщения/новости анти-вирусных компаний (в том числе на английском). Кроме того, при распространении народ постил объявления не только в русскоязычный, но и в англоязычный интернет (а вот выше был ещё пример с DelphiPraxis – он немецкий). Потом был мой пост в блоге EurekaLog и другие посты в DelphiFeeds. Ну и, конечно же, сами антивирусы тут добавили известности. Помимо таких вот сообщений, если вдруг анти-вирус начинает ругаться на все твои программы – уж ты-то начнёшь поднимать шум на форумах. Далее пошла волна уже по английскому интернету. Просто погуглите по sysconst.bak или Virus.Win32.Induc.a – об этом сейчас везде говорят.

Q: Сколько же реально времени эта штука активна?

A: Ну, если смотреть на код вируса, то можно предположить, что он писался в то время, когда активно использовали Delphi версий с 4 по 7 – т.е. это где-то лет 5 назад. Но это только гипотеза. Есть кучи причин, почему вирус проверяет только D4-7 (например, они стояли у автора вируса, а других версий не было; или: вирус был написан давно, но в сеть попал спустя несколько лет). Если смотреть только на факты, доступные в интернете, то первое обнаружение, как мы видели выше, было 21-го апреля – 4 месяца назад. Вот здесь человек сообщает о заражении мартовских проектов (т.е. 5 месяцев). Дата в минимум 5 месяцев также подтверждается тут.

UPD: Был предоставлен скриншот наличия Virus.Win32.Induc.A на дисках журнала Hard&Soft от января 2009-го - т.е. более 7 месяцев. Январь 2009-го также независимо подтверждён тут.

UPD: по данным, поступающим к анти-вирусным компаниям, есть отчёты ноября-декабря 2008-го года - т.е. более 9 (девяти) месяцев.

Были отчёты о заражениях от начала 2008-го года (и даже 2006-го), но не было сказано, как это определили, так что этой информации не стоит доверять (возможно, смотрели на даты sysconst файлов). Но в любом случае, даже на первые машины, о которых есть официальное подтверждение, вирус должен был как-то попасть. А на это надо время. Так что цифра в минимум год-полтора кажется правдоподобной.

Q: Как много машин поразил вирус?

A: Довольно много. Я рискну предположить, что пессимистичная оценка – половина всех Delphi разработчиков, оптимистичная – одна треть. Ну, голосование в моём блоге показывает оценку ближе к 1/2, но надо понимать, что не все голосуют. В особенности, если их эта проблема не коснулась. Так что 1/3 – более реалистично. Причём ситуация не сильно меняется в зависимости от русского/англоязычного сегмента. С мест сообщают (и ещё), что при добавлении сигнатуры в базу за 12 часов поступило несколько сотен тысяч инфицированных программ (скорее всего, это суммарно, без учёта уникальности). Лаборатория Касперского сообщает, что к концу августа у вируса есть шансы попасть в TOP-20 по распространённости.

UPD: до конца 2009-го года Virus.Win32.Induc.a не вылезал из TOP-20, располагаясь примерно в районе 10-го места (плюс-минус 3 места).

Q: Какие программы “отметились”?

A: Ну, про QIP и AIMP слышали все, но сейчас повально сообщают о заражениях. Чем перечислять их все, проще сказать: не менее 30% всех Delphi программ. Если вас интересуют подробности – просто погуглите по sysconst.bak (ранние обнаружения) или Virus.Win32.Induc.a (поздние обнаружения). Например, это мирандовские плагины, плагины к Total Commander (сам Тотал писан на Delphi 2), TidyFavorites 4.1, Any TV Free, Offline explorer, Wise Registry Cleaner и многие-многие другие (мне действительно лень искать).

Вопросы от неумения читать/гуглить/использовать голову.

Q: Как оно распространяется?

A: Вирус инфицирует Delphi, после чего все программы, собранные в ней тоже будут нести на себе вирус, так сказать, “by design”. Эти программы находят другие установленные Delphi (на других машинах), инфицируют их и цикл повторяется снова. Т.е. полный цикл инфицирования идёт в два шага.

Q: Это всё проклятый QIP! Это из-за него заразилось столько машин!

A: Это неверно. Инфицированная версия QIP была в сети всего несколько дней: выход в конце июля 2009-го (точную дату не нашёл, примерно 27-е число), вирус обнаружен 12-го августа – т.е. через две недели. В то время, как этот вирус гуляет по сети не менее года. Много людей отписались, что у них никогда не стоял QIP или стоял другой версии, но они оказались заражены. Даты заражения большинства машин – несколько месяцев. Выше мы уже определили, что первые обнаружения были задолго до выпуска QIP 8094. Скорее, заражение QIP – это вершина айсберга, последняя точка, но никак не источник инфекции. Поэтому вместо версии “молниеносное размножение по машинам”, более правдоподобна “долгий путь к вершине”. Высокий уровень распространения через день после обнаружения не говорит о скорости распространения, а скорее о факте позднего обнаружения.

Q: QIP – говно, Miranda – форевер!

A: Т.е. на факт заражения мирандовских плагинов глаза закрыть можно, а на заражение QIP – нет? Интересный подход.

Q: Delphi – говно, C++ форева!

A: Что мешает перекомпилировать этот вирус под MSVS C++?

Q: Это всё проделки [имя-компании], чтобы вынудить пользователей [сделать что-то,что они не хотят].

A: Абсолютный бред. Этот вирус не имеет никакого отношения к QIP, AOL, Microsoft, Borland/CodeGear/Embarcadero и т.п. Это просто чья-то экспериментальная поделка. “Proof-of-concept”, доказательство концепции. Чтобы это сообразить достаточно посмотреть его историю развития и код.

Q: У меня Delphi 2009 (2007, 2006, 2005): надо ли мне проверяться? (вопрос задан в топике, начинающимся словами: “Внимание, владельцы Delphi 4-7”).

A: Данный конкретный вирус поражает ТОЛЬКО Delphi версий с 4 по 7 включительно.

Q: Но у меня есть sysconst.bak в Delphi 2009! Аааа!!!

A: Читайте внимательнее: проверка на sysconst.bak – это простейший способ проверки. Он не гарантирует 100% надёжности. bak-файл мог создать кто угодно, не обязательно же вирус! Для полноценной проверки вы должны проверить dcu-файл (скормить его анти-вирусу или поискать в нём строчку “CreateFile(pchar(d+$bak$),0,0,0,3,0,0)”), а ещё лучше – сравнить его с файлом из дистрибутива.

Q: У меня в sysconst.pas ничего такого нет. Просмотрел остальные pas-файлы – ничего подозрительного. Я чист?

A: Не нужно смотреть в pas файлы: вируса там нет. Он встраивает себя в dcu-файлы. Если вы скомпилируете pas файл, то получите чистый dcu, без вируса.

Q: Я нашёл sysconst.dcu (sysconst.bak) в папке \Lib\Debug. Это вирус?

A: Ещё раз совет читать внимательнее. Virus.Win32.Induc.a подменяет dcu только в папке \Lib. Папку \Lib\Debug он не трогает. За вопросами кто такой \Lib\Debug и зачем он нужен – идите на форумы по программированию (а ещё лучше – в книжки).

Q: Я никогда не видел ошибки runtime error 3. Я чист.

A: Если у вас никто не вылетает с runtime error 3 – это ещё не значит, что вы не инфицированы. Как уже было сказано, эта ошибка возникает только на редких машинах. А именно: тех, где в реестре неверно записаны параметры RootDir для Delphi.

Q: Ну киньте мне хоть кто-нибудь пример инфицированной программы! Хочу сам посмотреть на это чудо!

A: Код вируса перед вами. Просто скомпилируйте его на своей машине и вот вам – пример (достаточно поместить вызов кода в секцию initialization). Потом запустите его и он заразит вашу Delphi. Можете компилировать программы и они все будут заражены.

Q: Где найти код вируса? (вопрос задан в топике, первый пост которого содержит ссылку на код).

A: Раскрыть глаза и погуглить. Или просто открыть первую ссылку в первом посте топика – их не просто так дают. P.S. Нет, код приводят не для того, чтобы вы начали клепать поделки по теме, а чтобы доказать, что ничего страшного этот конкретный экземпляр не делает. А поделки и так появятся. Только теперь, когда вы уже предупреждены, они не так страшны.

Q: QIP и AIMP есть. Delphi есть. Вируса нет. Что делаю не так?

A: Вы используете версии QIP и AIMP без вируса.

Q: Почему же у меня ни на что не кричит?

A: Ну, вариантов немного:

  1. Анти-вируса нет вообще.
  2. Анти-вирус отключен.
  3. Анти-вирус втихую рубит и вы не видите.
  4. Анти-вирус ещё не умеет ловить бяку.
  5. У вас бяки нет.

Q: Может ли этот вирус делать [плохая-вещь]?

A: Код вируса перед вами. Там всего несколько строк. Наверное, не так сложно посмотреть, что же он делает, не так-ли? Не понимаете код? Хм, а какой тогда из вас программист? ;) Ну и, вообще-то, везде уже писали, что он не делает НИЧЕГО, кроме размножения и вылета с runtime error 3 на некоторых машинах.

Q: Runtime error 3 – это планируемое вредное действие? (вариант: способ заставить мигрировать с 7-ки)

A: Нет, и это видно из кода вируса. Runtime error 3 – не более чем досадная ошибка в коде вируса.

Q: Мы все умрём? Галактеко в опасносте? QIP тырит наши пароли?

A: Полный бред, не имеющий никакого отношения к действительности. Обычно такое говорит в комментах к топику человек, который вообще слабо понимает о чём же этот топик. Большая просьба: не разводить панику, не срать в комментах и не делать из проблемы больше того, чем она реально есть ;)

Q: Ничего особенного, раздувают из мухи слона – проходим мимо.

A: Хм, инфицирование трети машин разработчиков и нескольких “Big-Names” программ – это “ничего особенного”? А если бы у него была какая-то полезная нагрузка? Да, сейчас анти-вирусы ловят этот конкретный вирус. Да, конкретно он не делает ничего страшного. Бояться надо не его – это следующий вирус подобного плана будет страшен. Если вы скажете: “ну, все анти-вирусы теперь его ловят” и успокоитесь на этом – это неверно. Вы – идеальная мишень для любой модификации этого вируса. Антивирусы её не поймают.

Смысл в том, что анти-вирус не опознает следующий вирус подобного плана. Защищаться (ну и бояться) нужно, конечно же, не Virus.Win32.Induc.a, а его модификацию. Надеяться на то, что их будет отлавливать анти-вирус... ну, вот вам Virus.Win32.Induc.a убедительно показал во что выливается такая вера. В инфицированные QIP, AIMP, плагины Тотала и Миранды, банковский софт, трояны, диски журналов и куча другого софта.
Может я и перегибаю палку, но не очень хочется, чтобы после того, как все поорали "на тему", всё вернулось на круги своя без изменений. Тогда ничто не помешает создать и с такой же лёгкостью распространять вирус с куда более серьёзной полезной нагрузкой.

Вам необходимо предпринять действия по защите своей папки Delphi. Как минимум – не работать под админом (использовать UAC). Как идеальный максимум – выделенная машина для сборок с мониторингом папки Delphi.

Забавные факты.

Ну для многих это сперва показалось шуткой. Да я и сам сначала принял это за неё или ошибку в ДНК определённых людей. Вот, к примеру, весёлые ребята с sql.ru сразу потребовали чемоданов, космо-доспехов и “чего покурить”.

Вот этот диалог тоже забавен:

- Твой код?

- Не-не-не, это не моё, бабушкой клянусь.

- Да твой код, точно я тебе говорю.

Кроме того, некая ирония есть в том факте, что некоторые трояны, написанные на Delphi, оказались заражены Virus.Win32.Induc.a.

Microsoft, давний соперник Borland-а, уже умеет бороться с “вирусом для Delphi”. Причём среагировала она раньше многих – спустя три дня после Касперского.

Есть мнение, что вреда от обнаружения вируса анти-вирусами больше, чем от него самого. Ну т.е. жил он спокойно и никого не трогал, никому не мешал (ну, за редким исключением – runtime error 3). А тут, на тебе: все анти-вирусы вопят, спокойно работать не дают. Ужас, в общем :D Смотрите сами: жили вы себе жили, поставляли программки клиентам. Вдруг, бац, все ваши программки у клиентов начинают определяться как инфицированные! Сколько негативных отзывов вы получите, насколько упадёт доверие к вам! Вам же теперь перевыпускать все программы за последние несколько месяцев! А уж как пострадает репутация Delphi!

- На чём написана ваша программа?

- Delphi.

- На Delphi? Ну тогда мы её не покупаем – мы боимся заражения Virus.Win32.Induc.a.

Ведь простые люди, которые поставлены антивирусом перед фактом, не слишком-то разбираются в этих тонкостях…

Вирус обнаружен в некоторых программах по борьбе с бяками. Например, Wise Registry Cleaner.

Вирус был найден в FinalBurner Free от ProtectedSoft (“protective” vs “вирус”).

Степень распространения вируса настолько велика, что он проник даже на игры, записанные на CD/DVD, и в диски от журналов.

Видимо, впервые о подобной идее говорил Ken Thompson в лекции “Reflections on Trusting Trust” – 25 лет назад, в 1984-м году (если я верно понял, за эту лекцию он получил награду Тьюринга: “ACM’s Turing Award”). Это было в теории. Хм, превратить теорию в практику в этом случае заняло 25 лет. Этот вид атаки известен под именем “Thompson hack” или “Trusting trust attack”.

Замкнутый круг: я поднял шум, по нему отправили файлы Касперскому, Касперского использует F-Secure, F-Secure сообщает, что я тоже нашёл вирус.

Win32.Induc.a угрожает планете.

Да, это именно так:

I am sure the virus has been written by Mr. Hodges.

After endless attempts to convince people to migrate from previous Delphi versions, especially Delphi 7 (there's no reason to try about D8, 2005 or 2006, people jumped away from them ASAP), in the dark of his office he found no better way to have antivirus detecting older Delphi releases as infected and scare users to force them to upgrade.

Перевод:

Я уверен, что этот вирус был написан господином Nick Hodges.

После бесконечных попыток уговорить людей перейти с предыдущих версий Delphi, особенно с Delphi 7 (нет причин волноваться о D8, 2005 или 2006, т.к. люди и так убрались с них как можно раньше), в темноте своего офиса он придумал лучший способ: чтобы анти-вирусы всего мира начали ругаться на старые версии Delphi. Это испугало бы пользователей и заставило их сделать апгрейд.

P.S. И, да, мне во сне лично явился Дэвид и приказал мне обнаружить вирус и поднять шум в аккурат к выходу Delphi 2010 ;) Это к вопросу теории заговора от CodeGear.

55 комментариев :

  1. Блестящий пост, Александр !
    Эмоции так и бьют через край - видимо Вас порядком "достала" вся эта шумиха.
    Уверен, всем будет полезна так тщательно собранная и систематизированная Вами информация.

    Спасибо !

    ОтветитьУдалить
  2. К сожалению, сюда заходят не так много людей. Остаётся надеяться на гугл.

    ОтветитьУдалить
  3. Не уверен, что немного - кто "ходит" на Delphiplus, уже знают о Вашем блоге и будут сюда заглядывать.
    В конце концов Вы известны не благодаря этому посту про вирус, а по массе других полезных материалов.
    Просто не реагируйте на разные "апрелевские" посты на КД, таких единицы - не делающих ничего полезного для других, а способных только на едкие анонимные комментарии.

    ОтветитьУдалить
  4. Вообще-то высказывание своего мнения тоже приветствуется.
    Я посты не удаляю, если они мне не нравятся ;)

    ОтветитьУдалить
  5. Да кто же против высказывания мнений.
    Но я - за справедливость.
    Очевидно же, что если бы не Вы, неизвестно сколько бы эта бяка продолжала своё "шествие", и во что бы это вылилось, учитывая её модификации. Ну да, возможно, кто-то, когда-нибудь, тоже бы поднял шум - но когда бы это случилось ?
    А так - все предупреждены, значит - вооружены.

    P.S. Есть ещё кое-что - если можно по Аське.

    ОтветитьУдалить
  6. Можно и здесь писать...

    ОтветитьУдалить
  7. Насчет времни когда это началось (не утверждаю что именно с этого момента, возможно раньше).
    Нашел на дисках Хард и Софт (Hard & Soft) за 2009 год, в 2008 этого еще не было.
    На скриншоте - "HS - год - месяц"
    [URL=http://radikal.ru/F/s48.radikal.ru/i119/0908/09/09472d6d0c44.jpg.html][IMG]http://s48.radikal.ru/i119/0908/09/09472d6d0c44t.jpg[/IMG][/URL]
    AS007 (AlexSoft007)

    ОтветитьУдалить
  8. Вот так наверное лучше
    http://s48.radikal.ru/i119/0908/09/09472d6d0c44.jpg
    AS007 (AlexSoft007)

    ОтветитьУдалить
  9. Огромное спасибо за информацию!
    Пост обновил.

    ОтветитьУдалить
  10. В журнал сообщил, собственно им это для сведенья, но из-за нескольких программа, перевыпускать диски не будут, это понятно, да и версии программ уже к этому моменту сменились.

    Рад что помог, хоть и небольшой информацией.
    AS007 (AlexSoft007)

    ОтветитьУдалить
  11. Embarcadero родила FAQ по Virus.Win32.Induc.a.
    Я добавил вопросы из этого FAQ в свой пост (пост обновлён).

    ОтветитьУдалить
  12. Наконец-то !
    Felix John COLIBRI:
    >>
    The WIN32/INDUC-A virus was identified and presented on August the 12th by a Russian programmer "Gun Smoker" in a blogspot titled Delphi-"virus": check your installed Delphi!
    >>
    Gun SMOKER who was the first to raise the whole issue also published the source code of the virus.

    ОтветитьУдалить
  13. Ну я уже сказал, что по этому вопросу как-бы не парюсь.
    Меня больше волнует поменять что-то в головах разработчиков, чтобы вели "более правильный образ жизни", дабы такого не повторилось.

    ОтветитьУдалить
  14. Вот:
    http://www.securelist.com/ru/weblog/39134/Istoriya_Indyuka

    А.Гостев

    ОтветитьУдалить
  15. Я к сожалению не программист,а простой пользователь,квипом не пользуюсь но подцепил эту дрянь через AIMP v2.60 Beta 1 build 472(10.05.2009).Eset Nod32 выдал мне их даже два, оба сидят в:\aimp\Plugins\Graywoofers.dll
    и в:aimp\Plugins\orangewoofers.dll
    Я понимаю,что каждому лично не ответишь,но что сделать простому пользователю(как я)?Если просто их удалить,то проблему это не решит?Но я примитивно не понимаю как узнать какая у меня версия delphi!!!

    ОтветитьУдалить
  16. Ээээ... вы вообще-то читали текст, что написан выше? Что там непонятно?

    Для простых пользователей написано: "скачате новую версию". Если новая версия всё ещё заражена - решайте, насколько вам нужна программа (в вашем случае - плагины). Если сильно нужна, то поскольку вирус безобиден, можете его игнорировать. Если не хотите игнорировать - ну, не судьба. От программы придётся отказаться (пока разработчики не исправят) - удаляйте.

    Всё, что ниже первого раздела - для программистов. Вы зачем туда полезли? Не забивайте себе голову информацией о Delphi.

    ОтветитьУдалить
  17. 2 А.Гостев: спасибо большое за ссылку!

    ОтветитьУдалить
  18. Особенно мне там понравилось, что вирус мог быть написан по ошибке. :)

    ОтветитьУдалить
  19. "по ошибке" как петросян шутит. :D

    ОтветитьУдалить
  20. Хороший топик, очень много информации собрано в одном месте. Спасибо :) Почитал с удовольствием.

    ОтветитьУдалить
  21. Спасибо :) А то давно не программировал, тут в Delphi залез, Compile, и Nod кричит сразу, что нашел вирус. Причем в старых приложениях его не было :)
    Спас Delphi, заменил файлик sysconst на стандартный из установки, сейчас все отлично))

    ОтветитьУдалить
  22. У меня антивирус Аваст обнаружил это 19/08/9 в ранее установленной проге "Handy Folders" в файле folders.dll в виде (Sign of "Win32:Induc" has been found in "c:\progra~1\handyf~1\folders.dll\[Armadillo]" file). На Вирустотал сработало 8из41. Касперского среди них не было. Сегдня 09/09/9 то же самое (http://www.virustotal.com/ru/analisis/7c0864c68672acbcb91d8c509993191e45c7a922d82f987864b9dba23db4b1c4-1252487599).
    Gun Smoker'у огромное спасибо.

    ОтветитьУдалить
  23. еще он в браузере ставит стартовую страницу apeha.ru Как мне теперь его удалить??

    ОтветитьУдалить
  24. Чёрным по белому написано и несколько раз повторено для самых крепких: вирус не делает НИЧЕГО, кроме размножения.

    Это кто-то другой.

    ОтветитьУдалить
  25. GunSmoker, вы молодец. Слов нет. Столкнулся с этим вирусом буквально сегодня.

    Вчера я проигнорировал сообщение Нод32 о вирусе! Т.к. я сам дельфи-программер (в том числе) и мне было смешно, когда Нод нашёл в мелкой консольной программе вирус!

    Сегодня же, когда я разместил дистриб и exe'шником, мне указали на вирус. Я обалдел, но мало того! Я советовал проигнорировать этот факт :) т.к. был на 100% уверен в своём коде! Но, слава Богу, решил узнать про свойства вируса.

    Я был поражён! Поскольку я программирую в разных средах, то масштаб этой схемы потрясает. Моя среда была заражена недавно, т.к. проверка показала только один заражённый проект.

    Страшно смотреть в будущее... www, что тебя ждёт...

    ОтветитьУдалить
  26. На двух игровых дисках Symantec сегодня обнаружил W32.Induc.A и заблокировал их!

    ОтветитьУдалить
  27. А я вот практически уверен, что он написан на спор-типа на ящик пива,с целью доказать оппоненту ,что такое в принципе возможно.

    ОтветитьУдалить
  28. этим вирусом заражен практически каждый 3-иё пиратский диск. вроде на работоспособности винды существенно не сказывается. материал оч полезный. спс автору.

    ОтветитьУдалить
  29. хорошую прогу из-за него скачать не могу она на всех сайтах идёт с этим индюком или индусом :о) ... и из скаченой программы его удалить не могу её в установочный файл самой программы запихнули паразиты :о) ...

    ОтветитьУдалить
  30. Спасибо, очень хорошая статья! Так держать!
    kostay_scr (c) 2009

    ОтветитьУдалить
  31. Небольшая поправка: Томпсон получил Turing Award НЕ за эту лекцию, это было его выступление на церемонии вручения награды (он там в начале говорит, что, мол, ему награду дали вроде как за UNIX, и говорить бы ему тоже стоило про UNIX, но он уже лет много к нему рук не прикладывал и потому расскажет о другом.)

    ОтветитьУдалить
  32. вчера у жены комп ругнулся на Virus.Win32.Induc, я думаю: вот тупой антивирус, только бы шум поднимать! а сегодня выясняется, что я - чугунный валенок, такие вот делаа...

    ОтветитьУдалить
  33. Отличный пост ! Респект ! Все разжевано и в рот положено.

    P.S. Обнаружил эту бяку в авторане на нелицензионном диске игры "Ведьмак". Касперский сразу ругнулся на него, я вынул диск и и поставил каспера обработать вирус, он типа обработал ( понятно, что ничего не сделал т.к. вирус на ДВД). Потом когда снова вставил диск - комп завис. Видно из-за каспера, который мешал прочесть винде зараженный авторан.

    ОтветитьУдалить
  34. Virus.Win32.Induc.a стал 16-м в рейтинге вредоносных программ за март 2010-го.

    Что-то как-то медленно он падает. Уже полгода прошло, а он всё ещё в топе.

    ОтветитьУдалить
  35. >>> А я вот практически уверен, что он написан на спор-типа на ящик пива,с целью доказать оппоненту ,что такое в принципе возможно.

    Совсем нет. Написан был моим знакомым в 2004-2005 году для развлечения на лабораторных практикумах по программированию. Целью было посмотреть насколько быстро он распространится внутри нашей группы. Поигрались и успешно забыли на несколько лет. Об этом случае вспомнил лишь год назад, когда выяснял причину по которой скомпилированные на моём компьютере программы падали с ошибкой при запуске на другом.

    ОтветитьУдалить
  36. Здравствуйте, очень полезная статья, но так как я не волшебник ещё, не понял главного: если у меня не установлен делфи, то для меня опасен запуск программ, заражённых этим вирусом или нет? Ответьте пожалуйста срочно, оч. нужно!! Дело в том, что заказал у программиста софт, завтра будет готов, надо покупать, так оч. мне нужен. Он скинул мне файл Project1, чтобы я посмотрел дизайн. Я естественно проверил на вирус тотал и увидел, что 36 из 42 антивирей ругаются, на что он мне сказал, что это не опасно, по-другому никак, работать не будет, почитай что это за вирус, мне нет смысла тебя заражать, не хоч. не покупай продам другому, я мог бы ваще спокойно криптануть файл, который вирусный и антивирь промолчит и вирус тотал тоже! Что делать? ????

    ОтветитьУдалить
  37. Чёрным по-белому же написано: "этот вирус ничего не делает, кроме размножения" и что размножается он только на машинах разработчиков программ.

    Что ещё вы хотите услышать?

    Вот зачем вы лезете в текст, написанный для программистов, и загружаете себе голову сведениями про Delphi?

    С другой стороны, вы уверены, что вам нужна работа человека, который даже не может вам выслать нормальный пример? Пусть уберёт вирус и вышлет вам исправленный вариант.

    Это самый нормальный путь - требовать у него нормального исполнения соглашения. С вас - деньги, с него - софт. Нормальный. Без вирусов.

    Это не кажется мне сверхъестественным требованием.

    ОтветитьУдалить
  38. Вот что он мне на это отвечает: "Я тебе ответил, теперь матом:
    НЕТ ТАМ НИКАКОГО ЕБАНОГО ВИРУСА, НЕТ БЛЯДЬ И НЕ БЫЛО И НЕ БУДЕТ, МНЕ НАХУЙ НЕ НАДО ВИРУСЫ ПИСАТЬ КОТОРЫЕ УЖЕ КЕМ ТО НАПИСАНЫ! ЕСЛИ ТЫ такой озабоченный на эту тему, установи виртуалку, фаерволл и антивирь и не еби мозг ни себе ни людям. ТО ЧТО ГОВОРИТ ВИРУСТОТАЛ - хуй положи нгасри и разотри, он безвредный батник может принять за охуенно опасный вирус, как блядь и касперский, который сам вирусы пишет и сам же пишет лекарство!"

    Я не лезу, но прочитал всё. Теперь мне понятно! Спасибо за (скорый)ответ! Видимо я плохо прочитал или что упустил.

    ОтветитьУдалить
  39. Если на Virus Total 36 из 42 и там действительно Win32.Induc, а не другой вирус - то 100% этот разработчик заражён. Это не ошибка антивируса, как он пытается вас убедить.

    Потребуйте от него варианта программы, на которую не ругается антивирус и Virus Total. Это его работа - вы за неё платите ему деньги. На худой конец - разорвите с ним отношения и найдите другого, адекватного исполнителя. На кой он вам сдался такой?

    ОтветитьУдалить
  40. Полностью согласен с Вами. Дал ему линк на Вашу статью, чтобы он мог убедиться в том, что он заражён и вылечиться соответственно. Спустя непродолжительное время он прислал новый файл с след. сообщением:

    Убран код, буду перекодировать, отчёт с вирус тотал
    File name:
    Project1.exe
    Submission date:
    2010-08-15 12:10:23 (UTC)
    Current status:
    finished
    Result:
    1/ 42 (2.4
    Additional information
    Show all
    MD5 : 569cb396f3c9d1d1926940d3d4d89917
    SHA1 : a4d31a63d732aaa23fd74d8bcc3e86afd6bba47f
    SHA256: 17635628f9483e3870daad1eb9725117a8255d3bf1e6aff1473301c3492f4b33

    Я проверил на вирус тотал сам ещё раз. Вот результат 1/41

    McAfee-GW-Edition 2010.1 2010.08.14 Heuristic.BehavesLike.Win32.Backdoor.H

    Я так понимаю, что он просто упаковал (запрятал вирус)?

    ОтветитьУдалить
  41. Я не знаю. Нельзя сказать, не видя программы.

    Насчёт упаковки - можно оценить по размеру (если новая и старая имеют примерно одинаковый размер - вероятно, что файл упакован не был). Также (более надёжно) можно проверить это анализатором PE файлов (к примеру, PEiD или аналогичными).

    ОтветитьУдалить
  42. Видимо упаковал просто, так как 1 файл 410КБ, а 2 файл 403 КБ, программка не помогла, так как не понял как определить это с её помощью. Спасибо за всё!! Главное, что это для меня не опасно, так как делфи у меня нет!

    ОтветитьУдалить
  43. Да нет, (примерно) 7 Кб - это и есть размер вируса Win32.Induc. Т.е., видимо, разработчик его всё же выпилил, а единственное срабатывание McAfee - ложное.

    При упаковке размер программы меняется значительно. К примеру: 410 Кб -> 260 Кб (если, конечно, это не сжатие с нулевым сжатием).

    Но, понятно, что гарантий никаких. Это я сейчас вилами на воде расписываю.

    ОтветитьУдалить
  44. На винде 7 стоял avast прочитал по отзывам типо не сильно страшный вирус.Решил запустить заражонную прогу с отключенным антивирем и результат синий экран 0x000000f4(0x0000000000000003......

    ОтветитьУдалить
  45. Это не связано с Virus.Win32.Induc.a. Вы видите что-то другое.

    ОтветитьУдалить
  46. Всем привет... Навеяло..
    Я когда-то давно (когда был студентом 2к дгу) сделал нечто такое- же умеющее заражать файлы *.PAS Правда не стал сей эксперимент проводить дальше одного компьютера компьютерного класса...

    ОтветитьУдалить
  47. Здравствуйте. Купила книгу Adobe Flash CS4: официальный учебный курс.- М.: Эксмо,2009. -400с.: ил+ CD. - (Официальный учебный курс). Стала устанавливать программу (сам видеокурс) Касперский выдал, что в этой программе virus.Win32.Indus.b. Решила проверить диск на вирусы Касперским 2013,ничего не находит и программу проверила, всё чисто. И где теперь этот вирус? Ложная тревога? Или всё-таки мой ноутбук уже заражён?

    ОтветитьУдалить
  48. Скорее всего, ложная тревога эвристики. Чтобы убедится - проверьте подозрительный файл на сервисе VirusTotal. Если это действительно вирус, его должна опознать хотя бы треть антивирусов.

    ОтветитьУдалить
  49. В свое время подхватил "Индюка" с авторана пиратской GTA 4. Ни о чем не подозревая, рассылал друзьям свои программки на Delphi, некоторые жаловались на вирус, думал ложное срабатывание

    P.S. VirusTotal - шляпа))) написал простенький keylogger, ни один из 46 антивирусов ничего не заподозрил

    ОтветитьУдалить

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и (опционально) ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.

Примечание. Отправлять комментарии могут только участники этого блога.