Slashdot Mirror


Gates: 'You don't need perfect code' for Security

securitas writes "ITBusiness has an interview from the Microsoft Professional Developers Conference where Bill Gates says 'You don't need perfect code to avoid security problems.' Instead he suggests that users acquire and properly configure firewalls and make sure that they keep their software patches up-to-date. Considering that Microsoft says it is focused on security, the comments from the Chief Software Architect aren't inspiring, especially beacuse the underlying attitude seems to contradict the idea of well-written, secure code. What kind of message does that send to the developers who work for Gates?"

62 of 593 comments (clear)

  1. Since when is Bill Gates a security expert? by dtolton · · Score: 5, Insightful

    This is a typical problem, that was discussed a few days ago. People
    are confusing microsoft's success in general with Technological
    superiority.

    I find it interesting that *anyone* would care what Bill Gate's
    opinion is on security. The volume of critical problems reported, and
    of actual viruses and worms that have spread across the internet
    lately should've been enough to indicate that microsoft doesn't have a
    good understanding of security in general.

    His argument is an interesting point of view though. It sounds to me
    like he's saying microsoft doesn't need perfect code because people
    can just install firewalls. What if the code in the firewalls in turn
    isn't perfect though? Doesn't that leave us in an insecure position
    again? What about the e-mail scanning software? What if it misses a
    virus? Shouldn't you have layers of protection, instead of an outer
    layer of protection and a soft underbelly?

    Of course he is shifting the burden back to the users of the software
    again. If only they had our firewall product and a good e-mail
    scanning software package, and if they kept their software up to date
    none of this would've happened.

    Of course if they didn't ship their software with nearly every service
    turned on by default, and everyone running as root this wouldn't have
    happened either, but let's not trifle with details.

    I really liked the part at the end where he comments that all the
    viruses and attacks on microsoft's os are really a compliment.

    You keep telling yourself that Bill.

    --

    Doug Tolton

    "The destruction of a value which is, will not bring value to that which isn't." -John Galt
    1. Re:Since when is Bill Gates a security expert? by mcspock · · Score: 5, Insightful

      I dont even see why this is news. No code is perfect, especially at the OS level. If you think about it abstractly, what gates is saying is that security should be layered, so you have multiple filters protecting you.

      The part about it "being a complement", which i dont really agree with, is based on the fact that windows is high visibility, so it gets the most attention from virus writers.

      The whole argument is silly though - windows is what happens when you have a desktop only operating system and transition it into a network enabled system. You end up with design flaws (everyone runs as "root") and security holes.

      --
      -- Patience is a virtue, but impatience is an art.
    2. Re:Since when is Bill Gates a security expert? by retinaburn · · Score: 5, Insightful
      microsoft doesn't have a
      good understanding of security in general.

      Just because their code is bad doesn't mean they don't understand security, it may just mean it is not profitable to write perfectly secure code.....and they get money from upgrades :)

    3. Re:Since when is Bill Gates a security expert? by 4of12 · · Score: 4, Insightful

      Three parties are responsible for providing a secure computing environment:

      1. The software creator or vendor: needs to code carefully, to test exhaustively, to debug, and to audit.
      2. The exploit writer, releaser: ought to publicize the vulnerability by describing it and illustrating protection measures before hammering the world with a working exploit to illustrate the deficiencies of the other two parties.
      3. The user hooking up his purchased system to the net. Should be listening to the other two parties about what's vulnerable, how to mitigate it in the short term and patch for the long term.
      I see all three parties not wanting to fulfill their responsibilities and trying to shift blame on to the other two parties.

      Until Bill Gates starts to act more like Theo de Raadt, I don't belive he's upholding his part.

      --
      "Provided by the management for your protection."
    4. Re:Since when is Bill Gates a security expert? by swordboy · · Score: 2, Insightful

      No code is perfect, especially at the OS level.

      Perfect code is approached asymptotically. That is, you'll never fix all of the bugs/holes/etc.

      But an OS that has been refined for 20 years is further along the curve than a brand new OS that has just been released.

      This will bite Microsoft sooner or later.

      --

      Life is the leading cause of death in America.
    5. Re:Since when is Bill Gates a security expert? by 00420 · · Score: 4, Insightful

      Funny? Personally I think this is insightfull.

      I've said it before (even though I don't like to), but Bill Gates is not an idiot. He's a pretty intelligent guy who is more than capable of understanding computer security. But, for some reason he choses not to implement it in his software.

    6. Re:Since when is Bill Gates a security expert? by murdocj · · Score: 5, Insightful
      Ok, where does the OS end and the application begin?
      This is the core of the problem. I talked to a guy I had worked with who was at MS and was complaining about how the MS Office group was implementing all sorts of O/S features in Office because they needed them. MS has never had the concept of seperating O/S functions from application functions. As a result, you end up with holes because the core O/S is performing operations that should be in apps, and the apps are doing the work of the O/S.

      Perhaps in theory Windows has now been layered to an extent that it could function similar to UNIX, but in practice MS continues to prefer lots of functionality over security. And as the interview shows, that attitude comes down right from the top.

    7. Re:Since when is Bill Gates a security expert? by AKnightCowboy · · Score: 4, Insightful
      I dont even see why this is news. No code is perfect, especially at the OS level.

      Of course that's only true for varying degrees of "no". There is perfect software that has no bugs, but it's extremely expensive and difficult to produce. You need integrity checks at every single layer of development to ensure that nothing added compromises the code already in place. IMHO Windows should be scrapped and a completely new code base developed from the ground up with security in mind. Security is not something you can tack on as an afterthought, it MUST be implemented at the earliest stages of planning an application or you've already lost the battle.

    8. Re:Since when is Bill Gates a security expert? by rifter · · Score: 3, Insightful

      His argument is an interesting point of view though. It sounds to me
      like he's saying microsoft doesn't need perfect code because people
      can just install firewalls. What if the code in the firewalls in turn
      isn't perfect though? Doesn't that leave us in an insecure position
      again? What about the e-mail scanning software? What if it misses a
      virus? Shouldn't you have layers of protection, instead of an outer
      layer of protection and a soft underbelly?

      This in and of itself proves that Mr. Bill does not have a clue, not only about security but about how the recent worms propogated. Firstly, firewalls are not a panacaea. They only protect from extenral threats. They do not protect against internal threats or trojans/viruses/worms which are brought inside. They do not protect you when you have a worm/virus infected computer connecting to your network via VPN remotely or which is brought inside after being infected. They also do not help you if there is a vulnerability in a core world-facing service like, say, IIS.

      These things should be intuitively obvious to the meanest of minds, but are beyond Bill Gates' understanding. Further, he has put the lie to his earlier promise of better software. Now that security firms have been paid off not to report Microsoft holes that they do not deign to fix, Microsoft seems to be ditching the whole idea of writing secure code. It's not as though it was anything more than a marketing ploy in the first place, but now he has pretty much told us that Microsoft will write crappy software on purpose because they don't believe that software has anything to do with security.

      If you continue to use Microsoft products after this, well, I guess you get what you deserve.

    9. Re:Since when is Bill Gates a security expert? by Spoing · · Score: 4, Insightful
      His argument is an interesting point of view though. It sounds to me like he's saying microsoft doesn't need perfect code because people can just install firewalls. What if the code in the firewalls in turn isn't perfect though? Doesn't that leave us in an insecure position again? What about the e-mail scanning software? What if it misses a virus? Shouldn't you have layers of protection, instead of an outer layer of protection and a soft underbelly?

      More importantly; A firewall -- depending on the situation -- prevents access to some ports, and allows access to others.

      When data can be transfered through the firewall, you now depend on the program servicing the port to be secure. If it's not, the fact that there is a firewall in place won't matter since it's out of the picture.

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    10. Re:Since when is Bill Gates a security expert? by Dark+Fire · · Score: 5, Insightful

      Both Windows and Unix are based on 20 year old ideas. The similarities between VMS and Windows are quite astonishing. There was an article on /. a while back about it.

      I agree that many security problems in both unix and windows come from poor application design.

      Compare designs between qmail and sendmail. qmail is a properly constructed unix application that takes advantage of all the facilities unix provides. sendmail is a blob. bind also suffers from being a blob. sendmail and bind alone account for a good portion of unix related vulnerabilities.

      Bind and sendmail are applications in the unix world.

      Unix and Windows may bother be at heart very solid designs. Remember though that microsoft isn't just responsible for the operating system, but for many of the most popular windows applications as well. IIS, Office, file/print services, exchange, etc.

      Microsoft goal has always been integration. Integration and Security are opposing goals.

      Single sign-on is a good example. To prevent someone from entering their password each time they want to utilitize a secure resource, you ask them for their username and password once and then cache the username/password. By doing this, you have sacrificed security for integration. The cache acts as an integrated security service that transparently lets any program that runs act with your full authority on all security resources that you are permitted to utilize for as long as your credentials remain in effect.

    11. Re:Since when is Bill Gates a security expert? by Jeremy+Allison+-+Sam · · Score: 1, Insightful

      If you think Windows doesn't have root, you're a fool. Worse,
      an ignorant fool who propagates Microsoft propaganda as truth.

      As for global access to network file systems, that's a NFS
      flaw, not a UNIX one. Use a more secure remote file protocol,
      like... gosh - how about *secure NFS* for one !

      Jeremy.

    12. Re:Since when is Bill Gates a security expert? by Anonymous Coward · · Score: 1, Insightful

      Products like Trusted Solaris don't even use the "Unix Security Model"!

      If anything Trusted Solaris completely disproves your argument. If the Unix Model was so great, Sun wouldn't have needed to develop a special version of their OS.

    13. Re:Since when is Bill Gates a security expert? by AllenChristopher · · Score: 2, Insightful
      Perfect software and bug-free software are different. Perfect software is much harder than bug-free software because it includes basic design flaws.

      Your DRM schemes are an example. Just because an encryption scheme can be cracked doesn't mean there's a bug! If the DRM's underlying encryption scheme were, for example, to encode every byte as the negative of itself, and then one just hoped nobody would figure it out, that would be ridiculously optimistic, but it wouldn't be a bug. The code itself could be absolutely bug-free in examining keys to see if they are valid and then flipping the bits for output.

      In specific, the recent CD copy-protection which can be bypassed by the shift key, or disabling AutoRun, does not have a bug which allows these things. The company just relied on that few people will know how, and that's probably good enough. It's part of the spec.

  2. 1st. by Anonymous Coward · · Score: 1, Insightful

    he's right, you only need good code. Too bad windows still doesn't hit the mark.

  3. We don't need perfect code for security by grasshoppa · · Score: 4, Insightful

    and he's absolutely right. We could just unplug our computers and leave them in a cold, dark room all by themselves, with no power.

    For the rest of us, however, security starts with the code.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  4. Sooo. by Creepy+Crawler · · Score: 2, Insightful

    How do you firewall off a semi-legit request to a external MS-Exchange that "Admin's" the server? Even stateful devices like the Packeteer cant selectively block data in the TCP block... expessially 0-day exploits.

    Yeah. You can use firewalls(cough). That's why Unix is the Internet OS.

    --
  5. What about the Firewalls? by sapped · · Score: 3, Insightful

    If we are not going to rely on perfect code but expect firewalls to catch the problems, then what do we do if the code in the firewalls aren't perfect?

    Do we string together a series of firewalls in the hope that the code problems don't overlap?

  6. Read into it what you want by stratjakt · · Score: 5, Insightful

    It makes sense to me. Don't rely on someone else to keep your computer secure. Take steps yourself.

    Look at me, I'm just going to get the latest debian iso and install it and not worry about anything!

    Look at me, I'm just going to go buy a car and not worry about locking the doors or using a club, because I expect that the ignition system is tamper proof.

    Don't blame the architect when someone comes through an unlocked window in your home and steals your stereo.

    No, you don't need perfect code. Linux has no "perfect code". If it did, Linus et al would be finished and have moved on to other things.

    I dont rely on Linus for security, I don't rely on Bill Gates for security. At the end of the day, it's my system, and it's up to me to take steps to protect it.

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:Read into it what you want by Tsali · · Score: 4, Insightful

      So Joe SixPack is going to secure every pager, phone, wireless access point, and hell, even a car because he is self-reliant?

      Joe SixPack either does nothing or sues someone.

      --
      This space for rent.
    2. Re:Read into it what you want by fishybell · · Score: 2, Insightful
      Don't rely on someone else to keep your computer secure. Take steps yourself.


      Too bad most people who use computers don't know what steps to take. Even with Windows Update enabled to run automatically, people won't have secure computers. It is the responsibility of the car makers to make cars safe, should it not be the responsibility of operating system makers to make desktops safe?

      Unfortunately, without government intervention car makers wouldn't have made their cars as safe as they are today by themselves. Now it's gotten to the point where safe is a selling feature to many buyers. Shouldn't the same apply to operating system makers like Microsoft, Apple, etc? Should the goverment regulate? no, but safety should definately be a selling point.
      --
      ><));>
    3. Re:Read into it what you want by DeltaSigma · · Score: 5, Insightful

      I'm not disagreeing with you, or trying to dampen your point.

      You might be a college graduate, hell a professor when it comes to security. You might have an understanding of every open cryptic algorithm in use today. You just might have learning and experience which has engraved security processes onto your heart.

      But then, there's the rest of us. I'm a simple web/graphics designer. I don't even know how to compile a program. The most complicated things I produce are script. In the technical arena my contributions are child's play. As a long-time windows user, I had no concept of security. It was accepted fact that I had to patch and run process sapping virus scanners to prevent what was inevitable anyways, the infection and subsequent re-install of my operating system.

      In the last year, I switched to Linux. Debian, first, now RedHat 9.

      It's Linux that taught me security. It's Linux that gave me a better understanding of how ports work, how services can be hijacked and used to tamper with your machine, how random programs can degrade my security, how running as root is like volunteering my machine to be a DOS attack zombie.

      Linux isn't inherantly secure due to superior code (don't get me wrong though, I strongly believe Linux utilizes superior code). It's inherantly secure because it conditions its user to consider security. Debian and RedHat taught me where vulnerabilities can exist in my operating system, and how to account for them.

      Thanks to Debian and RedHat, my Windows box is more secure as well.

      I may not have the safest internet-connected box on the face of this earth, but I can rest assured I'm in the top 10% when I'm using my Linux-based operating systems.

    4. Re:Read into it what you want by stratjakt · · Score: 2, Insightful

      Which is the point. The word needs to get out, there is no "perfect code".

      Which makes it a good thing that Gates is being truthful about the situation.

      --
      I don't need no instructions to know how to rock!!!!
    5. Re:Read into it what you want by ldspartan · · Score: 2, Insightful
      It is the responsibility of the car makers to make cars safe, should it not be the responsibility of operating system makers to make desktops safe?

      It astounds me that people actually make this argument.

      Allow me to explain:
      Every single car is in a postion to kill several people in the event of a catastrophic malfunction or operator error.
      Very few computers are in a position to harm anyone.

      And no, just because your computer contains documents you deem vital to your life does not mean that the impetus for securing them falls on the manufacturer and not yourself. The two situations could not be less comparable.

      --
      lds

    6. Re:Read into it what you want by Zelet · · Score: 5, Insightful

      Your arguement is flawed. A better analogy would be:

      I have a car. Even though I locked the door... it fell off.

      Basically what I'm saying is that the basic of security that the manufacturer should provide isn't functioning. Of course I could always use 'the club' but the door shouldn't fall off the hinges.

      Of course if you wanted a true analogy of what Windows security is like:

      You can lock the doors - but the door locks are hidden and my mom couldn't figure out how to do it and the doors come unlocked by default. Even if you lock the doors the windows are always open - and there is no way to close them without buying the windows rollers yourself. If somebody gets into your car not only can the ignition be turned by any basic screw driver but they could blow up the entire car - including the engine by using easy to use functions from within the cabin of the car.

      Now take OS X (I haven't used Linux in a while so I'm more familiar with OS X)

      Your car comes with the doors locked by default. The windows are all rolled up. If somebody DOES get into the car - they can trash the cabin but can't destroy the engine.

      --
      ...And when they came for me, there was no one left to speak out for me." - Martin Niemoeller (1892-1984)
    7. Re:Read into it what you want by poot_rootbeer · · Score: 4, Insightful

      Look at me, I'm just going to go buy a car and not worry about locking the doors or using a club, because I expect that the ignition system is tamper proof.

      But would you buy a car that didn't even come with locks on the doors, and instead of needing a key to start the ignition you just had to press a big red button on the dashboard that says CAR GO NOW?

      Microsoft isn't 100% responsible for making sure your Windows installation is secure. But at the same time, MS isn't ZERO percent responsible, either. They need to do their share.

  7. What he's really saying by andyring · · Score: 2, Insightful

    Sounds like what Bill is actually saying is that "It's not our fault!" or "Security is not our responsibility!". By saying that security should fall to firewalls, etc., he is trying to shift responsibility from his company to the end user. Sounds to me like it is nothing more than justifying the trend in software, particularly MS (but admittedly others) to let software schedules be driven by the marketing department as opposed to when the software is actually ready for prime time.

  8. sort-of has a point by mikeee · · Score: 2, Insightful

    The fact is, you won't get perfect code, whether you need it or not. You should design things to minimize the amount of code that does have to be perfect, and the damage done if it isn't.

  9. Transfer of blame by nurb432 · · Score: 4, Insightful

    Blame the user, not the developer, is the message.

    Its not the users responsibly to compensate for poor design, regardless of the product. Be it an unsafe car, or insecure OS.

    --
    ---- Booth was a patriot ----
  10. Ironic by Idou · · Score: 2, Insightful

    "You don't need perfect code to avoid security problems."

    Here is a guy who knows nothing about perfect code, nor security.

    Reminds me of the child who keeps on flunking school responding to the first sign of criticism, "I don't have to be PERFECT, do I?"

    --
    Sdelat' Ameriku velikoy Snova!
  11. Perfection is illusion by nightsweat · · Score: 2, Insightful
    To rely on any code to be perfect is a fool's errand. Sorry, but Bill is right here. (Ow! That hurt to say.)

    "All code has at least one extra instruction and at least one bug. Therefore by extrapolation, all programs can be reduced to one instruction that doesn't work."

    --

    the major advances in civilization are processes which all but wreck the societies in which they occur - A.N. White
  12. Re:Perfect Code isn't possible by __past__ · · Score: 2, Insightful
    Perfect code is possible, but most customers are not willing to pay the price. You can write code that is provably correct, and this is regularly done in some fields (aviation, military and medicine come to mind). Just don't expect to be able to buy a provably correct operating system or word processor for a few hundred bucks anytime soon.

  13. Silly Soccer Moms by twoallbeefpatties · · Score: 2, Insightful

    It's kind of hard to say any system, even open source, is going to have "perfect code," but the major problem that is pointed out here is that it does no good to patch a system when the customers aren't going to install the patch. With products like 'nix, which are used more by *ahem* "serious" computer users, admins and the ilk, as soon as someone says "There's a bug in the software," word gets out, and people in the know make sure they are protected. The general population doesn't respond that quickly, however. Many Windows owners aren't even going to understand how to update their systems. This is not so much a fault with Windows as a fault with computer users who don't attempt to fully understand the product they are working with. People don't understand firewalls, they don't understand basic security. They know that you double-click on Outlook, and, poof, there's your e-mail.

    We're going to see some obvious responses to this post about the faults of closed-system software, but Gates does bring up a good point: It's hard to have a secure system if the end-user doesn't know what he or she is doing. It's like a car that you drive for five years without ever getting the oil changed; there is no patch for ignorance. And what's funny is: whenever a company tries to become more user-friendly, Windows, Macintosh, etc., the hardcore community gets on their case for it. If we could develop an open-source system with enough depth to satisfy the experienced users, but is easy enough to keep in control by the neophytes, then you could have a widespread, secure system.

    --
    Libertarians somehow believe that private businesses should be stronger than governments but weaker than individuals.
  14. People--don't fall for this ploy by the editors by Overly+Critical+Guy · · Score: 1, Insightful

    Haven't we done this before? Last time, it was about Outlook, then it was about Longhorn...why does Slashdot keep posting flamebait?

    How immature do you have to be to post an entire article about one line from Bill Gates? I mean, what do you expect the point is? Clearly, the editors want you to fall over yourselves bashing away on Microsoft.

    Don't fall for it. Instead, let's show that we're a rational, level-headed community and not just a reactive one against some company.

    Did you also know that Bill Gates said earlier this week the following:

    "Jealousy has driven more mistakes by my competitors than anything else," Gates said. "When people focus not on the next breakthrough, but on cutting off Microsoft, it's actually been quite a windfall for us."

    Now, this entire article is just a flamebait. You can take anything anybody ever said and make a story like this out of it. Remember SCO doing it with Linus' comments on patents in the kernel? And you all harped on them for it.

    What happened to Slashdot?

    --
    "Sufferin' succotash."
  15. One born every minute! by Thud457 · · Score: 2, Insightful
    Shouldn't you be able to go a whole month without a new vulnerability before you start foisting yourself off on the public as a security expert?!!!

    Microsoft's expertise is controlling the market, not writing code.

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  16. Bill is right by blizzardsoup · · Score: 2, Insightful

    re: don't need perfect code to be secure

    Linux code is not perfect and is secure.

  17. Not only that by siskbc · · Score: 4, Insightful
    His argument is an interesting point of view though. It sounds to me like he's saying microsoft doesn't need perfect code because people can just install firewalls. What if the code in the firewalls in turn isn't perfect though? Doesn't that leave us in an insecure position again? What about the e-mail scanning software? What if it misses a virus? Shouldn't you have layers of protection, instead of an outer layer of protection and a soft underbelly?

    I'd say two things to him. First, the only completely effective firewall is the one where I unplug my computer. Assuming you leave a port open, that's a possibility for an attack. Second, all a hacker needs is a proper buffer-overflow in a user program that employs that port, and it's fun time. I'm sure Internet Exploder etc wouldn't apply there. No, not at all.

    He has a point in that firewalls have to be a large part of the solution. However, the idea that I can write the world's shittiest code and this is OK because I have a firewall is ludicrous.

    Naturally, all this assumes you don't buy your firewall software from MS. That would be pretty funny.

    --

    -Looking for a job as a materials chemist or multivariat

  18. Re:As an SSL developer by RatBastard · · Score: 5, Insightful
    Middle-aged women seem to be the worst offenders

    Of course they are. They tend to be trusting and don't realize that perfect strangers are more than willing to screw them into the ground. But the OS doesn't need to be a welcome mat for these problems. There are some very basic things that MS could have done to make Windows secure enough that being a trusting user doesn't put the entire system at risk.

    To make a analogy that fits users of this level and background, your point is like saying that cars are less likely to get stolen if the doors are locked and blaming said car owners for because their Fnords are getting stollen because they haven't locked the doors that Fnord didn't bother to install in the first place.

    --
    Boobies never hurt anyone. - Sherry Glaser.
  19. A pat on the back by jonhuang · · Score: 4, Insightful
    For an out of context quote. This whole article is clearly just a biased "ooo ooo they suck omg" sort of thing. The line could have been just as easily phrased: "you can't rely on perfect code for security". Note that (IRTFA) the next line is along the lines of "but while we're working toward pefect code..."

    seriously.

  20. patch size by rakerman · · Score: 3, Insightful

    I don't understand why no one raises the patch size issue. To fix a buffer overflow, you've got to need what, 2K of modified code, tops? But the patch is like 2MB? Or 20MB?

    In the US, where most people are still on dialup, how can anyone reasonably expect that people are going to download tens of megabytes of patches?

    Microsoft should be mailing out free CDs with the latest patches.

  21. Advocatum diaboli by isomeme · · Score: 2, Insightful

    Let's be fair to Mr. Gates, for once. If you needed perfect code to achieve security, security would be impossible; I've never seen a nontrivial perfect program. All real-world large projects are going to have errors in them; it's a simple fact of our imperfect world.

    Once you recognize this, attention must turn from achieving some mythical perfection to dealing with the probable scope and impact of errors. Just for example, one good thing about languages like (e.g.) Perl and Java is that (absent major kludging) they are incapable of expressing a buffer-overrun bug, a category of possible bug in (e.g.) C which is single-handedly responsible for a majority of significant net security holes.

    In other words, once you admit that your code will never be perfect, you are forced to consider how to limit the damage your imperfections can do, and that in turn steers you toward technologies, processes, and practices that help you with that potential-damage reduction goal.

    In that sense, Gates is entirely correct that one key to maintaining a secure system is to limit the accessibility of unneeded ports (and the services possibly behind them) from the net at large. Yes, ideally, all those ports and services would be invulnerable to attack. But we know that we're not perfect, so we play it safe and use a firewall. It's classic "belt and suspenders" engineering.

    There is certainly a lot to be said about Microsoft's culpability for the low quality of their products, particularly with regard to security. But that doesn't mean Gates was wrong to say what he said.

    --
    When all you have is a hammer, everything looks like a skull.
  22. He is a genius by falcon5768 · · Score: 2, Insightful
    someone should make ihim in charge of homeland security.... ;-) Anyway in all fairness some of what he says IS true. Very often its people who dont know how to use computers that is the main reason these kinds of security breakdowns happen, not the OS it's self.

    Common sense tells us to go to the Auto dealer to get a fix done when there is a recall. Granted we all get a notice if that happens but you know not to drive around too long if there is word it could be serious.

    But the computer is a tool to most people akin to a screwdriver or hammer, people really dont look to take care of it, they just use it. If more people looked at it like a pet and not a tool, then maybe people would care for their computers.

    That being said, it IS his duty to the customer to both make fixes visable and known and not hide them like Microsoft does on a routine basis, and more importantly make things work better the first time so this stuff doesnt happen every 3 weeks.

    One of the things that pisses me off the most about Microsoft vs. Apple is that Microsoft defaults almost everything to being open and insecure half the time. Only with XP was stuff not defaulted to on and did they default you to having a firewall to protect stuff.

    And it was always stupid stuff no consumer would ever use that was defaulted to being open, and of course you being the consumer didnt know any better. This is more dangerous now when we see more and more computers connecting full time with the use of cable and DSL vs. even 5 years ago when roughly 97% of traffic was 56k, and therefore only on for short periods.

    They are taking steps, but Microsoft has to stop denying it has an important roll in this cause honeslty it does. Everyone is using your OS guys, the least you can do is make sure their computers will be safe.

    --

    "Slashdot, where telling the truth is overrated but lying is insightful."

  23. "Execute Permissions" on code blocks by callipygian-showsyst · · Score: 2, Insightful
    One of the things Microsoft is adding (for processors that support it) is explicitly marking executable code with hardware-implemented "execution permission".

    This would prevent most buffer overflow attacks.

    I think it's correct to assume that you'll never--on a box where many companies can write software--have 100% perfect code. Having hardware at the processor and network level to add security is a fine idea.

    Microsoft isn't too far off the mark.

  24. he is actually right by Archfeld · · Score: 2, Insightful

    Perfect code is a myth, like extra money, or a temporary tax. What we really need is consistency between the calls, internal (local) or external (web) in the way the buffer is handled and access controls that make sense. At least on the M$ side they still have not recovered from the code mangling idiocy with MSIE and Explorer co-mingling.

    --
    errr....umm...*whooosh* *whoosh* Is this thing on ?
  25. Re:Patching only protects against amateurs by duffbeer703 · · Score: 2, Insightful

    You seem to be the only person around here who gets it as far as what security really is.

    The Blaster worm was a good thing in that a major flaw which basically rendered permissions irrelevant is now fixed just about everywhere...

    The recent RPC bugs have been around since NT 3.51. Do you honestly believe that real hackers have not been taking advantage of that fact for years?

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  26. Well...Bill's sorta right here... by dasmegabyte · · Score: 2, Insightful

    You *can't write perfect code. Luckily, you *don't* have to write perfect code, if you write everything in a language that properly handles exceptions. This doesn't mean you shouldn't try to write perfect code...just that if, like every other programmer that has ever touched a keyboard or punch card, you have bugs in your code, you're much better off if your tools are watching your back.

    A good example is the number one favorite tool of the hacker, the buffer overflow. I don't care what OS you have, if you have buffers that can be overflown, you have insecure code. It doesn't matter what "user" the code is running as when it gets full access to your memory and command stack.

    So use one of the dozens of languages that won't let you write unchecked code. And you can write as sloppy as you like -- nobody's going to be able to bust down that door. To be honest, i think in the next few years we'll see more of this sort of problem with LINUX than we will with Microsoft. Microsoft is trying to get everybody to write for a virtual machine in languages like C# and VB.NET (which is significantly less of a joke than you think it is). Whereas open source developers seem to pride themselves in sticking to archaic C code...shit, that language was old when I was in MIDDLE SCHOOL (in fact, the computer librarian would only let you check out books on C++). It's not "faster" in today's world, where machines are three clock cycles FASTER than the fastest common interconnect...coding in C is simply some bizarre combination of laziness and bravado. Hey, if you guys want to code in a masochist's language, there's always PERL. The rest of the time we should all be in C++ and Java wherever possible. Sorry if those overflow checks take .1% off your linpack benchies...

    --
    Hey freaks: now you're ju
  27. Interesting.... by lcde · · Score: 2, Insightful

    That sounds like a Microsoft way of thinking. Leave the code we have the same, just have add-ons to protect that and add-ons to protect that.....

    The core of Windows is so bloated by patches or quick fixes I was confused on the column on Linux Hacks. Maybe it was ment as not to go down the same path. But the code that seems to be quick fixes rarely breaks anything, only makes it better.

    No code is perfectly secure and I don't expect worms and such to stop on any OS, IMHO I feel that security needs to be a vital part of Windows' thinking, if they want to keep their market share.

    --
    :%s/teh/the/g
  28. First true, then False. It's not enough! by dwheeler · · Score: 2, Insightful
    As author of a book on how to write secure programs, I feel I have to comment on this. Let's look at his claims:

    1. "You don't need perfect code to avoid security problems."
      Actually, that's true. For security, you want to minimize the amount of code that's important for security, and the security-relevant pieces have to be right in the sense that they don't allow security to be broken. Even the critical pieces can be imperfect as long as the imperfections don't harm security. But there's a danger here - typically the bar is set far too low. My fear is that this will be interpreted by his developers as "slipshod implementations are still okay." Which is not true - the parts that matter, still matter.
    2. "There are things we're doing that are making code closer to perfect, in terms of tools and security audits and things like that. But there are two other techniques: one is called firewalling and the other is called keeping the software up to date."
      Tools and security audits can help, as can firewalling and keeping up with patches. But that's not enough. Training developers how to develop secure software , and giving them the time to do, is probably even more important. I know Microsoft has done at least some of that, though I don't know how widespread it is and how well it's compensating for all the years they did not do that. Techniques other than the ones he's listing are frankly more critical, too. In particular, the system needs to be broken down into smaller, mutually suspicious pieces with minimal privileges, so that breaking one component doesn't break everything. There needs to be multiple layers of defense. The system needs less tight integration, and it needs to be easier to disable and remove everything not strictly necessary for a particular task. In contrast, firewalling is only a first baby step - his competitors (like Red Hat Linux) enable that by default as a starting point, and so Microsoft is only just catching up there. Besides, viruses are almost entirely an Outlook-unique problem, other systems are designed to not have that weakness in the first place. Patch management is important, but given Warhol worms, they won't be enough - if attacks take a few seconds or minutes, we won't be able to patch every system around the world fast enough.

    I hope that Microsoft is doing much more than Mr. Gates is saying here.

    --
    - David A. Wheeler (see my Secure Programming HOWTO)
  29. Re:As an SSL developer by 16K+Ram+Pack · · Score: 2, Insightful
    It's odd, there's very few accidents involving people cutting off their fingers in electric coffee grinders.

    Why? Because the manufacturers put in a switch which makes it hard to do it. The blade won't operate without the lid on.

    Now you CAN work out a way to remove the guard and cut off your fingers...if you really want to.

    If Windows had been a little better thought through, they'd have locked it down, done more sandboxing and helped people run it in idiot mode, or allow people who know what they are doing to run in non-idiot mode.

    I know heaps of people who use their PCs for Word, Excel, web surfing, reading emails, viewing pictures, and playing games. They don't want to install much, and would probably love it if the operating system made it difficult for them to install garbage on their machine.

    They want to use it as an appliance, not as a piece of geek tech.

    It's sad that the idea of net stations didn't take off, where everything is accessed across a network, and a hard drive is only there for caching. All your data lives on it, and all your programs (which could be rented with services being added).

    Of course, you think Microsoft would go for such an idea?

  30. Well, duh. by Anonymous Coward · · Score: 1, Insightful

    > What kind of message does that send to the developers who work for Gates?

    a) That the crap^H^H^H^Hprojects you are working on only have one constraint: the deadline.

    b) What you're doing doesn't matter. What marketting says is all that matters.

    c) Thought you were hired because of your capabilities of writing good code? Nope. It was because you can get something slapped together and out the door quickly.

    d) some combination of the above.

  31. There is no way that should be possible... by AzrealAO · · Score: 2, Insightful

    in a corporate environment.

    If a computer in the act of being installed is exposed to the net unprotected, your System Admin's need to be dragged out and shot.

    If it's getting infected by an infected computer INSIDE the corporate firewall, your IT department needs to be dragged out into the street and shot.

    There is absolutely NO GOOD REASON that a computer should be freely attackable in a corporate environment unless the IT Department is grossly incompetent.

  32. Re:Right and Wrong by chill · · Score: 3, Insightful

    I can't agree with that. If the default behavior of all common mail programs so discourages people from executing attachments, I think the worm problem (at least as it exists today with things like sobig) would be effectively solved.

    That's not to say that nobody will find a way to execute such a program. The problem with sobig, though, was that so *many* people ended up running it, because of how easy it is to do in mail programs.


    Except many worms are spread through more than one means.

    A real case I dealt with: the I LOVE YOU virus.

    The ILY virus spread through local network shares and e-mail attachments. The parent office of a corp I worked for (2,000 PCs) was hammered with it. It took them two days to clean up.

    Then, the next day, some idiot who originally *thought it was a real love note and saved the attachment to his desktop* executed it again -- out of the context of an e-mail attachment.

    The shame and humiliation heaped upon him was enough to ensure he wouldn't ignore IT memos again. However, it brought the e-mail servers down a second day while it was fixed. Again.

    In a LAN environment, all it takes is one idiot.

    --
    Learning HOW to think is more important than learning WHAT to think.
  33. WHAT!?! by DigitalKhaos23 · · Score: 2, Insightful

    Bill Gates says 'You don't need perfect code to avoid security problems.' Instead he suggests that users acquire and properly configure firewalls and make sure that they keep their software patches up-to-date.

    Come on now. I deal with end-users all the time. They have problems finding their damn "start" buttons, and the illustious Mr. Gates is suggesting that these users install and configure their own firewalls?

    True, there is no perfect OS and all OS's are going to be vulnerable in some way. True again that Windows holds the desktop market in it greasy hands, but instead of attempting to meet "corperate deadlines" and wasting time and money by adding functionality into the OS consequently putting other companies out of business, lets start writing some quality code. Screw the deadlines.

    This annoys me.

  34. Just to bash Gates by CaptainTux · · Score: 2, Insightful
    It amazes me how people will take ANYTHING Bill Gates says and interpret it in a twisted way just to take a slam at him. This is a really good example of this.

    If you are a developer and you believe that code can be perfect or that it even NEEDS to be in order for users to be protected then I would suggest that you've never worked on any projects of any size. If you are a developer who claims to write perfect code then I invite you to send me your resume.

    The truth of the matter, and anyone who has done professional software development knows this, is that it is impossible to write perfect code. Yes, even under our beloved Linux. Indeed, EVEN our beloved Linux. The challenge is to implement within that imperfect code solid security procedures that deal with, and protects the end user from that code.

    Really folks, I hate Gates as much as the next guy, but he isn't wrong in EVERY single thing he says. Sheesh.

    --
    Anthony Papillion
    Advanced Data Concepts, Inc.
    "Quality Custom Software and IT Services"
  35. Gates isn't wrong; argument works against him. by jbn-o · · Score: 2, Insightful
    Don't rely on someone else to keep your computer secure. Take steps yourself.

    That's why I find free software to be superior to non-free software. With non-free software you must "rely on someone else to keep your computer secure" because only one person or organization has the source code and the legal authority to improve the software. If a program is Free Software for me, I get to choose how much time am I willing to spend developing the skill to improve my software to suit my needs. It doesn't matter to society how much of that freedom I leverage, what matters is that I have the freedom. But I want that freedom for everyone else too. I benefit from more people having these freedoms because I benefit when those people leverage those freedoms in clever ways.

    This is also where I somewhat part with the Open Source movement. On the one hand, I'm glad for all the attention they've helped bring to Free Software licenses (particularly the GNU GPL), but on the other hand I (as a user) want the freedom to share and modify software. I'm not against businesses having the freedoms of Free Software, but I don't want to tailor my message for them or pitch chiefly to them. The GNU project tells about an interesting episode in their their essay on the difference between Free Software and Open Source:

    At a trade show in late 1998, dedicated to the operating system often referred to as ``Linux'', the featured speaker was an executive from a prominent software company. He was probably invited on account of his company's decision to ``support'' that system. Unfortunately, their form of ``support'' consists of releasing non-free software that works with the system--in other words, using our community as a market but not contributing to it.

    He said, ``There is no way we will make our product open source, but perhaps we will make it `internal' open source. If we allow our customer support staff to have access to the source code, they could fix bugs for the customers, and we could provide a better product and better service.'' (This is not an exact quote, as I did not write his words down, but it gets the gist.)

    People in the audience afterward told me, ``He just doesn't get the point.'' But is that so? Which point did he not get?

    He did not miss the point of the Open Source movement. That movement does not say users should have freedom, only that allowing more people to look at the source code and help improve it makes for faster and better development. The executive grasped that point completely; unwilling to carry out that approach in full, users included, he was considering implementing it partially, within the company.

    The point that he missed is the point that ``open source'' was designed not to raise: the point that users deserve freedom.

    stratjakt wrote:

    No, you don't need perfect code. Linux has no "perfect code". If it did, Linus et al would be finished and have moved on to other things.

    Nothing is perfect, so arguing about our need for perfection seems to me to be a moot point. I think we need a system to give as many people the freedoms to inspect, share, and modify software so software can meet people's needs. The proprietary model of software development and distribution does not give us these freedoms.

  36. what are reasonable responsibilities for users? by rbird76 · · Score: 2, Insightful

    Users want software that works, that does the job it's supposed to do. What should users be expected to know and do? Basic security, such as updates and securing against somewhat standard threats (such as Outlook attachments) might be reasonable, but I was under the impression that the documentation for changing these features was less than outstanding. In some cases, the updates may either not work or may come with onerous EULA (WMP 9.0).

    I didn't RTA, but BG seems to expect users to know as much as the virus/script writers and perhaps more than his own engineers to secure their computers. While there is a lot of avoidance of responsibility on the part of users for security flaws, it seems unreasonable to have to spend significant amounts of time to know the inner workings of their system to use it, particularly when Microsoft seems more interested in adding "features" such as "trusted computing" than to write correct code and patches.

    In order to drive, I have to look at the oil, gas, and tire pressure to keep it OK, and I have to know how to drive competently, but I don't have to understand my transmission much to run the car. It would be harder for lots of people to secure their cars if, in addition to the locks, the engine had multiple overrides to allow other users access which would either be listed on p.600 of the Advanced Mechanics' Maintenance Manual for your car or available by downloading from the manufacturers' website along with great features such as a governor that limits you to 55 mph or which rejects non-Exxon gas. MS sells its OS to people solely interested in using it, yet it neither is willing to clarify the requirements for maintaining security nor to write working software or patches. Instead, MS is better at blaming or hindering its users than in actually achieving the "security" they trumpet so loudly.

    If you want users' help in improving security, BG, a good start might be to work with your users rather than against them. Whatever legitimate points you make are diluted by your cavalier attitude about the flaws of MS software and the antagonistic attitude of MS towards the users of its software with respect to security (trusted computing again) - improvements at security seem to secure software from use by legitimate agents rather than from use by illegitimate agents (virus writers and crackers). Users should be your customers, not the enemy. If you believe that users should behave differently, than clarifying the correct behavior to users without a BS in EE/CS would help; setting insecure features to default off might help too.. Then if users want to shoot themselves in the foot, they might have to learn something (and thus might learn not to do that). MS warnings about user security sound like "don't engage in unsafe sex" talks from condom makers who make defective products.

  37. Re:Unix is difficult, Windows is easy to use by cayenne8 · · Score: 5, Insightful
    "Unix may be secure but it is arcane and difficult to learn and use."

    That a computer system's administrator should be fairly intelligent, able to read and learn how to do new and complex things and stay up to date with technology.

    What the hell were we thinking....??

    ...sarcasm mode off...

    --
    Light travels faster than sound. This is why some people appear bright until you hear them speak.........
  38. Re:Security is a process not a state by DeadSea · · Score: 3, Insightful
    Nothing microsoft or any other programer can do is going to be able to stop me if I grab pair of mac-10s and just go after their physical computer

    Your thinking is one of the reasons that security is often breached. It is not possible to think about computer security without securing the computer physically. The security process requires holistic thinking. You cannot just dismiss ways to bybass security with a "well, of course somebody could do that". A cracker may find it easiest to get in via the wire, but a determined cracker won't stop at that. Unless you are thinking of every way to break in, just like an attacker would, you have vulnerabilities.

    There are other ways around the wire as well. What if your mother (child, significant other, friend, employee) were using your computer (you let them while you aren't home), and somebody calls you and impersonate you or claims to be a friend calling on your behalf. The attacker has her go to a website, download a program, and run it. The program reads your private data and sends it. Do you expect Microsoft to prevent this type of attack? There are some things you can do to lock a system down so users can't install and run software, or upload to the internet, but it is a hard problem to solve.

  39. that does not follow. by twitter · · Score: 2, Insightful
    'You don't need perfect code to avoid security problems.'

    IS NOT

    'you can't rely on perfect code for security'

    First, imperfect code is a security problem. M$ has many flaws and they know it each time they ship code. The kind of problems M$ has extends to poor design as well, so it would break even if it were perfect.

    Second, Bill's statement implies that his company never will get better. That's something anyone familiar with M$'s history and hype knows, but it's kind of in-your-face for him to put it that way then blame the users again.

    Get back in your hole, appologist troll.

    --

    Friends don't help friends install M$ junk.

  40. Re:Unix is difficult, Windows is easy to use by Bromrrrrr · · Score: 2, Insightful

    It was Microsoft who told these home users that they could be connected without any hassles. They can't just backtrack now and blame their users.

    So yes Unix may be secure but it is arcane and difficult to learn and use.. but no unix vendor has ever stated (afaik) that anyone can use their product without any knowledge about computers.

    --

    What a rotten party, have we run out of beer or something?
  41. Re:Right an Wrong by Pseudonym · · Score: 2, Insightful

    Actually, the last point is worse than bullshit. It's downright dangerous.

    One of the most important rules of security is: Don't engineer a single point of failure. The reason for firewalls et al is that we know that the software that they protect will be insecure despite our best efforts. That's why we put up an additional barrier.

    Relying on firewalls because we made the software insecure and have no intention of fixing it is effectively engineering a single point of failure.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  42. He's making a legitimate point. by Anonymous Coward · · Score: 1, Insightful

    OpenBSD people were arguing over this point a year or two ago. C is known far and wide as the number one source of buffer overflows. Theo de Raadt postion for a while was that competent C programmers and a "secure by default" configuration was the way to go. But then there were a couple of embarassments in the OBSD camp, and Theo got sick and tired of repairing buffer overflows after the fact, so he added in stack protection and noexecutable pages to give OpenBSD users another "layer" of protection. FreeBSD has added support for ACL's to go with LOMAC and PAM (Linux), all of which are arguably redundant by Unix standards, but the demand for them is there. If people really trusted the network daemons running on their machines, why would they need firewalls?