セキュリティ分野のリーディングカンパニーとして、すべてのユーザーに最高レベルの保護を提供するために日々、努力しています。そのため、最先端の技術や、生物や物理など他の分野からヒントを得た斬新なアプローチを試しながら、マルウェアに対抗する新しい手段を常に模索しています。これらの実験の多くは、期待するような結果が出ないものです。時には、私たちの最も楽観的な予測さえ超える結果が得られることもあります。今回は、そのような実験のひとつについてお話します。年以上前ですが、その結果、現在アバストで使用している最強のマルウェア検出エンジンが誕生しました。執筆したブログ記事で、この名前を目にしたことがあるかもしれません。年当時、私たちはこの新しいシステムを初めてアバストの全ユーザーに導入するプロセスの最中でした。モニタリングや改善に取り組み続けてきました。いう名前を初めて見る方や、見たことはあってもどんなものか覚えていない方のために、簡単にご説明しましょう。未知のサンプルをリアルタイムで分類するための機械学習システムです。ユーザー全員に配信し、新しい脅威から保護します。作成される定義(「evogen」と呼ばれます)は、非常に小さく単純なため、簡単に評価できます。通常、複数の脅威に対する保護を提供します。汎用的に作成されているため、特定の脅威の複数の変種に対応できるのです。サンプルを識別してきました。以上のサンプルを識別している計算になります。これには、私たちがオフライン分析や脅威インテリジェンスに使用する数億ものサンプルは含まれていません。買収により、データセットに何千万もの新しいサンプルが加わりました。このシステムは完全に自動化されていて、人による操作はまったく必要ありません。入ってくるサンプルを休むことなく分析し、何年もかけて蓄積された膨大なサンプルと比較します。アップデート技術を利用してほぼ瞬時に全ユーザーに送信されるため、タイムリーに高度な保護を提供できるようになります。まれに、何らかのミスが発生して、送信済みの定義を無効化する必要が生じることがあります。その場合にも、システムがそこから学習するため、同じミスが繰り返されることはありません。割以上は現在も有効で、毎日使用されています。その中には、数百ではなく、数百万単位の固有のサンプルを識別した実績を持つものもいくつかあります。さまざまな変化を遂げてきました。最初は小さなプロトタイプで、作成する定義は短命なものばかりでしたが、今や高品質で安定したマルウェア検出エンジンへと進化しました。無効化する必要があったことがよくわかります。年の夏に、定義の作成数が急増しています。作成する定義の汎用性を高めようと考えていました。そのため、定義生成プログラムが使用できるランダム性の程度を増やすことにしました。ところが、この変更は過剰な結果をもたらすことが判明し、数か月後には、より決定論的なアプローチに戻すことになりました。興味深いことに、内部テストの段階では、ランダム性を増やしても問題は起きなかったにもかかわらず、外部から多種多様なサンプルが入ってくると、特殊なケースにおいて誤検出をする定義が多く作成されるようになりました。研究所内で実験しているだけでは、この問題を発見することは不可能でした。私たちは身をもってそれを学んだのです。年は、主にシステムの安定化に重点を置き、バグの修正や特殊なケースの対処に取り組みました。年には、定義生成アルゴリズムの大幅な改訂を検討し始めました。システムの機能をフルに活用できていませんでした。近傍)検索を単純に類似検索で行っていました。変種)を使用することが最適だという結論に至りました。予備的な検証を行った際の結果も、期待がもてるものでした。年以上かかかりました。年後半にようやく完成した新しいアルゴリズムは大成功でした。数が劇的に減りました。年には、アルゴリズムの微調整を行い、ベースとなるデータベースの性能を向上させました。性能はさらに上がりました。カバー率(各定義が識別できる固有サンプル量)という点から新旧の定義生成プログラムを比較したものです。カバー率が、新しいバージョンと比較して低いのがわかります。割合がはるかに少ないことも加味すると、検出されるサンプル量が大幅に増えたことになります。システムを超える最強の検出エンジンになりつつありました。進化は、これからも続きます。強力なのかをまとめてみましょう。回程度で、重大な誤検出は一度もありません)上記の特徴はいずれも、機能学習がいかに効果的かを示すものです。人間のチームよりも、はるかに簡単に規模を拡大できます。アナリストを数人雇うのは非常に難しいことです。言え、ひとつだけ欠点があります。早く配信する必要があるため、個々を完璧に調整するのは不可能です。作成することになります。その数が数百に及ぶケースもあります。次のグラフは、重複がどのように発生するかを示すものです。ファミリーの変種(サンプル)をいくつか表しています。A)を表す灰色の円に囲まれています。よって識別できるものもあれば、識別できないものもあります。同じことが繰り返されます。D)によって、すべての変種に対応できるという理想的な状況を示しています。数個だけ作成することが当然可能になります。すれば、より簡単に脅威をスキャンできます。定義の数が少なければ、その分スキャンの時間が短くなり、小さなアップデートで済みます。残念ながら、実際にそうすることは不可能です。サンプルがさらに出現し、最初の数個が拡散されるのを待つ必要があるからです。私たちとしては待っているわけにはいきません。幸いなことに、定義の重複は後に「集合被覆問題」というよく知られた問題を解くことで解決できました。この問題では、要素の集合(この場合は、マルウェアのサンプル)と、和集合が集合の全要素と等しい集合の族(evogen)が与えられています。部分集合の族(evogen)から、和集合が集合の全要素に等しくなる最小の部分集合を特定するのが目標です。完全な問題ですが、幸い私たちの目的は、完全な解答ではなく「十分な」解答を得ることです。億近くのサンプル)を投入したところ、次のような良い結果が得られました。重複していると認識されました。それらを削除しても問題はなく、大幅な最適化につながるということです。実際には、念のためもう少し慎重になる必要がありますが、保護機能に一切影響を与えることなく、定義の数を大幅に減らすことが可能であることが証明できました。定義数が少なければスキャンの時間が短くなり、小さなアップデートで済むため、ユーザーにとっても大きなメリットになります。グラフを見ると、重複している定義の数が最近増えている印象を受けるかもしれませんが、実態は少し違います。無効化されていて数字に含まれていないのです(赤い棒に含まれています)。重複する原因となっています。以前のアルゴリズムには、ランダムすぎる、または決定論的すぎるという理由で、この機能は含まれていませんでした。セキュリティを確保することです。私たちは、ユーザーを保護するための新しい方法を常に模索しています。開発には時間がかかりましたが、そのかいあって、ユーザーに提供する保護レベルの向上に貢献する技術となりました。変化し続けるマルウェアの脅威から自社とユーザーを守るために、アバストはこれからも新たな機会を探し求めていきます。回もダウンロードされていました。脅威の研究スペクターの脅威は続く:私たちは速度と引き換えにセキュリティを犠牲にしたのか?スペクターとメルトダウンが明らかになった今、パッチ適用が特に重要である理由とは。プライバシーに関する方針アバストをフォロ。