Archive for February, 2008

TED and the Big Questions

Friday, February 29th, 2008

Most of this blog has been security related, but I did promise some bits about presence. This is really reaching, but I think it merits a post.

In the broader sense, I think that the ongoing TED conference this week shows the power of the Internet for communication, in a condensed and powerful way that is not often seen or realized. You have a condensed group of true movers, shakers, thinkers and dreamers, in some cases people with agendas, in some cases people who may really matter to the continuation of our species, all putting forth their ideas in a concentrated outpouring, all available to anyone who has a net connection. Yes, it happens every day when famous or notable people blog all over the world, it’s just the distillation that this provides that makes it remarkable to me.

Live blogging and various reports from the conference are all over the blog-o-sphere — boingboing specifically is covering a lot of the talks. Eventually, many presentation are available through various media formats from the TED site.

If you are not familiar with it, I highly suggest you put a few hours aside when it is all “said and done” and take a look at some of the things that were discussed this week.

Certification for Web Application Security

Thursday, February 28th, 2008

It is my pleasure to announce that SANS in coordination with WASC have announced a new Web Application Security Certification is in the works. You can read the announcement or some blog posts on the subject. This will provide a measure for people outside the Web Application Security community to gauge a person’s abilities in the space. This is something that has been lacking in the Web Application Security space and shows that it is maturing from an ad-hock to a more institutionalized industry. While the wild west of WebAppSec was fun, it’s important that the industry begin to produce some recognized standards and certifications so that Managers, Recruiters, and Contract Officers can have some assurance about the quality of personnel and work products produced.

More after the bump.

(more…)

CapSec DC Reminder

Tuesday, February 26th, 2008

This Thursday!

CapSecDC
Thursday February 28th, 7:30 PM

The Brickskeller
1523 22nd St NW
Washington DC 20037

Shmoocon 2008 — the “not sexy” talks part II

Tuesday, February 26th, 2008

The second “non-sexy” talk I attended was by Rohit Sethi, and Nish Balla of Security Compass, on Aspect Oriented Programming. This is a topic that I have been told to look into by a variety of my developer friends, and it’s pretty simple and profound, and very timely to have in the sights of security practitioners. Even though the talk was in the “main room,” it was severely under attended compared to most of the talks in that track.

Converting projects to Aspect involves compiling with an extra library and a special library, but no real alteration of source code. Instead, the developer writes aspects, which act as hooks for functions or calls already in the code. So, if you have 100 functions that all are doing similar things, you can write an aspect that will affect all functions that match a regex like filter in the aspect. The aspect will hook any function that matches its parameters, process the call from the function, and then return to where it grabbed the call.

There have been numerous arguments against aspect oriented programming, most of which are based on FUD and were well debunked by the presenters. Aspect oriented programming is more costly from a programmatic standpoint, but if the environment you are doing it in is compiled, the cost is very little.  If it is done at runtime, it’s a bit more, but still tolerable.

The functionality also can be used for code auditing as well — instead of matching functions and modifying them, the aspect can log every time something matching its parameter is hit. An example of the use for this is setting an aspect to check for un-parameterized SQL queries, and then running the program, and checking the log to see where the queries which need to be parameterized without having to go through every line of source code.

The talk was well presented, and showed enough code samples for a working explanation of how aspects worked, but was not so complicated as to lose the non-developers in the audience. The talk had a lot of similarities on a higher level to atlas‘ talk about “VTRACE and Programmatic debugging,” which was later in the con (I unfortunately missed the talk, but I spoke with atlas by the Intelguardians booth afterwards and we discussed the similarities — I intend to waste more of the Internet once the video or slides of it is out and I can compare both of them).

Shmoocon 2008 — the “not sexy” talks part I

Tuesday, February 26th, 2008

I owe the blog several bits on Shmoocon, but work and schedule have conspired to hold me up a bit. So, a week and change delayed, I present some of my thoughts on this years Shmoo.

The rest of Shmoo (following my day one post) was fun, and I had a great time hanging out with a cast of characters from several of our local communities — folks who I know from OWASP DC, CapSec DC, and Refresh DC, in addition to the amazing cast of Shmoos and the wide array of presenters and vendors who were present.

My overall impression of this year’s Shmoo is that while I had a great time, the presentations seemed a bit lacking as a whole. For better or for worse, there were not as many “big names” on the con circuit presenting (though some were in attendance), and not as many talks that made you just sit up and go “woah.” And on the other hand, there’s always an issue with the fact that some of the most headline grabbing talks often are very much “part of the problem” versus part of the solution, and there were some very good talks on remediation and theory, which is far less sexy. Some of the most important talks this year were in that less sexy category, but those talks were (from what I could see) dismissed, underattended, or both.

The “not sexy” problem has come up in a lot of discussion over the past year. I’ve been exposed to them mainly in web app sec circles (see Andrew van der Stock rant), but it’s a recurring theme — patching is not as sexy as buffer overflows, code validation is not as sexy as injections and XSS, and trying to get users to practice “safe” browsing has nothing on building a web scanner out of javascript. Also, not sexy preventative talks often aren’t uber-technical, as the technical challenge they present is way too huge to address in an hour. They are often theory talks, and those too often lose appeal in the hacker con crowd.

Jay Beale of Intelguardians (and Bastille Linux fame) gave a talk about “They’re hacking our clients!” which instead of having a 0-day IE exploit or something of that ilk was about the trend of penetration attempts (for good or for bad) changing the focus of their attacks from the servers to the clients. He pointed out that the bad guys have been doing it for years, and he and his peers are regularly using it now for their testing as well, since it is in many ways far easier than trying to break into hardened servers that are expecting attacks. In many ways, “hacking the client” gives the best Return On Investment for penetration testers — they get the myriad resources available on the workstation, and usually easy access to the internal network. The focus on server security has made them less desirable targets

Jay also weighed in on the “user” argument — as much as we would like to believe the solution can be solved by educating users, it’s not a viable solution any time soon (though I personally still strongly believe in it) — there are too many non-savvy users out there who “need” the Internet, and not a fair expectation to train them. The problem with non-savvy users can also be categorized as “social engineering” or “patch management,” but those are equally unsolvable. In the modern age, you have not only OS and browsers and software, but you then have plug-ins, customizations, and exponentially more things to worry about.

At this point, the talk devolved slightly, but Jay advocated one way to get a handle on this is to filter at your choke points, and restrict access — not necessarily NAC, but rather focusing on clients accessing resources. If you have an organization where “everyone accesses the web,” run them through a proxy, and use the techniques that the bad guys could (to fingerprint and determine versions) for good — if someone isn’t patched, deny them access with instructions on how to remediate. This triggered the crowd, with anecdotes from people having “done this 10 years ago” to rants against stupid users, NAC, et al.

One last takeaway was Jay’s mention of the metagoofil project — it’s a crawler that does recon (via google) on all the documents hosted at an organization (and available through the web) — it crawls them and then strips all the metadata it can — devastatingly powerful at creating a picture of the state of internal resources. Jay proposed cross-referencing your reports with a source such as the Open Source Vulnerability Database (OSVDB) for vulnerabilities, and then going after those who are not up to par — for good, to patch, for bad, as targets — and also extending the proxy idea to other services — prevent connections to mail, ftp, or allow and log.

There wasn’t really a specific conclusion, but as many talks of this type do, it showed a trending from real world examples of people who do it every day, and that the “mainstream” security industry that is in the established world is still behind the curve of where the moving target of the focal point of attackers is currently. I’m sure the talk was poo-pooed by many l33t hackers in the crowd for being something that “everybody knows” or being non-technical, but I think it proved some points and brought out some decent discussion if you could get past the people who immediately went for the vitriol.