<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>

    實現高效、高精度的靜態應用安全檢測

    VSole2022-01-18 09:20:33

    隨著科技的飛速發展,網絡空間的主權完整和安全也成為影響國際關系的重要因素,國家之間的競爭也在由物理空間逐漸轉向網絡空間,國內的網絡安全也面臨著越來越多的風險和挑戰。根據Gartner提供的數據表示,75%的安全攻擊是由軟件自身漏洞造成的,針對軟件漏洞的攻擊已成為黑客入侵的主要方式之一,而且攻擊者通過挖掘軟件代碼中的多個安全漏洞,形成攻擊鏈條的不法行為,對關系到國計民生的軟件系統帶來了重大安全隱患。除此之外,開源文化的盛行在大幅度提升軟件開發效率的同時,也增進了潛在的風險,這些開源組件中潛在的安全漏洞很可能被攻擊者利用。

    面對這些威脅時,傳統上以“滲透測試”為主的軟件安全檢測手段,發現安全漏洞的覆蓋率遠遠不足,且產品上線之前執行的滲透測試相對滯后,安全漏洞修復成本過高。因此在對開發效率和安全要求越來越高的情況下,企業組織還要面臨更嚴峻的挑戰:

    • 敏捷開發快速迭代,更短的開發周期,對安全檢測響應要求更高;
    • 很多企業在系統上線運行之后采用加固、防火墻、WAF等措施,這些被動防御措施,只能防范已有的安全漏洞,對于未知的安全漏洞無法進行防御,導致軟件仍然存在著巨大風險;
    • 在研發階段沒有有效的安全檢測手段,缺乏有效的檢測工具,或檢測工具得不到有效利用。

    傳統軟件測試工作強調左移,要求進行單元測試和接口測試,其實代碼中的安全漏洞也屬于缺陷,這種安全上的缺陷比功能缺陷為企業帶來了更大的風險,所以在研發階段,有必要引入靜態應用安全測試工具(SAST),對代碼進行迭代開發的同時,進行迭代檢測。介于上述行業背景和技術發展現狀,發布本期牛品推薦——開源網安:CodeSec代碼審核平臺。

    標簽

    靜態應用安全測試工具、代碼審核工具、代碼審計、源代碼掃描、開發安全

    用戶痛點

    目前SAST產品市場已經成熟,很多的安全廠商推出SAST類型的檢測工具,形成了百花齊放、百家爭鳴的情況,這對于很多企業決策者來說,帶來了工具選擇性的挑戰,同時也存在著一些認知上的誤區。主要體現在以下幾點:

    1. SAST誤報率高,對于檢測出的漏洞進行復核,工作量較大;
    2. 安全漏洞描述過于專業化,讓開發人員很難理解;
    3. 未提供直接的、代碼級的修復方案,開發人員需要額外花時間尋找可行的修復方案;
    4. 對于中、大型以上企業往往需要對大量軟件進行迭代檢測,需要高并發、高可調度的方案;
    5. SAST工具不能夠滿足企業與現有流程規范的一致性;
    6. SAST工具集成度不夠,需要花費人工時間去進行處理。

    解決方案

    開源網安的“CodeSec 代碼審核平臺“是全新一代靜態應用安全測試(SAST)解決方案,主要用于軟件代碼安全審核和質量分析,提供漏洞詳情和修復方案,能夠幫助開發和安全團隊在開發階段早期發現并修復漏洞,提升軟件代碼安全質量,實現“安全左移”,全面助力企業用戶解決上述痛點問題;

    首先,由于靜態分析技術的局限性,導致靜態分析工具存在一定比例的誤報率。針對這一問題,開源網安的CodeSec通過采用自研的核心檢測引擎,在傳統工具多是采用數據流分析的基礎上,采用函數摘要、指向分析等進行上下文敏感的分析,進而發現傳統檢測工具無法檢測出的安全缺陷和漏洞,同時,通過對用戶開發軟件進行共性分析,進一步優化軟件產品的檢測規則,可以大幅度減少誤報。

    圖:完整的安全弱點概覽

    其次, CodesSec的安全專家對CWE、OWASP等安全漏洞進行大量研究的基礎上,對安全漏洞描述做了全新的描述,包括存在的風險、緩解措施、示例代碼、污點軌跡跟蹤、定位到代碼行等描述信息,能夠讓開發人員快速理解漏洞的引入點、觸發點,找到最佳的修復位置,排除風險。另外,開源網安能夠為開發人員提供安全編碼方面的培訓,對檢測報告提供解讀服務、遠程支持等附加服務,最大程度上幫助開發人員解決安全開發中的實際問題。

    第三, CodeSec在檢測報出的安全漏洞描述中,提供代碼修復示例,能夠讓開發人員快速修復漏洞。同時,CodeSec團隊也在研究安全漏洞自動修復技術,計劃在不久的將來推出能夠安全漏洞自動修復的版本,進而為代碼級解決方案提供全面支撐。

    圖:詳細的漏洞信息與修復方案

    第四,在并發檢測的需求上,CodeSec采用多進程、多線程方式,每個檢測任務在一個線程中進行檢測分析,對于查詢、審計等采用獨立線程進行處理等方式,可以支持多個檢測任務并發檢測。而對于并發需求更高的用戶,可以采用分布式部署方案。

    第五,對于企業自身編碼規范滿足性要求,CodeSec安全專家對工具提供的上千個檢測規則與企業自身的編碼規則進行對比分析,對于工具不滿足的檢測規則提供定制,最大程度滿足用戶要求,保證其業務和標準的延續性。

    最后一點,基于用戶需要檢測工具與其它工具進行集成的要求,CodeSec能夠與Git、GitLab、GitHub、SVN、TFS、Perforce、Mercurial、Jira、禪道、Bugzilla、Eclipse、IDEA、VS-Code、Visual Studio、Android Studio等工具集成,基本上可以滿足大部分用戶要求。

    圖:支持與Jira對接

    用戶反饋

    開源網安為金融、通信、政府、交通、評測機構等用戶部署了上百套 CodeSec 代碼審核平臺,在有多項目高并發需求的大型企業中建立代碼審核SaaS平臺,幫助企業避免因為應用程序漏洞而造成的損失。以下是兩個典型案例的用戶反饋:

    “開源網安CodeSec代碼審核平臺為我市若干信息系統提供代碼審計服務,并為信息中心技術人員提供專業的安全培訓,幫助信息技術人員提升了軟件安全能力;同時,信息中心安全人員通過CodeSec代碼審核平臺對內部系統的源代碼進行安全掃描,便于日常安全運營。”

    ——某市信息中心

    “CodeSec代碼審核平臺將安全控制線提前,大幅降低安全人員工作量,源代碼安全掃碼覆蓋我司上百個應用,保障上線前的安全,大幅度提升軟件的安全質量同時,也滿足了用戶對供應商軟件安全的要求。”

    ——某大型基礎軟件企業

    安全牛評

    “代碼安全”是軟件安全之“根”,而“浸入式”的代碼安全是最低成本的安全解決方案。提高易用性,提高漏洞檢出率,降低漏洞修改難度,修復方案的可落地性是對靜態安全工具提出的嚴峻挑戰,同時,檢測能力、核心漏洞庫的管理、安全規則的應用,這些方面如何減少開發者的使用成本是源碼安全工具的另一個挑戰。

    本次牛品推薦的方案將源碼檢測與多種常用的開發項目管理的流程結合起來而不僅局限于對DevOps平臺的集成,可以使源碼級測試得到更廣泛的應用,提高代碼開發迭代的效率與質量。而打破傳統測試的方法,將多種源碼級測試能力結合起來,是開源網安的另一個優勢點。

    漏洞挖掘靜態函數
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在學習漏洞的時候,按照0Day2書中第24章第1節的內容進行學習的,這章本來是遠程拒絕服務的漏洞(CVE-2009-3103),但是當我在網上搜索這個漏洞的EXP時,意外的發現了Srv2.sys模塊中的另一個漏洞(CVE-2009-2532),而這個漏洞竟然可以實現遠程任意代碼執行,誒,這我就不困了,然后順手兩個漏洞一起分析了,把Srv2.sys模塊對數據包的接收處理過程逆向了一遍,了解了其中的漏
    這里建議doc文檔,圖片可以貼的詳細一些。爆破完好了,一樣的6。想給它一個清晰完整的定義其實是非常困難的。
    一、漏洞挖掘的前期–信息收集 雖然是前期,但是卻是我認為最重要的一部分; 很多人挖洞的時候說不知道如何入手,其實挖洞就是信息收集+常規owasp top 10+邏輯漏洞(重要的可能就是思路猥瑣一點),這些漏洞的測試方法本身不是特別復雜,一般混跡在安全圈子的人都能復現漏洞。接下來我就著重說一下我在信息收集方面的心得。
    針對被分析目標程序,手工構造特殊輸入條件,觀察輸出、目標狀態變化等,獲得漏洞的分析技術。輸入包括有效的和無效的輸入,輸出包括正常輸出和非正常輸出。安全公告或補丁發布說明書中一般不指明漏洞的準確位置和原因,黑客很難僅根據該聲明利用漏洞。代碼流分析主要是通過設置斷點動態跟蹤目標程序代碼流,以檢測有缺陷的函數調用及其參數。
    主要的環境準備參見上一篇文章,這里介紹本篇文章中會用的的模擬工具以及另一個靜態分析工具。
    涉及系統命令調用和執行的函數在接收用戶的參數輸入時未做檢查過濾,或者攻擊者可以通過編碼及其他替換手段繞過安全限制注入命令串,導致執行攻擊指定的命令。
    今天分享的主題是開源軟件漏洞挖掘實踐,主要講對于企業項目、開源項目審計的認識以及做代碼審計的經驗。
    一前言為了幫助更加方便的進行漏洞挖掘工作,前面我們通過了幾篇文章詳解的給大家介紹了動態調試技術、過反調試技術、Hook技術、過反Hook技術、抓包技術等,掌握了這些可以很方便的開展App漏洞挖掘工作,而最后我們還需要掌握一定的脫殼技巧,進行進一步助力我們漏洞挖掘的效率。本文第二節主要講述Android啟動流程和加殼原理。本文第三節主要介紹整體加殼的實現。本文第四節主要講當下脫殼點的概念。
    依賴于特定硬件環境的固件無法完整模擬,需要hook掉其中依賴于硬件的函數。LD_PRELOAD的劫持對于特定函數的劫持技術分為動態注入劫持和靜態注入劫持兩種。網上針對LD_PRELOAD的劫持也有大量的描述
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类