ADN Open CIS
Сообщество программистов Autodesk в СНГ

03/09/2013

Последовательность загрузки приложений в AutoCAD с учетом SECURELOAD

В продолжение темы "Последовательность загрузки приложений в AutoCAD" хотелось бы осветить вопрос о безопасности и о шагах, предпринятых Autodesk в этом отношении.

Вплоть до AutoCAD 2012 включительно действовал механизм, описанный в указанной статье. Чем и пользовались вирусописатели, а потом САПРовцы судорожно вычищали следы их деятельности. Вообще говоря, существует три вида файлов, автоматически загружаемых в AutoCAD при старте чертежа:
  1. acad.lsp/fas/vlx
  2. acaddoc.lsp/fas/vlx
  3. acad.dvb
Файлы с расширениями fas и vlx являются компилированными lsp-файлами; dvb - файл макросов VBA.

Иногда также можно было встретить файлы acad20XX.lsp или acad20XXdoc.lsp (XX означают последние 2 цифры версии AutoCAD). Эти файлы "зарезервированы" для использования самим AutoCAD.
Если в одном каталоге обнаруживается одновременно acad.vlx, acad.fas и acad.lsp, то загружается только acad.vlx; остальные файлы игнорируются.

Если AutoCAD обнаруживает сразу все 7 файлов (т.е. acad.lsp; acad.fas; acad.vlx; acaddoc.lsp; acaddoc.fas; acaddoc.vlx; acad.dvb), то загружаются только первые обнаруженные *.vlx-файлы и acad.dvb.
Тем не менее, следует отдавать себе отчет в такой тонкости: последовательность загрузки определяется тем, где и когда AutoCAD обнаруживает эти файлы. Очевидно, что AutoCAD ищет эти файлы по каталогам, определенным как пути поддержки. Но на самом деле AutoCAD перед ними опрашивает еще и рабочий каталог приложения (определяется в свойствах ярлыка вызова). Рабочий каталог опрашивается только в том случае, если сначала запускается AutoCAD, и открытие файла dwg выполняется из-под AutoCAD'a. Следом идет каталог, в котором находится открываемый файл, и только после этого опрашиваются пути поддержки AutoCAD'a

Сначала загружается обнаруженный acad*.* - файл, а поиск остальных вариантов прекращается. Что это значит?

Например, в каталоге с открываемым dwg-файлом есть файл acad.lsp, а в каталогах поддержки хранятся acad.fas и acad.vlx. AutoCAD при открытии dwg обнаружит acad.lsp, загрузит его и уже не будет опрашивать каталоги поддержки

Последовательность поиска файлов такова:
  1. acad*.VLX
  2. acad*.FAS
  3. acad*.LSP
Если AutoCAD обнаружит в одном каталоге все 3 варианта одного и того же файла (ну или хотя бы 2), то перед загрузкой AutoCAD опросит даты файлов. Если LSP-файл окажется более свежим, то будет загружаться именно он, FAS и VLX будут проигнорированы.

Файлы acad.lsp, acad.fas, acad.vlx, acad.dvb не поставляются вместе с AutoCAD и разрабатываются самостоятельно пользователями.

Зарезервированные файлы acad20XX.lsp и acad20XXdoc.lsp устанавливаются вместе с AutoCAD и размещаются в каталоге {InstallDir}\Support. В 2013 и 2014 версиях эти файлы размещаются в каталогах локализации (например, для AutoCAD 2014 Eng путь будет наподобие {InstallDir}\Support\en-us; для русской версии - {InstallDir}\Support\ru-ru). acad20XX.lsp и acad20XXdoc.lsp предназначены только для служебных целей внутри AutoCAD, поэтому не следует изменять или создавать такие файлы самостоятельно (о чем, кстати, в документации достаточно четко написано).

Полезные ссылки

  1. Как обнаружить и удалить вирус acad.vlx
  2. Сравнение acad*.lsp файлов
  3. Последовательность загрузки приложений в AutoCAD и ссылки, указанные в ней

Дополнительная информация, которую можно найти в справке

  1. Файл ACAD.LSP
    Вы можете создать файл acad.lsp, если Вы постоянно используете какие-либо специфические скрипты или макросы. При старте AutoCAD ищет этот файл по всем путям (рабочий каталог приложения, каталог текущего документа, пути поддержки). Если файл найден, он загружается в AutoCAD
    Важно! Не вносите изменения в файл acad200XX.lsp. В этом файле хранятся функции, которые разрабатывала Autodesk и которые используются внутри AutoCAD'a. Этот файл загружается в AutoCAD до acad.lsp
  2. Файл ACADDOC.LSP
    Большинству пользователей достаточно иметь всего один файл acaddoc.lsp для всех lisp-приложений, загружаемых внутрь документа. Поиск файла acaddoc.lsp выполняется точно так же, как и поиск acad.lsp. И точно так же загружается только первый найденный файл, остальные игнорируются. Таким образом, в разных каталогах с dwg-файлами могут лежать разные файлы acaddoc.lsp, загружающие разный код.
    Важно! Не вносите изменения в файл acad20XXdoc.lsp. Причины такие же, как и для acad.lsp. Файл acad20XX.lsp загружается в документ перед acaddoc.lsp
  3. Автоматическая загрузка и исполнение VBA
    Файл acad.dvb может использоваться, если Вам необходимы какие-либо VBA-макросы внутри каждого документа.

Дальше рассмотрим несколько особенностей AutoCAD 2013 и 2014.

AutoCAD 2013 SP 1


Пакет обновлений для AutoCAD 2013 внес 3 изменения в алгоритмы автоматической загрузки:
  1. Новые ключи командной строки acad.exe
  2. Новые системные переменные
  3. Изменение правил загрузки acad20XX.lsp и acad20XXdoc.lsp

Новые ключи командной строки acad.exe

Введен новый ключ командной строки - "/nolisp" (естественно, без кавычек). Этот ключ полностью блокирует lisp в AutoCAD (включая lsp, fas и vlx). Не самое удачное решение, поскольку использование этого ключа может блокировать работу некоторых элементов меню (в частности, многие команды из ExpressTools могут отказаться работать). Тем не менее этот ключ может оказаться полезным, если есть подозрения на факт заражения компьютера AutoCAD'овскими вирусами.

Важно! Этот ключ запуска все же предоставляет пользователю возможность поменять порядок загрузки приложений в StartupSuite и новую системную переменную AUTOLOADPATH. Ключ "/nolisp" работает только в текущей сессии AutoCAD'a.

Использование этого ключа автоматически устанавливает новую системную переменную LISPENABLED в 0

Новые системные переменные

Введена новая системная переменная LISPENABLED. Значение устанавливается ключом запуска "\nolisp" (см.выше)
Название LISPENABLED
Режим ReadOnly (только чтение). Не документирована
Описание Определяет, будет ли включен lisp для текущей сессии AutoCAD. Регулирует возможность загрузки и исполнения lsp, fas, vlx
Тип данных Целое
Возможные значения 0 : поддержка lisp отключена
1 : поддержка lisp включена
Значение по умолчанию 1
Хранится в Не сохраняется
Изменение и получение значения командная строка запуска acad.exe (ключ "/nolisp")
getvar - только чтение
командная строка AutoCAD - только чтение

Добавлено еще 2 системные переменные AUTOLOAD и AUTOLOADPATH, указывающие AutoCAD'у, грузить ли автоматически файлы acad.lsp / fas / vlx; и, если грузить - то из каких каталогов

Пользователи могут загружать другие lisp-файлы. AutoCAD 2013 SP1 все еще загружает acad20XX.lsp и acad20XXdoc.lsp (подробнее см.ниже, раздел "Изменение правил загрузки").

Эти настройки имеют отношение только к автоматически загружаемым файла из разряда определяемых пользоватем (т.е. acad.lsp / fas / vlx; acaddoc.lsp / fas / vlx; acad.dvb).
Название AUTOLOAD
Режим Доступно для изменения. Не документирована
Описание Определяет, будет ли AutoCAD искать и загружать lsp / fas / vlx / dvb файлы
Тип данных Целое
Возможные значения 0 (откл) : автозагрузка файлов acad.lsp/fas/vlx; acaddoc.lsp/fas/vlx; acad.dvb не выполняется
1 (вкл) : файлы acad.lsp/fas/vlx; acaddoc.lsp/fas/vlx; acad.dvb загружаются
Значение по умолчанию 1
Хранится в Реестр, ветка текущего профиля (подробнее см.ниже). Ключ AUTOLOAD. Если значение в реестре не обнаружено, значит, системная переменная еще ни разу не изменялась.
Изменение и получение значения getvar / setvar
Командная строка AutoCAD

Название AUTOLOADPATH
Режим Доступно для изменения. Не документирована
Описание Указывает, откуда AutoCAD будет загружать найденные acad.* и acaddoc.* файлы
Тип данных Строка
Возможные значения Путь к каталогу / каталогам, где AutoCAD'у следует искать acad.* и acaddoc.* файлы. Если каталогов несколько, то они разделяются символом ";" (точка с запятой). Если введено пустое значение ("" или .), то AutoCAD загружает файлы acad.* и acddoc.*, обнаруженные по стандартному механизму
Значение по умолчанию "" (пустое значение) или "." (точка)
Хранится в Реестр, ветка текущего профиля (подробнее см.ниже). Ключ AUTOLOADPATH. Если значение в реестре не обнаружено, значит, системная переменная еще ни разу не изменялась.
Изменение и получение значения getvar / setvar
Командная строка AutoCAD
Ветка текущего профиля для AutoCAD последних версий в реестре определяется как HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\RXX.X\ACAD-YYYY:ZZZZ\Profiles\<Имя профиля>. Большинство перечисляемых в статье системных переменных хранят свое значение в подключе \Variables, но возможно хранение в подключе \General.

Изменение системной переменной AUTOLOAD можно отследить по доступности опции "Load acad.lsp with every drawing" (_.options - System):

Установленный / снятый флажок точно так же регулирует значение системной переменной ACADLSPASDOC.

Изменение правил загрузки acad20XX.lsp и acad20XXdoc.lsp

Раньше файлы acad20XX.lsp и acad20XXdoc.lsp рассматривались и загружались как аналоги acad.lsp и acaddoc.lsp (т.е. выполнялась загрузка первого найденного файла с таким именем; поиск осуществлялсь по описанному выше алгоритму). Теперь эти файлы загружаются только из подкаталога установки \Support (например, для AutoCAD 2013 этот путь может быть наподобие %ProgramFiles%\Autodesk\AutoCAD 2013\Support. Еще раз напоминаю - эти файлы предназначены для корректной работы самого AutoCAD и вносить изменения в них не следует.

Вертикальные решения на базе AutoCAD : функциональность, последовательность загрузки и вопросы безопасности - все полностью повторяет уже описанное

AutoCAD для Mac : практически повторяет описанный функционал. Вся разница состоит в том, что AutoCAD для Mac не поддерживает vlx - только lsp и fas (Прим.переводчика: проверить, к сожалению, не могу).

AutoCAD LT / AutoCAD OEM : затронутые вопросы не касаются AutoCAD LT, поскольку в AutoCAD LT не поддерживаются ни эти системные переменные, ни программирование (кроме, пожалуй, минимально доступного функционала на DIESEL)

AutoCAD 2014

Вообще говоря, решение, внедренное в AutoCAD 2013, нельзя назвать полным (решение ограничивалось только загрузкой lisp- и dvb-файлов), и потребовались дополнительные ограничения по безопасности. AutoCAD 2014 внес некоторые коррективы:
  1. расширение типов файлов, отслеживаемых системной переменной SECURELOAD
  2. добавлены новые параметры в окно _.options, согласовывающиеся с уже описанными системными переменными AUTOLOAD И AUTOLOADPATH (заменены на SECURELOAD и TRUSTEDPATHS)
  3. разделение системной переменной AUTOLOADPATH на две: TRUSTEDPATHS и TRUSTEDDOMAINS)
  4. цифровое подписывание исполняемых файлов (dll, exe, arx, dbx и т.п.)
  5. определение доверенных путей установки
  6. дополнительный ключ запуска "/safemode", системные переменные SAFEMODE и SAFEMODEAPPS
  7. введен новый диалог, появляющийся при попытке загрузки исполняемых файлов, не включенных в каталоги, определенные в TRUSTEDPATHS и / или TRUSTEDDOMAINS
  8. изменение загрузки CUI[X] и MNL-файлов
  9. добавлено новое сообщение, появляющееся при попытке назначить в качестве TRUSTEDPATHS каталога, не закрытого на запись
  10. введена новая lisp-функция findtrustedfile (по аналогии с findfile)
  11. добавлены новые настройки в мастер развертываний

SECURELOAD и отслеживаемые типы файлов

Настройка AUTOLOAD, появившаяся в AutoCAD 2013 SP1, была обновлена в AutoCAD 2014 и расширила типы файлов, отслеживаемых при загрузке. AUTOLOAD смотрела только за lsp, fas, vlx и dvb файлами, теперь же просматриваются все - arx, lsp, fas, vlx, сборки .NET, dvb (VBA), скрипты и dll JavaScript.

В AutoCAD 2013 системная переменная AUTOLOAD могла иметь только два значения - 0 (отключено) либо 1 (включено). Для AutoCAD 2014 имя системной переменной стало SECURELOAD и она изменила диапазон допустимых значений (см.ниже). AUTOLOAD теперь поддерживать нет особого смысла, т.к. использование ключа "/safemode" выполняет такие же действия, как и перевод AUTOLOAD в 0.

Если SECURELOAD установлена в 1, AutoCAD запрашивает пользователя, надо ли загружать исполняемые файлы (если эти файлы не находятся в одном из доверенных каталогов). Отслеживаются следующие расширения:
  • arx, dbx, crx
  • lsp, fas, vlx, mnl
  • сборки .NET
  • макросы VBA (dvb), acad.rx, acVBA.arx, acad.dvb
  • JavaScript
  • dll
  • scr-файлы (сценарии), расположенные на сетевых ресурсах
AutoCAD 2014 неявно доверяет исполняемым файлам (dll, exe, arx, dbx и т.п.), подписанным цифровой подписью. Эти файлы при загрузке необязательно должны находиться в каталогах TRUSTEDPATHS.

acad.rx не является исполняемым файлом, это обычный текстовый файл, определяющий загрузку arx и / или dbx файлов. acad.rx - это еще одно место, которое просматривает AutoCAD для определения, какие файлы надо загружать (наряду с реестром, StartupSuite, автозагрузка и т.п.)

Название SECURELOAD
Режим Доступно для изменения.
Описание Определяет, должен ли AutoCAD загружать исполняемые файлы, находящиеся в путях поддержки (рабочий каталог приложения, каталог dwg-файла, пути поддержки, каталог установки приложения)
Тип данных Целое
Возможные значения 0 : загрузка без каких бы то ни было предупреждений. Полностью повторяет поведение старых (до 2012 включительно) версий AutoCAD
1 : без требования дополнительного подтверждения загружает файлы, находящиеся в TRUSTEDPATHS и / или TRUSTEDDOMAINS. Если системные переменные TRUSTEDPATHS и / или TRUSTEDDOMAINS не установлены, AutoCAD выдает соответствующее предупреждение перед загрузкой файла. Имеет значение для автоматической и ручной загрузки приложений.
2 : без требования дополнительного подтверждения загружает файлы, находящиеся в TRUSTEDPATHS и / или TRUSTEDDOMAINS. Если системные переменные TRUSTEDPATHS и / или TRUSTEDDOMAINS не установлены, не показывает никакого предупреждения.
Если загружаемый файл не определен как "доверенный", то в командной строке выдается сообщение об ошибке загрузки (соответствует выбору кнопки [Do not load] в диалоге подтверждения загрузки):
File load canceled: <Полное имя файла>
Значение по умолчанию 1
Хранится в Реестр, ветка текущего профиля (подробнее см.выше). Ключ SECURELOAD. Если значение в реестре не обнаружено, значит, системная переменная еще ни разу не изменялась.
Изменение и получение значения getvar / setvar
Командная строка AutoCAD


TRUSTEDPATHS

Системная переменная AUTOLOAD, появившаяся в AutoCAD 2013, теперь переименована в TRUSTEDPATHS. В качестве доверенных путей гарантированно выступают каталог-владелец файла acad.exe и каталог ApplicationPlugins (используется магазином приложений, или ExchangeApps) и все их подкаталоги

Название TRUSTEDPATHS
Режим Доступно для изменения.
Описание Определяет каталоги, в которых располагаются гарантированно "чистые" исполняемые файлы.
Тип данных Строка
Возможные значения Перечисление путей к каталогам. Пути разделяются символом ";" (точка с запятой)
Значение по умолчанию ""
Примечание: не требуется вносить следующие каталоги или любой из их потомков:
  • владелец файла acad.exe (путь установки AutoCAD)
  • %ProgramFiles%\Autodesk\ApplicationPlugins
  • %AppData%\Autodesk\ApplicationPlugins
Эти каталоги в любом случае считаются доверенными
Хранится в Реестр, ветка текущего профиля (подробнее см.выше). Ключ TRUSTEDPATHS. Если значение в реестре не обнаружено, значит, системная переменная еще ни разу не изменялась.
Изменение и получение значения getvar / setvar
Командная строка AutoCAD

Пользователь может загружать файлы без каких-либо дополнительных запросов, если файлы находятся в одном из "доверенных" каталогов, перечисленных в TRUSTEDPATHS. Указание полного пути к загружаемому файлу ситуацию не изменит. AutoCAD рекурсивно просматривает доверенные пути и все их подкаталоги, и на основании этого решает - является ли загружаемый файл "доверенным" или нет.

Расположение ExpressTools не требуется указывать в TRUSTEDPATHS. То же самое касается и каталогов расположения установленных приложений из ExchangeApps.


TRUSTEDDOMAINS

Это новая системная переменная, введена в AutoCAD 2014, определяет обработку автоматически загружаемых файлов JavaScript

Название TRUSTEDDOMAINS
Режим Доступно для изменения.
Описание Определяет доменные имена, из которых AutoCAD может безбоязненно загружать и исполнять Java-скрипты.
Тип данных Строка
Возможные значения Перечисление путей в каталогам. Пути разделяются символом ";" (точка с запятой)
Значение по умолчанию Примечание: домены перечислены списком, но хранятся они строкой
  • *.autodesk.com;
  • *.autodeskbutterfly.com;
  • *.autocadws.com;
  • *.google-analytics.com;
  • s3.amazonaws.com/com.autodesk.;
  • drawingfeed.visualtao.net;
  • *.virtualearth.net
Хранится в Реестр, ветка текущего профиля (подробнее см.выше). Ключ TRUSTEDDOMAINS. Если значение в реестре не обнаружено, значит, системная переменная еще ни разу не изменялась.
Изменение и получение значения getvar / setvar
Командная строка AutoCAD

Пользователь может определить несколько URL для серверов с JavaScript. Поддерживаются маскировочные символы (*, #, @ и т.п.)

Изменения в диалоге настроек (_.options)

В раздел "Файлы" окна настроек добавлена новая ветка - Trusted Locations (Доверенные местоположения). Она соответствует текущему значению системной переменной TRUSTEDPATHS.

Примечание: Trusted Domain Locations не внесена в окно настроек (считается, что системная переменная TRUSTEDDOMAINS будет использоваться только разработчиками).

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

Примечание: при попытке вручную назначить в качестве доверенного каталог, куда пользователь имеет право на запись, будет выдано соответствующее предупреждение. Если TRUSTEDPATHS назначается программно, то запрос не появляется.

Trusted Locations (Доверенные местоположения). Диалог параметров AutoCAD

Пользователь может назначить несколько каталогов в качестве "доверенных". Следует помнить, что доверенными автоматически считаются путь установки AutoCAD и все его подкаталоги, и пути приложений, загруженных из ExchangeApps.

При попытке указать в качестве доверенного каталога несуществующий путь, AutoCAD выдаст соответствующее предупреждение.

Примечание. Важно! При указании в качестве доверенного каталога все его подкаталоги автоматически не становятся доверенными. Для обработки всех подкаталогов достаточно указать в конце имени каталога символы "\..." (три точки).

Обработка сообщений о назначении доверенных каталогов

Если пользователь указывает в качестве доверенного каталога доступную для записи папку, то AutoCAD выводит соответствующее предупреждение:
Кнопка Описание
Continue Закрывает окно и возвращает управление окну параметров. Указанный каталог помещается в Trusted Locations (Доверенные местоположения). Эта кнопка установлена по умолчанию активной
Любой другой способ закрытия окна с сообщением Закрывает окно и возвращает управление окну параметров. Указанный пользователем каталог не вносится в Trusted Locations (Доверенные местоположения).

В окне параметров AutoCAD изменениям подверглась вкладка System (Система): появилась новая кнопка [Executable File Settings] (Параметры исполняемых файлов), где собственно и регулируются значения системных переменных SECURELOAD и ACADLSPASDOC:
Три верхние переключателя соответствуют значениям системной переменной SECURELOAD. Нижние два - ACADLSPASDOC.

Если установить SAFEMODE равным 1, то все эти настройки становятся недоступными.

Изменения в установке

CUIx и MNL файлы в версии 2012 и 2013 устанавливались в каталог %AppData%\Autodesk\AutoCAD 20XX - <Полное название языка>\RXX.X\<enu / rus>\Support\

Теперь MNL файлы при установке помещаются в каталог %ProgramFiles%\Autodesk\AutoCAD 2014\Support\<en-us / ru-ru>. CUIx после преобразования помещаются в %AppData%\Autodesk\AutoCAD 2014\R19.1\<enu / rus>\Support. Туда же копируются MNL-файлы.

Параметр вызова AutoCAD "/safemode"

Ключ "/nolisp", появившийся в AutoCAD 2013, переименован в "/safemode" и теперь обрабатывает не только lsp / fas / vlx, но и вообще все исполняемые файлы, которые можно загрузить в AutoCAD. Использование этого ключа запустит AutoCAD в минимально возможной функциональности и позволит изменить AUTOLOADPATH в параметрах AutoCAD'a. Если AutoCAD запущен с этим ключом, то никакое выполнение кода невозможно.

Примечание: некоторое количество исполняемого кода все равно приходится загружать внутрь AutoCAD для обеспечения его функционирования даже в таком "обрезанном" виде. Перечень таких приложений можно узнать, посмотрев значение скрытой нередактируемой системной переменной SAFEMODEAPPS.

SAFEMODE

Системная переменная LISPENABLED, появившаяся в AutoCAD 2013, переименована в SAFEMODE. Системная переменная предназначена только для чтения и может быть изменена только через ключи запуска AutoCAD.

Название SAFEMODE
Режим Доступно только для чтения
Описание Определяет, может ли загружаться исполняемый код (кроме служебного) при старте AutoCAD
Тип данных Целое
Возможные значения 0 : исполняемый код может быть загружен и запущен
1 : исполняемый код не выполняется
Значение по умолчанию 0
Хранится в Не сохраняется, действует только в пределах текущей сессии AutoCAD
Изменение и получение значения getvar
Командная строка AutoCAD
Ключ запуска "/safemode"


SAFEMODEAPPS

Только для чтения, определяет перечень доверенных приложений, загружаемых в AutoCAD несмотря ни на что

Название SAFEMODEAPPS
Режим Только для чтения
Описание Определяет перечень доверенных приложений, загружаемых в AutoCAD, игнорируя ключ "/safemode".
Тип данных Строка
Возможные значения Перечисление приложений. Имена разделяются символом ";" (точка с запятой)
Значение по умолчанию Не документировано
Хранится в Реестр, ветка текущего профиля (подробнее см.выше). Если значение в реестре не обнаружено, значит, системная переменная еще ни разу не изменялась.
Изменение и получение значения getvar
Командная строка AutoCAD


Новый диалог предупреждения о попытке загрузки недоверенного приложения

Вернемся к описанию системной переменной SECURELOAD: значение по умолчанию - 1. То есть, если AutoCAD пытается загрузить код, находящийся не в доверенных каталогах, будет выводиться окно предупреждения:
Если SECURELOAD равно 0 или 2, диалог не выводится (загружается или нет при этом код - подробнее описано выше).

Предположим, что SECURELOAD равна 1. В таком случае диалог будет появляться при попытке загрузки любого исполняемого кода, не распознанного как "доверенный". Неважно, как выполняется загрузка - вручную или программно.

Если выполняется загрузка сразу нескольких "недоверенных" файлов, то окно будет выводиться для каждого из них.

Если пользователь выберет [Do not load] (Не загружать), то AutoCAD не только не загрузит указанный файл, но и не будет выполнять его поиск по другим каталогам.

Если пользователь хотя бы раз во время одной сесии выберет для какого-то приложения [Load] (Загрузить), то больше диалог с запросом именно этого приложения появляться не будет.

Изменения в загрузке CUIx / MNL

acad.mnl (mnl - это фактически lisp-файл с измененным расширением). Вплоть до AutoCAD 2014 mnl-файлы загружались в AutoCAD сразу за соответствующим файлом меню (mnu / mns / cui / cuix). Например, acad.mnl загружался сразу после того, как был загружен acad.cuix. Множество вирусописателей использовали эту особенность, внося изменения в mnl-файлы.

Очевидно, что такой стиль загрузки приложений больше нельзя назвать приемлемым. AutoCAD 2014 будет загружать mnl файл только в том случае, если mnl файл находится в "доверенном" каталоге. Если mnl не лежит в "доверенном" каталоге, при SECURELOAD = 1 AutoCAD выдаст запрос на загрузку приложения (см.предыдущий раздел). Если SECURELOAD = 2, то диалог не выводится, но и mnl не загружается.

Изменения в мастере создания развертываний

Мастер создания сетевых развертываний был переработан с целью предоставления CAD-менеджерам возможности управлять настройками безопасности прямо в процессе развертывания AutoCAD. В мастер были добавлены новые настройки, аналогичные диалогу Executable Code Settings (для вызова этого диалога в AutoCAD вызовите _.options; закладка System / Система, кнопка Executable Code Settings / Параметры исполняемых файлов).

Новый раздел называется "Executable Code Settings" (Параметры исполняемых файлов).

В мастер также добавлены ветки Trusted Locations и Trusted Domain Locations.

Новые функции LISP

В AutoLISP/VisualLISP добавлена новая функция (findtrustedfile). Она полностью аналогична старой (findfile), но выполняет поиск только по "доверенным" каталогам (TRUSTEDPATHS).

Вертикальные решения на основе AutoCAD

Все, описанное в статье, работает и в вертикальных решениях.

AutoCAD OEM 2014

Почти все, описанное в статье, работает и в OEM. Не работает следующее:
  • существующее значение ACADLSPASDOC и соответствующие настройки в диалоге Параметры недоступны
  • мастер развертываний не менялся
OEM-продукты могут отключить или удалить описанные выше возможности, в том числе и доступ к соответствующим системным переменным и интерфейсу для их изменения.

AutoCAD для Mac

AutoCAD для Mac поддерживает описанные возможности практически целиком. Единственное "но": не был изменен графический интерфейс.

Новые системные переменные SECURELOAD, TRUSTEDPATHS, TRUSTEDDOMAINS и ключ "/safemode" - это единственный способ контролировать настройки безопасности в AutoCAD для Mac.

В AutoCAD для Mac не вносились изменения в диалог параметров, поэтому значения системным переменным придется задавать вручную.

AutoCAD LT 2014

Описанные возможности недоступны в AutoCAD LT. В AutoCAD LT нет подобных трудностей, связанных с безопасностью, т.к. AutoCAD LT не поддерживает пользовательское программирование.

В AutoCAD LT 2014 системная переменная SECURELOAD имеет жестко прошитое значение 1, и нет никаких настроек, могущих изменить значение этой системной переменной.

AutoCAD 2014 JavaScript API

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

Источник : http://adndevblog.typepad.com/autocad/2013/07/all-you-need-to-know-about-autocad-secureload-au.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=197

Опубликовано 03.09.2013
Отредактировано 26.08.2015 в 22:24:57