ドットネット自動更新
.net には単純で安全な自動更新ライブラリが欠けているように感じたので、何かを実装してここに掲載しました。誰もがライブラリの使用を検討する前に、私は更新プロセスがピア レビューを受けることに熱心でした。
手順は次のとおりです。
- クライアント ソフトウェアには、ポーリングする公開キーと URI が入力されます。
- クライアントはマニフェスト ファイルの URI をポーリングします。
- マニフェストがダウンロードされ、署名 (別の「.signature」内) を使用して、マニフェストが有効であることを確認します。
- 保留中の更新のリストがマニフェストから解析されます (ユーザーに表示するため)。
- インストーラー ファイルがダウンロードされ、対応する「.signature」ファイルで再度検証されます。(ダウンロードしたファイルは ACL で保護されます)
- インストーラーが実行されます。
軽減された脅威:
- マニフェスト署名は、悪意のあるダウンロード (「カーペット爆撃」)を防ぐ必要があります。
- インストーラーの署名は、MITM 攻撃による悪意のあるインストーラーの送信を防止する必要があります。
- ダウンロードしたインストーラーを ACL で保護すると、ローカル エスカレーション攻撃を防ぐことができます。
軽減されていない脅威:
- 攻撃者が常に「利用可能なアップデートがありません」と報告するMITM攻撃。(クライアントを脆弱なバージョンに保つ可能性があります)