精選用戶故事|洞態(tài)在聚水潭的誤報率幾乎為0,如何做到?
摘要: 我個人在實際使用過程中體驗到,對于像命令執(zhí)行和sql注入這類漏洞,洞態(tài)能夠做到百分百的檢測。
“
亮點提前看
我個人在實際使用過程中體驗到,對于像命令執(zhí)行和sql注入這類漏洞,洞態(tài)能夠做到百分百的檢測。
——Spenser
對于一個開源項目而言,更多人參與就意味著可以完成更多的內容或者是發(fā)現(xiàn)更多的問題。我正是因為看中了洞態(tài)的開源生態(tài),所以說我們才選擇使用洞態(tài)。
——Spenser
”
滴水穿石,聚水成潭。聚水潭成立于2014年,創(chuàng)建之初,以電商SaaS ERP切入市場,憑借出色的產品和服務,快速獲得市場的肯定。隨著客戶需求的不斷變化,如今聚水潭已經(jīng)發(fā)展成為以SaaS ERP為核心,集多種商家服務為一體的知名SaaS協(xié)同平臺。
聚水潭不僅是洞態(tài)的早期用戶,其相關負責人Spenser也是洞態(tài)開源社區(qū)的Contributor,為洞態(tài)項目提交不少issue和策略。本篇文章記錄了對聚水潭Spenser師傅所做的采訪。
聚水潭不僅是洞態(tài)的早期用戶,其相關負責人Spenser也是洞態(tài)開源社區(qū)的Contributor,為洞態(tài)項目提交不少issue和策略。本篇文章記錄了對聚水潭Spenser師傅所做的采訪。
請師傅先做一下自我介紹,包括公司職位,還有負責的具體事務。
我是Saas ERP公司——聚水潭的高級安全工程師Spenser,負責公司內部安全項目的研發(fā)以及安全架構的設計。
初遇
好的~我們知道IAST產品一般是在產品上線前使用的,那您為什么選擇在上線前做安全檢測呢?
因為我們需要確保項目在上線的時候不會出現(xiàn)任何的安全隱患。洞態(tài) IAST通過內存hook的方式,可以幫我們非常準確地找出系統(tǒng)中可能存在的一些問題或者安全隱患。我個人在實際使用過程中體驗到,對于像命令執(zhí)行和sql注入這類漏洞,洞態(tài)能夠做到百分百的檢測。
上線前的安全檢測工具有很多,那您為什么會選擇了洞態(tài)IAST呢?
因為首先洞態(tài)是完全開源的IAST產品,這在中國甚至說是在全球都是沒有先例的。洞態(tài)將整個生態(tài)和技術推到了大眾面前,大家都可以參與進來。對于一個開源項目而言,更多人參與就意味著可以完成更多的內容或者是發(fā)現(xiàn)更多的問題。我正是因為看中了洞態(tài)的這樣一個生態(tài),所以說我們才選擇使用洞態(tài)。
那您最一開始是從哪個渠道了解到洞態(tài)的呀?
我的同事野煙,在某一天加班的時候告訴我說,他發(fā)現(xiàn)了一個IAST產品,他自己測試下來效果是比較好,我是從那個時候開始了解的。
相識
我知道洞態(tài)在聚水潭已經(jīng)上了一部分業(yè)務線了。那目前為止有多少條業(yè)務線部署了洞態(tài)IAST呢?
大致上說,我們現(xiàn)在有三到四條業(yè)務線部署了洞態(tài)IAST。
那在使用的這段時間里,洞態(tài)幫助咱們檢測出了多少的開發(fā)漏洞,有具體的數(shù)字嗎?
漏洞數(shù)量大概是在50個左右,中危的漏洞偏多。我們之前在測試的情況下,故意創(chuàng)造了一些高危漏洞,也是可以非常準確地識別。
嗯呢,那既然說到這兒,洞態(tài)誤報的情況怎么樣???
除了之前關于敏感信息檢測這一塊有誤報,其它基本沒有。不過這塊兒經(jīng)過優(yōu)化之后誤報也幾乎消失了。
您是通過什么樣的方式來優(yōu)化的呢?
這個是我向洞態(tài)提了一條正則表達式,這個正則表達式是根據(jù)我的個人經(jīng)驗進行設計的。屬于雙方一起完成的,我貢獻表達式,洞態(tài)團隊把這條表達式設置成了敏感信息檢測的默認表達式。
對于敏感數(shù)據(jù)檢測的誤報,我們會自己優(yōu)化正則。漏洞檢測,我們會根據(jù)自身的安全標準選擇性開啟規(guī)則,同時我們會編寫一些demo來驗證規(guī)則的漏檢率和誤報率,規(guī)則本身存在問題的會提issue。同時我們也通過自研的DongTai-SDK,對掃描結果進行驗證,過濾掉一些無意義漏洞。
對于敏感數(shù)據(jù)檢測的誤報,我們會自己優(yōu)化正則。漏洞檢測,我們會根據(jù)自身的安全標準選擇性開啟規(guī)則,同時我們會編寫一些demo來驗證規(guī)則的漏檢率和誤報率,規(guī)則本身存在問題的會提issue。同時我們也通過自研的DongTai-SDK,對掃描結果進行驗證,過濾掉一些無意義漏洞。
您也給我們提了策略,然后我們做了優(yōu)化。
嗯嗯,對。
相契
公司對于洞態(tài)IAST的下?步推動計劃是什么?預計什么時候在公司內部實現(xiàn)大面積推?呢?
關于這一塊的話,我們的主營業(yè)務線是由C#進行開發(fā)的,我們后期有計劃參與到洞態(tài)C# Agent的開發(fā)中,這是為社區(qū)做貢獻,也是為我們主要業(yè)務線能夠使用上洞態(tài)做出一個鋪墊嘛。
接下來這個問題其實和我剛才問的有點相似了,您這邊基于公司的業(yè)務實現(xiàn)需要,在內部開發(fā)的過程中對開源版本的洞態(tài)做了哪些升級和改造?有沒有和洞態(tài)開源社區(qū)進行共創(chuàng)共建?啊,這個這肯定是有的。
關于我在開源社區(qū)的共創(chuàng)共建方面做的事情,一方面是我做了洞態(tài)IAST SDK的開發(fā),Python的SDK開發(fā),通過SDK就不需要考慮底層的一些接口的調度,或者是一些錯誤的處理,可以更關注于用IAST進行業(yè)務的開發(fā)。關于接口這一塊,我提出了很多的issue,然后洞態(tài)這邊對于issue的處理速度也是非常得快。
謝謝師父!在公司部署和推廣IAST這件事情上,您那邊開發(fā)人員是否較難接受,導致推動存在困難,然后您是怎么克服的?
我們會先在安全部門自己的項目中上線部署,消除掉一些坑后,有些存在阻力的業(yè)務線,我們會找他們拉一份代碼,然后自己部署一套完全隔離的測試環(huán)境,測試沒有問題后,讓他們部署到正在使用的測試環(huán)境。
之前我們這邊在某一條業(yè)務線上進行推動的時候,由于當時洞態(tài)對于健康檢測這塊的識別有一定的不足,導致我們的測試環(huán)境使用了洞態(tài)一段時間之后變得非常卡頓,是因為我們的redis庫被寫滿了,健康檢測的頻率是非常高的,會產生大量的掃描任務,這些掃描任務都會被寫進redis,量比較大。消費端worker只有一個,無法及時地消費,就導致redis爆滿之后測試環(huán)境業(yè)務比較卡頓。解決的方案是洞態(tài)開源社區(qū)的一位同學,提供了對于健康檢測加白的功能,于是我們就解決這個問題。
之前我們這邊在某一條業(yè)務線上進行推動的時候,由于當時洞態(tài)對于健康檢測這塊的識別有一定的不足,導致我們的測試環(huán)境使用了洞態(tài)一段時間之后變得非常卡頓,是因為我們的redis庫被寫滿了,健康檢測的頻率是非常高的,會產生大量的掃描任務,這些掃描任務都會被寫進redis,量比較大。消費端worker只有一個,無法及時地消費,就導致redis爆滿之后測試環(huán)境業(yè)務比較卡頓。解決的方案是洞態(tài)開源社區(qū)的一位同學,提供了對于健康檢測加白的功能,于是我們就解決這個問題。
那這個開源社區(qū)真的還是挺有幫助的!
對于聚水潭來說,洞態(tài)還需要進一步的推廣使用,您預計還存在哪些難點,是否有需要洞態(tài)團隊協(xié)助的地方?
我們的主營業(yè)務線用的是C#,C# Agent開發(fā)完成之后,可能會存在一些漏洞,就需要洞態(tài)團隊幫忙一起聯(lián)動測試一下。另外,在開發(fā)的過程中可能會有涉及到協(xié)議的問題,就是上報的一些協(xié)議的問題,那也需要跟洞態(tài)團隊進行交流。
趣事
好的。那您在使用的過程中有沒有一些有趣的事情和我們分享一下?
有趣的事情的話,我這個人有個習慣,就是說任何東西拿過來之后我會先對它進行驗證,我要看它可不可靠嘛,畢竟東西大家都沒有用過。
公司的安全引擎我是用Python開發(fā)的,我會在系統(tǒng)中故意制造一些漏洞,然后看看洞態(tài)能不能識別。第一次沒有識別出來,后來我同事去跟洞態(tài)團隊的人進行了反饋。洞態(tài)團隊經(jīng)過大概一兩天的時間,很快修復完了,修好之后還過來催著我的同事說:“你趕緊測一下,我現(xiàn)在在開車,我到家之后,就幫你一起看,看看效果怎么樣,如果還是有問題的話,我當場改”。我覺得這個精神是非常好的。
哈哈,洞態(tài)技術人員對技術的熱情程度是跟你一樣的。
展望
最后一部分的問題是關于洞態(tài)未來展望的,您希望洞態(tài)未來會開發(fā)的功能是什么?
我希望洞態(tài)未來可以有一些攻擊阻斷的功能吧。我希望它可以有兩個模塊,一個是檢測的,檢測的話會消耗大量的性能,是在線上測試環(huán)境。攔截的話,像那些常見的漏洞,比如命令注入、sql注入,使用帶有攔截功能agent的時候,它可以在線上非常穩(wěn)定的運行,但是同時它也可以有效地告警或者阻斷。
因為從技術層面上來說,sql注入本質上是對數(shù)據(jù)庫驅動的攔截。那如果可以在數(shù)據(jù)庫驅動層面進行hook識別的話,那么我覺得所有的sql注入都可以防掉,那同時命令執(zhí)行也是。對命令執(zhí)行的檢測,洞態(tài)其實已經(jīng)實現(xiàn)。對于操作系統(tǒng)的環(huán)境不管是Windows還是Linux,任何環(huán)境下去執(zhí)行命令的時候,一定會調到系統(tǒng)的某一個函數(shù)。那么只要對這個函數(shù)進行攔截,就可以識別出是否是攻擊,就可以把命令攻擊攔截掉。
還有一方面,我覺得對于一些新型的攻擊手法,或者是一些情報,也可以進行一個識別,能夠更加智能化。像殺毒軟件的話有智能查殺引擎,其實我也希望洞態(tài)可以有這種智能化發(fā)現(xiàn)漏洞的功能,通過人工智能或者深度學習這種技術能夠識別出漏洞,甚至可以通過這種方式識別出業(yè)務邏輯層面的漏洞。
比如某平臺是需要消耗積分進行查詢業(yè)務,之前我挖到過這么一個漏洞,通過對查詢語句的一些處理,可以使得用戶不用消耗積分去查詢。像這種其實就屬于業(yè)務型漏洞??赡芤婚_始沒法識別,但是通過訓練,可能是我們自己發(fā)現(xiàn)漏洞,然后把它錄制進去。在有了這樣的數(shù)據(jù)源的情況下,進行訓練之后,能夠識別出業(yè)務型的漏洞。
嗯。您提的這點可能需要和用戶一起來開發(fā),這種類型漏洞的檢測,如果單靠我們來做的話,可能做得不會很到位。
其實是你們提供了引擎,然后讓用戶提供數(shù)據(jù)源,數(shù)據(jù)源是在用戶本地,那么你們的神經(jīng)網(wǎng)絡或者深度學習的模型可以通過對于這些數(shù)據(jù)源的訓練,去識別出這套系統(tǒng)里面的業(yè)務型漏洞。每個系統(tǒng)邏輯都會不一樣,但是肯定會有某種通用的寫法,有大量的原始數(shù)據(jù)之后其實就可以訓練出一種能夠用于識別業(yè)務漏洞的神經(jīng)網(wǎng)絡或者是智能化引擎。
對于師傅的建議和期望,我們會認真考慮。
洞態(tài)商業(yè)版本在 2022 年 05 月 18 日 發(fā)布
部分功能僅商業(yè)版可用,開源版與商業(yè)版差異,請參閱以下附件:
洞態(tài)商業(yè)版本在 2022 年 05 月 18 日 發(fā)布
部分功能僅商業(yè)版可用,開源版與商業(yè)版差異,請參閱以下附件:

可申請洞態(tài)商業(yè)版產品試用
領取洞態(tài)白皮書資料
請?zhí)顚懴路奖韱?strong>免費申請!
↓↓↓


領取洞態(tài)白皮書資料
請?zhí)顚懴路奖韱?strong>免費申請!
↓↓↓

關于火線
火線安全是基于社區(qū)的云安全公司,主要運營洞態(tài)、火線安全平臺和火線Zone云安全社區(qū)。
火線安全通過自主研發(fā)的自動化測試工具和海量的白帽安全專家,為企業(yè)提供可信的安全服務,助力企業(yè)解決應用生命全周期的安全風險。
火線安全通過自主研發(fā)的自動化測試工具和海量的白帽安全專家,為企業(yè)提供可信的安全服務,助力企業(yè)解決應用生命全周期的安全風險。
