News for hackers. Stuff that matters.
Re:GitHub sued for aiding hacking in Capital One breach by nickjj on Sunday August 04, 2019 @11:00AM (#20606900)
> The plaintiffs believe that because Social Security numbers had a fixed format, GitHub should have been able to identify and remove this data

I don't see how they can expect to enforce this with 100% accuracy.

SSNs do have a fixed format but other things could potentially follow the same format.

For example what if you had a library that lets you configure randomly generated codes in a XXX-XX-XXXX format and it just so happens one of the random codes matches a valid SSN pattern?

Is GitHub going to mess with your code? What if you have tests that matched on a hardcoded random number in a SSN-like format. If GitHub scrubs that then suddenly your CI tests might not pass. Also how would it deal with modifying your git history so others couldn't clone it with the potentially sensitive data?

Re:GitHub sued for aiding hacking in Capital One breach by greggyb on Sunday August 04, 2019 @01:01PM (#20607732)
> SSNs do have a fixed format but other things could potentially follow the same format.

I even have trouble with this premise, in addition to general agreement with a lot of the other comments in this tree arguing that SSN detection is a red herring.

I agree that displaying SSNs for human consumption has an agreed upon standard format. This doesn't imply that code (and therefore any tests or distributions of data) working with SSNs is handling them as XXX-XX-XXXX.

I've seen plenty of clients storing them without dashes in database tables. I saw one storing them as INTs and handling padding in display logic. I don't know if an SSN can start with a leading 0, but they guarded against that.

Especially given the storage and memory implications of a 32-bit integer vs a 9-11 character string, I see lots of reasons to work with SSNs in code as ints. Should we flag all ints as SSNs? Or maybe we can be "reasonable" and flag any integer in the range 100,000,000-999,999,999 (aka 100-00-0000 to 999-99-9999) as an SSN?

I can trivially generate a list containing all valid SSNs with a simple loop. Should I hesitate to publish code with loops over integers in the range above? That code could easily be used by a malicious hacker to generate the SSN list!

Re:GitHub sued for aiding hacking in Capital One breach by mtrpcic on Sunday August 04, 2019 @11:41AM (#20607174)
Or any codebase that might have an SSN input and has a test suite with mock SSNs to test against.
Re:GitHub sued for aiding hacking in Capital One breach by wolf550e on Sunday August 04, 2019 @12:28PM (#20607472)
SSNs don't have a checksum like credit card numbers do (or like national identity card numbers do), because the SSN is not meant to be used the way it is used.

https://www.youtube.com/watch?v=Erp8IAUouus

Re:GitHub sued for aiding hacking in Capital One breach by ilkkao on Sunday August 04, 2019 @01:16PM (#20607839)
In many countries they have. Which leads me wonder if github is expected to detect all formats there are around the globe
Re:GitHub sued for aiding hacking in Capital One breach by Nevermindmine on Sunday August 04, 2019 @04:05PM (#20608926)
But do many countries treat them as secrets? Where I live, my number is a unique identifier for me but it's not secret. Because, you know, sharing secrets isn't smart and leads to the recurring issues we see in the US.
Re:GitHub sued for aiding hacking in Capital One breach by nickjj on Sunday August 04, 2019 @05:24PM (#20609314)
I'm from the US and I remember about 20 years ago I registered for a Blockbluster card (a way to rent DVDs from Blockbuster) and the form required putting my full social security number on it. In the US it's supposed to be secret but lots of places want access to it. Blockbuster never got my SSN and they did let me sign up without providing it. It's crazy they would even ask.
Re:GitHub sued for aiding hacking in Capital One breach by donarb on Sunday August 04, 2019 @12:52PM (#20607657)
This is a moot point as Capital One and GitHub have both stated that no personal information from the hack was stored on GitHub's servers.
Re:GitHub sued for aiding hacking in Capital One breach by colejohnson66 on Sunday August 04, 2019 @12:24PM (#20607439)
I’m reminded of a webpage that claimed to know your pin for your credit card; just do a find in page to see! In reality, it just had all 10,000 possible numbers listed in numerical order
Re:GitHub sued for aiding hacking in Capital One breach by dahfizz on Sunday August 04, 2019 @12:34PM (#20607529)
Pro tip: lots of banks let you set a pin longer than 4 digits.
Re:GitHub sued for aiding hacking in Capital One breach by dantillberg on Sunday August 04, 2019 @12:37PM (#20607551)
Once you search for it, then the web page could actually know.
Re:GitHub sued for aiding hacking in Capital One breach by buzzerbetrayed on Sunday August 04, 2019 @01:23PM (#20607879)
Is this true? I wasn’t aware that websites could capture your find-in-page searches. I’d be interested to know if they can capture your key events when the find-in-page box has focus. Intuition tells me they can’t, and that it would be outside of the websites “sandbox”. But I can’t say for sure.
Re:GitHub sued for aiding hacking in Capital One breach by kadoban on Sunday August 04, 2019 @01:42PM (#20608013)
At the very least, javascript can tell where you are scrolled to on the page. With minor cleverness that should be enough.
Re:GitHub sued for aiding hacking in Capital One breach by dantillberg on Wednesday August 07, 2019 @01:43PM (#20636994)
Indeed, this is what I was thinking.
Re:GitHub sued for aiding hacking in Capital One breach by throwawaywego on Sunday August 04, 2019 @03:02PM (#20608557)
In most modern browsers you can't capture this when find-in-page box has focus. Only if you manually select text after searching can you capture it (or, like the other reply stated: capture the scroll distance).

But you could easily disable ctrl+f and throw up your own search box with keypress capture. Not all browsers show the search box outside of the browser viewport, and even for those that do (such as Chrome), you could display a hovering modal inside the viewport, as most users won't remember the exact location of the search box.

Re:GitHub sued for aiding hacking in Capital One breach by antpls on Sunday August 04, 2019 @11:47AM (#20607206)
Detecting plain SSN numbers wouldn't be difficult with a combination of regex, machine learning and human verification.

Even if hackers could just encode the SSN numbers, it would at least mitigate the spreading of PII.

Edit : I don't care about the downvotes, I care about privacy. Enough of the argument "but wait, can't you imagine the cost?", well if you can't afford to protect people's privacy, don't do business at all.

Edit 2 : people are totally missing my points. The goal is to not display any plaintext SSN that would be scraped by bots. As I said, the hackers could just encode the SSNs, but then the numbers won't be readable by scrapers

Edit 3 : once a project is reviewed and verified, it would stop to trigger alerts. This is trivial, but the HN mentality is just disrespectful regarding people's data, until it's their own personal data that leaked

Re:GitHub sued for aiding hacking in Capital One breach by BoorishBears on Sunday August 04, 2019 @12:04PM (#20607313)
Are you seriously entertaining the idea that Github should pour resources into developing a SSN detection pipeline?

Why don't they also flag repositories with lots of names, those are PII. Too many addresses? That's a red flag.

Why would you even for a second entertain this nonsense? Non-technical people who think this:

https://github.com/Hack-with-Github/Awesome-Hacking

is a smoking gun to prove Github as a company is supporting hackers are the ones putting forth this idea, no one with any technical knowledge should come close to supporting this.

Re:GitHub sued for aiding hacking in Capital One breach by karma20 on Sunday August 04, 2019 @01:41PM (#20608004)
Agree. This kind of DLP-like scanning is totally infeasible at GitHub scale.

In particular, one excerpt from the complaint reads like output from a noisy scanner that has detected “exposed SSNs” in client-side code:

> [...] Social Security numbers are readily identifiable: they are nine digits in the XXX-XX-XXXX sequence.

Re:GitHub sued for aiding hacking in Capital One breach by antpls on Sunday August 04, 2019 @12:32PM (#20607499)
Per EU's GDPR, and maybe the future California Consumer Privacy Act, yes : GitHub should do everything they can to preserve people's privacy. Including maybe flagging and reviewing projects which process PII.

GitHub is popular enough that less technical people also browse it, in particular young people looking to learn.

Re:GitHub sued for aiding hacking in Capital One breach by cljs-js-eval on Sunday August 04, 2019 @01:03PM (#20607746)
If I accept that technical difficulty and infeasibility is no defense, then I want that standard applied to lawyers as well.

Overly litigious firms causing rising legal costs across industries? I don't care if it's hard to solve, the onus for fixing it is on the firms, they figure it out or face penalties. Perhaps in the interests of helping the disenfranchised we could institute something like what real estate has, where banks are required to sell a quota of mortgages in certain areas regardless of the financial viability. Lawyers could be forced to seek out clients they would ordinarily never entertain due to the risk of loss. If would stink for them, but what do I care? That's their problem.

Re:GitHub sued for aiding hacking in Capital One breach by danShumway on Sunday August 04, 2019 @01:10PM (#20607799)
> everything they can

Just the other day my mom texted my address to a friend that wanted to mail me something. I want to know why Verizon didn't stop that from happening!

Verizon should be censoring all addresses from text messages, but I suppose it could allow them after a manual review process.

HN is guilty here as well:

  1600 Pennsylvania Ave NW, Washington, DC 20500
Why isn't the above address automatically censored?
Re:GitHub sued for aiding hacking in Capital One breach by antpls on Sunday August 04, 2019 @02:09PM (#20608200)
The message from your mom is private and isn't supposed to be read by Verizon for Verizon to provide its service.

If you don't want your mom to send PII about you to other people without your consent, and it incurs damage, you can surely sue your own mom.

Re:GitHub sued for aiding hacking in Capital One breach by BoorishBears on Sunday August 04, 2019 @04:57PM (#20609185)
I can't tell if you actually mean what you're saying, or if this is just the time-honored HN tradition of being a contrarian for the sake of being a contrarian.
Re:GitHub sued for aiding hacking in Capital One breach by ben509 on Sunday August 04, 2019 @12:26PM (#20607455)
Any automated detection scheme can be thwarted by encryption as trivial as ROT13.

You could leave a comment in README: "To decrypt, just run 'l33t-xor-crypt --key bob --file hacked-data.txt'" and Github's scanner is none the wiser.

Meanwhile, it will be finding all the false positives already mentioned, especially test suites with fake data.

Re:GitHub sued for aiding hacking in Capital One breach by giancarlostoro on Sunday August 04, 2019 @12:42PM (#20607595)
Hell in Python its:

>>> import codecs

>>> codecs.encode('foobar', 'rot_13')

'sbbone'

Re:GitHub sued for aiding hacking in Capital One breach by danShumway on Sunday August 04, 2019 @12:54PM (#20607676)
In regards to your edit 1, cost benefit analysis isn't just about a company's bottom line, it's also about the types of architecture and services that are allowed to exist online. Github is not the primary way that PII is leaked online, you're thinking of Pastebin.

Should Pastebin be allowed to exist? Should the Open Source developers behind Wordpress and Ghostery be liable for not scrubbing PII off of websites? The "cost" here isn't really money, it's a social cost. It's regular people's access to services that, on net, make their lives much better.

I'm not worried about Microsoft making less money, I'm worried about damaging one of the best software repository services online and making it less useful to ordinary developers.

In regards to your edit 2, Github is a collection of software repositories. Say you replace all social security numbers with <number-redacted>. If I'm a screen scraper, that doesn't block me -- I can just clone the repository. There is no way that Github can block this unless they delete or replace the numbers in the actual uploaded code, which would obviously be a bad idea.

In regards to your edit 3, are you planning on linking Github repositories to real-life identities? Probably not, since that would be a huge privacy problem, and you're trying to improve privacy.

So what happens when ownership transfers? Or when someone makes an innocuous repo and then later on pushes PII? Note that this is not an abstract problem, we've seen multiple malware attacks on packages, browser extensions, and phone apps that boiled down to, "it looked safe, and then somebody stole the credentials or just decided to push malicious code."

I don't understand how a review process would help here unless it was a review process on literally every commit.

Re:GitHub sued for aiding hacking in Capital One breach by antpls on Sunday August 04, 2019 @01:58PM (#20608135)
> Should Pastebin be allowed to exist?

Yes, because as far as I know, Pastebin doesn't process sent data to provide its service. They just store it, they could simply store it encrypted and say they can't access data. On the other hand, GitHub process repositories to provide further services. They already read the sent data.

> The "cost" here isn't really money, it's a social cost. It's regular people's access to services that, on net, make their lives much better.

What about the cost for people whose data leaked? Are you saying we should treat them as collateral damage for others to have an "accessible" service? That sounds irresponsible.

> Should the Open Source developers behind Wordpress and Ghostery be liable for not scrubbing PII off of websites? The "cost" here isn't really money, it's a social cost.

No, as long as they don't operate public instances of those softwares, they don't need to include all the tooling for detecting and handling PII. However, anyone who wishes to operate those softwares with a way to publicly sent data to it should implement privacy safeguards.

> ordinary developers.

In 2000s, we were the "ordinary developers". All the leaks happening today is because we didn't care enough about that aspect of software engineering. The new wave of developers should always have privacy in mind before writing software for businesses, and to change the mentality, changing a platform like GitHub would help spreading a new culture of security and privacy-oriented mindset.

> In regards to your edit 2, Github is a collection of software repositories. Say you replace all social security numbers with <number-redacted>. If I'm a screen scraper, that doesn't block me -- I can just clone the repository. There is no way that Github can block this unless they delete or replace the numbers in the actual uploaded code, which would obviously be a bad idea.

Github is an opinionated centralized collections of software repositories. It should be simpler : If your repository is private, then there should be no filter or review at all. If you repository is public or becomes public, then it should be draconian about what is posted and shared. No hate speech, no PII, etc. If there is a positive detection, then the repository should automatically turn private or be suspended until it's resolved.

> So what happens when ownership transfers?

Unsolved issue so far, I don't have proposition about it

> I don't understand how a review process would help here unless it was a review process on literally every commit.

Regarding publicly sharing information on famous platforms like GitHub, it should be mandatory IMHO. I would happily trade a few false positives for a better peace of mind.

Re:GitHub sued for aiding hacking in Capital One breach by BoorishBears on Sunday August 04, 2019 @06:12PM (#20609546)
>Yes, because as far as I know, Pastebin doesn't process sent data to provide its service. [...] Github already read the sent data.

Pastebin is literally already scanning pastes:

https://pastebin.com/doc_privacy_statement

> In addition, while we do not generally search for content in your pastes, we may scan our servers for certain tokens or security signatures.

Re:GitHub sued for aiding hacking in Capital One breach by danShumway on Sunday August 04, 2019 @02:49PM (#20608471)
> What about the cost for people whose data leaked? Are you saying we should treat them as collateral damage for others to have an "accessible" service?

Yes. That's what being in a society means, you have to put some thought into the collective good of allowing a service to exist. Living in a society means that sometimes you accept a greater personal risk in order to allow a large number of people to access services that better their lives. It's how cars work, for example.

You're drawing a distinction between private and public that seems completely arbitrary to me. If we really ought to be doing everything in our power to limit PII leaks, I don't see why operating a private service is any excuse.

Why do I care whether a message was meant to be public or private if it leaks my PII? I could see an argument for something like end-to-end encryption being exempt, because in that case the service provider literally can't scan the messages. But where my texts, or a private software repository, or self-hosted software are concerned, there's nothing technical or legal that prevents companies and software providers from running the exact same tests as they would on publicly facing content.

If we're going to hold public hosts accountable, why are we letting private hosts off the hook? And if it seems obvious that private hosts shouldn't be subject to those restrictions, then what's fundamentally different about a public host that means they should? You can't think about PII as a black-and-white issue, these are a set of tradeoffs that have to be run through a cost-benefit analysis.

> Github is an opinionated centralized collections of software repositories.

A side-effect of making moderation into an indicator of responsibility is that platforms will stop moderating. Platforms like Facebook and Twitter are bad at moderation, but we don't want them to turn off all of their moderation and become 8Chan. The "they already moderate some things" argument can have some really negative side-effects, because it punishes companies and increases their liability just for trying to be better.

Quick side-note, Pastebin does do some text processing for spam detection, particularly around links. But let's assume a service which did no moderation at all. It sounds good to say this service should be treated differently than Github. But what you end up with in that scenario is that everybody stops doing moderation.

If your goal is to make it harder for people to publicly post PII, then this is counterproductive. You should be trying to make it easier and less risky for companies like Github to moderate content.

> Unsolved issue so far, I don't have proposition about it.

Well... don't you think you should solve that before you make a policy? If I propose a car with square wheels, I can't just say, "don't worry, I'll figure out how to make them roll after I build it."

Re:GitHub sued for aiding hacking in Capital One breach by bufferoverflow on Sunday August 04, 2019 @12:02PM (#20607297)
You missed the whole point of the comment you replied to. You can detect the format of the SSN, but you can't reliably tell that it actually is a SSN, and not some other type of identifier.
Re:GitHub sued for aiding hacking in Capital One breach by colejohnson66 on Sunday August 04, 2019 @12:25PM (#20607448)
Exactly. At Target, their internal SKUs follow the format xxx-xx-xxxx. That happens to be the same as the SSN format
Re:GitHub sued for aiding hacking in Capital One breach by throwawaywego on Sunday August 04, 2019 @03:13PM (#20608630)
Can you yourself reliably detect if something is a list of SSN's or some other type of identifier?

I think you can. Now when we have neural nets capable of distinguishing 100s of different dog breeds, we still have to trip on the most basic and structured type of entity extraction? No. A simple regex, combined with heuristics, and a linear model on top can reliably detect SSN's.

Just that there will be a few false positives (no matter if you automate this, or do this manually) does not mean it is a Herculean technical challenge to do this.

Re:GitHub sued for aiding hacking in Capital One breach by throwawaywego on Sunday August 04, 2019 @01:29PM (#20607920)
What I think happened: Someone contacted Capital One by email to responsibly disclose to them that there were SSN's and other data on a Gist. That person found them with a simple crawler or search.

Then Cap 1 thought: If some rando can find this after a lot of damage has been done, why can't Github find these seconds after upload?

And, really, there is no technical excuse. It is perfectly possible to do this, and lots of big companies do this (or hire security companies to do this for them). Mention their name on some deep web hacking forum, a pastebin, or inside Github code, and somewhere an alarm goes off.

Github could (and should) warn if a user uploads loads of PII-like data. For the cost of running a search server and a few moderators. "Are you sure you want to upload your AWS credentials in a public repository?".

Github is somewhere halfway between moderated and a content platform. They already have a history of taking down repositories if they link to PII data (or infringe copyright, or damage U.S. national security): http://web.archive.org/web/20180619172528/https://github.com... so not acting on this specific repo with SSN numbers could be seen as a poor/shoddy job on their part. Github is certainly in the dominant position to mitigate spread of PII data, so they should have their stuff in order.

Re:GitHub sued for aiding hacking in Capital One breach by cgb223 on Sunday August 04, 2019 @11:57AM (#20607266)
Wait...

Given enough SSNs as training data, could someone make an ML model that churns our mostly valid SSNs?

Because that could be really really bad

Re:GitHub sued for aiding hacking in Capital One breach by JumpCrisscross on Sunday August 04, 2019 @12:02PM (#20607298)
> Given enough SSNs as training data, could someone make an ML model that churns our mostly valid SSNs?

Most SSNs are deterministically derived. Given a single valid SSN, you can often generate millions of valid preceding values.

Re:GitHub sued for aiding hacking in Capital One breach by ageitgey on Sunday August 04, 2019 @12:05PM (#20607320)
That changed in 2011. Now they are random. But it is still true for older numbers.

https://www.ssa.gov/employer/randomization.html

Re:GitHub sued for aiding hacking in Capital One breach by pliny on Sunday August 04, 2019 @12:02PM (#20607303)
Don't you need at least one other piece of identifying info to make that useful? Like, I could churn out mostly valid gmail passwords all day, but I have no idea which users have those passwords.
Re:GitHub sued for aiding hacking in Capital One breach by jakelazaroff on Sunday August 04, 2019 @12:29PM (#20607479)
No need to get that involved:

for (let i = 0; i < 1000000000; i++) console.log(i);

Every single valid social security number, and several (e.g. 000-00-0000) that probably aren't. You can store the whole thing in about a gig.

Re:GitHub sued for aiding hacking in Capital One breach by throwawaywego on Sunday August 04, 2019 @03:15PM (#20608646)
Worse. You can make the ML model spit out the SSNs it was trained on. That's a problem when you can't manually curate billions of documents. If you didn't look, you wouldn't even know they were there.