<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Fortinet FortiGuard Blog</title>
	<atom:link href="http://blog.fortinet.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fortinet.com</link>
	<description>Real Time Network Protection</description>
	<lastBuildDate>Tue, 16 Mar 2010 18:29:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9;Fortinet Product Marketing </copyright>
		<managingEditor>jleggio@fortinet.com (Fortinet Product Marketing)</managingEditor>
		<webMaster>jleggio@fortinet.com(Fortinet Product Marketing)</webMaster>
		<category>Fortinet Product Information</category>
		<ttl>1440</ttl>
		<itunes:keywords>forti-gate, anti-spam, anti-virus, fortigate</itunes:keywords>
		<itunes:subtitle>The latest news and information about Fortinet products and services for Real Time Network Protection.</itunes:subtitle>
		<itunes:summary>Fortinet is a leading provider of Unified Threat Management (UTM) network security solutions for enterprise and service provider environments. The Fortinet FortiCast delivers news, information, and tutorials about products, services, and industry trends. Fortinet's FortiGate product line and FortiGuard security subscription services provide an array of integrated network security functions including antivirus, firewall, virtual private networking, intrusion prevention (IPS), web filtering, antispam and traffic optimization. </itunes:summary>
		<itunes:author>Fortinet Product Marketing</itunes:author>
		<itunes:category text="Technology"/>
<itunes:category text="Technology">
  <itunes:category text="Tech News"/>
</itunes:category>
		<itunes:owner>
			<itunes:name>Fortinet Product Marketing</itunes:name>
			<itunes:email>jleggio@fortinet.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://blog.fortinet.com/wp-content/uploads/2009/01/forticast-300x300.jpg" />
		<image>
			<url>http://blog.fortinet.com/wp-content/uploads/2009/01/forticast-144x144.jpg</url>
			<title>Fortinet FortiGuard Blog</title>
			<link>http://blog.fortinet.com</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>UTM accelerated – Is the performance ready for widespread adoption?</title>
		<link>http://blog.fortinet.com/utm-accelerated-%e2%80%93-is-the-performance-ready-for-widespread-adoption/</link>
		<comments>http://blog.fortinet.com/utm-accelerated-%e2%80%93-is-the-performance-ready-for-widespread-adoption/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 18:29:39 +0000</pubDate>
		<dc:creator>AJames</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[UTM]]></category>
		<category><![CDATA[asic]]></category>
		<category><![CDATA[hardware performance]]></category>
		<category><![CDATA[unified threat management]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1043</guid>
		<description><![CDATA[When security vendors began to seek a combination of traditional layer 3 / layer 4 security technologies with application-based inspection engines almost a decade ago, the result was the birth of the now understood product offerings known as Unified Threat Management, or UTM.  Since the technology influencers, vendors and analyst community assigned the moniker in [...]]]></description>
			<content:encoded><![CDATA[<p>When security vendors began to seek a combination of traditional layer 3 / layer 4 security technologies with application-based inspection engines almost a decade ago, the result was the birth of the now understood product offerings known as Unified Threat Management, or UTM.  Since the technology influencers, vendors and analyst community assigned the moniker in early 2000, UTM has seen a tremendous growth and success in adoption by various customers worldwide.</p>
<p>When we look through the evolution of UTM, it is easy to understand how this technology was initially positioned, and today still carries a connotation of Small / Medium Business (SMB). In truth, the first products were targeted at SMB customers for a couple of reasons:</p>
<ol>
<li>Economics – As many small businesses struggle with balancing profit vs. the cost of operating their businesses, they often look for the products and services that provide the biggest “bang for the buck”.  This is one of the main benefits offered by UTM products as they integrate multiple security features like firewall, VPN, antivirus, intrusion prevention (IPS) and a host of additional security elements into a single product.  This means that instead of purchasing many solutions to fend of the barrage of security attacks, they need only invest in one – UTM.</li>
<li>State of the technology – After the UTM term was uniformly adopted by the industry, in the early days it opened the floodgates for entrepreneurs trying to capitalize on this growing market, and the barrage of software-based solutions exploded. Many of these were a simple combination of off-the-shelf packages thrown together under a common management interface.  This provided a barrier for many, as they were not scalable enough to meet the demands of medium and large enterprise businesses.</li>
</ol>
<p>Given the early roots and initial attempts by software UTM vendors, it created an inappropriate connotation of SMB for UTM.  This unfortunately is not the case, especially for vendors that helped shaped the vision of UTM and saw that custom hardware, ASIC acceleration and an integrated approach to security features would pave the way for high-performance UTM that are viable replacements and alternatives to aging layer 3/4 security infrastructures.</p>
<p>Consider a parallel evolution in security technology history with respect to the convergence of firewall and VPN technologies.  When the VPN world began to evolve, the networking and security vendors produced effective, scalable VPN concentrator products that delivered on their promise – high-performance, secure, remote communications.  Today, it would be almost absurd to think of firewalls and VPNs as separate appliances.  This begs the question as to how and why this convergence occurred.  One proposition is that the computing power requirements to support firewall processing and VPN encryption were met with advances in hardware acceleration, therefore allowing the combination we are familiar with today.  Obviously technology maturity was a major factor, and you can argue that the combination made logical sense as these technologies are typically deployed together at a security border.</p>
<p>Now, if you consider the combination of firewall/VPN as a valid combination based on the result of advances in technology supporting the complex processing required, it goes to reason that the same should be said for UTM.  In fact, vendors that are focused on UTM will argue that they are building on that same philosophy.  Development in hardware based platforms that employ purpose-built custom ASICs with integrated security software are able to deliver high-performance UTM solutions, breaking the previous adoption barriers for medium and large enterprises.</p>
<p>Recent UTM products introduced into the industry have proven that not only are they capable of delivering comprehensive security, far superior to traditional firewall/VPN devices, but they are able to keep pace with network infrastructure demands of the largest networks.  Solutions available today designed for mid-range and high-end enterprises utilize state-of-the-art custom silicon (ASICs) to accelerate application content inspection, allowing for multi-features security processing without grinding network performance to a halt.  Additional advances in blade-based products with load distribution capabilities provide multi-Gigabit performance for UTM and show the ability to deliver up to 10-Gig and beyond performance capabilities today with an estimated 10 fold increase in the near term.</p>
<p>The lesson: We should consider advances in UTM good for the industry and not believe the naysayers who urge us to believe that UTM is SMB.  The proof is in the pudding, and I would urge any customer looking at security infrastructure upgrades to evaluate a UTM product both on security features as well as performance – I believe many will surely be surprised with the result.</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1043" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/utm-accelerated-%e2%80%93-is-the-performance-ready-for-widespread-adoption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cryptanalysis of the Sasfis Registry Key</title>
		<link>http://blog.fortinet.com/cryptanalysis-of-the-sasfis-registry-key/</link>
		<comments>http://blog.fortinet.com/cryptanalysis-of-the-sasfis-registry-key/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 17:10:41 +0000</pubDate>
		<dc:creator>DMacDonald</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[sasfis]]></category>
		<category><![CDATA[sasfis registry key]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1038</guid>
		<description><![CDATA[Recently I&#8217;ve been working on an analysis of Sasfis botnet communications. During the tests I noticed that when the bot installs itself, it adds a registry key named &#8220;idid&#8221;, with some random looking data in it. The data was added under the name &#8220;url0&#8243;, so it seemed like it must be an encrypted URL. Here [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been working on an analysis of <strong>Sasfis</strong> botnet communications. During the tests I noticed that when the bot installs itself, it adds a registry key named <strong>&#8220;idid&#8221;</strong>, with some random looking data in it. The data was added under the name <strong>&#8220;url0&#8243;</strong>, so it seemed like it must be an encrypted URL. Here is an example from one of the bot variants:</p>
<p><span style="font-family: courier new;">Key Name:          HKEY_CLASSES_ROOT\<strong>idid</strong></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> Name:            <strong>url0</strong></span></p>
<p><span style="font-family: courier new;">00000000   1e 9b 6d d8  89 e6 c4 50  7f fd 13 6b  fa e2 f4 17</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">00000010   1a 80 78 cc  d6 bb c4 55  73 b5 07 77  a4 81 3a 71</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">00000020   a4 98 ba d8  2c 85 17 ad  ce c0 b1 a5  9f c8 07 0b</span></p>
<p>But what URL could this be, if it is one? Most of these bytes are not in the normal text range, so it would have to be encrypted. Even when there was no network connection, the <strong>url0</strong> data was added, so I knew it must be hard coded into the bot. From the tests I had been doing, I also knew that the bot contained a hard coded URL for its Command and Control server. So it seemed possible that the C&amp;C URL was encrypted here, but of course I would have to prove that.</p>
<p>The first 16 bytes of the <strong>url0</strong> values, from six bot tests, with their <strong>test identifiers (T3, M2 etc.)</strong>, are listed below. The list is sorted by the opening bytes. They fall into two groups where the first seven bytes are identical. The <strong>T2</strong> data is slightly different from the ones below it, but the one different byte (<strong>f1</strong>) could be the result of an encryption error.</p>
<p><span style="font-family: courier new;">T3   <span style="color: #0000ff;">1e 9b 6d d8  89 e6 c4</span> 50  7f fd 13 6b  fa e2 f4 17</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">M2   <span style="color: #0000ff;">1e 9b 6d d8  89 e6 c4</span> 5f  60 ff 12 7b  bd ea f3 4c</span></p>
<p><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">T2   f1 <span style="color: #ff0000;">9b 20 62  fc 48 d0</span> 3e  27 fc 1d f7  94 5a ff 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">T1   <span style="color: #ff0000;">f8 9b 20 62  fc 48 d0</span> 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">M1   <span style="color: #ff0000;">f8 9b 20 62  fc 48 d0</span> 2a  2e fc 11 f9  81 1a f6 74</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">M5   <span style="color: #ff0000;"><span><span style="background-color: #ffffff;">f8 9b 20 62  fc 48 d0</span></span></span> 2b  2a fd 17 e2  87 46 ea 7e</span></p>
<p>Looking at this, it seems fairly likely that each group was encrypted with the same key. And if these are URLs, the seven common bytes at the beginning of each line could be <strong>&#8220;http://&#8221;</strong>, if we are on the right track.</p>
<p>The obvious move at this point is to test this theory. We can start with the first row of hex data from the <strong>T3</strong> and <strong>M2</strong> tests, recover the key for <strong>T3</strong> using the hard coded URL for that variant, then find out if the key is correct by decrypting <strong>M2</strong> with it. The worksheet below shows the hard coded <strong>URL</strong> and the <strong>url0</strong> registry data for<strong> T3</strong> in the first two lines. At the bottom is the URL in <strong>text</strong> format and in the <strong>plain</strong> line are the equivalent hex bytes.</p>
<p><strong style="font-family: Courier New;">T3</strong> <span style="font-family: courier new;">http://gnfdt.cn/loader/bb.php</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">00000000   1e 9b 6d d8  89 e6 c4 50  7f fd 13 6b  fa e2 f4 17  (encrypted in registry)</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;">key</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;">plain      68 74 74 70  3a 2f 2f 67  6e 66 64 74  2e 63 6e 2f</span></span><span style="font-family: courier new;"> (url in hex format)</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">text       h  t  t  p   :  /  /  g   n  f  d  t   .  c  n  /   (</span><span style="font-family: courier new;">known hard coded URL)</span><br style="font-family: Courier New;" /><br />
We will assume that the key was <strong>XOR</strong>ed with the plaintext to produce this encryption. That is the most likely case, but if we are wrong it will be necessary to try some other methods. From this basis we will now <strong>XOR</strong> the <strong>encrypted</strong> and <strong>plain</strong> bytes to recover the <strong>key</strong>.</p>
<p><strong style="font-family: Courier New;">T3</strong> <span style="font-family: courier new;">http://gnfdt.cn/loader/bb.php</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">00000000   1e 9b 6d d8  89 e6 c4 50  7f fd 13 6b  fa e2 f4 17</span><span style="font-family: courier new;"> (encrypted in registry)</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;">key        76 ef 19 a8  b3 c9 eb 37  11 9b 77 1f  d4 81 9a 38</span></span><span style="font-family: courier new;"> (recovered key)</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;">plain      68 74 74 70  3a 2f 2f 67  6e 66 64 74  2e 63 6e 2f</span></span><span style="font-family: courier new;"> (url in hex format)</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">text       h  t  t  p   :  /  /  g   n  f  d  t   .  c  n  /   (</span><span style="font-family: courier new;">known hard coded URL)</span></p>
<p>Now we have some key bytes, but there is no proof that they are real. To prove that, we can use the key bytes to decrypt <strong>M2</strong>. The result is below. Part of the URL that is hard coded into the <strong>M2</strong> bot has been revealed.</p>
<p><strong style="font-family: Courier New;">M2</strong> <span style="font-family: courier new;">http://hqdedikit.com/mld/bb.php</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">00000000   1e 9b 6d d8  89 e6 c4 5f  60 ff 12 7b  bd ea f3 4c</span><span style="font-family: courier new;"> (encrypted in registry)</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;">key        76 ef 19 a8  b3 c9 eb 37  11 9b 77 1f  d4 81 9a 38</span></span><span style="font-family: courier new;"> (recovered key)</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"><span><span style="background-color: #ffffff;">plain      68 74 74 70  3a 2f 2f 68  71 64 65 64  69 6b 69 74<span style="color: #000000;"> (decrypted hex)</span></span></span></span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">text       h  t  t  p   :  /  /  h   q  d  e  d   i  k  i  t   (decrypted text)</span></p>
<p>So our case is proved, the hard coded URL is the one hidden in the registry key. We can easily extend this through the rest of the encrypted data to show the whole URL, and remove any lingering doubt.</p>
<p><strong>But what would we do if each bot variant had its own key?</strong> The method above would not work, but there are other ways to approach this problem. One way is to check whether this is a repeating key encryption system. They are very common, and if it is we can make comparisons within one URL, instead of using two as we did above.</p>
<p>Let&#8217;s try this method with <strong>T3</strong>. The simple way is to use the whole URL to find as many key bytes as possible, then look for repetitions.</p>
<p><strong style="font-family: Courier New;">T3</strong> <span style="font-family: courier new;">http://gnfdt.cn/loader/bb.php</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">00000000   1e 9b 6d d8  89 e6 c4 50  7f fd 13 6b  fa e2 f4 17</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;">key        <strong>76 ef 19 a8</strong> b3 c9 eb 37  11 9b 77 1f  d4 81 9a 38</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;">plain      68 74 74 70  3a 2f 2f 67  6e 66 64 74  2e 63 6e 2f</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">text       h  t  t  p   :  /  /  g   n  f  d  t   .  c  n  /</span></p>
<p><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">00000010   1a 80 78 cc  d6 bb c4 55  73 b5 07 77  a4 81 3a 71</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;">key        <strong>76 ef 19 a8</strong> b3 c9 eb 37  11 9b 77 1f  d4 </span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;">plain      6c 6f 61 64  65 72 2f 62  62 2e 70 68  70</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;">text       l  o  a  d   e  r  /  b   b  .  p  h   p </span></p>
<p>Here we can see that the key starts to repeat at the start of the second row. So the key length is 16 bytes, and again we have proved that the key holds the hard coded URL. Decrypting the next byte at the end provides a little bonus, <strong>0&#215;81 XOR 0&#215;81 = 0&#215;00</strong>, the null terminator for the string. Decryption from this point onward exposes bytes that appear to be random.</p>
<p><strong>But now consider another scenario,</strong> <strong>what would we do if we had no idea what the encrypted URLs were?</strong> If we have bots with different URLs using the same key, the problem is not beyond solution. To demonstrate I will use the data from <strong>T1</strong> and <strong>M1</strong>, from the other key group. It turns out, in the end, that only the first two lines of hex are needed for this, so the example below will not show the third line.</p>
<p>First we need to locate the key repetition. We can try <strong>&#8220;http://&#8221;</strong> at the start to find the first seven key bytes. With these key bytes we can  decrypt at different locations until some URL-like text appears. The bot code probably processed this as DWORDs, so we will take a shortcut by checking at four byte intervals, and use only four key bytes for each decryption. If this fails we will have to try decrypting at different intervals, possibly even at every byte. The <strong>&#8220;?&#8221;</strong> marks below indicate decrypted bytes outside the normal text range, which we would not expect in a URL.</p>
<p><span style="font-family: courier new;"><strong>T1</strong> 00000000   f8 9b 20 62  fc 48 d0 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        <strong>90 ef 54 12  c6 67 ff</strong> <strong>90 </strong>ef 54 12  <strong>90 </strong>ef 54 12</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f     ac 13 43 e3  01 be be 2d</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /      ?  ?  C  ?   ?  ?  ?  -</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   f3 81 7b 7f  aa 03 d0 3d  27 be 08 f8  85 34 44 87</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        <strong>90 </strong>ef 54 12<strong> 90 </strong>ef 54 12<strong> 90</strong> ef 54 12<strong> 90</strong> ef 54 12</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      63 6e 2f 6d  3a ec 84 2f  b7 51 5c ea  15 d8 10 95</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       <strong style="background-color: #ffffff; color: #000000;"><span style="color: #ff0000;">c  n  /  m</span> </strong> :  ?  ?  /   ?  Q  \  ?   ?  ?  ?  ?</span></p>
<p>The true decryption appears to be <strong style="font-family: Verdana;">&#8220;</strong><span style="font-family: courier new;"><strong style="background-color: #ffffff; color: #000000; font-family: Verdana;"><span style="color: #000000;">cn/m&#8221;</span></strong><span style="font-family: verdana;"><span><span style="background-color: #ffffff;"><span style="color: #000000;">,</span></span></span></span><span><span style="background-color: #ffffff;"><span style="color: #000000;"><span style="font-family: verdana;"> at the start of the second row. None of the others is even close.</span> </span></span></span></span>So it looks like we have found the key repetition and the key length. With this information we can set up our work sheet, with the known key bytes and decryptions they give us filled in. It can be seen below, where the decrypted parts confirm our work so far.<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>T1</strong> 00000000   f8 9b 20 62  fc 48 d0 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       <strong style="color: #000000;">h  t  t  p   :  /  /</strong></span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   f3 81 7b 7f  aa 03 d0 3d  27 be 08 f8  85 34 44 87</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      63 6e 2f 6d  6c 64 2f</span> </span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       <strong style="color: #000000;">c  n  /  m   l  d  /</strong> </span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>M1</strong> 00000000   f8 9b 20 62  fc 48 d0 2a  2e fc 11 f9  81 1a f6 74</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       <strong style="color: #000000;">h  t  t  p   :  /  /</strong></span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   e4 c0 38 7d  a7 03 9a 2d  6a f2 1a be  85 5c e8 11</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      74 2f 6c 6f  61 64 65</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       <strong style="color: #000000;">t  /  l  o   a  d  e</strong></span><br style="font-family: Courier New;" /><br />
Now we need to extend the URL text parts to uncover more key bytes. In other words we need to make some good guesses, but because the structure of URLs is well known to us, this should not be too difficult.</p>
<p>Notice that the second text line under <strong>T1</strong> starts with <strong>&#8220;cn/mld/&#8221;</strong>. This looks like a <strong>&#8220;.cn&#8221;</strong> top level domain, so let&#8217;s fill in the <strong>&#8220;.&#8221;</strong> and apply the key byte we get.</p>
<p><span style="font-family: courier new;"><strong>T1 </strong>00000000   f8 9b 20 62  fc 48 d0 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff                           11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f                           2e</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /                            <strong style="color: #ff0000;">.</strong></span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   f3 81 7b 7f  aa 03 d0 3d  27 be 08 f8  85 34 44 87</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      63 6e 2f 6d  6c 64 2f                           96</span> </span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       c  n  /  m   l  d  /                            <strong style="color: #ff0000;">?</strong></span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>M1</strong> 00000000   f8 9b 20 62  fc 48 d0 2a  2e fc 11 f9  81 1a f6 74</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff                           11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f                           65</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /                            <strong style="color: #ff0000;">e</strong></span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   e4 c0 38 7d  a7 03 9a 2d  6a f2 1a be  85 5c e8 11</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      74 2f 6c 6f  61 64 65                           00</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       t  /  l  o   a  d  e                            <strong style="color: #ff0000;">\0</strong></span></p>
<p>Now we have some more decrypted bytes. There is a null at the end of <strong>M1</strong>, this must be the URL string terminator, and a non-text byte (0&#215;96), but let&#8217;s ignore that one for now. It may be junk from beyond the end of the URL string, and we will know soon enough if this was a bad guess. At the end of the first <strong>M1</strong> line the text character is an <strong>&#8220;e&#8221;</strong>, so that we now have <strong>&#8220;et/loade&#8221;</strong>. This looks like it must be <strong>&#8220;.net/loader&#8221;</strong>, so next we will fill this in and decrypt some more.</p>
<p><span style="font-family: courier new;"><strong>T1</strong> 00000000   f8 9b 20 62  fc 48 d0 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 6d                  65 72 2e</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  <strong style="color: #0b5394;">m</strong> <strong style="color: #ff0000;">e  r</strong> .</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   f3 81 7b 7f  aa 03 d0 3d  27 be 08 f8  85 34 44 87</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      63 6e 2f 6d  6c 64 2f 62                  00 dc 96</span> </span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       c  n  /  m   l  d  /  <strong style="color: #0b5394;">b</strong> <strong style="color: #ff0000;">\0 ?</strong> ?</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>M1</strong> 00000000   f8 9b 20 62  fc 48 d0 2a  2e fc 11 f9  81 1a f6 74</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f                  34 98 11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 75                  2e 6e 65</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  <strong style="color: #0b5394;">u </strong> <strong style="color: #ff0000;">.  n</strong> e</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   e4 c0 38 7d  a7 03 9a 2d  6a f2 1a be  85 5c e8 11</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      74 2f 6c 6f  61 64 65 72                  68 70 00</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       t  /  l  o   a  d  e  <strong style="color: #0b5394;">r</strong> <strong style="color: #ff0000;">h  p</strong> \0</span></p>
<p>There is nothing very obvious here, but at the end of the second row of <strong>M1</strong> we have <strong>&#8220;hp\0&#8243;</strong>. This looks like it could be <strong>&#8220;.php&#8221;</strong>, so let&#8217;s try that next.</p>
<p><span style="font-family: courier new;"><strong>T1</strong> 00000000   f8 9b 20 62  fc 48 d0 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 6d           61  64 65 72 2e</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  m            <strong style="color: #ff0000;">a   d</strong> e  r  .</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   f3 81 7b 7f  aa 03 d0 3d  27 be 08 f8  85 34 44 87</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      63 6e 2f 6d  6c 64 2f 62           68  70 00 dc 96</span> </span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       c  n  /  m   l  d  /  b            <strong style="color: #ff0000;">h   p</strong> \0 ?  ?</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>M1</strong> 00000000   f8 9b 20 62  fc 48 d0 2a  2e fc 11 f9  81 1a f6 74</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 34 98 11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 75           69  74 2e 6e 65</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  u            <strong style="color: #ff0000;">i   t</strong> .  n  e</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   e4 c0 38 7d  a7 03 9a 2d  6a f2 1a be  85 5c e8 11</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f           90  f5 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      74 2f 6c 6f  61 64 65 72           2e  70 68 70 00</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       t  /  l  o   a  d  e  r            <strong style="color: #ff0000;">.   p</strong> h  p  \0</span></p>
<p>This looks good, and now we have some good hints. In <strong>T1</strong>, in the first line, it looks like we have <strong>&#8220;//m?loader.&#8221;</strong> and in the second line another <strong>&#8220;.php&#8221;</strong> is developing. We can put these in.<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>T1</strong> 00000000   f8 9b 20 62  fc 48 d0 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f     90 78 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 6d     6c 6f 61  64 65 72 2e</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  m      <strong style="color: #ff0000;">l  o</strong> a   d  e  r  .</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   f3 81 7b 7f  aa 03 d0 3d  27 be 08 f8  85 34 44 87</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90 78</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      63 6e 2f 6d  6c 64 2f 62     2e 70 68  70 00 dc 96</span> </span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       c  n  /  m   l  d  /  b      <strong style="color: #ff0000;">.  p</strong> h   p  \0 ?  ?</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>M1</strong> 00000000   f8 9b 20 62  fc 48 d0 2a  2e fc 11 f9  81 1a f6 74</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90 78</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 34 98 11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 75     6c 69 69  74 2e 6e 65</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  u      <strong style="color: #ff0000;">l  i</strong> i   t  .  n  e</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   e4 c0 38 7d  a7 03 9a 2d  6a f2 1a be  85 5c e8 11</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90 78</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 90  f5 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      74 2f 6c 6f  61 64 65 72     62 62 2e  70 68 70 00</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       t  /  l  o   a  d  e  r      <strong style="color: #ff0000;">b  b</strong> .   p  h  p  \0</span></p>
<p>Now, in the second line of <strong>M1</strong>, we have <strong>&#8220;bb.php&#8221;</strong>, and it looks like this also appears in <strong>&#8220;mld/b?.php&#8221;</strong> at second line of <strong>T1</strong>. With this we can fill in the last missing byte. <br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>T1</strong> 00000000   f8 9b 20 62  fc 48 d0 32  3c fc 17 f1  91 51 ea 3f</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">45</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 90 78 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 6d  79 6c 6f 61  64 65 72 2e</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  m   <strong style="color: #ff0000;">y</strong> l  o  a   d  e  r  .</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   f3 81 7b 7f  aa 03 d0 3d  27 be 08 f8  85 34 44 87</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f  45 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">90 78</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      63 6e 2f 6d  6c 64 2f 62  62 2e 70 68  70 00 dc 96</span> </span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       c  n  /  m   l  d  /  b   <strong style="color: #ff0000;">b</strong> .  p  h   p  \0 ?  ?</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><strong>M1</strong> 00000000   f8 9b 20 62  fc 48 d0 2a  2e fc 11 f9  81 1a f6 74</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">45</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">90 78</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">90  f5</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 34 98 11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      68 74 74 70  3a 2f 2f 75  6b 6c 69 69  74 2e 6e 65</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       h  t  t  p   :  /  /  u   <strong style="color: #ff0000;">k</strong> l  i  i   t  .  n  e</span><br style="font-family: Courier New;" /><br />
<br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> 00000010   e4 c0 38 7d  a7 03 9a 2d  6a f2 1a be  85 5c e8 11</span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #0000ff;"> key        90 ef 54 12  c6 67 ff</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 5f </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">45</span></span> <span style="font-family: courier new;"><span style="color: #0000ff;">90 78</span></span><span style="font-family: courier new;"><span style="color: #0000ff;"> 90  f5 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">34 98 </span></span><span style="font-family: courier new;"><span style="color: #0000ff;">11</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"><span style="color: #ff0000;"> plain      74 2f 6c 6f  61 64 65 72  2f 62 62 2e  70 68 70 00</span></span><br style="font-family: Courier New;" /><br />
<span style="font-family: courier new;"> text       t  /  l  o   a  d  e  r   <strong style="color: #ff0000;">/</strong> b  b  .   p  h  p  \0</span></p>
<p>So even if the URLs are unknown, we can still decrypt them if bots with different URLs use the same key. In fact all of the pairs from this group {T1-M1, M1-M5, and T1-M5} can be solved without any really difficult guessing, and using all three makes it much easier. Even when it is not clear what text to fill in next, we can always try different guesses until we find the right one.</p>
<p>Of course the weaknesses in this encryption could have been avoided, or at least reduced. For example, not re-using keys would have helped. What we may be seeing here is evidence that, like many computer users, bot herders don&#8217;t take security as seriously as they should.</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1038" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/cryptanalysis-of-the-sasfis-registry-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>February 2010 Threatscape: Ransomware Rampant, Fueled by Cutwail</title>
		<link>http://blog.fortinet.com/february-2010-threatscape-ransomware-rampant-fueled-by-cutwail/</link>
		<comments>http://blog.fortinet.com/february-2010-threatscape-ransomware-rampant-fueled-by-cutwail/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 23:27:46 +0000</pubDate>
		<dc:creator>DManky</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Threatscape]]></category>
		<category><![CDATA[UTM]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1034</guid>
		<description><![CDATA[Once executed, Security Tool will actually lock out applications and force the user into buying a cleansing tool that will restore the use of their computer. If this is not done, no applications, other than Internet Explorer (required to visit their payment portal), can be launched.]]></description>
			<content:encoded><![CDATA[<p>There were many flavors of threats <a href="http://www.fortiguard.com/report/roundup_february_2010.html">observed during this period</a>, though most were overshadowed by a campaign that accounted for more than half of our total malware detection (detected as HTML/Goldun.AXT) &#8211; in just two days. Over these two days the daily detected volume for these malicious emails was very close to record levels. This spam campaign delivered a malware binary using the filename &#8220;report.zip&#8221; which, when executed, would download rogue antivirus software. In fact, this malware downloaded the ransomware &#8220;Security Tool&#8221; &#8211; an upgraded version of &#8220;Total Security,&#8221; a scareware suite that ran rampant in 2009. Once executed, Security Tool will actually lock out applications and force the user into buying a cleansing tool that will restore the use of their computer. If this is not done, no applications, other than Internet Explorer (required to visit their payment portal), can be launched. One of our 2010 threat predictions was the rise of ransomware &#8211; it seems as though this has now become a harsh reality, given the flood of volume we witnessed with this one particular ransomware campaign. And this is just one example &#8211; we have seen Security Tool distributed through SEO attacks and beyond.</p>
<p>The email used for the HTML/Goldun.AXT campaign may look familiar, because we have seen this campaign quite some time ago in late 2008, during the first large flood of scareware that hit cyberspace. Here is the example email outlined in our <a id="r5de" title="November 2008 Threatscape Report" href="http://www.fortiguard.com/pics/roundup1108/image-05c.png">November 2008 Threatscape Report</a>. At that time, the very same spam template was delivering the Goldun trojan; now, this spam is used to spread the FakeAV downloader that installs the Security Tool ransomware. This is a great example of how tried and true attack techniques / social engineering can be recycled into future attacks, and how layered security really helps mitigate against these variants. For example, spam detection in this case can help mitigate against old and current attacks being used with new virus binaries: as another layer, antivirus helps guard against the malicious binaries even if the spam campaigns change. In this report, we witnessed multiple, varying spam campaigns for Security Tool. So, who is behind these attack campaigns? We know that the engine driving these record-breaking spam runs is none other than Cutwail (see our <a id="nep1" title="in-depth analysis here" href="http://www.fortiguard.com/analysis/pushdoanalysis.html">in-depth analysis here</a> for more info on this spam botnet). Some of the more prevalent spam campaigns driven by Cutwail distribute scareware / ransomware; it is popular because of the high amounts of profits available to cyber criminals. We have seen Cutwail grow because it has proven to be effective and successful with its scareware campaigns. Cutwail will also spam out botnet binaries (&#8221;seeding campaigns&#8221;) and other advertisements, which indicates Cutwail is likely hired out as a spamming service (Crime as a Service) for multiple cyber criminals. Thus, it is likely not just one individual and/or group behind these campaigns. With record levels and Cutwail operating in parallel with Webwail &#8211; its web spamming counterpart &#8211; there&#8217;s no doubt we will see much more troublesome activity from this pair in the future.</p>
<p>Apart from ransomware, our malware top 10 this period was riddled with many other active threats including, in second place, the Buzus spam trojan, followed in respective order by the Bredolab, Gumblar and Sasfis botnets. This is further emphasized in our attack top ten list, with Gumblar.Botnet traffic taking position as our number one detected malicious network chatter. While these threats remain the main players, many individual botnets still thrive such as Kneber &#8211; discussed <a id="niz4" title="here in our blog" href="http://blog.fortinet.com/kneber-another-day-at-the-office/">here in our blog</a>. Perhaps most interesting in our attack list is the addition of the fifth-ranked attack, Sun.Java.HsbParser.GetSoundBank.Stack.Buffer.Overflow (CVE-2009-3867), a vulnerability in Sun Java which can be triggered through a malicious Java Applet by visiting a malicious website. We have confirmed that the majority of these detections come from Metasploit setups, no doubt a favorite attack platform for a quick-and-easy campaign. Overall, active exploits for new vulnerabilities remained high this period, with 39% of newly covered vulnerabilities being attacked in the wild (Figure 1c). Apart from these, zero-days continue to be an issue: we saw the release of two out-of-band patches by Adobe (<a id="z0t2" title="Feb 11" href="http://www.fortiguard.com/advisory/FGA-2010-10.html">Feb 11</a> and <a id="vas4" title="Feb 16" href="http://www.fortiguard.com/advisory/FGA-2010-11.html">Feb 16</a>), as well as a breaking <a id="k5hc" title="zero-day for Oracle" href="http://www.fortiguard.com/advisory/FGA-2010-08.html">zero-day for Oracle</a>. As we always remind, stay up to date with patches when they are released, while keeping mitigating solutions in place such as antivirus and intrusion prevention.</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1034" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/february-2010-threatscape-ransomware-rampant-fueled-by-cutwail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On balance, is it still UTM?</title>
		<link>http://blog.fortinet.com/on-balance-is-it-still-utm/</link>
		<comments>http://blog.fortinet.com/on-balance-is-it-still-utm/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 17:02:03 +0000</pubDate>
		<dc:creator>CWindsor</dc:creator>
				<category><![CDATA[Inside FortiOS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[UTM]]></category>
		<category><![CDATA[FortiGate]]></category>
		<category><![CDATA[load balancer]]></category>
		<category><![CDATA[load balancing]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1014</guid>
		<description><![CDATA[With all of the features available in the FortiGate operating system, such as our antivirus, web filtering, IPS and antispam, together with the newer additions such as SSL VPN, DLP, WAN Optimization, etc., it is easy to overlook some of the lesser known features our solution provides.
I wanted to mention our load balancing capability as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.fortinet.com/wp-content/uploads/2010/02/Inside-FortiOS_Blog_Logo-150px.gif"><img class="alignleft size-full wp-image-981" style="margin-left: 8px; margin-right: 8px;" title="Inside-FortiOS_Blog_Logo-150px" src="http://blog.fortinet.com/wp-content/uploads/2010/02/Inside-FortiOS_Blog_Logo-150px.gif" alt="Inside-FortiOS_Blog_Logo-150px" width="150" height="47" /></a>With all of the features available in the FortiGate operating system, such as our antivirus, web filtering, IPS and antispam, together with the newer additions such as SSL VPN, DLP, WAN Optimization, etc., it is easy to overlook some of the lesser known features our solution provides.</p>
<p>I wanted to mention our load balancing capability as another one of those surprising Fortinet free features.</p>
<p>Of course in the current economic climate, consolidation, something Fortinet has pioneered for the past decade, is always being sought and the more features that a unified solution can provide the better.  Realists will always point out, however, that consolidation only works when the features being offered are of a sufficient quality compared with other solutions on the market.  This is where the little known FortiGate load balancing feature often surprises.</p>
<p>The Fortinet load balancing feature set contains all of the features you would expect of a server load balancing solution.  Traffic can be balanced across backend servers based on multiple methods including static (failover), round robin, weighted to account for different sized servers, or based on the health and performance of the server including round trip time, number of connections.  The load balancer supports HTTP/S, SSL or generic TCP/UDP or IP protocols.  Session persistence is supported based on the SSL session ID or based on an injected HTTP cookie.  The load balancing feature is supported on all devices from the FG50B upwards and supports 10,000 virtual servers on the high end systems.</p>
<p>In addition to the load balancing features, there is also a range of heavy duty options including:</p>
<ul>
<li> SSL Offload where the decryption process is offloaded to the FortiGate custom ASIC to accelerate performance</li>
<li>HTTP Multiplexing where multiple HTTP streams are pipelined into a single request to the backend server</li>
<li>Intrusion Prevention performed on the traffic before distribution out to the servers, protecting them from attack.</li>
</ul>
<p>Quite the UTM appliance&#8230;</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1014" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/on-balance-is-it-still-utm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SymbOS/Yxes goes version 2</title>
		<link>http://blog.fortinet.com/symbosyxes-goes-version-2/</link>
		<comments>http://blog.fortinet.com/symbosyxes-goes-version-2/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 08:32:28 +0000</pubDate>
		<dc:creator>Axelle</dc:creator>
				<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Mobile Security]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[symbianos]]></category>
		<category><![CDATA[symbos/yxes]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1018</guid>
		<description><![CDATA[A few days ago we encountered a new variant of the Symbian worm, Yxes, that we named SymbOS/Yxes.H!worm. This worm contacts malicious remote servers, which host Java Server Pages, and propagates by sending &#8216;attractive&#8217; SMS messages. For instance, this new variant sends an SMS with an URL promising private information concerning a Chinese actress. Globally, [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago we encountered <a id="dv1s" title="a new variant of the Symbian worm, Yxes" href="http://www.fortiguard.com/encyclopedia/virus/symbos_yxes.h%21worm.html">a new variant of the Symbian worm, Yxes</a>, that we named SymbOS/Yxes.H!worm. This worm contacts malicious remote servers, which host Java Server Pages, and propagates by sending &#8216;attractive&#8217; SMS messages. For instance, this new variant sends <a id="shst" title="an SMS promising private information concerning a Chinese actress" href="http://www.viruslist.com/en/weblog?calendar=2010-02">an SMS with an URL promising private information concerning a Chinese actress</a>. Globally, the logic (and much of the code) is the same as in previous variants. Yet, there are a few updates, one of the main ones being the use of new remote malicious Java Server Pages.</p>
<p>I guess every analyst has noticed this variant of the malware contacts the following URLs:</p>
<pre>http://XXXX/Jump.jsp?Version=2.0&amp;PhoneType=...&amp;PhoneImei=...&amp;PhoneImsi=...&amp;Source=...
http://XXXX/Kernel.jsp?Version=2.0&amp;PhoneType=...&amp;PhoneImei=...&amp;PhoneImsi=...&amp;Source=...
http://XXXX/KernelPara.jsp?Version=2.0&amp;PhoneType=...&amp;PhoneImei=...&amp;PhoneImsi=...&amp;Source=...</pre>
<p>The PhoneType argument contains the model of the infected phone (e.g nokia3250, nokian95&#8230;), while the PhoneImei and PhoneImsi arguments respectively contain the phone&#8217;s IMEI and IMSI. The Source argument is new to this variant, and its use has not been reversed yet. It could possibly contain the name of the malicious website used to infect the phone.</p>
<p>The first of those JSP pages, <strong>Jump</strong>.jsp, redirects the user to a Chinese mobile social networking site (3g.kaixin001.com then wap.kaixin001.com). Actually, we had already noticed this behaviour in at least 2 former JSP pages used by previous versions.</p>
<p>The second JSP page, <strong>Kernel</strong>.jsp, actually replies the following string (host name removed):</p>
<pre>http://XXXX/download/root/plugucsrv.sisx</pre>
<p>And, from this location, we get a new minor variant of Yxes.D. This is a consistent behavior in Yxes: the worm indeed often works in pairs (e.g variants A, B, D or E download variants C, D or F). In this case, variant H silently downloads and installs a remotely hosted new version of variant D.</p>
<p>Its certificate says:</p>
<pre>Serial Number:
 2a:2f:00:01:00:23:37:98:0c:73:b2:c7:69:17
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=GB, O=Symbian Limited, CN=Symbian CA I
Validity
 Not Before: Jan 23 17:55:42 2010 GMT
 Not After : Jan 24 17:55:42 2020 GMT
Subject: C=CN, ST=Fujian, L=XiaMen, O=Xiamen Jindoucheng Tech Co. Ltd.,
OU=plugucsrv  2.1.0, OU=Symbian Signed ContentID,
CN=Xiamen Jindoucheng Tech Co. Ltd.</pre>
<p>A notification has been sent to Symbian, who tells us the certificate should soon be revoked. Meanwhile, be cautious if you encounter a file named plugucsrv.sisx that installs as a &#8216;Setting Wizard&#8217;.</p>
<p>That variant D then actually does most of the malicious work: collect data on the phone, report it back to the malicious web servers and send SMS messages. The URLs it contacts are:</p>
<pre>http://XXXX/bs.jsp?Version=2.1&amp;PhoneType=...&amp;PhoneImei=...&amp;PhoneImsi=...
&amp;PhoneNumber=...&amp;Succeed=...&amp;Fail=...&amp;Source=... &amp;Time=...&amp;Component=...</pre>
<pre>http://XXXX/index.jsp?Version=2.1&amp;PhoneType=...&amp;PhoneImei=...&amp;PhoneImsi=...
&amp;PhoneNumber=...&amp;Succeed=...&amp;Fail=...&amp;Source=... &amp;Time=...&amp;Component=...</pre>
<pre>http://XXXX/number.jsp?Version=2.1&amp;PhoneType=...&amp;PhoneImei=...&amp;PhoneImsi=...
&amp;PhoneNumber=...&amp;Succeed=...&amp;Fail=...&amp;Source=... &amp;Time=...</pre>
<p>The PhoneNumber, Succeed, Fail and Time arguments are obviously used to report contacts listed on the phone. The Succeed and Fail arguments are followed by an integer, probably the number of times that phone number has successfully been called or not.</p>
<p>Quite interestingly, if we try to get http://XXXX/bs.jsp, using a credible user agent (the malicious websites are known to check user agents &#8211; in particular, if it detects Internet Explorer, it responds &#8220;404 Not Found&#8221;):</p>
<pre>SUCCESS reponse: 200 OK
http://hew1ett-packard.com/bs.jsp?</pre>
<p>Notice the letter L of Hewlett has been replaced the number 1 (one).</p>
<p>So, the first malicious web server redirects the requests to another malicious web server, whose name is obviously intentionally crafted to fool the end-user. The URL does not respond any longer. Note that the Yxes worm is already known to use such mispellings:</p>
<ul>
<li> www.megac1jck.com</li>
<li> www.mozi11a.com</li>
<li> www.makt00b.com</li>
<li> www.mediafir8.com</li>
<li> www.megaup10ad.com</li>
</ul>
<p>The third JSP, <strong>KernelPara</strong>.jsp, is still a mystery we have to work on. It returns a file named encrypt_Kernel_Para.txt. If its name is meaningful, it is likely to be an encrypted version of a file named Kernel_Para.txt (the worm already uses files with similar names: Local_Para.txt and Remote_Para.txt). In our case, its content is fixed and 32-byte long. It is not an XOR encrypted URL.</p>
<p>Finally, to evaluate the worm&#8217;s authors progress, it is interesting to follow the dates and versions of samples. The dates are taken from the first validity date in the X.509 certificate used to sign the sample, and the version numbers are included either in the main executable of the sample or in the certificate.</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-1019" src="http://blog.fortinet.com/wp-content/uploads/2010/03/Yxes-versions.png" alt="Yxes-versions" width="527" height="263" /></p>
<p>Apart from a sporadic &#8216;accident&#8217; end of June 2009 where a version 1.0 goes in the wild (probably an error in versioning), we see the worm authors are continuously working on Yxes since the end of 2008. So <a id="l.yo" title="my first prediction for 2010" href="http://blog.fortinet.com/10-predictions-for-mobile-malware-in-2010/">my first prediction for 2010</a> was nearly bound to be true&#8230;</p>
<p>&#8211; The Crypto Girl</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1018" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/symbosyxes-goes-version-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>It&#8217;s secure, but is it easy?</title>
		<link>http://blog.fortinet.com/its-secure-but-is-it-easy/</link>
		<comments>http://blog.fortinet.com/its-secure-but-is-it-easy/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 17:54:09 +0000</pubDate>
		<dc:creator>CWindsor</dc:creator>
				<category><![CDATA[Inside FortiOS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[UTM]]></category>
		<category><![CDATA[FortiGate]]></category>
		<category><![CDATA[ssl vpn]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1011</guid>
		<description><![CDATA[Let&#8217;s admit, whilst IPSec VPN has traditionally been the standard for secure remote access it has never been the easiest to configure. The client software installation, pre-shared key distribution and the inevitable debugging due to the myriad of options and overly aggressive port filtering by your access provider has caused many an administrator, if not [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.fortinet.com/wp-content/uploads/2010/02/Inside-FortiOS_Blog_Logo-150px.gif"><img class="alignleft size-full wp-image-981" style="margin: 8px;" title="Inside-FortiOS_Blog_Logo-150px" src="http://blog.fortinet.com/wp-content/uploads/2010/02/Inside-FortiOS_Blog_Logo-150px.gif" alt="Inside-FortiOS_Blog_Logo-150px" width="150" height="47" /></a>Let&#8217;s admit, whilst IPSec VPN has traditionally been the standard for secure remote access it has never been the easiest to configure. The client software installation, pre-shared key distribution and the inevitable debugging due to the myriad of options and overly aggressive port filtering by your access provider has caused many an administrator, if not sleepless nights, then certainly a period of frustration. Whilst improving the experience of the IPSec VPN configuration, easing the client install and giving more widely useful default options certainly helps we can still find ourselves looking elsewhere for solutions. With SSL-VPNs we get a remote access solution based on standard browser encryption technology, removing the configuration headaches and making remote access as ubiquitous as the browser. At Fortinet we believed this feature was so useful to our FortiOS feature set that we added it for free.</p>
<p>With supporting for multiple browsers, a menu driven captive portal, and a tunnel mode with client software available across a range of operating systems, (windows family, linux, mac, iPhone) our SSL-VPN solution simplifies VPN connectivity. Of course, we also use our FortiASIC technology to drive the performance and don&#8217;t limit access by user or license key.</p>
<p>This is no cut-down feature set either, we provide integration with Active Directory, E-Directory, LDAP, RADIUS, TACACS+ with multiple token and certificate based two factor authentication options, with portals and access permissions controlled by user groups. There is support for posture checking, virtual desktop, cache cleaning and single sign on. We&#8217;ve also ensured that we integrate with the FortiGate WAN optimization feature to give that remote client some network performance optimization.</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1011" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/its-secure-but-is-it-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API Resolution in W32/Bredolab.AC!tr.dldr</title>
		<link>http://blog.fortinet.com/api-resolution-in-w32bredolab-actr-dldr/</link>
		<comments>http://blog.fortinet.com/api-resolution-in-w32bredolab-actr-dldr/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 19:54:07 +0000</pubDate>
		<dc:creator>RAlvarez</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bredolab]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=1003</guid>
		<description><![CDATA[In-depth analysis of malware shows different methods of obfuscating their codes. They employ different tactics to hide themselves to harden analysis. They also dynamically load functions that they will be using. Those functions more often times called API (Application Programming Interface) are commonly loaded when we run an application.
Malware authors also use dynamic function loading [...]]]></description>
			<content:encoded><![CDATA[<p>In-depth analysis of malware shows different methods of obfuscating their codes. They employ different tactics to hide themselves to harden analysis. They also dynamically load functions that they will be using. Those functions more often times called API (Application Programming Interface) are commonly loaded when we run an application.</p>
<p>Malware authors also use dynamic function loading to enable itself to adapt to different operating system. They use it to enable their program to run on Windows XP, Vista, Windows 7 or other platform.</p>
<p>Common practice is to list all function names as an array of strings to be loaded once the application is running. They used a combination of LoadLibrary and GetProcAddress functions to get the proper addresses. Still some try to use other techniques of getting those addresses without even using those two functions.</p>
<p>Let’s take a closer look at how W32/Bredolab.AC!tr.dldr resolved its API addresses.</p>
<p>W32/Bredolab.AC!tr.dldr did not use a list of API strings,  instead it uses a list of hash values equivalent of the APIs. The hash is computed as below:</p>
<p><a href="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo1.jpg"><img class="alignnone size-full wp-image-1004" title="bredo1" src="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo1.jpg" alt="bredo1" width="531" height="181" /></a></p>
<p><strong> These are the steps how the malware got the right API  addresses without using LoadLibrary and GetProcAddress functions. </strong></p>
<p>Step 1:</p>
<p>It first copies the DLL file that it needs in a “%temp%” folder with TMP??.tmp as the filename(?? is a 2-digit number).</p>
<p><a href="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo2.jpg"><img class="alignnone size-full wp-image-1005" title="bredo2" src="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo2.jpg" alt="bredo2" width="526" height="193" /></a></p>
<p>Step 2:</p>
<p>It then loads the TMP??.tmp to its address space.</p>
<p><a href="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo3.jpg"><img class="alignnone size-full wp-image-1006" title="bredo3" src="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo3.jpg" alt="bredo3" width="516" height="133" /></a></p>
<p>Step 3:</p>
<p>After loading the tmp file which is the equivalent dll file, it can now work on parsing it.  It parses its content, technically in the export table to get the list of function names. It then computes a hash value for each name and compare it to its own list.</p>
<p><a href="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo4.jpg"><img class="alignnone size-full wp-image-1007" title="bredo4" src="http://blog.fortinet.com/wp-content/uploads/2010/03/bredo4.jpg" alt="bredo4" width="566" height="188" /></a></p>
<p>Once it gets the right hash value, it then gets the address of the function. And it starts back on Step 1 till it gets all the addresses it needs.</p>
<p>This technique of getting API addresses is not new. But it still serves as a basis of how malware works. Malware authors go to some lengths just to try to make analysis harder. I imagine that this is not even half of what the malware does.</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=1003" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/api-resolution-in-w32bredolab-actr-dldr/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RSA Conference: Ransomware and Industrial Spying</title>
		<link>http://blog.fortinet.com/rsa-conference-ransomware-and-industrial-spying/</link>
		<comments>http://blog.fortinet.com/rsa-conference-ransomware-and-industrial-spying/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 22:39:07 +0000</pubDate>
		<dc:creator>JLeggio</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[industrial spying]]></category>
		<category><![CDATA[ransomware]]></category>
		<category><![CDATA[rsa conference]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=998</guid>
		<description><![CDATA[Two of Fortinet&#8217;s FortiGuard Labs researchers will be on hand at next week&#8217;s RSA Conference to present their research in the Fortinet booth theater (#2225). The presentations focus on ransomware and industrial spying, two hot topic areas that are on the minds of security professionals at enterprises today. Here is a bit of information:
All Your [...]]]></description>
			<content:encoded><![CDATA[<p>Two of Fortinet&#8217;s FortiGuard Labs researchers will be on hand at next week&#8217;s RSA Conference to present their research in the Fortinet booth theater (#2225). The presentations focus on ransomware and industrial spying, two hot topic areas that are on the minds of security professionals at enterprises today. Here is a bit of information:</p>
<p style="padding-left: 30px;"><strong>All Your Data Are Belong To Us</strong><br />
Ransomware comes in many shapes and forms, with the most recent variation using malware masquerading as antivirus protection. The goal of an attacker is simple: cripple, lock down and encrypt files/applications, then offer a service to unlock the data. Ransomware has already begun to leave a destructive trail in 2010. Watch as Derek Manky, cyber security and threat researcher, discusses and demonstrates these threats live in the theater.</p>
<p style="padding-left: 30px;"><strong>The Art of Industrial Spying</strong><br />
Every organization and individual has more and more confidential or regulated data to manage, with growing amounts of data being moved to digital storage and transferred digitally. This has wedged the door open to data theft and/or manipulation for financial gain, while bypassing physical security measures. Steve Fossen, senior manager of security research and development, will discuss and demonstrate how enterprises can protect their data from this kind of intellectual property theft so that it doesn’t end up in the wrong hands – or on the open market.</p>
<p>Presentations will take place every 30 minutes during show floor hours. Please stop by the Fortinet booth (#2225) for the schedule and for information on these presentations.</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=998" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/rsa-conference-ransomware-and-industrial-spying/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Filtering: A Flexible Service</title>
		<link>http://blog.fortinet.com/web-filtering-a-flexible-service/</link>
		<comments>http://blog.fortinet.com/web-filtering-a-flexible-service/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 18:16:22 +0000</pubDate>
		<dc:creator>Mxie</dc:creator>
				<category><![CDATA[Inside FortiOS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Security]]></category>
		<category><![CDATA[FortiGate]]></category>
		<category><![CDATA[fortiguard]]></category>
		<category><![CDATA[url filtering]]></category>
		<category><![CDATA[web content filtering]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=993</guid>
		<description><![CDATA[I’ve  been asked to provide a little more information on what else we can provide in  the web filtering space, particularly when it comes to service providers and how  they can solve one of the main problems when considering a residential web  filtering service. We have provided a way of dynamically [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.fortinet.com/wp-content/uploads/2010/02/Inside-FortiOS_Blog_Logo-150px.gif"><img class="alignleft size-full wp-image-981" style="margin-left: 8px; margin-right: 8px;" title="Inside-FortiOS_Blog_Logo-150px" src="http://blog.fortinet.com/wp-content/uploads/2010/02/Inside-FortiOS_Blog_Logo-150px.gif" alt="Inside-FortiOS_Blog_Logo-150px" width="150" height="47" /></a>I’ve  been asked to provide a little more information on what else we can provide in  the web filtering space, particularly when it comes to service providers and how  they can solve one of the main problems when considering a residential web  filtering service. We have provided a way of dynamically provisioning the web  filtering profile on a per end point basis, and end point can of course be many  things. Flexibility in this end point definition is key, so it can relate to an  authenticated username, a service, location, or in the case of mobile networks  the cell number (MSISDN).</p>
<p>Providing this flexibility does  of course leave us another problem to solve. In a mixed home environment with  parents and children of various ages different levels of access are desirable,  or a least the parent paying the bill wants to have some additional choice. With  our in home residential control here at Fortinet we believe in allowing parents  to have a different level of access than others in the house with an over ride  capability which can unlock a reduced, or unfiltered access. Depending of course  on how the provider has defined the service offering. But it is possible to  match the service to just to the house, but to it’s occupants, all sharing the  same IP address.</p>
<p>For  providers it gives them the ability to create flexible services that are  dynamically provisioned, helping the scalability, and profitability of the  offer. For the customer we provide the protection they need, without the  restrictions they are happy to do without.</p>
<p><strong>Effortless  Efficiency</strong></p>
<p>Speed  and efficiency is of the essence in protecting your network and its users from  threats. It is also key to a quick response for web site  ratings.</p>
<p>As  previously discussed, the latency is minimized through the FortiGate monitoring  of FortiGuard servers for the most responsive server within its geographic  region. Further, rating responses can also be cached locally, minimizing the  hits on the FortiGuard servers. This is a very effective method for common  sites. Search engines and other frequently visited sites for your business can  remain cached locally. Other sites less frequently visited, can be cached  locally for a determined amount of time. For a site such as Google, the  frequency of its access can keep it in the cache, other sites can remain in the  cache up to 24 hours, or less depending on the  configuration.</p>
<p>But  what other options can you have to maximize the response time to web filter  ratings? Well you need to minimize the network latency, how we do that is  provide you with your own copy of the FortiGuard database, automatically  synchronized to the main FortiGuard Network.</p>
<p>This  copy is stored on the FortiManager device that you would own and deploy at a  location most appropriate to your network environment and the demands placed  upon it. Having this local access minimizes any network latency for web site  filtering for individual requests while having the same coverage offered by the  host FortiGuard network.</p>
<p><strong>Read Part I:<a href="http://blog.fortinet.com/cloud-based-fortiguard-web-filtering-services/"> Cloud-Based FortiGuard Web Filtering Services</a></strong></p>
<p><strong><strong>Read Part II: <a href="http://blog.fortinet.com/web-filtering-controlling-the-flow/">Web Filtering: Controlling the Flow</a></strong><br />
</strong></p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=993" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/web-filtering-a-flexible-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kneber: Another day at the office</title>
		<link>http://blog.fortinet.com/kneber-another-day-at-the-office/</link>
		<comments>http://blog.fortinet.com/kneber-another-day-at-the-office/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 23:26:05 +0000</pubDate>
		<dc:creator>DManky</dc:creator>
				<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[Intrusion Prevention]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Threatscape]]></category>

		<guid isPermaLink="false">http://blog.fortinet.com/?p=988</guid>
		<description><![CDATA[Though Kneber certainly poses a problem on its own, the much larger issue is the source of the problem: how such kits and crime services allow these botnets to fluorish. Attacks can deliver payloads (the ZBot virus) from many arenas, not just traditional email.]]></description>
			<content:encoded><![CDATA[<p>You have likely heard of the Kneber attacks chronicled by the mass media as of late. Kneber is a botnet, and a very familiar one at that &#8211; Zeus. Zeus is a crimeware kit, a do-it-yourself setup which allows any aspiring botnet herders to configure and create their own botnet (referred to as ZBot). The builder will configure the ZBot binary for the client, with its own botnetID/password: thus creating a new variant of ZBot. In fact, there are many active botnets that are spawned by this widely distributed kit. It has become so popular, and accessible, that attacks like this are bound to arise in the numbers: Kneber is merely one of them. The configurations are extensive, the possibilities vast, and consulting services even exist to accelerate the deployment of a new botnet; this falls into the growing trend of Crime as a Service (see my post here on <a id="r30m" title="Adaptive Crime Services" href="http://blog.fortinet.com/adaptive-crime-services/">Adaptive Crime Services</a> for more examples on this). Though Kneber certainly poses a problem on its own, the much larger issue is the source of the problem: how such kits and crime services allow these botnets to fluorish. Attacks can deliver payloads (the ZBot virus) from many arenas, not just traditional email.</p>
<p>Zeus is often associated as a banking trojan, but because of its flexible configuration, it is very easy to target any information the attacker wishes. For some examples, including a video demonstrations, please see the detailed <a id="wnrw" title="analysis of Zeus/ZBot" href="http://www.fortiguard.com/analysis/zeusanalysis.html">analysis of Zeus/ZBot</a> available on our FortiGuard Center. It can easily be configured to steal social networking credentials (we used Facebook as an example in our labs) &#8212; and indeed with Kneber, it has been used for such purposes. For quick reference, here is a screenshot which shows targeted Facebook information reported by ZBot to its controller (left). The form data (username and password) is passed along to view in clear text by the attacker:</p>
<p style="text-align: center"><a href="http://blog.fortinet.com/wp-content/uploads/2010/02/SocialZeus.png"><img class="size-full wp-image-989  aligncenter" src="http://blog.fortinet.com/wp-content/uploads/2010/02/SocialZeus.png" alt="SocialZeus" width="479" height="230" /></a><em>ZBot reports stolen social networking credentials</em></p>
<p>This particular botnet was named after the email address used to register a domain used in this attack, though in reality, it is just another recent example of a new ZBot variant active in the wild. Further, infected machines were reported to also have Waledac infections &#8212; another very active spamming botnet. For more information, please see our detailed writeup on Waledac here. This is not a surprise, many machines are multi-infected nowadays, especially when it comes to botnets that are used as &#8220;loaders&#8221; to download and distribute malware, essentially infrastructure for hire. This is widely the case with the Pushdo and Bredolab botnets which have been active for years. Because of this, it should not be a focus to lock down against one particular attack: in my mind, layered security is a feasible approach to guarding against blended threats, multi-infections and the growing array of attacks we see in cyberspace today. FortiGuard Labs detects Zeus/ZBot network traffic through IPS as &#8220;Zeus.Botnet&#8221;, and guards against ZBot variants such as Kneber through antivirus as well.</p>
 <img src="http://blog.fortinet.com/wp-content/plugins/feed-statistics.php?view=1&post_id=988" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.fortinet.com/kneber-another-day-at-the-office/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
