<?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>PannonRex &#187; Security</title>
	<atom:link href="http://www.pannonrex.com/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pannonrex.com</link>
	<description>Solutions that Work</description>
	<lastBuildDate>Sun, 07 Mar 2010 01:45:38 +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>Google Chrome: the Google OS</title>
		<link>http://www.pannonrex.com/2008/09/02/google-chrome-the-google-os/</link>
		<comments>http://www.pannonrex.com/2008/09/02/google-chrome-the-google-os/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 16:16:10 +0000</pubDate>
		<dc:creator>piprog</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Web Toolkit]]></category>
		<category><![CDATA[Morfik]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Vision]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[WebOS]]></category>

		<guid isPermaLink="false">http://www.pannonrex.com/?p=99</guid>
		<description><![CDATA[The web is abuzz today with Google&#8217;s entrance to the web browser war-field with its shiny new Chrome beta. You&#8217;ll find plenty of coverage elsewhere (Google&#8217;s blog is here, the comic strip (more about it later) starts here), I&#8217;d only like to focus on one conspiracy theory aspect: the first version of Google OS. First [...]]]></description>
			<content:encoded><![CDATA[<p>The web is abuzz today with Google&#8217;s entrance to the web browser war-field with its shiny new Chrome beta. You&#8217;ll find <a href="http://gizmodo.com/5044032/chrome-googles-open-source-browser" target="_blank">plenty</a> of coverage <a href="http://www.theregister.co.uk/2008/09/02/google_browser/" target="_blank">elsewhere</a> (Google&#8217;s blog is <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html" target="_blank">here</a>, the comic strip (more about it later) starts <a href="http://www.google.com/googlebooks/chrome/#" target="_blank">here</a>), I&#8217;d only like to focus on one conspiracy theory aspect: the first version of Google OS.</p>
<p>First of all, do read the <a href="http://www.google.com/googlebooks/chrome/#" target="_blank">comic strip</a> by Scott McCloud and the Chrome Team. It is in itself a piece of marketing art and although its primary intended audience may be journalists and less technical people, it is a statement of how serious  Google is about Chrome and full of hints for conspiracy theorists among us.</p>
<p>So some of my first thoughts will follow&#8230;</p>
<p><span id="more-99"></span></p>
<h2 id="toc-os-within-the-os">OS-within-the-OS</h2>
<p>Chrome will be the OS-within-the-OS for Google: most productivity and line-of-business applications can now be successfully turned into web applications. Arguably more and more of them are better in ease of use than the original apps, due to the richness of the platform and due to being re-engineered from scratch (UI wise) with many usability lessons learned since.</p>
<p>The big issue is compatibility. There are at least four major players now: IE, Firefox, Safari, and Opera (plus the mobile editions), and their abilities are spread on a wide spectrum, to say the least. The unquestioned market share leader (IE) is trailing behind in almost all important areas (like performance, usability, standards conformance) and there are subtle but important differences among the others. This makes web application development very costly and time consuming. Even with frameworks like DOJO, Prototype and tools like GWT and Morfik you will encounter compatibility issues and missing functionality (e.g. lack of a consistent graphics layer, like SVG or Canvas).</p>
<p>If we had a browser that</p>
<ul>
<li>has #1 market share,</li>
<li>is consistent among all the major operating systems (Windows, Mac OS X, Linux) and mobile OSes like Android and iPhone OS X (probably Symbian and Windows Mobile, but I would not hold my breath for those),</li>
<li>is performant, secure and robust,</li>
<li>and has some additional features like support for off-line operation, a strong graphics layer (for graphs and graphical apps), sandboxed native filesystem access, support for push technology (like COMET), drag &amp; drop desktop integration, and a mature, efficient and familiar development platform (e.g. Eclipse/Java/GWT),</li>
</ul>
<p>then most applications can be implemented on this platform regardless of the underlying native operating system.</p>
<p>Just think for a second when you used Microsoft Word the last time: I used to be in-and-out all the day, but recently it happens that I don&#8217;t open Word for weeks, and then only to edit a &#8220;legacy&#8221; document that originated from the &#8220;old era&#8221;. Most of my new documents are emails, Google Docs, or some other on-line properties (god, what that does to privacy, though, so <em>don&#8217;t</em> put all your documents on-line!).</p>
<h2 id="toc-technology-tie-ins">Technology tie-ins</h2>
<p>There will be technology tie-ins all over the place. Although Google is a huge animal and its projects are only loosely coupled (waving off the monopoly power arguments), saying that the Chrome team accidentally asked the Android team about WebKit love is amusing.</p>
<p>Gears integration is only for starters. I expect that GWT and Chrome will be &#8220;optimized together&#8221; pretty soon. Google Docs, Maps, etc. will gain in performance, stability and functionality if run on Chrome.</p>
<p>Then the primary business of Google is ads: now it will be able to collect even more information about us (although since gMail and Desktop Search they already have <em>some</em> data on you ;-).</p>
<p>BTW I wonder when Desktop Search will be integrated into Chrome&#8230;</p>
<h2 id="toc-head-start">Head start</h2>
<p>Chrome may have a head start over all other browsers.</p>
<p>Current generation Firefox, Safari and Opera are pretty level on performance (relative to lackluster IE) and at least Firefox and Safari are engaged in further speeding up JavaScript with adding virtual machines similar to Chrome&#8217;s V8 (on paper); they are also keen to match each other in standards compliance and usability, but while Chrome addresses all these issues, it also brings a new architecture to the table with the promise of marked enhancement in security, memory performance and robustness, plus the native integration of Gears.</p>
<p>The others will have to play catch-up. And Google has the resources to compete &#8212; it is single-handedly financing Firefox at the moment.</p>
<h2 id="toc-market-share">Market share</h2>
<p>In order to be successful, Chrome will have to establish market share.</p>
<p>In the consumer space all the good virtues (speed, stability, security) will play well, together with the hippie word of mouth marketing of comic strips and oh-so-accidentally-released-a-bit-ahead-of-time trickery.</p>
<p>The much harder nut is the corporate market. It takes years for corporate IS departments to certify products for use. Here being OSS will help (the corporate world is getting into love with OSS), but the primary message can be security: if Google can deliver on its promise of security (both process separation and malware filters), it will be salvation to IS departments fighting with the dilemma of supporting more and more intranet/extranet web applications and weak security of the very same applications.</p>
<p>Being a consistent web application platform on all important OSes will also come handy &#8211; it makes corporate web app development much simpler.</p>
<p>Google will definitely push Chrome with subliminal tactics (e.g. &#8220;off-line mode and advanced features of our web apps working best with Chrome&#8221; splashes).</p>
<p>Still, it will be a hard sell &#8212; they&#8217;ll need some killer apps to get rolling.</p>
<h2 id="toc-missing-bits">Missing bits</h2>
<p>I&#8217;m also missing a few things, the most prominent being additional web application security.</p>
<p>Chrome is a rich client platform, and rich clients run most of their code on, well, the client. This used to be the case with traditional apps, but those were compiled to binary, so poking around required some skills. Now Web 2.0 rich clients are generally made of JavaScript, which is quite readable and even can be changed on the run, making attacks against the code much easier than before.</p>
<p>Of course tools like GWT or Morfik will scramble and optimize the client code making it not a pleasure to read, but it is still the source code of the app that is downloaded and run in the browser. So it would be fine if some kind of run-time protection would be in place to prevent code morphing and allow code verification. The fact that each tab runs in its own process is promising, though.</p>
<p>Phew! So here are my first impressions &#8212; what if I stared thinking about this :-) Now it&#8217;s your turn!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pannonrex.com/2008/09/02/google-chrome-the-google-os/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Secure coding put to the test</title>
		<link>http://www.pannonrex.com/2007/03/29/secure-coding-put-to-the-test/</link>
		<comments>http://www.pannonrex.com/2007/03/29/secure-coding-put-to-the-test/#comments</comments>
		<pubDate>Thu, 29 Mar 2007 18:00:54 +0000</pubDate>
		<dc:creator>piprog</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.pannonrex.com/blog/?p=62</guid>
		<description><![CDATA[Web application security is a critical issue as more and more businesses deploy mission critical systems containing privileged information. Still average developer awareness of fundamental good practices in coding securely is lacking. Now a consortium of organizations has an initiative to turn the tide and acknowledge the developers who are aware of secure-coding practices and [...]]]></description>
			<content:encoded><![CDATA[<p>Web application security is a critical issue as more and more businesses deploy mission critical systems containing privileged information. Still average developer awareness of fundamental good practices in coding securely is lacking. Now a consortium of organizations has an initiative to turn the tide and acknowledge the developers who are aware of secure-coding practices and spread the knowledge.</p>
<p>The <a href="http://sans-ssi.org/" target="_blank">SANS Institute</a> has all the details about the <a href="http://www.sans-ssi.org/" target="_blank">Secure Programming Skill Assessment (SPSA)</a> program, including sample reports, exam blueprints, and free practice tests for different language/platform areas (C/C++, Java/J2EE, .NET/ASP, PHP/PERL, etc.). One should not shy away from looking inside: they speak about the fundamentals of secure programming in a very accessible way (identifying the three most common programming errors as not validating and sanitizing user input, buffer overflow, and handling integers incorrectly).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pannonrex.com/2007/03/29/secure-coding-put-to-the-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chat example full of Morfik insight</title>
		<link>http://www.pannonrex.com/2007/02/07/chat-example-full-of-morfik-insight/</link>
		<comments>http://www.pannonrex.com/2007/02/07/chat-example-full-of-morfik-insight/#comments</comments>
		<pubDate>Tue, 06 Feb 2007 23:29:57 +0000</pubDate>
		<dc:creator>piprog</dc:creator>
				<category><![CDATA[Chat]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Morfik]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.pannonrex.com/blog/?p=45</guid>
		<description><![CDATA[Yours truly has done it again! Instead of finally getting to writing about Analog Clock I created another Morfik Labs sample application, a simple chat thingy. You can take a look at the application here and download the source code in the Morfik Labs. Telling the truth, I created the original chat app almost a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pannonrex.com/blog/wp-content/uploads/2007/02/labs_mfkchat.jpg" title="Chat example"><img src="http://www.pannonrex.com/blog/wp-content/uploads/2007/02/labs_mfkchat.jpg" title="Chat example" alt="Chat example" align="left" /></a>Yours truly has done it again! Instead of finally getting to writing about Analog Clock I created another Morfik Labs sample application, a simple chat thingy.</p>
<p>You can take a look at the application <a href="http://chat.labs.morfik.com/" target="_blank" title="Chat in Morfik Labs">here</a> and download the source code in the <a href="http://www.morfik.com/mChat.zip?cls=Blob&amp;ds=tblXApps&amp;cn=Xappfiles&amp;kn=MFK%24GUID&amp;kv=1A05C43D34B4-B4D4-7A1B-55C5D72999F4" title="Chat code in the Morfik Labs" target="_blank">Morfik Labs</a>.</p>
<p>Telling the truth, I created the original chat app almost a year ago (February, 2006) and now due to interest in the Morfik forums I dusted it off and updated to the latest version of Morfik WebOS AppsBuilder (0.9.16.1). I thought originally it would be a two-three hours exercise, and man I was wrong! It took me two days to tidy up a few hundred lines of code :-) The reason was that the original version used subforms for displaying the messages, but that was tooo sloooow, so I decided to wander a little bit into the wonderland of DOM programming.</p>
<p>So some details (shamelessly copied form the readme.txt): the Basic Chat example application is the innermost prototypical core of a chat engine and still it can provide some insight into areas of Morfik programming. A few examples:</p>
<p>- using web methods<br />
- using inline JavaScript functions with parameters<br />
- using critical sections in server logic to accommodate concurrency<br />
- using in-memory caching on the server (the chat session is stored in server memory)<br />
- using visual effects for highlighting UI changes<br />
- no security measures: a very good example for many types of web application security attacks, especially injections :-)</p>
<p>PLEASE NOTE: this version of the chat engine is NOT secured, there are gaping holes and can be mistreated quite easily, so DO NOT use it for production purposes. It is very basic as well, you cannot set up chat rooms, or schedule events, authenticate users, there is no smiley handling, there are no application specific extensions, etc. Please also note that at the moment there are some open issues related to resource consumption in the Morfik framework that do affect the performance of the chat app. It has not been overly optimized either so substantial performance improvements can still be achieved.</p>
<p>If you need a production quality, secure chat engine, please contact me ;-).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pannonrex.com/2007/02/07/chat-example-full-of-morfik-insight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACAP: A way to make AJAX search-friendly?</title>
		<link>http://www.pannonrex.com/2006/11/15/acap-a-way-to-make-ajax-search-friendly/</link>
		<comments>http://www.pannonrex.com/2006/11/15/acap-a-way-to-make-ajax-search-friendly/#comments</comments>
		<pubDate>Wed, 15 Nov 2006 11:13:48 +0000</pubDate>
		<dc:creator>piprog</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Backbase]]></category>
		<category><![CDATA[Google Web Toolkit]]></category>
		<category><![CDATA[Morfik]]></category>
		<category><![CDATA[OpenLaszlo]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.pannonrex.com/blog/?p=35</guid>
		<description><![CDATA[Google Search and other similar crawlers have a difficult time with AJAX applications: they were tuned for full-page-load style traditional web content and don&#8217;t adapt well for single-page web applications, where many times there are no well identified URLs for different content and getting to content in the first place is trickier than following a [...]]]></description>
			<content:encoded><![CDATA[<p>Google Search and other similar crawlers have a difficult time with AJAX applications: they were tuned for full-page-load style traditional web content and don&#8217;t adapt well for single-page web applications, where many times there are no well identified URLs for different content and getting to content in the first place is trickier than following a few links (did I mention Flash-based apps?). And still, for most of these sites getting into searches (i.e. exposure) is essential.</p>
<p>ACAP (Automated Content Access Protocol) is a new initiative from the international publishing community to turn the challenges facing the industry from web technologies (especially search) into opportunities in a win-win way, and as a side effect can help Web Applications out, too.</p>
<p><span id="more-35"></span></p>
<p><strong>First a summary of the publishing angle.</strong></p>
<p>Right now major search engines (especially Google) are crawling (retrieving), indexing and storing web content without being aware of the special needs of publishers. This leads to well documented cases when Google faces charges of massive copyright infringement for its activities. In some special cases Google stores a copy of content publicly available on the net, and later when the publisher changes its policy about a particular piece of content (going from public to a fee or membership based structure) the content is still present in the search results of Google and can be retrieved from it.</p>
<p>It must be underlined that Google (or other search engines) cannot be faulted (at least morally) for doing this since they are indexing millions of web sites automatically and it is impractical to implement special cases for certain specific sites at this scale. On the other hand, publishers do have their moral and legal rights to protect their intellectual property.</p>
<p>A special twist of the situation is that for publishers it is indeed important to be indexed: this helps them to generate major exposure for their content.</p>
<p>This creates a challenging case that seems to be a loose-loose situation: either search engines are constantly sued for copyright infringement (where they can fight back with fair use, etc.), or publishers instruct the search engines not to index their content at all (e.g. with robots.txt) that means lost exposure and thus lost revenue.</p>
<p>An important element of the case is that both parties want to cooperate so if there were a technical means of communicating the intentions/requirements of publishers, it could be converted into a win-win opportunity.</p>
<p>That&#8217;s where ACAP comes into the picture. The publishing community has decided to establish a standard way of communicating permissions information, that can be automatically adhered to by the search engine crawler.</p>
<p>Technically it is a challenge to implement such a solution. Although there are a handful of major search engines, there are literally millions of publications on the web that are created and maintained with a lot of different tools in varying structures. Thus such a solution has to be established that can integrate well with all these various platforms and technologies.</p>
<p>In a well designed solution search engines would be able to index even copyrighted material and during a web user search session return only contextual excerpts with proper attribution and in case of non-free content even pointers to how to access the full content, thus creating an invaluable means of dissemination of such content. This could be augmented with publisher-provided taxonomy and auxiliary information that would help the crawler to set the Page rank (or similar) of the particular material.</p>
<p><strong>Now how can this be utilized for Web Applications?</strong></p>
<p>Of special interest is the upcoming Web 2.0 and web application technologies that make it very difficult for crawlers to index content properly. ACAP could be extended in a way to solve this issue so that search engines would benefit from an easier to crawl content with better signal-to-noise ratio and publishers would be able to have fine-tuned search results.</p>
<p>A trivial way of making AJAX apps search-friendly is to fundamentally prohibit indexing the AJAX application itself and direct the crawler to an (otherwise &#8220;inaccessible&#8221;) area of the site where all the information that the content owner wants to be indexed is available in a search friendly form. An interesting twist is to use such an URL scheme, that when the web server detects that the incoming request is not a crawler, then it redirects the request (based on the URL) into the AJAX application.</p>
<p>This way crawlers would only receive content that is really valuable, they would be more effective with less effort and search results would improve significantly. Content owners would be able to make their AJAX sites searchable the way they like it.</p>
<p>Combined with ACAP (for IP protection) and with the probable extension of the protocol to include &#8220;nice permalinks&#8221; in the searchable content into the AJAX site this may be a good solution for search in the Web 2.0 era.</p>
<p>Would be a <em>way cool</em> project to work on the specification/implementation&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pannonrex.com/2006/11/15/acap-a-way-to-make-ajax-search-friendly/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Morfik security: Browser cache</title>
		<link>http://www.pannonrex.com/2006/02/09/morfik-security-browser-cache/</link>
		<comments>http://www.pannonrex.com/2006/02/09/morfik-security-browser-cache/#comments</comments>
		<pubDate>Thu, 09 Feb 2006 16:05:15 +0000</pubDate>
		<dc:creator>piprog</dc:creator>
				<category><![CDATA[Morfik]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.pannonrex.com/blog/?p=5</guid>
		<description><![CDATA[James Smith writes: &#8220;An additional point is that the right no-cache settings have to be identified for each browser (IE, Moz, Opera), so sensitive rendered data is not leaked through the browser cache to your local drive. Another issue I&#8217;d like to be fully versed on.&#8221; I have to totally agree. One interesting question is [...]]]></description>
			<content:encoded><![CDATA[<p>James Smith writes:</p>
<blockquote><p>&#8220;An additional point is that the right no-cache settings have to be identified for each browser (IE, Moz, Opera), so sensitive rendered data is not leaked through the browser cache to your local drive. Another issue I&#8217;d like to be fully versed on.&#8221;</p></blockquote>
<p>I have to totally agree. One interesting question is how AJAX affects the picture. Do those asychronous requests get cached as well?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pannonrex.com/2006/02/09/morfik-security-browser-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
