今日、情報化の深化に伴い、セキュリティの脅威の破壊力は前例のない速度で増大しており、デジタル ビジネスの拡大と構築は通常、攻撃対象領域の拡大につながります。現在および将来のセキュリティ脅威に対処するには、従来のセキュリティ製品への投資だけでは不十分であり、セキュリティ製品の購入に加え、セキュリティ意識の向上とセキュリティプロセスの構築が重要です。
さまざまなセキュリティ構築計画において、「セキュリティ機能の前倒し」は明らかな傾向です。建設時に基礎が不安定で、壁が弱く、床が崩れた家が完成後に数本の柱で支えられないのと同じで、安全な開発プロセスが適用されなければ、後の運用で抜け穴だらけになることは避けられません。 。
私たちは、安全な開発実践には次の 5 つの重要な原則があると考えています:
1. セキュリティ トレーニング
安全スキル トレーニングは、開発の橋渡しをするために非常に重要です。技術的能力のギャップと、製品ライフサイクルのあらゆる段階でのセキュリティの管理が重要です。企業は、安全にコーディングする開発者の意識と能力を向上させ、ビジネス チームとセキュリティ チーム間の効率的なコラボレーションに不可欠なセキュリティ部門による推奨事項とアクションを理解するために、セキュリティ意識とセキュリティ スキル トレーニングに明示的に投資する必要があります。重要。
SANS Institute のセキュリティ状況レポートによると、2016 年の時点で、調査対象となった米国の企業サンプルの半数以上が、セキュリティ トレーニングを企業の主な業務の 1 つとしていました。今日に至るまで、安全トレーニングの重要性を理解している中国企業はほんの一握りであり、トレーニングの意図をトレーニングの行動に変えることができる企業はさらに少ない。
2. セキュアなアプリケーション開発
現在、アプリケーションのセキュリティは企業の幅広い関心を集めています。開発のセキュリティを確保するには、2 つの重要な実践的な方法があります。
(1) セキュリティを中心としたプロセス フレームワークを使用します。
(2) セキュリティ チームからのフィードバックを開発者のワークフローに組み込み、反復サイクルごとにデモ レビューを行います。
プロセス フレームワークについては、ベスト プラクティス、ソフトウェア ライブラリ、標準、および組織の業界固有の規制に基づいて、実証済みのセキュリティに重点を置いた適切なフレームワークを選択するのが最善であると考えています。次の 2 つのよく知られたフレームワークは、開発組織をガイドし、適用可能なリソースを提供するルール、テクニック、プロセスを集めたものです。さまざまな懸念がありますが、それらはすべて基本的に安全志向です。
Microsoft セキュリティ開発ライフサイクル (SDL) : このプロセスは、既存の DevOps 環境によく適合し、プロセス全体にわたってセキュリティを適切に統合する、より一般的な構造を提供します。私たちの経験では、特定のコード タイプや動作環境に限定されません。
オープン ソース Web アプリケーション セキュリティ プロジェクト (OWASP): このコミュニティ Web サイトは、脆弱性、関連する影響、リスクに関するデータと、安全な Web アプリケーションの開発と検出のためのベスト プラクティス ガイダンスを提供します。 。
企業は、セキュリティ チームを開発プロセスに積極的に参加させて早期にフィードバックを取得し、開発ワークフローや反復的なプロトタイプ デモ全体にフィードバックを組み込む必要があります。この利点は、チームが開発段階でセキュリティ リスクに同時に対処できるため、開発プロセスにコストのかかるリスクが持ち込まれることを回避できることです。
製品の運用・保守段階では、開発段階に比べてリスクを排除するためのコストが少なくとも数十倍かかります。しかし、多くの開発チームはセキュリティ チームとの共同作業に慣れていません。最初の一歩を踏み出し、粘り強く続けることが重要です。最終的には、セキュリティ ベースの開発ワークフローがセキュリティ戦略全体において大きな利点となります。
3. セキュリティ DevOps=DevSecOps
DevSecOps は、セキュリティを DevOps ワークフローに完全に統合することで、統合されたプロセスを作成する新たなトレンドです。 DevOpsが開発と運用保守の問題を同時に解決するために提案されたように、今ではセキュリティの問題も同時に解決する必要があります。
セキュリティ DevOp
または DevSecOps
には、各段階の作業内容を拡張してセキュリティ要素を含めるだけでなく、段階を超え、部門を超えたトレーニングも含まれます。開発プロセスが完了していることを確認し、コーディング中のリスクを軽減します。
4. アプリケーション セキュリティ テスト (AST)
継続的なテストは非常に重要であり、アプリケーション セキュリティ テスト (AST) ツールはすべての開発者の必需品となるはずです。ツールチェーン、機器のコンポーネント。現在、オープンソース ツールを含め、多くの優れたツールが利用可能です。アプリケーションのセキュリティ テスト ツールを検討する場合、コード インストルメンテーションの手順とプロセスを最適化するために使用するツールのセットを事前に決定することをお勧めします。そうしないと、ツールがコードを完全かつ効率的に計測できない可能性があります。
AST ツールは、いくつかの基本カテゴリに分類されます。
(1) 静的アプリケーション セキュリティ テスト (SAST)
(2) 動的アプリケーション セキュリティ テスト (DAST)
(3) インタラクティブ アプリケーション セキュリティ テスト (IAST)
Gartner の 2017 年のレポートでは、「アプリケーションを開発しているほとんどの企業は、何らかの形式の AST を採用しています。しかし、テクノロジーが異なれば成熟度レベルも異なります。DAST##」と述べられています。 # および
#SAST は現在最も広く使用されている製品タイプですが、IAST に対する市場の需要は急速な成長を示しています。」
5. 継続的な監視と分析
継続的な監視と分析は、運用および保守フェーズ中にアプリケーションを保護するのに役立ちます。モニタリングから継続的にフィードバックを取得し、開発プロセスにフィードバックします。運用および保守フェーズの監視と分析の適用は基本的な常識的な操作であり、企業に貴重な情報とデータを提供し、潜在的な抜け穴を阻止し、潜在的なリスクを軽減するのに役立ちます。
開発セキュリティなしでは運用および保守フェーズのセキュリティを実現できないのと同様に、開発セキュリティも運用および保守のセキュリティと独立して実現することはできません。フィードバック メカニズムのないプロセスは、明らかに良いプロセスではありません。
おすすめの関連記事: Web セキュリティ チュートリアル
以上が安全な開発実践原則の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。