AutoCAD API で作成したアドイン アプリ(別名、アドオン、あるいは、プラグイン)を使用するには、それらを AutoCAD にロードする必要があります。アドイン アプリをロードするには、AutoCAD アドオンの自動ロードの方法あれこれ のとおり、さまざまな方法があります。
アドイン アプリのロード機構は、もともと、AutoCAD を効果的に利用するための仕組みですが、この仕組みを悪用する例が報告されています。例えば、オートデスク ユーザ会のフォーラムに記載されている AutoCAD ウィルス などが知られています。
こうした悪意のあるプログラムは、インターネットや USB デバイス、電子メールによる図面ファイルのやり取りでお使いのコンピュータに入り込み、アドイン アプリのロード機構を使って自身を複製したり、特定のコマンドを無効化したり、置き換えて偽装してしまう可能性があります。
問題なのは、アドイン アプリのファイル処理が悪用されてしまう点です。そこで、AutoCAD には、不正なアドイン アプリのロードを抑止する仕組みが導入されています。
セキィリティの基本コンセプト - セキュア ロード
AutoCAD セキュリティの基本コンセプトは、「ユーザが指定したフォルダにあるスタマイズ ファイルしかロードしない」、というものです。このフォルダを 信頼できる場所 と呼びます。信頼できる場所は、後述する OPTIONS[オプション] コマンドで表示される [オプション] ダイアログの [ファイル] タブか、SECURITYOPTIONS[セキュリティオプション] コマンドで表示される [セキュリティ オプション] ダイアログで設定することが出来ます。
AutoCAD は、信頼できる場所以外からのカスタム ファイルのロードに対し、警告ダイアログを表示して注意を促します。次のダイアログが表示された場合には、ユーザが選択的にロードするか否かを決定する必要があります。ここでは、不用意なロードを選択しないことが期待されます。
AutoCAD のセキィリティ
SECURITYOPTIONS[セキュリティオプション] コマンドによって、セキィリティ制御に関するシステム変数を包括的に設定出来るようになっています。
表示される [セキュリティ オプション] ダイアログを適切に設定、運用することで、作者の不明なアドイン アプリケーションを不用意にロードしてしまうことを効果的に抑止出来るようになっています。このダイアログにある3つのセキュリティ レベルでは、それぞれ、アドイン アプリケーションの扱いが異なってきます。
高
信頼できる場所からのみロード
信頼できる場所意外の場所からのロード指示は無視
システム変数 SECURELOAD = 2
中
信頼できる場所からロード
信頼できる場所意外からのロード指示に対しては警告を発してユーザ選択によりロード
システム変数 SECURELOAD = 1
オフ
すべてのファイルをロード
警告なし
システム変数 SECURELOAD = 0
※ JavaScript API ファイル(.js)を Web サーバーから ロードする場合には、システム変数 TRUSTEDDIMAINS にURL を設定する必要があります。
信頼される場所
信頼できる場所には複数のパスを設定することが出来ます。また、信頼できる場所に設定されたパスは、システム変数 TRUSTEDPATHS に格納されます。信頼できる場所に指定するパスは、不用意なファイルの改変やコピー作成を抑止するために、読み込み専用のフォルダ属性を持たせることを推奨しています。
なお、AutoCAD には、明示的に信頼できる場所に指定しなくても、自動的に信頼される次のパスがあります。
・AutoCAD インストール フォルダと配下のサブ フォルダ
・バンドル パッケージを使った自動ロード メカニズムが利用する ApplicationPlugins フォルダ
上記いずれかの場所に保存されているカスタマイズ ファイルをロードする場合、AutoCAD はカスタマイズ ファイルを警告なしでロードします。
セキュリティ設定の注意
セキィリティ設定で推奨されるのは、言うまでもなく 高(システム変数 SECURELOAD = 2) または 中(システム変数 SECURELOAD = 1) の値となります。不用意なカスタマイズ ファイルのロードを許容してしまう オフ(システム変数 SECURELOAD = 0) の設定は推奨されません。
なお、これらのセキュリティ設定は、前述のとおり、システム変数 SECURELOAD と TRUSTEDPATHS を利用することになります。これとは別に、システム変数 LEGACYCODESEARCH の設定にも注意を払うべきです。LEGACYCODESEARCH の値が 1 に設定されていると、図面を開く際に、同じフォルダに acad.lsp または、acaddoc.lsp が存在する自動ロード用 AutoLISP ファイルがロードされて不正なコードが実行されてしまう可能性があります(含む、acad.fas、acad.vlx、acaddoc.fas、acaddoc.vls)。なお、図面を開く際に、毎回、acad.lsp(acad.fas、acad.vls) をロードするか否かの設定は、システム変数 ACADLSPASDOC で指定することが可能です。
ウィルスに感染してしまったら
AutoCAD に起動ショートカットを利用して、/safemode コマンド ライン スイッチを指定します。このスイッチで起動された AutoCAD は、すべての実行可能ファイルのロードおよび実行を禁止します。この間に、ウィルスチェッカーなどで不正なファイルを除去するとともに、SECURITYOPTIONS[セキュリティオプション] コマンドで、セキィリティ レベルを 高、または 中 に設定してください。 ウィルスや不正なファイルの駆除/除去が完了したら、/safemode コマンド ライン スイッチを削除します。
By Toshiaki Isezaki
コメント