不安全的 API 或程式庫

OWASP 類別:MASVS-CODE:程式碼品質

總覽

使用不安全的 API 或程式庫,會大幅削弱應用程式的安全防護機制。這些依附元件萬一出現安全漏洞,可能會讓攻擊者利用各種向量進行大範圍攻擊,例如中間人 (MitM) 和遠端程式碼執行 (RCE) 攻擊。

假如開發人員未在軟體開發生命週期內併入安全性評估和安全漏洞測試 (SDLC),或在某些情況下未針對應用程式依附元件導入自動更新政策,就會帶來實作不安全依附元件的威脅。

依附元件漏洞攻擊通常會從分析應用程式二進位檔 (.apk) 開始,目的是搜尋有安全漏洞的程式庫。此時,系統會執行開放原始碼情報 (OSINT),找出先前發現的潛在可利用漏洞。這麼一來,攻擊者就能運用公開揭露的安全漏洞資訊,例如常見安全漏洞與弱點 (CVE),展開後續攻擊。

影響

如果攻擊者成功利用了不安全的依附元件,可能會導致大規模攻擊,例如遠端程式碼執行 (RCE)、SQL 插入 (SQLi) 或跨網站指令碼攻擊 (XSS)。因此,整體影響會與第三方軟體引入和攻擊者能利用的安全漏洞類型直接相關。一旦有安全漏洞的依附元件遭人成功利用,可能就會發生資料侵害或服務不可用的情況,進而在信譽和經濟方面造成重大影響。

因應措施

縱深防禦

請注意,您必須同時採行下列因應措施,才能確立更完善的安全防護機制,並減少應用程式的攻擊途徑。確切方式一律應視個案情況評估。

依附元件安全漏洞評估

在開發生命週期開始時導入依附元件驗證機制,有助於偵測第三方程式碼中的安全漏洞。這個階段會測試非內部建構的程式碼是否安全無虞,再於正式環境中推出。如要補強驗證程序,您可以在軟體開發生命週期中實作靜態與動態應用程式安全防護測試 (SAST 與 DAST) 工具,強化應用程式的安全防護機制。

持續更新依附元件

請務必持續更新程式碼中內嵌的所有依附元件。為此,建議您導入自動更新機制,這樣每當第三方元件發布新的安全性修補程式時,更新就會推送至正式版測試群組。

執行應用程式滲透測試

請定期執行滲透測試。這類測試旨在找出任何可能影響專屬程式碼/第三方依附元件的已知安全漏洞。此外,安全性評估往往也可找出未知的安全漏洞 (0-day)。滲透測試對開發人員來說非常實用,因為他們可以藉此獲得應用程式現行安全防護機制的數據匯報,有助於安排要優先處理的安全漏洞問題。

資源