精華區beta NetSecurity 關於我們 聯絡資訊
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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 183.76.168.161 ※ 文章網址: https://www.ptt.cc/bbs/NetSecurity/M.1491313612.A.00B.html
CMJ0121: 話說我也跟這個技術不熟 有興趣的人可以參考交大的研究 04/05 06:33