{"id":1998,"date":"2010-10-15T14:17:12","date_gmt":"2010-10-15T21:17:12","guid":{"rendered":"http:\/\/www.talesfromthe.net\/jon\/?p=1998"},"modified":"2024-01-20T04:58:01","modified_gmt":"2024-01-20T04:58:01","slug":"what-diaspora-can-learn-about-security-from-microsoft","status":"publish","type":"post","link":"https:\/\/2024.thenexus.today\/index.php\/2010\/10\/15\/what-diaspora-can-learn-about-security-from-microsoft\/","title":{"rendered":"What Diaspora can learn about security from Microsoft"},"content":{"rendered":"<p style=\"text-align: center;\"><a href=\"http:\/\/joindiaspora.com\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 0pt none;\" src=\"http:\/\/farm5.static.flickr.com\/4085\/5082962970_96d15a5534.jpg\" alt=\"diaspora logo\" width=\"500\" height=\"84\" \/><\/a><\/p>\n<p>Back in April, four NYU students decided to raise money to spend the summer hacking on their project: a privacy-friendly open source social network.   They put up a page <a href=\"http:\/\/www.kickstarter.com\/projects\/196017994\/diaspora-the-personally-controlled-do-it-all-distr\">on Kickstarter<\/a>, a crowdsourced funding site.  Talk about being in the right place at the right time: after a great article <a href=\"http:\/\/www.nytimes.com\/2010\/05\/12\/nyregion\/12about.html\">Four nerds and a cry to arms against Facebook<\/a> came out in the <em>New York Times<\/em>, in a few weeks Diaspora* had raised $200,000.<\/p>\n<p>At which point they moved to San Francisco, got free office space, spent the summer hacking, <a href=\"http:\/\/www.readwriteweb.com\/archives\/only_burning_man_stands_between_diaspora_the_open.php\">went to Burning Man<\/a> &#8230; and on September 15, <a href=\"http:\/\/www.joindiaspora.com\/2010\/09\/15\/developer-release.html\">released their software to the community<\/a>.  Basic functionality is in place: status updates, photos, &#8220;aspects&#8221; to control who sees what.  Kudos to them.<\/p>\n<p><!--more-->Alas, from a security perspective, the code was <a href=\"http:\/\/blog.steveklabnik.com\/trouble-with-diaspora\">swiss<\/a> <a href=\"http:\/\/www.kalzumeus.com\/2010\/09\/22\/security-lessons-learned-from-the-diaspora-launch\/\">cheese<\/a>: filled with holes &#8212; just like most web startups.  But then again, most web startups aren\u00e2\u20ac\u2122t basing their appeal primarily on privacy.  If Diaspora winds up with a bad reputation for security, they\u00e2\u20ac\u2122re doomed.  So rather than comparing themselves to the typical web startup, I think it\u00e2\u20ac\u2122s better to think of Diaspora as having a chance to be the next dominant social network, the successor to Friendster, MySpace, and Facebook.<\/p>\n<p>Taking off my security hat for a moment: this was probably the right tradeoff for them to make at first.  If the guys had spent all their time becoming security  experts, they couldn\u00e2\u20ac\u2122t have gotten as far as they have.  There\u00e2\u20ac\u2122s a huge amount of value in giving people something to play with even if it\u00e2\u20ac\u2122s insecure.<\/p>\n<p>Still, the major reason people are excited about Diaspora is because of privacy &#8212; and you can&#8217;t have privacy without security.  f they get a reputation for security holes, then it doesn&#8217;t matter how privacy-aware they try to be: people won&#8217;t trust them.  The recent catastrophic failure of <a href=\"http:\/\/www.fastcompany.com\/1690075\/haystack-austin-heap-iran-fail\">Haystack<\/a> highlights what can happen to projects that misset expectations and put their users at risk.  So if they want people to trust them, they&#8217;re going to have to raise their game.  And security is notoriously difficult and expensive to add after the fact.  What to do?<\/p>\n<p>When I looked at the kinds of security 101 bugs in their code &#8212; missing validation and authorization, script injection &#8212; I thought to myself, wait a second, I\u00e2\u20ac\u2122ve seen these before.  Back in 2001, when Microsoft made it\u00e2\u20ac\u2122s own transition to star taking security seriously, I was architect for PREfix and PREfast in Microsoft Research, and wound up working with the SWI team when we shut down Windows development for two months in the first security push. Since then, there\u00e2\u20ac\u2122s been huge progress &#8212; and, with all due respect to my former colleagues, significant challenges remain.<\/p>\n<p>Diaspora\u00e2\u20ac\u2122s not Microsoft, of course. They\u00e2\u20ac\u2122re small and need to move fast, and don\u00e2\u20ac\u2122t have a lot of resources.  Oh, and they\u00e2\u20ac\u2122re not the evil empire \u00e2\u20ac\u201d a definite plus:  just as Linux and BSD got a lot of help from people who wanted an alternative to Microsoft, Diaspora\u00e2\u20ac\u2122s likely to continue to benefit from the fear and loathing Facebook continues to inspire.  Still, there&#8217;s a lot to learn here from cross-fertilizing Microsoft&#8217;s experience with the best security practices from the open-source world.  Here\u00e2\u20ac\u2122s some ideas.<\/p>\n<ol>\n<li><strong>Reach out to the security community.<\/strong> Diaspora appears to be doing virtually nothing here, so there&#8217;s huge room for improvement.  Microsoft used to be even worse, treating security  researchers as the enemy, and minimizing communication about security  issues.   By engaging with their critics, and providing a lot more  information, they&#8217;ve learned a lot about how to improve their security  &#8212; and also helped shift others&#8217; perception of the company.<\/li>\n<li><strong>Add security experts to the team<\/strong>.  Computer security is <em>hard <\/em>and you need to have somebody who understands it deeply involved in the design and engineering process.  You also need to have a main point of contact with the community.  The skills for these are somewhat different so they might be two different people &#8212; and because it&#8217;s such an exciting project, Diaspora may well be able to find people to join part-time very cheaply.<\/li>\n<li><strong>Review the code<\/strong>.   Actually this is a lesson from Tor and BSD as well: when you look at the code from a security perspective, you find plenty of things that you&#8217;d otherwise miss.  On <em>Hacker News<\/em>, Locke1689 commented that from his experience &#8220;<span><span style=\"color: #000000;\">the  most effective part of  Microsoft&#8217;s security practice is that we had  dedicated developers whose  only job is to evaluate the security of  proposed changesets&#8221;. <\/span><\/span>And it&#8217;s worth thinking about going further: formal multi-role code reviews are very expensive, but fortunately Diaspora&#8217;s code base is small.<\/li>\n<li><strong>Document security properties and do threat modeling<\/strong>.  If you don\u00e2\u20ac\u2122t describe the system\u00e2\u20ac\u2122s properties, you don\u00e2\u20ac\u2122t know what to test.  If you don\u00e2\u20ac\u2122t know what the threats are, how can you claim that your system protects privacy?  If you don&#8217;t know what the threats are, how can you claim that your system protects privacy?  <a href=\"http:\/\/www.microsoft.com\/security\/sdl\/eop.aspx\">It&#8217;s fun, too!<\/a>.  This is a place where Diaspora could really get a lot of help from the community if they can come up with a good way of sharing and refining threat models on their wiki.  With many eyes, all threats are shallow &#8212; or at least a lot shallower than they would be otherwise.  How cool would it be if computer security classes all over the world used Diaspora as an example, assigned threat modeling as an expertise, and contributed the best ones to the community?<\/li>\n<li><strong>Train the developers<\/strong> &#8212; and the designers and quality engineers too.  Secure software  is everybody&#8217;s responsibility.  Secure programming still isn&#8217;t covered in any detail in most undergraduate or graduate programs, so just like Microsoft discovered a decade ago, most developers don&#8217;t know the basic practices.  Pairing (programming, code reviews, threat modeling) is a very effective way to train while making progress on some of the other items on this list.<\/li>\n<li><strong>Use the tools<\/strong> &#8212; and develop new one.  What can I say, I\u00e2\u20ac\u2122m a tools guy.  And there are some great specification and testing tools in the Ruby environment like Cucumber, RSpec, Selenium, Burp Suite.   There are also some areas where additional tools could be useful, including static analysis, fuzzing, and attack surface estimation.  Again, this is a great way for the broader Diaspora community to get involved and supplement the core team; Apache, Linux, Sendmail, and BSD are all great examples of open-source projects that have really benefitted from aggressive tool use.<\/li>\n<li><strong><span>Bake security in at every stage of development<\/span><\/strong>, as  Damon Cortesi suggested <a href=\"http:\/\/www.quora.com\/What-can-Diaspora-learn-about-security-from-Microsoft\/answer\/Damon-Cortesi\">on Quora<\/a>.  Microsoft&#8217;s Security Design Lifecycle (SDL) has made a huge difference.  Alas, even the <a href=\"http:\/\/blogs.msdn.com\/b\/sdl\/archive\/2009\/11\/10\/announcing-sdl-for-agile-development-methodologies.aspx\">Agile version of SDL<\/a> may well be too heavyweight for Diaspora.  There are other good options out there, or perhaps they&#8217;ll probably need to break new ground finding something that strikes the right balance for their needs.  It won\u00e2\u20ac\u2122t be perfect at first but what was really surprising at Microsoft is how quickly even imperfect versions give value by providing a constant reminder of the importance of security.<\/li>\n<li><strong>Create a security and privacy advisory board<\/strong>.  Microsoft&#8217;s Trustworthy Computing Advisory Board has about 20 experts from academia and has been incredibly valuable in many ways: feedback on priorities, suggestions for improvements, tough design and architecture reviews, sharing their understanding of Microsoft with their colleagues, and in some cases getting their students involved.   Obviously Diaspora can&#8217;t afford to fly everybody around to get together in person but virtual meetings can be almost as effective.<\/li>\n<li><strong>The longer you wait the tougher it gets<\/strong>.   Probably the biggest lesson: putting it off doesn\u00e2\u20ac\u2122t make it any easier. When security isn\u00e2\u20ac\u2122t designed in up front, it\u00e2\u20ac\u2122s incredibly expensive to retrofit it.  By the time Microsoft started paying serious attention to security in 2001, they had created a huge hole for themselves and even now after investing over a billion dollars they\u00e2\u20ac\u2122re still playing catchup.  Diaspora&#8217;s code base is tiny right now.  Might as well get started.<\/li>\n<\/ol>\n<p>Yes, it\u00e2\u20ac\u2122s a lot.  Will Diaspora and its community rise to the challenge?  I hope so &#8212; like so many people out there, I\u00e2\u20ac\u2122d really like to see a path to getting off Facebook.<\/p>\n<p>If not, oh well: they\u00e2\u20ac\u2122re not the only game in town.  The learnings here useful for Appleseed, OneSocialWeb, and any of the other projects in this space. Shmoozing at the party on Wednesday night, it was interesting how many people really hate Facebook and can\u00e2\u20ac\u2122t wait for an alternative.  It\u00e2\u20ac\u2122s just a matter of time until somebody gets it right.<\/p>\n<p>jon<\/p>\n<p><span style=\"color: #ff00ff;\">Thanks to Adam, Jason, Alem, Sarah, tptacek, Locke1689, mahmud, Wayne, PeterH, Ed, Steve, SonyaLynn, Steve, Michael, Damon, Dan, Michael, Sarah, Window, and Nick for comments on <a href=\"http:\/\/www.talesfromthe.net\/jon\/?p=1940\">previous<\/a> <a href=\"http:\/\/www.talesfromthe.net\/jon\/?p=1819\">iterations<\/a><a href=\"http:\/\/www.talesfromthe.net\/blog\/?p=151#comment-16000\"><em><\/em><\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Back in April, four NYU students decided to raise money to spend the summer hacking on their project: a privacy-friendly open source social network. They put up a page on Kickstarter, a crowdsourced funding site. Talk about being in the right place at the right time: after a great article Four nerds and a cry [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,1],"tags":[108,470],"class_list":["post-1998","post","type-post","status-publish","format-standard","hentry","category-tales-from-the-net","category-uncategorized","tag-diaspora","tag-fediverse"],"_links":{"self":[{"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/posts\/1998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/comments?post=1998"}],"version-history":[{"count":1,"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/posts\/1998\/revisions"}],"predecessor-version":[{"id":4317,"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/posts\/1998\/revisions\/4317"}],"wp:attachment":[{"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/media?parent=1998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/categories?post=1998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2024.thenexus.today\/index.php\/wp-json\/wp\/v2\/tags?post=1998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}