セキュア開発ライフサイクル

  • 更新

LMS365 セキ ュア開発ライフサイクル(SDLC)は、Microsoft のセキュリティ開発ライフサイクルプラクティスに着想を得ており、LMS365 開発者がより安全なソフトウェアを構築することをサポートするプラクティスのセットで構成されています。このプラクティスは、ソフトウェアの脆弱性の数と深刻度を低減し、LMS365がコンプライアンス要件を満たすことを保証し、LMS365 製品の開発プロセスにセキュリティが組み込まれていることをお客様ならびにパートナー企業に保証するものです。

ここでは、LMS365 の SDLC におけるプラクティスのセットについてご説明します。

セキュアコードトレーニング

LMS365製品を構築する人々は、セキュリティの基本を理解し、攻撃者からの侵入を防ぎ、より安全な製品を作成するために、ソフトウェアにセキュリティを組み込む方法を熟知していることが重要です。

最低でも毎年、LMS365のソフトウェアエンジニアは、OWASP(Open Web Application Security Project)のトップ10 セキュリティリスク、一般的な攻撃ベクトル、および Azure のセキュリティコントロールをカバーするセキュアコードトレーニングに参加しています。

 

セキュリティ品質の基準とレポート

LMS365 は、セキュリティ品質の最低許容レベルの基準を設定し、異なる重大度のセキュリティ脆弱性にどのように対応するかについて具体的な手順を定めるために、セキュリティ品質のレベルを定義しています。

これにより、開発チームはセキュリティの不具合を適切なタイミングで特定して対処し、すべての開発フェーズを通じて一貫して高水準のセキュリティ品質を提供することができます。

セキュリティ上の欠陥やセキュリティ作業項目は登録され、明確にラベル付けされるため、セキュリティに関連する作業を確実に追跡し、報告することができます。

 

サードパーティコンポーネントのセキュリティとライセンスリスクの管理

サードパーティ製コンポーネントの脆弱性は、コンポーネントを統合したシステムより大規模なセキュリティに影響を及ぼす可能性があります。

LMS365は、採用されているサードパーティコンポーネントの正確な一覧を持っています。

既知の脆弱性に対するオープンソースの依存関係を発見し、脆弱性を回避するために必要であれば、サードパーティライブラリに対する最新の推奨事項を提供します。

 

静的分析セキュリティテスト(SAST)

セキュアコーディングポリシーが守られていることを確認するため、ソースコードはコンパイル前に、統合開発環境(IDE)の Visual Studio と、LMS365 開発チームが使用する Azure DevOps ビルドパイプライン内で直接スキャンされ、分析されます。

自動化されたフィードバックを提供し、既知のセキュリティ脆弱性が LMS365 環境に追加されるのを防ぐ、スケーラブルなセキュリティコードレビューの方法です。

 

動的分析セキュリティテスト(DAST)

LMS365 ソフトウェアのリリースサイクルの一環として、パッケージソフトウェア、環境、設定に対する自動的な侵入検査とスキャニングが定期的に実行され、すべてのコードが統合され、稼働している状態でのセキュリティテストが行われています。

テストエンジンは、ハッカーの行動やサイバーセキュリティの傾向を常に把握し、新たな潜在的リスクを特定します。

 

侵入テスト

侵入テストでは、熟練したセキュリティ専門家がハッカーの行動をシミュレートし、潜在的に悪用可能な脆弱性を見つけ出します。

LMS365アプリケーションとその基盤となるウェブアプリケーションに対して、自動および手動による侵入テストを実施し、LMS365製品に脆弱性を生じさせる可能性のあるコーディングエラー、設定上の欠陥、その他の弱点を洗い出します。

 

品質保証

弊社では、品質保証(QA)部門がコードベースのレビューとテストを行っています。専任のアプリケーション・セキュリティ・エンジニアが、コード内のセキュリティの脆弱性を特定、テスト、選別します。

 

フレームワーク・セキュリティコントロール

LMS365 は、最新の Microsoft .NET Core open-source framework を活かし、OWASPトップ10セキュリティリスクにさらされることを抑えるための適切なセキュリティ制御を行っています。

これらの固有のコントロールによって、SQLインジェクション(SQLi)、クロスサイト・スクリプティング(XSS)、クロスサイト・リクエスト・フォージェリ(CSRF)などに晒されるリスクを減らすことができます。

 

環境の分離

開発、テスト、ステージング環境は、LMS365の製品環境から実質的に分離されています。

弊社の開発とテストの(両方、またはいずれか一方)環境では、お客様のいかなるデータも使用されておりません。