给树莓派小车控制系统加上装甲

栏目: 软件资讯 · 发布时间: 6年前

内容简介:前不久写了一篇题目为《Windows系统监听键盘通过UDP协议控制树莓派小车》的文章在FreeBuf上发表了,当初设计小车控制系统的时候仅仅是为了实现控制目的而没有加入安全性防范措施,这样的小车控制系统就好像一辆没有安装装甲的坦克是抵挡不了炮弹的袭击。本篇从攻防的角度对小车控制系统进行升级,给小车装上一层层可靠的“装甲”。因为本篇文章是在前篇《Windows系统监听键盘通过UDP协议控制树莓派小车》的基础上写的,所以在阅读本篇文章前,建议先阅读一下前篇,【传送门】。

给树莓派小车控制系统加上装甲

前不久写了一篇题目为《Windows系统监听键盘通过UDP协议控制树莓派小车》的文章在FreeBuf上发表了,当初设计小车控制系统的时候仅仅是为了实现控制目的而没有加入安全性防范措施,这样的小车控制系统就好像一辆没有安装装甲的坦克是抵挡不了炮弹的袭击。本篇从攻防的角度对小车控制系统进行升级,给小车装上一层层可靠的“装甲”。

因为本篇文章是在前篇《Windows系统监听键盘通过UDP协议控制树莓派小车》的基础上写的,所以在阅读本篇文章前,建议先阅读一下前篇,【传送门】。

下面开始为树莓派小车安装“装甲”。

小车原有控制协议,其格式如下:

协议版本号:包号:命令字

其中协议版本号固定为1;包号为一个数字,每发送一次进行加1处理;命令字用于向小车发送控制命令。

装甲一:防止重放攻击

重放攻击实验:

在小车的相同网络中,启动一台攻击用的电脑(以下简称攻击者),利用ARP欺骗 工具 将所有网络通信都先流经攻击者电脑再流向路由器。此时攻击者电脑就可以嗅探整个网络流量了,当然也包括对小车的控制通信。

然后在攻击者电脑上启动wireshark软件对小车的通信进行抓包,抓到的包如下图所示。

给树莓派小车控制系统加上装甲

通过UDP发送工具将抓到的信息手动发送,进行重放攻击,见:

给树莓派小车控制系统加上装甲

重放攻击实验结果:小车受到了重放攻击,进行了前进动作。

对策

1.当树莓派小车第一次收到控制信息时,记录控制方的IP、MAC情报,之后每次的通信都进行身份确认。
2.每次记录包号,凡是小于当前包号的消息均认为是异常包将其过滤掉。

装甲二:消息加密

原有的通信是明文通信的,这样会产生很多安全问题,必须改进为加密通信方式。

本次加密方式采用AES对称加密方式,密钥是通信前双方约定好的。由于对称加密的原因是密钥是通信前双方约定好的,这样不用担心密钥传递过程中被泄露。

最后,整个服务器端加装甲后的代码已经发到了百度网盘上。

链接: https://pan.baidu.com/s/1nlDUcf_LOXizjFhlvPfQ-Q 密码: d9pa

给树莓派小车控制系统加上装甲

结束语

加上了以上2层“装甲”后,经过测试发现并没有影响小车的原有控制性能,且提升了小车控制系统的安全性,目的已经达到。

补足语:

如果还有哪些改进的地方,请在评论区留言,我会进行改进的。

*本文作者:xutiejun,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高效团队开发

高效团队开发

[日] 池田尚史、[日] 藤仓和明、[日] 井上史彰 / 严圣逸 / 人民邮电出版社 / 2015-7 / 49.00

本书以团队开发中所必需的工具的导入方法和使用方法为核心,对团队开发的整体结构进行概括性的说明。内容涉及团队开发中发生的问题、版本管理系统、缺陷管理系统、持续集成、持续交付以及回归测试,并且对“为什么用那个工具”“为什么要这样使用”等开发现场常有的问题进行举例说明。 本书适合初次接手开发团队的项目经理,计划开始新项目的项目经理、Scrum Master,以及现有项目中返工、延期问题频发的开发人......一起来看看 《高效团队开发》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具