(翻译)网络安全书籍推荐列表
注:对于所有的书籍链接,我都会寻找中文版重新链接,如无中文版,则按原文链接英文版。并且所有书籍名称保留英文名称
这是一个我建立的一个有关计算机安全的书籍列表,它们都是很有用的“计算机安全”这个主题的相关数据。包括:数字取证、 事件响应, 恶意软件分析和逆向工程。书籍的范围从入门教材到高级的研究课题都有。有一些书可能看起来过时了,但是其中包含的信息对现在来学习的人们依然非常有用, 并且要想在信息安全领域成为一个专家,其中有许多知识点是必不可少的。
请注意,为了避免造成给书籍排名的印象,每个类别的都是按照字母表的顺序排列,类别中的书也是按照字母表的顺序排列的(译者注:顺序是按书籍英文名称排序)。
如果你发现了这个列表中的错误或者你认为某本书也应该加到这个列表里的话,请联系我。我仅列出了那些我个人阅读过,并且自愿为之担保的书籍。
应用安全 - 本地应用
标题 | 注解 | 技术等级 |
---|---|---|
The Art of Software Security Assessment 软件安全评估的艺术 | 源码审计的圣经级读物 | 中高级。需要能阅读C/C++代码 |
Secure Coding in C and C++ c和c++安全编码 | 写牢固的底层代码最好的书籍 | 对于所有能阅读C/C++的人都很容易 |
应用安全 - web应用
标题 | 注释 | 技术等级 |
---|---|---|
The Browser Hacker's Handbook 浏览器黑客手册 | 有许多详细的web安全主题 | 从基础进阶到高级主题 |
The Database Hacker's Handbook 数据库黑客大曝光 | 有关于数据库攻击的最详细的书 | 从基础进阶到高级主题 |
The Tangled Web Web之困:现代Web应用安全指南 | 通过web的弱点测试来讲解web协议的书籍,强烈推荐 | 所有人都可以阅读。这本书开头的章节为后续的高级章节做了铺垫 |
The Web Application Hacker's Handbook 黑客攻防技术宝典:Web实战篇 | 覆盖了大部分的web安全问题 | 中级 |
密码学
标题 | 注释 | 技术等级 |
---|---|---|
Applied Cryptography 应用密码学:协议、算法与C源程序 | 学习密码学的标准教材 | 包含内容从背景介绍到深度运算和安全法则 |
Introduction to Modern Cryptography 现代密码学:原理与协议 | 一本很棒的密码学书,在很多高级的计算机科学程序的课里使用 | 高级 - 要完全理解需要很深的数学知识 |
数据库取证
标题 | 注释 | 技术等级 |
---|---|---|
Microsoft SQL Server Internals 深入解析Microsoft SQL Server | 类似于windows构件的系统级MSSQL构件的书籍 | 中级 - 阅读之前需要有数据库基础知识 |
SQL Server Forensic Analysis SQL Server Forensic Analysis(中文地址) | 一本很深入的MSSQL系统取证分析的书籍 | 中级 - 阅读之前需要有数据库基础知识 |
数字取证和应急响应
标题 | 注释 | 技术等级 |
---|---|---|
File System Forensic Analysis File System Forensic Analysis(中文地址) | 文件系统取证的权威书籍 | 中高级 |
Forensic Discovery Forensic Discovery(中文地址) | 通过两个简单的案例讲解了计算机取证的基本内容 | 中级 |
Real Digital Forensics Real Digital Forensics(中文地址) | 取证过程的简明描述 | 初级-高级 |
Windows Forensic Analysis, Second Edition WINDOWS取证分析 | 这本书已经出到第2版了,是最容易得到的windows磁盘取证书籍 | 从基础概念到深入分析 |
Windows Forensic Analysis, Fourth Edition | 这本书已经出到第4版了,是最容易得到的windows磁盘取证书籍 | 从基础概念到深入分析 |
漏洞利用 / 渗透测试
标题 | 注释 | 技术等级 |
---|---|---|
A Guide to Kernel Exploitation 内核开发指南:攻击核心 | 操作系统高级漏洞利用 | 高级 |
Android Hacker's Handbook Android Hacker's Handbook | Android系统漏洞利用 | 中级 |
Hacking: The Art of Exploitation, 1st Edition 黑客之道:漏洞发掘的艺术 | 底层漏洞利用基础 | 中级 |
iOS Hacker's Handbook 黑客攻防技术宝典:iOS实战篇 | IOS设备漏洞利用 | 中高级 |
The Mac Hacker's Handbook 黑客攻防技术宝典:MAC实战篇 | MAC设备漏洞利用 | 中高级 |
Rtfm: Red Team Field Manual | 一本简明的,优秀的,每个渗透测试人员都应该配备的书籍 | 所有拥有渗透测试背景的人都可以阅读 |
The Shellcoder's Handbook The Shellcoder's Handbook(中文地址) | 制作shellcode并利用 | 中高级 |
Linux使用
标题 | 注释 | 技术等级 |
---|---|---|
Linux in a Nutshell Linux技术手册 | 学习怎样使用linux最好的书籍 | 初级-中级 |
Running Linux Running Linux(中文地址) | 另一半学习linux的好书 | 初级-中级 |
恶意软件的发展和分析
注意:许多这方面的书记都包含于逆向工程相关的信息
标题 | 注释 | 技术等级 |
---|---|---|
The Art of Computer Virus Research and Defense 计算机病毒防范艺术 | 在恶意软件分析的许多方面都有深层次的介绍 | 中级 |
Malware Analyst's Cookbook 恶意软件分析诀窍与工具箱 | 包含了恶意软件分析的许多主题的“菜谱” | 中高级 |
Malware Forensics 恶意代码取证 | 一本很赞的恶意软件分析的入门书 | 初级 |
Practical Malware Analysis 安全技术大系:恶意代码分析实战 | 一本恶意软件分析方面很易懂的书 | 中级 |
Rootkits: Subverting the Windows Kernel Rootkits: Subverting the Windows Kernel(中文地址) | 即便在今天依然非常有用的rootkit理论书籍 | 中高级 |
The Rootkit Arsenal The Rootkit Arsenal(中文地址) | 关于rootkit发展和分析的多达800页的史诗级书籍 | 中高级 |
内存分析
标题 | 注释 | 技术等级 |
---|---|---|
The Art of Memory Forensics The Art of Memory Forensics(中文地址) | 透过操作系统来探索内存取证,多达900页。注:我是这本书的作者之一 | 包含范围从简单的介绍到高级分析 |
What Makes It Page? What Makes It Page?(中文地址) | 一本有深度的Windows内存管理书籍 | 中级 |
网络取证
标题 | 注释 | 技术等级 |
---|---|---|
The Practice of Network Security Monitoring The Practice of Network Security Monitoring(中文地址) | 告诉你怎么样把网络取证融入到真实的世界中,而不仅仅的数据包分析 | 中级 |
Practical Packet Analysis Wireshark数据包分析实战 | 学习网络通信分析和鉴别的一本很棒的书 | 初级-中级 |
Wireshark (R) 101 Wireshark (R) 101(中文地址) | Wireshark的深入探索 | 初级-中级 |
网络
标题 | 注释 | 技术等级 |
---|---|---|
CCNA Cisco Certified Network Associate Study Guide CCNA学习指南(640-802) | 一本针对于真实世界的网络链路的初级读物 | 中级 |
CompTIA Network+ All-In-One Exam Guide CompTIA Network+ All-In-One Exam Guide | 学习网络链路必不可少的书籍 | 初级 |
TCP/IP Illustrated TCP/IP详解 | 网络链路层协议的圣经,必须读。 | 中级 |
操作系统构件 - 针对所有操作系统
标题 | 注释 | 技术等级 |
---|---|---|
Intel Architecture Manuals (文档,🈚️中文版) | 非常赞的硬件架构文档,可以免费下载 | 中高级 |
Modern Operating Systems 现代操作系统 | Tanenbaum出品的最优秀的“龙书” | 中高级 |
操作系统构件 - 针对Linux
标题 | 注释 | 技术等级 |
---|---|---|
Linux Device Drivers, 3rd Edition Linux设备驱动程序(第三版) | 学习linux驱动架构最好的资源 | 中高级 |
Linux Kernel Development, 3rd Edition 嵌入式Linux基础教程 | 你一定会爱上linux内核编程 | 中高级 |
The Linux Programming Interface Linux/UNIX系统编程手册 | linux环境下编程的最卓越的书 | 中高级 |
Understanding the Linux Kernel, Third Edition Understanding the Linux Kernel, Third Edition | 就好像是《windows内核》的linux版本 | 中高级 |
操作系统内核 - 针对Mac
标题 | 注释 | 技术等级 |
---|---|---|
Mac OS X Internals: A Systems Approach Mac OS X Internals: A Systems Approach(中午地址) | 就好像是《windows内核》的mac版本 | 中高级 |
Mac OS X and iOS Internals 深入解析Mac OS X & iOS操作系统 | 在阅读了上面那么本书后再阅读这本 | 中高级 |
操作系统内核 - 针对Windows
标题 | 注释 | 技术等级 |
---|---|---|
Windows Internals 深入解析Windows操作系统 | 如果你想理解windows操作系统,请阅读这本书 | 中高级 |
Windows System Programming (4th Edition) Windows系统编程 | 通过Windows的API一步一步的引导你深入 | 中级 |
编程 - 概念和算法
标题 | 注释 | 技术等级 |
---|---|---|
Compilers: Principles, Techniques, and Tools 编译原理 | 编译原理的书中最著名的“龙书” | 高级 - 除非你已经扎实的理解了设计模式和运行时的环境,否则不要阅读此书 |
Design Patterns 设计模式 可复用面向对象软件的基础 | 需要抱着很严谨的态度阅读 | 中级 |
Linkers and Loaders Linkers and Loaders | 需要理解程序耦合和运行时加载的,请阅读 | 中级 |
编程 - 语言特性
注意:这里只有很少的几本书的原因是,在网络上对于编程语言有着令人惊讶的资源
标题 | 注释 | 技术等级 |
---|---|---|
Advanced Programming in the UNIX(R) Environment UNIX环境高级编程 | 深入探索linux,mac和BSD编程 | 初级-中级 |
The C Programming Language, 2nd Edition C程序设计语言 | (Brian W.Kernighan和Dennis M.Ritchie的力作)如果你想精通C,请阅读 | 中高级 |
Violent Python Violent Python | 学习python编程并且对于信息安全立刻就能使用上的书籍 | 从基础到高等议题都有 |
逆向工程
标题 | 注释 | 技术等级 |
---|---|---|
Assembly Language Step-by-step 一步一步学习linux汇编语言程序设计(中文版暂未出版) | 学习汇编语言最好的资源,之后的书籍都聚焦在“高级”汇编来作为实际操作指南 | 中高级 |
Hacker Disassembling Uncovered 黑客反汇编揭密 | 在逆向工程方面的一本很好的书,包含许多高层次的主题 | 中高级 |
Hacking the Xbox Hacking the Xbox | 写的很有趣的一本学习逆向的书 | 中级 |
The IDA Pro Book IDA Pro权威指南 | 学习IDA最好的资源 | 中级 |
Reversing: Secrets of Reverse Engineering Reversing:逆向工程揭密 | 我最喜欢的书之一。有一个章节把windows的API逆向成了C语言,并且完美的编译匹配了windows的DLL | 中高级 |
Practical Reverse Engineering Practical Reverse Engineering | Intel和ARM的逆向 | 中级 |
社会工程学 - 数字化方式
标题 | 注释 | 技术等级 |
---|---|---|
Silence on the Wire Silence on the Wire | lcamtuf的对大部分人从没是考过的脆弱点和攻击方式的唐锁。强烈推荐 | 初级-高级 |
社会工程学 - 传统方式
注意:我原来从Grugg的清单里发现了这方面的书
标题 | 注释 | 技术等级 |
---|---|---|
The Art of Intelligence 国家威胁:中情局谍战亲历 | Henry Crumpton对社会工程学和现实世界的分析 | 初级-中级 |
Chinese Intelligence Operations Chinese Intelligence Operations(中文地址) | 一本很有深度的中国情报学教材 | 高级 |
See No Evil See No Evil(中文地址) | CIA对中东的社会工程学的分析课 | 中级 |
Spy Handler: Memoir of a KGB Officer Spy Handler: Memoir of a KGB Officer(中文地址) | 克伯格的高级官员写的关于罗伯特·汉森和阿尔德里奇·阿麦斯的真实故事。学习社会工程学战术和理论的最佳教材 | 初级-中级 |
Terrorism and Counterintelligence: How Terrorist Groups Elude Detection | 现代恐怖组织和反情报政府部门的深度探索 | 中级 |
Thwarting Enemies at Home and Abroad: How to Be a Counterintelligence Officer Thwarting Enemies at Home and Abroad: How to Be a Counterintelligence Officer(中文地址) | 优先阅读 - 讲述怎么成为一个intel高层的关于条款,经营技巧,和战略战术的书籍 | 初级 - 应该成为你的第一本书 |
若发现文中翻译的不准确和不雅之处,请告知以便修改。
相关文章:
(翻译)网络安全书籍推荐列表
注:对于所有的书籍链接,我都会寻找中文版重新链接,如无中文版,则按原文链接英文版。并且所有书籍名称保留英文名称 这是一个我建立的一个有关计算机安全的书籍列表,它们都是很有用的“计算机安全”这个主题的相关数据。…...

TcpServer 服务器优化之后,加了多线程,对心跳包进行优化
TcpServer 服务器优化之后,加了多线程,对心跳包进行优化 TcpServer.h #ifndef TCPSERVER_H #define TCPSERVER_H#include <iostream> #include <winsock2.h> #include <ws2tcpip.h> #include <vector> #include <map> #…...

黑马程序员Java项目实战《苍穹外卖》Day12
苍穹外卖-day12 课程内容 工作台Apache POI导出运营数据Excel报表 功能实现:工作台、数据导出 工作台效果图: 数据导出效果图: 在数据统计页面点击数据导出:生成Excel报表 1. 工作台 1.1 需求分析和设计 1.1.1 产品原…...

经纬度解析到省市区【开源】
现在业务中有需要解析经纬度到省市区。 按理说可以直接使用高德,百度之类的。 但是老板太抠。于是去找开源项目。找了一圈,数据都太老了,而且有时候编码还不匹配。 所以诞生了这个项目,提供完整的一套省市区编码和定位反解析。…...

bug:uniapp运行到微信开发者工具 白屏 页面空白
1、没有报错信息 2、预览和真机调试都能正常显示,说明代码没错 3、微信开发者工具版本已经是win7能装的最高版本了,1.05版 链接 不打算回滚旧版本 4、解决:最后改调试基础库为2.25.4解决了,使用更高版本的都会报错,所…...
旧版本 MySQL 处理字符表情写入问题
报错信息 新增数据 java.sql.SQLException: Incorrect string value: \xF0\x9F\x91\x8D\xE5\x8F... for column解决方案 老项目,而且是旧版本,且表情不影响业务,直接简单粗暴的过滤掉即可,有还原的需求也可以 toUnicode 转为字…...

vue使用v-if和:class完成条件渲染
1.使用v-if 和v-else 完成主body和暂无数据两个<tbody>标签的条件渲染(注意与v-show效果的区别) 2.v-for完成列表渲染 3.:class完成分数标红的条件控制 删哪个就传哪个的id,基于这个id去过滤掉相同id的项,把剩下的项返回 <td><a click.p…...
Docker:WARNING: Published ports are discarded when using host network mode 解决方法
在Docker中,使用主机网络模式(host network mode)时,容器将共享主机的网络命名空间,这意味着容器将直接使用主机的网络接口和端口。因此,当你尝试通过Docker的发布端口功能(publish a port&…...
音视频入门基础:MPEG2-TS专题(12)—— FFmpeg源码中,把各个transport packet组合成一个Section的实现
一、引言 从《音视频入门基础:MPEG2-TS专题(9)——FFmpeg源码中,解码TS Header的实现》可以知道:FFmpeg源码中使用handle_packet函数来处理一个transport packet(TS包),该函数的前半…...

【数据结构】二叉树的性质和存储结构
性质 在二叉树的第i层上至多有2^{i-1}个结点,至少有1个结点 深度为k的二叉树至多有2^{k-1}个结点(k≥1),至少有k个结点 对任何一棵二叉树T,如果其叶子数为n0,度为2的结点数为n2,则n0n21 具有n个结点的完…...
gbase8s之查看锁表的sql
#只能看当前锁表的sql,看不到历史的。 #使用方法:sh 脚本文件名 库名 表名 database$1 table$2 hexoncheck -pt $database:$table|grep -i partnum|awk {printf ("%x|",$3)} #echo $hex #echo ${hex%?} #ownonstat -k |grep -iE ${he…...

URI 未注册(设置 语言和框架 架构和 DTD)
一、问题描述:在springboot项目中的resources中新建mybatis-config.xml文件时,从mybatis文档中复制的代码报错:URI 未注册(设置 | 语言和框架 | 架构和 DTD) 二、解决:在Springboot项目的设置->架构和DTD中添加 红色的网址&…...

Ubuntu上使用system()函数运行不需要输入密码
使用system()运行一些终端命令的时候,需要sudo权限,也就是必须输入密码,那么在程序自启动的时候就无法成功启动。如果设置Ubuntu下所有操作都不需要密码,安全性太低,所以我们可以将需要用到的终端指令给予无需输入密码…...

【MySQL】数据库必备知识:全面整合表的约束与深度解析
前言:本节内容讲述表的约束的相关内容。 表的约束博主将会通过两篇文章进行讲解, 这是第一篇上半部分。 讲到了约束概念。 以及几种常见约束。下面友友们开始学习吧! ps:友友们使用了mysql就可以放心观看喽! 目录 表的约束概念 …...

Windows下Docker快速安装使用教程
在当今软件开发和部署的世界中,Docker 已经成为一个不可或缺的工具。这里不对Docker进行详细阐述,需要系统学习Docker的伙伴可寻求更专业详细的教程或书籍学习。本文主要讲解Windows系统下Docker安装及使用。 一、环境准备 1.1检查电脑是否开启虚拟化 …...

PTA DS 6-2 另类堆栈 (C补全函数)
6-2 另类堆栈 分数 15 全屏浏览 切换布局 作者 DS课程组 单位 浙江大学 在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满? 函数接口定义: …...

rk3568之mpp开发笔记mpp移植到开发板
前言: 大家好,今天给大家介绍的内容是rk平台的mpp编解码这块的内容,在rk目前看到有三套框架涉及到编解码内容: 1、rkmedia 2、rockit 3、mpp 这三种不同形式的编解码方式,后面再做详细的框架对比,今天我…...
Vue解决跨域问题
要解决 Vue 项目的跨域问题并通过 vue.config.js 配置代理,可以按照以下步骤修改 vue.config.js 文件。你提供的代码大部分已经正确,只需要做一些格式上的调整。以下是正确的 vue.config.js 配置: // vue.config.jsmodule.exports {devServ…...

Kubernetes Nginx-Ingress | 禁用HSTS/禁止重定向到https
目录 前言禁用HSTS禁止重定向到https关闭 HSTS 和设置 ssl-redirect 为 false 的区别 前言 客户请求经过ingress到服务后,默认加上了strict-transport-security,导致客户服务跨域请求失败,具体Response Headers信息如下; 分析 n…...

TortoiseGit的下载、安装和配置
一、TortoiseGit的简介 tortoiseGit是一个开放的git版本控制系统的源客户端,支持Winxp/vista/win7.该软件功能和git一样 不同的是:git是命令行操作模式,tortoiseGit界面化操作模式,不用记git相关命令就可以直接操作,读…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...