簡體   English   中英

.net中客戶端/服務器應用程序中dll文件的安全性

[英]The security of dll files in a Client/Server application in .net

我要編寫一個客戶端/服務器應用程序。 其中有些模棱兩可的概念,經過許多小時的搜索后我仍然無法獲得答案。

眾所周知,.Net框架的主要警告之一是可以在客戶端計算機上對DLL文件進行反編譯和反向工程。

現在我的問題是可以將客戶端所需的一些DLL文件放到服務器上嗎?

並且,如果為真,那么它是否將完全安全,還是仍然可以接受餅干進行逆向工程/反編譯?

編輯:問題是不同的,因為它要求在客戶端/服務器應用程序的上下文中的安全性。

為了使客戶端使用dll文件,必須將其從服務器下載到客戶端。 因此,再次進行逆向工程成為可能。 它基本上沒有解決任何問題。

我認為您的目標應該是在大多數邏輯服務器端上使客戶端盡可能地瘦。 雖然我不知道您的客戶端/服務器應用程序的詳細信息,但是可以想到使用客戶端調用的Web服務來訪問服務器。 這樣,您只需要確保對Web服務器的客戶端身份驗證是可靠的,並且可以對來自客戶端的任何傳入輸入進行健全性檢查。

這完全取決於您的實現-如果您在某個時候將模塊流式傳輸到客戶端,則可以將它們轉儲和撤消。 如果僅將功能保留在服務器端,而僅將結果返回給客戶端,則將更加安全。

任何軟件(而不僅僅是.NET)的一般經驗法則是,可以對存在的任何內容進行逆向工程。 我個人不會說這是“ .NET的主要警告之一”。

基本上,如果要通過使用客戶機/服務器模型來保護自己免受逆向工程的侵害,則有一些適用的經驗法則:

  • 服務器永遠不要信任客戶端
  • 在服務器端保留盡可能多的實際實現
  • 不要將模塊流式傳輸到客戶端
  • 使用正確的身份驗證和速率限制請求,因此您的服務器不能僅用於“轉儲”來自以下服務器的響應

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM