?

JAVA語言安全漏洞測試實踐與分析

2018-02-13 16:31何春江
精品 2018年7期
關鍵詞:測試階段源代碼安全漏洞

■ 何春江

珠海大橫琴科技發展有限公司 廣東珠海 519000

1 引言

JAVA語言作為一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,以其卓越的通用性、高效性和平臺移植性,深受全球眾多企業的青睞,JAVA源代碼應用軟件的產品更是數不勝數。

目前黑客的攻擊趨勢從以往的操作系統轉向了一般的應用軟件,JAVA源代碼應用軟件也深受其害。我們的目的就是結合工具的理論漏洞指標和用戶對指標的認可需求,給用戶提供源代碼安全漏洞掃描,快速鎖定易被利用的安全漏洞,實現軟件安全性的全面提升。

2 測試內容、方法及結果

2.1 測試內容

對應用程序進行安全漏洞測試伴隨著軟件的整個開發周期,目的是提高開發者的安全意識,使開發者在編寫代碼時就注意一些比較容易出現卻又較易修改的錯誤,解決一些在代碼中的安全隱患,杜絕為黑客留下可乘之機。

本文借助某源代碼安全漏洞靜態檢測工具,對一個JAVA語言應用程序源代碼的案例采用自動化測試手段與人工分析相結合的方法進行了源代碼安全漏洞掃描靜態測試。該案例共有JAVA語言源代碼44791行,根據應用程序的特點,同時結合對用戶需求的調研分析,針對JAVA語言源代碼的218種安全漏洞進行了測試。

2.2 測試方法

明確了需要測試的內容后,即可在源代碼安全漏洞靜態檢測工具中選擇需要測試的JAVA語言代碼安全漏洞指標,對被測的JAVA語言應用軟件源代碼執行安全漏洞掃描。掃描完成后需要根據安全漏洞指標的相關描述對掃描結果進行人工分析,排除掃描結果中的誤報。

源代碼安全漏洞測試的過程主要分為兩個階段,包括測試階段和分析階段。

(1)測試階段。

在測試階段中,針對用戶關注和問題嚴重級別高的安全漏洞進行源代碼的安全漏洞測試,目的是發現問題后,鎖定問題代碼。

(2)分析階段。

在分析階段中,針對測試階段所發現的問題代碼進行分析和比較,排除誤報問題后分析漏洞代碼產生的原因,比較并對問題代碼進行模擬黑客攻擊的假設,通過對黑客攻擊的分析挖掘解決問題的方法。

2.3 測試結果分析

本次源代碼安全漏洞測試涵蓋了不檢查循環條件中的輸入值、跨站腳本、SQL注入、絕對路徑遍歷等218種JAVA安全漏洞類別的內容,未發現代碼注入、命令注入、連接字符串注入等共186種JAVA語言代碼安全漏洞,定位了跨站腳本、SQL注入、不檢查循環條件中的輸入值等共32種JAVA語言代碼安全漏洞481個。其中:3級高風險代碼安全漏洞8個,2級中風險代碼安全漏洞31個,1級低風險代碼安全漏洞442個。

為了使測試結果更加具有說服力,體現源代碼安全漏洞測試的作用,本次JAVA語言源代碼安全漏洞測試針對用戶關注和問題嚴重級別高的安全漏洞,詳細分析了問題代碼的數據流和控制流,深入理解了黑客攻擊應用軟件的方式,突出了被測應用軟件在安全方面的脆弱性,使用戶承認了安全風險的存在,并加強了對源代碼安全漏洞測試的認可。

3 測試結果的嚴重程度和用戶的認可度研究

經過掃描和分析后的測試結果,從技術層面講,都屬于測試角度的分析,因為在整個測試中涵蓋的安全漏洞的風險等級都是根據理論上的嚴重程度來分類的?;跍y試服務的對象是企業用戶,所以征求用戶對風險級別的意見是源代碼安全漏洞測試一個必不可少的環節。

安全漏洞問題嚴重程度理論分級包括:1級高風險(High)、2級中風險(Medium)、3級低風險(Low)和4級信息風險(Information)。用戶的風險級別的用戶反饋問題級別和認可度分類包括:①類問題反饋級別。風險較高,容易被利用且一旦被利用會立即對公司業務造成影響的安全漏洞。②類問題反饋級別。風險中等,不容易被利用,但一旦被利用會立即對公司業務造成影響的安全漏洞。③類問題反饋級別。風險較低,不會立即對公司業務造成影響的安全漏洞。④類問題反饋級別。無風險。

安全漏洞問題嚴重程度理論分級是業界專家的一般經驗總結,企業開發人員和測試人員參與的測試結果的嚴重程度和用戶認可度的反饋評估則更加符合該企業的實際。經過比較,業界專家和企業用戶對JAVA源代碼安全漏洞指標的認識總體上是一致的,但一些指標的關注程度依然是有所不同的。

(1)緩沖區溢出漏洞在嚴重程度的理論分級里屬于高等級漏洞。用戶認為源程序寫入緩沖區的數據基本上都屬于內部數據類型的轉換,又或者環境變量和配置文件都是項目內部使用,不易被黑客利用。

(2)未捕捉的異常處理在問題嚴重程度理論分級里屬于低風險,而在用戶認可度里屬于B類問題反饋級別,風險中等,不容易被利用,但一旦被利用會立即對公司業務造成影響的安全漏洞。用戶認為,系統異常報錯信息不明確、沒有捕獲系統異?;驔]有處理已捕獲到的異常在實際產品開發中都是不允許的,因為會降低系統的可維護性,影響產品的服務質量。

(3)弱加密問題在嚴重程度理論分級里屬于低風險的隱私受侵犯,在用戶認可度里屬于D類問題反饋級別,無風險,用戶方需根據他們的業務來確認在實際產品開發中是否需構件或隨機數生成器來加密。

針對自動化測試工具掃描出來的安全漏洞,通過分析和比較測試角度上漏洞的理論風險級別與用戶實際的反饋意見,最終進一步完善測試解決方案和漏洞指標,以便提供給用戶更加切合實際需求的源代碼安全漏洞測試服務。

4 結束語

本次技術研究詳細分析了問題代碼的數據流和控制流,深入理解了黑客攻擊應用軟件的方式,突出了被測應用軟件在安全方面的脆弱性,得到了用戶的高度認可。通過本次技術研究,進一步提升了JAVA語言源代碼安全漏洞測試的能力,能夠制定出更加符合用戶需求的源代碼安全漏洞測試方案,給企業用戶提供更加高效實用的軟件安全漏洞測試服務。

猜你喜歡
測試階段源代碼安全漏洞
基于TXL的源代碼插樁技術研究
基于模糊測試技術的軟件安全漏洞挖掘方法研究
探析計算機安全漏洞檢測技術
淺談計算機軟件工程技術中的邏輯運用
試論安全漏洞檢測技術在軟件工程中的應用
智能設備安全漏洞知多少
軟件源代碼非公知性司法鑒定方法探析
基于語法和語義結合的源代碼精確搜索方法
Android應用軟件測試研究
關于改進英語專業高級英語教學過程的分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合