• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 94, comments - 250, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            [Ph4nt0m] [zz]The Emergence Of A Theme

            Posted on 2008-08-29 10:17 Condor 閱讀(6811) 評論(2)  編輯 收藏 引用

             

            I'm not sure what it is, but there continues to be some sort of "competition" for "who can find the biggest bug" -- as if attackers had to choose, and more importantly, as if any bug was so big that it could not be made even better by combined use with its "competition".  Before my DNS talk, my old friend FX from Recurity Labs was comparing DNS issues to the Debian Non-Random Number Generator issue that caused all sorts of SSL certificates to offer no security value, and the SNMPv3 flaws that allowed infrastructure devices to be remotely administered by people who happened not to know the password.

            Of course, after the talk, it became clear that the DNS hack and the Debian NRNG combined rather destructively -- DNS allowed you to finally play MITM with all the SSL private keys you could trivially compute, and as Ben Laurie found, this included the keys for Sun's OpenID authentication provider.  And, since the DNS hack turns Java back into a universal UDP and TCP gateway, we end up being able to log into SNMPv3 devices that would otherwise be protected behind firewalls.

            So there's no sense making a competition out of it.  There's just an ever growing toolchest, growing from a single emerging theme:

            Weaknesses in authentication and encryption, some which have been known to at least some degree for quite some time and many of which are sourced in the core design of the system, continue to pose a threat to the Internet infrastructure at large, both by corrupting routing, and making those corrupted routes problematic.

            Back in July, the genuinely brilliant Halvar Flake posted the following regarding the entire DNS issue:

            "I fail to understand the seriousness with which this bug is handled though. Anybody who uses the Internet has to assume that his gateway is owned."

            And thus, why 75% of my Black Hat talk was on the real-world effectiveness of Man-In-The-Middle attacks: Most people aren't as smart as Halvar.  I'm certainly not :)  Almost nobody assumes that their gateway is owned -- and even those that do, and try to engineer around it, deploy ineffective protections that are only "secure unless there's an attacker".

            I say this is a theme, because it is the unifying element between some of the year's most high profile flaws.  There are two subclasses -- some involve weak authentication migrating traffic from one location to another, while others involve weak authentication allowing an attacker to read or modify traffic migrated to him -- but you'd have to have some pretty serious blinders to not see the unifying theme of weak authentication leads to pwnage.

            Consider:

            Luciano Bello's Debian NRNG: This involves a core design requiring the generation of random numbers, but the random number generator required a random seed, but alas, the seed was made insufficiently random.  It's an implementation flaw, but barely -- and the effect was catastrophic failure against members of the X.509 PKI authentication system that had used the Debian NRNG, and thus by extension SSL's encryption logic and OpenID (for Sun's) authentication gateway.

            Wes Hardakar's SNMPv3 Bug: Here, we have an authentication protocol that allows an attacker to declare how many bytes he wants to have to correctly provide.  Now, the attacker can claim "just 1 please" -- and he gets into any router suffering this bug within seconds.  That, by extension, allows control over all traffic traversing that router.

            Mike Zusman's Insecure SSL-VPN's: SSL is supposed to protect us, but there's no sense creating a secure session to someone if you don't actually know who they are.  Don't worry though, by design anything that isn't a web browser is terrifyingly likely to only to skip authentication entirely and just create an encrypted link to whoever's responding.  One would think that SSL-VPN's, whose sole purpose is to prevent attackers from accessing network traffic, would be immune.  But with 42% of certificates on the Internet being self-signed, and a lot of them being for SSL-VPN's, one would be wrong.  By extension this auth failure exposes all traffic routed over these SSL-VPN's.

            Mike Perry's Insecure Cookies: This gets interesting.  Here we have two different authentication protocols in place -- one, from server to client, based on X.509.  The other, from client to server, based on a plaintext password (delivered, at least, over an encrypted session authenticated by the server-to-client cert).  But to prevent the user from needing to repeatedly type in their plaintext password, a password-equivalent token (or cookie) is handed to the user's browser, which will be attached to every request within the securely encrypted channel.  Unfortunately, it'll also be attached to every request which does not traverse the securely encrypted channel, because the cookies aren't marked for secure-only.  Once the cookie leaks, of course, it'll authenticate a bad guy who creates an encrypted session to that server.  So by extension bad guys get to play in any number of interesting sites.

            My DNS flaw: Here we have a protocol that directly controls routing decisions, ultimately designed to authenticate its messages via a random number between 0 and 65535.  Guess the number, and change routing.  This was supposed to be OK, because you could only guess a certain number of times per day.  There was even an RFC entirely based around this time limit.  It turns out there's a good dozen ways around that limit, allowing anonymous and even almost 100% packet spoofed compromise of routing decisions.  This, by extension, allowed exploitation of all traffic that was weakly authenticating.

            It's the same story, again and again.  And now, everyone talking about BGP.  So lets do the same sort of analysis on BGP:

            Kapela and Pilosov's BGP flaw: In BGP, only the nearest neighbor is authenticated.  The concept is that all "members of the club" authenticate all other members, while the actual data they provide and distribute is trusted.  If it's not actually trusted, anyone can hijack traffic from anyone else's routes.

            Pilosov's done some cool work here.  It's not the sort of devastating surprise some people seem to want it to be.  Indeed, that's what makes it so interesting.  BGP was actually supposed to be broken, in this precise manner. Literally, in every day use, any BGP administrator has always had the ability to hijack anyone else's traffic.  Pilosov has a new, even beautiful MITM attack, but as mine was not the first DNS attack, his is not the first BGP MITM.  Tales of using BGP to force traffic through a compromised router (possibly compromised through SNMPv3) are legion, and Javascript and the browser DOM blur things pretty fiercely in terms of the relevance of being able to pass through to the legitimate endpoint anyway.

            That's not to take away from the work.  It's an interesting trick.  But we need to level set here:

            First, if you're not part of the BGP club, you're just not running this attack.  Pakistan took out YouTube with BGP -- but some random kid with the ability to spoof IP packets couldn't.  In other words, we're just not going to see a Metasploit module anyone can run to complete these sorts of attacks.  Now, there are some entertaining combinatorics that could be played -- DNS to enable Java's SNMPv3 access to internal routers at an ISP, and then from that internal router running the sort of BGP tricks Pilosov's talking about.  This goes back to the utter folly of trying to rank these bugs independently from one another.  But these sort of combinatorics are at a fundamentally different level than the fire-and-forget antics that DNS allowed, and on a fundamental level, the number of potential attackers (and the number of involved defenders) on BGP is a lot lower.

            Second, we have far better logging -- and thus accountability -- in the BGP realm than we do perhaps for any other protocol on the Internet.  Consider the archives at APNIC -- yes, that's route history going back to 1999 -- and Renesys has even more.  That sort of forensic data is unimaginable for anything else, least of all DNS.  BGP may have its fair share of bad actors -- consider spammers who advertise temporary ranges in unused space for mail delivery purposes, thus getting around blackholes -- but any of the really nasty stuff leaves a paper trail unmatched by any other attack.

            Third, BGP is something of a sledgehammer.  Yes, you're grabbing traffic -- but your control over exactly what traffic you grab is fairly limited.  Contrast that with DNS, which allows astonishingly fine grained targeting over exactly what you grab -- indeed, you don't even need to know in advance what traffic you want.  The victim network will simply offer you interesting names, and you get to choose on the fly which ones you'll take.  These names may even be internal names, offering the impossible-with-BGP attack of hijacking traffic between two hosts on the exact same network segment.

            Finally, BGP suffers some limitations in visibility.  Simply grabbing traffic is nice, but bidirectional flows are better than unidirectional flows, and when you pull something off via DNS, you're pretty much guaranteed to grab all the traffic from that TCP session even if you stop any further poisoning attempts.  Contrast that with BGP, which operates at Layer 3 and thus may cause the IP packets to reroute at any point when the TCP socket is still active.

            So, does that mean its always better to attack DNS than BGP?  Oh, you competitive people would like things to be so simple, wouldn't you :)Pilosov and I talked for about a half hour at Defcon, and I've got nothing but respect for his work.  Lets look at the other side of things for a moment.   First, BGP controls how you route to your name server -- if not your recursive server, which may be inside your organization and thus immune to ext

            成人久久综合网| 亚洲午夜精品久久久久久浪潮| 久久久精品2019免费观看| 久久综合综合久久狠狠狠97色88| 日本精品一区二区久久久| 综合网日日天干夜夜久久| 久久最新精品国产| 狠狠色丁香久久婷婷综合_中| 国内精品久久久久伊人av| 香港aa三级久久三级老师2021国产三级精品三级在 | 国产精品久久久久aaaa| 香蕉久久影院| 69久久精品无码一区二区| 奇米影视7777久久精品人人爽| 国内精品久久久久久不卡影院| 99久久综合狠狠综合久久止| 久久精品国产99久久久古代| 热综合一本伊人久久精品| 国产精品一区二区久久精品无码 | 久久久艹| 99热成人精品热久久669| 久久久久久人妻无码| 一本一本久久aa综合精品| 亚洲Av无码国产情品久久| 免费观看成人久久网免费观看| 国产精品嫩草影院久久| 久久精品天天中文字幕人妻 | 久久伊人五月丁香狠狠色| 久久涩综合| 久久青草国产精品一区| 久久久久无码精品| 久久香蕉一级毛片| …久久精品99久久香蕉国产| 精品无码久久久久久午夜| 国产精品国色综合久久| 高清免费久久午夜精品| 99久久婷婷国产一区二区| 久久精品国产72国产精福利| 午夜精品久久久内射近拍高清 | 狠狠色噜噜色狠狠狠综合久久| 97精品国产97久久久久久免费|