検索
特集/連載

「シフトレフト」とは? ソフトウェア開発“セキュリティ改革”の切り札セキュリティにも「シフトレフト」を【前編】

ソフトウェア開発の企業はセキュリティの「シフトレフト」の考え方を取り入れれば、効率を上げながら攻撃のリスクを減らせる。シフトレフトとは何か。メリットや課題も含め解説する。

Share
Tweet
LINE
Hatena

関連キーワード

DevOps | サイバー攻撃 | セキュリティ


 ソフトウェア開発のライフサイクルにおいて、セキュリティ設計の工程を前倒して実施し、安全性を確保した上で本格的な開発に入る手法を「シフトレフト」と呼ぶ。いち早くソフトウェアの脆弱(ぜいじゃく)性を発見して修正することにより、ソフトウェア開発の効率化や高速化が期待できる。

 企業でITのニーズが高まり、開発スピードの向上が重要になる中、開発の効率化とセキュリティ強化の両立を図るシフトレフトを採用する動きが広がりつつある。本稿は、シフトレフトの課題を踏まえて、シフトレフトを取り入れた開発を成功に導くためのノウハウを紹介する。

「シフトレフト」は新しくない なぜ今、セキュリティにも広がるのか?

 従来のソフトウェア開発は、「要件定義」から「リリース」までの各ステップを順番にこなして開発を進める手法「ウォータフォール型開発」が一般的だった。ウォータフォール型開発では通常、テストを開発ライフサイクルの後半に実施する。それに対してシフトレフトの考え方は、テストをより早い段階で実施するのが特徴だ。これにより、ソースコードに潜む脆弱性を早期に把握し、修正時間の短縮を目指す。

 近年、ソフトウェア開発者は継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインを利用した「アジャイル型開発」の手法を用いるようになった。アジャイル型開発はシフトレフトの考え方を取り入れている。アジャイル型開発は開発の単位をより小さくし、テストを繰り返して実施。テスト結果を迅速に反映させることによって開発の高速化を目指す。開発チームと運用チームが強調して開発を進める手法「DevOps」にもシフトレフトの考え方が浸透している。

 セキュリティに関して言えば、シフトレフトの考え方を取り入れた開発の歴史はまだ浅く、成功例はそれほど豊富ではない。その背景にはどのような問題があるのか。

 ソフトウェア開発者向けのさまざまなセキュリティツールが存在している。ただし特に大規模な開発プロジェクトでは、それらのセキュリティツールをくまなく使うことが難しく、利用が部分的になる傾向がある。

 セキュリティツールはソフトウェアの実行時にセキュリティの問題を発見することを主なミッションとしている場合が一般的だ。そのため問題を発見したときにはソフトウェアが実際に運用されている可能性があり、問題修正に手間がかかることになる。


 中編は、セキュリティのシフトレフトのさまざまな課題を考える。

TechTarget発 世界のインサイト&ベストプラクティス

米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る