Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | RE: Content monitorting in Application Security |
|---|---|
| Date: | Wed, 19 Jan 2005 03:45:18 -0500 |
(Mark: As I think the content is interesting I'm resubmitting without, hopefully, marketing aroma) Jeremiah Grossman wrote on January 14th:
Do you think it might be possible to check a documents data format validity without actually parsing it into a data structure? I think some XML tools might do something like this currently.
I think you nailed down one of the key issues with real time monitoring of application security: we have to parse a whole lot of content and make decisions in real time. The problems with identifying file types are also relevant to detecting SQL/PHP/JavaScript in inbound traffic required to detect the related attacks. For example using just simple signatures such as select will generate a lot of false positives, while full parsing to determine SQL syntax, which is the ultimate way to detect an injection attempt, is not feasible due to the complexity and performance impact. While regular expressions may provide a solution, I found that they don't easily represent a complex file structure of syntax. On top of that regular expressions are not very efficient either. In order to tackle this issue I use higher level signatures that involve multiple signature matches (many of them are string matches but not all) and different ways of correlating the matches. A simple example would be SQL detection: Trying to parse input and determine that it is valid SQL is quite complex, but on the other hand "select", "union" and a single quote are all pretty bad signatures that are prone to false positives and do not necessarily indicate SQL injection. On the other hand, All three of them together are much more indicative of SQL injection, and if you also add a measurement of their proximity and order of appearance you get a pretty strong signature. Another example of such higher level signatures is a change detection that we implemented. In order to do so we learn for each URL its "type" by finding out which "signatures" are common to all occurrences of this URL. If for a specific request the page sent did not have enough of these signatures we know that the page has changed beyond the normal. The large number of signatures and their aggregation let us detect changes without full html parsing. Ofer Shezaf CTO, Breach Security Tel: +972.9.956.0036 ext.212 Cell: +972.54.443.1119 ofers@breach.com http://www.breach.com
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | RE: Proposal to anti-phishing, Michael Silk |
|---|---|
| Next by Date: | RE: (secure email) Proposal to anti-phishing, Lyal Collins |
| Previous by Thread: | Re: Content monitorting in Application Security, Jeremiah Grossman |
| Next by Thread: | RE: Content monitorting in Application Security, Ofer Shezaf |
| Indexes: | [Date] [Thread] [Top] [All Lists] |