Hacking三部曲
基础课程学习
核心基础课程 - 计算机的工作原理
**cpu的设计与实现**
机器指令与汇编语言
指令的解码、执行
内存管理
**CMU 18-447 Introduction to ComputerArchitecture**
https://course.ece.cmu.edu/~ece447/s15/doku.php
Labs: Implement a MIPS CPU using Verilog
//卡内基梅隆大学(Carnegie Mellon University),简称CMU,坐落在美国宾夕法尼亚州的匹兹堡。计算机学院全美第2。
//lab:https://course.ece.cmu.edu/~ece447/s15 /doku.php?id=labs
//ppt:https://course.ece.cmu.edu/~ece447/s15/doku.php?id=schedule
//视频B站上面也找到了,但只有中文的目录,没有找到带有中文字幕的,我会努力的做一个翻译好的中文版,到时应该会在B站发布。
**编译器的设计与实现**
自动机、词法分析、语法分析
运行时
程序静态分析
**Stanford CS143 - Compilers**
http://web.stanford.edu/class/cs143/
PA:Compilers for Cool language
**操作系统的设计与实现**
系统的加载与引导
用户态与内核态、系统调用、中断和驱动
进程与内存管理、文件系统
虚拟机
**MIT 6.828 - Operating System Engineering**
https://pdos.csail.mit.edu/6.828/2016/
Labs:Implement jos
Xv6,a simple Unix-like teaching operating system
其他基础课程 - 系统软件开发基础
漏洞挖掘与利用
漏洞挖掘与快速入门–CTF
**以赛代练**
9447 CTf
CCC CTF
HITCON CTF
Plaid CTF
Boston Key Party
DEF CON CTF
**CTF历史资料库:https://github.com/ctfs
**Wargames
http://pwnable.kr/
http://smashthestack.org/
漏洞挖掘与利用实战–如何从CTF赛棍转型
**CTF**
短时间
目标代码量小
漏洞容易发现
利用技巧千奇百怪
**实战 -- 长期做一道很难的CTF题
长期(长年累月)
目标代码量大
漏洞难以发现
利用技术有套路可寻
漏洞挖掘与利用实战–目标
**网络协议的实现**
HTTP/SMB/DNS/UPnP Server
**脚本引擎**
JavaScript Engine
ActionScript Engine
PHP/Java Sandbox Escape
**内核**
Linux/Android
Freebsd
Apple IOS
Sony PS4
漏洞挖掘与利用实战–准备
**学习历史漏洞 - CVEs**
**挖掘新漏洞**
逆向分析 + 代码审计
快速逆向与快速理解
对漏洞的感觉
模糊测试
测试框架
样例生成的想法
构建系统防护
漏洞自动挖掘技术
**漏洞自动挖掘技术**
静态程序分析
符号执行
机器学习
**漏洞利用防护机制**
Intel SGX
控制流完整性(CFI)
拟态 ?
|