浅谈图数据库安全

发布时间: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