Local Behavior解析とは
Murphy氏
絶対安全なサイトだからノーチェックで通す/危険なサイトなので遮断する、という両極端の判断が下せるのであれば対処は簡単だと言えるのだが、現実には多くのサイトがその中間の信頼度であり、状況に応じた個別の判断が必要となる。そこで、こうした状況に対処するための技術として、Secure Computingのセキュリティ製品ではLocal Behavior解析が併用され、ローカルポリシーの適用が行なわれる。
具体的には、DLLやJavaといった特定のプログラミング言語に対応したコード解析技術であり、送られてきたコードを実行前に解析し、そのコードが何を意図しているかを解析する「Intent Analysis」を行なう。
たとえば、あるWebサイトからダウンロードされ、実行されたコードが、ローカルのPCにインストールされているMicrosoft Officeのバージョンをチェックするコードだったとする。これを実行してしまうと、次にそのバージョンのOfficeで発見されている脆弱性を突く攻撃が行なわれるであろうことは容易に想像できる。
こうした脅威に対し、従来型のシグネチャベースの技術で対応しようとしても難しい。たとえば、コードがちょっと改変されてIEのバージョンチェックを行なう変種が出た場合には、また新しいシグネチャが必要となってしまう、といった問題が生じる。最終的に同じ結果を得ることを意図していても、それを実現するためのアルゴリズムやコードの記述方法にはさまざまなバリエーションが考えられるため、シグネチャベースでやろうとしても変種の発生に追いつけない可能性が高い。
Intent Analysisは、個々のコードの表面的な具体的な特徴ではなく、そのコードが何をしようとしているのかに基づいて実行の可否を判断するため、変種の出現にも対応できる。もちろんコードの意図を見抜くのは簡単ではなく、このノウハウを持っている点がSecure Computingの強みとなっているわけだ。
Web 2.0への対応という観点から重要なのは、スクリプトのうちの「有害な部分だけを取り除く」ことだ。スクリプト全体を拒否してしまうと、Webサイト上で提供されているサービスが全く利用できなくなってしまうなど、ユーザーに不便を知る結果になってしまうためだ。
Web 2.0時代に求められる発想の転換
Murphy氏
Web 1.0時代に有効だったネガティブ・セキュリティ・モデルでは、悪意があると判定された攻撃者からのアクセス以外は基本的に安全であると想定していた。この結果、「何か問題が発生したらそれに対処する」というネガティブなアプローチとなる。
これに対し、Web 2.0時代のセキュリティでは、Webサイト側が信頼度を「実績として積み上げる」必要が生じる。実績に基づいて証明しない限り、ユーザーの信頼は得られない。逆にいえば、Webサイトにアクセスするユーザーはプロアクティブ(予防的)なセキュリティ対策を実施し、信頼性が証明されていないWebサイトに関しては、それが著名な大企業が運営するサイトかどうかにかかわらず、基本的に疑わしいものと想定する必要がある。
Secure ComputingのTrustedSourceは、こうした新たな発想に基づくセキュリティ対策を支援するための機能として有効なものとなっている。