当前位置: 首页 > 科技观察

应用屏蔽和应用内保护,哪个更能保护你的程序安全?

时间:2023-03-16 22:24:40 科技观察

众所周知,攻击者经常使用运行在用户移动设备上的应用程序来攻击后端系统。例如,攻击者利用移动操作系统和您的应用程序中的漏洞来监视您、获取隐私数据,甚至窃取资金。针对这种情况,许多移动应用程序开发人员正在使用应用程序屏蔽(有时称为“应用程序强化”)来减轻攻击者对应用程序的各种攻击。应用程序强化或应用程序屏蔽对于防止逆向工程很重要,但这种方法不会在您的应用程序在危险移动设备上运行的环境中检测实时网络攻击。移动应用程序需要额外的应用程序内保护,以保护您的应用程序免受攻击和欺诈。2019年7月,研究人员发布了《应用内保护市场指南》,指的是在应用程序(而不是网络或操作系统)中实施安全解决方案,使应用程序更加安全。防止恶意数据泄露、入侵、篡改和逆向工程。企业使用应用程序内保护来保护其基于软件的资产并保护其组织和客户免受欺诈性攻击。包含个人身份信息和知识产权的金融、医疗保健和公务员应用程序应同时实施应用程序屏蔽和应用程序内保护。在本文中,我描述了每个案例并提供了示例应用程序来实施应用程序内保护及其保护的数据。什么是应用屏蔽?应用程序屏蔽是一组用于修改和混淆应用程序二进制代码的技术。ApplicationGuard使应用程序更加防篡改,防止秘密通过逆向工程和未经授权的访问被盗。它创建了一个更具弹性的应用程序,并通过混淆和加密二进制代码使逆向工程更加困难。应用程序拦截功能包括:代码混淆,即故意修改人类难以理解的源代码或设备代码的行为。使代码难以理解可以防止攻击者试图从您的代码中挖掘出潜在的缺陷、漏洞或对IP进行逆向工程。调试检测、应用程序阻塞和调试检测以及对当前调试器的响应,必须涵盖所有可用的调试协议。模拟器检测,模拟器检测使应用程序能够检测其在模拟器中的操作。模拟器用于对应用程序进行逆向工程并识别其与其他服务的通信。Root或越狱检测越狱或Root检测检测用户是否已删除Apple或Google对设备施加的限制。越狱检测很重要,但它无法检测到设备已被入侵。应用程序篡改,虽然混淆有助于防止静态(非运行)代码的逆向工程,但攻击者仍然可以通过在运行时“挂钩”它来尝试逆向应用程序。应用程序篡改涉及检测攻击者是否试图对应用程序进行逆向工程。什么是应用内保护?应用程序内保护与应用程序屏蔽的不同之处在于它检测来自应用程序内部的实时恶意软件、网络和操作系统攻击。移动威胁防御技术置于移动应用程序内部,以检测和修复对应用程序和设备的威胁。应用程序内保护保护后端系统免受移动恶意软件或可能携带它们的易受攻击的移动设备的侵害。虽然我们无法控制移动设备上应用程序的安全状况,但如果在移动设备上检测到恶意软件、危险配置或网络攻击,则可以限制设备与受感染程序进行通信。除了越狱和模拟器检测外,一些数据应用内保护还提供:恶意软件检测、应用内保护检测设备上的多种恶意软件并向用户建议补救措施。随着用户继续迁移到移动设备,恶意软件也在迁移。恶意软件样本和远程访问工具RAT(例如Bankbot、Monokle、Anubis和Cerebus)已经出现在移动设备上,随着越来越多的公司将更多服务推向移动设备,这一趋势将继续下去。其中许多RAT会监控剪贴板、密码以收集有关用户和凭据的数据。零日检测、应用内保护检测通过文件系统和操作系统行为利用的漏洞。零日攻击可以通过动态监控危害指标和查看已知漏洞的云库来检测,或者简单地检测设备上安装的操作系统版本/补丁级别的指标。网络或Wi-Fi缓解、应用程序内保护可检测网络连接操纵和中间人(MiTM)攻击。您的应用程序应该能够识别“中间人”(MiTM)、SSL剥离,并尝试代理或解密您用户的应用程序流量以纠正攻击并生成有关威胁事件的威胁取证。设备配置风险,该风险主要来自用户自身。用户可以选择是更新操作系统以修补已知漏洞、使用PIN码还是对设备进行越狱。应用程序内的应用程序内保护让您可以了解应用程序的安全状况,并最终了解您的移动应用程序的风险状况。应用屏蔽和应用内保护有什么区别?应用屏蔽和应用内保护是相辅相成的,在很多情况下,为了降低整体风险,用户应该在他们的移动应用中同时使用这两种技术,以增强防御能力,防止攻击者获取更多隐私数据。您决定使用哪种保护方法取决于您的应用程序如何运行,以及它定期存储和处理的信息类型。为实现最佳安全级别,移动开发团队投入大量时间设计和构建直观的移动应用程序。此类程序会自动执行标准安全检查并尝试遵循良好的编码实践。但是,在运行时保护应用程序也很重要。由于移动应用程序依赖操作系统提供安全运行的基础,如果设备被攻破,移动应用程序的整个安全基础也将被攻破。自我保护应用程序可以安全地运行和操作,而无需依赖设备自身的安全功能。具有运行时安全技术或应用内保护的移动应用能够独立于本机安全功能检测恶意活动。这种独立检测能够及时识别野外威胁,并最终避免不可接受的风险暴露,并最终保护应用程序和服务器端的交易和数据。设备本身的操作系统有多脆弱?移动应用程序开发人员依赖底层操作系统来确保安全,但尽管移动操作系统本身已经针对攻击进行了加固,但它们并非万无一失。众所周知,研究人员每年都会发现数以千计的新漏洞。研究人员和恶意行为者也确实在不断测试Android和iOS,以通过漏洞赏金计划、内部研究或将零日漏洞卖给出价最高的人来寻找漏洞。目前,在iOS上传送的持久性漏洞可以卖到200万美元。2019年,移动操作系统供应商为1,161个安全漏洞创建了补丁。另一方面,Apple修复了306个CVE(常见漏洞和暴露),其中64%被认为是“关键”安全威胁。谷歌在2019年修补了855个CVE,其中大部分(54%)被认为是“严重”或“高”安全威胁。严重的CVE是一种允许远程执行代码或远程绕过安全功能的漏洞。如果成功执行严重的CVE,攻击者可以远程访问数据或绕过操作系统的安全保护来启动各种功能。即使所有漏洞的补丁都在规定的时间内交付,用户也将不得不升级他们的设备以提高安全性。但依靠用户应用补丁是一场安全赌博。因为很多设备太旧了,不能再升级了。为什么需要实施OWASP?开放Web应用程序安全项目(OWASP)是一个提供有关计算机和Internet应用程序的公正、真实和具有成本效益的信息的组织。其目的是帮助个人、企业和机构发现和使用可信赖的软件。如果您正在关注OWASPMobileTop10,那么您很可能已经实施了应用程序拦截和强化流程和工具。OWASP建议您对身份验证、数据存储、加密和逆向工程实施控制。然而,在移动安全和应用程序强化方面还有很大的改进空间。Zimperium(Zimperium由著名黑客ZukAvraham于2010年创立,旨在为手机提供抵御网络攻击的解决方案。)之前曾从事银行、旅游和零售行业应用程序的安全、隐私和监管方面的工作OWASPMobileTop10的方面是审查。他们发现大多数应用程序都未能通过逆向工程检查。逆向工程应用程序可以让攻击者发现漏洞和通信方法。Tesco银行是未能通过移动应用程序正确实施安全强化和暴露漏洞的最著名示例之一。2016年,据报道,英国领先零售商乐购旗下的银行业务TescoBank遭到黑客攻击。40,000多个账户被锁定,20,000个账户被成功入侵,用户存款被盗。这是英国历史上最严重的网络盗窃事件,导致乐购银行136,000个账户中的40,000个被黑客锁定,其中20,000个被成功盗取。乐购银行移动应用程序中的一个漏洞为网络攻击者打开了大门,他们可以强行进入银行窃取存款。然而,许多受影响的账户并不是手机银行客户,而是从一个安全性差的移动应用程序发起的攻击。此外,移动应用程序的开发人员可能还需要实施应用程序内保护,以遵守特定的法规和政策。PSD2要求移动应用程序开发人员能够检测第三方操作并实现独立的身份验证环境。此外,GDPR和《加州消费者隐私法案》也强制要求程序实现数据隐私和删除隐私数据功能。此外,还颁布了PCIDSS和HIPAA等其他法规,以减少支付和医疗保健行业的攻击。全称PaymentCardIndustry(PCI)DataSecurityStandard,第三方支付行业(PCIDSS)数据安全标准,是PCI安全标准委员会(visa、mastercard、AmericanExpress、DiscoverFinancialServices)的创始成员,JCB等)制定和建立国际一致的数据安全措施,简称PCIDSS。HIPAA的全称是:HealthInsurancePortabilityandAccountabilityAct/1996,PublicLaw104-191。目前还没有确切的官方中文名称。国内文献一般直接称为HIPAAAct,也有的称为HealthInsurancePortabilityandAccountabilityAct。指《医疗电子交易法》;台湾有文件翻译成强制携带式健康保险法。在移动应用程序中安装应用程序内保护的具体案例最近,一家全球性银行承认,它有数百万客户和数十万员工通过五十种不同的企业和消费者移动应用程序连接到它。端系统。意识到银行的IT人员无法确定与银行系统交互的客户或员工设备的安全健康状况,银行发现有必要了解与移动设备与其系统交互相关的风险。这家美国银行随后进行了详尽的搜索并测试了所有可用的移动安全解决方案。该团队一致选择应用程序内保护来保护其员工设备、消费者银行业务和内部员工移动应用程序。该银行计划将移动安全防御嵌入到其消费者移动银行应用程序中。通过将ThreatDefense部署到其移动银行应用程序,该银行现在可以识别在受感染或有风险的设备上进行的可疑交易。在部署之前,该银行缺乏来自客户设备的安全数据。部署后,此安全数据随时可用。应用程序更新后,用户立即开始使用受网络保护的应用程序进行移动银行交易。安全人员发现用户的移动设备及其连接的网络的安全级别令人担忧。在最初的30天里,该银行记录了近100万次针对客户移动设备的威胁,威胁数据仅在银行应用程序打开时记录。如果应用程序关闭,银行不会收到来自用户的威胁数据,因为其他应用程序中的会话不会给银行带来欺诈风险。在最初的30天内,数百万手机银行用户更新了他们的应用程序并开始了移动攻击的数据取证:276,000个不安全的Wi-Fi检测;1,433次流氓接入点检测;495,000台没有PIN码的设备;启用166,000个第三方应用商店访问;16,000台已破解或越狱的设备;1,000个记录的系统或文件篡改事件;1,500个已获得root权限的应用程序和另外500个包含用户智能手机上的恶意软件、特洛伊木马和间谍软件应用程序。该银行现在拥有关于如何通过移动渠道防止欺诈的可操作数据,涉及超过11亿美元。所有这一切都是通过使用MobileThreatDefenseSDK更新现有应用程序来实现的,配置时间不到10分钟。