30行代码,让27吨发电机原地爆炸

Wesley13
• 阅读 185

30行代码,让27吨发电机原地爆炸

30行代码,让27吨发电机原地爆炸

30行代码,让27吨发电机原地爆炸

点击上方 蓝字关注我们

30行代码,让27吨发电机原地爆炸

点击上方“ 印象python ”,选择“ 星标 ”公众号

重磅干货,第一时间送达!

30行代码,让27吨发电机原地爆炸

正文

只需要30行代码 (约140KB的文件),就能让20吨的发电机原地爆炸?

这一幕确实发生在了美国爱达荷州的测试场地上。

黑客模拟者将大约30行代码推进保护继电器中,不到23秒,机器就已经开始摇晃。

30行代码,让27吨发电机原地爆炸

又过了几秒钟,发电机开始冒黑烟,最后直接爆炸。

30行代码,让27吨发电机原地爆炸

从黑客攻击手段,回溯一项实验

事情得从美国司法局这周起诉的6名黑客说起。

这6名黑客的组织名为Sandworm,被认为不仅在2016年对乌克兰的电网进行了攻击,造成停电和物理设备损害;还恶意破坏了2018年的韩国冬奥会。

30行代码,让27吨发电机原地爆炸

然而在调查他们的攻击手段时,人们发现,早在十年前,就已经有一位网络安全研究者进行过了类似的测试方法。

这是美国国安部进行的一项秘密实验,当时的一位员工迈克·阿桑特(Mike Assante)仅用30行代码,对重达27吨的发电机进行了代码攻击,就成功让后者发生了爆炸。

30行代码,大约是140KB的文件大小(比一个常见表情包还小)。

30行代码,让27吨发电机原地爆炸

这个gif大小约为75KB,文件不超过它的两倍

这项实验被称为Aurora发电机测试,目前,它再一次引起了人们对大型设备可能遭受网络攻击的重视。

至于爆炸的原理,还得从发电机构造谈起。

发电机的“保护壳”,变成了攻击利器

传统柴油发电机包含一个名为保护继电器的设备,相当于电路中的一个应急闸门。

一旦保护继电器检测到线路过热、或者发电不同步,那么它就会认为电路异常,从而立刻断开电路连接。

同步发电机,利用旋转的转子磁场在定子中感应发电。其中,转子用于旋转磁场,定子用于切割磁场,所以频率与转子一致,被称为同步发电。

30行代码,让27吨发电机原地爆炸

而一旦发电同步,那么它又会将电路再接通回来。

但也正因为它起着保护电路的作用,使得电路异常的检查任务全部压在了保护继电器上,一旦它出现问题,就可能成为攻击者的利器。

攻击者的基本思路是,想办法将同步器和同步检查继电器的工作“打乱”,使得发电机变速过快,最后“引火自焚”。

而这30行代码的逻辑,就是反向利用它的工作原理,在电路不同步时保持通电,电路同步时立刻断电。

为了验证这一想法的可实施性,研究人员阿桑特,在美国爱达荷州的测试场地上,将模拟黑客攻击的30行代码输入到保护继电器中,对这一安全装置进行了重新编码。

30行代码,让27吨发电机原地爆炸

在发电机运转时,保护继电器虽然观察到发电机已经完全同步,但仍然选择了立刻断开连接,使得发电机与系统其它电机断开,“卸下一身负担”,转速被提升到一个前所未有的值。

搜索公众号程序员小乐回复关键字“offer”,获取算法面试题和答案。

而当电路不同步时,保护继电器又将电路合上,这时候,其它旋转发电机将给它一个巨大的冲击。

几乎不到几十秒的时间,电路就遭到了破坏,如燎原之势一般席卷了整个发电机,造成了最终的破坏。

当然,这30行代码之所以能成功,离不开这种发电机的特殊构造。

30行代码,让27吨发电机原地爆炸

网友认为,如果当时发电机电网系统加上了反向功率,以及磁极滑动保护、瞬时过流保护、AVR励磁限制以及超速控制等装置,这样的危险就能够避免。

但,换作其他发电机,就完全能避免受到攻击了吗?

电机种类有限,攻击方法却有千百种。

有网友认为,代码的行数、文件大小不重要,只要发电机存在漏洞,就无法避免会遭受这样的黑客攻击。

所以,对于任何系统来说,安防都是至关重要的。

网友:又一场没有硝烟的战争

有网友看后感叹,科技升级了战场,哪怕没有枪,靠键盘就能将对手麻痹。(嗯…你指哪方面?)

30行代码,让27吨发电机原地爆炸

此外,也有网友调侃,YAML不能被用于配置27吨发电机的原因找到了。

30行代码,让27吨发电机原地爆炸

但也有网友表示,电网崩溃所带来的恐怖影响,甚至令人难以想象。

30行代码,让27吨发电机原地爆炸

你认为呢?

参考链接:
https://www.wired.com/story/how-30-lines-of-code-blew-up-27-ton-generator/
https://en.wikipedia.org/wiki/Aurora\_Generator\_Test
https://news.ycombinator.com/item?id=2486955

回复下方 「关键词」,获取优质资源

30行代码,让27吨发电机原地爆炸

回复关键词 「linux」,即可获取 185 页 Linux 工具快速教程手册和154页的Linux笔记。

回复关键词 「Python进阶」,即可获取 106 页 Python 进阶文档 PDF

回复关键词 「Python面试题」,即可获取最新 100道 面试题 PDF

回复关键词 「python数据分析」,即可获取47页python数据分析与自然语言处理的 PDF

回复关键词 「python爬虫」,满满五份PPT爬虫教程和70多个案例

回复关键词 「Python最强基础学习文档」,即可获取 168 页 Python 最强基础学习文档 PDF,让你快速入门Python

==========================================================================================================================================================================================================================================================================================================================================================================

30行代码,让27吨发电机原地爆炸

**推荐我的微信号

**

30行代码,让27吨发电机原地爆炸

来围观我的朋友圈,我的经验分享,技术更新,不定期送书,坑位有限,速速扫码添加!
备注:开发方向_昵称_城市,另送你10本Python电子书。

点点在看行不行

本文分享自微信公众号 - 印象Python(Python_logic)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
秃头王路飞 秃头王路飞
5个月前
webpack5手撸vue2脚手架
webpack5手撸vue相信工作个12年的小伙伴们在面试的时候多多少少怕被问到关于webpack方面的知识,本菜鸟最近闲来无事,就尝试了手撸了下vue2的脚手架,第一次发帖实在是没有经验,望海涵。languageJavaScript"name":"vuecliversion2","version":"1.0.0","desc
浅梦一笑 浅梦一笑
5个月前
初学 Python 需要安装哪些软件?超级实用,小白必看!
编程这个东西是真的奇妙。对于懂得的人来说,会觉得这个工具是多么的好用、有趣,而对于小白来说,就如同大山一样。其实这个都可以理解,大家都是这样过来的。那么接下来就说一下python相关的东西吧,并说一下我对编程的理解。本人也是小白一名,如有不对的地方,还请各位大神指出01名词解释:如果在编程方面接触的比较少,那么对于软件这一块,有几个名词一定要了解,比如开发环
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
技术小男生 技术小男生
5个月前
linux环境jdk环境变量配置
1:编辑系统配置文件vi/etc/profile2:按字母键i进入编辑模式,在最底部添加内容:JAVAHOME/opt/jdk1.8.0152CLASSPATH.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jarPATH$JAVAHOME/bin:$PATH3:生效配置
光头强的博客 光头强的博客
5个月前
Java面向对象试题
1、请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
刚刚好 刚刚好
5个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
小森森 小森森
5个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本欢迎添加左边的微信一起探讨!项目地址:(https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n)\2.Bug修复更新日历2.情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意),\\和注意
晴空闲云 晴空闲云
5个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
5个月前
快速入门|使用MemFire Cloud构建React Native应用程序
MemFireCloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
密钥管理系统-为你的天翼云资产上把“锁
本文关键词:数据安全,密码机,密钥管理一、你的云上资产真的安全么?1.2021年1月,巴西的一个数据库30TB数据被破坏,泄露的数据包含有1.04亿辆汽车和约4000万家公司的详细信息,受影响的人员数量可能有2.2亿;2.2021年2月,广受欢迎的音频聊天室应用Clubhouse的用户数据被恶意黑客或间谍窃取。据悉,一位身份不明的用户能够将Clubho
helloworld_28799839 helloworld_28799839
5个月前
常用知识整理
Javascript判断对象是否为空jsObject.keys(myObject).length0经常使用的三元运算我们经常遇到处理表格列状态字段如status的时候可以用到vue