freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

GraphGenie:一款针对图形数据库引擎的安全检测工具
Alpha_h4ck 2024-08-16 22:13:21 100849

关于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/

# 数据库安全 # 数据库审计 # 数据库 # 安全检测 # 数据库安全加固
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1023 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录