随着信息技术的高速发展,人类的生活跟网络紧密地联系在了一块儿。在电子商务,网络支付极其发展的今天,各种安全问题也随之而来。网络安全,已成为当今世界越来越关心的话题之一。近年来,APT高级持续性威胁便成为信息安全圈子人人皆知的"时髦名词"。对于像Google、Facebook、Twitter、Comodo等深受其害的公司而言,APT无疑是一场噩梦。于是,引发了行业以及安全从业者对现有安全防御体系的深入思考。
在APT攻击中,攻击者会花几个月甚至更长的时间对"目标"网络进行踩点,针对性地进行信息收集,目标网络环境探测,线上服务器分布情况,应用程序的弱点分析,了解业务状况,员工信息等等。当攻击者收集到足够的信息时,就会对目标网络发起攻击,我们需要了解的是,这种攻击具有明确的目的性与针对性。发起攻击前,攻击者通常会精心设计攻击计划,与此同时,攻击者会根据收集到的信息对目标网络进行深入的分析与研究,所以,这种攻击的成功率很高。当然,它的危害也不言而喻。要预防这种新型的,攻击手法极其灵活的网络攻击,首先,应该对这种攻击进行深入的探讨、研究,分析APT攻击可能会发生的网络环节或者业务环节等;其次要对我们自己的网络进行深入的分析,了解网络环境中存在的安全隐患,从而具有针对性地进行防护。
下图是个比较典型的网络拓扑简图:
(图一)
参照这个网络拓扑,结合近几年发生的APT攻击,我们来分析下APT攻击。
1)2010年,Google被攻击事件:
攻击者收集了Google员工的信息,伪造了一封带有恶意链接的邮件,以信任人的身份发给了Google员工,致使该员工的浏览器被溢出,接着,攻击者获取了该员工主机的权限,并持续监听该员工与Google服务器建立的连接,最终导致服务器沦陷。前不久发生的Facebook被攻击事件,与这个极为相似。
2)2011年美国《华尔街日报》报道的一个安全事件:
攻击者通过SQL注入漏洞,入侵了外网边缘的WEB服务器,然后以WEB服务器为跳板,对内外进行嗅探、扫描,进而入侵了内外AD服务器。攻击者在已拿到权限的主机里种了自己的木马,以公司领导的名义给员工发送了一封带有恶意附件的邮件,最终导致大量公司内网主机权限被攻击者所拥有。
3)RSA SecurID被窃取事件:
2011年3月,EMC公司下属的RSA公司遭受入侵,部分SecurID技术及客户资料被窃取。其后果导致很多使用SecurID作为认证凭据建立VPN网络的公司受到攻击,重要资料被窃取。
通过以往的APT攻击实例,我们可以总结出,通常,典型的APT攻击会通过如下途径入侵到您的网络当中:
1.通过WEB漏洞突破面向外网的Web Server。
2.通过被入侵的Web Server做为跳板,对内网的其他服务器或桌面终端进行嗅探、扫描,并为进一步入侵做准备。
3.通过密码爆破或者发送欺诈邮件,获取管理员帐号,并最终突破AD服务器或核心开发环境,被攻击者的邮箱自动发送邮件副本给攻击者。
4.通过植入恶意软件,如木马、后门、Downloader等,回传大量的敏感文件(WORD、PPT、PDF、CAD文件等)。
5.通过高层主管邮件,发送带有恶意程序的附件,诱骗员工点击,入侵内网终端。
6.利用0day。例如:在邮件中添加恶意URL,被攻击者一点击URL,浏览器被溢出,主机权限丢失。
7.夹杂着社会工程学的攻击。
结合图一,我们可以清楚地看到网络中最有可能被攻击的环节。很显然,图一中的网络有很多问题。所以,我们应该对现有的网络进行调整(网络结构/制度等),下面的网络拓扑图是图一的改进版。如下图所示:
(图二)
网络拓扑说明:
1.在外部路由出口架设大流量吞吐量的防火墙,可以有效地防御外部黑客对外部路由进行DDoS攻击,又可以做访问控制策略,实现初步的安全访问。
2.拓扑的审计系统(堡垒机),是为了保障网络和数据不受来自外部或者内部恶意攻击者的入侵和破坏,它可以收集和监控网络环境中的每个节点的系统状态,网络活动等。这样就可以方便管理人员集中监控、记录、分析、处理网络中的异常情况,对整个网络的安全,起到了不可忽视的作用。
3.核心层连的两台IDS设备,可以有效地监测、预警网络攻击。当网络中出现异常时,IDS会报警,并记录异常状况。可以帮助网络管理人员及时发现网络中存在的网络攻击,做出相应的防护措施。
4.上图的网络拓扑中,我们在核心/汇聚层与接入层之间部署了两台iptables防火墙,是为了进一步控制网络的访问策略,以保证接入层的安全控制。隔离区的各种服务器是我们要重点防护的对象,所以,对接入层的访问控制策略,显得尤为重要。
5.在文件/存储服务器区,部署堡垒机、数据库审计系统。以保证数据/机密文件的安全。
6.也可以按照需求,在内网部署上网行为管理系统。
7.核心区域可以多加几个防火墙,按照安全等级的不同,实行分层防护的策略,做 1级安全区域,2级安全区域。
当然,也并不是说,我们组建这样一个堡垒层层的网络就可以阻挡一切来自外部/内部的恶意攻击,这只是防御攻击的一个必要条件。其实,网络攻防跟现实生活中的战争有很多相似之处,如果X国王建造了一个极其坚固的城墙,很宽很深的护城河,而不派兵把守各个要塞,也不站岗放哨,那么他的城池被敌军攻破,只是时间长短的问题!我们的网络攻防也是如此!#p#
针对图二中我们改进的网络,要预防APT攻击,笔者认为,主要有以下十个方面:
一. WEB应用程序的安全防护
WEB应用程序,是整个网络的第一道防线,也是整个网络中最容易被外部攻击者攻击的一个环节,所以,WEB应用程序的安全显得尤为重要。图二拓扑中,在服务器外部安装了防火墙跟IDS设备,以确保服务器区(WEB程序/Mail程序etc.)的安全控制和监测。WEB应用程序的安全,需要注意以下几点:
1)WEB应用程序开发环节
我们都知道,WEB应用的开发环节直接影响WEB应用的安全。所以,在开发WEB应用程序时,要有严格的安全编码规范标准(JAVA/PHP/asp.net/asp/perl/python…)应尽量避免可能会产生的安全问题,如:注入、上传、文件包含、远程/本地代码执行、XSS等漏洞的产生。在应用上线之前,应严格地进行各种安全测试/加固。
2)WEB框架,以及web服务器软件
按照具体的业务需求,应合理地选择相对稳定、安全的WEB框架,以及web服务器软件(Apache/ Nginx/tomcat/IBM_http_Server.etc.)。选择好WEB运行程序之后,也需要制定安全的配置方案、加固方案,以及维护方案,以确保系统能够安全、稳定地运行。
3)WEB应用防火墙(WAF)
一个WAF是非常有必要的,虽然它不可能解决所有的安全问题。但是,在一定程度上也可以提高WEB的安全系数!
4)WEB应用后台的安全管理
WEB应用后台,也是不可忽视的一个方面。我们需要制定一个统一的账户、密码管理体系,同时,也要对后台的访问做一些控制,以免恶意攻击者进行暴力猜解等。
5)挂马/Webshell检查
定期对WEB系统进行Webshell检查(扫描)。
6)WEB漏洞监测系统
WEB漏洞监测(扫描)系统,定期对WEB应用程序进行漏洞扫描,或者弱点分析。同时,也要进行人工的漏洞挖掘。从而发现系统存在/可能存在的漏洞(弱点)。
7)安全评估与渗透测试
定期对WEB系统进行安全评估,以及渗透测试。
8)流量监测与DDoS
流量监测系统可以清晰地看出进/出口的流量情况,有助于管理员分析WEB的运行情况,以及进/出流量是否有异常。此外,也需要有一个防DDoS、CC系统,以防备外部黑客的流量攻击。
9)日志管理
日志管理方面,需要部署一个统一的日志管理系统,这样能够方便管理人员对各种日志进行管理、分析。并安排专人对每天的日志进行分析。若发现异常情况,应立即向上级领导报告,分析被攻击因素,并及时修复漏洞,此外,也要根据异常日志,追踪攻击源。
10)蜜罐
部署蜜罐系统,诱捕恶意攻击者。同时,也可以通过蜜罐来了解对手,追踪攻击源等。#p#
二、WEB服务器、网络设备安全
1)服务器与网络设备账户、密码管理
对服务器与网络设备账户、密码要进行严格管理,例如:密码修改策略,账户添加/删除审批,以及用户账户的权限管理/审批等。并定期对服务器和网络设备的账户、密码进行检查是否存在异常情况等。
2)服务器与网络设备的安全策略
部署服务器与网络设备的时候,要制定相应的安全部署策略、安全加固策略、以及访问策略(ACL)等,并及时安装漏洞补丁等。定期对安全策略、补丁等情况进行检查。
3)日志管理
对服务器日志进行统一管理,并安排专人定期进行日志分析。若发现异常,立即向主管领导反映,并分析、追踪攻击行为!
4)服务器、网络设备漏洞扫描(弱点分析)系统
为服务器和网络设备部署漏洞扫描(弱点分析)系统,定期进行漏洞扫描(弱点分析),同时,安全人员也应该进行相应的手工漏洞挖掘(分析)工作。并定期对服务器、网络设备的安全情况进行评估,审计。
三、运维中心的安全问题
运维中心是整个网络的权限"集中地",所以,它的安全关乎整个网络的安全。
1)运维中心员工制度
运维中心是整个网络的权限"集中地",所以,必须有一个完善的制度来控制(约束)该部门所掌握的网络权限。其中主要有:部门员工的保密问题;管理规范问题;核心设备、账号密码、权限、操作的管理问题;部门员工的安全意识问题等。这些,都需要制定相关制度进行约束,实行责任到人制度!
2)员工的上网行为约束
在职/离职员工,不能在网络上随意公布影响公司网络安全的信息。如:泄露内部网络结构,泄露内部员工邮箱等。
3) 访问控制策略#p#
四、内部文件服务器/存储服务器的安全
此网络区域为DMZ区,主要有公司内部的文件服务器、内部存储服务器等。本区域与外网隔离。
1)对此部门的网络进行严格的访问控制。尤其是高度机密的文件/数据存储服务器。
2)服务器的配置、加固、补丁安装等。必须要严格公司服务器安全配置方案,加固方案,管理方案进行。
3)严格管理该区服务器的账户密码、权限、操作等。
4)服务器漏洞扫描(弱点分析)
为该区服务器定期进行漏洞扫描(弱点分析),同时,安全人员也应该进行相应的手工漏洞挖掘(分析)工作。并定期对服务器的安全情况进行评估,审计。
5)日志管理
对服务器日志进行统一管理,并安排专人定期进行日志分析。若发现异常,立即向主管领导反映,并分析、追踪攻击行为!
五、办公网络的安全
1)网络访问控制
办公网络访问控制,可以按照各个部门对信息安全等级要求,来做相应访问控制策略,如,A部门对信息安全等级的要求特别高,那么,网络管理人员应该对该部门的访问策略严格控制。
2)入侵检测系统
可以依靠IDS等入侵检测系统来监测网络的安全情况,网络安全部门工作人员定期对网络进行模拟渗透,并做相应的安全评估。
3)流量监测系统
在办公网络部署一个流量检测系统,有助于网络管理人员了解网络进/出口流量的异常情况,等等。所以,流量检测系统是非常有必要的,
4)PC统一补丁管理服务器(WSUS)
WSUS是微软公司推出的网络化的补丁分发方案,支持微软的全部产品的更新,以及补丁程序。通过部署WSUS服务器,内部网络的客户机可以及时、快速地更新/升级windows,这样就能防止网内用户不打漏洞补丁的问题,从而提高了办公网络的PC安全系数。
5)病毒/木马防御系统
统一为网内所有主机(包括服务器)安装杀毒软件,选择杀软的时候,最好选择国际上比较知名的杀软,如:诺顿,赛门铁克,安全部队等…
6)无线网络安全
办公网络中,应尽可能地避免使用无线网络。众所周知,无线网络目前存在诸多安全隐患,再加上不方便集中管理上网用户,为了避免外部人员通过无线网络渗透进内网或者机密资料被窃取,笔者建议,应谨慎在办公网络部署无线。
7)Mail安全
在前面我们提到的APT攻击事件中,我们不止一次看到了因mail所引发的攻击事件。信息技术高度发展的今天,E-mail是我们生活、工作中必不可少的东西,而我们的普通员工,很难想象一封E-mail中所隐藏的安全隐患,所以,一个邮件过滤系统,是非常有必要的。当然,邮件过滤系统很难完全消除邮件中的安全隐患。这方面,需要制定一些制度,如:规定员工发邮件时不能带链接、附件等(如果遇到迫不得已的情况,可由安全研究检测/分析之后再进行浏览)。
8)日志管理
日志进行统一管理,并安排专人定期进行日志分析。若发现异常,立即向主管领导反映,并分析、追踪攻击行为!
9)终端安全
制定终端加固、管理方案。确保每个终端都安全地运行。(市面上,有许多内网管理软件,可以有选择性地采用)
10)子公司间的策略控制#p#
六、内网安全
1)员工上网行为准则
规范员工的上网,可以引导员工去安全地上网,必要的时候,可以用制度去约束。以确保内网环境安全、稳定。
2)员工的安全意识培养
安全加固、防御做的再好,如果,员工没有良好的安全意识,也不行。所以,应定期对员工进行网络安全方面知识的普及、培训等。
3)便携设备带来的安全问题
便携设备,如U盘,移动硬盘,手机等,很有可能会把病毒带到我们精心建造的网络中,或者其他一些问题,如:"泄密"等…
4)划分VLAN
为了网络能够高效,稳定,安全地运行,为各个部门划分VLAN是很有必要的。
5)预防ARP攻击
ARP曾经让众多网络管理员苦不堪言,ARP是内网极其常见的攻击手段,预防ARP攻击比较有效的方法,mac绑定(mac双向绑定)。
6)内网文件传输
内网进行文件传输、共享的时候,按照文件/资料的安全等级要求,进行加密传输。
7)打印机、扫描仪等设备的安全。
七、0day
0day,被誉为网络中的杀器,它的危害更具杀伤力(如:浏览器0day、office 0day、操作系统0day等)。对于0day漏洞的攻击,一直以来都让人头疼的问题。为了0day危害减到最小,应该研究\开发一个监测系统,如沙盒行为分析,特征分析等…用于对恶意代码的监测/拦截。若截获到恶意代码片,研究人员应立即进行深入的分析。此外,也应该关注国内外安全动向(包括民间组织/个人),以及类似国外的一些0day交易网站等…
#p#
八、社会工程学
社会工程学,已不再是一个多么新鲜的话题了。但,我们不得不承认的是,不管是在普通的网络攻击,还是我们今天所谈的APT攻击中,它都扮演着非常重要的角色。了解社会工程学的人都知道,社会工程学的攻击,是从"人"开始的。然而,我们的网络防御,其中很重要的一环也是人。这正符合社会工程学的攻击思想。0day漏洞可怕,但出现在网络攻击中的社会工程学同样很可怕!所以,我们应该对社工有个比较全面的认识,从而,去理智地分辨我们身边存在/可能存在的"社工"行为以及"社工"因素,进而避免我们自己被"社工"。社会工程学是一个很泛的东西,跟技术性的防范不同,它有很多不确定的因素在里边,这就使得防范社会工程学攻击的难度增加。对于社会工程学的防范,我有这么几点建议:
1)防范来自企业内部的主动/被动的社会工程学攻击
来自企业内部"主动"的社会工程学攻击,指来自企业内部"不安分"员工的攻击。"被动"社会工程学攻击,内部员工因为信息泄露等因素,被外部攻击者所利用而引发的攻击。
2)防范邮件/IM中的社会工程学
在之前的APT攻击实例中,我们不止一次看到了因为邮件所带来的攻击。所以,对这方面,应该要特别注意。
3)来自下属公司以及合作伙伴的攻击
下属公司、合作伙伴等…都是企业比较"信任"的一些对象。由于"信任",所以,在展开业务合作的时候,由于各方面原因所导致的泄密事件等…就像我们看过的港片那样,或许另一种《无间道》就会在你身边上演。
4)由第三方公司引发的攻击事件
由第三方公司引发的攻击事件,如:DNS提供商、域名提供商、服务器托管商等。国内也常有此类攻击事件发生。
5)管理方面的疏漏
6)业务层方面的疏漏
九、信息安全防御体系的建设
信息安全体系的建设是整个企业网络安全工作中的重中之重,有完整、规范、科学的安全防御体系,才能保证各项信息安全防御工作顺利、有序地进行。信息安全防御体系的建设主要有:
1)信息安全监测系统
2)信息安全防御系统
3)安全评估体系
4)安全审计体系
5)安全预警体系
6)规范、严谨、科学的制度/流程
7)安全研究团队的建设
十、网络安全应急响应
企业内部网络安全研究团队应积极响应安全事件,攻击事件。同时,要密切关注国内外网络安全动向,通过外部报道的攻击事件,从中吸取吸取经验教训,不断完善、改进工作中的不足。
总结:网络攻防将长期存在,我们都知道,没有绝对安全的系统。所以,网络防御,是一项持久、繁琐的工作,当然,APT防御也是如此。