编者按:2015年7月1日,新国家安全法施行,规定每年4月15日为全民国家安全教育日。聚焦网络安全现状及高校网络安全建设,《中国教育网络》特邀多位专家学者撰文,针对网络安全领域的现状与挑战、网络安全领域学科建设和人才培养等话题进行了分析与探讨。
网络空间安全在我国是一个新的一级学科,在国际上也同样是一个新的学科领域,这个学科的内容延伸至计算机科学与技术、信息工程、电子工程、安全工程、数学、法学、社会学、心理学等众多的学科领域,因此它的覆盖范围仍然是一个讨论中的问题。2017年,中央网信办批准在国内支持建设6个一流网络空间安全学院,教育部批准了一批高校设立网络空间安全本科专业,并对那6所网络空间安全学院在研究生招生指标方面给予了政策倾斜,这些做法均体现了我国政府对这个新兴学科发展的重视。
网络空间安全课程体系的实践
对于网络空间安全这个新专业的建设而言,课程体系建设无疑是重中之重,而网络安全课程则是这个体系中的核心课程之一。1988年的Morris蠕虫事件引发了对互联网环境中网络安全问题的重视,而上世纪九十年代互联网的普及则推动了网络安全领域的形成和发展。教学是滞后于研究和技术的,因此网络安全课程的教学基本上是进入本世纪之后才开始兴起的。东南大学计算机系(现计算机科学与工程学院)是从1996年开始对计算机科学与技术专业的硕士研究生开设计算机网络与数据安全课程的,并作为了专业必修课。由于是面向互联网环境中的安全问题,该课程在最初几年采用由Prentice Hall出版社于1995年出版,Charlie Kaufman、Radia Perlman、Mike Speciner等人编写的《Network security : private communicationin a public world》(《网络安全:公众世界中的秘密通信》)一书作为主要参考书,并在此基础上结合网络安全领域的最新科研进展,编写课程讲义。该讲义于2000年由东南大学出版社正式出版[1],并于2003年获得教育部全国普通高校优秀教材二等奖。该教材于2007年进行了一次较大幅度的改版,以反映该领域的技术进展。
该课程以网络安全的内容为主,兼顾信息安全的内容;以介绍概念/框架为主(广度优先),要求学生能够依据这些概念进行适度展开,掌握并能运用所学概念设计安全的系统并对其进行安全管理。限于当时的认识水平,该课程将互联网的安全问题理解为四个方面:
1.端-端的安全问题,主要指用户(包括代理)之间的加密、鉴别和数据完整性的维护;
2.端系统的安全问题,主要涉及防火墙技术;
3.安全服务质量问题,主要指如何保证合法用户的带宽,防止用户非法占用带宽(DoS/DDoS);
4.安全的网络基础设施,主要涉及路由器、DNS服务器,以及网络控制信息和管理信息的安全问题。
因此,该课程首先从体系结构的角度介绍了计算机网络安全的基本概念,并对计算机单机系统的安全问题作了简单介绍。然后介绍数据加密技术的基本概念,并介绍了当时互联网中最经常使用的DES算法和在PGP中使用的IDEA算法和RSA算法。在密钥管理方面,介绍了Different-Hellman交换、Shamir秘密分享、群密钥管理以及与当前网络应用的发展密切相关的公开密钥管理体制。在数据完整性保护技术方面,介绍了MD5和SHA-1这两种主流的消息摘录函数,以及数字签名和盲签名的概念。在鉴别方面,重点介绍了口令管理和Needham-Schroeder模型和Kerberos系统的工作原理,介绍了公平服务的相关概念,包括信息托付、电子货币、电子选举等内容。在网络安全应用方面,课程详细介绍了支持安全电子邮件服务的PEM和PGP。在单机和网络的访问控制方面,课程介绍了传统的面向标识的访问控制模型和当时的各种防火墙技术。为避免对网络攻击技术的直接介绍,课程从网络安全监测的视角来介绍网络的攻击与防御技术,重点介绍了网络入侵检测系统IDS的相关技术,而应急响应技术则作为网络安全管理的内容。在互联网基础设施安全方面,课程介绍了DNSSEC、IPsec和TLS。出于课程内容规模和作者能力限制,有关计算机病毒的问题最初并没有在课程中涉及。随着恶意软件的发展及其危害的日益加剧,教材的第二版(2007年)中加入相关的内容。
由于东南大学网络空间安全学院本科课程建设的需求,作者对国内外网络安全课程的教学内容进行了粗略的调查。从今天的眼光看,除去技术进步的影响外,我原本为计算机科学与技术专业研究生开设的这门课程的内容设置大体上还是合理的,能够反映网络安全领域的主要内容和主要需求,当然也有部分内容受自己的知识面和偏好的影响,未尽合理。但是对于网络空间安全专业的本科生而言,这门课程的内容就显得不够合理,过于宽泛。这个结论是基于我对目前国外(以美国一些高校为例)和国内的网络安全课程内容的调研。
国内外高校网络空间安全学科课程设置情况
UC伯克利大学
为本科生开设的网络安全课程(教师是著名网络安全专家Vern Paxson)所覆盖的内容包括:网络安全的基本概念(安全原则、攻击的基本形式、安全防御),Web安全,信息安全(数据加密、完整性保护、鉴别、密钥管理),网络攻击与检测,网络基础设施安全,恶意代码等。这个课程没有提及访问控制(即授权)和计算机取证学方面的内容。
卡内基·梅隆大学
为本科生开设的网络安全课程所覆盖的内容包括:网络安全的基本概念,基础设施安全(IPsec、SSL、SDN及其安全问题、路由安全、NIDS),网络攻击(DoS/DDoS、蠕虫和攻击图),面向用户的安全问题(DNS安全、匿名通信、内容(censorship)监测与逃逸),分析与推导(潜通道、网络取证、攻击经济学),新技术(下一代网络、无线网络)。这个课程内容的组织是比较有特色的,基本都是围绕网络安全领域的主要问题(除了最后一部分)。
佐治亚理工学院
为本科生开设的网络安全课程(教师是著名的网络安全专家Wenke Lee)所覆盖的主要内容包括:大规模攻击及其影响(DDoS、恶意代码传播、黑产),渗透测试与安全评估(包括社会工程方法),互联网协议中的安全(TCP/IP的漏洞、DNSSEC、BGP安全),Web安全,恶意代码分析,僵尸网络检测(BotHunter和BotMiner是他们的成果),互联网范围的威胁分析(Z-Map,域名和网络信誉),数字货币,大数据和安全(机器学习方法在安全分析中的应用),云安全(知识产权保护,虚拟机安全),攻击容忍系统(秘密分享、拜占庭容错系统,容侵系统)。这个课程内容设置的特点是比较追求对前沿发展的介绍,并与自身的科研工作结合,内容基本集中在网络安全领域,对信息安全和系统安全的内容涉及较少。
斯坦福大学
为本科生开设的网络安全课程所覆盖的内容包括:网络安全的基本概念(安全漏洞,安全系统的设计原则),Web安全(含密码学的基本概念和用户认证的基本内容),网络安全(TCP、DNS和路由的安全,防火墙、IDS和VPN等网络防御工具,服务失效攻击,系统安全改善工具等),移动平台安全(移动平台安全模型,移动威胁与恶意代码)。这个课程的设置主要围绕网络安全领域的内容展开,强调了移动平台的安全性内容,基本不涉及信息安全和系统安全的内容。
密歇根大学
为本科生开设的网络安全课程所覆盖的内容包括:基本概念(安全思维,密码学和数据完整性保护的基本算法,密钥管理,TLS),软件安全(漏洞、恶意代码、安全测试与工具、虚拟化、沙盒和OS级防御),Web安全(含黑产和应急响应的内容),网络安全(TCP和DNS安全,防火墙、VPN和IDS,服务失效攻击与防御,无线与移动设备安全,数据隐私、匿名与监测)。这个课程内容的设置中,关于数据隐私部分的内容具有特色。
上述这些学校均是在网络空间安全领域研究方面处于国际前沿且具有较大影响力,有些任课教师更是本领域的国际知名学者。这些学校所开设的网络安全课程有一个共同的特点就是将课程内容基本集中在网络安全领域内(除少量密码学的基本概念外)。由于这些课程都没有指定的教材,因此在教学内容上形成了不同的特色和侧重点。美国一些其他采用了指定教科书的高校(例如西北大学、伦斯勒理工等),所开设的网络安全课程则在内容上比较一致,信息安全、网络安全(网络攻防)和系统安全(鉴别与授权)均有涉及,且信息安全(密码学)方面的内容更多一些。
国内本科教学的模式比较固化,不允许出现没有指定教科书的情形,因此网络安全课程的教学内容整体上反映在教科书的内容上。据不完全统计,从2000年到现在,国内出版的各类网络安全教材超过20种,不少经历了二版或三版的改进,其中2004年和2011年出版改版)的教材相对较多[1]-[20]。纵观这些教材,一些公共的内容包括数据加密技术、网络攻击技术、防火墙技术、网络入侵检测技术、网络安全管理技术等。有些从应用的角度介绍安全机制和服务,例如电子邮件安全、网站安全、数据库安全等[3][6][10][17]。[2]和[9]则花费较大篇幅介绍风险管理。由于教科书的内容通常相对滞后,相信课堂教学的内容会更新颖一些。但总体看来,这些网络安全教材对于网络基础设施安全(例如路由安全、云安全)、恶意代码分析、隐私保护等方面的内容偏少偏弱。
现有的网络安全课程基本上是针对计算机科学与技术专业和信息安全专业的学生,相关课程内容或者比较为宽泛,或者对实践性的内容更为强调,例如专门针对网络攻防技术开课。对于网络空间安全专业的学生而言,对课程内容的深度和系统性应有更高的要求,目前的课程内容不太符合培养要求。如果将网络安全课程视为专业选修课,例如计算机科学与技术专业,其目的是作为满足学生扩展知识面的要求,则较为宽泛的内容设置是合理的,用一门课程涵盖所有所需内容。但是对于网络空间安全学科而言,网络安全是专业必修课,用这样一门课来涵盖如此多的内容,则显得宽度有余而深度不够,因此课程的内容设计和与其他相关课程的关系需要重新考虑。
网络空间安全学科设置
网络空间安全学科将网络安全、数据安全、系统安全、应用安全等视为不同的学科方向,这一点在相应的课程设置上应当有所体现。以安全功能载体作为分类对象是不合理的,例如按电子邮件安全、操作系统安全、数据库安全、Web安全等来划分教学内容,会导致基本概念和基本方法介绍的重叠。因此,数据加密方法、密钥管理、消息摘录函数、数据完整性保护方法(例如数字签名)等内容应当放在信息(数据)安全课程中介绍,这类课程往往也称为密码学或应用密码学课程,已经有较多高校开设,且国内外均有教材出版。安全系统设计原则,安全评估(包括等保)、可信计算、系统的鉴别(认证)和授权(即访问控制),云安全等内容宜安排在系统安全课程中介绍。系统安全课程目前极少有高校作为独立课程开设,因此需要重新建设。网络链路层、网络层、传输层的安全问题应当成为网络安全课程的主体,包括接入安全问题,移动环境安全问题,TCP/IP协议的安全问题,路由安全问题,网络攻击与入侵检测,防火墙与蜜罐,DNS安全,数据隐私保护,匿名与监测,僵尸网络与黑产,网络安全管理与应急响应等内容。恶意代码分析的内容可以独立开课,或放在系统安全课程中介绍。信息安全、系统安全和网络安全课程都应该安排配套的实验课程和/或课程设计等实践课,以分散安排原理性内容与实践性内容的教学。从教学顺序看,由于网络安全和系统安全均涉及密码学的一些基本概念和方法,而系统安全课程需要涉及网络攻击与防御的一些概念和方法,这三门课程的教学顺序应当是信息安全、网络安全、系统安全。有些安全方面的基本概念对上述三门课程都是适用的,例如安全的基本目标CIA(机密性、完整性和可用性),因此可以考虑在网络空间安全专业本科大一上学期开设一门新生研讨课,来介绍这个学科的起源和相关的基本概念,以解决上述三门专业课的共同基础问题。
作者在东南大学长期给研究生讲授网络体系结构(一门计算机网络高级课程)和网络安全课程,深切体会两者之间的密切联系。没有对计算机网络概念和方法的良好掌握,对于网络安全课程的学习是很不利的。很重要的一点是,网络安全课程对计算机网络课程以及操作系统课程的细节(包括实践)要求较高。网络攻击源于对安全漏洞的利用,而安全漏洞的产生往往是来自对某些细节的利用。不掌握这些细节,则会给网络安全中的概念讲授或学习带来困难。例如要理解TCP的隐形扫描方法,需要了解TCP端口的响应规程和TCP序列号的变化规程。但是在计算机网络课程中,对TCP的介绍重点通常是滑动窗口机制,然后是拥塞控制机制。这个例子表明对于网络空间安全专业的教学而言,这些相关课程(包括操作系统课程)之间应当有意识地加强概念之间的联系,而不是将计算机专业的课程照搬过来。顺便提到,由于计算机网络技术的发展很快,因此教材建设是相对滞后的。目前很多高校的计算机网络课程内容与现行教材之间已经有了较大差别,这也给网络安全课程的教材建设提供了参考,在缩短教材的更新周期的同时,要降低对单一教材的依赖性。进一步地,网络安全和计算机网络领域的实践经验对于网络安全课程教学效果有重要影响,对于网络安全课程教材的编写则更为重要。要做到理论与实践的均衡,需要时间的积累。
计算机科学与技术学科是一个发展迅速的学科,课程内容的更新相对于一些传统学科领域节奏要快很多,三十年前我的一位导师曾经对我说,选择这个学科是“不幸的”。今天看来,网络空间安全则是一个更为“不幸”的学科。因此早在上世纪九十年代中期作者开始开设网络安全这门课时,就确定了以介绍概念和框架为主的基本思路,避免对技术的罗列和细节展开。对教科书的编撰也应遵循这个原则,避免写成技术手册或百科全书。考虑到本科生与研究生之间接受能力和专业基础的差别,细节介绍的尺度把握需要更多的实践体验。
(龚俭,作者单位为东南大学网络空间安全学院)
本文刊载于《中国教育网络》2018年5月刊
声明:本文来自中国教育网络,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。