In .NET one can start a process the following way:
using System.Diagnostics;
Process.Start("process.exe");
If the process.exe
is what the developer intended, everything is great. What happens if someone goes in and replaces process.exe
with a malicious executable?
Is there anyway to ensure that the executable is the one that the developer specified?
My first thought was to have a checksum of the intended executable hardcoded in the application to test against the file on disk.
Is this the right approach or is there some built in functionality I am not aware of?