麻生です。
ある日、自分が開発したアプリケーションをサーバーにインストールしたいと管理者に頼んだら、追加されるサービス、変更されるファイアウォールの設定、追加されるユーザーやグループ等の情報が必要だと言われた。「あ、Attack Surface Analyzer って使えるかも?」と閃くあなた・・・。
Attack Surface Analyzer って何?
マイクロソフトでは自社製品のセキュリティ開発ライフサイクルの規定により、出荷する全製品について必ず攻撃面の分析を行う必要があります。
攻撃面ってあまり聞かない単語だと思いますが、早い話、将来攻撃されるかも知れないモジュールやサービス等です。攻撃面の分析では、攻撃されるかもしれないモジュールや設定等を洗い出し、開発の段階でリスク分析や対応を行います。ただし、攻撃面の洗い出し等を一つ一つやる事を考えると、どこにそんな時間があるんだ!と叫びたくなることもあると思います。そこで、開発されたのが Attack Surface Analyzer です。
Attack Surface Analyzer ですが、本来ソフトウェア開発における、設計の分析・検証用に作られたツールとなります。つまり、開発したソフトウェアをシステム上で動かした場合、そのソフトウェアがシステムにもたらす攻撃面を、入っていない状態と比較することで検証します。具体的には、ソフトウェア (プログラムやモジュール) に設定された攻撃面となりうる ACL 設定、関連レジストリや登録された COM の攻撃面となりうる ACL 設定等を確認できます。また、ソフトウェアのインストールによって生じた、以下のようなシステム上の攻撃面についても併せて確認できます。
• Open ports• Named pipes• RPC endpoints• Null Sessions• Installed Services | • Services running default• Services running as SYSTEM• IIS web directories (including sample apps)• Users |
---|
以下の様なレポートが生成され、ソフトウェアがインストールされる前後を比較することが可能です。
え?でも私、開発者じゃなくて、管理者なんですが・・・。
私は実はシステム管理者出身のセキュリティ屋だったりします。Attack Suface Analyzer を初めて聞いた時は、開発者向けのツールかな?と思っていました。が、記憶をさかのぼって見ると管理者でも使用できる要素があるんじゃないかなと考えています。例えば、管理者時代によく、このアプリケーションインストールしたら何が変更されるの?とか、インストール前と後で何が変更されたかちゃんとログしといてね。とか、上司や監査系の人に言われてたのですが、Attack Surface Analyzer でアプリケーションのインストール前と後でスナップショットを取得して、比べれば、システム上で何が変更されたかすぐに分かったりします。
マイクロソフト社内では数年使用されてきたツールですが、今回はあえて、Beta 版として公開しています。Attack Surface Analyzer Beta を使用していただいたお客様が、今後このツールに求める機能等の情報をまずは集めて、それを反映し、Attack Surface Analyzer をより使えるツールにしていきたいと考えています。
マイクロソフト ダウンロードセンターから Attack Surface Analyzer Beta を入手できます。
また、Attack Surface Analyzer Beta への今後の期待や、追加して欲しい機能や、こんな風にも使えるんじゃない?があれば、こちらにアイディアを募集中です!