最近は、クラウドサービスやWebシステムの導入・利活用により、セキュリティ対策は欠かせないものになりました。今回はその対策検討の中で実施する脅威分析についての手法を紹介します。
通常、セキュリティ脅威分析は、攻撃者の目的を想定し、そのためにどのような被害をどのシステムに与えるかを検討したのちに行うものです。本来は最初の部分から説明すべきですが、多くの方から質問がある分析のところを最初にお話しようと思います。
セキュリティ脅威の分析手法はいくつかありますが、よく名前が出てくるものとしてマイクロソフト社が提案したSTRIDEという手法があります。今回はこの紹介をしていきます。
STRIDE
STRIDEは6つの脅威の頭文字を取ったものです。脅威としてはまだこれ以外にも想定されるものがあるとは思いますが、よくある脅威と検討する場合には有効です。では、順番に説明します。
Sは「Spoofing」の略で、なりすましといいます。IDとパスワードを何らかの手段で入手し、ユーザーになりすまして、システムに悪意ある行為を行う手段です。システム侵入の最初に行い、他の脅威を引き起こすもとになります。
Tは「Tampering」の略で、改ざんです。ファイルやデータはもちろん、アクセスログを改ざんすることで侵入した証拠を消すような行為も行います。
Rは「Repudiation」の略で、否認です。ユーザーの特定の動作の実施した記録をなくすことで、サービスから否認された状態を作り出します。購入したのにしてないことにするとか、送ったのに送っていない等が発生します。
Iは「Information disclosure」の略で直訳すると情報開示ですが、脅威としては、意図しない情報開示いわゆる情報漏えいのことを指します。通常はシステム内に侵入して行われるケースが多いですが、セキュリティ対策の甘さによって、システムの本来入り口でない部分から侵入されて行われる脅威にもなります。
Dは「Denial of service」の略で直訳はサービスの拒否となりますが、実際はサービスが利用できない状態にすることです。サービス妨害といってもいいでしょう。サービスに過大な負荷をかけることで、システムをダウンさせてしまうパターンが多いです。これに関してだけは、システムに侵入せずに外部からの攻撃によって行うことができるため、システム内部を強固にするだけでは対応できない脅威となります。
Eは「Elevation of privilege」は権限昇格と訳しますが、本来管理者権限を持っていないユーザーが権限を持つことで、システムやシステム環境(OS、ハードウェア)に直接ダメージを与えるような行為をすることです。システムのセキュリティ対策を単にプログラム内の問題として捉えてしまうと、このシステム環境側の権限からシステム全体を無効化されてしまうような状態になることを留意する必要があります。
上記の6つは、単に独立して行われるのではなく、組み合わせて行われることが多いですが、個々の脅威に対するリスクを分析し、そのリスクを回避・軽減等の対策を検討することで、複合的な脅威に対しても対応できるようになります。
その他の脅威
前述したように、セキュリティ脅威は上記だけではありません。情報漏えいではなく、情報破壊(データ、システム削除)や不正送信もあります。なりすましの前段に盗聴という脅威もあります。もちろん、ウイルスという脅威もあります。
さらに上記は人為的脅威のうちの意図的脅威にあたりますが、操作ミスや設定ミスという偶発的脅威もありますし、地震、台風、火災といった自然的脅威、停電、漏水といったインフラの脅威を含む環境的脅威もあります。
分析範囲を広げるといろいろな脅威がありますが、システム内のよくある脅威をまずは認識対応したいといったときにこのマイクロソフトのSTRIDEは有効だと思います。