CSP课堂零零碎碎的笔记

这篇文章纪录一些上csp课程的时候课堂上记录下来的笔记,虽然感觉以后看得可能性不大,但是直接删了可惜,暂且放在这边吧

------------------------------------------------

12-6

读文件为何要write:写最近打开时间,在node里有access time.可以禁用

写文件: foo node write :modify time:上次写的时间

bar node writemtime block numbersize


输入参数currenttrack

忽视 unsigned int->int 转换可能会有负数

构造header,获得任意写权限


所有的设备看成文件

IOCTLs

为了解决对文件除了open close read write进行的操作的

参数:cmd data

int 类型需要判断大于某个数也要判断小于某个数(负数)

EIP变成任意想设定的值


整型溢出

将赋值操作变为 if判断,然后赋值

side-channel


javaheap上不计算,在stack上计算


播放再录音,绕过taint

文件通过放到网上再下载下来,其中有些属性会消失



 跳转指令每5行汇编有一个,basic block 5行汇编

indirect call:ecx

shadow stack:

纪录函数调用栈

BTS:非常有用debug

call set

longjmp

reference monitor:引用监视器;file descriptor是一个经典实例



流敏感(flow-sensitive指的是考虑程序语句执行的顺序,例如在数据流分析中的指针别名(Pointer Alias)分析中,一个非流敏感指针别名分析可能得出变量xy可能会指向同一位置,而流敏感指针别名分析得出的结论类似于在执行第20条指令后,变量xy可能会指向同一位置。所以,一个非流敏感指针别名分析不考虑控制流,并认为所发现的别名在程序所有位置均成立。

路径敏感(path-sensitive指的是依据条件分支语句的不同谓词,计算不同的分析信息,也就是说,路径敏感将跟踪程序控制流的每一个分支,以记录两个分支路径的不同程序状态。相应的,非路径敏感并不考虑分支之间的区别。简单的路径敏感存在路径爆炸path explosion)或无穷搜索空间infinite search space)的问题。

上下文敏感(context-sensitive指的是在过程间分析( Interprocedural Analysis)时,考虑函数调用的上下文信息。


1、流敏感/流不敏感是针对是否考虑过程内的控制流情况的,过程内的控制流图会有分支、循环等情况,流敏感是指考虑过程内(被调用过程或函数内)的控制流情况;反之,流不敏感是指不考虑过程内的控制流情况,只考虑过程间的情况。

2、上下文敏感/上下文不敏感是针对是否考虑函数的不同调用点,因为一个子过程或函数可能会被多个过程调用,那么在不同的过程调用它的时候,对于传给它的实际参数或当时的全局变量有可能会不同,这些被称之为上下文,上下文敏感是考虑了这些不同,上下文不敏感则将一个子过程或函数用唯一的一种情况来分析。


q1:粗粒度CFI的问题本质就在于归类各个目标集合

针对上下文敏感的方式,这种攻击方式应该没有用


paper2

CFG生成针对二进制文件先反汇编?

CFG针对粗粒度还是细粒度,还是都可以?

优化CFG,去除没用的边,之后加回来==

ABC,但是这次没有调用,去除其他的,等于是在动态执行的时候优化?

静态分析:全部枚举,



Taint

Taint Tracking DIFT DIFC相似

只关注数据的流动;哪些地方需要染色?taint的传播咋做?如何在出口的地方拦截?最难的是传播。性能

访存指令



java是类型安全的


return to libs  执行函数system()  execs()

问题1:不调用这两个函数

-问题2:不想执行这个函数

只适用于正好调用这两个函数的


写栈?攻击者利用一系列POP操作完成写操作


caller callee

canaries:金丝雀对瓦斯敏感


 respawnscrash之后重启

dup2(sock,0)



CPI

敏感指针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值