<?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>TrueJournals &#187; security</title>
	<atom:link href="http://truejournals.com/tags/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://truejournals.com</link>
	<description>And the unimaginative tagline</description>
	<lastBuildDate>Sat, 21 Aug 2010 04:46:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>cca-bypass 0.5</title>
		<link>http://truejournals.com/2009/12/04/cca-bypass-0-5/</link>
		<comments>http://truejournals.com/2009/12/04/cca-bypass-0-5/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 03:55:53 +0000</pubDate>
		<dc:creator>TrueJournals</dc:creator>
				<category><![CDATA[realbasic]]></category>
		<category><![CDATA[cca]]></category>
		<category><![CDATA[cca-bypass]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://truejournals.com/?p=136</guid>
		<description><![CDATA[Now this is what I call rapid development!  One day of coding, and I have a new and much improved version of cca-bypass.  This version still has two binaries, but it has my own sec_cloak_apply, instead of sec_cloak.  Basically, sec_cloak_apply allows me to do some additional things with the code, backing up the registry values, [...]]]></description>
			<content:encoded><![CDATA[<p>Now this is what I call rapid development!  One day of coding, and I have a new and much improved version of cca-bypass.  This version still has two binaries, but it has my own sec_cloak_apply, instead of sec_cloak.  Basically, sec_cloak_apply allows me to do some additional things with the code, backing up the registry values, and allowing you to restore them later.  This could come in handy.</p>
<p>Other than that, the big improvement is the addition of a progress bar, and making the login process asynchronous.  This means that there&#8217;ll be a nice little progress bar to show you how far along in the login process the task is.  Note that it takes a second after you click &#8220;Login&#8221; for the task to start running.</p>
<p>Finally, there is a LOT more error checking in the Login process, so all errors should now be in plain English.  If you DO encounter an error, and you think you shouldn&#8217;t have, please let me know, and I&#8217;ll do my best to fix it.  I can&#8217;t test every situation!  Anyway, on to the download links for version 0.5:</p>
<p>Pre-compiled binary: <a title="cca-bypass binary" href="http://truejournals.com/downloads/cca-bypass-0.5-binary.zip">cca-bypass-0.5-binary.zip</a> (2.39 MB)</p>
<p>Source: <a title="cca-bypass source" href="http://truejournals.com/downloads/cca-bypass-0.5-os.zip">cca-bypass-0.5-os.zip</a> (38 KB)</p>
<p>Note: I&#8217;m still considering this beta because I haven&#8217;t been able to thoroughly test it.  It should be pretty, stable, though, so don&#8217;t be afraid of the &#8220;beta&#8221;!</p>
]]></content:encoded>
			<wfw:commentRss>http://truejournals.com/2009/12/04/cca-bypass-0-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing Password Every x Days</title>
		<link>http://truejournals.com/2009/06/13/changing-password-every-x-days/</link>
		<comments>http://truejournals.com/2009/06/13/changing-password-every-x-days/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 05:20:15 +0000</pubDate>
		<dc:creator>TrueJournals</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://truejournals.com/?p=105</guid>
		<description><![CDATA[This will be the second in my series of security topics from a non-security expert, I suppose.  I just calls &#8216;em hows I sees &#8216;em. As you may or may not know, I will be attending Valparaiso University this Fall as a Freshman.  When I attended Valparaiso&#8217;s Freshman orientation program, they taught us a lot [...]]]></description>
			<content:encoded><![CDATA[<p>This will be the second in my series of security topics from a non-security expert, I suppose.  I just calls &#8216;em hows I sees &#8216;em.</p>
<p>As you may or may not know, I will be attending Valparaiso University this Fall as a Freshman.  When I attended Valparaiso&#8217;s Freshman orientation program, they taught us a lot about their online systems.  One thing I learned was that I will need to change my password every 185 days, and when I change it, it can&#8217;t be similar to whatever I had last time.  The idea here is that this will be more secure, because hackers will never know your password for an extended period.  However, I see a problem with this.</p>
<p>Forcing me to change my password to something completely different means forcing me to memorize a new password, something completely different, too.  Now, personally, I don&#8217;t think this will be much of a problem, because I&#8217;m pretty good at memorizing things.  However, if you aren&#8217;t that good at memorizing, this could cause a big problem: the urge to write down your password.  As anyone could tell you, writing down a password immediately creates a security risk, because anyone could see it written on a piece of paper, or take the paper, etc.  The safest place for a password is in your brain, and in your brain only.</p>
<p>So, is forcing users to change their password <strong>really</strong> more secure?  For some people, I think it will help, but I think it&#8217;s a practice that could only hurt others.  A better idea would be to enforce good password practice: have users create a nice, good length, password, containing at least one letter, number, capital letter, and special character.  Want to go for more security?  Force it to start and end with a letter.  Don&#8217;t just let the user tack an exclaimation mark on an otherwise easy-to-guess password.</p>
<p>Overall, I don&#8217;t think there will ever be a formula for password security.  There is no one end-all be-all tip I can give for keeping your password away from hackers.  Perhaps forcing people to change their password every x days really does help security.  But, I&#8217;d like to see some concrete proof of this before I believe it.</p>
]]></content:encoded>
			<wfw:commentRss>http://truejournals.com/2009/06/13/changing-password-every-x-days/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comcast&#8217;s Caller ID</title>
		<link>http://truejournals.com/2009/05/23/comcasts-caller-id/</link>
		<comments>http://truejournals.com/2009/05/23/comcasts-caller-id/#comments</comments>
		<pubDate>Sat, 23 May 2009 22:22:38 +0000</pubDate>
		<dc:creator>TrueJournals</dc:creator>
				<category><![CDATA[thoughts]]></category>
		<category><![CDATA[brainstorm]]></category>
		<category><![CDATA[caller id]]></category>
		<category><![CDATA[comcast]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://truejournals.com/?p=83</guid>
		<description><![CDATA[Comcast has recently added a new feature to their digital voice service: caller ID anywhere.  Simply download a program on your computer, enter your comcast.net username and password, and you&#8217;ll get a small alert any time you get a call.  The same system allows comcast to show caller ID alerts on your TV. So, how [...]]]></description>
			<content:encoded><![CDATA[<p>Comcast has recently added a new feature to their digital voice service: caller ID anywhere.  Simply download a program on your computer, enter your comcast.net username and password, and you&#8217;ll get a small alert any time you get a call.  The same system allows comcast to show caller ID alerts on your TV.</p>
<p>So, how does this work?  Did comcast come up with some super-secret way to encode this data so no one but them can use it?  Nope; they&#8217;re simply using XMPP.</p>
<p>For those unaware, XMPP is a very nice concept: an open messaging protocol.  This means that companies don&#8217;t need to invent their own protocol, or shell out big bucks to use another protocol.  Just grab a server and client, and you have an instant messaging system.  XMPP is also designed to be expandible.  Is there a feature you need that it&#8217;s missing?  Just code it in, following the current specifications.  The problem with this is that different clients can conform to different specifications for things that aren&#8217;t part of the official protocol, but that&#8217;s another discussion.</p>
<p>Comcast decided to not reinvent the wheel, and just use XMPP, with a little twist.  If you already know a bit about XMPP, I&#8217;ll give you the stanza as a client receives it:<span id="more-83"></span></p>
<blockquote><p>&lt;message to=&#8221;bob.graese@comcast.net/comcast&#8221; from=&#8221;callerid_alert@comcast.net/wcdc01b&#8221; id=&#8221;sn-30552863&#8243; type=&#8221;headline&#8221;&gt;&lt;CInfo&gt;3NoAaS45q2vvGEmdgNb35TReIbQcE7F5d4vtkBu0l1bsyVdLRr3VxaTyWbV<br />
nyXpEIgjAs1QbBV2CK1HJjIb+yvTDOMXh5uDGh+Q552jyV6vxPM10+tlhNBfTEvNjB7QJnTHkd2Mmj5<br />
Cl3JCdoRRw8/RTGSzDGrSQwLAmpht6GmS7DNMGcHc=&lt;/CInfo&gt;&lt;/message&gt;</p></blockquote>
<p>(The line breaks above have been inserted by me in order to not destroy the layout)  So, what&#8217;s all this saying?  When your phone rings, comcast sends you a message over the XMPP protocol.  This message goes TO (your_main_account)@comcast.net, using the resource &#8220;comcast&#8221;, and comes FROM callerid_alert@comcast.net (very original naming), with a little resource tacked on the end there.  Each message has a unique ID, and a tag saying that the message is a &#8220;headline&#8221; (I&#8217;m not sure on the specifics of this, I&#8217;m guessing this would be used for news items in a XMPP client).  Then, Comcast starts the non-standard part.</p>
<p>When sending an IM over XMPP, there&#8217;s usually a body tag inside the message tag.  However, Comcast has invented a CInfo tag, which isn&#8217;t part of the XMPP specification.  Inside, there&#8217;s a long, encoded string.  Unfortunately, I haven&#8217;t worked out how they encode it (I&#8217;ll be working on that in the coming days; Any ideas?  Let me know!)</p>
<p>So, what does this mean?  It means that everything is unsecure (except the CInfo tag).  Theoretically, if comcast&#8217;s programming is dumb enough, I could send a caller ID message to any comcast user, and have it display on their TV and computer, even though their phone isn&#8217;t ringing.  Or, I could call their house, then send them a different caller ID message, and spoof my caller ID info.</p>
<p>Of course, this all hinges on the assumption that comcast figured no one would think of this.  I&#8217;m guessing that Comcast doesn&#8217;t check who the message is FROM.  If they do, and it needs to be from callerid_alert@comcast.net, then none of this will work.  However, if they don&#8217;t check, this could be a fun security excersise.</p>
<p>But first, I need to decode the information inside CInfo.  I don&#8217;t have much security expertise, so I can&#8217;t guarantee any progress on this.  If you have an idea, please let me know.  If you figure it out on your own, I&#8217;d also like to know.  If you use my ideas to expand into your own project, a small link is all I ask.</p>
<p>Stay tuned in the next couple of days to see if I can make any progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://truejournals.com/2009/05/23/comcasts-caller-id/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>The Danger of &#8220;Incorrect Password&#8221;</title>
		<link>http://truejournals.com/2009/05/11/the-danger-of-incorrect-password/</link>
		<comments>http://truejournals.com/2009/05/11/the-danger-of-incorrect-password/#comments</comments>
		<pubDate>Tue, 12 May 2009 03:21:39 +0000</pubDate>
		<dc:creator>TrueJournals</dc:creator>
				<category><![CDATA[thoughts]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://truejournals.com/?p=77</guid>
		<description><![CDATA[I&#8217;m sure you&#8217;ve seen the message before.  You try to log into a website you go to every now and then, and forget which password you used for it, or type something in wrong.  &#8221;Sorry, this password is incorrect,&#8221; says the website.  You grumble to yourself and try again, paying little attention to the harmless [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure you&#8217;ve seen the message before.  You try to log into a website you go to every now and then, and forget which password you used for it, or type something in wrong.  &#8221;Sorry, this password is incorrect,&#8221; says the website.  You grumble to yourself and try again, paying little attention to the harmless message.  From a programmer&#8217;s perspective, it&#8217;s a bit more interesting than that.</p>
<p>With a SQL database backend, it&#8217;s quite easy to figure out a login problem.  It&#8217;s a simple matter of searching the databse for a username that is equal to the one the user entered.  If the password of that row matches the password the user entered (generally md5 encoded), then the user can login.  If it doesn&#8217;t, they get the &#8220;incorrect password&#8221; message, and if the username search returns zero rows, they get an &#8220;incorrect username&#8221; message.  Simple and secure, right?</p>
<p>Wrong.  The problem with telling the user that the password was the incorrect data entered is that it lets them know that the username is correct.  For someone legitimately logging into the website, this is great.  They know exactly what to fix, they fix it and move on.  For someone who doesn&#8217;t actually own the account, however, this message is a lot more interesting.</p>
<p>Potentially, a script could be written to try thousands, even millions of usernames all with the same password.  Once an &#8220;incorrect password&#8221; message is reached, the script can then try another list of thousands to millions of passwords, until it gets an account.  All automated, and very simple.</p>
<p>So, the solution is to not let the user know what&#8217;s wrong.  Just say &#8220;incorrect login details.&#8221;  Something is wrong, but we&#8217;re not gonna tell you what.  Good luck!  This will stop any username-guessing script.  Now, you can&#8217;t tell a valid username from an invalid username.  However, some websites like to have lists of their members, or the hacker may already know a username for some reason.  So, how do we combat this?</p>
<p>Login try limits.  After 5 failed attempts, lock out the IP address in question.  Any user who just typed something wrong should be able to get it right within five tries, and blocking the IP will stop from additional attacks.  However, some robots are more complex than this.</p>
<p>When it comes down to it, if someone <strong>really</strong> wants to get into your website, they will.  A botnet will millions of different IP addresses could foil the above scheme.  Additionally, proxies could get around this block.  It would seem that there is no way to keep a website secure.</p>
<p>The responsibility falls on the user, really.  Most websites say somewhere that if someone breaks into your account, they aren&#8217;t responsible.  Website admins should have really long annoying to type passwords, because they can easily save the password somewhere, and normal users should have passwords that are strong enough.  If you&#8217;re really worried that someone will break into your account, choose a better, longer password.</p>
<p>Or, do we need to go above and beyond passwords?  Is there a level of security past passwords that we have yet to reach.  A lot of computers now have fingerprint readers.  Could we have websites that require your fingerprint as your password?  How about an image?  A website could issue you a completely random image for your password.  You save this image, and have to upload it any time you want to login.  The image would have to be small enough to let dial up users be able to upload the image, but it could be big enough to be very, very random.</p>
<p>So, security isn&#8217;t perfect.  I doubt it ever will be.  If someone really, really wants to break into something, they will.  This is why we have jails.</p>
]]></content:encoded>
			<wfw:commentRss>http://truejournals.com/2009/05/11/the-danger-of-incorrect-password/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
