<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.communities.hp.com/securitysoftware/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Following the White Rabbit Blog : educating developers</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/educating+developers/default.aspx</link><description>Tags: educating developers</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Wrong Message, Wrong Audience</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2008/06/17/wrong-message-wrong-audience.aspx</link><pubDate>Tue, 17 Jun 2008 03:26:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:83273</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=83273</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2008/06/17/wrong-message-wrong-audience.aspx#comments</comments><description>&lt;p&gt;You&amp;#39;re delivering the wrong message, to the wrong audience.&lt;/p&gt;&lt;p&gt;&amp;nbsp; Don&amp;#39;t believe me?&amp;nbsp; Let&amp;#39;s look at the attendance of workshops and conferences - now look at the message that&amp;#39;s being delivered.&amp;nbsp; I&amp;#39;m speaking of course specifically on web application security here.&amp;nbsp; A recent article on &lt;a href="http://jeremiahgrossman.blogspot.com/2008/06/developers-dont-go-to-security.html" title="Jeremiah Grossman&amp;#39;s Blog" target="_blank"&gt;Jeremiah Grossman&amp;#39;s blog&lt;/a&gt; made me think, what do we (as security professionals, and industry &amp;quot;experts&amp;quot;, do?)&amp;nbsp; I feel like it&amp;#39;s our responsibility to educate and bring the correct message to the people who will really benefit.&amp;nbsp; Interestingly enough, I feel like we&amp;#39;re failing to do this to any beneficial degree.&lt;/p&gt;&lt;p&gt;&amp;nbsp; It&amp;#39;s one thing to want to deliver software security as a message but an entirely different thing to deliver it to the right people who will actually benefit from the message.&amp;nbsp; I honestly feel like I can&amp;#39;t stress this enough. &lt;/p&gt;&lt;p&gt;&amp;nbsp; I think it&amp;#39;s wonderful that security is being preached at conferences all over the place, from quality to engineering of software to process management - but the real shortcoming is in who is hearing specifically which message.&amp;nbsp; As a speaker I can tell you that if I deliver the same message to every audience it will be lost more often than it is understood.&amp;nbsp; Tailoring the message is so important.&amp;nbsp; &amp;quot;The message&amp;quot; can be what ever you&amp;#39;re delivering on - for me it&amp;#39;s mostly how to build better web-based applications resilient to subversion (otherwise known as &amp;quot;hacking&amp;quot;) but again - this can be whatever you specifically are trying to convey.&lt;/p&gt;&lt;p&gt;&amp;nbsp; In order to understand how better to deliver a talk with some punch the key is to understand the audience... I&amp;#39;ve taken my notes from the past several months of conference speaking and will deconstruct the audience for your benefit here...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Management &lt;/b&gt;- Of course managers to go conferences, workshops, and talks because every once in a while they feel the need to stay relevant.&amp;nbsp; I can say this without reserve because I was there, and I know for a fact that most managers are so busy trying to make sure their teams are delivering that they often have very little time to do much else - and by the time they look up from their desks technology has passed them by and they are relics.&amp;nbsp; The answer to this is to hit a conference every once in a while and hear what the topics of the day are - a wise choice indeed.&amp;nbsp; The manager as a target audience is very complex but can be simply deconstructed as follows:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Goals: Understand the high-level message being delivered, the current topic and how it applies to their daily life as a steward of the business &lt;/li&gt;&lt;li&gt;Challenges: Unfortunately, being that few managers are really current on technical speak it&amp;#39;s very easy to lose a mangement audience in the details, while they want to hear your message don&amp;#39;t over-complicate it&lt;/li&gt;&lt;li&gt;Win-Win: Present the topic in a way that can both delivers your point without losing meaning while at the same time making it relevant to the manager&amp;#39;s everyday work-life... a tricky thing, I know!&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Developers &lt;/b&gt;- Developers are a rare gem at conferences where security professionals are speaking, sadly.&amp;nbsp; Developers are keen on making stuff run faster, better, and making their lives less complicated.&amp;nbsp; Notice that I didn&amp;#39;t necessarily mention security in the stuff developers are keen on - it&amp;#39;s our job as security folks to get them excited about writing secure code and getting them to come to conferences and workshops is a great start but the issue then becomes the way in which we deliver the message.&amp;nbsp; I&amp;#39;ll deconstruct developers here:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Goals: Learn the hot new &amp;quot;hacks&amp;quot; and cool code ninja skills which make them more marketable and give them greater ability to innovate and build something truly incredible with their code skills.&amp;nbsp; Developers want to be able to write cool code, faster, and with less effort, period.&lt;/li&gt;&lt;li&gt;Challenges: As I&amp;#39;ve already pointed out, security doesn&amp;#39;t often factor into the mind of a developer.&amp;nbsp; We&amp;#39;ve been trying for years to change that and to some degree it&amp;#39;s working but the percentage of security-conscious developers is still very, very low.&lt;/li&gt;&lt;li&gt;Win-Win: Developers aren&amp;#39;t necessarily purposefully ignorant of security, just call it...agnostic.&amp;nbsp; If we can find a way to make writing secure code less painful, and more... developer-centric they&amp;#39;ll adopt our principles and everyone wins.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Security Professionals&lt;/b&gt; - Preaching to the choir, althoughit&amp;#39;s often the choir which hasn&amp;#39;t heard the message.&amp;nbsp; I can&amp;#39;t tell you how many times I&amp;#39;ve been in front of a security-oriented group presenting and they&amp;#39;re looking at me like I&amp;#39;m a talking Polar Bear... seriously.&amp;nbsp; Security professionals have a hard time keeping up with the technologies they support - it goes with the job - and so hearing something that&amp;#39;s a niche piece is often intriguing but we have to find a way to make the message stick!&amp;nbsp; Let&amp;#39;s deconstruct a security audience...&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Goals: Hear the message, learn the &amp;quot;cool hack&amp;quot; they can take back to their team/manager to feel like they&amp;#39;re abreast of security.&amp;nbsp; In security it&amp;#39;s all about staying relevant and up-to-date and niche presentations attract security people like flies to honey.&lt;/li&gt;&lt;li&gt;Challenges: Quite simply put - the challenge with preaching to your own audience is that they see things in black and white.&amp;nbsp; Security peers tend to see web application security in a binary fashion; secure or not.&amp;nbsp; This creates a problem some of the time as if we deliver a strong message, say on a new AJAX vulnerabiltiy, the security staff can miss the forest (in this case the &amp;#39;big picture&amp;#39; of security) for the trees (the specific new &amp;quot;hack&amp;quot;) and actually do some reputational damage to themselves within the realm of corporate IT&lt;/li&gt;&lt;li&gt;Win-Win: IF we can provide the right amount of guidance with relevant knowledge we can spur security professionals to make better policies and serve their business better.&amp;nbsp; The goal for us as speakers is to blend technology with intelligence to help mold the perfect security professional - one that is business savvy and security smart&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&amp;quot;&lt;b&gt;Engineers&lt;/b&gt;&amp;quot; - This is the catch-all category, as far as I&amp;#39;m concerned.&amp;nbsp; These are the other people who don&amp;#39;t necessarily fit into the stack above.&amp;nbsp; You&amp;#39;ve got a mixed bag with this, and it&amp;#39;s a challange to make it work, but I&amp;#39;ll deconstruct this audience type thus:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Goals: Learn something, take it back and apply it to work - maybe, if it&amp;#39;s relevant and applicable.&amp;nbsp; (The secret is since we&amp;#39;re talking security it&amp;#39;s &lt;i&gt;always applicable&lt;/i&gt;)&lt;/li&gt;&lt;li&gt;Challenges: Making security a relevant topic.&amp;nbsp; How do you make web application security relevant to a generic group of IT people?&amp;nbsp; Blend the right amount of technology (so as not to go over anyone&amp;#39;s head) with the aspects of IT that make it important to just about everyone - make security &amp;quot;real&amp;quot; with examples from all different sources&lt;/li&gt;&lt;li&gt;Win-Win: The best-case scenario here is to make an impression on someone so that the next time someone says security - they flash back to your talk and recall the message you gave, and as a bonus attempt to apply that (or at least know where to get more information, and point someone there).&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp; There you have it.&amp;nbsp; I hope this has been helpful - so that the next time you&amp;#39;re standing there in front of your audience you&amp;#39;ve got the right mindset and the right goals, challenges, and winning strategy.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Good luck!&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=83273" width="1" height="1"&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/educating+developers/default.aspx">educating developers</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/education/default.aspx">education</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/audience/default.aspx">audience</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/speaking/default.aspx">speaking</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/application+security/default.aspx">application security</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/conferences/default.aspx">conferences</category></item><item><title>Overcomplicating the developer-security relationship</title><link>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2008/06/05/overcomplicating-the-developer-security-relationship.aspx</link><pubDate>Thu, 05 Jun 2008 20:39:00 GMT</pubDate><guid isPermaLink="false">94bda21f-7d63-4095-85de-7c2a68fb172c:83157</guid><dc:creator>RafalLos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.communities.hp.com/securitysoftware/blogs/rafal/rsscomments.aspx?PostID=83157</wfw:commentRss><comments>http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/2008/06/05/overcomplicating-the-developer-security-relationship.aspx#comments</comments><description>&lt;p&gt;Greetings readers.&amp;nbsp; As I travel and meet with large enterprise customers of HP&amp;#39;s I&amp;#39;ve learned something new that I wanted to share.&amp;nbsp; Maybe it&amp;#39;s only obvious to me, and maybe I&amp;#39;m behind the times - but it appears to me that we (and by &amp;quot;we&amp;quot; I mean us security folks) have vastly over-complicated our relationship with developers.&amp;nbsp; Shame on us.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;If you don&amp;#39;t agree with me, read on.&amp;nbsp; If you already agree, simply nod your head and move on, as I&amp;#39;ll be preaching to the choir.&lt;/p&gt;
&lt;p&gt;My point is that as the IT Security function we have entirely forgotten what makes a good security process work - simplicity and adoption.&amp;nbsp; We&amp;#39;ve made our proceses so hard to follow that our adoption rates are abismal and yet we wonder why our application security programs are failing.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Without telling you what tools you should be using (so I don&amp;#39;t sound like a sales pitch) here are the things that work more than they fail...&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;K.I.S.S. - &lt;strong&gt;&lt;font color="#ff0000"&gt;K&lt;/font&gt;&lt;/strong&gt;eep &lt;strong&gt;&lt;font color="#ff0000"&gt;I&lt;/font&gt;&lt;/strong&gt;t &lt;strong&gt;&lt;font color="#ff0000"&gt;S&lt;/font&gt;&lt;/strong&gt;imple &lt;strong&gt;&lt;font color="#ff0000"&gt;S&lt;/font&gt;&lt;/strong&gt;ecurity!&amp;nbsp; Why do things need to be complicated to be powerful&amp;nbsp;&amp;amp; effective?&lt;/div&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Model your process around the target audience - find out how your developers work and make sure the tools you recommend are inline with that function.&amp;nbsp; If your developers do weekly builds but write code all day long ask yourself if it makes sense to &amp;quot;security check&amp;quot; that code at build time, or from within the IDE as they write it?&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Check --&amp;gt; Understand --&amp;gt; Remediate - Your process must be this simple.&amp;nbsp; The security check must be ultra-simple to execute, it must give developers the ability to understand what is wrong (watch the false positives!) and it must provide them with immediate feedback on how to remedy the situation&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;li&gt;
&lt;div&gt;Use the &lt;strong&gt;carrot&lt;/strong&gt;, not the &lt;strong&gt;stick&lt;/strong&gt; - Forcing people to use something makes you a tyrant; helping them succeed makes you a trusted advisor&lt;/div&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Gather metrics&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Use metrics to reward those developers who are getting better&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Public floggings are&amp;nbsp;a great way to make sure people are too afraid of the results to use your process&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;li&gt;
&lt;div&gt;Avoid work duplication&lt;/div&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Developers love shortcuts; quite simply - help your developers do something right once and then re-use that process/module for the future&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Allow others to learn from the lessons of the one.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;Just some thoughts... don&amp;#39;t take my word for it though.&amp;nbsp; Sit down with your developers.&amp;nbsp; Ask them what would make &amp;quot;security&amp;quot; work for them and you&amp;#39;ll hear many of the above things said!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Good luck.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.communities.hp.com/securitysoftware/aggbug.aspx?PostID=83157" width="1" height="1"&gt;</description><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/security+relationship/default.aspx">security relationship</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/educating+developers/default.aspx">educating developers</category><category domain="http://www.communities.hp.com/securitysoftware/blogs/rafal/archive/tags/process/default.aspx">process</category></item></channel></rss>