ML Server Log Analysis for Web App Attack Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web application firewalls are ineffective in detecting previously-unknown types of attacks, as they rely on rule-based logic that requires human identification and development of countermeasures after the fact, failing to automatically detect new attack patterns in real-time.

Innovation Solution

A machine learning system analyzes server logs to identify patterns of behavior associated with malicious external computing devices and vulnerable URIs, using features such as fast crawling, error status codes, and user-agent patterns to raise alerts for potentially malicious activity, enabling real-time detection of unknown attacks without prior understanding of their mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If web application firewalls use rule-based logic to detect attacks, then known attack patterns can be blocked, but previously-unknown types of attacks cannot be detected

Engineering Contradiction:
Improveattack detection accuracyVSAvoidcapability to detect new attack patterns
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent replaces the mechanical rule-based system with a machine learning system that automatically analyzes server logs and identifies attack patterns. The ML system uses algorithms to detect anomalies and previously-unknown attack types without requiring explicit human-defined rules, thereby substituting the rigid mechanical approach with an adaptive intelligent system.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the detection parameters from fixed rule-based criteria to dynamic patterns learned from server log data. The ML system analyzes multiple parameters including HTTP status codes, request frequencies, user-agent patterns, and response times to identify attack behavior, allowing the system to adapt to new attack types by learning from changing data patterns rather than relying on static rules.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If human experts manually identify and develop countermeasures for new attacks, then targeted protection can be implemented, but real-time automatic detection is not achieved

Engineering Contradiction:
Improvetargeted protection effectivenessVSAvoidtime to respond to new attacks
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a self-service system where the machine learning model automatically identifies new attack patterns and generates protection rules without human intervention. The system continuously learns from server logs, autonomously detects previously-unknown attacks, and implements countermeasures in real-time, eliminating the need for manual expert analysis and reducing response time from days or weeks to minutes or seconds.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback loops where the ML system continuously monitors attack patterns, evaluates the effectiveness of implemented countermeasures, and adjusts its detection algorithms accordingly. The system uses feedback from blocked attacks and server log data to refine its models, enabling continuous improvement and adaptation to evolving threats while maintaining automatic real-time detection capabilities.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If server logs are analyzed using machine learning to identify malicious devices, then previously-unknown attacks can be detected, but the system complexity increases

Engineering Contradiction:
Improvedetection of unknown attack typesVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal machine learning system that handles multiple detection functions through a single platform. The ML model analyzes various types of server logs (access logs, error logs, security logs) and detects different attack patterns (SQL injection, XSS, brute force, previously-unknown attacks) using the same infrastructure, reducing overall system complexity compared to having separate specialized systems for each detection task.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a machine learning intermediary layer that sits between the server logs and the security response system. This ML intermediary processes raw log data, extracts meaningful patterns, and translates them into actionable security insights, simplifying the overall system architecture by acting as a mediator that handles the complexity of pattern recognition while presenting simplified outputs to downstream security systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11223637B2Detecting attacks on web applications using server logs
Publication Date: 2022.01.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11223637B2 patent drawing
  • US11223637B2 patent drawing
  • US11223637B2 patent drawing

AI summary

A previously-unknown type of attack on a web application can be detected dynamically using server logs. An alert can be raised for an application that returns a valid response to the potential attacker (e.g., when an http (hypertext transfer protocol) status code of 200 is returned to the requestor). Server logs can be analyzed to identify an external computer that uses the same attack methodology on multiple targets. The external computer may attempt to access the same Uniform Resource Identifier (URI) on various web sites. In many cases, the http status code that is returned is an error code. Characteristics such as but not limited to fast crawling and numerous error status codes being returned to a particular requestor can be used by a machine learning (ML) system to identify potentially malicious external computing devices and/or vulnerable URIs.