All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.owasp.esapi.IntrusionDetector Maven / Gradle / Ivy

Go to download

The Enterprise Security API (ESAPI) project is an OWASP project to create simple strong security controls for every web platform. Security controls are not simple to build. You can read about the hundreds of pitfalls for unwary developers on the OWASP website. By providing developers with a set of strong controls, we aim to eliminate some of the complexity of creating secure web applications. This can result in significant cost savings across the SDLC.

There is a newer version: 2.5.5.0
Show newest version
/**
 * OWASP Enterprise Security API (ESAPI)
 * 
 * This file is part of the Open Web Application Security Project (OWASP)
 * Enterprise Security API (ESAPI) project. For details, please see
 * http://www.owasp.org/index.php/ESAPI.
 *
 * Copyright (c) 2007 - The OWASP Foundation
 * 
 * The ESAPI is published by OWASP under the BSD license. You should read and accept the
 * LICENSE before you use, modify, and/or redistribute this software.
 * 
 * @author Jeff Williams Aspect Security
 * @created 2007
 */
package org.owasp.esapi;

import org.owasp.esapi.errors.IntrusionException;


/**
 * The IntrusionDetector interface is intended to track security relevant events and identify attack behavior. The
 * implementation can use as much state as necessary to detect attacks, but note that storing too much state will burden
 * your system.
 * 

* The interface is currently designed to accept exceptions as well as custom events. Implementations can use this * stream of information to detect both normal and abnormal behavior. * * @author Jeff Williams (jeff.williams .at. aspectsecurity.com) Aspect Security * @since June 1, 2007 */ public interface IntrusionDetector { /** * Adds the exception to the IntrusionDetector. This method should immediately log the exception so that developers throwing an * IntrusionException do not have to remember to log every error. The implementation should store the exception somewhere for the current user * in order to check if the User has reached the threshold for any Enterprise Security Exceptions. The User object is the recommended location for storing * the current user's security exceptions. If the User has reached any security thresholds, the appropriate security action can be taken and logged. * * @param exception * the exception thrown * * @throws IntrusionException * the intrusion exception */ void addException(Exception exception) throws IntrusionException; /** * Adds the event to the IntrusionDetector. This method should immediately log the event. The implementation should store the event somewhere for the current user * in order to check if the User has reached the threshold for any Enterprise Security Exceptions. The User object is the recommended location for storing * the current user's security event. If the User has reached any security thresholds, the appropriate security action can be taken and logged. * * @param eventName * the event to add * @param logMessage * the message to log with the event * * @throws IntrusionException * the intrusion exception */ void addEvent(String eventName, String logMessage) throws IntrusionException; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy