Slashdot Mirror


Developing Securely In Windows

FrazzledDad writes "No, really. Please pick yourself up off the floor and stop laughing. Yes, there are good books on developing Windows software in a secure fashion. Keith Brown's The .NET Developer's Guide to Windows Security is right alongside Howard and LeBlanc's Writing Secure Code as examples of good Windows security works. Brown's book should be on any .NET Developer's bookshelf and will be of use to developers who work in other development platforms on Windows." Read on for the rest of the review. The .NET Developer's Guide to Windows Security author Keith Brown pages 408 publisher Addison-Wesley rating 9 reviewer Jim Holmes ISBN 0321228359 summary Terrific coverage of how to go about securely developing .NET software

I know the entire topic of Windows security may kick off a "slightly" enthusiastic debate among Slashdotters. I'd really prefer not to get wrapped up in a fray, so let me just say that a professional software developer needs to well understand the security issues in the environment and platform they're working on. This book's an important aid in that understanding. Great Fundamentals

Brown's book is broken into six parts, ranging from "The Big Picture", an overview of security on Windows, to "Access Control" and a wrap-up "Miscellaneous." Each part is made up of numerous "items," one topic which Brown elaborates on.

Brown covers a lot of very basic, important fundamentals such as "What is Authentication?", "What is a Luring Attack?", and "What is Kerberos?" He gives concise, clear overviews of each topic, then gets into the weeds where necessary.

For example, one of Brown's first emphatic points is that development on Windows platform shouldn't be done using an account with Administrator privileges. He covers the "why" in several early items, then spends 11 pages in Item 9 showing the approaches, tools, and issues involved in developing under a non-Admin account. This particular item needs to be stapled to far too many developers' foreheads because they don't understand, or care about, the ramifications of development as an Admin. Great Details

Brown also goes into great detail on many Items. His discussion of IPSEC is a good example. He spends Item 68 on the fundamentals of IPSEC such as key exchange and authentication, then goes on in Item 69 to discuss the details of implementing IPSEC via policies in a domain. He covers client and server configurations, then gives rationale for selecting various options. He also talks about why it's not the best solution, or even a complete solution, but does point out where IPSEC makes sense.

COM programming gets an entire section/part to itself, and Brown does a great job explaining the complex issues surrounding securing COM(+) communication. He discusses Authentication, Impersonation, and what calls you need to make in your Main method to properly invoke various COM security aspects.

Threat Modeling gets its own Item, but isn't covered in great depth. Brown lays out Microsoft's STRIDE system (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, and Elevation of privilege) as a guideline for threat modeling. He also talks a bit about attack trees. Neither topic gets substantial treatment; however, Brown makes it clear he's only introducing these topics and points readers to several other resources such as Swiderski and Snyder's Threat Modeling. Great List of Cons and Problems

Part of good software engineering is understanding the ramifications of choices you make. Brown's very good about laying out the "Why" for his items, plus he's also clear where hard choices have to be made.

For example, in his discussion of IPSEC he asks "Where is IPSEC useful? When you don't have any better alternatives." He goes on to show how IPSEC can be used to help COM servers talk securely, or in .NET Remoting under the 1.1 Framework which stupidly doesn't provide secure communication channels.

Another example might be the erasability of a secret under .NET. Managed environments such as .NET and Java don't make it easy to ensure secrets (passwords, keys, etc.) can be erased out of the managed memory heap or at least overwritten immediately after their purpose is fulfilled. Not only can the object's memory be left unerased, but what about controlling whether it's written out to a swapfile? Brown points out these sorts of issues and tries to point out how to deal with them. What the Book Doesn't Cover

Brown's book isn't so much about specific coding techniques, although there are a fair number of those within. You won't find specifics on .NET's code access security, or issues around cross-site scripting. You'll need to look to Howard and LeBlanc's Writing Secure Code for code specifics.

Rather, the book is more about approaches to secure development on Windows. Brown's book also isn't about security and threat analysis, but again, he's forthright about that and points readers to other sources.

Bill Wagner, author of Effective C#, points out on his blog that Brown's book would be more usable if "titles [were] organized around the tasks I need to perform." I think that's a good criticism - a cookbook format would be a great improvement for a second edition. Summary

The book's very well written with a good index and a terrific Bibliography which serves as a great reading list for furthering one's knowledge of security on the Windows platform.

I've found the book very educational and useful. It's an important addition to my bookshelf and has already helped me with a couple of important topics. I think any professional, contentious developer working in the Windows environment would find this a vital addition to their bookshelf as well."

You can purchase The .NET Developer's Guide to Windows Security from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

155 comments

  1. Laughing? by NoodleSlayer · · Score: 0, Offtopic
    No, really. Please pick yourself up off the floor and stop laughing.

    Do I have to?

  2. Short but complete review by MyTwoCentsWorth · · Score: 0, Redundant

    Nothing for you to see here. Please move along.
    So THAT was the review...
    Well, it was about Secure Development in Windows - that covers it, right ?

    1. Re:Short but complete review by Anonymous Coward · · Score: 0

      A redundant for the second post in a query. Nice job, M.

  3. World's Shortest Books by PeeAitchPee · · Score: 5, Funny

    From Amazon.com:

    Customers who bought this title also bought:

    • My Plan To Catch The Real Killers by O. J. Simpson
    • My Little Book of Marital Ethics by Bill Clinton and Rev. Jesse Jackson
    • 101 Iraqi Exit Strategies by G. W. Bush
    1. Re:World's Shortest Books by Anonymous Coward · · Score: 3, Funny

      Or- How To Reboot and Install Linux in 21 Minutes

    2. Re:World's Shortest Books by geekee · · Score: 1

      " Or- How To Reboot and Install Linux in 21 Minutes"

      and find out your system still isn't secure.

      --
      Vote for Pedro
    3. Re:World's Shortest Books by Anonymous Coward · · Score: 0

      Or- How To Reboot and Install Linux in 21 Minutes

      That's soooo 2000. Did that with Redhat 7 in 15 minutes.

    4. Re:World's Shortest Books by Anonymous Coward · · Score: 0

      Oh, well then 22 minutes. 21.5 if you use vi and don't need to wait for emacs to load.

  4. I have this on my bookshelf... by keesh · · Score: 2, Funny

    ...next to "Building Castles on Sand".

  5. Of course it's possible by Dante+Shamest · · Score: 1, Redundant

    There's Firefox and Apache for Windows, isn't there?

    1. Re:Of course it's possible by eno2001 · · Score: 1

      Right you are. But the software is only as secure as the OS. And if the OS gets 0wn3d, then the security of the application doesn't matter. However, I'll also say that the abilities of the administrator of the Windows box also have a lot to do with it. I know that I could run an Apache web server on a Windows 2003 server and never get cracked.

      --
      -"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
    2. Re:Of course it's possible by Anonymous Coward · · Score: 1, Funny

      I know that I could run an Apache web server on a Windows 2003 server and never get cracked.

      What was your IP again?

    3. Re:Of course it's possible by arootbeer · · Score: 1

      Ummm...no IP address. How do you think he manages to stay uncracked?

    4. Re:Of course it's possible by ergo98 · · Score: 2, Funny

      There's Firefox and Apache for Windows, isn't there?

      That would be so much funnier if IIS 6 didn't have so much better of a security track record than Apache has over the same period.

    5. Re:Of course it's possible by gnuLNX · · Score: 1

      Damn it! You made me spit me beer out laughing. Son of a bitch...that was a waste of Corsendonk Christmas Ale.

      --
      what?
    6. Re:Of course it's possible by ergo98 · · Score: 1

      Interesting that this was moderated "funny".

  6. Best. Review. Ever. by Anonymous Coward · · Score: 0

    Don't. Do. It.

  7. Here's a thought by sexyrexy · · Score: 5, Insightful

    Instead of bashing MS and Windows, prove that you're the better programmer by compensating for the sometimes flawed security. If you don't think users can trust their OS, at least you can take pride in the fact that they can trust your software running on it. A solid piece of software is just as impenetrable on Windows as it is on Linux or any other platform - it's all about understanding the environment. Looks like a great book, thanks for the review.

    --

    Rex is 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    1. Re:Here's a thought by Penguinoflight · · Score: 2, Insightful

      Security isn't something you can just dump in to your program. It's a mindset you use to build a good program. Problem is if you build a brick wall on quicksand, your efforts are nearly useless. Compensation is not achievable.

      --
      "And we have seen and do testify that the Father sent the Son to be the Savior of the World"
      1 John 4:14
    2. Re:Here's a thought by aztracker1 · · Score: 5, Insightful

      Io be honest, I think that isn't entirely true, there are many different vectors of attack.. the best we (as developers) can do is make sure it isn't because of *our* software. We can check input before processing, we can use proper error handling to prevent a default error handler from exposing a dbms password. We cannot fix windows services, or software we rely on...

      However, I have to submit that most of the time security exploits in windows, are user initiated. Reduced privileges for default users would be a great improvement.. aside from that, we must bear personal responsibility for what we create.

      --
      Michael J. Ryan - tracker1.info
    3. Re:Here's a thought by m0rph3us0 · · Score: 1

      Exactly. I mean its not like you could build a brick box that would provide boyant for the weight of wall and then build the wall on top of the box. I think the analogy you are looking for is "It's like building a battleship on the ocean".

    4. Re:Here's a thought by aztracker1 · · Score: 2, Interesting

      And if you build a program that is running on windows, but behind a firewall that only exposes the port your application runs on... your application is the only attack vector for that machine... Yes, windows has flaws, mostly on end user machines, because of software that is poorly written to not install or run properly in a reduced context.

      That doesn't mean it should not be considered... Well, people are going to get drunk, and drive anyway, should we just eliminate the laws making it illegal?

      --
      Michael J. Ryan - tracker1.info
    5. Re:Here's a thought by paranode · · Score: 1
      Definitely true, writing secure apps goes a long way. I think two of the largest contributors to Windows insecurity are a) Running everything as Administrator; and b) Clueless configuration (They do have some relation).

      Someone who has a mediocre grasp on system configuration can lock down a Windows box pretty easily. When we think of Linux this is a given because for the most part clueless users wouldn't be using Linux to being with. Though if I just threw up some Red Hat 7.x box right now on the net with no firewall and all services turned on you can bet I'd have some issues.

    6. Re:Here's a thought by tpgp · · Score: 3, Informative

      A solid piece of software is just as impenetrable on Windows as it is on Linux or any other platform

      Hmmmmn....How about if I change your statement to:

      A solid piece of software is just as impenetrable on Windows 95 as it is on Windows XP Professional or any other platform

      This statement is incorrect - Windows 9x Filesystem (for starters) makes your program's config files (or hell binary) overwriteable by anyone in the system.

      So you see - the OS is important.

      --
      My pics.
    7. Re:Here's a thought by slavemowgli · · Score: 1

      Yes, that makes sense. If you leave your front door unlocked, at least make sure that your windows (no pun intended) are secure - it'll make you feel so much better when the thieves enter your house through the front door and steal all your stuff.

      --
      quidquid latine dictum sit altum videtur.
    8. Re:Here's a thought by Anonymous Coward · · Score: 1, Informative

      Oh, really?

      Windows Server 2003 & SQL Server 2000 (both fully patched/up-to-date) were shown to be more secure than Linux(s) running either Oracle OR other DB's, & here @ slashdot only a few days ago!

      So much for Windows being a "house of sand" foundation for applications design and lack of security!

      Shoring up Windows itself is easy enough to do. The SCW (security configuration wizard) is an EXCELLENT starting point on Windows Server 2003!

      It makes securing the OS itself, simple to do (as well as sensible. W/out me getting into ALL of what it does (such as unneeded services cut-offs & registry hacks for security that are KNOWN to work better for security than default configurations Windows ships with), it works, & easily.

      For even MORE comprehensive security @ the OS level, you can use sites like this one (it works and is very comprehensive as well as organized):

      http://www.avatar.demon.nl/APKTuneup.html

      Now, as far as securing your CODE? You do and CAN build it into your code, removing business logic as much as possible from client-side forms/code & storing it as much as possible on the ServerSide for one example, & watching out for buffer overflow type exploitable code as another.

      There are SPECIFIC things you can & really HAVE TO DO + watch out for.

      I wonder how many applications of this nature you have written based on your statement, as well as your knowledge of securing the OS platform you are running on.

      Typical "Pro-Linux" F.U.D. from slashdot is what I am hearing from you, without having done it yourself, I strongly suspect.

      APK

    9. Re:Here's a thought by jcr · · Score: 0, Redundant

      Instead of bashing MS and Windows, prove that you're the better programmer by compensating for the sometimes flawed security.

      You can't build a solid wall out of mashed potatoes.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    10. Re:Here's a thought by ch-chuck · · Score: 2, Insightful

      Like someone said, writing a secure app for Windows is like putting a padlock on a paper bag. Aren't the biggest Windows Security risks IE and Outlook anyway? With their html enabled embedded shiny gewgaw features to bedazzle the clueless?

      --
      try { do() || do_not(); } catch (JediException err) { yoda(err); }
    11. Re:Here's a thought by bafarmer · · Score: 2, Insightful

      God, I hope some developers are reading the parent. I am a Windows Admin for a smallish group (~450 machines) and almost all of the problems we admins run into result from applications doing dumb things. We have finally gotten a policy through our business admins that allows us to nix software that won't run properly as a user in the Users group, and we have had only 2 security incidents since (and one of those was a machine we didn't know existed and thus wasn't being patched or getting AV updates). There is no reason the list of system requirements for an (end-user) application should ever contain "you must be logged in with administrative privileges on your computer."

      --
      I am Jack's sig. I reduce Jack's karma.
    12. Re:Here's a thought by Anonymous Coward · · Score: 0

      Everyone of these comments displays a gross ignorance of fundamental Computer Science. Morn the day that comp science curriculums were turned into "how to program" because it has left us with many, many people who can compile code but lack a fundamental grasp of the theories and science behind the scene.

      Bits is bits. Doesn't matter if they are on a mainframe under MVS or a x86 running Xnix, they are ones and zeros. It is up to YOU to arrange those ones and zeros in a secure manner.

      Tell the Army Corp of Engineers you can't build a foundation on sand. You'll get pwned pretty harshly. These "limitations" are only the result of 'engineers' who lack the proper proficiencies. Yes, if I am building on sand or "mashed potatoes", my approach will be different. But to say that it can't be built only exposes your lack of expertise and knowledge of the field we are working in.

    13. Re:Here's a thought by DarkIye · · Score: 0
      You make a really good point. It's A shame it's ruined BY FULLY capitalising random WORDS, as well as the total lack of a point, and any actual information or arguments that hasn't already been disproved in the discussion or that makes the slightest bit of sense anyway:

      Now, as far as securing your CODE? You do and CAN build it into your code, removing business logic as much as possible from client-side forms/code & storing it as much as possible on the ServerSide for one example, & watching out for buffer overflow type exploitable code as another..

      By the way, Oracle on Linux doesn't do too well against a similar database on Windows because Oracle is terrible (and that isn't the only one, for anyone who's been reading the securityfocus.com vuln lists). I don't know what databases you're talking about when you say 'other', so I'll just have to assume made that up.

    14. Re:Here's a thought by tpgp · · Score: 1

      And if you build a program that is running on windows, but behind a firewall that only exposes the port your application runs on... your application is the only attack vector for that machine...

      By the time I finished reading your post I thought of two attack vectors you neglected.

      1) The TCP/IP implementation (usually implemented in the....Operating System!)

      2) The firewall implementation.

      I'm sure if you give it ten minutes thought you can come up with many others.

      The O/S is important.

      --
      My pics.
    15. Re:Here's a thought by Not+The+Real+Me · · Score: 1

      "Windows Server 2003 & SQL Server 2000 (both fully patched/up-to-date) " ---- That is clearly the problem. All it takes is for one person to drop a Sony audio CD with the DRM rootkit and your system is fully haxxored.

      Secure Windows development will always be an oxymoron until Microsoft fixes their OS so that Administrator privileges are not required to do the most mundane tasks.

    16. Re:Here's a thought by aztracker1 · · Score: 1

      Well, the tcp/ip stack for windows is based on bsd iirc.. beyond this, I never said the firewall was software and ran on the windows machine... for that matter, there's also router attacks, and other types of DOS attacks.

      I didn't mean to infer that there weren't possibly other means of attack, so much as that they are much less a possibility... I'm not aware of any attacks exploiting the windows tcp/ip stack directly...

      --
      Michael J. Ryan - tracker1.info
    17. Re:Here's a thought by object88 · · Score: 1

      Instead of bashing MS and Windows, prove that you're the better programmer by compensating for the sometimes flawed security.

      My modpoints ran out just as I was about to bump you up, but then, it looks like you're sufficiently well bumped by now anyway.

      No platform is or will be 100% secure, but that doesn't and shouldn't stop engineers from reducing the number of security holes.

    18. Re:Here's a thought by jfulcer · · Score: 1

      I'm sorry, if an Admin is playing CDs on his Windows 2003 Server, he deserves to have his system hacked.

    19. Re:Here's a thought by Beatbyte · · Score: 1

      A solid piece of software is just as impenetrable on Windows as it is on Linux or any other platform

      That's only true to a point. It's like having a VERY sturdy roof on a framed house with holes in your studs.

    20. Re:Here's a thought by David+Horn · · Score: 1

      Interestingly, as part of my Computer Science degree at the University of Leeds I take a Secure Computing module in my final year, sponsored (ironically) by Microsoft.

      http://www.microsoft.com/uk/press/content/presscen tre/releases/2003/03/PR03013.asp

      --
      PocketGamer.org - For the gamer on the go!
    21. Re:Here's a thought by tpgp · · Score: 1

      Well, the tcp/ip stack for windows is based on bsd iirc
      I'm afraid you recall incorrectly. Read this slashdot thread to get more info - but essentially, whilst there is plenty of BSD code in microsoft products, its unlikely that they used a bsd based tcp/ip stack in windows versions beyond NT3.5.

      beyond this, I never said the firewall was software and ran on the windows machine...

      Where they are running is irrelevant to this discussion.

      for that matter, there's also router attacks, and other types of DOS attacks.

      errr, yes - thats why I said I'm sure you could think of other attacks given ten minutes.

      I didn't mean to infer that there weren't possibly other means of attack, so much as that they are much less a possibility... I'm not aware of any attacks exploiting the windows tcp/ip stack directly...

      Have a read of Microsoft Security Bulletin MS05-019
      Vulnerabilities in TCP/IP Could Allow Remote Code Execution and Denial of Service

      --
      My pics.
    22. Re:Here's a thought by masklinn · · Score: 1

      ID-10T security holes are usually the worst found on a network, and they're nearly patch-proof...

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    23. Re:Here's a thought by Anonymous Coward · · Score: 0

      x does y and it is not shown (no facts provided. no data) that y is related in any way to the topic at hand.

      So you win?

    24. Re:Here's a thought by masklinn · · Score: 1
      Tell the Army Corp of Engineers you can't build a foundation on sand. You'll get pwned pretty harshly.

      After getting pwned, give them the precision that you're not allowed to actually put anything INTO the sand, and watch them try to design some kind of floatable device on top of which you may be able to build your fortress for some time before they burst in tears.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    25. Re:Here's a thought by Anonymous Coward · · Score: 0

      Here's your other:

      http://download.microsoft.com/download/4/a/5/4a528 af3-a63b-422b-a6d2-6a7b2b7ab7ea/Reliability_Analys is_Security_Innovation.pdf

      I made NOTHING up! It's there, from a legit test run by a party other than MS, & yes, it clearly showed Microsoft Windows Server 2003 (SP#1 + hotfixes) & SQLServer 2000 (SP #3) doing a BETTER JOB OF SECURITY than Linux & other DB engines!

      Read...

      (As I stated above? This was an article from THIS website in fact, & I got it from slashdot as I mentioned/noted! Read the pdf...)

      * :)

      APK

      P.S.=> "A shame it's ruined BY FULLY capitalising random WORDS, as well as the total lack of a point, and any actual information or arguments that hasn't already been disproved in the discussion or that makes the slightest bit of sense anyway" - by DarkIye (875062) on Monday November 21, @02:34P

      LOL, yea, right... read the above article, ok?

      (And, as to who's reply was full of "fluff" & lack of facts with backup? I read yours, doesn't seem TOO substantial or backed well, now does it?) apk

    26. Re:Here's a thought by agm · · Score: 1

      A solid piece of software is just as impenetrable on Windows as it is on Linux or any other platform - it's all about understanding the environment.

      Take a look at this paper on shatter attacks. From what I understand any process (owned by any user) can execute arbitrary code as any other user on a desktop system as long as then can find a window owned as that user. They simply tell the administrator owned window to run a function at a particular memory address (by using a timer with a callback).

      Apparently this escalation flaw is fundametnal to the design of the Windows messages subsystem and is not easily fixed. Interesting. I wonder if/when exploits for this will appear in the wild.

    27. Re:Here's a thought by Fx.Dr · · Score: 1

      The first fortress might have sunk into the swamp, and the second fortress might have burned and sunk into the swamp, but the third one... the third one stayed! Perhaps that's the secure foundation MS is gunning for?

    28. Re:Here's a thought by Beryllium+Sphere(tm) · · Score: 1

      >Reduced privileges for default users would be a great improvement.

      Absolutely. And the road to that goal runs through software developers. How do you stop users from running as Administrator by default when their frelling *typing tutor* program won't run in a normal account? Third party software developers bear *some* responsibility for where we are today.

    29. Re:Here's a thought by Anonymous Coward · · Score: 0

      When you're the guy who engineered
        the windows, it WILL make you feel better to know that they used the unlocked door and not the unlocked windows to get in the house.

    30. Re:Here's a thought by SComps · · Score: 1

      Of course if you dig back far enough you can find insecurities. My door has a lock on it now, but my grandfather once owned a house that had little more than a piece of board across it with a rope to open it. Should I be considering rope operated doors in my home security plans?

      It's one thing to come up with a good arguement to make a point, but another to dig up something obsolete and (mostly) globally admitted to be a problem to make that point.

      In my world we call people like this zealots. Others refer to them as closed minded, yet others have more humorous and less flattering terms.

    31. Re:Here's a thought by jcr · · Score: 1

      Don't forget: the third one is sinking. ;-)

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    32. Re:Here's a thought by jcr · · Score: 1

      writing a secure app for Windows is like putting a padlock on a paper bag.

      That analogy is very apt. I also like to describe script kiddies as arsonists, and MS as the contractor who keeps building houses out of balsa wood and flash paper, and kindly leaves barrels of kerosene and boxes of matches in easy reach.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    33. Re:Here's a thought by VENONA · · Score: 1

      Microsoft has too poor a record, after the 'Get the Facts' campaign. There are simply too many cases where 'studies' have been found out to have been funded by MS. They don't have anything like enough credibility left that security guys will grab and believe a download from microsoft.com. Security is tough. There's a lot of demands on our time. Unless we already have an idea that it's not just another pack of lies, it's not going to be widely read.

      A title like Reliability_Analys is_Security_Innovation.pdf, from MS, makes it doubly suspect. In the real world, MS is known far better for security FUD than for innovation.

      --
      What you do with a computer does not constitute the whole of computing.
    34. Re:Here's a thought by VENONA · · Score: 1

      You may be right about Win 2003 Server. I'm not qualified to make a call. But that's a small percentage of Win machines. And it will happen with great regularity for most, who are running older versions, or client versions. Those are the people gaming, etc., as Admin, because the software requires it, or because they're simply consumers. No knowledge of security whatsoever, in many cases. They tend to just do whatever works at the moment, whether that's running as Admin, clicking mail attachments, or whatever.

      We (security folk) have a perfect record of failure in solving that problem.

      --
      What you do with a computer does not constitute the whole of computing.
    35. Re:Here's a thought by woolio · · Score: 1
      This statement is incorrect - Windows 9x Filesystem (for starters) makes your program's config files (or hell binary) overwriteable by anyone in the system.


      Here here!

      When I was in *high school*, my CS teacher locked down a Win98 machine with the "Policy Editor". He then allowed us to attempt to break his restrictions. He removed virtually all privilages were removed. (Couldn't execute arbitrary programs, I think even Explorer was disabled). The only app allowed to run was Wordpad... (Nothing else).

      Without a bootdisk or any other tool, without exploting any "bug", I removed the restrictions... How? Quite easy:

      1. Remove "Read Only" attribute from msdos.sys by right-clicking on it from the File-Open box of Wordpad.
      2. Edit msdos.sys to boot into the command prompt rather than start Windows..
      3. Reboot.
      4. Using regedit.exe, export registry to a text file.
      5. Reboot & Edit exported registry using Wordpad (edit.exe can't handle large files)
      6. Reboot & import edited file using regedit.exe
      7. Reboot & enjoy full privs...

      (Not sure if steps #1&2 are necessary... Seem to remember that pressing something like F8 didn't work at the time, perhaps it was disabled or the timeout set to 0).

      Steps 4,5,6 could be simplified if one knew exactly what keys to overwrite... (I didn't have a reference in front of me).

      So the parent makes an extremely good point... File systems with user-level permissions don't allow most users to modify OS files without some type of external action. (e.g. mount drive in Linux, most HD to another computer, exploit kernel bug, etc)
    36. Re:Here's a thought by drsmithy · · Score: 1
      Secure Windows development will always be an oxymoron until Microsoft fixes their OS so that Administrator privileges are not required to do the most mundane tasks.

      Like what ?

    37. Re:Here's a thought by mcrbids · · Score: 1

      This statement is incorrect - Windows 9x Filesystem (for starters) makes your program's config files (or hell binary) overwriteable by anyone in the system.

      Wanna be a real man? Encrypt your config files, and include, in the decrypted text, an MD5 hash of the memory variable prior to encryption.

      What's that you say? Oh. Well, are you a pansy, or just lazy? Come on, man!

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    38. Re:Here's a thought by drsmithy · · Score: 1

      Take a look at this paper on shatter attacks.

      Then check out this one from some HP people who think they've got a workaround.

      From what I understand any process (owned by any user) can execute arbitrary code as any other user on a desktop system as long as then can find a window owned as that user. They simply tell the administrator owned window to run a function at a particular memory address (by using a timer with a callback).

      Basically. The moral of the story is that developers shouldn't write applications such that they have windows with elevated privileges "just running" on regular user's desktops.

      Interesting. I wonder if/when exploits for this will appear in the wild.

      They probably already exist, but since the attack requires a) a local logon and b) a window with elevated privileges, none of them are ever likely to be "popular".

      Shatter is a flaw, but it's only really exposed by poorly written applications. In the grand scheme of things, it's pretty low risk.

    39. Re:Here's a thought by Anonymous Coward · · Score: 0

      It's there, from a legit test run by a party other than MS, & yes, it clearly showed Microsoft Windows Server 2003 (SP#1 + hotfixes) & SQLServer 2000 (SP #3) doing a BETTER JOB OF SECURITY than Linux & other DB engines!

      No apologies now that this one has been debunked? No? Shill.

    40. Re:Here's a thought by Anonymous Coward · · Score: 0

      "In the real world, MS is known far better for security FUD than for innovation." - by VENONA (902751) on Monday November 21, @07:30PM

      Yes, and you forgot 1 important factoid from the REAL world - that 95-99% of all personal computers (and a good chunk of servers as well) run Win32 based OS' &/or software, with more & more being of the Windows NT-based OS family (specifically Windows 2000/XP/Server 2003).

      I guess the whole entirety of the planet using the most flexible/powerful OS & API for application development (that has more apps & hardware support drivers than any other OS out there as well) must be wrong vs. you "Pro-Linux Penguins" & YOUR opinions, right?

      That's from the real world, not fantasyland.

      (Care to argue with those numbers?)

      APK

    41. Re:Here's a thought by Anonymous Coward · · Score: 0

      "No apologies now that this one has been debunked? No? Shill" - by Anonymous Coward on Tuesday November 22, @02:38AM

      LOL, whatever (that's my reply to that "Anonymous Coward's" reply), no apologies necessary.

      I don't see how you can state my reply was 'debunked'... it's just facts from a legit test a 3rd party ran is all, that showed Windows Server 2003 (SP #1 & post sp1 hotfixes) + SQLServer 2000 (SP #3, which isn't as good as the latest, SQLServer 2005) outperformed Linux + Oracle (& other DB Engines like MyPHP) as to security.

      The funniest part was the fact that the security vulnerabilities, though there in the DB Engines, were not as prevelant in the DB Engine software, but instead in the OS kernel/cores!

      With Linux having FAR MORE OF THEM than Windows Server 2003 had!

      Linux isn't "bad" per-se. It's just not as flexible or powerful overall vs. Windows Server 2003 & the facts bear it out. After all, there has to be SOME reason why most folks (and IT/IS dept.'s) go with Win32 as their foundations vs. Linux, & I'd wager it's that very flexibility/ability Microsoft's offerings have vs. Linux offerings @ both the OS & software available levels.

      Sure, for now? Linux has clustering sewed up vs. Windows Server 2003, but for how long?? Ms is @ it on that end of things too... I give them 1-2 years before they overtake Linux there as well, but that's just a guess.

      They usually seem to come thru is why I state it.

      E.G.-> Just like it was said years ago, that there was no way to run Win32 apps remotely the way X can do it for Unix/Linux... well, so much for that: Windows Terminal Server/Citrix add-ons do that just fine.

      APK

      P.S.=> Above all else - Hey, calling me a "shill" (whatever THAT means) doesn't disprove the fact that 95-99% of all the worlds personal computers (desktops/laptops) & a good portion of the servers out there run Win32 based OS (more & more being of the Windows NT-based OS family (e.g.-> 2000/XP/Server 2003) all the time)) & Win32 based software - care to argue with that fact? apk

    42. Re:Here's a thought by VENONA · · Score: 1

      Spoken like someone who has their entire career built around it.

      I don't really believe those market share numbers. Where did Apple go, for one thing? For another thing, Windows is too weak on platforms to have those numbers.

      So far as servers, yes they do run a fair amount of them. Too many, judging from all the data that's been lost at Choicepoint, etc.

      As far the most flexible/powerful APIs in the world--you're raving.

      --
      What you do with a computer does not constitute the whole of computing.
    43. Re:Here's a thought by aztracker1 · · Score: 1

      for the last link, pretty scary, but that's part of keeping up on one's updates/patches... Though imo for end users it should be more automated, and transparent.. for admins that get paid to maintain servers, there's less excuses.

      --
      Michael J. Ryan - tracker1.info
    44. Re:Here's a thought by Anonymous Coward · · Score: 0

      "Spoken like someone who has their entire career built around it." - by VENONA (902751) on Tuesday November 22, @10:05AM

      Yes, & one who's made a good living from Win32 for more than a decade & 1/2 in fact. I came from the older world of UNIX, OS/400, & VAX VMS in the 1980's but prefer graphically driven OS' personally... more fun & far more interesting.

      Now, as to my estimation of yourself, complete with evidence thereof based on mistakes you made in another thread? Here we go!

      For YOUR part - Spoken (again, like the URL below which I replied to you & quoted your mistakes correcting them) like a novice on your part (or someone that hasn't functioned @ these levels being discussed) here in this thread, and here in another thread as well judging by the mistakes you made here also:

      http://it.slashdot.org/comments.pl?sid=169093&thre shold=-1&commentsort=0&tid=172&mode=thread&pid=140 97070

      Read that, & get better informed.

      From what I've seen from you? I have to judge that I see you're the basic "I read it on Wikipedia or GOOGLE & it must be the truth" kind of guy - albeit, one who hasn't done the job himself apparently & especially @ the levels being discussed here, or in that URL above.

      "As far the most flexible/powerful APIs in the world--you're raving." - by VENONA (902751) on Tuesday November 22, @10:05AM

      Gee, I wonder - what has more applications &/or hardware device driver support built around it? Linux, or Windows??

      Little question of that... The answer's windows, w/out question, as to custom development as well in the world of MIS/IS/IT.

      APK

    45. Re:Here's a thought by Anonymous Coward · · Score: 0

      Way to completely miss the point retard.

    46. Re:Here's a thought by Tony-A · · Score: 1

      I'm sorry, if an Admin is playing CDs on his Windows 2003 Server, he deserves to have his system hacked.

      Arguably doing ANYTHING on his Windows 2003 Server, he deserves to have his system hacked, BUT.

      Somewhere around OperatingSystems 101 you learn that the primary objective of an operating system is to keep various users and activities from messing with each other, including messing with the operating system itself. This is BEFORE you even mention that there is such a term as security.

      That is something that should be impossible on a system that has no interest in ever being secure. That's not a security failure. That's a failure at a much more fundamental level, and keeping everything currently patched up will do nothing to make the system secure.

  8. It only works if you read it before hand... by RapidEye · · Score: 3, Insightful

    Brown's book should be on any .NET Developer's bookshelf

    Just putting it on the bookshelf won't help - ya need to read it before you put it there.

    On a related note, this pretty much rules out all the developers I work with - if you can't get it as a Book-On-iPod, they aren't interested these days =-)

    --
    "Murderer? Well, that's a harsh word. I prefer to think of myself as a Mortality Technician."
    1. Re:It only works if you read it before hand... by Anonymous Coward · · Score: 0

      So what do you do about figures, examples, and such?

      Audio books are great, but give me my paper book (or PDF) any day.

      Good luck with your programming team.

  9. Cue jokes... by Anonymous Coward · · Score: 1, Funny

    Windows has come a long way in the last 5/6 years and vista should ship reasonably secure out of the box. It's still an unbelievably shitty OS peddled by an objectionable bunch of borderline criminals, but you have to give them credit for addressing security issues.

    1. Re:Cue jokes... by tbone1 · · Score: 1
      Windows has come a long way in the last 5/6 years and vista should ship reasonably secure out of the box. It's still an unbelievably shitty OS peddled by an objectionable bunch of borderline criminals, but you have to give them credit for addressing security issues.

      Isn't that rather like giving credit to someone who quits mugging, when credit should be given to those who have never mugged in the first place?

      --

      The Independent: Reverend Spooner Arrested in Friar Tuck Incident - ISIHAC, Historical Headlines
    2. Re:Cue jokes... by masklinn · · Score: 1

      Yes, and that's a very logical behaviour when the former is currently the head of the state treasury. (Or the country president, or whatever you want that make him mugging being kind of a pain).

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    3. Re:Cue jokes... by jcr · · Score: 1

      Windows has come a long way in the last 5/6 years and vista should ship reasonably secure out of the box.

      How many times have we heard this now?

      Sorry, but it wasn't true for NT, it wasn't true for 2K, and it's still not true for XP. Why exactly should anyone expect that this time will be any different?

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    4. Re:Cue jokes... by MECC · · Score: 1

      "but you have to give them credit"

      Your credits are no good here...
      What's with the wavy-hand-in-face-thing? What is that - some kind of Jedi mind trick?

      --
      "We are all geniuses when we dream"
      - E.M. Cioran
    5. Re:Cue jokes... by drsmithy · · Score: 1
      It's still an unbelievably shitty OS peddled by an objectionable bunch of borderline criminals, [...]

      In the same way Linux is an unbelievably shitty OS peddled by a bunch of GNU/hippies ?

  10. Anyone else see by TubeSteak · · Score: 1

    Anyone else see the irony in having two articles on the front page of /. one of which is about secure coding and the other which is about "How To Write Unmaintainable Code"

    Or maybe making it unmaintainable is just a sneaky way of developing securely...
    the /. editors are sneakier than i gave them credit for

    --
    [Fuck Beta]
    o0t!
    1. Re:Anyone else see by Anonymous Coward · · Score: 0

      shut up, you're not even close to funny.

  11. Powerful Windows Security Tool by jmp_nyc · · Score: 0, Troll

    There is a very powerful security tool in Windows. If used properly, the machine is completely immune to any security problems.

    It's called the power switch.
    -JMP

  12. Here is the chance.. by jst4fun · · Score: 0, Redundant

    to flood with all jokes on MS again... But seriously if OS is not secure how can one develop a secure application. Are we talking about writing secure application on unsecure platform ?

    --
    Normal is Boring!! http://www.dealwithdeals.com/
    1. Re:Here is the chance.. by gnuLNX · · Score: 2, Funny

      Christ man all the moderators must be windows admins tonight. Seems like every crack at windows is being modded down. You know what...screw you moderators I bless this poster with...well my make believe funny moderation

      Nah Nah na boo boo!

      --
      what?
  13. Why should I be laughing? by Anonymous Coward · · Score: 5, Insightful

    Can you point me to any OS where security is automagic and the developer doesn't need to consider it? Windows may have its problems and more than enough shitty architecture, but security must be considered in the design of Mac and Unix/Linux programs as well.

    1. Re:Why should I be laughing? by vmcto · · Score: 1

      AS400 is pretty damn close.

  14. I'm not laughing by LunaticTippy · · Score: 3, Funny
    I'm going to read this book.

    I am forced to develop windows applications from time to time, and I am ashamed of the poor security of many of these apps. It is definitely something that should be addressed. There are hundreds of thousands of part-time windows developers who know even less (gasp!) than I do about security.

    /me gets back to hard-coding plaintext database passwords.

    --
    Man, you really need that seminar!
    1. Re:I'm not laughing by msormune · · Score: 1

      Yes, because when developing with open source tools or on *nix platform every password is automatically encrypted in the code. Everyone on Slashdot know this.

  15. start with an interpreted environment. by aztracker1 · · Score: 5, Interesting

    Managed environments like .Net, Java, Python, etc. are a good start, but aren't the end of things. Most principles in security are similar regardless of platform. I do think a lot of the issues in windows security come from poorly written software that doesn't work properly in reduced security contexts... It's nearly impossible to develop on windows without administrative access to the machine you're working on.

    At least with a managed environment, you have less chance of attack channels which result from unchecked data. You still have to consider how software is used, what it connects to, and check data going to an rdbms in environments that don't do it for you (parameterized queries for ADO.Net are pretty nice).

    --
    Michael J. Ryan - tracker1.info
    1. Re:start with an interpreted environment. by masklinn · · Score: 1

      Except that you have to cope with/think about the security issues in the managed environment itself.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  16. Let me guess??? by chrstphrb · · Score: 2, Funny

    Chapters 4-6 deal with setting up VMware on linux?

    1. Re:Let me guess??? by quarkscat · · Score: 1

      No doubt the main logic branch prior to setting up VMware on linux is:

      IF Windows (on Windows),
          THEN disable optical drive(s),
      AND remove ALL network conections;
      ELSE
      INSTALL GNU/linux && VMWare && Windows.

      Since even some Microsoft applications require running as Administrator, these are the only two secure alternatives.

      Who needs a book for that, anyway?

  17. a conversation by Tibor+the+Hun · · Score: 4, Funny

    CWS: Hello secure app, I'm coolwebsearch!
    SA: Hi, I'm busy.
    CWS: HEEY! Look at me!
    SA:Uh-huh.
    CWS:You sure are secure aren't you?
    SA: Sure am.
    CWS: Hey, let's see which one of us is more important!
    SA: Whatever.
    CWS: MR PROCESS MANAGER!!! WHICH ONE OF US IS MORE IMPORTANT???
    Windows PM: It looks like you're trying to type a letter...
    CWS: YAAY! You know what,this sucks, I'm just gonna take all of the CPU cycles and all the network bandwidth now!
    SA:...!!...No..Must...keep......working..m....u... ....sT......
    Windows PM: Well, it looks.... like you guys..... are busy, I'm gonna take a n......ap. Wake me up if anyone starts writing............... letters.kbyethx... ...
    BSD: "Pleased to meet you, Hope you've guessed my name..."

    --
    If you don't know what AltaVista is (was), get off my lawn.
    1. Re:a conversation by Anonymous Coward · · Score: 0

      >Did you think that was funny?

      Yes, it was. On the other hand, I do so hope you manage to purge the memory. And any version of windows up to and including Win286 will do....

      But what's puzzling you,is the nature of my game....

    2. Re:a conversation by mustafap · · Score: 1

      Well I enjoyed it. especially this bit

      >Windows PM: It looks like you're trying to type a letter..

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
  18. I think we're missing the point here... by Spy+der+Mann · · Score: 4, Insightful

    A chain is as strong as its weakest link.

    The point is making sure your app is NOT the weakest link here, i.e. allowing a virus to inject code thru a buffer overflow or something. And we're living in post-Sony times, it was bad enough with viruses - just wait till the rootkits start spreading.

    1. Re:I think we're missing the point here... by Anonymous Coward · · Score: 0

      The point is making sure your app is NOT the weakest link here

      I do that by making sure IE is installed on the machine.

  19. Sure... by Skiron · · Score: 0, Flamebait

    ... writing 'secure' applications is great - but it is like fitting 'secure' locks to all your doors when the windows are left open all the time - sort of oxymoronish. A secure application needs to first have a secure base.

  20. Attack trees by VENONA · · Score: 2, Interesting

    "He also talks a bit about attack trees." but doesn't discuss them thoroughly. I wish somebody would. I *really* wish there were a Web site devoted to them--something like design patterns. Perhaps powered by a Wiki.

    Where they're even known about, say by people who have read Secrets and Lies (Schneir 2000), far too many developers are forced to reinvent the wheel. This hurts security in a fundamental way. All too often, they've never been heard of. I'm glad they're getting some mention, on any level.

    --
    What you do with a computer does not constitute the whole of computing.
    1. Re:Attack trees by mustafap · · Score: 2, Funny

      >"He also talks a bit about attack trees." but doesn't discuss them thoroughly

      They be Ents Mr Frodo :o)

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    2. Re:Attack trees by VENONA · · Score: 1

      Part of me wants to say the whole Win security thing is no laughing matter, but *damn* that was funny.

      --
      What you do with a computer does not constitute the whole of computing.
    3. Re:Attack trees by Anonymous Coward · · Score: 0

      There are several. www.threatsandcountermeasures.com and several MS software developers have detailed blogs on the subject that I can post later. Or you can Google.

  21. No, really by Junky191 · · Score: 4, Insightful

    "No, really. Please pick yourself up off the floor and stop laughing. Yes, there are good books on developing Windows software in a secure fashion." With snippets like that starting off an article, you start to see why people have trouble taking Slashdot seriously. This is getting ridiclous, almost FOXNEWSesque.

    1. Re:No, really by VENONA · · Score: 1

      Can the rumors be true? Is CowboyNeal really Rupert Murdoch?

      On a more serious note, you might have a look at http://www.outfoxed.org/

      --
      What you do with a computer does not constitute the whole of computing.
    2. Re:No, really by jcr · · Score: 2, Interesting

      With snippets like that starting off an article, you start to see why people have trouble taking Slashdot seriously.

      What, people won't take /. seriously if its contributors exhibit a keen grasp of the obvious?

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    3. Re:No, really by Anonymous Coward · · Score: 0

      What, people won't take /. seriously if its contributors exhibit a keen grasp of the obvious?

      No, people don't take Slashdot seriously because it reeks of ignorant and over-opinionated dorks. Seriously, you're all pretty much side-show attractions to the rest of the web. Even (your hero) Linus Torvalds thinks of this site as one long, inane, shouting crap-fest.

    4. Re:No, really by alexo · · Score: 1


      > "No, really. Please pick yourself up off the floor and stop laughing. Yes, there are good books
      > on developing Windows software in a secure fashion." With snippets like that starting off an
      > article, you start to see why people have trouble taking Slashdot seriously. This is getting
      > ridiclous, almost FOXNEWSesque.


      Unfortunately, this seems to be the only way of getting a submission that does not mention Google past the editors.

    5. Re:No, really by jcr · · Score: 1

      No, people don't take Slashdot seriously because it reeks of ignorant and over-opinionated dorks.

      Not opinionated, but experienced. There are reasons why Windows has its dismal reputation, and they have something to do with a decade and a half record of incompetence.

      Seriously, you're all pretty much side-show attractions to the rest of the web. Even (your hero) Linus Torvalds thinks of this site as one long, inane, shouting crap-fest.

      Be careful with those assumptions, kid. Linus is a nice enough guy, but he's not my hero. I'm not a Linux user myself.

      What are you, an MSCE or something?

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    6. Re:No, really by Anonymous Coward · · Score: 0

      Not opinionated, but experienced.

      Experienced?!?!! HA! At being jackasses maybe, but they sure as hell have no fucking clue what they are talking about.

    7. Re:No, really by ModernGeek · · Score: 1

      It isn't as bad as it was about a year ago. It appears to be clearing up, and the mod system seems to be a little less biased than it was before. I remember if you said anything logical about liberals a year ago, you got modded to hell, then the same with conservatives. We seem to be modding the Windows bashers and others who use prejudgement straight to -1.

      --
      Sig: I stole this sig.
    8. Re:No, really by jcr · · Score: 1

      Experienced?!?!! HA!

      Manu thousands of people have personally experienced the fact of Windows' unsecurability. That is a fact, which isn't altered by your vitriolic outbursts.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    9. Re:No, really by Anonymous Coward · · Score: 0

      Just because you say that something is a fact, doesn't mean that it actually is.

    10. Re:No, really by jcr · · Score: 1

      Just because you say that something is a fact, doesn't mean that it actually is.

      Do you actually think you can make Windows secure with a "nuh-uh"?

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  22. Mandriva 2006 by Anonymous Coward · · Score: 0

    I do all of my development for Microsoft OSes on Mandriva 2006.

    Eclipse(http://www.eclipse.org/ + Java = dev heaven.

    I try to keep the amount of time my WinXP machine is turned on and connected to the Net at an absolute minumum.

  23. Hate to do this but by Anonymous Coward · · Score: 3, Interesting

    this book can be read online for FREE as in beer or something. If you want it in one document you may have to get your "copy and paste" on, or if you are in hacker fever you could screen scrape it. Anyway http://pluralsight.com/wiki/default.aspx/Keith.Gui deBook.HomePage yep all there for your Windows security mokery.

    Remember this is to build secure software on Windows, something that should not be frowned upon even if those who write Windows don't listen to this advice. So when your next Window app breaks and your customer is irate, you can say "uh uh that's MS Slammer 5002, that's a bug with Windows not my code buddy!! I know my shit and that's why you're paying me too much to do this, now stop bugging me already, don't you accountants do anything but make cups of coffee all day!!!!"

    Read the Book.

  24. Developing Secure Software by Daveznet · · Score: 2, Insightful

    Developing secure software should always be platform independent. But security for developing an application does not stop at the developer, it continues through to the system administrators and the users. We've all heard software is only as secure as the O/S its running on, well its also as secure as the administrators/users running it. Security should be practiced at all levels from development to roll out and installation and through its entire lifetime. No software is completely 100% secure, so if flaws pop up after development patches should be available ASAP.

    --
    GL HF!
  25. Free Online by enkafan · · Score: 4, Informative

    The book was developed online via a Wiki, available here for free. This is a great book that every windows and .NET developer should be aware of.

  26. Wndows=security? by Nonillion · · Score: 1

    SELECT * FROM Windows WHERE security > 0
    fatal error segmentation fault

    --
    "I bow to no man" - Riddick
    1. Re:Wndows=security? by Malc · · Score: 1

      Tut tut: should have used SQL Server.

  27. Attack Trees effectiveness by digitaldc · · Score: 3, Funny

    "Threat Modeling gets its own Item, but isn't covered in great depth. Brown lays out Microsoft's STRIDE system (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, and Elevation of privilege) as a guideline for threat modeling. He also talks a bit about attack trees."

    Didn't Gandalf use the assistance of Attack Trees to topple Isengard? Sarumon really needs to read this book.

    But seriously folks....another good reference here:
    http://www.microsoft.com/MSPress/books/5957.asp

    --
    He who knows best knows how little he knows. - Thomas Jefferson
  28. Re:Developing Securely in WINDOWS? by Anonymous Coward · · Score: 0

    If nothing else, I guess it would've benefited from the Unix approach of small programs that do one thing well.

    Maybe that was the idea when Unix first started, but it clearly isn't any more. Most every command line tools you could want for an OS has already been written, and people started to use bigger and bigger apps. Now you have something like Emacs which of course is not a small program that does one thing well. You UNIX apologists have to give up on that idea that UNIX is a collection of small, specialized programs. It's just not true anymore.

  29. Steps one through four by wardk · · Score: 2, Funny

    Step one: Unplug from network
    Step two: Shut down
    Step three: Use power button to kill hung shutdown
    Step four: declare victory! you have successfully secured windows

    1. Re:Steps one through four by macaulay805 · · Score: 1

      Step five: bury box in 6 feet of cement.

    2. Re:Steps one through four by Anonymous Coward · · Score: 0

      No just leave it on, my rootkit will secure your Windows box (or Linux for that matter) and afterwards you'll never have to worry again unless you object to me being in control.

      It's the traditionalist approach to securing Windows.

    3. Re:Steps one through four by game+kid · · Score: 1

      You forgot to try to play the Final Fantasy victory theme as part of step 4, and suddenly realize you just turned off the house's only audio player*... ;)

      *for smarter people, this might not apply

      --
      You can hold down the "B" button for continuous firing.
  30. No such thing .. by Anonymous Coward · · Score: 0

    pffff .. "Developing Securely in Windows" ..
    it's like saying "staying dry while swimming".

    If the underlaying closed source API has bugs there's nothing much you can do about it.

    1. Re:No such thing .. by east+coast · · Score: 2, Insightful

      If the underlaying closed source API has bugs there's nothing much you can do about it.

      Does this mean that any system with bugs is not worth developing for? And if this is true does it mean that developers who code third party software should be absolved of any wrong doing? That's just nonsense to me. MS may not have a great product out there on the terms of security but the kind of retards at AOL who are coding weakly and creating a number of the exploits being used certainly are at fault.

      If we hold ourselves to only the highest acheivements of the worst developers we're all going to be in trouble.

      And what of those that have to use Windows? You may sit high and mighty and laugh about this but some of us are paid to code for Windows. Are we suppose to go find all those Linux jobs that I keep hearing of just because MS writes bad code? That's like quiting a company after finding that a CEO high up embezzeled (sp??) funds.

      --
      Dedicated Cthulhu Cultist since 4523 BC.
    2. Re:No such thing .. by 10101001+10101001 · · Score: 1

      >>If the underlaying closed source API has bugs there's nothing much you can do about it.

      >Does this mean that any system with bugs is not worth developing for?

      Is that a strawman I sense? The statement clearly points out a quasi-fact. That is, closed source is not modifiable. Of course, you can modify closed source. It's just generally very difficult. So, a better, valid question is "is it fair to choose which system to develop on based on the ease of fixing bugs?". Of course, it's also a valid (but somewhat unrelated) question to ask "is it fair to choose a system based on the number of bugs?". In the long-term, the former question is more important than the latter.

      >And if this is true does it mean that developers who code third party software should be absolved of any wrong doing?

      I'm really not sure how you're making such a connection to the original connection. By this, I mean I don't understand how being concerned about bugs in the system would somehow make one not concerned, let alone remove culpability, simply based on who developed software. If you're trying to point out that the original poster probably believes that all code should be open, as that's the only way to make it easy to fix bugs (though obfuscated code doesn't make open source a panacea), then I can somewhat see a connection.

      >That's just nonsense to me. MS may not have a great product out there on the terms of security but the kind of retards at AOL who are coding weakly and creating a number of the exploits being used certainly are at fault.

      Of course. But even if AOL didn't have a lot of "retards" working for them, they're still stuck developing for a system that puts them at the mercy of closed source system software--they're stuck, btw, because the majority of their market is composed of Windows users, and trying to force users to switch to another OS to use your software has been historically a dead-end.

      >If we hold ourselves to only the highest acheivements of the worst developers we're all going to be in trouble.

      For our own development, of course. But the highest development of any developer cannot outweigh the flaws of the underlying system. One can only work their best to try to mitigate the damage.

      >And what of those that have to use Windows? You may sit high and mighty and laugh about this but some of us are paid to code for Windows. Are we suppose to go find all those Linux jobs that I keep hearing of just because MS writes bad code?

      No, but it helps to recognize that no matter what you do, your code won't fix problems in MS's code.

      >That's like quiting a company after finding that a CEO high up embezzeled (sp??) funds.

      Well, this seems quite out there. Recognizing that Windows is flawed fundamentally in various ways means learning to accept it. A better analogy would be if a CEO high up embezzled funds, but instead of accepting it and trying to deal with it--after all, one crummy CEO doesn't make a bad company--instead going on and on about how it was all some big misunderstanding and talking about how lots of people take money that isn't theirs. Denial doesn't fix problems. Neither does running away. Coming to terms with the fact that one doesn't have full control over their system, short of a lot of hard work, might comfort you. Or it could be just like accepting that you're going to die some day. There's always religion, right?

      PS - With things like closed source BIOSs, various firmware, and hardware one probably didn't construct themselves, it's not like GNU/Linux users are in some aura of control. Though, I'd claim they're probably in more control of their system.

      --
      Eurohacker European paranoia, gun rights, and h
  31. secure windows code by digitaldc · · Score: 1

    I think the solution is to only develop Microsoft applications that are specifically designed to run on Mac OS X.

    http://www.apple.com/macosx/applications/office/

    --
    He who knows best knows how little he knows. - Thomas Jefferson
  32. I'm a dunce, I know but.... by Anonymous Coward · · Score: 0

    I can't get firefox to run properly on a limited user account. windows XP SP2. So what is a poor dunce to do? Run IE on a user account or firefox on admin?

  33. a secure windows program by j1mmy · · Score: 2, Funny

    int main( int argc, char** argv )
    {
        return 0;
    }

    1. Re:a secure windows program by Anonymous Coward · · Score: 0

      This doesn't protect you from that famous bug in LdrLoadLibrary loading MSVC*.DLL from the current directory.

    2. Re:a secure windows program by Anonymous Coward · · Score: 0

      It really should be "char **argv". "char" describes the value, "**" qualifies the variable which points to the value, and thus your method for accessing it. The first step to secure programming is a strong and thorough understanding of the typing system of your language. You program according to its rules, not your own. It's a bit nit-picky, but something which can help you intuitively find logic problems in C code.

    3. Re:a secure windows program by j1mmy · · Score: 1

      Couldn't this be a problem for any DLL linked into the executable?

  34. Hah! by Schraegstrichpunkt · · Score: 1

    The Encyclopaedia Galactica, in its chapter on "Developing Securely In Windows", states that it is far too complicated to define. The Hitchhiker's Guide to the Galaxy has this to say on the subject:

    "Avoid, if at all possible."
  35. Re:Cue sarcasm... by Anonymous Coward · · Score: 0
    Isn't that rather like giving credit to someone who quits mugging, when credit should be given to those who have never lost it in the first place?

    Yeah, exactly like that. Also kinda like giving credit to someone who develops a sense of humor when credit should be given to those who had one all along.

  36. Mod parent up. by Neoprofin · · Score: 1

    I wish you could be modded even higher than five. Everyone's reply seems to be that there's no point or abbility to write secure windows code becasue windows is insecure. Just because a system is vulnerable doesn't mean you can't make an effort not to provide any extra holes.

    If someone wants to attach your padlock to their paper door that's their problem, that's no excuse for you to build a padlock that can't be closed.

  37. This book is already outdated! by v3xt0r · · Score: 0

    This book was released over a year ago. Most of the techniques mentioned are still useful (if you're a .net lamor), but a lot of information is outdated.

    --
    the only permanence in existence, is the impermanence of existence.
    1. Re:This book is already outdated! by east+coast · · Score: 1

      Most of the techniques mentioned are still useful (if you're a .net lamor), but a lot of information is outdated.

      How can something be useful and outdated? If outdated, to me, means that something has lived past it's usefulness.

      --
      Dedicated Cthulhu Cultist since 4523 BC.
    2. Re:This book is already outdated! by v3xt0r · · Score: 0

      That would be called an oxymoron. And yes, it was. Similar to TFA's oxymoron 'Developing Securely In Windows'.

      --
      the only permanence in existence, is the impermanence of existence.
  38. "borderline" ? by Urusai · · Score: 1

    I assume by that you mean on the "criminal" side of the border.

  39. /. hive mind response by Anonymous Coward · · Score: 0

    Event: ./ features a post about Windows. ./ Hive mind response: "M$ is teh 5ux0r."

    Event: XBOX 360 released. ./ Hive mind response: *thwack thwack thwack* "hhhnnggghhhhh!!!!"

  40. I've interviewed people who's ONLY qualification by crovira · · Score: 1

    was "I do the VeeBee."

    While the fact that they were foreigners didn't help their communication skills, (Hey! I learned English, they could too,) they were just average schlubs who thought that taking a course in Microsoft VB would land them a career in software development.

    By the time I had disabused them of the idea of a career in software development by asking questions which should have made it clear that "doing the VeeBee" is not a qualification for anything, I wiped my hands of the whole thing.

    If a little knowledge is dangerous, these guys needed handling with wired, extremely remote waldoes.

    These people were a hazard and harmful to themselves and to their potential employers.

    I sent them to competing consulting firms :-)

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
  41. seen Get Smart? by v1 · · Score: 1

    That one ep where Max spends like 20 minutes navigating traps, huge vault doors, combination locks etc etc... then finally at the last one it won't let him in, so he walks 10 feet down the hall to another door and walks right in.

    Secure apps are worthless without a secure OS to run them.

    --
    I work for the Department of Redundancy Department.
  42. You need a good foundation by dsanfte · · Score: 1

    You can use the best building materials available to modern man, sparing no expense, but your construction will never be as stable as it could be if you're building on swampland.

    Windows is swampland.

    --
    occultae nullus est respectus musicae - originally a Greek proverb
    1. Re:You need a good foundation by Anonymous Coward · · Score: 0

      Your mom is swampland.

    2. Re:You need a good foundation by Anonymous Coward · · Score: 0

      King: I built this kingdom up from nothing. When I started, all I had was swamp. Other kings said I was daft to build a castle in the swamp, but I built it all the same, just to show 'em! It sank into the swamp. So... I built a second one. That sank into the swamp. So I built a third one. That burned down, fell over, then sank into the swamp. But the fourth one stayed up! And that's what you're going to get, Lad - the strongest castle in all of England.

  43. Re:I've interviewed people who's ONLY qualificatio by jcr · · Score: 1

    was "I do the VeeBee." ...which is almost half a step up from "I'm an HTML programmer".

    I find that listing MS certs on a resume is a wonderful timesaver. Any resume I get that leads with MS Certified [whatever] is swiftly disposed of, into a strong metal container.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  44. Microsoft and IPSEC by jcr · · Score: 1

    When the leader of the Free S/WAN project went up to MS to do some interoperability testing, the first thing he asked was: "Ok, what crypto protocols have you implemented that we can test?" They told him "40-bit DES". That was all. Once he realize that they were serious, he just left.

    To MS, "Security" is nothing more than a checkbox on a feature list. They don't care about your data security, and they really don't have the skill to help you if they did care.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Microsoft and IPSEC by DrPizza · · Score: 1

      But Windows' IPSec supports 56-bit DES, and 3DES.

    2. Re:Microsoft and IPSEC by jcr · · Score: 1

      But Windows' IPSec supports 56-bit DES, and 3DES.

      It does now. It took several years from the time they claimed to offer IPSEC to the time that it was actually worth using.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  45. three steps by TLouden · · Score: 1

    step 1:
    format c:
    step 2:
    insert *nix install disk
    step 3:
    install (this probably makes step 1 pointless, but we're talking security, better safe...)

    --
    -Tim Louden
    1. Re:three steps by Anonymous Coward · · Score: 0

      It's perfect for the new Jeff Goldblum Linux commercials.

      "How easy is it to get on the internet with Linux? Step 1, insert Linux install CD. Step 2, install Linux. Step 3 ... there is no step 3."

  46. What are you talking about? by sheldon · · Score: 1

    slashdot has become my #1 source for good Windows development ideas.

    I think it's actually funny considering a few years ago they were afraid to post an announcement about release of .NET to the front page. :-)

  47. Re:one fundamental flaw by Quinn_Inuit · · Score: 1
    This strikes me as akin to a manual explaining how to install top-notch door locks and biometric ID systems in a house with paper mache walls.

    I stand by my initial argument, regardless of the opinions of the moderators.

    --

    Stop learning! Only you can prevent esoterrorism.