<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>CSOAndy: Protecting a Better Internet</title>
      <link>http://www.csoandy.com/</link>
      <description></description>
      <language>en</language>
      <copyright>Copyright 2011</copyright>
      <lastBuildDate>Tue, 13 Dec 2011 11:35:56 -0500</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=4.25</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>Security Subsistence Syndrome</title>
         <description><![CDATA[<p>Wendy Nather, of The 451 Group, has recently <a href='https://www.451research.com/t1r-insight-living-below-the-security-poverty-line'>discussed</a> "Living Below the Security Poverty Line," which looks at what happens when your budget is below the cost to implement what common wisdom says are the "standard" security controls.   I think that's just another, albeit crowd-sourced, compliance regime.  A more important area to consider is the mindset of professionals who <i>believe</i> they live below the security poverty line:</p>

<blockquote>Security<sup>1</sup> Subsistence Syndrome (SSS) is a mindset in an organization that believes it has no security choices, and is underfunded, so it minimally spends to meet <i>perceived</i><sup>2</sup> statutory and regulatory requirements.</blockquote>

<p>Note that I'm defining this mindset with <i>attitude</i>, not <i>money</i>.  I think that's a key distinction - it's possible to have a lot of money and still be in a bad place, just as it's possible to operate a good security program on a shoestring budget.  Security subsistence syndrome is about lowered expectations, and an attitude of doing "only what you have to."  If an enterprise suffering from security subsistence syndrome can reasonably expect no one to audit their controls, then they are unlikely to invest in meeting security requirements.  If they can do minimal security work and reasonably expect to pass an "audit<sup>3</sup>", they will do so.</p>

<p>The true danger of believing you live at (or below) the security poverty line isn't that you aren't investing enough; it's that because you are generally spending time and money on templatized controls without really understanding the benefit they might provide, you aren't generating security value, and you're probably letting down those that rely on you. When you don't suffer security subsistence syndrome, you start to think with discretion; implementing controls that might be qualitatively better than the minimum - and sometimes, with lower long-term cost.</p>

<p>Security subsistence syndrome means you tend to be reactive to industry trends, rather than proactively solving problems specific to your business.  As an example, within a few years, many workforces will likely be significantly tabletized (and by tablets, I mean iPads).  Regulatory requirements around tablets are either non-existent, or impossible to satisfy; so in security subsistence syndrome, tablets are either banned, or ignored (or banned, and the ban is then ignored).  That's a strategy that will wait to react to the existence of tablets and vendor-supplied industry "standards," rather than proactively moving the business into using them safely, and sanely.</p>

<p>Security awareness training is an example of a control which can reflect security subsistence syndrome.  To satisfy the need for "annual security training", companies will often have a member of the security team stand up in front of employees with a canned presentation, and make them sign that they received the training.  The signed pieces of paper go into someone's desk drawer, who hopes an auditor never asks to look at them.  Perhaps the business uses an online computer-based training system, which uses a canned presentation, forcing users to click through some links.   Those are both ineffective controls, and worse, inefficient (90 minutes per employee means that in a 1500 person company, you're spending over an FTE just to generate that piece of paper!).</p>

<p>Free of the subsistence mindset, companies get creative.  Perhaps you put security awareness training on a single, click through webpage (we do!).  That lets you drop the time requirement down (communicating to employees that you value their time), and lets you focus on other awareness efforts - small fora, executive education, or targeted social engineering defense training.  Likely, you'll spend less time and money on improving security awareness training, have a more effective program, and be able to demonstrate compliance trivially to an auditor.</p>

<p>Security subsistence syndrome is about your attitude, and the choices you make:  at each step, do you choose to take the minimal, rote steps to satisfy your perceived viewers, or do you instead take strategic steps to improve your security?  I'd argue that in many cases, the strategic steps are <i>cheaper</i> than the rote steps, and have a greater effect in the medium term.</p>

<p><br />
<sup>1</sup> Nothing restricts this to security; likely, enterprise IT organizations can fall into the same trap.</p>

<p><sup>2</sup> To the satisfaction of the reasonably expectable auditor, not the perfect auditor.</p>

<p><sup>3</sup> I'm loosely defining audit here, to include any survey of a company's security practices; not just "a PCI audit."</p>]]></description>
         <link>http://www.csoandy.com/2011/12/security_subsistence_syndrome.html</link>
         <guid>http://www.csoandy.com/2011/12/security_subsistence_syndrome.html</guid>
         <category>Akamai</category>
         <pubDate>Tue, 13 Dec 2011 11:35:56 -0500</pubDate>
      </item>
      
      <item>
         <title>Enterprise InfoSec Lessons from the TSA </title>
         <description><![CDATA[<p>The TSA and its security practices are fairly common targets for security commentary.  You can find armchair critics in most every bar, living room, and, especially, information security team.  But the TSA is a great analogue to the way enterprises tend to practice information security; so maybe we can learn a thing or three from them.</p>

<p>We can begin with the motherhood and apple pie of security: business alignment.  TSA has little to no incentive that lines up with its customers (or with their customers).  TSA's metric is, ostensibly, the number of successful airplane attacks.  Being perceived to reduce that number is their only true metric.  On any day where there is no known breach, they can claim success - just like an enterprise information security team.  And they can also be criticized for being irrelevant - just like said enterprise information security team.   The business, meanwhile (both airlines and passengers), are worrying about other metrics: being on time, minimized hassle, and costs.  Almost any action the TSA undertakes in pursuit of its goals are going to have a harmful effect on everyone else's goals.  This is a recipe for institutional failure: as the TSA (or infosec team) acknowledges that it can never make its constituents happy, it runs the risk of not even trying.</p>

<p>Consider the security checkpoint, the TSA equivalent to the enterprise firewall (if you consider airplanes as VPN tunnels, it's a remarkable parallel).  The security checkpoint begins with a weak authentication check: you are required to present a ticket, and ID that matches.   Unfortunately, unless you are using a QR-coded smartphone ticket, the only validation of the ticket is that it appears - to a human eyeball - to be a ticket for this date and a gate behind this checkpoint.  Tickets are trivially forgeable, and can be easily matched to whatever ID you present.   The ID is casually validated, and goes unrecorded.   This is akin to a, sadly, standard enterprise practice, to log minimal data about connections that cross the perimeter, and to not compare those connections to a list of expected traffic.</p>

<p>In parallel, we find the cameras.   Mounted all through the security checkpoint, the cameras are a standard forensic tool - if you know what and when you are looking for something, they'll provide some evidence after the fact.   But they aren't very helpful in stopping or identifying attacks in progress.   Much like the voluminous logs many of our enterprises deploy.   Useful for forensics, useless for prevention.</p>

<p>Having entered the checkpoint, the TSA is going to split passengers from their bags (and their shoes, belts, jackets, ID, and, importantly, recording devices).  Their possessions are going to be placed onto a conveyor belt, where they will undergo inspection via an X-ray machine.  This is, historically, the biggest bottleneck for throughput, and a nice parallel to many application level security tools.   Because we have to disassemble the possessions, and then inspect one at a time (or maybe two, or three, in a high-availability scenario), we slow everything down.   And because the technology to look for problems is highly signature based, it's prone to significant false negatives.   Consider the X-ray machine to be the anti-virus of the TSA.</p>

<p>The passengers now get directed to one of two technologies:  the magnetometers, or the full body imagers.   The magnetometers are an old, well-understood technology: they detect efforts to bring metal through, are useless for ceramics or explosives, and are relatively speedy.   The imagers, on the other hand, are what every security team desires: the latest and greatest technology; thoroughly unproven in the field, with unknown side effects, and invasive (in a sense, they're like reading people's email: sure, you might find data exfiltration, but you're more likely to violate the person's privacy and learn about who they are dating).  The body scanners are slow.  Slower, even, than the x-ray machines for personal effects.  Slow enough that, at most checkpoints, when under load, passengers are diverted to the magnetometers, either wholesale, or piecemeal (this leads to interesting timing attacks to get a passenger shifted into the magnetometer queue).  The magnetometer is your old-school intrusion-detection system: good at detecting a known set of attacks, bad at new attacks, but highly optimized at its job.   The imagers are that latest technology your preferred vendor just sold you: you don't really know if it works well, and you're exporting too much information to the vendor, and you're seeing things you shouldn't, and you have to fail-around it too often for it to be useful; but at least you can claim you are doing something new.</p>

<p>If a passenger opts-out of the imaging process, rather than pass them through the magnetometer, we subject them to a "pat-down".   The pat-down is a punitive punishment, enacted whenever someone questions the utility of the latest technology.  It isn't very effective (if you'd like to smuggle a box cutter into an airport, and don't want to risk the X-ray machine detecting it, taping the razor blade to the bottom of your foot is probably going to work).  But it does tend to discourage opt-out criticism.</p>

<p>Sadly, for all of the TSA's faults, in enterprise security, we tend to implement controls based on the same philosophy.  Rather than focus on security techniques that enable the business while defending against a complex attacker ecosystem, we build rigid control frameworks, often explicitly designed to be able, on paper, to detect the most recent attack (often, in implementation, these fail, but we are reassured by having done something).</p>]]></description>
         <link>http://www.csoandy.com/2011/12/enterprise_infosec_lessons_fro.html</link>
         <guid>http://www.csoandy.com/2011/12/enterprise_infosec_lessons_fro.html</guid>
         <category>Philosophy</category>
         <pubDate>Wed, 07 Dec 2011 15:02:36 -0500</pubDate>
      </item>
      
      <item>
         <title>The Unreliability of the Domain Name Service</title>
         <description><![CDATA[<p><br />
Consider the case of DNS (the Domain Name Service).  This innocuous-seeming protocol, which merely translates hostnames (like www.csoandy.com) into IP addresses (like 96.17.149.33) is such an important foundation of the Internet that, without it, humans would have had a serious challenge building and engaging meaningfully with such a vast distributed system. The web as we know it would not exist without DNS.  The beauty of DNS is in its simplicity: you ask a question, and you get a response.</p>

<p>But if you can't get a response, then nothing else works -- your web browser can't load up news for you, your email client can't fetch email, and your music player can't download the latest songs.   It's important to ensure the DNS system is highly available; counterintuitively, we built it assuming that its components are likely to fail.  And from that we can learn how to build other survivable infrastructures.</p>

<p>First, DNS primarily uses UDP, rather than TCP, for transport.  UDP (often nicknamed the Unreliable Data Protocol) is more like sending smoke signals than having a conversation; the sender has no idea if their message reached the recipient.   A client sends a UDP query to a name server; the name server sends back a UDP answer (had this been implemented in TCP, the conversation would instead have taken several round trips).  </p>

<p>Because DNS has no reliability assertion from UDP (and, frankly, the reliability assertion that TCP would have provided isn't worth much, but at least provides failure notification), the implementations had to assume -- correctly -- that failure would happen, and happen regularly.   So failure was planned for.  If the client does not get a response within a set time window, it will try again - but then the client may query a different server IP address.  Because the DNS query/response is accomplished within a single packet, there is no need for server stickiness. </p>

<p> An array of DNS servers can be placed behind a single IP address, with simple stateless load-balancing required - no complex stateful load balancers required (higher end DNS systems can even use IP-anycasting, to have one IP address respond from multiple geographic regions, with no shared state between the sites). Clients can and do learn which servers are highly response, and preferentially use those.</p>

<p>DNS also has built into itself other means of reliability, like the TTL (time to live).  This is a setting associated with every DNS response which indicates how long the response is valid.  A client therefore does not need to make queries for some time; if a name server fails, a client may not notice for hours.</p>

<p>On top of this failure-prone infrastructure -- an unreliable transport mechanism, servers that might fail at any time, and an Internet that has an unfortunate tendency to lose packets -- a highly survivable system begins to emerge, with total DNS outages a rare occurrence. <br />
</p>]]></description>
         <link>http://www.csoandy.com/2011/09/the_unreliability_of_the_domai.html</link>
         <guid>http://www.csoandy.com/2011/09/the_unreliability_of_the_domai.html</guid>
         <category>DNS</category>
         <pubDate>Fri, 16 Sep 2011 12:02:43 -0500</pubDate>
      </item>
      
      <item>
         <title>The Spy Who Wasn&apos;t</title>
         <description><![CDATA[<p>By now, many of you have seen either an <a href='http://articles.boston.com/2010-10-07/business/29284594_1_akamai-technologies-wire-fraud-complaint'>original article</a> when Eliot Doxer was arrested, or a <a href='http://www.pcworld.com/businesscenter/article/239187/akamai_employee_tried_to_sell_secrets_to_israel.html'>more recent article</a> covering his guilty plea. As the articles (and the original complaint) note, Mr. Doxer, then an Akamai employee, reached out to the Israeli government, offering to sell information to them.  His outreach was passed along to the FBI, who acted out a multi-year cloak and dagger scenario in which Mr. Doxer was providing information -- he believed to Israeli intelligence -- that instead went solely to the FBI.  Early on, Akamai was alerted to the matter on a confidential basis, and we provided assistance over the years.  Obviously, we can't go into detail about that.</p>

<h3>What was this information?</h3>

<p>Mr. Doxer was an employee in our Finance Department on the collections team, and, in the course of his job, he had routine and appropriate access to a limited amount of Akamai's business confidential information - like who our customers are and what they buy from us.  At no time, however, was Mr. Doxer authorized to access the confidential information of our customers - including access to our production networks, our source code, or our customer configurations. <br />
In pleading guilty to one count of foreign economic espionage, Mr. Doxer stipulated that he gave an FBI undercover agent, among other things, copies of contracts between Akamai and some of our customers. The Justice Department has confirmed that the Akamai information was never disclosed to anyone other than a U.S. law enforcement officer.</p>

<h3>Lessons Learned</h3>

<p>We used this incident as an opportunity to review our controls, to assess whether or not a deficiency was exploited and identify areas for improvement.  We looked both at this specific case, as well as the general case of insider threats, and have identified and implemented additional controls to reduce our exposure.</p>

<p>
And we've given thanks to the FBI for their outstanding work.
]]></description>
         <link>http://www.csoandy.com/2011/09/the_spy_who_wasnt.html</link>
         <guid>http://www.csoandy.com/2011/09/the_spy_who_wasnt.html</guid>
         <category>Akamai</category>
         <pubDate>Fri, 09 Sep 2011 11:42:22 -0500</pubDate>
      </item>
      
      <item>
         <title>Password Weakness </title>
         <description><![CDATA[<p>Randall Munroe opines <a href=http://xkcd.net/936/> in xkcd on password strength</a>, noting that we've trained people to "use passwords that are hard for humans to remember, but easy for computers to guess."   He's both right and wrong.</p>

<p>First off, the security industry owes Randall a debt of gratitude for this comic; people who don't normally interact with security technologies (or only grudgingly) are discussing and debating the merits of various password algorithms, and whether "correct horse battery staple" is, in fact, more memorable and more secure than "Tr0ub4dor&3".  That's an important conversation to have.</p>

<h3>Is it more secure?</h3>

<p>Randall plays a trick on the audience, by picking a single strawman password implementation, and showing how weak it is compared to a preferred model.  He also limits himself to a specific attack vector (against an online oracle), which makes the difference between the two seem larger than it really is.</p>

<p>Consider the following (obvious) variants of the "weak" password algorithm presented in the comic: "Tr0ub4dor&3!", "Troubbador&3", "2roubador&3".   None of these match the algorithm presented - so they don't fit into the 28 bits of entropy of concern.  That doesn't make them perfect, I merely note that Randall arbitrarily drew his line around "likely passwords" where he wanted to.  That's not necessarily unreasonable: for instance, if a password scheme requires 8 characters, including at least one upper case, one lower case, one number, and one symbol, assuming people will pick "Upper case, five lower case with a number thrown in, symbol that is a shifted-number" probably isn't a bad idea, and lets you ignore 99.9975% of possible 8-character passwords.  But it is unreasonable if you're arguing that your specific model might be better.</p>

<p>Let's say that we give users the simple model proposed: pick four random words.  People fail at picking random things; see <a href='http://www.troyhunt.com/2011/06/brief-sony-password-analysis.html'>Troy Hunt's analysis of the passwords</a> revealed in the Sony Pictures breach.  So if you let the user pick the word list, you'll end up with common phrases like "patriots football super bowl" or "monkey password access sucks", and adversaries will start there.   Or, we can give users their passphrases, and probably discover later that there was a bug in the random number generator used to select words, and half of our users have the passphrase "caffeine programmer staccato novel".</p>

<p>Randall is correct that, when it comes to user-memorized secrets, longer is better.  So is less predictability. Most password rules are designed to move from easy predictability (common words) to harder predictability (common words plus some interspersed silly keystrokes).</p>

<h3>The real risk</h3>

<p>Going back to Troy Hunt's <a href='http://www.troyhunt.com/2011/06/brief-sony-password-analysis.html'>analysis</a>, the real risk isn't that someone will use an online oracle to brute force your password or passphrase.   The real risk is that some password holder will be breached, and like <i>67% of users, you'll have used the same password on another site</i>.  Password strength doesn't help at all with that problem.</p>

<h3>But which one?</h3>

<p>The answer is neither.  If you're using either password scheme demonstrated by Randall, change it (e.g., add some random symbols between your words), as it's now more likely to be an adversarial target.  The real question is how do we get away from passwords?  SSL certificates - for all their issues - are one option.  One time passwords - generated either by a dedicated token or application, or out-of-band, via SMS - also are an interesting choice.</p>

<p>But if the only threat you're worried about are online oracle attacks, you can defend against those by looking for them, and making them harder for adversaries to conduct.   But that's a mostly losing battle in the long run.</p>]]></description>
         <link>http://www.csoandy.com/2011/08/password_weakness.html</link>
         <guid>http://www.csoandy.com/2011/08/password_weakness.html</guid>
         <category>Philosophy</category>
         <pubDate>Fri, 19 Aug 2011 04:52:40 -0500</pubDate>
      </item>
      
      <item>
         <title>How certificates go bad</title>
         <description><![CDATA[<p>The security echo chamber has gotten quite loud over the last few days over the <a href='http://blogs.comodo.com/it-security/data-security/the-recent-ra-compromise/'>Comodo sub-CA bogus certificate issuance</a>.  This is a good opportunity to look at what happened, why this isn't as startling as some might think, and general problems in the SSL CA model.</p>

<h3>A primer on certificates and authorities</h3>

<p>Certificates are built on top of asymmetric cryptographic systems - systems where you have a keypair that is split into a private half (held closely by the owner) and a public half (distributed widely).  Information encrypted with one half is only decryptable with the other half.   If you encrypt with the public key, we call it encryption (the information is now secret and can only be read by the private key owner); if you encrypt with the private key, we call it signing (the information can be verified by anyone, but only you could have generated it).   There are additional optimization nuances around hashes and message keys, but we'll gloss over those for now.</p>

<p>Anyone can generate asymmetric keypairs; what makes them interesting is when you can tie them to specific owners.  The SSL model is based on certificates.  A certificate is just someone's public key, some information about that public key, and a signature of the key and information.   The signature is what's interesting -- it's generated by another keyholder, whose private key & certificate we call a certificate authority (CA).</p>

<h3>"You've got me. Who's got you?"</h3>

<p>How do we trust a CA that has signed a certificate?  It itself might be signed by another CA, but at some point, we have to have a root of trust.   Those are the CAs that our web browsers and operating systems trust to sign other certificates.  You should take a gander around the list (Mozilla ships about <a href='http://www.mozilla.org/projects/security/certs/included/'>50 organizations as root CAs</a>, Internet Explorer <a href='http://social.technet.microsoft.com/wiki/contents/articles/windows-root-certificate-program-members-list-all-cas.aspx'>far more</a>).  Those roots can directly sign any SSL certificate, or can sign an intermediate CA, which then signs certificates.</p>

<p>The most expensive part of issuing a certificate is verifying that the purchaser is authorized to hold one.  Many CAs, including Comodo, have resellers who can instruct the CA to issue certificates; the reseller becomes what is known as the "Registration Authority (RA)." (Full disclosure: Akamai is a reseller of several CAs, including Comodo, although certificates we sign only work with the private keys that we hold on our platform.)</p>

<h3>There are two major, fundamental flaws in this architecture.</h3>

<p>First, the number of trusted CAs is immense.  And each of those CAs <em>can authoritatively sign certificates for any domain.</em>  This means that CA Disig (of the Slovak Republic) can issue authoritative certs for <em>www.gc.ca</em>, the Government of Canada's website. (Full disclosure: my wife's mother is from Slovakia, and my father's side of the family is Canadian.)   Fundamentally, the list of root CAs in everyone's browser contains authorities based anywhere in the world, including governments known to be hostile to theirs.  A related issue is that most enterprises have their own "private CA" which signs intranet certificates; that CA becomes valid for any domain when the user adds it to their trust chain.</p>

<p>Second, RAs are a very weak point.  Not only are they in a race to the bottom (if you can buy an SSL cert for under $50, imagine how little verification of your identity the RA can afford to do), but any one of them, if compromised, can issue certificates good for <em>any domain in the world</em>.  And that's what happened in the case of the bogus Comodo certificates.</p>

<p>Kudos to Comodo for good incident response, and explaining clearly what happened.  I suspect that's the rarity, not the issuance of bogus certificates.</p>]]></description>
         <link>http://www.csoandy.com/2011/03/how_certificates_go_bad.html</link>
         <guid>http://www.csoandy.com/2011/03/how_certificates_go_bad.html</guid>
         <category>Technology</category>
         <pubDate>Thu, 24 Mar 2011 15:15:15 -0500</pubDate>
      </item>
      
      <item>
         <title>Malware hunting</title>
         <description><![CDATA[<p>Today at the RSA Conference, Akamai Principal Security Architect Brian Sniffen is giving a talk titled "Scanning the Ten Petabyte Cloud: Finding the malware that isn't there." In Brian's talk, he discusses the challenges of hunting for malware <em>hooks</em> in stored HTML pages of unspecified provenance, and some tips and tricks for looking for this malicious content.</p>

<p>In conjunction with his talk, Akamai is releasing the core source code for our <em>vscan</em> software.  The <a href='https://github.com/mstone/vscan'>source code</a> is BSD3-licensed.</p>

<p>We are hopeful that our experiences can be helpful to others looking for malware in their HTML.</p>]]></description>
         <link>http://www.csoandy.com/2011/02/malware_hunting.html</link>
         <guid>http://www.csoandy.com/2011/02/malware_hunting.html</guid>
         <category>Akamai</category>
         <pubDate>Wed, 16 Feb 2011 10:55:30 -0500</pubDate>
      </item>
      
      <item>
         <title>Tanstaafl</title>
         <description><![CDATA[<p>I was reading Rafal Los over at the HP <a href='http://h30501.www3.hp.com/t5/Following-the-White-Rabbit-A/Is-Truly-Anonymous-Web-Browsing-Possible/ba-p/15723'>Following the White Rabbit blog</a> discussing whether anonymous web browsing is even possible:</p>

<blockquote>Can making anonymous surfing still sustain the "free web" concept? - Much of the content you surf today is free, meaning, you don't pay to go to the site and access it. Many of these sites offer feature-rich experiences, and lots of content, information and require lots of work and upkeep. It's no secret that these sites rely on advertising revenue at least partly (which relies on tracking you) to survive ...if this model goes away what happens to these types of sites? Does the idea of free Internet content go away?  What would that model evolve to?</blockquote>

<p>This is a great point, although insufficiently generic, and limited to the gratis view of the web -- the allegedly free content.  While you can consider the web browsing experience to be strictly transactional, it can more readily be contemplated as an instantiation of a world of relationships.  For instance, you read a lot of news; but reading a single news article is just a transaction in the relationships between you and news providers.</p>

<p>A purchase from an online retailer?  Let's consider a few relations:<dl><dt>The buyer's relationship with:</dt><dd><ul><li>the merchant</li><li>their credit card / alternative payment system</li><li>the receiver</li></ul></dl><dt>The merchant's relationship with:</dt><dd><ul><li>the payment gateway</li><li>the manufacturer</li><li>the shipping company</li></ul></dl><dt>The payment card industry's interrelationships: payment gateways, acquiring banks, card brands, and card issuers all have entangled relationships.</dt></dl></p>

<p>The web is a world filled with fraud, and fraud lives in the gaps between these relationships (Often, relationships are only used one way: buyer gives credit card to merchant, who gives it to their gateway, who passes it into the banking system. If the buyer simply notified their bank of every transaction, fraud would be hard; the absence of that notification is a gap in the transaction).  The more a merchant understands about their customer, the lower their cost can be.</p>

<p>Of course, this model is harder to perceive in the gratis environment, but is nonetheless present. First, let's <a href='http://lifehacker.com/5697167/if-youre-not-paying-for-it-youre-the-product'> remember</a>:<br />
<blockquote>If you're not paying for something, you're not the customer; you're the product being sold.</blockquote></p>

<p>Often, the product is simply your eyeballs; but your eyeballs might have more value the more the merchant knows about you. (Consider the low value of the eyeballs of your average fantasy football manager.  If the merchant knows from past history that those eyeballs are also attached to a person in market for a new car, they can sell more valuable ad space.)  And here, the more value the merchant can capture, the better services they can provide to you.</p>

<p>A real and fair concern is whether the systemic risk added by the merchant in aggregating information about end users is worth the added reward received by the merchant and the user.  Consider the risk of a new startup in the gratis world of location-based services.  This startup may create a large database of the locations of its users over time (consider the surveillance possibilities!), which, if breached, might expose the privacy and safety of those individuals.   Yet because that cost is not borne by the startup, they may perceive it as a reasonable risk to take for even a small return.</p>

<p>Gratis services - and even for-pay services - are subsidized by the exploitable value of the data collected.  Whether or not the business is fully monetizing that data, it's still a fair question to ask whether the businesses can thrive without that revenue source.</p>]]></description>
         <link>http://www.csoandy.com/2011/01/tanstaafl.html</link>
         <guid>http://www.csoandy.com/2011/01/tanstaafl.html</guid>
         <category>Cloud</category>
         <pubDate>Thu, 27 Jan 2011 08:17:26 -0500</pubDate>
      </item>
      
      <item>
         <title>Architecting for DDoS Defense</title>
         <description><![CDATA[<p>DDoS is back in the news again, given the recent <a href='http://www.akamai.com/html/about/press/releases/2010/press_121310_1.html'>post-Cyber Monday DDoS attacks</a> and the Anonymous DDoS attacks targeted at various parties.   This seems like a good time to <a href='http://www.akamai.com/html/solutions/security/ddos_defense.html'>remember the concepts</a> you need in the front of your mind when you're designing to resist DDoS.</p>

<p>DDoS mitigation isn't a point solution; it's much more about understanding how your architecture might fail, and <a href='http://www.csoandy.com/2009/12/ddos_thoughts.html'>how efficient DDoS attacks can be</a>.  Sometimes, simply throwing capacity at the problem is good enough (in many cases, our customers just start with this approach, using our WAA, DSA, and EDNS solutions to provide that instant scalability), but how do you plan for when simple capacity might not be sufficient?</p>

<p>It starts with assuming failure:   at some point, your delicate origin infrastructure is going to be overwhelmed.  Given that, how can you begin pushing out as much functionality as possible into the edge?  Do you have a set of pages that ought to be static, but are currently rendered dynamically?   Make them cacheable, or set up a backup cacheable version.   Put that version of your site into scaleable cloud storage, so that it isn't relying on your infrastructure.</p>

<p>For even dynamic content, you'd be amazed at the power of a short-term caching.   A 2 second cache is all but unnoticeable to your users, but can offload significant attack traffic to your edge. Even a zero-second cache can be interesting; this lets your front end cache results, and serve them (stale) if they can't get a response from your application.</p>

<p>After you think about disaster resilience, you should start planning for the future.   How can you authenticate users early and prioritize the requests of your known good users?  How much dynamic content assembly can you do without touching a database?  Can you store-and-forward user generated content when you're under heavy load?</p>

<p>The important point is to forget much of what we've been taught about business continuity.  The holy grail of "Recovery Time Objective" (how long you can be down) shouldn't be the target, since <em>you don't want to go down</em>.  Instead, you need to design for you <em>Minimum Uninterrupted Service Target</em> - the basic capabilities and services you <em>must</em> always provide to your users and the public.   It's harder to design for, but makes weathering DDoS attacks much more pleasant.</p>]]></description>
         <link>http://www.csoandy.com/2010/12/architecting_for_ddos_defense.html</link>
         <guid>http://www.csoandy.com/2010/12/architecting_for_ddos_defense.html</guid>
         <category>Akamai</category>
         <pubDate>Thu, 16 Dec 2010 14:46:57 -0500</pubDate>
      </item>
      
      <item>
         <title>Welcome AWS</title>
         <description><![CDATA[<p>By now you've certainly seen that Amazon Web Services has achieved PCI Compliance as a Level 1 merchant.  This is great; the folks over at Amazon deserve congratulations on joining the cabal of compliant clouds.  You've probably also seen the PCI pundits pithily pronouncing, "Just because AWS is PCI compliant, it doesn't mean they make you compliant by using them!". What does this mean?</p>

<p>Put simply, AWS, like Akamai's Dynamic Site Accelerator, is a platform over which your e-commerce flows.  It's critically important that that platform is compliant if you're moving cardholder data through it (just as it's also important that PCI compliance is called out in your contract with AWS, per DSS 12.2).  But more importantly, the way in which your organization, and your applications, handle credit card data is the key piece of getting compliant. What AWS's certification buys you is the same thing Akamai's does - the ability to exclude those components from your PCI scope.</p>

<p>(if you want to get compliant, the easiest way, of course, is to tokenize cardholder data before it hits your environment, using a service like EdgeTokenization).</p>]]></description>
         <link>http://www.csoandy.com/2010/12/welcome_aws.html</link>
         <guid>http://www.csoandy.com/2010/12/welcome_aws.html</guid>
         <category>Cloud</category>
         <pubDate>Wed, 15 Dec 2010 11:40:07 -0500</pubDate>
      </item>
      
      <item>
         <title>A Cloud Balancing Act</title>
         <description><![CDATA[<p>Over at F5's Dev Central, <a href='http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/23/so-you-put-an-application-in-the-cloud.-now-what.aspx'>Lori MacVittie talks about load balancing and the cloud</a>:<br />
<blockquote>When you decide to deploy an application to the cloud you have a very similar decision: do you extend your existing dwelling, essentially integrating the environment with your own or do you maintain a separate building that is still "on the premises" but not connected in any way except that it's accessible via your shared driveway.</blockquote><br />
Using a garage expansion as a metaphor for scaling laterally to the cloud is a great one, and captures a lot of the nuances to be dealt with.</p>

<p>I'd like to add a third option to Lori's first two, based on our experience with hundreds of enterprises -- the valet strategy.  Rather than simply load balancing between multiple systems, a cloud can sit <em>in front</em> of multiple sites, performing application delivery functions, as well as load balancing betwixt the backend sites.</p>

<p>Many Akamai customers do this today.  They may have several data centers of their own, and want to integrate cloud-based services seamlessly into their existing sites (like taking advantage of user prioritization to load balance between an application server and a cloud-based waiting room; or using storage in the cloud to provide failover services).   Akamai's cloud accepts the end user request, and either takes care of the user locally, or gathers the necessary resources from among multiple backend systems to service the user.  And that's a way to load balance transparently to the user. </p>]]></description>
         <link>http://www.csoandy.com/2010/08/a_cloud_balancing_act.html</link>
         <guid>http://www.csoandy.com/2010/08/a_cloud_balancing_act.html</guid>
         <category>Cloud</category>
         <pubDate>Mon, 30 Aug 2010 14:03:56 -0500</pubDate>
      </item>
      
      <item>
         <title>Awareness Training</title>
         <description><![CDATA[<p>Implementing a <em>good</em> security awareness program is not hard, <em>if</em> your company cares about security.  If they don't, well, you've got a big problem.</p>

<p>It doesn't start with the auditable security program that most standards would have you set up.  Quoting PCI-DSS testing procedures:</p>

<blockquote><strong>12.6.1.a</strong>	Verify that the security awareness program provides multiple methods of communicating awareness and educating employees (for example, posters, letters, memos, web based training, meetings, and promotions).<br />
<strong>12.6.1.b</strong>	Verify that employees attend awareness training upon hire and at least annually.<br />
<strong>12.6.2</strong>	Verify that the security awareness program requires employees to acknowledge (for example, in writing or electronically) at least annually that they have read and understand the company's information security policy.</blockquote>

<p>For many awareness programs, this is their beginning and end.  An annual opportunity to force everyone in the business to listen to us pontificate on the importance of information security, and make them read the same slides we've shown them every year.   Or, if you've needed to gain cost efficiencies, you've bought a CBT program that is lightly tailored for your business (and as a side benefit, your employees can have races to see how quickly they can click through the program).</p>

<p>But at least it's auditor-friendly: you have a record that everyone attended, and you can make them acknowledge receipt of the policy that they are about to throw in the recycle bin.   And you have to have an auditor friendly program, but it shouldn't be all that you do. </p>

<p>I can tell you that, for our baseline, auditor-friendly security awareness program, over 98% of our employee base have reviewed and certified the requisite courseware in the last year; and that of the people who haven't, the vast majority have either started work in the last two weeks (and thus are in a grace period), or are on an extended leave.  It's an automated system, which takes them to a single page.  At the bottom of the page is the button they need to click to satisfy the annual requirement.   No gimmicks, no trapping the user in a maze of clicky links.   But on that page is a lot of information: why security is important to us; what additional training is available; links to our security policy (2 pages) and our security program (nearly 80 pages); and an explanation of the annual requirement.  And we find that a large majority of our users take the time to read the supplemental training material.</p>

<p>But much more importantly, we weave security awareness into a lot of activities.   Listen to our quarterly investor calls, and you'll hear our executives mention the importance of security.  Employees go to our all-hands meetings, and hear those same executives talk about security.  The four adjectives we've often used to describe the company are "fast, reliable, scalable, and secure".  Social engineering attempts get broadcast to a mailing list (very entertaining reading for everyone answering a published telephone number). And that doesn't count all of the organizations that interact with security as part of their routine.  </p>

<p>And that's really what security awareness is about: are your employees thinking about security when it's actually relevant?   If they are, you've succeeded.   If they aren't, no amount of self-enclosed "awareness training" is going to fix it.  Except, of course, to let you check the box for your auditors.</p>]]></description>
         <link>http://www.csoandy.com/2010/08/awareness_training.html</link>
         <guid>http://www.csoandy.com/2010/08/awareness_training.html</guid>
         <category>Regulation</category>
         <pubDate>Mon, 23 Aug 2010 10:01:53 -0500</pubDate>
      </item>
      
      <item>
         <title>Edge Tokenization</title>
         <description><![CDATA[<p>Visa released its <a href='http://usa.visa.com/download/merchants/tokenization_best_practices.pdf'>Credit Card Tokenization Best Practices</a> last week, giving implementors a minimum guide on how to implement <a href='http://www.csoandy.com/2010/05/credit_card_tokenization.html'>tokenization</a>.   It's a good read, although if you're planning on building your own tokenizer, I'd strongly recommend reading <a href='http://securosis.com/blog/comments-on-visas-tokenization-best-practices'>Adrian Lane's take on the subject</a>, including practices <a href='http://securosis.com/blog/tokenization-the-tokens'>above</a> and beyond Visa's for building good tokenization systems.</p>

<p>But I don't recommend building your own tokenizer, unless you're a payment gateway (but if you're going to, please read Adrian's guidance, and design carefully).   The big goal of tokenization is to get merchants' commerce systems out of scope for PCI.   And if you want to try to remove your systems from PCI scope, you should never see the credit card number.</p>

<p>That's why I'm really excited about Akamai's Edge Tokenization service.  As discussed at <a href='http://www.forbes.com/forbes/2010/0719/technology-security-hacking-firewall-foiling-hackers.html'>Forbes.com</a>, we've been beta testing a service that captures credit card data in a customer website, hands it to our partner gateways, and substitutes the returned token to our customer's systems.  <br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Image of Akamai Edge Tokenization service.  Consumer credit card is entered into a form on a merchant website.  Akamai server captures the credit card, and sends it to a payment gateway for processing.   The payment gateway returns a token to Akamai, and Akamai delivers the token in the POST body to the merchant.   The merchant never sees the credit card." src="http://www.csoandy.com/images/tokenizer.png" width="300" height="212" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span><br />
We don't do the tokenization ourselves, so that we never have the ability to reverse the tokens.  But the capture and replacement all happens inside our Level 1 merchant environment, so our customers get to simply reduce the number of their systems that see credit cards (potentially removing them from scope).</p>

<p>Our EdgeTokenization service is going to be publicly available early this fall, at which point we'll help the industry reduce the number of places that credit cards are even seen.</p>]]></description>
         <link>http://www.csoandy.com/2010/07/edge_tokenization.html</link>
         <guid>http://www.csoandy.com/2010/07/edge_tokenization.html</guid>
         <category>Akamai</category>
         <pubDate>Mon, 19 Jul 2010 13:00:12 -0500</pubDate>
      </item>
      
      <item>
         <title>NSEC3: Is the glass half full or half empty? </title>
         <description><![CDATA[NSEC3, or the "Hashed Authenticated Denial of Existence", is a DNSSEC specification to authenticate the NXDOMAIN response in DNS.  To understand how we came to create it, and the secrecy issues around it, we have to understand why it was designed.  As the industry moves to a rollout of DNSSEC, understanding the security goals of our various <a href='http://www.csoandy.com/2010/01/the_designed_user.html'>Designed Users</a> helps us understand how we might improve on the security in the protocol through our own implementations.
<h3>About the Domain Name Service (DNS)</h3>
DNS is the protocol which converts mostly readable hostnames, like <em>www.csoandy.com</em>, into IP addresses (like 209.170.117.130).  At its heart, a client (your desktop) is asking a server to provide that conversion.  There are a lot of possible positive answers, which hopefully result in your computer finding its destination.  But there are also some negative answers.  The interesting answer here is the NXDOMAIN response, which tells your client that the hostnames does not exist.

<h3>Secrecy in DNS</h3>
DNS requests and replies, by design, have no confidentiality: anyone can see any request and response.  Further, there is no client authentication: if an answer is available to one client, it is available to all clients.  The contents of a zone file (the list of host names in a domain) are rarely publicized, but a DNS server acts as a public oracle for the zone file; anyone can make continuous requests for hostnames until they reverse engineer the contents of the zone file. With one caveat: the attacker will never know that they are done, as there might exist hostname that they have not yet tried.
<p />
But that hasn't kept people from putting information that has some form of borderline secrecy into a zone file.  Naming conventions in zone files might permit someone to easily map an intranet just looking at the hostnames. Host names might contain names of individuals.  So there is a desire to at least keep the zone files from being trivially readable.

<h3>DNSSEC and authenticated denials</h3>
DNSSEC adds in one bit of security: the response from the server to the client is signed.  Since a zone file is (usually) finite, this signing can take place offline: you sign the contents of the zone file whenever you modify them, and then hand out static results. Negative answers are harder: you can't presign them all, and signing is expensive enough that letting an adversary make you do arbitrary signings can lead to DoS attacks.  And you have to authenticate denials, or an adversary could poison lookups with long-lived denials.  
<p />

Along came NSEC.  NSEC permitted a denial response to cover an entire range (e.g., there are no hosts between <em>wardialer.csoandy.com</em> and <em>www.csoandy.com</em>).  Unfortunately, this made it trivial to gather the contents of a zone: after you get one range, simply ask for the next alphabetical host (<em>wwwa.csoandy.com</em>) and learn what the next actual host is (<em>andys-sekrit-ipad.csoandy.com</em>).  From a pre-computation standpoint, NSEC was great - there are the same number of NSEC signed responses in a zone as all other signatures - but from a secrecy standpoint, NSEC destroyed what little obscurity existed in DNS.

<h3>NSEC3</h3>
NSEC3 is the update to NSEC.  Instead of providing a range  in which there are no hostnames, a DNS server publishes a hashing function, and a signed range in which <I>there are no valid hashes.</I>.  This prevents an adversary from easily collecting the contents of the zone (as with NSEC), but does allow them to gather the size of the zone file (by making queries to find all of the unused hash ranges), and then conduct offline guessing at the contents of the zone files (<a href='http://cr.yp.to/talks/2009.08.10/slides.pdf'>as Dan Bernstein has been doing for a while</a>).  Enabling offline guessing makes a significant difference: with traditional DNS, an adversary must send an arbitrarily large number of queries (guesses) to a name server (making them possibly detectable); with NSEC, they must send as many queries as there are records; and with NSEC3, they must also send the same number of requests as there are records (with some computation to make the right guesses), and then can conduct all of their guessing offline.
<p />

While NSEC3 is an improvement from NSEC, it still represents a small step down in zone file secrecy.  This step is necessary from a defensive perspective, but it makes one wonder if this is the best solution: why do we still have the concept of semi-secret public DNS names? If we have a zone file we want to keep secret, we should authenticate requests before answering.  But until then, at least we can make it harder for an adversary to determine the contents of a public zone.

<H3>"Best" practices in zone secrecy</h3>
If you have a zone whose contents you want to keep obscure anyway, you should consider:
<ul>
	<li>Limiting access to the zone, likely by IP address.</li>
	<li>Use randomly generated record names, to make offline attacks such as Dan Bernstein's more difficult.</li>
	<li>Fill your zone with spurious answers, to send adversaries on wild goose chases.</li>
	<li>Instrument your IDS system to detect people trying to walk your zone file, and give them a different answer set than you give to legitimate users.</li>
</ul>
<p />

Jason Bau and John Mitchell, both of Stanford, have an <a href='http://theory.stanford.edu/~jcm/papers/dnssec_ndss10.pdf'>even deeper dive into DNSSEC and NSEC3</a>. 
]]></description>
         <link>http://www.csoandy.com/2010/05/nsec3_glass_half_full.html</link>
         <guid>http://www.csoandy.com/2010/05/nsec3_glass_half_full.html</guid>
         <category>DNS</category>
         <pubDate>Fri, 28 May 2010 08:11:45 -0500</pubDate>
      </item>
      
      <item>
         <title>Credit Card Tokenization</title>
         <description><![CDATA[<p>Every merchant that takes credit cards undergoes an annual ritual known as their <em>PCI audit</em>.  Why?  Because merchants take credit cards from end users, and the Payment Card Industry Data Security Standard (PCI-DSS) requires the annual audit of all environments that store cardholder data. Unfortunately, PCI audits are complicated, expensive, and distracting.   But new technology may make them less necessary.</p>

<p>Consider what the credit card really is:  It's a promise of payment; an agreement between an end user and their bank (and, by proxy, the entire card network) that enables the user to promise funds to a merchant.   That's also the weakness of the system: the 16 digits of the card (plus a few other data points, like expiration date, CVV, and name) are equivalent to a public currency.</p>

<p>And that currency needs to be stored in a lot of places, for a long period of time.   For user convenience and increased revenues, merchants want to support repeat buying without card reentry, so they need to keep the card (and to support chargebacks).   For fraud detection, merchants want to check for card overuse.   This leads to a threat to the currency, and much of the purpose behind the (PCI-DSS): cards at rest are a valuable, and omnipresent target.</p>

<h3>Tokenization</h3>

<p>Tokenization is a technology that replaces the credit card (a promise between a user and their bank) with a token (a promise between a merchant and their bank).   With tokenization, when presented a credit card, a merchant <em>immediately</em> turns it over to their <em>payment gateway</em>, and receives a token in exchange.   The token is only useful to that merchant when talking to their gateway; the public currency (credit card usable anywhere) has been converted to private scrip (token tied to merchant and gateway).</p>

<p>The gateway has to maintain a mapping between tokens and credit cards, so that when a merchant redeems a token, the gateway can convert the token to a credit card charge.   But a merchant can use the token in their internal systems for anything they would have used a credit card for in the past: loyalty programs, fraud detection, chargebacks, or convenience.</p>

<p>Tokenization isn't a panacea for a merchant.   The merchant still has a point in their infrastructure that takes credit cards, and that point is subject to PCI-DSS.  If the merchant has a brick and mortar operation, PCI-DSS requirements will still apply there (although some POS terminals do support tokenization).  But it can take a merchant a long way to defending their customers' credit cards, and represents several steps forward to a model where merchants don't need to see a credit card at all.</p>]]></description>
         <link>http://www.csoandy.com/2010/05/credit_card_tokenization.html</link>
         <guid>http://www.csoandy.com/2010/05/credit_card_tokenization.html</guid>
         <category>Technology</category>
         <pubDate>Wed, 26 May 2010 11:43:22 -0500</pubDate>
      </item>
      
   </channel>
</rss>

