Why Object-Oriented UI's Might Be A Bad Idea

Posted by Christopher Smith Thu, 02 Oct 2008 04:11:00 GMT

This has got to be the best example of exactly what can go wrong when you go crazy with an OOUI. Of course, in fairness, a well implemented OOUI would always use a security context when accessing objects, but this is Windows. ;-)

Congratulations America, It Is No Longer Safe To Be Smart In This Country

Posted by Christopher Smith Sat, 20 Sep 2008 18:16:00 GMT

Boing Boing finally got an interview with the “Boston Airport suicide bomber”. You know, I can almost forgive what happened at the airport (mistakes happen, people are stupid and twitchy, and sometimes this means people’s lives are put at risk for no good reason). What I frankly cannot accept is what happened afterwards. I’m sorry, but I cannot believe an honest and rational person would conclude that Star Simpson did anything worthy of being charged with a crime. Between Star Simpson going to the airport wearing her funky sweater and me speeding in my car, I am the greater threat to people’s safety, and I won’t get charged with a crime even if I’m caught.

Feeding the Phish

Posted by Christopher Smith Wed, 16 Jul 2008 18:14:00 GMT

From an e-mail that really was (really) sent from one of my credit card issuers: “If you are concerned about the authenticity of this message, please click here.”

Anatomy of Javascript Hack 3

Posted by Christopher Smith Fri, 02 May 2008 18:28:00 GMT

NOTE: Several of the links in this article point to the original Javascript of this exploit or transformations of the original Javascript. If you actually execute the Javascript you will be performing the exploit. I suggest readers download the links and then look at the source in an editor, rather than clicking on the link and risking their browser attempting to execute the Javascript. I’ve set the content types of these links to “text” in order to minimize the risk of this, and I’m sorry if that creates an inconvenience.

One of the user groups I participate in is the UUASC. Recently, one of the BOFHSysAdmins in the group posted a rather cryptic bit of Javascript that they saw flowing over their network. Their question was pretty simple. What does this do?

So starting with the outer bits of the code first, it is pretty clear that the bulk of the message is escaped Javascript which is fed in to eval. Not exactly a good sign, but not necessarily a bad thing. The first step I took was to unescape the relevant data (without performing the eval of course), which yielded this.

The source was clearly obfuscated, so I went through it, cleaned up the formatting and attempted to assign more meaningful names to variables and functions. This yielded this. The transform1 function included a use of eval(someString.replace(/blah/, ”)), which was clearly just a way of obfuscating how myCallee was computed, so I performed the replace and substituted the result, yielding this much clearer source, which shows that myCallee is actually the function itself!

So, it now becomes clear that the obfuscation of transform1 was not entirely random in nature, as the source itself was used as part of the key to decode the “payload” (the string passed in to transform1 after its definition). The easiest way to accurately decode this was to create both the original fpTu function in all its obfuscated glory, then set myCallee to fpTu in transform1, and then see what we got back from transform1 when we passed it the payload.

Not surprisingly, we have another somewhat obfuscated chunk of Javascript. After reformatting it (thank you Steve Yegge for js2-mode and providing some more meaningful function and variable names, the payload now looks like this.

There are still a bunch of places where the replace(/blah/, ”) idiom is being used to obfuscate things, and another place where a variant is used where all alphanumeric values are being replaced with a period, and then all instances of multiple periods are replaced with a single one. After unraveling those, the intent of the code becomes clear and we can attach more meaningful names to the functions and variables. Thus I ended up with this.

We can now see that the code points to 3traff.cn (don’t you feel safer already? ;-), and it cleverly embeds an iframe pointing to 3traff.cn in to each document as it is loaded. I’m not up on my browser exploits, but it looks like the intent of all this is to at the very least track users as they go off site, and also might be hoping to confuse a browser about which domain a document came from, and therefore potentially cause cookies to leak to 3traff. Either way, this isn’t the kind of code I like running in my browser.

Mail DDOS

Posted by Christopher Smith Tue, 25 Mar 2008 10:25:00 GMT

It appears as though I am experiencing an e-mail based DDOS. As near as I can tell, thousands if not millions of messages addressed to jslopez@xman.org are bouncing around the Internets as I write this. I have no idea why this e-mail address was selected (AFAIK, this address has never been a valid address). Furthermore, the DATA segment of the e-mails appears to be empty. Greylist rejects seem to cause many of the botsMTA’s to immediately attempt another delivery.

The net effect of all this was to completely tie up my mail server and for the most part prevent any mail delivery. I’ve now tweaked the server a bit so I do eventually get mail, but it is still rather grim. So far, I’m killing connections to clients after two errors, I’ve trimmed my accept queue depth, and dramatically increased the number of simultaneous connections I will process. The overall effect has been pretty taxing on my mail server, and I still see significant delays in delivery times, so I’m all ears to any brilliant suggestions on how to address this problem.

If you are a mail admin and are wondering why your queues are backed up with tons of jslopez@xman.org e-mail, please, please kill it. I suspect thought that most of my mail is coming from bots, so I’ll probably need to start adding immediate filtering at connect time that drops suspected bots.

Is this happening to anyone else?

TSA Joins the Blogosphere

Posted by Christopher Smith Thu, 07 Feb 2008 18:12:00 GMT

This is going to blow your mind, but apparently the TSA now has a blog. Even more mind blowing: the TSA has read comments submitted to the blog and reacted in a positive manner. But of course, it can’t be all praise…

So the problem that a number of commenters have pointed out is that these TSO’s are making up arbitrary rules, potentially violating the law and even constitutional rights of passengers, and the TSA lacks an effective mechanism for dealing with it. It’s great that they are capable of recognizing an error when it was reported, and in this case I don’t think any laws were broken (other than laws of rational thought perhaps ;-), but as far as I can tell, they could have been.

Here’s the thing: I expect local TSA offices to come up with their own procedures and policies. You need to give offices enough autonomy that they can adapt to local situations and/or come up with innovations. Security needs to flexible and adaptable. So a changing landscape at each office is par for the course and a sign the TSA is actually doing their job. The problem is, there are rules and laws that simply cannot be violated, no matter the rationale of the local office.

Simple straw man: on the off chance that passengers might carry an explosive in their stomach, it is not okay for TSO’s to punch each passenger in the gut as they walk through the security line (hmm… I’m sure there is a the makings of a good comedy sketch in there somewhere). Let’s just say for a moment, this were to actually happen. I’m going through the line and I notice TSO’s punching everyone in front of me. When it’s my turn, I protest, saying they can’t hit me, and if they do, I’ll charge them with assault. They then counter that they are required by law to punch each passenger in the gut before allowing them to board. I say, “I’ve never heard of something so ridiculous in my entire life. Show me the law that allows you to do this.” Guess what the answer is? Sorry, we can’t show you the law. In fact, not only can we not show you the law, but if you continue to protest this, we’ll arrest you. Either let us punch you or leave the airport. Even if I call the ACLU and start to file legal complaints, the case won’t be allowed to go forward. The only hope of getting this mess resolved is to contact the TSA, hope that someone with the right authority listens to me and agrees with me, and then acts. As seen in the “electronics” case, while the TSA can respond quickly, we’re still talking about weeks here, and that’s if I catch a sympathetic ear. With all the people that go through airports each day, we’re talking about potentially thousands of violations of people’s rights.

TSO’s wield a rather significant amount of authority. They have the power to keep you from making your flight. They have the power to arrest you, and can justify it simply on the grounds that you are creating a disturbance! This is very intimidating for most passengers, making it hard for them to defend themselves. A published set of laws would provide a mild counter balance to this, and make it easier for passengers to anticipate and accept new, innovative security procedures. Yes, there is a security advantage in hiding the rules of the game from your adversary, as it makes it harder for them to assemble a plan with a high degree of confidence it will work, but we’re talking about a “secret” shared by the thousands of employees of the TSA, which in my book is a secret only to citizens who don’t have the resources or the inclination to compromise a secret shared by thousands… and the courts (convenient that). To a well organized attacker, obtaining a secret known to so many people is trivial. The other thing is that I’m not expecting to have the actual procedures published (although the TSA frequently does this with new polities), just the laws governing what they can and cannot do. That way, if a TSO gets out of line, you have recourse.

Shouting "Nuke!" In a Crowded Theatre

Posted by Christopher Smith Mon, 28 Jan 2008 18:31:00 GMT

Two interesting takes on how to deal with threats. Folks at the University of Purdue want to equip every cell phone with a what is effectively a Geiger counter. Think of it as “security through ubiquity”. Meanwhile the NYPD wants to carefully restrict the distribution of Geiger counters and related devices because of fears of problems with false alarms and such.

Honestly, I think there is wisdom in both approaches. Probably the sanest thing is to have sensors everywhere and to learn not to overreact to false positives…. only people aren’t so good at that last part.

Don't Trust Anyone Under 50 4

Posted by Christopher Smith Fri, 11 Jan 2008 23:52:00 GMT

Ugh, I don’t know where to start with this one. Let’s see, we’ve got the Feds and the States going head to head on a security measure. We’ve got a security measure that isn’t much of a security measure for it’s supposed intended target (does anyone think the problem was we didn’t have people’s ID’s?). I think the one that takes the cake though is the temporary exemption for folks over 50 (“because they aren’t as likely to be a terrorist, illegal immigrant or con artist”). Yes, that generation that coined the phrase “we don’t trust anybody over 30”, now basically doesn’t trust anyone who wasn’t already alive back then. It’s hard to argue with logic that says it is unlikely to find people interested in suicidal missions amongst a group that includes activists for Euthanasia and people with limited life expectancy.

Is anyone else having visions of pigs marching around saying, “four legs good, two legs better”? At what point do we declare that the baby boomers to have not only abandoned the causes of their youth, but to have in the most profoundly hypocritical manner rejected them and literally become the forces they were fighting?

Steal This Wi-Fi

Posted by Christopher Smith Thu, 10 Jan 2008 20:32:00 GMT

It’s always cool when you are doing something that people feel is unconventional, and then you discover that one of the more respected minds out there basically thinks the same way. This was my happy discovery today as I read Bruce Schneier’s Steal This Wi-Fi, having gone through pretty much exactly the same thought process. I still find it truly bizarre to think of access to the Internet as the gatekeeper of sorts. The bottom line is that getting on to the Internet is trivially easy, even if your name is Osama Bin Laden. There network is just too large and too unregulated. The trick is limiting what unauthorized people can do once they are on the network.

Toronto Thieves Defeat Security With Cardboard Box

Posted by Christopher Smith Sat, 27 Oct 2007 18:05:00 GMT

Admittedly, they used a fair bit of sophisticated equipment, but the key innovation of these highly successful robbers (over 200 robberies) was the use of a cardboard box. I keep hearing stories of late about how humans are just not well wired for protecting computer systems, but I think security is just a tricky job. A clever opponent can leverage both the sophisticated and the mundane to reframe the problem in a way that blows away all your assumptions.

Older posts: 1 2