Lucent Sky AVM ♥ DevOps

Lucent Sky AVM(Application Vulnerability Mitigation,應用程式弱點修正)掃描並自動修正網頁、伺服器、行動、桌面等應用程式中的安全弱點,並對這些應用程式所使用的不安全軟體元件提供更新指引。我們讓 DevOps 安全變得更快速、更可行,且更有效率。

技術概要

  • 多級混和靜態程式碼分析掃描程式碼和二進位碼來識別應用程式中任何位置的弱點。
  • 軟體組成分析識別應用程式所使用的不安全軟體元件
  • 利用產業標準的安全函式庫和方式來自動修正應用程式弱點
  • 利用即時的威脅和相容性資訊來提供不安全軟體元件的更新指引
  • 偵測和修正 OWASP Top 10PCI-DSSCWE Top 25 等常見標準中的應用程式弱點。
  • Lucent Sky AVM 經認證為 CWE-相容,能與其他開發工具與安全工具無縫整合。

自動修正程式碼中的程式弱點

  • 可為常見的程式碼弱點,例如 SQL injection、cross-site scripting、path traversal,產生 Instant Fix,在掃描完成後立刻解決這些弱點。
  • 若有弱點無法被自動修正,一段修正建議會單獨為這個特定弱點產生,讓開發者可以有效率的解決它。
  • 對於不安全的軟體元件,使用即時威脅和相容性資訊產生的更新指引能幫助開發者放心的更新它們。
  • Instant Fixes、修正建議、更新指引使用產業標準的作法和 ESAPI 和 WPL 等安全函式庫,也可使用企業和組織自有的安全函式庫。

在程式碼中進行弱點修正

修正弱點是一個單純的流程,大多數的開發者也都具備相關的知識能夠逐一修正弱點。但是,複雜的大型應用程式中經常有為數不少的弱點,如何修正成千上百個弱點就成為高效率軟體開發流程中的主要絆腳石。

Lucent Sky AVM 如開發者一樣尋找與評估弱點,並插入「Instant Fix」來修正它們。這樣的修正方式就和開發者一樣,但能夠同時處理數百或上千個弱點。

  1. 選擇修正方式
    Lucent Sky AVM 依照業界標準和最佳實務來決定使用那些修正方式,以及使用它們的位置。有些弱點有數種適合的修正方式,例如 SQL injection 可以使用字元跳脫或是參數化查詢來修正。此外,有些弱點則可以透過在任一適合的位置使用同一個修正方式來修正。

  2. 避免對功能或其他弱點的影響
    Lucent Sky AVM 使用內容和意向資訊來推斷含有弱點的程式碼想達到的功能,並且在不影響功能或其他關聯弱點的前提下選擇適合的修正方式。舉例來說,當一個使用者輸入同時用來建構一個 SQL 查詢以及被寫入記錄檔時,記錄檔需要使用原始的值、而 SQL 查詢為了安全則需要使用跳脫後的值或是使用參數化查詢。

  3. 透過高效率的修正來減少變更數目
    當每個弱點的適合修正方式都被產生後,Lucent Sky AVM 會對整個應用程式進行關聯檢查,根據對功能和效能的可能影響來決定弱點最有效率的修正方式。由最有效率的修正方式產生 Instant Fix。


Instant Fix

每個 Instant Fix 都是爲了修正該弱點(以及相連的其他弱點)而產生的。以下是兩個範例:


// CWE-79: Cross-site Scripting
var body = sqlDataReader.GetString(2);
Posts.Text += @"<div style=""margin-left: 30px;"">" + LucentSky.Security.Application.Masker.MaskPrivateInformation(LucentSky.Security.Application.Encoder.HtmlEncode(Body)) + @"</div>";

// CWE-89: SQL Injection
var userName = UserName.Text;
var password = Password.Text;
sqlCommand = New SqlCommand(@"INSERT INTO [User] ([UserName], [Password]) VALUES (@lucentsky_userName, @lucentsky_password)", SqlConnection); sqlCommand.Parameters.AddWithValue("@lucentsky_userName", userName); sqlCommand.Parameters.AddWithValue("@lucentsky_password", password);
                

// CWE-79: Cross-site Scripting
String eid = request.getParameter("eid");
out.println("Employee ID: " + org.lucentsky.security.application.Encoder.htmlEncode(eid));

// CWE-89: SQL Injection
String userName = getAuthenticatedUserName();
String itemName = request.getParameter("itemName");
PreparedStatement statement = "SELECT * FROM items WHERE owner = '" + userName + "' AND itemname = ?"; statement.setString(1, itemName);
ResultSet rs = statement.executeQuery();
rs.close();
                

依照你的需求,在需要的時候使用

  • 佈署
    Lucent Sky AVM 可以佈署在雲端虛擬機器、公司內部網路的伺服器,或是獨立的硬體。
  • 存取方式
    Lucent Sky AVM 就在你常用的開發環境中。可以透過網頁、IDE、ALM、API 或是命令列介面存取。
  • 整合
    Lucent Sky AVM 和其他應用程式安全和效能產品整合,例如 SAST 和 DAST、WAF,甚至是 APM。

強化程式碼的安全並保持高效能

輕鬆地設定

Lucent Sky AVM 內建對 Azure Monitor、New Relic 等常見 APM 工具的整合。連結完成後,Lucent Sky AVM 中的應用程式會自動對應到它們在 APM 工具中相對的應用程式。

無縫視野

只要點一下滑鼠,就能從 Lucent Sky AVM 的安全總覽移動到 APM 工具中的效能總覽。

安全且高效能的程式碼

效能和安全不再難以取捨。因為是實際在程式碼中修正弱點,使用 Lucent Sky AVM 強化安全的應用程式的運行速度和原有不安全的應用程式。不像 WAF 和 RASP 會造成效能降低,Lucent Sky AVM 能在維持效能的同時強化應用程式的安全性。


高效率和自動化的領導者

自 Lucent Sky AVM 推出以來,Lucent Sky 一直是應用程式弱點自動修正的領導者。專利的自動修正技術協助企業和組織修正了數百萬個安全弱點。了解它們的故事以及計算 Lucent Sky AVM 如何協助你降低成本並加快開發流程

Try Lucent Sky AVM