This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
AppSensor ResponseActions
About This Document
These response actions are part of the OWASP AppSensor project which advocates bringing intelligent intrusion detection inside the application. These responses can be used to counter a malicious user that has been detected probing for vulnerabilities or weaknesses within your application.
THIS PAGE IS STILL IN PROGRESS
- 1 About This Document
- 2 Overview
- 3 Detailed Listing
- 3.1 Silent
- 3.1.1 ASR-A: Logging Change
- 3.1.2 ASR-B: Administrator Notification
- 3.1.3 ASR-C: Other Notification
- 3.1.4 ASR-D: User Status Change
- 3.1.5 ASR-E: User Notification
- 3.1.6 ASR-F: Timing Change
- 3.1.7 ASR-G: Process Terminated
- 3.1.8 ASR-H: Function Amended
- 3.1.9 ASR-I: Function Disabled
- 3.1.10 ASR-J: Account Logout
- 3.1.11 ASR-K: Account Lockout
- 3.1.12 ASR-L: Application Disabled
- 3.1.13 ASR-M: Collect Data from User
- 3.2 Passive
- 3.3 Active
- 3.1 Silent
Overview
The following table lists possible AppSensor Responses (ASRs). The application response actions are categorized here by:
- Silent: User(s) unaware of any application change
- Passive: Process altered, but user(s) may still continue to process completion
- Active: Functionality reduced or disabled
A text version of the table, with examples and alternative classifications, is described in AppSensor - Response Actions (64 KB PDF).
Detailed Listing
Classifications are:
- Purposes: Logging, Notifying, Disrupting and Blocking
- Target: One, Some or All users
- Response duration: Instantaneous (e.g. just for the request), Period (e.g. time period or session duration), Permanent
Silent
ASR-A: Logging Change
| id |
ASR-A |
| title |
Logging Change |
| classifications |
Logging | One, some or all users | Instantaneous (request) or for a period |
| category |
Silent |
| description |
The granularity of logging is changed (typically more logging). |
| consideration | |
| examples |
Example 1: Capture sanitised request headers and response bodies Example 2: Full stack trace of error messages logged Example 3: Record DNS data on user's IP address Example 4: Security logging level changed to include 'informational' messages |
| code |
- |
ASR-B: Administrator Notification
| id |
ASR-B |
| title |
Administrator Notification |
| classifications |
Logging and notifying | One, some or all users | Instantaneous |
| category |
Silent |
| description |
A notification message is sent to the application administrator(s) |
| consideration | |
| examples |
Example 1: Email alert sent to everyone in the administration team Example 2: SMS alert sent to the on-call administrator Example 3: Visual indicator displayed on an application monitoring dashboard Example 4: Audible alarm in the control room |
| code |
- |
ASR-C: Other Notification
| id |
ASR-C |
| title |
Other Notification |
| classifications |
Logging and notifying | One user | Instantaneous |
| category |
Silent |
| description | |
| consideration | |
| examples |
Example 1: Broadcast event to SIEM Example 2: Signal sent to network firewall Example 3: Alert sent to fraud protection department Example 4: Record added to server event log Example 5: Event highlighted in a daily management report Example 6: Email alert to staff member's manager Example 7: Proactive entry added to customer support system (e.g. "Someone had difficulty logging in with this customer's username - request extra validation for telephone enquiries") |
| code |
- |
ASR-D: User Status Change
| id |
ASR-D |
| title |
User Status Change |
| classifications |
Logging | One user | For a period |
| category |
Passive |
| description | |
| consideration | |
| examples |
Example 1: Internal trustworthiness scoring about the user changed Example 2: Reduce payment transfer limit for the customer before additional out-of-band verification is required Example 3: Reduce maximum file size limit for each file upload by the forum user Example 4: Increase data validation strictness for all form submissions by this citizen Example 5: Reduce the number of failed authentication attempts allowed before the user's account is locked (ASR-K below) |
| code |
- |
ASR-E: User Notification
| id |
ASR-E |
| title |
User Notification |
| classifications |
Logging, notifying and disrupting | One user | Instantaneous |
| category |
Passive |
| description | |
| consideration | |
| examples |
Example 1: On-screen message about mandatory form fields (e.g. "The 'occupation' must be completed") Example 2: On-screen message about data validation issues (e.g. 'The bank sort code can only contain six digits with optional hyphens') Example 3: Message sent by email to the registered email address to inform them their password has been changed |
| code |
- |
ASR-F: Timing Change
| id |
ASR-F |
| title |
Timing Change |
| classifications |
Logging and disrupting | One, some or all users | Instantaneous (request) or for a period |
| category |
Passive |
| description | |
| consideration | |
| examples |
Example 1: Extend response time for each failed authentication attempt Example 2: File upload process duration extended artificially Example 3: Add fixed time delay into every response Example 4: Order flagged for manual checking Example 5: Goods despatch put on hold (e.g. despatch status changed) |
| code |
- |
ASR-G: Process Terminated
| id |
ASR-G |
| title |
Process Terminated |
| classifications |
Logging, notifying (sometimes) and disrupting | One user | Instantaneous |
| category |
Active |
| description | |
| consideration | |
| examples |
Example 1: Discard data, display message and force user to begin business process from start Example 2: Redirection to log-in page Example 3: Redirection to home page Example 4: Display other content (i.e. terminate process but display the output of some other page without redirect) |
| code |
- |
ASR-H: Function Amended
| id |
ASR-H |
| title |
Function Amended |
| classifications |
Logging, notifying (sometimes), disrupting and blocking | One, some or all users | For a period or permanent |
| category |
Active |
| description | |
| consideration | |
| examples |
Example 1: Limit on feature usage rate imposed Example 2: Reduce number of times/day the user can submit a review Example 3: Additional registration validation steps Example 4: Additional anti-automation measures (e.g. out-of-band verification activated, CAPTCHA introduced) Example 5: Static rather than dynamic content returned Example 6: Additional validation requirements for delivery address Example 7: Watermarks added to pages, images and other content |
| code |
- |
ASR-I: Function Disabled
| id |
ASR-I |
| title |
Function Disabled |
| classifications |
Logging, notifying (sometimes), disrupting and blocking | One, some or all users | For a period or permanent |
| category |
Active |
| description | |
| consideration | |
| examples |
Example 1: 'Add friend' feature inactivated Example 2: 'Recommend to a colleague' feature links removed and disabled Example 3: Document library search disabled Example 4: Prevent new site registrations Example 5: Web service inactivated Example 6: Content syndication stopped Example 7: Automated Direct Debit system turned off and manual form offered instead |
| code |
- |
ASR-J: Account Logout
| id |
ASR-J |
| title |
Account Logout |
| classifications |
Logging, notifying (sometimes), disrupting and blocking | One user | Instantaneous |
| category |
Active |
| description | |
| consideration | |
| examples |
Example 1: Session terminated and user redirected to logged-out message page Example 2: Session terminated only (no redirect) |
| code |
- |
ASR-K: Account Lockout
| id |
ASR-K |
| title |
Account Lockout |
| classifications |
Logging, notifying (sometimes), disrupting and blocking | One user | For a period or permanent |
| category |
Active |
| description | |
| consideration | |
| examples |
Example 1: User account locked for 10 minutes Example 2: User account locked permanently until an Administrator resets it Example 3: One user's IP address range blocked Example 4: Unauthenticated user's session terminated |
| code |
- |
ASR-L: Application Disabled
| id |
ASR-L |
| title |
Application Disabled |
| classifications |
Logging, notifying (sometimes), disrupting and blocking | All users | Permanent |
| category |
Active |
| description | |
| consideration | |
| examples |
Example 1: Website shut down and replaced with temporary static page Example 2: Application taken offline |
| code |
- |
ASR-M: Collect Data from User
| id |
ASR-M |
| title |
Collect Data from User |
| classifications |
Logging | One user | For a period |
| category |
Intrusive |
| description | |
| consideration | |
| examples |
Example 1: Deploy additional browser fingerprinting using JavaScript in responses Example 2: Deploy a Java applet to collect remote IP address Example 3: Deploy JavaScript to collect information about the user's network |
| code |
- |
