利用 Python 和 ChatGPT 进行汽车安全研究

admin 2024年5月9日13:30:07评论2 views字数 2942阅读9分48秒阅读模式

利用 Python 和 ChatGPT 进行汽车安全研究

0x00 介绍

随着当今的联网汽车面临不断变化的威胁形势,汽车安全研究人员需要强大的工具来快速有效地分析漏洞。这方面两个更值得注意的工具是 Python 和 ChatGPT。正如我在本文中讨论的那样,当一起使用时,Python 和 ChatGPT 提供了强大的功能,可以自动执行任务、创建攻击的概念证明 (POC) 以及探索汽车系统中的漏洞。

0x01 通过 Python 试验 CAN 总线

Python 是一种多功能编程语言,与 C++ 和 Arduino 编程语言一样,已被证明在汽车黑客和汽车安全研究人员中很受欢迎。我发现它对于创建已知攻击的 POC 特别有用,因为它具有丰富的模块和库,可以简化自动化和脚本任务。
对于像我这样的汽车安全研究人员来说,有几个库在使用车辆的 CAN(控制器局域网)总线方面表现出色。其中包括 can-isotp、python-can 和 pyvit。后两个对于初学者来说是特别好的选择,因为这些库简化了与 CAN 总线的交互。
对于没有车来练习的用户来说,他们可以在任何 Linux 虚拟机中使用这些 bash 命令轻松创建虚拟 CAN 总线(vcan0)设备进行模拟:

sudo modprobe cansudo modprobe vcansudo ip link add dev vcan0 type vcansudo ip link set up vcan0

0x02 通过 python-can 向 CAN 总线发送垃圾邮件

python-can 库为不同的 CAN 总线设备提供通用抽象,并提供用于向 CAN 总线发送消息和从 CAN 总线接收消息的预构建函数。在此示例中,我展示了如何使用 python-can 向 CAN 总线发送大量消息,所有消息均使用相同的仲裁 ID。
下面是一个基本的 python-can 库,它连接到虚拟 CAN 总线 (vcan0) 并发送单个帧。
图 1. 设置 vcan0 设备的基本 python-can 库

利用 Python 和 ChatGPT 进行汽车安全研究

图 2. 虚拟 CAN 总线接口的实际 CAN 转储

利用 Python 和 ChatGPT 进行汽车安全研究

接下来是一个模糊脚本示例,该脚本向 CAN 总线发送 100 个数据帧,所有数据帧均使用单个仲裁 ID:1337。
图 3. 模糊测试脚本示例,该脚本使用带有一个仲裁 ID 的数据帧向 CAN 总线发送垃圾邮件

利用 Python 和 ChatGPT 进行汽车安全研究

虽然本例中的 100 个数据帧可能不足以破坏关键系统,但 CAN 总线垃圾邮件可能成为更复杂攻击的垫脚石。通过向总线注入看似无害的数据,恶意行为者可以掩盖旨在破坏特定电子控制单元 (ECU) 甚至完全控制车辆的命令。这强调了强大的汽车网络安全的重要性,可以检测和阻止此类活动。

0x03 使用 pyvit 进行 DoS 攻击和 ECU 硬重置

另一个与 CAN 总线交互的有价值的库是 pyvit。它提供了很好的示例、代码片段和文档来帮助您入门。虽然 pyvit GitHub 存储库目前已存档,但一些汽车安全研究人员仍然发现它很有用。人们仍然可以通过直接克隆存储库或使用 pip(一种常见的 Python 包管理器)安装它来访问 pyvit。

作为示例,下面的脚本演示了 CAN 总线上的拒绝服务 (DoS) 攻击,特别是 Firehose 攻击。Firehose 攻击的名称恰如其分,因为它会向 CAN 总线发送大量数据,旨在淹没总线并拒绝其他服务或功能。
图 4. 使用 pyvit 的 Firehose 攻击

利用 Python 和 ChatGPT 进行汽车安全研究

下一个脚本演示如何发送 ECU 硬重置命令。如果恶意行为者可以通过“脏端”或授权访问点(例如车载诊断 (OBD-II) 端口或车载信息娱乐 (IVI) 端口)发送重置来利用该漏洞,则可以将其视为安全漏洞。) 系统。
为了确定 ECU 硬重置是否成功,CAN 总线上应出现具有以下特征的消息回复:通过仲裁 ID 0x77a 的 02 51 01。
图 5. ECU 硬重置脚本

利用 Python 和 ChatGPT 进行汽车安全研究

ECU 硬重置可能会产生严重的安全隐患。如果被恶意行为者利用,ECU 硬重置可能会导致他们篡改车辆的行为或禁用其安全功能,从而可能使驾驶员和乘客面临重大风险。
0x04 使用 CaringCaribou 发现 UDS ID
还有其他开源 Python 工具可以帮助汽车安全研究人员探索车辆漏洞,并有可能通过软件更新和其他安全缓解措施来解决这些漏洞。除了前面提到的之外,我还喜欢使用 CaringCaribou,因为它可以快速有效地发现 UDS(统一诊断服务)标识符或 ID(用于 ECU 诊断的特定代码)。

利用 Python 和 ChatGPT 进行汽车安全研究

虽然 UDS ID 对于研究人员识别潜在漏洞很有价值,但攻击者也可以使用这些相同的标识符。如果落入坏人之手,它们可能会被用来操纵车辆设置、执行 ECU 硬重置,甚至绕过安全访问——所有这些都可能危及车辆安全。

0x05 利用 ChatGPT

程序员可以利用流行的人工智能聊天机器人 ChatGPT 通过协助编写和调试程序来简化代码开发。安全研究人员还可以将其用作渗透测试的宝贵资源,特别是在信息收集阶段。
图 7. ChatGPT 负责创建缓冲区溢出脚本的示例用例

利用 Python 和 ChatGPT 进行汽车安全研究

图 8. 通过 ChatGPT 收集渗透测试的信息

利用 Python 和 ChatGPT 进行汽车安全研究

ChatGPT 还可以用作创建自动化脚本或 POC 示例以利用汽车安全漏洞的指南。例如,ChatGPT 的任务是使用 python-can 模块创建低级 CAN 总线攻击(称为 Janus 攻击)的 POC。
图 9. 使用 ChatGPT 创建的 Janus 攻击的 python-can POC

利用 Python 和 ChatGPT 进行汽车安全研究

可能性还不止于此。我什至教 ChatGPT 在 CAN Tools of Trade 中编写一个模块,这是我创建的一个 CAN 总线黑客框架,其中包含已知的 CAN 总线漏洞,可作为渗透测试车辆和学习 Python 进行汽车安全研究的指南。
图 10.CAN Tools of Trade 有一些示例或模块,汽车安全研究人员和网络安全专业人员可以使用它们进行练习。

利用 Python 和 ChatGPT 进行汽车安全研究

为了教 ChatGPT 在我的黑客框架中编写一个模块,我只需粘贴其中一个代码模块并让 ChatGPT 对其进行分析,然后指示它生成 CAN 总线攻击脚本。
下面是 ChatGPT 为 CAN Tools of Trade 框架生成的 CAN 总线 DoS 攻击的 POC。
图 11. 教 ChatGPT 在 CAN Tools of Trade 中编写 DoS 攻击的 POC

利用 Python 和 ChatGPT 进行汽车安全研究

0x06 总结
值得注意的是,虽然 Python 可能被恶意攻击者用来利用漏洞并发起网络攻击,但它也可以使汽车安全研究人员通过道德黑客攻击和负责任的漏洞披露来保持领先地位。将此多功能工具与 ChatGPT 相结合,可以帮助研究人员在自动化任务、编写 POC 脚本和探索汽车系统中的漏洞时从不同角度调试和检查代码,从而进一步增强研究人员的能力。还有其他框架和工具可以帮助研究人员进行研究和测试,以促进汽车网络安全的进步。ChatGPT 的功能有效集成到这些框架和工具中,展示了人工智能驱动的协助在制作模块和探测未知攻击向量方面的巨大潜力,特别是在当今快速扩展和不断发展的汽车威胁环境中。

利用 Python 和 ChatGPT 进行汽车安全研究

英国政府系统遭黑客入侵,100万用户数据被公开下载

利用 Python 和 ChatGPT 进行汽车安全研究

利用 Python 和 ChatGPT 进行汽车安全研究

利用 Python 和 ChatGPT 进行汽车安全研究   请扫码关注“重生者安全”  利用 Python 和 ChatGPT 进行汽车安全研究

利用 Python 和 ChatGPT 进行汽车安全研究

知识星球:【漏洞挖掘,内网渗透OSCP,车联网,二进制的朋友欢迎加入知识星球一起学习。
如果不满意,72小时内可在APP内无条件自助退款。

声明:该公众号分享的安全工具/文章/新闻均来源于网络,仅供安全研究与学习之用,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。

现在只对常读和星标的公众号才展示大图推送,建议大家把重生者安全设为星标”,否则可能看不到了!

原文始发于微信公众号(重生者安全):利用 Python 和 ChatGPT 进行汽车安全研究

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月9日13:30:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   利用 Python 和 ChatGPT 进行汽车安全研究http://cn-sec.com/archives/2722384.html

发表评论

匿名网友 填写信息