<?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>Code Away &#187; security</title>
	<atom:link href="http://blog.spathare.com/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.spathare.com</link>
	<description>Software development, thoughts and rants (of course)</description>
	<lastBuildDate>Tue, 16 Feb 2010 11:33:28 +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>New payment policies, new loopholes</title>
		<link>http://blog.spathare.com/2010/02/new-payment-policies-new-loopholes/</link>
		<comments>http://blog.spathare.com/2010/02/new-payment-policies-new-loopholes/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 18:39:52 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mastercard]]></category>
		<category><![CDATA[RBI]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[visa]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=201</guid>
		<description><![CDATA[Last year around this time, I was shouting against the unsecure practices in credit card payments. A couple of friends had told me how &#8220;Mastercard SecureCode and VerfiedByVisa&#8221; are propping up to take care of this matter. Needless to say, its a pathetic experience as long as security is concerned. I could set my password [...]]]></description>
			<content:encoded><![CDATA[<p>Last year around this time, I was shouting against the <a href="/2009/01/insecure-payment-with-credit-cards/" target="_blank">unsecure practices in credit card payments</a>. A couple of friends had told me how &#8220;Mastercard SecureCode and VerfiedByVisa&#8221; are propping up to take care of this matter.</p>
<p>Needless to say, its a pathetic experience as long as security is concerned. I could set my password <em>during shopping </em>(one would expect logging into a bank or CC account on the bank site for such stuff) with very little information provided for my identification.</p>
<p>My wife has an add on card. She had no idea I had kept any password, and was able to reset and override my password while she was shopping. What a waste!</p>
<p>And around August, these stupid, stupid norms of SecureCode and VBV were mandated for all online payments in India, instead of asking the companies to build something secure rather than just building a database and calling it &#8220;securiteeee!&#8221;</p>
<p>Fortunately, I don&#8217;t have to rant much more. Ross Anderson has published an <a href="http://www.lightbluetouchpaper.org/2010/01/26/how-online-card-security-fails/" target="_blank">awesome research paper</a> on this mess that pretty much covers most if not all aspects of this pile of stink. Hope this will someday be read by RBI here in India</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2010/02/new-payment-policies-new-loopholes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two quick ways to secure wordpress</title>
		<link>http://blog.spathare.com/2009/02/two-quick-ways-to-secure-wordpress/</link>
		<comments>http://blog.spathare.com/2009/02/two-quick-ways-to-secure-wordpress/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 08:48:27 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[akismet]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[defensio]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=119</guid>
		<description><![CDATA[WordPress, with its five-minute install does a great job of simplifying use of web applications. It just falls short of providing good out-of-the-box security to the blog. Your blog, like your email or your Facebook profile, is your online identity. Yes, that&#8217;s why we have an authentication system, but sending plaintext passwords to the server [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress, with its five-minute install does a great job of simplifying use of web applications. It just falls short of providing good out-of-the-box security to the blog.</p>
<p>Your blog, like your email or your Facebook profile, is your online identity. Yes, that&#8217;s why we have an authentication system, but sending plaintext passwords to the server isn&#8217;t a great default setting. Well, going for a security certificate for something as basic as a blog will be too farfetched, but the nice <a href="/2008/06/http-login-for-websites/" target="_blank">CHAP protocol</a> is good enough for all our secure login needs. And it is available as a <a href="http://www.redsend.org/chapsecurelogin/" target="_blank">WordPress plugin</a> thanks to redsend.org. Yay!</p>
<p>So there you go. Not a single line of code written, and your wordpress login is secure, even when you go wireless. That wasn&#8217;t so hard!</p>
<p>The other security feature that we need is protection from comment spam. This is a more commonly known problem, as you can &#8220;see&#8221; your blog being misused, unlike in the situation explained above. There are a hell lot of spam protection plugins available. You can either go for a strong Captcha system like <a href="http://wordpress.org/extend/plugins/mycaptcha/" target="_blank">MyCaptcha</a>, or prefer to go easy on people kind enough to comment on your post and filter out spam automatically, using Akismet or Defensio. I <a href="/2008/12/yet-another-thanks-akismet-post/" target="_blank">prefer the latter method</a> and it has been pretty accurate till now.</p>
<p>That&#8217;s it. Your wordpress installation is secure from all the bad guys. Well, most of &#8216;em, anyway. There&#8217;s nothing like investing five more minutes after the five-minute install for a bit of security. Blog safe!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/02/two-quick-ways-to-secure-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On automated prefetch</title>
		<link>http://blog.spathare.com/2009/02/on-automated-prefetch/</link>
		<comments>http://blog.spathare.com/2009/02/on-automated-prefetch/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 09:07:26 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[accelerator]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[GET]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=86</guid>
		<description><![CDATA[Yesterday I happened to read a good bit of discussion which happened way back in 2005 on behavior of Google&#8217;s Web Accelerator and the trauma caused to websites. Although coming a little late to the party (3 years later), my post on Best Practices for GET and POST HTTP commands does answer some big questions [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I happened to read a <a href="http://www.37signals.com/svn/archives2/google_web_accelerator_hey_not_so_fast_an_alert_for_web_app_designers.php" target="_blank">good bit of discussion</a> which happened way back in 2005 on behavior of <a href="http://webaccelerator.google.com/" target="_blank">Google&#8217;s Web Accelerator</a> and the trauma caused to websites. Although coming a little late to the party (3 years later), my post on <a href="http://blog.spathare.com/2008/06/best-practices-for-using-http-get-and-post/" target="_blank">Best Practices for GET and POST HTTP</a> commands does answer some big questions which kept occurring in the discussion.</p>
<p>At first, a little introduction to the havoc wreaked by WebAccelerator: It sits with your browser, and &#8220;clicks&#8221; links intelligently on the page you have visited. This ensures that your next click opens the new page instantly. However, &#8220;intelligent&#8221; behavior started to trouble web applications where links happened to update/delete records in Admin Consoles.</p>
<p>Although the bigger question raised was regarding <a href="http://www.37signals.com/svn/archives2/gwa_shines_light_on_google_privacy_concerns.php" target="_blank">privacy concerns</a> (Google indexes pages prefetched by WebAccelerator, which includes pages unreachable by its crawlers), lets keep that out for a moment and revisit the issues faced by web developers. As Web Accelerator is no longer active, you may wonder why we need to recap history. The reason is, you never know what plugin the users of your app have installed on their browsers. Yesterday, it was Google. Tomorrow, it may be something smaller, having auto-installed with another package, and no one will have an idea that your pages are being prefetched.</p>
<p>As always, information websites with links sprinkled around do not need to bother about prefetch. Its the websites with user authentication required that mostly fell prey to this activity.</p>
<p>I&#8217;ve not tried GWA, and there are comments stating that GWA doesn&#8217;t do a lot of things which have been alleged. However, our work here is not to discuss merits of Web Accelerators and their conformance to standards. All we want to do is strengthen our own website. So lets take a look at some problems faced, and graceful solutions or workarounds opined.</p>
<p>1. <strong>&#8220;Logout&#8221; link prefetched once the user logged in:</strong> This threw the user out before he did any other activity. Quite irritating. The &#8220;Best Practices&#8221; supporters came out in strong defense of Google here. Why would developers keep Logout as a link (GET) and not a POST, they asked. Except that Logout is really an idempotent operation! A user can logout once or ten times, and it is always the same result, in almost all cases. Our little tweak to the Best Practices helps in deciding that POST is better for Logout.</p>
<blockquote><p>A safer deal is to have form method as GET when the application state does not change at all</p></blockquote>
<p>2. <strong>&#8220;Delete&#8221; links prefetched in Admin consoles: </strong>Well, this is pretty straightforward. You cannot have &#8220;Delete&#8221; as a GET operation. But here&#8217;s where we get out of utopia. In the real world, navigation and look and feel of the application is largely decided by the UI team, and the developer has little say in the matter. If the designers feel that links alongside 10 items feel &#8220;cool&#8221; and buttons don&#8217;t, well, you need to keep a link. The workaround here is to have <code>a href = "#"</code> and code a form submit on the <code>onclick</code> event of the link.</p>
<p>3. <strong>Links which involved heavy database operations</strong>: &#8230;and thus increased server load were prefetched. A way out here is to limit the number of &#8220;heavy&#8221; operations performed by a user per minute. This seems like a fair balance between a hack to redirect to 403 and a puritan approach of removing links altogether, making pages accessible only through Javascript or POST operations.</p>
<p>4. <strong>Links which retrieved data but also imposed exclusive locks on the data:</strong> The first user to come along could end up locking quite a bit of system data, thanks to prefetch operation. However, isn&#8217;t a lock on data change of application state? The change needn&#8217;t be in a database operation. Any change of state should require (scream) POST.</p>
<p>Well, that&#8217;s quite an interesting list of 4 points with repeated <em>gyaan</em> which has, no doubt, also been written  before by others. But, as long as reading this post helps at least one developer, I&#8217;m happy. Benefited developer, please post a comment so that I stay vindicated <img src='http://blog.spathare.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/02/on-automated-prefetch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Leave my security to me</title>
		<link>http://blog.spathare.com/2009/01/leave-my-security-to-me/</link>
		<comments>http://blog.spathare.com/2009/01/leave-my-security-to-me/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 08:59:14 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[pass phrase]]></category>
		<category><![CDATA[password]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=69</guid>
		<description><![CDATA[In a hurried attempt for &#8220;increased security&#8221;, portal developers are coming up with really wierd ways to ensure that users don&#8217;t keep simple passwords which can be broken with dictionary attack. For example, our very own State Bank of India, recommends (imposes) this: Password length should be greater than 8 and less than 20 characters [...]]]></description>
			<content:encoded><![CDATA[<p>In a hurried attempt for &#8220;increased security&#8221;, portal developers are coming up with really wierd ways to ensure that users don&#8217;t keep simple passwords which can be broken with dictionary attack. For example, our very own <a href="http://www.onlinesbi.com" target="_blank">State Bank of India</a>, recommends (imposes) this:</p>
<ul>
<li>Password length should be greater than 8 and less than 20 characters</li>
<li>Password should contain at least one digit [0-9], one alphabet [A-Z] [a-z] and one special character such as [@#&amp;*!]</li>
<li>Please avoid choosing a password that is generic in nature, guessable or inferable</li>
<li>Avoid password from your personal data such name, date of birth, address, telephone number and car number</li>
<li>It is good practice to commit your password to memory rather than to write it down somewhere</li>
</ul>
<p>Perfect. My generally-used password is 7 characters. So now I have to think of another word, which should have all of the above restrictions, and in addition, shouldn&#8217;t be written down anywhere! (As if recovering that password <a href="http://www.justascrap.com/2008/03/18/resetting-your-profile-password-in-onlinesbicom/" target="_blank">is just a snap</a>)</p>
<p>The problem with overly complicated passwords is this: There are simply too many good things in my life to remember, so in all probability, I am bound to forget this special-character-sprinkled alphanumeric password if I don&#8217;t use it within 10 days of its creation. As a result, I am going to be extra cautious and write it down somewhere, irrespective of what SBI recommends. And the moment I write it, my security is compromised.</p>
<p>As Jeff Atwood has <a href="http://www.codinghorror.com/blog/archives/000360.html" target="_blank">rightly pointed out</a>, having a pass phrase instead of a password increases the security in itself, without having to memorize garbled strings. This is because passphrases are far less likely to be broken with dictionary attacks.</p>
<blockquote><p>We have to encourage users to <strong>stop thinking of passwords as single words</strong>, and <a href="http://www.codinghorror.com/blog/archives/000342.html">start thinking of them as pass phrases.</a> The worst imaginable pass phrase (eg, &#8220;this is my secret password&#8221;) is many times more secure than an average single word password (eg, &#8220;god123&#8243;). And it&#8217;s easier to remember.*</p>
<p>As a developer, you need to do your part, too:</p>
<ol>
<li>Absolutely, positively <strong>make sure your applications support a password field length of at least 128 unicode characters</strong>.</li>
<li>In the user interface for defining the password, <strong>remind the user that password doesn&#8217;t literally mean a word</strong>. Give several examples of pass phrases directly alongside the entry field. It&#8217;s absolutely imperative that we educate the users&#8211; how else will they know there&#8217;s some other way to deal with that input box?</li>
</ol>
<p>The greatest long term security threat isn&#8217;t hackers. It&#8217;s the perpetuation of the braindead 8-16 character password length limitation, and the idea that passwords are single words.</p></blockquote>
<p>On a tangential note, if State Bank says &#8220;This is your account&#8221;, then I believe I&#8217;m supposed to understand that I own the account, and any problems in my account are a result of my clumsiness in protecting it (apart from a basic few things that the account provider should give, like encrypted password storage on server). So why am I not allowed to choose the password I&#8217;d prefer? I never heard of anyone selling a house with the clause that the buyer is supposed to use locks only from Company X.</p>
<p>Developers, please just concentrate on securing your server, and let the users decide how much security means for them. I might want to sign up for a jukebox website with the password &#8220;12&#8243;. So what? It&#8217;s just a jukebox, not some e-nuke. You want to encourage your users for better passwords? Have hints alongside password boxes, and provide password strength meters. Email them (say twice in a year) suggesting (and <em>not </em>imposing) password change if necessary. That&#8217;s good enough.</p>
<p>Give your users the freedom to decide for themselves.</p>
<p><strong>Update:</strong> <a href="http://www.flyyoufools.com/page/52/" target="_blank">The perfect comic</a> for this post</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/01/leave-my-security-to-me/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Javascript alert: Why block everything?</title>
		<link>http://blog.spathare.com/2009/01/javascript-alert-why-block-everything/</link>
		<comments>http://blog.spathare.com/2009/01/javascript-alert-why-block-everything/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 05:57:24 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[alert]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[modal]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=66</guid>
		<description><![CDATA[While posting about usability of alert, I was chatting with a friend who saw it not just as a minor nuisance, but a greater threat. Since alerts interfere in user activity in other tabs, we have a basic case of client side DoS, he said. After thinking about it, I&#8217;m inclined to agree. Older browsers [...]]]></description>
			<content:encoded><![CDATA[<p>While posting about usability of alert, I was chatting with a friend who saw it not just as a minor nuisance, but a greater threat. Since alerts interfere in user activity in other tabs, we have a basic case of client side DoS, he said.</p>
<p>After thinking about it, I&#8217;m inclined to agree.</p>
<p>Older browsers didn&#8217;t have this problem: they were not multi-tabbed. And window switching is certainly not disabled by any modal pop-ups.</p>
<p>Browsers evolved, tabs arrived. Today I have 15 tabs opened in my browser. And then say someone sends me a nicely obfuscated script which simplifies to this:</p>
<p><code>javascript:eval("for(i=0;i&lt;554;i++) alert(123)");</code></p>
<p>Works nicely in FireFox. Stops me from accessing other tabs altogether till I succumb to the pressure 554 times (and I might not even know the actual figure if its jumbled code)</p>
<p>And lets not forget that this error can be caused <em>without </em>malicious intent. Say some webpage gives out two or three alert messages in a loop, and the loop counter goes haywire because of a corner case which wasn&#8217;t tested. It still is a block on all activity in the browser, whether the user likes it or not.</p>
<p>I&#8217;m not saying this is some awesome loophole in browser security. But it certainly is more than an irritant if I&#8217;ve paid by credit card in another tab, and the site is waiting for me to perform the next step.</p>
<p>The graceful solution for this is to have dialog boxes modal with respect to <em>their own tab</em>. This satisfies all legacy requirements of an alert as well. Currently, browsers have just provided a knife to play with.</p>
<p><strong>Update: </strong>This problem has been <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=59314" target="_blank">reported in Mozilla as a bug</a>, verified as a FireFox DoS as early as November 2000.</p>
<blockquote><p>I think this is really a common problem for web-developers. I&#8217;ve fallen into this trap several times myself (accidentally created an infite loop around my debugging alert()). But instead of aborting all scripts, I&#8217;d like to have something similar to the &#8220;A script on this page is causing Mozilla to run slow&#8221; message with the option to abort the script.</p></blockquote>
<p>Another user writes:</p>
<blockquote><p>The page in the URL (don&#8217;t open it unless you know what you&#8217;re doing!) &#8220;locks&#8221; the user in an endless stream of JavaScript alerts. There is no way out; closing the popup just opens a new one; UI is unresponsive in *any* place except the popup; you can&#8217;t cancel the loading of the page (or do something like ESC to stop the script) since the UI is blocked by the popup. The perfect anti-Mozilla DoS.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/01/javascript-alert-why-block-everything/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>(In)secure payment with credit cards</title>
		<link>http://blog.spathare.com/2009/01/insecure-payment-with-credit-cards/</link>
		<comments>http://blog.spathare.com/2009/01/insecure-payment-with-credit-cards/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 10:49:32 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[credit card]]></category>
		<category><![CDATA[payment]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=52</guid>
		<description><![CDATA[&#8220;Use plastic money&#8221; is supposedly the advice floating around. Safe, secure, instant transactions &#8211; all marinated, cooked and ready to eat. Facilitates the banks, vendor and client. All in one. Fantastic. Yet, the security provided in CCs is pathetic. Let me start my rant with the &#8220;industry standard&#8221; security that ought to be provided for [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Use plastic money&#8221; is supposedly the advice floating around. Safe, secure, instant transactions &#8211; all marinated, cooked and ready to eat. Facilitates the banks, vendor and client. All in one. Fantastic.</p>
<p>Yet, the security provided in CCs is pathetic. Let me start my rant with the &#8220;industry standard&#8221; security that ought to be provided for anything that costs you money, be it Re. 1 or Rs. 1 lakh.</p>
<p>Say you have a bank account and password which serves as identity proof as well as payment proof. How does the bank verify that someone has not stolen your password from password.txt conveniently stored in your notebook?</p>
<p>So the <a href="/2008/09/icici-and-hdfc-netbanking-security-comparison/" mce_href="/2008/09/icici-and-hdfc-netbanking-security-comparison/" target="_blank">smart banks like ICICI</a> develop a system wherein you need to enter some randomly requested numbers which can be seen at the back of your bank debit card.</p>
<blockquote><p>The ICICI funds transfer requires you to login, then provide the transaction-specific password (2nd level of security) and in addition, some digits on the back of your debit card. This “some digits” security feature is really good, because the position of numbers requested changes for every transaction.</p>
<p>The security explained above is known as <a href="http://en.wikipedia.org/wiki/Two-factor_authentication" mce_href="http://en.wikipedia.org/wiki/Two-factor_authentication" target="_blank">Multifactor Authentication</a> (in this case, two-factor authentication).</p>
</blockquote>
<p>Compare this against the current security provided in case of Credit Cards. What is the &#8220;password&#8221; you use for online transactions? Its the CVV number which is printed on the back of the CC. So anyone who has stolen a CC effectively has access to all the information he ever needed to perform an online transaction. And while we&#8217;re at it, why think of only thieves? We don&#8217;t even know whether websites retain your credit card information in their database or not. A response from ICICI CC help: &#8220;No sir, they cannot retain your CVV number, because it comes in password field, right? It is not displayed on screen, and thus they can&#8217;t even store it if they wanted to!&#8221;</p>
<p>I nearly died laughing.</p>
<p>Okay, so the security issue is present only for online transactions? Not really. What happened last time you paid for dinner at the restaurant? You slipped the CC, the waiter was kind enough to swipe the card, get the Merchant Copy, Customer Copy, and bring it back to you after a good 5 minutes.</p>
<p>Did he verify the signature you made on the bill against the one on Credit Card? If not, then anyone who finds your card (or steals it) can go to a restaurant and sign as per his will. Will the credit card company pay the restaurant if they see that the signature is incorrect? Of course they will! I discussed this with ICICI bank. The fellow at their helpcenter stressed that it is the <b>duty of the vendor </b>to verify your signature against the one on the back of the card! Well, I&#8217;ve never come across any such vendor in my four years with CCs.</p>
<p>Lets go back to the restaurant scenario. The waiter came back after quite a while. It takes around 10 seconds to note all the information on your CC onto a piece of paper. How do you know the waiter didn&#8217;t do it? Of course, if he performs any transaction with this information, he can be easily tracked, innit? Oh, but what if he sits in an internet cafe and pays to some shady porn site hosted in South East Asia? Transaction is over, bank has paid them in a few hours and only you stand to be the loser.</p>
<p>So, if CC security is really this screwed up, shouldn&#8217;t there be a <a href="http://en.wikipedia.org/wiki/Credit_card_fraud" mce_href="http://en.wikipedia.org/wiki/Credit_card_fraud" target="_blank">lot of fraud already happening</a> around here?</p>
<blockquote><p>The cost of credit card fraud reaches into billions of dollars annually. In 2006, fraud in the <a title="United Kingdom" href="http://en.wikipedia.org/wiki/United_Kingdom" mce_href="http://en.wikipedia.org/wiki/United_Kingdom">United Kingdom</a> alone was estimated at £428 million,<sup id="cite_ref-0" class="reference"><a href="http://en.wikipedia.org/wiki/Credit_card_fraud#cite_note-0" mce_href="http://en.wikipedia.org/wiki/Credit_card_fraud#cite_note-0"></a></sup> or US$750-830 million at prevailing 2006 exchange rates.</p>
</blockquote>
<p>After all this, you&#8217;d think that some CC provider would want to pep up security measures. Na-aa! In fact, if you try booking any flight via telephone today, the executive at the other end happily notes down all the information required, <a href="http://www.mouthshut.com/diary/1590/Disclosing-CVVto-CC-executives-of-travel-sites" mce_href="http://www.mouthshut.com/diary/1590/Disclosing-CVVto-CC-executives-of-travel-sites" target="_blank">including your CVV number</a>. This, according to banks, is wrong. Yet, I don&#8217;t see any action against this practice.</p>
<p>All in all, credit cards are hardly secure. What can we do in this case? Well there are a few basic measures for us</p>
<ul>
<li>Wherever you pay by credit card, ensure the credit card is never out of your sight.</li>
<li>Never pay by credit card on phone.</li>
<li>Write more about this on your blogs, spread the message <img src='http://blog.spathare.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Protect your wallet like crazy. If there&#8217;s hundred bucks, you would lose just hundred bucks. With cards, you lose a lot more than what you&#8217;d like to carry around with you</li>
<li>Have emergency bank numbers in your phone, pocket, wadrobe, just about everywhere. In case of theft, don&#8217;t lose any time in contacting the bank.</li>
</ul>
<p>Well, it would all be easier if credit card companies followed some more security measures. CC 2.0?</p>
<ul>
<li>Have some passwords or PIN numbers for us please!</li>
<li>Have payment gateways for telephone payments. Use automated systems for users to press CC number and PIN from their telephone. Prevent human interaction.</li>
<li>Stop printing the CVV on the card. Its not a secret if its on the card! Everyone knows where to find it!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2009/01/insecure-payment-with-credit-cards/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>ICICI and HDFC netbanking: Security Comparison</title>
		<link>http://blog.spathare.com/2008/09/icici-and-hdfc-netbanking-security-comparison/</link>
		<comments>http://blog.spathare.com/2008/09/icici-and-hdfc-netbanking-security-comparison/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 15:25:21 +0000</pubDate>
		<dc:creator>Swapnil Pathare</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[banking]]></category>
		<category><![CDATA[hdfc]]></category>
		<category><![CDATA[icici]]></category>
		<category><![CDATA[portal]]></category>

		<guid isPermaLink="false">http://blog.spathare.com/?p=33</guid>
		<description><![CDATA[The other day, Chirag directed me to this woik comparing the usability and features provided by ICICI bank and HDFC bank. Although I do not agree to the post in its entirety, my main choice for a savings account remains ICICI bank, primarily due to security reasons. ICICI bank&#8217;s website ensures security in several significant [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, Chirag directed me to <a href="http://woikr.com/reviews/icici-hdfc-netbanking-services-a-review-and-comparison/" target="_blank">this woik</a> comparing the usability and features provided by ICICI bank and HDFC bank. Although I do not agree to the post in its entirety, my main choice for a savings account remains ICICI bank, primarily due to security reasons.</p>
<p>ICICI bank&#8217;s website ensures security in several significant areas, where HDFC bank&#8217;s portal lags behind with a simple username-password authentication which although necessary, is not sufficient in my opinion. To justify my stand, I&#8217;ll run you through some simple scenarios.</p>
<h2>Login</h2>
<p>We&#8217;ll start with a simple one: You are out of town/not on computer/far from any ATM or branch. You need your friend to check up your bank balance. Now, ICICI bank <strong>has got 2 passwords.</strong> One for logging in and checking the account status and the other for performing any transaction through the account. Thus you can conveniently provide the login credentials to your friend and get details from him without letting him make any mischief through your account.</p>
<p>The multi-password scenario also means that anyone wanting to get into your account and siphon your savings requires more than just the initial login-password combination. We&#8217;ll get back to that shortly.</p>
<h2>Payments</h2>
<p>So lets move on to payments. Assume you are making a funds transfer to someone&#8217;s account. Your <em>friend </em>is sitting right beside you the whole time, probably having an eye on the keyboard.</p>
<p>The ICICI funds transfer requires you to login, then provide the transaction-specific password (2nd level of security) and in addition, some digits on the back of your debit card. This &#8220;some digits&#8221; security feature is really good, because the position of numbers requested changes for every transaction.</p>
<p>The security explained above is known as <a href="http://en.wikipedia.org/wiki/Two-factor_authentication" target="_blank">Multifactor Authentication</a> (in this case, two-factor authentication). This means that the transaction can be completed only if the user inputs something</p>
<ul>
<li>He knows (passwords), and</li>
<li>He has (digits on rear side of debit card)</li>
</ul>
<p>Although one may argue that all this information can be retrieved easily by holding the account owner at gunpoint, the security for transaction against &#8220;stolen&#8221; information is increased considerably.</p>
<h2>Add Payee</h2>
<p>Again, lets assume that someone has been able to sneak into your account, and probably believes that your account deserves a few lakh rupees less. The only way to transfer funds into another account in ICICI is by the following process</p>
<ol>
<li>Add a new &#8220;Payee&#8221;</li>
<li>Receive a notification about the new payee on your cell phone along with a confirmation code</li>
<li>Enter confirmation code on the website</li>
<li>Confirm payee</li>
<li>Transfer funds</li>
<li>Enter password and digits behind debit card for transaction authentication</li>
</ol>
<p>The fun part here is point #2. No one can confirm a payee without having <strong>direct access to your mobile phone</strong>. In case the attacker attempts to change the mobile number associated with the host&#8217;s account, <strong>no new payee can be confirmed</strong> for the next 36 hours through the new mobile number. To confirm the payee anyway, one needs to call the customer care and provide them with full details, answer their verification questions and only then have the payee confirmed.</p>
<p>In all the three scenarios mentioned above, ICICI strives for the security of user accounts while all that HDFC does is rely on the same old single user-password authentication.</p>
<h2>System Security: Verdict</h2>
<p>ICICI Bank : 4 / 5</p>
<p>HDFC Bank : 2 / 5 (well atleast the username-password is present <img src='http://blog.spathare.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<p><strong>Update:</strong> While creating this post, chat with a friend brought up some interesting points in favor of HDFC bank</p>
<ul>
<li>Adding a beneficiary account through HDFC (equivalent to Payee account in ICICI) website takes 24 hours. You get an sms from HDFC Bank mentioning the &#8220;Add Beneficiary&#8221; action, in which case you can remove that account. This can be done with phone banking.</li>
<li>Even if someone wants to change your mobile number, you will get a confirmation sms in which case you can notify bank immediately. You probably need to fill a form to activate mobile service and it can&#8217;t be altered online.</li>
</ul>
<p>Although the points do bring up the security rating of HDFC bank to 2.5/5, it still so happens that HDFC bank survives in many situations by being a semi-automated system wherein half the stuff is done by submitting applications to banks (mobile number change, enabling third-party transfer, etc). ICICI bank manages to host their complete system online, yet achieves a fine balance in terms of security.</p>
<p><em>Thanks to Nishi and Visky for info and tweaks to the post</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spathare.com/2008/09/icici-and-hdfc-netbanking-security-comparison/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
