Practical Technology

for practical people.

January 26, 2009
by sjvn01
0 comments

What do KDE 4.2 and Windows 7 have in common?

I tried, I really did, to like KDE 4.2 I really didn’t like the early versions of KDE 4. I then tried KDE 4.1. I hated it. I kept getting told by people that I just didn’t get it.

OK, I thought. Maybe I didn’t get it. So, I gave the last KDE 4.2 beta and release candidate another try for a month on one of my openSUSE 11.1 desktops. Historically, SUSE and KDE developers work closely with each other, so openSUSE is a great distribution for any version of KDE. Well, they may work well together, but openSUSE with KDE 4.2 doesn’t work for me.

Just like Windows 7 beta, which I’m running on another PC, my fundamental problem is each desktop’s fundamental interface changes. In both cases, I find that, instead of helping me to get my work done, the interfaces are actually getting in the way.

More >

January 24, 2009
by sjvn01
0 comments

The best five books for Linux beginners

In a recent story, I wrote about the best three ways to pick up desktop Linux. These are: buying a PC with pre-installed Linux; Live Linux CD/USB-sticks; and installing an easy-to-use Linux distribution like Mint or MEPIS. That’s all well and good, but a recent reader note reminded that many users need more than just a running Linux distribution to get up to speed. What these users need is a good introduction to Linux. So, for all of you to whom “root” is something that trees have but operating system don’t, these books are for you.

My favorite Linux book for beginners is still Robin “Roblimo” Miller’s Point & Click Linux!. This 2004 book may be out of date, and the copy of MEPIS Linux that comes with it several generations behind the times, but Robin does a great job of explaining exactly what you need to know to get to work with Linux. It’s still the best beginner’s book out there as far as I’m concerned.

If, like a lot of people, you’re interested in learning about Ubuntu Linux, then the best book for you is Mark Sobell’s A Practical Guide to Ubuntu Linux (Versions 8.10 and 8.04). This book takes you all the way from the basics to intermediate system administration. What I like about it is that it includes numerous real-world examples and JumpStarts, which are well-written, how-to guides. The second edition, which covers Ubuntu 8.10, just came out and, based on my quick overview, is as good as the first edition.

More >

January 23, 2009
by sjvn01
0 comments

Building a better spam-blocking CAPTCHA

How do you let people create user accounts or post comments on your Web site without letting spam bots in? Simple — make your users prove they’re human. Many Web sites use CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) technology to try to tell the bots from the people.

CAPTCHA’s idea is simple enough. It presents users with an image showing an obfuscated string of letters that they must type in to get an e-mail or social networking account, for instance, or to enter a comment on an online forum. The theory is that only humans can decipher the letters hidden in the image and type in the correct code, and for a time it was an effective tool to keep the bots out.

But while no one has yet come up with a computer that can fool people into thinking it’s another person, computers are great at fooling other computers. These days, malware makers and spammers regularly trick the CAPTCHA systems at big-name Web sites such as Yahoo Mail, Gmail and Craigslist, and use these sites to automate their attacks.

So what can we do? Can CAPTCHA be saved?

The rise and fall of CAPTCHA

CAPTCHA was created in 2000 by researchers at Carnegie Mellon University, and by 2007, the technology was being used almost everywhere on the Web. For example, if you try to leave a comment on this story, you’ll need to jump through a CAPTCHA hoop before you can leave a message.

Unfortunately, beginning in early 2008, crackers started getting the better of the CAPTCHA systems. In short order, Yahoo Mail’s, Gmail’s and Hotmail’s CAPTCHA defenses were cracked.

Then, adding insult to injury, the crackers started releasing their work in the form of do-it-yourself CAPTCHA cracking software that anyone could use. For example, a program called CL Auto Posting Tool attempts to post bogus ads to Craigslist while automatically overcoming Craigslist’s antispam protections.

These programs work by using OCR (optical character recognition) software to try to make sense of CAPTCHA’s disguised text. If they fail, they try again. They take advantage of the fact that some CAPTCHA systems don’t automatically give users a new CAPTCHA image to puzzle out. Instead, they’ll let you, or a cracker program, keep working at the hidden text until it’s solved.

Get one of these programs, aim it at the site you want to have bogus accounts on, and you can start spreading spam, anonymously flaming people you don’t like, and sending thousands of people links to your malware-infested site.

It’s not that the OCR-based cracker programs are that good. They’re not. As CAPTCHA expert Sumeet Prasad from security firm Websense explained in a blog posting, while only 10% to 15% of the attempts on Hotmail are successful, a CAPTCHA cracker program needs only six seconds per attack. If a site allows an unlimited number of chances to crack a single image, that means it will take, on average, less than a minute to break in.

Because they are clearly insecure, CAPTCHA systems that allow unlimited or multiple attempts are becoming uncommon. Still, today’s automated bots are capable of breaking even those systems that make users respond to a new CAPTCHA image after the first or second unsuccessful attempt. (On average, of course, the bots’ efforts are less likely to work at one-try CAPTCHA systems.) That said, simple CAPTCHA systems, such as the ones that use random, non-malformed letters against a simple background, are still in common use and are easily breakable.

Another way to crack a badly designed CAPTCHA program is to reuse the session identification URL of a solved CAPTCHA image. In this case, either the cracker, or more likely a cracking program, first gets the right answer to a CAPTCHA. It then reconnects to the Web site with a URL containing the solved session identification information with a new username. Presto! You have an automated site cracker with a 100% success rate until the session ID eventually expires.

p>Breaking into CAPTCHA protected systems isn’t just something that individual crackers do for fun and financial gain. CAPTCHA cracking, believe it or not, has become a business in its own right. For example, Indian-based company DeCaptcher.com will solve CAPTCHAs for your spamming needs at a rate of $2 per 1,000 successfully cracked CAPTCHAs. The site explains:

“Using the advertisement in blogs, social networks, etc. significantly increases the efficiency of the business. Many services use pictures called CAPTCHAs in order to prevent automated use of these services. Solve CAPTCHAs with the help of this portal, increase your business efficiency now!”

Is it any wonder that CAPTCHA, while still popular, is becoming almost as useful a security technique as locking the barn door after the horse has been stolen?

A second chance for CAPTCHA?

So with all that, can CAPTCHA be saved? According to Carnegie Mellon computer scientists, the answer is yes. The first of their redesigns of CAPTCHA, according to Luis von Ahn, a professor of computer science at the university, is the aptly named reCAPTCHA.

This system, von Ahn said, works in conjunction with the Google Books Project and the Internet Archive, two projects that are converting paper books to digital format using OCR software. As explained above, OCR software often doesn’t read words accurately. When the projects’ OCR programs flag a word as unreadable, it’s saved as an image and used on the Web as a CAPTCHA test.

This has two positive results. First, these CAPTCHAs are already known to be resistant to OCR attacks, making Web sites that use reCAPTCHA less vulnerable to CAPTCHA crackers. Second, human users are decoding the words that the book projects’ OCR software can’t read, and thus helping to complete the two projects’ accurate conversion of older books to digital formats.

How does reCAPTCHA know that the human got a word right? By using a control word, where the system already knows the correct spelling, along with the unknown word. Von Ahn explains, “If a user enters the correct answer to the control word, the user’s other answer is recorded as a plausible guess for the unknown word. If the first three human guesses match each other, but differ from the OCRs’ guesses, the word is marked as correct and becomes a potential control word.”

Image-based CAPTCHA

The Carnegie Mellon crew is also looking at image-based CAPTCHA. The first of these, ESP-PIX, requires users to pick a word that describes all four objects in an image. The newest of them, SQ-PIX, requires users to first pick out the right image from three and then trace the outline of the object within the image. For example, you might see an image of a cat, one of a flower and one of a balloon, with the instruction “Trace all balloons.”

These tests do have their shortcomings. For starters, what is clear to the designers may not be clear to users. In the ESP-PIX test, for example, the answer “girl” for three images of adult women and one of a young girl doesn’t make much sense. And the SQ-PIX test may require a degree of manual dexterity that not all users have. My editor, who is right-handed but uses a trackball with her left hand, found that the test failed her more often than it passed her. However, these are works in progress; Carnegie Mellon doesn’t have a scheduled completion date.

Carnegie Mellon isn’t the only group looking at image-based CAPTCHA. Penn State developers are working on Imagination CAPTCHA. In this system, a user must first pick out the geometric center of a distorted image from a page that’s filled with similar overlapping pictures.

If you get that right, you’re presented with another carefully distorted image and asked to pick a word to describe what you’re seeing. The Imagination system is based on ALIPR (Automatic Linguistic Indexing of Pictures), an automated image-tagging and searching technology.

The core idea, as the developers explain on their site, is that image recognition is a harder problem for computers to solve than text recognition, making the Imagination system more secure than text-based CAPTCHAs. In fact, the developers welcome attempts to crack the system: “If you think a robot can also pass our test without random guessing, give it a try and we’d love to know how far your robot can get.”

Unfortunately, color-blind users are likely to face problems with the Imagination system. (Blind and hard-of-sight people, of course, will have problems with all image-based CAPTCHAs.)

Image-based CAPTCHAs still aren’t in widespread use. A few simple ones, such as KittenAuth, are starting to see use. (For example, some phpBB online forum systems are using KittenAuth.) With KittenAuth, users are presented with a grid of 12 pictures of animals and then asked to pick out, for example, the ones containing — you guessed it — kittens.

Microsoft Research has taken the same idea for its ASIRRA (Animal Species Image Recognition for Restricting Access) technology. ASIRRA uses a larger pool of images from PetFinder.com, but otherwise this Web service CAPTCHA is essentially a KittenAuth clone. While to my knowledge no major sites are currently using ASIRRA, Microsoft has made PHP, Python, C#, Perl, VisualBasic and JScript code available, as well as a WordPress plug-in — so it shouldn’t be long before multiple Web sites are giving ASIRRA a try.

Sneaky CAPTCHA tricks

Stephen Moseley, a Web designer and developer at media production company Hannisdal Express has a sneaky way of stopping CAPTCHA bot attackers: incorporate a hidden field with CSS (Cascading Style Sheets). The field is coded so that human users never see it. Bots, however, read the page’s code and note that there is a field to be filled in, and proceed to do so. That, of course, is enough to mark the visitor as a potential cracking program rather than an actual user.

“The bots should fill it in, and if you compare the inputted value to the value you start with, you can quit execution right there,” says Moseley. “You do, however, have to make sure to label this so that people with screen readers can understand not to fill it in. I’ve used this on some nonhigh traffic forms and it works pretty well. It probably won’t stop serious spam bots for a large site, though.”

Moseley also suggests using simple math problems in CAPTCHA tests. As he explains, though, this approach has two problems: “possible discrimination against the mentally handicapped and the fact that you would need to make the questions random (i.e., you don’t want it to always be 2 + 2).”

The bottom line

What all these variations on CAPTCHA mean for Web administrators is that CAPTCHA will continue to be useful. However, the old, simple CAPTCHA systems are hopelessly obsolete.

And even the improved CAPTCHA strategies may not be useful for long. Carnegie Mellon’s von Ahn believes that, for the immediate future, image-based CAPTCHAs will be effective. Eventually though, within 50 years at the most, von Ahn thinks that computers will be bright enough to solve any form of CAPTCHA.

But what about right now? To secure a Web site in 2009, companies would be well advised to look at reCAPTCHA, which comes with a wide variety of application and programming plug-ins and an open API (application program interface). With these, no matter what software you’re running on your Web site, you should be able to easily add reCAPTCHA protection to your Web-based applications.

Looking ahead, you should start following image-based CAPTCHA technologies. They promise to have a longer effective life.

All that said, it should also be kept in mind that, even as bot-based CAPTCHA attacks are held at bay, there’s no effective defense against humans breaking CAPTCHAs for money. All that any CAPTCHA system, or any other security measure, can really do is slow down would-be crackers.

At the end of the day, Web security must be concerned not only with keeping out attackers, but with minimizing the damage they can cause when they have broken into a site.

A version of this story first appeared in ComputerWorld.

January 22, 2009
by sjvn01
0 comments

Being Anti-Linux is bad for your business’ health

Remember today’s date: January 22, 2009. It may go down in business history as the day that it became clear that proprietary software had been broken by Linux and open-source software.

First, Microsoft had its biggest layoffs in the company’s history. Yes, Microsoft still makes billions, but, for the first time ever, Microsoft is staggering.

It’s actually worse than it first appears. The headlines talk about 5.000 jobs lost. They don’t point out that Microsoft is also cutting up to up to 15% of its temporary and contract workers. Over the last few years, those are the people who actually do a lot of Microsoft’s day-in/day-out work. People who insist that everything is the same as ever with Microsoft have been missing that Microsoft has actually done worse than the general economy. Microsoft stock is worth about half of what it was last year at this time.

Sure, part of that is the economy going down the toilet. Never forget, however, that Microsoft has been heading for trouble ever since it became Vista was going to be a disaster.

As for Sun for years, Sun had a love/hate relationship with Linux and open source. Sun, finally got the open-source message, but it may have gotten it too late.

More >

January 22, 2009
by sjvn01
4 Comments

Obama vs. Microsoft

Obama, the first true 21st century President, and his staff have arrived at the White House to find themselves stuck with 20th century Microsoft software… and they’re not happy.

According to a report in The Washington Post, Obama’s staffers found themselves blocked from social networks, like Facebook, instant-messaging, and even plain old E-Mail.

Worse still, they found themselves forced to change from their up-to-date Macs to what sounds like PCs running Windows 2000 or XP and Microsoft Office 2003. Ow!

Continue Reading →

January 21, 2009
by sjvn01
0 comments

Liberation fonts for Linux

I was reminded yesterday that just because I know something, doesn’t mean that everyone knows it. This time it was some friends who really didn’t like their current fonts in Ubuntu and OpenSolaris respectively. So, I suggested that they try Red Hat’s open-source Liberation fonts. To my surprise, it turns out they didn’t know about them.

Well, let me tell all of you about Liberation fonts. These are, to my eye, very clean, attractive fonts for both screen and print use. Red Hat designed them together with Ascender Corp., a leading commercial developer of fonts, to develop font sets that were metrically equivalent to the major Microsoft fonts.

Red Hat and Ascender were successful. There are three sets of Liberation fonts: Sans (a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and Bitstream Vera Sans Mono). Specifically, Sans is closest to Arial; Serif works best as a replacement for Times New Roman; and Mono is a near-twin to Courier New.

These fonts are licensed under the GPL+font exception. What that means is that you can use them in any document on essentially any desktop operating system without having your document fall under the GPL or any other licensing requirements.

The Liberation fonts, which are currently at version 1.04, can be used for all purposes. They now come with full hinting capability. Hinting adjusts font pixelization so that the fonts render with high quality at both large and small sizes. In short, whether you’re just reading friends’ Twitters or publishing a book, Liberation will work well for you.

Most, but not all, Linux distributions now come with Liberation fonts. To see if you already have them, just use your usual package manager, such as OpenSUSE’s YaST; Debian/Ubuntu’s Synaptic; or Fedora’s PackageKit manager, to see if they’re installed. If they’re not, just grab them and let the package manager install them for you.

If you need to install these fonts manually, the instructions in this Linux Journal article are still good. For the BSD Unixes, the FreeBSD Handbook will give you the guidance you need. Finally, for Solaris and OpenSolaris, you can just follow the instruction in the section labeled "Adding Fonts to Your Account" in Adding True Type Fonts to Solaris.

Once the fonts are in place, you can choose to use them in your desktop environment or program using its usual font selection tools. Personally, I’m fondest of Liberation Serif, but regardless of which one you pick, I know you’ll find that this trio of fonts makes all your computer uses easier on your eyes.

A version of this story first appeared in ComputerWorld.