|
You have to see the movie Shrek the Third in order to appreciate As always, there’s much more. Need Optical Character Recognition
|
Security Revealed
|
You have to see the movie Shrek the Third in order to appreciate As always, there’s much more. Need Optical Character Recognition
|
Reader Paul recently sent an email to us stating that he could not get to tick.usno …(more)…
In a followup to our previous story about the e-card exploit, we have received an unconfirmed report …(more)…
Greetings everyone. For many of us, Friday (or Saturday) is the end of the quarter or even pot …(more)…
As a part of my daily activities, I set up, modify or use a number of virtual machines that ar …(more)…
Michael Renzmann wrote to the ModSecurity mailing list recently announcing project ScallyWhack. It’s a set of rules specially designed to detect comment spam against Trac installations. This is interesting for several reasons. It’s a project with potential to be very useful for many people running Trac, it appears to be well thought out and well designed, but it is also the first independent project to focus on writing rules to fit a purpose. First of many I hope!
Sadly you won’t need a surf board for this one. Just to give you a
heads up, there is a new …(more)…
So much for resting the paws!
One of my most loyal readers just shared this with me:
Hello Chief,
I want to inform you of a new type of artifact I found during a small
forensic analysis.
It’s an XML file called Product_keys.XML, the root XML tag is
Microsoft products.
When you have an Microsoft MSDN subscription, you have access to a
website with product keys for your subscription. There is a button on
the site to expor
Don’t panic!
I know it’s unusual for me not to post in nearly a week – however I just wanted to let you all know that I’m giving the paws a much needed rest and promoting some healing so I can jump back in the saddle before the end of the week.
I have a tendency to not let myself heal all of the way. This time I need to do it the “write” way. :-)~
Thanks for your patience. Keep the e-mails coming everyone. I read every one of them.
I’m also soliciting some ‘banana cupboard’ stories for
It has been more than a year since Michael Lynn first demonstrated a reliable code execution exploit on Cisco IOS at Black Hat 2005. Although his presentation received a lot of media coverage in the security community, very little is known about the attack and the technical details surrounding the IOS check_heaps() vulnerability. This paper is a result of research carried out by IRM to analyse and understand the check_heaps() attack and its impact on similar embedded devices. Furthermore, it also helps developers understand security-specific issues in embedded environments and developing mitigation strategies for similar vulnerabilities. The paper primarily focuses on the techniques developed for bypassing the check_heaps() process, which has traditionally prevented reliable exploitation of memory-based overflows on the IOS platform. Using inbuilt IOS commands, memory dumps and open source tools IRM was able to recreate the vulnerability in a lab environment. The paper is divided in three sections, which cover the ICMPv6 source-link attack vector, IOS Operating System internals, and finally the analysis of the attack itself.
Last week I released the second ModSecurity development release, 2.5.0-dev2, in preparation for the next version of ModSecurity. Some may notice that this version is now 2.5.x where as the first development release was 2.2.x. Ivan and I decided that because of the large feature sets going into this next release we would bump the version to 2.5.x to signify a halfway point to 3.0.0. This release is primarily a performance enhancement release, so I want to introduce two of the main new features in more detail.
In this release, I have introduced a phrase matching operator (@pm) to match against a list of phrases. The new operator uses the Aho-Corasick algorithm and is many times faster than the default regular expression operator (@rx) for lists of OR’d phrases. For example, if you want to accept only GET, POST and HEAD requests the following rules are equivalent, but the second is faster (even more so as the list grows):
SecRule REQUEST_METHOD "!^(?:GET|POST|HEAD)$" t:none,deny SecRule REQUEST_METHOD "!@pm GET POST HEAD" t:none,deny
The new @pm operator should be used for static lists of phrases (black/white lists, spam keywords, etc). However, for large lists, this new operator may cause the rule to become difficult to read and maintain. If your lists are large, you can use an alternate form (@pmFromFile) that accepts a list of files and place the phrases into a file or multiple files (one per line) instead of inline. In this form, the phrase file(s) will be read on startup. To allow for easy inclusion of third party phrase lists, if the filename is given with a relative path, then ModSecurity will look for it starting in the same directory as the file that contains the rule specifying the file. For example:
SecRule REQUEST_METHOD "!@pmFromFile allowed_methods.txt" t:none,deny
### And in allowed_methods.txt in the same directory: GET POST HEAD
Another performance enhancement (that is still being tuned) is transformations are now cached for each transaction. With previous versions of ModSecurity, the transformations for each rule were applied in the order specified to the original value. This was done for every variable in every rule. Starting with ModSecurity 2.5.0-dev2, transformations will only be performed once for each transaction. If more than one rule uses the same transformed value, then the cached value is used instead of reapplying the transformations.
As always, the source code is available in the download section of the ModSecurity Website. Below is an outline of the new features and changes in this release so far. Please see the documentation included in the release for full details and usage examples. Please direct any comments to the ModSecurity User Support mailing list.
@prepend value and @append value to inject content into the output.GEO collection — from any existing ModSecurity variable by using the new @geoLookup operator.@streq, @beginsWith and @endsWith — to allow an easier-to-use non-regular expression operator. Values will have macros interpreted prior to a match, so that you can do "@streq %{REMOTE_ADDR}", etc.t:length — transforms a value into a numeric character length.t:trimLeft, t:trimRight or t:trim to trim whitespace from the left, right or both, respectively.RESPONSE_CONTENT_LENGTH, RESPONSE_CONTENT_TYPE, and RESPONSE_CONTENT_ENCODING — were added.HTTP_HEADER_NAME variables for request headers. The 2.x REQUEST_HEADERS:Header-Name should now be used.%0 - %9 TX variables that expanded to numbered captures. Use %{TX.0} - %{TX.9} instead.A very interesting research paper titled “Apache Prefork MPM Vulnerabilities” was released a few days ago, as you can see in the corresponding Bugtraq post. The paper describes, in detail, the dangers of allowing third-parties to run code under the same account as the Apache web server. This normally happens when dynamic content is produced using Apache modules (e.g. PHP) or when CGI scripts are configured to run without suEXEC. This topic itself is not new. You will find several articles on runtime process infection following this Google search link. I warn about this problem throughout my book and especially in Chapter 6, which is dedicated to those situations when more than one party is using the one Apache installation. However, it is one thing to know that something is possible and another to demonstrate, step by step, how it is done. Another interesting finding resulting from this paper is that it is possible to send a SIGUSR1 signal, as root, to any process on the system instead of just to Apache children processes. This is an issue that will have to be fixed in one of the future versions of Apache.
This problem with running code as the same identity as the web server is well understood (and has been for years) among the advanced Apache users. The solution is to always execute CGI scripts through suEXEC and to never allow third parties access to any of the modules. The real problem is that, as with any other product, there are few people who understand Apache inside out (and they can protect themselves) but there also those who are using the technology but do not have the luxury of learning everything there is about it (and there are many legitimate reasons for that).
The solution is obvious. Apache must be safe out of the box! We should dispense with the idea of running things in the same process. Process isolation facilities (either suEXEC or something else) should be installed and running by default on all installations. We can and should make provisions for those who know what they are doing to shoot themselves in the foot, of course. But the only reason to attempt to run things in the same process is performance and I suspect, in this day and age, virtually all users will be happy with the performance of their web server doing things in a secure manner.
CAREFUL! This diary contains links to malicious code!
A number of MySpace profiles include drive by …(more)…
Several of our readers reported an email that lead to a fake Microsoft patch being spammed on the n …(more)…
On June 26th 2007, Microsoft re-released the MS07-022 update for Windows 2000 SP4. …(more)…
One suggestion from Chris in the UK.
SPF is a red herring here – you surely know what IP address(s) …(more)…
Nick submitted a nice piece of malware we are currently looking at. The malware itself includes a ni …(more)…
Today, Robert reported that he is seeing a higher then normal spam volume. We do get notes like this …(more)…
Philipp K from Vienna, Austria submitted this story, which I found very enlightening. In it …(more)…
On Thursday Apple releases a patch which addresses a cross-site scripting vulnerability. These …(more)…
Simple Invoices Index.PHP SQL Injection Vulnerability
The Symantec folks identified a website exploiting a bug from this months Microsoft patches, specifi …(more)…
Yesterday we published a diary about blocking active code in banner ads. Adrian wrote to us to …(more)…
Many folks have asked if I’ll be speaking at DEFCON and Blackhat this year in Vegas. I’m honored to have been invited to both. I can’t wait to meet as many of you as possible. Also, I was happy to read this month’s issue of Vanity Fair (http://www.vanityfair.com/politics/africa), co-edited by Bono, and entirely dedicated to Africa. I was also thrilled to learn about “beads for life” (www.beadsforlife.com (http://www.beadsforlife.com/) and www.beadsforlife.org (http://www.beadsforlife.org)) which is selling Jewelry and necklaces to benefit the vulnerable in Uganda! This is almost exactly what we’re trying to do to help out the women in the Bugembe district of Uganda (http://johnny.ihackstuff.com/uganda) on behalf of AOET (http://www.aoet.org). Cool stuff, and it comes close to hitting the mark: empowerment, not charity. Thanks for your support!
Well, it was bound to happen. The research chat rooms and mailing lists are all bu …(more)…
One of our readers, Walter, wrote to us today with a request to owners of websites: please blo …(more)…
This is not the first time that PayPal is vulnerable to cross-site scripting… 142TeeTH has discovered and submitted to us the two XSS vulnerabilities affecting PayPal.com. According to him, PayPal’s technical staff are already aware of the issues.
Susam Pal and Vipul Agarwal published today an interesting advisory about some vulnerabilities affecting Orkut – the famous social networking website, owned by Google. They state two things… Updated: July, 2nd 2007
EKG Multiple Remote Denial of Service Vulnerabilities
In a previous Blog entry, I outlined a number of steps that you could take to increase performance of the ModSecurity open source Console. While these tuning steps will certainly help to increase performance, there is still one big issue that will bring the open source Console to its knees – too many open/active alerts in the Alert Management interface (where the URL is – http://ip_of_your_console:8886/viewAlerts). Having too many open alerts will chew up the available memory for the MUI and it will become unresponsive.
If you are in the scenario where you already have too many active alerts and the MUI is totally non-responsive, you may have to try and bypass the MUI and instead use the Java Derby DB client to interact directly with the DB listener and close the active alerts.
Here are the steps:
# ./modsecurity-console stop
You should then check the “ps” output to ensure that the Java process is not hanging. If it is, you may need to either re-execute that command or issue a kill command to that specific process number.
startNetworkServer setting to "true". You will need to use the same username/password when connecting later with the Derby client.
<Service derby com.thinkingstone.juggler.components.DerbyServer>
Property password "XXXXX"
Property startNetworkServer "true"
Property host "0.0.0.0"
Property username "XXXXX"
Property port "1527"
</Service>
# ./modsecurity-console start
# netstat -nlp | grep 1527
java -classpath derbyclient.jar:derbytools.jar -Dij.driver='org.apache.derby.jdbc.ClientDriver' org.apache.derby.tools.ij
connect 'jdbc:derby://HOST:PORT/consoleDb;username=USER;password=PASS';
UPDATE alerts SET alert_status = 'CLOSED' WHERE alert_status = 'OPEN';
# ./modsecurity-console start
If you are becoming frustrated with the performance of the open source Console and/or if you have more then 3 ModSecurity sensors to manage, you may want to consider taking a look at Breach’s commercial ModSecurity Management Appliance that was just recently made available. It has many significant performance increases and is an enterprise class solution (it can manage up to 50 ModSecurity Sensors).
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « May | Jul » | |||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |