网络攻防课程建设经验探讨
2019-12-05贾忠田
贾忠田,刘 悦,张 波
(济南大学 信息科学与工程学院,山东 济南 250022)
0 引言
近年来,随着物联网、人工智能、云计算、大数据等高新技术产业的兴起,人类社会正在步入一个万物互联的新时代。无论是社会生产还是日常生活都与信息网络密不可分,网络安全受到了前所未有的关注与重视。习近平主席指出:“没有网络安全,就没有国家安全。没有信息化,就没有现代化[1]。”2015年6月,教育部批准设置了“网络空间安全”一级学科,为我国培养网络安全人才提供了有利的条件。网络攻防课程作为网络空间安全相关专业的一门核心课程,涉及计算机、通信、数学等多个学科的知识,其知识体系缺乏科学的归纳与提炼,可用的参考教材相对匮乏。因此,怎样组织网络攻防课程的授课内容、选用什么样的教材、课程教学实验如何设计以及怎样确保课内学习的技术能够解决实际的网络安全问题等,都非常值得我们深入研究与探索。
1 网络攻防课程教学面临的挑战
网络空间安全是一门全新的学科,一般认为网络空间安全应该包含密码学、网络安全、系统安全、内容安全以及信息对抗等五大方向的知识内容[2]。其中,网络安全最贴近人们的日常生活,平时在日常生活中见到的网络钓鱼、电信诈骗、QQ盗号、蠕虫、木马等技术都属于网络安全的范畴。因为这类技术具有较强的实用性和挑战性,所以网络攻防类课程成为最受学生欢迎的网络安全类课程之一。但是,目前该课程的知识体系与理论支撑仍在探索之中,怎样建设好网络攻防类课程成为网络空间安全专业亟待解决的重要问题。
1.1 教学知识结构的设置问题
网络攻防课程知识结构的设置没有现成的案例可以参考,它不像传统的计算机课程那样具有非常成熟的知识体系。因此,网络攻防课程需要在课程建设过程中,根据社会对网络安全技术的需求不断总结和积累,形成适合本校培养计划的课程知识体系。通过对国内本科院校相关课程的调查分析发现,网络攻防课程涉及的知识面大同小异,基本上都包括信息的收集、口令破解、Web安全、网络欺骗、日志清除、逆向工程、社会工程学等,但是对知识体系要求掌握的程度却有很大差别。虽然都是网络攻防课程,但是该课程可能属于不同专业的不同学期,其培养目标、前导课设置、师资情况也不尽相同,因此,在课程知识结构与学时安排上都有很大的区别。济南大学暂时没有网络空间安全类专业,而是借助网络工程专业的优势,在其下设置了网络安全方向[3-4],从2005年起就陆续开设了应用密码学、PKI原理与技术、网络安全协议、防火墙与入侵检测、网络攻防技术入门、网络信息对抗等相关网络安全类课程群。其中,应用密码学、PKI原理与技术、网络安全协议等课程主要从密码学应用与工程技术角度组织课程知识点,结合实际的密码应用系统组织教学过程[5];防火墙与入侵检测技术结合网络规划与设计、网络管理等课程进行知识体系的设置;对于涉及跨度广、实践性较强的网络攻防课程,如何根据网络工程专业自身的特点以及本校的专业积累设计合理的教学内容具有一定的难度。
1.2 教材的选择问题
教材的选择是一门艺术,合适的教材不仅能节省教师的精力,而且能够给广大学生带来学习的快乐。以清华大学出版社、机械出版社、人民邮电出版社等出版社为例,每年都有不少网络安全类教材出版或者再版,教材的名字繁多,诸如计算机网络安全、网络信息对抗、网络攻防技术等,单从名字上看,这些教材基本上能够满足不同培养方案里的课程名称要求。但是如果从教材的内容细分一下,却不尽然。不同教材的侧重点不同,例如,有的教材侧重协议分析,有的侧重Web渗透,还有的教材侧重代码分析,等等。如何在众多的教材中选择适合本校网络工程专业的网络攻防教材,培养具有本校特点的网络安全人才是一个值得研究的问题。
1.3 课程实验的组织问题
网络攻防课程实验操作性强、难度大,具有一定的破坏性。如果全部按照相关教材上给出的实验方法,搭设网络攻防实验存在一定的困难与不确定性。实验对系统的环境要求比较敏感,按照教材上给出的方法与步骤不一定能够搭建成功,即使搭建成功,也不一定能够得出预期的实验效果。当然,市面上有不少网络安全教学实验平台可以选择,但是这些平台最大的问题是与教材的契合度较低。一方面,课程涉及到的理论问题,无法在实验平台上得到有效的验证,另一方面,实验平台上提供的实验缺少合适的理论支撑。因此,如何根据网络工程专业学生的基础设置切实可行的实验方案,是另一个非常值得研究的问题。
2 网络攻防教学的具体措施
2.1 教学知识结构的设置与改进
济南大学在2011年秋季学期首次在网络工程专业的大三上学期开设网络攻防课程,计划总学时48学时,其中理论课32学时,实验课16学时。教学知识内容包括:网络协议、安全风险与评估、Web安全、网络欺骗、蜜罐技术、安全策略、安全网络设计等知识点。经过3届学生的学习与探索,发现网络协议部分与其他课程重复度较高,网络风险与评估部分可操作性较差,安全网络设计部分缺少可验证性的实验支撑。因此,笔者于2014年对教学大纲进行了调整,去掉网络协议、网络风险与评估、安全网络设计等教学内容,增加Web攻击与防护,重点讲授SQL注入、PHP注入、XSS攻击等相关理论与技术,增加缓冲区溢出攻击与逆向工程,计划学时调整为64学时,其中理论学时与实验各占32学时。这种教学内容经过两届学生的实践,发现突出的问题是教学内容与课程实践平台脱节,因为这个阶段学校引进了商业版本的网络攻防实践平台,实践内容比较丰富,但是很多实验缺少理论铺垫,学生无法应对实践问题的变化,而且重点不突出。针对这个问题,我们于2016年对教学内容和教学过程做了大幅调整。一方面,根据网络安全生态中对Web安全与逆向工程的刚性需求,增加了Web安全与逆向工程的学时。同时带领学生开展课后实践,组织学生参加各种网络安全技能比赛,参与各种网络渗透测试实践,组织网络安全技术沙龙,进行网络安全技术大讨论。另一方面,结合学校商业版本的网络安全实践教学平台,编写相应的理论内容,使每一个实践操作模块都具有相应的理论支撑,解决了网络攻防类课程理论教学与实践教学脱节的问题。在授课过程中,充分利用网络安全专业实验室的硬件条件,理论课与实践课交叉进行,先讲授一节理论课,接着进行实践操作,做到了理论与实践的有效结合,产生了较好的教学效果。上述3次教学内容改革的详细情况见表1。
2.2 教学参考资料的选取
在教学参考资料的选择上经历了3个阶段,2011年刚开设网络攻防课程时,市面上的教材相对还比较匮乏,主要参考资源是一些“**黑客技术内幕”“**技术大曝光”等技术类图书资料。但是,这些资源作为技术参考资料尚可,作为大学生的课程教材还有些欠缺。经过对相关教材的调研,我们最终选择了肖军模主编的《网络信息对抗》作为学生用书,同时选用贺雪晨编写的《信息对抗与网络安全》作为参考教材。经过两年的使用,发现教材内容与我们的培养目标存在一些偏差,例如,对于密码学部分与网络协议部分,学生已经在其他先导课程里有非常深入的学习,信息战与电磁战部分偏离了我们的培养方向。因此,在2014年秋季学期,我们选用了诸葛建伟老师编写的《网络攻防技术与实践》作为我们的主要参考教材,主要讲解网络信息收集、网络嗅探、网络协议攻击、操作系统的安全(口令破解、安全策略)、恶意代码、缓冲区溢出、Web安全、逆向分析等。实践发现,诸葛建伟老师编写的《网络攻防技术与实践》教材理论扎实,可操作性强,与网络安全生态结合度好。但是,该教材对学生的计算机基础要求很高,对于地方性本科院校的学生来说难度偏大。因此,我们参考诸葛建伟老师的教材,结合学校商业版本的实践教学平台,重新组织了理论课件,课件只讲述实践教学平台中涉及的相关理论,省略难度较大的部分。同时,突出Web安全与逆向工程,增强所讲内容的实用性。
2.3 课程实验的不断改进
实验可以帮助学生加深对课堂理论的理解,帮助学生掌握所学的技术,提高学生的动手能力。对于网络攻防课程这样要求动手能力较强的课程来说更是如此,能否通过实验掌握课堂讲解的攻防技术,直接影响学生的学习兴趣和对知识的掌握程度。2011年秋季学期开设网络攻防课程时,学校缺少相应的实验条件,对于攻防实验处于摸索期,选用的实验环境是WebGoat。WebGoat是一个免费的Web漏洞测试平台,对于Web安全来说是一个比较理想的实验环境[6]。实践中,我们主要对XSS脚本攻击、Web访问控制、Web的线程安全、隐藏字段、弱会话cookie、Sql盲注、失效的HTML注释等进行实验,训练学生掌握Web渗透与防护技术。随着对网络攻防课程的不断建设,我们在2012的实验中增加了Back Track(现在已经发展成为一个独立的操作系统,称为Kali Linux)实验,包括端口扫描、漏洞利用、拒绝服务攻击、无线局域网口令破解、缓冲区溢出等实验。2013年秋季学期,学校引进了商业版本的网络信息安全实践教学平台,实验内容更加丰富,实验过程更加简便,这给网络安全实践教学带来了极大的便利。结合教学大纲的修订,课程实验选用信息收集、口令破解、Web安全、网络窃听、日志分析与清除、安全策略、恶意代码、缓冲区溢出、逆向工程等实验模块。截至目前,理论教学与实践教学主要围绕上述实验模块展开,重点培养学生的Web渗透测试与逆向分析能力。
2.4 以赛促教的评价模式
信息技术革命推动了网络应用的巨大发展,而网络应用的正常运转需要大量的网络安全技术人才。全国各地逐渐兴起了各类网络安全技能大赛,以赛促教、以赛促学的教学模式日渐成型。限于本校的学科力量,济南大学主要关注“山东省大学生网络安全技能大赛”,该赛事由共青团山东省委员会、山东省互联网信息办公室、山东省经济和信息化委员会、山东省教育厅、山东省公安厅、山东省国家安全厅、山东省通信管理局、山东省学生联合会共同发起,山东省信息化协会主办,至今已经成功举办了6届。我们从第二届比赛开始参与,截至目前已经连续参加了5届,而且在大赛中保持了较好的成绩。较好的赛绩对于营造良好的教学氛围、激发学生的学习兴趣、促进学生的就业都起到了良好的作用。
3 结语
网络攻防课程作为济南大学网络工程专业网络安全方向的核心课程,是网络工程专业的方向必修课。经过6年的教学实践,3次教学大纲的修订,3次教学内容的改进,3次实验内容的改革,逐渐形成了以赛促教、以赛促学、赛教结合特色课程。每年有大约10%~15%的毕业生选择了网络安全工作岗位,进入国家相关部门和网络安全公司从事专门的网络安全工作。
随着社会对网络安全人才的不断增加,本校对于网络安全专业建设的投入也在加大,计划在原有网络安全课程群建设的基础上申请网络空间安全专业,设置更加丰富的网络安全知识体系,培养更多的网络安全技术人才,服务山东地方经济发展。