2012-02-09 107 views
0

我們在這裏設置了每個進程簽名。我們有一個具有SYSTEM權限的進程,用於公開COM接口。我們不希望除我們簽署的流程外使用COM接口。有什麼辦法可以做到這一點?我們也在探索其他可能允許這樣做的Windows IPC機制。隨意建議使其成爲可能的其他IPC機制。 目前我們正在發送pid以及請求,但這很容易被欺騙。有什麼建議麼?Com客戶端認證

回答

0
  1. 註冊一個自定義的代理/存根或進程內處理程序,並有代理或合併處理的代碼,會檢查二進制簽名。

  2. 通過一個inproc COM對象進行所有訪問,該對象執行驗證並通過服務器進行質詢/響應過程。當然,如果它們在調試器上很方便,也可以被欺騙。

  3. 只要放棄就可以了。即使是已簽名的進程也可能被欺騙 - 使用具有掛起標誌的CreateProcess,注入DLL並使用JMP將入口點覆蓋到DLL中。第一個電話是一個睡眠(1000),所以允許它運行500毫秒,然後用原始代碼替換你的跳轉。現在,您正在DLL中運行代碼,但EXE尚未修改。

即使沒有使用調試API。哎呀,他們可以修補您的服務以取消支票!