回答
只是不要讓應用程序做任何事你不會讓修改應用程序的人去做。然後,應用程序是否被修改並不重要。
您提出的解決方案就像一家銀行試圖設計一支筆,該筆不能用於編寫錯誤的支票,然後試圖確保客戶始終使用該支票來編寫支票。不必擔心用戶使用什麼筆來編寫支票,而是拒絕任何超過客戶餘額的支票,這更爲理智。
或者,換一種說法:
1)如果應用程序要求你的web服務做一些事情,你不希望它做的,沒有什麼區別,如果應用程序被修改或沒有?
2)如果應用程序要求您的Web服務執行某件您確實希望執行的操作,那麼如果應用程序被修改或不是它會產生什麼影響?
總之,沒有區別。
最好的方法是計算可執行文件的校驗和並將其存儲在安全的地方。您可以隨時重新計算校驗和並根據存儲的校驗和進行驗證。如果該值不匹配,則可執行文件已更改。這就是互聯網上大部分可用下載的操作。發佈者與下載一起發佈校驗和。該下載可以被鏡像。預計從鏡像站點下載的用戶將與發佈的chekcsum的下載校驗和相匹配,以確保下載沒有被篡改。
雖然David's answer是我對您問題的看法的一個很好的總結(比我自己可以說的更好),但我確實認識到有些環境確實想要完成您所要求的:通過某種方式來證明一個遠程系統,你真正運行的是你所說的軟件。
IBM's TrouSers是正在努力使remote attestation成爲現實的軟件堆棧的一部分。整個堆棧依賴於某些商品主板中內置的TPM芯片,執行引導加載程序的加密校驗和的可信BIOS,執行操作系統內核和重要系統實用程序的加密校驗和的可信引導加載程序以及操作系統支持(TrouSers),可以管理TPM並驗證相關軟件。
重要的是要注意,TPM芯片是而不是設計用於FIPS 140型防篡改保護。即使擁有完全可操作的遠程認證堆棧,硬件擁有者也可以按自己的意願做或多或少的事情。因此,在硬件上進行良好的物理安全控制以防止不受信任的人篡改設備至關重要。
- 1. 檢測ObservableCollection是否已被修改
- 2. 測試JavaScript是否已被修改
- 3. 檢查文件是否已被修改
- 4. 檢查字段是否已被修改
- 5. 檢查位圖是否已被修改
- 6. 檢查網頁是否已被修改
- 7. 檢測插件是否已被應用
- 8. 檢測textarea的值是否被修改
- 9. 如何檢查文件是否在程序之外被修改?
- 10. 如何檢查PDF是否被修改
- 11. 如何檢查PictureBox的圖像是否已被修改?
- 12. 如何檢查TField是否已被手動修改
- 13. 如何檢查文件是否已被修改在c#
- 14. 如何在Flex應用程序中檢測相機是否已被其他應用程序使用?
- 15. 如何檢測圖像是否被修改?
- 16. 檢測用戶是否修改了程序使用的dll
- 17. 如何檢查頁面內容是否被修改?
- 18. 檢查用戶是否已修改Facebook權限對於應用程序
- 19. 是否可以從Windows8.1應用程序更改桌面壁紙?
- 20. 檢查網頁是否被修改/已過期用Ruby
- 21. 如何檢查用戶是否與c + +桌面應用程序在線
- 22. 如何以編程方式檢測在Windows桌面應用程序中是否啓用/禁用javascript? (WebBrowser控件)
- 23. 如何檢測程序是否已使用-threaded編譯?
- 24. git如何檢測文件已被修改?
- 25. 檢測您是否在桌面上
- 26. 檢測GPS是否被Android應用程序使用
- 27. 檢測是否應用了某個修補程序
- 28. 檢測網絡應用程序是否已「安裝」
- 29. 檢測應用程序是否已關閉或暫停
- 30. 檢測我的應用程序是否已卸載
它可能是任何應用程序,還是您(或貴公司)製作的特定應用程序? –
該公司構建的自定義應用程序,所以我們知道這些文件,這是否意味着,該應用程序加載時,應用程序可以檢查chekcsum?這是唯一的方法? – 001
你的威脅模型是什麼?也就是說,你認爲你需要檢查應用程序是否被修改了? –