昆山市学编程的正规学校,C++安全编程与渗透测试培训课程

北京东方瑞通培训
昆山市学编程的正规学校,C++安全编程与渗透测试培训课程
学习目标

培训目标
·了解C++程序安全概览
·了解渗透测试基础
·学习WinDBG精要
·了解栈和局部缓冲区溢出
·解析异常处理和应用程序崩溃
·多线程同步和死锁
·堆和堆腐败
·安全开发和威胁建模
·代码扫描
·数字签名和代码完整性基础
·钩子和外挂
培训对象:使用C++语言开发Windows应用软件的软件工程师,或者相关项目的测试工程师、项目带头人和技术经理
学员基础:有一定C++开发和调试经验。
培训内容:
主题
课程安排
第一部分:C++程序安全概览
要点:从C++程序角度的安全定义,Top 25 Errors,CVE,资源
第二部分:渗透测试基础
要点:Pentest,背景,测试过程,重要资源,Kali Linux Metasploitable 2,BackBox,环境搭建,渗透测试的五大步骤,Metasploit Framework详细解析,主机入侵完整过程演示(利用IRC漏洞远程登录被攻克目标机),Armitage[试验一]使用MSF利用IRC的溢出漏洞入侵主机
第三部分:WinDBG精要
要点:WinDBG的命令类型,常用命令,命令语法,调试符号,符号文件的种类,符号服务器,定制调试事件的方法和重要的调试命令,软件断点、硬件断点,复杂的断点命令,x86寄存器和反汇编技巧[试验二] WinDBG基础(15分钟)
第四部分:栈和局部缓冲区溢出
要点:栈基础,栈帧,栈帧布局,栈指针被破坏(Stack pointer corruption.),局部缓冲区越界(Overruns),栈被破坏(Stack corruption.),缓冲区溢出攻击(BOA),实例演示,SQL Server案例,Win7案例,IRCDaemon案例,GS机制(基于Cookie的溢出检测机制),编译器的保护措施
[试验三] 理解缓冲区溢出攻击(30分钟)
第五部分:异常处理和应用程序崩溃
要点:结构化异常处理(SEH),C++异常处理,Windows的异常奋发机制,程序崩溃的完整过程和调试方法,转储的基本知识,如何使用ADPLUS自动产生用户态转储,以及分析用户态转储的常用命令和技巧[试验四] JIT调试和异常事件处理(30分钟)
第六部分:多线程同步和死锁
要点:并发和并行,多线程,C++程序中创建线程的多种方法,在VC和WinDBG中观察和操纵线程的方法,使用WinDBG来调试多线程程序和同时调试多个进程,包括控制线程执行状态,临界区,观察同步对象、分析死锁的方法,案例演示,CPU的同步机制,互锁系列内建函数(intrinsic)
第七部分:堆和堆腐败
要点:C++程序中动态分配内存的多种方法(malloc new HeapAlloc),介绍调试内存有关的典型问题的方法和技巧,包括使用CRT堆和Win32堆的调试支持,分析内存泄漏、访问违例和栈溢出等,在探讨实践经验的同时会穿插重要的理论知识,包括Win32对和CRT堆的结构、内存管理常识、堆布局等,真实案例分析[试验五] 使用UMDH追踪堆的分配细节(30分钟)
第八部分:安全开发和威胁建模
要点:SDL(Security Development Lifecycle),SD3C,SDL定义的主要过程和最佳安全实践,Software Assurance Maturity Model (SAMM),TOP 25编程错误解析,常用建模方法概览(Trike 、OCTAVE 和P.A.S.T.A),威胁建模,Microsoft Threat Modeling过程,STRIDE,风险评级,微软Threat Modeling Tool 2016用法演示
第九部分:代码扫描
要点:源代码扫描和黑盒扫描,静态扫描的优势,Coverity介绍,工作过程,AST树,Checkers,三类事件,误报问题和函数建模,开源的扫描工具
第x部分:数字签名和代码完整性基础
数字签名的工作原理和有关的密码学基础,非对称加密,Key的保护和管理,Windows系统检查代码完整性的过程和有关的系统部件,对文件进行数字签名的工具和方法
第x部分:钩子和外挂
介绍钩子(Hook)技术的背景和简要历史,分析Windows平台上的常用钩子技术及其工作原理,包括DLL注入、IAT挂钩、消息挂钩等,然后针对保护键盘输入这一目标,讨论键盘输入的数据路径,防止按键被嗅探的方法
查看更多...

编程培训

学习目标

掌握前沿技术,增加就业

课程内容

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
机器语言:在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。
汇编语言:文件系统驱动编程流程,为了解决使用机器语言编写应用程序所带来的一系列问题,人们首先想到使用助记符号来代替不容易记忆的机器指令。

适用对象


零基础及以上学员均可

课程亮点

1.涉猎行业广、就业方向多
2.就业指导,打造真实教学成果

培训方式

1.实战项目,线下实操
2.在线网课





学习目标