web-dev-qa-db-ja.com

フォントが悪意のあるものかどうかを確認するにはどうすればよいですか?

脆弱性を悪用するためにフォントが使用される場合があります{例: ThreatPostSecureList および F-Secure }。私の質問は、そのようなフォントを手にしたことがある場合、それが悪意のあるフォントであるとどうやって知るのですか?

8

フォントが危険かどうかは、次の方法で確認できます。

  • 仮想マシンにシステムをインストールします。
  • それをシャットダウンします。
  • 「外部」(つまり別のOS)から、VMの仮想ディスクにアクセスし、すべての単一ファイルのハッシュ値を計算します。
  • VMを再起動します。 VMでフォントを開きます。次に、VMを再度シャットダウンします。
  • 外部から、すべての単一ファイルのハッシュ値を再計算します。
  • ハッシュの2つのリストを比較して、何が変更されたかを確認します。

フォントに関連しないファイルが変更されている場合、そのフォントは間違いなく怪しげです。

maliciousフォントは別のものです。悪意は意図を意味します。ファイルには心がないので、意図はありません。 「悪意のあるフォント」とは、フォントファイルを読み取るソフトウェアのバグをトリガーするように作成されたフォントファイルであり、結果バグの影響は、最終的には、その方法でフォントファイルを作成した人にとって有益であり、マシンの所有者に有害です。フォントファイルメーカーがバグを認識しており、意図的にそれを行った場合、これは「悪意のある」ものです。それ以外の場合は、「単なるバグ」です。


いずれにしても、フォントファイルが「悪意のある」かどうかを検出することは、実行可能ファイルが「悪意のある」かどうかを検出することよりも簡単ではありません。これは、一般的には実行できないことを意味します。代わりに、ファイルsourceを使用します。信頼できることがわかっていないソースからのファイルには注意が必要です。

フォントは「単なるデータ」であるため、コードに悪用可能なバグがある一部のソフトウェアで開いた場合にのみ、悪影響が生じる可能性があります。たとえば、Windowsシステムにウイルスをインストールできる「悪意のあるフォント」を作成することは非常に困難ですが、Linuxシステムでは(フォントとして)正しく機能します(逆も同様です)。 LinuxデスクトップシステムはWindowsデスクトップシステムよりもはるかに少ないため、最初にLinuxでフォントファイルを開き、Linuxでフォントファイルが適切に見える場合にのみWindowsに切り替えると、「安全」(少なくともその逆より安全)であるはずです。

10
Tom Leek