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

栏目: 软件资讯 · 发布时间: 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 原创奖励计划,未经许可禁止转载。


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

查看所有标签

猜你喜欢:

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

Python金融衍生品大数据分析:建模、模拟、校准与对冲

Python金融衍生品大数据分析:建模、模拟、校准与对冲

【德】Yves Hilpisch(伊夫·希尔皮斯科) / 蔡立耑 / 电子工业出版社 / 2017-8 / 99.00

Python 在衍生工具分析领域占据重要地位,使机构能够快速、有效地提供定价、交易及风险管理的结果。《Python金融衍生品大数据分析:建模、模拟、校准与对冲》精心介绍了有效定价期权的四个领域:基于巿场定价的过程、完善的巿场模型、数值方法及技术。书中的内容分为三个部分。第一部分着眼于影响股指期权价值的风险,以及股票和利率的相关实证发现。第二部分包括套利定价理论、离散及连续时间的风险中性定价,并介绍......一起来看看 《Python金融衍生品大数据分析:建模、模拟、校准与对冲》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具