课程名称:系统内核安全训练营
各有关单位:
中国科学院计算技术研究所是国家专门的计算技术研究机构,同时也是中国信息化建设和人工智能建设的重要支撑单位,中科院计算所培训中心是致力于高端IT类人才培养及企业内训的专业培训机构。中心凭借科学院的强大师资力量,在总结多年大型软件开发和组织经验的基础上,自主研发出一整套课程体系,其目的是希望能够切实帮助中国软件企业培养高级软件技术人才,提升整体研发能力,迄今为止已先后为国家培养了数万名计算机专业人员,并先后为数千家大型国内外企业进行过专门的定制培训服务。
近年来,IT安全问题日益突出,安全事故频频发生,各种系统漏洞、勒索木马、病毒和流氓软件等对企事业单位、公司、学校、医院和个人造成重大损失。因此IT安全日益受到业界和国家的重视,国家领导人曾说“没有网络安全,就没有国家安全”。培养优秀的底层安全人才,是我们设计这个课程的初衷。培训的具体事宜通知如下:
一、课程设计
将内核底层开发与安全技术融入到一个一个实际案例中,通过实战化的安全和对抗技术演练帮助学员迅速掌握:
如何开发一个内核模块,并对内核模块进行测试和调试?
如何进行系统蓝屏分析?
应用层和内核层的通信是如何进行的?
如何在内核层操作字符串,文件,注册表,内存和线程?
如何在内核层进行文件进程的强删和强杀?
如何进行文件系统,注册表,网络,进程的监控?
主动防御,云查杀,沙盒的内核技术原理是什么?
ROOTKIT和BOOTKIT是如何查杀的?等等
整个课程包含了大量的实际项目例子,通过案例阐述在实际项目中的内核技术和安全对抗,提升学员的实际内核开发能力,安全对抗能力,并在实际项目中理解应用层和系统底层的交互,深入理解系统底层。
二、参与对象
研发程序员
希望了解系统底层的应用开发人员
安全产品经理
希望了解内核安全技术的安全测试人员
希望了解安全产品底层原理的安全运维人员
对底层安全有兴趣者
对安全对抗和木马病毒分析查杀感兴趣人员
三、学员基础
有一定的C语言和汇编基础
学习过数据结构
了解操作系统原理,编译原理
对软件开发过程有基本的概念
四、师资简介
由来自于一线安全公司BAT,360等独当一面的技术大牛专家亲自授课:
邵老师安全界著名的C、汇编程序员,长期致力于x86体系架构与Windows系统底层技术的研究与相关商业软件的开发。是著名的反rootkit工具DarkSpy的作者之一。
在从事程序设计与开发期间,主要参与研发的产品包括:
1.企业信息防泄密软件的Windows内核驱动开发工作
2.著名反Rootkit软件DarkSpy作者之一
3.某著名上市安全公司系统急救箱研发主要负责人
4.全球首例UEFI_BIOS木马“谍影”(2017年4月)和著名的BOOTKIT木马BMW发现者
5.某著名上市安全公司核心安全委员会成员之一(仅5人)
6.
畅销书《天书夜读:从汇编语言到Windows内核编程》和《寒江独钓:windows内核安全编程》)(08年度畅销榜)(09年度畅销榜NO.8)作者之一
姚老师 熟悉IDA、Ollydbg、Windbg等调试逆向工具的使用,具有很强的调试功底。精通桌面反病毒引擎、网络病毒检测引擎等反病毒技术,过去多年很多时间专注于研发这个。曾就职于安天,超级巡警。个人作品包括linxerUnpacker
虚拟机脱壳软件,以及非常著名的 XueTr(现在更名为PCHUNTER) ARK工具,几乎所有的病毒安全工程师都在使用的一款强大的安全工具,用来手工杀毒。
周老师 曾就职于阿里,360,北大计算机研究所。
著有《程序员求职成功路:技术、求职技巧与软实力培养》,《电脑系统与数据安全防护》,《加密与解密-第4版》(作者之一)等书,创办了“麦洛克菲”高端IT内核安全培训。
五、培训内容
Day1上午 内核编程入门
内容
第1部分:内核模块代码编写,编译和测试
1.内核安全与技术概述
2.内核模块编写编译测试
3.内核模块数字签名
案例练习:组织大家使用内核开发环境编写一个简单的内核模块,并进行测试,观察内核模块输出结果。(注意:内核开发环境搭建文档提前发给大家,提前准备)
第二部分:使用Windbg进行内核模块调试
1.Windbg 虚拟机调试内核模块
2.如何下断点
3.如何使用调试命令
4.如何进行蓝屏分析
案例练习:让学员利用搭建的内核调试环境,调试上个练习中开发的内核模块。必须学会符号加载,断点设置,单步跟踪,内存查看,蓝屏分析等调试方法
Day1下午 内核编程进阶
第1部分 应用层与内核层通信
1.应用层API与内核分发函数关系
2.基于缓存通信方式
3.直接IO,和第三种通信方式
4.读写和IOCONTROL演练
案例练习:利用一个NT驱动框架模型,给大家实际演示内核和应用程序通讯的完整过程,观察从应用层发送读,写,控制请求到内核层,内核是如何处理这些请求的,请求结果是如何上传给应用层程序的。在应用层和内核层通信的时候,可以采用的3种通信方式的特点;
第二部分 内核内存,字符串,文件,注册表,多线程
1.内核内存分配特点及注意事项
2.内核字符串使用方法
3.内核文件和注册表访问方法
内核创建多线程及IRQL
代码分析:通过实际代码分析如何在内核中进行内存分配,字符串处理,文件注册表访问和多线程创建等。
Day2上午 内核开发提高
第1部分 内核爆搜,强删与强杀
1.特征码与内核暴力搜索
2.驱动文件强删例子
3.驱动进程强杀例子
案例练习:通过几个实际的项目例子,为大家演示如何利用内核技术进行内存的暴力搜索,驱动文件强删(正在运行中的程序和独占打开的文件)以及进程强删的例子。
第二部分 驱动,进程,文件,注册表,网络监控
1.驱动加载监控
2.进程创建监控
3.文件系统监控minifilter
4.注册表系统监控
5.网络通信监控
案例练习:通过若干个实际案例,演示如何在系统中利用内核技术来实现驱动加载、进程创建、文件系统访问、注册表访问、网络通信等方面的监控,维护系统的安全性和可靠性,免受病毒和木马的破坏。
Day2下午 内核高级开发
第1部分 主防,云查杀,沙盒
1.主动防御是什么?
2.云查杀是如何做到的?
3.沙盒技术的原理分析
案例练习: 结合几个实际例子,让大家明白主动防御的具体实现,云查杀的作用,以及沙盒技术的应用,让大家明白安全软件中对内核技术的深入应用。
第二部分 上帝模式:VT技术与X64HOOK
1.X64系统遇到的安全问题
2.VT技术原理介绍
3.VT技术的实际应用:X64HOOK
案例练习:通过案例演示,介绍VT技术的实现原理,系统在VT模式下的运行机制,以及使用VT技术实现在X64系统下的安全监控。
Day3上午 Rootkit与ARK工具对抗
第1部分 ARK对抗原理
1.ROOTKIT概述
2.ROOTKIT的隐藏机制
3.ARK(Anti-Rootkit)技术分析
案例分析:介绍典型的ROOTKIT的运行机制,包括对自己进程,文件,端口,注册表,驱动的隐藏等,以及ARK工具利用内核技术,实现对这些隐藏对象的深入检测。
第二部分 ARK工具对Rootkit查杀
1.HOOK检测
2.文件检测
3.进程检测
4.驱动检测
5.端口检测等
案例练习:
结合强大的ARK工具PCHUNTER,演示PCHUNTER的使用方法,利用里面的各种功能实现对ROOTKIT的完美检测。
Day3下午 Bootkit查杀与对抗
第1部分 Bootkit进化发展
1.什么是BOOTKIT
2.BOOTKIT的发展历史
第二部分 Bootkit分析与查杀
1.BOOTKIT运行机制
2.BOOTKIT的检测与查杀
3.BOOTKIT新技术演变
小结与答疑
案例分析:
通过“鬼影”,“BMW”,“谍影”等复杂BOOTKIT木马的演化进行详细分析,给大家讲解BOOTKIT的运行机制,技术特点以及查杀流程,感受内核和底层木马对抗的激烈与精彩。
六、课程目标
提供内核开发从代码编写编译,到测试和调试的方法和流程。
通过全过程案例分析,使学员全面经历内核技术在安全领域的各种应用,在边做边学中增强其利用内核技术解决实际安全问题的能力。
对学员的实际项目进行咨询指导,帮助其完善安全产品技术架构。
提供后续服务,掌握数字时代学习新理念,提升自我学习能力。
七、培训时间、地点
时间: 2018年7月19日-7月21日 地点:北京
八、证书
培训结束,颁发中科院计算所职业培训中心“系统内核安全训练营”结业证书。
九、费用
培训费:6200元/人(含教材、证书、午餐、学习用具等)。住宿协助安排,费用自理。