Slashdot Mirror


Targeted Fuzzing Is Improving Linux Security, Linus Torvalds Says (iu.edu)

On the sidelines of announcing the fifth release candidate for the Linux kernel version 4.14, Linus Torvalds said fuzzing, which involves stress testing a system by generating random code to induce errors, is helping the community find and fix a range of security vulnerabilities. He wrote: The other thing perhaps worth mentioning is how much random fuzzing people are doing, and it's finding things. We've always done fuzzing (who remembers the old "crashme" program that just generated random code and jumped to it? We used to do that quite actively very early on), but people have been doing some nice targeted fuzzing of driver subsystems etc, and there's been various fixes (not just this last week either) coming out of those efforts. Very nice to see.

62 comments

  1. AI by therealspacebug · · Score: 1

    This sound like an area where AI could be really helpful.

    1. Re:AI by michelcolman · · Score: 2

      Well, this AI is doing a very bad job of impersonating Linus Torvalds. "Very nice to see"? Not a single swear word? No biting sarcasm? There's no way that's the real Linus.

    2. Re: AI by Anonymous Coward · · Score: 0

      Exactly what I was thinking. If purely random can do this well (yes I know terrible grammar), machine learning could most definitely perform far better.

    3. Re:AI by gweihir · · Score: 1

      No. It would be completely worthless. Unless you are talking strong AI, but that does not exist.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    4. Re: AI by gladish · · Score: 1

      It would be worse than worthless. Any AI worth its salt would develop the same biases that human engineers develop and eventually decide that writing unit tests sucks. Only to eventalually hold down the delete key, albeit by submitting keypress events into the usb bus, until all the code was deleted. Finally then exiting with printf ("i quit")

    5. Re:AI by Big+Hairy+Ian · · Score: 1

      Sounds like a rubbish test approach. Actually having a test analyst analyse your requirements to determine what the system should and shouldn't do will find more defects and improve your confidence in the overall product. This is just trying random shit with no concept of coverage.

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

  2. Thanks for the explanation... by Anonymous Coward · · Score: 1

    ..I thought "Targeted Fuzzing" was about growing pubic hair in designated patches.

    1. Re:Thanks for the explanation... by Anonymous Coward · · Score: 0

      ..I thought "Targeted Fuzzing" was about growing pubic hair in designated patches.

      It is. That is exactly what Linus was talking about! Did you even read TFA?

  3. Fuzzing Furry parties by future+assassin · · Score: 2

    drop some shrooms and mdma and PLUR your way to random code those security holes out while listening to 4 on the floor Techno.

    --
    by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
    1. Re:Fuzzing Furry parties by Anonymous Coward · · Score: 0

      drop some shrooms and mdma and PLUR your way to random code those security holes out while listening to 4 on the floor Techno.

      Could not agree more

    2. Re:Fuzzing Furry parties by barbariccow · · Score: 1

      drop some shrooms and mdma and PLUR your way to random code those security holes out while listening to 4 on the floor Techno.

      Daaaaaaz how its done, son!

  4. Compilers by Anonymous Coward · · Score: 0

    Structured fuzzing is also very effective at finding compiler bugs.

    1. Re:Compilers by TechyImmigrant · · Score: 1

      Structured fuzzing is also very effective at finding compiler bugs.

      Functional fuzzing is very effective at finding bugs in logical inference.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  5. Well, isn't that cute... by Anonymous Coward · · Score: 0

    BUT IT'S WRONG!

    1. Re:Well, isn't that cute... by Anubis+IV · · Score: 1

      Indeed. Everyone knows the Mac's OS switched from a proprietary one to FreeBSD back in 2007 when they also switched from the Motorola 6800 to Intel. Or, at least, that's what NetworkWorld reported last week and has yet to redact or correct...

      You don't suppose the Anonymous Coward that started this thread is the author of that article, do you?

  6. Re:Apple is improving linux security by Anonymous Coward · · Score: 0

    Uhhhh.... what... the fuck.

    Darwin is not in any way based on the linux kernel.

  7. Re:Apple is improving linux security by Anonymous Coward · · Score: 0

    Very funny, troll. Everyone knows Darwin is derived from BSD, NeXTSTEP, and Mach.

  8. Re:Apple is improving linux security by Gravis+Zero · · Score: 1
    --
    Anons need not reply. Questions end with a question mark.
  9. Crashme by ArhcAngel · · Score: 4, Funny

    I use the crashme program to generate random code. Then I run it through Google translate and self publish on Amazon. Not a bad way to make a living.

    --
    "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    1. Re:Crashme by sinij · · Score: 4, Funny

      I use crashme to generate random code, sprinkle it with various progressive words and submit it to gender studies journals. Apparently I am now a world-leading expert on sociolinguistic micro aggressions.

    2. Re: Crashme by Anonymous Coward · · Score: 0

      Creimer, is that you?

    3. Re:Crashme by EmeraldBot · · Score: 1

      I used an RSS Reader to grab all of the headlines in the news, then used crashme to generate random code and then automatically publish on Twitter. Apparently made it to president of USA...

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    4. Re:Crashme by Anonymous Coward · · Score: 0

      Out of date approach. h1bme is the new ultimate fuzzer, it collates code samples from StackOverExchange, then profiles your code for most-used paths and perm-locks those files in the repo.

    5. Re:Crashme by Anonymous Coward · · Score: 0

      It's funny how absolute fucking dimwits like yourself will cry about so-called "virtue signalling" while parading around making posts like this while jerking each other off with mod points. What else could you even call this but "virtue signalling"?

      Good lord. The spectre of Down Syndrome haunts the tech world.

    6. Re:Crashme by Anonymous Coward · · Score: 0

      I take it since comments like these seem to be getting through, Slashdot has fiinally stopped being brigaded/shilled post election?

    7. Re:Crashme by sinij · · Score: 1

      It's funny how absolute fucking dimwits like yourself will cry about so-called "virtue signalling" while parading around making posts like this while jerking each other off with mod points. What else could you even call this but "virtue signalling"?

      Good lord. The spectre of Down Syndrome haunts the tech world.

      You don't have to be a world-leading expert on sociolinguistic micro aggressions to see that you were triggered by what I posted. I apologize for inflicting this trauma on you. I also apologize for my insensitivity of your SJW culture. I did not intend to make fun of your mating rituals, however strange they might appear to the outsider.

  10. Re:Apple is improving linux security by Anonymous Coward · · Score: 0

    LOL nice troll. The best way to get a response on the internet is to make an incorrect statement. Up to four suckers already.

  11. Re:Apple is improving linux security by the_B0fh · · Score: 1

    What in the world are you smoking? Darwin is based on the FreeBSD kernel, a completely different animal.

  12. Question on fuzzing by sinij · · Score: 1

    I see a lot of asks to fuzz test ICMP and TCP in hopes of finding application-layer issues in various high-level protocols. I see this as a giant waste of time. Am I wrong?

    1. Re: Question on fuzzing by Anonymous Coward · · Score: 1

      Definitely Not. Fuzzing can expose incomplete Error Handling or a Lack of validation. All of which are potentially exploitable for Cyber attack.

    2. Re:Question on fuzzing by barbariccow · · Score: 1

      Am I wrong to hang fuzzy dice from my ICBM?

    3. Re: Question on fuzzing by sinij · · Score: 1

      I get the idea behind it, but shouldn't it be targeting application layer instead of lower layers?

    4. Re: Question on fuzzing by Sique · · Score: 1
      Depends on what you are testing. Fuzzing should target the layer you are interested in. If you want to test the application layer, then you have to make sure that at least the IP part of your fuzzed packets is correct, so your packets actually reach the application.

      If on the other hand you are testing the ethernet driver, you could try to send random bits instead of ethernet frames to the interface.

      --
      .sig: Sique *sigh*
    5. Re: Question on fuzzing by Anonymous Coward · · Score: 0

      I get the idea behind it, but shouldn't it be targeting application layer instead of lower layers?

      The bugs at low levels are beneath the security checks. There is no point in exploiting a bug in code that doesn't have permission to do much.

    6. Re:Question on fuzzing by Anonymous Coward · · Score: 0

      Only if it affects the aerodynamics.

  13. Improving? by Anonymous Coward · · Score: 1

    Only 381 Linux Kernel CVE's so far this year. To date, that is 164 more than last year, and by far the greatest number found. 166 code executions found this year, which is more than 8 times all other years COMBINED.

    Granted, most of that is on the Android side of things. But at this point, there is more than 1 vulnerability in the linux Kernel found every day, and a code execution found every other day.

    Source:
    http://www.cvedetails.com/product/47/Linux-Linux-Kernel.html?vendor_id=33

    1. Re:Improving? by coolmoe2 · · Score: 3, Interesting

      So just imagine how many undiscovered bugs there are in other OS'es that don't get this level of scrutiny. Im sure the 3 letter agencies could if they wanted. Cheers

    2. Re: Improving? by Anonymous Coward · · Score: 0

      Thats how NSA wants it to be.

    3. Re: Improving? by Anonymous Coward · · Score: 0

      In Windows and OSX, we donâ(TM)t even know how many vulnerabilities there are because the code is closed. Linux is far and away the most secure OS kernel. Also, most of the bugs found are local privilege escalations that are hard to exploit. Far more dangerous to the average user are remote exploits.

    4. Re:Improving? by gweihir · · Score: 1

      Counting-metrics are unsuitable to accurately describe a state-of-affairs. Too simplistic.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    5. Re:Improving? by F.Ultra · · Score: 1

      You just ignored the part from TFA where the improving part was that there where so many CVE's found and fixed due to the fuzzing?

  14. fuzzing works. by OFnow · · Score: 5, Interesting

    As maintainer of a small open source library and program I have benefitted immensely from the efforts of a small number of volunteers running fuzzing programs and using Address Sanitizer to locate bugs in the code I maintain. These volunteers have found bugs and reported them and provided testcases useful for regression testing. I am profoundly grateful to these folks.

    1. Re:fuzzing works. by godrik · · Score: 1

      Any chance you have some pointers on how to do fuzzing correctly? Could be fun to use some of that in testing students code to point out mistakes early on.

    2. Re: fuzzing works. by Anonymous Coward · · Score: 1

      Just use Common Sense. Flip Bits in integer fields, Insert random crap into String fields, Feed too Long Strings, Feed excessively large Data sets, etc etc.

      Run your Code in valgrind while doing so.

    3. Re:fuzzing works. by phantomfive · · Score: 4, Informative

      The answer is lots and lots of random input. If you just start injecting random data into a field, you'll find a lot.

      The difficult part is that you want the random data to get past the initial sanity checks. To do that, you need to have relatively deep knowledge of the thing you are fuzzing. That is why automated fuzzing tools tend to be a bit frustrating.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:fuzzing works. by blueg3 · · Score: 2

      Use afl.

    5. Re:fuzzing works. by Ace17 · · Score: 1

      This is surprisingly easy to find crashes using dumb fuzzing (you can look at "radamsa"). To get more accurate results, you can use American Fuzzy Lop, which guides the fuzzing using live coverage information.

    6. Re:fuzzing works. by phantomfive · · Score: 2

      Incidentally, there has been some good work on improving the quality of fuzzing. In the future we may have fuzzing tools that use genetic algorithms to modify the input and get as deep into the program as they can. I don't know of any tools that have incorporated this yet, but it's an area worth paying attention to.

      --
      "First they came for the slanderers and i said nothing."
    7. Re:fuzzing works. by complete+loony · · Score: 1

      For C code, you can use clang's built in fuzzer. With clang's other sanitizers checking that you aren't triggering any other undesirable behaviour.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  15. Re: Linus Torvalds is SOB... by Anonymous Coward · · Score: 2, Informative

    Never mind, I found Creimer, still posting affiliate links. Mod down please.

  16. Ah, yes. Fuzzing. by Anonymous Coward · · Score: 0

    The hail-mary of testing when you just can't find that last &#@$! bug.

  17. Re:Apple is improving linux security by EmeraldBot · · Score: 2

    Darwin is not based on the FreeBSD Kernel, Darwin is based on the Mach kernel. Darwin uses a FreeBSD Userland though.

    --
    "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
  18. Re:"not my letter" by barbariccow · · Score: 1

    Is this some sort of commentary on microsoft's propriatary quote character? I'm confused.

  19. Re:Apple is improving linux security by F.Ultra · · Score: 1

    Actually the kernel in Darwin (XNU) contains things from both Mach and 4.3BSD.

  20. Reminds me of bugs found by accident by shoor · · Score: 1

    Back in the 70s when there were various mini computer manufacturers each with their own architecture. I worked for one of those, and we tested our code. I don't think anybody did deliberate 'fuzzing' (though I do believe a concept kinda like that was talked about.) But some pretty hairy bugs were found by accident. People making typos when trying to enter legitimate commands, that kind of thing.

    --
    In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
    1. Re:Reminds me of bugs found by accident by Anonymous Coward · · Score: 0

      Isn't that how most bugs are found?

    2. Re:Reminds me of bugs found by accident by shoor · · Score: 1

      Well, some bugs are found not by typos but by doing exactly what the manual says. Something that should've been tested and wasn't.

      How they're found may also depend on how you define 'bug'. To me, most bugs are found by testing, but if you consider testing to be part of the design process, and a bug is found only after the design process is completed, then, by definition, bugs are not found by deliberate testing.

      --
      In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
  21. Finally by thadtheman · · Score: 1

    A good use for systemd