端瑪科技啟用源代碼分析技術(shù)處理大數(shù)據(jù)_第1頁
端瑪科技啟用源代碼分析技術(shù)處理大數(shù)據(jù)_第2頁
端瑪科技啟用源代碼分析技術(shù)處理大數(shù)據(jù)_第3頁
端瑪科技啟用源代碼分析技術(shù)處理大數(shù)據(jù)_第4頁
端瑪科技啟用源代碼分析技術(shù)處理大數(shù)據(jù)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、啟用源代啟用源代碼碼分析技分析技術(shù)處術(shù)處理大數(shù)據(jù)理大數(shù)據(jù)Checkmarx中國(guó)區(qū)技中國(guó)區(qū)技術(shù)專術(shù)專家家陳陳安明安明 陳安明介紹 端瑪科技總經(jīng)理,獨(dú)立應(yīng)用安全風(fēng)險(xiǎn)分析師,Checkmarx中國(guó)區(qū)技術(shù)專家。 是中國(guó)最早從事源代碼分析技術(shù)調(diào)查和研究人員,專門從事應(yīng)用軟件安全風(fēng)險(xiǎn)評(píng)估、風(fēng)險(xiǎn)消除、培訓(xùn)、教育和軟件安全生命開發(fā)周期SDL咨詢。其優(yōu)秀的軟件安全方案、產(chǎn)品及專業(yè)化的軟件安全開發(fā)生命周期SDL服務(wù)已進(jìn)入金融銀行、保險(xiǎn)、電信、汽車、媒體娛樂、軟件、服務(wù)和軍事等財(cái)富1000的企業(yè)議題概述 傳統(tǒng)以安全為導(dǎo)向的源代碼分析工具只能檢測(cè)到黑客明顯可以利用的漏洞,而且這些工具所找到的安全漏洞的數(shù)量非常多,即使

2、這些結(jié)果是精確的,都很難在短時(shí)間修復(fù),這樣一來,我們就不得不面臨兩個(gè)現(xiàn)實(shí)問題: 一、我們?nèi)绾螌?duì)付那些工具沒有覆蓋到的代碼? 二、我們?cè)鯓硬拍芴岣甙踩┒葱迯?fù)的能力? 為了應(yīng)對(duì)這些挑戰(zhàn),我們把研究的側(cè)重點(diǎn)放在了大數(shù)據(jù)分析領(lǐng)域,將大數(shù)據(jù)的先進(jìn)技術(shù)與我們的研究整合到一起。借這次交流的機(jī)會(huì),我想與大家分享一下我們的研究方法以及我們的成果。源代碼分析的歷史 第一代源代碼分析 系統(tǒng)安全知識(shí)是通過綁定靜態(tài)的規(guī)則體現(xiàn)。靜態(tài)規(guī)則依據(jù)原始或者標(biāo)準(zhǔn)語言的缺陷來制定的,對(duì)用戶而言,技術(shù)是不可見的。 用戶代碼架構(gòu)和框架適應(yīng)能力差。幾乎無法適應(yīng)在開發(fā)語言基礎(chǔ)上用戶私有的架構(gòu)和框架代碼封裝的掃描。規(guī)則主要細(xì)節(jié)不公開,用戶很

3、難自定義或者調(diào)整規(guī)則滿足用戶自身的系統(tǒng)架構(gòu)和代碼封裝的需求。 使用依賴操作系統(tǒng)環(huán)境和編譯器 源代碼分析的歷史(續(xù)) 新一代源代碼分析 系統(tǒng)的安全知識(shí)是通過綁定靜態(tài)的規(guī)則體現(xiàn)。靜態(tài)規(guī)則依據(jù)原始或者標(biāo)準(zhǔn)語言技術(shù)架構(gòu)和框架的缺陷來制定的,公開規(guī)則實(shí)現(xiàn)的技術(shù)和細(xì)節(jié)。 用戶代碼架構(gòu)和框架適應(yīng)能力強(qiáng)。適應(yīng)在開發(fā)語言基礎(chǔ)上用戶私有的架構(gòu)和框架代碼的掃描。規(guī)則主要細(xì)節(jié)完全公開,用戶很容易自定義或者調(diào)整規(guī)則滿足用戶自身的系統(tǒng)架構(gòu)和代碼封裝的需求。 能夠任意添加自己需要的有關(guān)業(yè)務(wù)邏輯和代碼質(zhì)量相關(guān)的查詢 使用簡(jiǎn)便!虛擬編譯器,無須代碼編譯。無需依賴操作系統(tǒng)環(huán)境和編譯。 分析范圍:SQL 注入-惡意后門-代碼質(zhì)量缺

4、陷AbstractStore安全漏洞 代碼質(zhì)量業(yè)務(wù)邏輯示例安全漏洞 質(zhì)量缺陷業(yè)務(wù)邏輯應(yīng)用程序智能分析SCKD源代碼知識(shí)發(fā)現(xiàn)“使用群體的智慧”(大數(shù)據(jù))通過代碼的不規(guī)則性來識(shí)別安全漏洞零日?零配置? 如果我們連自己要問什么問題都不清楚,該怎么辦呢? 如果我們沒辦法對(duì)系統(tǒng)進(jìn)行配置,怎么辦? 我們需要一位“大師”, 來替我們問問題。 替我們配置系統(tǒng)。 替我們找到漏洞。 給我們提供指導(dǎo)。 有這樣一位大師 是你! 是你! 是你! 還是你! 我們大家 形成集體智慧 大多數(shù)開發(fā)人員在大多數(shù)時(shí)間都能編寫出好的、標(biāo)準(zhǔn) 、高質(zhì)量代碼群體 我們可以根據(jù)代碼統(tǒng)計(jì)來設(shè)定一個(gè)基準(zhǔn),并發(fā)現(xiàn)偏差。源代碼知識(shí)發(fā)現(xiàn)-SCKD 源

5、代碼知識(shí)發(fā)現(xiàn) 時(shí)下最為活躍 的研究課題之一(數(shù)據(jù)庫中的知識(shí)發(fā)現(xiàn)- /wiki/Knowledge_extraction )“知識(shí)發(fā)現(xiàn)描述的是一個(gè)自動(dòng)搜索大規(guī)模數(shù)據(jù)模式的過程,而該模式可以被稱之為有關(guān)數(shù)據(jù)的知識(shí)。通常我們稱之為來自于輸入數(shù)據(jù)的知識(shí)。從方法和術(shù)語兩個(gè)層面來說,知識(shí)發(fā)現(xiàn)與其發(fā)掘來源數(shù)據(jù)領(lǐng)域的關(guān)系都非常緊密?!奔夹g(shù)實(shí)現(xiàn) 建立參考數(shù)據(jù)、 尋找共同序列 查找違規(guī)情況獲取數(shù)據(jù)S = input();If (isValid(s)response.write(s);A = input();If (isValid(A)response.write(A);

6、K = input();If (isValid(k)response.write(k);M = input();If (isValid(M)response.write(M);C = input();If (isValid(C)response.write(C);查找偏差,設(shè)立基準(zhǔn)查找偏差,設(shè)立基準(zhǔn)* = input();If (isValid(*)response.write(*); v = input();response.write(v);?X后門 若我的名字是Maty,登錄If (isAuthenticated(user).If (isAuthenticated(user).If (i

7、sAuthenticated(user).If (isAuthenticated(user).If (isAuthenticated(user).If (isAuthenticated(user) | = “maty”).If (isAuthenticated(user) | = “maty”).增值 利用應(yīng)用云服務(wù)?VAT = 1.05VAT = 1.08VAT = 1.08VAT = 1.08尋找不同應(yīng)用之間的相似之尋找不同應(yīng)用之間的相似之處,建立一個(gè)內(nèi)部標(biāo)準(zhǔn)。處,建立一個(gè)內(nèi)部標(biāo)準(zhǔn)。使用零定義!使用零定義! 只要我們能修復(fù)一些應(yīng)用就只要我們能修復(fù)一些

8、應(yīng)用就行,這些應(yīng)用會(huì)幫助我們行,這些應(yīng)用會(huì)幫助我們找到那些沒被修復(fù)的。找到那些沒被修復(fù)的。我們的優(yōu)勢(shì)總體來說: 我們能夠找到群體中隱藏的知識(shí),給它命名,并找到違規(guī)情況。安全: 確定在每一個(gè)頁面都對(duì)客戶進(jìn)行驗(yàn)證 自動(dòng)識(shí)別消毒程序 后門 (“if (isValid(user) or user=“Maty”)”) 業(yè)務(wù)邏輯(“if (qty 0) charge (qty*amnt)”)質(zhì)量 發(fā)布的永遠(yuǎn)都是具體資源 最佳編碼實(shí)踐(自動(dòng)識(shí)別策略) 變量初始化群體的智慧 對(duì)于大型企業(yè)和代碼庫作用更為明顯圖形可視化優(yōu)化代碼修復(fù)活動(dòng) “使用智能圖形方法識(shí)別安全漏洞交匯的連接節(jié)點(diǎn)及最佳的修復(fù)位置” 代碼掃描結(jié)果

9、修復(fù)問題 找到數(shù)以千計(jì)的準(zhǔn)確結(jié)果,但其實(shí)并不是我們希望看到的。 例如Webgoat有大約220個(gè)跨站腳本和SQL 注入漏洞。 假設(shè)我們需要30分鐘來修復(fù)一個(gè)漏洞+30分鐘來驗(yàn)證修復(fù),那就會(huì)需要220個(gè)小時(shí),幾乎是一個(gè)月的工作量 我們把這些工作縮到16個(gè)地方 約耗費(fèi)1/14 的時(shí)間 這樣一來,我們就有時(shí)間去打打高爾夫球了代碼掃描分析結(jié)果現(xiàn)狀 每一個(gè)代碼掃描結(jié)果都有一個(gè)獨(dú)立于其它調(diào)查結(jié)果的數(shù)據(jù)流。單一數(shù)據(jù)流路徑 跨站腳本String s = Request.QueryString“param1”;Response.Write(s);Request.QueryString“param1”;sResp

10、onse.Write(s);Request.QueryString“param1”;sResponse.Write(s);代碼掃描分析結(jié)果現(xiàn)狀 一個(gè)漏洞,很好解決。 14個(gè)同時(shí)出現(xiàn),怎么辦?多個(gè)單一路徑 跨站腳本 大量工作但。 他們有什么共同點(diǎn)? 這些掃描結(jié)果之間有關(guān)聯(lián)嗎?組合路徑我們就能夠。 指出、點(diǎn)擊、檢查,甚至連源代碼都不用讀嗎“ 我修復(fù)這里可以嗎?”“或者這里?”我修復(fù)這里可以嗎?修復(fù)這里其實(shí)效率更高還有這?自動(dòng)提出“假設(shè)”問句= 找到最佳的修復(fù)位置比較這兩種情況:圖形可視化修復(fù)建議的優(yōu)勢(shì) 展示相同安全漏洞類型和不同問題調(diào)用之間的相關(guān)性。 處理的并不是個(gè)人或者單個(gè)問題路徑的發(fā)現(xiàn) 事實(shí)上

11、是整個(gè)系統(tǒng)。 讓您得以更好地利用時(shí)間Webgoat 220個(gè)修復(fù)位置示例 只要輕輕一點(diǎn),我們就可以把220個(gè)位置縮減到16個(gè)。 結(jié)果越多,我們的解決方式就越能體現(xiàn)其效率Q&A Any Question? 代碼安全漏洞和質(zhì)量缺陷掃描云服務(wù)中心為使用Java、JSP、JavaSript、 VBSript、C# 、ASP.net 、VB.Net、 VB6、 C/C+ 、ASP 、PHP, Ruby、Perl 、PL/SQL、 Android、OWASP ESAPI、MISRA、和Objective-C (iOS) .(AppExchange platform)、API to 3rd party languages 等多種語言開發(fā)的軟件開發(fā)企業(yè)和項(xiàng)目提供源代碼安全漏洞和質(zhì)量缺陷掃描和分析,并提供結(jié)果審計(jì) 、管理 和報(bào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論