日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

干货|代码安全审计权威指南(附下载地址)

發(fā)布時(shí)間:2024/1/23 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 干货|代码安全审计权威指南(附下载地址) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

01?關(guān)于代碼安全審計(jì)

? ? 代碼安全審計(jì)是查找代碼中安全漏洞的方法。在"安全左移"的發(fā)展趨勢(shì)下,代碼審計(jì)逐漸成為確保代碼質(zhì)量的一個(gè)關(guān)鍵環(huán)節(jié)。代碼安全審計(jì)通??梢苑譃? 自動(dòng)化審計(jì)和人工審計(jì)。

? ? 自動(dòng)化代碼安全審計(jì)是以自動(dòng)化工具的方式查找代碼的安全漏洞,這樣的工具一般稱為靜態(tài)代碼檢測(cè)工具(SAST)。SAST的一大優(yōu)勢(shì)是能夠極大地減少查找代碼漏洞的時(shí)間。

?

靜態(tài)代碼分析流程

然而,這類工具往往最讓人印象深刻的首先就是“誤報(bào)率”,據(jù)統(tǒng)計(jì),SAST類的產(chǎn)品在OWASP基準(zhǔn)測(cè)試中最高檢出率達(dá)到85%,但誤報(bào)率也高達(dá)52%。高誤報(bào)率的主要原因在于程序無法準(zhǔn)確理解開發(fā)人員的代碼含義。其次,自動(dòng)化代碼安全審計(jì)往往無法查找業(yè)務(wù)相關(guān)的漏洞,比如支付漏洞、任意密碼重置,優(yōu)惠券疊加等。

相比于自動(dòng)化,人工審計(jì)優(yōu)勢(shì)在于查找業(yè)務(wù)邏輯相關(guān)漏洞,但對(duì)于成本也遠(yuǎn)高于自動(dòng)化工作,主要體現(xiàn)在兩方面:

①?學(xué)習(xí)成本

?

審計(jì)業(yè)務(wù)邏輯漏洞需要做到“三懂”:

?

a)?懂代碼。不同系統(tǒng)使用的代碼和開發(fā)平臺(tái)是不同的,Java、C#和PHP甚至是C++,各自關(guān)注的安全點(diǎn)也各不相同。而且很多安全問題在框架層次就已經(jīng)解決掉了,典型的認(rèn)證問題可用Shiro解決。如果看不懂框架,那么連實(shí)現(xiàn)的地方都無法找到,更不用說找出問題了。

b)懂業(yè)務(wù)。查找業(yè)務(wù)問題需要對(duì)系統(tǒng)業(yè)務(wù)有深入的了解,除了密碼重置等通用型業(yè)務(wù),還包括不同行業(yè)的獨(dú)有業(yè)務(wù),如電商的支付和優(yōu)惠券、金融的轉(zhuǎn)賬對(duì)賬等。

c)懂安全。在了解代碼和業(yè)務(wù)的基礎(chǔ)上,還需要從攻擊者視角審查業(yè)務(wù)安全漏洞,才能進(jìn)一步發(fā)現(xiàn)業(yè)務(wù)中可能存在的安全問題。比如典型的任意密碼重置漏洞、優(yōu)惠券疊加漏洞,都需要審計(jì)人員理解漏洞原理和實(shí)現(xiàn)方法,才能"對(duì)癥下藥"查找業(yè)務(wù)邏輯的不足。

②?時(shí)間成本

人工代碼安全審計(jì)的時(shí)長(zhǎng)取決于代碼量的多少。隨著代碼和業(yè)務(wù)復(fù)雜度的提升,完整實(shí)施代碼安全審計(jì)所需的時(shí)間成本也同步增加。

?

因此自動(dòng)化和人工審計(jì)兩種方法并不是相互對(duì)立的,而是互為補(bǔ)充,二者并用才是業(yè)界代碼安全審計(jì)的最佳實(shí)踐。

02?代碼安全審計(jì)的流程

代碼安全審計(jì)流程

從上面的審計(jì)流程可以看到,代碼安全審計(jì)工作的關(guān)鍵環(huán)節(jié)在于:

1.設(shè)定審計(jì)基線,包括三方面:

a)針對(duì)代碼和開發(fā)平臺(tái)的基線。這里需要考慮的是代碼開發(fā)語言、架構(gòu)、安全審計(jì)質(zhì)量準(zhǔn)則等。不同代碼和平臺(tái)之間關(guān)注的問題也不同。

b)合規(guī)基線。很多阻止需滿足合規(guī)要求,一些合規(guī)條例包括:等級(jí)保護(hù)要求、支付卡行業(yè)標(biāo)準(zhǔn)、中央銀行規(guī)定以及PCI-DSS(第三方支付行業(yè)數(shù)據(jù)安全標(biāo)準(zhǔn))等。

c) 針對(duì)漏洞的基線,即需要明確代碼安全審計(jì)要覆蓋哪些漏洞,僅僅覆蓋OWASP Top 10的漏洞還是要覆蓋所有類型的漏洞?

2.人工審計(jì)。主要分為兩部分工作:

?a) 驗(yàn)證工具掃描出的問題。

?b)查找工具未覆蓋的安全問題。

03??代碼安全審計(jì)的重要性

代碼安全審計(jì)在整個(gè)SDL流程中非常重要,屬于系統(tǒng)開發(fā)階段的白盒測(cè)試。

SDL全流程

?

很多人會(huì)將代碼安全審計(jì)和滲透測(cè)試作比較。二者主要區(qū)別如下:

①?階段不同。在SDL流程中,代碼安全審計(jì)早于滲透測(cè)試,通常在開發(fā)階段就可以實(shí)現(xiàn)。而滲透測(cè)試則出現(xiàn)于系統(tǒng)測(cè)試階段。

②?覆蓋范圍。通常代碼安全審計(jì)的覆蓋范圍高于滲透測(cè)試。

?

③?漏洞定位。代碼安全審計(jì)可以直接定位到漏洞的代碼,滲透測(cè)試通常做不到。

?

④?直觀。滲透測(cè)試比代碼安全審計(jì)更加直觀形象,可以在運(yùn)行的系統(tǒng)上直接驗(yàn)證問題。

?

在SDL實(shí)踐過程中,至少要有自動(dòng)化代碼安全審計(jì),即SAST工具。對(duì)于重要的業(yè)務(wù)系統(tǒng),需要進(jìn)行必要的人工審計(jì)。同時(shí),在大量實(shí)踐的基礎(chǔ)上,默安科技專家團(tuán)隊(duì)發(fā)現(xiàn)滲透測(cè)試和代碼安全審計(jì)也能夠相互促進(jìn),二者相互耦合,利用代碼安全審計(jì)發(fā)現(xiàn)問題,然后通過滲透測(cè)試驗(yàn)證問題,充分發(fā)揮各自的優(yōu)勢(shì),達(dá)到事半功倍的效果。如下圖所示。

?

總結(jié)

以上是生活随笔為你收集整理的干货|代码安全审计权威指南(附下载地址)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。