Live data from Hacker News

eBay is port scanning visitors to their website

blog.nem.ec

91–100 of 148 posts

Re: eBay is port scanning visitors to their website

#91
post #89

I never understood why websockets aren’t subject to same origin policy and CORS (or similar policies). Any web expert here could explain this design (non-)decision?

Websockets are subject to the same origin policy. There's nothing you can do to violate the SOP via websockets that you wouldn't be able to do with regular HTTP or XHR.

Re: eBay is port scanning visitors to their website

#93

eBay has a big fraud headache. They have a bunch of algorithms (from the pre-ML-hype days) that take a variety of inputs to determine whether a given transaction is fraudulent or not. Presence of remote login service on the user’s computer may tip the scale heavily in this calculation. Fraud detection is a necessary evil for all financial transaction companies in order to keep costs low for everyone else. If you’re w…

> Fraud detection is a necessary evil for all financial transaction companies in order to keep costs low for everyone else.

That doesn't mean they should be allowed to behave like cybercriminals. The risk of fraud doesn't give them a free pass to abuse our trust and invade our privacy. They aren't entitled to know what software people run on their own computers. Especially if they learn this information through underhanded means like port scanning people's local networks without their permission or knowledge. It doesn't matter how much money they're losing because of fraud, they don't get to violate these boundaries in order to reduce the risk associated with their own business.

Re: eBay is port scanning visitors to their website

#94
post #89

I never understood why websockets aren’t subject to same origin policy and CORS (or similar policies). Any web expert here could explain this design (non-)decision?

Surprisingly often websocket connections are made to a different domain from what is serving the site itself. I'm not sure about the root cause to the pattern, but sure as hell know that our company has been doing it at least since 2013.

Browsers set the "Origin" header for ws:// calls, and the websocket servers are expected to check that. Without the check, it'd be possible to issue blind writes (CSRF) from random webpages to the ws:// endpoints. If you're using main site authentication with a separate websocket domain and auth'd requests, all garden variety security scanners will flag the separate websocket domain as a problem, and only the robust ones actually try to validate the server side configuration.

Disclosure: I have triaged and responded to a few of such reports.

Re: eBay is port scanning visitors to their website

#95
Google's internal sso (which I accidentally stumbled upon) collects other endpoint-specific parameters to compose the digital signature (like browser window size and monitor size).

This feels more effective and less intrusive. Not sure why ebay went this rather weird and creepy way instead.

Re: eBay is port scanning visitors to their website

#96

Google's internal sso (which I accidentally stumbled upon) collects other endpoint-specific parameters to compose the digital signature (like browser window size and monitor size). This feels more effective and less intrusive. Not sure why ebay went this rather weird and creepy way instead.

Looking for fraud signs is my guess, people don't usually use eBay through TeamViewer so if it's on and the port is open then an otherwise normal transaction gets really suspicious for example. They're probably feeding the open port info into their model to determine fraud risk for user logins and transactions.

They may not even be using it actively yet because they'd need to gather a lot of example data to detect outliers.

Re: eBay is port scanning visitors to their website

#97
post #9

I asked this earlier and nobody had a response, so thought I'd ask it again: is there an extension to block this? Edit: @Windows users: pip install pydivert and then try to write a script to block connections from Chrome to non-Chrome processes. you might need GetTcpTable2() or something. (Looking into this now. Check out http://stackoverflow.com/a/25431340 )

If this it WebRTC, uMatrix. Don't allow 127.0.0.1 anything, but specifically UHR requests in the UI. This is a fingerprinting technique I believe. My guess is they'll claim it's to prevent fraud.

Re: eBay is port scanning visitors to their website

#98
post #91
post #89

I never understood why websockets aren’t subject to same origin policy and CORS (or similar policies). Any web expert here could explain this design (non-)decision?

Websockets are subject to the same origin policy. There's nothing you can do to violate the SOP via websockets that you wouldn't be able to do with regular HTTP or XHR.

That's not true. You can talk to any other origin with ws. Simple example:

index.html:

  
    
    
      
      
        let ws = new WebSocket("ws://localhost:5000/");
        ws.onopen = () => ws.send("hello server!");
        ws.onmessage = ev => {
          const $message = document.getElementById("message");
          $message.textContent = `ws://localhost:5000/ response: ${ev.data}`;
        };
      
    
  
server.js:

  const express = require("express");
  const http = require("http");
  const WebSocket = require("ws");
  
  const app = express();
  const server = http.createServer(app);
  const wss = new WebSocket.Server({ server });
  
  wss.on("connection", ws => {
    ws.on("message", message => {
      console.log(`received: ${message}`);
      ws.send("hello client");
    });
  });
  
  server.listen(5000, () => console.log("ws server listening on localhost:5000"));
Server runs on localhost:5000. Now serve index.html from any other origin and see it talk to the server without any problem.

Re: eBay is port scanning visitors to their website

#99
post #94
post #89

I never understood why websockets aren’t subject to same origin policy and CORS (or similar policies). Any web expert here could explain this design (non-)decision?

Surprisingly often websocket connections are made to a different domain from what is serving the site itself. I'm not sure about the root cause to the pattern, but sure as hell know that our company has been doing it at least since 2013. Browsers set the "Origin" header for ws:// calls, and the websocket servers are expected to check that. Without the check, it'd be possible to issue blind writes (CSRF) from random w…

Connecting to a different domain is fine, that's what CORS is for. Letting any origin connect by default -- that's a problem.

> Browsers set the "Origin" header for ws:// calls, and the websocket servers are expected to check that.

I know that, but as always insecure by default protocols are terrible, and are guaranteed to be exploited beyond recognition... The question is why not be secure by default and force servers to whitelist origins they expect to talk to?

Re: eBay is port scanning visitors to their website

#100
post #36
post #17

Earlier quoted context omitted.

As far as I know these port scans are done using WebRTC. Using a browser extension[0] it is easy to deactivate it on the go. Personally, I always have WebRTC disabled by default (as it has several nasty security implications), and only activate it if I explicitly need it for something. [0] https://addons.mozilla.org/en-US/firefox/addon/happy-bonobo-...

This is the kind of thing the webkit team at apple raised as privacy problems with webrtc. They got called IE. But seriously, many new specs are very obviously abusable, yet on HN people seem unwilling to accept "this feature is trivially abusable" as a reason to not give developers a new feature, even when it is user hostile. Web specs, and the webdevs he frequently want them, need to consider abusive developers bei…

"IE". Difficult to search for what that means.
Post reply on HN