製品情報セキュリティ
20.May.2020
製品開発の迅速さとセキュリティを兼行するには?DevSecOpsと自動化の相補関係について
過去の苦痛な事例から、DevSecOpsの重要性がわかります。2019年、Facebookは再び情報漏洩にさらされました。ダークウェブのオンラインデータベースでは、2億6700万人を超えるFacebookユーザーの個人情報が漏洩しました。ユーザーの名前、Facebook ID、電話番号が含まれています。スパムまたはフィッシングメールのサイバー攻撃の対象となる可能性があり、それによりFacebookの信用が失われ、株価が大幅に下落しました[1]。
多くの企業にとって、クラウドとDevOpsはビジネス開発を推進する主要なテクノロジーです。企業のIT、セキュリティと開発チームは、クラウドとDevOpsの環境では、保護すべきの機密情報(秘密鍵など)がたくさんあることを知っています。ほとんどの人はセキュリティ意識を持っていますが、それとも多くの重要なデータ漏洩インシデントが起きました。
インターネットが急速に発展するビッグデータの時代、多くの企業が「アジャイル」な考え方と行動を導入しており、同時にさまざまなリスクに直面する必要があり、常に検証されています。ますます多くの消費者と規制当局が、これによって引き起こされるデータ漏洩の影響は大きく、許容できないことを気ついています。実は多くのデータ漏洩は事前に防ぐことができます。
DevSecOpsの概念の推進と自動化システムの支援により、これらの問題とリスクは効果的に削減され、製造の安全性と品質が保証されます。DevSecOpsのインポートはそれほど簡単ではありません。この記事では、DevSecOpsを構築する際にピボタルな注意事項と、より効率的に達成する方法について説明します。
多くの企業にとって、クラウドとDevOpsはビジネス開発を推進する主要なテクノロジーです。企業のIT、セキュリティと開発チームは、クラウドとDevOpsの環境では、保護すべきの機密情報(秘密鍵など)がたくさんあることを知っています。ほとんどの人はセキュリティ意識を持っていますが、それとも多くの重要なデータ漏洩インシデントが起きました。
インターネットが急速に発展するビッグデータの時代、多くの企業が「アジャイル」な考え方と行動を導入しており、同時にさまざまなリスクに直面する必要があり、常に検証されています。ますます多くの消費者と規制当局が、これによって引き起こされるデータ漏洩の影響は大きく、許容できないことを気ついています。実は多くのデータ漏洩は事前に防ぐことができます。
DevSecOpsの概念の推進と自動化システムの支援により、これらの問題とリスクは効果的に削減され、製造の安全性と品質が保証されます。DevSecOpsのインポートはそれほど簡単ではありません。この記事では、DevSecOpsを構築する際にピボタルな注意事項と、より効率的に達成する方法について説明します。
DevSecOpsの精神は文化にあります
DevSecOpsはDevelopment、SecurityとOperationsの略です。DevSecOpsのコンセプトは、すべてのソリューション、開発テスト、ITとメンテナンス、及びほかの部門の共同作業者が安全開発の意気込みを馴染み、DevOpsのアジャイルプラクティスと意味、つまりDevSecOpsを正しく理解できるということです。そのコンセプトは「セキュリティはチーム全体のすべてのメンバーの責任であり、ソフトウェアライフサイクル全体で実行する必要がある」すなわちDevSecOpsは安全開発文化の実現です。したがって、最も大事なことは、DevSecOpsのセキュリティを各チームの利益と結び、最終的には企業文化全体に融和する必要があります[2]。
DevSecOpsは安全開発文化の実現
チームワークで情報セキュリティを実践
DevSecOpsの主なポイントは、開発チーム、メンテナンスチーム、及びセキュリティチームが互いに協力して、相互の立場から問題を確認し、過去に反対または牽制していた問題を解決できるようにすることです。メンテナンスチームは開発やセキュリティについてあまり知らないし、開発チームはメンテナンスやセキュリティが得意ではありません。DevSecOpsはこの障壁を破り、「セキュリティを実行」権限と責任を分割し、セキュリティチームがコミュニケーションを取り、調整を行い、セキュリティを積極的に実践し、脆弱性に立ち向かい、製品セキュリティをみんなで完成させようとします[2]。
ソフトウェア開発中にDevSecOpsを導入、自動化システムを効果的に
IBMの調査統計により、リリース後にセキュリティ問題を修復するコストは、設計段階に修復するコストの4〜5倍であり、メンテナンス段階にセキュリティ問題の修復コストは、それに上回って、100倍を超える可能性もあります[3]。 したがって、DevSecOpsは、ソフトウェア開発の初期段階に導入する必要があります。開発とメンテナンスチーム向けのセキュリティ意識とセキュリティ開発仕様の教育トレーニング、セキュリティ要件(非機能要件)のインポート、及び初期コード監査作業が含まれます。DevSecOpsの導入は、仕事が増えたように見えますが、ソフトウェアライフサイクル全体の開発とメンテナンスコストから考えると、事前に問題を見つけることで、コストを大幅に削減できます。
さらに、DevSecOpsのセキュリティ作業は、セキュリティ要件が多い、テストと評価に時間がかかりすぎるため、セキュリティ監視の実装が難しいなど、開発のボトルネックと間違われることがよくあります[3]。実際、これは人材への投資に消極的で、自動化の方法がわからないため、DevSecOpsを既存のプロセスや文化に統合できず、失敗してしまいます。 DevSecOpsは、システムが最短の期間に持つべき価値とセキュリティ属性を実現できるようにする反復法をしています[4]。他の情報セキュリティの方法論より早く、柔軟性があります。自動化を通し、DevSecOpsの実装をより簡単に実現できるようになり、より実用的な価値とメリットにします。
さらに、DevSecOpsのセキュリティ作業は、セキュリティ要件が多い、テストと評価に時間がかかりすぎるため、セキュリティ監視の実装が難しいなど、開発のボトルネックと間違われることがよくあります[3]。実際、これは人材への投資に消極的で、自動化の方法がわからないため、DevSecOpsを既存のプロセスや文化に統合できず、失敗してしまいます。 DevSecOpsは、システムが最短の期間に持つべき価値とセキュリティ属性を実現できるようにする反復法をしています[4]。他の情報セキュリティの方法論より早く、柔軟性があります。自動化を通し、DevSecOpsの実装をより簡単に実現できるようになり、より実用的な価値とメリットにします。
情報セキュリティの問題を正確に把握し、直ちに深刻な脆弱性を取り除く
多数の場合に製品開発と販売までの時間を短縮するために、製品のソフトウェアは完全に自己開発ではなく、オープンソース(Open Source)または関数ライブラリから多数の事前コンパイルを使っています。たとえば、GitHub、SourceForge、Docker Hubなど、自分で書いたコードの割合は大幅に削減され[5]、それに応じてセキュリティリスクの焦点も変化しています。 ほとんどのセキュリティリスクは、これらの関数ライブラリ、サードパーティコンポーネントの既知の弱点と誤設定を特定し、問題が解決されたから本稼働環境に置くことができます。セキュリティリスクから見ると、オープンソースの既知の脆弱性を特定することは、自分で書いたコードの未知の脆弱性を発見するよりもはるかに簡単です。最も簡単で迅速の方法は、オープンソースまたはサードパーティのコンポーネントを脆弱性データベースと比較します。
上記の設計と開発段階で話していた自動化セキュリティ脆弱性分析以外に、サードパーティのセキュリティテストツールも重要な役割を果たします。製品がリリースまたは販売する前に、セキュリティの確認と脆弱性の検出を効率よく行うことが、開発チームにとって重要な仕事です。
上記の設計と開発段階で話していた自動化セキュリティ脆弱性分析以外に、サードパーティのセキュリティテストツールも重要な役割を果たします。製品がリリースまたは販売する前に、セキュリティの確認と脆弱性の検出を効率よく行うことが、開発チームにとって重要な仕事です。
安全文化はDevSecOpsプロセス全体で実行する必要がある
製品のリリース後のメンテナンス段階では、最も重要なことは継続的にセキュリティ脅威を監視、解決することです。外部サーバーが攻撃されたり、自社製品の脆弱性が通知されていないのに公開されたり、最新のオープンソースの弱点が発見されるかどうかなど、そして最後に、最新のネット攻撃の動向に注意を払い、一刻も早く対応できる保護対策を尋ねます。
過去の経験に基づき、この段階では通常、チームは特に製品の安全性の問題についてコミュニケーションと協力を欠いており、メンテナンスチームは開発チームとの効果的な分業を確立できません。責任の焦点が異なるため、製品の安全性の問題が発生すると、最終的に開発チームが最前線に立ち向かい、メンテナンスチームは支援することができませんでした。現時点での最善の解決策は、標準手順(SOP)を確立し、各チームの責任と分業、及びインシデント発生時の対応プロセスを明確に示すことです。セキュリティチームは各チームの間に連携、または相談の役割を担うことができます[6] [7]。
関連チームがセキュリティインシデントへの対応、調整などの経験を蓄積し、または関連する安全情報を開発チームにフィードバックすることで、全体的なプロセスと対策を改善できたり、ある程度のネット攻撃の予測または防止をできます。これはDevSecOpsの重要な精神です。
過去の経験に基づき、この段階では通常、チームは特に製品の安全性の問題についてコミュニケーションと協力を欠いており、メンテナンスチームは開発チームとの効果的な分業を確立できません。責任の焦点が異なるため、製品の安全性の問題が発生すると、最終的に開発チームが最前線に立ち向かい、メンテナンスチームは支援することができませんでした。現時点での最善の解決策は、標準手順(SOP)を確立し、各チームの責任と分業、及びインシデント発生時の対応プロセスを明確に示すことです。セキュリティチームは各チームの間に連携、または相談の役割を担うことができます[6] [7]。
関連チームがセキュリティインシデントへの対応、調整などの経験を蓄積し、または関連する安全情報を開発チームにフィードバックすることで、全体的なプロセスと対策を改善できたり、ある程度のネット攻撃の予測または防止をできます。これはDevSecOpsの重要な精神です。
DevSecOpsを活かし、対応時間を短縮する
DevSecOpsプロセスの確立により、開発、セキュリティ、メンテナンスチーム間の連絡を効果的に統合して、インシデントの対応時間を短縮できます。これは、最も分かりやすいメリットです。DigiCert社の調査レポートによると、98%の企業はDevSecOpsを採用してる、または採用しようとしています。DevSecOpsを導入していない企業は、セキュリティテストで発見された脆弱性の修正するために174日間を必要としています。DevSecOpsを導入済みの会社は92日間だけです。ほぼ2倍の時間になります。さらに、DevSecOpsを導入した企業の場合、発見されたすべての脆弱性の53%は10日以内に修復できます。導入してない企業は10日以内に修復できる脆弱性は5%だけです[9]。DevSecOpsの導入により、弱点やインシデントの対応を早くなり、つまり、関連コストを削減できるという利点があります。
HERCULES SecFlowの自動化機能でアジャイル開発をできる、セキュリティも見捨てない
HERCULES SecFlowはOnward Securityが開発した、DevSecOpsプロセスを自動化する補助機能を提供します。これにより、ユーザーはセキュリティ連絡とメカニズムを迅速に設立できます。各チームに割り当てられたタスクを通じて、対応する責任を持つ対応するチームに割り当てることができます。そして、報告機能により、すべてのチームが製品安全開発のコンセプトにすばやく適応できます。SecFlowのポリシーモジュールを通じて、セキュリティチームは関連する担当者(開発チームやメンテナンスチームなど)にセキュリティ関連情報やコードに関するセキュリティ開発の注意事項を通知できます。また最新の情報を提供することで、各チームのセキュリティ意識の強化を図ることができます。
SecFlowは完備な脆弱性管理機能があります。サードパーティのセキュリティテストレポートのインポートと脆弱性の追跡を提供するだけでなく、製品とコンポーネントとセキュリティ情報の間の対応を確立するにも役立ちます。強力なデータコレクタを通じて、大量の国際的な脆弱性データとリアルタイムのセキュリティインシデントが集約されてセキュリティ情報に分析され、機械学習を利用して製品と自動的に関連します。自社製品に関連する脆弱性、セキュリティニュース、セキュリティインシデントにすばやく対応します。関連チームは製品のセキュリティリスクを常に把握し、既知の深刻な脆弱性を直ちに削除または修復できます。 さらに、自動で発信するメールとアプリを通じて、セキュリティ管理担当者は脆弱性情報と対応の進捗状況を正確に把握し、各インシデントが修正または改善されたことを確認できます。
SecFlowは完備な脆弱性管理機能があります。サードパーティのセキュリティテストレポートのインポートと脆弱性の追跡を提供するだけでなく、製品とコンポーネントとセキュリティ情報の間の対応を確立するにも役立ちます。強力なデータコレクタを通じて、大量の国際的な脆弱性データとリアルタイムのセキュリティインシデントが集約されてセキュリティ情報に分析され、機械学習を利用して製品と自動的に関連します。自社製品に関連する脆弱性、セキュリティニュース、セキュリティインシデントにすばやく対応します。関連チームは製品のセキュリティリスクを常に把握し、既知の深刻な脆弱性を直ちに削除または修復できます。 さらに、自動で発信するメールとアプリを通じて、セキュリティ管理担当者は脆弱性情報と対応の進捗状況を正確に把握し、各インシデントが修正または改善されたことを確認できます。
SecFlowとDevSecOpsの組み合わせ
SecFlowは、DevSecOpsの自動化において重要な役割を果たし、チーム情報交換、セキュリティ情報の照合、製品の脆弱性とオープンソース管理などの時間と労力を要する作業に、手動で介入する必要をなくします。 アルゴリズムを通し、対処する必要があるセキュリティの脆弱性やインシデントを自動的に関連付けてフィルタリングします。また、リアルタイムの警告メカニズムにより、ユーザーがセキュリティの問題をすばやく対応して追跡できるようにし、各段階でセキュリティ情報を確実にフィードバックできるようにします。セキュリティとアジャイル開発のバランスを維持するのが簡単になります。SecFlowを通じて、DevSecOpsの実装は各チームに負担を引き起こすのではなく、完全に適応させることができます!
HERCULES SecFlowについて
HERCULES SecFlowは「製品のセキュリティ管理システム」であり、製品開発チームがSecure by Designの原則に基づく、DevSecOpsの各段階を管理及び追跡するための自動システム管理メカニズムです。必要なセキュリティプロセスと対策を提供します。 安全なソフトウェア開発プロセスを迅速に確立し、開発、セキュリティ、メンテナンスチームを統合します。SecFlowは、セキュリティの脆弱性とセキュリティインシデントに関する情報をリアルタイムで提供できます。自動化脆弱性分析と管理機能により、製品とサードパーティコンポーネントの安全性を確保し、ソフトウェア開発プロセスから生じるセキュリティリスクを削減できます。全体的にセキュリティ対応と処理効率を向上させ、製品の安全性の問題から生じる紛争訴訟を回避します。
參考資料:
[1] 數位時代(12, 20, 2019), 2.67億筆個資遭公開下載!Facebook用戶資料外洩又爆一樁醜聞, https://www.bnext.com.tw/article/55989/267-million-phone-numbers-exposed-online
[2] Red Hat, What is DevSecOps?, https://www.redhat.com/en/topics/devops/what-is-devsecops
[3] KKNews, 大膽預測:現有IT開發和運營或將顛覆, https://kknews.cc/zh-tw/tech/mmmgqa9.html
[4] VERITIS(APRIL 10, 2018), Early Automation: A Key Requirement for DevSecOps Success, https://devops.com/early-automation-key-requirement-devsecops-success/
[5] 知呼, DevSecOps:應當做好的十件事, https://zhuanlan.zhihu.com/p/44691252
[6] Neil MacDonald, Mark Horvath, Ayal Tirosh, 16 November 2017, Integrating Security Into the DevSecOps Toolchain
[7] GSA, Understanding the Differences Between Agile & DevSecOps - from a Business Perspective, https://tech.gsa.gov/guides/understanding_differences_agile_devsecops/
[8] DgiCert(July 19, 2017), DigiCert Survey Shows Enterprises Integrating Security Teams into DevOps, https://www.digicert.com/news/survey-integrating-security-into-devops/
[9] https://www.csoonline.com/article/3245748/what-is-devsecops-developing-more-secure-applications.html
[1] 數位時代(12, 20, 2019), 2.67億筆個資遭公開下載!Facebook用戶資料外洩又爆一樁醜聞, https://www.bnext.com.tw/article/55989/267-million-phone-numbers-exposed-online
[2] Red Hat, What is DevSecOps?, https://www.redhat.com/en/topics/devops/what-is-devsecops
[3] KKNews, 大膽預測:現有IT開發和運營或將顛覆, https://kknews.cc/zh-tw/tech/mmmgqa9.html
[4] VERITIS(APRIL 10, 2018), Early Automation: A Key Requirement for DevSecOps Success, https://devops.com/early-automation-key-requirement-devsecops-success/
[5] 知呼, DevSecOps:應當做好的十件事, https://zhuanlan.zhihu.com/p/44691252
[6] Neil MacDonald, Mark Horvath, Ayal Tirosh, 16 November 2017, Integrating Security Into the DevSecOps Toolchain
[7] GSA, Understanding the Differences Between Agile & DevSecOps - from a Business Perspective, https://tech.gsa.gov/guides/understanding_differences_agile_devsecops/
[8] DgiCert(July 19, 2017), DigiCert Survey Shows Enterprises Integrating Security Teams into DevOps, https://www.digicert.com/news/survey-integrating-security-into-devops/
[9] https://www.csoonline.com/article/3245748/what-is-devsecops-developing-more-secure-applications.html