最近一直在思考如何做一款好的網(wǎng)絡(luò)安全產(chǎn)品皮服,既然是一款產(chǎn)品寡喝,就需要讓你的受眾用戶很方便的使用它绎签,網(wǎng)絡(luò)安全的細(xì)分領(lǐng)域非常多岛蚤,如:身份認(rèn)證、準(zhǔn)入控制到涂、數(shù)據(jù)庫審計脊框、數(shù)據(jù)庫加密、入侵檢測等践啄,目前國內(nèi)的安全廠商追求的是大而全浇雹,其實(shí)我認(rèn)為大而全的網(wǎng)絡(luò)安全產(chǎn)品是沒有問題的,因?yàn)榫W(wǎng)絡(luò)安全本身就是一個體系化的工程屿讽,攻擊者可以從不同的角度對你發(fā)起攻擊昭灵,問題其實(shí)是單純的追求大而全,而忽略了產(chǎn)品質(zhì)量伐谈,我們其實(shí)可以從某個細(xì)分的方向出發(fā)烂完,追求深度,而非僅僅是橫向的發(fā)展诵棵,深度夠了以后再追求寬度抠蚣,這樣整體的水平才有質(zhì)的提高,網(wǎng)絡(luò)安全的本質(zhì)是對抗履澳,所以一款好的安全產(chǎn)品應(yīng)該是深入理解攻擊方法的嘶窄,另外需要深入理解用戶場景,保證用戶的使用體驗(yàn)距贷,針對如何做一款好的網(wǎng)絡(luò)安全產(chǎn)品柄冲,準(zhǔn)備系統(tǒng)的去思考,輸出一個系列忠蝗,首先先談一談“攻擊方法”现横,攻擊方法非常多,單純的列舉攻擊類型也沒什么意思什湘,我們從當(dāng)前最火的ATT&CK模型談起长赞。ATT&CK模型如果要深入理解是很復(fù)雜的晦攒。
攻擊者者發(fā)起攻擊前總是出于某一個或多個特定的目的闽撤,如:竊取數(shù)據(jù)、挖礦脯颜、分發(fā)廣告哟旗、DDOS、勒索等等,為了達(dá)到這個目的闸餐,前期需要偵察目標(biāo)饱亮,這個目標(biāo)可能是某個特定的組織、人員舍沙、國家近上,也可能很寬泛,比如分發(fā)廣告拂铡、挖礦這種壹无,沒有非常具體的目標(biāo),但是為了保證良好的效果感帅,往往也需要針對一些特定的目前做偵察的工作斗锭。
1、偵察
主動掃描:主動掃描的方式采用的比較多失球,由于其針對性強(qiáng)岖是,所以掃描結(jié)果往往比較好,用戶針對這種掃描很難防御实苞,只能通過監(jiān)測異常流量豺撑,但往往誤報比較多。
收集受害者主機(jī)信息
收集受害者身份信息
收集受害者網(wǎng)絡(luò)信息
收集受害者組織信息
信息網(wǎng)絡(luò)釣魚:所有形式的網(wǎng)絡(luò)釣魚都是以電子方式傳遞的社會工程黔牵,可以根據(jù)根據(jù)發(fā)件人域的有效性檢查(使用 SPF)和郵件的完整性(使用 DKIM)過濾郵件前硫。
從封閉來源獲取信息:暗網(wǎng)、威脅情報平臺等
從免費(fèi)提供的技術(shù)數(shù)據(jù)庫中搜索可在目標(biāo)定位過程中使用的受害者信息
搜索公開的網(wǎng)站
搜索受害者自己的網(wǎng)站
2荧止、資源發(fā)展
所謂資源發(fā)展可以理解為攻擊的武器化階段屹电,準(zhǔn)備攻擊需要的基礎(chǔ)設(shè)施、工具等資源跃巡,如果攻擊者發(fā)展的是外部資源是很難防護(hù)的危号,主要防護(hù)的是針對內(nèi)部資源的發(fā)展,這方面可以通過提高用戶網(wǎng)絡(luò)安全意識來緩解素邪。
獲取攻擊基礎(chǔ)設(shè)施:比如云主機(jī)外莲、IP、域名等
攻陷賬戶:獲取現(xiàn)有賬戶信息
攻陷基礎(chǔ)設(shè)施:攻陷第三方基礎(chǔ)設(shè)施兔朦,基礎(chǔ)設(shè)施包括無論服務(wù)器偷线、云主機(jī)、域名沽甥、IP等
發(fā)展能力:制作攻擊武器声邦。
建立賬戶:新建賬戶用于攻擊。
獲取能力:攻擊者通過購買/竊取的方式獲取能力摆舟。
能力上傳:將獲取/制作的能力與基礎(chǔ)設(shè)施關(guān)聯(lián)起來亥曹。
3邓了、初始訪問
初始訪問可以認(rèn)為是正式發(fā)起攻擊的階段,通過用戶暴露在互聯(lián)網(wǎng)上的應(yīng)用/用戶/設(shè)備等將之前準(zhǔn)備好的攻擊武器投放到用戶網(wǎng)絡(luò)媳瞪,多數(shù)入侵防御/防火墻等設(shè)備正式發(fā)揮作用骗炉,通過檢測進(jìn)出互聯(lián)網(wǎng)的流量識別“攻擊武器”,或者通過檢測“基礎(chǔ)設(shè)施”識別攻擊者蛇受,進(jìn)而阻止在內(nèi)網(wǎng)之外句葵。
路過攻擊:首先攻破一些被攻擊長訪問的網(wǎng)站,然后實(shí)現(xiàn)代碼注入兢仰。
利用公開應(yīng)用:利用暴露在互聯(lián)網(wǎng)上應(yīng)用的弱點(diǎn)笼呆,如漏洞、配置錯誤等發(fā)起非法訪問旨别。
遠(yuǎn)程訪問服務(wù):利用遠(yuǎn)程訪問服務(wù)獲取訪問诗赌,比如VPN、Citrix秸弛,采用該方式連接企業(yè)內(nèi)網(wǎng)铭若。
硬件添加:通過網(wǎng)絡(luò)、計算機(jī)附件獲取訪問递览,如:中間人加密破解叼屠、添加無線網(wǎng)絡(luò)。
魚叉式釣魚:通過郵件傳播绞铃。
通過可移動媒體復(fù)制
供應(yīng)鏈攻擊:從設(shè)備供應(yīng)商入手镜雨,將攻擊武器投放,去年爆發(fā)的solarwinds供應(yīng)鏈攻擊就是采用這種方式投放的儿捧。
可信關(guān)系:通過受信任的第三方獲取訪問權(quán)限荚坞,第三方一般不受監(jiān)控或者監(jiān)控薄弱。
合法賬戶:如VPN\WEB等默認(rèn)賬戶菲盾。
4颓影、執(zhí)行
投放完成后就是考慮如何將”武器“偷偷的跑起來,這里主要就是涉及到終端安全的內(nèi)容了懒鉴,國內(nèi)有360诡挂、奇安信、青藤等安全廠商临谱,國外有checkpoint璃俗、interzer、Macfee等安全廠商悉默,傳統(tǒng)的終端安全主要是基于簽名城豁,核心能力在于庫的大小以及檢測引擎的優(yōu)良,同時增加了準(zhǔn)入麦牺、數(shù)據(jù)防泄漏钮蛛、水印鞭缭、補(bǔ)丁管理等能力剖膳,現(xiàn)在的方向一方面是對現(xiàn)有簽名的機(jī)制增加AI等流行技術(shù)魏颓,識別能力更強(qiáng),同時對進(jìn)程的監(jiān)控吱晒,通過分析行為識別"武器"甸饱。
進(jìn)程注入:廣泛應(yīng)用于惡意軟件和無文件攻擊中的逃避技術(shù),這意味著可以將自定義代碼運(yùn)行在另一個進(jìn)程的地址空間內(nèi)仑濒。進(jìn)程注入提高了隱蔽性叹话,也實(shí)現(xiàn)了持久化。
命令和腳本解釋器:通過調(diào)用本地命令行執(zhí)行惡意代碼墩瞳,在終端代碼執(zhí)行方面該方式應(yīng)用非常廣驼壶,一般的終端安全產(chǎn)品可以監(jiān)控命令行的使用,可以通過限制進(jìn)程調(diào)用命令行的方式降低風(fēng)險喉酌。
容器管理命令
部署容器
利用客戶端執(zhí)行:利用客戶端應(yīng)用程序漏洞執(zhí)行代碼热凹,主要是一些可以遠(yuǎn)程執(zhí)行代碼的漏洞,如CVE-2017-11882 and CVE-2017-8570泪电。
進(jìn)程間通信:
原生API:直接調(diào)用操作系統(tǒng)API執(zhí)行命令般妙,和1類似。
任務(wù)調(diào)度:攻擊者可能會濫用任務(wù)調(diào)度功能來促進(jìn)惡意代碼的初始或重復(fù)執(zhí)行相速。 所有主要操作系統(tǒng)中都存在實(shí)用程序碟渺,用于安排在指定日期和時間執(zhí)行的程序或腳本,攻擊者可能會使用任務(wù)調(diào)度在系統(tǒng)啟動時或按計劃執(zhí)行程序以保持持久性突诬。這些機(jī)制也可能被濫用以在指定帳戶的上下文(例如具有提升的權(quán)限/特權(quán)的帳戶)下運(yùn)行進(jìn)程苫拍。合法的計劃任務(wù)可以在安裝新軟件期間或通過系統(tǒng)管理功能創(chuàng)建。旺隙,通過尋找與已知軟件怯疤、補(bǔ)丁周期等無關(guān)的任務(wù)更改、創(chuàng)建可以識別一些任務(wù)濫用的情況催束。
共享模塊
軟件部署工具:利用第三方軟件執(zhí)行代碼
系統(tǒng)服務(wù):攻擊者可能會濫用系統(tǒng)服務(wù)或守護(hù)進(jìn)程來執(zhí)行命令或程序集峦。攻擊者可以通過與服務(wù)交互或創(chuàng)建服務(wù)來執(zhí)行惡意內(nèi)容。許多服務(wù)設(shè)置為在啟動時運(yùn)行抠刺,這有助于實(shí)現(xiàn)持久性(創(chuàng)建或修改系統(tǒng)進(jìn)程)塔淤,但攻擊者也可以濫用服務(wù)一次性或臨時執(zhí)行。一般通過監(jiān)視能夠修改與正常使用模式和已知軟件速妖、補(bǔ)丁周期等不對應(yīng)的服務(wù)的工具的命令行調(diào)用高蜂。還監(jiān)視與服務(wù)相關(guān)的可執(zhí)行文件和其他文件的更改。 Windows 服務(wù)的更改也可能反映在注冊表中罕容。
用戶執(zhí)行:利用社會工程學(xué)依賴人工操作執(zhí)行代碼备恤。
5稿饰、持久化
持久化從字面上也可以也能大概看出這一攻擊步驟主要做什么,代碼執(zhí)行完成后露泊,攻擊者已經(jīng)初步控制了某個攻擊目標(biāo)喉镰,但是當(dāng)用戶關(guān)機(jī)、修改配置等操作后惭笑,可能導(dǎo)致攻擊代碼沒有辦法再執(zhí)行了侣姆,為了保持當(dāng)前能力,一般都采用很多的技術(shù)手段沉噩,執(zhí)行捺宗、持久化和提權(quán)這三個攻擊步驟的防護(hù)都是終端安全軟件的活,研究不同的攻擊方式川蒙,通過監(jiān)控這種方式發(fā)現(xiàn)攻擊者蚜厉。
賬戶操縱:帳戶操縱可能包括任何攻擊者對受感染帳戶的訪問權(quán)限的操作,例如修改憑據(jù)或權(quán)限組畜眨,還可能包括旨在破壞安全策略的帳戶活動昼牛,例如執(zhí)行迭代密碼更新以繞過密碼持續(xù)時間策略并保留受損憑據(jù)的生命周期。
BITS JOBS:BITS(后臺智能傳輸服務(wù))是用來在客戶端和服務(wù)器之間傳輸文件的一個Windows工具胶果,它基于一系列計劃任務(wù)而運(yùn)作匾嘱,并且是負(fù)責(zé)下載并推出Windows更新數(shù)據(jù)包及其他定期軟件更新的服務(wù),攻擊者可以利用它下載惡意軟件并且執(zhí)行早抠。
系統(tǒng)引導(dǎo)或登錄自動執(zhí)行:設(shè)置登錄自動啟動惡意程序霎烙。
系統(tǒng)引導(dǎo)或初始化腳本:通過腳本完成自動登錄。
瀏覽器拓展:通過安裝惡意瀏覽器插件達(dá)到控制瀏覽器的目的蕊连。
攻陷客戶端軟件二進(jìn)制文件:修改軟件代碼植入后門悬垃。
創(chuàng)建賬戶:創(chuàng)建新的賬戶。
創(chuàng)建或修改系統(tǒng)進(jìn)程:創(chuàng)建或修改系統(tǒng)級進(jìn)程以重復(fù)執(zhí)行惡意負(fù)載甘苍。
事件觸發(fā)執(zhí)行:使用基于特定事件觸發(fā)執(zhí)行的系統(tǒng)機(jī)制來建立持久性和/或提升特權(quán)
外部遠(yuǎn)程服務(wù):獲取遠(yuǎn)程服務(wù)的憑證和賬戶信息尝蠕。
劫持執(zhí)行流程:通過劫持操作系統(tǒng)運(yùn)行程序的方式來執(zhí)行自己的惡意負(fù)載。
植入內(nèi)部鏡像:使用惡意代碼植入云或容器映像载庭,以在獲得對環(huán)境的訪問權(quán)限后建立持久性看彼。
修改認(rèn)證過程:通過修改身份驗(yàn)證過程,攻擊者可以在不使用有效帳戶的情況下對服務(wù)或系統(tǒng)進(jìn)行身份驗(yàn)證囚聚。
office應(yīng)用啟動
預(yù)操作系統(tǒng)啟動:濫用 Pre-OS Boot 機(jī)制作為在系統(tǒng)上建立持久性的一種方式.
任務(wù)調(diào)度:濫用任務(wù)調(diào)度功能來促進(jìn)惡意代碼的初始或重復(fù)執(zhí)行靖榕。
服務(wù)器軟件組件:濫用服務(wù)器的合法可擴(kuò)展開發(fā)功能來建立對系統(tǒng)的持久訪問。
流量信號
合法賬戶
6顽铸、提權(quán)
濫用權(quán)限控制機(jī)制
訪問憑證操縱
引導(dǎo)或登錄自動執(zhí)行
引導(dǎo)或登錄初始化腳本
創(chuàng)建或修改系統(tǒng)進(jìn)程
域策略修改
突破主機(jī)限制
事件觸發(fā)執(zhí)行
特權(quán)提升的利用
劫持執(zhí)行流程
進(jìn)程注入
任務(wù)調(diào)度
合法賬戶
8茁计、憑據(jù)訪問
暴力破解
來自存儲密碼區(qū)域的憑據(jù):攻擊者可能會搜索常見的密碼存儲位置來獲取用戶憑據(jù)。
利用憑證訪問:攻擊者可能會利用軟件漏洞來嘗試收集憑據(jù)谓松。
強(qiáng)制認(rèn)證:攻擊者可以通過調(diào)用或強(qiáng)制用戶通過他們可以攔截的機(jī)制自動提供身份驗(yàn)證信息來收集憑證材料星压,攻擊者可能會利用此行為通過強(qiáng)制 SMB/WebDAV 身份驗(yàn)證訪問用戶帳戶哈希践剂。 攻擊者可以通過魚叉式網(wǎng)絡(luò)釣魚向用戶發(fā)送附件,其中包含指向攻擊者控制的外部服務(wù)器的資源鏈接(即模板注入)娜膘,或者將特制文件放置在特權(quán)帳戶的導(dǎo)航路徑上(例如放置在桌面上的 .SCF 文件) ) 或在受害者可以訪問的公共可訪問共享上逊脯。 當(dāng)用戶的系統(tǒng)訪問不受信任的資源時,它將嘗試進(jìn)行身份驗(yàn)證并將信息(包括用戶的散列憑據(jù))通過 SMB 發(fā)送到對手控制的服務(wù)器劲绪。 通過訪問憑證哈希男窟,攻擊者可以執(zhí)行離線暴力破解以獲得對明文憑證的訪問權(quán)限盆赤。
偽造網(wǎng)絡(luò)憑證:攻擊者使用偽造的網(wǎng)絡(luò)憑證訪問服務(wù)贾富。
輸入捕獲:攻擊者可能會使用捕獲用戶輸入的方法來獲取憑據(jù)或收集信息。
中間人攻擊:攻擊者可能會嘗試使用中間人技術(shù)將自己定位在兩個或多個聯(lián)網(wǎng)設(shè)備之間牺六,以支持后續(xù)行為颤枪,例如網(wǎng)絡(luò)嗅探或傳輸數(shù)據(jù)操作。
修改認(rèn)證流程
網(wǎng)絡(luò)嗅探
操作系統(tǒng)憑據(jù)轉(zhuǎn)儲:
竊取應(yīng)用訪問憑證
竊取web cookie
雙因素認(rèn)證欺騙
不安全的憑據(jù):對手可能會搜索受損的系統(tǒng)以查找和獲取不安全存儲的憑據(jù)淑际。這些憑據(jù)可以存儲和/或放錯系統(tǒng)上的許多位置畏纲,包括便文本文件(例如 Bash 歷史記錄)、操作系統(tǒng)或特定于應(yīng)用程序的存儲庫春缕。
9盗胀、發(fā)現(xiàn):試圖探測受害者環(huán)境
賬戶發(fā)現(xiàn)
應(yīng)用窗口發(fā)現(xiàn):對手可能會嘗試獲取打開應(yīng)用程序窗口的列表。窗口列表可以傳達(dá)有關(guān)系統(tǒng)如何使用的信息锄贼,或?yàn)殒I盤記錄器收集的信息提供上下文票灰。
瀏覽器書簽發(fā)現(xiàn):對手可能會列舉瀏覽器書簽,以了解更多有關(guān)受損主機(jī)的詳細(xì)情況宅荤。瀏覽器書簽可能會顯示有關(guān)用戶的個人信息(例如:銀行網(wǎng)站屑迂、興趣、社交媒體等)冯键,以及有關(guān)內(nèi)部網(wǎng)絡(luò)資源(如服務(wù)器惹盼、工具/儀表板或其他相關(guān)基礎(chǔ)設(shè)施)的詳細(xì)信息。
云基礎(chǔ)設(shè)施發(fā)現(xiàn)
云服務(wù)儀表盤
云服務(wù)發(fā)現(xiàn)
容器和資源發(fā)現(xiàn)
域信任發(fā)現(xiàn)
文件和目錄發(fā)現(xiàn)
網(wǎng)絡(luò)服務(wù)掃描
網(wǎng)絡(luò)分享發(fā)現(xiàn):對手可以尋找在遠(yuǎn)程系統(tǒng)上共享的文件夾和驅(qū)動器惫确,作為識別信息來源以收集信息的前體并識別橫向運(yùn)動的潛在感興趣的系統(tǒng)的方法手报。
網(wǎng)絡(luò)嗅探
密碼策略發(fā)現(xiàn)
外圍設(shè)備發(fā)現(xiàn)
權(quán)限組發(fā)現(xiàn)
進(jìn)程發(fā)現(xiàn)
查詢注冊表
遠(yuǎn)程系統(tǒng)發(fā)現(xiàn)
程序發(fā)現(xiàn)
系統(tǒng)信息發(fā)現(xiàn)
系統(tǒng)位置發(fā)現(xiàn)
系統(tǒng)網(wǎng)絡(luò)配置發(fā)現(xiàn)
系統(tǒng)網(wǎng)絡(luò)連接發(fā)現(xiàn)
系統(tǒng)用戶發(fā)現(xiàn)
系統(tǒng)服務(wù)發(fā)現(xiàn)
系統(tǒng)時間發(fā)現(xiàn)
虛擬化/沙盒逃逸
10、橫向移動
利用遠(yuǎn)程服務(wù):此處和利用遠(yuǎn)程服務(wù)漏洞做提權(quán)類似改化,利用遠(yuǎn)程服務(wù)漏洞或者一些軟件的漏洞獲取遠(yuǎn)程服務(wù)掩蛤。
內(nèi)部魚叉式釣魚郵件發(fā)送
橫向工具傳輸
遠(yuǎn)程服務(wù)會話劫持:用戶可以使用有效憑據(jù)登錄專門設(shè)計用于接受遠(yuǎn)程連接的服務(wù),例如 telnet所袁、SSH 和 RDP盏档。 當(dāng)用戶登錄服務(wù)時,將建立一個會話燥爷,允許他們與該服務(wù)保持持續(xù)交互蜈亩。攻擊者可能會征用這些會話以在遠(yuǎn)程系統(tǒng)上執(zhí)行操作懦窘。 遠(yuǎn)程服務(wù)會話劫持與使用遠(yuǎn)程服務(wù)不同,因?yàn)樗俪脂F(xiàn)有會話而不是使用有效帳戶創(chuàng)建新會話
遠(yuǎn)程服務(wù):攻擊者可能會使用有效帳戶登錄專門設(shè)計用于接受遠(yuǎn)程連接的服務(wù)稚配,例如 telnet畅涂、SSH 和 VNC。然后道川,攻擊者可以作為登錄用戶執(zhí)行操作午衰。
通過可移動媒體復(fù)制:將惡意軟件上傳到內(nèi)部U盤等可移動介質(zhì),通過U盤傳播惡意軟件冒萄。
軟件部署工具:攻擊者可能會訪問并使用安裝在企業(yè)網(wǎng)絡(luò)中的第三方軟件套件臊岸,例如管理、監(jiān)控和部署系統(tǒng)尊流,從而在網(wǎng)絡(luò)中橫向移動帅戒。
污染共享內(nèi)容:攻擊者可以通過向共享存儲位置(例如網(wǎng)絡(luò)驅(qū)動器或內(nèi)部代碼存儲庫)添加內(nèi)容來向遠(yuǎn)程系統(tǒng)提供有效載荷。 存儲在網(wǎng)絡(luò)驅(qū)動器或其他共享位置的內(nèi)容可能會因向其他有效文件添加惡意程序崖技、腳本或漏洞利用代碼而受到污染逻住。 一旦用戶打開共享的受污染內(nèi)容,就可以執(zhí)行惡意部分以在遠(yuǎn)程系統(tǒng)上運(yùn)行對手的代碼迎献。 攻擊者可能會使用受污染的共享內(nèi)容橫向移動瞎访。
使用可替代的認(rèn)證材料:
11:信息收集:目標(biāo)信息的收集
12、命令與控制
13吁恍、信息泄露:滲透包括對手可能用來從您的網(wǎng)絡(luò)竊取數(shù)據(jù)的技術(shù)扒秸。收集數(shù)據(jù)后,對手通常會將其打包践盼,以避免在刪除數(shù)據(jù)時進(jìn)行檢測鸦采。這可能包括壓縮和加密。從目標(biāo)網(wǎng)絡(luò)獲取數(shù)據(jù)的技術(shù)通常包括通過其命令和控制通道或備用通道傳輸數(shù)據(jù)咕幻,也可能包括對傳輸施加大小限制渔伯。
14:影響:影響包括對手通過操縱業(yè)務(wù)和運(yùn)營流程來破壞可用性或損害完整性的技術(shù)。用于影響的技術(shù)可以包括銷毀或篡改數(shù)據(jù)肄程。在某些情況下锣吼,業(yè)務(wù)流程看起來可能很好,但可能已被更改蓝厌,以有利于對手的目標(biāo)玄叠。這些技術(shù)可能被對手用來貫徹其最終目標(biāo),或?yàn)檫`反機(jī)密規(guī)定提供掩護(hù)