很多人小的时候看《黑客帝国》会被Keanu Reeves和Carrie-Anne Moss探索的虚拟世界所震撼,当主角身后一串串密码般的二进制信号雨铺满整个屏幕,对于儿时的我仿佛打开了一个新世界的大门。自此,黑客和安全这两个词就深深的烙印在我的心里。
庆幸的是,当大学毕业后在一家芯片公司开启工作生涯时,能够从事Linux内核开发的工作,也进一步感受到了内核的魅力,开源的魅力。随着工作内容的不断深入,从Linux Kernel Performance到Stability,再到目前从事内核Security的工作,也见证了互联网PC时代、移动终端时代、大数据云计算时代,历史的车轮来到了云网边端阶段。
从这些经历中,会深深的感受到Kernel Security不是单一维度的问题,而是和Performance、Stability有着紧密联系。由此而发,本着开源共享的精神,开启了Linux Kernel Security全景图这个系列,后续会持续更新,把我对Linux Kernel在Performance、Stability和Security领域所了解的信息,以及相关技术分析分享给大家,为推动国内在Linux内核安全领域更快速高效的发展,尽自己最大的努力。
本文是系列开篇,也就从最基础也是大家最感兴趣的话题讲起:学习内核安全的书籍。下面从各个角度来列举出来相关书籍信息,大家可以自行查找。
Shell Script
1.《Linux Shell脚本攻略》【印】Sarath Lakshman
Tracing & Debugging
1.《Debug Hacks》【日】吉冈弘隆;大和一洋;大岩尚宏;安部东洋;吉田俊辅
2.《格蠹汇编:软件调试案例锦集》张银奎
3.《软件调试》张银奎
Algorithms
1.《数据结构与算法分析——C语言描述》【美】Mark Allen Weiss
2.《算法导论》【美】Thomas H.Cormen;Chales E.Leiserson;Ronald l.Rivest
3.《算法图解:像小说一样有趣的算法入门书》【美】Aditya Bhargava
Compiler
1.《译原理》(龙书)【美】Alfered V.Aho;Monica S.Lam;Ravi Sehi;Jeffrey D.Ullmam
2.《编译与反编译技术实战》庞建民
Linux Binary Analysis
1.《Learning Linux Binary Analysis》【英】Ryan O’Neill
2.《Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly》 【荷】Dennis Andriesse
Linux Kernel & Security Develop
1.《Professional Linux Kernel Architecture》【美】Wolfgang Mauerer
2.《深入分析Linux内核源代码》陈莉君
3.《0day安全:软件漏洞分析技术(第2版)》王清
4.《漏洞战争:软件漏洞分析精要》林桠泉
5.《内核漏洞的利用与防范》【美】Enrico Perla;Massimiliano Oldani
6.《Fuzzing for Software Security Testing and Quality Assurance(第2版)》【美】Charlie Miller
7.《The Art of Softwar Security Assessment:Identifying and Preventing Software Vulnerabilities》【美】Mark Dowd
8.《模糊测试-强制性安全漏洞挖掘》【美】Michael Mutton
9.《Exploit编写系列教程》【美】Corelan Team
10.《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术》【美】Allen Harper;Shon harris
11.《威胁建模:设计和交付更安全的软件》【美】Adam Shostack
严格意思上来讲,研究内核安全还应该包含以下各个方面知识点,总而言之,内核安全不是单一领域,需要多层级多维度来构建防御体系。
1.硬件结构
2.CPU体系
3.指令集
4.TEE(ARM:TrustZone Intel:SGX)
5.TPM、TPCM
6.网络
7.逆向工程
8.数理逻辑
9.形式验证
10.社会工程学
11.漏洞利用
12.攻防体系
13.LSM
…
只会防守,不懂进攻,也只能一直处于被动,后续会从各个维度来分析内核安全,从而展开这幅庞大的Linux Kernel Security全景图,让我们一起感受内核之美和安全的奇妙!
开源、分享、安全、信任