このページの本文へ

コード内で行う文字列操作の誤り(バグ)を修正、開発コスト削減にも寄与

インジェクション攻撃撲滅へ NTTと早稲田大がプログラム修正技術を共同開発

2024年10月29日 07時00分更新

文● 福澤陽介/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 NTTと早稲田大学は、2024年10月28日、「インジェクション攻撃」の主要な原因である、プログラム中の文字列操作の誤り(バグ)を修正する技術を世界に先駆けて開発したことを発表した。

 インジェクション攻撃は、ソフトウェアの脆弱性を悪用するサイバー攻撃手法のひとつ。Webアプリケーションのデータベースなどに不正な入力データを送信することで、データベース内の個人情報を抜き取るなど、サーバー上で予期しない動作を引き起こす攻撃だ。

 こうした攻撃を防ぐために、通常はプログラム中で文字列関数を使い、予期しない(不正な)入力データのチェックや排除、無害化が行われる。ただし、文字列関数を利用して文字列操作を行うためには専門的な知識が要求され、その文字列操作に誤りがあれば脆弱性となってしまう。

 発表によると、今回開発された技術によって、専門知識を持たないソフトウェア開発者でも、文字列操作の誤りを修正できるようになるという。さらに、サービスの開発段階からその誤りを修正できるため、コスト削減と安全なサービス提供にもつながる。

 NTTと早稲田大学が共同開発したのは、プログラム中の文字列操作の誤りを、ソフトウェア開発者が与える入出力例を基に修正して、修正結果に誤りがないことを保証する技術だ。文字列関数に対する処理の流れは、以下の通りになる。

文字列関数に対する処理の例

 まず、文字列関数に期待する入出力の例を、入力と出力に加えて“入力のどの部分をどのように変換したいのか”を含めて表記する手法を用いて、適切な修正結果が出力できるようにする。

 さらに、“文字列関数の振る舞い”を理論モデルとして厳密に定義することで、修正対象の文字列関数に与える情報であるパラメータが、すべての入出力例を満たすための条件を導き出せるようにする。

 最後に、修正結果のパラメータとなり得る候補を、明らかに入出力例を満たさないものを除外しつつ、網羅的に探索する手法を用いて、現実的な時間内に修正処理を終えられるようにする。また、修正結果は、修正前のパラメータに対して最小限の変更に抑えられるため、ソフトウェア開発者の目視での確認を可能にする。

 今回の技術は、生成AIでプログラムを自動生成した場合でも、そのメリットを損なうことなくプログラムの安全性向上に寄与する。今後は、文字列操作に伴う脆弱性そのものを修正する技術の研究が進められる予定だ。

 NTTと早稲田大学では、10月30日に米国で開催されるソフトウェア工学分野の国際会議「IEEE/ACM ASE 2024」で本技術の詳細を発表する。

■関連サイト

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    ITトピック

    IT技術者の4割が「5年後のスキル陳腐化」に危機感/働くシニアは多いが「長く働きやすい」環境ではない日本/トークンコストの成果証明は難しい、ほか

  2. 2位

    ビジネス

    最大5つのプロジェクトをひとつの“ガントチャート”に Backlogに俯瞰が捗る新機能

  3. 3位

    データセンター

    AIデータセンターの「電力・冷却課題」打破へ シュナイダーが営業・設計・現場を直結する新組織立ち上げ

  4. 4位

    TECH

    二酸化炭素を資源に変える新触媒、新しい合金を電気で合成

  5. 5位

    デジタル

    ヤマハ、RTX1300の「ひかり電話アダプターモード」を解説する無料ウェビナーを10月15日に開催

  6. 6位

    クラウド

    NTTドコビジが「GPUaaS」提供へ 1分単位で利用でき、ハイブリッド構成も可能

  7. 7位

    sponsored

    スマホで「誤差数センチ」の高精度測量! レフィクシア「LRTK」が現場を変える

  8. 8位

    デジタル

    クリーニング屋が人手不足を“人手以外で”解決 一度は手放したkintoneを復活させ、AIで販管費を半減するまで

  9. 9位

    サーバー・ストレージ

    「身代金を払えば復元できる」は過去の幻想――約束を守らない攻撃者と変容するランサムエコシステム

  10. 10位

    ソフトウェア・仮想化

    Microsoft IQとは? AIエージェントが必要とする理由は? マイクロソフトの担当幹部が解説

集計期間:
2026年09月25日~2026年10月01日
  • 角川アスキー総合研究所