<?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>Digital Bond</title>
	<atom:link href="http://www.digitalbond.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.digitalbond.com</link>
	<description>This Month in Control System Security</description>
	<lastBuildDate>Wed, 10 Mar 2010 20:40:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9; </copyright>
		<managingEditor>peterson@digitalbond.com ()</managingEditor>
		<webMaster>peterson@digitalbond.com()</webMaster>
		<category></category>
		<ttl>1440</ttl>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>This Month in Control System Security</itunes:summary>
		<itunes:author></itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name></itunes:name>
			<itunes:email>peterson@digitalbond.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www.digitalbond.com/wp-content/plugins/podpress/images/RSS_144.jpg" />
		<image>
			<url>http://www.digitalbond.com/wp-content/plugins/podpress/images/RSS_144.jpg</url>
			<title>Digital Bond</title>
			<link>http://www.digitalbond.com</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Win7/2008RC2 Firewall</title>
		<link>http://www.digitalbond.com/index.php/2010/03/10/win72008rc2-firewall/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/10/win72008rc2-firewall/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 20:35:37 +0000</pubDate>
		<dc:creator>Marco Cajina</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5625</guid>
		<description><![CDATA[Yesterday, I wrote a quick introduction to the Win7/2008RC2 firewall.  Today, I will be discussing two really great Windows Firewall features that were updated but first I need to clarify something.  The features discussed within this and future firewall posts are specific to Win2008 RC2 and not Win2008. This is because Win2008&#8217;s firewall feature set [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I wrote a quick introduction to the Win7/2008RC2 firewall.  Today, I will be discussing two really great Windows Firewall features that were updated but first I need to clarify something.  The features discussed within this and future firewall posts are specific to Win2008 RC2 and not Win2008. This is because Win2008&#8217;s firewall feature set is based off of Vista&#8217;s not the latest greatest.  Now that I and Microsoft have thoroughly confused you, we can move on.</p>
<p>In Vista, Microsoft added a feature called Network Location Awareness.  In short, the service is able to detect when and what networks you connect to and tag them with different profiles (i.e. Public, Private, Domain).  These profiles are then assigned their respective firewall policy and rules.  However, if you had multiple active network interfaces it would assign the most restrictive policy to all the interfaces.</p>
<p>That has been changed in Win7/2008RC2 so that each interface has its own firewall policy and rules.  An example of its use would be in a proxy server environment.  You could assign a more restrictive outbound and inbound policy to the public facing interface to only allow the needed ports to communicate to the internet and only the Internet.  Conversely, you could deny all traffic on the private interface except the ports you need to patch/update and send requests to the proxy.</p>
<p>The second feature that was updated, and my personal favorite, is the support for port ranges within firewall rules.  In the past, you had to create a firewall rule/exception for each port (i.e. pre-Vista) or comma separate ports (i.e. post-Vista).  Win7/2008RC2 has now added the ability to specify ranges of ports in addition to the Vista functionality.</p>
<p>For example, an active and passive FTP rule in Vista would look as follows:</p>
<p style="text-align: center;"><a rel="attachment wp-att-5635" href="http://www.digitalbond.com/index.php/2010/03/10/win72008rc2-firewall/portrulecreation-vista-3/"><img class="size-full wp-image-5635   aligncenter" title="PortRuleCreation-Vista" src="http://www.digitalbond.com/wp-content/uploads/2010/03/PortRuleCreation-Vista2.jpg" alt="Vista Port Rules" /></a></p>
<p><BR><BR><BR><br />
In Win7/2008RC2, it would look like this:</p>
<p style="text-align: center;"><a rel="attachment wp-att-5636" href="http://www.digitalbond.com/index.php/2010/03/10/win72008rc2-firewall/portrulecreation-2/"><img class="size-full wp-image-5636    aligncenter" title="PortRuleCreation" src="http://www.digitalbond.com/wp-content/uploads/2010/03/PortRuleCreation1.jpg" alt="Win7/2008RC2 Port Rules" /></a></p>
<p><BR><BR><BR><br />
As you can see the new rule structure helps you understand and update rules faster.  This would be very useful when enabling and auditing a control system, with several modules, to communicate through a firewall.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/10/win72008rc2-firewall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Win7/2008 Firewall Part 1</title>
		<link>http://www.digitalbond.com/index.php/2010/03/09/win-firewall-part-1/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/09/win-firewall-part-1/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 19:04:51 +0000</pubDate>
		<dc:creator>Marco Cajina</dc:creator>
				<category><![CDATA[Firewall / Perimeter]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5611</guid>
		<description><![CDATA[Recently, I was onsite at a vendor&#8217;s office as part of the Bandolier project and ran into a situation where the Win2k3 firewall was not enabled or configured.  After the onsite visit and a little Firewall enabling, I started to think about how much the Windows Firewall has changed since WinXP/Win2k3.  Specifically, I [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I was onsite at a vendor&#8217;s office as part of the Bandolier project and ran into a situation where the Win2k3 firewall was not enabled or configured.  After the onsite visit and a little Firewall enabling, I started to think about how much the Windows Firewall has changed since WinXP/Win2k3.  Specifically, I thought about how Microsoft added several features within Vista and has now introduced new/updated features for Win7/2008.  All the new/updated features either added an operational or security improvement but I wanted to highlight the following features that I believe are the best of the lot:</p>
<ul>
<li>Multiple Active Firewall Profiles</li>
<li>Support for port ranges within rules</li>
<li>Dynamic encryption</li>
<li>Tunnel mode authorization and exceptions</li>
<li>Service Hardening and Firewall Triggers</li>
</ul>
<p>I will be discussing each of the above features in follow-up blog posts starting tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/09/win-firewall-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bandolier Course Outline</title>
		<link>http://www.digitalbond.com/index.php/2010/03/09/bandolier-course-outline/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/09/bandolier-course-outline/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 11:36:23 +0000</pubDate>
		<dc:creator>Dale Peterson</dc:creator>
				<category><![CDATA[Bandolier]]></category>
		<category><![CDATA[IDS / IPS]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5609</guid>
		<description><![CDATA[We are offering our Advanced Training Course on April 5th in San Antonio to make it convenient for those attending ICSJWG&#8217;s Spring Meeting on April 6 &#8211; 8. The afternoon module is on using and customizing our SCADA IDS preprocessors, plugins and signatures developed with funding from a DHS S&#038;T contract. 
The morning module will [...]]]></description>
			<content:encoded><![CDATA[<p>We are offering our <a href="http://www.digitalbond.com/wp-content/uploads/s4/Advanced_Course.pdf">Advanced Training Course</a> on April 5th in San Antonio to make it convenient for those attending <a href="http://www.us-cert.gov/control_systems/icsjwg/conference.html">ICSJWG&#8217;s Spring Meeting on April 6 &#8211; 8</a>. The afternoon module is on using and customizing our SCADA IDS preprocessors, plugins and signatures developed with funding from a DHS S&#038;T contract. </p>
<p>The morning module will teach you how to use and customize the Bandolier Security Audit Files. Jason has developed a<a href="http://www.digitalbond.com/wp-content/uploads/2010/01/BandolierCourseOutline.pdf"> more detailed outline showing you what you will learn</a>. It is ideal for asset owners or consultants who will want to use Bandolier for security audits and assessments.</p>
<p>There is still space in the course. <a href="https://www.digitalbond.com/event.php">Register at this link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/09/bandolier-course-outline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lifeboat Security</title>
		<link>http://www.digitalbond.com/index.php/2010/03/08/lifeboat-security/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/08/lifeboat-security/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:25:04 +0000</pubDate>
		<dc:creator>Daniel Peck</dc:creator>
				<category><![CDATA[Big Picture]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5599</guid>
		<description><![CDATA[A few days ago a friend of mine shared out an old editorial about lifeboats, parodying the objections to civil defense programs in the early 60s, from the Harvard Crimson.  People haven&#8217;t changed much. The same type of arguments brought up time and time again when discussing the need for better education into software [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago a friend of mine shared out an old <a href="http://www.thecrimson.com/article/1961/10/30/a-sane-policy-pto-the-editors/">editorial about lifeboats</a>, parodying the objections to civil defense programs in the early 60s, from the Harvard Crimson.  People haven&#8217;t changed much. The same type of arguments brought up time and time again when discussing the need for better education into software security/code quality, secure development lifecycle, and regular security assessment/bug hunting.</p>
<p>These can apply to quite a few aspects of securing systems. Everything from developer education, to sandboxing applications, to monitoring/auditing systems, and dozens of other areas. So without further commentary, here are a few selected points from the article that seem to apply to most:</p>
<ul>
<li>This program would lull you into a false sense of security.</li>
<li>It would cause undue alarm and destroy your desire to continue your voyage in this ship.</li>
<li>It demonstrates a lack of faith in our Captain.</li>
<li>The apparent security which &#8220;life&#8221; boats offer will make our Navigators reckless.</li>
<li>These proposals will distract our attention from more important things i.e. building unsinkable ships. They may even lead our builders to false economies and the building of ships that are actually unsafe.</li>
<li>In the event of being struck by an iceberg (we will never strike first) the &#8220;life&#8221; boats would certainly sink along with the ship.</li>
<li>Such a catastrophe is too horrible to contemplate. Anyone who does contemplate it obviously advocates it.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/08/lifeboat-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on the Comprehensive National Cybersecurity Initiative</title>
		<link>http://www.digitalbond.com/index.php/2010/03/08/thoughts-on-the-comprehensive-national-cybersecurity-initiative/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/08/thoughts-on-the-comprehensive-national-cybersecurity-initiative/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 07:08:10 +0000</pubDate>
		<dc:creator>Dale Peterson</dc:creator>
				<category><![CDATA[US Government]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5603</guid>
		<description><![CDATA[As I read the twelve initiatives of the CNCI, I was looking for its strong and weak points. However, I couldn&#8217;t help but think about the level of effort that was required to produce these nice words on these general thoughts. Is this document and the program around these initiatives going to produce the dramatic [...]]]></description>
			<content:encoded><![CDATA[<p>As I read <a href="http://www.whitehouse.gov/cybersecurity/comprehensive-national-cybersecurity-initiative">the twelve initiatives of the CNCI</a>, I was looking for its strong and weak points. However, I couldn&#8217;t help but think about the level of effort that was required to produce these nice words on these general thoughts. Is this document and the program around these initiatives going to produce the dramatic increase in effort and effectiveness that is needed? I&#8217;m skeptical.</p>
<p>And I have a question for loyal blog readers. Many of the initiatives focus on centralization. Manage the Federal Enterprise Network as a single network enterprise. Deploy IDS/IPS across the whole enterprise. Coordinate all R&#038;D. Government wide counter intelligence. This is similar to idea that if we combine all these Federal Agencies into DHS all will be well. Is this a good thing? At this point I don&#8217;t how I would answer that question.</p>
<p>The final initiative is directly related to control systems. &#8220;Initiative #12. Define the Federal role for extending cybersecurity into critical infrastructure domains&#8221;. If you read the corresponding paragraph, it interestingly does not match the Initiative description of &#8220;defining the Federal role&#8221;. What should the Federal role be? Should they mandate cyber security measures for private critical infrastructure companies and have enforcement mechanisms similar to the electric sector? Should they simply provide security guidance? Emergency response assistance? What should the USG role be? Should it be more like the European model that seems to be making more progress with less furor? </p>
<p>Instead the paragraph on Initiative 12 talks about building on existing partnerships, creating public/private information sharing, etc. These are all items, particularly information sharing, that have been talked about and organizations purpose built for these tasks for five or more years. I don&#8217;t think it is controversial to say that the results have fallen far short of expectations. So far there has not been a shift in the benefits to participation or significant USG changes in approach that would lead to these efforts now bearing fruit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/08/thoughts-on-the-comprehensive-national-cybersecurity-initiative/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Friday News and Notes</title>
		<link>http://www.digitalbond.com/index.php/2010/03/05/friday-news-and-notes-95/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/05/friday-news-and-notes-95/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 20:41:51 +0000</pubDate>
		<dc:creator>Dale Peterson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5502</guid>
		<description><![CDATA[
Control Microsystems has a white paper with an interesting example of integrating Longwatch&#8217;s video surveillance into their ClearSCADA system. The two systems communicate using OPC.
The Obama Administration published an overview of the 12 Initiatives in the Comprehensive National Cybersecurity Initiative. This document was actually drafted in the waning moments of the Bush administration.
Add Intel to [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Control Microsystems has a white paper with <a href="http://www.clearscada.com/media/product-literature/Video_Surveillance_Integrated_with_SCADA_WP_V1.pdf">an interesting example of integrating Longwatch&#8217;s video surveillance into their ClearSCADA system</a>. The two systems communicate using OPC.</li>
<li>The Obama Administration <a href="http://www.whitehouse.gov/cybersecurity/comprehensive-national-cybersecurity-initiative">published an overview of the 12 Initiatives in the Comprehensive National Cybersecurity Initiative</a>. This document was actually drafted in the waning moments of the Bush administration.</li>
<li><a href="http://www.infosecurity-us.com/view/7568/intel-targeted-by-january-cyberattack/">Add Intel to the list of companies under a serious cyber attack</a>. It was mentioned in their 10K filing. </li>
<li><a href="http://www.nerc.com/filez/standards/drafting_team_vacancies.html">NERC is looking for individuals to join the CIP Drafting Team</a>. There will be monthly face-to-face meetings. A more intensive than usual drafting and review effort.</li>
<li>The <a href="http://www.prlog.org/10553483-united-states-department-of-defense-embraces-hacker-certification-to-protect-us-interests.html">US Dept of Defense announced</a> &#8220;the new <a href="http://www.eccouncil.org/certification/certified_ethical_hacker.aspx">Certified Ethical Hacker</a> program is required for the DoD&#8217;s computer network defenders (CND&#8217;s), a specialized personnel classification within the DoD&#8217;s information assurance workforce.&#8221; It will be interesting to see if this mandatory certification approach flows down to regulated entities in the future.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/05/friday-news-and-notes-95/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Surveillance Video over OPC</title>
		<link>http://www.digitalbond.com/index.php/2010/03/05/surveillance-video-over-opc/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/05/surveillance-video-over-opc/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 05:03:13 +0000</pubDate>
		<dc:creator>Charles Perine</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5511</guid>
		<description><![CDATA[This week Control Microsystems Inc. and Longwatch Inc. announced the ability of ClearSCADA to provide video surveillance. At remote sites, video from the cameras is stored locally and when motion is detected an alert is raised and a video clip is sent to the ClearSCADA system. The video clip contains a short amount of video [...]]]></description>
			<content:encoded><![CDATA[<p>This week Control Microsystems Inc. and Longwatch Inc. <a href="http://www.waterandwastewater.com/www_services/news_center/publish/article_002000.shtml" target="_blank">announced</a> the ability of ClearSCADA to provide video surveillance. At remote sites, video from the cameras is stored locally and when motion is detected an alert is raised and a video clip is sent to the ClearSCADA system. The video clip contains a short amount of video before the motion sensors were activated and a few seconds after the motion sensors were activated. The video along with the alerts are sent to the ClearSCADA via OPC.</p>
<p>While the convenience of this setup is understandable, there are a few concerns I have about the implementation. The first two issues I see are similar to VOIP implementation issues. The first is that, if somebody is able to gain access to the control network, they would have access to the video surveillance as well. The second issue is that the camera system increases the attack surface for the control network.</p>
<p>There are two other issues that immediately came to mind regarding integrating cameras on the control network. If an attacker has access to the control network and the cameras were on the same network, the attacker could prevent the security video from reaching the ClearSCADA system.  Should an attacker take down a router or switch, both the control network and surveillance system would be taken offline, leaving the remote sites open to physical attacks.</p>
<p>There are definite benefits of this system, mostly ease of use and ease of implementation. However, with all additions to the control network, there must a business case and risk assessment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/05/surveillance-video-over-opc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The growing threat of smart phones</title>
		<link>http://www.digitalbond.com/index.php/2010/03/04/the-growing-threat-of-smart-phones/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/04/the-growing-threat-of-smart-phones/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 23:46:12 +0000</pubDate>
		<dc:creator>Kevin Lackey</dc:creator>
				<category><![CDATA[Big Picture]]></category>
		<category><![CDATA[Calculating Risk]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5583</guid>
		<description><![CDATA[A new video out of Rutgers University  demonstrates remote control of a rootkit infected open source Linux based smart phone that allows the attackers to use the phone as a listening device without the user being aware that the phone is communicating. While not a new concept (using a cell phone as a bug) the proliferation of [...]]]></description>
			<content:encoded><![CDATA[<p>A new <a href="http://www.youtube.com/watch?v=UZgf32wVTd4&amp;feature=PlayList&amp;p=E1DF03BB3DEEA423&amp;playnext=1&amp;playnext_from=PL&amp;index=21">video</a> out of Rutgers University  demonstrates remote control of a rootkit infected open source Linux based smart phone that allows the attackers to use the phone as a listening device without the user being aware that the phone is communicating. While not a new concept (using a cell phone as a bug) the proliferation of smart phones enabled with Wi-Fi, blue tooth and other communication technologies coupled with built in services such as SSH, telnet and others creates a whole new range of threats for control systems.</p>
<p>A couple of months ago I posted a bit about an iPhone virus that was making the rounds. This virus relied on default passwords on jail broken phones to propagate itself using built in SSH capabilities. As many users did not bother to change the default passwords they were at risk, allowing the virus to spread. Coupled witha growing number of SCADA apps for smart phones I thought it worht while to note the possibilities for security issues.</p>
<p>The spread of a smart phone virus raises the question: &#8220;What is the potential impact of an infected smart phone to control systems?&#8221;</p>
<p>With the rising number of third party apps being produced for these phone, in light of the <a href="http://www.veracode.com/reports/index.html">Veracode’s State of Software Security</a> report that Jason posted about we see a huge growth area for potential new 0days in apps that are not thoroughly vetted for security implications. There is also the possibility of malware being produced and packaged and purveyed through the various &#8220;App stores&#8221; or via free ware. Malware with built in rootkits or other software that communicates externally to report on users habits.</p>
<p>The possibility of an infected phone communicating on corporate or control system networks via the built in Wi-Fi (802.11) or by being meshed with a PC via bluetooth is very real, a possibility that opens a whole new world of vectors that attackers could employ.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/04/the-growing-threat-of-smart-phones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fuzzing, practical dumb fuzzing</title>
		<link>http://www.digitalbond.com/index.php/2010/03/03/fuzzing-practical-dumb-fuzzing/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/03/fuzzing-practical-dumb-fuzzing/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 00:36:18 +0000</pubDate>
		<dc:creator>Daniel Peck</dc:creator>
				<category><![CDATA[Assessment Tools]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5552</guid>
		<description><![CDATA[We’ve had a lot of posts about fuzzing on the blog lately.  We’ve looked at the latest technologies and techniques, we’ve talked about fuzzers, intelligent versus dumb, some of the tradeoffs involved with design choices, and in the future we’re going to talk some more about some of the commercial offerings in the space [...]]]></description>
			<content:encoded><![CDATA[<p>We’ve had a lot of posts about fuzzing on the blog lately.  We’ve looked at the latest technologies and techniques, we’ve talked about fuzzers, intelligent versus dumb, some of the tradeoffs involved with design choices, and in the future we’re going to talk some more about some of the commercial offerings in the space and their specific approaches to it.  But we haven’t spent too much time on the practical points.<br />
Of course this is a broad topic, fuzzing is one of those techniques that takes a few minutes to understand, but much more time to actually master.  And the investment to get started can be quite a few hours to really understand how to use some of the popular frameworks.  So let’s say that you’re interested in performing some negative testing on some of the systems that you’re in charge of building or keeping running, of course your time is a limited resource, and your management isn’t convinced that they should be allocating hours for you to develop and manage a fuzzer.  What’s the answer?  Do the dumb thing first, and thankfully that is easy to accomplish when it comes to fuzzing.<br />
This example is nothing groundbreaking, it’s trivial as a matter of fact and it’s probably only going to find the most superficial bugs.  But simple as it is, it often finds problems, especially in code that has never undergone negative testing before.<br />
A few notes, first, the code snippet is in python, and we’ll be using the scapy libraries since it makes packet crafting simple. Second, I’ve tried to make the code as readable as possible, so it’s not as “pythonic” as it could be. Third, it’s simple, and it’s meant to be, this is just for pointing at a very simple (and fictitious) request/response protocol, but there’s plenty of room to expand to point at your own systems.</p>
<p>So onto our ultra simple fuzzer:<br />
<code>
<pre>#! /usr/bin/env python

import sys
import os
from struct import *
from scapy.all import *

def result_test_write(response, file, data, x):
 if response:
 file.write(data)
 file.flush()
 os.fsync(file)

 else:
 print "No response received for run %d" % (x)
 file.write(data)
 file.flush()
 os.fsync(file)
 file.close()

target = "10.0.0.125"
valid_request = list("\x53\x69\x6d\x70\x6c\x65\x00\x50\x72\x6f\x74\x6f\x63
                      \x6f\x6c\x00\x52\x65\x71\x75\x65\x73\x74\x20\x4d\x73\x67")
port = 6294

ip = IP(dst=target)

for element in range(0, len(valid_request)):
 if valid_request[element] == '\x00':
 valid_request[element] = 'A'

for element in range(0, len(valid_request)):
 mutated_data = valid_request
 mutated_data[element] = chr(random.randrange(0,255))

 source_port = random.randint(1025, 65535)
 file = open("test_%04d" % (element), 'w')
 data = "".join(mutated_data)

 ip = IP(dst=target)
 udp = UDP(dport=port, sport=source_port)
 ans, unans = sr(ip/udp/data, verbose=1, timeout=5, multi=1)

result_test_write(ans, file, data, element)
</pre>
<p></code></p>
<p>We&#8217;ve got a known good request (one that generates a response) stored in the valid_request variable, and we&#8217;ve noticed that there are lot of  printable characters, and some null characters in it.  So we&#8217;ve wrote some code that does a couple of things that can make protocols that leverage a lot of string have trouble.  Null characters are used as a stopping point in string copies, so we&#8217;ll get rid of those and replace with a printable character. Next is where we get down to business, we go through each byte of the valid data and change it to a random value, one at a time.  If we&#8217;re lucky we might find a byte that the server uses to decide how much space to allocate, causing a buffer overflow, or we might find a control character that uses an undefined mode. Following that, we check to see if we got any response, log our fuzzed request to a file, and keep on going.</p>
<p>Of course this is just the beginning, there is a ton of functionality you can add, and certainly much better monitoring of the process than just looking for a response packet, but that&#8217;s not the point.  Here you have an example that you can quickly get up and running, maybe while you&#8217;re getting a more intelligent fuzzer running, and maybe because that’s all the time you have.  Whatever the cause, one error/crash makes the time spent putting together simple scripts like this more than worth it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/03/fuzzing-practical-dumb-fuzzing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Security &#8211; The State of Things</title>
		<link>http://www.digitalbond.com/index.php/2010/03/03/software-security-the-state-of-things/</link>
		<comments>http://www.digitalbond.com/index.php/2010/03/03/software-security-the-state-of-things/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 13:18:10 +0000</pubDate>
		<dc:creator>Jason Holcomb</dc:creator>
				<category><![CDATA[Big Picture]]></category>
		<category><![CDATA[Calculating Risk]]></category>
		<category><![CDATA[Vulnerability Disclosure]]></category>

		<guid isPermaLink="false">http://www.digitalbond.com/?p=5517</guid>
		<description><![CDATA[It&#8217;s RSA Conference time so companies have reports and studies to release. One that I actually found interesting is Veracode&#8217;s State of Software Security. The data comes from assessment of &#8220;billions of lines of codes and thousands of applications.&#8221; It provides some good data points and observations on the state of things.
I&#8217;ve gotten to where [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s <a href="http://www.rsaconference.com/index.htm">RSA Conference</a> time so companies have reports and studies to release. One that I actually found interesting is <a href="http://www.veracode.com/reports/index.html">Veracode&#8217;s State of Software Security</a>. The data comes from assessment of &#8220;billions of lines of codes and thousands of applications.&#8221; It provides some good data points and observations on the state of things.</p>
<p>I&#8217;ve gotten to where I read any InfoSec literature through a control systems lens. I&#8217;m always asking, &#8220;how does this apply or not apply to the control system applications and hardware we work with?&#8221; In this case, the relevance is easy to find. The distribution of vulnerabilities by language, for example, is an interesting educational tool for developers regardless if the application you&#8217;re writing is balancing a checkbook or opening a breaker.</p>
<p>For those of us that are looking at security every day, there are few surprises here. What we have to do if find ways to educate people that there is a problem. That&#8217;s where reports like this can be useful. Here are Veracode&#8217;s key observations:</p>
<p>1.) Most software is indeed very insecure.</p>
<p>2.) Third-party software is a significant percentage of the enterprise software infrastructure, and third-party components are a significant percentage of most applications.</p>
<p>3.) Open source projects have comparable security, faster remediation times, and fewer Potential Backdoors than Commercial or Outsourced software.</p>
<p>4.) A significant amount of Commercial and Open Source software is written in C/C++ making it disproportionately susceptible to vulnerabilities that allow attackers to gain control of systems.</p>
<p>5.) The pervasiveness of easily remedied vulnerabilities indicates a lack of developer education on secure coding.</p>
<p>6.) Software of all types from Finance and Government sectors was relatively more secure on first submission to Veracode for testing.</p>
<p>7.) Outsourced software is assessed the least, suggesting the absence of contractual security acceptance criteria.</p>
<p>Each of these points is interesting and could be its own blog post in its own right but I want to focus on number five for now. I absolutely believe that more can and should be done for developer education. But the other lens I look through now (thank you, Ross Anderson) is the economic perspective. What is the incentive for developers to do better with secure coding in the control system space? Until customers require it, it&#8217;s just not going to happen.</p>
<p>Perhaps the most effective way that customers can require more from vendors is at the time of purchase. Easy win here: the <a href="http://www.msisac.org/scada/">procurement language </a>document has been out for a while now and contains a secure coding section. A while back I conducted an informal survey of control system vendors regarding use of the procurement language in RFP&#8217;s. The results are disappointing. One positive outlier was at 40%, but most were closer to the single digit percentages.</p>
<p>I agree with the report &#8212; we&#8217;ve got education to do, but for our space it&#8217;s not just at the developer level. How much longer will it take to for us to have the at least same security expectation levels of our critical infrastructure applications as we do when we order a pizza online?</p>
<p>Digital Bond offers an <a href="http://www.digitalbond.com/index.php/consulting/application-assessments/"> application assessment service</a> if you want to know what the &#8220;state of things&#8221; is for your software.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalbond.com/index.php/2010/03/03/software-security-the-state-of-things/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
