GraphGenie:一款针对图形数据库引擎的安全检测工具
2024-8-16 22:13:21 Author: www.freebuf.com(查看原文) 阅读量:5 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

关于GraphGenie

GraphGenie是一款针对图形数据库引擎的安全检测工具,该工具可以通过改变图形查询模式来检测图形数据库引擎中的逻辑错误。

GraphGenie 是一款错误查找工具,用于检测图形数据库管理系统中的逻辑错误、性能问题和内部错误。具体来说,与大多数现有的测试工作改变查询谓词不同,GraphGenie 利用图形查询转换 (GQT) 来构建语义等效或变体图形查询模式,从而可以对其结果进行比较分析以发现错误。GraphGenie 已经过测试(20.04.2 LTS Ubuntu Linux 64 位发行版、Python 3.8.10),并发现了 Neo4j 等流行图形数据库引擎上以前未知的错误。

工具要求

Python 3.8.10+

python3-pip

configparser

neo4j

redisgraph

psycopg2

工具安装

由于该工具基于Python 3.8.10开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3.8.10+环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/YuanchengJiang/GraphGenie.git

然后切换到项目目录中,运行下列命令安装该工具所需的其他依赖组件:

cd GraphGenie

apt install python3-pip

pip3 install configparser

pip3 install neo4j

pip3 install redisgraph

pip3 install psycopg2

图形数据库引擎设置

我们不需要初始化图形数据,可以直接使用现有的图形数据集(点击【这里】获取)。针对Neo4j的配置如下:

apt install openjdk-17-jdk;

cd dbs;

wget https://dist.neo4j.org/neo4j-community-5.11.0-unix.tar.gz;

tar -xvf neo4j-community-5.11.0-unix.tar.gz;

git clone https://github.com/neo4j-graph-examples/recommendations.git;

cd neo4j-community-5.11.0;

./bin/neo4j-admin dbms set-initial-password 12344321

./bin/neo4j-admin database load --from-stdin --overwrite-destination=true neo4j < ../recommendations/data/recommendations-50.dump;

echo "dbms.transaction.timeout=30s" >> ./conf/neo4j.conf

./bin/neo4j start

工具使用

先配置graphgenie.ini,然后开始测试。如果您测试的是Neo4j,只需运行 main.py即可:

./main.py

对于其他数据库,您需要先初始化数据集并在main.py的第332行指定下列参数:

node_labels, edge_labels, node_properties, connectivity_matrix

执行完成后,可以在./bug.log中找到检测到的安全问题详情,./testing.log文件将记录下所有执行过的查询信息。

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可协议。

项目地址

GraphGenie:【GitHub传送门

参考资料

https://github.com/neo4j-graph-examples/recommendations.git

https://github.com/neo4j/neo4j

https://github.com/RedisGraph/RedisGraph/

https://github.com/bitnine-oss/agensgraph/

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022


文章来源: https://www.freebuf.com/sectool/408896.html
如有侵权请联系:admin#unsafe.sh