选课类别:计划 | 教学类型:实验课 |
课程类别:本科计划内课程 | 开课单位:网络空间安全学院 |
课程层次:专业核心 | 学分:1.0 |
本门课程自2022春起进行改革,摒弃了之前课程所采取的形式,由学校Nebula战队成员作为助教团队,以CTF各模块(web、密码学、逆向、二进制、杂项)的单元实验为主的实验课程.旨在培养同学们的信息安全实践技能而非照着模板编写报告的能力。相比之前对着实验文档复现结果的方式,这种方式更加能够锻炼同学们的思维能力和代码能力。除了网安的同学,欢迎其他想要体验所谓“黑客”技术实践的同学参与本课程。附上本学期课程平台截图:
关于任务量:2022春任务量较大,但部分题目为选做(选做题目加分占比小于必做题目)。课程团队会在此后的课程中继续改进课程任务,也感谢2022春各位老师助教和同学们的辛勤付出!
关于给分:老师多次说过不会为难同学们。但对成绩有较高要求的同学,确实需要较多精力完成任务。且对于完成度较高的同学,学校信息安全战队将考虑发展为预备队员。
关于你能学到什么:网络究竟在做什么?;怎么写请求脚本在教务系统上抢课(划掉,切勿尝试,助教付出了惨痛教训);怎么在”找到你能找到的最大质数“比赛中获胜?;如何针对现有密码体制(RSA,AES,椭圆曲线加密等)构造精密的攻击?;如何逆向一个小游戏来在游戏中作弊(仅供娱乐,且以单机游戏为示例)?如何在一张图片中隐藏你要传递的信息?;怎样构造非法输入使得程序崩溃?...
最后,感谢NEBULA战队的同学们一学期的辛勤付出!
编辑于2022.06.30,by 课程助教xl
利益相关:信安实践I级 导论部分、Web大部分题目的出题人,平台运维之一,同时也是助教。
为了来点评两句,我今天专门注册了账号(笑 已经有别的助教在底下发分数分布了,我就不发了。但是还是简单说两句,平均分85.5,中位数83。我觉得这已经是在教务处规定的40%优秀率下能争取到的尽可能大的努力了。然后我想分享一些最后一次课我通过撒糖贿赂到的一些问卷(bs 来从学生的角度看看这门课的情况以及存在的问题,如果有不太客观的地方,也请多指教。
总共收集到匿名有效问卷 16 份。考虑到最后一次课大家着急复习第二天的考试,这也很合理。
第一题侧重对题目难度的考量,我们发现有一半的同学觉得难度适中。当然也有很多同学选择了偏难,由于样本数量不多,我倾向于存在一些偏差,我们的课程设置可能是稍微有一点难度的。
第二题,侧重于本课程对同学们的吸引力程度,因为我们希望知识,至少在实践课程——并且是学习安全的实践课程上——不再是冷冰冰的,我们希望它们拥有吸引人学下去的魅力,从反馈的情况来看,我们做的还不错,也希望在后续课程开展的过程中可以继续把知识放在安全的架构中,赋予它们具体的场景,让人能更直观的了解到网络安全学科在做什么、要怎么做。
第三题,考察同学们对本课程学分的满意程度。这样的反馈是在意料之中的。在设计这道问卷题目的时候我就考虑到了学分和精力匹配的问题,虽然目前来说这属于没办法改变的因素,但我还是在下一道题目中让同学给出了自己对这门课的期望学分。
第四题就是同学们期望这门课的学分了,可以看到,大部分同学是希望这门课可以加到两学分以上的。如果写在这里会被教务处有关老师看到的话,希望可以考虑给这门课加一点学分。我觉得实践课才真的能凸显网安的本质,从这个方面来讲,这可能是科大网安开设的最像网安的一门课了。当然如果没办法争取到学分的话我们明年可能也会考虑进一步拆解或者通过公选课的方式做一些前置,这都是后话了。
第五题是填空题【你觉得这学期各个方向课程安排合理吗,如果不合理,有没有什么好的建议呢?】
在16份有效问卷中,有13人认为很合理或者比较合理。有三个人提出了自己的看法。第一个同学建议多给一些例子或者案例,在第一次做相关题目时会无从下手。第二个同学认为这门课比较浅尝辄止,东西有点杂,不好深入;第三个同学说这门课有点杂,但"也没办法"。
这三个同学的看法都很合理,也指向了我们存在的一些问题:如何在时间有限的情况下去把握好广度与深度?如何做到例子与题目之间的平滑过渡?这可能都是我们接下来需要重点优化体验的部分。
第6题依然是填空题【你认为哪个题目出的最好?为什么】
这道题目的回答里,有4人觉得都挺好,一人补充说明不希望出现故意拖延时间加大工作量的操作出现。有6人认为web题出的不错,原因则五花八门,如“比较简单”、“有趣”、“是gwgg主讲捏”。有4人觉得密码学部分学到很多,原因如“有意思”、“刚好应用所学”等,还有一位同学认为密码学类型转换有点坐牢。另一位同学认为数据挖掘里的猫咪问答很有意思。关于这题我将和下题一起分析。
第七题为多选题【最喜欢的单元实验】和上题比对发现,同学们认为web和misc有趣的原因,我猜测大概是因为比较容易上手并且相对容易理解,并且助教比较会整活(bs)。这也是我们助教团队在开课之前就定下的基调:对于一级的同学要多一些比较直观容易理解的知识。同学们认为crypto有趣的原因是结合了刚学的密码学知识,有一种学到的知识落地的感觉。相比较而言,re和pwn涉及一些底层知识,索性pwn这次就没放入一级。re彪哥出的题目还是很平易近人的,并且只要做了必做部分都不会为难大家,趣味性上可能以后可以考虑包装一下。至于一些细节问题,比如上文提到的类型转换、加大不必要的工作量等情况,部分题目确实可能会出现,在以后的出题审题过程中我们也会更加注意和小心,尽量减少这类情况的发生。
第八题【你对以后出题有什么建议吗?(方向/背景/细节)】
这道题是选填题,只有两份同学的问卷,其中一位说希望加一些应用实例讲解,软件不会用做题没思路。另一位同学说建议介绍点ctf的相关背景知识。其实两位都是在说难度梯度的问题,这个问题上面已经讨论过了,我们以后也会更加注意。
第九题【你觉得这学期助教的工作做的如何?有没有可以改进的地方?】
这道也是选填。有4份有实际意义的回复。两人说助教们真的很棒,一人说建议多出一些视频讲解,讲义学习效率低。还有一位同学举例了一个助教有些敷衍的例子。这其实也折射出我们的一些问题。这门课,算上正规不正规的助教,加在一起有至少8-10个人(当然去线下的人会少很多,群里答疑的大概这个数),7:1这样的学生助教比我觉得整个科大都少见。但是依然存在了一些问题,我在线下去跟同学们查找原因的时候有时候也会很头大,因为有可能自己做了题目但是从来没出现过类似的情况。我认为这是因为助教们水平都比较高,做自己方向的题目验题当然都不会犯低级错误。所以我觉得今后可以让不同方向的助教都相互交流一下做题的时候遇到的问题,以及在当助教过程中被问到和解决的问题,这样可以减轻很多重复工作量。另外就是视频这个事情,这个暑假在进行战队招生宣传的过程中我们也会录制一些视频,供下一届的同学参考。
第十题是个比较开放的话题【你对工作量和学分不匹配的现状有没有一些自己的建议?】
收上来的回答也都很有意思:有激进派对教务处提出热切的问候,有躺平人直接开摆,也有人建议多提供思路和演示,这个问题我们也探讨过了。
最后一题 是对课程未来的展望
有激进派希望扩充这门课的内容换掉量子物理,有改良派希望参考别的学校网安设计、增加学分、简单一些,有技术咖希望探讨如何黑掉健康打卡系统,还有人担心抄袭和复刻操作的问题...
前两个上面已经讨论的很多了,这里不表。关于黑掉打卡系统/教务系统抢课,我觉得这个东西是上不了讲台的你知道吧,但是我们上课讲到的知识绝对够了,可以留作思考题...(大雾 还请不要尝试x
抄袭和复刻操作确实会存在,我们的态度目前是,直接的抄袭答案发现之后是会严肃处理的;但如果确实是一步一步做下来,可能每一步都和别人进行了交流,即使是这样ta也(可以选择)在交流的过程中学到知识。当然在后面的课程中我们也会针对这个问题做调整,比如随机挑选一定比例的人某次某题提交题解等等。
一写就写到深夜了,时候不早了,我也该去休息了。我给这门课打8分,是因为我觉得不吹不黑,我们确实有做的不足的地方,需要未来的课程去填补。这是我在科大第一次当助教。身份的转变带来的是思考问题角度的变化。我常常想,除了分数,还有没有什么别的方法,可以满足尽可能多同学的需求,尽可能让他们满意。同学们都很热情的在学习这门课程,虽然到中后期可能因为时间紧张和学分不匹配的问题没有前期这么积极,但我们助教也一直期盼着能给大家最舒适的环境来呵护这团热情之火,也希望每一位同学都能藉着这一团原始的热情,去在网络安全领域闯出自己的一片天地。最后祝这门课能越办越好。
(课程简介作者评课)
助教团队会再接再厉!出分后在这里附上成绩分布截图。
--------------
关于任务量:2022春任务量较大,但部分题目为选做(选做题目加分占比小于必做题目)。课程团队会在此后的课程中继续改进课程任务,也感谢2022春各位老师助教和同学们的辛勤付出!
关于给分:老师多次说过不会为难同学们。但对成绩有较高要求的同学,确实需要较多精力完成任务。且对于完成度较高的同学,学校信息安全战队将考虑发展为预备队员。
关于你能学到什么:网络究竟在做什么?;怎么写请求脚本在教务系统上抢课(划掉,切勿尝试,助教付出了惨痛教训);怎么在”找到你能找到的最大质数“比赛中获胜?;如何针对现有密码体制(RSA,AES,椭圆曲线加密等)构造精密的攻击?;如何逆向一个小游戏来在游戏中作弊(仅供娱乐,且以单机游戏为示例)?如何在一张图片中隐藏你要传递的信息?;怎样构造非法输入使得程序崩溃?...
最后,感谢NEBULA战队的同学们一学期的辛勤付出!
编辑于2022.06.30,by 课程助教xl
听说科大有用 CTF 为背景的信息安全课了,来推荐一波改革后的这门课。计算机是实践性很强的一门学科,讲太多的理论没有意义。我是做计算机网络和系统方向的,很多学生在面试的时候都说计算机网络非常无聊,需要背诵很多概念,这就是课程设计的问题。计算机网络本来应该是一门实战性很强的课程,自己维护过实验室/机房网络、搭过网站的就是不一样。CTF 就是实战的一种很好的形式,所谓 “不打不相识”,CTF 是在受控的模拟环境下折腾网络和系统。
CTF 是计算机知识的系统演练,计算机专业的所有专业核心课程都能在 CTF 中找到踪影,比如操作系统、组成原理(体系结构)、数据库、网络、密码学、图像处理等。CTF 水平高的同学,计算机基础肯定是很扎实的。同时,CTF 实战中能够学到很多工具的使用方法,熟悉 Linux 系统的基本操作。
不过这门课的学分有点少,只有 1 个学分投入的时间精力肯定不够,建议增加到 2 学分。
镜像课程:https://icourse.club/course/20035/
我觉得这就是网安学院的特色吧,整个网安学院每一级只有一个班级,大家全是同一个专业,因此就能形成一个高度紧密的小团体,能够形成一种高度互帮互助的氛围。
这一门课虽挂着吴老师的名字,然而实际上完全是全权由助教负责的一门实验课。
课程内容就是每一周去做助教布置的习题内容,也就是CTF中不同的分支方向的初步涉猎。
客观来讲,我认为助教是非常非常非常负责的,尽管只有一个学分的课程,可以看到助教对这项工作也是非常热爱的。
这门课可以很好的反映网安学院的特色,要不是这门课,量子物理学得我差点就要忘了我是网安专业的了。
对于我个人来讲,除了web,剩下几乎是以前从来没接触过的内容,不同的内容方向让我拓展了很多知识,也几乎是第一次在计算机上做这种类型的工作,确实蛮新奇的。
课程难度确实也是很高,如果没接触过,想独立完成一道题是很困难的,所以一定要找一个靠谱的同学一同交流,如果有困惑也要及时问助教,要不很容易形成负反馈,直接开摆,等到周末糊弄糊弄就过去了。
课程内容几乎是本学期唯一一门勉强能称得上有趣的课程了,这门课总体来讲给人感觉很愉悦。
期待(II)课程的内容
不谈给分,毫无收获,每节课要做一堆实验,除了前几节课稍微有点意思,其他的都是依样画葫芦,都不用动脑子。还要写一堆报告,p用没有,p事一堆。想拿高分的报告多写一点。我报告懒得卷字数,自然就没有优秀。本来想打1分的,看在涛哥的面子上打2分。
发展中的课程,挺锻炼网安基础能力。