首頁 web前端 js教程 為開發人員和安全團隊提供主動的 AppSec 持續漏洞管理

為開發人員和安全團隊提供主動的 AppSec 持續漏洞管理

Oct 03, 2024 am 11:32 AM

在現代軟體開發環境中哪些日益增長的網路安全風險讓 CISO 忙碌?

開發人員和安全團隊面臨越來越多的威脅,從複雜的開源和供應商控制的供應鏈攻擊到 AI 生成的程式碼引入的漏洞,例如提示注入和 GitHub Copilot 的糟糕程式碼安全性。現代應用程式通常嚴重依賴開源元件(例如在 npm、PyPI 或 RubyGems 上找到的元件)和容器化部署,其複雜性增加了挑戰。 

考慮到這些風險的規模和複雜性,自動化漏洞管理變得至關重要。手動網路安全流程根本無法跟上潛在漏洞和軟體開發的數量和速度。自動化不僅可以加快安全問題的識別和修復速度,還可以確保安全團隊定期遵循的這些流程在軟體開發生命週期的所有階段一致地應用。

特定領域持續漏洞管理的重要性

  • 對開源元件的依賴日益增加:開源元件在現代軟體開發中已經變得無所不在。雖然這些組件加速了應用程式開發人員的開發並有助於降低成本,但它們也帶來了重大的安全風險。 XZ 後門和 SolarWinds 漏洞等備受矚目的供應鏈攻擊凸顯了當開源依賴項和封閉供應商控制元件中的漏洞被利用時可能造成廣泛損害。
  • 在開發中越來越多地使用人工智慧生成的程式碼:生成式人工智慧(GenAI)在軟體開發中的興起帶來了機會和挑戰。 GenAI 可以顯著加快編碼任務的速度,但它也可能引入新的漏洞。人工智慧產生的程式碼可能缺乏經驗豐富的開發人員通常考慮的安全考慮,從而導致潛在的安全漏洞。其中一個例子是 GitHub Copilot 在 React 中引入了 XSS。
  • 容器化應用程式的快速成長:容器化應用程式已成為部署現代軟體的規範。容器提供了許多好處,包括跨環境的一致性和易於擴展。然而,它們也帶來了新的安全挑戰,特別是在管理容器鏡像內的漏洞方面。因此,開發人員可以利用協助來教育他們如何選擇最佳容器映像和一般容器專業技巧,但自動化 docker 容器映像漏洞是必須的。

讓我們進一步分解…備受矚目的供應鏈攻擊的另一個例子是對 Codecov 的攻擊,攻擊者透過利用流行程式碼覆蓋工具中的漏洞來存取敏感資料。開發人員的日常工作包括管理與開源依賴相關的風險。開源依賴項可能會為您的程式碼庫帶來直接和傳遞的漏洞。直接漏洞存在於您明確包含的庫中,而傳遞漏洞則存在於這些庫的依賴項中。手動管理這些風險是一項艱鉅的任務,因此自動化成為強大安全策略的關鍵組成部分。

借助 GenAI,GitHub Copilot 或 ChatGPT 等 AI 程式碼助理會引入真實的潛在漏洞。 GenAI 可能會無意中引入不安全的編碼實踐或無法識別特定於上下文的安全要求。例如,AI 模型可能會產生容易受到 SQL 注入或跨站點腳本 (XSS) 攻擊的程式碼。因此,監控和保護人工智慧產生的程式碼對於維護應用程式安全至關重要。 

安全團隊也無法逃脫應對新容器漏洞的複雜性。新容器漏洞的快速出現可能令人難以承受。每個新漏洞都需要及時識別和修復,以防止潛在的漏洞。這種複雜性需要具有安全專業知識的自動化解決方案來有效管理容器安全。

容器漏洞可能會對應用程式的整體安全性產生重大影響。單一易受攻擊的容器映像可能會危及整個應用程式堆疊。 Snyk Container 等工具可以自動識別和修復容器映像中的漏洞。 Snyk Container 可以建議新的基礎鏡像標籤,以最大限度地減少漏洞數量並自動執行 Pull 請求來更新您的程式碼儲存庫。

我們如何緩解所有這些 AppSec 網路安全威脅?

使用 Snyk 進行主動 AppSec 和持續漏洞管理

為了減輕與 AI 產生程式碼相關的風險,請考慮使用 Snyk Code 等工具。這種快速的 SAST 工具由 Snyk DeepCode AI 提供支持,可以透過插件直接整合到開發人員的 IDE 中。它使用特定於安全的資料訓練來識別易受攻擊和不安全的程式碼,確保在開發早期發現並解決問題。

Snyk DeepCode AI 入門非常簡單。該插件支援流行的 IDE,例如 Visual Studio Code、IntelliJ IDEA、VS Code 和 PyCharm。 

在 Visual Studio Code 中安裝和整合 Snyk DeepCode AI 的快速指南

  1. 安裝 Snyk 擴充:
  • 開啟 Visual Studio Code。
  • 透過點擊視窗一側活動列中的擴充圖示導覽至擴充視圖。
  • 搜尋「Snyk」並點擊 Snyk 擴充功能上的「安裝」。
  1. 使用 Snyk 進行驗證:
  • 安裝後,系統會提示您使用 Snyk 帳戶進行身份驗證。
  • 請依照螢幕上的指示在此登入或註冊。
  1. 啟用 Snyk DeepCode AI:
  • 經過驗證後,導覽至活動列中的 Snyk 視圖。
  • 啟用 Snyk DeepCode AI 開始掃描您的程式碼是否有漏洞。

安裝後,側邊欄上的 Snyk 標誌將顯示在您的開源依賴項、您自己的程式碼(或 GenAI 產生的程式碼)以及 IaC 問題中發現的漏洞和安全性問題。

Proactive AppSec continuous vulnerability management for developers and security teams

SAST 工具在為開發人員識別 IDE 中不安全程式碼模式的優勢

  1. 即時回饋:當您編寫程式碼時,Snyk DeepCode AI 會即時分析程式碼,提供有關潛在安全問題的即時回饋。這使得開發人員能夠在漏洞在程式碼庫中根深蒂固之前解決它們。
  2. AI 驅動的見解:AI 模型在大量特定安全資料的資料集上進行訓練,使其能夠識別不安全的編碼模式,甚至是 GenAI 引入的編碼模式或不良程式設計實踐。
  3. 無縫整合:透過直接整合到 IDE 中,Snyk DeepCode AI 自然地融入開發人員的工作流程,最大限度地減少干擾並最大限度地提高生產力。

讓我們來看一個緩解 GenAI 引入的漏洞的範例。我在此專案中使用 GitHub Copilot 自動完成程式碼,該程式碼會建立 Express POST 端點路由來查詢 OpenAI API,然後使用 res.send() 將回應傳送到瀏覽器。

但是,如果此有效負載中的回應直接在瀏覽器中呈現怎麼辦?如果使用預設的 text/html 內容類型標頭發送此請求,則跨站點腳本漏洞將影響正在運行的應用程式。對此我們能做什麼?

Proactive AppSec continuous vulnerability management for developers and security teams
正如您在第 31 行上方的註釋中看到的,Snyk 建議修復此安全性問題。我點擊它,幾秒鐘之內,Snyk DeepCode AI 擴充功能提出了一種緩解措施,將 res.send() 替換為 res.json,如下所示:

res.json(response.choices[0].message.content);

登入後複製

透過此更改,Express 應用程式強制回應中的內容類型為 application/json,它是通用文本,並且可以允許諸如alert() 之類的文本。

透過在 IDE 中利用 Snyk,開發人員可以使用底層 Snyk DeepCode AI 引擎主動識別和緩解漏洞,確保他們的程式碼從一開始就是安全的。這種主動的應用程式安全方法在當今的環境中至關重要,因為與開源供應鏈和 GenAI 生成的程式碼相關的風險始終存在。

使用 Snyk Open Source 自動化依賴管理

Snyk Open Source 是一款功能強大的工具,旨在幫助開發人員和安全團隊管理與開源依賴相關的風險。隨著對開源程式庫的依賴日益增加,對強大且自動化的依賴關係管理的需求變得前所未有的迫切。 Snyk Open Source 提供全面的漏洞掃描和修復功能,確保您的專案保持安全和合規。

在我之前的 Node.js 應用程式中,我還使用了 SQLite 依賴項,Snyk 提醒我有安全問題,如下所示:

Proactive AppSec continuous vulnerability management for developers and security teams
This vulnerability information is helpful to understand which transitive dependency is introducing the security risk and how to mitigate it, if at all possible. In this case, the transitive dependency inflight is detected to have a medium vulnerability.

Snyk detects that my lockfile and dependency is potentially out of date and so it can’t find a remediation path. However, let’s see the automation in practice when we import the GitHub code repository to Snyk. Doing so, shows the following information on the Snyk application:

Proactive AppSec continuous vulnerability management for developers and security teams
From this point on, Snyk will automatically open new Pull Requests to suggest dependency upgrades when security vulnerabilities are detected in my package manifest.

Managing dependencies is not just about the libraries you directly include in your project. Transitive dependencies—those pulled in by your direct dependencies—can also introduce vulnerabilities. Snyk excels at identifying and remediating vulnerabilities in both direct and transitive dependencies.

Consider the following scenario:

{
  "dependencies": {
    "express": "^4.17.1",
    "lodash": "^4.17.20"
  }
}

登入後複製

In this example, express and lodash are direct dependencies. However, express might have its own set of dependencies, which in turn might have their own dependencies. Snyk will traverse this entire dependency tree, identifying and addressing vulnerabilities at every level.

When it comes to managing container vulnerabilities, Snyk Container helps remove the burden of keeping base image tags up-to-date with security patches.

Snyk Container is a comprehensive solution designed to help developers and security teams manage container vulnerabilities effectively. Containerized application workloads is prevalent at the Enterprise and as is the need to secure these environments. Snyk Container integrates seamlessly into your CI/CD pipeline, providing continuous monitoring and proactive remediation of vulnerabilities in your container images.

One of the standout features of Snyk Container is its ability to automate the creation of Pull Requests to address vulnerabilities in your container images. This automation is a game-changer for both developers and security teams, as it significantly reduces the manual effort required to keep container images secure.

Here's an example of how Snyk Container might automate a PR to update a vulnerable package in a Dockerfile:

FROM node:14.1.0
RUN npm install express
COPY . /app
CMD ["node", "/app/index.js"]

登入後複製

When Snyk Container detects a vulnerability, it automatically generates a PR with the necessary changes to mitigate the issue. This could include updating a vulnerable package or applying a security patch. By automating this process, Snyk Container ensures that vulnerabilities are addressed promptly, reducing the window of exposure.

Proactive AppSec continuous vulnerability management for developers and security teams
By following these recommended base images, you can significantly reduce the number of vulnerabilities in your container images, enhancing the overall security of your applications.

Proactive AppSec continuous vulnerability management for developers and security teams
Snyk Container identified multiple vulnerabilities in this base image and automatically generated PRs to update the image and associated dependencies. The team was able to review and merge these PRs quickly, reducing their vulnerability count by over 30% within seconds by merging the Pull Request and ensuring the CI/CD pipeline tests pass with flying colors.

Proactive AppSec continuous vulnerability management for developers and security teams
This proactive approach not only improved the security posture of their applications but also freed up valuable time for developers to focus on building new features rather than managing vulnerabilities.

以上是為開發人員和安全團隊提供主動的 AppSec 持續漏洞管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1654
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1225
24
前端熱敏紙小票打印遇到亂碼問題怎麼辦? 前端熱敏紙小票打印遇到亂碼問題怎麼辦? Apr 04, 2025 pm 02:42 PM

前端熱敏紙小票打印的常見問題與解決方案在前端開發中,小票打印是一個常見的需求。然而,很多開發者在實...

神秘的JavaScript:它的作用以及為什麼重要 神秘的JavaScript:它的作用以及為什麼重要 Apr 09, 2025 am 12:07 AM

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

誰得到更多的Python或JavaScript? 誰得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

如何實現視差滾動和元素動畫效果,像資生堂官網那樣?
或者:
怎樣才能像資生堂官網一樣,實現頁面滾動伴隨的動畫效果? 如何實現視差滾動和元素動畫效果,像資生堂官網那樣? 或者: 怎樣才能像資生堂官網一樣,實現頁面滾動伴隨的動畫效果? Apr 04, 2025 pm 05:36 PM

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的演變:當前的趨勢和未來前景 JavaScript的演變:當前的趨勢和未來前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

如何使用JavaScript將具有相同ID的數組元素合併到一個對像中? 如何使用JavaScript將具有相同ID的數組元素合併到一個對像中? Apr 04, 2025 pm 05:09 PM

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

前端開發中如何實現類似 VSCode 的面板拖拽調整功能? 前端開發中如何實現類似 VSCode 的面板拖拽調整功能? Apr 04, 2025 pm 02:06 PM

探索前端中類似VSCode的面板拖拽調整功能的實現在前端開發中,如何實現類似於VSCode...

JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

See all articles