时隔多年,一串特殊字符依旧能让iPhone崩溃

admin 2021年11月9日00:24:37评论95 views字数 2380阅读7分56秒阅读模式


时隔多年,一串特殊字符依旧能让iPhone崩溃


想必各位 PWN 友这几天已经被 iPhone 的新 bug 刷屏了,不知道有没有勇士亲自动手验证。PWN 君亲测一番之后,现在正在让手机还原网络设置……


时隔多年,一串特殊字符依旧能让iPhone崩溃


新 bug 的详情是这样的,一位名叫 Carl Schou 的安全工程师向来喜欢以格式化字符串(%)为自己的各种设备命名,目的是发现设备的一些问题。这一天,他恰巧发现了一个问题,那就是自己的 iPhone 连接自家名为“%p%s%s%s%s%n”的 Wi-Fi 导致手机 Wi-Fi 功能彻底崩溃,重启以及改 Wi-Fi 名都无济于事。最后不得不在手机“设置”的通用选项中选择“还原网络设置”,代价是丢失手机曾保存的所有 Wi-Fi 网络及密码。


时隔多年,一串特殊字符依旧能让iPhone崩溃



👾 格式字化符串的锅


根据分析,这个 bug 主要是格式化字符串“%”导致的。在 计算机语言中(C、C++等),“%”多用来处理特殊的变量名或命令。“%”后面的不同字母代表不同的命令。根据 OWASP 关于“格式化字符串攻击”的介绍,常用于攻击的参数如下表:


时隔多年,一串特殊字符依旧能让iPhone崩溃


在这次的 Wi-Fi bug 事件中,iPhone 没有将“%”开头的这串字母当作 Wi-Fi 名字,而是识别成了特殊字符串,导致一些内部库执行命令,触发 Wi-Fi 拒绝服务。不过也不用过度恐慌,虽然这个 bug 可能会被人恶作剧,但还不至于被恶意利用对手机进一步攻击。相比之下,钓鱼攻击可能来得更快更直接。


时隔多年,一串特殊字符依旧能让iPhone崩溃

详细技术分析可查看
https://blog.chichou.me/2021/06/20/quick-analysis-wifid/


这并不是特殊字符串导致手机或其他设备崩溃的第一个案例。早在 2000 年,就有人发现了字符串 bug。iPhone 面世后,直接或间接利用字符串漏洞、特殊字符组合破解或轰炸 iPhone 及其他苹果产品的研究成果(攻击案例)几乎每年都会出现。



👾 那些投向苹果设备的

“字符炸弹”


时隔多年,一串特殊字符依旧能让iPhone崩溃

—2020年—


有人发现一组由意大利国旗 Emoji 和信德语(Sindhi language)组成的文字会引起 iOS 系统闪退或死机。这个 Bug 被许多人恶搞,iPhone、iPad、Apple Watch 都未能幸免。


时隔多年,一串特殊字符依旧能让iPhone崩溃


—2018年2月—


有用户发现,如果通过手机的 iMessage、WhatsApp、脸书、谷歌邮箱等任何软件接收或者预览一个泰卢固语字符消息,软件就会立刻崩溃,导致手机进入不断关机状态。


时隔多年,一串特殊字符依旧能让iPhone崩溃


—2018年1月—


有研究人员发现代号为“chaiOS”的漏洞。如果 iPhone 和 Mac 用户点击链接(https://t.co/Ln93XN51Kq),会出现死机、自动重启等问题。为了不引发更大问题,研究员在发布漏洞后很快就将链接指向的页面删除掉,如今页面已经失效。而用户只要升级系统就能避开漏洞。


时隔多年,一串特殊字符依旧能让iPhone崩溃


—2017年—


YouTube 频道 EverythingApplePro 发布消息表示,向使用 iOS 10 系统的 iPhone 手机发送“彩虹旗”文本(白旗emoji+数字0+彩虹emoji +不会显示的字符),会让手机短暂死机。


时隔多年,一串特殊字符依旧能让iPhone崩溃


—2016年—


有人创建了 CrashSafari.com 的网站,当用户被诱导点击链接后,浏览器会崩溃,甚至设备也会重启。iPhone、iPad、Mac 都可能中招。同年,还有用户发现,一个 5S 长的视频就能让 iPhone 崩溃。


时隔多年,一串特殊字符依旧能让iPhone崩溃

视频地址

https://www.facebook.com/watch/?v=1255827081120299


—2015年—


有用户发现,向 iPhone 发送以下信息,会直接让手机死机。大量用户在网上抱怨、交流。还有人用来“报复”前任。


时隔多年,一串特殊字符依旧能让iPhone崩溃

时隔多年,一串特殊字符依旧能让iPhone崩溃


—2013年—


iPhone 爆发阿拉伯字符串漏洞,特殊字符串会导致应用闪退、手机崩溃。根据分析,是当时 iOS 系统的 WebCore / Coretext 在处理字符时出现了问题。


时隔多年,一串特殊字符依旧能让iPhone崩溃


—2012年—


Chonic Dev-Team 发布了 Corona 越狱工具,在 iPhone 不完全越狱的基础上实现完美越狱。Corona 利用的就是 iPhone 在设置 IPSec 连接时使用的“racoon”二进制文件中的格式化字符串错误,给 racoon 代码字符添加越狱所需有效载荷,再结合其他进程实现越狱。



👾 “字符炸弹”闪避术


仔细看来,这些“轰炸”大多用于恶作剧,不会造成更进一步的安全问题。基本每一个问题都伴随着苹果升级系统而解决。不过,利用“格式化字符串”漏洞,的确有可能实现将任意代码写入随机或特定的设备内存中,最终实现代码注入和执行。对于企业来说,这也可能是一个潜在风险。


事实上,很多“格式化字符串”bug 大多是因为原来的代码安全验证不足。如果在编译时选择验证格式化字符串,可以解决将外部数据(字母)识别为格式化字符串的问题。


另外,目前 {fmt} (格式化命令)以及 C++20 std::format 都采用默认的编译时检查以及运行时验证相结合的模式,去避免可能产生的格式化字符串bug。


时隔多年,一串特殊字符依旧能让iPhone崩溃


对于普通用户来说,最直接的安全建议就是,不随便点击陌生链接,不随便连 Wi-Fi,尤其是这种名字奇奇怪怪的 Wi-Fi。当然,如果你想要体验一下手机崩溃的酸爽,建议用一个闲置的手机尽情尝试,说不定顺手发现了什么新 bug 呢~


参考来源:

https://threatpost.com/iphone-wi-fi-weird-network/167075/ 

更多关于“格式化字符串攻击”的研究分析资料可查看:

https://www.zverovich.net/2021/06/22/preventing-format-string-bugs.html

https://cs155.stanford.edu/papers/formatstring-1.2.pdf



往期推荐

时隔多年,一串特殊字符依旧能让iPhone崩溃
社工与加密的完美组合,造就了FBI史上浩大的“钓鱼”工程
 
时隔多年,一串特殊字符依旧能让iPhone崩溃
看一眼照片就能模仿笔迹,AI 造假越来越熟练了
 


时隔多年,一串特殊字符依旧能让iPhone崩溃

点分享

时隔多年,一串特殊字符依旧能让iPhone崩溃

点收藏

时隔多年,一串特殊字符依旧能让iPhone崩溃

点点赞

时隔多年,一串特殊字符依旧能让iPhone崩溃

点在看

本文始发于微信公众号(GeekPwn):时隔多年,一串特殊字符依旧能让iPhone崩溃

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年11月9日00:24:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   时隔多年,一串特殊字符依旧能让iPhone崩溃http://cn-sec.com/archives/404846.html

发表评论

匿名网友 填写信息