图片:Unsplash
现代移动设备非常复杂,这使攻击者有机会发起攻击。从Wi-Fi和蓝牙到扬声器和麦克风,一切都可以用来越狱您的智能手机。
积极技术公司的分析师已经发表了针对移动设备和应用程序攻击的常见方案的研究。在
我们的文章中-本文档的要点。
移动设备和应用程序如何受到攻击
有五个主要的攻击方案。其中:
- 物理访问。如果手机被盗或丢失,则所有者将其提供给服务或将其连接到假的USB充电器-所有这些都为攻击提供了可能。
- 设备上的恶意应用程序。有时,此类应用程序甚至可以从官方来源,Google Play和App Store(适用于Android,适用于iOS)访问设备。
- 攻击者在沟通渠道中。通过连接到不受信任的Wi-Fi,代理服务器或VPN,我们变得容易受到通信渠道中的攻击。
- 远程攻击。攻击者可以使用移动应用程序服务器或其他服务来实施漏洞利用,从而远程采取行动。
- 服务器端攻击。除了其他所有内容之外,我们还可以考虑对移动应用程序的服务器端进行攻击,因为在这种情况下,攻击者不需要访问设备。
让我们更详细地讨论每个选项,并讨论防止此类攻击的可能方法。
物理访问攻击有几种主要方案。通常,这意味着人们可以直接访问智能手机:如果设备被盗,所有者丢失设备或将其用于服务,就会发生这种情况。但是,还有一种相当不寻常的攻击方法,即使用恶意充电站。让我们考虑一下。
通过USB连接智能手机的充电站可能并不完全安全。对于现代版本的Android和iOS OS,当通过USB将智能手机从PC连接到PC时,需要访问设备的权限。但是,在Android 4.0及更低版本上则不需要。结果,当将此类设备连接到被黑客攻陷或安装的充电站时,就会有遭受攻击的机会。她的脚本可能如下所示:
- Android 4.0 USB.
- USB-.
- adb install malware.apk, .
- adb am start com.malware.app/.MainActivity .
- , root . , (, , ) , .
首先,请注意不要让手机和平板电脑在公共场所无人看管。请务必设置密码以解锁设备或在可能的情况下开启生物识别安全性。请勿将特权提升为管理权限(越狱或root用户),禁用在锁定屏幕上显示通知。
恶意应用攻击
此类应用程序有多种来源:
- 官方应用商店-Google Play和App Store。很少,但即使在官方市场中,您也可以找到可能损害您和您的数据的恶意应用程序。通常,这些应用会尝试使用clickbait名称(例如“超级电池”,“ Turbo浏览器”或“ Virus Cleaner 2019”)进行更多安装。
- (third-party appstore). Android- , apk- . iOS- Safari, , .
- USB-.
- Android- — Google Play Instant.
当安装在智能手机上时,根据收到的许可,恶意应用程序将有权访问一些存储的数据,麦克风,相机,地理位置,联系人等。它们还将能够通过进程间通信机制(IPC / XPC)与其他已安装的应用程序进行交互。如果安装的应用程序包含可以通过此交互利用的漏洞,则恶意应用程序可以利用此漏洞。对于Android设备尤其如此。
此外,恶意应用程序可以通过利用允许其获得root用户特权或越狱的漏洞来尝试在系统中获得提升的特权。
如何保护自己
为了防止此类攻击,建议您首先避免安装来自不受信任来源的应用程序。带有可疑名称的应用程序也应谨慎安装,即使在官方应用程序商店也应谨慎安装,因为没有任何检查可以完美完成。使您的操作系统和应用程序保持最新,以确保没有已知漏洞受到攻击。
链接攻击
为了使攻击者能够从通信通道进行操作,他需要执行中间人攻击,即,使得在客户端的移动应用程序和服务器端之间传输的所有流量都通过攻击者的设备。有时会在允许此类攻击的应用程序中发生漏洞。
例如,通常在建立安全连接时,客户端应用程序会验证服务器证书的真实性以及其参数是否与服务器的参数匹配。但是,有时,为方便起见,开发人员在处理应用程序时会禁用此类检查,而忘记在发行版中重新启用它们。结果,该应用程序接受任何服务器证书来建立安全连接,包括攻击者的证书。
即使证书被正确验证,攻击者仍然存在漏洞:以某种借口强迫受害者将攻击者的证书作为受信任的证书安装在其设备上。此外,如果应用程序本身可以与服务器安全地工作,但是包含通过HTTP下载的第三方资源的链接,则仍然构成了网络钓鱼攻击的机会。
如果攻击者设法控制了客户端应用程序和服务器之间的流量,这将给他带来多种可能性:
- 欺骗服务器响应,例如,欺骗银行或网络钓鱼详细信息;
- 替代客户端应用程序的请求,例如,更改转账金额和收件人的帐户;
- 拦截数据,例如登录名,密码,一次性密码,银行卡数据,交易记录。
结果,他从各种帐户中了解了受害者的登录名和密码,并可以使用它们来窃取数据并窃取金钱。
如何保护自己
不要连接到有问题的访问点,不要使用您不信任个人和银行信息的代理和VPN服务器。不要在设备上安装第三方证书。
通常,大多数流行的即时通讯程序和社交媒体应用程序都受到了良好的保护,免受此类攻击;例如,如果这些应用程序突然突然拒绝通过当前的Wi-Fi连接工作,则这可能意味着此访问点不安全,最好断开与该连接点的连接,以免危害其他应用程序,包括您的移动银行。
远程攻击
可以远程利用移动应用程序中的某些漏洞,甚至无需控制应用程序和服务器之间的数据传输。许多应用程序提供用于处理特殊链接的功能,例如myapp:/。这些链接称为“深层链接”,它们在Android和iOS上均可使用。在浏览器,邮件应用程序或Messenger中单击此类链接可以触发可处理此类链接的应用程序的打开。整个链接(包括参数)将传递到处理程序应用程序。如果链接处理程序包含漏洞,则可以利用这些漏洞,足以迫使受害者跟踪恶意链接。
同样,更熟悉的链接http://和https://可以在移动设备上处理-它们可以发送到应用程序而不是浏览器,在某些情况下,这可能会在未经用户确认的情况下发生。
对于Android设备,单击链接可能会触发Instant App的下载,这可能允许远程利用与恶意应用程序安装相关的漏洞。
如何保护自己
在这种情况下,及时安装应用程序和操作系统更新是保护自己的唯一方法。如果您无法安装更新或尚未发布,则可以暂时停止使用受影响的应用程序:从设备上卸载它或直接注销。
服务器端攻击
要攻击移动应用程序服务器,通常,攻击者只需研究客户端应用程序如何与服务器交互,并基于收集的有关入口点的信息,尝试修改请求以检测和利用漏洞。
通常,移动应用程序后端的设备与Web应用程序没有什么不同。通常,移动应用程序服务器甚至更简单,并且通常表示json-或xml-api,它们很少像网站通常那样使用HTML标记和JavaScript。
如果我们比较Web应用程序和移动应用程序后端的漏洞,我们会发现移动应用程序中存在以下漏洞:
- 对暴力凭证的保护不足:24%的Web应用程序和58%的移动应用程序服务器包含此类漏洞,
- 业务逻辑错误:2%的Web应用程序和33%的移动应用程序服务器。
我们的研究表明,应用程序用户经常可以访问其他用户的数据:卡号,名字和姓氏,电话号码等。此外,访问可能被错误地提供给其他用户,并且完全没有身份验证,这是由于身份验证和授权中存在弱点。
如何保护自己
在这种情况下,普通用户几乎无能为力。但是,您可以通过使用强密码并在执行此操作的所有关键任务应用程序中使用一次性密码设置两因素身份验证来减轻服务器攻击的风险。
为了最大程度地减少对移动应用程序进行成功攻击的可能性,其开发人员应检查上述每种情况的可行性。开发时,必须考虑各种入侵者模型,并且在设计阶段必须采取一些保护措施。
对于开发人员来说,一个好的建议是实施安全开发生命周期(SDL)并定期检查应用程序的安全性。此类措施不仅有助于及时发现潜在威胁,还将提高开发人员的安全知识水平,从长远来看,将提高开发应用程序的安全水平。Positive Technologies移动应用安全研究小组负责人Nikolay Anisenya
发布