Archive for December, 2007

The Pop Culture Hacker Image is Deterimental to Real Security

Monday, December 31st, 2007

You guys probably know my stance on the usage of the word hacker. You probably also know that the pop culture image of a hacker cultivated by Hollywood annoys the hell out of me. People think that hackers are some super-human geniuses who can break into just about any computer systems by simply rapidly typing on a keyboard. It’s sad – and while most people know that CIA agents to drive flying amphibious cars and have mini-machine guns in embedded in their wristwatches just like James Bond, they seem to eat up all the “hacker” science fiction.

Even the people who should know better, fall into this trap. Go pick up 2600 magazine one day and you will see what I mean. Of course, granted – 2600 is probably not your finest zine out there. Some issues feel like reading about stuff that was cool on the internets 6 month ago, only on dead tree media. But you’d figure that editors of a “Hacker Quarterly” would know better than this. But no – the whole thing is like “hackers this” and “hackers that” – ugh… Even my brother thought it was bit juvenile. I left the magazine in the bathroom once and he started reading it. Afterwords he told me it sounded as if it was written by a 14 year old who just watched Hackers. Btw, I’m not knocking their content – just the attitude. Then again, I guess those who read, or write articles for zines like that have a good idea about security so they are not really doing that much damage here.

Hollywood on the other hand does. Let’s face it – if the average Joe believes that a hacker can just sit at a computer and hax it by pounding on the keyboard for 15 minutes then we have a problem. Do you think they will adhere to all the security policies if they believe that: dude, like a real hacker could like break this encryption in like 5 seconds. Most people believe that hackers are these super intelligent people with awesome skills way beyond the understanding of a mere mortal. They are like some soft of computer gods that must be feared – which of course is bullshit. People have it all backwards. Anyone can hack. You, me, my grandmother – it’s really not that hard. The problem is on your end – your security policies and your setup determines how hard is it to 0wn your system. I think this Bigger Than Cheeses cartoon sums this all up perfectly:

Bigger Than Cheases FTW

You don’t need to be a security expert to implement basic security precautions. You don’t need to be a 3117 h4×0r to protect your systems from 90% of malicious attacks. Most of the security stuff is common sense. You have to keep two things in mind:

  1. All software is shitty and buggy from the get go. It is impossible to create sufficiently complex application that has zero bugs. Why? Because you can never find all the bugs by testing. Every single piece of software ever made is flawed and therefore potentially exploitable. The more applications you are running, the bigger the chance that one of them can become a security concern. There is not much you can do about this, but you can minimize the threat by following basic security guidelines like regularly patching the systems, not running as admin, disabling unnecessary services, keeping all machines behind a firewall, using encryption on sensitive data, using two factor authentication, reading the fucking memos from the sysadmin (even when he is a BOFH) and etc…
  2. Social engineering just works! You can have the best security experts in the world working 24-7 to keep your systems secure, but if the Joe the Janitor let’s Harry the H4×0r into the server room after hours you are fucked. So your security is directly proportional to how well you have trained the dumbest, most technologically illiterate person in your organization. Cause if I can convince that guy that I’m working for the IT department, and that I need the Admin password then I really don’t need any super-human computer skills to fuck you over.

So I think that this super-human hacker stereotype is detrimental to security awareness. I think it is one of the contributing factors to the lax attitude towards security exhibited by most folks out there. If you believe that the biggest security threat out there are these guys:

Oh no! Hackers!

then you are ill prepared to face reality. Anyone can be a security threat – they do not need to have special skills, or a really cool nickname. They can be anyone – especially current and former employees or staff. They don’t even need to be that knowledgeable about computers – you can get “hacked” by that dumb, clueless guy who could barely figure out how to turn on his computer in the morning, or the disgruntled cleaning lady. But they can only do this if you give them the opportunity. And this window of opportunity can be minimized by hiring a good security conscious sysadmin, training your employees, and maintaining popper access controls (ie. Bob from accounting doesn’t get the Admin password, and Joe the Janitor doesn’t get the keys to the server room, no matter how much he says he needs them).

What software do you install on a new machine?

Sunday, December 30th, 2007

I have touched upon this in the other thread but I figured that I can do better. So here is a more comprehensive list of applications that end up every new machine or after a clean install of windows. This list is mostly geared towards windows, but most of the apps are multi platform – I will throw in linux alternatives where appropriate.

Web Browser: Firefox

This one is a no brainer. Firefox all the way! It’s hands down the best browser in the land – at least IMHO. I also usually install Opera as my secondary browser for testing. I do not install IE7 cause it sucks ass, opens more slowly than Firefox and since I use IE like once a month to access the odd IE only website out there, I just don’t need it.

Text Editor: Vim

I’m a Vi person so I install Vim on every single system that I own. Some windows folks swear by stuff like Notepad2 or similar notepad replacements, but screw that – Vim is superior. I do sometimes use Kate when I want to edit files on a remote server in-place (KDE’s network transparency FTW).

Video Player: VLC

There are like 2 file formats out there that can’t be played by VLC. Hell, you can even play a raw image of a DVD in it (works with iso’s and bin-cue’s). It is also small and relatively simple. I don’t think you can find a better player out there.

Music Player: Foobar 2000

I don’t listen to much music, but when I do Foobar 2000 is probably the best player for Windows you can find. Yes, I saw iTunes in action – that shit is sloooow and more bloated than WinAmp ever was. And WinAmp was plenty bloated. In fact, WinAmp’s story parallels that of Elvis – it started awesome, then got fat and died prematurely. :P

IM: Pidgin

I’ve using this client back when it was still called gAIM. But I really love the recent releases. This project came a long way, and recently they actually even got an icon set that makes the GTK interface suck less. Also, not bloated. I think you can probably see a pattern emerging here. I hate bloated apps.

Launcher Program: Launchy

Ok, so I’m not entirely sure how to name this category. I call it useful. :P I use Katapult under Linux for the same purpose.

Compression: WinRar

I like WinRar because it can extract files in about every single compression format out there. It can extract tar, gz, bz2 and even some disk image formats. The only thing it doesn’t do is 7zip I think. Yes, I know that it is proprietary (one of the very few proprietary apps on this list) but it is convenient.

SSH + SCP: SSH Secure Shell Client

Yes, yet another proprietary tool, but this is possibly one of the best applications of this type available for windows. It comes with a very nice SSH client, and a SCP client for file transfer. What’s even nicer is that each one has a quick access button for the other on the interface. So for example if you have an ssh session with a remote machine, you can use the same connection and just pop open an SCP client to start moving files around. And the non-commercial version is free. If you want open source alternatives there is always Putty and WinSCP which is hell of an app. In fact, I sometimes use WinSCP over the Secure Shell Client for file transfer.

LaTex IDE: TeXnicCenter, Kile

TeXnicCenter is a great LaTex IDE for windows and I highly recommend it. Kile is also great, and the interface is possibly even better than TeXnicCenter but it has one fatal flaw – no inline spell check. Or rather, the spell check depends on the version of KDE you are using. I think in 4.0 Katepart library finally got this functionality, but if you have anything below that, you will have to do without it.

Also, as I mentioned previously Emacs with AUCTex can be a great LaTex IDE. If you need a good version of Emacs for windows try EmacsW32 and check out my post on how to install AUCTex for it.

Java IDE: Eclipse

I’m sorry but nothing compares here. If you want to code in Java, you have to get Eclipse. Yes, I’m painfully aware that you have to wait 7 hours before it even displays splash screen, and then 12 hours more as it loads plugins an decides whether or not it should start in our lifetime. And I know it’s bloated and slow. But you know what? It’s worth it. It makes coding in Java work as if it was an interpreted language – shit gets compiled in the background as you type. Also, best atuo-complete system evar, most convenient debugger system evar, and there is like a septillion plugins out there to add even moar functionality here.

Perl/Python/PHP IDE: Komodo Edit

Eclipse is great for Java, and Vim is great for quick edits or small scripts. But if you plan to do something more serious you ought to have and IDE like editor with auto-complete, project management and etc. Komodo Edit is a great lightweight IDE for the non-Java stuff.

Twitter Client: Snitter

Not that you need a client to Twitt, but some people like it. I tried several, and I think Snitter is one of the better ones out there. It is fully functional, lightweight and pretty. Oh, and you can change almost every aspect of the look and feel by using css. There is even a Flickr group for modified Snitter layouts.

Quick observation – is it just me, or is the main application of Adobe Air platform at the moment is Twitter front end clients? For the life of me, I can’t think of a non twitter related Adobe AIR application. But if you go to the Twitter Fan Wiki half of the listed Windows and OSX apps depend on AIR. WTF?

Screen Shot App: Cropper

I like to be able to take screen shots of just a region of the screen. On Linux I usually go with KSnapshot but on Windows cropper performs very nicely. It can do bunch of formats including PNG and with the correct plugin you can even record quick gif or avi animations. It’s not perfect (the PNG files it outputs are not compacted and you can easily reduce their size by like 40% with pngout) but it is nice, easy to use and convenient.

IRC Client: Xchat

I hardly ever use IRC, but when I do I usually do it with xchat. They no longer provide free windows version, but since it is an open source project you can roll your own. If you are lazy and just want a windows build, you can find one at slilverx.com.

POSIX Compliant Shell on Windows: Cygwin

I didn’t really know what to call this category, but sometimes you want a unix like shell under Windows. Cygwin is probably the best choice here because you not only get a fully functional bash but also a billion of standard unix applications that come with it. If you prefer something more basic, you can always go with MSYS from MinGW.

Calculator: Windows Power Calculator

I think that the best calculator app you can get for windows is the Power Toy calculator. As with almost every single one of these tools (except for that retarded Alt-Tab replacement which I hate) I have no clue why they haven’t included it in the OS. Try it out – it’s definitely worth it.

On linux I usually just use bc -l. The X-bc (a GUI bc frontend) has a great set of mathematical functions and scientific constants which I always steal. Feel free to try their gui app, but I really just prefer to use the command line version.

Remote Assistance Tool: CrossLoop

I tend to do remote tech support for family and friends (from time to time) and coworkers (every fucking day). I tried bunch of different services, but CrossLopp is probably my favorite. It’s essentially just a front end for VNC (they use TightVNC I think) combined with a proxy. You use the client to establish vnc session between two machines using the CrossLoop server as a proxy. This means no futzing around with firewall settings, making it perfect for helping those hopeless cases who can barely figure out how to turn the computer on in the morning.

Misc: Tclock2

I’m putting this in misc because making a “make Windows clock not suck so badly” category didn’t seem like a great idea. But this is essentially what Tclock2 does – it adds basic functionality that should be included out of the box to the system clock in the tray. For example it lets you control how the time and date is displayed. For example, this is how my clock looks:

Tclock2 in Action

It’s such a simple app, but it really makes a huge difference. I love being able to just glance at the clock to check the date. I never fucking know what date is it, and having to hover your mouse over the clock to see this information is retarded. Every other operating system ever made by man that has a system clock UI component allows you to configure the way this info is displayed. But not windows…

Ok, this is all I have for now. This is where you come in guys. I need you to keep this list going by posting your favorite apps. Any apps will do – not just ones that fit into categories above. Let’s create an ultimate list of the shit that’s worth installing on your computer here. :)

Microsoft Sidewinder Mouse

Saturday, December 29th, 2007

As you may know, I got the Microsoft Sidewinder Mouse for Christmas. Ever since I inherited Logitech VX Revolution at work I caught the fancy mouse bug. I figured that since I spend inordinate amounts of time at my computer, I might as well have high quality mouse and keyboard. So Sidewinder and Logitech G9 ended up on my list.

Microsoft Sidewinder

Sidewinder is a very nice mouse, but I have one small complaint. It’s a little bit to long. I don’t know – maybe I have small hands or perhaps I’m just used to smaller mice but something, but if I loosely grip it I can barely reach the scroll wheel and the thumb buttons. I never actually had this problem with any mouse before. In fact when I unpacked it at the Christmas table several people remarked that it was a little on the large side. So it’s not just me.

By my calculation, if they shaved off a half an inch it would be a perfect fit. I’m not saying it’s uncomfortable – it’s just that it gets some getting used to it – and I usually have to slightly shift my hand to go from using the scroll wheel to reach the thumb buttons unless I grip it just right.

Sidewinder is a little to long.

First thing you notice when you get this mouse is the set of weights and spare sliders that come in the box with it. Sidewinder ships with three 10 gram weights and one 5 gram weight that you can use to give it just the right feel. You can easily add up to 30 grams of weight to the device just by pulling the snap in attachment and placing appropriate weights in the 3 available slots. I experimented with different setups and the max weight seemed a bit to much. I currently have 5 gram inside and it feels about right, but I’m still messing around with it. The difference is very subtle, but it’s nice to have that fine degree of control over the way your mouse glides. It almost makes up for the unusual length.

You can add up to 3 weights for max of 30 grams

Another striking feature of this mouse is the LED which actually works. It usually displays your current sensitivity setting. By default you can switch between 2000 dpi, 800 dpi and 400 dpi settings using the 3 buttons on the top of the mouse. On the highest setting is perfect if you need to move your mouse from edge to edge in quick strokes. In this mode you hardly ever need to pick up the mouse but it’s easy to overshoot your targets. On the lowest setting you get slow deliberate movements. This mode is great for work requiring accuracy – for example retouching images pixel by pixel on high zoom setting.

I upped the middle mode up to 1000 dpi using the Intelisense software, and here is the kicker: the mouse detected that change and displays the correct dpi value as configured in software. Awesome!

The extra buttons are great. The dpi switches are easily accessible right below the scroll wheel. However, they are positioned in such a way that it is almost impossible to hit them by accident. The thumb buttons are perfect. I hardly ever use the thumb buttons on my VX Revolution because of the weird position. In Sidewinder they are easy to find even without looking, and they give you a pleasant click when you press them.

All the buttons are configurable with the Intelisense software which can be conveniently called up using the Sidewinder logo button located on the “butt” of the mouse. It’s funny, since your hand is usually resting on top of that button, but it is virtually impossible to depress it with your palm or ball of your hand. The configuration screen is very simple and intuitive:

Intelisense Config Screen

You can reconfigure actions for all 5 standard buttons and the scroll wheel. The sensitivity switches and the logo button can’t be reset, but I don’t think I would want to do that anyway. There are plenty of presets to choose from – ranging from the usual back and forward browser keys to fancy built in features such as the Instant Viewer which is a poor man’s Expose clone:

Intelisense Instant Viewer

If you don’t like any of the preset options you can us the macro feature which lets you bind a given button to a series of actions. You can essentially configure any chain of keystrokes, with pauses, modifiers and etc. The macro editor is pretty straightforward and user friendly:

Macro Editor

What is even better is that you can configure buttons on a per-application basis. This is great news for me as a gamer since I can bind the thumb buttons to different key combinations for every game. In fact, the Sidewinder promo materials tout it as the ultimate gaming mouse and the brochure included in the box talks at length about the “Quick Turn” feature. Naturally it doesn’t work out of the box – you actually have to choose on the intelisense config screen before you start the game. Then, you have to configure it in the game by pressing and holding the bound button, and doing 360 degree turn. Once you do that and release the button a quick stroke will do a half turn which should swing you around 180 degrees. It’s a nice feature but nothing spectacular.

One thing that really seemed odd to me was that the drivers were not included in the box – I actually had to go and download them from the MS site. The mouse worked fine out of the box on WinXP but there was no way to really configure the extra buttons or change the dpi presets.

Here is a show stopper though – when my machine crashed and I booted Knoppix the sidewinder went completely dead. I had to switch back to my old Microsoft Optical USB Mouse to actually back up my data. Of course this was an older (last year or so) Knoppix release so maybe things have improved. I haven’t tried this mouse with Ubuntu or any recent live CD yet. But be warned – Sidewinder is not really a standard mouse and Linux support might be spotty. If you are a Linux user I would probably recommend one of the fancy Logitech mice that is supported by the Btnx package.

Would I recommend it? Yes, it’s a great mouse. If you have big hands, you are going to fucking love this one my friend. If not, you will still appreciate the slick design, the weight system, the dpi switching and the great tactile response you get from the thumb buttons and the scroll wheel. The size is really not a huge issue, and I hardly even notice it anymore. So yes, I think it’s money well spent – unless you are a linux user, a person with very small hands/short fingers or a lefty. It’s actually not the worst mouse to use left handed (it doesn’t have that heavy slant and profiled thumb groove like some other mice) but the thumb buttons are hard to press with your pinky.

Blnking Dash Problem: The Non-Solution

Friday, December 28th, 2007

I figured I should probably post my solution to the blinking dash problem. As you may know, few days ago I rebooted my machine only to be greeted a blank screen and a blinking dash in the upper left corner of the screen. This was happening right after the BIOS memory tests. The system was booting just fine from the CD and so I was able to back everything up.

I tried just about everything to get my windows installation bootable, including running FIXMBR from the recovery console, repairing windows installation, doing parallel install and etc. Nothing worked.

I’m glad to report that I finally got this machine up and running. My solution?

Format the hard drive and reinstall windows.

Yup, sorry that’s the only thing that helped. I tried, and tried to find a better way to do this but there was just no way this machine would cooperate with me. The interesting question is: what caused this? Was it the graphics card as Alphast suggested in the other thread? I kinda doubt it since the installation went so smoothly after I reformatted. Was it a hard drive issue? It would be odd since this was a relatively new HD. I got it in July when my old system drive failed on me. Could it be the HD controller? But if so, how come my second drive is working just fine?

I hope this was just some random fluke…

As a side note, I noticed that it only took me few minutes to get the machine to the point of usability after I finished installing the drivers and AV suite. Here is the list of apps I really needed to function:

  1. Firefox
  2. Vim
  3. WinRar
  4. VLC
  5. uTorrent

That’s about all I needed to feel at home. In fact I don’t really “need” VLC and uTorrent right away, but I installed them for a good measure. I will probably need MS Office on here sooner or later, but for now I’m fine. I hardly use that damn thing anyway. I will probably end up installing MikTex and Emacs first. :P

I guess this is an evidence that I do live in the browser more than I think. Once I copied my Firefox profile from the backup drive, I was ready to pick up things where I left few days ago. Btw, does your browser let you completely save the current state (including all the open tabs in the current session) by simply copying a folder? This is why I love Firefox so much – all my plugins, bookmarks, custom adblock filters and greasemonkey scripts fit nicely in just few KB – and that’s just about everything I need for my daily browsing and blogging. :)

What are the crucial apps that you install after a clean install?