<?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>The ProStructure Blog &#187; security</title>
	<atom:link href="http://www.prostructure.com/blog/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prostructure.com/blog</link>
	<description>A blog about high-end IT Infrastructure and Security</description>
	<lastBuildDate>Mon, 12 Jul 2010 21:34:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>The brute that is SSH Brute Force</title>
		<link>http://www.prostructure.com/blog/2010/07/12/the-brute-that-is-ssh-brute-force/</link>
		<comments>http://www.prostructure.com/blog/2010/07/12/the-brute-that-is-ssh-brute-force/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 21:33:49 +0000</pubDate>
		<dc:creator>micah</dc:creator>
				<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=105</guid>
		<description><![CDATA[The brute is back.  By the brute, I mean the SSH brute force attack.  In the last month we have noticed an upturn in SSH brute force traffic targeting hosts addressed in public IPv4 address space.  The highest ranking attack sources we have seen include address allocations in KRNIC, APNIC, and RIPE.  In the cases [...]]]></description>
			<content:encoded><![CDATA[<p>The brute is back.  By the brute, I mean the SSH brute force attack.  In the last month we have noticed an upturn in SSH brute force traffic targeting hosts addressed in public IPv4 address space.  The highest ranking attack sources we have seen include address allocations in KRNIC, APNIC, and RIPE.  In the cases we&#8217;ve encountered, the target user was either the root user or something out of a dictionary.  An SSH brute force attack challenges the complexity of the user generated password associated with a user account by iterating through a dictionary to guess user passwords.  Brute-force code will also generate attempts randomly.  The risk associated with the vulnerability exposed here is great, so its important that some action be taken by administrators to ensure a secure operating environment moving forward.</p>
<p>Does your organization currently employ a strong password policy?  Does your organization currently enforce this strong password policy? A strong password should be 14 characters long and should utilize numeric, upper and lower case alphabetical, and symbol characters such as &#8220;!@#$%^&amp;*()&#8221;.    Most every modern operating system or directory service (LDAP) implementation supports enforcement of strong password complexity.  Administrators should ensure they are utilizing the password history function of their directory service if available, to minimize the potential for password reuse by end users.  For Linux users not utilizing a directory, you can utilize the PAM module provided by the Openwall project, passwdqc, which provides password complexity enforcement.</p>
<p>If your environment allows, utilize password-less authentication using public key encryption provided by either the RSA or DSS.  Most SSH clients and servers support one or both of these methods.  Finally, Ensure that your SSH server does not allow root or Administrator logins.</p>
<p>If your environment already has a firewall in place to facilitate network access control, you should ensure that TCP port 22 is only available to those networks that need access.  If your environment does not have a firewall, OS level packet filtering is available in all modern operating systems.  When thinking about the SSH surface area in your environment, ensure you include devices that are manageable via SSH including routers, firewalls, switches, and other network appliances.</p>
<p>You should really ask yourself why your SSH service is available to the public if you aren&#8217;t explicitly providing a shell service to end users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2010/07/12/the-brute-that-is-ssh-brute-force/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are you monitoring the integrity of your digital assets?</title>
		<link>http://www.prostructure.com/blog/2010/05/11/are-you-monitoring-the-integrity-of-your-digital-assets/</link>
		<comments>http://www.prostructure.com/blog/2010/05/11/are-you-monitoring-the-integrity-of-your-digital-assets/#comments</comments>
		<pubDate>Tue, 11 May 2010 16:16:49 +0000</pubDate>
		<dc:creator>micah</dc:creator>
				<category><![CDATA[Enterprise IT]]></category>
		<category><![CDATA[Web Operations]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=83</guid>
		<description><![CDATA[At this point in time, Your organization most likely uses its website to deliver key business data to your customers.  This could include the delivery of product marketing information, contact information, or product support documentation.  Your product may be your website if you deliver your application in a SaaS or cloud based distribution model.  As [...]]]></description>
			<content:encoded><![CDATA[<p>At this point in time, Your organization most likely uses its website to deliver key business data to your customers.  This could include the delivery of product marketing information, contact information, or product support documentation.  Your product may be your website if you deliver your application in a SaaS or cloud based distribution model.  As a customer, when I pay for something, I am telling that company that I trust they can deliver not only what they sold me as a product, but all necessary services that come with supporting that product.  In other words, I am telling that company that I trust them.  As part of this trust relationship, we expect that the systems that enable this content delivery, such as web servers, are trustworthy, and the integrity of the content has also been ensured.</p>
<p>Organizations may not have to work hard to initially develop this trust relationship with their customer.  What an organization may not be doing is working hard to maintain this trust relationship.  If the integrity of these assets are challenged, there is a potential risk of destroying this trust relationship, which could be cause for a costly recovery attempt of this customer trust, or complete customer loss.  Ensuring the integrity of your organization&#8217;s digital assets should be considered a foundational component of any organization&#8217;s security practice.</p>
<p>When we speak of digital assets, we not only include the traditional media data types including images, audio, and video, but all other content produced by your company that exists in a persistent state on disk.  In a web server environment we would most likely be dealing the with following types of data:</p>
<ul>
<li>Html, Javascript, CSS, and embedded web objects</li>
<li>PHP, Perl, .NET, and other application code</li>
<li>Non-HTML Document types such as PDF or Office files</li>
<li>Images, Audio, and Video</li>
</ul>
<p>We were recently employed to review the state of a customer&#8217;s environment following a recent intrusion.  As with a portion of the environments we work in today, the services provided included web content and application delivery provided by Apache running on Linux.  While Apache does provide access logging for files requested from it, it does not maintain state regarding the integrity of the files it serves. Following an intrusion, identifying the the attack vector is extremely important in providing future security of this environment but should not be the only consideration.</p>
<p>The following questions need to be asked concurrently:</p>
<ul>
<li>What organizational or customer data was exposed?</li>
</ul>
<ul>
<li>Was any data modified and what is the potential impact to our customers?</li>
</ul>
<p>In high traffic environments, it can be extremely difficult to answer both of these questions quickly, which in turn can prolong the delivery of customer communication or notification for external entities that may have a stake in the exposed data.  To speed up the time to derive an answer to both of these questions, there are two methods that are available to expedite this process.</p>
<p>First, the majority of server operating systems in production today have kernel facilitated auditing capability bundled with the operating system.  Linux provides the Linux Audit Subsystem.  Microsoft Windows Server including 2003 and 2008 provide auditing capability.  Solaris, MacOS X, and the BSD family of operating systems also implement audit facilities.  Each of these respective implementations provide the ability to monitor file access and modification events and produce audit trail which can be used to quickly determine which critical assets were accessed or modified.  Although the deployment of auditing policy is not trivial, the benefit can easily be measured if file integrity is violated and you are able to effectively determine the targeted assets and the associated scope of exposure.</p>
<p>Secondly, organizations should deploy a file integrity monitoring system such as Tripwire or Samhain.  These systems utilize one way cryptographic functions (also known as message digest algorithms) such as MD5, SHA1, SHA2, or Tiger, to create a catalog of computed hashes of  files covered by the monitoring software&#8217;s defined policy.  Following the a baseline definition process, these systems monitor filesystem changes against prior hash calculations, and in some cases, against known bad hash values associated with exploit, rootkit code, and other potential malware.   When a change event is discovered, notifications can be delivered to those accountable.</p>
<p>The data generated by each of these tools should be streamed via encrypted transport to a centralized syslog server.   This centralized server should exist in a logically distinct network segment from all other nodes in the environment.   Because this server essentially becomes the gold copy record for file integrity in your environment as related to file assets, extreme care should be used to ensure the validity of logs captured.  This includes utilizing file integrity monitoring and limiting access to those who have a need to know.</p>
<p>The employment of these systems do not provide protection against intrusion but can ease the burden of cleaning up the mess and help organizations identify impact.  While this does not completely mitigate potential loss of trust with your customers, it allows you to effectively measure whether or not their trust was violated and the overall level of exposure.  In the future, we will be providing direction on how these logs can be utilized to provide real-time alerting of an attack in progress, and what you can do to decrease your time to react.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2010/05/11/are-you-monitoring-the-integrity-of-your-digital-assets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vulnerable open source components installed in commercial products</title>
		<link>http://www.prostructure.com/blog/2010/04/19/vulnerable-open-source-components-installed-in-commercial-products/</link>
		<comments>http://www.prostructure.com/blog/2010/04/19/vulnerable-open-source-components-installed-in-commercial-products/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 22:15:13 +0000</pubDate>
		<dc:creator>psmythe</dc:creator>
				<category><![CDATA[Enterprise IT]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=79</guid>
		<description><![CDATA[&#8220;What do I do about the vulnerable open source components installed in my commercial products?&#8221; I have been asked that question many times, and I wish the reply I had to deliver was one with a better message.  Unfortunately we often find vulnerable components embedded in commercial products.  Vulnerabilities that can lead to the compromise [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;What do I do about the vulnerable open source components installed in my commercial products?&#8221;</p>
<p>I have been asked that question many times, and I wish the reply I had to deliver was one with a better message.  Unfortunately we often find vulnerable components embedded in commercial products.  Vulnerabilities that can lead to the compromise of the system they are installed in.  We have seen this in both software products that companies are actively shipping, as well as in software and appliances other clients have purchased and installed.  When we request that the vulnerable components be upgraded, the change request very rarely makes it very far up the chain.  The reasoning (when one is actually given) is other &#8220;feature enhancements&#8221; and new functionality for customers and sales are a higher priority.</p>
<p>While performing security audits against organizations this is an issue that comes up frequently.  What we have seen is that unless the client represents a significant source of revenue or other opportunities for the company shipping vulnerable products, getting them to change can be a very difficult and time consuming process that may not yield major results in any workable time frame.  Baring being a significant revenue source, being a potentially good or bad publicity source could also be a way to get them to be a little more helpful.  For instance having a large scale outage caused by an exploit of one of the vulnerably pieces of software they are using.  However I do not really recommend waiting to be exploited as a viable option.</p>
<p>I am not suggesting that you do not open a support ticket with the company when you do find an issue; however receiving an unworried/unconcerned response is something you should expect.  Having a proof of concept attack against their software that you can show them would be one way to help get their attention, but that can be time consuming and costly.</p>
<p>Instead most organizations are forced to mitigate the issue themselves.  While waiting for the software companies to upgrade or fix the issues you have found, you need to mitigate and create controls around all of the known issues.  In general this can be accomplished through a six step process.</p>
<ol>
<li>Segment your network into different zones based upon function, confidentiality and importance of data, etc.</li>
<li>Deploy host based and network based firewalls to restrict access to specific ports, sources, and/or destinations.  The firewalls should restrict both what connections can be made in an attempt to exploit a vulnerability, as well as to limit what damage or access a compromised computer can create.  You do not want a compromised server downloading tools or initiating more attacks if you can help it.</li>
<li>Deploy and USE an operational Alerting and Monitoring system, configured to detect outages, error conditions, and anomalies, .  This includes traffic flows, service and device uptime, and SLA measurements, as well as the gathering of syslog data and appropriate snmp-traps.</li>
<li>Deploy a network and/or host based IDS to watch for any attempts at exploiting known vulnerabilities or traffic anomalies.</li>
<li>Deployment of an event correlation system (such as Cisco’s MARS, RSA’s enVision, or Splunk) to help manage the massive amounts of server, firewall, and IDS logs.</li>
<li>Continually monitor, maintain, and manage your environment.  There are no easy “place it and forget it” solutions to security issues.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2010/04/19/vulnerable-open-source-components-installed-in-commercial-products/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A brief history of WEP cracking</title>
		<link>http://www.prostructure.com/blog/2009/06/29/a-brief-history-of-wep-cracking/</link>
		<comments>http://www.prostructure.com/blog/2009/06/29/a-brief-history-of-wep-cracking/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 22:01:00 +0000</pubDate>
		<dc:creator>Irving Popovetsky</dc:creator>
				<category><![CDATA[Enterprise IT]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=57</guid>
		<description><![CDATA[Year Number of 802.11 packets required to crack WEP 2001 &#8211; 2004 5-10 million  (FMS attack) 2004 &#8211; 2007 500k (unique IVs) on average for 128-bit WEP  (Korek attack) 2007 &#8211; 2008 40k (ARP packets) using the PTW attack 2008 &#8211; Present 25k (replayed packets)  using the ARP replay and/or chopchop replay, with combined PTW+Korek [...]]]></description>
			<content:encoded><![CDATA[<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="115" valign="top"><strong>Year</strong></td>
<td width="523" valign="top"><strong>Number of 802.11 packets required to crack   WEP</strong></td>
</tr>
<tr>
<td width="115" valign="top"><strong>2001 &#8211; 2004</strong></td>
<td width="523" valign="top">5-10 million  (FMS attack)</td>
</tr>
<tr>
<td width="115" valign="top"><strong>2004 &#8211; 2007</strong></td>
<td width="523" valign="top">500k (unique   IVs) on average for 128-bit WEP  (Korek   attack)</td>
</tr>
<tr>
<td width="115" valign="top"><strong>2007 &#8211; 2008</strong></td>
<td width="523" valign="top">40k (ARP packets) using the PTW attack</td>
</tr>
<tr>
<td width="115" valign="top"><strong>2008 &#8211; Present</strong></td>
<td width="523" valign="top">25k   (replayed packets)  using the ARP   replay and/or chopchop replay, with combined PTW+Korek analysis</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2009/06/29/a-brief-history-of-wep-cracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Critical PDF Vulnerabilities in Blackberry Enterprise Server</title>
		<link>http://www.prostructure.com/blog/2009/01/13/critical-pdf-vulnerabilities-in-blackberry-enterprise-server/</link>
		<comments>http://www.prostructure.com/blog/2009/01/13/critical-pdf-vulnerabilities-in-blackberry-enterprise-server/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 22:01:39 +0000</pubDate>
		<dc:creator>Amber Pham</dc:creator>
				<category><![CDATA[Advisories]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[BES]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[bulletin]]></category>
		<category><![CDATA[RIM]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=41</guid>
		<description><![CDATA[Research in Motion has just released security bulletin KB17118 that announces a new set of vulnerabilities in the Blackberry Attachment Service that runs on Blackberry Enterprise Server (BES). According to Blackberry, “these vulnerabilities could enable a malicious individual to send an email message containing a specially crafted PDF file, which when opened for viewing on [...]]]></description>
			<content:encoded><![CDATA[<p>Research in Motion has just released security bulletin <a href="http://www.blackberry.com/btsc/search.do?cmd=displayKC&amp;docType=kc&amp;externalId=KB17118" target="_blank">KB17118</a> that announces a new set of vulnerabilities in the Blackberry Attachment Service that runs on Blackberry Enterprise Server (BES).  According to Blackberry, “these vulnerabilities could enable a malicious individual to send an email message containing a specially crafted PDF file, which when opened for viewing on a BlackBerry smartphone, could cause memory corruption and possibly lead to arbitrary code execution on the computer that hosts the BlackBerry Attachment Service.”</p>
<p>It is strongly recommended that you read bulletin KB17118, then download and install the patch, called Service Pack 6 Interim Security Software Update 2, from <a href="http://www.blackberry.com/go/serverdownloads" target="_blank">http://www.blackberry.com/go/serverdownloads</a>.   The security bulletin also offers a workaround that reduces the functionality of BES but protects the server from exploits of the Attachment Service vulnerabilities.</p>
<p>The affected versions of the server software are BlackBerry Enterprise Server software version 4.1 Service Pack 3 (4.1.3) through 4.1 Service Pack 6 (4.1.6), including the latest maintenance release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2009/01/13/critical-pdf-vulnerabilities-in-blackberry-enterprise-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VBscript code to change the local Administrator password throughout an entire domain</title>
		<link>http://www.prostructure.com/blog/2008/12/18/vbscript-code-to-change-the-local-administrator-password-throughout-an-entire-domain/</link>
		<comments>http://www.prostructure.com/blog/2008/12/18/vbscript-code-to-change-the-local-administrator-password-throughout-an-entire-domain/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 22:20:03 +0000</pubDate>
		<dc:creator>Irving Popovetsky</dc:creator>
				<category><![CDATA[Enterprise IT]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=33</guid>
		<description><![CDATA[Irving Popovetsky explains how to change the local Administrator account on all machines in a Windows Domain to a unique, strong password using VBscript scripting.]]></description>
			<content:encoded><![CDATA[<p>Recently, I got an excellent chance to put my money where my mouth is.</p>
<p>In the past, I&#8217;ve warned Windows shops to use unique local Administrator passwords wherever possible.  I&#8217;ve even proven the dangers of using the same local Administrator password during a penetration test in 2007.   Combine this with the fact that  I rarely have anything polite to say about VBscript (it&#8217;s not a pretty language to work with), and we have the perfect karmic storm.</p>
<p>Yours truly, coding in VBscript, tasked with setting a unique, strong passwords on each one of a few hundred machines.   Here&#8217;s what I came up with:</p>
<blockquote>
<pre>' ChangeLocalAdminOnServers.vbs
' Created by Irving Popovetsky (irving@prostructure)
' 12/15/2008, ProStructure Consulting
'
' Warning:  This script will begin changing passwords as soon
' as it collects a complete list of machine names.
'
' Read and understand this code carefully before executing,
' and always remember to fill in your own variables where appropriate.
' We assume no liability for damages that may be caused by running
' this code in your production environment!!

On Error Resume Next

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")

' ***CHANGEME*** Change the output file to a location you trust, like an
' Encrypted folder or USB stick that can be stored away
' In the future, this could be improved to output directly to PGP or equivalent.
Set MyFile = fso.CreateTextFile("c:\Temp\Changedservers.txt", True)

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 

' ***CHANGEME*** Fill in your own Domain name here
objCommand.CommandText = _
    "SELECT Name FROM 'LDAP://dc=DOMAIN,dc=INTERNAL' WHERE objectCategory='computer'"
Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst

Do Until objRecordSet.EOF
    strComputer = objRecordSet.Fields("Name").Value

	' ***CHANGEME*** Skip the Domain Controllers  - fill in your own values here
	if Instr(1,strComputer, "DOMAINCONTROLLER1") Then objRecordSet.MoveNext
	if Instr(1,strComputer, "DOMAINCONTROLLER2") Then objRecordSet.MoveNext
	if Instr(1,strComputer, "DOMAINCONTROLLER3") Then objRecordSet.MoveNext

	' Irving - Random password
	Dim intUpperLimit, intLowerLimit, strPassword
	strPassword = ""
	intUpperLimit = 126
	intLowerLimit = 33

	For i = 1 to 12
	    Randomize
	    intASCIIValue = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) _
	        + intLowerLimit)
	    strPassword = strPassword &amp; Chr(intASCIIValue)
	Next

	'  Perform the Action.  Write out the computername/password then execute
	MyFile.WriteLine(strComputer &amp; "   " &amp; strPassword)
	Set objUser = GetObject("WinNT://" &amp; strComputer &amp; "/Administrator")
	objUser.SetPassword strPassword

    objRecordSet.MoveNext
Loop

MyFile.Close</pre>
</blockquote>
<p>Credits to <a href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/jul07/hey0703.mspx" target="_blank">The Scripting Guy&#8217;s article on scripting the change of the local administrator password</a>. Very funny article,  I&#8217;m a big fan of the Scripting Guy.</p>
<p>Now, there are certainly some improvements that can be made, and WILL be made if I ever have to use this thing again.   First off, the ability to define the output location and LDAP search path.   Second, automatically determining if a server is a domain controller and skipping it.  You DEFINITELY DO NOT want this script hitting a Domain Controller, because it will change the Domain&#8217;s Administrator account, and that can be a bad thing.  Trust me, I already learned that lesson, at least I had the password in my output file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2008/12/18/vbscript-code-to-change-the-local-administrator-password-throughout-an-entire-domain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interviewed for Inc. Technology</title>
		<link>http://www.prostructure.com/blog/2008/09/19/interviewed-for-inc-technology/</link>
		<comments>http://www.prostructure.com/blog/2008/09/19/interviewed-for-inc-technology/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 23:34:16 +0000</pubDate>
		<dc:creator>Irving Popovetsky</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=19</guid>
		<description><![CDATA[I was recently interviewed by Michelle Rafter for Inc. Technology about best practices for Administrative Passwords. Article link:  Psst! Whats the Password?]]></description>
			<content:encoded><![CDATA[<p>I was recently interviewed by Michelle Rafter for Inc. Technology about best practices for Administrative Passwords.</p>
<p>Article link:  <a title="Psst! What's the Password?" href="http://technology.inc.com/security/articles/200809/passwords.html" target="_blank">Psst! Whats the Password?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2008/09/19/interviewed-for-inc-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP and ASP.NET:  Still easy targets for SQL injection</title>
		<link>http://www.prostructure.com/blog/2008/06/25/asp-and-aspnet-still-easy-targets-for-sql-injection/</link>
		<comments>http://www.prostructure.com/blog/2008/06/25/asp-and-aspnet-still-easy-targets-for-sql-injection/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 19:23:24 +0000</pubDate>
		<dc:creator>Irving Popovetsky</dc:creator>
				<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=8</guid>
		<description><![CDATA[Microsoft has released a security advisory (954462) warning users that automated SQL injection attacks against ASP and ASP.NET based sites are escalating.  Unlike about 5 years ago, most web developers I talk to today understand what SQL injection is and how to defend against it. The new automated attacks are mostly focused on Content Management [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has released a <a href="http://www.microsoft.com/technet/security/advisory/954462.mspx" target="_blank">security advisory (954462)</a> warning users that automated SQL injection attacks against ASP and ASP.NET based sites are escalating.  Unlike about 5 years ago, most web developers I talk to today understand what SQL injection is and how to defend against it.</p>
<p>The new automated attacks are mostly focused on Content Management System (CMS) functionality, in order to insert an IFRAME on your website pointing to a malicious site.  5 years ago we all talked about how SQL injection attacks would focus on stealing credit card numbers and personal information directly out of databases, or skipping password checks or adding administrative users.   I demonstrated that last one myself during a security engagement.   The attacks were jaw-dropping and scary, and we thought that everyone was on the way to getting it fixed.</p>
<p>If you find this XKCD comic funny, you&#8217;re halfway toward understanding exactly how dangerous SQL injection is:</p>
<p><a href="http://xkcd.com/327/" target="_blank"><img src="http://imgs.xkcd.com/comics/exploits_of_a_mom.png" alt="XKCD" width="666" height="160" /></a></p>
<p>So why are ASP and ASP.NET still such easy pickings?   I believe it&#8217;s due to two main reasons:</p>
<p>1.  <strong>ASP has THE WORST string validation functionality of any modern programming language used to create web applications today. </strong></p>
<p>Have you ever seen a successful, tight form validation routine written in ASP or VB?   It&#8217;s ugly, and easy to get wrong.    This is because there&#8217;s no regex (regular expression) library for performing string-fu,  a luxury that pretty much everyone else has.</p>
<p>5-6 years ago, smart developers realized this and quickly said &#8220;Hey, we need to filter this garbage before it ever gets to the app, by building ISAPI filters in C and C++&#8221;.   Some shops wrote their own, many adopted tools like Microsoft&#8217;s URLScan or Eye&#8217;s SecureIIS.   Problems were solved, as these ISAPI filters magically denied all sorts of nasty strings, and were totally worth the pain of implementation.</p>
<p><strong>2.  Microsoft left Windows 2003/IIS 6 users out in the cold</strong></p>
<p>Right around the time when Windows 2003 shipped, two things were happening.  First, people like myself were finding MAJOR functionality flaws in URLScan which Microsoft was basically refusing to fix, and telling users to wait for the next version.    Second, instead of actually shipping that next version, Microsoft proclaimed that IIS 6 had &#8220;URLScan technology&#8221; built in, and nobody needed URLscan anymore.  Too bad that whatever was actually included with IIS 6 was missing URLScan&#8217;s best functionality, including the malicious string denial functionality.  Thanks for that one, Microsoft.</p>
<p>So for about 5 years, the memory of URLScan faded, and everyone migrated to Windows 2003 and IIS 6.  Sure, IIS 6 is a lot more &#8220;secure by default&#8221;, but ASP shops weren&#8217;t being adequately protected from SQL injection attacks.    It wasn&#8217;t until THIS MONTH that <a href="http://learn.iis.net/page.aspx/473/using-urlscan/" target="_blank">Microsoft released URLScan 3.0 Beta</a> which finally supported IIS 6.   URLScan 3.0 Beta also supports IIS 7, which now has basic request filtering, but not as advanced as URLScan.   It is not too late to consider this tool.</p>
<p><strong>3.  Some ASP and ASP.NET shops are still running insecure code and using insecure coding practices</strong></p>
<p>Microsoft and various security firms have been preaching advice about <a href="http://msdn.microsoft.com/en-us/library/cc676512.aspx" target="_blank">how to</a> <a href="http://msdn.microsoft.com/en-us/library/aa224806.aspx" target="_blank">protect</a> <a href="http://msdn.microsoft.com/en-us/library/ms998271.aspx" target="_blank">against</a> <a href="http://forums.asp.net/t/1254125.aspx" target="_blank">SQL </a><a href="http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx" target="_blank">injection</a> <a href="http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx" target="_blank">attacks</a> for years now.  It is a lack of risk awareness and training that is allowing it to continue.   The argument that it is just too expensive for a business to fix these vulnerabilities doesn&#8217;t stand anymore, the attacks are too damaging.</p>
<h3>What can be done?</h3>
<p>The answer is simple.  You need to self-assess your applications, or find someone to perform the assessment for you.   Be careful, though, self-assessment has a huge risk, which is a golden rule of security:  The designer of a system is the least likely to see its flaws.   Fortunately, if you go this route there are plenty of free and intuitive tools to help you along the way.</p>
<p>HP has released a cool new tool called <a href="http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2008/06/23/finding-sql-injection-with-scrawlr.aspx" target="_blank">Scrawlr (free download)</a> that will walk your ASP/ASP.NET/MS SQL based website and search for basic SQL Injection vulnerabilities.   Unfortunately the tool does have some serious limitations  (doesn&#8217;t handle authentication, won&#8217;t check forms or anything involving a POST, and cannot perform blind SQL injection).   But it is a nicely packaged tool for finding the simplest vulnerabilities, the ones that the bad guys are hitting as well.</p>
<p>Fortunately, there are plenty of other free tools that perform Blind SQL injection (check google),  as well as <a href="http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project" target="_blank">WebScarab </a>and even the Firefox add-ons <a href="https://addons.mozilla.org/en-US/firefox/addon/966" target="_blank">TamperData </a>and <a href="https://addons.mozilla.org/en-US/firefox/addon/3899" target="_blank">Hackbar </a>to assist you in self-assessing your own site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2008/06/25/asp-and-aspnet-still-easy-targets-for-sql-injection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Heads Up!  Big vulnerabilities in Cisco PIX, VMware and Mac OSX</title>
		<link>http://www.prostructure.com/blog/2008/06/09/heads-up-big-vulnerabilities-in-cisco-pix-vmware-and-mac-osx/</link>
		<comments>http://www.prostructure.com/blog/2008/06/09/heads-up-big-vulnerabilities-in-cisco-pix-vmware-and-mac-osx/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:41:43 +0000</pubDate>
		<dc:creator>Irving Popovetsky</dc:creator>
				<category><![CDATA[Advisories]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[pix]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[vulnerabilities]]></category>

		<guid isPermaLink="false">http://www.prostructure.com/blog/?p=6</guid>
		<description><![CDATA[Last week, quite a few major vulnerabilities were discovered in some of our customer&#8217;s favorite products, namely: VMWare (all products, from ESX Server all the way down to VMware Player) Cisco PIX and ASA (versions 7.1, 7.2, 8.0 and 8.1) Mac OS X (Both Server and Client editions, 10.4 and 10.5 are affected) Quite a [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, quite a few major vulnerabilities were discovered in some of our customer&#8217;s favorite products, namely: <strong></strong></p>
<ul>
<li><strong>VMWare </strong>(all products, from ESX Server all the way down to VMware Player)</li>
<li><strong>Cisco PIX and ASA </strong>(versions 7.1, 7.2, 8.0 and 8.1)</li>
<li><strong>Mac OS X </strong>(Both Server and Client editions, 10.4 and 10.5 are affected)</li>
</ul>
<p>Quite a few of these vulnerabilities are remotely exploitable and especially dangerous on the PIX and unprotected OSX and VMware installations.   VMware also looks like it may have a  local &#8220;VM breakout&#8221; bug or two, watch out for these.   We strongly recommend getting these products updated as soon as possible.</p>
<p>For more information and relevant links, check out the <a title="US Cyber Security Bulletin SB08-161" href="http://www.us-cert.gov/cas/bulletins/SB08-161.html" target="_blank">US-CERT <span class="cas_alert_info">Cyber Security Bulletin SB08-161</span></a>.  Search for the product you&#8217;re running on this page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prostructure.com/blog/2008/06/09/heads-up-big-vulnerabilities-in-cisco-pix-vmware-and-mac-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->