「脱COBOL」が示す生成AIによるレガシープログラミング言語からの移行:プログラミング基礎解説(2/3 ページ)
製造業の基幹システムのプログラミングにも広く用いられてきたCOBOLからの移行を模索する「脱COBOL」の動きが活発になっている。このCOBOLに代表されるレガシープログラミング言語からの移行において力を発揮するのが、生成AI技術を活用した「ぺアプログラミングツール」や「Copilot」と呼ばれる支援ツールだろう。
今後5年間で作成されるアプリケーションの数は5億以上
開発者の81%は、期限を守るためだけに脆弱性が含まれたままのソフトウェアを出荷したことがあると認めています(Immersive LabsとOsterman Researchの調査結果)。人間の本性とビジネス上のプレッシャーが一致すると、善意はほぼ太刀打ちできないことの証左といえるでしょう。
アプリケーションセキュリティのワークフローをセキュリティチームから開発者に移行させる「シフトレフト」の取り組みは、早期に脆弱性を見つけ、ソフトウェアを迅速に提供することを目指すものであり、リリース後の改修費用を大幅に削減できます。しかしながら、実際には「シフトレフト」は能力よりもむしろ責任の転嫁となってしまっています。「開発者ファースト」をうたうものであっても、ほとんどのAppSec(アプリケーションセキュリティ)ツールは導入と利用にある程度のセキュリティの専門知識が必要というのが現実です。
今後5年間で、5億以上のアプリケーションが作成されると予測されています。これは、過去40年間に開発者が作成したアプリケーションの総数を上回る数です。このような巨大な成長とともにセキュリティ上の重要な問題に対処することなく、「シフトレフト」の考え方を強要し続ければ、セキュリティ対策は難しくなる一方です。アラートの精度の向上、対処の迅速化、摩擦の低減は、これらのアプリケーションを安全に維持するための鍵となるでしょう。
筆者が所属するGitHubでCSO(最高セキュリティ責任者)兼エンジニアリング担当SVPを務めるマイク・ハンリー(Mike Hanley)は「ほとんどのソフトウェア開発者は、セキュリティの専門家としてトレーニングを受けていません。しかし、AI(人工知能)を使えば、開発者がアイデアをソースコードとして記述していく段階で、セキュリティへの考慮を開発者に直接もたらすことが可能となり、「シフトレフト」の従来の定義を根本的に変え、脆弱性があるコードが記述されることを未然に防止できるようになるでしょう」と提言しています。
ソフトウェア開発における最大の「シフトレフト」となり得るAI
COBOLや同様に時代遅れと言わざるを得ないレガシープログラミング言語をいまだに使用している企業は、開発者にAIを利用できるようにする必要があります。
AIは、ソフトウェア開発における最大の「シフトレフト」となり得るものです。AIを効果的に使用することで、脆弱なコードが書かれることを初期段階で防ぐことができ、セキュリティ対策を根本的に変えることができます。ただし、AIが生成したコードを採用する前にテストをすることを忘れてはいけません。開発者が、よりセキュアなコードをリアルタイムで書けるようにAIで支援することで、真の「シフトレフト」が実現できるようになります。
これは革命的なことです。従来、「シフトレフト」とは、アイデアをコード化した後、本番環境にデプロイする前にセキュリティ上の観点からのフィードバックを得ることを意味していました。しかし、AIを使えば、セキュリティは後付けではなく、真に開発プロセスに組み込まれます。開発者がアイデアをコード化する、まさにその場で、アシスタント役となるAIによる支援で「シフトレフト」を体現できるようになります。
しかし、AIで開発者を置き換えられないのと同じように、AIでセキュリティチームを置き換えるわけではありません。例えば、われわれが運転操作を行うことなく目的地にまで到着できるレベル5の完全自動運転技術は実現できていないわけで、自動車を運転する際にはハンドルから手を離さないようにしなくてはなりません。プログラミングも同じで、既存のセキュリティコントロールを放棄することなく取り組む必要があります。
Copyright © ITmedia, Inc. All Rights Reserved.