Initially sent a tweet on the observed behaviour of this -
https://twitter.com/bentasker/status/1367799187237142532
When you hit the Barclays Internet Banking login page, it'll freeze up and refuse to accept input for 10-15s
The underlying reason for this is probably that my adblocker is (correctly) blocking the domain
wup-6bb5a42d.eu.v2.we-stats.com.
There are a bunch of event listeners bound to fields etc on that page, which try to submit data out to that domain following user actions.
Activity
2021-03-05 16:25:42
2021-03-05 16:27:56
That's very much the cause, but kind of misses the point. The request was that they adjust so that their page handles things sanely when those domains are blocked, rather than locking the tab up for 10-15s.
2021-03-05 16:33:43
A bit of digging around suggests they're owned by Biocatch (https://www.biocatch.com/) - a US based company.
Essentially they profile the hell out of your usage to try and build a profile and discovered when someone else logs in as you.
However,
- I can't find reference to Biocatch or we-stats in Barclays GDPR statements (I'm willing to accept I've missed it somewhere)
- Biocatch don't have a GDPR statement, they've simply published a contact (https://www.biocatch.com/data-protection-contacts)
Which in terms of GDPR compliance, all seems a little bit suspect.
2021-03-05 16:41:56
Whilst the tool is (obviously) well-intentioned, the way it has been deployed is still extremely problematic.
It's used on login pages - pages where users enter shared secrets (in Barclays case, passcode and parts of the memorable word - also the userid, but that's not a secret). A compromise of we-stats would mean that that information becomes compromised.
History has shown that these compromises can, and do happen.
Barclays as a bank, are presumably fairly familiar with magecart - https://www.techrepublic.com/article/magecart-attack-what-it-is-how-it-works-and-how-to-prevent-it/ - where attackers managed to compromise "legitimate" sources to inject arbitrary JS and steal credit card details. It's exactly that sort of attack that's problematic here, the credentials being entered potentially give direct access to a user's bank account.
Supply chain attacks aren't new either, in fact, there's even one in the news at the moment - the Solarwinds compromise: https://www.politico.eu/article/solarwinds-largest-cyberattack-ever-microsoft-president-brad-smith/ - a compromise of an important point in the supply chain has yielded access to Government and business systems alike.
According to their website, Biocatch's core customer base consists of
- Banking
- Insurance
- Payments
Which likely makes them ripe targets for attack. It's reasonably easy to find on the net that Natwest and Halifax have both used we-stats in the past, so a successful compromise of Biocatch's systems could affect a sizeable portion of the UK userbase.
A simple route to mitigation, of course, would be to only use
Whilst that'd still be problematic if compromised, it would at least prevent an attacker from quietly collecting credentials for later use/re-sale.
2021-03-05 16:43:32
The thing I'd like to see fixed is:
- Gracefully handle
The bits that Barclays really should fix though is
- Remove
- Update the GDPR statement (or make it more easily discoverable)
2021-03-05 16:49:46
2021-03-05 17:15:59
Looks like Biocatch is actually Israeli rather than American, not that it makes much difference, it's still an undisclosed 3rd party.
A quick deobfuscation of the calling JS (embedded into the anchor page itself) shows there's quite a complex implementation in there. They even seem to have included Pako (a javascript zlib implementation).
2021-03-05 17:41:00
If we look at a blame of the source - https://github.com/easylist/easylist/blame/master/easyprivacy/easyprivacy_trackingservers.txt#L2780 we can see it's been there for about 2 years having been added in https://github.com/easylist/easylist/commit/5ddc7f37e277f39b31a1c8b9969dd94a5acdc7cb
I wonder if they've been screwing up the login flow for 2 years then...
2021-03-09 10:27:13
Which, again, ignores the points that
- I don't want that
- I haven't consented to that (it's not in their GDPR statement, at least in an easily findable form)
- The benefits of that are quite clearly outweighed by providing a means for a third party to collect login credentials
- Arguably, any good programmer/PM should be concerned that they're locking up a tab because of an easily predictable circumstance (if
This has become a bit of a dog-with-a-bone thing now, so I've fired a complaint in
There's a char limit on the complaint form, so had to try and keep it fairly brief.
As a hit of final irony, they locked up the complaint form with the
2021-05-26 08:44:45
2021-05-26 08:44:52
2021-05-26 08:44:52
2021-05-26 08:44:56
2021-06-17 14:51:19