安全模块 - Vidar-Wiki
关于安全
对于安全方向的学习,我们不建议你去对着书本死记硬背概念,或是对着不知道哪里来的网课学习 “黑客技术”。如果你是小萌新,那我们更建议你一步一步脚踏实地,从头开始新的学习之旅。
安全入门我们往往推荐你们参加 CTF 比赛,这是一种和安全强相关的比赛,通过利用应用程序或者软件漏洞来获取出题者预留的 flag,来证明你的安全技术。
关于 CTF
起源
CTF(Capture The Flag,夺旗赛)起源于 1996 年 DEFCON 全球黑客大会,是网络安全爱好者之间的竞技游戏。CTF 比赛最初举办的目的就是黑客们进行技术交流,之后逐渐变成了黑客们的娱乐项目和较为正式的比赛。
什么是 CTF
众所周知,参加海内外各种 CTF 赛事是目前 Vidar-Team 的主要活动项目。CTF 英文原名为 capture the flag,可以直译为 “捕获旗帜”。
旗帜是什么?旗帜是一个字符串,最为经典经典的旗帜形如 flag {you_f1nd_me}。他以 flag 开头,并使用花括号包裹一段由大小写、字母、数字、下划线的字符串的字符串。比赛的过程其实就是寻找这个旗帜(flag)的过程,出题人会设计一系列障碍阻止选手获取 flag,选手可以采取除了与其他人交流和攻击比赛平台外的任何方式来突破出题人设计的障碍并获取到 flag。
是的,你没有听错 —— 任何方式。
这也是 CTF 的魅力所在,不计手段,你可以在队内无限制讨论,你可以任意浏览互联网上的知识。至于选手最终是否按照出题人的预期做法获取 flag,这不是选手该担心的,选手只需获取到 flag 即可,这是出题人要担心的事情,如果一道题被选手以一个更简单的非预期做法做出来,CTF 赛制下裁判会承认选手的做法,并转而压力出题人。因此,CTF 赛事的出题人并不好当,需要考虑到选手可能使用的所有手段。
CTF 赛制发源于计算机安全,活跃于计算机安全领域,因此一般 CTF 可以默认为计算机安全类竞赛。
CTF 方向
CTF 有五大经典方向,Web,Reverse,Pwn,Crypto,Misc。笔者没有翻译这几个方向的名字,因为实在没什么可翻译的,Web 就是 Web,Pwn 更是一个拟声词,没法翻译。但毕竟还是要告诉大家怎么理解这一切的,所以请看下图。
这张图仅仅个人见解,从软件开发的角度给大家解释,不同方向之间的区别。
在一个软件开发流程中,首先会由开发者进行编码,形成源代码,随后由编译器将源代码经过几次翻译得到机器码,最后交付给计算机丢到操作系统上运行,这些都是老生常谈的知识点了。
Web
主要从源代码或者更抽象的层次,仅仅拿着一些个网络接口,或者一些配置文件去研究计算机安全,由于 Web 是高度发散的,有数之不尽的 Web 框架以及开发语言,所以 Web 手的知识面往往非常广,甚至可以看懂任何编程语言(however,多数除了 C++ )。因此我将 Web 排在最顶层。
Pwn
从计算机的底层研究计算机安全,他们更关心软件紧贴着硬件的运行过程,Pwn 手往往长期阅读各种架构的汇编,并使用 gdb 对他们进行动态调试,软件最底层的运行角度寻找可能存在的安全风险,他们往往能够随手编写任意架构的汇编,熟悉计算机体系结构以及操作系统,当然包括操作系统内核。
Reverse
(逆向)在这张图里夹在 Web 和 Pwn 中间,想表达的是 Reverse 关注的东西介于 Pwn 关注的汇编和 Web 关注的源代码中间。Reverse 做的是一个自下往上转换的动作,最直接的 Reverse 就是将汇编还原到源代码,不过实际上还可能会出现各种加密,加壳,混淆的手法。逆向手往往也会有一个越广越好的知识面,此外他们还会拥有基于知识的强大推测能力,这才能在信息不足的汇编中推测出高度抽象的源代码逻辑。
Crypto
(密码学)其实和上面三个方向之间的联系方式不同,他是基于数学理论的,是所有加解密算法的理论基础,研究的大多是理论上的东西。所以你可以看到密码手在做题的时候会拿着草稿纸狠狠打草稿狠狠演算,或者是拿着一篇论文学习论文阐述的密码学思想。如果一旦在密码学上发现了一些漏洞,他会直接影响到包括 Web,Reverse,Pwn 在内的所有层面,属于是不鸣则已一鸣惊人。
Misc
(杂项)其实就是字面意思,无法归类到前面四个方向的全部丢到 Misc 里。所以如果你发现你擅长 Misc,请你一定要打消这个想法,这是个错觉,只是最近流行的题刚刚好和你匹配。虽说是杂项,但是杂中也有主次,最典型的 Misc,比如说流量分析,日志分析,内存取证,硬盘取证,还有最近的一些 AI 安全,这一部分说起来是比较接近蓝队的技术栈。不过 Misc 会出什么题完全取决于出题人喜好,我管上面的几个方向叫 “主”,但是其实总占比可能也不足十分之一二,如果你发现 Misc 题怎么也不会做,但是已经被打穿了,恭喜你,没对上出题人脑洞。
IOT
(物联网)其实不属于五大方向,这里拎出来是因为 HGAME-Mini 确实有 IOT 方向所以还是讲一下。在上图中我们可以看到,IOT 是垂直的,我想用这个垂直表达的意思就是他对 Web Reverse Pwn 都沾一点,但是都沾的不多,只取 IOT 这个垂类需要的部分。IOT 方向可能会研究一个路由器的 Web 页面,可能会打 Pwn 的栈溢出,可能要逆向固件。但是比如云安全,Java 安全等等,但是他们在 IOT 上受到设备限制就往往不存在。
其实还有其他小分类,比如 IOV
(车联网), Blockchain
(区块链)等等,他们往往都是几个主要方向的糅合形成的一个垂类,所以一般只需了解这五大经典方向即可,他们是这一切的基石。
🥳协会招新
我们欢迎任何志趣相投的本校同学加入我们的招新群和我们进行交流
QQ 群号:481407792