カスタマイズによるセキュリティへの影響

更新 : 2007 年 11 月

このトピックでは、Visual C++ 2008 Feature Pack における潜在的なセキュリティの脆弱性について説明します。

潜在的なセキュリティの脆弱性

Visual C++ 2008 Feature Pack では、ボタンやアイコンの外観など、アプリケーションのユーザー インターフェイスの外観をユーザーがカスタマイズできます。また、Visual C++ 2008 Feature Pack ではユーザー定義ツールもサポートされており、これによりユーザーはシェル コマンドを実行できます。カスタマイズされたアプリケーションの設定はレジストリ内のユーザーのプロファイルに保存されるため、セキュリティの脆弱性が発生します。レジストリにアクセスできれば、だれでもそれらの設定を編集し、アプリケーションの外観や動作を変更できます。たとえば、コンピュータの管理者は、別のユーザーのアプリケーションに任意のプログラムを実行させて (ネットワーク共有からでも)、そのユーザーになりすますことができます。

問題回避

レジストリの脆弱性への対応策として、3 つの方法を推奨します。格納するデータを暗号化するか、レジストリではなく、セキュリティで保護されたファイルにデータを保存することができます。このどちらを実行する場合も、CSettingsStore クラス からクラスを派生させ、そのメソッドをオーバーライドして暗号化を実装するか、レジストリの外部に保存します。

3 番目の対応策は、アプリケーションでのカスタマイズを無効にすることです。

参照

概念

Visual C++ 2008 用の MFC Feature Pack