亚洲|浅谈图数据库安全

亚洲|浅谈图数据库安全

文章图片

亚洲|浅谈图数据库安全

文章图片

亚洲|浅谈图数据库安全

文章图片

亚洲|浅谈图数据库安全

摘要:浅谈图数据库的应用场景及面临的安全问题

开会啦 , 介绍下数据库家庭的新成员——图数据库

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端的暴露风险 。

昂楷的数据库漏扫、数据库审计、数据库防火墙等产品 , 已提供对图数据库全面保护 。 从数据生命周期的全角度 , 保护图数据库的安全 。
【亚洲|浅谈图数据库安全】部分图文来源于网络 , 如侵权请联系删稿 。


    推荐阅读