<?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/"
	>

<channel>
	<title>Securism Blog &#187; Fundamentals</title>
	<atom:link href="http://blog.securism.com/category/fundamentals/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.securism.com</link>
	<description>Simple Security.</description>
	<lastBuildDate>Tue, 31 Jan 2012 05:39:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Musings on Enterprise Identity Management</title>
		<link>http://blog.securism.com/2011/11/musings-on-enterprise-identity-management/</link>
		<comments>http://blog.securism.com/2011/11/musings-on-enterprise-identity-management/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 03:40:59 +0000</pubDate>
		<dc:creator>Walter Goulet</dc:creator>
				<category><![CDATA[Fundamentals]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=329</guid>
		<description><![CDATA[<a href="http://blog.securism.com/2011/11/musings-on-enterprise-identity-management/" title="Musings on Enterprise Identity Management"></a>Funny how I learn something new everytime I visit a new customer. Seeing different environments and how different customers solve the same problems is eye opening. More importantly, the more environments I see the more I begin to understand how &#8230;<p class="read-more"><a href="http://blog.securism.com/2011/11/musings-on-enterprise-identity-management/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2011/11/musings-on-enterprise-identity-management/" title="Musings on Enterprise Identity Management"></a><p>Funny how I learn something new everytime I visit a new customer. Seeing different environments and how different customers solve the same problems is eye opening. More importantly, the more environments I see the more I begin to understand how misconceptions I had held in the past.</p>
<p>As a little background, I broke into the infosec biz in the opposite way that many of my peers have. My first formal role in infosec was as a security systems engineer for Motorola. My job was to basically look at security standards, product management requirements, and security threats and design security features. Problem is, when you take that direction you miss out on the real world, hands on perspective of infosec and have difficulty understanding exactly how organizations infosec functions (if it even exists!) It&#8217;s way too easy to fall into the ivory tower mentality. Add a couple of years of grad school in infosec, and you have the makings of a great infosec philosopher, but not a practitioner. Consulting has really opened my eyes and is helping me understand what I never fully grasped before.</p>
<p>With that out of the way, during my last couple of engagements I&#8217;ve learned a ton about enterprise identity management and have corrected a major misconception I had held in the past. Earlier in my career, I was faced with solving the problem of figuring out how to integrate enterprise identity management systems with wireless equipment; so that system administrators could use their existing credentials to log into the management interfaces of the wireless infrastructure. At the time, the solution that struck me was to use a AAA server with RADIUS; after all RADIUS is easily extensible, simple to develop and support, and is flexible. What I completely failed to realize at the time is that a AAA server is in fact not intended to act as an identity management system. Sure, AAA stands for <span style="text-decoration: underline;">Authentication,</span> <span style="text-decoration: underline;">Authorization</span>, and <span style="text-decoration: underline;">Accounting<strong>,</strong></span> but the AAA server is generally just a relay and is not the actual identity management system.</p>
<p>As I have since learned, identity management is actually centered around one of the oldest protocols in the book, LDAP or Lightweight Directory Access Protocol. LDAP is a directory service that is designed to provide extremely fast lookups and extensive search capabilities. LDAP gets it speed from the hierarchical design of objects that are stored within the directory. All objects descend from a single root node, with each child node having one or more child nodes and one or more sibling nodes. Here&#8217;s a figure of a basic tree structure of an LDAP directory.</p>
<p><img src="data:image/png;base64,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" alt="" /></p>
<p>Each node in the directory is uniquely identifiable by use of a distinguished name. A distinguished name is made up by simply concatenating the identifiers for each ascendent node to the node being named. In this figure, the DN for me would be CN=Walter,OU=Person,OU=Users,DC=jdt,DC=com. Each node also has a collection of attributes associated with it that contain information such as date of creation, address, member groups, object identifier and any other information that is pertinent to the object itself. Lookups are done by connecting to the directory server and issuing queries. LDAP queries are interesting in that they are written in a reverse polish notation style; e.g. if you wanted to search for my name in the query above quickly, you could search for a person named Walter with the following query: (&amp;(OU=Users)(CN=Walter)).</p>
<p>To make LDAP directories generally useful, they usually provide some information to LDAP clients without requiring the client to authenticate. Examples would be a web based corporate address book that is accessible from a organizations intranet. However, in order to gain access more sensitive information, LDAP clients usually authenticate to a directory via a bind operation. In fact, this is how many network operating systems such as Active Directory, Novell etc. authenticate users; a bind against a corporate LDAP directory is performed using the user&#8217;s credentials. Once the bind is successful, the user is granted access to the local system and further authenticated LDAP queries can be performed to obtain additional information needed to grant the user access to resources.</p>
<p>LDAP itself does not provide any integrity or encryption mechanisms to protect information that is transmitted between the directory and LDAP clients. However, bind operations usually use authentication protocols which protect credentials that are transmitted such as NTLM or GSSAPI. To provide integrity and confidentiality for LDAP data, LDAP may also be transmitted over a TLS secured port (LDAPS). Yet another use case for an enterprise PKI that I had absolutely no idea about.</p>
<p>So, to complete the original story, what I&#8217;ve since discovered when it comes to centralized user management, enterprise identity management, don&#8217;t think of AAA services. Rather, think of LDAP directory services. As a matter of fact, AAA servers usually have plug-ins (such as FreeRADIUS&#8217;s rlm_ldap plugin) that let them use LDAP directories as a data source when performing authentication and authorization services.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2011/11/musings-on-enterprise-identity-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adding more value to your customers</title>
		<link>http://blog.securism.com/2011/05/adding-more-value-to-your-customers/</link>
		<comments>http://blog.securism.com/2011/05/adding-more-value-to-your-customers/#comments</comments>
		<pubDate>Wed, 25 May 2011 01:20:34 +0000</pubDate>
		<dc:creator>Walter Goulet</dc:creator>
				<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[customer relations]]></category>
		<category><![CDATA[engagements]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=314</guid>
		<description><![CDATA[<a href="http://blog.securism.com/2011/05/adding-more-value-to-your-customers/" title="Adding more value to your customers"></a>Looking back at my first job, I realize that some of the same concepts which I used to sell camera equipment in a retail store still apply to my consulting job that I have today. Being responsive to customer needs, &#8230;<p class="read-more"><a href="http://blog.securism.com/2011/05/adding-more-value-to-your-customers/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2011/05/adding-more-value-to-your-customers/" title="Adding more value to your customers"></a><p>Looking back at my first job, I realize that some of the same concepts which I used to sell camera equipment in a retail store still apply to my consulting job that I have today. Being responsive to customer needs, explaining the benefits of what they are considering purchasing (or already have purchased), and in general going over and above the minimum requirements for your job are all perfectly valid concepts that apply even to security consultants.</p>
<p>As an example, in my current engagement I&#8217;m deploying a part of a tokenization solution to satisfy PCI requirements that my customer is required to satisfy. The scope of the engagement from my perspective is rather limited, but I&#8217;ve taken a deliberate effort to go above and beyond the minimum requirements outlined in the SOW (without increasing my scope, a fine line to walk for sure!) Specifically, while I was in the customer&#8217;s data center performing some configuration tasks, I looked around and noticed that there didn&#8217;t appear to be any cameras in position to observe the equipment I was configuring. As the customer explained that the equipment was considered &#8216;in scope&#8217; of the PCI DSS requirements, I pointed out that requirement 9.1.1 of the DSS requires the use of a video camera to monitor equipment (and yes, I know that the requirement is an and/or requirement). The customer contact I was working with was not part of the physical security team and couldn&#8217;t confirm whether or not the area was in fact monitored, but he took it as an action item to follow up on.</p>
<p>While in all likelihood this will turn out to be a non-issue, the customer expressed appreciation at my observation. This in turn leads to a stronger sense of trust between us and, in my opinion, enhances the overall value of the engagement. So next time you find yourself in a position where you can offer a little extra advice to your customers, consider going the extra mile. You won&#8217;t regret it!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2011/05/adding-more-value-to-your-customers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A primer on HSMs</title>
		<link>http://blog.securism.com/2011/05/a-primer-on-hsms/</link>
		<comments>http://blog.securism.com/2011/05/a-primer-on-hsms/#comments</comments>
		<pubDate>Thu, 12 May 2011 12:06:59 +0000</pubDate>
		<dc:creator>Walter Goulet</dc:creator>
				<category><![CDATA[Fundamentals]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=312</guid>
		<description><![CDATA[<a href="http://blog.securism.com/2011/05/a-primer-on-hsms/" title="A primer on HSMs"></a>A big part of my job is to advise customers how to protect high value secret keys such as root CA private keys, tokenization key encryption keys, etc. Solutions range from the relatively simple read-only private key file, passphrase protected &#8230;<p class="read-more"><a href="http://blog.securism.com/2011/05/a-primer-on-hsms/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2011/05/a-primer-on-hsms/" title="A primer on HSMs"></a><p>A big part of my job is to advise customers how to protect high value secret keys such as root CA private keys, tokenization key encryption keys, etc. Solutions range from the relatively simple read-only private key file, passphrase protected stored with minimal permissions to storing keys on dedicated, purpose built hardware devices. Purpose built hardware devices used for secure key storage are known as hardware security modules (HSM). A HSM can be thought of as both a secure key storage device and a hardware implementation of crypto algorithms. Unlike purpose built encryption hardware such as SSL accelerators, a HSM is not designed as a high throughput, low latency device designed to convert plaintext to ciphertext at high speeds. Rather, it is designed to limit the exposure of key material stored within it. This is accomplished by performing operations that require access to the key material within the HSM itself (such as digitally signing data). In some cases where necessary, HSMs can also provide the keys to authorized devices/users. Applications which wish to use HSMs typically use a vendor provided driver that integrates with various platforms (for example, Microsoft provides a Cryptographic Service Provider interface that can be used to integrate applications with HSMs).</p>
<p>In general, the design philosophy behind HSMs is that it should fail closed; meaning that if an attacker or unauthorized user attempts to repeatedly gain access to the HSM key material, the HSM will zeroize all stored keys. This design makes sense because if an attacker were to gain physical access to the HSM, it is preferable that the secret keys be destroyed rather than possibly be exposed. However, since the HSM protects high value keys, it is imperative that organizations which make use of HSMs have a robust key backup scheme in place such as sharing the key across multiple HSMs that are physically separated.</p>
<p>HSMs typically have a strong role based authentication mechanism built in that is designed to differentiate between key owners and HSM administrators. This separation of duties between key owners and administrators is crucial as it prevents HSM administrators from gaining access to key material. Authentication can be provided via the use of passphrases, or in some HSMs, via the use of individual hardware keys that are physically presented to the HSM.</p>
<p>Since access to key material and to the HSM itself needs to be carefully audited and tracked, a principle that is implemented in some HSMs is the concept of witness keys. A witness key is a separate set of keys that are distributed to other people (usually from different departments/organizations than HSM administrators or key owners) that must be presented to the HSM before access will be granted to the HSM and/or key material stored within the HSM. Witness key systems are also known as MofN systems, where &#8216;M&#8217; witness keys out of a total of &#8216;N&#8217; existing witness keys must be presented before access can be granted.</p>
<p>In summary, proper protection of high value keys is an important role that any security organization should take very seriously. HSMs can be a viable solution to help ensure that key material is stored in a safe, controlled fashion.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2011/05/a-primer-on-hsms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The evils(?) of self signed certificates</title>
		<link>http://blog.securism.com/2011/03/the-evils-of-self-signed-certificates/</link>
		<comments>http://blog.securism.com/2011/03/the-evils-of-self-signed-certificates/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 16:13:17 +0000</pubDate>
		<dc:creator>Walter Goulet</dc:creator>
				<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[Network Design]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=283</guid>
		<description><![CDATA[<a href="http://blog.securism.com/2011/03/the-evils-of-self-signed-certificates/" title="The evils(?) of self signed certificates"></a>I consider myself largely a lurker on most security mail lists that I subscribe to, including the closed SANS Advisory Board mail list. However, a recent discussion on that list prompted me to think about the supposed risks of self &#8230;<p class="read-more"><a href="http://blog.securism.com/2011/03/the-evils-of-self-signed-certificates/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2011/03/the-evils-of-self-signed-certificates/" title="The evils(?) of self signed certificates"></a><p>I consider myself largely a lurker on most security mail lists that I subscribe to, including the closed SANS Advisory Board mail list. However, a recent discussion on that list prompted me to think about the supposed risks of self signed certificates, especially in an enterprise network.</p>
<p>Like nearly any other security technology out there, self signed certificates can be evil or perfectly acceptable depending on the context in which they are used. In a nutshell, self signed certificates alone provide confidentiality and integrity to any protocols which use them to establish connections. Self signed certificates alone do not provide authentication in the traditional sense of a PKI, because the certificate has not been issued by another trusted party (such as a centrally managed PKI infrastructure).</p>
<p>So, the question is, does this lack of authentication make self signed certificates evil? I don&#8217;t believe that it does. A certificate can be authenticated by other means. For example, if the self signed certificate is installed on a end user system by some other trusted mechanism (such as a centralized directory/management server), the centralized management server is vouching for the self signed certificate. In another extreme example, a user could contact the administrator of a system that is using a self signed certificate and verify the certificate fingerprint being presented by the self signed certificate.</p>
<p>The real risks of self signed certificates are that end users will become accustomed to simply adding self signed certificates to their browser&#8217;s trusted certificate store and will ignore the security warnings presented by their browsers over time. The sanctity of browser errors generated by untrusted certificates must be preserved to ensure that users view those errors as exceptional events and respond accordingly.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2011/03/the-evils-of-self-signed-certificates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WEP Cracking 101</title>
		<link>http://blog.securism.com/2010/09/wep-cracking-101/</link>
		<comments>http://blog.securism.com/2010/09/wep-cracking-101/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 19:51:38 +0000</pubDate>
		<dc:creator>Jon Janego</dc:creator>
				<category><![CDATA[Attacks]]></category>
		<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[wifi]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=258</guid>
		<description><![CDATA[<a href="http://blog.securism.com/2010/09/wep-cracking-101/" title="WEP Cracking 101"></a>It&#8217;s occured to me, many folks understand that WEP is easy to break, but don&#8217;t know all the steps and just how easy it is.  Here I hope to lay down the basic steps in one coherent post.. demonstrating how &#8230;<p class="read-more"><a href="http://blog.securism.com/2010/09/wep-cracking-101/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2010/09/wep-cracking-101/" title="WEP Cracking 101"></a><p>It&#8217;s occured to me, many folks understand that WEP is easy to break, but don&#8217;t know all the steps and just how easy it is.  Here I hope to lay down the basic steps in one coherent post.. demonstrating how to crack into a wireless network using WEP, with a client attached to it.</p>
<p>Like always&#8230; only do this against your own networks.  The legal grounds are a bit grey here, but the ethical grounds are clear &#8211; you shouldn&#8217;t pick your neighbor&#8217;s doorlock.  Being a security professional also comes with the responsibility to use your skills for good, not evil.</p>
<p><strong>Step 0</strong>: get the software.</p>
<p>I assume you&#8217;re using linux&#8230;.  these tools do work on OSX but they require a bit of tweaking i think, and i  haven&#8217;t done it myself.  so i&#8217;ll just write up linux.  you can use a VM  of linux but the wireless card support is a bit flakier unless you&#8217;re  using a USB card.</p>
<p>basically you only will need two packages, <a href="http://www.kismetwireless.net/">kismet</a>, and <a href="http://www.aircrack-ng.org/">aircrack-ng</a></p>
<p>So:<br />
<em>apt-get install kismet<br />
apt-get install aircrack-ng</em></p>
<p><strong>Step 1</strong>: Find a WEP network</p>
<p>Kismet  is an amazingly powerful scanning tool and I could write much more about  it than we need here.  It takes advantage of the feature in wireless cards to use &#8220;monitor  mode&#8221;, which basically does passive listening for network traffic, and  analyzes the traffic into a nice list.  It can do all sorts of other neat  stuff like gps logging, etc, but that&#8217;s not totally necessary here.</p>
<p>If you don&#8217;t know it, you&#8217;ll need the interface name for your wireless card.  Check it by typing:</p>
<p><em>iwconfig</em><br />
Then, just launch kismet (type &#8216;<em>kismet</em>&#8216;) and then it will prompt you what  your WLAN card is.  It will try and put it into monitor mode and is  usually successful, even with built-in wireless.  If not theres some  troubleshooting to be done&#8230;.</p>
<p>Assuming it works, it will give you a list of networks it sees.  It  &#8216;hops&#8217; channels by switching the frequency the card is listening on and  collects traffic on that frequency.  If there&#8217;s a WEP network in sight,  kismet will highlight it in red, and you will need to pay attention to four things:</p>
<ul>
<li>Its BSSID &#8211; similar to the MAC address of the access point</li>
<li>The ESSID &#8211; the &#8216;friendly name&#8217; of the network</li>
<li>The MAC address of a client that is attached to it.</li>
<li>The channel the AP is broadcasting on</li>
</ul>
<p>Kismet has a column that shows the amount of traffic it sees for both  the AP in general and the client.  You want to target one with a client  attached that is passing data&#8230; they&#8217;re the easiest targets.</p>
<p><em>An alternate path to WLAN monitor mode:</em></p>
<p><em>If kismet has a hard time putting your card into  monitor mode, try running &#8216;airomon-ng start &lt;interfacename&gt;&#8217; and  it should attempt to do so.  If that still doesn&#8217;t work&#8230;. investigate  getting a new card.  The Alfa AWUS306Hf is an excellent USB choice.<br />
</em><br />
<strong>Step 2</strong>: prepare to attack</p>
<p>If it&#8217;s not setup yet, enable monitor mode:</p>
<p><em>airomon-ng start &lt;interfacename&gt;</em>.</p>
<p>Begin  a dump session &#8211; this logs traffic, sort of like a lightweight Wireshark.  You want to filter it to only the transactions we&#8217;re  interested in:</p>
<p><em>airodump-ng &#8211;channel &lt;c&gt; &#8211;bssid &lt;xx:xx:xx:xx:xx&gt; &#8211;write &lt;fileprefixname&gt; &lt;interfacename&gt;</em></p>
<p>where c: the broadcast channel of the network<br />
xx: BSSID of the network<br />
&lt;interfacename&gt; &#8211; self explanatory (i.e. wlan0mon)</p>
<p>Keep this running and launch a new window for the next steps.</p>
<p><strong>Step 3</strong>: do an ARP replay attack</p>
<p>This  essentially looks for an ARP request from the attached client, and  replays it many many times, enough to create a data set large enough to  mount a cryptographic attack against WEP.</p>
<p><em>aireplay-ng &#8211;arpreplay -h &lt;xx:xx:xx:xx:xx:xx&gt; -b &lt;yy:yy:yy:yy:yy:yy:&gt; &lt;interfacename&gt;</em></p>
<p>where xx: the MAC address of the client<br />
yy: BSSID of the network<br />
&lt;interfacename&gt; &#8211; self explanatory (i.e. wlan0mon)</p>
<p>Once this has started, check out the other window.  You should see  the data packets starting to increase rapidly.  When you&#8217;re at about 40k  there is enough to crack a 104-bit WEP key.  The more the better, but  no harm in starting early&#8230;</p>
<p><strong>Step 4</strong>: mount the cryptographic attack</p>
<p>From the same directory you launched the dump process just run this:</p>
<p><em>aicrcrack-ng &lt;fileprefixname&gt;.cap -0</em></p>
<p>This  will launch a window that shows progress.  if it&#8217;s successful, you&#8217;ll  see the key!  if it&#8217;s not&#8230; keep waiting for more traffic.  40k+ data  packets increases your odds tremendously but if it&#8217;s a simple WEP key it  requires less.  This tool will actually keep trying as the packet  capture increases in size so you can keep it running.  Or quit it  (ctrl-c) and wait till you have more.</p>
<p><strong>Step 5</strong>: connect!</p>
<p>If all went well you have broken the  WEP key via the PTW attack method.  Now you can connect to the network.  Close down the dump  sessions, etc etc and bring down your WLAN card &#8211; <em>ifconfig wlan0 down</em></p>
<p>Then you&#8217;ve just gotta connect:<br />
<em>ifconfig &lt;interface&gt; up -</em> bring up the wlan card</p>
<p><em>iwconfig </em><em>&lt;interface&gt;</em><em>mode managed key [WEP key]</em></p>
<p><em>iwconfig </em><em>&lt;interface&gt;</em><em> essid  &#8220;[ESSID]&#8221; (</em>Specify ESSID for the WLAN)</p>
<p><em>dhclient [interface]</em><strong> </strong>(to receive an IP address, netmask, DNS server and default gateway from the Access  Point)</p>
<p>If all goes well you&#8217;ll get an IP and then you&#8217;re good to go, test by pinging or whatever else.</p>
<p>But if it didn&#8217;t work, they may have MAC filtering in place&#8230;</p>
<p>So change the MAC address of your wireless card to the same one that you just cracked with!  This is a bit messy and could freak out the DHCP server of the access point, but it&#8217;s worth a shot.</p>
<p>Bring the card down first:</p>
<p><em>ifconfig wlan0 down<br />
</em></p>
<p>Then change the MAC:</p>
<p><em>i</em><em>fconfig wlan0 hw ether xx:xx:xx:xx:xx:xx</em></p>
<p>Bring it back up again and repeat.  You should be good to go.</p>
<p>This is a simplified walkthrough of a process that is documented many other places.  It should give you a taste of kismet, and the basics of the aircrack-ng suite, which has many many other great features.  I encourage you to read all about it over on <a href="http://www.aircrack-ng.org/">their website</a>.</p>
<p>Additionally, their site also contains a <a href="http://www.aircrack-ng.org/doku.php?id=simple_wep_crack">much more in-depth WEP crack tutorial</a>.</p>
<p>Again, this is not ground-breaking, but it is always good to share the fundamentals in case someone hasn&#8217;t seen it before.  Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2010/09/wep-cracking-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No WPA2 With Windows Wireless Zero Config??</title>
		<link>http://blog.securism.com/2009/06/no-wpa2-with-windows-wireless-zero-config/</link>
		<comments>http://blog.securism.com/2009/06/no-wpa2-with-windows-wireless-zero-config/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 04:34:00 +0000</pubDate>
		<dc:creator>Jon Janego</dc:creator>
				<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[aes]]></category>
		<category><![CDATA[wifi]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[wireless]]></category>
		<category><![CDATA[wpa]]></category>
		<category><![CDATA[wpa2]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=199</guid>
		<description><![CDATA[<a href="http://blog.securism.com/2009/06/no-wpa2-with-windows-wireless-zero-config/" title="No WPA2 With Windows Wireless Zero Config??"></a>Wow &#8211; I would never have thought that in this day and age, a major vendor like Microsoft wouldn&#8217;t fully implement a spec.  However, in the case of WPA2 it looks like that they did exactly that &#8211; at least &#8230;<p class="read-more"><a href="http://blog.securism.com/2009/06/no-wpa2-with-windows-wireless-zero-config/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2009/06/no-wpa2-with-windows-wireless-zero-config/" title="No WPA2 With Windows Wireless Zero Config??"></a><p>Wow &#8211; I would never have thought that in this day and age, a major vendor like Microsoft wouldn&#8217;t fully implement a spec.  However, in the case of WPA2 it looks like that they did exactly that &#8211; at least until 2005.</p>
<p>BUT making things more interesting- this was an &#8220;optional&#8221; update with XP SP2, until it was finally rolled into XP SP3.  There is a hotfix for XP SP2 machines in order to support WPA2 &#8211; <a href="http://www.microsoft.com/downloads/details.aspx?familyid=662BB74D-E7C1-48D6-95EE-1459234F4483&amp;displaylang=en">KB 893357.</a></p>
<p>WPA2/AES didnt&#8217; really become widely implemented until 2006, but it was in the 802.11i spec that introduced WPA in 2004.  For a major vendor like MS to not implement it is pretty crazy.  But then again I, as a wireless security professional, didn&#8217;t setup a WPA2/AES network in my home until last month.  So maybe they were onto something.</p>
<p>Anyways, if you&#8217;re using XPSP2 and a WPA2 network &#8211; you need the hotfix, or XPSP3+.  Good luck out there!  I really recommend moving to WPA2/AES, especially considering the improvements in the Nvidia CUDA drivers that are allowing TKIP to be broken in an increasingly short amount of time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2009/06/no-wpa2-with-windows-wireless-zero-config/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Responsible Home Wi-Fi</title>
		<link>http://blog.securism.com/2009/01/responsible-home-wi-fi-draft/</link>
		<comments>http://blog.securism.com/2009/01/responsible-home-wi-fi-draft/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 00:06:46 +0000</pubDate>
		<dc:creator>Jon Janego</dc:creator>
				<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[Network Design]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=158</guid>
		<description><![CDATA[<a href="http://blog.securism.com/2009/01/responsible-home-wi-fi-draft/" title="Responsible Home Wi-Fi"></a>Wi-Fi.  Everyone&#8217;s got it nowadays.  Your Comcast or Verizon broadband connection at home probably comes with a wireless router.  But do you really know how to set it up??  Better yet &#8211; do you really know how yours is set &#8230;<p class="read-more"><a href="http://blog.securism.com/2009/01/responsible-home-wi-fi-draft/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2009/01/responsible-home-wi-fi-draft/" title="Responsible Home Wi-Fi"></a><p>Wi-Fi.  Everyone&#8217;s got it nowadays.  Your Comcast or Verizon broadband connection at home probably comes with a wireless router.  But do you really know how to set it up??  Better yet &#8211; do you really know how yours is set up currently?  Or does it &#8220;just work&#8221;?</p>
<p>I want to briefly share my thoughts on the subject and give you some advice on making a secure &#8211; or perhaps intentionally insecure &#8211; wireless network at home.</p>
<p>Let me explain some fundamentals.  The first thing that you need to keep in mind is that <em>all wireless traffic is visible to everybody</em>.  Your XBOX live session.  Your online banking from your laptop.  Your IM sessions.  It&#8217;s all out there, just waiting to be listened in on, on a very <a href="http://www.ieee802.org/11/">well-defined</a> and <a href="http://en.wikipedia.org/wiki/802.11">well-understood</a> protocol, 802.11.</p>
<p>Before you panic, you need to remember the second important thing &#8211; <em>nearly all wireless traffic</em> <em>can be well-protected</em>.  Walter has been doing a nice series on encryption, and even if you don&#8217;t follow all the details, the major takeaway can be that data can be wrapped up pretty tightly if you set it up correctly.</p>
<p>For most people, I am going to advocate running a closed network &#8211; encrypting your traffic and only allowing authorized users to use your home access point (AP).  This is the subject of some debate among the security community, most notably from <a href="http://www.schneier.com/blog/archives/2008/01/my_open_wireles.html">Bruce Schneier</a> (who advocates for keeping your wireless network open), but I&#8217;ll say that for the &#8220;average user&#8221; it&#8217;s better to close it off.</p>
<p>Your network can be secured through a combination of obscurity, exclusions, and encryption.  Obscurity is not openly advertising the name of the AP.  Exclusions are preventing unauthorized network cards from joining your network.  Encryption is wrapping the traffic in a difficult-to-break code that can only be understood by your wireless devices and your wireless router.  The first two methods are relatively trivial to subvert &#8211; any &#8216;serious&#8217; attacker could get themselves onto your network if they were the only two barriers to entry.  But the third is the most important, and here your choice is pretty clear &#8211; definitely encrypt!</p>
<p>But which encryption and authentication method to choose?  Home APs commonly come with a couple varieties of encryption options &#8211; WEP, WPA-PSK, and WPA2-PSK.  WEP has had known vulnerabilities since almost its inception, and is now easily broken in less than 10 minutes of work.  <strong>So don&#8217;t use it.</strong> Use WPA or WPA2, although WPA2 is relatively new and supported by less devices than WPA.</p>
<p><a href="http://www.portforward.com/">PortForward.com</a> has an <a href="http://www.portforward.com/english/routers/wireless/routerindex.htm">excellent guide</a> to the details of setting up security on many wireless routers.  I would personally recommend against masking the SSID (the &#8220;name&#8221; of the wireless network) and implementing MAC address filtering, just because they&#8217;re easily compromised anyways, and make the network a hassle to administer.  The slight tradeoff in security is worth it for the increased usability.  As long as you&#8217;re using WPA or WPA2 with a relatively long pre-shared key &#8211; at least 15 characters &#8211; you&#8217;re better off than many networks.</p>
<p>Finally, if you choose to run an &#8220;open network&#8221; &#8211; a network that freely allows any client to associate with it, with no encryption &#8211; there are a few ways to still be safe.  First, keep in mind, that while the wireless traffic may be easily &#8216;sniffed&#8217;, if the data itself has already been encrypted via SSL (look for the &#8216;lock&#8217; icon displayed in your browser) or a VPN tunnel, it&#8217;s a moot point &#8211; it&#8217;ll be garbage to an attacker.  So even though I menacingly mentioned that your bank traffic is visible earlier in this post &#8211; it&#8217;s only visible as encrypted gobbledygook, so no reason to panic just yet.</p>
<p>Summary &#8211; use WPA or WPA2.  Don&#8217;t bother with MAC filtering or SSID masking.  Don&#8217;t use WEP unless you really have to.  And you probably don&#8217;t want to run a wide-open network, but if you do so, don&#8217;t panic too much &#8211; most &#8216;important&#8217; traffic is probably encrypted anyways.</p>
<p>In another post I&#8217;ll go into some ideas for running a secure, yet open home wireless network.  But until then, keep my simple recommendations in mind and you&#8217;ll be just fine!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2009/01/responsible-home-wi-fi-draft/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hashes &#8211; not just for breakfast</title>
		<link>http://blog.securism.com/2009/01/hashes-not-just-for-breakfast/</link>
		<comments>http://blog.securism.com/2009/01/hashes-not-just-for-breakfast/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 05:54:54 +0000</pubDate>
		<dc:creator>Walter Goulet</dc:creator>
				<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[cryptography]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=135</guid>
		<description><![CDATA[Hash functions are the basis of digital fingerprints which are used to ensure that information is not modified since it was created. In this post, a description of what hash functions are used for is discussed. A simple hash function is also presented along with an example.<p class="read-more"><a href="http://blog.securism.com/2009/01/hashes-not-just-for-breakfast/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2009/01/hashes-not-just-for-breakfast/" title="Hashes - not just for breakfast"></a><p>Consider the problem where you need to know for sure that information you are looking at has not been altered since it was first created. A simple example that kids can relate to is a report card from school. The model for report cards is that the school gives a kid his/her report card, they bring it home and their parents sign it to show that they read the report card. An obvious problem that the school has is to be certain that the report card isn&#8217;t changed while the kid has it.</p>
<p>In cryptography, this problem is referred to as <em>&#8216;data integrity.&#8217;</em> Cryptographic systems solve this problem by creating a representation of the information that is unique. This representation is referred to as a <em>&#8216;hash&#8217; </em>(or checksum). A good way to think of a hash is as a digital fingerprint that looks totally different for each set of data that it represents. Functions that are used to create hashes from information are called hash functions. There are a couple of important points about hash functions:</p>
<ul>
<li>The result of the hash function MUST be unique for each message that it processes. That is, you should never be able to get the same result from a hash function if you feed in two different messages.</li>
<li>The result of the hash function MUST not look anything like the message that it processed.</li>
<li>It MUST be impossible, given the result of a hash function, to determine what the original message was.</li>
<li>The result of the hash function is usually smaller than the message that it processed.</li>
</ul>
<p>If you wanted to exchange a message with another person and be sure that the message hasn&#8217;t been changed along the way, you could use a hash function as follows:</p>
<ol>
<li>Create a message.</li>
<li>Feed that message into a hash function.</li>
<li>Send the message to the recipient along with the hash.</li>
<li>The recipient feeds the message into the same hash function used by the sender.</li>
<li>The recipient compares their hash with the sender&#8217;s hash. If they are identical, the recipient is sure that the message wasn&#8217;t changed.</li>
</ol>
<p>Of course this exchange isn&#8217;t secure as the hash could be changed in transit as well, but it illustrates how such a system works. I&#8217;ll explain how to make this exchange secure in a future post. To find out more about the basics of hash functions, read more.</p>
<p><span id="more-135"></span>So, how exactly do hash algorithms work? They work by mixing and mashing the messages being hashed. The mixing and mashing is done by dividing a message into a set of chunks. These chunks are then mixed together using math operations (this step varies greatly depending on the hash function being used).</p>
<p>Here&#8217;s an example of a very simple hash function. In this function, note that letters are represented using numbers (ASCII codes, so A=65, B=66, C=67 &#8230; Z=90). Note that when using ASCII characters to represent numeric values, you have to have numeric values in the range of 65 to 90 in order to be able to print them as characters.</p>
<ul>
<li>Divide your message into sets of 8 letters. If the number of letters in your message is not evenly divisible by 8, add as many &#8216;i&#8217;s to your message as needed to make it divisible by 8 (this is called <strong>&#8216;</strong><em>padding&#8217;</em>).</li>
<li>Replace the letters with numbers (ASCII values which can be found <a href="http://www.asciitable.com/">here</a>).</li>
<li>Now, arrange the sets of 8 numbers in a vertical column; ex. if your message has 24 letters, you should have 3 rows of 8 numbers arranged in a column.</li>
<li>Starting at the top row, add the first number in the first 2 rows together. Since this number is going to be larger than 90, we need to do a little more math to make it fall in the range of 65 &#8211; 90. So we will take this sum and divide it by 26. This will ensure that the number is in the range of 0 &#8211; 26. Next, we&#8217;ll take this remainder value and add 65 to it. This way, we can be sure the final value will be in the range of 65 &#8211; 90. This final value then becomes the first value in a new row. Repeat this step for all of the characters in the first two rows.  (For readers of my previous post on clock arithmetic, this calculation is just modular arithmetic, specifically we are calculating the value mod 26).</li>
<li>The new row that you&#8217;ve created now replaces the first 2 rows. Repeat the previous step until you&#8217;ve added all the rows together.</li>
<li>The final row that results from doing these operations represents the hash value for the message.</li>
</ul>
<p>Here&#8217;s an example where I calculate the hash of the value &#8220;walter goulet is here&#8221;</p>
<p>The message &#8220;WALTER GOULET IS HERE&#8221; looks like this encoded in ASCII (the value 32 is a space character.)</p>
<p>87 65 76 84 69 82 32 71 79 85 76 69 84 32 73 83 32 72 69 82 69</p>
<p>Note that there are only 21 characters in this message, so we need to add 3 &#8220;I&#8221;s to the end for padding. The ASCII code for &#8216;I&#8217; is 73. So, the padded message looks like this:</p>
<p>87 65 76 84 69 82 32 71 79 85 76 69 84 32 73 83 32 72 69 82 69 73 73 73</p>
<p>Next, we break the message into sets of 8 numbers:</p>
<ol>
<li>87 65 76 84 69 82 32 71</li>
<li>79 85 76 69 84 32 73 83</li>
<li>32 72 69 82 69 73 73 73</li>
</ol>
<p>Now, we add rows 1 and 2 together by adding each number in the same position together, dividing it by 26 to get the remainder, and add the value &#8217;65&#8242; to the result. Let&#8217;s perform this operation on rows 1 and 2:</p>
<p>87 + 79 = 166; 166 / 26 = 6 remainder 10; 10 + 65 = <strong>75</strong></p>
<p>65 + 85 = 150; 150 / 26 = 5 remainder 20; 20 + 65 = <strong>85</strong></p>
<p>and so on for each number in rows 1 and 2. The new row, after repeating this for each number, becomes</p>
<p><strong>75 85 87 88 88 75 66 89</strong></p>
<p>The new row is then added to row number 3 above using the same process.</p>
<ol>
<li>75 85 87 88 88 75 66 89</li>
<li>32 72 69 82 69 73 73 73</li>
</ol>
<p>After repeating this operation, the new row is:<br />
<strong>68 66 65 79 66 83 74 71</strong></p>
<p>After replacing these numeric values with their letter values, the final result is:<br />
<strong>D  B  A  O  B  S  J  G</strong><br />
This value is our hash value for the message &#8220;WALTER GOULET IS HERE&#8221;.</p>
<p>As an exercise, try changing a letter in the original message. You&#8217;ll see that when you do, the final hash output will change as well. Note that this toy hash function isn&#8217;t nearly as strong as real hash functions used in security technologies, but the basic ideas are the same</p>
<p>For interested readers, here&#8217;s a Ruby program implementing the hash function described above. Play around with different messages to see how the hashing works and to spot potential problems from this simplistic hash function.</p>
<blockquote>
<pre>#!/usr/bin/ruby -w</pre>
<pre>msgstr = String.new(ARGV[0])</pre>
<pre>msgarr = Array.new</pre>
<pre>arrindex = 0</pre>
<pre>msgstr.upcase!</pre>
<pre># Pad the input message string if it's length is not divisible by 8</pre>
<pre>if((numchar = msgstr.length.modulo(8)) != 0)</pre>
<pre>        padchars = 8 - numchar</pre>
<pre>        padchars.times do</pre>
<pre>                msgstr = msgstr + "I"</pre>
<pre>        end</pre>
<pre>end</pre>
<pre># Break the message into 8 character (or byte) words</pre>
<pre>strsize = msgstr.length</pre>
<pre>while(strsize &gt; 0)</pre>
<pre>        if(strsize.modulo(8) == 0)</pre>
<pre>                msgarr[arrindex] = msgstr.slice!(0..7)</pre>
<pre>                arrindex = arrindex + 1</pre>
<pre>        end</pre>
<pre>        strsize = strsize  - 1</pre>
<pre>end</pre>
<pre># Add the rows</pre>
<pre>while(msgarr.length &gt; 1)</pre>
<pre>        row1 = msgarr.shift</pre>
<pre>        row2 = msgarr.first</pre>
<pre>        0.upto(7) do |x|</pre>
<pre>                row2[x] = ((row1[x] + row2[x]) % 26) + 65</pre>
<pre>        end</pre>
<pre>end</pre>
<pre>print msgarr.first</pre>
<pre>print "n"</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2009/01/hashes-not-just-for-breakfast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clock arithmetic and security</title>
		<link>http://blog.securism.com/2009/01/clock-arithmetic-and-security/</link>
		<comments>http://blog.securism.com/2009/01/clock-arithmetic-and-security/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 04:12:12 +0000</pubDate>
		<dc:creator>Walter Goulet</dc:creator>
				<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[cryptography]]></category>

		<guid isPermaLink="false">http://blog.securism.com/?p=125</guid>
		<description><![CDATA[Modular arithmetic (a simple example of which is clock arithmetic) forms the basis of many key negotiation and encryption algorithms. In this post I explain how modular arithmetic works and describe a simple cryptosystem that uses modular arithmetic for key agreement.<p class="read-more"><a href="http://blog.securism.com/2009/01/clock-arithmetic-and-security/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.securism.com/2009/01/clock-arithmetic-and-security/" title="Clock arithmetic and security"></a><p>Quick quiz, what do the following sequence of numbers have in common: 19, 3763, 31, and 67? The answer is, they are all the same! Ok, well obviously that&#8217;s not strictly true. More correctly, these numbers all represent the same value in modular arithmetic (7 modulo 12). When you take each of these numbers and divide them by 12, you end up with a remainder of 7 (19 / 12 = 1 remainder 7, 3763 / 12 = 313 remainder 7, 31 / 12 = 2 remainder 7, and 67 / 12 = 5 remainder 7).</p>
<p>Another simple way to think of modular arithmetic is clock arithmetic. Consider the problem when you are looking at an analog 12 hour clock. You need to figure out what time it is going to be 7 hours from now. If the current time is 3 o&#8217;clock PM, you add 7 hours and end up with 10 o&#8217;clock PM. But, what if it&#8217;s 8pm? You don&#8217;t simply add 7 hours as there is no such thing as 15 o&#8217;clock pm. Instead, when you pass 12 o&#8217;clock AM, you restart your counting. So 8 o&#8217;clock PM + 7 hours = 12 o&#8217;clock AM + 3hrs = 3 o&#8217;clock AM.</p>
<p>So what does clock arithmetic have to do with security? Going back to our original sequence of numbers, notice that you cannot possibly determine that these numbers all represent the same mathematical value without having a key piece of information, the modulo value (which in this case is 12). When you think about it, this property is useful from a secrecy perspective because you have 2 pieces of information that have a common value, but you can&#8217;t tell what that common value is unless you know some other information. This basic property of modular arithmetic forms the basis of many of the key negotiation and encryption algorithms in use today.</p>
<p>So, for fun, here&#8217;s a simple cryptosystem (secure enough to keep your 10 year old little sister from reading your journal) that uses this property. Note this cryptosystem doesn&#8217;t authenticate the two parties, but it at least allows them to exchange a pair of secret keys no matter who is listening.</p>
<ul>
<li>Alice and Bob want to exchange a secret message, but they can only talk to each other over an open communication channel.</li>
<li>Beforehand, Alice and Bob agree to use the current time as the modulo value for determining the secret value. For example, if the current time is 4pm and Alice and Bob want to agree on a secret key, they will divide their values by 4. Note that the method they are using for choosing a modulo value must remain secret for this system to work.</li>
<li>Alice sends her value to Bob in an open channel. Bob calculates the value she sent modulo the current time. The result is Alice&#8217;s encryption key.</li>
<li>Bob sends his value to Alice again in an open channel.</li>
<li>Alice calculates the value she got from Bob modulo the current time. The result is Bob&#8217;s encryption key.</li>
<li>Now, Alice and Bob can communicate securely using each other&#8217;s encryption key to encrypt messages being sent back and forth (using some pre-determined encryption algorithm).</li>
</ul>
<p>To see the system in action:</p>
<ol>
<li>The current time is 9pm.</li>
<li>Alice picks a value of 84.</li>
<li>Bob picks a value of 1156.</li>
<li>Alice and Bob send a message to each other via a open channel (normal phone call, ads in the newspaper, or even yelling at each other in a park!).</li>
<li>Alice get&#8217;s Bob&#8217;s value of 1156 and calculates 1156 / 9 = 128 remainder 4. 4 is Bob&#8217;s encryption key.</li>
<li>Bob get&#8217;s Alice&#8217;s value of 84 and calculates 84 / 9 = 9 remainder 3. 3 is Alice&#8217;s encryption key.</li>
<li>Now Bob and Alice can encrypt their messages using their respective encryption keys.</li>
</ol>
<p>The real beauty of this type of system is that no matter who learns the values that Alice and Bob selected in steps 2 &amp; 3, they will never be able to figure out how they are related without knowing what the modulo value is. In a future post, I&#8217;ll expand on this a bit more to show how modular arithmetic is used in non-toy cryptosystems.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.securism.com/2009/01/clock-arithmetic-and-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

