ソフトウェア開発の企業はセキュリティの「シフトレフト」の考え方を取り入れれば、効率を上げながら攻撃のリスクを減らせる。シフトレフトとは何か。メリットや課題も含め解説する。
ソフトウェア開発のライフサイクルにおいて、セキュリティ設計の工程を前倒して実施し、安全性を確保した上で本格的な開発に入る手法を「シフトレフト」と呼ぶ。いち早くソフトウェアの脆弱(ぜいじゃく)性を発見して修正することにより、ソフトウェア開発の効率化や高速化が期待できる。
企業でITのニーズが高まり、開発スピードの向上が重要になる中、開発の効率化とセキュリティ強化の両立を図るシフトレフトを採用する動きが広がりつつある。本稿は、シフトレフトの課題を踏まえて、シフトレフトを取り入れた開発を成功に導くためのノウハウを紹介する。
従来のソフトウェア開発は、「要件定義」から「リリース」までの各ステップを順番にこなして開発を進める手法「ウォータフォール型開発」が一般的だった。ウォータフォール型開発では通常、テストを開発ライフサイクルの後半に実施する。それに対してシフトレフトの考え方は、テストをより早い段階で実施するのが特徴だ。これにより、ソースコードに潜む脆弱性を早期に把握し、修正時間の短縮を目指す。
近年、ソフトウェア開発者は継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインを利用した「アジャイル型開発」の手法を用いるようになった。アジャイル型開発はシフトレフトの考え方を取り入れている。アジャイル型開発は開発の単位をより小さくし、テストを繰り返して実施。テスト結果を迅速に反映させることによって開発の高速化を目指す。開発チームと運用チームが強調して開発を進める手法「DevOps」にもシフトレフトの考え方が浸透している。
セキュリティに関して言えば、シフトレフトの考え方を取り入れた開発の歴史はまだ浅く、成功例はそれほど豊富ではない。その背景にはどのような問題があるのか。
ソフトウェア開発者向けのさまざまなセキュリティツールが存在している。ただし特に大規模な開発プロジェクトでは、それらのセキュリティツールをくまなく使うことが難しく、利用が部分的になる傾向がある。
セキュリティツールはソフトウェアの実行時にセキュリティの問題を発見することを主なミッションとしている場合が一般的だ。そのため問題を発見したときにはソフトウェアが実際に運用されている可能性があり、問題修正に手間がかかることになる。
中編は、セキュリティのシフトレフトのさまざまな課題を考える。
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
トラフィック1300%増、生成AIがEコマースを変える
アドビは、2024年のホリデーシーズンのオンラインショッピングデータを公開した。
「ドメインリスト貸し」は何がマズい? サイトの評判の不正使用について解説
「サイトの評判の不正使用」について理解し、正しい対策が取れるにしましょう。
代理店にもAIにも「丸投げ」はダメ 成果報酬型マーケティングを成功させるポイントは?
「成果報酬型マーケティング」を実現する上でインターネット広告業界が直面する課題とは...