2017年9 月 1 日,著名黑客团体OurMine入侵了维基解密网站,将其网站替换成了一段话。
一般来说接触内容安全的第一步就是“网页防篡改”或者叫“内容防篡改”。“防篡改”这个愿景很好,但在面向互联网发布环节很难完美落地。另外,在实际场景中“篡改”是一种结论,首先发现的一定是内容异常,而内容异常至少有两种可能,一是真的篡改,二是恶意发布(错误发布)。
对于一个媒体来说要解决如何快速发现和恢复异常内容,而不是仅仅围绕篡改做工作。首先我们汇总一下内容异常可能性点总结:
发布系统入侵:这种情况危害最大,入侵者通过企业各种脆弱性获取发布系统权限后,进行各类发布操作。对于审核机制不完善的发布系统入侵门槛会进一步降低。
链路劫持:这是最常见的内容篡改手段,劫持点可以存在于互联网的任何位置,几乎不可预测。但链路劫持的解决方案也比较明确,就是加密传输(如:https)。
CDN sever:这指的是对CDN服务器上内容的篡改,笔者所在企业采用的主要是商业CDN,这种情况一般比较少见,但也遇到过不止一次。主要方法一是将源站和CDN父节点之间的内容进行链路劫持(这种情况采用链路劫持的处理方式),二是渗透进相关系统进行文件篡改。
DNS劫持:这种情况比较隐蔽,但获取DNS服务器权限的门槛也比较高。
内部人员渗透:这听起来比较高端,但其实和有偿发稿的情况相似。方法无非就是找到合适的人、谈价格、发布、付款。这种情况处理起来比较复杂,首先需要完善的审计措施作为威慑,后面就是审发机制和安全教育了。
假篡改:这是最奇葩的一种情况,笔者也不只一次的遇到过。一些别有用心者在极小范围内(甚至自己的PC上)对网站内容进行篡改(或PS),然后将结果截图,并在利用一些途径(如:微博、QQ群等)传播。这种情况几乎无法防御,要做的只能自证清白。
笔者所在的企业目前正在逐步建设内容异常检测系统,主要是解决商业产品面临的几个问题:
如何判断篡改和修改?
这是内容防篡改最核心的一个问题,很多产品通过前后版本比对,将差异内容提交给人工审,这种系统本身不负责正确性校验,只是避免了重复人工审核。变化频率较低的场景可以适用该方法,但在内容频繁修改的场景就显得力不从心了。
时效性问题
目前市场上常见的内容安全监测服务,都是机器+人工判断,这种方法是由系统实现一部分的正确性判断,将无法判断的内容交由人工处理,这本身没有问题,但由于商业公司的服务团队不可能只针对某一个企业进行服务,所以一般对异常情况的发现时间较长(据了解一般是小时级)。
基于硬件的防篡改方案如何在采用CDN架构中部署?
笔者见过不少基于waf对页面实现防篡改的方案,这种方案一方面是需要与发布系统进行一定的结合,否则操作非常麻烦;另一方面在页面更改频繁的环境中,时效性也很难解决;最重要的是在采用CDN(尤其是商业CDN)架构的环境中基本无法实现。
总之目前市场上大部分的页面防篡改系统主要适用于内容更新不频繁、不采用CDN系统的场景。下篇文章将从实践的角度,介绍一下笔者所在企业的内容安全解决方案,敬请关注!
领取专属 10元无门槛券
私享最新 技术干货