I'm a bit of a paranoid when it comes to network security. The Windows
installations in our home network, for example, is anything but a default
installation—fine grained settings like local security and user
permissions have been tweaked and tuned, and both operating system and router
firewalls have been enabled. Additionally, an anti-malware software
roam the premises to guard against viruses and trojan horses, while another
guards against adware, spyware, keyloggers and such. On top of that, my
Firefox browser have it's own anti-malware extensions like Adblock and
NoScript. In a way, I built my system like a tank.
My concern for security started sometime in 1995 when I began learning about
networks (particularly TCP/IP) and operating systems (Unix). In addition to
all those alphabet soup, which would be sufficient to call the attention of the
AAAAAAAA (American And Austral-Asian Association Against Acronym Abuse), I
learned that the moment you are connected to the Internet, you are already a
big, fat target. Specially if you are using a default installation of Windows
in which you are running as a member of the Administrators group. And more
specially if you are running Internet Explorer. (But I should say that the new
IE8 has become a lot better) It is not a question of whether your system can
be compromised or not but of when. Once you register as a blip in the network
intruder's radar and she has set her sights on you, all you can do is pray.
But that's not the only reason for my online fears. There was a time when one
of our computers got infected by a very nasty virus. You wouldn't know it was
there. I just noticed it when the modem activity lights showed some kind of
network activity even when I was not browsing. Then, the memory taken up by
all declared running processes plus the available memory does not add up to the
total memory; hence, some processes are running in the background undeclared.
My anti-virus failed to clean my system and I ended up having to manually
search and delete all infected files in safe mode by inspecting each alleged
system file and checking its signature and file version. A tedious task. It is
a very time consuming process that I do not wish to repeat again.
Building my system like a tank, however, is not enough. I also have to secure
all my online accounts with strong passwords. That's not a problem though,
because I have a program which could generate a password of any length with a
random string of letters, numbers, punctuations and symbols. I prefer 14
characters—something like: 8%{tG7,dz;$F_4. Now, it would seem
that remembering that string would be a problem specially because there are
about a dozen more of them for all the email and online accounts I have. (I
use different email accounts for blogging, friends, family, clients, throw
aways, etc.) But my password generator can also store all of them encrypted
with a master password. It even auto-fills the form in most login pages. So
far, so good.
So I'm good, right? Wrong.
About three weeks ago, something came up which even my well thought of (at
least that was what I thought it is) security precautions were not prepared to
handle. Windows was doing its routinary downloading of updates while another
software was indexing files in my hard disk. After the download and the
automatic installation of updates, I turned off my computer and readied for bed.
What I did not know was that my file system just failed at that moment. I do
not know the cause either. It could be a clash between the system update and
the indexing which had not been resolved since I had turned off my machine
immediately, or maybe it's just the alignment of the stars that night.
What I do know, however, is that the next time I tried to boot up my system,
it won't. It won't go past the NT boot loader because it cannot find a system
file it needs—courtesy of a broken file system.
I used another machine to connect to the internet and consult Google. It has
always been my friend. I'm sure it can help me out now. Most of the solutions
I found recommend running Chkdsk with the F switch thrown in. I already know
that but how can I run Chkdsk when I cannot even login to the system?
Unfortunately, I can't do all my troubleshooting in one sitting. There are
other things on my list. But after some days and more Google search result
pages later, I found another trick. It seems that one could boot up using the
Windows Installation disc and do a repair from there. No need to do a
reinstall; once the problematic Windows file system is detected, a new option
to repair that partition would be added to the option of doing a fresh install.
That was just what I did. I booted the system up using my Windows Installation
disc. But when the prompts came, there was not any option about repairing the
broken file system. It looks like the file system was not only broken but was
broken badly enough that it can't even be detected, much less repaired. At
this point, I started thinking about my blog and all the comments I have not
replied to yet. I started to panic and miss my friends in Twitter.
Then I had an idea. I thought about installing Linux in a separate partition
of my hard disk. With Linux installed, I said to myself, I can run Firefox and
hence tweet and manage my blog and my inbox from there. I would have liked a
dedicated email client or a dedicated Twitter client but a browser would do
for the meantime. For word-processing, I could use Google Docs also in Firefox.
I could then repair my Windows file system when time permits. Or so, I thought.
The next evening, I had Linux installed (Jaunty Jackalope). Another evening
after that, I had it updated, configured, massaged and ready to go. (I can't
do everything in one sitting, remember? I do have a wife whose whims I need to
take care of.) Wow, this is it, I said. First stop, Twitter. Uh, oh. It asked
me for a password. I have not even thought of it since everything had been
automatic in my previous environment. I didn't have to enter any passwords. And
if you remembered the sort of password I described above, you now know that I
have a problem, right? What about my email accounts or my JS-Kit? It looks like
all of the things I did were useless. I still needed that Windows partition so
that I can recover the passwords file.
Fast forward to a few days ago, I finally recovered everything; thanks to the
advanced tools provided by Linux and the fact that the Windows file system,
NTFS, is a journalized file system. I'll spare you the gruesome details of how
I went through recovering it, like how I used a flame torch, a chainsaw and a
sledgehammer on my system; (Just kidding. Kids, don't try this at home.) but
suffice it to say that it took me almost as long as manually extracting the
virus that infected our system in the past. Running Chkdsk alone almost took a
total of 48 hours. (I also did it about three or four times though succeeding
checks became a little faster as there were already fewer errors.)
Looking back, I spent a lot of time making sure that my system is almost
impervious to external threats but failed to consider threats from within the
system like a hard disk crash or failure, or a file system corruption. Those
extra secure, incomprehensible passwords even made it more difficult for me
after the system failed. In addition to locking out external threats, I should
have considered a sound backup strategy in case of problems within the system.
With a proper backup system in place, it would have been easier and much
faster to do a reinstall and then to restore all the data.
Despite being a dull narrative of my misadventure with the Windows file system,
I do hope you'll learn from this because it can happen to you too. And if it
does, you might not be as lucky to recover any important files you may have.
Anyway, a thumb drive or a dual-layer DVD, which are both portable and
spacious, does not cost much nowadays.
My Windows system is now up but I'll still be sticking with Linux for a while
until I'm totally sure that the Windows file system is healthy and won't
thrash after an innocent write. So if your Google Analytics would show a couple
of Jaunty Jackalopes, one of those might just be mine.