硬編碼密碼仍是一項關鍵性安全缺陷

2021-10-01 00:09:52 字數 2972 閱讀 8259

從瞻博到fortinet再到思科,眾多企業的在售解決方案都包含著硬編碼通行碼,而這或將給企業客戶帶來嚴重的安全風險。

這項常見的開發者漏洞不僅廣泛存在,而且在短時間內似乎也不太可能被徹底解決,immunity公司威脅情報負責人alex mcgeorge指出。

遺憾的是,硬編碼密碼屬於一項難以解決的內在問題,mcgeorge指出。「目前還沒有一種理想的解決辦法。人們因此而長期受到安全困擾,但其直到當下仍是一項安全難題。」

各大網路裝置製造商已經成為主要目標,各企業開發團隊也在以謹慎的態度保護自己的源**——具體來講,這些**已經成為其立足的根基。「我們發現思科公司起訴華為竊取其源**,並在自有品牌的產品當中加以使用,」mcgeorge表示。

這些例項切實證明,各**商害怕自己親手編寫的源**成果被反過來用於同自身競爭。「各**商不願讓任何外部人士訪問其源**,但由此帶來的結果就是軟體方案面臨嚴重安全風險,」mcgeorge解釋稱。

客戶與**商之間存在著固有的信任關係,而且他們相信**商不會在產品當中新增後門——不過部分安全從業者已經將此視為一種潛在可能性。「瞻博公司就面臨著這樣的問題。他們無法忽略這種問題的出現機率,」mcgeorge指出。

有些人會悄悄利用硬編碼密碼建立一道後門,從而保證其順利登入並修改部分加密變數。這種作法非常危險,mcgeorge表示,「特別是考慮到大家能夠在瞻博的防火牆與其它基礎設施之間發動中間人攻擊,從而對流量進行解密。」

這是一類尚不具備切實解決方案的問題。大多數使用者選擇信任瞻博,並假定這類行為源自他人之手。當然,他們花了幾年時間才最終確定這項結論。

「作為客戶,我們能做的其實非常有限。大家無法審計源**,因為其在法律層面上並不需要公開。我們只能要求瞻博方面承擔這項審計成本,或者要求他們將源**交由第三方進行審計並公布相關結果,」mcgeorge表示。

專門負責軟體評估與**審計的白帽安全企業casaba security公司聯合創始人chris weber指出,已發布產品中的密碼能夠被輕易找到,因為它們會隨產品一同放出。「某些能夠訪問該產品的人完全可以對韌體或者軟體進行分解,從而輕鬆找出密碼內容。這種內建密碼藏得不深,剖析起來也很容易,」weber指出。

解碼通過提出以下五個與硬編碼密碼相關的問題向**商施加壓力,從而實現安全性提公升。

該**商是否聘請了第三方進行源**審計?

審計結果是否可供查閱?

該**商的開發專案安全性如何?

該**商是否在產品中採用了滲透測試?

該**商是否有能力在密碼丟失的情況下實現裝置恢復?

企業面臨的具體安全風險取決於密碼的使用方式,但如何在發售的軟體中內建密碼,那麼其很有可能被惡意人士所發現。

這並非安全領域的新興難題,但出於種種原因其直到今天還在困擾著我們。「在開發流程當中,人們通常以團隊形式工作並需要訪問不同系統並共享系統訪問及憑證,」weber解釋稱。

開發人員需要共享憑證訪問能力,並利用私有金鑰進行加密與解密,隨後還需要安全地儲存並共享這些密碼。另外,該軟體還需要接入其它系統並進行登入。「當大家將資料傳送至資料庫並與之互動,其自然要求使得者進行登入,」weber指出。由此帶來的結果是,開發人員往往需要在軟體當中使用硬編碼密碼。

有時候在軟體當中保留密碼還能夠有效韶華軟體開發流程,但事後將其剔除卻難度很高。「這些開發人員可能立足於單一場景,但很快發現另一項需要完成的任務並為其儲存密碼,」weber解釋道。「他們可能認為』也許確實應該採用安全的密碼管理方式,不過我們太忙了,以後再說吧,』」他補充稱。

一般來講,滲透測試能夠發現被寫入至源**當中的密碼內容,而weber指出,「無論這些密碼是有意還是無意被發布出來,這都是種很差的習慣。歸根結底,我們需要立足於安全考慮問題:而安全就是便捷性的對立面。安全就像一道路障,總會橫亙在捷徑前面。」

palo alto networks公司42部門威脅情報主管ryan olson指出,裝置在企業環境下扮演的角色將決定密碼給安全性造成的風險水平。「最糟糕的場景就是,該裝置能夠對網路內某重要部分進行控制,而該密碼又允許訪問者順利接入裝置的全部功能,」olson表示。

有時候,硬編碼密碼的作用只供初始設定使用。「如果該密碼被用於預設賬戶,那麼其基本上就是供第一位安裝該裝置的使用者使用,在此之後這位使用者應當將該賬戶移除,」olson表示。

不過這些預設賬戶往往沒有被正確移除,而olson建議稱對裝置進行審計能夠幫助大家了解這些預設賬戶的存在。「這種作法不一定每次都能起效,因為某些硬編碼密碼存在於**本體當中,」olson表示。

企業能夠採取一定措施以對**商施加壓力,確保其不會將密碼直接放置在裝置當中,並藉此保護自身及網路安全。向**商詢問其是否有能力在丟失密碼的情況下實現裝置恢復非常重要,這能夠幫助我們快速弄清其是否在產品中使用了硬編碼密碼。

olson指出,「我們最好搞清楚裝置中是否存在硬編碼,並確認**商自身是否清楚這一點。」

由於硬編碼密碼允許我們無需使用者名稱或者驗證實現裝置登入,因此其往往會帶來多種潛在使用途徑。一部分敏感資訊亦可能因此遭到洩露,beyondtrust公司技術副總裁morey haber解釋稱。

「多數情況下,我們意識不到產品當中存在硬編碼密碼——直到出現實際問題。企業需要通過劃分與隔離手段保護這些密碼,從而保證敏感資料不會因此被意外訪問。具體來講,大家可以選擇使用控制平台與內部密碼安全技術,」haber建議稱。

除此之外,裝置的ip子網亦不應被任何形式的**管理機制所訪問,haber提醒道。「舉例來說,作為一家銀行,大家的敏感資料可能與其它資訊一道處於同一子網當中,這時我們需要某種形式的**機制實現安全訪問或者流量過濾。大家可以將風險控制在可接受的範圍內,因為各位需要在訪問這些硬編碼密碼之前進行認證,」haber解釋稱。

如果**商將軟體或者韌體以外包形式開發,那麼其通常不會變更使用者名稱與密碼內容。habaer強調稱,在這種情況下,任何企業客戶都應當對此類技術方案進行評估,了解該工具是否允許使用者變更其管理員使用者名稱或者密碼。如果答案是否定的,那麼其應被視為一種高危狀況。

「這時應當果斷考慮其它技術方案,」haber表示,「而且如果這是目前惟一可用的技術產品,那麼確保其中包含rfp或者與**商進行接洽。大家需要了解自己的裝置在管理角度是否具備良好保障。」

陣列刪除一項 物件刪除一項

經常用到,記一筆 var jone var skills vue react angular jquery bootstrap delete jone.輸出 var jone delete skills 1 輸出skills vue empty,angular jquery bootstrap 其中...

單一項原則

單一項原則真的很有用,特別是用於找出問題的根源.上週改乙個bug,bug的現象是 在火狐中,開啟介面 當然是公司產品的介面,不便給出位址 點選導航項時,除了開啟導航的模組,同時會開啟乙個空白的頁面.我是怎麼解決這個bug的呢?我找到導航的那段 以及相應的事件處理的js,copy到乙個簡單的html頁...

如何完成一項Mission Impossible

為什麼會這樣呢?其實在我們團隊制定dod definition of done 的時候,就已經體現出來了,只不過我們還沒有過多在意。我們當時制定的dod包括以下內容 完成字幕製作 完成背景 的整合 完成場景的合成 完成對內容的表述 第乙個sprint開始,我們按照scrum的框架,先開了乙個plan...