Бурый медвед (brown_medved) wrote,
Бурый медвед
brown_medved

Вирус acad.lsp в AutoCAD 2008

Столкнулся на работе с чудо-вирусом acad.lsp.
На самом деле, это разумеется никакой не вирус, а злоупотребление встроенного в AutoCAD языка программирования AutoLISP.

Что бы заразиться достаточно всего лишь открыть любой dwg файл в AutoCAD 2008 из папки, где присутствует "плохой" файл acad.lsp (наличие которого в больших папках можно и не заметить). После заражения часть стандартных автокадовских команд заменяется другими командами. Работать при этом становится проблематично.
Хочу обратить внимание, что сам dwg файл не заражён. Заражение происходит из-за того, что AutoCAD мониторит наличие файла acad.lsp в папке открываемого dwg чертежа. И если такой файл присутствует, то AutoCAD его с удовольствием подгружает к чертежу. При этом никаких запросов пользователю типа "Не хотели бы вы заразиться вирусом - Да - Нет" не возникает.

Непонятно, почему в компании Autodesk не могли предусмотреть этот вариант развития событий, и запретить без особого разрешения со стороны пользователя выполняться LISP'овским командам. По умолчанию автоматическая загрузка lsp файла без ведома пользователя должна быть отключена! Странно, что этого не понимают в Autodesk'е

Работает вирус так:
При заражении в файл С:\Documents and Settings\username\Application Data\Autodesk\AutoCAD 2008\R17.1\enu\Support\acad.lsp прописывается следующее:
(load
"textdit")
(princ)

Эта команда подгружает файл textdit.lsp из той же папки, а в том файле уже написано много чего - в частности как раз и заменяются одни автокадовские команды на другие. Теперь при открытии любого dwg чертежа, даже, если в папке с ним нет файла acad.lsp, команды будут заменены (потому что его подгрузка уже осуществляется из стандартной автокадовской папки Support), а файл acad.lsp в текущей папке любезно создастся сам (за счёт этого вирус и распространяется).

Удалить "вирус", и предотвратить дальнейшую возможность заражения через LISP-команды очень легко. Достаточно:
1) Закрыть AutoCAD
2) Очистить вышеупомянутый файл acad.lsp (что бы в нём не было вообще ничего, т.е. 0 байт)
3) Снять все разрешения с файла acad.lsp (на вкладке "Безопасность", для всех групп и пользователей поставить "Запретить" и нажать ОК)


4) Запустить AutoCAD, и радоваться жизни

Прикольную историю рассказал один из наших сотрудников. Он дома тоже подцепил эту заразу, но вместо того, что бы лечить вирус вручную, решил воспользоваться благами цивилизации - бесплатным антивирусом CureIt от конторы Доктор Веб. CureIt действительно обнаружил вирус в acad.lsp, чего-то там почистил, и в итоге... перестал запускаться AutoCAD. Т.е. вообще перестал. Помогла только полная его перестановка. Интересно, что такого должен был сделать "антивирус", что бы программа перестала запускаться вообще. Перефразируя известную, ошибочно приписываемую Сталину цитату, можно сказать "Нет программы - нет проблемы".
Хорошо, что CureIt винду не удалил. Это, как известно, лучшее решение вообще всех проблем с вирусами.
Subscribe
Comments for this post were disabled by the author