南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Redundant dynamic Canary

Redundant dynamic Canary Zhilong Wang Jun Zhu
Redundant dynamic Canary Zhilong Wang Jun Zhu

己有工作 同一进程使 fork时候更 用相同的 可以被暴力 新子进程TLS canary,存 破解 放于TLS 内canary 子进程中新老 栈桢返回崩溃 是否多见? fork时更新 效率较低 TLS和已有函 子进程返回 数栈帧的 时候时崩溃 canary
已有工作 同一进程使 用相同的 canary,存 放于TLS 可以被暴力 破解 fork时候更 新子进程TLS 内canary 子进程返回 时候时崩溃 fork时更新 TLS和已有函 数栈帧的 canary 效率较低 子进程中新老 栈桢返回崩溃 是否多见?

针对子进程新老栈桢返回情况是否多见的调研 常见的编程惯例是:fork+exit或者fork+exec函数组,其基于的现实依据是"实际 应用中,单纯让程序分叉意义不大,新增一个子程序,很可能是为了让子进程单独执行 一段代码,实现与主进程不同的功能,并且在执行结束退出子进程”。 已查看的服务器程序ngnix/sshd中,均采取fork+exec方式
常见的编程惯例是:fork + _exit 或者 fork + exec函数组,其基于的现实依据是”实际 应用中, 单纯让程序分叉意义不大, 新增一个子程序, 很可能是为了让子进程单独执行 一段代码, 实现与主进程不同的功能, 并且在执行结束退出子进程”。 已查看的服务器程序ngnix/sshd中,均采取fork + exec方式。 针对子进程新老栈桢返回情况是否多见的调研

DynaGuard针对子进程是否会返回到父进程栈桢的看法: 在一般意义下,RAF SSP无法保证程序的正确性。因为它假定一个子进程不会合法地 重复使用继承的栈桢并进行函数退出检查
在一般意义下,RAF SSP无法保证程序的正确性。因为它假定一个子进程不会合法地 重复使用继承的栈桢并进行函数退出检查。 DynaGuard针对子进程是否会返回到父进程栈桢的看法:

Redundant dynamic Canaryl的意义与优势: 意义: 提出一种在一般意义下能保证程序正确性的更加健壮的栈保护技术 优势: 更加简洁地设计思路,改动小,性能开销小
意义: 提出一种在一般意义下能保证程序正确性的更加健壮的栈保护技术 优势: 更加简洁地设计思路,改动小,性能开销小 Redundant dynamic Canary的意义与优势:

实现方法 防止暴力破解 效率 正确性 stack guard 返回地址之前插入 最高 canary Preventing brute fork时候更新子线程 高 force attacks canary dynamic guard 记录父进程的函数 低 栈帧的canary位置, fork时更新。 Dynamic Canary 对程序中的canary建 低 Randomization 立链表,动态更新 所有canary Redundantdynamic 使用动态冗余的 高 Canary canary,变换插入值, 不变比对值
实现方法 防止暴力破解 效率 正确性 stack guard 返回地址之前插入 canary 最高 Preventing brute force attacks fork时候更新子线程 canary 高 dynamic guard 记录父进程的函数 栈帧的canary位置, fork时更新。 低 Dynamic Canary Randomization 对程序中的canary建 立链表,动态更新 所有canary 低 Redundant dynamic Canary 使用动态冗余的 canary,变换插入值, 不变比对值 高

实现思路 设计一个可以随时更新TLS内canaryl的值,但是又不影响已经存在的函数栈帧返回时 canaryl的比对。 这要求我们canary存在冗余,这种冗余使得canary可以不断的变化,但是包含有不变 的信息,该不变的信息用于我们在返回时进行比对
设计一个可以随时更新TLS内canary的值,但是又不影响已经存在的函数栈帧返回时 canary的比对。 这要求我们canary存在冗余,这种冗余使得canary可以不断的变化,但是包含有不变 的信息,该不变的信息用于我们在返回时进行比对。 实现思路

2byte canary A ret_aaddress C XOR 2 byte random num B B C
ret_aaddress B C 2byte canary A 2 byte random num B C XOR

2byte canary A ret_aaddress 比对 B XOR A
ret_aaddress B C 2byte canary A XOR A 比对

2byte canary A ret_aaddress C XOR 2 byte random num B B update B when fork a new process!
ret_aaddress B C 2byte canary A 2 byte random num B C XOR update B when fork a new process!
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Defense against Control Flow Hijack Defense - StackGuard, DEP, and ASLR.pdf
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Buffer Overflow Attack.pdf
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Software Security Overview.pptx
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Introduction to the course.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第9章 入侵检测系统.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第8章 抗恶意软件.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第7章 网络边防.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第6章 无线网安全性.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第5章 实用的网络安全协议.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第3章 公钥密码体系与密钥管理.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第4章 数据认证.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第2章 数据加密算法.pdf
- 海南大学:《网络安全技术》课程教学资源(课件讲稿)第1章 网络安全概论(齐琦).pdf
- 电子科技大学:《数字图像处理》课程教学资源(课件讲稿)第十章 图像分割.pdf
- 电子科技大学:《数字图像处理》课程教学资源(课件讲稿)第五章 图像复原(图像几何校正).pdf
- 电子科技大学:《数字图像处理》课程教学资源(课件讲稿)第九章 形态学图像处理.pdf
- 电子科技大学:《数字图像处理》课程教学资源(课件讲稿)第六章 彩色图像处理.pdf
- 电子科技大学:《数字图像处理》课程教学资源(课件讲稿)第五章 图像复原.pdf
- 电子科技大学:《数字图像处理》课程教学资源(课件讲稿)第四章 频域图像增强.pdf
- 电子科技大学:《数字图像处理》课程教学资源(课件讲稿)第三章 空间域图像增强.pdf
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Control Flow Integrity.pptx
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Format String Attacks.pptx
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Return-Orinted Programming(ROP Attack).ppt
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Control Flow - Representation, Extraction and Applications.pptx
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Program Analysis - Data Flow Analysis.pptx
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Taint Analysis.pptx
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Use-after-free.pptx
- 南京大学:《软件安全 Software Security》课程教学资源(PPT课件讲稿)Byzantine Generals Problem.ppt
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Finite Automata.pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Context Free Grammar.pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Regular Expression.pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Pushdown Automata.pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Properties of CFL(The Pumping Lemma for CFL’s).pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Turing Machine.pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Transition System.pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Petri Net.pptx
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Timed Automata.ppt
- 南京大学:《形式语言与自动机 Formal Languages and Automata》课程教学资源(PPT课件讲稿)Decidability, Complexity(P, NP, NPC and related).pptx
- 《大数据 Big Data》课程教学资源(参考文献)Learning to Hash for Big Data Retrieval and Mining(南京大学:李武军).pdf
- 《大数据 Big Data》课程教学资源(参考文献)Learning to Hash for Big Data Retrieval and Mining(南京大学:李武军).pdf