Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Thursday September 06 2018, @03:28PM   Printer-friendly
from the Security-is-hard,-mmmmkay? dept.

Back when Intel introduced the 80286, they didn't quite document everything right away. Errata were needed. Then the 80386 changed things. And then someone convinced them to add just one more feature at the last minute, which didn't get documented properly again.

The History of a Security Hole takes a look at the problems introduced by the I/O Permission Bitmap (IOPB) in the 80286, and how fallout from the implementation caused a security hole in all versions of OpenBSD up to 6.3 and NetBSD up to 4.4.

Conclusion? This programming thing is hard.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by darkfeline on Thursday September 06 2018, @07:38PM (3 children)

    by darkfeline (1030) on Thursday September 06 2018, @07:38PM (#731481) Homepage

    >if correctfulness were more important than execution speed

    That's not the right question to ask. The right question is, "In what cases does the value of N% correctness exceed the cost of reaching N% correctness?", and the answer for most software (or hardware for that matter) is "Never".

    Due to inexorable natural laws, as observed in theories like the Pareto principle, fixing the first 80% of bugs takes 20% effort, so fixing the remaining 20% of bugs takes 80% effort, roughly speaking. If creating an 80% correct product costs X and takes Y time, and creating a 100% (actually a lot less due to the exponential curve; 100% is unachievable) correct product costs 4X and takes 4Y time, no way in hell will anyone choose the latter except for extremely small, critical pieces of software, like the brake controller in a car.

    Imagine if CPU development took 4 times as much time and cost 4 times as much money. We would be around the 1970s.

    --
    Join the SDF Public Access UNIX System today!
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 5, Insightful) by DannyB on Thursday September 06 2018, @08:19PM (2 children)

    by DannyB (5839) Subscriber Badge on Thursday September 06 2018, @08:19PM (#731493) Journal

    That extra 4x development cost may be worth it for certain things.

    Like avionics, self driving cars, or nuclear reactor control. The cost of wrong might be very much higher than that additional 4x cost during development.

    I would even say for microprocessors. Many millions, even Billions and Billions (to quote Sagan) might be manufactured. And today just about everything in the world depends on them working.

    I can understand your reasoning if developing a dating site or some nonsense like Facebook. But not for microprocessors.

    --
    The lower I set my standards the more accomplishments I have.
    • (Score: 2) by darkfeline on Friday September 07 2018, @07:24PM (1 child)

      by darkfeline (1030) on Friday September 07 2018, @07:24PM (#731876) Homepage

      >That extra 4x development cost may be worth it for certain things.

      That's what I said. Most things don't need it.

      >And today just about everything in the world depends on [microprocessors] working.

      Yes, today. Not twenty years ago, not ten years ago to most people (SN is not most people), and there are still people today who don't realize the significance of microcomputing devices, and there are still a lot of people who haven't touched a computing device. Take the average company board, are they going to authorize spending an order of magnitude more on computers that are "less buggy" when they see competitors using cheap shit?

      --
      Join the SDF Public Access UNIX System today!
      • (Score: 2) by DannyB on Friday September 07 2018, @07:30PM

        by DannyB (5839) Subscriber Badge on Friday September 07 2018, @07:30PM (#731879) Journal

        You're right that you said most things.

        About microprocessors. If there is a development cost of x, which is 20% total cost for 80% correctness, and then 4x which is 80% of cost for remaining 20% correctness, then that 4x element is spread across billions of processors.

        --
        The lower I set my standards the more accomplishments I have.