移动开发 \ iOS \ 打造属于自己app的网络过滤器(一)需求分析篇

打造属于自己app的网络过滤器(一)需求分析篇

总点击23
简介:  最近一直在研究微信的app,同时呢自己搭建的一个练手网站,居然有黑客给黑掉了,让人很是无语。再联想到微信,淘宝相互屏蔽对方,以及最近的新闻抖音被微博给屏蔽了,以及几年前的XcodeGhost事件,感觉很有必要做

  最近一直在研究微信的app,同时呢自己搭建的一个练手网站,居然有黑客给黑掉了,让人很是无语。再联想到微信,淘宝相互屏蔽对方,以及最近的新闻抖音被微博给屏蔽了,以及几年前的XcodeGhost事件,感觉很有必要做一个网络过滤的工具,具体需求如下:

一、建立篱笆,保护自己的利益

  举个例子,你自己建立了一个微信讨论组,随着你自己的经营,里面组员越来越多,而且可以通过一些手段进行相关的变现,现在突然有人在讨论组里面发消息,用户打开消息就可以加入别的讨论组,一旦用户加入了别的讨论组就意味着用户可能从你的讨论组中流失掉,而随着用户的流失,你的变现能力也在降低,这种情况下,你必须想办法将竞争对手的发的邀请别人加入群组的消息给屏蔽掉,尽最大可能对群成员不可以见,或者点击无效果以及被拦截。同时呢如果是自己的合作伙伴,我们又需要对这个消息不拦截。这都需要我们又一个网络过滤验证系统来支持相关的功能。

二、App安全防护

  App的安全防护如果要做起来的话,可以说有非常多的东西要做,比如app加壳,关键代码混淆等等,这里就不一一的说了,我这里主要说一下自己目前认知到的需要做一下安全防护的地方。

1)App网络请求的监控

  如果一款成熟的app没有做到对app内发出的网络请求进行监控的话,那么这个app的安全防护就是很不到位的。不管是Xcode ghost的方法去盗取用户数据,还是jspatch这样的下发恶意代码。这些攻击的手段都离不开网络,比如我们可以对app发出网络请求进行监控对于我们app发出的网络请求加入白名单,对于app发出的不是白名单中的网络请求进行监控,并及时的进行相关的预警工作。当然了对于不在白名单中的网络请求,我们可以禁止掉,避免用户信息泄漏或者app受到攻击。

2)路由跳转时url过滤

  在app开发过程中, 随着app体量变大,很多的app都是用了路由跳转机制,对于路由跳转机制,路由表加密存储肯定是必须的了,另外要确保app内第三方的网页无法打开或者跳转到我们app的相关功能模块,页面。另外就是白名单机制,在白名单里面的相关网页可以获得较高的权限可以打开native的页面以及相关的功能。另外还要有黑名单机制,对于某些指定域名的网址,禁止在app内打开。

3)js与native交互时的安全防护

  比如你的app使用了类似jsPatch的框,或者javaScriptCore框架,以及具有类似功能的框架都有安全漏洞;因为可能出现在web页面不可控的情况,例如在没有权限的情况下却打开了相关的功能,相关的页面,获取了相关的信息等等。攻击者只需要解压你的ipa包,反编译你的ipa包,等操作,确认你是否使用了相关的框架。针对这些情况我们也要进行相关的防护工作。

4)js劫持防护

  js劫持的种类很多种,由于自己是非科班出身,就简单举个例子吧,内嵌iframe,并劫持相关的js方法获取所需要的数据,以及透明浮层诱导用户出发某些事件等等。这些都是需要我们重点防护的。

注:对这一块感兴趣的小伙伴也可以QQ扫码,加入讨论组交流

打造属于自己app的网络过滤器(一)需求分析篇

意见反馈 常见问题 官方微信 返回顶部