一般的に利用可能なNewRelicプラットフォーム用にNewRelicで構築されたソフトウェアは、これらの5つのフェーズを通過します。
ソフトウェア開発フェーズ | セキュリティコントロール |
---|---|
要件 | リスクアセスメント |
デザイン | 脅威のモデル化 |
開発 | セキュアコーディングの基準と実践 |
検証 | コードレビュー、セキュリティレビュー、静的コード解析、コンポジション解析、計算ハッシュ、署名付きコード |
デプロイ | ハッカーワンとNew Relicの協調公開プログラム、定期的なスキャン、第三者によるペネトレーションテスト |
要件
一般的に利用可能なNewRelicプラットフォームの各プロジェクトチームには、NewRelic製品のセキュリティのレビューとアドバイスを担当するセキュリティエンジニアが割り当てられています。要件構築フェーズでは、セキュリティエンジニアがリスク評価を実行してから、プロジェクトのセキュリティ要件を追加します。プライバシーとコンプライアンスの専門家は、必要に応じてプロジェクトチームに追加されます。
デザイン
設計段階では、ニューレリックのセキュリティエンジニアは、利害関係者、エンジニアリングリーダー、アーキテクトと協力して、その機能についての詳細な共通理解を得ます。New Relic のセキュリティエンジニアは、その機能を安全に実装するための受け入れ基準、機能、要件を文書化した脅威モデルを作成することで、利害関係者と共に設計プロセスに貢献します。セキュリティエンジニアは、この脅威モデルをもとに、必要なコントロールの詳細な仕様をプロジェクトに追加します。
ビルド
各製品エンジニアは、 OWASP top 10 、入力のサニタイズ、New Relic ですでに導入されている安全なフレームワークとプロセスの使用などのトピックを含む、安全なコーディングのトレーニングを受けます。構築段階では、エンジニアリングチームは New Relic のセキュアコーディング基準に従って、プロジェクトに適切なセキュリティ機能を実装します。
検証
機能が完了すると、すべてのプルリクエストは、コードリポジトリへの書き込み権限を持つ別のエンジニアによるコードレビューを受ける必要がある。セキュリティ・エンジニアは、コード・スキャン・ソフトウェアがセキュリティ・ポリシーに対する脆弱性を自動的にチェックすることに加えて、設計、要件、評価の各段階で推奨されたセーフガードやコントロールが必要に応じて実装されているかどうかを検証する。
New Relicでは、静的なコード分析と構成分析を行い、コードと依存関係にある脆弱性を探します。
デプロイ
New Relic は、ハッシュとシグネチャの導入を進めています。New Relicが公開しているファイルをダウンロードする人は、ダウンロードしたファイルが改ざんされておらず、New Relicが公開しているものと同一であることを確認できるようになります。
反復的な開発プロセスを継続するために、デプロイされたコードは関係者と製品エンジニアによって監視されます。 セキュリティ チームは、定期的なセキュリティ スキャン、サードパーティ侵入テスト、および調整された開示プロセスを通じて、デプロイ コードのセキュリティを評価し続けています。