原創(chuàng)|行業(yè)資訊|編輯:鄭恭琳|2020-12-29 11:51:35.500|閱讀 283 次
概述:使用正確的工具和正確的規(guī)則正確地設(shè)置靜態(tài)分析,將幫助您保護(hù)軟件安全,證明自己在為審核員做正確的事情,并表明您在遵循“設(shè)計(jì)安全”和“設(shè)計(jì)隱私”的原則。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
使用正確的工具和正確的規(guī)則正確地設(shè)置靜態(tài)分析,將幫助您保護(hù)軟件安全,證明自己在為審核員做正確的事情,并表明您在遵循“設(shè)計(jì)安全”和“設(shè)計(jì)隱私”的原則。
GDPR既龐大又令人恐懼。如果您不清楚GDPR到底是什么還是對(duì)您來(lái)說(shuō)很重要,請(qǐng)看一下我的上一篇文章以獲取更多的概述。簡(jiǎn)而言之,這意味著您必須讓用戶知道您要收集的數(shù)據(jù),如何使用它們,盡力保護(hù)它,在發(fā)生違規(guī)時(shí)保持透明,并在他們要求時(shí)完全刪除任何用戶數(shù)據(jù)。哦,是的,如果您不遵守規(guī)定,將面臨巨額罰款。
從理論上講,GDPR僅適用于歐盟公民,但是如今,大多數(shù)商業(yè)活動(dòng)在全球范圍內(nèi)都需要盡力遵守全球法規(guī)。這樣,您就可以在以安全、私密的方式對(duì)待所有用戶,還是擁有針對(duì)歐盟和非歐盟客戶的完全分段的數(shù)據(jù)流之間進(jìn)行選擇(例如,更昂貴的主張)。在此文中,我將說(shuō)明如何利用靜態(tài)代碼分析來(lái)幫助改善數(shù)據(jù)保護(hù)和隱私。
考慮GDPR,數(shù)據(jù)保護(hù)和其他相關(guān)數(shù)據(jù)法規(guī)(例如PCI-DSS(支付卡行業(yè)數(shù)據(jù)安全標(biāo)準(zhǔn))或HIPAA(健康保險(xiǎn)可移植性和責(zé)任法案))時(shí),立即想到的是需要增加測(cè)試,動(dòng)態(tài)分析以及滲透測(cè)試。盡管這些測(cè)試技術(shù)是必要且重要的,但它們卻減少了發(fā)布不安全軟件的機(jī)會(huì),而沒(méi)有真正使軟件更安全或首先確保了隱私。但是,除了質(zhì)量或性能外,安全性和隱私性都不能“測(cè)試”到軟件中。因此,GDPR需要稱為“設(shè)計(jì)安全”和“設(shè)計(jì)隱私”(PbD)的概念,這意味著首先要更好地構(gòu)建軟件。
“設(shè)計(jì)私密性方法的特征在于采取主動(dòng)而不是被動(dòng)的措施。它可以預(yù)見(jiàn)并防止隱私入侵事件在發(fā)生之前發(fā)生。PbD不會(huì)等待隱私風(fēng)險(xiǎn)的出現(xiàn),也不會(huì)提供解決隱私違規(guī)行為的補(bǔ)救措施——目的是防止此類事件的發(fā)生。簡(jiǎn)而言之,“按設(shè)計(jì)進(jìn)行隱私保護(hù)”是事前的事,而不是事后的事。”
A. Cavoukian《設(shè)計(jì)隱私——七項(xiàng)基本原則》,2011年1月。
我提出這兩個(gè)概念是因?yàn)樗鼈兪钦5膽?yīng)用程序安全性活動(dòng)(防火墻、滲透測(cè)試、紅隊(duì)、DAST等)之后的下一步。“根據(jù)設(shè)計(jì)”部分也可以理解為“內(nèi)置”。這是一個(gè)想法,而不是戳您的應(yīng)用程序并確定漏洞所在,而是首先構(gòu)建一個(gè)沒(méi)有漏洞的應(yīng)用程序……這是設(shè)計(jì)使然。例如,SQL注入(SQLi)仍然是最常見(jiàn)的漏洞利用之一。
有許多工具可以嘗試強(qiáng)制通過(guò)UI進(jìn)行注入(滲透測(cè)試),或者在不運(yùn)行程序的情況下模擬程序中的數(shù)據(jù)流,以查看污染的數(shù)據(jù)是否可以使其進(jìn)入數(shù)據(jù)庫(kù)查詢(流分析)。“按設(shè)計(jì)”方法意味著在獲取輸入時(shí),將任何輸入(來(lái)自數(shù)據(jù)庫(kù),用戶或任何地方)包裝到驗(yàn)證功能內(nèi)部。這減少了數(shù)據(jù)可以繞過(guò)零的可能路徑。您仍然需要運(yùn)行滲透測(cè)試以確保正確構(gòu)建了軟件,但不同之處在于,如果pentest成功,則您不僅可以解決發(fā)現(xiàn)的一個(gè)弱點(diǎn)。取而代之的是,您回頭找出為什么成功進(jìn)行過(guò)測(cè)試并構(gòu)建您的軟件,使它不會(huì)成功。
如果pentest在您的軟件中發(fā)現(xiàn)許多安全漏洞,那么您并不是在“按設(shè)計(jì)”構(gòu)建安全軟件。與“設(shè)計(jì)隱私”類似,我們會(huì)監(jiān)視共享對(duì)象/共享對(duì)象/共享對(duì)象,并且除非另有說(shuō)明,否則我們假定所有數(shù)據(jù)都很重要。同樣,通常程序員會(huì)假設(shè)數(shù)據(jù)ISN并不重要,除非特別標(biāo)記。您可以在有關(guān)是否以純格式存儲(chǔ)數(shù)據(jù)或是否對(duì)數(shù)據(jù)進(jìn)行加密的決策中看到這一點(diǎn)。加密所有內(nèi)容是一種通過(guò)設(shè)計(jì)來(lái)保護(hù)隱私的方法。眾多的其中之一,但這是基本概念。如果您對(duì)所有內(nèi)容都進(jìn)行了加密,則不必?fù)?dān)心沒(méi)有對(duì)本應(yīng)擁有的內(nèi)容進(jìn)行加密。
靜態(tài)分析的作用并不是要告訴我們我們的軟件容易受到攻擊(這是測(cè)試的工作)。靜態(tài)分析的作用是幫助確保軟件最初是強(qiáng)大的……通過(guò)設(shè)計(jì)。流分析作為安全測(cè)試技術(shù)已在過(guò)去10年中流行,但它仍然是一種測(cè)試軟件的方法,而不是一種強(qiáng)化軟件,內(nèi)置安全性或“通過(guò)設(shè)計(jì)”進(jìn)行安全性的方法。
如果正確使用靜態(tài)分析,可以將其定位為真正的預(yù)防技術(shù)。除了流程分析安全規(guī)則(即查找受污染的數(shù)據(jù))外,我們還啟用了確保以安全方式構(gòu)建軟件的規(guī)則。考慮到以上兩種情況,在設(shè)計(jì)時(shí)要進(jìn)行隱私保護(hù)時(shí),我可以使用靜態(tài)分析規(guī)則來(lái)標(biāo)記何時(shí)存儲(chǔ)數(shù)據(jù)而不先進(jìn)行加密,或者何時(shí)使用可破解的舊的不當(dāng)加密方法而不是強(qiáng)加密,或者何時(shí)用戶嘗試訪問(wèn)不適當(dāng)?shù)臄?shù)據(jù)以獲得其預(yù)期的權(quán)限。
這是對(duì)示例規(guī)則的簡(jiǎn)要說(shuō)明,該規(guī)則在調(diào)用敏感方法時(shí)強(qiáng)制執(zhí)行日志記錄。此靜態(tài)分析規(guī)則不會(huì)發(fā)現(xiàn)錯(cuò)誤,但可以幫助您制作可記錄正在發(fā)生的事情的軟件,從而在生產(chǎn)中更加安全。此規(guī)則非常適合PCI-DSS和GDPR。
確保記錄了所有敏感方法調(diào)用[SECURITY.BV.ENFL]
描述:此規(guī)則標(biāo)識(shí)不記錄敏感方法調(diào)用的代碼。如果使用某些敏感方法調(diào)用(例如,來(lái)自“javax.security.auth.login.LoginContext”的“login”和“logout”)未記錄,則會(huì)報(bào)告錯(cuò)誤。
設(shè)計(jì)上的另一個(gè)隱私示例是此規(guī)則,該規(guī)則有助于防止您的軟件確實(shí)發(fā)生錯(cuò)誤時(shí)無(wú)意中泄露個(gè)人或重要信息:
不要將異常消息傳遞到輸出中,以防止應(yīng)用程序泄漏敏感信息[SECURITY.ESD.PEO]
描述:該規(guī)則標(biāo)識(shí)將異常消息傳遞到輸出的代碼。當(dāng)catch子句調(diào)用輸出方法并且在catch子句中捕獲的異常出現(xiàn)在參數(shù)列表中或用作調(diào)用對(duì)象時(shí),將報(bào)告錯(cuò)誤。
該規(guī)則涵蓋OWASP Top 10,CWE,PCI-DSS和GDPR——這意味著無(wú)論您為何嘗試進(jìn)行安全保護(hù),這都是一個(gè)好主意。
由于GDPR不是編碼標(biāo)準(zhǔn),因此沒(méi)有簡(jiǎn)單的靜態(tài)分析配置可以覆蓋它。通常,最好的起點(diǎn)是找到與您當(dāng)前在測(cè)試中發(fā)現(xiàn)的問(wèn)題(例如XSS或SQLi問(wèn)題)直接相關(guān)的靜態(tài)分析規(guī)則。此類問(wèn)題通常具有一些靜態(tài)分析規(guī)則,這些規(guī)則可以充當(dāng)漏洞發(fā)現(xiàn)者,并且可以在對(duì)這些問(wèn)題進(jìn)行測(cè)試之前對(duì)其進(jìn)行早期檢測(cè)。更重要的是,在這種情況下,在輸入驗(yàn)證周?chē)€將有關(guān)聯(lián)的規(guī)則,這些規(guī)則可幫助您確保SQLi完全不會(huì)像我上面提到的那樣發(fā)生。
很難通過(guò)存儲(chǔ)從用戶輸入中追蹤數(shù)據(jù)。編程使驗(yàn)證始終發(fā)生很容易。編程使加密始終發(fā)生很容易,而且易于測(cè)試。為什么要這么難?
找到并打開(kāi)測(cè)試期間發(fā)現(xiàn)問(wèn)題的規(guī)則后,您將需要走得更遠(yuǎn)。我建議您從已經(jīng)涵蓋數(shù)據(jù)隱私和保護(hù)的其他編碼標(biāo)準(zhǔn)中借鑒一些想法。OWASP,HIPAA和PCI-DSS是一些不錯(cuò)的選擇。如果您在靜態(tài)分析工具中啟用了與這些標(biāo)準(zhǔn)相關(guān)的任何規(guī)則,那么GDPR將會(huì)做得很好。實(shí)際上,如果您已經(jīng)符合PCI-DSS的標(biāo)準(zhǔn),那么您至少會(huì)發(fā)現(xiàn)GDPR的這一部分相對(duì)較容易準(zhǔn)備。
如果您已經(jīng)有其他安全要求,例如CWE或CERT,則可以確保遵循這些要求,并通過(guò)在與數(shù)據(jù)隱私,數(shù)據(jù)相關(guān)的那些標(biāo)準(zhǔn)中找到任何項(xiàng)來(lái)擴(kuò)展配置,以涵蓋必要的特定GDPR數(shù)據(jù)保護(hù)。保護(hù)和加密。
Parasoft可以通過(guò)幾種方式幫助您確保代碼的安全性和私密性。首先,我們所有的靜態(tài)分析引擎都具有針對(duì)OWASP,CWE,CERT,PCI-DSS,HIPPA等的配置。您可以打開(kāi)一組完全適合您的組織的安全規(guī)則,然后自動(dòng)執(zhí)行它們。
此外,將Parasoft DTP與靜態(tài)分析集成時(shí),您將具有完整的審核功能,可以自動(dòng)記錄在哪些代碼和什么時(shí)間運(yùn)行哪些規(guī)則的過(guò)程。您可以根據(jù)選擇的規(guī)則證明自己正在進(jìn)行測(cè)試,甚至可以通過(guò)設(shè)計(jì)確保安全。
Parasoft DTP還具有一些非常特殊的報(bào)告,如果您選擇將安全工作基于CWE,Parasoft CWE儀表板會(huì)為您提供出色的SAST報(bào)告,例如按嚴(yán)重性、位置、類型、歷史記錄等問(wèn)題。進(jìn)一步并在CWE中實(shí)施了技術(shù)影響數(shù)據(jù)。技術(shù)影響力(TI)是在Miter進(jìn)行的研究,是Common Weakness Risk Analysis Framework(CWRAF)的一部分,可幫助您根據(jù)SAST結(jié)果可能導(dǎo)致的問(wèn)題對(duì)其進(jìn)行分類。因此,TI告訴您緩沖區(qū)溢出可能導(dǎo)致拒絕服務(wù),而不是一條消息指出您存在緩沖區(qū)溢出(有些人可能不會(huì)將其識(shí)別為安全問(wèn)題)。
每個(gè)CWE發(fā)現(xiàn)都會(huì)告訴您可能發(fā)生什么類型的問(wèn)題,并且有特殊的圖形可以幫助您根據(jù)對(duì)您最重要的問(wèn)題區(qū)域(而不僅僅是嚴(yán)重性級(jí)別)導(dǎo)航靜態(tài)分析問(wèn)題。這項(xiàng)突破性的技術(shù)可幫助您解決經(jīng)常導(dǎo)致大量漏洞的情況,尤其是在使用舊代碼庫(kù)的情況下。首先關(guān)注最讓您感到恐懼的問(wèn)題。
當(dāng)然,當(dāng)我今天專注于靜態(tài)分析作為通過(guò)設(shè)計(jì)進(jìn)行安全性的一種方式時(shí),請(qǐng)不要忘記Parasoft還具有滲透測(cè)試工具,API測(cè)試和服務(wù)虛擬化,所有這些都是工具的重要組成部分。全面的安全軟件開(kāi)發(fā)策略。
GDPR看起來(lái)很可怕,而且確實(shí)可以,但是使用正確的工具和正確的規(guī)則正確設(shè)置靜態(tài)分析將幫助您保護(hù)軟件的安全,證明您為審計(jì)員所做的正確的事情以及表明您正在遵循設(shè)計(jì)安全和設(shè)計(jì)隱私的原則。這是滲透測(cè)試本身無(wú)法做到的。額外的好處是,您會(huì)發(fā)現(xiàn),從“按設(shè)計(jì)”的角度考慮安全性比嘗試測(cè)試在質(zhì)量檢查和發(fā)布之間保護(hù)軟件安全的方法要有效得多。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn