<?xml version="1.0" encoding="utf-8"?>
        <?xml-stylesheet type="text/css" href="http://blog.recurity-labs.com/styles/feed.css"?>
<rss version="2.0"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title>The Recurity Lablog</title>
<atom:link href="http://blog.recurity-labs.com/rss.xml" rel="self" type="application/rss+xml" />
<link>http://blog.recurity-labs.com</link>
<description>computer security, research, reverse engineering and high level considerations</description>
<dc:language>en-us</dc:language>
<dc:creator>FX</dc:creator>
<dc:date>2010-05-27T14:43:31+02:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />

<item>
<link>http://blog.recurity-labs.com/archives/2010/05/27/jail-breaking_the_cisco_unified_communication_manager_cucm/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2010/05/27/jail-breaking_the_cisco_unified_communication_manager_cucm/index.html</guid>
<title>Jail-breaking the Cisco Unified Communication Manager (CUCM)</title>
<dc:date>2010-05-27T14:43:26+02:00</dc:date>
<dc:creator>FX</dc:creator>

<description><![CDATA[<p>
We have a long and very good relation to the Cisco PSIRT team, reporting vulnerabilities to them and patiently waiting until fixes are provided. But some things, we simply don't consider to be vulnerabilities in the typical sense of the word. This includes artifacts of product behavior that allow you to get the type of the access to the product that you would expect.
</p>
<p>
The reasoning is that you already have to have a legitimate operating system administrator account on the CUCM, in order to "escalate" your privileges to a remote root shell. That the legitimate operating system administrator account, as provided by the product, isn't actually root, doesn't change the privilege situation one bit. Also, other people have published other guides (e.g. <a href="http://www.tek-tips.com/viewthread.cfm?qid=1501917&page=1" target="_blank">this one</a>) before.
</p>
<p>
Therefore, we have decided to publish an <a href="/articles/jail-breaking_cisco_unified_communication_manager/index.html">article</a> on how to gain the access you may want.
</p>
<p>
<b>Please use this information only on lab systems or virtual installations. It is not recommended to root any actual Cisco appliance and will most likely void your warranty.</b>
</p>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2010/05/26/carnival_of_the_cultures_2010/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2010/05/26/carnival_of_the_cultures_2010/index.html</guid>
<title>Carnival of the Cultures 2010</title>
<dc:date>2010-05-26T17:53:44+02:00</dc:date>
<dc:creator>FX</dc:creator>
<dc:subject> events</dc:subject>
<description><![CDATA[
<p>
A great team needs a good environment to work in, and the environment doesn't stop at the office door. The cultural space in which you live also plays an important role and influences how people think and work. Berlin, home to Recurity Labs, luckily provides a rich and multifarious culture, which all of us enjoy a lot. Therefore, we occasionally want to give back to that environment, doing our little part to make it blossom some more.
</p>

<p>
For this year's <a href="http://www.karneval-berlin.de/de/english.175.html" target="_blank">Carnival of the Cultures</a>, a multicultural street parade, we had the opportunity to support <a href="http://karneval-der-kulturen.de/de/multimat.189.html" target="_blank">[multi:mat]</a> and our long time DJ Friends from <a href="http://www.dangerous-drums.de/" target="_blank">Dangerous Drums</a> with getting their float onto the parade.
</p>

<p>
<a href="/img/kdk1.png"><img src="/img/kdk1s.png" border="0"></a></br>
<br>Our motto for this float: <I>Work hard - Party harder!</I>
</p>

<p>
<a href="/img/kdk2.png"><img src="/img/kdk2s.png" border="0"></a>
</p>

<p>
We would like to thank [multi:mat] and Dangerous Drums for the making this all possible and of course the hundreds of thousands of people that participated in the parade.
</p>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2010/03/05/guest_blogger_at_microsoft_bluehat_blog/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2010/03/05/guest_blogger_at_microsoft_bluehat_blog/index.html</guid>
<title>Guest Blogger at Microsoft BlueHat Blog</title>
<dc:date>2010-03-05T12:39:20+02:00</dc:date>
<dc:creator>FX</dc:creator>
<dc:subject> rants</dc:subject>
<description><![CDATA[
<P><FONT FACE="Arial">
The Microsoft BlueHat team invited me to publish a rant on their BlueHat 
blog on TechNet. Of course, I had to deliver: 
<a href="http://blogs.technet.com/bluehat/archive/2010/03/04/parser-central-microsoft-net-as-a-security-component.aspx" target="_blank">Parser Central: Microsoft .NET as a Security Component</a>
</P>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2009/01/29/corporate_responsibility/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2009/01/29/corporate_responsibility/index.html</guid>
<title>Corporate Responsibility</title>
<dc:date>2009-01-29T19:15:02+02:00</dc:date>
<dc:creator>FX</dc:creator>
<dc:subject> events</dc:subject>
<description><![CDATA[
<P><FONT FACE="Arial">During a non public security event, I saw a
presentation by Olaf Kolkman about the new DNS server named <A HREF="http://www.unbound.net/" TARGET="_blank">Unbound</A>.
When he mentioned that the whole thing is written in C for
performance reasons, I returned that we should simply stop developing
production software in languages that produce unmanaged code. We got
into quite some discussions with the whole audience after that, many
people stating that there isn't an alternative and everything else is
just to slow. I'm not buying this for many obvious reasons, but
that's for another post.</FONT></P>
<P><FONT FACE="Arial">To put our abilities where my mouth is, we
ended up performing a short source code audit for the Unbound
developers. After all, Unbound is an effort to produce a reliable,
validating and DNSSEC ready name server, something we all want to
have deployed on a larger scale. Sergio Alvarez, who by the way will
be speaking at <A HREF="http://cansecwest.com/" TARGET="_blank">CanSecWest</A>
this year, looked at the code and found it surprisingly not riddled
with remote code execution bugs. I was certainly happy about that
find, because it meant the next generation DNS server deployments
wouldn't look at a future comparable to ISC bind's past. </FONT>
</P>
<P><FONT FACE="Arial">That impression, however, was largely because
Sergio compiled the code with all the ASSERT statements intact. Now,
people running heavy duty production DNS servers will most certainly
try to make it as fast as possible, instructing the compiler to get
rid of &ldquo;debug&rdquo; features like ASSERTs. That might not be a
good idea. So here is another lesson learned: When building for
production, you might want to keep those ASSERTs compiled in, since
your server crashing on funny packets is probably better than to
share the administrative control of the machine.</FONT></P>
<P><FONT FACE="Arial">Other than that, I hope the Unbound team keeps
up the good work, so people have one less excuse to not move to
DNSSEC.</FONT></P>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2009/01/29/what_didnt_fit_into_the_talk/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2009/01/29/what_didnt_fit_into_the_talk/index.html</guid>
<title>What didn't fit into the talk.</title>
<dc:date>2009-01-29T16:55:44+02:00</dc:date>
<dc:creator>FX</dc:creator>

<description><![CDATA[
<P><FONT FACE="Arial">Some of you might have heard that I gave a talk
on Cisco IOS security at the 25C3 this year. The talk was unique for
me in many ways, starting with the fact that it covered content going
all the way back to the beginnings of Phenoelit up to material that
was developed within Recurity Labs. It could be said that the talk
was a nexus of research efforts in different areas of my life.</FONT></P>
<P><FONT FACE="Arial">The second unique aspect was the cheer amount
of stuff to cover, which prevented more in-depth reflections on some
of the issues. This begins with the question of who would actually
take over Cisco routers. The short answer is of course: whoever can.
But that needs to be taken apart in more detail. Let's focus on
attacks that directly apply to the device in question and ignore for
now that the easiest way to take over an entire network
infrastructure is to attack the unpatched Sun servers running in the
Network Operation Center. </FONT>
</P>
<P><FONT FACE="Arial">Consider successful exploits a question of
development cost. An exploit is in that respect not different than
any other software: you find someone you think can actually pull it
off, present your requirements and have them develop it for you. In
almost all cases, this isn't going to be for free, so they will give
you a price tag for the work, which in most cases is a linear
function of the cost of a work hour for them. This implies that the
better they are, the less hours they will need to develop the exploit
for you, which makes it cheaper. This is what made exploits against
Windows desktops so cheap that attackers mostly relied on them for
gaining access to networks from what the network owners considered
inside (an outdated but still widespread way of looking at it).</FONT></P>
<P><FONT FACE="Arial">Our research concerning Cisco IOS security was
always based on the assumption that there are entities in this world
that have reached a reasonable development cost level for IOS
exploits. But the publicly available knowledge on how to write IOS
exploits didn't fit the bill, as they required to jump into some
memory address that is specific to the IOS image running on the
target. Assumed you don't know what image is running on that machine,
you could still argue that the exploit writer included a list of all
possible image dependent addresses into the exploit would try them
out, one at a time. This would cause the router to reboot every time
a wrong guess was tried.</FONT></P>
<P><FONT FACE="Arial">In the presentation, I said that there are
about 100.000 different IOS images in use. This is a very debatable
number, as about 15.000 are supported by Cisco at any given time and
good network administrators will only run one or two IOS images in
their entire network, often times investing several months to figure
out which exact image they want. When we however fire up the <A HREF="http://www.cisco.com/go/fn" TARGET="_blank">Cisco
Feature Navigator</A> and ask it for all IOS images that support IP
Routing, which should be all of them, we get: &ldquo;Showing 1-50 of
280715 results&rdquo; at the bottom of the page. Wow, what a number.
On page 5615 of the result listing (thank god they have a direct jump
feature!), we see that this covers everything from IOS 12.4 to 11.2.
Therefore, the number doesn't take very old networks into account, in
which you do see images below 11.2 running occasionally. </FONT>
</P>
<P><FONT FACE="Arial">It should be clear that trying them all out is
not an option, especially considering reboot times of 30 seconds and
more per attempt. Your exploit would constantly reboot a router for
2339 hours or 97 days. And that doesn't take into the account that
you need to get and disassemble them all, estimated time with IDA:
5848 days or 16 years.</FONT></P>
<P><FONT FACE="Arial">Therefore, there is either no one exploiting
IOS devices or they have found a better way to do it. Our <A HREF="http://cir.recurity-labs.com/" TARGET="_blank">Cisco
Incident Response</A> tool was developed in the hopes of finding
people attacking IOS devices, successful or not. But then again, it's
hard to write a detection for the unknown, so we also had to look
into finding ways to get code execution stable. The method presented
at the 25C3 (and <A HREF="http://cir.recurity.com/wiki/PPCreliableCodeExec.ashx" TARGET="_blank">documented
here</A>, feel free to post questions in the discussion section) only
reduces the number of things you have to know about your target, it
doesn't eradicate the problem in general. Now, we only need to know
the ROMMON version and there are a lot less ROMMONs than IOS images
out there. </FONT>
</P>
<P><FONT FACE="Arial">For smaller machines, such as 2600s, updating
ROMMON did not seem to be supported and the version depends on the
shipping date. However, after closer inspection, here comes an
<B>errata</B>: Cisco does offer 6 updated ROMMONs for 2600 routers.
For larger machines, e.g. 7206s, there are about 36 different
versions known. That's a few magnitudes smaller than 280715. But it
is also still far from the ultimate truth, as you still need to know
and have that ROMMON as well as knowing a few things of the box, most
importantly the hardware series. Some people like to include the
hardware series in their router's DNS records or name the PTR records
of the IP addresses bound to a router's interface after the interface
itself, which allows to guess what type of metal it is.</FONT></P>
<P><FONT FACE="Arial">Knowing the hardware platform is actually more
important for the first and second stage shellcode than it is for
getting stable code execution, as the same ROMMON seems to be
applicable to a number of subtypes of routers, while one subtype may
have memory wired into different addresses than the other. But being
lucky is also a valid option, which is what happened when we selected
the memory area for a direct write: I assumed the memory at
0x80000000 on a 2600 is used for global IOS variable pointers, which
is incorrect. So, <B>errata #2</B>: I was made aware that this is of
course the exception vectors, after the MMU is turned on.
Accordingly, this is a very good place to store two instructions.</FONT></P>
<P><FONT FACE="Arial">There is still a lot to do and research when it
comes to Cisco IOS and security. But the stable, image independent
code execution at least allows us finally to draw better assumptions
about the attacks we should be looking for. It shows nicely that,
even with CIR, we should not try to detect the exploitation while it
happens, but focus on the shellcode functionality and the footprints
it leaves. And the <A HREF="http://www.cisco.com/en/US/products/products_security_advisory09186a00807cb157.shtml" TARGET="_blank">IP
options vulnerability</A> is a perfect example why critical
infrastructure should always dump the core files onto its own FLASH
device, as dumping core over FTP doesn't really work to well when
your &ldquo;IP Input&rdquo; process just got popped.</FONT></P>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2009/01/29/thank_you/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2009/01/29/thank_you/index.html</guid>
<title>Thank you</title>
<dc:date>2009-01-29T16:54:12+02:00</dc:date>
<dc:creator>FX</dc:creator>
<dc:subject> events</dc:subject>
<description><![CDATA[
<p>This year's Chaos Communication Congress,
better known as 25C3, was an exceptional event in many ways. It begins with a
program committee that attracted so many interesting people over the last years
that they had ample material to select from, and they did a very good job of
that too. Accordingly, the quality and spectrum of the presentations was
significantly above many other conferences and we all need to thank the people
that put up the program. And while I'm still not done seeing all the video
recordings of all presentations, there have been quite a number of highlights.</p>

<p>The hard working organizers and Engel of
the CCC apparently are by now so well trained in running a Congress that it
almost appeared as stress-less routine to the casual observer. I've never been
to a Congress with less shouting and less chaos in terms of organization, and
despite the event's name, I think that's a good sign. They even somehow managed
to handle the insane amount of people showing up, which, as DEFCON attendees
will surely know, is quite a challenge by itself.</p>

<p>And then of course there were the
presentations, above all Alexander Sotirov and Jacob Applebaum with their
successful creation of a rogue SSL CA certificate. The work shows how the
combination of academia research with the practical experience and dedication
of world class security professionals can achieve something that was considered
a theoretical attack. It also shows how much of a pipe dream the perceived
security of browser based communication over SSL/TLS actually is. If all but
one trusted CAs belong to the same publicly traded commercial entity, they
don't actually need to fulfill their security promise anymore, because they
have a monopoly.</p>

<p>The purpose of a publicly traded
corporation is to maximize the profit for the share holders*. And if selling
certificate signatures generates enough revenue to get your stocks rated as
"buy", you did your job. If you need to revoke a large part of these
certificates, because you failed to react to previously published research on
vulnerabilities in them (MD5), this is similar to a call back of your product
and would therefore hurt your reputation on the stock markets. If you however
just ignore the problem as long as you can and then trust that very few people
will actually understand the problem so it doesn't impact your sales, you can even
offer remedy at no additional cost and look good in the press. From a business
point of view, that is a remarkable containment stunt. From a security point of
view, it's devastating. Not only does it show that revocation simply does not
work, but also that the one entity that must be extremely strict with
revocation actually doesn't follow it at all.</p>

<p>Interestingly enough, this proves two
points made by Dan Kaminsky. The first is about how much of a defense SSL
actually is in the light of vulnerabilities like his DNS issue from summer
2008. Dan said in his presentation at BlackHat that SSL proved to be much less
of a defense than we all thought it would be. The second point is actually less
obvious: The much debated partial disclosure approach Dan followed had a very
interesting positive side to it that nobody saw before. The big difference
between Alex's and Jake's big-bang presentation and Dan's long process of
informing selected people gradually over time is the learning effect they had
on all the other people. I think after that summer, we security professionals
will not hear that old argument of a vulnerability not being critical because
the attacker would need to control DNS in order to exploit it very often
anymore. On the other hand, I don't see anyone reviewing their security
perception of the trust model that so-called secure web sites are build on.
Everyone is just happy that the issue got "fixed" so quickly. I for one have
not realized that aspect of making a big fuzz about something enhancing its
long term educational value before, and I certainly thank Dan for teaching that
lesson to me.</p>

<p>Speaking of thanks, my fellow Phenoelit
members, above all Mumpi, need to be thanked too for the awesome party they put
on. That also includes DJ Vela and CMOS for playing at that event and in CMOS'
case for flying all the way into Berlin to do so. And last but not least, I
would like to thank the audience of the 25C3, which again was one of the
smartest I had the privilege to speak in front of. I apologize for the suboptimal
delivery of the Cisco IOS presentation to everyone who saw it, if you found a
stray "Erm" in what I said, you may keep it.</p>

<p>* You could argue that this is the case
with any corporation, but working at Recurity Labs, I can tell you it isn't.</p>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2009/01/25/reconstruction_in_progress/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2009/01/25/reconstruction_in_progress/index.html</guid>
<title>Reconstruction in Progress</title>
<dc:date>2009-01-25T19:38:42+02:00</dc:date>
<dc:creator>FX</dc:creator>

<description><![CDATA[<p>
Unfortunately, a number of things recently broke, including the main (and 
only) harddrive of the machine running phenoelit.net and therefore this
blog. We are recovering all the services but, as you might have noticed,
switched blog engines so we no longer actually run any (potentially 
vulnerable) code when you hit this site.
</p>

<p>
Now we just need to port the old entries over in a consistent and permalink
friendly way, which might require a few more days. 
</p>

<p>
Thanks for not unsubscribing :)
</p>

<p>
<b>Update:</b> Things should be back to normal and the two delayed posts 
should be posted. Please contact me with any complains if you find something
missing or broken. Thanks.
</p>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2008/10/04/just_because_they_are_so_rare/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2008/10/04/just_because_they_are_so_rare/index.html</guid>
<title>Just because they are so rare ...</title>
<dc:date>2008-10-04T13:58:10+02:00</dc:date>
<dc:creator>FX</dc:creator>
<dc:subject> discoveries</dc:subject>
<description><![CDATA[
<p>
... I feel compelled to point at Derek Soeder's 
<a href="http://lists.grok.org.uk/pipermail/full-disclosure/2008-October/064860.html">VMware Emulation Flaw x64 Guest Privilege Escalation (1/2)</a> 
post at full disclosure. It seems that it's always the same names that come 
up with those beautiful exploits. Delighting.
</p>]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2008/10/03/tcp_handshakes/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2008/10/03/tcp_handshakes/index.html</guid>
<title>TCP Handshakes</title>
<dc:date>2008-10-03T18:30:34+02:00</dc:date>
<dc:creator>FX</dc:creator>
<dc:subject> events</dc:subject>
<description><![CDATA[
<p>I recently discovered that there seems to
be this class of discoveries that is made independently by many people from the
same community in roughly the same timeframe. What's interesting about
this class of discoveries is that often they are not published. Everyone seems
to assume (correctly) that others have discovered the same. One topic that
certainly falls in this category is &#8220;return oriented programming&#8221;,
which everyone I know invented on their own once they actually needed it.
Finally, at BlackHat USA this year, academia in the names of Erik Buchanan, Shawn
Moyer, Ryan Roemer and Stefan Savage took this concept and turned it into <a
href="http://www.cse.ucsd.edu/~hovav/talks/blackhat08.html">solid research</a>.
Conceptually no news, it's highly recommended reading for anyone who used
this method before, as approach and execution are brilliant.</p>

<p>The second instance of that class this year
is TCP connections that don't use the operating system's sockets.
If you ever wrote networking attack tools using raw sockets or drivers, you
have come across the idea and probably tried it out. The basic idea is that you
don't need to keep any state as the TCP client. You can send as many SYN
packets as you want and can reply with the final ACK once the SYN/ACK packet
comes back. All the information you need is in the answer from the server. You
can take this method one packet further and actually send the first payload
packet as well, e.g. an HTTP GET request. Check out <a
href="http://www.breakingpointsystems.com/community/blog/denial-of-service-attacks">Dennis'
blog post</a> if you need a picture of this.</p>

<p>TCP server software is in most cases
written around the accept() call, which blocks until the OS has received the
final handshake packet. Once that happens, the accept() call returns and the
server software starts handling the connection. If you had sent the first
payload packet as well, the server software even goes into the state of
processing a request. Many servers are not built to handle the case where they
no longer have any communication partner (i.e. they don't time out
quickly), and the rate in which they get new ones usually overwhelms the server
as well as the OS. On top of it, TCP, being a reliable protocol, tries to keep
the connection alive by resending the answers because it assumes lost packets.
The attacker can make this worse by playing with some properties of TCP, e.g.
the window size, or add other twists to it, like ignoring RST packets or
sending out-of-band packets with the PSH flag. Bottom line is, it really
depends on the kernel and the server software what happens after the handshake
is completed, but the issue is the same all over the place. Side note: things
that don't implement a proper common TCP/IP stack fail more miserably, ask
people at Cisco.</p>

<p>After I played with this in 2002, I became
aware of many earlier implementations, e.g. <a
href="http://www.security-express.com/archives/win2ksecadvice/2000-q4/0105.html">this
one</a>, <a href="http://seclists.org/bugtraq/2000/Apr/0152.html">that one</a>
and many others. I recently remembered all that when I met Jack and Robert at
the <a href="http://www.sec-t.org/">Sec-T</a> conference in Stockholm (side
note: great conference, watch for their 2009 edition). We compared notes on
what things reacted how when exposed to stateless TCP clients hitting them
hard. While it is relatively easy to protect server implementations by limiting
the number of concurrent requests served, and operating systems by limiting
kernel buffers and number of connections from a single source, so-called
security devices and code are entirely different stories. Back in the days, my
own Linux kernel gave me problems as ip_contrack, part of the NAT code, kept
killing my TCP/IP stack as it tried to keep track of the connections I created,
despite the fact that neither firewall nor NAT were actually enabled. I had to
remove it from my own kernel before I could perform the attack against other
devices.</p>

<p>Today's networks are full of devices whose
vendors think it's a good idea to track established TCP/IP connections.
IDS and IPS systems are just the tip of the iceberg. Just about every firewall,
NAT device, TCP load balancer, transparent proxies and even some network sniffers
do it. That's certainly not smart. You should try to avoid tracking state
of others you don't control, especially if you don't actually need
to. But the ignorance of basic principles and prior work is unfortunately not
that uncommon.</p>

<p>It should however be clear that the risk of
falling victim to this attack is inherent to offering a service. When you get a
phone and publish the phone number, anyone can call you. It is not possible to
prevent strangers from calling you every five minutes in the middle of the
night when you want to be reachable to people that you have not authorized
before. Ask any call center or ask people who run a web server that got
slashdoted. If you want others to be able to contact you, they can overwhelm
you with contacts. If you open your shop's doors, people can come in and
buy stuff, but you could also have a flash mop filling your space. You could
post bouncers at your door, but that's neither friendly nor helpful.</p>

<p>It should also be noted that this attack is
not stealthy at all. No matter if you use your regular operating system's
sockets or a raw and stateless TCP/IP implementation to establish a connection;
you cannot spoof your IP address unless you sit on the transit route of the
legitimate owner (in which case you can do a lot more). I think the scenario of
the low-bandwidth customer at home taking down important servers using full
handshakes is less likely. In most cases, his DSL home router would die first.
Almost all other scenarios have the same effect to the victim as if he is
attacked by a regular DDoS attack today: It's always possible but there
are mitigations. The easiest mitigation for stateless TCP clients is to limit
the amount of connections from a single source address and <a
href="http://www.phenoelit.net/lablog/paradigms/weglassen.sl">get rid of useless
connection tracking devices</a> in between.</p>

<p>And if the attacker is located in Germany,
he will end up in jail. The much contested change to &sect;303b of the StGB,
Germany's criminal law, says: Interference with a data processing system
that is of importance to someone else, by committing a crime described in
&sect;303a, by entering or sending data with the intention to cause a
disadvantage to the system or [...], will be punished with jail up to 3
years or a monetary fine. The jail time can be up to 5 years if the affected
system belongs to a company or the government. Therefore, completing too many
TCP handshakes is illegal in Germany.</p>

<p>I'm looking forward to Jack and
Robert publishing their full findings, as I'm sure it will provide much
entertainment to the security community.</p>

<img src="/img/TVC.png">]]></description>

</item>
<item>
<link>http://blog.recurity-labs.com/archives/2008/08/27/perception_of_vulnerabilities/index.html</link>
<guid isPermaLink="true">http://blog.recurity-labs.com/archives/2008/08/27/perception_of_vulnerabilities/index.html</guid>
<title>Perception of Vulnerabilities</title>
<dc:date>2008-08-27T17:02:29+02:00</dc:date>
<dc:creator>FX</dc:creator>
<dc:subject> paradigms</dc:subject>
<description><![CDATA[
<p>Perception is an interesting thing. Since
everyone apparently has their own, it is fairly hard to arrive at a common
denominator. In today's world, media is the perception softening instance that
decided what people see and what not. Using the media to reach a large amount
of people is intentionally shaping their perception. If your goal is to make
people do something specific, this is a highly effective approach. That's what
happened with DNS. Every computer security blog on the planet posted statements
about Kaminsky, Halvar and the Domain Name Resolution Protocol, some even
unintentionally. The global perception is: this is extremely important. People
talk about it, people patch their servers with a workaround and people think
about the Internet's safety. Dan has accomplished his mission.</p>

<p>The Kaminsky DNS attack is definitively
regarded as the most important vulnerability this year. This, I find highly interesting
, as we have seen two other gigantic security failures already in 2008.
Debian's NRNG (non-random number generator) is most certainly one of them. But
honestly, raise your hands if you have even noticed <a
href="http://www.us-cert.gov/cas/techalerts/TA08-162A.html">SNMPv3</a>. Anyone?
I give you the quickest of run-downs: </p>

<ol style='margin-top:0cm' start=1 type=1>
 <li>SNMPv3 uses HMACs over secret keys for
     authentication. </li>
 <li>The packet can carry a shortened HMAC for
     [fill in silly performance statement here] reasons.</li>
 <li>Most implementations implement their HMAC
     match check as: <br>
     memcmp( myHMACbuffer, packetHMACbuffer, packetHMAClength )</li>
 <li>If "packetHMAClength" == 1, brute force
     requires 256 UDP packets.</li>
</ol>

<p>What can an attacker do with this? SNMPv3
is used to manage routers - the routers that forward all your traffic around
the world, including your DNS queries. Managing a router means being able to
configure it; a.k.a. super user access. Attackers who can configure a router in
your path can redirect everything, without you knowing, not just traffic that
relies on name resolution.</p>

<p>We have been working with a customer on a
security issue scoring system, to help level perceptions. We started off with <a
href="http://www.first.org/cvss/cvss-guide.html">CVSS</a>, which deserves its
own post some time. Let's just say we didn't stay with it very long. When you
compare the three big vulnerabilities this year, here are the CVSS scores
according to the National Vulnerability Database at NIST:</p>

<ul style='margin-top:0cm' type=disc>
 <li><a
     href="http://nvd.nist.gov/nvd.cfm?cvename=CVE-2008-1454">Kaminsky's DNS:
     9.4 (AV:N/AC:L/Au:N/C:N/I:C/A:C)</a></li>
 <li><strike><a href="http://nvd.nist.gov/nvd.cfm?cvename=CVE-2008-0960">SNMPv3: 6.8
     (AV:N/AC:M/Au:N/C:P/I:P/A:P)</a></strike> (see below)</li>
 <li><a
     href="http://nvd.nist.gov/nvd.cfm?cvename=CVE-2008-0166">Debian NRNG: 7.8 
     (High) (AV:N/AC:L/Au:N/C:C/I:N/A:N)</a></li>
</ul>

<p>Interesting to note. So being able to own
the entire infrastructure is less important than breaking the SSL certificates
of banks, being less important than poisoning DNS. Is that the case, or just
the perception?</p>

<p>What I am looking forward to is the hard
factual data we will see in the penetration tests and incidents to come over
the course of the next year (assumed there is not another disaster). It will
tell us, what systems actually got patched to which extend. I don't expect to
find many vulnerable Debian keys, I do expect to find many routers ownable by
SNMPv3 and I have no idea about the DNS thing yet.</p>

<p>On a final side note, it was wonderful to
sit down with Dan on the day he went public, drink German beer in Seattle and discuss this very topic of vulnerability perception (and by the way, he didn't
tell me any details, not even after the beers). Dan tried something
unprecedented with the way he handled this, a very brave thing to do. May
history be a fair judge, the media won't be it. </p>

<p><b><blink>UPDATE:</blink></b>
The people over at NVD/NIST seem to have noticed that owning routers is 
potentially more dangerous than they initially thought. Accordingly, 
<a href="http://nvd.nist.gov/nvd.cfm?cvename=CVE-2008-0960">SNMPv3 got 
upgraded to a CVSS v2 score of 10.0 (High) (AV:N/AC:L/Au:N/C:C/I:C/A:C)</a>.
Well done.
</p>

<img src="/img/DNS.png">]]></description>

</item>
</channel>
</rss>
