999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于代碼審計的Web 應用安全性測試技術研究

2021-06-29 10:34:02韓可
數字技術與應用 2021年5期
關鍵詞:報告

韓可

(上海紐盾科技股份有限公司,上海 200438)

1 背景

1.1 全球面臨軟件安全危機

從我們對2018年網絡威脅的研究中可以看出,Web應用程序黑客攻擊是對組織和個人最頻繁的攻擊之一。被黑客入侵的網站可用于多種用途:散布惡意軟件,竊取數據,發布廣告或禁止的信息,進行欺詐或滲透內部網絡。

Web應用的發展伴隨著巨大的安全危機,解決漏洞問題是軟件開發從業者和安全從業者們迫在眉睫的任務。

1.2 Web應用安全性測試的必要性

如果沒有Web安全測試,程序上帶有病毒,你的系統就會受到巨大影響,很容易成為黑客們的挑釁對象。剛上線系統對互聯網環境的適應性比較差,代碼審計可以充分挖掘代碼中存在的安全問題;避免系統剛上線就遭受到黑客的重大攻擊。應事先于黑客發覺系統的安全隱患,并提前部署好安全防御措施,保證系統的每一個環節在未知環境下都能經受得起黑客挑戰。實踐證明,保證代碼質量最快捷有效的手段就是源代碼的審計,而程序的安全性是否有保障在很大程度上取決于程序代碼的質量,因此做好源代碼審計是很有必要的[2]。

1.3 目標

在這項工作中,對軟件開發人員進行安全代碼審查的有效性進行了探索性分析,希望能夠確定:(1)開發人員進行代碼審查的效率如何以及其中的差異程度;(2)聘請的獨立審核員的最佳數量;(3)是否可以提前預測哪些開發人員在執行安全審核方面最有效;(4)和審查工具的結果進行對比。

2 預測效果

代碼審計是一種以發現程序錯誤,安全漏洞和違反程序規范為目標的源代碼分析,能夠找到普通安全測試所無法發現的安全漏洞。提前做好代碼審計工作,非常大的好處就是將先于黑客發現系統的安全隱患,提前部署好安全防御措施,保證系統的每個環節在未知環境下都能經得起黑客挑戰,進一步鞏固客戶對企業及平臺的信賴[3]。我們向每位審稿人詢問以下因素,希望這些因素可能與審稿人的有效性有關:

(1)對應用理解;(2)對評估的自我評估信心;(3)教育程度;(4)有代碼審查經驗;(5)與安全有關的認證的名稱和數量;(6)具有軟件/網站開發和計算機安全方面的經驗;(7)對軟件/Web開發人員和安全專家充滿信心;(8)最熟悉的編程語言。

識別審閱者對這些問題的響應與他們在代碼審閱期間發現錯誤的成功之間的關系,可以洞悉哪些標準或因素最能預測成功的安全審閱。同時對比審查工具結果。

3 實現原理

經過多年對IAST技術的深入分析及需求調研,注重結果的精確度及工具的易用性,更加適用于DevSecOps場景,提升代碼安全質量。我們編寫了一個代碼審計助手程序,應用于代碼安全審核和質量分析,支持對主流編碼規范、后門代碼檢測、分布式引擎部署。

我們采用最具代表性的代理模式和插樁模式。

代理模式,設置代理服務器,讓PC端瀏覽器或者移動端APP的功能測試的流量通過代理完成,模擬多種漏洞檢測方式,通過轉發的流量對被測服務器進行安全測試[3]。

插樁模式,在特定位置安裝探針程序的同時保證目標程序原有邏輯完整,探針可以獲取請求、代碼數據流、代碼控制流等,不影響原有程序的運行。可以通過請求、代碼、數據流、控制流綜合分析來判斷是否存在漏洞。

3.1 代理模式實現原理

代理模式實現原理如圖1。

圖1 代理模式原理Fig.1 Delegation pattern

其測試步驟:(1)在瀏覽器中或者APP中設置代理;(2)測試開始后,代碼審計助手將復制的流量改造成安全測試的流量;(3)將改造后的流量模擬發起安全測試,根據返回的數據結果判斷是否存在漏洞。

3.2 主動插樁實現原理

主動插樁實現原理圖如圖2。

圖2 Active 插樁原理Fig.2 Principle of Active piling

其測試步驟:

(1)被測試服務器中安裝插樁探針;(2)DAST Scanner發起掃描測試;(3)探針追蹤被測試應用程序在掃描期間的反應,包含測試、覆蓋率和上下文測試,測試完之后將信息發送給管理服務器,將安全測試結果展示出來。

3.3 被動插樁實現原理

被動插樁實現原理如圖3。

圖3 Passive 插樁原理Fig.3 Principle of Passive piling

其測試步驟:

(1)被測試服務器中安裝插樁探針;(2)插樁探針在應用程序運行時獲取請求和代碼數據流、代碼控制流;(3)插樁測試完之后將信息發送給管理服務器,將安全測試結果展示出來。

4 分析驗證

4.1 準備工作

我們使用了一個現有的開源Web CMS應用程序。該CMS是用PHP和JavaScript編寫的,使用MySQL數據庫。由于:(1)代碼中存在已知漏洞,我們選擇了此應用程序進行研究;(2)它的大小足夠小,足以使安全審查以合理的成本完成;(3)它的相對寬松的許可證,使我們可以將代碼匿名化。

該CMS當前有四個發行版本,我們選擇讓審閱者審閱第三個發行版本0.6,而不是最新版本,該版本具有更多已知的漏洞,但仍具有與最新版本相當的功能。

為了準備和匿名處理代碼,我們通過兩種方式修改了CMS源代碼:首先,刪除了名稱和所有商標,將其重命名為TestCMS,這是一個通用名稱,無法在網上搜索。希望開發人員查看該CMS的錯誤跟蹤器或任何公開報告的漏洞;

我們希望確保他們沒有任何先入為主的方式來檢查代碼,而匿名化包括從頁面標題,所有相關圖像和Logo以及變量名稱或注釋中的所有和名稱相關的內容。對代碼進行匿名處理后,我們以兩種方式修改代碼以增加其中的漏洞數量,以減少隨機噪聲在我們對審閱者有效性的評估中的作用并增加漏洞類型的多樣性。

完成此修改之后,Web應用程序具有我們已知的三個Cross-Site 腳本漏洞,并且在整個應用程序中都沒有Cross-Site Request Forgery保護。其次,我們仔細介紹了兩個SQL注入漏洞,為確保它們代表自然可見的真實SQL注入漏洞,我們在安全列表網站(SecList.org)上找到了結構相似的CMS應用程序,

對它們進行分析,找出其中的兩個SQL注入漏洞,改編易受攻擊的代碼,并將這些漏洞引入TestCMS,結果是一個具有六個已知漏洞的Web應用程序。

確保這些漏洞可以合理地代表其他Web應用程序中存在的問題。

Web應用程序的任何訪問者都可以利用這六個已知的漏洞;他不必是注冊用戶;此外,這些漏洞僅是由應用程序的PHP源代碼中的錯誤引起的,例如,我們不考慮諸如此類的問題。另外還有拒絕服務攻擊或不安全的密碼策略等方面,但我們沒有在六個已知漏洞列表中列出這些問題,并未將此類報告歸類為不正確的內容,第4.1節包含了有關如何處理此類報告的更多詳細信息。

4.2 測試的流程

我們要求開發人員僅審查提供給他們的一部分代碼,尤其是讓他們審查除管理界面和客戶端代碼之外的所有內容,他們總共審查了大約3500行代碼。

人工漏洞:如前所述,我們引入了兩個SQL注入漏洞,添加這些人工漏洞會創建人為漏洞的代碼庫,其中應用程序的原始開發人員并未引入所有錯誤。

這些人為的漏洞可能會使結果產生偏差,因為它可能使代碼審閱比審閱“自然的bug”應用程序更容易或更難。通過確保真正的Web開發人員之前犯過相同的錯誤來實現代碼庫的功能。

靜態分析工具:我們限制驗證開發人員執行審核方式的方式;在設計實驗時已考慮了這一點;我們需要報告的每個漏洞的具體且詳細的信息。了解漏洞及其對應用程序的影響,從而最大程度地減少審閱者使用靜態分析工具的可能性,并最大程度地提高我們檢測靜態分析工具使用情況的能力。雖然不能保證開發人員手動完成審閱,但我們認為所有漏洞報告均已充分且準確地完成,這是經過手動代碼審查的結果,因此我們將其包括在我們的結果中。

安全專家與Web開發人員:我們借用了多名審閱者,其中一些專門研究安全性,而其他人則純粹是We b開發人員。這樣能通過不同的視角對安全漏洞有一個直觀的了解。

代碼審查工具里面提供的檢查項目包括:系統所用開源框架、源代碼設計、錯誤處理不當、資源濫用、API濫用、后門代碼發現、應用代碼關注等。

主要的關注要素包括:跨站腳本漏洞、跨站請求偽裝漏洞、SQL注入漏洞、命令執行漏洞、日志偽造漏洞、參數篡改、密碼明文存儲、配置文件缺陷、路徑操作錯誤、資源管理、不安全的Ajax調用、系統信息泄露、調試程序殘留、第三方控件漏洞、文件上傳漏洞、遠程命令執行、遠程代碼執行、越權下載、授權繞過漏洞等方面。

以PHP為例,整理了一些危險函數(見表1),提供給自動化審計工具對代碼進行掃描,提供后續結果分析。

表1 危險函數Tab.1 Hazard Function

4.3 常用工具列表

(1)自動化掃描工具:AWVS、OWASPZAP、Burpsuite等;(2)端口掃描、服務檢測:Nmap、THC-Amap等;(3)密碼、口令破解:Johntheripper、HASHCAT、Cain等;(4)漏洞利用工具:MetasploitFramework等;(5)應用缺陷分析工具:Burpsuite、Sqlmap等。

4.4 效果分析

為了了解開發人員的代碼審查并提供結果,我們首先必須對提交的每個漏洞報告進行分類。我們將每個漏洞報告歸為以下四類之一:有效漏洞,無效漏洞,安全隱患或超出范圍。

有效漏洞對應于Web應用程序中的可利用漏洞。如果開發人員發現了我們所知道的漏洞之一,或者她利用所報告的漏洞的步驟有效,則將其分類為有效。

無效漏洞是一種報告,該報告將某些代碼指定為實際上容易受到攻擊的代碼,我們通過嘗試使用開發人員提供的步驟來利用該應用程序,以及在源代碼中,當計算虛假報告的漏洞數量時,每個無效漏洞都會計算在哪,有效和無效漏洞都包含在報告的總漏洞總數中[4]。

安全隱患是指漏洞類別描述的報告可能是安全隱患,但不是可利用的漏洞或不是特定于此Web應用程序的;例如,任何有關拒絕服務攻擊或密碼選擇不安全之類。

代碼審計助手漏洞檢測率極高,包括水平越權、垂直越權等標準We b應用安全性測試無法檢測的邏輯漏洞,誤報率幾乎為0;漏洞詳情直接定位請求、數據流、代碼片段,修復漏洞更容易;采用Passive 插樁技術,無需重放請求,不會形成臟數據,可覆蓋加密、防重放、簽名等任意場景;近實時檢測漏洞,漏洞檢測隨著應用程序運行實時進行;誤報較少、無人工。

5 結語

我們的結果表明,多年的經驗和教育對預測受試者完成代碼審閱的程度沒有幫助,我們還發現受試者對他們執行情況的看法與報告的有效程度無關。

在我們的樣本中,有20%的審閱者沒有發現真正的漏洞,也沒有開發人員在七個已知漏洞中發現超過五個。

事實證明,沒有任何自我報告的指標可用于預測審閱者的有效性,這是一個尚待解決的問題,那就是選擇沒有經驗的開發真作為審閱者的最佳方法,評估方法取決于他們在先前分配的任務上的表現。

研究這些結果是否適用于其他人群,并評估我們的篩查測試的表現是否與審閱者的有效性相關,這將是很有趣的。回顧其他技術,例如自動滲透測試工具,我們將其作為未解決的問題留待以后的工作。

代碼審計助手支持掃描工具進行便捷式管理、優化掃描結果、輸出統一的漏洞描述和修復建議,方便用戶對比分析,解決各平臺輸出報告混雜、耗費整理時間等問題,減少代碼審核的人力、時間投入。

猜你喜歡
報告
報告
新西部(2022年3期)2022-04-13 22:20:53
UFO目擊報告
寫報告
童話世界(2018年25期)2018-10-10 08:14:52
一圖讀懂十九大報告
一圖看懂十九大報告
報告
南風窗(2016年26期)2016-12-24 21:48:09
體檢報告未交本人 誰擔責
中國衛生(2016年8期)2016-11-12 13:27:10
報告
南風窗(2015年22期)2015-09-10 07:22:44
報告
南風窗(2015年14期)2015-09-10 07:22:44
報告
南風窗(2015年7期)2015-04-03 01:21:48
主站蜘蛛池模板: 日本精品视频一区二区| 国产爽妇精品| 亚洲丝袜中文字幕| 欧美中日韩在线| 成人欧美日韩| 欧美亚洲另类在线观看| 99久久国产综合精品2020| 国产美女一级毛片| 青青操视频在线| 国产精品人成在线播放| 99热这里只有精品免费| 精品综合久久久久久97| 久久综合丝袜长腿丝袜| 国产视频资源在线观看| 国产拍揄自揄精品视频网站| 国产视频一区二区在线观看| 欧美日韩亚洲国产主播第一区| 人妻无码一区二区视频| 日韩AV手机在线观看蜜芽| 女人18毛片一级毛片在线 | 中文字幕av无码不卡免费| 强乱中文字幕在线播放不卡| 亚洲精品免费网站| 日韩精品亚洲一区中文字幕| 亚洲欧美另类中文字幕| 国产成人av大片在线播放| 国产97视频在线观看| 看你懂的巨臀中文字幕一区二区| 萌白酱国产一区二区| 国产精品视频白浆免费视频| 国产激情无码一区二区APP| 丝袜无码一区二区三区| 久无码久无码av无码| 91精品福利自产拍在线观看| 国产二级毛片| 毛片在线看网站| 青草精品视频| 久久亚洲国产视频| 小说区 亚洲 自拍 另类| 不卡无码网| 久久 午夜福利 张柏芝| 91无码视频在线观看| 午夜性刺激在线观看免费| 东京热av无码电影一区二区| 男女男免费视频网站国产| 国内精品久久久久久久久久影视| 免费在线不卡视频| 亚洲欧美日韩中文字幕一区二区三区| 亚洲第一区在线| 久久婷婷五月综合色一区二区| 成人av手机在线观看| 国产理论一区| 99热这里只有精品国产99| 欧美色综合网站| 一级片一区| 多人乱p欧美在线观看| 国产精品福利导航| 国产高清在线观看91精品| 国产精品福利一区二区久久| 伊人蕉久影院| 99精品久久精品| 99这里只有精品在线| 青青青国产精品国产精品美女| 午夜人性色福利无码视频在线观看| 韩国自拍偷自拍亚洲精品| 亚洲国产91人成在线| 国产一级视频久久| 一级全免费视频播放| 欧美日韩亚洲综合在线观看| 天堂中文在线资源| 国产好痛疼轻点好爽的视频| 国产三级毛片| 婷婷亚洲最大| 国产爽歪歪免费视频在线观看| 欧美性久久久久| 国产第四页| 无码专区第一页| 不卡无码网| 白浆免费视频国产精品视频| 99热这里只有精品免费| 免费看av在线网站网址| 五月六月伊人狠狠丁香网|