淺談圖數據庫安全

發布時間:2020-07-13 作者:昂楷科技

      開會啦,介紹下數據庫家庭的新成員——圖數據庫

     

     DB的世界分為兩個大家族,分別是SQL關系型數據庫和NoSQL非關系型數據庫。SQL關系型數據庫家族成員有Oracle、MySQL、MSSQL等,粉絲數量眾多;而NOSQL家族相對來說年紀偏小,但都天性分明,如鍵值(Key-Value)存儲數據庫、列存儲(Column-oriented)數據庫、面向文檔(Document-Oriented)數據庫、搜索引擎存儲、時序數據庫、圖數據庫等,他們在高效性、易擴展性上表現突出,各個細分領域都有自己的地位,可謂不容小覷的后浪。

     隨著AI的快速發展,知識圖譜的廣泛應用,與之強相關的圖數據庫也格外耀眼。下圖是截止2020年6月的主流數據庫排名,圖數據庫Neo4j已超過前幾年大熱的HBase數據庫。

數據來自:https://db-engines.com/en/ranking


     事出反常必有“妖”,一起來了解下圖數。

     圖數據庫是NoSQL數據庫的一種類型,起源于歐拉理論和圖理論,也可稱為面向/基于圖的數據庫,對應的英文是Graph Database。它應用圖形理論存儲實體之間的關系信息,圖數據庫的基本含義是以“圖”這種數據結構做為邏輯結構存儲和查詢數據。這,很契合知識圖譜的應用場景。我們知道一個圖包含節點和邊,如下圖:



       在圖數據庫中圖將實體表現為節點,實體與其他實體連接的方式表現為聯系(邊)。我們可以用這個通用的、富有表現力的結構來建模各種場景。例如,從宇宙火箭的建造到道路系統,從食物的供應鏈及原產地追蹤到人們的病歷,甚至更多其他的場景。

       例如,金融機構授信時,需要獲取貸款申請人本人的工作信息、借貸信息,同時還需要對其周邊如配偶、父母所在單位的營業、信用信息等,綜合判斷得出是否授信。

如果使用關系型數據庫,一個用戶表存儲用戶詳情,上述過程我們以主人公小李為例:

1、先獲取小李的各種信息;

2、通過小李的各種信息去表中查詢出對應的數據;

3、再根據查出的第一維度用戶去表中查詢其他維度用戶,再獲取用戶的其他信息;

4、join,多表join、多次join...算了,先讓我吃個瓜冷靜下。

       基于這種復雜的查詢,圖數據庫解決起來便輕松很多。申請用戶“小李”做為節點、親屬或其他社會屬性關系作為邊、用戶的其他屬性作為節點的屬性,類似下圖,一步搞定。

        圖數據庫雖好,卻也同NOSQL家族的其他成員一樣,設計之初,更關注場景與業務效率。在安全方面考慮也存在著不足,主要面臨著以下問題:

1.身份認證較為簡單。Neo4j圖數據庫認證報文中密碼是明文傳輸的,如下圖為登錄報文。甚至有些默認不需要密碼就可以登錄。

2.用戶權限控制缺乏細粒度。一方面是某些圖數據庫權限控制機制不足,另一方面是管理經驗上不足。

3.NoSQL注入、web攻擊等。類似MongoDB,Neo4j圖數據庫有web管理平臺,除DBMS自身漏洞、協議漏洞還增加了web端的暴露風險。

       昂楷的數據庫漏掃、數據庫審計、數據庫防火墻等產品,已提供對圖數據庫全面保護。從數據生命周期的全角度,保護圖數據庫的安全。


部分圖文來源于網絡,如侵權請聯系刪稿。




返回上一級

400-622-8990

丝瓜视频污安卓下载-丝瓜视频污版-丝瓜视频污版下载-丝瓜视频污成人