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

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

给树莓派小车控制系统加上装甲
FreeBuf_37369 2018-08-11 09:00:14 337010
所属地 辽宁省

zhuangjia.jpg

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

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

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

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

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

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

装甲一:防止重放攻击

重放攻击实验:

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

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

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

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

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

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

对策

1.当树莓派小车第一次收到控制信息时,记录控制方的IP、MAC情报,之后每次的通信都进行身份确认。

2.每次记录包号,凡是小于当前包号的消息均认为是异常包将其过滤掉。

装甲二:消息加密

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

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

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

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

QQ截图20180803162508.png

结束语

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

补足语:

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

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

# 树莓派
本文为 FreeBuf_37369 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
FreeBuf_37369 LV.4
这家伙太懒了,还未填写个人描述!
  • 7 文章数
  • 15 关注者
智能网联汽车开发篇:行驶轨迹跟踪
2020-05-01
玩转摩尔斯电码:自制摩尔斯电码音频解析器
2019-09-13
用家里旧的红外遥控器控制树莓派小车
2019-05-09
文章目录