連載
» 2022年07月19日 05時00分 公開

セキュリティ事故を防ぎたいなら知っておくべき、「DevSecOps」における推奨事項GitHub直伝、「DevSecOps」初めの一歩(後)

ソフトウェアの開発スピードを迅速化させられるかどうかが重要になる一方、セキュリティの取り組みも欠かせません。そこで注目されているのが「DevSecOps」です。DevSecOpsを組織で推進するためには何から取り組めばよいのか紹介します。

[田中裕一,GitHub]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

開発者ファーストのアプローチがセキュリティ強化に役立つ

 安全なアプリケーションやシステムを開発できるかどうかは、開発中のコードレビュープロセスにおいて、開発者がどれだけ多くの脆弱(ぜいじゃく)性を修正できるかどうかに依存しています。これは現在のソフトウェア開発における課題の一つです。

 そこで最近目にするのが「DevSecOps」です。前回記事では、DevSecOpsという言葉が生まれた背景、DevSecOpsの意味を解説しました。

 後編となる今回は、DevSecOpsを進めていくに当たってどのような取り組みが重要なのかを紹介します。2022年7月時点でDevSecOpsの正式なガイドラインはありませんが、企業や組織がDevSecOpsに取り組んでいく際、以下のような取り組みが重要になります。

開発部門とセキュリティ部門がお互いの認識をあらためる

 開発部門とセキュリティ部門が互いのことを「自分たち」と「彼ら」のように分けて考える認識をあらため、両部門が同じチームとして日常的にコラボレーションを促進する体制に変えましょう。そのために実践できる簡単なアクションとして、開発の早い段階でセキュリティ部門にも設計レビューに参加してもらうことが挙げられます。

 セキュリティ部門のメンバーがレビューをする場合、コードの内容ではなく、脆弱性を生み出しそうな設計になっていないか、脆弱性がないかという観点でチェックすることが大切です。

可能な限り自動化する

 ソースコード内における脆弱性や、脆弱な依存関係の検出は、適切なツールを利用して自動化することを推奨します。その際のツールの選定は、開発とセキュリティ双方の観点から検討します。開発の観点からは「十分な精度で脆弱性を検知してくれるのか」「現状の開発ワークフローを必要以上に複雑なものにしないか」「解析にはどのくらいの時間がかかるのか」を重視します。セキュリティの観点からは「必要な脆弱性がきちんと検出できるか」「複数のプロジェクトを横断して、どのような指摘が検出されているか、一望できるか」「指摘は適切に優先順位付けされているか」を重視しましょう。

開発フローにツールを組み込む

 セキュリティ観点でのチェックは、コードレビュー時の観点の一つとして組み込むという限定的な方法もあれば、CI/CD(継続的インテグレーション/継続的デリバリー)のプロセスに統合したワークフローを構築する、より大掛かりな方法もあります。どちらの方法を採るにせよ、選定したツールを実際の開発フローに組み込みましょう。

 これらの取り組みを推進することで、開発部門とセキュリティ部門の信頼関係はさらに強固なものになります。この信頼関係は、いつどこで脆弱性を解決するかに関わるだけではなく、どの結果を優先すべきか、誰が効果的に対処できるかなど、体制作りにも役立ちます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。