CISO を多忙にさせている、現代のソフトウェア開発環境で増大するサイバーセキュリティ リスクにはどのようなものがありますか?
開発者とセキュリティ チームは、高度なオープンソース攻撃やベンダー制御のサプライ チェーン攻撃から、プロンプト インジェクションや GitHub Copilot による脆弱なコード セキュリティなどの AI 生成コードによってもたらされる脆弱性まで、増え続けるさまざまな脅威に直面しています。最近のアプリケーションは複雑で、多くの場合、オープン ソース コンポーネント (npm、PyPI、RubyGems など) やコンテナ化されたデプロイメントに大きく依存しているため、課題はさらに増大します。
これらのリスクの規模と複雑さを考慮すると、脆弱性管理の自動化が不可欠になっています。手動のサイバーセキュリティ プロセスでは、潜在的な脆弱性やソフトウェア開発の量と速度にまったく追いつきません。自動化は、セキュリティ問題の特定と修復を迅速化するだけでなく、セキュリティ チームが定期的にフォローするこれらのプロセスが、ソフトウェア開発ライフサイクルのすべての段階にわたって一貫して適用されることを保証します。
GenAI を使用すると、GitHub Copilot や ChatGPT などの AI コード アシスタントにより、実際の潜在的な脆弱性が導入されます。 GenAI は、安全でないコーディング手法を誤って導入したり、コンテキスト固有のセキュリティ要件を認識できなかったりする可能性があります。たとえば、AI モデルは、SQL インジェクションまたはクロスサイト スクリプティング (XSS) 攻撃に対して脆弱なコードを生成する可能性があります。したがって、AI 生成コードの監視と保護は、アプリケーションのセキュリティを維持するために重要です。
セキュリティ チームも、コンテナーの新しい脆弱性に対応する複雑さを逃れることはできません。新しいコンテナの脆弱性の急速なペースには圧倒される可能性があります。潜在的な悪用を防ぐために、新たな脆弱性をタイムリーに特定し、修復する必要があります。この複雑さには、コンテナのセキュリティを効果的に管理するためのセキュリティの専門知識を備えた自動化されたソリューションが必要です。
コンテナの脆弱性は、アプリケーションの全体的なセキュリティに重大な影響を与える可能性があります。単一の脆弱なコンテナ イメージがアプリケーション スタック全体を侵害する可能性があります。 Snyk Container のようなツールは、コンテナ イメージの脆弱性を特定して修復するプロセスを自動化します。 Snyk Container は、脆弱性の数を最小限に抑え、コード リポジトリを更新するプル リクエストを自動化する新しいベース イメージ タグを提案できます。
これらの AppSec サイバーセキュリティの脅威をすべて軽減するにはどうすればよいですか?
Snyk によるプロアクティブな AppSec と継続的な脆弱性管理
Snyk DeepCode AI を始めるのは簡単です。このプラグインは、Visual Studio Code、IntelliJ IDEA、VS Code、PyCharm などの一般的な IDE をサポートします。
Snyk DeepCode AI を Visual Studio Code にインストールして統合するためのクイック ガイド
しかし、このペイロードの応答がブラウザーで直接レンダリングされたらどうなるでしょうか?このリクエストの送信にデフォルトの text/html コンテンツ タイプ ヘッダーが使用された場合、クロスサイト スクリプティングの脆弱性が実行中のアプリケーションに影響を与える可能性があります。これについてはどうすればよいでしょうか?
31 行目上の注釈でわかるように、Snyk はこのセキュリティ問題を修正することを提案しています。それをクリックすると、数秒以内に、Snyk DeepCode AI 拡張機能が、次のように res.send() を res.json に置き換える緩和策を提案しました。
res.json(response.choices[0].message.content);この変更により、Express アプリケーションは応答の content-type を強制的に application/json にすることになります。これは汎用テキストであり、alert() などのテキストを許可できます。
IDE で Snyk を活用することで、開発者は基盤となる Snyk DeepCode AI エンジンを使用して脆弱性を積極的に特定して軽減し、最初からコードの安全性を確保できます。アプリケーション セキュリティに対するこの積極的なアプローチは、オープンソースのサプライ チェーンと GenAI が生成したコードに関連するリスクが常に存在する今日の環境では不可欠です。
Snyk オープンソースによる依存関係管理の自動化
以前の Node.js アプリケーションでは SQLite 依存関係も使用しており、Snyk は次のようにセキュリティ問題について警告します。
この脆弱性情報は、どの推移的な依存関係がセキュリティ リスクを引き起こしているのか、また可能であればそれを軽減する方法を理解するのに役立ちます。この場合、進行中の推移的な依存関係には中程度の脆弱性があることが検出されます。
この時点から、パッケージ マニフェストでセキュリティの脆弱性が検出された場合、Snyk は自動的に新しいプル リクエストを開き、依存関係のアップグレードを提案します。
次のシナリオを考えてみましょう:
res.json(response.choices[0].message.content);この例では、express と lodash は直接の依存関係です。ただし、Express には独自の依存関係のセットがあり、さらに Express にも独自の依存関係がある可能性があります。 Snyk は、この依存関係ツリー全体を調べて、あらゆるレベルの脆弱性を特定して対処します。
コンテナの脆弱性の管理に関しては、Snyk Container を使用すると、ベース イメージ タグをセキュリティ パッチで最新の状態に保つ負担を軽減できます。
Snyk Container は、開発者とセキュリティ チームがコンテナの脆弱性を効果的に管理できるように設計された包括的なソリューションです。企業ではコンテナ化されたアプリケーションのワークロードが普及しており、これらの環境を保護する必要性も高まっています。 Snyk Container は CI/CD パイプラインにシームレスに統合され、コンテナ イメージの脆弱性を継続的に監視し、事前に修復します。
Snyk Container の際立った機能の 1 つは、コンテナ イメージの脆弱性に対処するためのプル リクエストの作成を自動化する機能です。この自動化は、コンテナ イメージを安全に保つために必要な手動の労力を大幅に削減するため、開発者とセキュリティ チームの両方にとって状況を一変させます。
Snyk Container が PR を自動化して Dockerfile 内の脆弱なパッケージを更新する方法の例を次に示します:
res.json(response.choices[0].message.content);Snyk Container は脆弱性を検出すると、問題を軽減するために必要な変更を加えた PR を自動的に生成します。これには、脆弱なパッケージの更新やセキュリティ パッチの適用が含まれる場合があります。このプロセスを自動化することで、Snyk Container は脆弱性に迅速に対処し、危険にさらされる期間を短縮します。
これらの推奨される基本イメージに従うことで、コンテナー イメージ内の脆弱性の数を大幅に減らし、アプリケーションの全体的なセキュリティを強化できます。
Snyk Container は、この基本イメージの複数の脆弱性を特定し、イメージと関連する依存関係を更新するために PR を自動的に生成しました。チームはこれらの PR を迅速にレビューしてマージすることができ、プル リクエストをマージし、CI/CD パイプライン テストが見事に合格することを確認することで、数秒以内に脆弱性の数を 30% 以上削減することができました。
この積極的なアプローチにより、アプリケーションのセキュリティ体制が改善されただけでなく、開発者が脆弱性の管理ではなく、新しい機能の構築に集中できる貴重な時間が解放されました。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3