News: 1619034447

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

University of Minnesota thought it would be cool to try to sneak bad code into Linux as an experiment. Of course, it backfired badly

(2021/04/21)


Computer scientists at the University of Minnesota theorized that they could sneak vulnerabilities into open-source software – but when they tried subverting the Linux kernel, they got caught red-handed.

And now their entire school – or at least anyone using a umn.edu email address – has been banned from offering future Linux kernel contributions.

Qiushi Wu, a doctoral student in computer science and engineering at the American college, and Kangjie Lu, assistant professor at the school, penned a paper titled, "On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits"

[1]PDF

, which is slated to be presented at the Proceedings of the 42nd IEEE Symposium on Security and Privacy next month.

[2]

The paper describes how the authors submitted what's described as subtly subversive code contributions that would introduce error conditions into the operating system software, and it claims the researchers contacted Linux maintainers to prevent any bad code officially making it into the kernel.

It further states that the experiment was vetted by the university's Institutional Review Board (IRB), which determined that the project did not constitute human research and thus granted an ethical review waiver.

OpenSSL shuts down two high-severity bugs: Flaws enable cert shenanigans, denial-of-service attacks [3]READ MORE

Nonetheless, the Linux kernel community has taken the research personally.

"Our community does not appreciate being experimented on, and being 'tested' by submitting known patches that either do nothing on purpose, or introduce bugs on purpose," wrote Greg Kroah-Hartman, leading Linux kernel maintainer, in [4]a post to a Linux kernel mailing list on Tuesday. "If you wish to do work like this, I suggest you find a different community to run your experiments on, you are not welcome here."

Kroah-Hartman then declared a ban on all future contributions from anyone at the University of Minnesota and his intention to revert all the poisoned commits that project participants tried to sneak into the Linux kernel. His bulk reversion plan affects [5]204 files , with 306 insertions and 826 deletions.

Not cool, but...

Other Linux contributors and maintainers participating in the discussion were quick to condemn the deception.

Abhi Shelat, an associate professor of computer science at Northeastern University, [6]wrote , "Academic research should NOT waste the time of a community," and urged Linux community members to question the University of Minnesota's IRB to determine whether the experiment had received adequate review.

Some developers outside the Linux kernel community, however, believe the security of Linux kernel code deserves more attention than the antics of the researchers. In a Twitter post, Filipo Valsorda, a cryptography and software engineer at Google, pointed to Kroah-Hartman's remarks about rejecting future contributions from University of Minnesota email addresses and [7]argued that making trust decisions on the basis of email domains rather than confirmed code correctness is a more noteworthy problem.

[8]

"Possibly unpopular opinion, but I feel like 'only merge things after verifying they are valid' should maybe be the default policy of the most used piece of software in the world," he [9]wrote .

Katie Moussouris, CEO of Luta Security, [10]voiced a similar option , calling the response an "emotional overreaction" and arguing that the findings have value from a national security perspective.

The Register asked Lu and a doctoral student at the university involved in the submission of a dubious patch for comment but we've not heard back.

We would like to sincerely apologize to the maintainers involved in the corresponding patch review process; this work indeed wasted their precious time

Lu, however, did respond to criticism in an explanatory note

[11]PDF

posted to his university web page.

Insisting that the research did not lead to any vulnerabilities in public Linux code, Lu defended the project's security-enhancing goal and apologized for wasting the Linux maintainers' time. "We respect [open-source software] volunteers and honor their efforts," he wrote. "We have never intended to hurt any OSS or OSS users. We did not introduce or intend to introduce any bug or vulnerability in OSS."

The buggy patches, he explained, were sent via email and did not ever become a Git commit in any Linux branch because maintainers were informed after the fact so they would not move forward with the bad code.

[12]

"We would like to sincerely apologize to the maintainers involved in the corresponding patch review process; this work indeed wasted their precious time," he acknowledged. "We had carefully considered this issue, but could not figure out a better solution in this study." ®

Get our [13]Tech Resources



[1] https://github.com/QiushiWu/qiushiwu.github.io/blob/main/papers/OpenSourceInsecurity.pdf

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YICgeG@S7mf-E9W14uFizwAAAE8&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[3] https://www.theregister.com/2021/03/25/openssl_bug_fix/

[4] https://lore.kernel.org/linux-nfs/YH%2FfM%2FTsbmcZzwnX@kroah.com/

[5] https://lore.kernel.org/lkml/20210421130105.1226686-1-gregkh@linuxfoundation.org/

[6] https://lore.kernel.org/linux-nfs/3B9A54F7-6A61-4A34-9EAC-95332709BAE7@northeastern.edu/

[7] https://twitter.com/FiloSottile/status/1384883910039986179?s=20

[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YICgeG@S7mf-E9W14uFizwAAAE8&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[9] https://twitter.com/FiloSottile/status/1384880884562726912?s=20

[10] https://twitter.com/k8em0/status/1384895263479902209?s=20

[11] https://www-users.cs.umn.edu/~kjlu/papers/clarifications-hc.pdf

[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YICgeG@S7mf-E9W14uFizwAAAE8&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[13] https://whitepapers.theregister.com/

Place your bets...

Sparkus

that this was a CCP sponsored/encouraged attempt at "supply chain' code repository compromise?

Re: Place your bets...

Snake

Still, one should question whether the policy of "Don't probe possible vulnerabilities because it might upset us" is such a great idea in today's infosec security targeting world.

As noted in the story, making automatic assumptions on code quality strictly based on sourcing locations or personal accreditations is leaving the channel open to possible hacking (cough, SolarWinds and Git, cough).

In today's aggressive world we need better. A lot better. Probing vulnerabilities is what white hats do. That's their job. Whinging about the fact that they had the nerve to target *you* didn't fix your potential vulnerabilities.

Re: Place your bets...

doublelayer

I think that comment is missing the point.

"Still, one should question whether the policy of "Don't probe possible vulnerabilities because it might upset us" is such a great idea in today's infosec security targeting world."

Probing vulnerabilities in the code is important, and the Linux community doesn't have a problem with people doing that. Nor is there a problem looking at the ways people operate and suggesting that such ways lead to security problems. The key is that observation of others is good and probing of your own systems running others' code is good. Probing others' systems without permission is a very different story.

Consider a parallel. Penetration testing is important to ensure that security procedures are sufficient and followed. Hiring a penetration tester is a good idea. However, being a penetration tester of someone who didn't agree to it is not. At best, you have people angry at you though fixing problems you've demonstrated. At worst, you end up in jail. If these researchers had gained the agreement of someone in authority on the team that they would run the experiment, the community would probably be reacting very differently. They didn't even try to get permission.

And so what? CCP, USSR, Israel, 400# oaf in his mother's basement

elDog

All of the subjects in the subject line know how to get around domain-name and IP restrictions. That's a pretty bad way to enforce security of the jewels.

Many researchers have run afoul of authorities when they probed some product. Witness Randall Schwartz who exposed security vulnerabilities at Intel and was prosecuted.

It's the corporate PHB who are the most dangerous to security. They want profits over competence.

A punitive sanction against the Uni for approving it

Anonymous Coward

Lots of people are hanging a false choice argument that punishing the uni that approved this amounts denying that researchers should be able to look at the process as well as the code when it comes to kernel security.

Yeah, developers can try to make submissions that get around the crude email block. That should be your first clue this was a political move to punish the Uni for screwing up. That doesn't mean the actual reviewers aren't also doing additional screening. They are, and were before, now they just have one more dumb line on the checklist.

Before the Uni approved this, they should have checked with the kernel team to see if there was an established processes for this, and respected the teams wishes by not launching an attempt to subvert the process without a green light from the higher ups. That doesn't mean the kernel team should or can block all such research, or that the Uni couldn't publish their concerns or how the process is handled.

Instead the Uni clearly has it's own process issues to address, as their "dont give them a chance to say no" process has predictably left them wearing their own ass for a hat.

I suspect that ban might get rolled back if they publish and stick to some reasonable guidelines for campus sanctioned research. We'll see I guess, once steam stops shooing from Linus' ears.

One last point worth raising, the kernel teams response should probably treat Uni researchers the same regardless of their nationality. Do we really want them setting a precedent that Uni's in China, Iran, and Russia can attempt unauthorized penetrations without sanctions? Or out of all of the possibilities is maybe expecting a Uni level organization to get prior consent not such a bad option?

Touchy, aren't they?

martinusher

What these academics are doing is a form of Quality Control, something that should be routine for any repository that's likely to contain critical code. The result sounds like a typical "Me thinks they doth protest too much" type of reaction.

gobaskof

If the researchers informed the maintainers after the email and before it even became a commit then what was learned? If they wanted to see if such a patch would be accepted then you would think they would let the kernel review process happen, let it get past some level of scrutiny and then stop it at a late stage.

Yes, this would be far more annoying, but at least it would actually probe if the project would catch the malicious code. Perhaps I misunderstood the article?

Serves the UMn ethics committee right

Ozzard

That was a clear "Don't be so bloody stupid" moment for UMn; perfectly reasonable that the Linux kernel folks should do what the UMn hierarchy didn't. And, given that UMn allowed this once, perfectly reasonable to ban that behaviour again.

If these things never became commits, then whats being reverted ?

-bat.

Thats an awful lot of files for things which never made it into the kernel apparently. Which makes me wonder if by reverting anything from U of M they are actually just getting rid of legitimate stuff, because the research stuff never made it in. I looked at a few of the, and they dont look either malicious or no-ops. So I am puzzled.

Re: If these things never became commits, then whats being reverted ?

Tomato42

what will happen is that all the stuff from U of M will get ripped out, and then from that stuff other people will consider what's valuable, what's not, and re-submit the good stuff

Filipo Valsorda

Tomato42

> pointed to Kroah-Hartman's remarks about rejecting future contributions from University of Minnesota email addresses and argued that making trust decisions on the basis of email domains rather than confirmed code correctness is a more noteworthy problem.

Mister Valsorda doesn't understand the ban at all, just because somebody isn't banned doesn't mean they won't go through peer review before the merge.

What happened, is that UM proved themselves to be wholly untrustworthy , both on the "experiments on humans", and "keeping researchers from doing unethical experiments" fronts.

Wrong injection point

b0llchit

The easiest way to subvert software is to go to the distribution or more low profile infrastructure. Ethics are of course a very serious obstacle, but what about a (large) local government with a massive national security apparatus. They send your company a "request" to do XYZ to code UVW distributed to ABC. They do this in the form of a national security letter containing a non-disclosure clause.

Now you have several choices: a) you blab publicly and go 10..25 years to jail, or b) you refuse to cooperate and the national security threat database suddenly includes your company and you personally, or c) you reluctantly do as you are told.

Some choice, don't you think?

[Norm comes in with an attractive woman.]

Coach: Normie, Normie, could this be Vera?
Norm: With a lot of expensive surgery, maybe.
-- Cheers, Norman's Conquest

Coach: What's up, Normie?
Norm: The temperature under my collar, Coach.
-- Cheers, I'll Be Seeing You (Part 2)

Coach: What would you say to a nice beer, Normie?
Norm: Going down?
-- Cheers, Diane Meets Mom