文 / 彭 华
以色列破解数据安全噩梦揭密以色列安全公司设计出“完美”数据渗漏方法
文 / 彭 华
SafeBreach对业界提出了挑战,能不能找到可被用于大量数据的完美渗漏方法呢?能不能找出抵御该公司的完美渗漏提案的有效办法呢?
进攻的技术远远领先于防守,数据渗漏(Data Exfiltration)是黑客将已经在目标网络中获取的信息传递出来的一系列高级技术。核心就是对欲渗出的数据进行加密、混淆,然后通过一些隐蔽的手段传递出来而不被察觉或者引起警觉。是一种比普通的信息泄漏更加隐蔽和高明的手法。以色列安全公司SafeBreach的研究人员对隐秘数据渗漏技术进行了深入研究,设计出“完美”的数据渗漏方法。
SafeBreach公司的研究人员,在2015年就开始寻找从安全性高的组织中隐秘偷取少量敏感数据的完美方法。前不久,在阿姆斯特丹举行的 Hack in the Box (HITB)黑客安全大会上,SafeBreach共同创始人兼CEO伊特兹克·科特勒,该公司安全研究副总裁阿密特·克莱恩,详细解释了他们命名为“十诫”的完美渗漏产生条件。
其中最重要的一条就是,必须可扩展且安全。完美渗漏技术必须符合柯克霍夫原则——即使密码系统的任何细节已为人悉知,只要密匙未泄漏,它也应是安全的。这就既保证了安全,又提供了可扩展性,因为相同的算法可重复使用在不同的密钥上。其他要求还包括:只使用常见Web流量(例如:HTTP、DNS、TLS),不利用任何可能被分类为传输信息的资源(例如:电子邮件、论坛帖子、加密文本、文件共享服务)等,以免引起怀疑。
开发数据渗漏方法时,攻击者应该假设目标企业拥有很好的网络监测系统,包括异常检测、所有协议层级的包分析,以及基于信誉的机制。如果信誉和统计系统被用于检测流向恶意IP和主机的出站流量,就应当避免在发送方和被盗数据接收方之间使用直接通信。攻击者还必须假设企业会在网关解密TLS通信并进行审查。
SafeBreach的研究人员已经找到了他们认为的完美渗漏方式。并描述了这种依赖于HTTP服务器端缓存过程的方法:
攻击者首先需找到一个有很多页面被动态缓存的流行网站。电商网站是理想选择,很多网站都会为了提高性能而缓存HTML页面,而页面的缓存时间通常可以从HTTP响应包头获取到。在科特勒和克莱恩描述的攻击场景里,发送者和接收者协商好一个页面(必须是不热门,以免被该网站的普通用户干扰)和时间点。如果发送者没有在特定时间点访问特定页面,一个比特“0”就被发送了,如果特定时间点上确实有对该页面的HTTP请求,那么比特“1”被发送。
接收者可以通过检查该页面是否刚刚被缓存,来判断发送者有没有访问过此页面。如果接收者在特定时间点后10秒去访问该页面,他们就可以判断页面是不是刚刚被缓存了(发送者借访问动作发了个“1”),或者该页面不过是被接收者自己的访问给缓存了(发送者借无访问动作而发了个“0”)。能被用作此类攻击的网页简直多如繁星。研究人员列举出了宜家官网、英国易捷廉价航空官网、以色列电子商务网站Zap.co.il等。
SafeBreach发布了一个自动化此类攻击的概念验证(PoC)工具,包含了获取缓存时间信息,在特定时间点访问预定义的URL来判断发送者是在发“0”还是“1”等动作。当然,该方法也可以被恶意内部人士手动执行。这种渗漏方法还十分高效,因为它只使用正常的Web流量,不需要额外的软件。如果请求是以不规则的长间隔发送,而且发送者不与接受者直接通信,网络监测系统还不太可能找到什么可疑的东西。为确保渗漏数据的完整性,避免掉线和其他因素造成的干扰,发送者可以用“01”序列代表比特“0”,用“10”序列代表比特“1”。
尽管可以将这种方法认为是完美渗漏,研究人员指出,需要考虑的因素还有几个。例如,网站总是在改变,因此,如果能有个更新URL的机制,会比较理想。发送者和接受者的时钟同步也对该方法能否有效实现起着非常重要的作用。攻击者还必须确保所利用的网站和发送时间点要能混杂在目标公司的正常流量中。研究人员强调,如果网站采用多个缓存服务器,或者依赖于地理IP分发,这种攻击可能失效。
·在阿姆斯特丹举行的 Hack in the Box(HITB)黑客安全大会上,SafeBreach共同创始人兼CEO伊特兹克·科特勒,该公司安全研究副总裁阿密特·克莱恩,详细解释了他们命名为“十诫”的完美渗漏产生条件。
检测和挫败此类攻击的一种可能方法,就是拦截所有HTTP请求,延迟几秒钟,查看目标页面是否被接收者访问。但是,这么干会对用户体验造成负面影响,因为每个请求都被延迟了(举个例子:如果接收者在10秒后访问页面,每个请求就得被延迟至少11秒)。
如今该方法细节已被披露,甚至PoC工具都发布了,会不会被恶意行为人滥用呢?科特勒和克莱恩解释道,他们的目的是帮助防御者找到检测和封锁渗漏的技术。毕竟,即使没有他俩,攻击者自己也可能想出此类渗漏方法。SafeBreach对业界提出了挑战,能不能找到可被用于大量数据的完美渗漏方法呢?能不能找出抵御该公司的完美渗漏提案的有效办法呢?
数据渗漏的方法比比皆是,这意味着根本没有办法可以阻止数据渗漏。对于网络防护者而言,对公司的内部网关实施SSL检查可以帮助识别可疑数据传输。还可以配置Web/电子邮件内容过滤器来阻止加密文件传输。Amit建议首先加强防御控制以解决人为因素,然后再加入技术。
除进行用户培训外,企业必须解决数据库存储位置和如何存储的问题。如果用户被允许在可移动载体上存储数据,请确保他们具有数据加密工具并知道如何使用。更好的是,使用自动自我加密的闪存驱动器。同时,加强对传真机和多功能设备的控制,防止网络中的任何机器连接到这些设备,并防止个人在没有密码的情况下走过去使用它们。
部署好这些控制后,再对公司资产进行监控,弄清楚哪些属于重要资产以及它们的存储位置。Amit指出,没有理由羞于监控自己的资产,然后,“测试,进行更多的测试。”执行定期测试,让内部员工和外部渗透测试者参与进来,可以帮助IT部门确定哪些控制没有正确执行,以及哪些地方需要额外的培训。只有你了解企业的数据流和网络中的资产,才可能抵御数据渗漏。