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?

1 Answer 1


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.

  • Currently I am using UDP socket, is named pipe better than than UDP socket in term of security?
    – amit
    Nov 22, 2013 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, 2013 at 13:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .