《羊了个羊》服务器又双叒叕宕机了你的「小程序」还安全吗

核心提示近日,一款号称“通关率不到0.1%”的堆叠式消除游戏“羊了个羊”火遍全网,在极短时间内俨然有了一副“全民级游戏”的架势。它在各大社交媒体上取得了惊人的热度。据羊了个羊官方微博,由于该游戏过于火爆,《羊了个羊》多次出现宕机的情况,服务器2天崩

近日,一款号称通关率不到0.1%的堆栈式消除游戏《羊换羊》火遍网络,在极短的时间内,就摆出了一副“全民游戏”的架势。在各大社交媒体上取得了惊人的人气。

据羊的官方微博,因为游戏太火爆,《羊,羊》两天内服务器崩溃三次。其创始团队在接受记者采访时表示,游戏大火后最忙的事情就是应对持续的DDoS攻击,解决服务器反复出现无法登录的异常情况。

众所周知,微信小程序作为微信生态中的一个应用模块,可以在微信中轻松获取和传播,无需安装应用的便捷体验,逐渐渗透到生活和商业的方方面面。

作为依附于微信的创新应用形式,为什么小程序仍然会受到网络攻击?微信小程序面临哪些安全挑战?相对于传统的Web应用和移动应用,小程序的安全防护有哪些技术层面的问题?针对这些问题,我们咨询了专业的应用安全厂商,征信。

对商业和敏感数据的攻击已经成为小程序面临的主要风险。

瑞士数码的信息技术总监吴建刚告诉我们,其实大众对微信小程序是有误解的。小程序看似是在微信中打开的,实际上与微信并没有紧密的耦合关系。微信只是为小程序开发者提供一个快速连接用户的入口。虽然小程序运行在微信中,为其运行环境和认证提供了安全保护,但仍然存在业务逻辑风险、信息泄露和小程序本身安全性的问题。

“从保护的角度来说,在合法的用户访问过程中,用户通过移动端向微信小程序提交访问请求后,微信会对访问的合法性进行验证,并向用户发放一个App ID。经过这个环节,用户的所有访问行为都是与小程序服务器的直接交互。所以除非小程序服务器部署在腾讯云上,否则腾讯云的防火墙、防DDoS等安全能力很难赋能小程序开发者。”

据他介绍,小程序作为一款轻量级应用,具有开发成本低、使用方便等诸多特点。但是从技术角度来说,小程序本身是一种比较简单的应用形式。开发者主要使用Javascript开发业务逻辑,调用applet的API完成业务需求。

小程序的Javascript架构使得网页的交互和访问是通过调用API接口来实现的。因此,攻击者往往通过模拟获取App ID的方式,绕过腾讯的安全检查环节,跳过通过手机访问小程序的过程,直接通过协议对小程序的API接口发起批量请求和攻击。

吴建刚表示,协议攻击是针对小程序最主要的攻击形式。这种攻击不需要手机、群控设备等真实客户端,可以大大降低攻击的成本。同时,脱离装备限制后,攻击门槛也大大降低,一些黑灰产初级从业者可以轻松进行大规模攻击,导致针对小程序的攻击剧增。

在他看来,小程序面临的安全风险主要集中在业务安全和数据安全。

在业务安全层面,如DDoS攻击、刷单、薅羊毛、虚假议价等在应用层是黑灰产的常见攻击。黑灰产会通过批量请求进行虚假点击和注册,从事营销欺诈;在数据安全层面,攻击者会利用小程序本身的业务逻辑缺陷,对未经授权访问的小程序进行攻击,通过不安全的API接口批量获取敏感的用户数据和交易数据,从而诱发更严重的数据泄露或业务信息泄露风险。

吴建刚告诉我们,传统的网站应用和移动应用将使用设备指纹技术进行准确识别。在设备指纹技术面前,虽然攻击者会利用多源低频攻击,不断改变IP地址来发送访问请求,但只要设备指纹没有被剥离和隐藏,防御方就可以追溯到真正的攻击者IP并封禁。

但是在小程序中,由于权限的原因,小程序能够收集的设备信息太少,无法形成唯一的设备指纹,使得这种高效的防御技术在小程序中形同虚设。而且对小程序的攻击几乎都是协议攻击,导致设备指纹对小程序的保护作用不大。从小程序本身来说,由于黑灰产对小程序的攻击多在业务层面,漏洞扫描、安全加固等传统安全防护技术的效果极其有限。

此外,与移动应用相比,小程序还存在代码逻辑简单、无法实时更新代码、安全加固算法和签名验证算法较弱等特点。一旦攻击者使用逆向技术破解,就能在短时间内肆无忌惮地行动。

他表示,对游戏《羊换羊》的DDoS攻击也是一种商业攻击形式。攻击者主要通过模拟正常请求来高频率访问他们的服务器,最终导致服务器资源耗尽,业务不可用的结果。“这个访问请求没有恶意特征,传统的漏洞扫描和安全加固显然无法保护。”

如何应对小程序安全防护的难点才是最佳策略?

据吴建刚介绍,针对当前小程序面临的复杂安全挑战,安全行业也提出了不同路径的解决方案。根据小程序Javascript的架构特点,业内传统的做法是帮助开发者加强Javascript安全性,用JS混淆技术替换Javascript代码中的一些关键函数和业务逻辑,在攻击者逆向分析小程序代码的环节使用加密技术接入安全措施,使得攻击者很难逆向小程序代码。

他说,“瑞士瑞信银行认为,安全是攻防双方的博弈,绝对的安全是不存在的。这就导致了无论安全厂商如何套用外壳,攻击者还是会想尽办法突破。”

因此,不同于传统安全加固厂商的做法,作为业内主流的应用安全厂商,征信专注于“让攻击者逆转然后无功而返”,提出了以“动态安全技术”为核心的小程序动态安全防护解决方案。

具体来说,信用信息主要通过三个维度的安全检查,从而实现企业小程序的安全保护:

第一个维度是验证客户端的真实性。当小程序用户发出访问请求时,征信动态应用保护系统会首先协助小程序的运营团队检查发起访问请求的客户端的微信环境是否涉及伪造,同时以SDK的形式获取用户的App ID,并与用户提交的ID进行比对,从而保证客户端的合法性和真实性。

第二个维度是自动化工具的验证。在抵御Bot自动化攻击方面,征信一直走在行业前列。凭借人机识别技术、动态令牌技术和动态验证技术的优势,瑞士瑞信银行信息动态应用保护系统能够高效发现工具行为,阻断工具发起的请求。“微信小程序是以To C业务为主的场景。微信小程序的每一次点击都应该由用户来完成。所以工具性的访问行为注定是违法的,这样的行为会被直接拦截。”

第三个维度是围绕内容展开验证。针对小程序API接口敏感数据泄露的风险,征信主要通过动态算法将提交内容和请求内容进行双向混淆,将小程序提交的数据动态混淆为一次性密文,大大提高了非法访问行为的攻击成本和门槛。同时,征信还会检查内容的完整性,防止内容被攻击者篡改。

“在‘羊对羊’的案例中,攻击者显然在应用层发起了大量的DDoS攻击,通过自动化工具批量请求的方式集中访问应用服务器,导致服务器过载。在征信动态应用保护系统的保护下,平台可以通过人机识别技术识别并拦截所有工具性的访问行为,从而保证此类游戏小程序的业务稳定性”,吴建刚说。

安全性较弱的小程序开发团队应该从哪些方面入手来规避安全风险?

9月15日,网上流传一张“交通主数据日报”的截图。图片显示,“羊换羊”短短半天收入达到468万元,月收入高达2564万元。然而,就是这样一个应用,一夜爆红。其游戏的开发者曾向记者透露,整个开发团队只有三个人,这款游戏应用的开发时间只有三个月左右。

那么对于这种安全能力较弱的小应用开发团队,从整个小应用的开发到上线过程中,应该从哪些方面来规避安全风险呢?在采访的最后,我们还邀请了瑞士瑞信银行的安全专家来分享一些安全建议。

吴建刚表示,无论什么规模的应用开发团队,都应该更加重视应用安全,在业务层面将潜在的安全风险降到最低。对于小型开发团队,首先要注意避免使用第三方开发工具,尽量选择微信官方提供的安全开发工具,保证安全性。

同时,开发者也要采取一些必要的安全措施来保护代码,包括AppSecret生成后由后台应用保存和维护,考虑后台应用的安全性,获取客户敏感信息时注意加密传输,白名单机制限制传输通道中的相互访问等等。

他建议,特别是在安全能力不足的情况下,小程序开发团队应该寻求第三方安全团队的合作,使用小程序安全加固和自动Bot攻击防护的产品来应对安全风险,尽早将黑灰产攻击扼杀在萌芽状态。

#一只羊,一只羊#

 
友情链接
鄂ICP备19019357号-22