(no subject)
It has been a bit of a strange week.
Last night I released a new version of PuTTY, fixing a scary security hole which has apparently been present since the beginning of recorded history. We received notification of this hole a week ago, and I've been frantically running around trying to clear up the mess ever since.
This is only the second security incident PuTTY has had, and for the first one it was in good company (a rather large range of similar programs had related holes). This is the first time it's been us alone, and nobody's fault but mine.
Of course, everybody makes mistakes, and all programs contain bugs. Mostly you just quietly put out a new release, and anyone who cares about the bugs can upgrade. But when you become a security developer, the deal you accept is that suddenly your bugs are no longer things you can quietly fix without fuss; suddenly a bug can be a seriously big deal, and can affect people even when they haven't noticed anything wrong, and so you have to stand up and announce very loudly that you've been a muppet so people know they need to upgrade. You should not go into this field if public embarrassment is a problem for you.
On the plus side, this sort of thing happens to everybody else in the field as well, and you're more likely to be judged on the efficiency, promptness and honesty with which you deal with it than on the incompetence to let it happen in the first place. And on that basis I reckon we did OK; a response time of one week is quite a bit longer than I'd have liked (a fair amount of the delay was me trying to extract more information from the person who reported the problem, because the initial report was unclear), but is downright whizzy by comparison to a lot of security products.
All of that is the theory, anyway. I've been telling myself all that constantly for the whole of the last week, but it doesn't entirely stop the lingering guilt; the feeling that some number of million users have been depending on that code for years, including almost all my friends in particular, and that I, personally, have let every single one of them down. On Saturday, most of which I spent doing actual fixing, I had a fairly serious guilt trip at lunchtime and almost didn't manage to make it back to the keyboard.
Fortunately, after slogging on with it for a bit, I managed to recover some pride in my work by means of fixing the problems in a robust and sensible ‘now why didn't I think of that before?’ sort of way, and that seemed to get me over the worst of it. And now I've actually put out the fixed release, I mostly feel all right about it. Certainly it's a relief not to have it actually hanging over my head any more.
Apart from that, this week has been pretty good so far. Skipped the usual Pizza Express gathering on Monday because I had arranged to be feeding home-made ad-hoc pizza to
lnr, which was great fun (if messy, in a throw-everything-randomly-around-the-kitchen sort of way) and I should make home-made ad-hoc pizza more often. Then Calling yesterday, with the surprising addition of
the_alchemist, who it was particularly nice to see.
no subject
no subject
no subject
Every year the engineering knowledge gets better, and older problems are (or at least should be) made impossible to happen again. But that doesn't remove them from existing stock, and of course new methods introduce problems of their own, and aviation is a very conservative discipline.
RISKS (http://catless.ncl.ac.uk/Risks) is good reading for this - many of the more public crashes get very detailed but accessible post-mortems here.
no subject
I will have a read of that. Thank you!
no subject
no subject
no subject
Next one is August 17th.
no subject
no subject
( http://lists.tartarus.org/mailman/listinfo/putty-announce )
no subject
no subject
Although the only mail that I've ever got through that list was polite 'The next version of PuTTY is available'-type messages from the wonderful Mister Tatham. :)
(even if I am currently teasing him on Monochrome BBS (http://www.mono.org) about it)
no subject
Do you know when Core are going to publish their advisory?
no subject
no subject
I also remember that the formal advisory was posted to one of the many security-related mailing lists I'm on at some point last night, although I can't remember which one (may have been BugTraq, but I can't find any trace of it in their archives - its not FD I know that much).
no subject
Hmmmm - useful stuff; they've got RSS feeds on LJ in the shape of
no subject
The draft advisory Core sent me contained actual information about the precise problem (although it was somewhat incoherent - I'm vaguely hoping they'll let me send them additional text to help it make more sense), and that doesn't seem to have been published yet.
no subject
As for the Core advisory being a little incoherent, I'm not surprised given their track record on writing stuff which I've seen on FD and other places!
no subject
no subject
so you have to stand up and announce very loudly that you've been a muppet so people know they need to upgrade.
IME, the anticipation of public embarrassment is always worse than the event itself. You've announced it now and you've not grown horns or had people blank you in the street. You're OK. I imagine you've had very few emails saying 'you idiot how could you miss this' and many more saying 'thank you for fixing this so quickly'.
feeling that some number of million users have been depending on that code for years, including almost all my friends in particular, and that I, personally, have let every single one of them down.
Guilt trips don't really help - though I know I hit myself with them a lot of the time. You made a mistake, you've fixed it, you're not going to make the same mistake again so let it go and move on. And, to be honest, every one of us who uses PuTTY does so with the knowledge that like all computer applications there may be bugs/security holes in it somewhere. We chose to take the risk that your code is less buggy/security risk prone than the alternatives (hmm I'm not entirely sure what the alternatives to PuTTY are, but that's beside the point).
*adds upgrading PuTTY to to-do list*
no subject
no subject
no subject
There nothing to be embarrassed about there - you've provided service well above and beyond both the call of 'duty', and frankly most commercial vendors I can think of.
Well done sir, say I!
no subject
no subject
no subject