目前信息安全领域(不限于技术层面)有哪些前沿的研究方向,代表人物有哪些?有哪些新的研究成果?以及从哪些地方可以获得这些咨询?
我在做 system 方向的安全研究,最近发现其实中美两国都在 TEE (Trusted Execution Environment) 上发力很大,说得更加宽泛一些就是可信计算(Confidential Computing)。这是因为首先云计算的进步导致服务商倾向于使用更加方便且容易部署的云为用户提供计算,但是用户的隐私数据在云上,自身处于不可信环境,因为就算云服务商不会主动偷数据但是保不准有什么坏蛋会窃取。但是TEE 的安全模型这些问题提供了很好的解决方案——基于硬件的 data in use 安全保护。因为只要 CPU 是可信的,通过 CPU 构建的安全环境就是可信的,用户建立可信信道之后,就能基于 TEE 做一些计算了。像 SGX SEV TrustZone 之类的技术也都在蓬勃发展。最近美国这边各种 CC 方向的 summit,AWS、Azure、Google Cloud 全都在部署基于 TEE 的计算业务,包括最近 WWDC 2024 苹果也宣布要用基于 TEE 的可信云计算服务,前途应该还是很光明的。某研报说十年后市场会十倍放大。
TEE 的研究方向一般是攻击和防御。SGX 的漏洞四大发了一大堆,什么sgxspectre, crosstalk, branch shadowing之类。基本上拿以前的 attack 去套总会有,但是 interesting 的东西其实不是他多。防御方向一般是提出一些基于 TEE 的应用,比如机器学习之类的。还有一个方向我在做的是对 TEE 做 formal verification(用 coq 之类的语言去 enforce 一些 constraint)。其实验证方向也可以做 PL相关的东西,社群活跃度其实还可以,安全(e.g., formal verification, fuzzer)的东西在 OOPLSA,ICSE,PLDI 之类的会上面也经常可以看见。
此外 crypto 也有许多热点(灌水)方向。比如差分隐私,同态加密,零知识证明,MPC,还有一些协议设计相关的东西,包括(也许已经过气了的)ORAM 和 SSE。四大顶会和密码会上面经常看见各种有趣的 topic。虽然我也学了一点差分隐私,但因为个人不太喜欢做理论,所以只限于懂一点的程度。这个方向美国、以色列的人做的非常好。
但是有一点比较恶心的,applied crypto 和 TEE 是两个水火不容的领域,因为 TEE 本身的 confidentiality 和 integrity 直接干死了一大票 MPC、FHE 的方案,毕竟 TEE 性能好还简单,加上最近 GPU TEE 的出现,功能性上已经很充足了,为什么还要用一个又慢又笨重的方案?唯一解释可能就是 CPU 厂商不可信,但这个东西,只能说见仁见智了。我不知道 TEE 真的火起来之后为解决云计算而存在的应用密码学存在的意义还会剩下多少。
接下来我将给各位同学划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
这部分内容对于咱们零基础的同学来说还太过遥远了,由于篇幅问题就不展开细说了,我给大家贴一个学习路线。感兴趣的童鞋可以自行研究一下哦,当然你也可以点击这里加我与我一起互相探讨、交流、咨询哦。
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。