未知の脆弱性(Potential  Zero Day)診断機能について

イスラエルを本社とするセキュリティ企業Vdoo社の自動セキュリティ診断サービスVisionが2021年7月18日アップデートされました。このアップデートにより潜在的なZeroDay攻撃を検知する”Potential Zero Day“の機能が追加されております。

この機能により1st party製(自社開発)のアプリケーションに対しても、シンボリック実行やファジングなどを使った静的解析によりコード上の脆弱性を検知することができます。

まず実際に使用してみましょう。

ファームウェアのアップロード

最初にVisionのポータルへログインし、検査したいファームウェアを管理しているArtifactを作成します。その後、そのファームウェアファイルをブラウザにドラッグ&ドロップでアップロードします。

 

 

スキャン結果の確認

170MバイトのLinux用ファームウェアファイルで25分程でスキャンが終了します。スキャン結果のレポートを確認するとBOM(Bill Of Materials=ソフトウェア部品表)やCVE(脆弱性)、Exposures(設定上の不備)、マルウェア検査結果等の情報が確認できます。

 

未知の脆弱性診断を行うバイナリを指定

こちらでC言語から作成した20MBほどのELF形式のアプリケーションプログラムとpythonスクリプトを指定して、未知の脆弱性診断のスキャンを開始すると25分程で解析が完了します。

診断結果

結果を確認すると脆弱性及び問題点がリストアップされます。特定の問題点、例えば”Use After Free ”の問題点を選択して、問題の概要と修正方法を確認します。また”Code”を選択し、逆コンパイルしたC言語ソースコードが表示されるのでこの情報を元に実際のソースコードを修正します。

 

検知可能な脆弱性

検知可能な脆弱性の例としては以下の通りとなります。

  • バッファオーバフロー
  • コマンドインジェクション
  • 不正メモリアクセス
  • パストラバーサル
  • 解放済みメモリ再使用

まとめ

今回の弊社アプリケーションでの未知の脆弱性診断では、残念ながら脆弱性(Code Zero-Days)は発見されませんでしたが、問題点(Code Weaknesses)は700を超えておりました。この問題点すべて確認することは非常に多大な作業になりますが、VisionではCWE(CVEのカテゴリ)毎にフィルターできる為、社内的に問題視しているCWEの問題点を優先的に確認する等として、効率化を図ることができます。

対応OS

2021年7月現在対応しているOSは以下の通りとなります。

Linux, Andorid, VxWorks, GHS, FreeRTOS, QNX (詳細はお問い合わせください)