计算机安全通识课程的思考与实践
2019-08-07杨德全
杨德全,张 剑
(1.北京理工大学 网络信息技术中心,北京100081;2. 北京理工大学 管理与经济学院,北京100081)
0 引 言
随着互联网+与各个传统行业的深入结合,信息化和网络已经无声无息地走入教学、科研、生产和生活的各个方面。人们可以在线上进行购物、娱乐,处理多种事务,但在享受信息化带来便利的同时也面临着网络安全事件的威胁。在教学科研领域,信息化也在广泛普及,各个学科对计算机的依赖性日益增强,高校师生的电脑、移动端、云端都存储着重要的科研或者业务数据。网络安全事件带来的次生灾害具有涟漪效应,2016年,山东临沂准女大学生徐玉玉遭遇电信诈骗,将准备交学费的9 900元转入骗子账户,得知被骗后,因呼吸心脏骤停离世。一些师生在网络购物的过程中也遭到了专业的诈骗,计算机系统和云服务面临着内外攻击,具有很大的危险性。如何有效提高师生的计算安全意识,提出应对措施是迫在眉睫的事情[1]。在高校开展多形式、多渠道的网络安全通识教育,从而增强学生的网络安全理论理解能力、思维创新能力和动手实践能力是落实“网络安全为人民”的一个重要举措。
1 国内外计算机类通识教育
1.1 国际国内对计算机类通识教育的战略规划
2016年1月,美国政府推出“全民计算机科学行动计划”(computer science for all initiative),斥资40亿美元普及计算机科学教育,尤其重视推动青少年编程教育,包括培训教师、研发教材和教学资源、举办竞赛等。在美国的刺激下,英国、法国、芬兰等国家相继出台政策,推动计算机教育。英国就业和技能委员会(UKCES)发布的最新报告显示,未来10年,计算机人才将成为英国经济增长的重要推动力。
2017 年初,我国国家教育部、人力资源社会保障部、工业和信息化部联合印发《制造业人才发展规划指南》,预测到 2025 年,新一代信息技术产业领域和电力装备领域的人才缺口将超过900 万人。
1.2 高校信息安全教学环境研究进展
国外有部分科研项目关注计算机教学环境,改变计算机教学环境(游戏中学习、远程虚拟环境授课、虚拟现实环境)以期获取更好的教学效果,典型的在研项目有2个:①采用基于游戏的课程策略将计算思维引入中学(ENGAGE: A Game-based Curricular Strategy for Infusing Computational Thinking into Middle School Science),主持人 James Lester, 北卡罗来纳州立大学,在研时间 2016.08—2019.07,项目经费 $2,498,862 ;②虚拟现实系统中的网络安全教育研究(Exploring Cyber Security and Forensics of Virtual Reality Systems and Their Impact on Cyber Security Education),主持人 Ibrahim Baggili,纽黑文大学,在研时间 2017.09—2019.08,项目经费 $17,940,900[2]。
2 计算机安全通识课程大纲及教学探索
通识教育是“双一流”中培养新世纪复合型人才的教学目标重要一环。通识选修课的教学实践应以学生为主体,以教师为主导。如何在计算机安全通识课程中调动学生自主学习性、提升学生的实践水平是一个值得思考的命题。在“互联网+”时代背景下,对于所有学科包括理工、人文来说,信息安全素养与其自身专业知识同等重要,此类通识教育能为学生提供更为宽广的课程视角,进而促进其信息安全意识水平的提升,保障其财务、科研数据的安全性。
2.1 课程大纲
计算机安全通识课程内容包括计算机安全必要的基础知识和进阶的网络安全知识,具体内容包括计算机安全概况、网络和Internet 基础知识、Internet欺骗与网络犯罪、安全策略、恶意软件、黑客技术、加密基础、计算机安全软件、社会工程学、供应链安全等,每一部分占用3个学时,课程总计1个学分。在讲授过程中,教师应以实际案例为切入点,尽可能将抽象的网络攻击和防御行为具体到实践过程,达到举一反三的效果。
2.2 教学探索
网络安全理论性较高,选修计算机安全通识课程的学生来自不同的专业,动手实践能力参差不齐,教学效果难以保证,因此,在计算机安全通识教育中采用实践案例法,能较好地满足不同层次学生的需求。在实践环节,将开源的渗透测试平台Webgoat作为靶机供学生练习。针对Web应用安全,提出网络攻防的内容体系,并进行梳理,构建攻防演练实践平台。通过动态可视化的操作帮助学生理解知识点并培养学生的独立设计、独立制作、独立安装与调试等综合实验能力。
在教材教学方面,需要注意以下3方面。
(1)加强教材建设。在课程教学中,不指定单一教材,教学按专题模块进行,选取国内外优秀教材中的精华部分以及SCI数据库中的最新科研论文作为主要讲义,内容按照知识域进行编制。
(2)采用案例教学法。在模拟环境中,展示信息系统的脆弱性,将攻击行为可视化,使学生能够直观地感觉到网络安全的全方位威胁,让学生更好地理解网络攻击和防御的内涵,认识到网络安全防御的能力和面临威胁的直观态势,提升信息安全基本素养,在后续的学习和工作中学以致用。
(3)及时更新授课内容。网络攻防技术的更新速度较快,攻防双方道高一尺魔高一丈,此消彼长,漏洞也在不断地被发现和修补,因此,在授课过程中,需要介绍漏洞生命周期管理的概念,授课内容需要及时更新,主要通过翻转课堂的形式,指定命题让学生分组自主查阅相关资料,及时收集国际国内热点安全事件在课程中分享。
通过本课程的学习,非计算机专业的学生可以了解计算机安全的基本态势,有部分网络安全基础的学生可以满足自身对一些更高阶的网络安全攻击防御理论方法与实践的诉求。考虑到选课学生的专业背景差异,课程初期通过设计不同难度的攻防实验将学生选课初期的水平分为3类,即精通、熟悉和了解;以此为基础,设计不同级别的实验难度,让每一个选课的学生都有收获,让每一大类的学生均有可达到的学习目标,最终希望网络安全的学习不因课程的结束而截止。学有余力的学生可以继续学习网络攻防知识,参加CTF大赛,进一步成为网络安全人才。
3 计算机安全通识选修课的课程体系建设
3.1 网络安全知识域
文献[3]通过调研部分院校,提出高校信息安全专业人才培养应以就业为导向、着力提升领域内职业能力的方式设置课程体系,主要举措包括增加信息安全概论课程、压缩并整合部分网络协议课程、增加面向开发的课程等。国内国际产业界认可的信息安全知识域以CISSP(注册信息系统安全专家)为代表,其考核的网络安全知识域如图1所示。
文献[4—5]针对不同专业计算机网络课程的教学内容和需求差异,设计了由一般要求、基本要求、较高要求和专业要求组成的分层次课程体系。根据学生的实际应用需求设置具有不同侧重的教学体系,可以帮助学生快速掌握所需安全知识,提高学生持续学习的兴趣。
图1 国际信息系统安全认证知识域
3.2 攻防实践案例环境体系架构
3.2.1 选修课的实践模块
进行网络安全攻击和防御实践前,必须了解相关的基础概念,包括计算机网络、TCP、UDP、IPv4协 议、IPv6协 议、SMTP、POP3、HTTP、HTTPs、FTP、SSH、RDP、FIREWALL、IDS、IPS,以及1~2门编程语言。课程实践模块见表1。
通过实践模块,学生基本可以了解常见的网络安全攻击方法,可以切实了解网络攻击行为带来的危害,基本掌握常见网络攻击行为的防范技巧。
3.2.2 项目学习的过程实践
研究项目学习活动包括获取任务、知识输入、知识内化和知识输出4个步骤。网络安全攻防实验需要大量的时间投入,搭建一个实际操作的环境可以扩展学习的时间维度和空间维度,使学习行为可以不局限于课堂和教师,从而使学生在一个学期的时间内尽可能多练习、多实践。以WiFi攻击为例,项目学习的实践过程如下。
获取任务阶段主要是将学生分组引入实验环境,完成任务感知,设计题目为搭建一个高仿校园SSID,收集连入该SSID的电脑或者移动端流量信息。
知识输入阶段以网络资源、图书馆资源为主,学生在教师的指导下进行实验软件的准备。在该项目中,实验准备仅需要下载一个可提供热点服务的第三方软件,并将SSID名称设置为与现有SSID高度相似的名称,并开始服务。
表1 课程实践模块
知识内化阶段包括若干个子任务,包括无线网络基本概念、网络IP地址基础知识、热点的实现机制、SSID、无线加密、无线认证等在案例中使用的知识的学习,每一个小组成员均分担项目组的不同任务,学生在团队实践中互相学习,从而大体掌握该项目所涉及的基础知识。在实践的过程中,学生可以直观地观察到“蹭网”的危险性,并从原理上理解“蹭网”可能带来的损失。
知识输出阶段要求学生在掌握了实践过程后,按照操作步骤写出整体的实验报告。整个项目式教学能将基础知识融于实践操作中,有助于学生的理解和掌握。通过该案例的教学,学生基本可以做到不“蹭网”,消除安全隐患。
3.3 部分教学案例模块
3.3.1 法律教育
《中华人民共和国网络安全法》由全国人民代表大会常务委员会于2016年11月7日发布,自2017年6月1日起施行。该部分重点在普法教育,让学生有法律意识,能保护自己,避免触及红线。
3.3.2 SQL注入
SQL注入是攻击常用的手段之一。了解攻击原理可以有效防范类似攻击。一些信息系统的登录模块不设置有效验证。在登录页面输入特殊意义的字符串即可以进入系统,非法获取数据库权限,并可以进行增、删、改、查等操作。对学生而言,成绩管理模块尤其能获得关注,能更有效地引导学生掌握该知识点。实验原理如下:
在登录用户名处提交“’or 1=1--”,则在后台验证SQL查询语句代码如下:
select cout(*) from user where username=‘’or 1=1--and password=‘’
这种情况where语句就成为重言式,数据库仅返回数据,从而避开验证[6]。该部分内容注重原理的讲解,数据库的知识点是该内容的必要基础知识点。
3.3.3 弱口令
常见的弱口令包括admin、123456、123qwe、1qa2ws等,在互联网上仍有不少的重要系统采用默认的口令。在课堂上展示黑客具有的密码字典,并作现场破解演练,在实践环境中让学生进一步明确弱密码带来的危害,尽量不在不同的信息系统中采用同一套用户名和口令,设置带有数字、字母、下划线等特殊字符的密码。
3.3.4 在线攻防
在教学环境中架设带有漏洞的服务器靶机系统,供学生实践。靶机系统具有一些已知的CVE漏洞,这个模块考查学生利用已有工具进行渗透测试的能力。使用一个简版的CTF攻防大赛的系统让学生尝试解题,可以通过这样的方式弥补学生的知识短板。
3.3.5 DDoS攻击
拒绝服务攻击对于一些商业网站来说是无法抵御的,抵御DDoS攻击只有“兵来将挡,水来土掩”,不断提高服务器的响应能力以及封禁非法请求的源地址,及早发现疑似攻击并阻断攻击源。在教学过程中,可以采用原理讲解、模拟操作的方式让学生理解该攻击的危害性。
3.3.6 攻击数据挖掘
该部分内容是高阶内容,课程提供一段时期的安全设备日志,供有余力的学生基于该日志作数据挖掘和趋势预测,本部分内容属于选修部分。数据挖掘和机器学习是当今的研究热点,有部分学生具有机器学习的背景知识,这样就可将网络安全和机器学习对应起来,拓展网络安全的研究视角。
4 结 语
计算机安全和网络安全知识对于非计算机学科类的学生尤为重要,不经意的个人信息或者关键科研信息的泄露会造成重大损失。增强高校师生的网络安全通识教育,开展安全案例实践教学,引导学生强化网络安全意识等,对高校毕业生理性就业和高质量就业有着重要的现实意义。本科生的网络安全教育要常抓不懈,在以后的科研活动或者生产工作中,信息安全意识往往会有重大的影响。将信息安全置于通识教育中意义非凡,有利于提高国民整体的信息安全水平,所谓网络安全为人民,网络安全靠人民。