Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to ensure a .Net application is genuine?

In a client-server application how can the server know that a request comes from a genuine application and not from a tampered copy of it? I still haven't developed neither the client nor the server application. The solution may be plain socket, wcf, IIS hosted or whatever.

like image 356
Eduardo Avatar asked Dec 07 '22 01:12

Eduardo


1 Answers

There really isn't a way. Anything you could ask for the app to provide, a rogue app could spoof. Ultimately the answer is that you shouldn't trust any client application. You can trust users provided they've authenticated, but the client itself is 100% untrustworthy.

To illustrate this completely, I could run all of the traffic through a proxy server and inject/remove messages at will. Then you've got a legitimate client with spurious messages.

Now if you're talking about a library that you plan on using on a client, making sure it hasn't been tampered with, that's what strong naming assemblies is for. But that wouldn't help you over the wire.

like image 192
Hounshell Avatar answered Dec 09 '22 14:12

Hounshell