Author Archive

OWASP

Registration open for Oct. 21 OWASP conference

Registration is open for the one-day OWASP conference we’re holding on the Saint Paul campus of the University of Minnesota. It’s not free as we’d hoped it would be, but it’s still only $25. Not bad for a day of web application security. Here’s the speaker list:

  • Jeff Williams, OWASP founder and CEO of Aspect Security.
  • Arshan Dabirsiaghi from Aspect Security will speak about the new OWASP Intrinsic Security Working Group, which focuses on addressing root causes of application security problems.
  • Anil Kumar Revuru from Microsoft will talk about the Microsoft Connected Information Security Framework and Tools.
  • Brian Chess of Fortify Software will speak about static analysis and its role in improving software security.
  • Elliot Glazer from DTCC, on information security architecture layers and key processes.
  • Corey Benninger from the Intrepidus Group will give us real-world phishing examples.
  • Richard Stallman will talk about… well, whatever Richard Stallman talks about. Later that evening he will give another talk at the U.

Good stuff. We probably won’t be able to handle on-site registration if you just walk in that day, and space is limited (we’ll be in the theater at the student center), so register in advance.

OWASP

Summarizing meetings so I don’t have to!

I was about to write up my notes from Wednesday’s OWASP meeting, but Tim did a pretty good job. He starts by pointing out something I hadn’t really thought about:

The speaker, Andrew van der Stock, threw out many terms and ideas that he expected the audience to be familiar with. I wrote down many of these for later lookup.

This is a danger of what is still a pretty insulated community. It’s easy to toss out terms like clickjacking and ESAPI and expect that an audience at an OWASP chapter meeting, a self-selected group interested in web application security, will know it all. That’s clearly not the case. Tim follows this stuff pretty closely, works in the area professionally, and still there were terms thrown about that weren’t clear.

I don’t mention this as a criticism of Andrew. I do it as a reminder to myself to know your audience. I did the same thing today, dropping a reference to where Google screwed up their SAML implementation in their single-sign-on service, and it didn’t occur to me until later that the guy I was talking to probably had no idea what I was talking about.

Anyway. It was an inspiring talk. Andrew was drumming up support and interest in contributing to a number of OWASP projects.

  • OWASP Top 10 security vulnerabilities in web applications. The 2009 update is in the works. It will again be data-driven, as the 2007 update was (mostly).
  • OWASP Developer’s Guide. A lot of the testing-focused content in the current edition can be removed, since there’s now a Testing Guide. There’s strong interest now in not spending time on what’s done wrong, and instead explaining how to do it right. For SQL injection, for instance, instead of explaining why dynamic queries are dangerous, it’s more valuable to show prepared statements with bound parameters.
  • Top 10 Coding Standard. Andrew introduces this in a recent blog post. The idea is to set a minimum standard for what needs to be done to develop secure software.
  • Application Security Desk Reference. This is pretty much what it sounds like, a reference. If I recall correctly, it should build on the Honeycomb project that was donated to OWASP several years ago, a thorough categorization and reference to web app sec.

There were others — there are a lot of OWASP projects — but those are the ones that stuck with me, partly because I’ve been thinking about what it would take to create short, self-contained courses in web app security and how these docs would fit in.

What’s really cool is that there are lots of ways to contribute in small ways to these projects. Especially with the Top 10 and the Guide, just working on small bits — a paragraph or two — is entirely possible.

I was briefly tempted to throw my hat into the ring to work on PHP ESAPI, a port of the Java Enterprise Security API project at OWASP. But I know I won’t make the time for it, and it’s been a while since I’ve done serious PHP. Besides, it would probably mean that Andrew would make me the lead. :) If you have killer PHP skills, please consider it. We sure as hell need this.

On top of all this, the highlight of the evening was meeting Andrew van der Stock in person. That’s been a long time coming.

Politics

Don’t vote

I’ve never bought the argument that if you don’t vote, you can’t complain. It goes back to my anarchist days, when I would argue that it made as much sense as saying that by participating in an unjust system, you’ve chosen to give up your right to complain when that system fucks you over. I’m not an anarchist anymore, but I still don’t buy it. You never give up your right to complain.

Neither should you take your vote for granted.

Don’t vote. Watch this:

(via)

Science

Fantastic NASA video

NASA has this stunning video of the moon orbiting the earth from the point of view of the Deep Impact spacecraft, 31 million miles away. Just watching the earth rotate is impressive enough, even for someone raised on science fiction movies. But then: whoa! What’s that?! The moon passes through the scene. Wow.

It seems so simple, but it blows me away. I’ve lost track of how many times I’ve watched the video. I remain astonished by how big the moon is compared to the earth. Every time I watch it, I’m left with an overwhelming sense of how inconceivably huge the universe is. And here we are, just floating in it.

OWASP

Andrew van der Stock at OWASP Twin Cities on Wednesday

At the risk of making this an “all OWASP, all the time” blog, I do want to say that Andrew van der Stock will be speaking in Minneapolis tomorrow (Wednesday) at 6:00 p.m. Actually a little after 6, since we usually let folks trickle in for ten minutes or so.

Andrew is the project lead for both the OWASP Guide and the OWASP Top 10, among other worthy activities. Let me tell you, those are monumental tasks. He’ll be talking about the Developer Guide 3.0. WIth the publishing of the OWASP Testing Guide, a lot of the content in the current developer guide has become redundant, so we should expect a different (more concise?) focus in the new version.

I’ve been looking forward to meeting Andrew for a long time now. Since his move to the U.S. from Australia a couple years back, I’ve been hoping we might cross paths. Looks like tomorrow’s my chance. Hope to see you there.

Science

Periodic Table coolness

Through two completely different paths, within an hour I discovered two different and very cool sites about the Periodic Table of the Elements. First, the source for the coolest periodic table poster I have ever seen, periodictable.com:

periodic table of the elements poster

Poster of the Elements. Wow!

Next, a project from the University of Nottingham, the Periodic Table of Videos. They’ve done a short video for each of the elements. Here’s sodium:

Blogging, Time Management

Waking up

A coworker stopped me the other day: “You have been busy,” he said, “you haven’t been blogging.”

A quick look through the history of my blogging will show a lot of varation in frequency of posts and a general slow-down in recent years (only some of which I can attribute to Twitter), but it’s still true: I have been busy, and I haven’t been blogging because of it.

Not long after I started the new job, we started in on a professional services engagement with an identity management architect, to help validate (and correct if necessary) the direction we were going and to help lay the foundation for future work. What we’re doing is huge, and we want to make sure we’re doing it right. The next couple months were unrelenting weeks of nothing but day-long meetings and preparation for those meetings. I take issue with the methodology — it’s fair to say that a death march is just plain wrong — but it’s over now. More or less.

And I am exhausted.

I spent the latter part of 2006 writing a book. It didn’t work out for various reasons, but at the beginning of 2007 I looked up and realized that I had been nose-down for months, doing very little else with my free time except writing, and I had no idea what had been going on. It was disconcerting. Disorienting.

That’s how I felt at the end of this project, like I was just waking up from a long, fitful sleep. I had spent so long with such a rigidly controlled schedule that I wasn’t sure how to organize my time. It’s taken a while to sort that out, but of course it’s not like I’m lacking in any way for work to do, so I feel like I’m getting in a decent rhythm again.

Just in time for the Republican National Convention to come to town and disrupt everything.

Security

“Secret” Questions

I hesitated to write this, but the question has come up several times recently, so here you go anyway.

I don’t like secret questions for password retrieval. You’ve seen these, I’m sure: when you create an account somewhere, you’re presented with a list of questions to choose from and answer. The idea is that if you lose your password, if you answer the question correctly you can reset your password. Classic questions include mother’s maiden name, pet’s name, favorite song, that sort of thing.

You see secret questions because they are cheap and easy. If a customer can self-assert and reset their own password without getting someone on the phone — or if it’s a web site for which you’ll never get any help anyway — that’s a Good Thing, right? The downside is that secret questions reduce the security of passwords. (Passwords themselves are broken, as even the New York Times reports, but that’s a story for another day.)

When passwords can be retrieved or reset as the result of answering “secret” questions, answers to those questions are essentially passwords themselves. Weak ones.

Let me say that again, because it’s important and not everyone pays attention the first time. Answers to “secret” questions are weak backup passwords.

Answers are not held to the same password policies that the actual passwords are. Many systems nowadays make you jump through all sorts of hoops to have a certain complexity to your password, often enforcing a mix of letters, numbers, and punctuation. This is important to prevent dictionary attacks, a brute-force technique in which attackers cycle through hundreds of thousands of possible words, plucked from dictionaries (a word like “snowball” or name like “Voldemort” won’t stand up long to attack). It is trivial and fast to crack most passwords.

Secret questions can often be answered in a single word, a word that would violate the password complexity policy but that is still allowed as the backup password.

Answers to secret questions are often trivially discoverable. It would not take a determined attacker long to find my mother’s maiden name, my home town, or the name of any of my pets. Not only that: they’re dictionary words. Dictionary words are weak passwords.

Questions may have a limited number of answers.

  • Favorite color? Chances are good that most people will answer from just a handful of possibilities: blue, red, green, yellow…
  • Year of birth? It’s a safe bet that there will be fewer than 80 possible answers, probably quite a bit fewer.
  • Home town? Lots of people come from big cities like New York and Beijing.

When users can supply their own questions, chances are pretty good that they’ll choose poor questions, again with trivially discoverable answers. People are not good at choosing security questions. Not long ago I once walked through the office and asked a dozen coworkers what their security questions would be. The most common response? “Last four digits of my SSN.”

Four digits. I rest my case. You can argue that people could have lied, and I hope that some of them did. But seriously. Four digits.

You should also be concerned that if you allow users to create their own questions, you will inadvertently end up storing private or sensitive data (say, ahem, SSNs), which may violate your privacy policy.

The situation can be improved somewhat by well-chosen questions — NOT letting users choose their own — and perhaps using multiple questions, although something about that makes me uneasy. It’s far better to use something in addition to secret questions, such as demonstrated control of a resource: email, a cell phone, smart card, or fingerprint.

Password retrieval systems are often poorly designed and easily subverted. “Secret” questions are just one example. I have rarely encountered a password retrieval systems that lock accounts for repeated failed attempts in the same way that repeated failed logins do. Passwords are sent in cleartext emails, which is not just a problem by itself but also suggests that the passwords are stored in cleartext. Considering that we too often rely on just a password for authentication — a situation that has got to change — we should do better.

Environment, Personal

Praying Mantis in the back yard

I was hanging up laundry to dry when I spotted this praying mantis on the table next to me:

Praying Mantis Praying Mantis

I’m not sure where in the world it came from. These critters are not native to Minnesota and won’t survive the winter, but after taking a lot of pictures of it with my son and checking that it wouldn’t do damage (thanks @jojeda), I put it in the front garden where it could feast happily on whatever insects it found there.

OWASP, Security

Upcoming OWASP Events in the Twin Cities

The Minneapolis/Saint Paul OWASP chapter is organizing two events that I want to tell you about.

First, Jeremiah Grossman is speaking at the September 9 chapter meeting. This will be a reprise of his talk at Black Hat, “Get Rich or Die Trying”:

Forget Cross-Site Scripting. Forget SQL Injection. If you want to make some serious cash on the Web silently and surreptitiously, you don’t need them. You also don’t need noisy scanners, sophisticated proxies, 0-days, or ninja level reverse engineering skills — all you need is a Web browser, a clue on what to look for, and a few black hat tricks. Generating affiliate advertising revenue from the Website traffic of others, trade stock using corporation information passively gleaned, inhibit the online purchase of sought after items creating artificial scarcity, and so much more. Activities not technically illegal, only violating terms of service.

You may have heard these referred to as business logic flaws, but that name really doesn’t do them justice. It sounds so academic and benign in that context when the truth is anything but. These are not the same ol’ Web hacker attack techniques everyone is familiar with, but the one staring you in the face and missed because gaming a system and making money this way couldn’t be that simple. Plus IDS can’t detect them and Web application firewalls can’t black them. If fact, these types of attacks are so hard to detect (if anyone is actually trying) we aren’t even sure how widespread their use actually is. Time to pull back the cover and expose what’s possible.

Slides of the talk are posted on his blog. Grossman does good presentations. This promises to be excellent.

Second, on October 21, we’re planning a one-day conference at the Saint Paul campus of the University of Minnesota. Details are still being worked out, but speakers include Jeff Williams (CEO of Aspect Security and an OWASP founder), Brian Chess (Fortify Software), and Richard Stallman.

Yes, Richard Stallman. I didn’t expect that! Looking forward to it. (No, that link doesn’t explain who he is. It’s just damn funny.)

Registration for the October conference hasn’t opened yet, but from what I understand we’re going to be able to make it free of charge. Wow.

I’ll let you know when there’s more information.

Next »