カスタム アクションのセキュリティ保護に関するガイドライン

カスタム アクションを使用する Windows インストーラー パッケージを作成する際に、以下のガイドラインを遵守することで、インストール中にセキュリティで保護された環境を維持することができます。

  • カスタム アクションによって書き込まれた追加のファイルをセキュリティで保護します。
  • カスタム アクションによって読み取られたすべてのデータのバッファー長と有効性を確認します。 これには、カスタム アクションにデータを提供する可能性があるプロパティ、特にユーザーが提供するパブリック プロパティを使用するものが含まれます。
  • インストール パッケージの実行を意図しているすべてのプラットフォームで、システムによって信頼されていない外部 DLL に依存しないでください。
  • "昇格された" 特権または権限借用を使用するカスタム アクションを使用するかどうかを慎重に検討してください。 "インストール完了後に URL を開く"、"インストール完了後にソフトウェアを起動する"、"インストール完了後に ReadMe を起動する" などのカスタム アクションが機能するためには、通常、昇格された特権は必要ありません。 カスタム アクションを "昇格された" 特権で実行する必要がある場合は、カスタム アクション コードがバッファー オーバーランや不注意による安全でないコードの読み込みから保護されていることを確認してください。 インストールの実行フェーズ中に、インストーラーは "昇格された" 特権を持つプロセスに情報を渡し、スクリプトを実行します。 実行フェーズ中に実行されるカスタム アクションは、"昇格された" 特権で実行できます。
  • UI シーケンス中にユーザーから提供されたすべての情報を収集します。 パブリック プロパティを使用して設定できない情報をユーザーに求めないでください。
  • スクリプトのカスタム アクションでプロパティが展開される場合は、スクリプト インジェクションの可能性に対してカスタム アクションがセキュリティで保護されるように注意してください。 スクリプトはクリア テキストでログに記録される場合があります。

カスタム アクションのセキュリティ」も参照してください。