“Лаборатория Касперского” (http://www.kaspersky.ru/) сообщает о регистрации первой вредоносной программы, поражающей известную систему автоматизации “1С:Предприятие”.
Данный вирус, получивший название Virus.1C.Tanga.a, был создан в академических целях и не содержит деструктивной функционально
ти. Создатель программы сам направил ее экспертам компании для изучения.
“Tanga” распространяется в системе “1С:Предприятие7.7” посредством заражения пользовательских файлов, отвечающих за внешние отчеты и имеющих расширение “ERT”. Одним из встроенных в такой файл-отчет макромодулей и является вредоносная программа. Метод размещения “Tanga” в инфицированных файлах во многом соответствует макро-вирусам, заражающим документы и таблицы пакета программ Microsoft Office. Зловредные модули располагаются в специальном блоке данных и активизируются при открытии файла-отчета. Подобно макросам Microsoft Office, они могут иметь автоматические именные идентификаторы, срабатывающие при различных действиях с файлом, например, его открытии.
Для своего распространения “Tanga” в полной мере использует мощный язык модулей “1С”. Он позволяет вирусу обращаться к другим дисковым файлам, включая и файлы-отчеты, подобные зараженным, и, таким образом, размножаться. Таким образом, данный вредоносный код является первой полноценной программой-инфектором, созданной для платформы “1С:Предприятие7.7” и записывающей свой код в служебные файлы системы формата “*.ert”.
Для работы вирус использует специальную библиотеку “Compound.dll”. В случае, если данный файл отсутствует в системе, вирус выполняться не будет. Механизм действия “Tanga” достаточно прост: при запуске зараженного ert-файла вирус проверяет наличие в системе файла “Compound.dll”, затем последовательно сканирует все каталоги текущего диска в поиске файлов с расширением “ert”. В найденных файлах проверяется наличие строки: Tango.ERT.2622. Если она найдена, пишет интернет-издание “Вебпланета”, то файл уже был заражен ранее, и повторной записи зловредного кода не происходит. В противном случае, вирус создает в файле модуль с именем “1C Programm text”, в который записывает свой код.