マルウェア開発者は、セキュリティプログラムにより捕らえられるのを避けるために新しい手法を定期的に導入します。これらの手法の一部は、標準的なアンチマルウェア防御を簡単にすり抜けることができます。

実際、サイバーリーズンは、Adobe PDF Reader、MS Word、Chromeのような一般的なプログラムを装った悪意あるファイル実行を数千件も観測しています。

ユーザーに馴染み深いアイコンを利用することは、そのファイルが正規のファイルであり開いても安全であるとユーザーに思い込ませることを意図しています。

未熟な偽装テクニックは、単に一般的なアイコンを使用するだけであり、アイコンの改変は行いませんでした。しかし現在では、多くのベンダーが、自社のより一般的なプログラムの利用を監視しており、自社のアイコンを使用する見慣れないプログラムにはフラグを立てるようになっています。

この監視を避けるために、攻撃者は、使用される一般的なアイコンを少しだけ変更しています。ペイロードを含んでいるファイルは本物のプログラムのアイコンとほぼ同じに見えますが、異なるハッシュへと変換されます。

異なるハッシュを使用することで、マルウェアは、標準的なアンチウイルスプログラムが使用する単純なブラックリスト/ホワイトリスト規則による検知を回避できます。

オリジナルのアイコンは、多くの異なる方法で改変されます。最も一般的な方法としては、単一ピクセル値の変更、ランダムノイズの導入、わずかな色の変更、角度の変更、要素のサイズ変更が挙げられます。下記に、改変されたPDFアイコンの例を5つ示します。左端にあるのがオリジナルのアイコンです。

脅威の種類が異なると、利用するアイデンティティも異なる

下記の円グラフに示すように、脅威の種類が異なると、それが装うプログラムも異なる傾向にあることが分かります。ここでは、悪意あるファイルを、ランサムウェア、マルウェア、迷惑なハッキングツールという3つのカテゴリーに分類しています。

各カテゴリーは、それぞれ異なるレベルのリスクをもたらします。次に示す円グラフは、さまざまな種類のアプリケーションアイコンを装った悪意あるファイルが、どのような脅威カテゴリーに分類されたかを表しています。

■Google Chrome

■PDF

■一般的なインストーラーアイコン

■MS Word

■Adobe Flash

■Microsoft Windowsの一般的なユーザーアイコン(アヒル、雪の結晶、自動車、犬を含む)

■一般的なフォルダアイコン

興味深いことに、複数の種類の悪意あるファイルがPDFおよびChromeを隠れ蓑として利用している一方で、ランサムウェアはWindowsの図(プログラムアイコンですらないもの)を装おうとしていることが分かります。

ほとんどの場合、アイコンは攻撃ベクトルと、ユーザーが信頼しておりクリックする可能性が最も高いアイコンは何であるかに基づいて選択されます。全体的に見て、アイコンは、マルウェア作成者がユーザーを騙してファイルを実行させるために利用する重要な要素です。

別のファイルエンティティへの偽装は、当該ファイルがフラッシュドライブのような別の方式により転送されたとしても、敵対者が、ユーザーにマルウェアをアクティベートさせるチャンスを最大化するために実施される場合があります。

たとえば、マルウェアをフォルダとして隠すことは良く行われており、極めて巧妙なやり方です。ユーザーは通常、未知のフォルダをオープンしても無害であると考えています。

なぜなら、ほとんどのユーザーは表示設定をデフォルトのまま使用しており、ファイル名は確認するがファイル拡張子は確認しないためです。しかし、この場合、未知のフォルダとして表示されているものをその中身を調べるためにオープンすると、悲惨な結果がもたらされる可能性があります。

偽装アイコン攻撃を検知するために機械学習をいかに利用するか

検知プロセスは2つの段階に分けられます。第1段階では、一般的なプログラムを装うアイコンを検出し、第2段階でそのファイルが悪意あるものであるかどうかを判定します。各ステージでは、それぞれ異なる機械学習分類アルゴリズムを「意思決定者」として利用します。

第1段階において、問題となるアイコンの「視覚的特性」が抽出され、一般的なアプリケーションのアイコンと比較されます。コンピュータの視覚アルゴリズムは多次元的数値指標を生成し、この指標が分類プロセスを通じて機械学習アルゴリズムにより利用されます。

アイコンを特定のアプリケーションに関連付けるタスクでは、複数の機械学習分類アルゴリズム(KNN、SVM、K-means、ランダムフォレストなど)が検討されました。

また、ベンチマーク処理では 「精度」と「再現率」という2つの重要な数値指標が使用されました。これらの数値指標の定義を下記に示します。

これらの2つの数値指標には負の相関があり、我々の目標は再現率を最大化すると同時に、高い精度を保つことにより誤判定を回避することです。

精度=「似ている」と分類された、実際に「似ている」アイコンの数/「似ている」と分類されたアイコンの数

再現率=「似ている」と分類された、実際に「似ている」アイコンの数/テストデータセット上で実際に「似ていた」アイコンの数

ラボにより生成されたデータセットと現実のデータセットを使用して、複数のテストが実行されました。最終的に、非線形的な性質の中規模データセットにおける高いパフォーマンス能力と、決定に関する優れた説明能力を持つことが理由で、KNN(k近傍法)が選択されました。

次のスキームは、分類子(classifier)の概念を2次元平面に投影することにより視覚的に表したものです。各ノードはユニークなアイコン図を表しており、各エッジはノード間の接続とその近傍を表しています。

上記の3つのクラスタは、3つの異なるアプリケーション(PDF、Chrome、一般的なインストーラー)のアイコンを表しています。ユークリッド距離を使用するk近傍法では、近傍との距離が事前定義されたしきい値よりも小さいことを前提として、新しい標本ラベルが多数決で選択されます。

新しい標本は、その座標値に従ってn次元空間に配置されます(独立した赤い円形で示されている)。ここで、この赤い標本に対する3個の最近傍が、多数決を行うために十分近接しているとします。

この場合、新しい標本に最も近接しているものとして、PDFが1票、Chromeが2票となるため、新しい標本はChromeとしてラベリングされます。

アイコンが「偽装」としてフラグを立てられると、第2段階でより多くの情報が収集され分類子へと供給された後、そのファイルが悪意あるものであるかどうかが予測されます。このような入れ子型の分類アーキテクチャを使用することで、高いパフォーマンスと、簡単で説明可能な予測プロセスを実現できます。

行動検知を利用して偽装ファイルにフラグを立てる

フィッシング攻撃の危険性についてはすでに良く知られています。信頼できるプログラムを装う悪意あるファイルの可能性を追加すると、フィッシングはさらに大きな脅威となります。よく知られたアプリケーションのアイコンをわずかに改変することで、フィッシング攻撃を簡単に成功させることが可能となります。

しかし、高度なコンピュータによる視覚アルゴリズムを機械学習と組み合わせることで、見た目には正規であるファイルが実は悪意あるものであるかどうかを、同アイコンの振る舞いに基づいて判定し、攻撃を阻止できます。

現在および将来の脅威に対処するには、行動に基づく高度なマルウェア検知が必要になります。標準的なアンチウイルスプログラムは、一部のケースにおいてはなおも有益ではあるものの、このようなタイプの脅威を検知することはできません。

アンチウイルスソフトウェアは、ファイルのシグネチャとハッシュをチェックし、それらをブラックリスト/ホワイトリストと比較します。ファイルが未知である場合、同ファイルはブロックされます。

最近では、攻撃者は通常、マルウェアの新しいサンプルを生成することで、同ファイルのハッシュが新規となりブラックリストに載らないようにしています(ファイルの一部であるアイコンをわずかに改変するだけで、これを達成できます)。これは、ハッカーがアンチウイルスプログラムを簡単にすり抜けられることを意味します。

一方、行動検知方式では、シグネチャやハッシュのような使い慣れた外部インジケーターは使用されません。その代わりに、アルゴリズムを使用して、未知のファイルが悪意あるものであるかどうかが判定されます。

ホワイトペーパー「すべての組織が狙われている」

企業、組織がどんなにセキュリティを強固にしてもハッカーが悪用できる脆弱性は必ず存在します。侵入されることが避けられないことを受け入れ、新たな対策を立てる必要があります。本書で、なぜ避けられないのか、どのように対処するのかをご覧ください。
https://www.cybereason.co.jp/product-documents/white-paper/606/

ホワイトペーパー「すべての組織が狙われている」