Tuesday, 10 November 2009

Best Security Practices For Your Personal Computer

Many of you may be worried or concerned about the security of your computer. With threats of viruses, spyware, bank details being stolen, accounts cracked and vulnerabilities everywhere, it is natural to be paranoid.

Here are some top security practices:

1. Change your passwords.

All of them. Yes, really. It does make a lot of difference to the chances of a cracker being able to track you, monitor you or pretend to be you and not. Normally people advise you change all your passwords every 2 weeks. However don't write them down, and make them long and memorable using capital letters, numbers and symbols.

Also, try not to make your password a dictionary word, or even close to it. Make it look like random garbage. You can use mnemonics to help you remember them. Consider the following sentence:

"Do as I say, not as I do!"

This can help you remember and formulate the password:
DaIs,naId!
You could add numbers, or convert some letters to numbers, etc:
Da15,naId!

Being 10 characters long, this is a medium strength password.
Try to make a sentence about 14+ letters long for strong security, but remember nothing is unbreakable!

2. Install security software.
A lot of users might think here: "I have a firewall. why do I need this?". The answer is simple: Just because you can stop things coming into your computer and going out, it doesn't make it invulnerable to threats such as downloaded malicious files or bad web pages. I recommend Windows users install Avast Antivirus for free. Linux users should install rootkit checkers, such as rkhunter and chkrootkit.

3. Update your system regularly.
This is one of the worst things you can leave out. If you do not update every single piece of your system, using update managers and such, vulnerabilities may be discovered in older versions of your software. Once you have a vulnerability, anything you could do (e.g. visiting a web site, opening a PDF) might give intruders access to your system. So remember to patch, and turn automatic updates ON!

4. Install a firewall.
You may have one already, but some dismiss them. Make sure they're turned on! If you have Windows turn Windows Firewall on, and make sure there are little to no exceptons (aside from the things that you REALLY need). On Linux you can alter iptables via a GUI like Firestarter if you wish.

5. Change your browser.
If you use Internet Explorer, you might do better to switch. It is well known for being particularly vulnerable to attack. There have been more security holes in Internet Explorer than any other browser, and they have been more slowly patched as well. Firefox and Google Chrome are good alternatives. Check Secunia and SecurityFocus for more details. There is also a table of known vulnerabilities in the latest versions of many browsers on Wikipedia.

6. Start over
While many things may get in the way, you have tried your best to rid your computer of viruses, but there is a good chance that the viruses you have obtained have not been removed, as they may be too new for the database, or are too malicious. (Remember the stories about Conficker, the massive Windows malware, that you couldn't remove with antivirus?). If all else fails, the best way to remove any threats is to wipe your disk completely. Do a complete reinstall. There are many tutorials available, just google for them, or follow the guides for Windows XP and Windows Vista.If you have a recovery disk that came with your computer, then use this instead. In any case, remember to back up!

7. Back up your sensitive data.
Anything you do not wish an intruder to get at would be best removed or moved to portable storage. Encrypted is best!

8. NEVER save bank/paypal details to your computer!
If an intruder gets in, they can recover your passwords (regardless of whether they're locked out) and recover your bank details. Ouch.

9. If you have to do banking, do it on a Linux Live CD
As this Washington Post article says, you can avoid the risk of Windows malware, spyware, trojans, viruses, etc completely if you use a Linux Live CD to bank online with. I would recommend you download Ubuntu and burn it to a CD-R using DeepBurner (using Burn ISO to disk option) or CD recording software of your choice, then boot from it. Here's how:

Reboot your computer.
If you see the Ubuntu boot screen, then select your language and press Enter at the next prompt.
If you don't, see if there is a message to press a button to select boot device. Press it and select the CD or DVD device.
If there is no message, find the message that says to press a button to enter SETUP. From there navigate to Boot devices and put priority on your CD/DVD device (method may vary). Finally save changes and exit.

10. Install Linux alongside Windows.

If you like the CD, you can install it permanently so that you can install more software, by selecting the Install option on the desktop of Ubuntu, making sure to resize the Windows partition to whatever size you need. (Don't panic if resizing takes ages!)


I hope that this has helped you become more secure. Please comment if you have any suggestions or things I may have left out.

Sunday, 18 October 2009

Reflections on the iPod Touch

I just bought a 32GB 3rd generation iPod Touch for £230. It's not bad for what you get:

On opening the box, you get the device, a syncing USB cable, a resizing thing for stabilising the device on an iPod dock, and a ditty pair of earphones.

The device has inbuilt Wifi and Bluetooth capability, voice control, Nike+ support, plus many apps to download.

The earphones were pretty small, and didn't fit well (they would keep falling out of my ear). The sound quality was half decent (better than many like it), and includes a microphone switch attached to the right ear wire for recording your voice, VoIP or for apps (It's supposed to feature a track switcher, but I haven't tried that yet). I found that switching them to my posh pair boasted much better quality but defeated the point of audio apps, as they have no microphone attached (there is ONE socket, designed for headphones or the special headphones/mic combo)

The iPod Touch can be viewed as a bit of a knock off of the iPhone. It's quite like it, except that the microphone has been shifted on the earphone lead, and there is no phone capability or 3G. The speakers are honestly very bad, being even worse than a laptop and having almost no bass whatsoever.

Included in the default app set are Mail (featuring IMAP), Calendar, Photos, Contacts, YouTube, Stocks, Maps, Weather, Voice Memos, Notes, Clock, Calculator, Settings, iTunes, Music, Videos, the Safari browser and the App Store. Everything you do cam also be searched for with the Search application. Note that you can have links to 16 apps on the screen at once, but once you download more, you can scroll left and right to see them all.

The built in App Store claims 15,000 applications, ranging from free to quite expensive (I've found ones that are £15). Some are clever, some are not. For instance I have apps for gaming (a clever plane fighter, a snooker application), fun oddities (drawing, tune maker), audio (Last.fm, Jamendo), communication (SocialBeacon, iDent, Facebook, IM), addictive apps (Yeti Penguin, bubble wrap) plus unique apps (Shaam, a tune recogniser, Bump, a quick information swapper), and Essentials (e.g. Google Earth, featuring double finger zooming and rotation, plus accelerometer field of view). Many of the apps use the inbuilt functionality of the iPod Touch: an accelerometer, the microphone (only if attached) and the multi-touch 3.5" touchscreen (a little bigger than that of a Nintendo DS).

The touchscreen is enough to use apps, and websites with a small footprint, but the Safari browser at least has a zoom feature, plus multidirectional viewing (that is, you can tilt the device to produce a portrait or landscape view). You get bookmarks, multiple "tabs", and fairly good compatibility with modern websites. What you don't get however, is Flash or Java, but there is a YouTube app built in which kicks in when you try to watch a video. However, obviously, this will not work on all videos (think Google Video, Vimeo etc) or let you play Flash games. A flash hack can be installed which gives you access to slightly more video sites (but no game sites) but you have to tinker quite a bit, which involves jailbreaking it.

Jailbreaking is done for the new versions using a utility called blackra1n (www.blackra1n.com) which enables you to install extra apps, hacks, and utilities. I for instance could install Quake, or the aforementioned Flash video hack. Also available are theming, NES and PlayStation emulators and many more. But the problem is that at the moment, it is a "tethered" jailbreak, which means that if you turn it off, or it runs out of batteries, you have to run the application again to start it up from recovery mode.

The Lithium Ion battery is supposed to last you for 6 hours of video or 30 hours of audio. I have not yet tested this claim.

Such media has to be uploaded through Apple's iTunes (currently available only for Windows and Mac OS X. For Linux you can use a Wi-Fi sharing app, but file transfers are slow), with the added limitation that you cannot use it for mass storage (as you can for regular iPods), for instance as a "drive" much like a USB flash disk. But the capability to sync your audio, video, podcasts and apps are available in iTunes (which helpfully converts files to its proprietary AAC format, so you can play them on your iPods, but note FLAC files cannot be converted, I had to use dbPowerAmp for Windows).

iTunes features a built in app to download and buy music and movies to watch directly on the iPod (note that Movies are still restricted by DRM, but with social pressure, music is now DRM free, for more information see defectivebydesign.org). You can also download podcasts, buy educational material from iTunes U, and listen to audiobooks. All of this functionality, plus syncing all of it from your iPod to your PC can be done by the Windows or Mac version of iTunes as well.

I hope that this has been informative, and that I haven't left anything out! I also hope that you will be able to make your decision on whether to buy one!

Wednesday, 14 October 2009

Xenon Project looking for helpers!

I started a project some time ago, which is for now called "Codename: Project Xenon".

Xenon is a browser-based GUI designed to be implemented on netbooks. The difference between other netbook OSes and cloud systems is that not only can you test it online, it will also be installed on netbooks - which will update from the Web automatically, giving you updates, and ability to use it without being connected to the Internet due to a local web server instance.

It will have a very small footprint - being built on very few programs, and so will run on very low-end systems, so it will bring life to your old computers as well.

We are now looking for helpers to make this project a reality. If you are a designer or a programmer who can program using any combination of (X)HTML, CSS, JavaScript, PHP or MySQL, then we would like you to help us out. We are afraid pay is out of the question at the moment, until we start selling subscriptions to the web service, the budget is zero.

If you have any ideas to help the project along, then please give us feedback!

To apply, simply email: dan.dart@googlemail.com

To visit the main website of the project, click here: http://xenon.kevinghadyani.com
To try out the web based desktop for yourself, click here: Try The Desktop . Please note that it is nowhere near finished at the moment.
To view the SDK and programming procedures to help you, click here: Xenon SDK

Thank you, and have a good day!

Sunday, 20 September 2009

Linux Myths Debunked

1. "You can't run games on Linux.".
This is one that annoys me. People claim that Linux does not provide the necessary gaming requirememnts. But look:

There is a list of Linux games at http://icculus.org/lgfaq/gamelist.php which includes many famous and popular games such as Enemy Territory: Quake Wars, Quake 4 and the Unreal Tournament series. These have either been ported from the originals by independent game companies or originally programmed for Linux (as well as many other operating systems). They often run faster on Linux than Windows as the old ETQW system requirements page showed (required 2.8GHz for Windows, 2.0GHz for Linux). For games that are not supported on Linux, there are API layers (NOT emulators) for Linux that can run Windows programs, often faster than Windows can, due to memory usage. Examples are Wine (free libre/gratis), Cedega (subscription) and CrossOver (subscription). I have successfully run many Valve games on Linux such as Half-Life 2, and many mods of it, using the Windows version of Steam under Wine, and they ran great. Also check out http://en.wikipedia.org/wiki/List_of_open_source_video_games for many more cross platform free games.

2. "Linux has bad security".
Anyone who knows security will surely agree with me here. It is in fact widely known that Windows has viruses, trojans, worms, malware and various spyware available for it. The makers of these programs assume you have Windows (as the majority of desktop users have at the moment). New malware is being made all the time and if you get a virus, you will likely not know about it until it has done its damage (unless it's quite old, in which case your virus checker will pick it up). Malware has been made for Linux but most past attempts at it have failed. http://en.wikipedia.org/wiki/Linux_malware
Linux was originally designed for multiple users from the ground up, in contrast to Windows' 1-user original setup. This could factor in too.
The password hashes used by Linux can be Blowfish or MD5. These are known strong algorithms, and they are protected by a "salt" to protect against "rainbow table" password cracking. Unfortunately, Windows uses a hash called "NTLM", NT Lan Manager. These hashes don't have salts, and your password is split into 7 digit segments before being hashed. See http://en.wikipedia.org/wiki/LM_hash . These keys are significantly easier to crack and don't require much time if necessary rainbow tables have been installed.
In the times of Windows XP, no password was set by default for the main user or administrator, Though this has been fixed now, this was a huge security risk.
Exploits in Linux and Windows have been widespread, but Windows has had many more serious ones. In fact in 2008, a Windows server could be compromised by attacking the SMB service in an attack called "ms08_067_netapi". This can gain System user level access to the system.
Linux kernel exploits have indeed been found but have been patched significantly quicker (as open source usually is, as there are many more developers), and cannot be exploited from the outside.
One more reason why Windows computers happen to be less secure is that the users running the system do not know much about security (they are less educated) and as the system is often not tightly locked down enough.

3. "Linux is hard to use".
This is a complete joke in my eyes. I recommend Linux Mint at www.linuxmint.com to anyone to try it. You will find that most if not all of your hardware is auto detected (Windows does not have this, it needs drivers, and the only reason it works for you is that they have been prepackaged along with your computer), and it's simple.
To install software all one needs to do is to go to the Install Software or Package Manager button in the menu and search for software. Repositories like this have been checked for malware so there is a very slim chance user programs will do harm.
Ubuntu and Mint are world renound for their ease of use, and that means there is no reason not to check them out!

4. "Linux won't play my media/DVD/etc"
It is likely that your distribution does not come with necessary media codecs (for legal reasons). That is why I recommend Mint (to anyone in a country where the software is legal, get the Main edition). This includes software to play DVDs and almost all media formats. Though it is not hard to install it in Ubuntu, the media players prompt you to choose a codec and install it!

5. "Linux is all command line".
Proof enough are these pictures:







Monday, 14 September 2009

Linux is not ready for the mainstream

Caught your eye?

The reason I say this is not that Linux isn't quality - of course it is.
It's not that Linux isn't ready to be used by the mainstream - it is.

The problem here is that Linux doesn't want to be for the mainstream. A wide variety of developers exist, and quite a few don't wish there to be a standard. To me, a standard is what defines a product to market. But the main idea of Linux is to be free, not in the traditional cost-less sense (gratis) but in a freedom sort of way (libre). This means that people are free to do what they wish with it, and to keep it free if distributing it.

To really make it, a product should be the same on all sides, easy to use, and have a common way of working. With the ridiculous amount of desktop environments (KDE...GNOME, etc) and text editors, this standardisation idea has become a laughing stock in the face of freedom. People want different things, they work in different ways. Some will want DEB, some will want RPM. That is why there will always be a million and one different flavours of Linux. And that is why marketing Linux is always going to be difficult. Open source is all well and good (Look how well Firefox did) but only in small, controlled packages such as these. If you let rip an OS designed to be free, then freedom will come, and you will not get one marketable product.

That is why, sadly, while the individual people who use Linux may like it, but Linux is simply too free to be for the mainstream.

To try to solve this, an ongoing project to create a standard easy-to-use small whole system, primarily for new small less-powerful devices, merging the gap between your computer and the cloud is encouraging developers to come and join. It is called Xenon, and is located at http://xenon.kevinghadyani.com . And it has absolutely nothing to do with Linux.

Saturday, 12 September 2009

A * For That

My goodness. First it was I'm a PC/Mac... obviously you're a bloody human.... since Apple said "there's an app for that", Subway of all companies have invented "There's a Sub for that"... Geez, talk about not being able to afford imaginative people... Oh, and I'm Spartacus.

Wednesday, 19 August 2009

How to Conquer the Desktop

What does Sturmbahnfahrer mean? And who would have guessed the meaning of Stormbaan Coureur? They are different names for the same software: "a simulated obstacle course for automobiles".

Now grab someone off the street and ask them what Linux means. No? A "command-line" operating system is all you'll get from a lot of people. Most people who have used Linux before the year 2000 have had some sort of problem, due to usability, and it has put them off.

Now, ask them what Windows means. Sure, it's an English word and English is fast becoming the language of choice. It has two meanings: "A piece of glass" or "What my computer always says first". People don't know anything about operating systems. What your computer has is what it will have forever, is most people's opinion.

To change systems then is a frightening step to many and many won't be clever enough to understand the concept that something will "exist outside of Windows".

Wubi meanwhile (a program to install Ubuntu "inside" Windows) will just confuse people even more. If they understand Ubuntu is another program, they won't get why they can't just use their own programs.

People don't care about how free or open their system is. They'll buy Windows 7 because they'll probably hate Vista or be forced into it. We had a little legroom while Vista was out since Windows users started looking around for something different.

The thing is, people fear change. They won't move away from what they're used to even if it is fundamentally broken or flawed or just keeps crashing. The only way to wrench people away is to add more small Linux-based devices to the market.
Netbooks are doing pretty well in this area. Due to people not recognising it as a computer (or a laptop) people will be more open to what is on it. The same happened with the iPhone. The software is different, yes, but the hardware is also different, so people feel that they can accept it.

To change people with an open mind (a lot of users are switching already) we need to follow these steps:


0. STANDARDISE!! This is the most confusing aspect. Have ONE standard distro, call it something cool and DON'T mention Linux. Have ONE standard Desktop Environment. Everyone knows how to use it, it's all the same.

1. Have ONE Package manager. That means ONE way of installing. It won't break if more people work on it. Have packages downloadable in a format inclusive of all the libraries. Also have an add and remove panel. Repositories are cool. They have made our software secure. Let's have ONE repository containing only GUI end user applications, named after their use (Image Editor not GIMP) and have essential packages built into the system. No library packages, no dependencies, Just download Image Editor and it works. Perhaps like Acorn or Mac OS, in which you drag and drop the program to your desktop and it works. If duplicate libraries from packages exist, keep the newer. If packages break, the library has dropped support for something, so don't drop it! If a console app exists now, make a standard frontend for configuring it. E.g. Web server package (inAdvanced section) installs Apache AND a STANDARD frontend, All its libraries are there in the package. One package file to install for Web server. One to install
for File Server. And so on.

2. Standard packages. Have ONE text editor. If it lacks features from others, add them. Have a beginner and advanced mode. Etc. Call them "Text Editor" not "nano" or "kate" or "gedit". What the hell are those?

3. Advertising. Advertise like you've never advertise before! PRODUCT! And why you should buy it! It's cool! Let's all get on this.

4. STABLE! If things can break, fix them BEFORE releasing. Ubuntu releases broken products (look at 8.10). Debian delays but releases when finished.

5. HARDWARE! My brother's iPod Nano doesn't work in Linux straight away. This is one thing that will leave people ditching Linux. My 3D games I downloaded don't work. I don't want to have to bother with nVidia drivers. My camera doesn't get picked up. I can't sync to my MTP media player out of the box. Etc.

6. No Command Line. No one should EVER have to type anything into a console. It's simple user-friendliness.

Let's all work on this and soon we'll have a user friendly system, easy to use, ready for the enterprise.

There is an ongoing project to conquer this challenge. Its codename is Xenon and it tries to do all this in the browser. It can be used on all devices and will be installed on small devices. To catch up with development or contribute, please visit:
http://xenon.kevinghadyani.com