日本電信電話株式会社(以下、NTT)と学校法人早稲田大学は、情報漏洩やサービス停止の原因となり得るインジェクション攻撃による被害を防ぐための技術を開発した。
インジェクション攻撃は、サーバなどへの攻撃手法のひとつで、サーバで利用しているデータベースなどに対して不正な入力情報を送信して、予期しない動作を引き起す。
この攻撃をもたらす欠陥は、インジェクション脆弱性と呼ばれ、プログラム中の文字列操作の誤り(以下、バグ)が主な原因であることが知られている。
これまでNTTと早稲田大学は共同で、プログラム中で文字列を扱う操作により発生し得る脆弱性や誤りを自動修正する技術の研究を行ってきたが、その対象は正規表現に限定されていた。
そこで今回、ソフトウェアのプログラム中の文字列関数を用いたバグを修正する技術を開発した。
今回の成果では、プログラム中の文字列関数を使った文字列操作の誤りを、ソフトウェア開発者が与える入出力例を基に修正する技術を実現し、正規表現を含む文字列操作にまで修正対象を広げることを可能とした。
これにより、専門知識を持たない開発者でもバグを開発段階で修正できるようになった。

また、AIを用いたプログラム作成においても、非熟練者が作成したプログラムに含まれる誤りに対処できるため、プログラムの安全性向上に寄与できると期待されている。
今後は、文字列操作に伴う脆弱性そのものを修正する技術の研究を進める予定だ。
なお、技術の詳細は、2024年10月30日に米国カリフォルニア州サクラメントで開催されるソフトウェア工学分野の最難関国際会議「IEEE/ACM ASE 2024」で発表する予定だ。
無料メルマガ会員に登録しませんか?
膨大な記事を効率よくチェック!

IoTに関する様々な情報を取材し、皆様にお届けいたします。