原創(chuàng)|行業(yè)資訊|編輯:鄭恭琳|2020-12-01 14:32:03.480|閱讀 234 次
概述:你會如鴕鳥一般將頭埋在沙子里嗎?不進行適當?shù)陌踩珳y試可能會讓您感到安全,但不知道代碼的漏洞將無法保證系統(tǒng)的安全。了解如何獲得更多可見性以及如何在代碼中建立安全性。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
你會如鴕鳥一般將頭埋在沙子里嗎?不進行適當?shù)陌踩珳y試可能會讓您感到安全,但不知道代碼的漏洞將無法保證系統(tǒng)的安全。了解如何獲得更多可見性以及如何在代碼中建立安全性。
正如公正準確的選舉是民主的基礎一樣,安全軟件對于我們現(xiàn)代的數(shù)字生活也至關重要。我不是將它們比作可愛,而是挖掘兩者的交集,這可能是災難性的。最近對美國投票系統(tǒng)的分析表明,它們充滿了不安全感。選民數(shù)據(jù)很容易經(jīng)常被盜。現(xiàn)在,當您考慮到大約10000個地方投票轄區(qū)中的此漏洞時,當然,其中某些系統(tǒng)似乎并不安全。
這些故事中最令人震驚和最有啟發(fā)性的是,在最近的DefCon Hackathon上,一個11歲的男孩可以使用我最喜歡的SQL注入方法在測試系統(tǒng)上訪問選舉結果數(shù)據(jù)。花了整整10分鐘。我想我并不感到驚訝,因為我長期以來就將SQL注入視為兒童游戲(這就是我制作SQLi Hall-of-Shame的原因)。DefCon的一位組織者指出:
“這些網(wǎng)站很容易被黑客入侵,我們無法將其提供給成年黑客——他們會在舞臺上被嘲笑”
在這種情況下,選舉官員聲稱真實的系統(tǒng)更難破解,但我對此表示懷疑。這種拒絕在軟件安全行業(yè)中很普遍,直到發(fā)生真正的黑客事件為止。請回過頭來看看Heartbleed,在經(jīng)過充分驗證之前,大多數(shù)人并沒有認真對待它。或者,當業(yè)內(nèi)人士稱輪胎壓力傳感器太難,品種太多,沒關系等問題后才發(fā)現(xiàn)輪胎壓力傳感器的漏洞。就在幾周前發(fā)生的汽車鑰匙扣攻擊也是如此。
另一個非常普遍的舉動是,許多選舉官員沒有做任何測試。這種直截了當?shù)姆椒赡軙椭麄兏杏X更好,但是不知道您的安全隱患不會使您的系統(tǒng)安全。我保證壞演員會確切知道那里存在哪些漏洞。
我們必須開始做得更好。保護互聯(lián)網(wǎng)連接系統(tǒng)的安全已經(jīng)足夠困難,我們無需讓黑客輕松訪問。
網(wǎng)絡安全社區(qū)普遍禁止100%的安全性。但是,盡管這是事實,但目前還不是問題。問題在于,我們甚至沒有做任何簡單的事情來保護我們的軟件,例如,對于選民網(wǎng)站或投票機而言。我知道,任何真正想要我的車的人都可以偷它,但是我仍然鎖著車門,并且沒有把鑰匙留在里面。無法保護連接互聯(lián)網(wǎng)的應用程序免受基于輸入的攻擊,意味著您要讓某人帶走所有數(shù)據(jù)。
無論選舉黑客的動機是什么,無論是民族國家、政治組織還是地下室的黑客在尋找樂趣,重要的是要盡我們最大的努力來提高投票系統(tǒng)的安全性和可靠性。這些問題看似巨大,但實際上,我們可以做一些基本的事情,方法是堵塞泄漏系統(tǒng)中最明顯的孔,這些措施將是有效的。
設計安全
設計安全意味著我們必須開始對應用程序安全性和安全編碼進行不同的思考。這意味著我們無法再測試軟件的安全性,而已無法測試產(chǎn)品的質(zhì)量。“按設計”部分意味著我們首先考慮安全性,然后構建安全的應用程序,并且我們進行諸如滲透測試之類的安全測試是為了驗證安全性,而不是為了發(fā)現(xiàn)安全性缺陷。
問問自己——當筆測發(fā)現(xiàn)有問題時,您會怎么做?您是否通過流程分析對其進行跟蹤以發(fā)現(xiàn)類似的漏洞?然后,您是否正在尋找類似CERT的標準來制定策略,以向您展示如何以避免筆測試找到的方式進行編碼?對于SQLi,這意味著以確定性方式進行輸入驗證,不會丟失用戶輸入。
密碼
攻擊者訪問設備的一種常見方法是通過密碼。如果設備允許使用質(zhì)量低劣的密碼,或者無法保護自己免受嘗試猜測密碼的危害,那么它們將很容易受到攻擊。在最壞的情況下,設備出廠時實際上沒有任何密碼,直到您配置一個密碼或使用一些硬編碼的默認憑據(jù)。這個問題已經(jīng)被業(yè)界認識了幾十年,但是仍然存在。加利福尼亞州最近的立法要求設備制造商在這方面采取基本步驟。當然,這不是一個完整的解決方案,而是一個很好的起點。
安全編碼標準
您可以使用許多網(wǎng)絡安全標準和框架來指導創(chuàng)建安全代碼應采用的實踐和流程,例如單元測試、測量覆蓋范圍、運行靜態(tài)分析、同行評審等。在軟件級別,這必須最終導致特定的編碼標準。
編碼標準包括不同品種的指南。他們中的一些人尋找編碼缺陷,無需實際運行代碼即可識別安全問題。其他的則是反模式,這意味著它們會尋找您不應該使用的不良代碼或“代碼異味”。還有一些是規(guī)定性的,可以告訴您更好的編碼方式。
最后一組是領先于網(wǎng)絡安全的唯一方法。這些標準非常適合設計安全性倡議,并且將幫助您首先構建更安全的代碼。在實施靜態(tài)分析計劃以進行安全編碼時,請確保查看可用的檢查器,并確保將檢測器、氣味和預防措施混合在一起。這三者共同可以加強您的應用程序,不僅可以抵御SQL注入,還可以抵御所有其他基于輸入的常見攻擊。
為使用C,C++,Java和.NET的開發(fā)人員提供了對這些規(guī)則的支持。我們支持常見的安全標準,例如CWE,OWASP,CERT和UL 2900,并且由于我們基于工程標準開始了靜態(tài)分析產(chǎn)品,因此似乎在任何地方,我們都有最大的預防規(guī)則集。例如,我們有一個簡單的輸入驗證規(guī)則,當遵循該規(guī)則時,結束SQLi的可能性。它不是通過嘗試通過應用程序的無數(shù)(幾乎是無限)流追蹤受污染的數(shù)據(jù)(通過測試來確保安全),而是通過創(chuàng)建沒有旁路輸入驗證路徑的代碼(安全——通過設計)。
這是從根本上不同的方式來考慮安全性。如果您具有工程學學位,那么您將非常熟悉這種基于標準的方法。如果您花了一生的時間來構建軟件,那么這似乎是新的。但這將使您在軟件安全性方面處于領先地位。立即點擊下圖申請免費試用,您可以。
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn