Are there any security issues when communicating between applications on the same machine over sockets?


As long as you use the local loopback (localhost, or 127.x.x.x), the data never leaves the local machine, therefore there is no 'non physical' security issues.

The only thing I could see as an issue, is if an attack has local access to the machine that getting data off the network stack might be easier than getting it from your app.

If you really need same-machine communication on Windows, check out MSMQ, which works similarly, but doesn't require both apps to be on at all times, and creates individual app queues. It has the ability to be encrypted as well through some simple function calls, IIRC.

+2  A: 

When you say "security issues" you need to define your Threat model

Who may harm you?

  • Malware running within your PC
  • Malicious users controlling your PC
  • Malicious users over the network

What do you want to protect from?

  • Malicious message sniffing
  • Malicious message injection
  • Malicious message modification / deletion

There are always security issues. The question is are they relevant to your specific domain.

Lior Kogan
these are good questions, but the reason for making the question so broad was to include all. So, to answer your questions ... yes.
@asawilliams: As I mentioned, there are always security issues. We can evaluate different alternatives, but you must define specific threats. In some cases, the solution may be to hardening the OS, to close your PC behind bars, or to use armed personnel to guard it!
Lior Kogan
@asawilliamsAs Lori states, to which we can add the only secure data is shielded by numerous decipherments, and all manner of near-field paranoia ... which raises the question what are you trying to defend against? If your Threat Model involves real data actually used by others anywhere on the network, don't do it. They shouldn't even be able to see you. Putting up a broadcast listen makes all traffic seeable to anyone with the skills to put up a broadcast packet address. So what we have to do first is pull your threat model ( from asawilliams ) be though it may a speculative work ....
Nicholas Jordan
Sorry to make the Threat model so vague, but that information is sensitive to say the least. The customer is very paranoid about anything and everything. What ever crazy story you can come up related to security, thats what they are thinking about. Think James Bond type craziness.