NKUCS.ICU
NKUCS.ICU copied to clipboard
CSSE0028 恶意代码分析与防治技术
https://nkucs.icu/#/courses/grade-3/CSSE0028
NKUCS,一个充满了「神仙」和「神仙」课程的专业,本网站旨在记录 NKUCS 的信息以及历届学生的评价
这课以前叫病毒防治,有学姐之前写过评价。这作业量已经不是偏大了,一周一个实验,每个实验二十几页报告,是我本学期面临的最“那个”的课了。不能再说了,怕忍不住说出什么恶毒言论来被管理员封了。王志是不是以为我们每周只学他这一门课啊,无语了。这届比上一届好像又多了个IDAPython,不知道21级能搞出什么幺蛾子来。祝大家好运。总之,这门课恶意确实很深,充满了恶意。所以我对这门课也充满恶意,只能给出极低的评价。 ——来自一个写报告写破防的doge
- 时间:2022FALL
- 教师:王志
- 成绩构成:平时实验+上课考勤答题50%,期末50%
内容:
理论+考试:
主要讲解《恶意代码分析实战》这本书的内容,前十几章左右吧,大概是讲到加密那里。由于已经上过汇编,中间OLLEY DBG和汇编的那几章会跳过不讲,考试中也不考。理论课内容不难,不过PPT是英文的,如果对相关单词不熟悉,可能会有一些障碍。推荐学堂在线上王志老师讲的课,那门课还叫计算机病毒,是几年前的称呼。里面都是中文的PPT和讲解。可以辅助学习。
考试主要以背诵知识点为主,其中选择题可以参考我在我那个仓库里传的学堂在线的课后题和当年16级周子祎自己找的国外选择题来参考,很有帮助,都做了基本上选择题能得满分。简答题主要以背诵为主,比如默写概念、评价某机制优缺点、写出某种恶意代码主要工作原理等等。最后大题需要一些理解,要阅读代码,但也是和书上的代码很像,只要实验做了基本上没问题,哪怕实验没做看书的时候看了书上给出的代码也基本上没问题了。在我的仓库之中,也给出了16级周子祎的一些主观题的复习资料,但是看了看也就PPT翻译+抄书,没有特别的内容。
ps: 平心而论,王志最后一节复习课给画的范围很准,基本上是考试范围的超集。但是你只听那个复习课不好判断哪些是选择题哪些是主观题。 (总而言之和汇编套路接近)
具体题型如下:
- 10道单选(和课上题以及学堂在线题类似)
- 5道多选(同上)
- 8道简答(默写)
- 记不太清了,只记得有写出几种恶意代码并说明
- 虚拟机的优缺点
- 注册表的内容和?作用?
- 提权?
- 存活机制
- rootkit(SSDT IDT)
- YARA编写规则
- 2道大题(需要阅读给出的代码然后进行答题)
- 我们这届考了一个DLL注入(主要是要对调用的那些API有印象,写出来工作流程是咋回事,为什么DLL注入)
- 一个WIN dbg?(写出哪有问题然后怎么用win dbg,好像是这样,记不清了)
实验课:
实验课任务量真的挺大的。 都是书后的实验,每周一个实验,从未间断。每次实验都二十几个小问,实验报告要写的好长,截图也要截很多。(麻了) 书后实验在网上有参考答案,可以参考。但是我们这届还要编写YARA规则和IDA PYTHON。这个网上没有参考,可以参考我的仓库进行编写。我们这届还有一个实验课小组展示,每个人都要展示一次,就是把实验报告写成PPT然后讲解。
评价:
理论课其实不难,而且其实如果对安全感兴趣还是比较好玩的。就是背诵量很大,尤其大三上整体课业压力很大。而且实验的量很大,不难,但是很烦 ~~,非常烦,烦透了。当时写的时候我心态非常爆炸~~ 。尤其是YARA和IDA PYTHON这两项,没有一个有效的正反馈,以至于后来有人在雨课堂弹幕里说:“一直停留在字符串匹配”,我认为很恰当。没有教怎么写出高效的YARA规则,这方面设计的很不好。后来因为某些需要我又自己学了学这点东西,其实知识本身还是精彩的,可惜培养计划和教学大纲设计的不好。
考试就是背诵,再稍微学学,有点对程序的理解,就足够了。给分还算不错。
总评4.0/5.0吧。
2023FALL
选择题 啥也有,乱七八糟,但不偏
恶意代码防治的目标 键盘击键记录的三种实现 内核态与用户态代码区别 五种持久性机制 隐蔽执行原理 Yara 网络防御的原理 SSDT IDT
DLL注入分析 ROOTKIT分析
恶意代码 2023FALL
by ErwinZhou
总体评价
最恶心的就是平时这个课的作业,足足有差不多13次实验报告(课本+R77的两次,最后还差点说留一个机器学习识别恶意代码的大作业?),每次内容巨多,而且最开始还一周一个实验报告,最后偶尔变成两周一个。
对于大三上的网安人来说,不值得花这么多时间,每周认真地做它的实验报告,期末也不会涉及太多内容。毕竟这学期还有编译,os,计网这些大课。。。
不过该课程是讲授Windows相关机制的内容最多的课程之一,对于了解一些Windows相关知识还是挺有用的。病毒的相关知识只是浅尝辄止,有一个大概的认识,王志老师也人很好。
平时实验分数(30%)+考勤(20%)。实验分为实验报告和一次实验展示(10分展示,尽可能做一些探索的工作,邓老师会给高一点可能)考勤记得一定要留个朋友去实验课,后面老师有时候直接就说雨课堂进入的就不计分了。。。必须扫码进,还有一次直接线下签到了但没通知所有人。
期末复习王志老师之前不知道是不是吓唬我们说期末平均分60多分,去年好像让手写IDA Python,今年难度没有那么高,所以不要被吓到。期末复习时候可以考虑集中两天速通,最后狂背然后去考,把大头留给必修课。
考试
选择(2分一个)
涉及到沙盒的缺点等。是每个选项混合很多,考的比较明显,认真看过了应该都没啥问题,不是非常细致。异或计算(给定A和a的起始ASCII码,挂起进程)。简单的Yara。
多选(2分一个)
涉及到虚拟机的优势,还有一个印象很深注册表操作的API,有的后面有Ex,有的没有。具体而言是Get没有Ex等任何后缀,Set和Open应该是有Ex,但没有W。有二选和三选,没有四选应该。
简答(5分一个)
恶意代码分析的目的
击键记录器的三种实现方式(内核1+用户2)
内核态与用户态代码区别
简单加密算法有哪三个及原理+数据识别方法
写一个Yara。涉及到十六进制表示$a={AA ...},文件大小,PE文件判断还有一个和课后题很类似的for i in (1..#a) : (@a[i]<多少多少)
进程挂起和进程注入的原理
五个驻留化技术方法及原理
IDS,IPS,DNS沉洞,Web和Email Proxy的原理。和DPI相关
大题(一个15分)
进程注入(DLL注入)的代码。问你注入的进程是svchost,为什么注入他?注入流程等。大部分代码都有。分析也很简单
SSDT和IDT的原理,以及实现挂钩原理。+一个Rootkit定位NtCreateFile(挂钩函数)和对应Rootkit模块【比较简单其实,稍微看眼实验报告就行,就找在对应地址范围内的就ok】
另外学堂在线上有王志老师的中文课,以及相关习题,最好用那个辅助PPT和雨课堂习题复习。