Задайте для переменной autocad secureload новое значение 0
Обновлено: 24.11.2024
Я представляю класс по новым функциям безопасности в AutoCAD 2014 на AU этого года — классы DV3456 (лекция) и DV3459-R (круглый стол после лекции). Я подумал, что вы могли бы заранее ознакомиться с моим раздаточным документом, дайте мне знать, если вы чего-то не понимаете, и я постараюсь объяснить/обновить документ для вас…
Исходная проблема безопасности
В то время AutoCAD автоматически загружал первый файл acad/acaddoc/acad20xx/acad20xxdoc. lsp/fas/vlx или acad.dvb, обнаруженный в пути поиска вспомогательных файлов AutoCAD. Все вирусы AutoCAD использовали эту единственную функцию. Мы решили предоставить возможность отключить эту функцию, поскольку большинство, если не все, пользователи используют только один файл acad.lsp, acaddoc.lsp или acad.dvb.
Большинство этих вирусов раньше попадали к пользователю, помещая файлы lisp в zip-файл, содержащий законные рисунки. Когда пользователь распаковывает zip-файл и дважды щелкает файл чертежа, чтобы открыть его, файлы lisp загружаются и заражают машину.
Существует 3 различных группы этих типов файлов запуска, созданных пользователями:
Типы файлов FAS и VLX представляют собой скомпилированные файлы LSP. DVB — это файл макроса Visual Basic для приложений.
Кроме того, иногда мы поставляли файлы acad20xx.lsp и acad20xxdoc.lsp (где xx обозначает год выпуска). Эти файлы «зарезервированы» только для использования в AutoCAD.
Загружается только 1 из каждой группы.
Если acad.lsp, acad.fas и acad.vlx находятся в одном каталоге, загружается только acad.vlx, а acad.fas и acad.lsp игнорируются.
Если присутствуют все 7 файлов, загружаются только acad.vlx, acaddoc.vlx и acad.dvb. Но это зависит от того, в каком каталоге находятся эти файлы. Каждый из этих файлов загружается из того места, где их находит AutoCAD в первую очередь при работе по пути поиска.
Путь поиска — это не только то, что указано на вкладке «Файлы параметров». он также включает текущую папку (обычно начальную папку, указанную в ярлыке программы) и папку текущего чертежа.
Сначала выполняется поиск в текущей папке, затем в папке чертежей, а затем в остальной части пути поиска. Таким образом, если acad.lsp будет найден первым, он будет загружен, даже если существует acad.fas/vlx. (В любой момент загружается только 1 из файлов acad.lsp, acad.vlx или acad.fas, даже если файлы расположены в разных каталогах. Если AutoCAD находит и загружает один из этих файлов, он перестает искать остальные 2 ).
Порядок поиска этих файлов:
Но если все 3 (или 2) файла присутствуют в каталоге, AutoCAD сначала проверяет, является ли файл .lsp более новым, чем файл .VLX или .FAS. Если это так, AutoCAD загружает файл .LSP.
Acad.lsp/fas/vlx, acaddoc.lsp/fas/vlx или acad.dvb не поставляются с AutoCAD и создаются пользователями.
Зарезервированные файлы acad20xx.lsp и acad20xxdoc.lsp были установлены в папку \support. (Начиная с AutoCAD 2013, файл acad20xxdoc.lsp устанавливается в локализованную подпапку, например en-us). Предполагалось, что acad20xx.lsp и acad20xxdoc.lsp предназначены только для внутреннего использования AutoCAD, поэтому пользователи не должны были создавать/редактировать их. Мы четко задокументировали это в справочной документации. Но мы относились к этим файлам как к acad.lsp и acaddoc.lsp (т. е. первый файл, найденный в пути поиска, загружается автоматически).
Дополнительная информация из справочной документации
Вы можете создать файл acad.lsp, если регулярно используете определенные процедуры AutoLISP. Когда вы запускаете AutoCAD, он ищет в пути поиска файла поддержки файл acad.lsp. Если файл acad.lsp найден, он загружается в память.
Предупреждение. Не изменяйте зарезервированный файл acad2012.lsp. Autodesk предоставляет файл acad2012.lsp, который содержит определенные в AutoLISP функции, необходимые для AutoCAD. Этот файл загружается в память непосредственно перед загрузкой файла acad.lsp.
Большинство пользователей используют один файл acaddoc.lsp для всех подпрограмм AutoLISP, основанных на документах. AutoCAD ищет файл acaddoc.lsp в порядке, определяемом путем к библиотеке; поэтому с помощью этой функции вы можете иметь разные файлы acaddoc.lsp в каждом каталоге чертежей, которые будут загружать определенные подпрограммы AutoLISP для определенных типов чертежей или заданий.
Предупреждение. Не изменяйте зарезервированный файл acad2012doc.lsp. Autodesk предоставляет файл acad2012doc.lsp, который содержит определенные в AutoLISP функции, необходимые для AutoCAD. Этот файл загружается в память непосредственно перед загрузкой файла acaddoc.lsp.
Файл acad.dvb полезен, если вы хотите загружать определенный проект VBA, содержащий нужные макросы, каждый раз при запуске AutoCAD. Каждый раз, когда вы начинаете новый сеанс рисования AutoCAD, AutoCAD ищет файл acad.dvb и загружает его.
Решение — AutoCAD 2012 SP1
Решение включает обновления в трех областях:
- Новый параметр запуска командной строки
- Новые системные переменные
- Изменить правила загрузки для acad20xx.lsp и acad20xxdoc.lsp
Новый параметр запуска командной строки
Введите новый ключ командной строки под названием «/nolisp».
Запуск AutoCAD с этим переключателем отключает Lisp в AutoCAD (включая LSP, FAS, VLX). При этом ломаются некоторые элементы меню, экспресс-инструменты и т. д., но это предназначено для экстренного использования, когда система заражена и пользователь боится запускать AutoCAD.
ПРИМЕЧАНИЕ. Этот параметр запуска также предоставляет пользователю возможность изменять параметры AUTOLOAD и AUTOLOADPATH. Кроме того, как и другие переключатели запуска, это состояние предназначено только для текущего сеанса и не сохраняется между сеансами.
(Новый переключатель соответствует соглашению об именах некоторых существующих похожих переключателей, таких как /nlogo, /nohardware, /nossm.)
При использовании переключателя командной строки nolisp новой системной переменной LISPENABLED присваивается значение 0.
Новые системные переменные
Мы добавили новую системную переменную только для чтения ( LISPENABLED ), которая соответствует новому переключателю командной строки.
Описание
Управляет включением LISP для сеанса AutoCAD (включая LSP, FAS, VLX)
Вы видите следующее предупреждение безопасности каждый раз, когда обновляете Land F/X и перезапускаете CAD:
Безопасность — неподписанный исполняемый файл: не удалось проверить издателя этого исполняемого файла, и файл не находится в доверенной папке.
Это предупреждение может появиться до трех раз подряд при перезапуске CAD, и вы можете увидеть любой из следующих файлов, перечисленных как ненадежные: acad.dll, LandFX.mnl и/или LandFX.vlx.
Причина
Вероятнее всего, вы видите это предупреждение, потому что:
- У вас есть системная переменная SECURELOAD со значением 1, И
- AutoCAD рассматривает любые или все исполняемые файлы, необходимые для загрузки Land F/X (три файла, перечисленные выше), как файлы в ненадежных расположениях.
О настройке SECURELOAD
Системная переменная SECURELOAD определяет, загружает ли AutoCAD исполняемые файлы, например те, которые необходимы для работы Land F/X.
SECURELOAD может иметь любое из следующих значений:
- 0: исполняемые файлы будут загружаться из любого места, и вы не увидите показанное выше предупреждающее сообщение.
- 1. Исполняемые файлы будут загружаться только в том случае, если они находятся в расположении, указанном в ваших надежных путях, и вы увидите предупреждение системы безопасности, изображенное выше, когда исполняемый файл не может загрузиться.
- 2. Исполняемые файлы будут загружаться только в том случае, если они находятся в расположении, указанном в ваших надежных путях AutoCAD. С настройкой 2 вы не увидите предупреждения — исполняемые файлы, такие как наш, просто не будут загружаться. (Вы можете увидеть сообщение об ошибке Неизвестная команда или Нет определения функции, когда Land F/X не может загрузиться.)
Решение
Самый простой способ решить любую из этих проблем (по крайней мере, в качестве начального шага по устранению неполадок) — установить для SECURELOAD значение 0.
<р>1. Введите SECURELOAD в командной строке и нажмите Enter. Когда будет предложено ввести значение, введите 0 . <р>2. Перезапустите AutoCAD или F/X CAD. Вы не должны видеть предупреждение системы безопасности. <р>3. Щелкните любой инструмент Land F/X. Что теперь?- Инструмент работает нормально, и вы не видите сообщения об ошибке:Установка SECURELOAD на 0 решила проблему. Вы в порядке с сохранением SECURELOAD на 0?
- Да. Вы решили проблему и можете вернуться к работе. (Примечание. Мы не видим проблем с сохранением значения SECURELOAD равным 0.)
- Нет, это не вариант.
- Ошибка: неизвестная команда
- Ошибка: нет определения функции
Не подходит ли для вас значение параметра SECURELOAD равным 0? Вот что нужно сделать.
Пока Land F/X может загружаться, то есть вы не видите Неизвестную команду или ошибку определения функции, вы сможете без проблем оставить значение SECURELOAD равным 0. (На самом деле это наша настройка по умолчанию для F/X CAD.)
Однако ваш офис может потребовать, чтобы вы включили SECURELOAD (то есть установили значение 1 или 2), или вы можете просто не захотеть устанавливать для него значение 0. несколько дополнительных действий каждый раз, когда вы обновляете Land F/X или перемещаете папку LandFX:
<р>1. На данный момент установите SECURELOAD на 1. <р>2. Скопируйте следующий текст: C:\Program Files\Landfx\_menus_\…Не забудьте скопировать многоточие (. ) в конце этой строки текста.
<р>3. Вы должны снова увидеть предупреждение системы безопасности.- Имя файла, которое отображается рядом со словом Name. (Скорее всего, это будет один из следующих файлов: acad.dll, LandFX.mnl и/или LandFX.vlx.)
- Путь к папке, который отображается рядом со словом «Расположение».
<р>4. Введите TRUSTEDPATHS в командную строку AutoCAD и нажмите Enter.
<р>5. Когда будет предложено ввести значение, вставьте скопированный текст из шага 2 и нажмите Enter. <р>6. Перезапустите CAD. Что теперь?Вы не видите ни предупреждения системы безопасности, ни сообщения об ошибке. Вы успешно добавили Land F/X в список надежных путей.
Если для параметра SECURELOAD установлено любое значение, отличное от 0, вам может потребоваться вручную добавить пути к доверенным путям, чтобы обеспечить загрузку и обновление Land F/X без проблем. У вас будет дополнительная защита от ненадежных сайтов, но вам также придется повторять эти шаги каждый раз, когда вы обновляете AutoCAD или перемещаете папку LandFX в новое место.
Дата присоединения к активному участнику 2015–2012 Местоположение Побережье Мексиканского залива Миссисипи, США Сообщений 74
AC2014 Secureload и Reactor
Кто-нибудь пробовал отслеживать «SECURELOAD» при его изменении с помощью реактора и устанавливать для него что-то другое?
Использование других системных переменных работает. По какой-то причине SECURELOAD не распознается.
Ниже показано, что я пытаюсь сделать.Текстовое окно ACAD (F2) приводится ниже:
Интересно, это ошибка или Autodesk помешала этому работать.
Есть совет или решение?
Администратор Дата регистрации 2009-11 Сообщений 5 636
Первоначальное сообщение от Tommybluegrass
Кто-нибудь пробовал отслеживать «SECURELOAD» при его изменении с помощью реактора и устанавливать для него что-то другое?
Использование других системных переменных работает. По какой-то причине SECURELOAD не распознается.
Ниже показано, что я пытаюсь сделать.Текстовое окно ACAD (F2) приводится ниже:
Интересно, это ошибка или Autodesk помешала этому работать.
Есть совет или решение?
Во-первых, если вы собираетесь копировать чей-то общедоступный код, как вы, кажется, сделали с моим отсюда, это совершенно нормально, но вы должны любезно указать источник.
Во-вторых, нельзя изменять системную переменную SECURELOAD в обработчике событий SystemVariableChanged. Это может быть связано с тем, что эта конкретная системная переменная является неотъемлемой частью нового механизма безопасности AutoCAD; было бы разумно, что это не должно быть разрешено, но я не знаю этого наверняка.
Для этого.
В обработчике событий SystemVariableChanged я сначала проверял целевые системные переменные, в данном случае SECURELOAD, проверял, действительно ли они изменились, а затем проверял, отключены ли они (установлено на 0). В этот момент я бы отменил регистрацию своего обработчика событий SystemVariableChanged и зарегистрировал обработчик событий Idle (не помню, было ли это представлено LISP), затем в обработчике событий Idle я бы отменил регистрацию указанного события и повторно зарегистрировал событие SystemVariableChanged, внесение соответствующих изменений. Все это сделано для того, чтобы избежать потенциального бесконечного цикла.
Компьютерное проектирование (САПР) сыграло жизненно важную роль в последние десятилетия в построении нашего общества, ориентированного на технологии, помогая конструкциям и инженерии достигать новых уровней сложности. невозможно.
Конечно, там, где ценные документы хранятся в электронном виде, вредоносное ПО, как правило, никогда не отстает, и неудивительно, что вредоносное ПО, нацеленное на файлы САПР, не является новым изобретением. С другой стороны, ценность, присущая этим файлам, делает любую подобную кампанию заслуживающей изучения, как это было недавно, когда мы наблюдали за тем, как одна использовала явно уже украденные проектные документы для крупных проектов, таких как отели, фабричные здания и даже Гонконг. Мост Чжухай-Макао (открывшийся в прошлом месяце) как «приманка» для дальнейшего распространения. Намерение здесь, вероятно, получить еще больше чертежей либо для прямого использования (т.е. шпионажа), либо для продажи на черном рынке.
Набор отчетов Radicati Group Market Quadrant за 2018 год
Автокад
AutoCAD — возможно, одно из самых известных и широко используемых приложений САПР — естественным образом оказалось в центре внимания вредоносных программ довольно рано в истории кибератак. Этому способствовал ряд программных функций, предназначенных для повышения удобства использования за счет предоставления способов автоматического выполнения пользовательских сценариев на основе LISP при запуске AutoCAD или открытии проекта.Эту функцию можно считать аналогом макросов Office: законные инструменты, которые, к сожалению, также могут быть использованы злоумышленниками.
AutoLISP — это специфический для AutoCAD диалект языка программирования LISP, который сам по себе довольно необычен в наши дни. Файлы AutoLISP могут иметь различную форму: либо они сохраняют исходный текстовый формат (который очень похож на любой другой удобочитаемый сценарий), либо они могут быть скомпилированы в двоичный модуль Fast-Load AutoLISP (FAS).
Для защиты проприетарных пользовательских скриптов AutoCAD даже обеспечивает базовое шифрование для скомпилированных модулей FAS. Результирующий файл не похож на что-либо осмысленное, если его открыть в текстовом редакторе.
Рисунок 1. Пример модуля AutoLISP с быстрой загрузкой
Как это работает
Автоматическая загрузка модулей LISP
Большинство исторических вредоносных программ для AutoCAD использовали базовую функцию автоматической загрузки программного обеспечения, которая позволяет пользователям создавать собственные сценарии на основе AutoLISP и выполнять их либо при запуске приложения, либо при загрузке файлов проекта.
Существует ограниченное — и в некоторой степени настраиваемое — количество местоположений, в которых AutoCAD ищет сценарии или модули для загрузки, но, конечно же, вредоносное содержимое не появляется в этих местах волшебным образом. Можно вручную поместить модули автозагрузки в соответствующие папки, однако это потребует либо предварительного присутствия на целевом компьютере, либо небольшой социальной инженерии.
Более простое и очевидное решение — включить модули рядом с файлами проекта и позволить пользователю выполнять работу, загружая их и автоматически выполняя сценарий вместе с ним. Часть социальной инженерии, т. е. обманом заставляющий пользователя открыть проект, использует набор рисунков-приманок (в данном случае, по-видимому, реальных рисунков уже зараженных жертв), которые могут быть выбраны в соответствии с интересами целевой компании. Например, компании, заинтересованные в строительном бизнесе, могут быть легко атакованы с названиями проектов, выдающими себя за бетонные основания, конструкции из металлических сплавов или любой элемент сложной конструкции здания или текущего тендера. Эти приманки часто являются частью полностью законных проектов, которые были ранее приобретены и превращены в «вооружение».
В любом случае при открытии чертежа обычно отображается законное (или, по крайней мере, выглядящее законным) содержимое, но также выполняются вредоносные сценарии.
Рисунок 2. Пример рендера проекта из упаковки приманки
Что в коробке?
За последние несколько месяцев мы отследили и проанализировали большое количество (более 300 "пакетов", содержащих примерно 100 уникальных вредоносных модулей) версий acad.fas. вокруг небольшого компонента загрузчика.
В этом случае архивы содержат один или несколько модулей acad.fas, размещенных рядом с чертежами приманки. Атрибуты файлов модулей FAS часто устанавливаются как «скрытые», чтобы они не отображались в проводнике Windows после извлечения архивов. Размер записанных файлов acad.fas варьируется от 2 до 20 килобайт, но, что более важно, после расшифровки и декомпиляции базовый сценарий почти всегда идентичен. С точки зрения функциональности скрипт представляет собой простой загрузчик, использующий базовые методы запутывания.
Рисунок 3. Восстановленный файл AutoLISP после расшифровки и декомпиляции
Расположения, из которых AutoCAD пытается загрузить файл FAS, зависят от версии и конфигурации, но после запуска файл будет дополнительно скопирован в следующие три местоположения:
- Папка «Документы» текущего пользователя (например, C:\Users\John Doe\Documents\acad.fas)
- Основная папка поддержки AutoCAD (например, C:\John Doe\Application Data\Autodesk\AutoCAD 2019\R23.0\enu\Support\acad.fas)
- Главная папка Program Files AutoCAD (например, C:\Program Files\Autodesk\AutoCAD 2019\acaddoc.fas)
Вредоносный FAS также устанавливает системную переменную (ACADLSPASDOC), которая в сочетании с указанными выше репликациями приводит к загрузке модуля не только при запуске AutoCAD, но и при последующем открытии любого проекта: при открытии проекта он далее скопирует себя в каталог, содержащий этот проект, и — во всех вариантах, кроме самого последнего — установит атрибуты файла «только для чтения» и «скрытый» для новой копии acad.fas, как отмечалось ранее. р>
Обратите внимание, что хотя все эти репликации позволяют ему распространяться в различных пакетах проектов с одного компьютера на другой, по умолчанию автоматическое выполнение acad.fas по-прежнему ограничено определенными местами, указанными выше. Таким образом, социальная инженерия, скорее всего, все же потребуется: все равно придется распаковывать чертежи вместе с вредоносным модулем в корень папки «Документы» пользователя. Даже в этом случае функции безопасности, представленные в AutoCAD 2014, по-прежнему будут отображать всплывающее предупреждение.
После завершения репликации будет получено значение системной переменной AutoCAD CDATE (текущая дата и время). Используя это, он выполнит некоторые базовые вычисления и сохранит результат в переменных среды, называемых «dlr» и «dqs». Эти переменные находятся в реестре (например, «HKCU\Software\Autodesk\AutoCAD\R23.0\ACAD-A001:409\FixedProfile\General») и используются для ограничения частоты попыток подключения C2 примерно до одного раза каждые 24 часа.
При подключении к C2 он объединяет значения переменных «dqs» и «dlr», языковой стандарт системы и номер версии фактической сборки AutoCAD. На этом этапе выполняется ряд дополнительных вычислений для обеспечения базовой запутанности (например, значение языкового стандарта системы умножается на 8), при этом в исходной форме используется только строка версии. Ниже приведен пример полного запроса. Обратите внимание, что в качестве разделителя используется заглавная буква «О»:
В приведенном выше примере языковой стандарт системы установлен на 1033 (8264/8 = 1033) — это языковой стандарт для английского языка по умолчанию, а строка версии — «23.0s (LMS Tech)», что соответствует последней версии AutoCAD 2019. построить.
Если соединение установлено успешно, в качестве ответа предоставляется либо фиктивный байт, либо другой модуль FAS с именем «slb.fas» или «tf.fas» в проанализированных версиях, который затем будет запускаться в автоматическом режиме и впоследствии удаляться. К сожалению, во время нашего исследования нам не удалось извлечь дополнительный модуль FAS из C2. Неясно, было ли это результатом дополнительных проверок на стороне сервера, чтобы облегчить поиск конкретных жертв, или это просто артефакт кампании, которая в настоящее время «неактивна».
В целом мы определили как минимум три четко различимые версии загрузчика. Есть некоторые незначительные различия в особенностях каждой версии, например. более ранние варианты не отправляют данные профилирования при подключении. Кроме того, переменные среды на основе реестра различаются между версиями («dqs», «dlr», «dlbsf»), как и уровень запутывания, адрес C2, метод получения модуля FAS второго этапа и, как отмечалось ранее, имя модуля второго этапа («slb.fas», «tf.fas»). Однако основные функции остаются прежними.
Специальная доставка
Из-за размера сложных проектных документов и планов (в некоторых случаях это сотни мегабайт) доставка пакета в виде архива ZIP или RAR в виде вложения электронной почты не всегда возможна. Вместо этого более распространенной практикой является размещение этих больших архивов в частной или общедоступной службе обмена файлами и предоставление только ссылки на проект.
Интересно, что особенно в наше время нередко выбирают более интимный способ доставки: почтовая посылка с содержимым на CD/DVD или USB-накопителе. Многим это может показаться необычным, но, учитывая размер файлов AutoCAD и конфиденциальный характер содержащихся в них данных, не исключено, что компании могут предпочесть не доверять свои законные файлы Интернету, предпочитая вместо этого традиционные почтовые и курьерские службы. р>
Хотя первоначальный вектор заражения для «нулевого пациента» в любом случае остается неясным, способность вредоносного ПО заражать каталог любого проекта, открытого на компьютере, почти наверняка способствует его распространению: сотрудники обмениваются файлами проектов внутри компаний или даже между двумя компаниями, работающими над одним и тем же проектом, могут легко и невольно заразить своих коллег.
Рисунок 4. Пример схемы упаковки приманки
Аномалии сервера
Все поддомены C2, указанные в кампании, разрешаются в один и тот же IP-адрес, на котором, по-видимому, установлена китайскоязычная установка Microsoft Internet Information Server 6.0.
Перекрестная проверка адреса с аналогичными кампаниями AutoCAD из прошлого показала, что один и тот же IP-адрес C2 использовался в течение нескольких лет, а также выявил второй IP-адрес «рядом» с текущим IP-адресом C2 с той же конфигурацией IIS.< /p>
Использование подобных IP-адресов «ближнего соседа» не является чем-то необычным и, вероятно, указывает на то, что за всеми этими кампаниями стоят одни и те же участники.
В AutoCAD я научился создавать настраиваемые элементы меню с помощью настройки пользовательского интерфейса, выполнив команду со следующим макросом:
После выбора созданного пользовательского меню откроется диалоговое окно «Безопасность — Неподписанный исполняемый файл»:
Как написать команду, в которой после выбора пользовательского меню и выбора [Загрузить один раз] вызывается функция в DLL?
Возможно ли это?
Я передумал программно выбирать [Загрузить один раз]. Это может быть (этически) неправильно, поскольку это должен быть выбор пользователя. Итак, я собираюсь вычеркнуть этот вопрос и изменить свой вопрос.
2 ответа 2
Один из способов обойти это — внести небольшие изменения в реестр.
Откройте редактор реестра, введя «RegEdit» в поиске Windows. Перейдите к следующему ключу (я использую AutoCAD 2015, поэтому найдите версию, которую используете вы).
Теперь в разделе "Переменные" установите значение SECURELOAD на 0 . Это отключит диалоговое окно безопасности.
Кроме того, вы можете добавить свой C:\ABC в свои надежные расположения (но, по общему признанию, у меня с этим был смешанный успех - я использую метод реестра). Вы можете установить надежное расположение вручную, открыв AutoCAD, выбрав «Параметры» -> «Файлы» -> добавить путь к «Надежным расположениям». Вы также можете сделать то же самое через взаимодействие (при необходимости).
Если вы хотите запустить команду, определенную в вашей dll, при запуске/открытии документа, лучше всего добавить ее в один из acad.lsp, acad2015.lsp, acaddoc.lsp и т. д. Эти сценарии выполняются при запуске приложение/автоматическое открытие документов с помощью AutoCAD
Вы также можете использовать один из этих файлов lisp для загрузки вашей dll (в отличие от написания макроса). Например, это, вероятно, сделает это:
Вот еще немного информации об использовании AutoLisp для автоматического запуска команд из dll.
Читайте также: