Runtime Security Assessment via Test Code Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for detecting security vulnerabilities in web applications, such as SQL injection and cross-site scripting (XSS), are inadequate as they often require extensive manual testing and may not effectively identify vulnerabilities in real-time, leading to potential security breaches.

Innovation Solution

A method and system for runtime security assessment that involves injecting test code into web applications to simulate attacks and monitor reactions, using profiling and debugging tools to analyze behavior and detect vulnerabilities dynamically, allowing for adaptive testing sessions and generation of exploit modules for identified issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual testing methods are used to detect security vulnerabilities, then detection capability is provided, but extensive manual testing time and resources are required

Engineering Contradiction:
Improvesecurity vulnerability detection capabilityVSAvoidmanual testing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables automated self-testing of web applications by injecting test code that automatically executes security vulnerability tests without requiring manual intervention. The test code gathers reactions dynamically and generates reports autonomously, allowing the application to test itself.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Test code acts as an intermediary between the web application and the testing system. This injected code facilitates automated interaction by capturing execution reactions and transmitting them to the testing system for analysis, eliminating the need for manual testing operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional security assessment methods are used, then security vulnerabilities may be detected, but real-time detection capability is insufficient

Engineering Contradiction:
Improvesecurity vulnerability detectionVSAvoidreal-time detection speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Test code is injected into the web application in advance, positioning the testing mechanism within the application's execution environment before actual security threats occur. This preliminary setup enables real-time monitoring and detection as the application runs normally.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing system operates continuously during application runtime by monitoring execution reactions in real-time. The injected test code remains active throughout the application's operation, providing ongoing security assessment rather than periodic checks.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If test code is injected into the application code, then adaptive security testing is enabled, but system complexity increases

Engineering Contradiction:
Improveadaptive security testing capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The testing system is segmented into distinct functional components: test code injection module, reaction gathering module, analysis module, and report generation module. This segmentation allows each component to perform its specific function independently, managing complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The injected test code serves multiple functions simultaneously: it monitors application execution, captures various types of security reactions, and provides data for vulnerability analysis. This multi-functionality reduces the need for separate testing mechanisms for different security aspects.

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

Data Source

PatentEP2513793B1Method and system of runtime analysis
Publication Date: 2018.11.14 SYNOPSYS INC
  • EP2513793B1 patent drawingFigure 1
  • EP2513793B1 patent drawingFigure 2
  • EP2513793B1 patent drawingFigure 3

AI summary

A method and a system for detecting one or more security vulnerabilities. The method comprises providing test instructions for an application, such as a web application or a client server application, adding test code to a code segment of the application according to the test instructions, sending at least one message to the application according to the test instructions at runtime thereof, monitoring test information pertaining to at least one reaction of the application to the at least one message during an execution of the test code, performing an analysis of the at least one reaction, and detecting a presence or an absence of at least one security vulnerability according to the analysis.