知识付费小程序开发公司如何做安全维护
龙兵科技 2020-08-29

  微信小程序诞生基于微信的社交属性,依托微信9. 8 亿活跃用户,微信小程序可以说是在微信生态内完成设计裂变。从一开始,微信就为小程序开通了46个场景入口,推广迅猛。这也使得微信小程序才发布就具备得天独厚的优势。 在互联网界掀起不小的波澜,已有许多公司发布了自己的小程序,涉及不同的行业领域。大家在体验小程序用完即走便利的同时,是否对小程序的安全性还存有疑虑。龙兵科技知识付费团队的小伙伴对微信小程序进行初步的安全技术分析,在此整理出来抛砖引玉,如有描述不当的地方,欢迎纠正,交流。

  本文将从小程序的功能模块安全方面进行剖析,希望能为大家带来小程序安全方面的认知。

  一,功能模块安全分析

  功能模块安全分析大白将分为4个部分介绍,分别是:

  网络传输安全

  数据存储安全

  文件存储安全

  扫描二维码安全

  1.1,网络传输安全

  微信小程序支持发起通用请求、文件上传下载、WebSocket通讯机制, 在开发微信小程序的过程中,微信小程序官方强制使用https协议进行网络请求数据传输。小程序请求的域名必须经过微信小程序管理后台通过服务域名设置特定的安全域名(见下图),微信小程序仅能访问已经配置的安全域名下的url,确保网络请求是安全的。

  在网络文件下载过程中同样仅支持从含有已配置域名的url下载资源,不是走http/https协议。下载成功后文件临时存放,通过微信小程序自定义协议wxfile进行访问,在android平台通过映射到SD卡上目录/sdcard/tencent/MicroMsg/wxafiles/wx_id/tmp_[hash_value]。

  1.2,数据存储安全

  微信小程序以K/V形式存放在本地缓存,将小程序需要存储的K/V数据直接存储到Storage DB缓存,微信小程序进行数据保护需要自行做加密处理。数据存储在本地DB,微信APP会对DB数据整体做本地加密保护,所以小程序本地存储数据的安全性依赖于微信数据库加密方案的安全,策略与EnMicroMsg.db类似。

  1.3,文件存储安全

  通过微信小程序下载的文件保存在SD卡/sdcard/tencent/MicroMsg/wxafiles/wx_id/目录下,通过微信小程序自定义wxfile://协议指向SD卡目录下的文件。微信App会对存放SD卡的文件有做完整性校验,无法被篡改。首先,最终存储的文件名是:对称加密(文件流内容Alder32校验和|原始文件名)生成的,最终文件名和文件内容会通过自校验判断完整性;其次,本地缓存是通过HASH映射查找文件。所以即使能破解文件名和文件内容,绕过文件自身签名校验,篡改为攻击者的伪造文件,小程序APP也无法映射到该伪造文件进行使用。

  1.4,扫描二维码安全

  微信小程序扫一扫功能依赖微信App的原生的扫码功能;生成小程序特定页面的专属二维码,依赖于微信认证机制的ACCESS_TOKEN,而ACCESS_TOKEN是通过小程序私有的唯一APPID和Appsecret请求得到,攻击者无法获知到该信息伪造生成二维码。

  二,说在最后

  龙兵科技研发团队通过对微信小程序平台安全机制的调研,在龙兵知识付费微信小程序端做改进安全机制,结合微信小程序凭条本身提供的安全机制对知识付费小程序的账户安全,文件破解等方面做了安全加强,确保系统数据安全,稳定。

门店小程序在线咨询