Skip to main content
QUICK REVIEW

[論文レビュー] Towards security defect prediction with AI

Carson D. Sestili, William Snavely|arXiv (Cornell University)|Aug 29, 2018
Industrial Vision Systems and Defect Detection被引用数 34
ひとこと要約

この論文では、非自明な制御フローとバッファオーバーフロー欠陥の行単位ラベルを備えた構文的に有効なCコードから構成される合成データセットs-bAbIを紹介する。このデータセット上で、メモリネットワークAIモデルと静的解析ツールの性能を評価した結果、AIモデルは静的解析ツールと同等の性能を達成したが、それを達成するには膨大な量のトレーニングデータを必要とし、セキュリティ欠陊の予測を改善するためには、より良いコード表現と算術を考慮したディープラーニングアーキテクチャの開発が不可欠であることが示された。

ABSTRACT

In this study, we investigate the limits of the current state of the art AI system for detecting buffer overflows and compare it with current static analysis tools. To do so, we developed a code generator, s-bAbI, capable of producing an arbitrarily large number of code samples of controlled complexity. We found that the static analysis engines we examined have good precision, but poor recall on this dataset, except for a sound static analyzer that has good precision and recall. We found that the state of the art AI system, a memory network modeled after Choi et al. [1], can achieve similar performance to the static analysis engines, but requires an exhaustive amount of training data in order to do so. Our work points towards future approaches that may solve these problems; namely, using representations of code that can capture appropriate scope information and using deep learning methods that are able to perform arithmetic operations.

研究の動機と目的

  • 最新のAIシステムがソースコードにおけるバッファオーバーフローを検出する能力の限界を調査すること。
  • 非自明な制御フローとラベル付きセキュリティ欠陊を備えた大規模で構文的に有効なCプログラムを生成できる合成コードジェネレータ(s-bAbI)を開発すること。
  • この新しいデータセット上で、AIモデルと静的解析ツールの精度と再現率の観点から性能を比較すること。
  • 現在のAIおよび静的解析アプローチにおけるセキュリティ欠陊予測の主な欠陥を特定すること。
  • コード表現およびモデルアーキテクチャにおける改善の必要性を明らかにすることで、今後の研究を導くこと。

提案手法

  • 著者らは、条件分岐やループを含む、制御された複雑さを持つ構文的に有効なCプログラムを生成できるs-bAbIというコードジェネレータを構築した。
  • データセットには、安全なおよび不正なバッファ書き込みの行単位ラベルが含まれており、細粒度な欠陊検出評価が可能である。
  • Choiら[1]の研究にインspiredされたメモリネットワークモデルを、s-bAbIデータセット上でトレーニングし、バッファ書き込み操作を安全または不正なものに分類するようにした。
  • AIモデルの性能を、標準的な指標(精度と再現率)を用いて、複数の静的解析ツールと比較した。
  • モデルの性能に与える制御フローと算術的推論の影響を分離するために、最小限で制御されたコード複雑さを用いた。
  • AIシステムが妥当な性能に到達するためのデータ要件を分析することで、モデルの一般化能力を評価した。

実験結果

リサーチクエスチョン

  • RQ1最新のAIモデル、具体的にはメモリネットワークを用いたモデルは、非自明な制御フローを有する合成Cコードにおけるバッファオーバーフローを検出できるか?
  • RQ2s-bAbIデータセット上で、AIモデルの性能は、既存の静的解析ツールと比べて精度と再現率の観点でどのように異なるか?
  • RQ3AIモデルが静的解析ツールと同等の性能に到達するためには、最小限でどの程度のトレーニングデータが必要か?
  • RQ4AIモデルは制御フローおよび算術式の変化に対して一般化できるか、それともトレーニング例の記憶に依存しているのか?
  • RQ5AIモデルがコードにおけるスコープおよび算術的推論を効果的に行うためには、どのようなアーキテクチャ的改善が必要か?

主な発見

  • 評価された静的解析ツールは、s-bAbIデータセットにおいて高い精度を示したが、再現率は低く、唯一の整合的(sound)なアナライザーを除いて、高精度かつ高再現率を達成したツールは存在しなかった。
  • 最新のメモリネットワークAIモデルは、静的解析ツールと同等の性能を達成したが、その達成には膨大な量のトレーニングデータを要した。
  • AIモデルの性能は、バッファオーバーフロー検出の一般化可能なパターンを学習しているのではなく、トレーニング例の記憶に依存している可能性があると示唆された。
  • 研究結果は、現在のAIモデルがコードにおけるスコープおよび算術的推論をうまく行えないこと、これが堅牢なセキュリティ欠陊検出に不可欠であることを示している。
  • 今後のAIモデルは、ASTパス符号化のようなより良いコード表現を組み込み、算術演算をサポートする仕組みを備えることで、一般化性能を向上させる必要があると示唆された。
  • s-bAbIデータセットは、現在のAIおよび静的解析アプローチの限界を効果的に露呈し、今後の研究のための最小限のベンチマークを確立した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。