主要看了两个方面的东西:
1. BitBlaze上三个应用中的一个 - Automatic Model Extraction and Analysis2. 一篇论文 - Detecting Attacks That Exploit Application-Logic Errors Through Application-Level Auditing心得总结:
1. Automatic Model Extraction and Analysis下的三个实际应用
1) 网络协议的逆向工程 - 用于network trace reply
2) 检查不同的网络协议与specification的偏差 - binary的检查
3) 从Browser的content sniff算法中提取security-related model分析XSS可利用的漏洞
* content sniff的意思就是,可以嗅到不同的浏览器,然后可以根据浏览器特性选择不用的数据(html, css, dom)2. 应用三 - Extracting security-related models from browsers for analysis and vulnerability discovery
增加的东西是:symbolic execution里面加上对产生string有利的一些方法
3. Detecting Attacks That Exploit Application-Logic Errors Through Application-Level Auditing3.1 两种IDS:NIDS(Network-based, 分析网络上的包),HIDS(Host-based,分析OS audit data)。
3.2 相关研究:
a) instrumentation的难点
- 需要hook - 不是一般的应用都提供hook的点,或者在需要的地方提供合适的hook点 - application-specific的扩展性很差因此,解决方案 => dynamic binary rewriting - control flow的任何位置都能够hook
b) dynamic binary rewriting使用的工具 - Dyninst [3]B. Buck and J. K. Hollingsworth. An API for Runtime Code Patching. The International Journal of High Performance Computing Applications, 14(4):317–329, Winter 2000.