<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>blueblog - by Christian J. Dietrich - Botnets</title>
    <link>http://blog.cj2s.de/</link>
    <description>on malware, botnets and security by Christian J. Dietrich</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.6.2 - http://www.s9y.org/</generator>
    <pubDate>Mon, 08 Apr 2013 20:30:36 GMT</pubDate>

    <image>
        <url>http://blog.cj2s.de/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: blueblog - by Christian J. Dietrich - Botnets - on malware, botnets and security by Christian J. Dietrich</title>
        <link>http://blog.cj2s.de/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Performance Profiling Analysis using perf</title>
    <link>http://blog.cj2s.de/archives/33-Performance-Profiling-Analysis-using-perf.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/33-Performance-Profiling-Analysis-using-perf.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=33</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=33</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    While most of the stuff we analyze is Windows malware, when it comes to implementing detection or analysis approaches, we surely turn to GNU/Linux. One of the best tools I stumbled upon when it comes to profiling, i.e. analyzing the execution performance of C code under Linux is &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/perf.wiki.kernel.org/index.php/Main_Page&#039;]);&quot;  href=&quot;https://perf.wiki.kernel.org/index.php/Main_Page&quot; target=&quot;_blank&quot;&gt;perf&lt;/a&gt;. Since most of the time we have to develop code that has to run &lt;strong&gt;fast&lt;/strong&gt;, especially when dealing with carrier-grade network links of 10 GbE, profiling is inevitable. perf is extremely useful as it barely adds any overhead, is easy to use and precise. For example, in order to measure while running a userspace application, perf is called as easy as:&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
perf record -g ./application [params and args for the application]&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
On a multicore system, the performance overhead induced by perf while monitoring a single-threaded application is hardly noticeable. But the real magic lies within the simple yet powerful result reporing. In order to get a histogram of time spent in each function, it is as simple as&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
perf report&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Output of perf report&quot; href=&#039;http://blog.cj2s.de/uploads/perf-report-subset2.png&#039; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:36 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;514&quot; height=&quot;485&quot;  src=&quot;http://blog.cj2s.de/uploads/perf-report-subset2.png&quot; title=&quot;Output of perf report&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The first column shows the relative amount of time spent in the respective function. At the top, the functions where most computing time is consumed are displayed. This provides the developer with a quick view on the functions which potentially profit most from code optimizations. Thus, as shown in the example screenshot above I would dig into the libmagic stuff first. The console user interface is interactive and allows to navigate and dig down tree-structured call chains. In addition, it can annotate the assembly using the surrounding C source code, as shown here (simply press &#039;a&#039;):&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Annotated perf report assembly view&quot; href=&#039;http://blog.cj2s.de/uploads/perf-report-annotate2.png&#039; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:37 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;659&quot; height=&quot;368&quot;  src=&quot;http://blog.cj2s.de/uploads/perf-report-annotate2.png&quot; title=&quot;Annotated perf report assembly view&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Finally, perf can print an annotated call graph snippet using &lt;pre&gt;perf report -g&lt;/pre&gt;&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;perf call graph output snippet&quot; href=&#039;http://blog.cj2s.de/uploads/perf-graph2.png&#039; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:38 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;466&quot; height=&quot;521&quot;  src=&quot;http://blog.cj2s.de/uploads/perf-graph2.png&quot; title=&quot;perf call graph output snippet&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Note that the code should be compiled with -fno-omit-frame-pointer and -ggdb. To me, one of the results clearly indicated to use tcmalloc instead of the standard glibc malloc. I can really recommend profiling with perf. 
    </content:encoded>

    <pubDate>Mon, 08 Apr 2013 22:22:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/33-guid.html</guid>
    
</item>
<item>
    <title>Tracking the Command and Control Activity of Botnets</title>
    <link>http://blog.cj2s.de/archives/32-Tracking-the-Command-and-Control-Activity-of-Botnets.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/32-Tracking-the-Command-and-Control-Activity-of-Botnets.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=32</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=32</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    As part of our research on botnets, we developed recognition techniques for botnet command and control flows, such as &lt;a href=&quot;http://blog.cj2s.de/archives/30-CoCoSpot-Recognizing-Botnet-CC-Channels-using-Traffic-Analysis.html&quot;&gt;CoCoSpot&lt;/a&gt;. Obviously, we use these techniques to track C&amp;C channels and their activities. Throughout our analysis period of more than three years, we have seen several botnets come and go. Some botnets have faced dedicated takedowns, such as Rustock, Mariposa, Mega-D, Kelihos and Pushdo, while others cease without further ado. &lt;br /&gt;
&lt;br /&gt;
By help of our tracking means, we are able to classify the activity of C&amp;C channels. The following figure graphs the activity of some 25+ prevalent botnets in terms of consecutive C&amp;C activity by family, as seen and covered by our tracking means, as well as public attention. The x-axis reflects the time period since February, 1st, 2010 until February, 13th, 2013, while the y-axis lists botnet families. A star depicts a dedicated takedown action. Note that, in case of Mariposa and Mega-D, the takedown actions have taken place before the beginning of the time period in this graph. The &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.net-security.org/secworld.php?id=8962&#039;]);&quot;  href=&quot;http://www.net-security.org/secworld.php?id=8962&quot; target=&quot;_blank&quot;&gt;Mariposa takedown&lt;/a&gt; has occurred on December 23rd, 2009, and Mega-D has been &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blog.fireeye.com/research/2009/11/smashing-the-ozdok.html&#039;]);&quot;  href=&quot;http://blog.fireeye.com/research/2009/11/smashing-the-ozdok.html&quot; target=&quot;_blank&quot;&gt;taken down&lt;/a&gt; in November 2009. In these cases, the stars are placed on the start of the time period in order to visualize the preceding takedown. A thin black line with black markers represents the time period where new binaries are distributed, but none of the binaries exhibit an &lt;strong&gt;active&lt;/strong&gt; C&amp;C channel. Inactive C&amp;C channels are caused, for example, by outdated binaries, unreachable C&amp;C servers or sinkholing (possibly after successful takedowns). The &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blogs.technet.com/b/mmpc/archive/2011/03/18/operation-b107-rustock-botnet-takedown.aspx&#039;]);&quot;  href=&quot;http://blogs.technet.com/b/mmpc/archive/2011/03/18/operation-b107-rustock-botnet-takedown.aspx&quot; target=&quot;_blank&quot;&gt;Rustock takedown operation b107 by Microsoft&#039;s DCU&lt;/a&gt; is an example of such a successful takedown. Similarly, the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blog.fireeye.com/research/2011/03/a-retreating-army.html&#039;]);&quot;  href=&quot;http://blog.fireeye.com/research/2011/03/a-retreating-army.html&quot; target=&quot;_blank&quot;&gt;Harnig botnet&lt;/a&gt;, which is believed to have been the main distributor of Rustock (most likely via pay-per-install), exhibits inactive C&amp;C since March, 2011. This correlates to the time of the Rustock takedown operation. Coincidence?&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 450px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;C&amp;C activity of botnets over time&quot; href=&#039;http://blog.cj2s.de/uploads/BotnetFamiliesOverTime.png&#039; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:34 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;257&quot;  src=&quot;http://blog.cj2s.de/uploads/BotnetFamiliesOverTime.serendipityThumb.png&quot; title=&quot;C&amp;C activity of botnets over time&quot; alt=&quot;C&amp;C activity of botnets over time&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;C&amp;C activity of botnets over time&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
In contrast to inactive C&amp;C, a thick red bar represents the time periods where active C&amp;C communication has been observed, and this is where things get really interesting. Every time I look at this graph, I am astonished by the fact that some botnets manage to operate successfully since &lt;strong&gt;several years&lt;/strong&gt;. Cutwail, Virut, Sality, Palevo and Lethic are mere examples for such long-living botnets. However, their strategies for continued operation differ. While Sality has had a builtin peer-to-peer (P2P) component for years, Virut has experienced the comfort of using just a handful of domains in order to contact the C&amp;C server. In case the domains cannot be resolved, a domain generation algorithm (DGA) kicks in. However, only recently, a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/krebsonsecurity.com/2013/01/polish-takedown-targets-virut-botnet/&#039;]);&quot;  href=&quot;http://krebsonsecurity.com/2013/01/polish-takedown-targets-virut-botnet/&quot; target=&quot;_blank&quot;&gt;takedown&lt;/a&gt; &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.spamhaus.org/news/article/690/cooperative-efforts-to-shut-down-virut-botnet&#039;]);&quot;  href=&quot;http://www.spamhaus.org/news/article/690/cooperative-efforts-to-shut-down-virut-botnet&quot; target=&quot;_blank&quot;&gt;operation&lt;/a&gt; addressed &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.scmagazineuk.com/virut-botnet-takedown-sinkholes-23-domains/article/276813/&#039;]);&quot;  href=&quot;http://www.scmagazineuk.com/virut-botnet-takedown-sinkholes-23-domains/article/276813/&quot; target=&quot;_blank&quot;&gt;Virut&lt;/a&gt;. Palevo seems to keep it simple, neither P2P nor DGA nor significantly low TTLs on the DNS responses (which could indicate fast flux). Instead Palevo seems to rely on new and migrating domains. Similar to Palevo, Lethic manages to bootstrap its C&amp;C by plain old DNS resolution. These are just some examples of long-lasting botnets with active C&amp;C, most of which have a centralized primary C&amp;C architecture. In contrast to botnets with centralized C&amp;C, several peer-to-peer botnets have emerged. Storm, Miner, ZeroAccess, Kelihos and Zeus P2P exhibit a primary C&amp;C which is based on a P2P network, probably motivated by increased resilience. While Storm and Miner ceased, ZeroAccess, Kelihos and Zeus P2P show significant C&amp;C activity &amp;mdash; an observation also covered in &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.christian-rossow.de/publications.php&#039;]);&quot;  href=&quot;http://www.christian-rossow.de/publications.php&quot; target=&quot;_blank&quot;&gt;our yet-to-be-published research paper on P2P botnet resilience&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;On the sustain of botnet takedowns&lt;/strong&gt;&lt;br /&gt;
What do we learn from this? On the one hand, as can be seen in the figure, the takedowns of the Bredolab as well as the Rustock botnet have a long-lasting effect. Although for Bredolab and Mega-D we witness active C&amp;C during up to several months after the takedowns, none of these botnets manage to achieve active C&amp;C communication in the long run. On the other hand, we have seen quite a few botnet families resurrect from takedowns. For example, researchers initiated a takedown of the Pushdo botnet in August 2010. However, even two years after the takedown, we still observe active executions of Pushdo. The Mariposa botnet is believed to have been taken down in December 2009, but we have seen active Mariposa command and control traffic ever since. Similarly, although the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blogs.technet.com/b/microsoft_blog/archive/2012/09/13/microsoft-disrupts-the-emerging-nitol-botnet-being-spread-through-an-unsecure-supply-chain.aspx&#039;]);&quot;  href=&quot;http://blogs.technet.com/b/microsoft_blog/archive/2012/09/13/microsoft-disrupts-the-emerging-nitol-botnet-being-spread-through-an-unsecure-supply-chain.aspx&quot; target=&quot;_blank&quot;&gt;Nitol botnets&lt;/a&gt; have been taken down in September 2012, many Nitol binaries manage to successfully bootstrap and reach a viable C&amp;C server, because they do not rely on the suspended domains such as 3322.org. In addition, the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blog.fireeye.com/research/2012/07/grum-botnet-no-longer-safe-havens.html&#039;]);&quot;  href=&quot;http://blog.fireeye.com/research/2012/07/grum-botnet-no-longer-safe-havens.html&quot; target=&quot;_blank&quot;&gt;Tedroo botnet&lt;/a&gt; has been addressed in a takedown action in July, 2012. However, again, we observed active C&amp;C communication of the same botnet family just within days after the takedown, continuing for at least three months. Thus, from an observational point of view, the challenge of botnet family takedowns lies in their sustain.&lt;br /&gt;
&lt;br /&gt;
Some botnets even cease without a dedicated (publicly known) takedown of the C&amp;C infrastructure. For example, the Miner botnet has not been addressed in a dedicated takedown operation of its peer-to-peer-based C&amp;C, but its activity diminished significantly after October 2011. Similarly, the Renos botnet has ceased its operation, although possibly after removal signatures of the Renos binaries have been distributed by Microsoft as part of its Removal Tool MSRT. It is an open question as to whether the criminals behind these botnets just moved on to the next botnet. Most notably, the authors of &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.kaspersky.com/about/news/virus/2012/How_Kaspersky_Lab_and_CrowdStrike_Dismantled_the_Second_Hlux_Kelihos_Botnet_Success_Story&#039;]);&quot;  href=&quot;http://www.kaspersky.com/about/news/virus/2012/How_Kaspersky_Lab_and_CrowdStrike_Dismantled_the_Second_Hlux_Kelihos_Botnet_Success_Story&quot; target=&quot;_blank&quot;&gt;Kelihos/Hlux&lt;/a&gt; (some consider Kelihos the successor of Waledac) stick to their botnet and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.securelist.com/en/blog/208193431/Botnet_Shutdown_Success_Story_again_Disabling_the_new_Hlux_Kelihos_Botnet&#039;]);&quot;  href=&quot;http://www.securelist.com/en/blog/208193431/Botnet_Shutdown_Success_Story_again_Disabling_the_new_Hlux_Kelihos_Botnet&quot; target=&quot;_blank&quot;&gt;change aspects such as the C&amp;C encryption&lt;/a&gt; when faced with a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.securelist.com/en/blog/208193137/Botnet_Shutdown_Success_Story_How_Kaspersky_Lab_Disabled_the_Hlux_Kelihos_Botnet&#039;]);&quot;  href=&quot;https://www.securelist.com/en/blog/208193137/Botnet_Shutdown_Success_Story_How_Kaspersky_Lab_Disabled_the_Hlux_Kelihos_Botnet&quot; target=&quot;_blank&quot;&gt;takedown&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
While many of the botnets mentioned above have been subject to takedown or sinkholing, it becomes obvious that a successful takedown is by far not an easy process. Bot masters distribute their infrastructure so that a takedown operation requires many different parties to cooperate &amp;mdash; a challenging task. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Remarks&lt;/strong&gt;&lt;br /&gt;
Finally, just a couple of remarks: Note that the monitoring time period has been interrupted by maintenance periods, from mid-February to mid-March 2011 as well as end-May to mid-July 2012. Furthermore, the per-family perspective does not always reflect &lt;strong&gt;all&lt;/strong&gt; activity of the correspondings botnets; however, it can be considered a lower estimate. Especially since some families exhibit (lots of) distinct botnets, we certainly do not cover every unique botnet of that particular family. For example, in case of toolkit-based families such as Zeus and SpyEye, several distinct botnets may be formed. In our C&amp;C activity tracking, we restrict ourselves to whole families instead of individual botnets on purpose. 
    </content:encoded>

    <pubDate>Wed, 13 Feb 2013 22:22:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/32-guid.html</guid>
    
</item>
<item>
    <title>Exploiting Visual Appearance to Cluster and Detect Rogue Software</title>
    <link>http://blog.cj2s.de/archives/31-Exploiting-Visual-Appearance-to-Cluster-and-Detect-Rogue-Software.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/31-Exploiting-Visual-Appearance-to-Cluster-and-Detect-Rogue-Software.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=31</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    While malware comes in many different flavors, e.g., spam bots, banking trojans or denial-of-service bots, one important monetization technique of recent years is rogue software, such as fake antivirus software (Fake A/V). In this case, the user is tricked into spending money for a rogue software which, in fact, does not aim at fulfilling the promised task. Instead, the rogue software is malicious, might not even have any legitimate functionality at all, and entices the user to pay. However, all rogue software has in common to provide a user interface, e.g., be it to scare the user, or in order to ask for banking credentials, or to carry out the payment process. The following figures show example screenshots of two typical rogue software flavors. &lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Fake A/V screenshot of the Winwebsec family&quot; href=&#039;http://blog.cj2s.de/uploads/Winwebsec1.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/Winwebsec1.png&#039;,&#039;Zoom&#039;,&#039;height=615,width=815,top=225,left=440,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:29 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;338&quot;  src=&quot;http://blog.cj2s.de/uploads/Winwebsec1.serendipityThumb.png&quot; title=&quot;Fake A/V screenshot of the Winwebsec family&quot; alt=&quot;Fake A/V screenshot of the Winwebsec family&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Ransomware asking the user to pay (in German)&quot; href=&#039;http://blog.cj2s.de/uploads/Ransom1.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/Ransom1.png&#039;,&#039;Zoom&#039;,&#039;height=615,width=815,top=225,left=440,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:30 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;338&quot;  src=&quot;http://blog.cj2s.de/uploads/Ransom1.serendipityThumb.png&quot; title=&quot;Ransomware asking the user to pay (in German)&quot; alt=&quot;Ransomware asking the user to pay (in German)&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The first displays a Fake A/V user interface, mimicking a benign antivirus application, while the second exhibits a ransom screen (in German), asking the user to pay before the computer is unlocked (in fact the computer appears just visually locked). Especially the later category, ransomware, is considered an increasing threat with more than 120,000 new ransomware binaries in the second quarter of 2012. In addition, referring to the C&amp;C tracking of Fake A/V and ransomware botnets, we observe a significant increase in activity since June 2011.&lt;br /&gt;
&lt;br /&gt;
As rogue software is required to provide a user interface, we aim at exploiting its visual appearance in order to cluster and classify rogue software. We motivate our efforts by the relatively low A/V detection rates of such rogue software, and we aim to complement existing techniques to strive for better detection rates. In particular, we observed that the structure of the user interfaces of rogue software remains constant and can be used to recognize a rogue software family or campaign. Using a perceptual hash function and a hierarchical clustering approach, Christian Rossow and I, we propose a scalable and effective approach to cluster associated screenshot images of malware samples.&lt;br /&gt;
In short, the main contributions of our work are threefold:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;We provide a scalable method to cluster and classify rogue software based on its user interface, an inherent property of rogue visual malware.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;We applied our method to a corpus of more than 187,560 malware samples of more than 2,000 distinct families (based on Microsoft A/V labels) and revealed 25 distinct types of rogue software user interfaces. Our method successfully reduces the amount of more than 187,560 malware samples and their associated screenshot images down to a set of human-manageable size, which assists a human analyst in understanding and combating Fake A/V and ransomware.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;We provide insights into Fake A/V and ransomware campaigns as well as their payment means. More specifically, we show a clear distinction of payment methods between Fake A/V and ransomware campaigns.&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
As an example and in order to underline the usefulness of our approach, we used the our visual clustering to enumerate the campaigns that can be attributed to the Winwebsec family. Note the visual similarity among the different campaigns, sometimes it is even difficult to spot the difference. Typically, the campaigns differ in names as well as logos.&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Campaigns of the Winwebsec Fake A/V malware family&quot; href=&#039;http://blog.cj2s.de/uploads/winwebsec-overview.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/winwebsec-overview.png&#039;,&#039;Zoom&#039;,&#039;height=979,width=620,top=43,left=537.5,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:31 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;282&quot; height=&quot;450&quot;  src=&quot;http://blog.cj2s.de/uploads/winwebsec-overview.serendipityThumb.png&quot; title=&quot;Campaigns of the Winwebsec Fake A/V malware family&quot; alt=&quot;Campaigns of the Winwebsec Fake A/V malware family&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;!-- s9ymdb:32 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;210&quot; height=&quot;50&quot;  src=&quot;http://blog.cj2s.de/uploads/acm-sigapp.png&quot; title=&quot;ACM&quot; alt=&quot;ACM&quot; /&gt;I am delighted to announce that our paper was accepted for the security track of ACM&#039;s 28th Symposium On Applied Computing 2013. A preprint of our manuscript for ACM SAC 2013 is available here &lt;a href=&quot;http://blog.cj2s.de/rogue-visual-malware-dietrich-rossow.pdf&quot; target=&quot;_blank&quot;&gt;&quot;Exploiting Visual Appearance to Cluster and Detect Rogue Software&quot;&lt;/a&gt;.  
    </content:encoded>

    <pubDate>Fri, 07 Dec 2012 13:37:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/31-guid.html</guid>
    
</item>
<item>
    <title>CoCoSpot - Recognizing Botnet C&amp;C Channels using Traffic Analysis</title>
    <link>http://blog.cj2s.de/archives/30-CoCoSpot-Recognizing-Botnet-CC-Channels-using-Traffic-Analysis.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/30-CoCoSpot-Recognizing-Botnet-CC-Channels-using-Traffic-Analysis.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    A defining characteristic of a bot is its ability to be remote-controlled by way of command and control (C&amp;C). Typically, a bot receives commands from its master, performs tasks and reports back on the execution results. All communication between a C&amp;C server and a bot is performed using a specific C&amp;C protocol over a certain C&amp;C channel. Consequently, in order to instruct and control their bots, bot masters &amp;dash; knowingly or not &amp;dash; have to define and use a certain command and control protocol.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 450px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;cocospot-plaintext-cnc.png&quot; href=&#039;http://blog.cj2s.de/uploads/cocospot-plaintext-cnc.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/cocospot-plaintext-cnc.png&#039;,&#039;Zoom&#039;,&#039;height=260,width=981,top=402.5,left=357,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:23 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;114&quot;  src=&quot;http://blog.cj2s.de/uploads/cocospot-plaintext-cnc.serendipityThumb.png&quot; title=&quot;cocospot-plaintext-cnc.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Plaintext C&amp;C&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Historically, bots used cleartext C&amp;C protocols, such as plaintext messages transmitted using IRC or HTTP, as shown in the Rbot C&amp;C example above. However, a C&amp;C channel relying on a plaintext protocol can easily be detected. Methods such as payload byte signatures or heuristics on common C&amp;C message elements such as IRC nicknames are examples for such detection techniques. To evade payload-based detection, botnets have evolved and often employ C&amp;C protocols with obfuscated or encrypted messages as is the case with Waledac, Zeus, Hlux, TDSS/Alureon, Palevo, Renos, Virut and Feederbot, to name but a few. In fact, pretty much all recent botnets employ some kind of encryption in their C&amp;C protocol. The following two images show an encrypted Virut C&amp;C message and its decrypted plaintext. This reveals that the underlying carrier protocol is still IRC, or IRC-like. The encryption is basically a four-byte XOR with a random bot-chosen key.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 450px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;cocospot-encrypted-cnc.png&quot; href=&#039;http://blog.cj2s.de/uploads/cocospot-encrypted-cnc.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/cocospot-encrypted-cnc.png&#039;,&#039;Zoom&#039;,&#039;height=171,width=978,top=447,left=358.5,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:24 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;73&quot;  src=&quot;http://blog.cj2s.de/uploads/cocospot-encrypted-cnc.serendipityThumb.png&quot; title=&quot;cocospot-encrypted-cnc.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Encrypted Virut C&amp;C&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 450px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;cocospot-encrypted-cnc-decrypted.png&quot; href=&#039;http://blog.cj2s.de/uploads/cocospot-encrypted-cnc-decrypted.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/cocospot-encrypted-cnc-decrypted.png&#039;,&#039;Zoom&#039;,&#039;height=164,width=978,top=450.5,left=358.5,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:25 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;70&quot;  src=&quot;http://blog.cj2s.de/uploads/cocospot-encrypted-cnc-decrypted.serendipityThumb.png&quot; title=&quot;cocospot-encrypted-cnc-decrypted.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Decrypted Virut C&amp;C message&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The change towards encrypted or obfuscated C&amp;C messages effectively prevents detection approaches that rely on plaintext C&amp;C message contents. Lately, we take a different approach to recognize C&amp;C channels of botnets and fingerprint botnet C&amp;C channels based on traffic analysis properties. The rationale behind our methodology is that for a variety of botnets, characteristics of their C&amp;C protocol manifest in the C&amp;C communication behavior. For this reason, our recognition approach is solely based on traffic analysis.&lt;br /&gt;
&lt;br /&gt;
As an example, consider a C&amp;C protocol that defines a specific handshake – e.g., for mutual authentication – to be performed in the beginning of each C&amp;C connection. Each request and response exchanged during this handshake procedure conforms to a predefined structure and length, which in turn leads to a characteristic sequence of message lengths. In fact, we found that in the context of botnet C&amp;C, the sequence of message lengths is a well-working example for traffic analysis features. The following figure shows the sequence of the first 8 messages in four Virut C&amp;C flows and two Palevo/Rimecud/Pilleuz C&amp;C flows. Whereas Virut exhibits similar message lengths for the first message (in the range 60-69) and a typical sequence of message lengths at positions five to eight, for Palevo, the first three message lengths provide a characteristic fingerprint.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 450px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;cocospot-msglens.png&quot; href=&#039;http://blog.cj2s.de/uploads/cocospot-msglens.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/cocospot-msglens.png&#039;,&#039;Zoom&#039;,&#039;height=281,width=743,top=392,left=476,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:26 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;164&quot;  src=&quot;http://blog.cj2s.de/uploads/cocospot-msglens.serendipityThumb.png&quot; title=&quot;cocospot-msglens.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Examples of message length sequences for Virut and Palevo C&amp;C flows&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Leveraging statistical protocol analysis and hierarchical clustering analysis, we develop CoCoSpot, a method to group similar botnet C&amp;C channels and derive fingerprints of C&amp;C channels based on the message length sequence, the underlying carrier protocol and encoding properties. The huge benefit of our approach is to be independent from payload byte signatures which enables the detection of C&amp;C protocols with obfuscated and encrypted message contents. In addition, our C&amp;C flow fingerprints complement existing detection approaches while allowing for finer granularity compared to IP address or domain blacklists. As a side-effect, our C&amp;C flow clustering can be used to discover relationships between malware families, based on the distance of their C&amp;C protocols. Experiments with more than 87,000 C&amp;C flows as well as over 1.2 million Non-C&amp;C flows have shown that our classification method can reliably detect C&amp;C flows for a variety of recent botnets with very few false positives.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 450px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;cocospot-evaluation.png&quot; href=&#039;http://blog.cj2s.de/uploads/cocospot-evaluation.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/cocospot-evaluation.png&#039;,&#039;Zoom&#039;,&#039;height=433,width=795,top=316,left=450,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:28 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;241&quot;  src=&quot;http://blog.cj2s.de/uploads/cocospot-evaluation.serendipityThumb.png&quot; title=&quot;cocospot-evaluation.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;CoCoSpot classification evaluation results&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The figure above shows the results of the CoCoSpot classification as a cumulative distribution function for all families that were included in both, true positive and false positive analysis. Note that the true positive rate values are given on the left y-axis, the false positive rate values on the right y-axis. More than half of all families have a true positive rate of over 95.6%. A small fraction of seven C&amp;C families had true positives rates lower than 50%, which was caused by too specific cluster centroids. In most of these cases, we had too little training data to learn representative message length variations of a particular active C&amp;C protocol, which could be improved by adding more training data for this family. For 88% of the families, the false positive rate is below 0.1%, and 23 cluster families do not exhibit any false positive at all. For the few families that cause false positives, we observed that the corresponding cluster centroids have high variation coefficients on many message length positions, effectively rendering the centroids being too generic and possibly matching random flow patterns.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- s9ymdb:27 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;120&quot; height=&quot;164&quot;  src=&quot;http://blog.cj2s.de/uploads/computer-networks.gif&quot; title=&quot;computer-networks.gif&quot; alt=&quot;&quot; /&gt;I am happy to announce that the &lt;a href=&quot;http://blog.cj2s.de/cocospot-dietrich-rossow-pohlmann.pdf&quot; target=&quot;_blank&quot;&gt;manuscript of our journal article on CoCoSpot&lt;/a&gt; has been accepted by Elsevier&#039;s Computer Networks journal in the special issue on Botnets. The published version of our manuscript is available from &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.sciencedirect.com/science/article/pii/S1389128612002472&#039;]);&quot;  href=&quot;http://www.sciencedirect.com/science/article/pii/S1389128612002472&quot; target=&quot;_blank&quot;&gt;Sciencedirect&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Wed, 24 Oct 2012 15:48:22 +0200</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/30-guid.html</guid>
    
</item>
<item>
    <title>Feederbot - a bot using DNS as carrier for its C&amp;C</title>
    <link>http://blog.cj2s.de/archives/28-Feederbot-a-bot-using-DNS-as-carrier-for-its-CC.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/28-Feederbot-a-bot-using-DNS-as-carrier-for-its-CC.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=28</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=28</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    DNS as carrier for botnet C&amp;C seems to be getting popular. Concerning its usage as botnet C&amp;C, DNS has not been seen so far. Additionally, in typical network environments, DNS (at least when destined for the preconfigured DNS resolvers) is usually one of the few protocols – if not the only one – that is allowed to pass without further ado. Thus, botnets using DNS as C&amp;C benefit from the fact that currently there is no specifically tailored detection mechanism, which in turn, raises the probability for the botnet to remain undetected. &lt;br /&gt;
&lt;br /&gt;
During our &lt;a href=&quot;http://blog.cj2s.de/archives/27-DNS-as-carrier-for-botnet-CC.html&quot; target=&quot;_blank&quot;&gt;work on covert communication of botnet command and control channels&lt;/a&gt;, we analyzed Feederbot in some detail and monitored it over the last year. In this post, I will provide some insight on the C&amp;C. &lt;br /&gt;
Not only Feederbot, but also &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.symantec.com/connect/blogs/morto-worm-sets-dns-record&#039;]);&quot;  href=&quot;http://www.symantec.com/connect/blogs/morto-worm-sets-dns-record&quot; target=&quot;_blank&quot;&gt;Morto&lt;/a&gt; seems to be using DNS as carrier for its command and control channel.&lt;br /&gt;
&lt;br /&gt;
But let us focus on Feederbot for now. Feederbot uses valid DNS syntax for its DNS messages. Messages from the C&amp;C server to the bot are transmitted in the rdata field of a TXT resource record. The DNS requests have the several different schemes for the question domain name (qname), similar to the following where [CHUNK-ID] is an int &gt;= 0, incremented by 1:&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
[50 bytes].[CHUNK-ID].[qdparam].0.f2.[TLD].   IN   TXT&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
The DNS responses typically carry one TXT RR in the answer section (sometimes repeated in the authority section) with a 220 byte string that is base64 encoded. Here is an example:&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
xMtwHYRyZu/z4QbhBKZIVWvPBfiuGn+jb1WQxtZN7PR9Wf0sfnAqxDOJD9LgmwfFaU&lt;br /&gt;
Go6fdtgZ0lIQyAx1VWJw+vzdHdxMpHu6xfMRq8sVSfqwPvI9TEIV8pkXw4P4TCSH05&lt;br /&gt;
BAO1LGPMQ+XD+TYLY2woxM1j06mCMhrNjWzI8WbmCBlj2/dpR73KBnDl/DRmheKWMJ&lt;br /&gt;
x2dUTp4iFMH4N9kXjeOYis&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
Once base64 decoded, the messages are still no real plaintext, because they are encrypted with RC4. Feederbot uses a variety of different RC4 encryption keys and even stacks RC4 encryption. A specific part of the DNS query domain name is used to transmit parameters for key derivation. As an example, one such parametrized key derivation function takes as input a substring of the query domain name, denoted as &#039;qdparam&#039; in the example above. The value of the substring &#039;qdparam&#039; is then RC4-encrypted with the (constant) string “feedme” (hence the name of the bot) and the result is used to initialize the RC4 decryption of the actual C&amp;C message chunks. The stream cipher is used in a stateful manner, so that if a message chunk gets lost, decryption of all subsequent message chunks will fail. In addition, Feederbot’s C&amp;C message chunks make use of cyclic redundancy checks to verify the decryption result. The CRC32 checksum preceeds message chunk payload and is not encrypted.&lt;br /&gt;
&lt;!-- s9ymdb:20 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;400&quot; height=&quot;172&quot;  src=&quot;http://blog.cj2s.de/uploads/feederbot-message-chunks.png&quot;  alt=&quot;Feederbot DNS message chunk&quot; /&gt;&lt;br /&gt;
The fact that CRC32 checksums are used makes it comfortable to know whether decryption works or not. Interestingly, we have seen ANY as resource record type in some of the queries, too. In order to perform the DNS requests, the bot relies on Windows DNSAPI.dll::DnsQuery_W.&lt;br /&gt;
&lt;br /&gt;
The following figure shows an important part of the disassembled RC4 initialization routine:&lt;br /&gt;
&lt;!-- s9ymdb:21 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;1122&quot; height=&quot;278&quot;  src=&quot;http://blog.cj2s.de/uploads/rc4init.assembler.png&quot;  alt=&quot;RC4 initialization routine&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Well, the drawback of encryption is that you need a key and you better choose one that is easy to remember, such as:&lt;br /&gt;
&lt;!-- s9ymdb:22 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;658&quot; height=&quot;207&quot;  src=&quot;http://blog.cj2s.de/uploads/beefdead.png&quot;  alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
So, what is the lesson we learn from Feederbot? Watch your DNS traffic!&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Fri, 02 Sep 2011 18:05:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/28-guid.html</guid>
    
</item>
<item>
    <title>DNS as carrier for botnet C&amp;C</title>
    <link>http://blog.cj2s.de/archives/27-DNS-as-carrier-for-botnet-CC.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/27-DNS-as-carrier-for-botnet-CC.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=27</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    Botnets have become one of the biggest security issues on the Internet imposing a variety of threats to Internet users. Advances in malware research have challenged botnet operators to improve the resilience of their C&amp;C traffic. Partly, this has been achieved by moving towards decentralized structures (like P2P) or by otherwise obfuscating and even encrypting communication. &lt;br /&gt;
&lt;br /&gt;
Recently, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.christian-rossow.de&#039;]);&quot;  href=&quot;http://www.christian-rossow.de&quot; target=&quot;_blank&quot;&gt;Christian Rossow&lt;/a&gt; and me, we looked into what we term covert communication, that is command and control communication which is hidden in what seems to be regular Internet traffic. We discovered and reverse engineered Feederbot, a botnet that uses DNS as carrier for its command and control. Using k-Means clustering and a Euclidean Distance based classifier, we correctly classified more than 14 million DNS transactions of 42,143 malware samples concerning DNS C&amp;C usage. Interestingly, this analysis revealed yet another bot family with DNS C&amp;C. In addition, we correctly detected DNS C&amp;C in mixed office workstation network traffic.&lt;br /&gt;
&lt;br /&gt;
&lt;table style=&quot;margin-top:0px&quot; border=&quot;0&quot;&gt;&lt;br /&gt;
&lt;tr&gt;&lt;td&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/2011.ec2nd.org/program/&#039;]);&quot;  href=&quot;http://2011.ec2nd.org/program/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://2011.ec2nd.org/static/ec2nd.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;
&lt;td&gt;Our paper dealing with &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.cj2s.de/On-Botnets-that-use-DNS-for-Command-and-Control.pdf&#039;]);&quot;  href=&quot;http://www.cj2s.de/On-Botnets-that-use-DNS-for-Command-and-Control.pdf&quot; target=&quot;_blank&quot;&gt;DNS as carrier for botnet command and control channels&lt;/a&gt; got accepted at &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/2011.ec2nd.org/program/&#039;]);&quot;  href=&quot;http://2011.ec2nd.org/program/&quot; target=&quot;_blank&quot;&gt;this year&#039;s EC2ND conference&lt;/a&gt;. I will be presenting the results at EC2ND which is going to take place in Gothenburg, Sweden, September 6-7 at Chalmers University.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;
&lt;/table&gt;&lt;br /&gt;
&lt;br/&gt;&lt;br /&gt;
&lt;br/&gt; 
    </content:encoded>

    <pubDate>Mon, 22 Aug 2011 17:49:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/27-guid.html</guid>
    
</item>
<item>
    <title>Secure Network and Server Administration</title>
    <link>http://blog.cj2s.de/archives/12-Secure-Network-and-Server-Administration.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/12-Secure-Network-and-Server-Administration.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=12</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=12</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    Being a system administrator myself I have to say that secure system administration has become much more challenging in the last few years. With SSH bruteforce attacks hammering down on your servers and frequent software updates that need to be applied, administrators have a hard time keeping a server farm secure. &lt;br /&gt;
&lt;br /&gt;
But not only fixing known vulnerabilities is important these days. In my experience as a malware and botnet researcher I have learned another important lesson: Know your network. Whenever there is an intrusion, it is surprising that more often, system administrators realize it by help of characteristic statistics of their network and its servers - especially if (for whatever reason) intrusion detection systems are not in use. Let me give an example:&lt;br /&gt;
&lt;br /&gt;
Say, you work as a sysadmin of a corporate computer network. Say people are allowed to send email only via your own smarthost and your internet gateway thus blocks outbound TCP port 25 (SMTP). Do you count the SMTP connection attempts to outside servers (that your firewall blocks)? What is the typical number of blocked SMTP connection attempts (on a weekday)? Why could this be an interesting metric, you may wonder. &lt;br /&gt;
&lt;br /&gt;
Let me explain. We analyze the network behavior of quite a bit of malware. It is not surprising that nowadays, lots of malware comes as a bot, i.e. a remote-controllable flexible piece of software that awaits instructions from a botmaster. Furthermore, neither is it a surprise that many bots are used to send spam. Ah, you get the point? Let us assume one of the computers on your network is infected. Then there is quite a bit of a chance that it is trying to send spam to outside mail servers. &quot;But&quot;, you might say, &quot;that spam is blocked, so there is no harm.&quot; Indeed, yes. But who says that the same piece of malware does not steal credentials or is involved in a click fraud or DDoS campaign? Even if you cannot do anything against it, it might be good to just know that there is an infected host in your network.&lt;br /&gt;
&lt;br /&gt;
The number of (failed/blocked) connections attempts is not the only useful metric in this context. Based on my experience, I can recommend:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;number of (failed/blocked) outbound connection attempts for TCP port 445 (infection attempts)&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;number of (failed/blocked) outbound SSH connection attempts for TCP port 22 (bruteforce scan attempts)&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;number of (failed/blocked) outbound DNS connection attempts (UDP port 53)&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
Depending on your environment, you may want to use a relative metric instead of absolute numbers, i.e. number of failed/block connection attempts over number of total connections. 
    </content:encoded>

    <pubDate>Wed, 26 May 2010 15:35:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/12-guid.html</guid>
    
</item>
<item>
    <title>Will Conficker destroy the world on April 1st?</title>
    <link>http://blog.cj2s.de/archives/5-Will-Conficker-destroy-the-world-on-April-1st.html</link>
            <category>Botnets</category>
            <category>TV</category>
    
    <comments>http://blog.cj2s.de/archives/5-Will-Conficker-destroy-the-world-on-April-1st.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    Rumors are that one of the most widespread malware, Conficker (or Downadup) might strike on April 1st, 2009. I gave a short interview to the German TV station ARD that was partly broadcast as part of the ARD Mittagsmagazin (also broadcast on ZDF at the same time). &lt;br /&gt;
&lt;br /&gt;
To me, there is no reason to wait for a specific date such as April 1st, for a malware to become active. This is a bit different if the malware itself spreads via email, such as Storm worm, and is completely based on social engineering. Furthermore, in my eyes, system administrators are fully aware of the danger that Conficker might pose, once its activated and thus look for it with special attention on April 1st. Any other date would then - from the attacker&#039;s point of view - make much more sense.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- You can watch it at the ARD Mediathek at &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.ardmediathek.de/ard/servlet/content/2006500&#039;]);&quot;  href=&quot;http://www.ardmediathek.de/ard/servlet/content/2006500&quot; target=&quot;_blank&quot;&gt;http://www.ardmediathek.de/ard/servlet/content/2006500 - &#039;Conficker&#039;-Großangriff zum 1. April bleibt aus&lt;/a&gt; (only in German). --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Christian J. Dietrich im ARD Mittagsmagazin zu Conficker&quot; href=&#039;http://blog.cj2s.de/uploads/2009-04-01-christian-dietrich-ard-mittagsmagazin-conficker.jpg&#039; onclick=&quot;F1 = window.open(&#039;/uploads/2009-04-01-christian-dietrich-ard-mittagsmagazin-conficker.jpg&#039;,&#039;Zoom&#039;,&#039;height=415,width=735,top=325,left=480,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:10 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;250&quot;  src=&quot;http://blog.cj2s.de/uploads/2009-04-01-christian-dietrich-ard-mittagsmagazin-conficker.serendipityThumb.jpg&quot; title=&quot;Christian J. Dietrich im ARD Mittagsmagazin zu Conficker&quot; alt=&quot;Christian J. Dietrich im ARD Mittagsmagazin zu Conficker&quot; /&gt;&lt;/a&gt; 
    </content:encoded>

    <pubDate>Wed, 01 Apr 2009 00:25:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/5-guid.html</guid>
    
</item>
<item>
    <title>Safer Internet Day 2009</title>
    <link>http://blog.cj2s.de/archives/3-Safer-Internet-Day-2009.html</link>
            <category>Botnets</category>
            <category>TV</category>
    
    <comments>http://blog.cj2s.de/archives/3-Safer-Internet-Day-2009.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=3</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=3</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    On the occasion of today&#039;s Safer Internet Day, Feb 11th, the German radio station SWR broadcast an interview of a couple of IT security researchers, including me. &lt;!-- The program (in German) is available online at &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.swr.de/swr2/programm/sendungen/kontext/-/id=4352076/nid=4352076/did=4362270/lqo6w8/index.html&#039;]);&quot;  href=&quot;http://www.swr.de/swr2/programm/sendungen/kontext/-/id=4352076/nid=4352076/did=4362270/lqo6w8/index.html&quot;&gt;http://www.swr.de/swr2/programm/sendungen/kontext/-/id=4352076/nid=4352076/did=4362270/lqo6w8/index.html&lt;/a&gt; --&gt; 
    </content:encoded>

    <pubDate>Wed, 11 Feb 2009 21:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/3-guid.html</guid>
    
</item>
<item>
    <title>The McColo story from the spam and botnet perspective</title>
    <link>http://blog.cj2s.de/archives/1-The-McColo-story-from-the-spam-and-botnet-perspective.html</link>
            <category>Botnets</category>
    
    <comments>http://blog.cj2s.de/archives/1-The-McColo-story-from-the-spam-and-botnet-perspective.html#comments</comments>
    <wfw:comment>http://blog.cj2s.de/wfwcomment.php?cid=1</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.cj2s.de/rss.php?version=2.0&amp;type=comments&amp;cid=1</wfw:commentRss>
    

    <author>nospam@example.com (Christian J. Dietrich)</author>
    <content:encoded>
    On Thursday 11/11/2008, the US company McColo (AS26780) got cut off the Internet. McColo has been known for some doubtful activities - some say that McColo is responsible for as much as 75% of all spam sent on the Internet. These activities have stopped instantly as McColo got disconnected. I looked into this at our blacklist mirror. Since Thursday evening (2200 local time CET), the total number of requests on the blacklist are much lower than on the previous days. The traffic that is caused by the requests has - compared to the peaks - nearly halved.&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;DNSBL stats around 11/11/2008&quot; href=&#039;http://blog.cj2s.de/uploads/2008-11-13-nixspam-mccolo-offline_traffic-stats.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/2008-11-13-nixspam-mccolo-offline_traffic-stats.png&#039;,&#039;Zoom&#039;,&#039;height=256,width=712,top=404.5,left=491.5,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:1 --&gt;&lt;img class=&quot;serendipity_image_center&quot; src=&quot;http://blog.cj2s.de/uploads/2008-11-13-nixspam-mccolo-offline_traffic-stats.serendipityThumb.png&quot; title=&quot;DNSBL stats around 11/11/2008&quot; alt=&quot;DNSBL stats around 11/11/2008&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
After McColo (AS26780) &quot;went&quot; offline on 11/11/2008, the global spam volume has remained for about 10 days at about half as much as before. The low volume which even hit an annual minimum on 11/21/2008 was probably amplified by the fact that a lot of command and control channels of botnets were hosted at McColo.&lt;br /&gt;
&lt;br /&gt;
On 11/15/2008, I realized that McColo suddenly reappeared for short periods of time through other Autonomous Systems, such as TeliaNet Global Network, AS 1299). At the bottom of this post, I have added some screenshots of bgplay that show the changes in the routing to McColo. &lt;br /&gt;
&lt;br /&gt;
By the way, on 11/21/2008 one of the largest distributed denial of service attacks became public. The attackers targeted the German Hosting company InternetX with more than 40,000 bots and 800,000 packets/second causing a total bandwidth of 20 GBit/s during peaks. It is difficult to say whether the attack was done using McColo-controlled botnets. Interestingly, the number of requests to the blacklist once more decreased heavily on 11/21/2008 and the following day.&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;decrease in spam on 11/21/2008 due to a large DDoS&amp;quot; title=&amp;quot;decrease in spam on 11/21/2008 due to a large DDoS&quot; href=&#039;http://blog.cj2s.de/uploads/2008-11-25-nixspam-queries_last2.5weeks.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/2008-11-25-nixspam-queries_last2.5weeks.png&#039;,&#039;Zoom&#039;,&#039;height=310,width=712,top=377.5,left=491.5,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:2 --&gt;&lt;img class=&quot;serendipity_image_center&quot; src=&quot;http://blog.cj2s.de/uploads/2008-11-25-nixspam-queries_last2.5weeks.serendipityThumb.png&quot; title=&quot;decrease in spam on 11/21/2008 due to a large DDoS&amp;quot; title=&amp;quot;decrease in spam on 11/21/2008 due to a large DDoS&quot; alt=&quot;decrease in spam on 11/21/2008 due to a large DDoS&amp;quot; title=&amp;quot;decrease in spam on 11/21/2008 due to a large DDoS&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This might have been caused by the fact, the those bots while participating in the DDoS attack have stopped spamming. &lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-1.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/2008-11-25-bgplay-mccolo-1.png&#039;,&#039;Zoom&#039;,&#039;height=783,width=1039,top=141,left=328,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:3 --&gt;&lt;img class=&quot;serendipity_image_center&quot;  src=&quot;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-1.serendipityThumb.png&quot;  alt=&quot;routing changes to McColo #1&quot; title=&quot;routing changes to McColo #1&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-2.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/2008-11-25-bgplay-mccolo-2.png&#039;,&#039;Zoom&#039;,&#039;height=783,width=1039,top=141,left=328,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:3 --&gt;&lt;img class=&quot;serendipity_image_center&quot;  src=&quot;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-2.serendipityThumb.png&quot;  alt=&quot;routing changes to McColo #2&quot; title=&quot;routing changes to McColo #2&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-4.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/2008-11-25-bgplay-mccolo-4.png&#039;,&#039;Zoom&#039;,&#039;height=783,width=1039,top=141,left=328,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:3 --&gt;&lt;img class=&quot;serendipity_image_center&quot;  src=&quot;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-4.serendipityThumb.png&quot;  alt=&quot;routing changes to McColo #3&quot; title=&quot;routing changes to McColo #3&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-7.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/2008-11-25-bgplay-mccolo-7.png&#039;,&#039;Zoom&#039;,&#039;height=783,width=1039,top=141,left=328,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:3 --&gt;&lt;img class=&quot;serendipity_image_center&quot;  src=&quot;http://blog.cj2s.de/uploads/2008-11-25-bgplay-mccolo-7.serendipityThumb.png&quot;  alt=&quot;routing changes to McColo #4&quot; title=&quot;routing changes to McColo #4&quot; /&gt;&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 25 Nov 2008 22:22:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.cj2s.de/archives/1-guid.html</guid>
    
</item>

</channel>
</rss>