You are on page 1of 9

Windows 安全,Linux 安全,Android 安全,WEB 安全与渗透测试,漏洞分析与挖掘,逆向工程,VT 与 X64

A,入门篇
0. C 语言精华复习与归纳、数据结构与算法、保护模式

1. 内核 hello world 编写、编译、和测试

2. 内核框架理解

3. 内核调试(Windbg 使用技巧,反调试,反反调试,花指令,蓝屏分析等)

B,基础篇
4. 内核级文件与注册表操作

5. 中断请求级别(IRQL)

6. 同步与多线程

7. 内核数据结构

8. 应用程序与内核通信与弹窗

C,中级篇
9. HOOK(SSDT,SHADOWSSDT,INLINE, DLL 注入与 R3HOOK 等)

10. 文件过滤驱动(sfilter/minifilter)

11. 网络过滤驱动(tdi/ndis/wfp、netfilter)

12. 软件调试(windbg/ida/ollydbg)

13. 逆向工程(X86 汇编,IDA,PC 端、移动端逆向工程)

14. Linux 内核安全开发起步

15. Android 移动安全

(NDK 底层开发,Android 内核编译与裁剪,SMALI 汇编,ARM 汇编,HOOK,ROOT,动态调试,逆向,加、脱


壳,病毒分析) 16. 漏洞分析、挖掘与安全编程 (如缓冲溢出,任意地址写任意数据,
ROP,TOCTTOU,Double-fetch,OOB,UAF) 17. Web 安全与渗透测试 (SQL 注入,XSS,CSRF,命令执行,
代码执行,反序列化等各种 Web 漏洞分析与预防, metasploit 渗透测试,社会工程学,APT 攻击等)

D,高级篇
企业实用安全技术详解(new)
19.主防(HIPS)

20.沙盘(SANDBOX)

21.防火墙(TDI/NDIS/WFP)

22.ARK ANTI-ROOTKIT/基于 MBR、UEFI 和 BIOS 的 BOOTKIT 技术分析与查杀


23.VT 技术与 X64 HOOK,调试器

24.程序逆向,病毒分析

25.Android 手机安全

26.毕业设计

1,C 语言&数据结构
Hello world

数据类型与变量

数的表示与存储

运算符与表达式

语句(循环,条件,顺序)

数组

字符串

函数,调用约定

头文件,源文件,编码风格

指针

结构体、联合体、枚举类型

文件操作

宏定义

预编译处理

位运算

链表

队列

HASH 表

排序
查找

计算机体系结构的理解

操作系统的理解

CPU,内存,寄存器,位数,进程,线程,调度等理解

文件系统

TCP/IP 网络协议,HTTP 协议

内存寻址

编译原理的理解

2,C++面向对象思想
封装

继承

多态

stl 模板库(SET,LIST,MAP 等)

3,Java 语言入门学习
java 语法

面向对象

设计模式

4,Python 脚本语言学习
Python 语法

Python 数据结构与算法(list,tuple,dict,sort)

Python 文件 IO

Python 网络通信

Python 网络爬虫与格式化数据抽取

5,汇编语言学习
汇编版 hello world

CPU 与寄存器

CISC VS RISC 指令集

Intel 汇编与 AT&T 汇编


内存寻址模式(实模式分段模型、保护模式扁平模型)

汇编指令学习(数据传送指令,算术指令,串操作指令,控制转移指令等) 汇编程序设计

X64 汇编

C 语言本质与汇编联系

(调试版/发行版汇编,调用约定,传参,循环语句,结构体、数组访问,i++/++i 的汇编分析)

6,加密解密理论与应用实践
对称加密、非对称加密、HASH 散列,DES/3DES,AES,blowfish,twofish,RSA,MD5,SHA 等

第二阶段:平台安全开发篇
(从应用到底层深入学习 3 大系统):

1,windows 系统开发
mfc 界面开发

多线程

DLL 开发

R3 HOOK

驱动框架理解

驱动级文件与注册表操作

中断运行级别

同步与多线程

内核数据结构

应用程序与驱动通信与弹窗

HOOK

文件系统(sfilter/minifilter)

网络驱动(tdi/ndis/wfp)

2,linux 系统开发
Linux 系统常用命令学习

vim 学习

GCC,Makefile,SCONS 编译

GDB 调试
多线程

网络 SOCKET 编程

LINUX 开源项目分析与应用开发

(mysql,memcached,json,curl,redis,nginx 等)

内核的编译与裁剪

内核模块的开发与编译

内核内存分配

内核同步与互斥

内核中断上半部与下半部机制

内核 HOOK 与调试

基于 linux 内核的网络防火墙开发

3,Android 系统开发
Android 界面与事件

Android 四大组件(ACTIVITY,SERVICE,PROVIDER,RECEIVER)

Android 网络编程

Android 底层 NDK 开发

Android ARM 汇编,SMALI 汇编

Android hook

Android root

Android 逆向与病毒分析

第三阶段:安全分析与逆向篇
1,汇编语言(X86,arm)
2,病毒分析与逆向
IDA PRO 与 OD 使用

病毒分析与逆向

anti-rootkit 分析

MBR bootkit 分析

Android 分析与逆向
3,漏洞分析与安全编码
缓冲区溢出漏洞:栈溢出,堆溢出

非缓冲区溢出漏洞:SQL 注入,XSS 跨站点攻击,外部命令执行,PATH 攻击

内核漏洞原理分析

拒绝服务

缓冲区溢出

内存篡改(任意地址写任意数据,任意地址写固定数据)

漏洞经典案例分析(冲击波,心血漏洞,web 漏洞等)

系统安全机制与安全编码

漏洞挖掘(各种 FUZZ 工具)

2,不同类型漏洞原理与实例分析
栈溢出攻击

堆溢出攻击

堆栈协同攻击 heap-spray

SEH 攻击

META SPLOIT 快速溢出和渗透测试

ROP (Return-oriented programming)

TOCTTOU 漏洞

Double-fetch 漏洞

UAF(Use-After-Free)漏洞

竞争条件攻击漏洞

未初始化漏洞

OOB(out of bound)越界访问漏洞

SQL 注入

XSS 跨站点攻击

外部命令执行

PATH 攻击
3,内核漏洞原理与实例分析
拒绝服务

缓冲区溢出

内存篡改(任意地址写任意数据,任意地址写固定数据)

内核提权攻击

4,漏洞经典案例分析
冲击波蠕虫攻击漏洞

心血漏洞

MS MsMpEng CVE-2017-0290 微软核弹漏洞

heap spray 堆栈协同攻击

5,漏洞挖掘
FUZZ 测试原理

FUZZ 挖掘漏洞小例子

内核漏洞挖掘

IOCTL MITM FUZZ

IOCTL DRIVER FUZZ

6,安全编码原则
字符串安全操作函数

输入参数严格检查

参数严进宽出原则

缓存边界与大小检查

内核安全编码七大规范

启用 windows 安全机制

Security cookie

SAFE SEH

DEP

ASLR

SEHOP
Safe Unlink

heap cookie

SQL 注入与 XSS 预防

7,各类溢出安全问题
数组溢出

数溢出

栈溢出

指针溢出

内存泄漏预防与检测

如何避免竞争条件攻击

多线程安全编码原则

野指针安全问题

五,Android 移动安全
1,Android 应用层编程(界面,消息事件,四大组件,网络通信)

2,Android NDK 底层开发

3,Android 内核编译与裁剪

4,SMALI 汇编

5,ARM 汇编

6,HOOK 与免 root HOOK

7,ROOT 原理,SELinux

8,无源码级动态调试

9,APK 和 SO 逆向分析

10,APK 和 SO 的加、脱壳

11,病毒分析

六,Linux 内核开发
一,Linux 系统应用编程
Linux 系统常用命令学习

vim 学习
GCC,Makefile,SCONS 编译

GDB 调试

多线程

网络 SOCKET 编程

LINUX 开源项目分析与应用开发

(mysql,memcached,json,curl,redis,nginx 等)

二,Linux 内核开发
实模式与保护模式地址映射

内核的编译与裁剪

内核模块的开发与编译

内核内存分配

内核同步与互斥

内核中断上半部与下半部机制

内核 HOOK 与调试

基于 linux 内核的网络防火墙开发

You might also like