Страницы

четверг, 13 августа 2009 г.

Вирус отакуе Delphi программистов!

 

virus

Вирус, photo by twenty_questions

Gunsmoker сегодня сообщил о вирусе, заражающем установленную Delphi и распространяющим себя через скомпилированные программы. Известно, что в интернете гуляли заражённые версия Qip и Aimp.

Вирус делает 2 вещи: размножается и иногда глючит. Собственно по глюкам его и нашли. Вирус заражает версии Delphi с 4й по 7ю, и при активации перезаписывает собой файл sysconst.dcu, сохраняя оригинальный файл с именем sysconst.dcu.bak.

Подробное описание этого вируса, алгоритма его действия и способа лечения можно найти в блоге GunSmoker-a.

Сама по себе эта разновидность вируса не опасна. Его легко найти и исправить. Однако этот вирус демонстрирует жизнеспособность такого способа заражения, и уязвимость установленной Delphi.

Мне “повезло” обнаружить этот “вирус” в своей инсталляции Delphi 6 и Delphi 7. Причём дата модификации у одного из sysconst.dcu.bak был январь 2008 года.

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

Первое, что пришло в голову – это занести стандартные папки Delphi Bin и Lib (и некоторые другие) в Subversion. Хотя бы и в локальный. Сказано – сделано. Теперь, если какой-то из файлов изменится, это будет видно невооружённым глазом (TortoiseSVN помечает изменившиеся файлы другой иконкой).

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

Это сделать довольно просто. Можно написать, например, .bat-файл, который будет делать следующее:

  1. Запускать консольный svn-клиент, проводить сравнение локальной папки с репозиторием кода и выводить список изменений в какой-нибудь файл.
  2. Написать программку на Delphi, которая будет проверять указанный файл, и в случае появления изменений отправлять e-mail.

А также будет необходимо прописать этот файл в планировщик Windows, чтобы он регулярно запускался.

p.s. Пока это только идея.

p.p.s. А до тех пор, придётся воспользоваться каким-нибудь антивирусом. Например, установить Norton AntiVirus 2012 Beta, или ещё лучше Касперского прикупить.

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

  1. А не проще работать из под рестриктед-юзера, без прав модификации ProgramFiles?! А с UAC-ом так вообще всё просто..

    ОтветитьУдалить
  2. давно собираюсь написать прогу, которая будет маяковать о всех изменившихся и добавившихся файлах как в папке винды.. так например и в папке делфей... видать пора ))))))

    ОтветитьУдалить
  3. > Вирус заражает версии Delphi с 3й по 7ю
    Ошибка: с 4-й по 7-ю.

    ОтветитьУдалить
  4. > А не проще работать из под рестриктед-юзера, без прав модификации ProgramFiles?! А с UAC-ом так вообще всё просто..

    Четно говоря не проще. Слишком много используемых программ не дружат с ограничениями по правам. :(

    ОтветитьУдалить
  5. А тема жива :) Из ленты delphifeeds:
    http://wings-of-wind.com/2009/11/02/compile-a-virus-filefeeds-a-solution/
    Помню, что впервые о вирусе прочитал в вашем блоге, но не помню, чтобы у вашего поста был такой заголовок, как сейчас :)
    Спасибо за статьи о разработке в Delphi!
    Илья

    ОтветитьУдалить
  6. Пожалуйста, Илья. Спасибо за доброе слово. =)

    Интересно будет посмотреть как работает их watcher.

    А название темы всегда таким было. Чтобы не переборщить с серьёзностью.=) Вирус всё-таки не таким уж и зловредным оказался.

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