<?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>Perimeter Grid &#187; authentication</title> <atom:link href="http://perimetergrid.com/wp/category/authentication/feed/" rel="self" type="application/rss+xml" /><link>http://perimetergrid.com/wp</link> <description>Building Security in a Networked World</description> <lastBuildDate>Sat, 13 Aug 2011 06:02:53 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Useless Password Advice</title><link>http://perimetergrid.com/wp/2010/10/12/useless-password-advice/</link> <comments>http://perimetergrid.com/wp/2010/10/12/useless-password-advice/#comments</comments> <pubDate>Tue, 12 Oct 2010 19:10:26 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[authentication]]></category> <category><![CDATA[mitigations]]></category> <category><![CDATA[passwords]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/?p=126</guid> <description><![CDATA[The mainstream press is full of articles telling you how to use secure passwords, like this one in MSNBC or this one in TechNewsDaily. They echo the traditional wisdom on password security &#8212; use a long password, put numbers and symbols and multiple cases in it, and don&#8217;t record it anywhere. Well, I suppose there&#8217;s [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>The mainstream press is full of articles telling you how to use secure passwords, like <a
href="http://www.msnbc.msn.com/id/39631224/ns/technology_and_science-tech_and_gadgets/">this one in MSNBC</a> or <a
href="http://www.technewsdaily.com/how-to-write-the-perfect-password-100128-0118/">this one in TechNewsDaily</a>.  They echo the traditional wisdom on password security &#8212; use a long password, put numbers and symbols and multiple cases in it, and don&#8217;t record it anywhere.</p><p>Well, I suppose there&#8217;s nothing <em>wrong</em> with that, but it&#8217;s usually not very useful.  Let&#8217;s look at the advice in the second article above:</p><p><strong>1.) Don&#8217;t be cute</strong><br
/> Okay, they have a good point here.  Using a password like 123456, qwerty, password, secret, etc. actually will get your password hacked.  If your password is subject to a dictionary attack, it genuinely is very easy to get into your account.  Keep in mind that a &#8220;dictionary&#8221; doesn&#8217;t mean the Merriam-Webster one, though &#8212; it means a wordlist of common passwords, so things like 123456 and major historical dates and most proper names are in the dictionary.  Don&#8217;t use them.</p><p><strong>2.) Longer is better.<br
/> 3.) Use the shift key.<br
/> 4.) Comic book cussing is good.</strong><br
/> These three are sort of true, but usually aren&#8217;t useful.  Assuming all lower-case letters, there are 308 million possible 6-character passwords, yet 208 <em>billion</em> 8-character ones.  Numbers, case, and symbols turn that 208 billion to 722 trillion.  But for passwords on web sites, it&#8217;s irrelevant!  To crack a website password, the attacker has to send each guess <em>to the server</em>.  The proper solution here isn&#8217;t longer passwords for users &#8212; it&#8217;s <em>password lockout</em>.  If after 3 wrong passwords, you&#8217;re required to wait just 5 minutes before you can try again, even that all-lower-case-letters 6-character password will require an average of <em>655 years</em> to crack.  Password lockout makes brute-force hopeless &#8212; so all your password has to be is something not in the dictionary (for hacker values of &#8220;dictionary&#8221;).  More secure sites like banks could implement progressive lockout &#8212; say, after being locked out for 5 minutes three times without a correct password, disabling the account entirely and requiring you to call or otherwise verify your identity.</p><p>The one place this <em>is</em> true, however, is for passwords protecting or being used as cryptographic keys.  If you have an encrypted file, you want the password to be long and complex, because someone who has the encrypted file can try all the passwords he wants as fast as he wants.  There&#8217;s no server to lock him up &#8212; he&#8217;s doing the cracking on his own machine!  But for web site passwords, it just doesn&#8217;t matter at all.</p><p><strong>5. Keep it centered.</strong><br
/> This is just plain silly.  It&#8217;s not remotely true that &#8220;nearly all&#8221; passwords are stored with the last character in clear; in fact, most aren&#8217;t stored at all, using a hash check instead.  This is a particular flaw in one specific password storage routine.  There have been others &#8212; for instance, the old NT LANMAN hashes were split such that a password could be broken into 7-character chunks and each cracked individually, so passwords of 8-13 characters were actually easier to crack in some cases than 7-character ones.  Must we always figure out exactly what password-storage routines every app and website uses, and craft passwords to match?  Of course not.</p><p><strong>6.) Keep it fast, keep it mental.</strong><br
/> If it&#8217;s your ATM PIN, you may have to worry about shoulder surfing.  Likewise if you work for the CIA and there are spies everywhere.  But passwords you use at home?  Probably not a big concern.  And what about writing down passwords &#8212; why not do it?  If the password record is stored in your house, someone would have to burgle you to get it, which is (hopefully) pretty unlikely.  Now, writing it down in a place proximate to attack is a bad idea, of course &#8212; putting your work password on a post-it on your workplace desk, for instance, or writing down your banking &#038; credit card passwords on a paper in your wallet (right next to the credit and debit cards that identify which banks you use and the ID that shows your name&#8230;) is a recipe for getting hacked.  Putting a password list into a <a
href="http://www.mandylionlabs.com/products.htm">dedicated device</a> is very secure, albeit excessive for most people.</p><p><strong>7.) Remain paranoid.<br
/> 8.) Don&#8217;t double up.</strong><br
/> Password rotation and avoiding reuse are actually the best recommendations on the list.  For websites, a simple 6- or 7-letter password you change every 6-12 months and don&#8217;t recycle is probably a great deal more secure than setting your password to &#038;*Q}}@#$7-=[\?~^.</p><p>It's also very hard to remember to do. <img
src='http://perimetergrid.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p><strong>9.) Loose lips sink ships.</strong><br
/> This isn't really related to password selection like the others, but yeah, don't tell other people your passwords unless you're entirely comfortable with them being you.  If it's your spouse, fine, but sharing passwords among semi-trusted groups like coworkers is a bad idea, and giving it to anyone on the phone who claims to need it is a terrible one.  (One of the most famous hacks of AT&#038;T's COSMOS billing system back in the 80's came from someone simply calling an operator and saying "Hi, this is Ken [the name of the company CEO at the time].  What&#8217;s the root password?&#8221;)</p><p><strong>10.) Don’t turn your back on your computer.</strong><br
/> Oh, come on, this is why we have screen savers.</p><p>If I were to come up with a list of password security advice, it would look like this:<br
/> 1.) Don&#8217;t use dictionary words, people&#8217;s names, or anything you think might be a common password.  Make up something unique.<br
/> 2.) If the password is to something important &#8212; like your bank account &#8212; change it every few months.<br
/> 3.) Never use the same password for important things as you use for frivolous websites.</p><p>And that would be about it.  Short enough to remember.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2010/10/12/useless-password-advice/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>BlackHat 2010: Day 1</title><link>http://perimetergrid.com/wp/2010/08/12/blackhat-2010-day-1/</link> <comments>http://perimetergrid.com/wp/2010/08/12/blackhat-2010-day-1/#comments</comments> <pubDate>Thu, 12 Aug 2010 17:28:48 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[attacks]]></category> <category><![CDATA[authentication]]></category> <category><![CDATA[crypto]]></category> <category><![CDATA[industry]]></category> <category><![CDATA[mitigations]]></category> <category><![CDATA[products]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/?p=115</guid> <description><![CDATA[I&#8217;ve just returned from a trip to BlackHat Briefings USA 2010 and DefCon 18. As always, it was an enjoyable week in Las Vegas learning about the latest research, networking with the surprisingly small world of security professionals, and generally having fun hanging out with a lot of interesting people with the hacker mindset. BlackHat [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>I&#8217;ve just returned from a trip to <a
href="http://blackhat.com/html/bh-us-10/bh-us-10-home.html">BlackHat Briefings USA 2010</a> and <a
href="http://defcon.org/html/defcon-18/dc-18-index.html">DefCon 18</a>.  As always, it was an enjoyable week in Las Vegas learning about the latest research, networking with the surprisingly small world of security professionals, and generally having fun hanging out with a lot of interesting people with the hacker mindset.</p><p>BlackHat started out with a <a
href="http://blackhat.com/html/bh-us-10/bh-us-10-keynote.html">keynote from Jane Holl Lute, Deputy Secretary of Homeland Security</a>.  She gave the sort of banal, predictable speech we expect from a political appointee &#8212; the country needs a secure homeland, dynamic economy, and the rule of law.  &#8220;Cyberspace&#8221; isn&#8217;t a warzone, because wars happen somewhere, kill people, are lawless, and &#8220;cyberspace&#8221; isn&#8217;t like this.  (The one sure sign you&#8217;re listening to a government official is the constant use of the prefix &#8220;cyber-&#8221;.  An even more sure sign is the use of &#8220;cyber&#8221; as a noun by itself, which so far as I can tell is done <em>only</em> by feds.)</p><p>She states that the five essential missions of DHS are to prevent terrorist attack, secure borders (while expediting trade &amp; travel), enforce immigration laws, ensure the safety &amp; security of &#8220;cyberspace,&#8221; and help build a resilient society.  While I really like the emphasis on resilience in her rhetoric, I do wish DHS had more visible efforts in that direction rather than appearing to be wholly focused on prevention.  She also laments that billions have been spent in cybersecurity, but the most fundamental problems still aren&#8217;t fixed, and claims that the administration wants to build a cybersecurity strategy and vision for the nation.  I find this claim curious for two reasons: first of all, billions have been spent on physical security, too, and yet we don&#8217;t seem to have &#8220;fixed&#8221; crime and violence, so why should we expect information security to be any different?  And second, DHS saying we <em>need</em> a &#8220;cybersecurity&#8221; strategy implies that they don&#8217;t <em>have</em> one.</p><p>Jeff Moss seemed far more excited about this talk than its content warranted.  Simple politeness to a speaker, or the effect of his presence on the Homeland Security Advisory Council?  Also, during Q&amp;A one person asked her why, given that the TSA is the laughingstock of the world, we should expect DHS to do any better with the Internet.  (While the question is admittedly a cheap shot and not an actual argument, her response &#8212; which was to say that the TSA is just fine and not mocked throughout the world at all &#8212; did not exactly inspire confidence either.)</p><p>My first session after the keynote was called <a
href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Grugq">Base Jumping, by the Grugq</a>.  This was one of two major talks about cell phone hacking on GSM this year.  The GSM protocol specification runs dozens of documents and thousands of pages, but according to the Grugq, the important one is GSM 04 08, which defines layer 3.</p><p>GSM is based on TDMA (Time Division Multiple Access,) so decoding is based on time &#8212; the clock in a phone must be synced with the clock in the base station.  Only a tiny amount of data is sent per timeslot.  There are only 23 bytes in a timeslot, so you can do a complete exhaustion fuzzing in 3 days (and he did.)</p><p>Communication is done over a variety of named channels.  BCCH (broadcast control channel) is how a base station sends out its information messages. PCH (paging channel) announces incoming SMS or phone calls. RACH (random access channel) is used by the phone to request a channel, which it gets back over AGCH (access granted channel.)  Opening a channel is slow &#8211; it takes 2-3 seconds.  Since it&#8217;s based on timeslots, can take quite a while for the base station to have an open slot of the appropriate channel to reply in.</p><p>Collisions are frequent since channel number is just 25 bits, and some cheap phones actually hardcode a list of random numbers instead of generating them (apparently generating a 25-bit number is just too hard for them.)</p><p>Police sometimes use IMSI catchers, which impersonate the network and make the phones all hand over their IMSI (International Mobile Subscriber Identifier &#8212; your ID off your SIM card that tells the phone company who you are.)  The protocol is flawed &#8212; the phone authenticates with the network, but the network does not authenticate to the phone, and thus can be impersonated.</p><p>A German group built an open-source baseband for a common, cheap cell phone (the Motorola C118 or C123, about 5 Euro on eBay.).  This can then be hacked to send arbitrary GSM traffic.  Among the Grugq&#8217;s apps were:</p><p>RACHell: request channel allocation, then flood the base station with requests.  This will DoS the entire cell by using all the channels.  A cell can only hold about 1000 users.  Since the cell is backed up to a base station controller (BSC), this attack may take down the BSC as well (which shuts down the whole tower for half a day.)</p><p>IMSI Flood: send IMSI ATTACH messages, indicating a user coming online.  These are sent pre-authentication, and if you send too many random numbers as IMSIs, it can overwhelm the HLR/VLR infrastructure (the database that tells which tower has which phones attached to it) and takes down the whole network.  This could also be used to make police IMSI catchers pretty much useless.  I got the idea that the Grugq had not actually tested this, since taking down a cell network might get a little unwanted attention.</p><p>IMSI DETACH: When phones are turned off, they tell the network they&#8217;re no longer available via sending a single unauthenticated frame.  If you have someone&#8217;s IMSI (which you can look up by phone number for $0.006,) you can send one for someone else, which disables that phone from receiving calls or SMS and cuts off any in-progress phone calls.  The victim can still make new calls, however, which will reattach them to the network &#8212; but if you&#8217;re sending DETACHes every 5 seconds, this will do little good.</p><p>Baseband fuzzing: fuzzing the baseband (the radio in individual phones) by impersonating the tower pretty much causes every phone available to crash.  However, lacking the code for the basebands, the Grugq didn&#8217;t find any remote exploits here.  However, the overall point is that GSM is no longer a walled garden &#8212; anyone can send GSM traffic with minimal equipment now, and protocol security is required.</p><p>The next session I attended was <a
href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#KaneParry">More Bugs in More Places, by David Kane-Parry of Leviathan Security</a>.  This was an overview of the SDKs and security models for Android, Windows Phone 7, BlackBerry, and iPhone.  There was nothing particularly new here, nor did he come to any conclusion as to the superiority or inferiority of any one of the platforms, so I&#8217;m not going to go into details.</p><p>The next talk was <a
href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Jack">Barnaby Jack of IOActive with the wildly popular topic of jackpotting ATMs</a>.</p><p>Current ATM attacks are mostly skimmers, physical theft, Ram raids (dragging the ATM away with a truck,) card trapping and shoulder surfing PINs, or frontal attack via safe cutting or even explosives.  Barnaby Jack wanted to instead attack the software.  Most new model ATMs are Windows CE based, with an ARM/Xscale processor, remote connection via TCP/IP or dial-up, with SSL support and a Triple DES encrypted PIN pad.  Since the developers of Windows CE developers concerned were more concerned with protection (in the process sense) than security, this provides an opportunity.</p><p>To reverse engineer this, he bought a couple of ATMs and had them delivered to his house (which the delivery people found rather bizarre, but did.)  ATMs boot directly to a proprietary ATM application.  In order to get a shell, he connected a JTAG interface for full debugging access to the processor core, set a breakpoint on CreateProcess(), and replaced the target ATM executable string with explorer.exe.  With explorer, he could connect a USB disk and keyboard and copy files off for offline research, make registry changes permanent (so as to always boot Explorer), create a debugging environment, then set up remote app debugging in Visual Studio.</p><p>The external attack surface is limited to the card reader, keypad, network, and motherboard inputs.  This leads to two possible attack plans &#8212; remote over the network ,or a walk-up attack.  It turns out the walk-up attack is quite possible, since while the cash is protected by a two-inch-thick steel safe, the motherboard is protected by <em>a one-key-fits-all lock you can buy keys for on the Internet</em>.</p><p>With motherboard accessible, you can access USB, SecureDigital, and CompactFlash slots.  On boot, the app code checks these drives for firmware upgrades and applies them.  (And there&#8217;s a reboot switch on the motherboard, too!)</p><p>From a remote perspective, ATMs support remote monitoring and configuration to allow changing splash screens, cash denominations, etc., or even do remote firmware upgrades.  There are multiple levels of authentication, but Barnaby Jack found a vulnerability in this authentication process allowing for a remote authentication bypass.  (He did not disclose his authentication bypass, but said he found it by fuzzing, so this work will probably be duplicated by others.)</p><p>He demonstrated two tools &#8212; one was Dillinger, a remote ATM attack and administration tool which exploits the remote authentication bypass.  It&#8217;s reliable on dial-up or TCP/IP, and exchange scanning with a VoIP wardriver like WarVox is possible.  Dillinger allows management of unlimited ATMs, can test remote bypass, retrieve location &amp; master passwords, upload rootkits, and even retrieve the track data from all the cards that have been inserted into the machine.</p><p>Scrooge, an ATM rootkit, runs on the device hidden in background, activated by special key sequence or custom card.  It runs on any ARM/Xscale ATM, or Intel ones with some tweaks, but must be customized for different ATM models.  It has a keyboard filter that hooks the ATM keypad &amp; side buttons &#8212; SetWindowsHook() is undocumented on CE but still works.  A special key sequence (or a card whose track data spells out &#8220;GIMMEDALOOT&#8221;) launches a menu.  Scrooge captures track data and pin-pad input, and can issue remote commands.</p><p>This is better seen than described.  Here&#8217;s some video of remote ATM hacking with Dillinger:</p><p><object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="allowFullScreen" value="true" /><param
name="allowscriptaccess" value="always" /><param
name="src" value="http://www.youtube.com/v/qwMuMSPW3bU&amp;hl=en_US&amp;fs=1" /><param
name="allowfullscreen" value="true" /><embed
type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/qwMuMSPW3bU&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><p>And here we have the aftermath of a physical attack, where he opened the ATM with a key, stuck in a USB drive, and hit the reset button on the motherboard:</p><p><object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="allowFullScreen" value="true" /><param
name="allowscriptaccess" value="always" /><param
name="src" value="http://www.youtube.com/v/fS3Z8Xv-vUc&amp;hl=en_US&amp;fs=1" /><param
name="allowfullscreen" value="true" /><embed
type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/fS3Z8Xv-vUc&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><p>The &#8220;777 Jackpot!&#8221; on the screen and the peppy music are a nice touch.</p><p>As for how to prevent these sorts of vulnerabilities in the future, he recommends that ATM vendors offer upgrade options on the physical locks (say to at least making the key unique), implement binary signing at the kernel level to prevent unauthorized firmware upgrades, and disabling remote management on the device.</p><p>For the final presentation of the day, I attended <a
href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Kaminsky">Dan Kaminsky&#8217;s talk</a>, which was actually not the talk described in the BlackHat documentation at all, but rather an entirely different talk on using DNSSEC to implement public key infrastructure, due to the fact that the DNSSEC root was finally signed (after only 18 years&#8230;) three weeks ago.</p><p>Dan seeks to use DNSSEC to solve a variety of problems, by creating what he calls a Domain Key Infrastructure:</p><ul><li>For users: when you receive an email, you can actually know for certain who it came from.</li><li>For infrastructure buyers: we need strong authentication as much today as we did when trying (and failing) to create PKI in the past, and with DNSSEC we can actually create a working PKI.  60% of security breaches are credential-related.</li><li>For infrastructure builders: DKI will make security products scale, and allow devices to validate the identity of peers.  You can build scalable federated systems.</li><li>For hackers and penetration testers: Dan&#8217;s new company will be actively supporting an aggressive public audit of all DNSSEC and DKI technologies.</li></ul><p>Dan&#8217;s definitely right about one thing &#8212; we aren&#8217;t going to get security via moralizing about user education or waiting for regulation. Will have to deliver a better product as judged by the people who have to run it.</p><p>DNSSEC is simple &#8212; it works just like DNS, but referrals and authoritative records are signed.  Thus, when referred elsewhere, you&#8217;re told not only where the server to ask is, but also how to recognize it.  Keys can lead to other keys.</p><p>DNSsec was complex to deploy because it was designed to allow &#8220;key in a vault&#8221; security, where keys are offline and not generated on demand.  When it was proposed <em>eighteen years ago</em>, CPUs were slow, and some installations are incredibly large (e.g. .com)  Offline keying is cumbersome.  However, there&#8217;s an alternative that&#8217;s relatively simple to deploy.</p><p>Phreebird is a DNSSEC server that&#8217;s simple because it uses online keysigning, just like SSL, SSH, and IPsec.  There is some risk here, of course, but we seem to accept it everywhere else, as everyone keeps keys online for some protocols.  Those who are really concerned about security can use a hardware security module.  Phreebird works as a proxy, and has effectively nothing to configure &#8212; you change the port of the DNS server, run Phreebird, and then supply the signature to your DNS registrar.  It&#8217;s presently implemented as a UDP port forwarder, but they&#8217;re rebuilding it as a Linux mangle table.  It&#8217;s very fast; according to Dan, it&#8217;s an order of magnitude faster than the DNS servers it&#8217;s proxying, so there should be almost no load.  For performance, it caches signed responses, but always passes queries to the real nameserver so that all scenarios work &#8212; but if it gets the same thing, it pulls up the cached signed response instead of resigning.  Phreebird is open source and will be out in the next few weeks.</p><p>Distributed authentication is only interesting if it&#8217;s end-to-end.  The current methods of DNSSEC lookups, chasing &#038; tracing, are blocked by various types of servers, which makes operational implementation difficult.  Phreebird also supports wrapping DNS (and DNSSEC) in HTTP, using a custom DNS server that exposes an HTTP endpoint and takes base64-encoded DNS requests.  They claim there is no performance hit.</p><p>Likewise, while X.509 is flawed (since a certificate just has to chain to one of a few hundred root CAs by way of thousands of untrustworthy intermediaries, and there is no exclusion or delegation,) it can still be used to wrap DNSSEC &#8212; high performance, easy tunneling via DNS over X.509 over SSL.  When one of these certificates is received, you just need to extract all the keys from the trust chain and validate it all.</p><p>From here, Dan got into the more interesting stuff &#8212; what he calls DKI (Domain Key Infrastructure.)  What if you could use DNSSEC to create a working PKI system?  Since DNSSEC lets you strongly authenticate a domain, you can then ask that domain to authenticate users, and trust the response since you have a key for the domain.  To demonstrate this, he presented PhreeShell: federated identity for OpenSSH.  With this modification, .ssh/authorized_keys2 contains identities (e.g. grant@perimetergrid.com) rather than keys &#8212; it makes delegating access trivially easy.</p><p>Trusting DNSSEC eliminates the scaling issues of federated PKI.  Really, you&#8217;re not trusting DNSSEC so much as ICANN, but it seems a fairly good choice for a single root keyholder in that it has external political constraints and a delegation system designed to prevent operational dependency.</p><p>So how do we implement DKI everywhere?  Eventually, by adding the functionality to everything &#8212; link in LDNS or libunbound.  On Linux, you can make most things work by patching X509_verify_cert in OpenSSL, because practically everything calls out to it for crypto, but there&#8217;s nothing so simple in the browser world, where IE uses CryptoAPI, Firefox and Chrome use NSS, and most apps are cross-platform.  For this, Dan has an app called Phoxie, which is a remote validation proxy for production browsers that allows certificate verification against DNSsec in current browsers.  It&#8217;s also possible to make self-certifying URLs, but they look horrible and become unusable if the certificate ever expires or needs rotated, so they&#8217;re not a good solution.</p><p>Finally, we may get secure email out of this.  If we can verify what server sent an email (which with DNSSEC we can), we can also in many cases be sure who sent it (as if the email came from a &#8220;respectable&#8221; domain it wouldn&#8217;t let users send mail as each other.)  Right now the user experience around secure email is minimal, but our faith in it has been low &#8212; if most email could be verified, we could easily get to a world where email clients only stated mail was &#8220;From&#8221; someone if this fact had been cryptographically verified, and otherwise used some suspicion-inducing verbiage (e.g. the X-Supposedly-From header.)</p><p>Overall, Dan&#8217;s talk was interesting, but I find my enthusiasm is rather limited by lack of faith any of this stuff will be <em>used</em>.  DNSSEC has been around for 18 years and no one uses it yet; having the root signed is a wonderful step and I hope it leads to the revolution in PKI Dan&#8217;s touting, but I also feel like I&#8217;ll believe it when I see it.</p><p>After all the talks, I dropped in on parties thrown by Mandiant, IOActive, and NetWitness, but unfortunately had to skip Tenable and Rapid7.  There are so many parties, receptions, and events that it&#8217;s impossible to visit all or even most of them.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2010/08/12/blackhat-2010-day-1/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Hotel Internet and ISP Paywalls</title><link>http://perimetergrid.com/wp/2009/07/28/hotel-internet-and-isp-paywalls/</link> <comments>http://perimetergrid.com/wp/2009/07/28/hotel-internet-and-isp-paywalls/#comments</comments> <pubDate>Wed, 29 Jul 2009 05:47:08 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[attacks]]></category> <category><![CDATA[authentication]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/?p=87</guid> <description><![CDATA[So, I&#8217;m currently in a hotel, to remain nameless here, for BlackHat 2009 and DefCon 17. As is usual for expensive hotels, Internet access is available &#8212; both wired and wireless &#8212; for a substantial fee ($13.99/day here.) This is enforced via a paywall. For anyone who has never tried to use Internet in a [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>So, I&#8217;m currently in a hotel, to remain nameless here, for <a
href="http://www.blackhat.com">BlackHat 2009</a> and <a
href="http://www.defcon.org">DefCon 17</a>.  As is usual for expensive hotels, Internet access is available &#8212; both wired and wireless &#8212; for a substantial fee ($13.99/day here.)  This is enforced via a paywall.</p><p>For anyone who has never tried to use Internet in a hotel, the way this works is as follows:</p><ol><li>You connect to the wired or wireless network, and are assigned an IP address via DHCP.</li><li>All Internet connections are directed by the gateway to the same IP &#8212; one that rejects everything but ports 80 and 443, and redirects those to a web page that asks you to confirm your acceptance of the exorbitant fees and provide your room number.</li><li>Once you accept the terms, the redirect goes away and you have unfettered access to the Internet, usually via a true Internet-routeable (not <a
href="http://en.wikipedia.org/wiki/RFC_1918">RFC 1918</a>) IP.</li></ol><p>Now, for me, the first thought I have is, &#8220;How have they implemented this?  Doing it &#8216;for real&#8217; would require tons of custom hardware and software!  Surely they took shortcuts.&#8221;  So, I booted into <a
href="http://www.remote-exploit.org/backtrack.html">BackTrack 4</a>, fired up Wireshark, and took a look around on the wired network.</p><p>The first thing I noticed was that, for the most part, all the traffic I was seeing was my own.  So at least this wasn&#8217;t some kind of dreadful 1990&#8242;s-era shared-backbone network.  However, there were two exceptions to this rule &#8212; ARPs, and DHCP Offers and ACKs.</p><p>So, what can we learn from this?  We&#8217;re on the equivalent of switch-based Ethernet, where the only traffic that reaches our PC is that destined for our MAC address.  The switch remembers which MACs are one which ports, and won&#8217;t forward us anything that doesn&#8217;t correspond to our MAC.  We get ARPs and DHCP because those are sent to the Broadcast MAC &#8212; switches forward them to everybody.  This tells us one avenue for attack &#8212; we can get other traffic routed to us by sending out packets with a spoofed MAC.  If the switch learns that a given MAC is on our port, it will start sending us the traffic for it.</p><p>But that&#8217;s not useful.  MACs are 48-bit numbers; I&#8217;m certainly not going to start guessing them.  What&#8217;s probably of most interest to people on hotel Internet is how to get it without paying, not how to route others&#8217; traffic to themselves.  Okay, at BlackHat and DefCon, routing others&#8217; traffic is probably of interest, but not generally.</p><p>But this tells us another avenue for attack, too.  If we&#8217;re receiving broadcast traffic meant for others (presumably other hotel rooms) on switch-based Ethernet, then this means that the system doesn&#8217;t have the ability to send the DHCP and ARP traffic to only one room!  If it were really designed securely, it would &#8212; there would be point-to-point traffic to each room.  Since there&#8217;s not, then it must simply be addressing traffic to each room and putting it into a switch.</p><p>We have a clue as to how it addresses traffic to the room.  The charge of $13.99 per day is <em>per laptop</em> &#8212; that is, if you use multiple machines, you have to pay for each of them.  This policy is clearly daft &#8212; it seems very unlikely that the hotel expects anyone to actually pay the fee 2-3 times per day, and so all it does is curtail usability for no reason.  Which means that it&#8217;s likely a technical limitation &#8212; which is to say, they&#8217;re identifying unique customers by MAC address.</p><p>MAC (Media Access Control) address is assumed by most people to be static.  It comes with your network card, and whatever MAC your card has is the one you have for life.  And in Windows, this is true with most network drivers &#8212; they provide no facility to change your MAC.  On a Linux such as BackTrack, though, this assumption is wrong.</p><p>The easiest way to get free access on a hotel network, then, is to just use the MAC of someone who already paid.  We fire up Wireshark, and add a filter excluding our own IP, such as:</p><p>ip.src != 1.2.3.4 &#038;&#038; ip.dst != 1.2.3.4</p><p>Where 1.2.3.4 is the IP we get from ifconfig.  This should filter down to nothing but DHCP offers &#038; acks.  We then pick any random DHCP ACK, and open the &#8220;Bootstrap Protocol&#8221; node, where we find a line labeled &#8220;Client MAC address.&#8221;  This will list the address, both in the form that enumerates the manufacturer, and in the form we want &#8212; six colon-separated octets (e.g. 00:11:22:aa:bb:cc).</p><p>Now we just tell the system that we are, in fact, someone else.  This is a simple task in Linux:</p><p>macchanger eth0 00:11:22:aa:bb:cc<br
/> /etc/init.d/networking restart</p><p>Now we&#8217;ve just changed or MAC to someone else&#8217;s, and requested a new IP address.  But, how do we know that the MAC we changed to is any better than our own?  Well, it stands to reason that if someone is connecting to the hotel network, they intend to access the Internet.  If the ACK is brand new it may not work, but anything more than a few minutes old is probably golden &#8212; and if it&#8217;s not, you just pick a different DHCP ACK out of Wireshark and try again.</p><p>Drawback to this method: it is possible, depending on how the hotel runs its network, that you just DOSsed the legitimate user, which is clearly undesirable.  It&#8217;s not likely, though &#8212; the gateway probably just redirects users who aren&#8217;t on a MAC whitelist to the paywall, and lets everyone else through.  The switch is now routing that MAC to two different rooms, each of which have their own IP, and apart from occasional glitches from layer 2 or 3 collisions, it will probably work fairly well.  Nevertheless, don&#8217;t fool yourself into thinking this sort of thing is totally harmless.</p><p>From the hotel&#8217;s perspective, this sort of thing is not trivial to foil.  If they want to prevent this from happening, they need a way to address <em>rooms</em>, not laptops, and that means assigning a switch port or IP address to each one rather than doing a continuous dynamic re-provisioning.  This is expensive&#8230; probably much more expensive than just allowing the occasional network-security geek with a Linux install bypass their paywall.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2009/07/28/hotel-internet-and-isp-paywalls/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>False Expense Service Reveals the Trouble With Documents</title><link>http://perimetergrid.com/wp/2009/06/29/false-expense-service-reveals-the-trouble-with-documents/</link> <comments>http://perimetergrid.com/wp/2009/06/29/false-expense-service-reveals-the-trouble-with-documents/#comments</comments> <pubDate>Mon, 29 Jun 2009 18:30:27 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[attacks]]></category> <category><![CDATA[authentication]]></category> <category><![CDATA[legal]]></category> <category><![CDATA[society]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/?p=82</guid> <description><![CDATA[There&#8217;s been some news coverage lately about FalseExpense.com, a service that produces fake receipts to order &#8220;for novelty use only.&#8221; The obvious purpose of this is to help people scam their companies&#8217; expense reporting system by &#8220;padding&#8221; receipts.  People who are reimbursed for hotel, meals, etc. can create receipts for slightly more than they actually [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>There&#8217;s been some news coverage lately about <a
href="http://www.falseexpense.com/">FalseExpense.com</a>, a service that produces fake receipts to order &#8220;for novelty use only.&#8221;</p><p>The obvious purpose of this is to help people scam their companies&#8217; expense reporting system by &#8220;padding&#8221; receipts.  People who are reimbursed for hotel, meals, etc. can create receipts for slightly more than they actually pay (or for that matter, create receipts for meals they skip altogether or eat a balogna sandwich for) and pocket the difference.  Apparently the same company aims to help people rip off their employers in any way they desire, as they also run &#8220;Fake Sick Notes USA.&#8221;  (Though people running that particular scam are often <a
href="http://www.dailymail.co.uk/news/worldnews/article-1080010/Call-centre-worker-caught-boss-posting-sickie-plan-Facebook.html">caught by their own actions</a>.)</p><p>It&#8217;s interesting that receipts are considered &#8220;proof&#8221; of purchase.  A receipt, after all, is just a piece of paper, and what&#8217;s more, there is no standard for what a receipt looks like.  People know it should be printed on &#8220;receipt paper&#8221; &#8212; which is usually thin thermal paper, but is sometimes quite heavy paper tape that&#8217;s inkjet or impact printed &#8212; and contain certain pertinent data, like the location of the purchase, the tax, the total, and some legalese at the bottom.  In the modern era, receipts often have serial numbers or bar codes on them, which makes the receipt uniquely identifiable <em>by the issuer</em>, but is quite useless for anyone else to authenticate them.  After all, only someone who has access to Target&#8217;s computer system can say if Target receipt #824935729345 is authentic or not.  And when it comes to small mom-and-pop retailers (which often have cash register receipts that contain literally nothing but prices) and online retailers (whose receipts are trivially-forged HTML emails), receipt as proof of anything becomes even more ridiculous.</p><p>All this false expense site does is make available to the general public an ability that&#8217;s been available to the tech-savvy for years.  Someone with Photoshop and a USB thermal printer (easily available on eBay for under $100) has been able to forge receipts since the 1990s.  This is another case (like <a
href="http://perimetergrid.com/wp/2008/01/01/checks-the-most-dangerous-transaction/">checking accounts</a>) where the &#8220;security&#8221; of a system comes not from any internal defense, but simply from the fact that most people don&#8217;t have a <a
href="http://perimetergrid.com/wp/2008/01/31/how-to-get-a-job-in-information-security/">security mindset</a> &#8212; most people don&#8217;t look at everyday systems and think about their weak points and where they break down.  Since a recept is <em>used as </em>proof of purchase, people assume it <em>is </em>proof of purchase.</p><p>Unfortunately, there&#8217;s really not much to be done to &#8220;secure&#8221; receipts.  To do so would require data-sharing between merchants, employers, and the IRS, so as to make receipt numbers authenticable &#8212; and that&#8217;s a case of the solution being worse than the disease (the privacy implications would be staggering.)  As an employer, the best solution may be to simply avoid the problem &#8212; have the company book hotel and travel for the employee (rather than reimbursing after-the-fact), and provide a <em>per diem </em>allowance for expenses rather than reimbursing exact receipts.  Any time you rely on receipts from employees, there&#8217;s the potential for fraud losses.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2009/06/29/false-expense-service-reveals-the-trouble-with-documents/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Two-Factor Auth for World of Warcraft</title><link>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/</link> <comments>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/#comments</comments> <pubDate>Mon, 30 Jun 2008 21:25:25 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[attacks]]></category> <category><![CDATA[authentication]]></category> <category><![CDATA[hardware]]></category> <category><![CDATA[passwords]]></category> <category><![CDATA[products]]></category> <category><![CDATA[risk]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/?p=51</guid> <description><![CDATA[Blizzard Entertainment, makers of the phenomenally-successful multiplayer game World of Warcraft, have introduced two-factor authentication for logging into the game.  For $6.50, they&#8217;ll sell you a dynamic password keychain token called the Blizzard Authenticator, which looks much like the RSA keyfobs many in the IT industry use to log into their corporate VPNs. It may [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>Blizzard Entertainment, makers of the phenomenally-successful multiplayer game World of Warcraft, have <a
href="http://www.blizzard.com/us/press/080626-auth.html">introduced two-factor authentication for logging into the game</a>.  For $6.50, they&#8217;ll sell you a dynamic password keychain token called the <a
href="http://www.blizzard.com/store/details.xml?id=1100000182">Blizzard Authenticator</a>, which looks much like the RSA keyfobs many in the IT industry use to log into their corporate VPNs.</p><p>It may seem silly to use two-factor auth for a video game.  However, with 12 million players, World of Warcraft is a big business, and stolen accounts are worth money.  Logging into someone else&#8217;s account, looting it for virtual money and supplies, then selling them on the <a
href="http://www.mmoex.com/">open market</a> can easily net $50 per account, more for particularly lucrative ones.  What&#8217;s more, the account itself can be sold to offshore &#8220;gold farmers&#8221; who have a constant need for accounts as Blizzard revokes theirs for Terms of Service violations.  Considering that a stolen credit card number is usually worth only about $10, WoW accounts are actually pretty good targets for theft.</p><p>People steal these accounts via installing old-fashioned key loggers &#8212; Trojan Horses attached to downloaded software that monitor the user and steal their password when they log into WoW.  Generally these keyloggers are attached to fake WoW cheat programs with names like &#8220;<a
href="http://www.youtube.com/watch?v=xldumHDIHeo">WoW stat changer</a>&#8220;, or modern recreations of some early real cheats that no longer work (the &#8220;speed hack&#8221; and &#8220;teleport hack.&#8221;)  Aspiring cheaters download and install these applications and are disappointed to find they don&#8217;t work, but don&#8217;t realize that their account has been stolen when the app was run.</p><p>The best mitigation to this would, of course, be not to download dubious cheat programs for World of Warcraft.  However, since downloading and installing UI add-ons is a normal activity by WoW players, it is perhaps a bit much to expect players to know the difference between a safe UI add-on (written in Blizzard&#8217;s LUA scripting language) and an unsafe one (with real executable code.)  So Blizzard offers a two-factor token, which renders a stolen password useless &#8212; since the dynamic passwords change every minute and are not reusable, keyloggers can no longer steal accounts.  If you&#8217;re a World of Warcraft player who downloads &amp; runs a lot of not-very-trustworthy Internet software, $6.50 is a small price to pay for security.</p><p>The ironic thing about this is that most <em>banks </em>won&#8217;t offer this level of security to their customers.  The loss of my World of Warcraft account would be a minor inconvenience (Blizzard keeps backups, after all, and can &#8220;roll back&#8221; a player&#8217;s account to a previous state upon request), while the theft of bank accounts and credit cards would be much more serious.  Yet my bank offers only passwords for protection, and other <a
href="http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/">banks&#8217; &#8220;two-factor authentication&#8221; isn&#8217;t really</a> (&#8220;something you know&#8221; and &#8220;something else you know&#8221; is not two factors, it&#8217;s one factor repeated twice.)  Banks usually cite cost as the reason, and at the $90 for an RSA token, that sounds reasonable &#8212; but if Blizzard can put out their own tokens at $6.50, banks could, too.  The real reason is that the banks do not want to inconvenience their customers by making them carry around an additional object for access to their accounts.  For the most part, customers care more about convenience than security, and many customers would be locked of their accounts by losing a token than would be saved from theft.  (For that matter, customers don&#8217;t even know it when their bank account <em>isn&#8217;t </em>stolen because of a security measure, so they have no perceived benefit at all.)</p><p>Blizzard&#8217;s answer to the convenience/security tradeoff is to give customers the option &#8212; you can get an Authenticator if you want one, or just use passwords otherwise.  Banks don&#8217;t want to do this, though, because it would make password-only customers <em>feel insecure</em>.  The availability of a token might make them realize how unsafe a password alone is, and they might decide to forgo online banking altogether.  This is the last thing banks want &#8212; online banking is much cheaper than tellers.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Ubuntu/Debian CRNG Cracked &#8211; SSH Vulnerable</title><link>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/</link> <comments>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/#comments</comments> <pubDate>Sun, 18 May 2008 02:41:14 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[attacks]]></category> <category><![CDATA[authentication]]></category> <category><![CDATA[crypto]]></category> <category><![CDATA[passwords]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/?p=50</guid> <description><![CDATA[I don&#8217;t usually post about newly-discovered vulnerabilities, simply because there are so many of them &#8212; a dozen come out every day, especially in web applications.  However, this one has further-reaching consequences.  Security researcher HD Moore (of Metasploit fame) has discovered a vulnerability in the OpenSSL cryptographic random number generator used by Debian Linux, the [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>I don&#8217;t usually post about newly-discovered vulnerabilities, simply because there are so many of them &#8212; a dozen come out every day, especially in web applications.  However, this one has further-reaching consequences.  Security researcher HD Moore (of <a
href="http://metasploit.org">Metasploit</a> fame) has <a
href="http://metasploit.com/users/hdm/tools/debian-openssl/">discovered a vulnerability</a> in the OpenSSL cryptographic random number generator used by Debian Linux, the widely-used distribution on which Ubuntu is based.  As <a
href="http://perimetergrid.com/wp/2007/11/16/backdoored-pnrgs-from-the-nsa/">I have discussed before</a>, flaws in the RNG underlying a cryptosystem can compromise the entire system &#8212; both block ciphers and public-key systems rely on a source of entropy to create the large numbers they work with.  If the bits of entropy in this source is smaller than the key length, a &#8220;back door&#8221; is created &#8212; instead of cracking the key, you essentially &#8220;crack&#8221; the RNG, by trying all the possible seeds and seeing which one produces the key you need.</p><p>In this case, the result of this OpenSSL bug (an erroneous &#8220;bug fix&#8221; made in 2006) is to reduce the entropy in the seed to only 15 bits &#8212; a terribly small number (32,768) in cryptographic terms.  Moore was able to produce all the possible SSH keys that could be generated on this system in a matter of hours, save for those few people using 8192-bit RSA keys (and he&#8217;ll have those in a few days, too.  He&#8217;s placed them all on his website for download.</p><p>So what are the implications of this?  The most important one is SSH authorized keys.  SSH is the secure replacement for Telnet and FTP; security-conscious administrators and users use it instead of older protocols.  SSH has an option wherein instead of using a password to log in, you can save a set of keys in your user account, so that when you connect to another server the keys automatically authenticate you.  It&#8217;s quick, convenient, and generally more secure than passwords &#8212; and thus secures the most sensitive accounts (such as root) on almost all Linux-based servers.  With this exploit, it goes from being more secure than passwords to being much less secure &#8212; 32,768 guesses and you&#8217;re sure to get the right one.  This can be automated in a couple of hours if there is no lockout on the target machine (and the root account is normally not protected by a lockout since doing so means that an attacker can intentionally lock out the legitimate administrators.)  You could even use this as a local attack &#8212; log into your webhost account and run a script that will shortly give you root access to the server (from which you will have root access to most of the <em>other </em>servers at the hosting provider, too.)  Moore&#8217;s website includes a couple of scripts that can easily do this.</p><p>The nasty part about this is that keys are sticky.  Upgrading your Debian/Ubuntu servers to fix the bug is, of course, required.  However, also necessary is to replace every key generated on a Debian-based machine in the last two years (since 5/2/2006.)  It&#8217;s quite a task for administrators to even <em>find </em>all of those keys.  The first step is that if you use SSH to or from a Debian system, you need to immediately delete your authorized_keys and generate new sets (after applying the patch for this bug, of course.)  After that, it&#8217;s important to make sure all your users do the same.  Purging the SSH keys of all the users is not going to be a painless process and will undoubtedly involve some support cost, but keep in mind that <em>not </em>doing so is the equivalent of having all your users using 3-character lowercase alphabetic passwords.</p><p>The harder problem, though, is this: this bug isn&#8217;t really in <em>SSH</em>, it&#8217;s in <em>the OpenSSL libraries</em>.  These are commonly used by all sorts of apps to generate keys &#8212; OpenSSL is practically the Linux equivalent of CryptoAPI/DPAPI on Windows.  Everything uses them.  Essentially, every key generated on a Debian-based system for any purpose whatsoever in the last two years is potentially vulnerable.  You won&#8217;t be able to use HD Moore&#8217;s linked scripts to crack these, but they are all potentially cryptographically feasible now.  This is a <em>major </em>breach; if the NSA didn&#8217;t already know about this vulnerability (which I wouldn&#8217;t rule out), they&#8217;re no doubt engaging in a flurry of excited codebreaking right this minute.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Deterring the Internal Attacker</title><link>http://perimetergrid.com/wp/2008/02/18/deterring-the-internal-attacker/</link> <comments>http://perimetergrid.com/wp/2008/02/18/deterring-the-internal-attacker/#comments</comments> <pubDate>Mon, 18 Feb 2008 19:03:43 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[authentication]]></category> <category><![CDATA[networks]]></category> <category><![CDATA[products]]></category> <category><![CDATA[risk]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/2008/02/18/deterring-the-internal-attacker/</guid> <description><![CDATA[On January 21st, 2008, the major French bank Société Générale lost $7.09 billion attempting to unwind unauthorized trading positions taken by Jérôme Kerviel, a futures trader with the bank. Kerviel had taken positions worth $73.3 billion, far above not only his trading limits but the bank&#8217;s entire market capitalization. The loss taken by unwinding the [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>On January 21st, 2008, the major French bank <a
href="http://en.wikipedia.org/wiki/Soci%C3%A9t%C3%A9_G%C3%A9n%C3%A9rale" title="Société Générale">Société Générale</a> lost $7.09 billion attempting to unwind unauthorized trading positions taken by <a
href="http://en.wikipedia.org/wiki/J%C3%A9r%C3%B4me_Kerviel" title="Jérôme Kerviel">Jérôme Kerviel</a>, a futures trader with the bank.  Kerviel had taken positions worth $73.3 billion, far above not only his trading limits but the bank&#8217;s entire market capitalization.  The loss taken by unwinding the positions during a declining stock market was the largest rogue trader loss in history, dwarfing the $1.4 billion loss by <a
href="http://en.wikipedia.org/wiki/Nick_Leeson" title="Nick Leeson">Nick Leeson</a> that collapsed the venerable Barings Bank in 1992.</p><p>For all that we in the security industry picture threats coming at our companies from without, sometimes the greatest threats lie within.  No external hacker has ever done the kind of damage that rogue insiders like Kerviel and Leeson are capable of, yet we focus on putting firewalls around our companies, rooting out worms and viruses, and securing our websites.  While these are undoubtedly important, it is equally important to protect against internal adversaries &#8212; and often much more difficult.</p><h2>The Problem of Trust</h2><p>Companies must trust their employees &#8212; without the employees, there is no company.   Accountants and traders are trusted with financial records, system administrators and information security personnel are trusted with access to critical files, physical and cleaning personnel are trusted with physical access to the facilities, and managers are trusted with company secrets, strategy, and intentions.</p><p>IT employees and developers are specialists.  As systems increase in complexity, those trusted with building and maintaining those systems are required to obtain knowledge further and further from most people&#8217;s understanding.  Often, knowledge of how to build and maintain these systems also involves the knowledge of how to subvert them.  IT engineers and developers know how their systems break down &#8212; they know their weak points, where they&#8217;re being watched and monitored, and where no one is looking.  This problem isn&#8217;t unique to information technology &#8212; an aircraft mechanic probably knows how to sabotage a plane without leaving a trace, and members of police and military bomb squads are experts on explosives and what cannot be detected or tracked.  And as recent news has demonstrated, traders in brokerages and banks know how the internal controls of their corporations work, and where they break down.  Internal attackers are thus the most dangerous of all &#8212; they are already equipped with the kind of domain knowledge that an external attacker might need to spend weeks or months gathering.</p><p>Although we cannot entirely abandon trust in a company&#8217;s employees, we should consider where this trust comes from and whether or not it is warranted.  Many companies sharply divide the level of trust and privilege given to employees vs. that given to contractors and vendors within their IT and development departments.  The theory is that employees are allied to the company for the long term, and compensated with long-term benefits like retirement plans and vacation time that they will be unwilling to risk for short-term gain while vendors and contractors have less loyalty since they come and go as needed.  However, in today&#8217;s IT world, is this really the case?  I do not doubt that the contractors feel little loyalty for the company, but it is increasingly doubtful that the employees do, either.  The average IT employee&#8217;s tenure at a corporation is now under 18 months &#8212; and thus they place little value on long-term benefits.  Books like <em><a
href="http://www.amazon.com/Corporate-Confidential-Secrets-Company-Know/dp/0312337361/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1201585199&amp;sr=8-1">Corporate Confidential</a></em> advise employees to view their employment relationship as, if not outright adversarial, at least mutually exploitative, to be dropped by either party as soon as it becomes in their interest to do so.  Employees see that corporations no longer feel loyalty to them &#8212; the days of the job for life are over &#8212; and so loyalty to the corporation has gone as well.</p><p>Of course, lacking a strong sense of corporate loyalty does not lead most employees to embark on rogue-trading schemes, steal from their employers, commit electronic sabotage, etc.  And even in the 1950s heyday of the organization man and the corporate family, some people took advantage of their employees and ran off with stolen fortunes.  Some people are thieves and will steal given the opportunity no matter how well-treated they may be.  Others are incorruptible, bound by their own moral code that would prevent them from stealing regardless of opportunity.  The vast bulk of humanity, though, is somewhere in between.</p><p>These employees are not <em>likely </em>to become attackers, and trusting them is a necessary part of doing business.  However, this trust need not be absolute &#8212; we can trust, but verify.  While we may not be able to prevent every internal attack, we can deter them, and make them less likely to occur.  Steps can be taken to help keep most people honest, reducing both the incentive and the opportunity for theft.</p><h2>Building Employee Loyalty</h2><p>The days of the job for life and absolute loyalty to the corporation are probably over for good, inasmuch as they ever existed at all.  However, the fact remains that internal attacks, particularly those not motivated by theft but rather simple vandalism, are much more likely to be carried out by disgruntled and angry employees than by content ones.</p><p>IT employees and developers are sometimes a strange breed &#8212; the sort of person that chooses to spend their time with technology is often different from the sort of person who chooses to be a manager.  So if it&#8217;s not a good retirement plan, an increase in vacation time after 5 years, and a promise of stability and long-term employment, what does build loyalty and goodwill with technical employees?</p><p>(Of course, any generalization about a type of person is going to be more accurate for some people than others, but I&#8217;ve found these to be useful rules of thumb for dealing with technology employees.)</p><ul><li>Autonomy.  Figuring out <em>how </em>to do things is precisely what geeks <em>enjoy </em>about work &#8212; tell them what you want, not how you want them to achieve it.</li><li>Isolation.  Technologists, all told, are not very social.  They do their best work when left alone.  The cubicle is a horrible environment, giving you all the obstacles to collaboration of offices but without any of the privacy.  Offices are ideal for most development work, the only exception being the early stages wherein there&#8217;s a lot more collaboration and brainstorming than actual coding.</li><li>Technology.  People who love technology want to be on the cutting edge.  Using current technology makes them more invested in their jobs.  In addition, it&#8217;s worth investing in the technology they&#8217;ll use every day &#8212; their workstations, displays, etc.</li></ul><p>These are important, but will not, of course, make every employee perfectly happy.  There are some things that technical employees have no patience for at all:</p><ul><li>Arbitrary or emotionally-driven decisions.  Using an older, inferior, or simply less appropriate tool (e.g. programming language, web framework) because &#8220;the boss likes it,&#8221; &#8220;we&#8217;ve always done it that way,&#8221; or &#8220;we&#8217;re a [insert product here] shop&#8221;  really upsets them.  They need real-world reasons for using a technology, like technical benefits or budgetary limitations.</li><li>Anything perceived as unfair.  If employees feel they&#8217;re paid less than market value, or that someone else who&#8217;s not as good as they are is paid more, this breeds resentment.  Trying to keep salaries secret helps not at all &#8212; today&#8217;s employees, especially younger ones, for the most part don&#8217;t understand <em>why </em>salaries should be kept secret, and thus will totally disregard any order to do so. It is important that technical employees see cause and effect in review processes, compensation, etc. and have a clear idea of how their performance is being assessed.</li><li>Internal politics.  Engineers want to get things <em>done</em>, and they don&#8217;t care overmuch who does them &#8212; when engineering solutions, they&#8217;ll totally ignore interdepartmental boundaries. Having to worry about some manager&#8217;s fiefdom-building gets in the way of technical work and is relatively incomprehensible to them.</li></ul><p>When it comes to performance management, technical employees need to be told, directly and clearly, how they&#8217;re doing and what needs improvement (if anything. ) Not being people-oriented, they often can&#8217;t read you.  They don&#8217;t know if you&#8217;re happy with them or not unless you tell them, and they&#8217;re certainly not going to <em>ask</em>.  While they deal extremely well with technical ambiguity &#8212; they love to solve problems, so an incoherent mess from a technical perspective is just a challenge to overcome &#8212; they don&#8217;t deal well at all with ambiguity in other contexts.  Clear expectations and consistent feedback make their job simply another a problem to be solved, which makes it much more satisfying to them.  Without this feedback,</p><p>For many managers, these may seem like obvious guidelines &#8212; but they&#8217;re often problems in companies, particularly in IT and development departments of nontechnical companies. These factors mean a lot to many technical employees &#8212; often a lot more than traditional compensation.  The best prevention against malicious insiders is to keep the insiders from becoming malicious in the first place by ensuring that the company earns their trust and respect.</p><h2>Reducing Opportunity for Attack</h2><p>Unfortunately, no matter what your company does, some people aren&#8217;t going to love their jobs.  In addition, presented with the opportunity to steal, people are going to be tempted &#8212; and the greater the opportunity, the greater the temptation.  Thus, it is important to reduce the opportunity for theft.</p><p>The traditional information security controls are often useless against insiders.  The firewall provides no protection at all against someone already inside.  Anti-virus and anti-malware systems matter not at all to someone who doesn&#8217;t need to gain access to a PC on the network, as they already have access legitimately. Network access controls are impotent against the domain administrator, who has the authority to alter access control lists at will.  Obfuscation and hiding secret data provides no defense against the developer tasked with performing the obfuscation and hiding.</p><p>Fundamentally, a system designed to provide security always involves an implied question &#8212; secure from <em>what? </em> The vault door in a bank secures against burglars coming in in the night &#8212; not against the bank manager turning rogue.  Alarms secure against armed robbers, not against tellers sneaking cash out of the drawer.  Security cameras watch the tellers, but do no good against computer hackers or fraudsters.  Reducing the opportunity for insiders to attack the company means considering how insiders differ from outsiders, and what security measures may be employed against them.</p><p>The primary advantages of an insider are twofold: knowledge and authorization.  They have knowledge of the defenses &#8212;  Jérôme Kerviel had worked in Société Générale&#8217;s internal audit and control department, so he knew exactly how they searched for and detected rogue trades.  And they have authorization in that an internal attack often does not involve any sort of elevation of privilege &#8212; only an employee misusing their legitimate authority.  Even the right to be inside the building, rather than having to break in through a firewall, is a measure of authority an outsider lacks.</p><p>However, insiders also have a disadvantage as compared to outsiders: proximity. It is often much easier to verify a suspicion that someone has committed a crime than it is to find the culprit to begin with.  As is often depicted in crime dramas and classic mystery plots, investigators have a much easier time finding out who committed a crime when they have specific suspects to question and investigate than when a crime is committed by a random stranger with no known connection with the victim. Fingerprints and DNA evidence do little good if you have no suspect to compare them <em>to</em>.  The same goes for electronic forensics &#8212; a hacker will often leave plenty of evidence of their activity on their own computer, and a monitoring device at their ISP would likely detect their activities.  However, if the hacker is external, or even in a foreign country, as a security professional you&#8217;re unlikely to have any idea where their computer is, let alone have access to it.  When an insider attacks, on the other hand, the traces can be very obvious.  Attacks come from IPs within your perimeter, and your own monitoring equipment might have seen the entire attack end-to-end.  The simple fact that there are only so many people inside the company <em>capable </em>of mounting an electronic attack limits the suspects and allows each to be investigated.</p><p>Smart insiders know this.  While an outsider may believe he is able to hide from detection simply by being a needle in a haystack (how many companies <em>really </em>inspect all their edge firewall logs, even with an automated process?), an insider knows that he&#8217;s under observation and has a substantial chance of getting caught.  Thus, he will almost always take steps to cover their tracks &#8212; steps an outsider would take, too, but the insider has the advantage of <em>legitimate authorization </em>to bolster his abilities.</p><p>Deterring internal attackers, then, involves neutralizing their advantages while maximizing their disadvantages.  There is little to be done about their first advantage (knowledge of internal procedures), but actions <em>can </em>be taken to mitigate the power of legitimate authorization and to maximize the disadvantage of proximity.</p><h2>Preventing Abuse of Legitimate Authority</h2><p>Developers can modify the source code of your product &#8212; that&#8217;s what developers do.  System administrators can change permissions on files and access secured areas &#8212; that&#8217;s their job.  However, no <em>one </em>person should have the ability to do <em>everything</em> &#8212; this is the principle behind separation of duties.</p><p>Separation of duties enables legitimate tasks to be carried out while making it more difficult for these same powers to be abused.  There are three basic controls that can be placed on a power to help prevent abuse:</p><ul><li>Authorization: determines if a person has the right to perform a task</li><li>Recording: keeps a record of when, how, and by whom the task has been performed</li><li>Custody: actually carries out the task</li></ul><p>For example, imagine your company needs to deploy new code to a server in a datacenter.  The person responsible for the authorization function sets the access control policies on the various machines to determine who has access.  The person or system responsible for the recording function makes entries in change-control logs so that it is clear what has been done.  The person with custody of the system actually places the new files on the server.  In a small company &#8212; or one with poor internal controls &#8212; these could all be the same person.</p><p>If these tasks are all handled by the same person, the potential for abuse is very high.  If this person wants to propagate malicious code to the servers that monitors transactions or even steals money from accounts, he can do so.  He can authorize himself or another (possibly even a fake account) to make any change desired, carry out the task, and then erase or suspend the logs or records of not only the action but also the authorization changes.</p><p>On the other hand, if separate people are responsible for each of these tasks, none of them is capable of perpetrating a fraud on their own.  This process could be organized as follows:</p><ul><li>A product team or business owner is responsible for developing the system and determines who can modify the code.</li><li>A division of the IT department is responsible for all audit logging throughout the environment, regardless of who owns the particular servers.</li><li>An operations engineer is responsible for actually placing code on the servers; the developers never have access directly to the production datacenter.</li></ul><p>This makes fraud much harder.  A member of the product team can tamper with the code, but has no way to actually get it into the datacenter.  An operations engineer can access the datacenter, but lacks access to the code.  And either one making a change leaves a trail &#8212; since audit logging is controlled by another team within IT, neither are able to turn auditing off or simply overlook suspicious entries.</p><h2>Maximizing the Chance of Detection</h2><p>Separation of duties limits the ability of a person with legitimate authority to abuse it.  However, the is another thing that can be done to those people with the ability to abuse their authority from actually doing so &#8212; cause them to believe they are likely to be caught.  Internal attackers know what audit and logging systems are being used within an environment, and they know where the &#8220;blind spots&#8221; in those systems are.  Many criminals commit a crime only when the opportunity presents itself.  By eliminating failures in monitoring, we eliminate temptation as well as improving our forensic abilities.</p><p>Most of the systems used in a modern IT environment have extensive auditing capabilities.  (Note that I am using the word &#8220;auditing&#8221; in the sense of creating an audit trail, not in the sense of some external consultant or accountant reviewing that trail.)  Windows machines create an event log of almost everything that happens on them; in an ActiveDirectory domain, security events are also logged on the domain controller.  UNIX/Linux/Solaris machines create various system logs, and have the ability to send them to remote machines as they occur.  Databases like Oracle and SQL Server have fine-grained audit capabilities and are able to record every access to sensitive data and even detect potential data aggregation attacks.  Web servers record every access, as do keycard-based entry control systems, VPN concentrators, firewalls, and a variety of network devices.  An attacker, even an internal one, leaves a bewildering array of changes, alerts, and traces every time he does anything.</p><p>However, this does little good if no one notices the tracks!  In addition, they are often ephemeral &#8212; a Windows Security Event Log will grow too large and begin overwriting itself in a matter of hours in a large corporation.  If the logs are not available to investigate an incident, they might as well not exist at all.</p><p>One of the most powerful ways a company can prevent internal attacks is with the implementation of a Security Information and Event Management product.  There are several of these on the market (I have experience implementing the SenSage event data warehouse, but ArcSight, Symantec, IntelliTactics, Computer Associates, and others have competing products,) but the idea behind all of them is to gather event data from a variety of sources and aggregate it in one place.  This has two major advantages:</p><ul><li>The data is centrally managed by a separate custodian than the one that controls the various systems it came from, thus providing separation of duties.  The system administrators of the systems creating the logs cannot tamper with the logs.</li><li>Data from disparate sources is correlated together, thus detecting attacks in progress and tracing attacks back to their source during an investigation.  Forensics is made easier and more effective.</li></ul><p>Different SIEM systems have different advantages, and while all will provide separation of duties, some are better at handling massive data volumes than others.  Likewise, the data mining involved in event correlation is still a black art in many cases, so different systems have different capabilities in that regard.  However, just knowing that a SIEM exists, is monitored, and is out of reach for would-be fraudsters to tamper with can be a powerful deterrent against rogue employees.</p><h2>Conclusion</h2><p>The possibility of internal attacks is an unfortunate consequence of the specialization of modern society &#8212; those with the capability to build and maintain complex systems are often those best able to compromise and abuse them.  However, good design of internal controls centered around separation of duties combined with judicious use of technical information-management solutions greatly reduces the opportunity for insiders to turn against a company&#8217;s infrastructure.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2008/02/18/deterring-the-internal-attacker/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Why Hackers Love Wi-Fi</title><link>http://perimetergrid.com/wp/2007/11/28/why-hackers-love-wi-fi/</link> <comments>http://perimetergrid.com/wp/2007/11/28/why-hackers-love-wi-fi/#comments</comments> <pubDate>Wed, 28 Nov 2007 18:54:56 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[anonymity]]></category> <category><![CDATA[attacks]]></category> <category><![CDATA[authentication]]></category> <category><![CDATA[crypto]]></category> <category><![CDATA[risk]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/2007/11/29/why-hackers-love-wi-fi/</guid> <description><![CDATA[Hackers love wireless networking. At DefCon 15, it was easy to predict which sessions would have lines running out the door and require getting there well in advance for a seat &#8211; it was the sessions with &#8220;wireless&#8221; or &#8220;Wi-Fi&#8221; in the title. The Wireless Village was very popular, and many of the hacking contests [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>Hackers love wireless networking. At DefCon 15, it was easy to predict which sessions would have lines running out the door and require getting there well in advance for a seat &#8211; it was the sessions with &#8220;wireless&#8221; or &#8220;Wi-Fi&#8221; in the title. The Wireless Village was very popular, and many of the hacking contests involved wireless access points.Why do hackers love wireless networks? Really, there are two reasons, and those two together have some scary implications for risk on the modern Internet.</p><h3>1.) Wireless Networks Use Shared Media</h3><p>Back in the 80&#8242;s and 90&#8242;s, most wired Ethernet networks were based on shared media topologies. In principle, when you plugged into an Ethernet network and sent a packet, the packet on the wire (the actual electrical impulses) went to every other machine on the network. Hubs were simple repeaters, broadcasting everything they received. Only when your signals reached the router at the Internet edge were they actually intelligently processed. Thus, every computer on the LAN got every packet &#8211; the network cards just threw away any packets whose destination address specified another computer. However, a hacker wanting to eavesdrop on others had an easy job &#8211; just toggle the network card into &#8220;promiscuous mode&#8221; (a hard task on some network cards and OSs, but completely trivial on others) and it will receive every packet, giving you a god&#8217;s-eye view into the network. Protocols were mostly unencrypted then, too &#8211; so you saw everyone&#8217;s email, their paswords as they logged into Telnet or IMAP, etc. You could also spoof traffic &#8211; since you saw the packets sent by others, you could simply send responses back claiming to be the recipient. So long as your response arrived before the real one, yours would be accepted and the actual response discarded as out of sequence. It was the golden age of network-protocol hacking. Such easy access to passwords made other types of hacking easy, too &#8211; once you had the password to someone&#8217;s UNIX account or email box, there was a very good chance it would work on all their other accounts, too.</p><p>Then it all changed. Shared media has significant disadvantages as it scales &#8211; since everyone is dumping packets onto what essentially amounts to a single wire, collisions occur when two systems transmit simultaneously. Both then have to back off, slow down, and retransmit their garbled packets. The packets are tiny (Ethernet frames are normally restricted to 1500 bytes or less), but if you have 100 systems communicating at once, collisions can become quite frequent. Plus, even in the late 90&#8242;s people were not totally unaware of the security risks &#8211; the fact that any student could read all the network traffic of everyone else in their dorm was not considered desirable by universities, for instance. Thus, Ethernet was converted over to switched media. Switches, unlike hubs, do not treat all ports as equal. Instead, they remember which ports they have received traffic from an address on, and only forward traffic to an address to those ports. Traffic is only broadcast to all ports when a switch has no idea for which port it is intended, or when a packet is actually marked as a broadcast. Now, when you put your Ethernet card in promiscuous mode, all you hear is traffic meant for you &#8211; everything else has been blocked by the switch. Suddenly, packet sniffers went dead &#8211; there was nothing to see anymore. Ethernet became a lot more secure.</p><p>But wireless changes things again. Wireless networks are shared media, and they are shared inherently, in a way that cannot be changed. Radio waves fly in all directions. There is no way for your laptop to transmit only to another laptop or an access point &#8211; all radio is broadcast. Thus, when you sit down in a coffee shop and turn on wireless, you begin broadcasting everything to everyone within range (about a mile, for attackers who have good antennas and high-power network cards.) The shared media nature can be mitigated somewhat via cryptography &#8211; if all the traffic to the access point is encrypted, it hardly matters if someone can eavesdrop since they can&#8217;t understand it anyway. But open access points are, by their nature, open &#8211; they&#8217;re either not encrypted at all, or they&#8217;re encrypted in such a way that everyone is using the same key. Once the hacker has the key (either by cracking it, which is not hard on most Wi-Fi networks, or by simply paying as a legitimate user of the wireless hotspot), they can read all the traffic just like in the hub-based glory days of old.</p><p>There are solid wireless encryption systems. A network based on WPA2 with a strong passcode is quite secure, about as good as a wired connection (keeping in mind that &#8220;as good as a wired connection&#8221; is not an absolute guarantee of safety, either.) Modern encryption systems like AES coupled with 802.1x certificate-based authentication can make a well-engineered corporate wireless LAN quite safe.</p><p>But hackers don&#8217;t love well-engineered corporate wireless LANs. They love the terrible ones in coffee shops and bookstores and your house. On these networks, they can listen to all traffic, they can spoof traffic, and they can even kick people off and hijack their connections, or edit their connections on the fly. The &#8220;airpwn&#8221; attack from a DefCon 2-4 years ago was particularly amusing; using two wireless cards, it would sniff everyone&#8217;s HTTP traffic on one connection, then on the other card spoof responses to all requests for images, substituting other images (such as the hacker group&#8217;s logo, or more unsavory fare like the infamous goatse.cx site; that is not a hyperlink on purpose, do not navigate to that URL as it is not safe for work or, indeed, for anywhere else.) The result was that one laptop at a security conference was able to dynamically edit the HTTP streams of everyone else there &#8211; hundreds of people. That&#8217;s the kind of power a hacker can have on a shared-media network. In addition, on these sorts of networks, it&#8217;s trivially easy to hijack sessions. This means that on any site that uses HTTPS for authentication only, but then HTTP for the actual service (a category that includes all of the Google apps like GMail, as well as all the Yahoo! and Windows Live services), a hacker gains full access to your account if they overhear any of your wireless traffic.</p><p>The only truly safe way to use a public wireless hotspot is to use it only to VPN to a network you trust. Anything else is dangerous.</p><h3>2.) Wireless Networks Provide Plausible Deniability</h3><p>The legal system is not terribly friendly to hackers. Even innocuous and non-destructive activity, when applied to networks you don&#8217;t own, is often illegal. Now, for the most part hackers don&#8217;t worry overmuch about getting caught &#8211; if you don&#8217;t cause more than $5,000 in damages, the FBI won&#8217;t get involved, and the average local police department is about as capable of investigating sorcery as computer crime. However, when a hacker does worry about legal prosecution, a public wireless network is the next best thing to Siberia for where to commit a crime from.</p><p>When you do anything on the Internet, a host of servers are recording your activity based on your IP address. IP address, however, is not necessarily long-lived. Depending on how you access the Internet, your IP address might change every time you plug your computer in, or reboot, or move from building to building. Thus, investigators must be able to tie the IP address they know committed a crime to a specific, physical person.</p><p>With wireless, this is a problem. All the sites being attacked don&#8217;t see the IP address of the hacker &#8211; they see the IP address of the wireless access point. Thus, they have to subpoena the owner of the access point and demand to know who was using it. In the case of a well-designed corporate wireless LAN, they can check their logs to see which 802.1x certificate was using that IP at that time, and uniquely identify you. But in the case of a public hotspot, there probably aren&#8217;t any logs at all! They&#8217;re completely incapable of giving you up. And even should someone who was there say &#8220;I saw a shifty guy in the corner using a laptop!&#8221; to the police, that&#8217;s not going to be enough evidence. And if there are logs, they will tie your traffic to your MAC address, a unique code assigned to your network card at the factory.</p><p>Most people think MAC addresses cannot be changed, so it uniquely identifies your network card. If the police get a hold of your network card, they&#8217;ve caught you. This is actually totally untrue. Many network cards will allow you to change the MAC address to whatever you want (in Windows, it&#8217;s on Connection Properties -&gt; Configure -&gt; Advanced -&gt; Physical Address), though this is entirely up to the network driver. Many Windows drivers block this functionality, thinking that users don&#8217;t need it. On Linux, however, the network drivers have been written by geeks, who operate under the impression that users need everything. Thus, on Linux systems changing your MAC address is as simple as typing one command (&#8220;macchanger eth0 00:11:22:33:44:55″), and you can even configure the network stack to give you a new, random MAC address every time you connect to a network.</p><p>As a result, a trail that leads to a wireless hotspot is basically a dead end for investigators. They get nothing but a fake MAC address that could correspond to any computer within a 1-mile radius &#8211; the hacker might not have even been in the building. Hard to get &#8220;beyond a reasonable doubt&#8221; out of that.</p><p>And those are why hackers love wireless networking. It&#8217;s like the 80&#8242;s phone networks, where a hacker can be a ghost in the machine, undetectable, and with tremendous power. It&#8217;s a dangerous place.</p><p>You might wonder, if wireless networks are so anonymous, how hackers ever get caught. Actually, there are three main ways:</p><ol><li>They get stupid, and brag about what they did.</li><li>They get stupid, and while performing their illegal activities they also do something that identifies them, like log into their email account.</li><li>Investigators follow the money. We don&#8217;t catch you breaking into the bank, we see where you sent the money to. We don&#8217;t catch you stealing credit card numbers, we catch you using them.</li></ol><p>Luckily for those of us in the business of investigating and preventing computer crime, wireless networks won&#8217;t save criminals from their own stupidity, and you can&#8217;t send cash through the airwaves.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2007/11/28/why-hackers-love-wi-fi/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>SMB Reflection Made Way Too Easy</title><link>http://perimetergrid.com/wp/2007/11/27/smb-reflection-made-way-too-easy/</link> <comments>http://perimetergrid.com/wp/2007/11/27/smb-reflection-made-way-too-easy/#comments</comments> <pubDate>Tue, 27 Nov 2007 23:32:27 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[attacks]]></category> <category><![CDATA[authentication]]></category> <category><![CDATA[crypto]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/2007/11/27/smb-reflection-made-way-too-easy/</guid> <description><![CDATA[Windows file sharing operates via an old protocol called SMB (Server Message Block.) In modern Windows operating systems, it operates over TCP/445, though older versions of Windows also made use of NetBIOS (UDP/137, UDP/138, and TCP/139). Due to the ubiquity of Windows file shares on corporate Intranets, in general these ports are open to basically [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>Windows file sharing operates via an old protocol called SMB (Server Message Block.)  In modern Windows operating systems, it operates over TCP/445, though older versions of Windows also made use of NetBIOS (UDP/137, UDP/138, and TCP/139).  Due to the ubiquity of Windows file shares on corporate Intranets, in general these ports are open to basically everyone on the internal network, though they are blocked at edge firewalls.  Even UNIX/Linux machines often use these ports, due to a Windows-file-sharing-compatibility package called SaMBa.</p><p>There have been many security vulnerabilities in NetBIOS in the past, and some in SMB, so these protocols are (rightly) considered moderately risky by network administrators.  However, scarier than any of these patched vulnerabilities is the flaw in the design &#8212; SMB is subject to a sort of replay attack, called SMB Relay or SMB Reflection.</p><p>SMB at first appears safe from replay attacks.  After all, it uses <a
href="http://www.hcsw.org/reading/chalresp.txt">challenge-response authentication</a> (normally; there is a protocol for SMB with cleartext, but basically no client or server will accept this protocol now), whose whole purpose is to prevent eavesdropping and relay.  If you try to replay the same response to a server, it won&#8217;t work, because the challenge is different.  There are three ways SMB allows challenge-response authentication &#8212; LANMAN, NTLM, and two-way NTLM.  In any case, the principle is the same &#8212; the client asks to authenticate, the server sends a challenge, the client encrypts the challenge with a password, and sends the encrypted result as a response.</p><p>So how do you perform a replay attack on SMB?  Via SMB Relay (to attack another host) or SMB Reflection (to attack the client.)  It goes like this:</p><ol><li>Client (C) connects to you (a malicious server, M) and asks for a challenge.</li><li>M connects to C in a separate sessions and asks for a challenge.  It still has the connection from (1) on hold, having not responded yet.</li><li>C receives the request from M, and responds with a challenge (challenge_C).</li><li>M takes challenge_C, modifies it to appear to be coming from M (challenge_M), and responds to the connection from (1) with it.</li><li>C finally receives the challenge (challenge_M) that it asks for.  It uses its credentials to respond to it (response_M).</li><li>M receives response_M, which is correct for challenge_M, and so grants C the access it requested.  Of course, this response <em>also </em>matches up with the challenge it&#8217;s holding onto (challenge_C).  It forwards it right back to C as response_C.</li><li>C receives response_C, which is correct for challenge_C, and so grants M the access it requested.</li></ol><p>No, C doesn&#8217;t ever realize that it just received and responded to the challenge that it, itself, sent out moments before.  By requesting access to M, I have unwittingly given it all it needs to authenticate against me at the same time.  It can&#8217;t be carried out later &#8212; the reflection attack has to happen at the moment I am trying to connect.</p><p>Note that this is a design flaw &#8212; there&#8217;s no &#8220;bug&#8221; to patch here (I suppose Microsoft could modify SMB to ensure that it&#8217;s not responding to its own challenges; it would be possible but not trivial), this is the behavior of SMB since time immemorial.  No buffer overrun is exploited; SMB is acting precisely as it&#8217;s intended to.  This issue has been known since 2001.</p><p>Host firewalls like Windows Firewall and ZoneAlarm help some &#8212; at least, they keep SMB Reflection attacks out.  However, they don&#8217;t help if the attack is coming from a zone you trust &#8212; i.e. if you&#8217;re sharing files with your corporate Intranet, someone on the corporate Intranet can attack you this way if you try to authenticate against them.  And it also doesn&#8217;t stop SMB <em>Relay </em>&#8211; if I connect to M with my firewall up, he can&#8217;t use reflection to attack <em>me</em>, but he can relay to yet another host and impersonate me, passing me its challenge and relaying my response to the remote host.</p><p>It actually gets a bit worse than this, because the NTLM package used to authenticate SMB is the same one used to authenticate you against Intranet websites in Internet Explorer.  The attacker might not need to get you to try to make a file-share connection to him; a web connection can be sufficient.</p><p>This attack sounds relatively tricky to carry out, and it is&#8230; by hand.  However, the ever-popular <a
href="http://www.metasploit.org">Metasploit Framework</a> contains an SMB Relay module (which also works for SMB Reflection) that makes it quite quick and easy (you need the live-tree version of Metasploit out of CVS, not the release build, as the module is relatively new and was just demonstrated at Defcon 15 this August.)  You do have to disable SMB on your computer to use it, though (which is simple on Linux, but on Windows involves unbinding the Server service.)</p><p>This makes SMB reflection trivial.  You load the module, tell it your IP address, load your choice of many payloads (such as having a shell started and passed to you, or simply having an SMB connection opened that you can do with as you will), and then wait for someone to connect to you.  You can either specify a target server if you want SMB Relay, or leave that unspecified for an SMB Reflection back to the person connecting.  The only thing Metasploit won&#8217;t do for you is make people connect to you.</p><p>So the moral of the story is apparently to be careful who you connect to, especially on local networks where your file-sharing ports are open.  That&#8217;s a pretty good moral in general&#8230; but it&#8217;s really not enough.  People who run Windows Firewall often have a blanket exception for File &amp; Printer Sharing, which opens port TCP/445&#8230; if you&#8217;re not behind a home firewall or router, this sort of attack may be able to be carried out on you from <em>any site on the Internet</em>.  And tomorrow, I&#8217;ll be talking about why nothing of any kind is ever safe on a public wireless hotspot.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2007/11/27/smb-reflection-made-way-too-easy/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Passwords Aren&#8217;t Secure; Two-Factor Auth on a Credit Card</title><link>http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/</link> <comments>http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/#comments</comments> <pubDate>Tue, 30 Oct 2007 20:41:23 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[authentication]]></category> <category><![CDATA[hardware]]></category> <category><![CDATA[passwords]]></category> <category><![CDATA[products]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/</guid> <description><![CDATA[A pair of companies called Innovative Card Technologies and eMue Technologies have put out a press release for a one-time-password token embedded in a credit card. Essentially, they embed a smart chip and an LCD display inside a bank card. When you need the password to your account (such as to log into online banking), [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>A pair of companies called <a
href="http://www.incardtech.com/">Innovative Card Technologies</a> and <a
href="http://www.emue.com/">eMue Technologies</a> have put out a press release for a one-time-password token <a
href="http://www.infosecurityproductsguide.com/technology/2007/InnovativeCardTechnologies.html">embedded in a credit card</a>.</p><p>Essentially, they embed a smart chip and an LCD display inside a bank card.  When you need the password to your account (such as to log into online banking), you type your PIN into the card itself, and the display shows your password.  This provides true two-factor authentication (something you have &#8212; the card &#8212; and something you know &#8212; the PIN) for online financial transactions, and is tamper-resistant.</p><p>Now, OTP tokens are not new.  RSA has been producing the SecurID line for over a decade.  However, they have not been widely adopted for online banking because of bulk and inconvenience.  Nobody wants to have an extra device (they&#8217;re usually keychain fobs) that they have to find every time they log into their bank&#8217;s website.  People want this even less because of the lack of standardization &#8212; you&#8217;d need one for <em>every </em>bank or credit card you have, and you&#8217;d need to be able to tell them apart.  Embedding it in the card itself, though, solves this customer inconvenience.  After all, you have the card on you anyway.</p><p>The trick now is to get banks to actually adopt this thing.  This is very convenient for customers, and makes them substantially more secure.  However, it requires the banks to actually buy the devices for all their customers &#8212; and eMue/InCard don&#8217;t say on their web site what they cost.  An RSA SecurID keychain fob, however, costs $86, so I wouldn&#8217;t be terribly surprised if the cost to the banks of these cards is similar.  And because of the costs, banks, like corporations, are inclined to go for what Alex at <a
href="http://worsethanfailure.com">Worse Than Failure</a> whimsically calls &#8220;<a
href="http://worsethanfailure.com/Articles/WishItWas-TwoFactor-.aspx">Wish-It-Was-Two-Factor Authentication</a>:&#8221; simply requiring you to provide something you know, and&#8230; something else you know.</p><p>The problem is that passwords are simply not very secure anymore.  There was a time when even a modest password (say, an 8-letter combination not found in the dictionary) was pretty secure against most attackers.  However, that time has passed; there are too many ways to crack a password.  For example, if I want a user&#8217;s password so I can log into his online banking site, I could:</p><ol><li>Lure him to my website, which installs spyware on his machine which records what he types.</li><li>Intercept his communication to the website and grab the password (mitigated by SSL login)</li><li>Steal his session cookies and hijack the session (mitigated by using SSL beginning-to-end on the website &#8212; common for banks/financial institutions, but rare for online email and other sites)</li><li>Wait for him to sign onto a public wireless hotspot, spoof the bank&#8217;s website, and steal the password with a man-in-the-middle attack (gets past the mitigations in #2 and #3)</li><li>Break into his email account, tell the website I &#8220;forgot&#8221; my password, and read the password-reset email it sends</li><li>Break into the banking website itself and get the encrypted password file.  Admittedly, in this case I probably don&#8217;t even need to get his password anymore.  But if I do, I can then use a rainbow table to break the encryption in seconds.  A 12-character password with numbers and symbols still falls in seconds.</li><li>Break into any other website the user subscribes to; chances are he uses the same password on all of them</li><li>Send a phishing email tricking the user into supplying me with his password.  He won&#8217;t fall for that?  Send one asking him to sign up for some other service and create a username and password, then see #6</li></ol><p>Password strength is irrelevant.  Today, there&#8217;s really only two levels of password strength:</p><ol><li>Guessable &#8212; blank, &#8220;password,&#8221; &#8220;secret,&#8221; your pet&#8217;s name, your wife&#8217;s birthday, a dictionary word</li><li>Not guessable &#8212; something meaningful only to you</li></ol><p>There is not much variation in #2 &#8212; whether your password is &#8220;i like cheese&#8221; or &#8220;jR3&amp;sJ7#iK9(wV2$&#8221; makes little difference (it makes no difference whatsoever to the 8 attacks listed above), but the former is far easier to remember.  The problem with passwords isn&#8217;t that they&#8217;re too short, or not complex enough &#8212; it&#8217;s that a password is <em>just data</em>, and there are many ways to steal data.</p><p>So why do banks and corporate IT departments keep harping on longer, more complicated passwords?  Why do banks require you to answer &#8220;secret questions?&#8221;  (Technically called cognitive passwords &#8212; things like &#8220;what was your high school&#8217;s mascot?&#8221; &#8212; these are really just extra passwords, only required to be easily guessable.)  Simple &#8212; it passes the cost, both in money and in effort, on to you.  Asking the customer to answer extra questions, or the IT user to remember harder passwords, puts the onus of maintaining security on them.  The IT department or bank doesn&#8217;t have to do anything at all to implement these &#8220;solutions&#8221; &#8212; it just asks you to do it.  In the case of banks, there&#8217;s the added benefit of making people believe (falsely) that they are more secure by jumping through these hoops.</p><p>The problem is that these methods don&#8217;t actually do anything.  Asking for &#8220;something you know and something else you know&#8221; is pointless; whatever method is used to steal the first password can also steal the cognitive password.  Requiring strong passwords mitigates only against attack #6 above (stolen password database), and these days it doesn&#8217;t do even that (if your password is under 14 characters I can crack it in seconds with a rainbow table; even if the hashes are salted, preventing that sort of attack, distributed cracking with GPU offload will still get it in days.)  What is needed is true two-factor authentication &#8212; not just for banks, but for anything online for which real authentication is required.</p><p>Unfortunately, this requires banks to shoulder the cost of providing either a token or a biometric reader to all their customers.  The token is the simpler solution, though it has the disadvantage that, since there is no common token infrastructure out there, every bank or site has to do it.  A biometric solution would scale better (one reader for every site,) but has a first-mover problem (which bank is going to give you the reader, thereby subsidizing all the other banks you use?) and may have robustness issues.  This token-on-a-card technology is a good way to provide real security without inconveniencing the customer, and I hope to see it go somewhere.</p><p>Unfortunately, this is a case where the &#8220;<a
href="http://en.wikipedia.org/wiki/Security_theater">security theater</a>&#8221; (as <a
href="http://www.schneier.com/">Bruce Schneier</a> calls it in <a
href="http://www.amazon.com/exec/obidos/ASIN/0387026207/counterpane/"><em>Beyond Fear</em></a>) interferes with real security.  Banks have been telling us that their sites are secure, and their silly questions keep us safe.  How do they now convince us that we&#8217;re not safe and we need to prefer the bank with the token-on-a-card?  Without competitive pressure, there&#8217;s little incentive for banks to spend the money &#8212; but banks are loath to exert competitive pressure that harms public trust in the banking system.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Password Cracking Moves to the GPU</title><link>http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/</link> <comments>http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/#comments</comments> <pubDate>Thu, 25 Oct 2007 03:00:44 +0000</pubDate> <dc:creator>Grant Bugher</dc:creator> <category><![CDATA[authentication]]></category> <category><![CDATA[hardware]]></category> <category><![CDATA[passwords]]></category> <category><![CDATA[products]]></category><guid
isPermaLink="false">http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/</guid> <description><![CDATA[A company called Elcomsoft has just put out a press release promoting the newest version of their Distributed Password Recovery tool, which is now capable of making use of the GPU (graphics processing unit) on modern 3D video cards for breaking password hashes. Password hashes have been weak for quite a while now &#8212; as [...]<p></p> ]]></description> <content:encoded><![CDATA[<p>A company called <a
href="http://www.elcomsoft.com">Elcomsoft</a> has just put out a <a
href="http://www.elcomsoft.com/EDPR/gpu_en.pdf">press release</a> promoting the newest version of their <a
href="http://www.elcomsoft.com/edpr.html?r1=pr&amp;r2=gpu_071022">Distributed Password Recovery </a>tool, which is now capable of making use of the GPU (graphics processing unit) on modern 3D video cards for breaking password hashes.</p><p>Password hashes have been weak for quite a while now &#8212; as far back as 1997, it was practical, if you got a hold of the SAM hive from a Windows machine or the shadow file from a UNIX machine, to brute-force crack the passwords stored inside so long as they were relatively short and didn&#8217;t make use of obscure characters (hence all those &#8220;password complexity&#8221; guidelines urging you to use long, incomprehensible passwords.)  However, at this point you could usually crack even a strong password in a few weeks using a desktop machine.  This development cuts password cracking time by a factor of 20 or more.</p><p>Why is the GPU so much better than the CPU for cracking password hashes?  Parallelism.  Rendering a screen of graphics essentially consists of doing one task &#8212; figuring out what color a pixel on the screen should be &#8212; many, many times every second.  As a result, graphics cards are optimized for doing many simple tasks simultaneously.  CPUs, on the other hand, can do one task much faster than a GPU, but only do one thing at a time (multitasking is largely an illusion, as the CPU switches between tasks very quickly.)  We&#8217;re just now seeing dual-core and quad-core CPUs, but a &#8220;dual-core GPU&#8221; would be nonsensical &#8212; they&#8217;ve got 10 or more processing pipelines already.</p><p>The <a
href="http://www.elcomsoft.com/edpr.html?r1=pr&amp;r2=gpu_071022">Elcomsoft software</a> further speeds up password cracking by allowing you to offload processing to many different machines, so each box tries a different section of the keyspace. If you have access to many machines, this can make it a very quick task.</p><p>Of course, sometimes you don&#8217;t need to go through this much work to crack a password.  For any Windows password 14 characters or shorter, you can already crack it in seconds with a <a
href="http://www.antsight.com/zsl/rainbowcrack/#Rainbow%20Table">rainbow table attack</a>.  There are even online services that will do it for you for a small fee &#8212; you input the hash and PayPal a few bucks to them, they give you the password; if you&#8217;re willing to spend a few days on BitTorrent getting 64+ GB of data, you can get your own <a
href="http://rainbowtables.shmoo.com/">rainbow table</a> for free.</p><p>So how do you make a safe password, when a table can crack it in seconds or new software in days, no matter how good it is?  You don&#8217;t.  There is basically no such thing as a strong password anymore &#8212; there is the total insecurity of having <em>no </em>password, or the moderate security of having <em>a</em> password.  If someone manages to break into a server that your password works on, they <em>will</em> get your password if they want it.  Not re-using passwords on multiple sites and servers is thus quite important if you care about what&#8217;s on it (we all use the same password on random registrations on the Internet, but you shouldn&#8217;t use that password for banking, too.)  However, the only long-term solution to this is two-factor authentication; the password alone just isn&#8217;t enough anymore.</p><p></p> ]]></content:encoded> <wfw:commentRss>http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 14/19 queries in 0.064 seconds using disk: basic

Served from: perimetergrid.com @ 2012-05-18 15:26:32 -->
