摘要:許多公司都投資于或之類的靜態分析安全測試,解決方案。用靜態分析方法確保編程安全一書詳細描述了靜態分析技術的基本原理。博士將靜態分析無法找出的諸多安全問題歸為瑕疵,而非程序錯誤。
靜態分析安全測試(SAST)是指不運行被測程序本身,僅通過分析或者檢查源程序的語法、結構、過程、接口等來檢查程序的正確性,那么采用靜分析安全測試的方法有什么優缺點呢,且讓小編給你說道說道。
許多公司都投資于 HP Fortify、IBM AppScan Source、 Checkmarx 或 Coverity 之類的靜態分析安全測試(Static Analysis Security Testing,SAST)解決方案。如果使用得當,SAST 解決方案的確能大放異彩:相比于動態分析或運行時測試方案,它們能在開發階段,而不是開發完成之后,探測出源碼中的安全漏洞,從而大大降低修復安全問題的成本。它們還能找到許多動態分析工具通常無法找到的漏洞。而且,得益于其自動化的特性,SAST 工具能在成百上千款應用間實現伸縮,而這是僅靠人為分析方法無法企及的。
在對 SAST 解決方案投資之后,一些公司便放棄了在應用安全領域的進一步投資。這類公司的股東往往認為:靜態分析方法覆蓋了絕大多數軟件安全漏洞,或是諸如 OWASP 前十的重要高風險漏洞,因此已經足夠好了。這些公司往往不會在軟件開發初期就考慮安全問題,而是止步于在應用部署到生產環境之前,獲得一份來自掃描工具的“無瑕疵報告”。其實,這種心態非常危險,因為它無視了 SAST 技術的基本限制。
《用靜態分析方法確保編程安全(Secure Programming with Static Analysis)》一書詳細描述了靜態分析技術的基本原理。此書的作者 Brian Chess 與 Jacob West 是 Fortify Software 公司背后的技術骨干,此公司后來被惠普收購。在書中,作者談到:“一半的安全問題都源自軟件的設計,而非源碼。”之后,他們列舉了軟件安全問題的類別,比如與上下文特定的缺陷(這類問題往往在代碼中可見)等等。他們還指出:“沒有人敢斷言,源碼檢查就能找出所有問題。”
靜態分析工具相當復雜。為了正常發揮其功能,它們需要從語義上理解程序的代碼、依賴關系、配置文件以及可能不是用同一種語言寫的組件。與此同時,它們還必須保持一定的速度以及準確性,從而降低誤報的數量。此外,JavaScript、Python 之類的動態類型語言,在編譯時往往無法決定對象所屬的類或類型,因此進一步影響了靜態分析工具的效率。因此,找到大多數軟件安全漏洞不是不切實際,就是不可能的。
NIST SAMATE 項目力求測量靜態分析工具的效率,從而幫助公司改善該技術的使用情況。它們對一些開源軟件包分別執行了靜態分析以及人工代碼檢查,并對比兩者的結果。分析顯示,在所發現的全部漏洞中,1/8 到 1/3 的漏洞屬于簡單漏洞。進一步的研究發現,這些工具只能發現簡單的實現錯誤,對于需要深入理解代碼結構或設計的漏洞往往束手無策。在流行的開源工具 Tomcat 上運行時,面對26個常見漏洞,靜態分析工具只對其中4個(15.4%)發出了警告。
這些統計數據與 Gartner 論文《應用安全:大膽想象,從關鍵入手 ( Application Security: Think Big, Start with What Matters ) 》中的發現相互呼應。在這篇論文中,作者談到:“有趣的是,通常認為 SAST 只能覆蓋10%到20%的代碼問題,DAST 覆蓋另外的10%到20%。”按照這種觀點,如果一個公司自主開發了一個類似 Tomcat 的工具,并以靜態分析為主要的應用安全措施,這意味著,會有22個常見的安全漏洞原封不動地遺留在他們部署的應用中。
Gary McGraw 博士將靜態分析無法找出的諸多安全問題歸為瑕疵,而非程序錯誤。這些瑕疵的性質與應用相關,靜態分析可能無法找出的問題包括:
機密數據的存儲與傳輸,尤其是當這些數據的程序設定與非機密數據無異時。
與身份認證相關的問題,比如蠻力攻擊敏感系數,密碼重置效力等。
與非標準數據隨機選擇的熵相關的問題
與數據保密性相關的問題,比如數據保持以及其它合規性問題(比如:確保信用卡號在顯示時是部分掩蓋的)。
與普遍觀點相反,許多靜態分析工具的覆蓋缺口隱含著巨大的組織風險。而且,多數公司組織都無法接觸源代碼,導致 SAST 工具可能無法理解某種特定的語言或框架,再加上大規模部署這一技術以及處理錯誤警報帶來的挑戰,這一風險變得更為復雜了。
盡管靜態分析是確保安全開發的重要技術,但顯而易見,它比不上從建立應用之初就考慮安全問題的策略。公司組織只有將安全理念融入產品需求與設計中去,并以靜態分析等技術加以驗證,才最有可能創造出牢固安全的軟件。
原文鏈接:http://infosecisland.com/blogview/24620-Understanding-the-Strengths-and-Limitations-of-Static-Analysis-Security-Testing-SAST.html
如今,多樣化的攻擊手段層出不窮,傳統安全解決方案越來越難以應對網絡安全攻擊。OneRASP 實時應用自我保護技術,可以為軟件產品提供精準的實時保護,使其免受漏洞所累。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客。
本文轉自 OneAPM 官方博客
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11171.html
摘要:優于的大優勢極少誤報率不同于,不依賴于分析網絡流量去尋找問題,除了發現漏洞或發現攻擊行為,它通常不會發出任何聲音。這樣能極大地減少誤報率。 Web 應用防火墻(WAF)已經成為常見 Web 應用普遍采用的安全防護工具,即便如此,WAF 提供的保護方案仍舊存在諸多不足,筆者認為稱 WAF 為好的安全監控工具更為恰當。幸運的是,應用安全保護技術也在快速發展,運行時應用程序自我保護系統(簡稱...
摘要:是一個有趣的實例,他們使用的是自動化技術,同時結合了自動化工作流程進行人工檢查,從而保證零誤報率,且業務邏輯測試達到的類覆蓋率。 而今,大多數應用都依賴于像入侵防護系統(Instrusion Prevention System)和 Web 應用防火墻(Web Application Firewall,以下全文簡稱 WAF)這樣的外部防護。然而,許多這類安全功能都可以內置到應用程序中,實...
摘要:而閉包的神奇之處正是可以阻止事情的發生。拜所聲明的位置所賜,它擁有涵蓋內部作用域的閉包,使得該作用域能夠一直存活,以供在之后任何時間進行引用。依然持有對該作用域的引用,而這個引用就叫閉包。 引子 先看一個問題,下面兩個代碼片段會輸出什么? // Snippet 1 a = 2; var a; console.log(a); // Snippet 2 console.log(a); v...
摘要:復雜系統仿真的微博客虛假信息擴散模型研究面向影子分析的社交媒體競爭情報搜集面向人機協同的移動互聯網政務門戶探析經驗證。微博客的企業競爭情報搜集移動社交媒體用戶隱私保護對策研究注意這里的提示,原先的個文件沒有被再次抽取,只有個新文件被抽取。 showImg(https://segmentfault.com/img/bVbiU7y?w=1000&h=508); 本文為你展示,如何用Pyth...
摘要:表示,已在野外漏洞利用中檢測到。在一份獨立報告中,警告說,這是一個重點問題,它注意到這個漏洞被利用的跡象。該公司表示此漏洞允許攻擊者通過發送特制請求,通過端點獲得對產品的未經授權訪問。這將允許攻擊者進行后續攻擊從而導致。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:1...
閱讀 3621·2021-09-30 09:59
閱讀 2229·2021-09-13 10:34
閱讀 576·2019-08-30 12:58
閱讀 1507·2019-08-29 18:42
閱讀 2198·2019-08-26 13:44
閱讀 2922·2019-08-23 18:12
閱讀 3321·2019-08-23 15:10
閱讀 1625·2019-08-23 14:37