2017年8月31日

誤検知:サイバーセキュリティ企業が誤検知率を下げるべき理由とKaspersky Labの取り組み

テクノロジー

サイバーセキュリティ製品の開発に携わる企業の中には、サイバー脅威の検知率向上を目指すあまり、誤検知(英語記事)という項目を不当に無視しているところがあります。実際、顧客の業務をまひさせかねない深刻なインシデントが発生するまで見て見ぬふりをする(または、疑問の余地が残る方法(英語記事)で解決しようとする)開発者もあり、極めて厄介な問題です。残念ながら、このようなことは実際にあります。そして、そのときになって初めて、高水準の保護とはサイバー脅威を阻止するだけでなく、誤検知率を低く抑えることでもあると気づくのですが、あとの祭りです。

誤検知率を最小限に抑えるのは単純な話のように思えますが、実は多額の投資や技術的な成熟、そしてサイバーセキュリティ製品開発者のリソースを必要とする、複雑な事情や思わぬ障害が数多く絡む問題です。

誤検知の主な原因は次の2つです。

  1. 製品の開発者に起因する、ソフトウェアのエラー、ハードウェアのエラー、および人的エラー
  2. 検査対象となる正規(「クリーン」な)ソフトウェアの多様性

2つめの理由には説明が必要でしょう。

ご存じのとおり、プログラムを記述する人は、世界中に数多くいます。こういった人々は、能力も違えば(学生から専門家まで)、使っているプラットフォームもさまざまで、準拠している標準も異なります。それぞれ独自のスタイルを持っていますが、時としてプログラミングしたコードが悪意あるコードに似てしまうことがあります。こうした場合には、保護テクノロジー、特にさまざまな手法(機械学習など)を使った高度なバイナリ分析をベースとするテクノロジーが発動します。

この特性を考慮せず、かつ、誤検知の発生を最小限に抑えるための特別なテクノロジーを実装しないとなると、「第一に、害になることはしない」の原則を冒すことになりかねません。これは(特に大企業のお客様にとっては)、サイバー攻撃による損害に匹敵するほどの破壊的な結果につながります。

Kaspersky Labは20年以上にわたり、開発およびテストのプロセスの構築に取り組むと同時に、誤検知率を最小化するテクノロジーを生み出すことにも取り組んできました。当社は誤検知のテストにおいて、業界最高の成績を収めてきました(AV-ComparativesAV-Test.orgSE Labsが実施したテストの結果(いずれも英語)をご覧ください)。また、当社は製品の内部仕様について詳しく説明することを厭いません。こういった情報があることにより、個人や企業のお客様がサイバーセキュリティ製品を選択する際に、より合理的な判断を下すことができるようになると、私は確信しています。それだけでなく、サイバーセキュリティの開発者は、世界のベストプラクティスの水準に適合するようプロセスを改善、改良することができるようになるでしょう。

誤検知率を最小限に抑えるため、当社では品質管理システムを次の3段階に分けています。

  1. 設計段階での品質管理
  2. 検知手法をリリースする段階での品質管理
  3. 検知手法をリリースした後の品質管理

この品質管理システムは、さまざまな予防的手段の力を借りて継続的に改善されています。

それでは、品質管理の各段階を詳しく見ていきましょう。

設計段階での品質管理

ソフトウェア開発における当社の基本原則は、「テクノロジー、製品、プロセスのそれぞれは、誤検知のリスクと誤検知がもたらす不具合を最小限に抑えるメカニズムを持たなければならない」というものです。設計段階のミスは最も高くつきます。そのミスを徹底的に修正するには、アルゴリズム全体を書き直さなければならない可能性があるためです。当社が長年の経験をもとに誤検知率を減らすことのできる独自のベストプラクティスを生み出した理由は、ここにあります。

たとえば、機械学習をベースとしたサイバー脅威検知テクノロジーを開発または改良するにあたっては、さまざまなフォーマットで記述された膨大な数のクリーンファイルのコレクションを使用して検知テクノロジーに学習させます。学習を支えるのは、当社のクリーンなファイルのナレッジベース(ホワイトリスト)です。ホワイトリストに含まれるオブジェクトはすでに20億個を超え、各所の協力を得て継続的に更新されています。

また、各テクノロジーのトレーニング用コレクションやテスト用コレクションは、最新バージョンのクリーンファイルで定期的に更新されています。さらに、カスペルスキー製品には、重要なシステムファイルの誤検知を最小限に抑える機能も組み込まれています。これに加え、検知のたびにKaspersky Security Network(KSN)を介してホワイトリストデータベースと証明書レピュテーションサービスへ照会し、検知されたファイルがクリーンなファイルではないかの確認を行っています。

しかし、テクノロジーと製品の他に、人的要因もあります。

サイバーセキュリティアナリスト、エキスパートシステムの開発者、またはデータアナリストが、どこかの段階でミスを犯すことも考えられます。したがって、自動システムを追加し、多岐にわたるチェックを実施する必要があります。

検知手法をリリースする段階での品質管理

サイバー脅威の新たな検知手法は、利用者へ配信される前に、いくつかのテスト段階を通過します。

最大の防御壁として機能するのは誤検知テスト用のインフラシステムで、次に述べる2つの「コレクション」と連携しています。

1つめのコレクションは、重要なファイルのセットです。このセットは、一般的なOS(さまざまな言語のさまざまなプラットフォーム向けにリリースされているもの)、これらOSの更新プログラム、オフィス用アプリケーション、ドライバー、およびカスペルスキー製品から抽出したファイルで構成されています。このファイルセットは定期的にアップデートされます。

2つめのコレクションを構成するのは動的に編成されるファイルのセットで、よく使われるファイルなどが含まれます。コレクションのサイズは、スキャン対象ファイルの量(結果としてサーバーの台数)、スキャンの実行時間(検知手法を製品の利用者に配信するまでの時間)、誤検知があった場合に影響を受けそうなコンピューターの台数との間でバランスを取って決定されます。

さしあたり現状では、両コレクションのファイル数は1億2,000万個(約50 TBのデータ)を超えています。1時間ごとにリリースされる定義データベース更新のたびにファイルがスキャンされますから、1日に1.2 PBを超えるデータを対象に誤検知をチェックしている計算です。

10年以上前、Kaspersky Labはサイバーセキュリティの分野で、ふるまい分析や機械学習などの将来有望な基盤技術を活用した非シグネチャベースの検知手法を初めて実装した企業の1つでした。これらの検知手法は、特に高度なサイバー脅威の対処に関して、有効性が証明されています。しかし、誤検知に関しては特に綿密なテストが必要です。

たとえば、ふるまい検知は、動作中に悪意あるふるまいの特徴を示した、悪意あるアプリケーションを無害化することができます。クリーンなファイルの動作を誤って検知するのを防ぐために、当社ではさまざまなユーザーシナリオをシミュレーションする「試験場」を作成しました。

この「試験場」は、各種OSや広く普及しているソフトウェアをさまざまに組み合わせた環境を提供します。非シグネチャベースの検知手法を新たにリリースする前には、標準的なシナリオと特殊なシナリオを用いて、この「試験場」で動的テストが実施されます。

また、サイバーセキュリティ製品を開発するにあたっては、Webスキャナーに関しても、誤検知がないかどうかの確認を怠ってはなりません。誤ってWebサイトをブロックしてしまうとお客様の業務を妨げる可能性があり、このようなことはあってはなりません。

このようなインシデントの発生を最小限に抑えるため、10,000個の人気Webサイトから最新のコンテンツを毎日ダウンロードしてスキャンを行い、誤検知がないかテストする自動システムを開発しました。最も正確な結果を得るため、一般的なブラウザーの最も普及しているバージョンを使用し、地理的に異なる場所にあるプロキシを使用することでロケーションに依存するコンテンツを除外しています。

検知手法をリリースした後の品質管理

製品利用者へと配信された後の検知手法は、動作に異常がないかどうか、自動システムによって日夜を問わず監視されています。

ポイントは、誤検知を引き起こす検知の動きと本物の悪意あるファイルを検知する動きはしばしば異なる、という点にあります。当社の自動システムは異常を監視し、不審なものが見つかれば、検知されたファイルをさらに詳しくチェックするようアナリストに要請します。誤検知の疑いが強い場合には、KSNを介して検知手法をオフにした上でただちにアナリストへ通知します。これに加え、サイバーセキュリティアナリストのチームがシアトル、北京、モスクワの3か所でシフトを組み、新たなインシデントをすばやく解決できるよう24時間態勢で状況を見守っています。これが、HuMachineインテリジェンスの仕組みです。

自動システムは、異常の検知に加え、KSN経由で利用者から受け取った診断データに基づいてパフォーマンスデータ、モジュールの動作エラー、潜在する問題を監視します。このため、潜在的な問題を早い段階で検知し、利用者が問題の影響に気づく前に解消することができます。

それにもかかわらずインシデントが発生し、検知手法を無効にしてもクローズできない場合には、事態を正常化し、問題を迅速かつ効果的に解決するための緊急措置がとられます。そうした場合は、追加テストが不要な安定したリリースまで定義データベースを戻すことになりますが、正直なところ、事態がここまで悪化したことはなく、実際にこの手段に訴えたことはありません。これまでこの手段を使ったのは、トレーニング演習のときだけです。

トレーニング演習といえば…

予防は治療に勝る

あらゆることを予見できるわけではありません。また、起こり得る事態を把握済みであるとしても、実際に対策がどの程度役に立つのか知っておきたいものです。モデリングという選択肢があるのですから、インシデントが現実に発生するまで待つ必要はありません。

当社は定期的に社内でトレーニング演習を行い、社員の「戦闘即応力」と、誤検知防止対策の効果を確認しています。

トレーニング演習では、さまざまな緊急事態を模した本格的なシナリオに重点を置き、システムやエキスパートがプランどおりの動きをするかどうか確認します。技術部門やサービス部門の一部も、揃ってトレーニング演習に参加します。このような演習は週末に予定され、綿密に練られたシナリオに基づいて実施されます。

トレーニング後には、各部門のパフォーマンスを分析し、ドキュメントに改良を加え、システムやプロセスの変更を行います。

トレーニングの過程で、それまで見逃されていた新たなリスクが発見されることもあります。このようなリスクは、テクノロジー、プロセス、製品の各分野にある潜在的な問題をブレインストーミングすることで、より体系的に発見できます。テクノロジー、プロセス、製品の開発は絶え間なく続いており、結局のところ、どこかを変更すれば新しいリスクが生じるのです。

最終的に、トレーニング演習中に明らかになったインシデント、リスク、問題の根本原因を取り除く作業に組織全体で取り組みます。

言うまでもないことですが、エキスパートチームは、品質管理に関わるシステムをすべて複製し、日夜を問わずメンテナンスしています。いずれかのシステムに不具合が発生した場合には、ただちに不具合に対処すると同時に複製システムへと処理を移行します。

まとめ

誤検知を完全に回避することはできませんが、誤検知率を大幅に抑えて影響を最小限に留めることは可能です。これには多額の投資、技術的な成熟、サイバーセキュリティ製品開発者のリソースが必要ですが、このような取り組みがあってこそ、個人や企業のお客様にとっての円滑なユーザーエクスペリエンスが実現します。こうした取り組みは必要不可欠であり、また、信頼に足る開発者の業務範囲でもあります。

信頼性の確保は私たちの使命です。当社では1つの保護技術に頼るのではなく、多層型のセキュリティアプローチを採用しています。誤検知防止システムも同様で、多層から成り、何度でも複製されます。お客様のインフラを高水準で保護するには、これ以外の方法はありません。

同時に、当社はサイバー脅威に対する保護レベルの高さと、誤検知のレベルの低さとの間に最適なバランスを見つけ、維持しています。2016年、ドイツの独立系テスト機関、AV-Test.orgによるテストは、このことを裏付けています。Kaspersky Endpoint Securityは、Best Protection 2016(英語サイト)、Best Usability 2016(英語サイト)をはじめとする8つの賞を同時に受賞しました。

最後に強調しておきますが、高い品質とは、一度達成するだけでよい結果ではなく、常に監視と改善を必要とするプロセスです。とりわけ、ミスの対価がお客様のビジネスプロセスの中断を意味する場合は。