物理攻击规避(Physical Attack Mitigation)
目錄
- 1、故障注入的高級視圖
- 2、Software countermeasures(軟件對策)
- 3、Generic countermeasures(通用對策)
- 4、Attack vs. Protection
1、故障注入的高級視圖
(1)、故障是改變電路正確預期行為的物理干擾
(2)、它可以是電壓或溫度的變化,也可以是激光或電磁脈沖… 都有不同的效果
(3)、影響可能是永久性的(損害),也可能是短暫的
(4)、物理訪問并不總是需要,如rowhammer 或 clkscrew
(5)、與可靠性密切相關
- 可靠性與“隨機”危險有關
- 故障注入與主動引入危害的相對
(6)、這是一個復雜的領域
- 故障沒有被很好地理解
- 這是一個活躍的研究領域
(7)、所有的錯誤模型–——但每個模型都解決了一些觀察到的故障的特定方面,因此很有用
(8)、歸根結底就是使用不同的模型來探索和推理未知/復雜環境
下圖來自“對安全嵌入式軟件的故障攻擊"模型:
2、Software countermeasures(軟件對策)
(1)、目標是防止數據和控制流篡改
(2)、有專用的硬件組件可以提供一定程度的保護,但軟件對策提供了額外的防御級別——縱深防御方法
(3)、雖然硬件和軟件都無法保證防御這些攻擊,但應對措施越多,攻擊就越難。
(4)、有一些實用的技術可以應用于編碼并顯著降低成功攻擊的可能性
3、Generic countermeasures(通用對策)
針對物理攻擊的軟件抵御技術
(1)、復雜(large hamming distance) 常量:需要翻轉更多位才能將一個有效值更改為另一個有效值
(2)、雙重檢查,switch/case 雙重檢查:通過兩次檢查相同的條件,使攻擊分支條件變得更加困難。 如果存在不一致,可以主動檢測篡改企圖
(3)、循環完整性檢查:確保重要的循環被執行,循環后檢查預期的索引值。
(4)、默認失敗:跳過指令或攻擊PC可以繞過重要代碼。 檢查和分支的默認值是失敗的情況
(5)、Flow Monitor:跟蹤程序的狀態,檢查其期望值以確保程序不處于意外狀態。
一些參考:
https://www.cl.cam.ac.uk/~rja14/Papers/whatyouc.pdf
https://www.riscure.com/uploads/2018/11/201708_Riscure_Whitepaper_Side_Channel_Patterns.pdf
4、Attack vs. Protection
(1)、How to perform an attack?
- 雖然物理攻擊看似很難,但是仍然有很多很多的攻擊方法
- 有商業工具可以破壞設備進行故障注入:Chip Whisperer
- 兼容商用設備的軟件框架降低攻擊門檻
- 攻擊性設備成本也是比較低的
看起來attack比protect against容易得多
(2)、How to be protected?
- 通用解決方案不存在
- 許多研究論文,但沒有多少實用信息。
- 沒有經過測試的開源解決方案,沒有編譯器支持
- 認證產品通常包含專有和封閉源代碼
- 編譯后的代碼取決于實際的編譯器、優化級別、架構等。
- 編譯后的代碼必須經過驗證。 在 C 級別上似乎安全,但二進制文件可能不…
總結
以上是生活随笔為你收集整理的物理攻击规避(Physical Attack Mitigation)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Introduction to the
- 下一篇: ASLR in optee