joern安装+简单使用

本文详细指导如何在Ubuntu上安装配置root密码,安装vmtools,升级到最新JDK19,设置JAVA_HOME,然后按照官方文档安装并使用joern,包括可视化工具的安装和常用命令,以及joern-export命令的使用示例。
摘要由CSDN通过智能技术生成

有一个不错的教程
怎样使用Joern生成Program Dependence Graph并和源码中的行号对应起来

Ubuntu安装

配置root密码

sudo passwd root

vmtools安装

  • 直接在线安装
$ sudo apt-get install open-vm-tools-desktop -y

jdk安装

  • 如果安装了其他版本的jdk,可以先卸载
# 卸载所有与OpenJDK相关的软件包
$ sudo apt-get remove openjdk-\*

#列出所有OpenJDK相关的文件和目录
$ sudo apt install mlocate
$ sudo updatedb
$ locate openjdk

#依次进入每个目录,使用 rm -rf 命令删除目录和文件
$ sudo rm -rf /etc/java-8-openjdk
  • 最新的joern文档中要求jdk19
$ apt install openjdk-19-jre-headless
$ apt install openjdk-19-jdk-headless
  • 设置java环境变量
# 查看java安装位置
$ sudo update-alternatives --config java

# 用vim添加环境变量
$ sudo vim /etc/environment
# 在文件最后添加JAVA_HOME
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"

#重新加载环境
$ source /etc/environment

#验证
$ echo $JAVA_HOME
"/usr/lib/jvm/java-11-openjdk-amd64/bin/java"

安装joern

sudo snap install curl

mkdir joern && cd joern # optional
curl -L "https://github.com/joernio/joern/releases/latest/download/joern-install.sh" -o joern-install.sh
chmod u+x joern-install.sh
./joern-install.sh --interactive
  • 如果没有curl,根据提示安装就好
    速度比较慢
    在这里插入图片描述

  • 安装完成!
    在这里插入图片描述

  • 测试安装是否成功
    在这里插入图片描述

示例

joern可视化

  • 安装可视化工具
sudo apt-get install graphviz
sudo apt-get install graphviz graphviz-doc
sudo apt-get install xdot
  • 进入joern控制台
./joern
  • 查看指令
  • 导入项目
    • 下载官方案例
git clone https://github.com/ShiftLeftSecurity/x42.git
    • 导入java项目,输入的是jar包;导入c项目,输入的是.c文件
      在这里插入图片描述
  • 在控制台端直接输出AST、PDG、CPG的可视化图像
cpg.method($name).plotDotAst
cpg.method($name).plotDotCfg
...
cpg.method($name).plotDotCpg14

在这里插入图片描述

joern可以得到以下几种图形表示
在这里插入图片描述

  • 直接输出AST、PDG、CPG的文本形式
cpg.method($name).dotAst.l
cpg.method($name).dotCfg.l
...
cpg.method($name).dotCpg14.l

在这里插入图片描述

常用命令

  • 查看joern常用指令
    在这里插入图片描述

  • 查看各个工程的状态
    在这里插入图片描述

  • 查看cpg可用的方法
    在这里插入图片描述

  • 查看cpg各个方法的详细描述
    在这里插入图片描述

命令行工具joern-export

  • 解析/src/directory中的代码,并将所有方法的PDG转储到目录 outdir 中,可以在系统 shell 上运行以下命令:
joern-parse /src/directory
joern-export --repr pdg --out outdir

在这里插入图片描述

  • pdg文件已转储到outdir文件夹中
    在这里插入图片描述

  • 将dot文件转化成pdf图片
    dot -Tpng 0-pdg.dot -o 0-pdg.png

  • 将整个图表导出为 neo4j csv、graphml、graphson 或 graphviz dot格式:

./joern-export --repr=all --format=neo4jcsv
./joern-export --repr=all --format=graphml
./joern-export --repr=all --format=graphson
./joern-export --repr=all --format=dot

在这里插入图片描述

  • 在文件夹中已创建好新文件
    在这里插入图片描述
Joern是一个开源的代码静态分析工具,可以帮助开发人员快速进行代码安全性评估和漏洞检测。在Eclipse中使用Joern,可以进一步方便地集成Joern的功能。 下面是在Eclipse中使用Joern的步骤: 1. 首先,需要安装Eclipse IDE(集成开发环境)和Joern插件。可以从Eclipse官网下载Eclipse IDE,并从Joern的官方网站获取Joern插件的jar文件。 2. 打开Eclipse IDE,选择“Help”菜单,然后点击“Eclipse Marketplace”。在搜索栏中输入“Joern”,点击搜索按钮。 3. 在搜索结果中,找到Joern插件,点击“Go”按钮进行安装安装完成后,需要重启Eclipse IDE。 4. 安装完毕后,在Eclipse的菜单栏中出现“Joern”选项,点击它可以进入Joern插件界面。 5. 在Joern插件界面中,可以选择分析的代码项目。点击“Add”按钮,选择要分析的代码项目所在的文件夹,并设置分析的语言类型。 6. 设置完项目后,可以在Joern插件界面的“Analyse”部分选择不同的分析方法,如漏洞检测、规则匹配等。根据需要进行适当的配置。 7. 完成配置后,点击“Analyze”按钮开始分析代码。分析结果将在Eclipse的Console视图中显示出来。 8. 可以根据分析结果进行代码改进或漏洞修复。可以使用Joern插件中的其他功能和工具,如可视化图形展示、查询分析结果等。 通过以上步骤,就可以在Eclipse中使用Joern进行代码静态分析和漏洞检测。使用Joern可以帮助开发人员快速发现和修复代码中的安全问题,提高代码质量和安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值