I want to do inter process communication between Firefox (via extension) and my application. Both reside in "Program files" (of windows 7 OS). I also assume that malware is running in the system and have user level privilege (and not admin level).

Can I rely on windows security to make sure that Firefox or my application is not modified by malware or new files are not added in program files?

OR; in other word is it safe to assume that operating system makes sure that one cannot add or modify files under "program files" with out admin privilege?


If you're assuming that the malware is running as a UAC limited user, then you should assume that it has the capability to escalate itself to administrator. Privesc on Windows is trivial, since you can just trick the user into thinking a legit software update operation is occurring and they'll almost always accept the escalation prompt. There are many other avenues for escalation too.

That being said, if you're doing IPC, do it properly - use a named pipe. They're not tied to the filesystem permissions model, and you can set your own ACL on it. Even better, once you've created it and accepted the other endpoint, you can stop accepting new client connections, increasing security.

| improve this answer | |
  • Currently I am using UDP socket, is named pipe better than than UDP socket in term of security? – amit Nov 22 '13 at 18:30
  • UDP sockets can't have ACLs applied, so any process can send packets to it. Named pipes can be locked down with ACLs. – Polynomial Nov 23 '13 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.