《08-ELF分頁簽名驗證技術1.pdf》由會員分享,可在線閱讀,更多相關《08-ELF分頁簽名驗證技術1.pdf(16頁珍藏版)》請在三個皮匠報告上搜索。
1、12025 年 3 月ELF分離式簽名分頁驗證技術2中 國操 作系 統 領創 者給 世界 更好 的 選擇目錄 技術背景技術背景 技術現狀技術現狀 解決方案解決方案 參考材料參考材料3中 國操 作系 統 領創 者給 世界 更好 的 選擇技術背景 ELF簽名現狀 插入簽名數據破壞插入簽名數據破壞ELFELF文件結構文件結構可能引發開源協議的法律糾紛可能引發開源協議的法律糾紛 可能導致原有的安全保護機制失效可能導致原有的安全保護機制失效 4中 國操 作系 統 領創 者給 世界 更好 的 選擇技術背景 ELFELF簽名現狀簽名現狀對不同大小文件計算sha256時間統計:簽名驗證時間開銷和文件大小成正比
2、 文件校驗后數據完整性不受保護,即數據換出時可能被篡改 5中 國操 作系 統 領創 者給 世界 更好 的 選擇背景 對所有代碼段數據計算摘要驗證簽名后,進程映射頁不受管控對不同大小文件計算sha256時間統計:風險點/缺點:1.驗證時間隨文件大小大致呈正比例增長,大文件對用戶體驗差2.ELF 驗證后二進制加載內容存在被篡改的可能性 3.每次mmap映射都會重復驗證導致資源浪費,可能存在二進制文件數據仍在page cahe6中 國操 作系 統 領創 者給 世界 更好 的 選擇技術現狀微軟PE Authenticode簽名uos目前簽名類似Authenticode,但Authenticode簽名可
3、支持分離式管理,可以單獨存放到被稱為Catalog-signed 的文件。這些文件或位于C:windownssystem32catroot 路徑下,以.cat后綴名結尾。Windows OS通過數據庫catdb管理這些文件,catdb或位于C:windownssystem32catroot2.7中 國操 作系 統 領創 者給 世界 更好 的 選擇技術現狀蘋果Mach-O 的code sign蘋果iOS 的二進制格式是Mach-O,由三個部分組成:Header,Load Commands,Data8中 國操 作系 統 領創 者給 世界 更好 的 選擇技術現狀蘋果Mach-O 的code sign
4、Header 包含文件魔術字(用于識別Mach-O格式文件),可執行文件類型,CPU架構,load command個數等。LC_CODE_SIGNATURE 包含Mach-O 文件代碼簽名數據,它只存儲指向signature blob的偏移位置,signature blob一般位于文件尾部。9中 國操 作系 統 領創 者給 世界 更好 的 選擇技術現狀蘋果Mach-O 的code signCode Signature以一個名為 super blob的結構開始,super blob后面跟著其他blob。在所有blob中,code directory blob 包含了代碼頁hash列表,這些has
5、h將參與簽名計算。10中 國操 作系 統 領創 者給 世界 更好 的 選擇解決方案問題問題解決方案解決方案措施措施ELF文件內容被破壞分離式簽名ELF 簽名后文件以build-id命名。ELF 校驗簽名時通過自身build-id在簽名文件安裝目錄查找簽名文件并讀取簽名數據進行校驗。GPL協議沖突問題ELF原有安全機制失效大文件校驗等待時間長分頁驗證簽名數據為ELF加載到內存頁的散列表,對散列表進行簽名。簽名數據在內存映射時候加載散列表,在page fault時校驗頁完整性。換出頁可能被篡改11中 國操 作系 統 領創 者給 世界 更好 的 選擇解決方案 生成以build-id命名的簽名文件 簽
6、名文件被壓縮為tarball文件歸檔到應用包 適配包管理工具來實現簽名文件的安裝和卸載以Debian應用包為例,可以通過適配dpkg hook機制在包安裝和卸載動作發生時觸發簽名文件的安裝和清理。ELF簽名管理12中 國操 作系 統 領創 者給 世界 更好 的 選擇解決方案 簽名文件頭用來查找和定位數據塊位置和大小 簽名數據塊以PKCS#7 signedData形式保存簽名數據。加載頁散列表保存各個待加載頁散列值數據。ELF簽名文件結構13中 國操 作系 統 領創 者給 世界 更好 的 選擇解決方案page fault處理流程介紹 14中 國操 作系 統 領創 者給 世界 更好 的 選擇解決方案說明:ELF文件在簽名時候其程序段加載頁散列表作為簽名數據被保存到簽名文件中。當ELF簽名校驗通過時將加載頁散列表導入到內核模塊作為頁完整性校驗的依據。ELF簽名校驗15中 國操 作系 統 領創 者給 世界 更好 的 選擇1.Demystifying iOS Code Signature2.macOS Universal binaries&Mach-O Format3.Microsoft Authenticode4.ELF Format參考材料參考材料16統信軟件官方微信公眾號統信軟件官方社群中 國 操 作 系 統 領 創 者給 世 界 更 好 的 選 擇