目前,iPhone的一个新系统安全漏洞被安全研究人员发现,该漏洞仅通过连接特定的WiFi热点,就可以破坏iphone的无线功能。一旦该系统漏洞被触发,即便重启或WiFi热点已更名仍旧无法重新建立WiFi连接。
这个系统漏洞若被恶意分子利用,他们可以在热门地区植入流氓WiFi热点,以停用连接到该热点的iPhone设备。
特殊命名的WiFi热点将会屏蔽iPhone
逆向工程师Carl Schou在连接到他的个人WiFi热点时遇到命名为:
%p%s%s%s%s%n
在连接到该热点后,他的iPhone的WiFi被禁用,每次尝试再次启用它时,都会迅速关闭,即使他重启了设备或更改热点名称。
Schou称,他的实验是在运行iOS版本14.4.2的iPhone XS上成功实践的。
在多次尝试连接这个奇怪的SSID的测试中,被测设备的Wi-Fi设置开始不稳定,最终都导致了相同的行为——iPhone的无线连接中断。在一些测试中,连接SSID会失败,但仍旧无法再访问常规的无线网络。同时还会出现iPhone的Wi-Fi设置无法再次启用。
修复iPhone坏掉的Wi-Fi功能的唯一方法是重置设备的网络设置,据称,这个问题是iPhone独有的,在Android设备上似乎无法重现。
如何从WiFi漏洞中拯救你的iPhone ?
虽然重启iPhone不会解决这个问题,但这个bug不是永久性的,因此不用担心。通过以下方法重置iOS网络设置可以解决上述问题:
进入iPhone的设置,选择【通用】
在【通用】下选择【还原】
在还原页面,可以重置IOS或设备本身的各种功能
在此页面选择【还原网络设置】选项,并在询问时确认继续
此时设备将重新启动,并将所有网络设置还原为出厂设置。
重启后输入密码,可以重新配置Wi-Fi连接
可能是字符串格式化漏洞
其他安全研究人员认为这可能是输入解析问题导致的系统安全漏洞。当WiFi热点名称中存在带有“%”符号的字符串时,iOS可能会错误地将“%”后面的字母解释为字符串格式说明符,但实际上并非如此。在C语言和C系列语言中,字符串格式说明符具有特殊的含义,并被语言编译器作为变量名或命令处理,而不仅仅是文本。
例如,下面的printf命令并不实际打印“%n”字符,而是将%n前面的字符数(10)存储到变量“c”中。
“%n”格式说明符如何在C( GeeksForGeeks ) 中起作用
“%n”仅仅是一个格式说明符,而不是一个实际的文本字符串。因此,下面一行的输出将仅仅是“geeks for geeks”,没有提到“%n”。
Printf(“geeks for %ngeeks,&c);
printf函数的格式化字符串常见的有 %d,%f,%c,%s,%x(输出16进制数,前面没有0x),%p(输出16进制数,前面带有0x)等,但有个不常见的格式化字符串%n,它的功能是将%n之前打印出来的字符个数,赋值给一个变量。
代码问题导致系统安全漏洞
美国国土资源局表示,90%的漏洞都是错误代码造成的。尽管每个开发项目团队都会制定相应的编码规范或编码准则,但仅依靠规则是不够的。随着DevsecOps的实践,仅靠编码规范无法全方位发现系统中的代码缺陷及安全漏洞。DevsecOps不再局限于“保护代码”或“保护应用程序”,而是将其融为一体。
在实际操作中,敏捷开发持续交付的模式对组织的效率有很高的要求,如果开发流程内的各项工作本身就需要花费大量的时间,交付的越密集越到最后效率将大大下降,开发人员对每次增量更新的代码进行人工检查不仅效率不高且耗时过长。所以实践DevsecOps的前提之一是需要利用自动化检测工具为各项工作提速。
在DevsecOps“黄金通道”中,SAST可以很好的替代人工审查,一方面,静态代码检测工具(SAST)可以发现语义逻辑上的缺陷,另一方面,静态代码检测工具(SAST)能发现未知漏洞及运行时产生的漏洞,这给开发人员提供了便利;DAST通过对应用程序进行动态分析,确认是否存在安全漏洞;IAST通过代理、VPN或者在服务端部署Agent程序,收集、监控Web应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。
通过构建一个稳定的、可预期的、安全的方式,自动化地进行应用持续集成/部署的软件流水线以确保应用程序的安全。
参读链接:
https://www.woocoom.com/b021.html?id=3117ef267a3943ebbd941146da4f6d32
来源:freebuf.com 2021-06-22 10:16:31 by: 中科天齐软件安全中心
请登录后发表评论
注册