Why I block Javascript.

This subject surfaces from time to time, especially when I’m conversing with the bleeding-edge web design community. “You do WHAT?” followed by a lot of strange looks and laughter is the typical reaction. Then I’m told all about how JavaScript has been “modernized” and “browsers are sandboxed” and other nice things.

I run a variety of browsers; the current desktop has Firefox (with NoScript); Chrome; IE 4; IE 6; IE 8; and Lynx. Most of the time I browse with Firefox/NoScript. Yep, it slows me down, and there’s the minor annoyance of having to set temporary JavaScript execution privileges. This post will attempt to explain why I do things the way I do. Standard disclaimers apply.

First two-word explanation: Zeus Trojan.

The Zeus Trojan is a password-stealer which is usually deployed via JavaScript malware which was introduced to the victim by way of an infected website. As JavaScript has “matured” it also allows for much-improved obfuscation and cross-linking and all sorts of nice ways to operate an attack vector dynamically (to the point where most Zeus variants check location data and refuse to infect systems in certain countries).

For US-based small business (and local government) there is no protective cap on money stolen via identity fraud – and this is the standard use of Zeus. Once the credentials are acquired the thieves can empty a bank account in a matter of hours – and there is no legal recourse against the bank. The money is gone; the victim is not going to get it back.

A part of my professional practice deals with security – no, I’m not going to enter a forum with all the scripts executing. I only look foolish.

…and as I’m writing this post, in over the transom flies this notice – Google has awarded $60,000 as a prize in the Pwnium competition, for a method to overcome Chrome’s “sandbox” feature and run code on a fully-patched Window 7 system. All that is necessary is for someone to browse to an infected website – viewing the page is sufficient to load and execute the payload. A little bit of JavaScript acts as an enabler – there’s no need to bother with an exploit attempt if the browser is something else.

Another reason not to automatically run JavaScript is a common Facebook malware attack – the click-jacking survey scams which pop up several times a day. Click-jacking is a specialized attack vector on Facebook which work by having the victim click on a link – which leads to a survey – and also “spams” the link as a status post from the victim. If you run with JavaScript enabled you’re usually taken straight over to the payload page – which is typically a survey… but it might be something worse.

By not running JavaScript I get stuck on the interstitial dispatch page; this is where the Facebook click-jack link leads; and this page contains various JavaScript functions to identify the victim. Typical contents of these pages include a bit of geolocation which is used to decide which survey to play. From time to time, I see ones where the dispatch code includes a mechanism to reject the entry if location appears to be in .ru, .ua, .by or .ge  – authorities in these countries only track cybercrime if local users are affected. Generally speaking, if the interstitial page contains the ru-ua-by-ge code, the payload page is loading something other than a simple survey.

But security isn’t the only reason to avoid JavaScript.

Second two-word answer: Existing Investment.

This probably comes as a shock to many web designers – but companies don’t rush right out and buy the latest technology just because it got a great writeup on reddit or slashdot or wherever, or even if it’s the best seller on Amazon or the Apple store. There are a lot of systems out there with no capacity to execute JavaScript (embedded devices) or where internal policies discourage its use. I’ve been writing web-apps for more than a decade which require no JavaScript or even cookies on the browser in order to maintain state… and I know that some of these clients are not going to change those devices or policies for at least several years. Have you discarded your car simply because its OBDC works at a glacial 1200 bits/sec on a serial port?

Not executing JavaScript allows me to see how these clients perceive the “outside world” and thus better understand their mindset. It is very interesting to see which major companies’ websites are still functional without JavaScript (although not all the bells and whistles may work).

ON the question of the day: Google+ or Facebook?

Once again the muse lives elsewhere, but a comment thread on Facebook deserves a better discourse than that limited media can sustain.

This morning, most of the world woke up to find massive changes in the User Interface of Facebook – many of which were “inspired” by Google+. Venting, fist-shaking, etc. ensued. Meanwhile, Google took the opportunity to take the wraps off a bit, and open Google+ to everyone. It’s still classed as “beta” but now anyone can join.

If you haven’t figured it out yet, I’m in the early adopter camp. Stuff comes swinging by, I take a look, sometimes getting just a tippy-toe wet, other times jumping for full immersion. Thus I’ve been using G+ for about three months. Color me a bit skeptical at this juncture.

It’s not a replacement for Facebook.

On the other hand, I wouldn’t put too much stock in Twitter or LinkedIn – they are the most threatened by this development… especially LinkedIn. It might be why LI put its IPO back on the shelf. They may have waited a bit too long.

I don’t think we’ve found the “winner” in the social space as yet – I think FB and G+ represent the peak of an era which is about to end. They backed the wrong technology.

Google especially reminds me of Samuel Pierpoint Langley in the 1890s. He was head of the Smithsonian Institution, a learned man, with all the establishment of the day backing his experiments in heavier-than-air flight. His devices flapped their wings.

As we know, two bicycle mechanics from Ohio came up with the proper answer, and while it involved wings, it was the profile of the wing, not the flapping, which was critical.

I think there are the equivalents of the Wright brothers out there, toiling along in a garage somewhere, about to launch the new social media upon us  — and they will center around the phone. It’s this last which Facebook and Google have so neglected.

 

 

Help! – my hotmail account’s been hacked…

Except of course I never had a hotmail account.

But I know a lot of people who do… and who also have yahoo accounts, gmail accounts, and probably other email accounts as well – which they only access via a web browser.

The real story title is: “Help me – my browser-based email has been hijacked!”

First step in the cleanup – triage. How bad is the damage?

If this is your primary account – the one which you use for everything (online banking, shopping, brokerage, insurance, social media and so on)… you’re potentially in very deep trouble. For most folks issuing the help-me message, this is their primary account.

Now, let’s find out just how bad this is… can you reset the password? You should do so, and ditch the easily-guessed password you were using. Here is one password generator; there are many others. But get clear of the easy passwords.

Next, check your webmail system for forwards – this is hiding in settings. Are you forwarding your emails anywhere? Do you recognize every account listed? If not, you have a substantial headache ahead, because your newfound pen-pal is reading all your mail… including the one just generated by the system which confirms you just changed your password. Next step – remove the unknown mail forward assignments… and change the password again.

Now comes the painful part – you need to immediately reach out and change every password on every site where you used the compromised account as your primary email contact. Remember – your secret pen-pal has the necessary codes to reset your accounts, and may already be doing so. If you can’t get in anywhere… start calling or using other methods.

Still feel that easy password was a good idea? You should use randomized passwords everywhere, and never the same one on multiple sites. (Easy for him to say, but if you read down the blog, you’ll see I went through the same exercise a few months ago, albeit for a different reason).

If you want to save this headache in the future, a good password is a good starting place. I tend to go one step further; my primary email is not accessible via web-based systems, and can only be accessed by a dedicated email client. That’s right, I use a separate program just for email. For most of Internet history, this was the norm; web-based is a recent “convenience” – and is vulnerable to all the gotchas of web-based clients.

I use and recommend Forte Agent and Mozilla Thunderbird. Forte Agent I’ve used since its beginnings – but this is not an easy package to master, and many are turned off by having to pay for it.