2014 年 10 月 25 日,在由 @百度主办、 @InfoQ 负责策划组织和实施的第 55 期百度技术沙龙活动上,我们邀请到了百度国际化杀毒的主防和攻防业务的负责人谢奕智和北京神州绿盟信息安全股份有限公司联合创始人、广州分公司总经理张彦(网名 rico)。两位讲师分享了各自在安全防御领域的相关经验。
本次分享的话题分别是“病毒防御云体系”和“基于业务逻辑设计的新一代安全预警防御思路”。本文将对这两个主题分享做下简单的回顾,同时提供相关资料的下载。
主题一:病毒防御云体系(下载讲稿)
首先,谢奕智通过杀毒软件“弹窗”这个众所周知的行为引出了防御这个话题。
传统单点主防弹窗面临主要的问题是: 该弹的没弹 (可能是对应的监控点没加),不该弹的弹了 (所谓的误报)。如果我们的主防纯粹提醒用户有一个高危行为或低危行为的话,这样并不能满足用户的要求,因为有时候用户他不懂得如何选择,弹窗过多可能会给他造成困扰。作为开发人员,这个弹窗要达到什么样的预期,用户要做什么选择,目标并不清晰。
为此,百度国际化杀毒制订了一个弹窗策略,可以简述为两点:
- 弹窗对用户的影响是可控的,不可控的时候也会通过一个运营的方式把它变成可控的。不允许一个监控点出去乱弹,弹窗针对的要么是对云查量很低的文件,要么确定是恶意的文件。
- 弹窗是可运营的,包括文字的描述,颜色,位置等,针对白文件也可以弹窗,比如启动项。
接下来的议题,是关于“未知”的。何谓“未知”呢?可以从两个角度去看。一个是从状态,所谓的未知,就是没有这个病毒的确定状态 (黑,白),或者根本就没捕获到这个样本。另一个是从行为,如果你的防御产品没有添加比如拦截驱动这个监控点,当某一个样本接到驱动,这个驱动对你来讲就是未知的,假设有 A 行为的样本大多是都是病毒,那我们就拦截 A 行为来防御未知病毒,这里的未知还是基于“知”。
未知可能导致哪些问题呢?未知是一个抽象的词,是没有目标,弹出来也没有预期。如我做防御的过程中,去防御所谓的未知病毒,很难做好。
如上图所示,如果将样本分为三部分,可以加快对一个样本级里面的黑白样本的运营,尽快确定其状态。把我们不能确定状态的样本缩到最小,这样的话即使对未知的样本弹窗,也能保证它是最低的,这时候我们觉得主防是可以接受这种弹窗的,因为它对用户的影响很小。
没有目标就没有方向,下面一张幻灯片介绍了对目标的控制。
监控点也是一个比较重要的概念。目标的确定都是通过数据挖掘来的,这些数据的来源就是在客户端添加的监控点。
提取特征,一般原则是提取一些成本低的,因为只有成本低的时候这个东西才变的可投入可持续。为了减少这种成本的投入,我们提取的特征是不易变的东西。我们的特征分为两部分:静态、动态。静态的话比如公司名、文件名、MD5 都是静态特征。动态特征包括创建进程、释放文件、创建注册项、注册某进程、加载驱动、访问 URL 等。
之后谢奕智介绍了防御这个核心话题。如下图所示:
外面这一圈是云防护的预警模式,第一个是监控。就是要用雷达找目标,因为没有目标就不知道敌人在哪。第二个是分析,对数据的处理要求是比较快,比较高效,然后从这些数据里面去发现问题、提取规则。第三个是响应,就是一旦发现了问题,有没有能力去响应这些问题,这个要求我们的客户端也好,云端也好要做一些基础的建设来响应这些问题。第四个是策略,策略大部分都是在云端去控制的,而不是在本地。
这是我们的一个云防御模式,它其实是实时的,允许它运行就运行,如果不允许,它就暂时挂住。
最后,谢奕智介绍了云规则的主要作用。第一个就是特例打击,以前我们判断样本的黑白要不要弹窗,比如它是一个白文件,就认为这个白文件即使触发一个危险操作,我们也要让它操作。类似于 EXPLOREP 这种会加载驱动,按照我们的黑白判断信任的话,这个动作也是不正常的,所以如果通过我们的客户端逻辑改起来就会很郁闷。那我们通过一些规则,可以把这个问题就解决掉。第二个是更丰富的动作。因为我们以前仅仅是阻止弹窗,处理的话就仅仅是把文件删除。从数据来看,其实这么简单的动作可能并不能很好地处理问题,因为我们可能每天都在发现病毒,但一天两天过去那些中毒的用户好像一直是在中毒的状态。
主题二:基于业务逻辑设计的新一代安全预警防御思路(下载讲稿)
什么叫业务逻辑安全问题?企业根据业务需要设立业务处理流程,并设计业务信息化系统辅助实现。理论上讲业务系统和流程的实现功能,应该完全匹配于企业初始期望的逻辑思路。但实际上因为各种原因,业务系统和业务逻辑在执行过程中出现了偏差,因此存在安全风险,会被有心人利用。
张彦通过一个实际的例子阐述了这个问题,如下图所示:
在数量中输入 -1,问题来了,商品总金额成了 1 元。数据没有在服务器端验证,出现了隐患。
张彦还以另一个电商处理案例、广州地铁等为例,说明了业务流程设计上的问题。
黑客可以利用一些业务设计逻辑上的问题。同时,有攻也有防,我们可以利用业务逻辑设计进行一些防控。
张彦通过具体的案例,结合黑客的行为模式分析,介绍了基于业务逻辑设计的防御策略思路:通过跟踪企业中常态下数据的多个维度,并对可能影响安全的异常变化设计出对应的策略。同时策略应针对黑客行为模式特点设计。对于每个企业或者每个系统,设计方案都具有独特性。
设计的原则:
- 规则越简单越好。大道至简。哪怕是最“土”的策略。
- 规则触发的越少越好,触发的准确性越高越好。
- 规则间最好具有独立性
- 规则最好对用户和管理员透明
OpenSpace(开放式讨论环节)
为了促进参会者与我们每期的嘉宾以及讲师近距离交流,深入探讨在演讲过程中的疑问,本次活动依然设置了 Open Space(开放式讨论)环节。
在 Open Space 的总结环节,两位讲师分别对讨论的内容进行了总结。
谢奕智:我们认为一个行为是有危害的,危害的行为发生的时候,我们才会去处理。
张彦:企业应该先把业务梳理一下,几十个员工,几十台机器,几十个应用,先把数据流画一画。业务梳理之后,才知道哪些是最关键的,然后相应制定策略。可以根据企业自身特点制定策略,进行防范。
会后,一些参会者也通过微博分享了他们的参会感受:
@wqf425492648:#百度技术沙龙#云防御与实时防御模式的主要区别:云{监控、分析、响应、策略}着重响应及可控策略
@Simonne 梦二:#百度技术沙龙#对于黑客行为,我们可以从数据的 7 个維度来分析:时间、地点、对象、方向、内容、协议、速率。从而跟踪并捕获那些窃取商业机密或危害国家安全的骇客。@百度技术沙龙 数据纬度分析也可应用于个人实际生活工作中。so easy
@山水长阔知何处:#百度技术沙龙#做安全必须要先做黑客,了解黑客的心态才能去防御黑客~~知彼知己,才能战胜对手 @百度技术沙龙
@小红猪 v:#百度技术沙龙#杀毒软件弹窗的可控性。在什么情况下才应该合理弹窗?而不是一种简单提醒。@百度技术沙龙
@沙加 L:#百度技术沙龙#@百度技术沙龙 很多时候我们的目标会很大,效果不好。可能我们现在能做到的是目标明确,快速响应!
有关百度技术沙龙的更多信息,可以通过新浪微博关注 @百度技术沙龙,或者关注 InfoQ 官方微信:infoqchina,InfoQ 上也总结了过往所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览内容。
评论