當前位置:編程學習大全網 - 編程語言 - NoSQL數據庫是否意味著缺乏安全性?

NoSQL數據庫是否意味著缺乏安全性?

NoSQL薄弱的安全性會給企業帶來負面影響。Imperva公司創始人兼CTO Amichai Shulman如是說。在新的壹年中,無疑會有更多企業開始或籌劃部署NoSQL。方案落實後就會逐漸發現種種安全問題,因此早做準備才是正確的選擇。  作為傳統關系型數據庫的替代方案,NoSQL在查詢中並不使用SQL語言,而且允許用戶隨時變更數據屬性。此類數據庫以擴展性良好著稱,並能夠在需要大量應用程序與數據庫本身進行實時交互的交易處理任務中發揮性能優勢,Couchbase創始人兼產品部門高級副總裁James Phillips解釋稱:NoSQL以交易業務為核心。它更註重實時處理能力並且擅長直接對數據進行操作,大幅度促進了交互型軟件系統的發展。Phillips指出。其中最大的優勢之壹是能夠隨時改變(在屬性方面),由於結構性的弱化,修改過程非常便捷。  NoSQL最大優勢影響其安全性  NoSQL的關鍵性特色之壹是其動態的數據模型,Shulman解釋道。我可以在其運作過程中加入新的屬性記錄。因此與這種結構相匹配的安全模型必須具備壹定的前瞻性規劃。也就是說,它必須能夠了解數據庫引入的新屬性將引發哪些改變,以及新加入的屬性擁有哪些權限。然而這個層面上的安全概念目前尚不存在,根本沒有這樣的解決方案。  根據Phillips的說法,某些NoSQL開發商已經開始著手研發安全機制,至少在嘗試保護數據的完整性。在關系型數據庫領域,如果我們的數據組成不正確,那麽它將無法與結構並行運作,換言之數據插入操作整體將宣告失敗。目前各種驗證規則與完整性檢查已經比較完善,而事實證明這些驗證機制都能在NoSQL中發揮作用。我們與其他人所推出的解決方案類似,都會在插入壹條新記錄或是文檔型規則時觸發,並在執行過程中確保插入數據的正確性。  Shulman預計新用戶很快將在配置方面捅出大婁子,這並非因為IT工作人員的玩忽職守,實際上主要原因是NoSQL作為壹項新技術導致大多數人對其缺乏足夠的知識基礎。Application Security研發部門TeamSHATTER的經理Alex Rothacker對上述觀點表示贊同。他指出,培訓的壹大問題在於,大多數NoSQL的從業者往往屬於新生代IT人士,他們對於技術了解較多,但往往缺乏足夠的安全管理經驗。  如果他們從傳統關系型數據庫入手,那麽由於強制性安全機制的完備,他們可以在使用中學習。但NoSQL,只有行家才能通過觀察得出正確結論,並在大量研究工作後找到壹套完備的安全解決方案。因此可能有90%的從業者由於知識儲備、安全經驗或是工作時間的局限而無法做到這壹點。  NoSQL需在安全性方面進行優化  盡管Phillips認同新技術與舊經驗之間存在差異,但企業在推廣NoSQL時加大對安全性的關註會起到很大程度的積極作用。他認為此類數據存儲機制與傳統關系類數據庫相比,其中包含著的敏感類信息更少,而且與企業網絡內部其它應用程序的接觸機會也小得多。  他們並不把這項新技術完全當成數據庫使用,正如我們在收集整理大量來自其它應用程序的業務類數據時,往往也會考慮將其作為企業數據存儲機制壹樣,他補充道。當然,如果我打算研發壹套具備某種特定功能的社交網絡、社交遊戲或是某種特殊web應用程序,也很可能會將其部署於防火墻之下。這樣壹來它不僅與應用程序緊密結合,也不會被企業中的其它部門所觸及。  但Rothacker同時表示,這種過度依賴周邊安全機制的數據庫系統也存在著極其危險的漏洞。壹旦系統完全依附於周邊安全模型,那麽驗證機制就必須相對薄弱,而且缺乏多用戶管理及數據訪問方面的安全保護。只要擁有高權限賬戶,我們幾乎能訪問存儲機制中的壹切數據。舉例來說,Brian Sullivan就在去年的黑帽大會上演示了如何在完全不清楚數據具體內容的情況下,將其信息羅列出來甚至導出。  而根據nCircle公司CTO Tim ?TK? Keanini的觀點,即使是與有限的應用程序相關聯,NoSQL也很有可能被暴露在互聯網上。在缺少嚴密網絡劃分的情況下,它可能成為攻擊者窺探存儲數據的薄弱環節。因為NoSQL在設計上主要用於互聯網規模的部署,所以它很可能被直接連接到互聯網中,進而面臨大量攻擊行為。  其中發生機率最高的攻擊行為就是註入式攻擊,這也是壹直以來肆虐於關系類數據庫領域的頭號公敵。盡管NoSQL沒有將SQL作為查詢語言,也並不代表它能夠免受註入式攻擊的威脅。雖然不少人宣稱SQL註入在NoSQL這邊不起作用,但其中的原理是完全壹致的。攻擊者需要做的只是改變自己註入內容的語法形式,Rothacker解釋稱。也就是說雖然SQL註入不會出現,但JavaScript註入或者JSON註入同樣能威脅安全。  此外,攻擊者在籌劃對這類數據庫展開侵襲時,也很可能進壹步優化自己的工具。不成熟的安全技術往往帶來這樣的窘境:需要花費大量時間學習如何保障其安全,但幾乎每個IT人士都能迅速掌握攻擊活動的組織方法。因此我認為攻擊者將會始終走在安全部署的前面,Shulman說道。遺憾的是搞破壞總比防範工作更容易,而我們已經看到不少NoSQL技術方面的公開漏洞,尤其是目前引起熱議的、以JSON註入為載體的攻擊方式。  NoSQL安全性並非其阻礙  然而,這壹切都不應該成為企業使用NoSQL的阻礙,他總結道。我認為歸根結底,這應該算是企業的壹種商業決策。只要這種選擇能夠帶來吸引力巨大的商業機遇,就要承擔壹定風險,Shulman解釋道。但應該采取壹定措施以盡量弱化這種風險。  舉例來說,鑒於數據庫對外部安全機制的依賴性,Rothacker建議企業積極考慮引入加密方案。他警告稱,企業必須對與NoSQL相對接的應用程序代碼仔細檢查。換言之,企業必須嚴格挑選負責此類項目部署的人選,確保將最好的人才用於這方面事務,Shulman表示。當大家以NoSQL為基礎編寫應用程序時,必須啟用有經驗的編程人員,因為客戶端軟件是抵擋安全問題的第壹道屏障。切實為額外緩沖區的部署留出時間與預算,這能夠讓員工有閑暇反思自己的工作內容並盡量多顧及安全考量多想壹點就是進步。綜上所述,這可能與部署傳統的關系類數據庫也沒什麽不同。  具有諷刺意味的是,近年來數據庫應用程序在安全性方面的提升基本都跟數據庫本身沒什麽關系,nCircle公司安全研究及開發部門總監Oliver Lavery如是說。

  • 上一篇:黑芝麻的營養價值和功效與作用
  • 下一篇:這裏有屬於我的世界
  • copyright 2024編程學習大全網