来源:《中国计算机学会通讯》2016年第6期《专栏》
作者:郭春梅
前言
信息安全产品与技术的发展不仅事关用户隐私与财产安全,更关系到国家信息安全建设、社会稳定和谐与经济的健康发展。信息安全产品主要包括以硬件为主的信息安全产品及服务、以软件为主的信息安全产品及解决方案以及安全服务。由于云计算、物联网及移动互联网等新技术、新应用不断出现和发展,信息安全整个产业也步入转折期。尤其是近年来,各类网络威胁事件频繁发生,带动了市场对信息安全产品和服务需求的持续增长;另外,政府重视和政策扶持也不断推动我国信息安全产业快速发展。在市场需求方面,信息安全产品行业需求突出,政府、电信、银行、能源、军队等仍然是信息安全企业关注的重点行业,证券、交通、教育、制造等新兴市场需求强劲,为信息安全产品市场注入了新的活力。中小型企业市场及二三级城市市场都呈现出蓬勃的生命力。防火墙仍然是最大的细分产品市场,IDC[23]报告指出:仅2015年上半年,防火墙硬件市场的规模为15.5亿,同比增长高达43%,与此同时,统一威胁管理(UTM)、虚拟专用网络()、入侵检测与防御等产品的市场也进入了高速增长期,2015年上半年同比平均增长率高达25%,身份认证、安全内容管理、云安全服务等也正在逐步打开市场,成为重要的信息安全需求品。
如图1所示,我们以2014年[24]、2015年中国安全产品市场中的信息安全产品市场占有率为出发点,主要分析了硬件类的防火墙(2015年中国市场占有率高达40%)、统一威胁管理、入侵检测(IDS)、入侵防护(IPS)、安全内容管理等;软件及服务类包括安全内容与威胁管理、身份管理与访问控制、安全性与漏洞管理、安全操作系统、云安全服务等。按照信息安全产品发展史以及关键技术两个角度出发和探寻,筛选出对信息安全产品影响重大且意义深远的10篇论文。这些论文有的影响了信息安全的发展,有的是信息产品及技术的理论基础,有的在信息安全产品里的适用范围广,或者推动了产品的应用。
防火墙:《Simple and Flexible Datagram Access Controls for UNIX-based Gateways》
防火墙最早出现在20世纪80年代,与路由器几乎同时出现。第一代防火墙主要基于包过滤技术,是依附于路由器的包过滤功能实现的。1988年,第一篇介绍包过滤技术的论文“Simple and Flexible Datagram Access Controls for UNIX-based Gateways”[1]是由美国数字设备公司的工程师莫古(Mogul)发表的。莫古在文中提出了一个在UNIX操作系统中运行的非内核解决方案,用于决定数据包是否可以通过路由器,这是第一代防火墙。它基于路由器,有一个包检查模块来检查通过网络的信息包的IP源和目标地址、ICMP(Internet Control Message Protocol,互联网控制报文协议)消息类型、TCP报头中的ACK比特、端口号以及应用协议类型,按照系统管理员给定的过滤规则进行过滤,审查每个数据包,确定其是否与某一条包过滤规则匹配。包过滤防火墙原理简单、速度快且效率高,对用户是透明的,且能减少暴露风险。一个包过滤路由器能够控制内外网间的通信并保护整个内部网络。但是莫古并没有记录TCP连接的状态,也没有监控伪装的UDP请求或反应,定义防火墙的过滤规则比较复杂,且不易验证其正确性,特别是从外网向内网的TCP/UDP源端口规则的配置也非常困难。
莫古的第一代防火墙技术主要在路由器上实现,后来又将此功能独立出来专门用来实现安全过滤。1989年,贝尔实验室戴夫·普利索图(Dave Presotto)和霍华德·特里克(Howard Trickey)推出了第二代防火墙——电路层防火墙。1992年,马库斯·让姆(Marcus Ranum)[2]进一步扩展了莫古的技术,形成了第三代防火墙——基于代理技术的应用层防火墙。美国数字设备公司采用马库斯·让姆的技术开发了第一台商业防火墙SEAL(Securing External Access Link) [3]。之后,美国南加州大学信息科学院的鲍勃·布莱登(Bob Braden)开发出了基于动态包过滤技术的第四代防火墙,后来演变为状态监测防火墙。1998年,美国网络联盟公司(NAI)推出了一种自适应代理技术,形成了第五代防火墙。自适应代理防火墙有两个主要特性:自适应代理服务器和动态包过滤器,且两者之间存在一种控制机制。信息安全技术发展到今天,统一威胁管理就是在防火墙基础上发展起来的,具备防火墙、入侵防护、防病毒、防垃圾邮件等综合功能。
虚拟专用网络:《What Is a 》
20世纪80年代就已经出现了很多与虚拟专用网络(Virtual Private Network, )相关的技术专利,但是最早给出全面具体定义的当属思科公司的埃尔古松(Erguson P.)和休斯顿(Huston G.)在1998年发表的“What Is a ”一文[2]。文中对虚拟专用网络进行了详细的分析。
虚拟专用网络的定义:利用不可靠的公用互联网络作为信息传输媒介,为用户创建安全隧道,并提供与专用网络一样的安全和功能保障。
虚拟专用网络的特点:安全保障、服务质量保证、服务质量管理、可用性和可靠性、使用公共解决方案、使用公共协议、站点安全性、数据的隐私和完整性(通信拦截的可能性)等。
“What Is a ”一文中还根据TCP/IP协议将虚拟专用网络划分为网络层、链路层、传输层等类型。
网络层虚拟专用网络中包含边界网关协议(Border Gateway Protocol, BGP),隧道技术:路由封闭协议(Generic Routing Encapsulation, GRE),路由器到路由器或主机到主机的隧道协议,如L2TP[3](2层隧道协议)、PPTP[4](点对点隧道协议)、DVMRP[10](距离矢量组播路由协议)隧道协议、IPSec安全协议(3层隧道协议)及其对应的虚拟专用网络。
链路层虚拟专用网络中包含ATM和帧中继虚拟连接的、MPOA(ATM上的多协议)和“虚拟路由器”概念的虚拟专用网络以及多协议标记交换(MPLS)技术及其对应的虚拟专用网络。
这篇文章被后续很多虚拟专用网络技术专利引用,为该技术的发展提供了明确的思路和方法论。
安全操作系统:《Security Controls in the ADEPT-50 Timesharing System》
1969年,维斯曼(C. Weissman)在论文“Security Controls in the ADEPT-50 Timesharing System”[5]中设计了一个世界上最早的安全操作系统,用于在ADEPT-50[14]分时系统上处理政府的机密信息和军事设施的敏感信息。
维斯曼围绕资源共享,以访问控制权限理论、安全威胁为核心建立模型,通过将安全配置文件初始化、登录决策程序、检查系统完整性、控制安全残留及跟踪安全审计来实现安全控制。该方法的真实模型定义了用户、终端、工作和文件及其安全配置属性1相对应的分时安全控制策略,并将安全控制机制与分时操作系统隔离,保证安全审查的正确性、完整性和可靠性。系统构建支持异构层次和类型分类的安全控制机制具有重要的现实意义。
在实现的系统中,可以为客体标上敏感级别属性。系统支持的基本安全条件是:对于读操作,不允许信息的敏感级别高于用户的安全级别;对于写操作,在授权情况下,允许使信息从高敏感级别移向低敏感级别。
维斯曼的论文建立了安全操作系统的基本理论模型和思想方法,并结合制作和操作成本,制定了一个可行的安全操作系统方案,标志着安全操作系统的基本思想、理论、技术和方法已经逐步建立,为安全操作系统的发展奠定了基础。
AES加密算法:《The Design of Rijndael: AES—The Advanced Encryption Standard》
高级加密标准(Advanced Encryption Standard, AES)在密码学中又称为Rijndael加密法,是美国联邦政府采用的一种区块加密标准。此标准用来替代之前的数据加密标准(Data Encryption Standard, DES),已经被多方组织认证分析且广为世界各国使用。Rijndael由比利时的琼·德门(Joan Daemen)和文斯特·雷曼(Vincent Rijmen)设计,其原型是Square算法,基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个数据单元。高级加密标准使用几种不同的方法来执行排列和置换运算,是一个迭代的、对称密钥分组的密码,可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据,其设计策略是宽轨迹策略(wide trail strategy)。Rijndael加密算法有很好的抵抗差分密码分析及线性密码分析的能力。2002年,琼·德门和文斯特·雷曼在“The Design of Rijndael: AES—The Advanced Encryption Standard”[6]一文中又对当时已经被定为高级加密标准的Rijndael算法进行了阐述。
公钥密钥体制:《New Direction in Cryptography》
1976年迪菲(Diffie)和赫尔曼(Hellman)在“New Direction in Cryptography”[7]一文中提出了著名的Diffie-Hellman密钥交换协议,指出不仅加密算法是公开的,而且加密的密钥也是公开的。这篇经典的论文开创了现代密码学的新时代,标志着公钥密码体制的出现。在公开密钥密码体制中,公开密钥pk是公开信息,而秘密密钥sk是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥sk是由公开密钥pk决定的,但却不能根据pk计算出sk。Diffie-Hellman算法是很多算法及安全协议的基础,如虚拟专用网络产品中使用的密钥管理技术SKIP与ISAKMP/OAKLEY都运用了Diffie-Hellman算法。由于在密码学界的诸多贡献,迪菲和赫尔曼获得了2015年图灵奖。
认证技术:《Identity-Based Encryption from the Weil Pairing》
早在1984年,沙米尔(Shamir)就在“Identity-Based Cryptosystems and Signature Schemes”[8]一文中提出了标识密码的概念。基于沙米尔的概念,2001年,美国斯坦福大学的丹·玻尼赫(Dan Franklin)在“Identity-Based Encryption from the Weil Pairing”[9]一文中提出了基于身份的加密技术IBE(Identity-Based Encryption)。该算法将用户的身份标识如姓名、IP地址、电子邮箱、手机号码等作为公钥,通过数学方式生成与之对应的用户私钥。用户的公钥不需要额外生成和存储,只须通过某种方式公开发布,私钥则由用户秘密保存。标识密码的加解密方案由系统参数生成算法、密钥生成算法、加密算法和解密算法四部分组成。
IBE是一种基于双线性配对和椭圆曲线的新型公钥密码技术,从传统的公钥基础设施(Public Key Infrastructure, PKI)发展而来,主要解决的问题集中在身份认证、抗否认、完整性、保密性等方面,为实现应用安全提供了一个新的解决思路。IBE更适用于安全电子邮件服务、文档加密、百密柜、数字签名、智能密码钥匙(IBCKey)、SD智能密码钥匙、SIM智能卡、金融IC卡等。
入侵检测系统:《An Intrusion-Detection Model》
1980年4月,詹姆斯·安德森(James P. Anderson)为美国空军做了题为“Computer Scurity Threat Monitoring and Surveillance”的技术报告[10],被公认为是入侵检测的开山之作。报告中将入侵企图或威胁定义为:未经授权蓄意尝试访问信息,窜改信息,从而使系统不可靠或不能使用。安德森在报告中首次提出通过识别异常行为来检测入侵,并将威胁分为外部渗透、内部渗透和非法行为三种模型。外部渗透是指未经授权的计算机系统用户执行的入侵;内部渗透是指已经授权的用户访问或入侵未经授权的数据;非法行为是指用户的身份已经被授权,但是用户非法使用或者滥用授权的系统和数据。最早的入侵检测模型IDES是由多萝西(Dorothy)于1987年在“An Intrusion-Detection Model”[11]一文中提出的,此模型框架[12](见图2)成为后来的入侵检测技术及框架的基础。
防病毒技术:《How to Own the Internet in Your Spare Time》
1982年,俢克(F. Shoch)等人[13]最早给出了蠕虫病毒的两个特征:可以从一台计算机移动到另一台计算机以及自我复制。1988年,著名的莫里斯(Morris)蠕虫事件是最早的网络蠕虫攻击。同年,CERT(计算机紧急响应小组)成立。
斯图尔特·斯坦尼福特(Stuart Staniford)等人在“How to Own the Internet in Your Spare Time”一文[14]中最早介绍了一种最快的网络蠕虫传播技术——基于目标列表的扫描(Hit-list scan):网络蠕虫病毒传播之前,生成一份易受传染、有漏洞的计算机地址的目标列表,然后对该列表进行攻击尝试和传播。目标列表生成方法有两种:通过小规模扫描或者互联网共享信息产生目标列表;通过分布式扫描生成全面的列表数据库扫描方法。目前产生列表数据库扫描技术的主要有秘密扫描(stealthy scans)、分布式扫描(distributed scanning)、DNS搜索(DNS searches)、仅监听(just listen)、公开调查(public surveys)等。斯坦尼福特还在文中提出了建立国家范围的网络病毒控制中心(Cyber-Center for Disease Control, CDC)来应对蠕虫病毒。
网络脆弱性扫描器:《A Graph-Based Network-Vulnerability Analysis System》
最早将网络脆弱性扫描纳入计算机系统脆弱性评估的是1997年的斯维勒(Swiler)等人,他们在“A Graph-Based Network-Vulnerability Analysis System”[15]一文中提出了用攻击图模型对网络的脆弱性进行评估的方法。此方法可以对外部和内部的网络攻击进行分析。文中规定了攻击图的两个主要元素。
1.节点:一个可能的攻击阶段,主要包括:
用户级:来宾(匿名)、授权用户、rooter、系统管理员等。
机器:模板的攻击,这将是最有可能的场所,可能是单机或一组机群、单个或者多个子网中的机器或多机网络。这是一个实例化的(变量)攻击图。
脆弱点:表示攻击行为引起的原有配置模型的变化。在构建攻击图时,脆弱性用来“覆盖”给定节点的状态相应的配置文件。
功能区:包括物理场访问的部分网络、安装和交付的邮件的木马程序、可执行文件、安装在边缘的网络嗅探器、攻击者成功安装或者入侵的其他程序等。功能区也可以用来“覆盖”给定节点的状态相应的配置文件。
状态:主要用于将攻击分为碎片。一个攻击可能需要几个步骤,每一步都可能失败,或者根本引不起功能或脆弱点的变化,状态能够通过攻击进展来区别节点。
2.边:攻击者引起的软硬件攻击所带来的状态改变。每一条边都会引起攻击模型环境的改变。在节点的攻击图中,边被标记为攻击成功概率的度量参数以及用户界面的文档字符串。
在已有攻击模型的基础上,根据攻击模板描述一致的攻击行为,从目标状态反向生成系统的攻击图。如果生成成功,则表明系统存在脆弱性。此外,根据攻击图还可以计算攻击成功的概率。
由于攻击图是手工生成的,因此斯维勒在论文中指出,他还没有生成过基于10个或者20个攻击模板的攻击图。但是这并不影响该论文在模型检测方法上的重要性,这篇论文为后续产生的模型检测方法提供了理论基础,而且,由于将网络拓扑结构的攻击与集合考虑在内,超越了当时所有可用的扫描工具。
云安全技术:《Fully Homomorphic Encryption Using Ideal Lattices》
安全与隐私是人们公认的关键问题[16]。2009年,IBM公司的克雷格·金特里(Craig Gentry)发表了“Fully Homomorphic Encryption Using Ideal Lattices”[17]的论文,公布了“隐私同态(privacy homomorphism)”或“全同态加密(fully homomorphicen cryption)”的重要技术。用户可以充分操作加密状态的数据,同步加密技术允许公司将敏感信息储存在远程服务器里,既避免当地主机端泄露信息,又保证了信息的使用和搜索。金特里给出了同态加密在云计算加密数据存储中的两个应用,即加密数据查询和私有数据查询。用户也可以使用搜索引擎进行查询并获取结果,而不用担心搜索引擎会留下记录。但是由于同态算法的计算量较大,无法保证算法的高效性,所以此算法并没有达到实用的程度。但是这不能减弱金特里的论文对云端数据安全技术的影响。近几年,很多云中的安全协议和算法都采用了同态的思想来确保数据的安全性、如同态标签技术可以用来解决数据的存储外包问题[18~21],用同态加密技术来解决云中数据的加密检索以及隐私保护[22]等。
小结
本文通过对防火墙、统一威胁管理、入侵检测、入侵防护、安全内容管理、安全内容与威胁管理、身份管理与访问控制、安全性与漏洞管理、安全操作系统、云安全等市场占用率较高的信息安全软硬件产品进行研究,探寻对信息安全产品发展影响深远的十篇论文并对其进行了分析。希望能够对信息安全产品感兴趣的读者带来一定的启示。
致谢:
本文的成形得益于与潘柱廷先生的一次讨论,他提出了关于学术论文对信息安全产业发展的影响课题,特此致谢!同时感谢宋玲娓博士为本文做出的贡献!
脚注:
1 安全配置属性是一个与授权、类别、许可有关的三维集合,需要得到政府或军队的认证和鉴别。
作者:
郭春梅
北京启明星辰信息安全技术有限公司资深研究员。主要研究方向为网络安全、云计算/虚拟化技术及安全、物联网安全等。guo_chunmei@venustech.com.cn
参考文献请登录http://www.ccf.org.cn/cccf/