很难想象读博这四年的时光意味着什么,是对妻子和儿子深切的思念。我在珞珈山下挑灯夜读,你在贵阳家中独自照顾幼子。怕的不是孑然一身,而是明明已经习惯两个人,又必须各自前行,像单打独斗的勇士。想到千里之外还有一个人和自己同呼吸共命运,求学之路并不孤单。犹记得论文发不出来,妻子给我最多的鼓励就是“论文发不发的尽力就好,哪怕求学的颜色是灰色,还有心里的爱是红色,家人的温暖是彩色!在我们心中你一直是珞珞的好榜样”。结婚五年,四年半异地,我日夜兼程,她也独自拉扯小朋友长大,彼此从未有分毫埋怨,甚至说出“想念”都会成为让对方泄气的负担。读博难,但远方的她更难,感恩!
转眼,部分重要的事情完成,作者的分享也将逐渐回归,仅以此文感谢读者十二年的陪伴和支持,感谢分享路上所有师长、家人、同学、朋友、博友和读者的关心及鼓励。同时,这篇文章将聊聊系统安全和论文写作的那些事,也是我组会的最后一次分享,写得不好的地方还请见谅。真诚地感谢大家还记得一位名叫“Eastmount”的博客分享者。繁华尽处家人伴,一壶老酒醉春堤。新的征程,新的生活,新的开始。不忘来时脚下的路,不忘求学的初心。感恩奋进,继续加油!
文章目录
一.博士生涯回顾
犹记得2019年5月13日的博士复试仿佛如昨,由于之前没联系导师,感觉没戏,到武汉的那天就游历了黄鹤楼、博物馆,想着再也不会来到这座英雄的城市。人生就是这么有趣,感谢彭老师的接收,非常荣幸进入课题组,并认识了许许多多优秀和奋斗的小伙伴,感恩!
回首,2023年5月25日博士顺利答辩通过,闭上双眼,四年的努力和日子一幕幕从我脑海里闪过,技术、课程、项目、论文、比赛、分享、工作、家庭,脚踏实地,唯有感恩!
四年,总共撰写了400多篇博客,从2019年的87篇,到2020和2021年疯狂学习安全技术撰写132篇和106篇,再到后续告别博客专心论文仅撰写61和30篇。这些文字记录了我安全学习的经历,代表性专栏包括:
- 网络安全自学篇(120篇)
- 系统安全与恶意代码分析(55篇)
- AI安全论文阅读(36篇)
那些年我换了专业,系统安全一个陌生的名词持续困扰着我,也走了很多弯路,想把安全知识学好的我陆续参加了CTF、DataCon等比赛,连续四次参加DataCon大数据安全竞赛也取得了一些成绩,并且能将部分内容转换为学术研究,推荐初学者也试试。然而,系统安全实在太难,感觉我至今也还未入门,难崩。
后续我将分别以三个关键阶段内容进行介绍,因为内容太多,我不会像组会一样进行详细分享,而主要以方法和重点描述为主,希望您喜欢!
- 第一阶段:安全学习
- 第二阶段:科学研究
- 第三阶段:毕设撰写
二.安全技术学习交流
简单给初学者介绍这三个方向的学习路线,也是自己走过和将要学习的总结。
1.Web渗透
Web渗透基础知识的具体内容:
- 常见安全网站、公众号、经典书籍、资源及群分享
- Web渗透基础工具(BurpSuite \ Nmap \ Kali \ Wireshark \ Sqlmap \ CS \ MFS …)
- Web渗透基础知识(信息收集 \ SQL注入 \ XSS \ 文件上传 \ 越权 \ CSRF \ 支付漏洞 \ 提权横移 \ 内网)
- CTF比赛和训练(典型案例hack the box、Vulnhub)
- 漏洞利用及复现
- 熟练使用各类工具并完善整理成自己的工具库
- 实战:SRC榜单、HVV行动、漏洞挖掘、CVE和CNVD、实习及工作
推荐作者之前的博客:
- [网络安全自学篇] 一.入门笔记之看雪Web安全学习
- [网络安全自学篇] 五十六.i春秋老师分享小白渗透之路及Web渗透技术总结
2.恶意代码分析和威胁情报感知
恶意代码分析:
- 基础工具:动静态分析(IDA \ OD \ Capa \ Cape \ Cuckoo \ 在线沙箱)
- 逆向分析经典书籍
- PE文件基础知识
- Windows内核驱动开发
- 特征提取:API序列、CFG、ICFG、Call Graph、二进制灰度图、字符串、PE结构
- 恶意代码同源分析 => BinDiff \ DeepBinDiff \ DeepReflect
- 恶意家族分类
- 加壳\混淆\逃逸\伪装(Powershell\APT)=> 脱壳\解混淆(AST)\逃逸检测\代码基因
- LLVM-IR(编译对二进制影响)
- 溯源图(审计日志)
- 顶会论文
威胁情报感知:
- 多源异构数据提取
- NLP+NER+RR
- 知识融合
- 溯源图+剪枝优化
- 知识图谱构建
- 知识推理
- LLM结合
逆向分析强烈建议深度分析熊猫烧香病毒和WannaCry样本。
3.IOT漏洞挖掘
IoT漏洞挖掘——未来的学习和探索
- 南大《程序分析》
- Fuzzing101:https://github.com/antonio-morales/Fuzzing101
- AFL (源码解读)
- angr
- 模糊测试、污点分析、符号执行(动静态分析)
- Ghidra(二进制、开源代表性工具)
- 内核模糊测试工具:syzkaller
- ASAN
- codeql
- 顶会论文阅读
- 实战:固件漏洞分析、协议漏洞分析、IoT漏洞分析
三.学术论文撰写交流
接下来介绍小论文撰写心得,包括研究的艺术、读博建议、论文框架和写作技巧、论文反馈和Rebuttal。
1.研究的艺术——李沐老师
首先,分享李沐老师对《研究的艺术》的理解和总结,该初学者撰写论文有一定帮助,我之前的博客也进行了详细介绍,这里以浓缩为主。
第一部分:跟读者建立联系
- 写文章是跟假象读者做一个交流,需要跟读者建立联系,将自己的“声音” 写进文字里
- 写作永远要知道你的读者是谁,跟你的读者做一个对话,读者也会去judge你的文章
- 写作核心在于找到一个topic,然后回答这个问题,让他们信服你写的东西
第二部分:找问题和明白问题的重要性
- 核心为Topic、Question和So What三点,怎么找你研究的问题并明白其重要性
- 如何从感兴趣的话题上升到你研究的问题,如何将大话题变小,变成可研究或驾驭的东西 – 怎样把一个工作的效果做出来,把它做大、做便宜、做好、做安全
- 论文的动机在哪?核心是多问So What,我的工作解决了什么问题,别人care不care,并且需要很tougher问自己So What,能不能解决某个痛点,半年后别人还仍然关心吗? – Name your topic \ Add an indirect question \ Answer so what? by Motivating Your Question
- 如何找话题:大问题 vs 小问题 => 学会权衡 – 多读顶会顶刊高引论文(未来工作|限制|前瞻)、参加学术报告、多讨论、问导师、网上查询、工业界问题
- 在做任何工作前,都应该去想做出来的意义和天花板在哪,值不值得,不要先去想能不能做 – 尽管只解决了一个小问题,但要学会拓展到更大的问题上,抽象问题及其研究意义
- 切勿等到研究做完、论文写完,再去想这个工作值不值得做;工作一半可以做小报告或WP
第三部分:讲好故事和论点
- 如何讲一个故事,能让读者信我讲的东西(讲好论文的卖点),怎么样提出论点和论据来支撑我要讲的故事。不能等到所有信息都收集全和实验做完再去考虑故事应该怎么写 – 建议一边做实验一边讲故事,把大纲写出来,如果故事发生变动实验可以跟着变
- 论文不一定要读者认同你的方法最好,更多读者是觉得这个问题重要且会去思考
- Why should I believe that?(证明你故事的论点和论据,使人信服)
- 怎么用理由和论据来支撑你的论点,可以通过声明来增加论文的层次感,让论点更可信
第四部分:把故事写下来
- 根据原则写作,整个写作至少在易读性上上一个档次
2.读博建议总结
下面是这些年个人读博的心得,在大佬们面前纯班门弄斧,希望对您有所帮助。另外,读博千万别比较,按照自己的计划来,每个人都有自己的人生。
论文阅读建议
- 多读多写,多读顶会顶刊好论文(跟踪顶尖安全团队),学会归纳总结,剖析好论文框架、动机、贡献和实验(摘抄优美句子,记录“行话”)
- 博一入学或考虑读博,就开始抓紧读论文和做实验,学会反思(我博一学安全技术&懵懂无知)
- 对小领域如数家珍,试着投高质量会议和期刊(虽然我没做到),审稿意见很有帮助 – 安全会议截止时间:https://sec-deadlines.github.io/ – AI会议截止时间:https://aideadlin.es
- 多去知乎、B站和学术论坛找一些学术建议,总结安全论文基本写法,多与实验室小伙伴交流(国外合作)
- 学会主动实验和复现顶会代码,从一点点收获,对比实验会用到,做好相关记录
- 学会观察一些安全问题(其实挺难),将问题上升到现象再归纳总结(威胁模型),突出论文的贡献和卖点
论文撰写建议
- 我通常是投一篇(含改),写一篇,思考和布局下一篇(虽然质量一般)
- 写完就投,投完一篇,立刻开启下一篇工作及实验,别等待和松懈
- 论文尽量在一个完整的时间段完成,如果项目太忙,学会利用零散时间(如洗澡思考&多线程工作)
- 系统安全很难,沉下心来更难,希望大家能坚持且有收获(我是混学科交叉&不建议&学得浅)
- 常用论文管理、写作(LaTeX)、校稿工具要掌握(大家都知道,按个人习惯) – Deepl + Grammarly + Quillbot/easyessay + Obsidian + Zotero + ChatGPT
- 好图和好表胜千言,尤其四大顶会论文(个人感觉自己论文的图给予论文命中很大帮助)
- 对比实验,考虑全面:性能、鲁棒性、创新性,有效论证文章的贡献(系统安全论文切记简单的模型改进和准确率比较)
- 综述论文建议最后撰写(理解更深&趋势预测),但前期相关工作笔记整理好,尽量刚开始接触这个领域,阅读论文时就做好相关记录
论文投递建议
- 了解毕业要求合理计划时间,迷茫时可以试着投中文几大学报(我英文较差)或CCF C\B,补充信心(顶会好难)
- 了解审稿基本流程,先学会审稿再写论文,尤其是审稿反馈和battle,里面有很多技巧(多感谢审稿老师&能满足最好&不能合理表达说服审稿老师)
- 心态,心态,心态
最后,给出这页PPT。
3.论文框架和写作技巧
常见论文框架包括理论研究和系统研究两类,如下图所示,谋篇布局讲好一个故事非常重要。
论文创新可以按照如下图所示的方法定义。
建议1:对小领域如数家珍,多读多写,摘抄“行话”。
- 举例:引言如何撰写,常见结构
- 举例:has caused catastrophic consequences、novel、crucial
建议2:好图和好表胜千言(尤其系统框架图和实现过程细节图)
- 举例:我的论文
- 举例:顶会论文
建议3:讲好论文的卖点和故事,让人眼前一亮的东西
建议4:正确的表达比秀语法更重要,如何地道地表达,顶会顶刊论文多读多学
建议5:图表突出本文工作及亮点,对比实验能足够支撑卖点和方法
4.论文反馈和Rebuttal
(1)投稿和审稿流程
首先,我们看看论文的投稿流程。
其次,想要发好文章,也需要学会审稿,了解审稿老师的品味和重点,才能更好地凝练论文的卖点和动机。
(2)编辑部审稿意见
接着是编辑部常见的意见,主要期刊格式和主题是否相符为主。
(3)审稿老师意见
下面是审稿老师的意见,也是该部分的重点内容,结合南昌大学田洗教授、知乎工藤博士和我的个人理解介绍。常见的审稿老师问题如下:
回复审稿老师基本原则1:
- 理解编辑的反馈意见
- 感谢审稿人和编辑(thanks for your suggetion),无论在犀利的意见也是为论文着想
- 谦逊的回复态度和感激之情,核心是客气再客气,诚恳再诚恳,卑微再卑微
回复审稿老师基本原则2:
- 审稿意见要逐一全面的回复,相同问题不同审稿老师提到均要各自回复
回复审稿老师基本原则3:
- 避免用一位审稿专家的意见来否定另一位审稿专家的意见
- 审稿相悖的意见,学会明智的辩驳
- 回复时要复述审稿意见
- 回复时建议对重点进行强调,尽可能包含更多的细节
- 参考文献补充
回复的难度主要如下:
下面是我自己论文的真实案例,通常包括修改稿原文、修改稿(带颜色标准)、修改说明和Cover letter。
下面的问题回复难度相对较大:
下面的问题回复难度相对较小:
最后给出华科周威老师在InforSec分享的建议,非常适合系统安全的学生。
四.大论文撰写交流
该部分我就不再截详图显示,仅给出部分关键点意见。
- 建议1:论文框架和整体思路要梳理清晰,通过结构图将小论文进行串联(有自身视角和主线)
- 建议2:论文尽量四个工作,如果小论文足够优秀也可以三个工作
- 建议3:论文格式一定要规范,包括图表、无错别字、空白页(Latex常见问题)
- 建议4:每个章节尽量做到承上启下,比如结尾可以引出下一章节,建议有个现有工作的扩展性和局限性的讨论
- 建议5:章节具体描述尽量将自己做的工作体现,尤其是小论文英文论文翻译过来一定要准确,AI模型切记魔改需解决安全问题,包括整个工作的框架及联系要叙述清楚
- 建议6:预答辩建议老师多提意见并完善修改(一对一回复),标题和研究内容需一致,PPT认真撰写及思路清晰等
五.感恩与祝福
此外,本人才疏学浅,仅以个人理解浅谈系统安全和论文写作那些事,并且读博四年也未发表非常好的文章,但每一篇论文都像自己的孩子,也都是自己付出的果实。总之,如果写得不好或错误的地方,还请各位老师批评和指正。人生路很长,未来做要做的事还很多,希望某一天能中一篇安全顶会,加油!
感谢彭老师和小伙伴的帮助及陪伴。再一次看自己三页致谢,还是挺感慨的,最最感谢的是妻子和儿子。祝好,江湖再见!
(By:Eastmount 2023-10-11 夜于贵州省图书馆 http://blog.csdn.net/eastmount )
版权归原作者 Eastmount 所有, 如有侵权,请联系我们删除。