如何修正 Fortify SCA & Checkmarx SAST 報告中的 cross-site scripting (XSS) ?

靜態程式碼掃描工具,例如 Fortify SCA & Checkmarx SAST,被許多企業和組織用來檢測應用程式中的安全弱點。但對許多開發者來說,Fortify SCA & Checkmarx SAST 的報告被視為麻煩製造者,因為它們雖然指出了弱點(不論是真的或是誤報),但卻沒有提供任何修正這些弱點的方法。誰來修正報告中的弱點?

Cross-site scripting(XSS)是一種網頁安全弱點,允許攻擊者將惡意代碼注入網頁或應用程式。XSS 可能會損害用戶的隱私和安全,以及網站或應用程式的完整性和功能。

要修正 cross-site scripting,可以參考以下的方法:

  • 使用程式語言的函式庫清理輸入和輸出,例如刪除或編碼任何可能被瀏覽器解釋為代碼的字元。
  • 在適用的情況下強制使用更安全的函數(例如,在 JavaScript 中使用 innerText 而不是 innerHTML)。更安全的函數可防止瀏覽器執行嵌入在輸入或輸出中的任何代碼。
  • 驗證輸入以確保它們符合特定條件。例如檢查輸入是否與某種格式、長度、範圍等匹配。驗證可以通過拒絕任何不符合預期條件的輸入來説明防止 XSS 攻擊。

以下是幾個修正 cross-site scripting 的範例:


sda = new SqlDataAdapter("SELECT * FROM Employees", conn);
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
    string name = dt.Rows[0]["Name"];
    lblEmployeeName.Text = Encoder.HtmlEncode(name);
}
                    

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Employees");
if (rs != null)
{
    rs.next();
    String employeeName = Encoder.htmlEncode(rs.getString("name"));
}
                    

let name = Cookies.get("name");

let message = 'Hi ' + Sanitizer.sanitize(name) + ', welcome!';

main.innerHTML = html;
                    

若有辦法能自動修正 cross-site scripting (XSS) 該有多好?

Lucent Sky AVM 和靜態程式碼掃描工具一樣會指出弱點,同時提供 Instant Fix - 一段安全的程式碼片段,能夠直接插入程式碼中來修正 cross-site scripting (XSS)、SQL injection 和 path manipulation 這些常見的弱點。

以 .NET (C# 和 VB.NET)和 Java 應用程式來說,Lucent Sky AVM 可以修正最多達 90% 所找到的弱點。


一起使用 Fortify SCA & Checkmarx SAST 和 Lucent Sky AVM

Fortify SCA & Checkmarx SAST 只會告訴你弱點在哪裡,而 Lucent Sky AVM 會指出它們的位置以及修正方式(並且實際為你修正他們,你喜歡的話)。 Fortify SCA & Checkmarx SAST 是被設計來供資訊安全專業人士使用,因此設計理念是找出大量的結果,再依賴資訊安全專家來移除其中的誤報。Lucent Sky AVM 則是專注於找出會真正影響應用程式安全的弱點,並依照你或你的開發與資訊安全團隊的設定來可靠的修正這些弱點。 你可以深入了解 Lucent Sky AMV 的修正流程


Fortify SCA & Checkmarx SAST,Lucent Sky AVM 以及法規遵循

如果你的組織的法規遵循要求要修正 Fortify SCA & Checkmarx SAST 找到的所有結果(或是符合特定條件的結果,例如嚴重和高風險),Lucent Sky AVM 可以被調整來找出一樣的結果,並提供更多的功能 - 修正最多達 90% 的弱點。


有效果的報告

許多靜態程式碼掃描工具是由資訊安全專家所設計來給其他的資訊安全專家使用。 因此,它們需要由專業人士操作,而且產出的報告和結果難以實際幫助開發者。 Lucent Sky AVM 提供為開發者與資訊安全專家所設計的報告,提供分析結果以及 Instant Fixes (能夠直接修正如 cross-site scripting 和 SQL injection 等常見弱點的程式碼片段),讓不是資訊安全專家的使用者能夠用來強化程式碼的安全。

對於需要法規遵循報告的企業來說,Lucent Sky AVM 能協助開發與資訊安全團隊通過 Fortify SCA & Checkmarx SAST 的檢測並減少誤報帶來的困擾,同時大幅地降低強化應用程式安全所需要的時間和精力。 要進一步了解 Lucent Sky AVM 和靜態程式碼掃描工具報告的差別,請下載報告比較表


修正 Fortify SCA & Checkmarx SAST 報告中的弱點可以輕鬆快速

申請測試來親自體驗 Lucent Sky AVM。 想知道 Lucent Sky AVM 可以如何在你的環境中和 Fortify SCA & Checkmarx SAST 共用,別再等了!

連絡我們
Try Lucent Sky AVM