Slashdot Mirror


Do You Write Backdoors?

quaxzarron asks: "I had a recent experience where one of our group of programmers wrote backdoors on some web applications we were developing, so that he could gain access to the main hosting server when the application went live. This got me thinking about how we are dependent on the integrity of the coders for the integrity of our applications. Yet in this case a more than casual glance would allow us to identify potentially malicious code. How does this work when the clients are companies who can't perform such checks - either because they don't know how, or because the code is too large or too complex? How often do companies developing code officially sanction backdoors...even if means calling them 'security features'? How often has the Slashdot crowd put a backdoor in the code they were developing either officially or otherwise? How sustainable is the 'trust' between the developer and the client?"

191 of 791 comments (clear)

  1. Deadlines by jimmyCarter · · Score: 5, Insightful

    I don't know about you guys, but not too many of my projects spare enough time in the project timeline to allow me to write backdoors or Easter eggs or whatever.

    The last thing I'm thinking about when rushing towards the deadline is some fancy backdoor into a web app I'll probably never use anyway.

    --

    -- jimmycarter
    1. Re:Deadlines by Anonymous Coward · · Score: 5, Informative
      I don't know about you guys, but not too many of my projects spare enough time in the project timeline to allow me to write backdoors or Easter eggs or whatever.

      Some people write backdoors to facilitate debugging. They don't have to worry about checking with the customer for various passwords - they just type in "IAMGOD" or some such hard-coded password and they are in.

      For the record, I don't approve of backdoors. First, they provide security issues - someone just has to look through the executable for strings. Second, these things are never changed when employees move on.

    2. Re:Deadlines by Ponty · · Score: 4, Interesting

      Just this morning, I write a backdoor into a web project. Very often the testing users give me really strange errors that I just can't verify at all. It's useful to have a "master password" that I'll disable later (probably.) Backdoors are most often used for debugging purposes. Fortunately for the users, I'll be the sysadmin when the system goes live, so there isn't much of a risk (yet.)

    3. Re:Deadlines by Anonymous Coward · · Score: 5, Funny

      just be careful when the guy you are out drinking with starts leaning forward and discussing "backdoors".

      he may not mean what you think he means ...

    4. Re:Deadlines by motardo · · Score: 5, Funny

      You must work for AOL

    5. Re:Deadlines by sql*kitten · · Score: 5, Insightful

      Just this morning, I write a backdoor into a web project. Very often the testing users give me really strange errors that I just can't verify at all. It's useful to have a "master password" that I'll disable later (probably.) Backdoors are most often used for debugging purposes. Fortunately for the users, I'll be the sysadmin when the system goes live, so there isn't much of a risk (yet.)

      If you're the sysadmin, then it's not a backdoor. After all, you could just fire up a debugger on the process and find out anything you wanted, passwords, data, anything. Or log onto the database as the DBA and just query the tables directly. Or place a packet sniffer on the network.

      A back door implies that it gives you something you couldn't and shouldn't have.

    6. Re:Deadlines by quadcitytj · · Score: 5, Interesting

      In my opinion, this is a terrible way to build the system, and "debugging" methods like this are the reason so much code sucks.

      You're not developing the project for a "master user," you're developing it for normal users. Debugging code while in the "master" mode will do nothing more than give you a false sense of whether your code is buggy or not.

      It's like installing an app, and then testing it as root. It doesn't tell you anything, and it makes user's lives miserable when they can't get something to work.

    7. Re:Deadlines by Deus_Ex_Machina · · Score: 5, Insightful

      Analogous situation: I have the key to the front door of a building, but it's inconvenient to use the front door so I blow a little secret hole in the back wall and use that instead.

      A back door is a back door because it provides another way into the system which circumvents whatever access controls already exist, totally regardless of who WRITES this new circumvention path, or whether the access controls would have restricted them in the first place.

      You're right that he can't do anything with his back door that he couldn't do as the administrator before (with ingenuity and a lot of time), but you're wrong that he hasn't created a back door.

      DeusExMachina

    8. Re:Deadlines by Christopher+Bibbs · · Score: 2, Interesting

      Sure it tells you something. When it works for root and not a regular user, you know you buggered the permissions.

      I carry around all sorts of hacks and backdoors for the software project I work on. Toggle the hidden switch and bingo! You get access to parts of the code that require a different license. Helps me to debug things (extra state analysis routines) and I don't have to get the customer a temporary license.

    9. Re:Deadlines by Anonymous Coward · · Score: 2, Interesting

      Don't know if it's a back door, but....

      I mostly have worked on embedded systems. One of them typically didn't have a keyboard installed, but did have a standard PS/2 keyboard port hidden on the back. Pressing any KEY on that would get you past any password prompt on the front interface (LCD/Membrane 10-key pad.)

      On another system, a POS system, there's a master password that changes daily, based on a date calculation.

      Both of these are used for support purposes, though. On the POS system, there are some changes that can only be made using the "master" login and password. On the controller, field techs use it to reset a password after the owner of the system has lost or forgotten it.

    10. Re:Deadlines by PylonHead · · Score: 4, Insightful

      This is clearly not true. Any method of gaining access that circumnavigates the established security procedures is a back door.

      If they fire him tomorrow, they have no way of removing his access from the system, since they don't even know it's there.

      --
      # (/.);;
      - : float -> float -> float =
    11. Re:Deadlines by fucksl4shd0t · · Score: 4, Funny

      Any method of gaining access that circumnavigates the established security procedures is a back door.

      Hey dude, I thought circumnavigate meant something like circle without penetrating, or something like that. Like, in the seven cities of gold days you would circumnavigate the new world on a couple of trips, go back to spain and get more men and boats and stuff, and then go back to start your exploration of the interior.

      --
      Like what I said? You might like my music
    12. Re:Deadlines by buckminster · · Score: 2, Insightful

      Except that, while he's currently the sysadmin that may not always be the case. Knowing the way knowledge transfer works in most organizations I doubt that information about the backdoor will be passed along to the next sysadmin. And once this sysadmin is a "former sysadmin" he becomes a security risk.

    13. Re:Deadlines by PylonHead · · Score: 2, Funny

      Yea, I realized this with horror just after I hit the post button.

      I knew I could count on some flamage.

      --
      # (/.);;
      - : float -> float -> float =
    14. Re:Deadlines by cameldrv · · Score: 4, Insightful

      Yes, but what happens when he quits or gets fired? The other sysadmins would disable his account on the machine, but presumably he still has the backdoor password to a possibly web accessable app. This is like making a copy of your office key and keeping it when you leave.

    15. Re:Deadlines by Ponty · · Score: 2, Funny

      Even Gary Coleman?

    16. Re:Deadlines by Ponty · · Score: 3, Informative

      If I can't log in as an arbitrary user, then I can't fully test the system. Everyone had different preferences and details, and I, as the master user can't do all that much from my account.

      I think you misunderstand what my message meant: I don't have a "master" mode, I have a overriding password that bypasses the standard authentication system and lets the admin user assume the username/authentication details of an arbitrary user. That's important so I can have the same experience as that user. It doesn't compromise any data security, as I can just as easily see all the user's data when it's sitting on the database server.

    17. Re:Deadlines by tenordave · · Score: 2, Insightful
      Analogous situation: I have the key to the front door of a building, but it's inconvenient to use the front door so I blow a little secret hole in the back wall and use that instead.
      Not exactly. He said he would remove the door when the product ships. So this is more like construction workers making a secret hole in the back wall to help them build the building, then sealing it up when they are done.
      --
      http://students.washington.edu/djwatson
    18. Re:Deadlines by void* · · Score: 2, Insightful

      If you need a legitimate way to gain access for debugging purpose, document it as part of the system, don't code it up and leave it a secret. It then won't really be a backdoor, and the access to it can be controlled appropriately.

      Coding up a backdoor and leaving it undocumented is a bunch of crap - you're probably not going to remember to disable it, you're probably going to get onto the next project and forget about it entirely, leaving it there for others to potentially find - others who are potentially hostile.

      Plus, if you don't leave a secret back door there's no temptation to use said secret back door to get even once you get laid off, saving you from potential jail time :)

      --


      Code or be coded.
    19. Re:Deadlines by Orthanc_duo · · Score: 2, Interesting

      In my opinion, this is a terrible way to build the system, and "debugging" methods like this are the reason so much code sucks

      I have had situations where code runs fine on the development box but when it is copied to the (supposedly) identically configured production box things fall over. I don't have login access to the production box so I have a backdoor that allows me terminal access for debuggin purposes. Without this bugs that currently take me 5 minutes to find would take someone else sever hours of sorthing through httpd.config files and trying to see what diference is breaking my code.

    20. Re:Deadlines by soulsteal · · Score: 4, Funny

      The word he meant to use was "circumvent."

      At least he didn't use "circumcise."

    21. Re:Deadlines by terraformer · · Score: 2, Funny
      Hey dude, I thought circumnavigate meant something like circle without penetrating...

      Yeah, kinda' like the /. crowd...

      --
      Who are you? The new #2 Who is #1? You are #617565. I am not a number, I am a free man! Muhahaha.
    22. Re:Deadlines by misof · · Score: 2, Interesting

      someone just has to look through the executable for strings.

      Oh my... looks like you never wrote something remotely similar to a backdoor. And I mean no just-for-debugging-and-then-i-remove-it backdoor, I mean a real one. A backdoor that's meant to be misused. E.g. you are writing some software for your bank ;) That kind of backdoor. The first rule is that the backdoor should be as invisible as it is possible. And some strange password-like string is the simplest way of shouting "hey, I'm here!"

      A real backdoor should look e.g. like the one legendary that once was in a C compiler... for more info see the jargon file entry on backdoor.

    23. Re:Deadlines by vladkrupin · · Score: 4, Informative

      This is clearly not true. Any method of gaining access that circumnavigates the established security procedures is a back door.

      If they fire him tomorrow, they have no way of removing his access from the system, since they don't even know it's there


      Everyone seems to focus on the actual piece of code that acts as a 'backdoor' and forgets that just knowledge of the system is just as dangerous. No sufficiently complex system can be foolproof both in design and implementation. During developent debugging code gets left over, some shortcuts are taken, etc.etc. Nobody except the developers who designed and wrote the stuff even know about what exactly is in the code. While I do not put any backdoors in my code intentionally, I have the sufficient knowledge of the system to poke a few holes big enough for a full compromise.

      In short: If you have a sufficiently large system, chances are that a disgruntled developer can compromise or damage it even without placing any backdoors in the code ahead of time. Knowledge is power. Obviously, this does not apply to open-source projects that receive a fair amount of peer review (or just people tinkering with the code).

      --

      Jobs? Which jobs?
    24. Re:Deadlines by capnjack41 · · Score: 4, Interesting
      someone just has to look through the executable for strings.

      For this reason, if I write in backdoors like that in a PHP script (a single admin password, for example), I don't actually store the password in a database or the script plaintext, I use an MD5 hash. Even if someone somehow manages to see it (they shouldn't anyway), it's still hard for them to guess what the password is (which they need to POST to the script).

    25. Re:Deadlines by slamb · · Score: 3, Interesting
      I have a overriding password that bypasses the standard authentication system and lets the admin user assume the username/authentication details of an arbitrary user. That's important so I can have the same experience as that user.

      This is something I wish more systems had, but not in a hardcoded (backdoor) way. Cyrus SASL/IMAPd does it correctly: they've completely separated the concepts of authentication and authorization. So you can say "until further notice, user slamb can log in and do anything user bob can do." It serves the same purpose, but in a maintainable, open way. You can have a group of administrators that can log in as anyone, but without needing to know either everyone's password or some master password that's difficult to change if someone leaves...they can just use their own, and it can be disabled/enabled on a per-person easily.

    26. Re:Deadlines by zero_offset · · Score: 3, Insightful
      While I do not put any backdoors in my code intentionally, I have the sufficient knowledge of the system to poke a few holes big enough for a full compromise

      Seems to me those vulnerabilities should qualify as problems you address before you ship the product. I'll grant that some of these kinds of problems may have very low criticality -- for example, they may require physical access to the machine and unusual permissions, in which case you're probably screwed anyway -- but it doesn't sound like you're talking about that kind of scenario.

      Basically you're talking about bugs. Just because it doesn't cause the machine to crash or set off alarms with your QA testers doesn't make it any less worthy of fixing.

      It seems likely none of that is news to you, but somebody had to say it...

      --

      Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

  2. Fire the kid. by pixel_bc · · Score: 3, Insightful

    Unless he was acting on some sort of order from you or someone else who can tell him to add something like that, I'd fire him.

    I'd also look into opening a criminal investigation.

    1. Re:Fire the kid. by TopShelf · · Score: 2, Insightful

      If this made it into a product that was actually installed for a client, I'd also can the development manager. Unless this is an extremely small operation, a thorough, independent review has to be a part of the development process. If the process was there, but circumvented, can the workers. If the process wasn't there to begin with, can the boss.

      --
      Stop by my site where I write about ERP systems & more
    2. Re:Fire the kid. by jridley · · Score: 5, Insightful

      If you designed a system that you personally can break into, then you didn't put enough thought into the security design.

      I personally think it's my responsibility to AT LEAST make sure that I couldn't break into the systems that I build without having knowledge of the passwords or whatever. If I think of a way that I could get in without it, I fix it or contact the person currently responsible for the code and let them know about it and how I think it should be fixed.

  3. Backdoors by digipak · · Score: 3, Funny

    I've never coded backdoors into any software I've written. I usually don't use them in the future, and if I really need them, I gain access by other means. I can't see a logical reason to add them in, especially if you're job depends on the integrity of your code.

    1. Re:Backdoors by SkyZero · · Score: 2

      If you've never coded the back doors, then how do you know "you've never used them in the future"?

    2. Re:Backdoors by Creedo · · Score: 2, Funny

      I usually don't use them in the future
      And how, exactly, do you know this?

      --
      All that is necessary for the triumph of good is that evil men do nothing.
  4. To do what? by Ars-Fartsica · · Score: 5, Insightful
    Contrary to popular belief, most programmers don't get their rocks off by showing their friends how they get in through the 'back door'.

    Writing a back door is just more coding. Code for a while and see how much extraneous crap you write just for kicks.

    1. Re:To do what? by jpvlsmv · · Score: 5, Insightful
      Writing a back door is just more coding. Code for a while and see how much extraneous crap you write just for kicks.


      Yes, how much extraneous crap do programmers write just for kicks?

      --Joe
    2. Re:To do what? by interiot · · Score: 4, Funny
      To do what?

      Haven't you seen Office Space? Most security breaches are by a company's own employees... most money lost illegally is due to the company's own employees. Reasons obviously include at least greed and revenge. And maybe bragging, but only to your girlfriend and the guy on the other side of the wall.

    3. Re:To do what? by n3xu5 · · Score: 2, Insightful

      I certainly am a big fan of Open Source and use it daily. I program for a living, and it makes it hard to do as a hobby as well. So I certainly agree with your comment. After a long day of staring at code for work, the last thing I usually feel like doing is going home and staring at more code.

      In fact, I think there was some behavioral study done on monkeys where they gave a some monkeys a ball to play with, and they loved it. Then they made them play with the ball in order to get fed. The monkeys didn't seem to like playing with the ball as much since it was essentially work.

      In general, I would expect many OSS developers are students who are not burned out on programming as a job yet. (Just my guess. I am sure someone has statistics to prove me wrong.)

  5. of course by kurosawdust · · Score: 5, Funny

    my code is so tight, the front door and backdoor are on the same hinge! hooah!

  6. Backdoors by Anonymous Coward · · Score: 2, Funny

    Only in the BBS Software, did I write backdoors, those kids never registered...had to slap their hands a bit.

  7. I backdoor all the time.. by japhar81 · · Score: 5, Interesting

    But, thats not to say I lack ethics, am a cracker, or am out to get my client.

    How many times have we all heard, duhh.... I forgot my admin password, but I cant reinstall, I need the data.

    So yes, I backdoor, and I document it internally (hardcopy stored in a safe). Its just an extra insurance policy for when some moron that I worked for 6 years ago does something stupid.

    That said, coding backdoors for the sake of getting access to a web farm so you can host your own services is certainly a bad thing(tm). But hell, what are you gonna do? Everyone backdoors. Don't believe me? Watch someone 'in the know' log in to a random windows box using the System account and come talk to me.

    1. Re:I backdoor all the time.. by Drakonian · · Score: 2, Insightful
      I've read a lot of responses to this thread along the lines of "I backdoor because customers forget their passwords." So what!? It's their fault! If they complain to you, tell them some horror story about hackers and backdoors. I'm not saying they won't complain, but they *are* being unreasonable. Or offer them a backdoor when you sell them the software - lay out the consequences of what could happen with one, and without.

      I think the customer should have the right to decide.

      --
      Random is the New Order.
    2. Re:I backdoor all the time.. by sql*kitten · · Score: 3, Funny

      Did you ever think of what would happen if a cracker found out about such a backdoor? Just because you do your best to keep it a secret doesn't mean that crackers can't find out about it.

      Well I don't know about you, but I use the same combination as on my luggage.

    3. Re:I backdoor all the time.. by secolactico · · Score: 2, Interesting

      Indeed, I agree with you. If there's an appropiate password recovery procedure, however, there should be no need of backdoors. Even when there are, they should be safely limited to, say, console access.

      --
      No sig
    4. Re:I backdoor all the time.. by blibbleblobble · · Score: 2, Insightful

      "Did you ever think of what would happen if a cracker found out about such a backdoor?"

      Uhh, the backdoor password is as secure as any other. Generally they're better than the real passwords.

      Oh, and they can be MD5'ed the same as any other password. So "strings" won't work.

  8. Open Source? by jcortega · · Score: 5, Insightful

    this has been one of the biggest arguements towards using open source software. companies can theoretically trust open source software because everyone sees the code and they can easily modify it. my question is though, even though we have the source, do people actually read the thousands and thousands of lines of code in the program they're using or just the parts that would interest them (for modifying/improvement purposes)?

    1. Re:Open Source? by orzetto · · Score: 2, Insightful

      I think you should think as a dishonest coder would. Why risking your butt on an app with a back door that can be found anytime? They are taking a chance as well.
      Unless s/he would need to use the back door shortly, sort of right after compiling, this would be pointless: were the back door to be found, s/he would face at least to get an extremely bad reputation (no job anymore), would almost surely be fired "so fast his/her ass would leave skidmarks on the parking lot", and would get no benefit from his/her treachery.
      So, I think back-door coders are most likely to sell their products closed source, as many enterprises do not really know that open source is out there at all. If someone actually finds the back door, they can even sue them for reverse engineering (which of course will be forbidden in the EULA)!

      ...and thanks to all the geeks... er, committed users out there that check source code once in a while.

      -Orzetto

      --
      Victims of 9/11: <3000. Traffic in the US: >30,000/y
    2. Re:Open Source? by jdavidb · · Score: 2, Insightful

      Also you have to ask if you trust the employee that installed the Open Source product not to modify it.

  9. Depends on the backdoor. by phorm · · Score: 5, Interesting

    Some of the apps I make have the option to "allow" a backdoor by setting a flag (default on). The client can turn it off if he/she really doesn't trust me, but in most cases they find it useful in case I ever have to bugfix the systems and/or they lose their own passwords.

  10. Payment Insurance by BadBlood · · Score: 5, Interesting

    I know a person who owns his own company and writes code on a for-hire basis. He puts in timed expiration code such that if they don't pay him within 30 days of delivery, his code de-activates.

    Where I work, we do similar things, but our motivation is to ensure that users are always running the latest version of our frequently updated codebase. We, as developers, do have the ability to run expired code via the backdoor.

    --


    Praying for the end of your wide-awake nightmare.
    1. Re:Payment Insurance by Joe+U · · Score: 2, Informative

      People have been sucessfully sued for this practice.

      If it's not fully outlined in the contract, he could have a really fun time in court.

    2. Re:Payment Insurance by wembley · · Score: 2, Insightful

      IMHO that's unethical. Holding companies hostage is not a valid business practice, even if made crystal clear up front.

      Sounds like a good way to damage your rep. Of course, if he really feels he has to do this, it may be the companies he works for don't really have great reps themselves.

      --

      Share and Enjoy!

    3. Re:Payment Insurance by pla · · Score: 2, Insightful

      People have been sucessfully sued for this practice.

      Successfully sued on what grounds? "The software we stole doesn't work"?

      A contract has two parts - If one party fails to fulfill their obligations, I had the understanding that the other party had no obligation to fulfil their side either.

      If that does not hold true, why would ANYONE pay for ANYTHING? "Yup, you just ship me that nice new PC, I'll send a check tomorrow". Bwa-hahaha. Time to upgrade to a quad Sparc-III, yup yup yup.

      Though, I will readily admit that law does not equal logic, and no doubt you can indeed point me to cases won on this very issue. I expect, however, that they would at least have some extenuating circumstances, such as the customer losing half a million transations just because the software disabled itself. (For which reason we should always add the ever popular "The author bears no responsibility for financial losses or damages resulting from the use of this program by the customer", or something to that extent).

    4. Re:Payment Insurance by B1LL_GAT3Z · · Score: 5, Interesting

      I was once commissioned to write a web application that dealt with secure signature technology. As the deadline came up, the dealings with my employer became "shady" - meaning that it looked like he wasn't going to pay out at the end. I wanted to do something similar to what you stated (an auto-timeout) however this application was written in an open source language (Perl) and needed to be kept that way. So - with some quick obfuscating I wrote a quick feature so that at a later date, if the employer didn't pay, I could simply access http://website.com/perl.pl?delete=y and it would delete itself. I'm glad I added this "feature" because it wasn't long after that he "disappeared" claiming all sorts of reasons for his non-payment. I then quickly used my feature and was glad for it.

      Of course, if my employer was skilled enough, he could've gone in and removed the code himself. This leads to the point of the trouble of joining Open Source and backdoors - as it's virtually impossible to do without some skilled programmer looking at it and being able to remove it. I thought you mind find that to be interesting.

      --
      -- Kleptotherapy: Helping those who help themselves.
    5. Re:Payment Insurance by pla · · Score: 2, Interesting

      If someone who did work for me ever tried to pull something like this, they would never do work for me again.

      Um... Duh?

      Someone who did this to you would not have gotten paid. Thus, I have very little doubt that they would *NOT* work for you ever again, but that would result from *THEIR* choice, not yours. People do not generally like to work without getting paid.

      "Aww, c'mon man, PLEASE let me spend another six months coding for you, only to have the check bounce!"

    6. Re:Payment Insurance by Xerithane · · Score: 2, Funny

      I know a person who owns his own company and writes code on a for-hire basis. He puts in timed expiration code such that if they don't pay him within 30 days of delivery, his code de-activates.


      My favorite practice is the license keyset approach. After a period of time the code will self-encrypt itself using 2048-bit Blowfish or something, then exit out. You have to have the keyset to decrypt it back out. If they don't pay up, they never get the keyset.

      --
      Dacels Jewelers can't be trusted.
    7. Re:Payment Insurance by Lumpy · · Score: 3, Insightful

      Where I work, we do similar things, but our motivation is to ensure that users are always running the latest version of our frequently updated codebase. We, as developers, do have the ability to run expired code via the backdoor.

      and you are the kind of people that I loathe and will gladly assult on the street.

      I have HAD to crack software my company legally owned to keep it working after the company that wrote it went out of business and is dead and buried. company that made it is gone, software DIES... That is pure bullcrap.

      Please let me know what company you work for so I can make a reccomendation to my company to NEVER EVER buy your crippleware products.

      Timebombs should be 100% illegal.. it's exactly like the car dealer coming and stealing your car after you bought it. If your company's software is a LEASE then you had better say so.

      --
      Do not look at laser with remaining good eye.
    8. Re:Payment Insurance by Joe+U · · Score: 2, Insightful

      Reposession is the taking back of physical goods that were never fully owned by you. It's outlined in the loan agreement. When you buy a car with a loan, you do not fully own that car, the bank owns it, and the contract signed agrees to reposession as a method to recover if you default.

    9. Re:Payment Insurance by Mr.+McGibby · · Score: 2, Insightful

      Except in the physical-goods world, you put a repossesion clause in the contract.

      --
      Mad Software: Rantings on Developing So
    10. Re:Payment Insurance by Procyon101 · · Score: 2, Interesting

      My boss used to do this. When I was in college I had a part time job laying brick. My boss would embed a glass pane halfwy up any chimney we built. He would then drop a brick down the chimney when the check cleared. When one check didn't clear, he got a call a few months later that the fireplace was defective. He told them he hadn't "turned it on" yeat because he hadn't been paid. As soon as he was paid, it started working.

    11. Re:Payment Insurance by Ian+Bicking · · Score: 4, Interesting
      I worked before for someone who had code like that put into his application (without his knowledge, of course). There was some pay dispute, and the programmer started triggering it. In this case it deleted the customer database, not the code. Ultimately the programmer was charged criminally (still awaiting trial), and possibly a civil case following.

      Now, I have a feeling there was bad stuff on both sides (and it's taken me a while to extract myself from this job), but you have to be careful when you destroy stuff. It's probably okay when you are deleting something that is your property and isn't paid for. But it's questionable if he already paid for part of the work, or if you were destroying any data created by his operations. If any money had been paid, or if it would compromise data that didn't belong to me, I wouldn't try it unless I had written something into the contract (I've seen pretty generic-looking contract terms which would imply you could effectively confiscate the work if it wasn't paid for). You also need to define when it's not paid for -- 30 days after completion, 60 days...? It's not professional to do something so forceful without making an effort to resolve things more peacefully.

    12. Re:Payment Insurance by Elias+Ross · · Score: 2, Informative

      If you want to hide your source, you can easily obfuscate. For example, I would suggest applying "gzip" to the final build. Then you can run the program by invoking "gcat" on it, and piping it to "/usr/bin/perl".

      For example:

      $ gzip test.pl
      $ mv test.pl.gz test.pl
      $ zcat test.pl | perl

      This would probably work well enough to hide source from non-techies.

    13. Re:Payment Insurance by Procyon101 · · Score: 2, Interesting

      Actually I find that facinating, being a witness to the event, that the legend came full circle. I was not aware of this as being an urban legend. This may have been where he got the idea, having heard it from someone else in a bar or something (not being a technical person I'm sure he wasn't on the internet.)

      In construction it is a very common thing to not be paid by your general contractor due to cascading bankruptcies. I have seen many contractors take different precausions against not getting paid, of which I found this one particularly clever. It's possible it's not a legend at all and does stem back to to the 30's and 40's or even before since the practice is very easy and cheap for a mason to perform, requiring only about a 10"x10" thin sheet of glass and about 15 seconds of installation time; about the same cost and time that accompanies laying a couple brick ties.

      Needless to say (not trying to convince you of the legend, as both I and you are random internet entities that could care less what each other think) but that's the first urban legend I ever saw practiced :0

  11. Happens everywhere by matts.nu · · Score: 5, Informative

    Here's a list of 1090 backdoors.

    1. Re:Happens everywhere by piobair · · Score: 4, Informative

      Those aren't backdoors they're default passwords.

      A very different animal, indeed.

      --
      I have a second sig, I call it sig#2.
  12. Backdoor? by RobertTaylor · · Score: 4, Interesting

    "I had a recent experience where one of our group of programmers wrote backdoors on some web applications we were developing, so that he could gain access to the main hosting server when the application went live."

    Its like that theory that BAE /Mcdonnel-Douglas embedded the F15 Eagle fighter plane with a backdoor in its computer systems so if its ever used against the USA it will strangely malfunction.

    Unlikely, but interesting concept all the same!

    1. Re:Backdoor? by br0ck · · Score: 2, Interesting

      Like many backdoors, what if an enemy of the USA is able to figure out how to exploit this vulnerability?

    2. Re:Backdoor? by zlexiss · · Score: 4, Interesting

      While there's a few unsubstantiated rumors floating on this topic (cites?), control of spare parts is much more effective than backdoors in code.

      Iran's F-14 force was effectively grounded by the embargo Carter placed after the fall of the Shah - fighters and other complex equipment need a steady stream of parts, and a veritable torrent under non-peacetime use. Search fas.org or aerospaceweb for "iran f-14" for a couple views on this, among other sites.

      As pointed out, backdoors carry the risk of being used against you. But if you've got all the spare parts, you get to fly.

    3. Re:Backdoor? by phildog · · Score: 2, Funny

      didn't Kirk use a sneaky trick like this to get Khan in Star Trek II?

      "Our shields are going down!"

      Kirk: "Fire."

      --
      slashsearch.org - slashdot search. powered by google.
  13. trust... by TechnoVooDooDaddy · · Score: 5, Interesting

    Trust and loyalty used to be my main focus... I trusted that those stock options i was offered instead of a chunk of salary would be good, and the company trusted that i would deliver good software, on-time.

    I fulfilled my part of the bargain, but when it came to stock option maturity time, I got laid-off.. The company is still in business interestingly enough, and now posting profits even.

    Who do you trust, and how is that trust repaid? I can tell you I no longer have the same sense of loyalty and trust in my employer. Companies are paying on average HALF of what they were for the same work 2 years ago.. Trust... works both ways or it doesn't work at all...

  14. Backdoors by JSkills · · Score: 4, Interesting
    Never written one for malicious pruposes before. Thought about it a lot of course - in the same way people fantasize about robbing a bank or hitting the lottery.

    But when you think about it, all leaving a backdoor in a system does for you is to provide an opportunity of accessing a system in a way that you shouldn't be. This can lead to trouble down the line.

    Clearly, there are legitimate uses for backdoors (to use in case of emergencies, etc.), but unless the backdoor is documented someplace for others in the software development group to be aware of, it's likely the kind of backdoor that is simply not ethical to implement, since it's only usable by one person.

    I'm sure people can provide examples that disprove this, but for the majority of situations, as a developer, having a backdoor in a system can only lead to a security breach at some point ...

  15. kind of... by deander2 · · Score: 5, Interesting


    I am working on an app for the govt, and yes, I have programmed in a backdoor login, as it's very useful for testing and development.

    However, the following are true:
    1) management knows full well of its existence
    2) BY DEFAULT, it is turned off in any build
    3) it is NEVER to be deployed turned on

    I think it's a good rule of thumb.

    1. Re:kind of... by geekoid · · Score: 2, Interesting

      Wow, can you tell me the method you use to be sure your rules are never, ever, under in circumstances are never broken?
      That some Jr. programmer 5 years from now doesn't
      forget to turn off the backdoor?

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  16. Hire developers directly by jpsst34 · · Score: 3, Interesting

    Though it wasn't explicitely mentioned in the question, I feel that such a situation may be more common when the developers are hired as temporary / part-time help. In this case, you are a client and the developers may be looking to get something more. If you have your own in-house developers, they'll have more stake in the company and the project, and surely would care more about security - both the security of the software and the security of their job. A hired hand could code the backdoor then move on before you ever notice. Your own developers would be more hesitant to do this because if and when it gets noticed, they'll still be easily found in the cube on the third floor, east wing.

    Maybe a good idea would be to bring on a full time development staff and pay them good money so they don't feel the need to try to get something more. Oh, and tell me where to send my resume once you create these new full time positions.

    --
    How are you going to keep them down on the farm once they've seen Karl Hungus?
  17. Not such a good insurance policy by MjDascombe · · Score: 2, Interesting

    Backdoors can be a good insurance policy, and their theoretical presence might guarentee your continued employment, but if your employers find them, I can guarentee you won't be working there for much longer :P

  18. PHP Web-apps by yamcha666 · · Score: 5, Interesting

    I work for a small startup that specializes in custom web-applications for indy record labels and small-time bands and clubs. Our main product is a all-in-one web-app that will allow the customer to manage their shows, news, mailing list and numurous other things.

    We offer several levels of this product, one being shared (get 1 account on our servers) which we control, standalone, and custom standalone (the standalones go on their own servers.) The latter two are designed to have one back-door login account for myself and the other programmer to go in there and edit their settings or database if the customer breaks something.

    So there is my 2 cents. Yes, I put small backdoors in my company's web-apps per boss's request.

  19. Slashdot Has A Backdoor!! by Anonymous Coward · · Score: 2, Funny

    And it lives here!

    This story was just begging for this link!

  20. Not when I need to earn a living! by djkitsch · · Score: 4, Insightful

    I (like many of you) work on a contract basis per project, and I'm contracted to fix any problems with the software as part of the job.

    If an intruder breaks into a database through a back door I put in (and let's face it, it is asking for trouble), I'm obliged to spend my valuable time closing the hole.

    I'm not of the opinion that it's worth my time and money to show off what a great hacker I am - my clients are really the ones who matter, since they pay my wages, and my skills should be reflected in my work...

    --
    sig:- (wit >= sarcasm)
  21. Sure... by Anonymous Coward · · Score: 4, Interesting
    Backdoors were coded into systems. But only for testing and development purposes. Once the software was being prepared for release, those backdoors would be deleted but in any case, they were usually coded to only work on specific (i.e. the development) machines.


    What really concerned me though was when we were supposed to store credit card numbers encrypted in the database and I used a simple replacement cypher as a placeholder. Then, when I later asked about putting real encryption routines in was told "we aren't going to do that".


    So customers are really in the dark when it comes to the security of their software.


    Rich

    1. Re:Sure... by beebware · · Score: 2, Interesting

      I've put in small backdoors which will only work on certain machine names (i.e. my developmental machine was called 'Alice' therefore the code wouldn't work on the live server called "Bob"), that required access from a set range of IPs (our internal LAN) AND required knowledge of the URL and additional password. Ideal for testing and development purposes, but once the system goes live the backdoors are usless.

  22. Unless it's an embedded app there's just no excuse by Art+Popp · · Score: 3, Insightful

    There shouldn't any hard-coded trust between the authors of decent software and the buyers/users of that software. The fact is that any useful information that the backdoor could provide to the coder should be available to the purchaser. If the purchaser wants to trust the coder he needs to run sshd and give the coder and account with access to the application he coded. Why anyone would "reinvent" a secure backdoor when it can be accomplished with Freely available tools to a much greater level of security is just beyond me.

  23. Inadvertent Backdoors by egg+troll · · Score: 5, Interesting
    I know of a couple of examples where backdoors were put in for QA purposes and then left in when the product was shipped. Indeed, waaaay back in the day, a Mac IRC client left in a /ctcp command that would let another user execute any command on another ircle user's box!


    Doing things like /ctcp B1FF exec /quit made IRC almost unuseable for Mac users for a week or so.


    Anyways, my point is that most backdoors put in by developers seem to be accidental rather than intentional.

    --

    C - A language that combines the speed of assembly with the ease of use of assembly.
  24. winxp? by rizzo420 · · Score: 2, Interesting

    ok, i don't think there's a backdoor, but i know windows xp comes installed with a special microsoft tech support user. how do they get to use that user to fix problems? that's what i don't understand. it's really odd i think. i wouldn't be surprised if microsoft started putting backdoors into their software that only closed when you entered a unique serial number that bounced back from an online serial number database. similar to the way Q3A uses the cd key. although i know there are some hacks to the Q3A cd key to allow you to use a pirated copy, so this may not work. i just wouldn't put it past microsoft to do something like that.

    --
    please me, have no regrets.
  25. possible legal actions? by green+pizza · · Score: 5, Insightful

    This thread that gotten me wondering, what sort of legal options would one have should they find an employee coding in backdoors?

    Would this be considered felony fraud? The more I think about it, the more I hope so. Think about this -- one coder acting alone could cost a company millions of dollars in lost profit and trust. This would be more than that coder will probably earn in normal income thruout his entire life. I think this is one case where a jury SHOULD seriously consider decades of imprisonment. This isn't a simple case of a kid using DeCSS or defacing a website, this is case of one person destroying the image and trust of an entire company.

    1. Re:possible legal actions? by blibbleblobble · · Score: 4, Insightful

      "...gotten me wondering, what sort of legal options would one have against employees' backdoors?

      Spoken like a true American.

  26. I worked with a guy... by leftism11 · · Score: 2, Interesting

    When I was a consultant at a Big 6 firm (back in the day), a colleague of mine wrote a Windows app for a client. He added code that would cause the application to stop working after a certain date, so that if the client doesn't pay their invoices, he won't update the code, and the app will simply stop working.

    I personally considered this to be very unprofessional, and probably not legal, but he claimed that it was perfectly legit. Of course, the client didn't know this, and he never told them (they did pay their invoices on time).

    Definitely not my style, but it is evidence to me that it is done on a regular basis.

  27. Re:Code Review by binaryDigit · · Score: 4, Insightful

    The only way to guarantee that this doesn't occur is thorough code reviews.

    Sorta, the only way to guarantee is to make ALL _checked_in_code_ reviewed. This is generally not a very practical alternative in any project that has real deadlines. What happens during a "code review" (a formal one anyway). People review the code, make comments and the developer(s) go off and make whatever changes. Ooops, gotta now review the code they changed.

  28. consequences by spoonyfork · · Score: 4, Interesting

    I don't but two guys here did just that last year. It was a customer facing website for a large multi-national corporation. The "backdoor" was caught before going live but they were fired with extreme prejudice.

    --
    Speak truth to power.
    1. Re:consequences by GreyLightning · · Score: 2, Funny

      Sounds like they could get their jobs back by negotiating with extreme prejudice.

  29. I'd like to help, but... by Lord_Slepnir · · Score: 3, Funny

    I'd like to post an intelligent responce, but I need more info. Can I have some people send me a list of back doors they've created so that I can investigate further? thanks

    1. Re:I'd like to help, but... by kingkade · · Score: 2, Funny

      run your finger down your back. it's the first hole ya come to.

  30. why would you put in a back door? by new+death+barbie · · Score: 2, Insightful

    1) if it's not in the requirements, it shouldn't be in the code
    2)if it's useful or necessary, then it should be in the requirements. But it's not a back door anymore (maybe a side door?)

    --

    It's supposed to be completely automatic, but actually you have to press this button.

  31. Legal and not by sir_cello · · Score: 3, Insightful


    Putting backdoors is unethical, but possibly not illegal depending upon how you make your software available (i.e. license terms and conditions). It may only be illegal where you _use_ the backdoor (because you are then technically trespassing on property of another), or if someone else uses the backdoor (you could be held in negligence).

    I've been involved in a project where an easter egg was planted (command line interface to a subsystem, and if you enter right command, it will drop into a text RPG). You could get in trouble for this in certain ways:
    (a) wasting client money (if the program developed under contract and this functionality is outside of the scope of the development agreement);
    (b) negligence/action if something goes wrong with the functionality or leads to lack of performance of the software, etc.

  32. Most have some sort by www.sorehands.com · · Score: 4, Insightful

    Most applications have some sort of back door.

    There are different extents to back doors. For example, in some filtering programs, you get admin access. In other programs, you have the ability to log in as a remote user. In another, you can bypass the encrytion passcodes.

    Having a remote access backdoor saves lots of trips to a customer site. Having a backdoor for admin access is good when they lose their passwords. Or remotely shutting down the application is good when they don't pay.

    There is also the other site to consider, if there is a back door, the application is clearly less secure.

    You have to balance the lack of security caused by this by the need for the features the different back doors offer.

    You should tell the client about this, but then it is a problem. If you tell people about back doors, some people may try to hack it. Having the remote ability to shut down an application may defeat the purpose.

  33. Re:Microsoft believes in them.. by e2d2 · · Score: 5, Interesting

    I know that probably was a joke but.. If you think the NSA needs a key to get to your data you need to go read up on the amount of computing power they have in their hands. I recommend "Puzzle Palace" and "Body of Secrets" from James Bamford. Really interesting stuff. They could basically pick through your weak built in encryption like Rosie Odonnell picks through a rack of ribs. Their computers would literally sigh from boredom.

  34. Jurassic Park by masonbrown · · Score: 2, Funny

    Didn't we learn - if your developer is complaining that he doesn't get paid enough, you'll have dinosaurs eating your customers soon enough?

  35. Code reviews. by $$$exy+Gwen+Araujo · · Score: 2, Insightful

    Seriously, this is why every line of code is *meant* to go through proper examination by your peers. With the number of eggs and backdoors in some commercial software (*cough Excel 97 *cough*), you have to wonder...

    --

    I'm a girl too! See naked chicks in my journal!
  36. Back Doors.. by glh · · Score: 2, Interesting

    In my experience, back doors tend to be "in the mind of the programmer" as opposed to code that was physically made to be that way. It's not that the programmer sat there and added a way to hack in-- it's just the fact that since he knows how the system works, he knows how to gain access if need be. After all, just about everything electronic can be exploited at some point.

    I think you really have to consider the intent. If someone tries to go into the code and deliberately put a back door in w/o proper decision authority, that should be considered unethical. If the client wants it tighter than Fort Knox and loses the key, it's not your fault.

  37. Backdoors in the brain by Binary+Air · · Score: 3, Insightful

    I have been developing software in some form or another ranging from ascii based games to multi-tier web applications, since I was 8. I'm now 30 and I can say without hesitation that even without explicitly coding a backdoor a "good" developer can get into and exploit a system of his/her own design and development simply as a result of an intimate understanding of the application and how it handles data. So the only way to really prevent this, if you were really that worried about it, would be to labotomize the developer or somehow wipe his/her memory. Cheers, Binary Air

    1. Re:Backdoors in the brain by Jade+E.+2 · · Score: 4, Insightful
      even without explicitly coding a backdoor a "good" developer can get into and exploit a system of his/her own design and development simply as a result of an intimate understanding of the application and how it handles data
      So your definition of a 'good' developer is one who can't even code a system securely enough that they can't get in? Funny, that's my definition of a 'bad' developer.
  38. Contract Programming and Backdoors. by TedTschopp · · Score: 2, Informative

    Occasionally I have been given a task to write a piece of software and I do not have an account on the system which I am writing the software for. The backdoor is designed to make sure test is working. So I basically put in code which basically says:

    If User = Me then
    bypass security
    else
    Security/Validation
    end if

    This way I can test the app without having to go and validate against the system which I don't have rights to. When we move from test to production, this backdoor is left in until the client validates user acceptance test(UAT) phases, at which point a second production move is done without the offending backdoor. In otherwords the backdoor is the first UAT bug reported.

    I suspect this is common for contractors.

    Ted

    --
    Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
  39. Re:microsoft by Joe+U · · Score: 3, Informative

    No, that was the random seed used to encrypt Frontpage connections to the server.

    (Kinda funny actually, someone who had to support Netscape 4.x for any length of time must have wrote it.)

    However, once the phrase was found out it made it easy to start cracking the encryption. So it was removed and replaced with something else.

  40. Make sure you get paid. by ClioCJS · · Score: 4, Interesting
    A friend of mine did some web-work for $12,000.

    The guy decided to be a dick about it and not pay him the money he deserved.

    Fortunately for him he put a backdoor in. He told the guy about it. Once activated the system would not work until a password only he knew was entered.

    His payment was promptly received. (He got the idea from a movie.)

    --
    -Clio
    Karma: Bad (mostly from not giving a fuck)
    Blog: http://clintjcl.wordpress.com
    1. Re:Make sure you get paid. by unicron · · Score: 3, Funny

      I bet he did it with a Hydra..and you just know it has 1024 bit encryption piped through dual ds-3's to a residential address.

      --
      Finally, math books without any of that base 6 crap in them.
    2. Re:Make sure you get paid. by Lan-Z · · Score: 2, Funny

      "But was there a backdoor to the backdoor?"

      I think that was a gay porn title.

    3. Re:Make sure you get paid. by pnatural · · Score: 3, Funny

      but how did he pop the firewall?

    4. Re:Make sure you get paid. by Isao · · Score: 2, Insightful
      The guy decided to be a dick about it and not pay him the money he deserved.

      I guess it wasn't in the contract, or the programmer would simply have sued.

      His payment was promptly received.

      If I were the customer, I would have sued for extortion. But that's just me. (Again, presuming the initial contract wasn't being violated.)

  41. Backdoor? Nah, Easter egg by MrWorf · · Score: 2, Interesting

    Backdoors are very hard to justify and also adds coding (as mentioned here before).

    However, I've been involved in projects where we've added an easter egg.

    Why? I don't know, it's fun, easy and it's cool when you can show someone that you actually was part of the development. Ofcourse, these projects were inhouse product development. I would probably not consider doing such a thing in a customer's product that I'm working with, besides, that's not what they are paying me for.

  42. Ha! by praetorian_x · · Score: 2, Funny

    With so many clients deploying on Windows, who needs to waste time putting in a back door?

    Its built right into the OS.

    Cheers,
    prat

  43. backdoor root access by Cleveland+Steamer · · Score: 3, Interesting
    I've never written a backdoor for any of the applications I've released publicly. However, when I graduated from University and resigned from a system administrator position in one of its departments, I wrote a little backdoor program that gave me root privileges because I knew the guy who was to replace me was completely incompetent. I knew I would get to keep my account, so I wrote the program so that it would only work from my user ID.

    The program came in handy a few times. I finally deleted it about six months later.

  44. the short answer by Ender+Ryan · · Score: 4, Interesting
    The short answer to your question is, "Yes". Over a long enough timeline with enough people looking at the code, backdoors get caught. There was recently, well, maybe 1 year, a backdoor found in an Open Source database that used to be a proprietary product. The backdoor had been there for the entire life of the product. However, it took over a year after becoming open source for it to be caught.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
    1. Re:the short answer by Dr.+Evil · · Score: 2, Interesting

      On the other hand, some security vulnerabilities could be carefully engineered or intentionally neglected by a malicious developer. Written carefully enough they could even look like an honest mistake... like the latest buffer-overflow in Sendmail for example?

      Then I suppose the incentive comes into play.

    2. Re:the short answer by Drakonian · · Score: 2, Interesting
      Couldn't that be an argument against open source? (In a John-Ashcroft-freedom-by-reducing-liberties sort of way)

      Product X has a backdoor. Product X is released as open source. A few vigilant hackers start pouring over it ASAP and find the backdoor and exploit it until it's found by someone in the good community. (Maybe a full year later, as you said.)

      Just food for thought.

      --
      Random is the New Order.
    3. Re:the short answer by Ender+Ryan · · Score: 2, Interesting
      Yes, I suppose so, but that's insanely short-sighted. Over the long term, you're much better off if it gets open sourced, even if there is an existing backdoor. My reasoning is that, even without the source, hackers can and probably will find existing backdoors, eventually, but the "good community" may never find it.

      But who thinks about the long term these days? Even the richest people in this country are committing all sorts of fraud for a quick buck.

      --
      Sticking feathers up your butt does not make you a chicken - Tyler Durden
    4. Re:the short answer by sandman_eh · · Score: 2, Interesting
      . There was recently, well, maybe 1 year, a backdoor found in an Open Source database

      I guess you are referring to Interbase here.

      IIRC the 'backdoor' was rarely changed default system password. This combined with bootstrap caused some interesting behaviour forming a backdoor.

      In Interbase a seperate database schema is used to store database username and password pairs, unfortunely you can't access that until you are authenticated, so a backdoor was added so get round this problem.

      BTW, this is all from memory so check the archives before taking what i've said as gospel.

      --
      Master of Peng Shui.Ancient oriental art of Penguin Arranging)
    5. Re:the short answer by Reziac · · Score: 2, Interesting

      I've personally seen this, where what we have every reason to believe was an innocent mistake by the first developer, we think was deliberately *preserved* by the second developer for the express purpose of using it as a backdoor for malicious code (he'd expressed a desire to take revenge on "ungrateful users"). Long story short, but you get the idea.

      Fortunately, in this case the flaw was noticed and corrected by a later developer.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  45. MS Easter Eggs by pdrome4robert · · Score: 4, Interesting

    A microserf friend once told me MS had no policy either way on easter eggs. They were there if programmers took the time to put them there. If an easter egg can get through development, peer-review, testing, packaging, why couldn't a backdoor?

  46. Don't call it a backdoor... by djcatnip · · Score: 2, Funny

    Call it an "Administration area"

    --
    I make these: http://beatseqr.com
  47. The Praetorians by version5 · · Score: 3, Funny

    I heard that there's this program called Mozart's Ghost that has a little pi symbol put there by the notorious hacking group, the Praetorians. Anyway, if you click on it while holding down control-shift-back-back-forward-punch, it opens up a backdoor and your screen goes all crazy. I think it let's you hack the gibson or something.

    --

    "It's Dot Com!"

  48. Re:Microsoft believes in them.. by pla · · Score: 4, Insightful

    it was a variable name for a public key, not a backdoor or anything like that.

    I would like you to go perform a simple experiment.

    Write a "Hello World" program, where you have a static character array named "Fred" containing the string "Hello World" which you pass to printf.

    Compile it.
    Now, search the executable for "Hello World". You find it, right? Now search for "Fred". Funny, you get no matches. Doesn't that seem odd, considering MS's claim?

    Doesn't it also seem odd that, in the context in which "NSAKey" existed, it fit perfectly in a data area containing identically-formatted key data?


    read bruce schenier's column on it

    Okay. Does the following quote sound familiar?

    "Two, that it is actually an NSA key. If the NSA is going to use Microsoft products for classified traffic, they're going to install their own cryptography. They're not going to want to show it to anyone, not even Microsoft. They are going to want to sign their own modules. So the backup key could also be an NSA internal key, so that they could install strong cryptography on Microsoft products for their own internal use."

    It would appear that Bruce did NOT claim the key only existed as a coincidence... He said it *might* result as a coincidence, or it might result from the NSA wanting to *improve* the available security for their own use (and, presumeably, to hell with the win95-using masses who fund the NSA through taxes). These do not describe the same situation.

    Arguably, though, the "improved" security argument seems no less offensive to the privacy-minded. Why? Becuse, if the NSA saw a need to use super-secret-spiffy encryption for their *own* traffic, they did so due to the inherent weakness of the default crypto available (which I doubt many people would disagree with in hindsight).

    So they didn't *need* a backdoor for everyone else, they needed a *lock* on the wide-open-barn-door for their own use.

  49. Re:microsoft by rosewood · · Score: 2, Informative
    This story goes into more detail.
    Call it the case of the disappearing security hole. Initial reports of a "back door" in Microsoft Corp.'s FrontPage server software -- a deliberate security hole put in to allow illicit access -- now seem to be, for the most part, incorrect. While Microsoft (msft) admits that a security flaw does indeed plague a software module in its Web server product, the giant software company contradicted statements by one of its managers confirming the existence of a back door with the pass phrase "Netscape engineers are weenies!"
  50. Does an exploit count? by Lord+Kestrel · · Score: 2, Interesting

    I used to work for a company that wrote billing software. Our billing app that we wrote had an easy way to get root on the billing box, via a simple exploit. Although it wasn't planned as that, it was discovered shortly after we shipped it, and was unpatched for years.

    As a result of this, anyone who knew our software could get in as root to any of the servers running our billing software. I haven't worked for that company in 4 years, and I don't even think they are still around, but anyone running that billing software can be compromised (hopefully no one is still using it, but you never know).

    We did have a standard user that we setup in the database as well, so we could perform maintenance, but we told them about it, and coordinated maintenance with them. That could be contrived as a back door as well though, as it did allow remote access by our company.

  51. Missing option: by bperkins · · Score: 3, Funny

    Cowboyneal is my backdoor.

    Oh, I'm sorry, I thought this was a poll.

  52. Time to become a contractor! by Kostya · · Score: 4, Interesting
    You are now ready to be a contractor/mercenary. When I embarked on being a contractor, my friend who was a long-time contractor (20+ years) said after talking with me, "I think you are bitter enough now to become a contractor."

    Which is to say, most people who went into contracting did so just because of stories like you told. They got tired of being jerked around and decided a little uncertainty and paperwork was worth getting little freedom from the corporate brain washing about team and loyalty.

    Granted, many went into it because of money during the dot-com boom. They are no longer contractors now ;-)

    I'm loyal--to getting the job done, according to contract, as long as I'm getting paid. I produce results, give advice, and let the customer go his own way--even if they insist on taking themselves to hell in a handbasket.

    It beats getting all worked up over stupid stuff at work.

    I always loved the "We're a family" line I got when people tried to get me on as a FT employee. I don't know about you, but it is usually true--and they have all the problems that families have too. They can keep them ;-)

    --
    "Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
  53. In a previous life by Karl+Cocknozzle · · Score: 3, Interesting

    I was attached to a software package that didn't have a backdoor per se, so much as an undocumented account with a password of "a" that you could not take out of the database without doing major surgery. The software also (used to, anyways) put the undocumented account BACK into the users table and and restore the specific records to their "default state".

    Savvier customers changed the username and password (the rule required the user_id entry to stay in the db. But you could change the username/pass to keep undesirables out of the system. Yet many of the customers didn't ever even officially "discover" it... Before I left I never heard of any malicious things being done with this account, but as I told my boss the day I found out about it, "Its only a matter of time."

    I left when everybody around me started getting ".com" fever. Like, wacky. People who made $50k annually were leveraging a fortune in paper stock options to buy brand new Mercedes Benzes and hot tubs...

    --
    Who did what now?
  54. Re:Backdoors are nice but.... by tomhudson · · Score: 2, Interesting
    A backdoor allows you to make changes and tweaks after the application (or site) goes live but they just aren't worth it. Especially if it ever dawns on the customer that you have made changes (such as a bug fix) without consulting them. If you need to change the software then you need to consult the customer. Period. If the customer ever figures out that there is a back door or if it is abused by a third party, they will never hire you or your company again.

    ... M$ products have back doors, easter eggs, etc, and their "click-thru" licensing of mediaplayer also lets your box "phone home". Their XP updater routinely sends info about all software installed on your machine (see yesterday's art. at theregister.co.uk). ...

    the facts are:

    1. most people don't give a shit, don't have a clue...
    2. if your app does what it's supposed to, they won't care about any back doors ...
    3. the first time they screw up, they'll be glad there was a back door!
    4. if they can't trust you to refrain from abusing any back door you put in, they shouldn't be using you anyway!!! Now, does this mean that I'm going to start putting back doors in? Probably. At least when the product/code/app is going to be used by less-than-clued-in end users who are likely to screw up things to the point where some "emergency entrance hatch" is required.

      As to giving the customers the source code, I remember doing that in the mid-'90s before it was fashionable, and having their "computer people" continuously removing it from corporate systems because it wasn't on the "list of approved programs".

  55. Always. Always. Always. by MyPantsAreOnFire! · · Score: 5, Informative

    I work for a small web company developing web apps for other small-to-medium sized companies. The one thing that you learn when you're in a small software company is that nobody wants to pay their bills.

    This is hard to see from a large-company perspective, because as a developer you aren't the one collecting the money, you have accountants and lawyers and rabid CEOs that make sure you get your contract's worth one way or another. But small companies don't have this option--they can't afford lawyers or even the time to spend in court. They have to find where their next paycheck is coming from.

    As a result, many of our clients have tried to jerk us around by either dragging their heels on payments or doing something underhanded like changing passwords to servers to try to lock us out and give us the finger. There have been instances where I've sent out a "it's all done, check it out" email and had the live server's passwords changed on me minutes later, follwed by a "we're not paying" response.

    Simply put, backdoors are a small company's only assurance that it will be paid for the work it has done. Given, the backdoors that I put in aren't to r00t the server or take down a whole subnet, they're limited to disabling the application that we developed. Until the client has paid their bills, it's still our code, and we have every right to put in as many backdoors as we want.

    --
    --My other sig is a ferrari.
  56. Do I write Backdoors? by Cruciform · · Score: 5, Funny

    Dear Backdoor,

    I'm sorry I haven't written in so long, but you know how busy things get. Maybe it's time for us to move on. I've found this great credit card database that uses default passwords. What can I say, it has so much more to offer.

    Yours truly...

  57. Yes and no by ptomblin · · Score: 2, Informative

    In the past, I've included "secret" passwords at the request of the people who'd be going to the customer sites to help out. Often times you'd find the customer wasn't around to tell you their password when you needed to quickly get in and look at or fix something. I coded a fancy algorithm where password was dynamic based on the day of the week and the month name, but our field circus guys found it too hard to remember the algorith, so I was forced to change it to "*", which I considered very dangerous.

    Another time, we had a one line message window - if you sent a message with a severity of 'w','e','s' (for warning, error, and severe respectively), the message would stay for progressively longer amounts of time before the next message could wipe it out, and it would flash different colours and beep for the more severe ones. For message type 'i' (information) it would immediately be replaced by any subsequent messages. Once when it was late at night and I was getting a bit punch drunk, I made one branch of the program put out the 'i' message "How the fuck did that happen?" followed immediately by a more informative 'e' message. Nobody ever saw the 'i' message, because it was replaced so quickly. Until one day when somebody put a scroll bar on the message window so you could scroll back and see previous message. I got a call from a trade show requesting an immediate patch. Ooops. That's the closest I've ever come to putting in an "easter egg".

    I think putting in secret backdoors to get access without telling your superiors is very bad news, and could quite easily get you fired.

    --
    The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
  58. Any body with an ounce of integrity would by LoRider · · Score: 4, Insightful

    not put backdoors in the software they create. I look at this way, give the client what they want and don't worry about anything else.

    Why open yourself up to potentially losing a client or just looking like an asshole just so you can do something that your client probably doesn't want you to do.

    What happens when someone else find your back door and exploits it? What do you tell your client when they ask you about why there is a back door into their application?

    It is quite possible that you will get sued. Aside from losing your business you will lose any integrity and should be ashamed of yourself for disrespecting your profession.

    Good programmers are ethical and do what they are told.

    --
    LoRider
  59. One of the first back doors by wcbarksdale · · Score: 3, Interesting

    and the one to which "kt" refers is described here. Truly ingenious. Even looking at every part of the source yourself can't protect you in a case like that.

  60. Video Games by feepness · · Score: 2, Interesting
    I've worked in the video game industry and of course there are "backdoors" in all the products. These codes are part of the fun for both the dev team and the elite gamer. We have about a dozen different easter eggs in various products we release. I am always surprised to see the following as the codes show up on websites:

    • Codes we share amongst ourselves (dev team and with the testers) get out. This is obvious.
    • Some codes that I do not share amongst the team got out. And these are complicated as HELL. Like doing a series of things in the game and it having another effect minutes later that you must also know to activate. I show just a few people that these things are even possible, without sharing how. (Yes it's fun to feel cool.)
    • Some codes that others added that I do not know about show up in public.
    Conclusions: No backdoor is safe. Once released (or delivered), the code is in the hands of the enemy. Period.

    Corollary: People have way more time on their hands than they should.
  61. Why you never want backdoors by argoff · · Score: 5, Insightful


    1st, when I leave a company that I don't like or a company harms me - I consider that their "punishment" is not having the best man for the job - a backdoor would nullify this high ground and proove that I wasn't the best man for the job. And if a company is good to me, or I like them - than these are the last people in the world I would want to harm or compromize - so either way, it's just plain a poor way of living.

    2nd, I don't know about you, but I worked on more than my fair share of projects where I could tell that the core was written badly, but didn't have the time, resources, or approval to do it the right way myself. There are plenty of things that could go wrong that I can get blamed for even if I do everything right, the last thing I want to do is add something else that can go wrong. No thanks!

    3rd, I want denyability. When I leave a company, I want them to change the passwords, delete accounts, and for the code to be secure. The last thing I want is some breakin or failure put back on me years after the fact. There are plenty of shortcommings in life that can "catch up" with you, even if you do your darndest to be perfict. The last thing in the world I want to do is add some more to that pile.

    4th, I rely on these people for contacts, reference, and refferals. Why risk burning bridges when I don't half too. Why risk a job when if I don't want it I am free to quit. If you don't like a company, why risk going to jail for them. If I must risk going to jail, I would much rather it be for a cause I believe in like that lady who refused to go to the back of the bus.

  62. Not All Backdoors Are Nefarious by tlambert · · Score: 5, Informative

    Not All Backdoors Are Nefarious.

    I was a senior software engineer at Whistle Communications, and later at IBM, for the Whistle InterJet/IBM Web Connections products. I did most of the last generation of email, user account management, mailing list, internal database, and other infrastructure services for the product.

    This product has back doors. But they are all explicitly guarded.

    From the front panel of the InterJet, you can enable remote management, for a short period of time. This allows a tier 1 support representative to help you configure/maintain your InterJet, while you are on the phone with them.

    This required explicit customer consent for remote Web UI based administration.

    From the Web UI, if you are logged in as "Admin", there are "secret URLs", which you can use to obtain raw access to the configuration database for much of the InterJet: all of the parts I personally wrote, and some of the rest of it, where the engineers used the standard APIs we had agreed upon for user interface and common configuration store code. This was done to work around the Web UI design, which failed to expose many useful features of the product, which we engineers knew would result in customers inability to use the product as it had been sold to them. It was likewise useful for tier 2 support, to avoid engineering escalations.

    This required explicit customer consent for remote Web UI based administration.

    Also from the front panel of the InterJet, you can enable "telnet mode". This was done by going to a particular configuration screen on the front panel, and entering a "T" (for "Telnet") on the front panel keypad at that screen. A time limited ability for a remote engineer to come in and manually access the system to diagnose and treat engineering escalations was thereby enabled.

    This required explicit customer consent for remote shell based administration.

    In addition, this mode only worked from a specific netblock of IP addresses.

    Once in at the shell, it was possible for an engineer to force any of these protections. It was common practice for a persistant problem to leave the remote access for engineers open until the problem was verified to be resolved.

    There was also a "magic" front panel sequence that would permit you to play "Pong" on the LCD display. I filed a sev-1 bug ("total loss of functionality") against the maintainer, because it did not support "Skunks" (scores of 7-0) as a victory condition. 8-).

    All of them were under direct user control, in terms of outside access.

    None of these are "proprietary" or "confidential", they just aren't useful to people without documentation.

    Other than working around the Web UI designer's intent, with the second back door, none of these really qualifies as nefarious (I would argue that working around the Web UI designers intent qualifies as "routing around the damage").

    -- Terry

  63. Re:Rememeber that movie? by stratjakt · · Score: 2, Funny

    Yeah and there was like a WAR or something because of the GAMES. Then to stop the WAR he had to play GAMES with the computer.

    I think it was called, "The Bus that Couldnt Slow Down".

    --
    I don't need no instructions to know how to rock!!!!
  64. Gawd no, the only backdoor by HermanZA · · Score: 2, Insightful

    should be ssh. You certainly don't want to write your own buggy backdoor. That is just schtoopidttt.

  65. Very simple for legal recourse by GReaToaK_2000 · · Score: 3, Interesting

    If a back door is exploited and the company looses lots of money, etc... They simply go through their source integrity system and hold the coder partially responsible... Even if the programmer no longer works for the company...

    It's responsibility...

    But then again this country's general populace doesn't accept the concept of responsibility... Just look at the number of stupid lawsuits that are out there and the number of criminals that have gotten off with a good lawyer...

    my 2 cents

  66. FoxPro Command Line by dbCooper0 · · Score: 3, Informative
    I used to write vertical market apps in Fox, and I'd always include a backdoor for getting at a command line. This was not remotely accessable except for Carbon Copy or PC Anywhere.

    Back in the days of GOD (Good Ol' DOS) the variable memory need would grow too large for that reserved, needing tweaking. Or a scratch database would get corrupt from a hardware failure.

    Almost all things that could go wrong could be corrected without having to tear the code apart...because it always worked in my development systems; it only broke in production environments. The "backdoors" proved invaluable for tending to the screwups of the DEUs (Defective End Users :)- example: one of my clients had forgotten to use the AR functions and had literally MILLIONS of dollars owed to them in the system (only), all because they never entered checks received. Arghhh!

    --
    db
    Cig:
    ôô
    /`
  67. code by bluness · · Score: 2, Funny

    my favorite backdoors are not those that are obvious, but those that could be passed for a simple programming error... buffer overflow..etc

  68. Re:Everyone backdoors? by uptownguy · · Score: 2, Funny

    In fact, sociopaths are a minority

    Sort of a tautologous statement, wouldn't you say? I mean, once they are in the majority, then their behavior is called custom right?

    --


    I would have to say that explosives are the most abused technology in all of history.
  69. One word: liability by WhaDaYaKnow · · Score: 2, Interesting

    Writing backdoors is an extremely stupid and dangerous thing to do.

    Obviously you take the risk to get fired on the spot. But of far greater risk is your liability. What if your backdoor causes (unexpected) damage to the company? Do you have the pockets to make up for that? Because you can rest assured they will be knocking at your (front) door.

    If you have to write a backdoor for 'good' reasons, make sure the company is aware of it, and there should be no problems at all.

    The 'putting in a backdoor to make sure a customer pays in time' is stupid as well. If someone writes software for me and comes back with an 'update' after we pay that removes a backdoor, that was exactly the last time that person would work for me.

    In fact, that programmer would have signed a contract that specifically states that we do not allow backdoors, but I guess not all companies think of that... Regardless, that programmer has wasted the company's time, with all sorts of (legal) consequences.

    1. Re:One word: liability by bobsledbob · · Score: 2, Insightful

      You have good points...

      Frankly, I think software companies _should_ be liable for their bugs, which would obviously include liability for any backdoors. This would make a huge difference in the overall security of software across the board, but the ramifications of this thinking are another subject.

      You made a point about a bug being unintentional and a backdoor being intentional. I guess my point is that I don't see that clear cut of a difference. I have coded several bugs very well knowing they could possibly be exploited. However, when the whip is being cracked, one tends to sacrifice certain things. Not that this justifies it though!

      What's a company going to do if and when they are brought to court due to a problem with a backdoor? Aren't they going to say they aren't liable for it because it should have been removed from the production release and is therefore a bug? This seems to be a pretty strong argument for the company to take, since in general there is no liability for software security (unless stipulated otherwise via a contract or something).

      As for your particular situation with the movie industry, I don't think it's the backdoor itself that will get you into trouble, it's the fact that you've got a copy of something you shouldn't have. It doesn't matter how you got a copy of the latest movie, but that you possess such a copy. This is quite likely to be the stronger argument in court, don't you think?

      You're absolutely right as for the 'deepest pockets' point, however I don't think that's exactly on topic. In as much as it pertains to a small development firm or a contractor, you're right, don't mess with the big bucks (whether M$ or the movie industry). This is good, although a bit obvious, advice.

      --
      Beware of geeks bearing formulas.
  70. Payment Insurance by komisar · · Score: 3, Insightful

    As a lawyer and developer, I'd say back doors etc. may work for payment insurance as a practical matter, but if it comes to a legal push and shove, one might best have the explicit right in one's contract and/or have a good layer on board-- one conversant with the idea of consequential damages.

  71. P2P by Anonymous Coward · · Score: 3, Insightful

    What about all the great P2P software out there? There are alot of people downlaoding what they think is safe software, but how many back doors are in cracked software of the internet?
    just a thought...

  72. backboors can backfire. by skybuck · · Score: 2, Insightful

    I would never write backdoors in my own programs, because I like to use my own programs and if there is a backdoor in it I woulnd't trust it.

    It's like the novell tools for networking... many of novell's tools were just against their own network.

    Novell had a backdoor in case the supervisor forgot the password. This was the worst possible thing thing they did... It was so easy getting control of the network a child could do it... and then install further backdoors and login/password registration programs.

    The story about the F15's having a malfunction in case war breaks out is ridicolous... what do you think will happen when the enemy finds out how this backdoor works... then USA's F15's will be worthless...

    Same thing goes ofcourse for newer plans...

    My point is: 'any backdoor can be used against you' !

  73. Doing this right now... by jmagar.com · · Score: 2, Interesting

    I have been pondering the implications of this type of thing for a while now. I am currently building in a backdoor AND telling the user about it. You can read more of the discussion here:

    Remote Code Hosting

  74. Bypassing bureaucracy by amcguinn · · Score: 3, Insightful
    In an organisation which does large-scale development for in-house applications (think telecoms or banking) developers have to support the software they write.

    Such an organisation is likely to have "change control" procedures to protect against the all-too-common production outages caused by careless upgrades/installations. These procedures may entail mandatory delays, sign-offs, handing over to sys admin staff, etc.

    For a developer, these well-intentioned controls can feel like an obstacle preventing him from doing his job of providing working applications to his company's users. This is particularly likely if the rules are created and enforced by remote levels of management.

    In such cases, there are a whole range of "features" which can be added, more or less openly, to an application to make it easier to correct problems and make adjustments without going through the painful ISO9000-style bureaucracy. The developers may not even think of them as "backdoors", but that's what they can amount to in practice.

    To take a ridiculous example, someone I know was instructed to develop an application that parsed and interpreted a subset of Java at runtime for certain aspects of program logic. When he pointed out that it would be easier and more reliable to dynamically load real .class files, he was told that that was no good as the class files would be "executables" and therefore need a formal software change notice, but the slapped-together interpreter would be reading "config files" which could be changed more easily. The manager in charge of the project, of course, was several layers below the managers that dictated the procedures, and found it easier to design round the restrictions than to change them.

  75. not, a backdoor, but a timeout by ceswiedler · · Score: 2, Interesting

    I was working for a company that went belly-up around 9/11. I was one of the few people kept on as a contractor, but I wasn't guaranteed that I would be paid. The product was going to be installed at a single (large) client. I put in a simple check to exit with an error message if the app was run past a date a few months in the future. I planned on eventually taking it out if all went well.

    I was at least a little clever in how I put it in; didn't make the check too obvious. But our source control system gave me away (I knew it would, but I wasn't trying to be that secure). I've wondered though, how difficult it would be to plant the change in a much older version of the source file. We were using SourceSafe, but I've never looked into the format of the actual files or how that would be done.

  76. Spyware by GrumpyGeek · · Score: 4, Interesting

    I have never been asked to write a back door, but I have been asked write code to covertly send us reports about how the customer is using our software. The motovation behind this is that our software (Health Care) is price based on the 'number of lives' covered by our system.

    My response was that I could do this, but that I thought that doing this without notfying the customer that it was being done was wrong. Stangely enough they did not argue with me, and as far as I know it has not been done.

  77. Trust? by Remik · · Score: 2, Insightful

    "How sustainable is the 'trust' between the developer and the client?"

    Trust? Who needs trust when there are contracts?

    I don't really care if the person coding my project puts in a backdoor if I can sue them into oblivion when it's discovered/used.

    -R

  78. Trust between developer and client by megazoid81 · · Score: 3, Insightful
    Theoretically, code that you didn't write yourself should not be trusted. A fairly well-known example is Ken Thompson's ACM Award lecture, Reflections on Trusting Trust, where he describes how to write a Trojan horse C-compiler:
    • First, target a specific program and specific language construct and modify the compiler code for a corresponding malicious actions (trojans).
    • Then, compile this tainted source to get a tainted binary and install it as the official compiler.
    • Then, remove the trojan(s) from the original source code of the compiler and the trageted program and compile it with the Trojan binary. The Trojan-ridden compiler will insert trojans into clean source, with no traces in source anywhere.
    I also heard unconfirmed reports that he actually did this, but somebody please tell me if you know.

    I am not aware enough about the code legacy of GNU/Linux, but is all the code in the GNU system from scratch? Does it legacy need to be checked for backdoors or are we to rely on a chain of trust?

  79. Re:Always. Always. Always. by ip_vjl · · Score: 5, Insightful

    Wouldn't the better option be to make your application expire a certain number of days after installation UNLESS a code is entered? The theory being that when you recive payment, you provide the code.

    The outcome for you is the same. If you don't get paid, the system locks them out. The outcome for the client is that honest, paying clients don't have hidden (exploitable) backdoors living in their deployed system.

  80. You should care. by petard · · Score: 2, Insightful

    I don't really care if the person coding my project puts in a backdoor if I can sue them into oblivion when it's discovered/used.

    If the damage the backdoor can do to you will cost you more than you could hope to recover from them by "suing them into oblivion," you'd be well served care a lot.

    --
    .sig: file not found
  81. Re:Microsoft believes in them.. by Anonymous Coward · · Score: 2, Informative

    Really? The computers would literally sigh from boredom? Since when do computers literally sigh? Or feel boredom? "Literally" is not to be used for emphasis; especially when you're applying it to something you mean figuratively.

  82. "Test Harnesses" and non-web back-doors by IBitOBear · · Score: 4, Insightful

    Most of these comments do not particularly apply to "the web" as, in my mind, a web browser is just another interface surface (like a printer or a live screen) and the IO parts of a program are only the surface.

    During the construction of a program I almost always end up writing a test harness for each significant module. Where possible I like to include the test harness inside the library for that module.

    I then, when assembling the final product, do compile time control of whether the target application does, or does not, have the hooks to branch into the test harnesses. When an application ehxibits an error that doesn't have a clear source origin I switch to the "debugging version" of a product and that brings in a fully-featured set of back doors and hacks. Clearly the dubugging version is not suitable for production.

    That having been said.

    A certian lazyness on the part of the developers combined with a sloppy mind set being promulgated by the "I can drag and I can drop so I am a programmer" school of language-constructors, debuggers, and IDEs, has led to a plague of escaped code.

    A primary example of these escapes are "cheat codes" in games. Now days, you can't even expect to sell a game at all unless it is rife with cehat codes you can include in the book. These are the "send a message to all from the console saying "I Am Rich" and you will get $100,000 credits at the start of your next (event)" things. They clearly exist so that the developers can go in and exercise the extreme limits of their design but then they are never disabled later for the production release.

    This is dumb and annoying in games. In "real" applications this is potentially catostrophic.

    But the "whats good for bob is goog dor ted" mentality causes the cheating haxor kiddies, who have seen these back channels as required parts of every program they have used growing up (e.g. the games) and now somehow think such things *BELONG* in code.

    Any culture that teaches kids to just use the cheats (the cheat codes are even commonly printed in the manuals now, and then *explained* in detail in the walkthrough & cheat book you can buy seperately) and that any program without those cheats is probably trash, should not be surprised that when those kids enter the workforce they will, as a matter of self-pride include such things in the code they then write.

    (Example: my room mate is 12 years younger than I. He can't function in a game, or at least "can't enjoy" a game, unless he has got the FAQ and walkthrough around "just in case." What has he learned from life about "working it out himself?" and what should that teach the rest of us?)

    Test harnesses are necessary for development.

    They should be expunged from production code.

    Programmers should *know* *how* to write code that doesn't change core behavior when you take out the test harnesses.

    Games and toys should not be an exception as that sets bad habbits.

    ===

    We are all doomed...

    --
    Innocent people shouldn't be forced to pay for inferior software development.
    --"Code Complete" Microsoft Press
  83. Re:Backdoors are nice but.... by malakai · · Score: 4, Insightful
    M$ products have back doors
    Oh praytell, what wonderfull backdoors exist and in which MS products? In recent memory i can recall only the Front Page "view source" exploit that was listed as a 'backdoor' but wasn't. You needed author permission to access the website vti_admin directory anyhow to use that ISAPI dll.

    their "click-thru" licensing of mediaplayer also lets your box "phone home".
    Would you feel better if it was a radio button or or slider rather than a clickable button? Also, it is about as malacious as Winamp, in that you have to allow it to phone home, and you can choose to allow it to report anonymous statistics (just like winamp). I don't see people with pitchforks calling for nullsoft's (er... AOL i guess) heads.

    the first time they screw up, they'll be glad there was a back door
    Doubtful. A backdoor is never needed. There's no backdoor to losing the Administrator password on an NT box, yet you can reset it with physical access. Would people be thankfull if there was one? I doubt it, you'd probably have an ape shit.

    if they can't trust you to refrain from abusing any back door you put in, they shouldn't be using you anyway!!! Now, does this mean that I'm going to start putting back doors in? Probably. At least when the product/code/app is going to be used by less-than-clued-in end users who are likely to screw up things to the point where some "emergency entrance hatch" is required.

    You are the epitomy of what is wrong with many developers today. You hate your users with a passion much like some land owner has towards his 'peasant' workers. Grow up, listen to your users, respect them and advise them, and with all honesty work towards middle ground.

    -malakai

  84. Backdoor in College Loan management software by wawannem · · Score: 4, Interesting

    Here is something to think about, at my last job, we ran a very popular piece of software that is used to track and manage student loans for our financial aid department. One of our financial aid reps was having problems with her peecee and I sent out one of our IT support guys who was a full time student and part-time employee. He ended up calling the support desk for the piece of software in question and the rep gave him a backdoor account that was full access right over the phone. Luckily for me, the kid was honest and came back and told us about it. We all had a laugh that such an important piece of software could be compromised so easily and the support rep didn't even think twice about giving info on the backdoor to a student. Just to be safe, I periodically checked that student's account and made sure no phony changes were made. The more I thought about it, the more paranoid I became. I talked to my boss (the IT Director at the college) and found out that we really didn't have any choice in the matter, that piece of software was the only one like it. Thankfully, I don't work there any more, and I don't think the problem was ever exploited, but I wouldn't be surprised if I ever read about it. I won't divulge the information about the backdoor, but I will say that the software in question is called WhizKid and there may be college employees here on Slashdot that are familiar with it.

  85. I kinda did this... by mooman · · Score: 2, Interesting

    I was subcontracted to build a Delphi app for some other folks. The payment was going to be some pocket change up front and then a percent of sales.

    Paranoid that the minute I gave them the program it was going to turn into "Mooman? We never heard of no Mooman" and screw me from the sales, I made a backdoor/easter egg: While the splash screen was showing, if you type m-o-o, the splash would change to information about my little company.

    Since the people I was providing the code to weren't Delphi folks, I figured it was a safe CYA to make sure that I got credit where it was due...

    I also wrote a perl-based self-registration CGI for them too, and in it I set up a backdoor just so I could get the count of the number of registrations.. Again, just to keep 'em honest.

    Not malicious by any stretch but I feel completely justified in what I did...

    --
    In the Portland, Ore area and like card games? Check out: http://groups.yahoo.com/group/portlandgames/
  86. Not for the military! by Rorschach1 · · Score: 2, Insightful

    Maybe it's just because I work for a defense contractor, but putting deliberate (security) backdoors in programs has never even really crossed my mind. Even with unclassified systems, it'd probably mean the end of my career. Or at the very least, it'd cost me my job and my security clearance.

    That's not to say I haven't put some undocumented features in place, just not ones that deliberately compromise security. They're simple debugging tools - an extra URI parameter that makes an ASP page report (in HTML comments) SQL statements executed and profiles execution times.

    Maybe the mindset is different in the commercial world, but here it's a given that someone else will be responsible for your code someday, that there are many eyes watching for things that don't belong.

    People get this cloak and dagger impression of security in the military... I don't think that fits at all. It's all about paperwork and documentation and following procedures and regulations. Yeah, I've got a security clearance, but I avoid having to mess with classified stuff whenever possible. In truth, most of it's pretty boring stuff, and it's a pain in the ass to deal with.

    The bottom line is that all of us here take too much pride in the quality of our work to deliberately compromise it.

  87. Backdoors bad... Easter Eggs good?? by fzammett · · Score: 2, Interesting

    Interesting question... I have never and would never build a back-door into anything I code, unless it was approved and well-documented (some clients might want it).

    But, on the other hand, I have build Easter Eggs into systems I've written. One system that is used by thousands of users at my current employer has a silly little Snake game in DHTML if you find it, another high-volume system has Blackjack built-in.

    Neither has ever been found, but I have told a number of people, including the managers that sponsored the projects, about them (after the systems were deployed). They didn't seem to mind too much (looked at me kind of funny, but didn't really bitch).

    The question... is THAT ok? I know probably most big-time sofware has eggs, but as a matter of course, should it be acceptable, or is it generally unacceptable like back doors seem to be, judging by the general tone of the responses here?

    Many of the same arguments apply, such as extra code that could break and put blame on you... They might even be exploitable as security risks if really pooly written... And of course, it most probably was NOT in the client's requirements, so should you do it, even if your intention is not nefarious (mine certainly weren't).

    I don't know, I'm kind of torn now that I think about it. I've done it before and didn't think twice, not so sure I would in the future though. Thoughts?

    --
    If a pion (n-) collides with a proton in the woods & noone is there to hear it, does lamdba decay into the source pa
  88. Yes, because I like firmware backdoors. :p by Inoshiro · · Score: 2, Insightful

    Embedded applications are the worst place ever to place backdoors. Need I point out the Alcatel DSL modem issues caused by default passwords and backdoors for Cable providers?

    At least on a computer, upgrading the software or replacing it is easy. In a fix environment, it's very bad to have any kind of insecurity.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  89. Re:Microsoft believes in them.. by e2d2 · · Score: 2, Funny

    I don't usually respond to troll acs but I'll bite this time just for "kicks":

    "Literally" is not to be used for emphasis; especially when you're applying it to something you mean figuratively.

    Kind of like: I'd like to figuratively put my foot up your ass?

    If meant it as a jab, a funny, a laugh, a quick haha. I guess you get your kicks in other places. Like in your ass for instance. Oh wait, not actually in your ass. Just figuratively.

  90. We have an easter egg design document by objwiz · · Score: 2, Funny

    I'm not kidding. I work for a major software publisher (who will remain anonymous so that I can keep my job) who as part of our annual design process include a design specification for an easter egg in the product. Even QA spends time testing the easter egg.

  91. There are legitimate uses for back doors by tdelaney · · Score: 2, Interesting

    A good example is a web-based app I developed for our intranet. We were having trouble debugging customers problems with it (normally PEBCAK - and we'd get useless reports back from customers, and be unable to replicate the problem since we couldn't log in as them).

    So, we created a method whereby an administrator could log in as any non-administrator user by supplying the non-admin username and using their own admin password (on a page separate to the normal page). No global master password. One-way encryption of passwords.

    When someone logged in this way it was logged to the database that the customer was being spoofed (and by whom) - audit trail. Once the login check had passed the admin could act as if they were that user.

    This was considerably more secure for the customer than asking for the customer's password and telling them to "change it later" (which was what we'd had to do previously).

    This became an official feature of the app - albeit a not-very-well-known one. To use it you had to have superuser access - which usually meant that you had direct access to the back-end database anyway.

    This reduced the time required to deal with problems by a massive amount.

  92. Re:Microsoft believes in them.. by kakos · · Score: 4, Interesting

    The NSA, interestingly enough, measures their computing power in acres. Yes, not Megahertz or flops or anything lik e that. They measure their computing power in terms of how many acres of computers they have. I think the current value is several thousand acres of computing power.

  93. Re:Microsoft believes in them.. by Anonymous Coward · · Score: 3, Insightful

    Depending on what you use, I'll go out on a limb and say the NSA can't break it. 256-bit AES? Gotta say no to that. 256 bit Blowfish? Nope. 256-bit Twofish? Nope again. The NSA doesn't have enough brute force power to break those algorithms. It'd be much easier and cheaper to use something like rubber-hose cryptanalysis.

    As for weak encryption, well, anyone can break that. Check sci.crypt sometime and see how many people show off their ciphers, only to have them broken within the day.

  94. Telco eastern egg by DozePih · · Score: 2, Interesting

    Some years ago I worked for a really big telecom firm shipping POTS telco equipment to almost all countries in the world. We had this really smart guy who was working with a command module (a module that receives the CLI command the operator would type to configure something). During system test, one of our testers saw something in the code which looked really weired. It was not really weired but the code in this particular piece of code did something which wasn't obvious. The tester tried to enter a commad which excercised that particular piece of statements. Nothing happend. After a while he discovered this code was dependant on a specific type of hardware configuration. After this was set up he tried again to fire off the command. The reply was:

    Perre was here!

    (his name was Per, Perre is slang). He was sent to the boss and he had to take it away. But I actually think this code got out to customers. If Per reads this you might wanna fill in what really happend at Ludde's office.

  95. Re:Extreme? by spoonyfork · · Score: 2, Informative

    And how does that differ from normal prejudice?

    There is compliant disposition of employment and then there is non-compliant disposition. Picture a couple of burly security guards with an empty cardboard box explaining to you that you need to turn in your security credentials and pack your personal possessions under supervision during the next 5 minutes before being "escorted" off of the premises.

    Contrast that with the picture of a large party being thrown in your name as you complete your "two weeks notice" into early retirement for a job well done after a career of successes.

    --
    Speak truth to power.
  96. The Ultimate Backdoor! by TrailerTrash · · Score: 4, Funny

    We all witnessed Admiral Kirk leveraging the ultimate backdoor in Wrath of Kahn!

    If it's a good enough programming practice for the United Federation of Planets, it's good enough for me.

  97. History: Sendmail, DEBUG and Morris by JohnQPublic · · Score: 2, Informative

    We should never forget that the first big Internet worm spread itself largely though a back door written into sendmail. The author, Eric Allman, deliberately put in two backdoors as SMTP commands, "DEBUG" and "WIZ", one of which (DEBUG) was used by Robert Morris's worm. While Google can't seem to locate it, there was a contemporary statement by Allman that the reason for those two commands was a Berkeley sysadmin who wouldn't give him privileges to update sendmail, so he did it himself, the hard way.

    Anyone who writes a backdoor should be fired ASAP and the door should be closed. Failing to do so can easily make your company liable for damages caused by someone using it. It's a miracle that Allman didn't get prosecuted with Morris - he probably would today, but the legal folks were more clueless about computing risks in those days.

  98. Job Security (was Re: Deadlines) by DaTreeBear · · Score: 5, Interesting

    I saw first hand how back dooring software could provide job security for one developer.

    I worked at a company that produced some very complex financial and utilities management software. They needed a way to have these two applications talk to each other and their solution was a daemon to act as a conduit between the two. Since it had to assume user privs the daemon was set to run root suid.

    The code had been in production for quite some time when it was assigned to developer to maintain. The code was a mess (it had been written originally by people unfamiliar with programming in the Un*x environment). The developer was tasked with cleaning up the code if he could. Since they were very busy there was little or no supervision over him. As long as the daemon worked everyone was happy.

    Eventually the development department decided to restructure and investigated letting this guy go. He had a reputation of being a bit of a hacker so they came to me (I being the Un*x/Network admin at the time) to see how we might protect ourselves from reprisals should he be let go.

    I was fairly confident that my systems were tight. The biggest weakness as I saw it was this daemon. So I checked out the source code and started going through it. As I did, I discovered that this simple daemon had developed some new and interesting features. Along with it's normal duties, it also doubled as a telnet daemon (you could telnet to the listening port and login just as in telnet - except this one would ignore /etc/securetty thus allowing remote root logins over an unencrypted protocol). Another feature was it's ability to tunnel other ports through it's own listening port.

    The code was too convoluted for me to get a complete grasp on it in the time alloted. I went back to the VP of development, pointed out what I had found, and suggested that he would need to have every piece of code this guy had worked on audited to make sure it was clear of back doors. He visibly paled. The developer in question had been there for over 5 years by this point and had touched nearly everything at one time or another.

    In the end they simply moved him to another department (he is still there as far as I know). They felt it was too cost prohibitive (and dangerous) to let him go.

    They never did tell their customers about these gaping security holes either.

    Lessons learned:

    1. Never trust code you haven't audited yourself. I had a daemon running on my servers that was allowing remote root logins and I didn't even know it.
    2. A lack of integrity can be rewarding.
    3. Customers are WAY too trusting of vendors.
    1. Re:Job Security (was Re: Deadlines) by Vulture_ · · Score: 2
      A lack of integrity can be rewarding.

      In the short term. In the long term, a lack of integrity gets you screwed. From your account I doubt anyone at your company trusts this guy anymore. It may be possible to even get the guy jailed for what he did, let alone fired (once you've audited everything).

      Customers are WAY too trusting of vendors.

      The thing about computer security is that a lot of it is based on trust: trust of vendors, trust of sysadmins, even trust of janitors. The pointy-haireds in most companies clearly do not understand this, and they get bitten repeatedly because of their ignorance. Employees capable of damaging your company (as in this backdoor) must not be motivated to do so. To do this, they must be treated with respect, and be strongly rewarded for company loyalty. Most companies instead treat their engineers like condoms: they use them up, then throw them away after they've made the company a few billion in profit.

      If your employees feel safe at your company, they aren't going to risk their jobs by putting backdoors into the code they have write access to, and they aren't going to have any reason to do so anyway. Isn't that better for the company than risking massive damage every time things get hard?

      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

    2. Re:Job Security (was Re: Deadlines) by Anonymous Coward · · Score: 2, Insightful

      How could you have the guy locked up? He added some features to a program; that is not against the law. If you want him locked up, he would have to use these features to gain access to the computer.

      Hell I added a programming language to an in-house app that we developed; should I be locked up? No one asked for the language so it must be a bad thing, and I must be punished.

    3. Re:Job Security (was Re: Deadlines) by DaTreeBear · · Score: 3, Informative

      When I said my servers were running a daemon that allowed remote root logins, I wasn't meaning in the sense that they were open to Internet at large.

      All of the servers I was dealing with were on our internal LAN and behind our firewall. The application in question was a daemon that was supposed to listen on a given port. In fact, we had scans set up to monitor and alert us if the service went down. So our portscans showed it as a listening port as it should have. We would have had to put a sniffer against it to see that it was passing traffic that it wasn't supposed to.

      I am not saying I couldn't have detected that the daemon was doing a bit more than it ought to but it wasn't quite as simple as you suggest.

    4. Re:Job Security (was Re: Deadlines) by corecaptain · · Score: 3, Insightful

      This is an interesting situation. If I was the
      manager and had a hint that any of those backdoors
      were likely intended for malicious access I would
      have called this guy in and told him exactly what
      was found - put it up on a projecter and review
      the lines of code - for example the code allowing telnet access over an unsecured port. Then I would have warned him that if anything untoward
      happens to the system - i mean if suddenly a process core dumps, the database gets corrupted - he is the first person we are going to go looking for. Then I would have fired him. The risks are too great to leave someone like this on staff.

      Imagine this guy goes on to do something very costly to the business - the manager is going to be extremely responsible for letting this guy keep his job. I wouldn't take that kind of risk.

      I would say cut your losses, take some economically feasible defensive actions, and then get rid of the cancer.

    5. Re:Job Security (was Re: Deadlines) by Anonymous Coward · · Score: 2, Insightful

      I'd have made him a part of the new 'code review' team, and made him explain to the group what his code was doing.

      If nothing else, it would show that people were on to him, and potentially embarass him.

    6. Re:Job Security (was Re: Deadlines) by lanclos · · Score: 2, Insightful

      The real lesson you needed to learn:

      1. User apps should never be setuid root. Ever.

  99. Backdoor Man: Trust .vs. Security by ElitistWhiner · · Score: 2, Insightful

    Backdoors are coded for a reason. Obviously, the job didn't call for it. Call the FBI. You are not equipped to discern whether it was inconsequential. That backdoor served a purpose.

    Nextime, structure your coding away from needing "trust" and "detrimental reliance".

    Backstory: I had an entire project move off-shore through a backdoor via a coder. The project reappeared *whole* complete with the project application and name .com'd running as a pay-for-service business.

  100. It's all about quality of life, man by Kostya · · Score: 3, Interesting
    Your reading too much into a tongue and cheek statement.

    What my friend meant was that it usually takes a good amount of bitterness to make anyone consider contracting. It's a scary step and most are intimidated by their manager's comments about "contractors have no benefits".

    That's all it meant--i.e. "perhaps you are now bitter enough to take a risk". But what you said still applies. I had many friends who were bitter enough to give it a try. Only one friend of mine did and is still doing it.

    My comment was the same thing: if you feel that betrayed, realize there are other options.

    As for me, I did it because I was fed up with flushing my life down the drain in salaried positions. When I get paid by the hour, I find I get more equitable treatment. Employers *think* about what they want me to work on. And usually they are more serious--since my time equals money in a very easy to use formula. And I don't feel like I am being cheated when I get a heavy work load--more hours equals more compensation.

    Less pay or not, salary is for suckers. Even if contracting is making half the money, right now pay is down across the board and salaried employees are being asked to work twice the hours. So do the math.

    (OTOH, during the dotcom days, I made some serious money. Ah, things will never be like that again *g*)

    For me, contracting is about quality of life--as in, I have one now.

    --
    "Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
  101. voting by zogger · · Score: 2, Interesting

    --main reason I am against computerised voting. I'd bet a LOT there's all sortsa nifty "features" in the code that got "reviewed" and judged "ok".

    But, it's just so gosh darn conveninet to have the computer vote for me! And it's so modern and techy trendy! And "they" wouldn't do anything to affect a vote would they? I mean it's not like anything as important as control of a state or the world's most powerful country is actually enough motive and incentive for the nice people at E-VOTIN'TECH.con Inc. to do naughty things, is it?

    Nawww-never happen in a billyun years, people are all honest, rilly and trully!

  102. Re: Do You Write Backdoors? by PiratePTG · · Score: 2, Interesting
    Yes. I put a backdoor into every program I ever wrote.

    Why? Because I REALLY do not like to lose. If I ever got screwed by a client, they would stand to lose more than me.

    Have I ever USED one of my backdoors? Only once in over 24 years of working with computers. I wrote a program for a college professor who then turned around, changed the opening banner/credits/logon page to HIS name, and then sold it to the college as his own work. I went in, changed the page back, blew away the user and password file, and disabled the logon sequence. Everyone on the college's staff who had a computer got to see what I said about him the next morning when they tried to log on.

    A few weeks later, after all the shit was through flying, I gave the college the program for free. Along with the source code (Open source circa 1979!).

    --
    The number 1 problem of working in a cubicle - 23 power cords, 1 outlet...
  103. Re:Very OT by Iffy+Bonzoolie · · Score: 2, Funny

    You're right, how could I be so ignorant of important PC issues of the day?! You've helped me to decide: I'm leaving computers and the software industry to take up a peaceful life of contemplation. Living off the land, pumping my own water, harvesting crops. I'm obviously a failure as a technologist, so I must find an ecosystem I can truly integrate with.

    -If

    PS: I USE the NET, and pay attention to it all the time, so I don't know what you are implying.

    --
    Run a pencil-and-paper RPG campaign with your far-off friends: Gametable!
  104. Re:Microsoft believes in them.. by Trogre · · Score: 2, Insightful

    Their computers would literally sigh from boredom.

    Literally? I'd pay to see that.

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  105. Required Backdoors by oldCoder · · Score: 2, Interesting
    Before the internet and hacking became so popular, it was often necessary for a system vendor to leave a hard-coded backdoor so when the client (user) totally broke the thing and called complaining, you could fix it. Sometimes this would save the downtime required to send somebody flying cross country. This was especially useful when selling systems to organizations that didn't really understand computers. In more sophisticated and security-conscious organizations, we would tell them to turn on the modem in the back when they needed our assistance, and they were willing to pay for the connectivity.

    The less sophisticated customers would never authorize anything like that until and unless they were in a panic, so we learned to pre-install it. In general, saving the customer from himself is necessary to maintain good customer relations, and is probably the origin of the term "Customer Engineering".

    --

    I18N == Intergalacticization
  106. This is a TRUE story. by rice_burners_suck · · Score: 3, Interesting
    I remember reading about this one guy who put a backdoor in login so he could log in to any unix workstation with a pre-specified username and password. But that would easily be found in the login source code, so he modified the c compiler to recognize that it was compiling login and then silently insert the appropriate code in there. But that would easily be found in the compiler source code. So he modified the compiler to recognize that it was compiling itself and then silently insert the code that recognizes login and silently inserts that code. Then, he deleted these instructions from the compiler source code, but since the compiler would silently insert them in the object code, there became a situation where code that did not exist in source form would create a chain reaction that would allow this dude to login to any unix machine. It was totally invisible and would work as long as nobody changed the compiler or used a different compiler to compile the compiler, or something weird like that.

    But I don't remember the guy's name. Or maybe it was a chick. But whoever it was, they were definitely a staid and steadfast compiler writer.

  107. Reputation... by Ixe · · Score: 2, Insightful

    It's that simple. The client has to trust the developer, and if that developer gets caught doing something malicious, it goes into 'big news' and that coder just lost his career.

    Just my $.02

    P.S. I can't resist blabbing here how this problem might vaporize if everyone wrote 100% GPL code and had that code analysed by many eyes... after all this is /. and I mean, "IMAGINE A BEOWOLF CLUSTER OF THESE," ok enough :)

    --
    Sigs pose an operational security risk and help the baddies aggregate data. I guess commenting does too, oops.
  108. Peer Reviews by blurg64 · · Score: 2, Insightful
    The company I currently work for, and the previous one used the concept of peer code reviews. This stops a rogue developer adding backdoors / 'little suprises' that could leave your company open to litigation or embarrassing PR which could hurt your sales, and ultimately your job (in the current economic climate).

    Peer reviewing has several advantages in a commercial environment:

    Ensure the code is correct, ie no obvious errors that will come and hit us during acceptance and therefore hit our bottom line

    Ensure the code is efficient and well written, at the end of the day, when the project is completed, the client takes ownership of the code. It's its badly written, this could impact repeat buisness

    Ensure the developers are not putting 'back doors' in. On a large development project, you should have a development environment and a seperate acceptance environment mirroring the production environment. Developers should never get anywhere near production testing code.

    Peer reviews can help sell your company, if the client needs to be assured that you will develop quality code, then the peer reviewing concept will work in your favour.

    Developers placing 'Easter Eggs' and 'Backdoors' in programs to me suggests poor management by their team leaders / project leaders / project managers. If legitimate back end access is required, by personnel authorised to perform it, then a mechanism that the client is aware of should be used such as a troubleshooter logon / password.


    Just my 2 cents on my first /. posting.

  109. Mangement ASKED for a backdoor by canadian_right · · Score: 3, Informative

    I was working on a small custom db (in c, way back in the PC dark ages)that was going to hold confidential data, and had a simple user login coded up. Management insisted on putting in a back-door because past experience indicated that a few times a year a customer would ask us to "recover" a lost password. The back door was used to get into the system as an admin and reset the other user passwords for customers.

    --
    Anarchists never rule
  110. Non-trust worthy client by overlordhab · · Score: 2, Insightful

    I don't like backdoors since they create all kinds of security leaks. If you properly test your system before going live you don't need a back door to debug.

    BUT once I was asked by one of my bosses to put a backdoor in a system. The client was getting very hard assed about paying the money he owed the company for the development of the system. Inside sources warned us that the client is going to grab our software and cancel the contract.

    What happened? We installed the system and sure enough the client told us a week later to go stuff ourselves. hehe a few clicks and what do you know the program suddenly developed a few 'bugs'. To this day the client never knew what hit him but it only took two days before we were back on the job with a bank balance the way it should be. The 8 hours of effort putting in a backdoor sure as hell beat the hundreds of hours in a court.

  111. Late night confession as to why I DON'T backdoor by LouisvilleDebugger · · Score: 3, Insightful
    I'm certainly a "WarGames" generation hacker. (OK, I started coding in 1979, but I was 10, so I'm more or less of that generation.) Sure, the Captain Crunch/Joe Engressia mystique powered my early interest, and I played around with Ma Bell. But finding interesting test numbers and seeing what was possible was about the extent of it. I just have never wanted to exploit a system, except as an idle fantasy. I plunked tons of change into the pay phones at my high school to record the chirps, but I never exploited this at all. (Who did I know to call long distance? No one!)

    I've made it easy to disable security on development versions of systems I've written, just to spare myself the pain of logging in every time I bounce the web server to reload my .jsps, but I have zero interest in letting a real "back door" go into production. I'm not sure why. Fear of getting caught is somewhere on the list, but pride in putting out the best, most secure system I know how to make is a lot more important. In my current job I'm playing with real people's real money. Who cares if my company screws me over some day? I still don't want to make it easy to screw over some poor AOL-connected grandmother who pays her bill using my system.

    I guess what trumps it all is that code with a back door is less elegant than code without, from a standpoint of efficiency. Lines coded versus purpose accomplished. So in my book, it's no back doors because of 1) Aesthetics, 2) Pride 3) Fear of getting caught.

  112. Yes I did and it was expensive by Ratbert42 · · Score: 2, Informative
    I did it and served 6 months for it. Cost me $50k and my job too. Whee.

    Don't do it.

  113. Not in a finished product by n9hmg · · Score: 2, Insightful

    During development, sure. Get the underlying logic and interface working, then plug in the authentication. If the final product has a back door, that's like selling locks are, undisclosedly, set up with a master key, which you posess.
    Of course, you want to permit the owner to uninstall the lock if he loses the key... or just wants to disable security, if he thinks that's safe. Same with software. Put the authentication in a discrete file, so the person posessing the system running it can bypass the application to set up newly-defined security, just like the unix password files.(boot to access the partition containing /, replace or edit the file, reboot normally).