概要
プログラム中に含まれる脆弱性を自動的に検知・修正する技術です。形式検証と呼ばれる理論的なアプローチに基づいて修正を実施するため、修正後のプログラムに脆弱性が存在しないことを数学的に保証可能です。本技術により、効率化が進むソフトウェア開発における安全性担保に貢献します。
背景・従来課題
プログラム中の脆弱性を漏れなく検知するためには網羅的な脆弱性診断が必要であり、検知した脆弱性の修正には専門的な知識が必要です。
生成AI等を活用したソフトウェア開発の効率化が求められていますが、プログラム中に含まれる脆弱性の検知・修正の自動化は現状困難です。
本技術のアドバンテージ
- 正規表現の脆弱性(ReDoS(Regular Expression Denial of Service)脆弱性)の検知・修正の自動化に向けて、「正規表現エンジンの振る舞い」、「ReDoS脆弱性」および「ReDoS脆弱性を含まないことを保証する条件」を論理モデル化
- 脆弱性の有無を確認したい正規表現および処理条件(正例・負例)の入力で、ReDoS脆弱性のない正規表現を出力可能
- 専門的な知識によらず脆弱性の検知・修正が可能
利用シーン
- ソフトウェア開発工程におけるプログラムのテスト・修正工程の効率化・自動化
- セキュリティに関する専門知識のないプログラマのセキュアコーディング支援
解説図表
用語解説
正規表現(Regular Expression)
文字列のパターンを表現する記法。ウェブ上のフォームにおける入力文字列の形式チェックなど、様々なサービスで利用されている。
担当部署
社会情報研究所 社会情報理論プロジェクト