環(huán)保業(yè)網(wǎng)站建設(shè)的策劃軟文是指什么
安全開(kāi)發(fā)基礎(chǔ)-- DAST,SAST,IAST
簡(jiǎn)介
DAST
動(dòng)態(tài)應(yīng)用程序安全測(cè)試(Dynamic Application Security Testing)技術(shù)在測(cè)試或運(yùn)行階段分析應(yīng)用程序的動(dòng)態(tài)運(yùn)行狀態(tài)。它模擬黑客行為對(duì)應(yīng)用程序進(jìn)行動(dòng)態(tài)攻擊,分析應(yīng)用程序的反應(yīng),從而確定該Web應(yīng)用是否易受攻擊。
SAST
靜態(tài)應(yīng)用程序安全測(cè)試(Static Application Security Testing)技術(shù)通常在編碼階段分析應(yīng)用程序的源代碼或二進(jìn)制文件的語(yǔ)法、結(jié)構(gòu)、過(guò)程、接口等來(lái)發(fā)現(xiàn)程序代碼存在的安全漏洞。
IAST
交互式應(yīng)用程序安全測(cè)試(Interactive Application Security Testing)是2012年Gartner公司提出的一種新的應(yīng)用程序安全測(cè)試方案,通過(guò)代理、VPN或者在服務(wù)端部署Agent程序,收集、監(jiān)控Web應(yīng)用程序運(yùn)行時(shí)函數(shù)執(zhí)行、數(shù)據(jù)傳輸,并與掃描器端進(jìn)行實(shí)時(shí)交互,高效、準(zhǔn)確的識(shí)別安全缺陷及漏洞,同時(shí)可準(zhǔn)確確定漏洞所在的代碼文件、行數(shù)、函數(shù)及參數(shù)。IAST相當(dāng)于是DAST和SAST結(jié)合的一種互相關(guān)聯(lián)運(yùn)行時(shí)安全檢測(cè)技術(shù)。
原理簡(jiǎn)單概述
DAST
- 通過(guò)爬蟲(chóng)發(fā)現(xiàn)整個(gè) Web 應(yīng)用結(jié)構(gòu),爬蟲(chóng)會(huì)發(fā)現(xiàn)被測(cè)Web程序有多少個(gè)目錄,多少個(gè)頁(yè)面,頁(yè)面中有哪些參數(shù);
- 根據(jù)爬蟲(chóng)的分析結(jié)果,對(duì)發(fā)現(xiàn)的頁(yè)面和參數(shù)發(fā)送修改的 HTTP Request 進(jìn)行攻擊嘗試(掃描規(guī)則庫(kù));
- 通過(guò)對(duì)于 Response 的分析驗(yàn)證是否存在安全漏洞。
SAST
超過(guò)50%的安全漏洞是由錯(cuò)誤的編碼產(chǎn)生的,開(kāi)發(fā)人員一般安全開(kāi)發(fā)意識(shí)和安全開(kāi)發(fā)技能不足,更加關(guān)注業(yè)務(wù)功能的實(shí)現(xiàn)。想從源頭上治理漏洞就需要制定代碼檢測(cè)機(jī)制,SAST是一種在開(kāi)發(fā)階段對(duì)源代碼進(jìn)行安全測(cè)試發(fā)現(xiàn)安全漏洞的測(cè)試方案。
- 首先通過(guò)調(diào)用語(yǔ)言的編譯器或者解釋器把前端的語(yǔ)言代碼(如JAVA,C/C++源代碼)轉(zhuǎn)換成一種中間代碼,將其源代碼之間的調(diào)用關(guān)系、執(zhí)行環(huán)境、上下文等分析清楚。
- 語(yǔ)義分析:分析程序中不安全的函數(shù),方法的使用的安全問(wèn)題。
- 數(shù)據(jù)流分析:跟蹤,記錄并分析程序中的數(shù)據(jù)傳遞過(guò)程所產(chǎn)生的安全問(wèn)題。
- 控制流分析:分析程序特定時(shí)間,狀態(tài)下執(zhí)行操作指令的安全問(wèn)題。
- 配置分析:分析項(xiàng)目配置文件中的敏感信息和配置缺失的安全問(wèn)題。
- 結(jié)構(gòu)分析:分析程序上下文環(huán)境,結(jié)構(gòu)中的安全問(wèn)題。
- 結(jié)合2)-6)的結(jié)果,匹配所有規(guī)則庫(kù)中的漏洞特征,一旦發(fā)現(xiàn)漏洞就抓取出來(lái)。
- 最后形成包含詳細(xì)漏洞信息的漏洞檢測(cè)報(bào)告,包括漏洞的具體代碼行數(shù)以及漏洞修復(fù)的建議。
IAST
IAST的實(shí)現(xiàn)模式有很多,常見(jiàn)的有:
- 代理模式
- 插樁模式
代理模式
在PC端瀏覽器或者移動(dòng)端APP設(shè)置代理,通過(guò)代理拿到功能測(cè)試的流量,利用功能測(cè)試流量模擬多種漏洞檢測(cè)方式對(duì)被測(cè)服務(wù)器進(jìn)行安全測(cè)試。
- 功能測(cè)試人員在瀏覽器或者APP中設(shè)置代理,將IAST設(shè)備地址填入。
- 功能測(cè)試人員開(kāi)始功能測(cè)試,測(cè)試流量經(jīng)過(guò)IAST設(shè)備,IAST設(shè)備將流量復(fù)制一份,并且改造成安全測(cè)試的流量。
- IAST設(shè)備利用改造后的流量對(duì)被測(cè)業(yè)務(wù)發(fā)起安全測(cè)試,根據(jù)返回的數(shù)據(jù)包判斷漏洞信息。
插樁模式
Active插樁實(shí)現(xiàn)原理
- 被測(cè)試服務(wù)器中安裝IAST插樁Agent
- DAST Scanner發(fā)起掃描測(cè)試
- IAST插樁 Agent追蹤被測(cè)試應(yīng)用程序在掃描期間的反應(yīng)附加測(cè)試,覆蓋率和上下文,將有關(guān)信息發(fā)送給Management Server,Management Server展示安全測(cè)試結(jié)果
Passive插樁實(shí)現(xiàn)原理
- 被測(cè)試服務(wù)器中安裝插樁 Agent;
- 插樁 Agent在應(yīng)用程序運(yùn)行時(shí)獲取請(qǐng)求和代碼數(shù)據(jù)流、代碼控制流;
- 插樁Agent將獲取的信息發(fā)送給Management Sever,Management Sever展示安全測(cè)試結(jié)果。
插樁模式的關(guān)鍵是Agent,Agent需要根據(jù)不同語(yǔ)言進(jìn)行開(kāi)發(fā),但是功能基本相同:
- 獲取請(qǐng)求數(shù)據(jù)和返回?cái)?shù)據(jù);
- 代碼執(zhí)行中的參數(shù)傳遞;
- 數(shù)據(jù)庫(kù)查詢(xún)(如ODBC);
- 目錄查詢(xún)(如LDAP),文件系統(tǒng)權(quán)限;
- 監(jiān)聽(tīng)內(nèi)存中特定的值,識(shí)別受污染的輸入;
- 第三方庫(kù)的使用;
- 對(duì)外部應(yīng)用程序和服務(wù)的調(diào)用;
- 特定代碼的執(zhí)行等。
IAST插樁被動(dòng)型(動(dòng)態(tài)污點(diǎn)分析)掃描器: