2017.W14 - Symbolic Execution - 資安

Table of Contents

2017.W14 - Symbolic Execution
> 寫專欄被干擾 有點兒尷尬 >////<

## 前言 ##
簡單但又很基本的概念

可以找到潛在漏洞 並且找到可行的可控部分


## 內容 ##
Symoblic Execution[0] 又稱之為符號執行 可以透過分析軟體來找到特定的攻擊手法

藉由控制改變輸入的內容 找到可以控制的攻擊方式



在軟體開發過程中 時常會遇到各種軟體程式上的 bug

像是 SIGILL 或者是 SIGSEGV[1] 就是會造成程式不正常結束的一種中斷[2]

這些中斷本身都具有潛在的安全性漏洞 像是 buffer overflow[3] 或 ROP[4]

但是造成這些異常中斷 到可以有效利用的安全漏洞中還有著不小的距離

Symbolic Execution 就是一個有效的漏洞挖掘方式



這種檢測方式 利用特定的輸入字串 (Symbolic) 並且試圖觸發漏洞

當找到一個輸入方式 可以影響程式運行時某個階段的狀態

例如暫存器 (register) 值或更前端的網頁內容時 代表存在一個可行的攻擊方式

透過這種方式 可以快速的找到潛在的漏洞



相對的 如果要找到所有可能的輸入狀況

就需要大量且重複運行程式 並檢測所有預計的潛在可控漏洞

這就需要花費大量的時間與運算資源




[0]: https://en.wikipedia.org/wiki/Symbolic_execution
[1]: https://zh.wikipedia.org/zh-hant/SIGSEGV
[2]: https://en.wikipedia.org/wiki/Unix_signal#POSIX_signals
[3]: https://en.wikipedia.org/wiki/Buffer_overflow
[4]: https://en.wikipedia.org/wiki/Return-oriented_programming

--

All Comments

Margaret avatarMargaret2017-04-07
話說我也跟這個技術不熟 有興趣的人可以參考交大的研究