Re: [Mod-security-developers] Positive filter modelization proposal
Brought to you by:
victorhora,
zimmerletw
|
From: Ivan R. <iv...@we...> - 2006-07-27 19:43:40
|
Vincent Deffontaines wrote:
> Ivan Ristic wrote:
Vincent,
First of all my apologies for the extended delay.
> How do you want us to work for the better?
> We can try to provide comments about all changes we made, and why we did,
> in order to open a discussion.
That would certainly be interested. Personally I would advance by
compiling a definitive requirement list. It is something we could
use later on to test if we did all we set out to do.
Here are my original requirements:
1. Access to some areas of a web site need not be controlled (allow all).
2. Access to some areas of a web site must never be allowed (deny all).
3. Web site is a collection of resources.
4. Each resource can be used in one or more different ways (resource profiles).
5. Each profile needs to support a different set of parameters. (For
example, one set of parameters is used when the resource is invoked
with GET, another set of parameters when resource invoked with POST.)
- It sounds like 4 and 5 describe the same thing.
6. Parameters are identified by their name (choose between case sensitive
match and case insensitive match). Parameter attributes:
6.1. Type (query string field, body field, or file)
6.2. Cardinality
6.3. Character class (or a fixed range of acceptable values)
[we will probably need to support regular expressions and
functions here]
6.4. Length (minimum and maximum)
6.5. Character distribution
6.6. Max file size (for files only)
6.7. File type (not based on the supplied C-T, of course)
[One change I would like to make to my own model is to make the
attributes listed above to be standalone constraints on parameters.]
7. Additional support for parameter arrays (dynamically created paramters) is needed.
8. Support for parameters transported in PATH_INFO is needed.
9. Support for parameters transported in the URI (e.g. URI append) is needed.
10. Support for parameters that come from other places, for example request
headers and cookies.
11. Metadata. A set of rules must be wrapped somehow, signed by a
publisher and published. Change control (e.g. serial number) needs
to be supported.
12. Support for partial models, e.g. continuous learning.
13. Compatibility with WAPL (see http://www.modsecurity.org/projects/ppr/)
also see the same document for ideas that related to the requirements
listed here.
14. Integration with negative security. E.g. if a part of the model is
weak run the request through the negative security tests. If the anomaly
score is low use the request for learning. If it is high - don't.
16. The format must be simple enough that can be written by hand.
--
Ivan Ristic, Technical Director
Thinking Stone, http://www.thinkingstone.com
ModSecurity: Open source Web Application Firewall
Apache Security (O'Reilly): http://www.apachesecurity.net
|