Questions Regarding The Backround Network Scans Of rubyw.exe

I realized that while not connected to a VPN the PIA manager uses rubyw.exe to constantly make dozens of connections to various IP addresses, some seem to belong to privateinternetaccess (e.g. 50.23.131.243-static.reverse.softlayer.com:8888), some are clearly not (e.g. star-01-03-sjc1.facebook.com:80).

Screenshot of TCPView:
image

Being an IT security consultant I'm very concerned with security (which is why I'm using and paying for PIA), so I have some questions:
  • Why does the software do this? Please explain in detail. I'm not scared by technical descriptions but would consider answers like "to make the software work better" as an affront.
  • Why are connections to IPs being established that clearly have no connection with privateinternetaccess? How are addresses selected? What data is transmitted?
  • Why is rubyw.exe created dynamically on every start and how can I avoid this? My local firewall considers the exe as new file everytime (which it is) and won't remember the last allow/deny-answer.
  • Can the scanning be deactivated? The scanning probably violates the internet agreement that I have with my landlord. Also I find it unnecessary to have scans run constantly when I'm using PIA maybe twice a week.
  • Please confirm that you are NOT scanning or validating "free proxies" that may or may not be malicous, to use those later in paid VPN connections. Can I be sure that VPN connections go only through your very own servers or contracted partners that are obliged to your privacy and security terms?

I am going to analyze the HTTP traffic and parse the ruby scripts myself, anyway. But I would be happy to match answers from you with my own findings to get a clearer picture and decide if I can continue using PIA.

Regards, djk

«13

Comments

  • +1 PIA pls respond.
  • Wow, that's really surprising. 

    Why does the apps make connection to strange hosts (for example: online-market-place.com   ???)
    :-?


    Thanks for your finding djkrose 
  • yea this needs answering 
  • The illustrious rubyw.exe strikes again. I'm gradually beginning to hate this little program. 
  • I don't like all the files ruby creates and i've commented on that before, I find it sloppy at best. I've also read and witnessed all suspicions posted here and all were soundly explained and/or refuted. I'm not a tech guy but I do wonder about your question. Why do you post in general instead of emailing tech first? From what I've read here tech responds very well and they really know the intricacies. Don't you think they could give you the most succinct answer possible to your specific concerns without the public display having to console every possible fear prompted?
  • So, I'll track these one by one, after making a few quick notes that should help sort this out.

    Rubyw.exe is the windows ruby interpreter, and our software, runs as a packaged copy of our script + all required gems + the executable.  It bootstraps from the executable, extracts a copy of ruby and all gems needed to run.  Our developers are working on making it so it only does a single extraction, as we do have a number of complaints about it's re-extraction into a temp location every time it's run.  As this is a ruby script, it's seen as rubyw.exe, even though it's our app running.

    Why does the software do this?:  Our software makes network calls back to our servers in order to check and verify the ping time between your machine and our various servers.  As we do not maintain all servers in a geo-location in the same datacenter, it's possible to have some datacenters be faster than others.

    Non-PIA IP's being contacted:  This is just a rDNS error.  Your application is doing a rDNS lookup, and like a phone book, rDNS has to be updated, we keep ours updated to be reasonable, and to help disguise some of the connections, if you can run this without any access to rDNS, or nameserver lookups, you'll likely see that all of these are to PIA IP addresses.

    Rubyw - Discussed this above.

    Scanning deactivation - At this time, no, this is used to help determine the best server for you to connect to within the geo-location.

    Proxy scanning - We do no proxy scanning, and you will only be connecting to a PIA owned server for any VPN connections that you make.  We do not route customer connections anywhere but to servers under our control.

    Hope this helps to sort out some of the questions that you've got so far!
  • thanks for the reply 
  • edited February 2013
    Thank you, Alexander, for your detailed answers.

    This answers all my questions very well and it matches with my findings and assumptions so far. I will still validate the rDNS phenomen to check if all IPs can be assigned to PIA somehow, but what you describe sounds likely and I don't expect anything different to see.

    I hope that you can fix the unpacking of rubyw.exe some time. From a security standpoint its not ideal to give an interpreter full Internet access, because every application/malware can then execute their own scripts through it. Its the same with java.exe. - Maybe you can find a way to pack/compile the scripts and interpreter together into an exe that does only unpack in memory, just like Eclipse it does with java.

    Also, an option to reduce scanning would be nice. As for now, I disabled autostart and just start it manually when needed. Have to allow the rubyw.exe in the firewall manually, anyway.

    @Steevo: Even though I searched the forum before posting, I wasn't sure if this was answered before somewhere and wanted to give other users the chance to enlighten me. Also I thought, an answer from tech support might be interesting for others as well, and seeing all the "me too" replys, that seemed about right.

  • I you are actually concerned, just restrict internet access to a whitelist of PIA server IPs.
  • thanks djkrose and alexb this helped me a lot.

    And Steveo, I'm the reason djkrose should post in general.
  • I just noticed this myself and found this thread so I appreciate the djkrose for posting it up and alexb for responding because it means it has saved me needing to ask the same question. :)
  • Malwarebytes and PIA are not playing nice together at all.  I can put openvpn and rubyw on the ignore list in Malwarebytes, but as mentioned previously, rubyw is re-created again and again.  I like to have my Malwarebytes running but it is sometimes not allowing PIA to connect.  Any thoughts guys?
  • edited August 2013
    I also have noticed that Malwarebytes does not play well with PIA. I haven't found any solution for that yet, besides adding an exception to the ignore list every time it creates a new rubyw.exe in the Temp folder.

    Also, I'd like to comment that the OP by djkrose was much needed, as I too had the same question and found this post very helpful and negated the need for me to contact support to ask them the same questions they probably get all day.
  • +1 to the Malwarebytes incompatibility problem. It doesn't sound too friendly, perhaps, but I trust Malwarebytes more than Alexander's assurances on a forum that it's alright.

    There's something inherently wrong with a security-oriented product as PIA not jumping on a problem like this, which wrongly encourages people to relax (!) security settings. If this isn't addressed soon I'll deactivate PIA and not only stop recommending it but will actively discourage its use. It's been long enough; more than six months (!) since it was first flagged.
  • With all due respect, alexb is a trusted member of the staff of PIA. If you choose not to trust him, you may as well abondon the VPN altogether.

    I do not run Malwarebytes software and I have no problem. You can arbitrarily say one side or the other is to blame, but it is not really so simple for either side. PIA has no option to make Malwarebytes software accept that their VPN software is not malware. And Malwarebytes may not even know about the problem.

    You have several choices. You can either accept that the VPN is not malware and deactivate the Malwarebytes software that is causing problems, or accept that Malwarebytes is more trustworthy and stop using the VPN because it would interfere with your chosen programs.

    Or if you would like, you can contact Malwarebytes and ask them what needs to be done to remedy the situation. (Like I said, I do not use their software, but I have contacted them before, and I received a reply within about 30 hours telling me the answer to the question I asked.)
  • With all due respect, alexb is a trusted member of the staff of PIA. If you choose not to trust him, you may as well abondon the VPN altogether.
    Another dumb statement.


  • Another dumb statement.
    Another pointless insult. I hope your day is going well catcher749. :)
  • It's not mysterious. It's well known that the application fetches server information from privateinternetaccess.com at regular intervals, because that information regularly changes.
  • Perhaps I misunderstood:
    Why rubyw.exe needs to connect to the PIA website when the PIA VPN connection is disconnected and the PIA app is not being used is somewhat mysterious.
    So you were talking about rubyw.exe, which is the interpreter for the Ruby programming language in which PIA Manager is written. And I already told you why PIA Manager contacts PIA servers even if you're not connected.

    Perhaps you didn't understand the reason, so I'll elaborate on my previous post. PIA has a bunch of servers in every location. Connections to these servers need to be made based on their IP addresses, but servers can be down for maintenance (or other reasons), some servers could experience heavy load while others sit idle, or servers could get decomissioned for a variety of reasons. The set of available IP addresses and a subset of the currently least loaded IP addresses is managed by PIA. To get this information to its users, PIA has the client application pull it from their website in regular intervals. The application then does additional checks to see if IP addresses are reachable and to determine network latency by contacting those IP addresses directly.

    Mystery solved?

  • Sorry to say this, but you're reading too much into things that are just a design choice by the application developers. It might not be a logical choice from your point of view, but since you're asking all these questions about it, it's clear to me that you don't know all the details.

    You can, and probably should, be unhappy with the application's memory footprint and unusual behaviour. I'm not refuting your right to ask these questions. Just don't smash down the answers you're given just because you don't like them.

    For the record, I never suggested high memory consumption had anything to do with testing server reachability and latency. It's not the answer to every one of your questions.
  • By killing one of the rubyw.exe instances, the other can still bring it's partner back to life, as can the central pia_tray.exe app.  You don't explicitly cover what you've killed, so I'll take the assumption that the pia_tray is running.

    As I noted several posts ago in this thread, we do background network checks (Ping's to a select number of servers) based on the last downloaded data.  The reason we do this, is to ensure that if you do decide to bring up the tunnel, we can connect immediately, rather than waiting for the client to download a new set of IP's, and verify the viability at that time.

    You can check on some of what the app's up to in Program Files/pia_mananger/log, and it may give you some idea of what's happening, in particular, it usually shows the various downloads of the server cluster file, the information about ping responses, etc.  Past that, I can't get into it too much, but if you're seriously concerned, I would suggest going with a stock OpenVPN install, as it's fully open-source, and while you'll only be able to do bluefish based encryption (Default) for the time being, once we roll out the new ovpn files, you'll be able to configure the software to utilize the AES-NI acceleration, etc.

    As for the malwarebytes issue earlier, this is at it's core, an issue with the way we do our app packaging, we're working on ways to resolve this still, there are other options to setting up, such as manual OpenVPN installs, etc.  There's unfortunately, no way to get malwarebytes to ignore the temp rubyw.exe's at this time, as much as we'd like to make it possible.
  • I've posted similar concerns but now have more. I have already discussed problems with Personal Firewall continually flagging up the RubyW.exe activity because it is an exe created at each logon with a different file checksum (?) each time. Most firewalls will expect to register the same checksum on your system and flag alerts when things change. The alternative is most software firewalls will register 'applications' but Rubyw does not fit that category.

    My latest find is AVG2014 keeps alerting me to identity theft/access when Rubyw.exe starts up each time. I cannot treat Rubyw as 'safe' because it is a different file each time.

    I researched what other VPN service providers were offering and some have best accliams for their own in house written client applications. The problem with PIA client is it is quite a good re-package and GUI for the open source application, but seems to lack development to integrate with the real world of commonly used firewalls and anti virus applications in personal computers.

    Since PIA Client is the front door to new and less techi customers wanting a simple clean compatible background client, it should represent the commercial image and brand of the company, I certainly will be looking at the client apps used by other VPN services since that is what I am confronted with every day I boot my PC.

    I don't think open software integrated the way that PIA Client is deserves to represent PIAs front door, when the growing market will be from less technical users who will not know how to recognise issues in  their AV programs and disable protection features for PIA Client to run.

    I will sit waiting and holding my breath for something better!


  • My latest find is AVG2014 keeps alerting me to identity theft/access when Rubyw.exe starts up each time. I cannot treat Rubyw as 'safe' because it is a different file each time.

    I researched what other VPN service providers were offering and some have best accliams for their own in house written client applications. The problem with PIA client is it is quite a good re-package and GUI for the open source application, but seems to lack development to integrate with the real world of commonly used firewalls and anti virus applications in personal computers.

    Since PIA Client is the front door to new and less techi customers wanting a simple clean compatible background client, it should represent the commercial image and brand of the company, I certainly will be looking at the client apps used by other VPN services since that is what I am confronted with every day I boot my PC.


    You can always try the OpenVPN client by itself. You will no longer face the same issue. Configuration files are available on the client support page: https://www.privateinternetaccess.com/pages/client-support/
  • I have been having the same problems with PIA/Malwarebytes and this thread has been very helpful in understanding the issue.  Thanks to the OP for starting the discussion.

    I start and stop the PIA software manually.  Although I get the Malwarebytes warning, I simply ignore it and the PIA software connects anyway.  Sort of annoying but not really a big deal to me. I am not a techy so I may just be blissfully ignorant of the underlying problems, if any.  
  • My latest find is AVG2014 keeps alerting me to identity theft/access when Rubyw.exe starts up each time. I cannot treat Rubyw as 'safe' because it is a different file each time.

    I researched what other VPN service providers were offering and some have best accliams for their own in house written client applications. The problem with PIA client is it is quite a good re-package and GUI for the open source application, but seems to lack development to integrate with the real world of commonly used firewalls and anti virus applications in personal computers.

    Since PIA Client is the front door to new and less techi customers wanting a simple clean compatible background client, it should represent the commercial image and brand of the company, I certainly will be looking at the client apps used by other VPN services since that is what I am confronted with every day I boot my PC.


    You can always try the OpenVPN client by itself. You will no longer face the same issue. Configuration files are available on the client support page: https://www.privateinternetaccess.com/pages/client-support/
    the issue is when less tech-savvy people encounter this issue they may not be aware of this alternative, and will be faced with the choice of either not run the PIA app or disable their choice of protection which is a choice the app should not push people into in the first place. It needs to be fixed :/
  • Hello,

    I have the same issue. This process is using a lot a memory, up to 20Mb. And also he use the processor...

    :/
  • I would recommend the OpenVPN client as well.
  • I would recommend the OpenVPN client as well.
    Yes but it doesn't support "UDP". :/
  • I would recommend the OpenVPN client as well.
    Yes but it doesn't support "UDP". :/
    You are mistaken. OpenVPN does support UDP. The PIA Client is based upon OpenVPN.

    Hell, OpenVPN defaults to UDP until you tell it to use TCP.
  • I would recommend the OpenVPN client as well.
    Yes but it doesn't support "UDP". :/
    You are mistaken. OpenVPN does support UDP. The PIA Client is based upon OpenVPN.

    Hell, OpenVPN defaults to UDP until you tell it to use TCP.

    I've tried few months ago, it does not.
    I'll looking forward so. :)
Sign In or Register to comment.