<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Techbelly &#187; panic</title>
	<atom:link href="http://www.techbelly.com/tag/panic/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techbelly.com</link>
	<description>Ben Griffiths&#039; weblog</description>
	<lastBuildDate>Sun, 18 Dec 2011 16:33:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Rails security exploit: lessons to learn.</title>
		<link>http://www.techbelly.com/2006/08/10/rails-security-exploit-lessons-to-learn/</link>
		<comments>http://www.techbelly.com/2006/08/10/rails-security-exploit-lessons-to-learn/#comments</comments>
		<pubDate>Thu, 10 Aug 2006 12:04:15 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[crisis]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[rubyonrails]]></category>

		<guid isPermaLink="false">http://www.techbelly.com/?p=315</guid>
		<description><![CDATA[So the Rails chaps have had their first crisis. And, they&#8217;ve not handled it too badly &#8211; believe me I&#8217;ve done worse &#8211; but the response still left a little to be desired. So, rather than join in with the angry commenters on their blog posts (with whom I broadly agree) I thought it better [...]]]></description>
			<content:encoded><![CDATA[<p>So the Rails chaps have had their <a href="http://weblog.rubyonrails.org/2006/8/9/rails-1-1-5-mandatory-security-patch-and-other-tidbits" title="">first</a> <a href="http://weblog.rubyonrails.org/2006/8/10/security-update-rails-1-0-not-affected" title="">crisis</a>. And, they&#8217;ve not handled it too badly &#8211; believe me I&#8217;ve done worse &#8211; but the response still left a little to be desired. So, rather than join in with the angry commenters on their blog posts (with whom I broadly agree) I thought it better to give them some pointers that I&#8217;ve learnt from years of mishandling crises. I plan to write some more about how to structure a crisis response process shortly, but in the meantime here are some general guidelines:</p>
<p><b>What do we know, and how do we know it?</b><br />
The big mistake made yesterday was that the rails crew, especially <span class="caps">DHH</span>, starting communicating what they <i>thought</i> and not what they <i>knew</i>. Panic makes you do this, arrogance makes you do this, I&#8217;ll let you decide what was going on there.</p>
<p>From the original blog post:</p>
<blockquote><p>
UPDATE: This problem affects 0.13, 0.14, 1.0, and 1.1.x. So here&rsquo;s a happy opportunity to upgrade if you still haven&rsquo;t.
</p></blockquote>
<p>This turned out not to be true. I can imagine the scene in the rails secret headquarters. &#8216;Shit. What versions does this affect?&#8217; &#8216;Um, all of them I guess&#8217;. Looks like no-one asked &#8216;how do we know that?&#8217;</p>
<p>There&#8217;s no harm in being absolutely straight up about this &#8211; tell people <i>how</i> you know what&#8217;s going on. So what the post should have said is something like: &#8216;we&#8217;ve confirmed this problem exists on 1.1.4 and are looking at other versions as we speak&#8217;. If someone had asked &#8216;what do we know and how do we know it?&#8217; the debacle would have been avoided &#8211; and I wouldn&#8217;t have spent 5 hours that I don&#8217;t have to spare last night trying to contain a problem that didn&#8217;t exist.</p>
<p><b>Listen to the quiet voices</b><br />
I&#8217;ve noticed that this is a particular problem that affects developers and the more arrogant a developer, the more dangerous they are in a crisis. Choose who you want to head crisis teams appropriately &#8211; the loudest voices are the worst in these situations.</p>
<p><b>Be serious and don&#8217;t even think of selling &#8211; now&#8217;s the time to apologise</b><br />
So, it&#8217;s a matter of style, I suppose, but serious problems require a measure of seriousness from those solving them. And, don&#8217;t even try to turn it into a sales opportunity. It doesn&#8217;t wash:</p>
<p>
<blockquote>
We&rsquo;re still hard at work on Rails 1.2, which features all the new dandy <span class="caps">REST</span> stuff and more<br />
So here&rsquo;s Rails 1.1.5!<br />
So here&rsquo;s a <i>happy</i> opportunity to upgrade if you still haven&rsquo;t.
</p></blockquote>
<p>And for god&#8217;s sake: Elton John may think that sorry&#8217;s the hardest word, but you need to say it &#8211; it&#8217;s just polite.</p>
<p><b>Explain the impact</b><br />
Rails is getting wider adoption and being used in revenue- and business-critical applications.</p>
<p>There is always a risk associated with upgrading and no serious development shop should take it lightly.</p>
<p>Yesterday&#8217;s announcement had no realistic impact assessment: what kind of security vulnerability was exposed, how do I judge whether I need to get on the phone and rudely wake-up our developers. No excuse for this one, the &#8216;hiding from black-hats&#8217; argument just doesn&#8217;t wash I&#8217;m afraid.</p>
<p><b>Test your fixes and keep the panic inside</b></p>
<blockquote><p>
UPDATE 2: We&rsquo;ve fixed the zlib buffer problems for people on Windows. Redownload the gem and everything should be dandy.
</p></blockquote>
<p>
Uploading a broken gem was inexcusable &#8211; haste is a the most serious of errors in these situations. Make sure that the sense of panic that you probably feel isn&#8217;t passed on to the people you&#8217;re trying to help.</p>
<p><b>Listen to more country music</b><br />
Kenny Rogers got it right when he said: &#8216;there&#8217;ll be time enough for counting, when the dealing&#8217;s done&#8217;.</p>
<p>(Hmm. I&#8217;m not sure the last point is something I&#8217;d entirely recommend).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbelly.com/2006/08/10/rails-security-exploit-lessons-to-learn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

