<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    對Java第三方庫使用、更新、風險的實證評估

    VSole2023-03-08 13:59:22

    1.研究介紹

    第三方庫(Library)的使用,幫助我們不在重新造輪子,但與此同時也為項目(Project)帶來了異步風險。第三方庫延遲更新、很少更新、包含漏洞代碼等,都會為項目增加可能的攻擊面,同時第三方庫的修復、維護也需要項目開發者及時同步,從而避免不必要的風險。因此本文是從第三方庫的使用、更新、風險三方面出發,進行一個定量、全面的研究,從而為 JAVA 生態做出一些貢獻。本文主要聚焦于以下三個問題,并同時提出了一個原型系統來對問題研究結果進行驗證。

    • RQ1:使用分析,Library 的使用強度與時效。
    • RQ2:更新分析,Library 的更新強度與延遲。
    • RQ3:風險分析,使用和更新過時 Library 的潛在風險。

    文章為了更好的展現研究的真實性,通過數學方式定義了多個指標,并且通過其對真實 JAVA 生態情況進行了量化分析。本文主要選用的是 200 stars 以上的 Java 項目(最終 1828 個)

    2.使用分析

    文章從使用強度、使用過時兩方面來進行研究。

    圖 1 跨項目和庫的使用強度分布

    使用強度

    經研究發現,74(9.2%) 的項目沒有調用庫的 API,265(32.9%) 的項目調用庫 API 比例不超過 10%,266(33.0%) 和 64(7.9%) 的項目調用庫 API 分別超過 20% 和 40%。由此可見,項目通常對庫的 API 是存在依賴性的,但同時庫的開發人員也可以根據此信息進行 API 的調整。

    圖 2 跨項目和庫的使用過時分布

    使用過時

    研究表明,82(10.3%) 項目使用的庫平均最多與最新版本相差兩個版本。306(38.0%)、118(14.6%) 和 19(2.4%) 個項目采用的庫分別與最新版本平均相差超過 10、20 和 50 個版本。可以看到幾乎所有的項目使用的都是過時的版本,因此這方面必然會存在功能和安全性的差距。

    3.更新分析

    文章定義了更新強度、更新延遲兩個概念來進行研究。

    圖 3 跨項目和庫的更新強度分布

    更新強度

    89(11.0%) 和 329(40.8%) 個項目分別更新了最多 20% 和 50% 的當前聲明的庫依賴項。354(43.9%) 和 101(12.5%) 個項目分別更新了超過 50% 和 80% 的當前聲明的庫依賴項。另一方面,4,414(32.5%) 個庫在所有依賴它們的項目中從未更新過。可以看到項目的更新強度不高,盡管項目維護良好,但更新相當差。

    圖 4 跨項目和庫的更新延遲分布

    更新延遲

    186(23.1%) 項目最多延遲 30 天更新其庫依賴項。407(50.5%)、256(31.8%) 和 174(21.6%) 個項目的更新延遲分別超過 60、120 和 180 天。13.3% 個項目未包含在圖 5a 中因為其無法計算更新延遲(即,90 個項目從未更新任何庫依賴項;17 個項目更新了庫依賴項,但我們未能抓取發布日期)。項目開發人員對新庫的發布反應遲緩。如此寬的時間窗口可能會增加使用過時庫的風險(例如,安全漏洞),甚至會增加更新到新版本的難度,因為在此時間窗口內將使用更多的庫 API。

    4.風險分析

    文章定義了使用風險、更新風險兩個概念來進行研究。

    圖 5 跨項目和庫版本的使用風險分布

    451(56.0%) 個項目采用有缺陷的庫版本。328(40.7%) 個項目采用 1 到 5 個有缺陷的庫版本,128(15.3%)個項目甚至使用超過 5 個有缺陷的庫版本。在 25.7% 項目中,他們使用的有缺陷的庫版本有 1 到 5 個安全漏洞。在 188(23.3%) 項目中,他們使用的 bug 庫版本甚至有超過 10 個安全漏洞。超過一半的項目使用包含安全漏洞的庫版本。三分之二的庫版本包含安全漏洞。安全漏洞的相對普遍存在表明,如果項目開發人員沒有意識到使用庫中的安全漏洞或延遲庫更新,項目將面臨潛在風險。

    在采用有 bug 的庫版本的 451 個項目中,有 151(33.5%) 項目沒有在使用過的有 bug 的庫版本中調用 API,181(40.1%) 項目最多調用 20 個 API,82(18.2%) 項目調用超過 40 個 API。此外 4,236(35.3%) 個有缺陷的庫版本在安全版本中刪除了 300 多個 API。API 的使用需要及時關注,可能存在安全風險。開發人員應當及時關注庫 API 的修改情況。

    5.個人思考

    • 當下 Java 生態或者說其他軟件包供應鏈生態中,往往可能由于代碼量大,研究人員代碼更新等情況而存在大量的未使用第三方庫,這對于軟件工程來說是一個值得研究的問題。
    • Java 代碼安全性和漏洞傳播也是值得研究的點(尤其 Java 的反射機制可能會有一些研究價值?)。
    • Java 包臃腫問題近些年確實有一些研究,這方面同樣還有一些提升的空間。
    信息安全api
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    近年來,在國家政策的引導、互聯網技術的更新迭代和數字經濟行業的努力下,人工智能、5G、云計算等為代表的數字基礎設施不斷建設完善,我國數字經濟發展迅速。但同時不容忽視的是,數據安全也成為極大的隱患,如何平衡好數據開放與數據保護成為數字經濟健康發展的關鍵。
    以銀行信用卡業務API安全為例,剖析當下銀行API存在的安全挑戰,并提供有效的解決方案。這些信息均屬于用戶個人隱私,一旦被泄露,很容易被犯罪分子惡意利用并實施詐騙等違法行為。僵尸API僵尸API是指業務已經停止,但相關的API接口還未下線。僵尸API往往存在于企業安全視線之外,安全防護相對薄弱,很容易成為攻擊者的突破口。
    近日,國家信息安全漏洞庫(CNNVD)收到關于Apache Apisix 授權問題漏洞(CNNVD-202112-2629、CVE-2021-45232)情況的報送。成功利用漏洞的攻擊者,可以在未經授權的情況下獲取或更改設備的配置信息,進而構造惡意數據對目標設備進行攻擊。Apache APISIX Dashboard 2.10及其之前版本均受此漏洞影響。目前,Apache官方已經發布了版本更新修復
    11月19日,“EISS-2021企業信息安全峰會上海站”召開,永安在線COO邵付東受邀出席大會并在數據安全專場中進行分享。
    建議用戶盡快采取修補措施。
    工業信息安全資訊
    12月3日,首屆API安全管理論壇在深圳成功舉辦眾多安全領域技術專家以及企業信息安全決策與實踐者齊聚一堂,圍繞數字化時代下API面臨的挑戰及如何進行API安全管理進行了分享與探討,論壇現場座無虛席,精彩觀點不斷。
    API采用率的大幅增長為攻擊者提供了更多方法來破壞身份驗證控制、泄露數據或執行破壞性行為。
    解答API 安全和數據安全之間的關系是什么?怎么樣通過 API 安全的手段或 API 安全這個點來解決數據安全的問題。
    下一代加密技術接口是微軟在 Windows 下實現的取代上一代加密應用程序接口的密碼服務接口。其目的是提供一種可擴展的方式以支持各種應用程序和未知的密碼算法,以便不同的算法、協議向操作系統注冊,并對應用程序提供統一的調用接口,應用程序無需改造即可支持對新算法的使用。研究了基于下一代加密技術接口在操作系統中注冊國密SM2、SM3 算法,完成解析和驗證國密 SM2 證書,實現了國密算法在系統中的注冊及
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类