Recursive Web Crawler for Vulnerability Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Web application testing methods are inadequate in identifying vulnerabilities, especially in complex Web sites with sophisticated elements like JAVA code and applets, as they often fail to penetrate deeply and analyze all potential security threats, leaving companies vulnerable to attacks.

Innovation Solution

A recursive crawler-analyzer system that initiates from a seed URL, crawling and analyzing Web objects, exercising them, and performing attack sequences to discover and assess vulnerabilities, with the ability to recursively explore additional objects found during the process, providing a deeper and more thorough analysis than traditional methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional Web application testing methods are used, then the testing process is simple and fast, but the ability to identify vulnerabilities in complex Web sites is insufficient

Engineering Contradiction:
Improvevulnerability identification accuracyVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The testing system is divided into distinct functional modules: a crawler component for discovering Web objects, an analyzer component for examining security vulnerabilities, and an attack sequence executor for testing identified weaknesses. This segmentation allows each module to specialize in specific tasks, improving vulnerability detection accuracy while maintaining manageable system complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements recursive testing where the crawler discovers Web objects, the analyzer examines them for vulnerabilities, and when new objects are found during analysis, the crawler recursively processes these newly discovered objects. This nested recursive structure enables deep penetration into complex Web applications, allowing the system to identify hidden vulnerabilities that traditional single-pass methods miss, while the recursion is controlled to prevent infinite loops.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Loss of time

If traditional testing methods are used, then the testing time is short, but the depth of analysis and penetration into Web applications is insufficient

Engineering Contradiction:
Improvetesting timeVSAvoidsecurity assessment completeness
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The crawler component performs preliminary discovery of all Web objects (pages, forms, links, embedded content) before the main security analysis begins. This preliminary mapping of the Web application structure allows the subsequent analysis phase to focus efficiently on examining security vulnerabilities across all discovered objects, rather than searching for objects during the security testing phase, thus saving time while maintaining comprehensive coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous recursive crawling and analysis where the crawler and analyzer work in an ongoing iterative manner. As the analyzer discovers new Web objects or vulnerabilities, the crawler immediately continues to discover related objects, and the analysis continues without interruption. This continuous action ensures thorough security assessment of complex Web applications while optimizing time usage by eliminating idle periods between discovery and analysis phases.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8566945B2System and method for testing web applications with recursive discovery and analysis
Publication Date: 2013.10.22 MICRO FOCUS LLC
  • US8566945B2 patent drawing
  • US8566945B2 patent drawing
  • US8566945B2 patent drawing

AI summary

A recursive web crawling and analysis tool that includes conducting an initial crawl of a target to identify testable or analyzable objects. The objects are then parsed to identify vulnerabilities, as well as additional objects that can be analyzed. An attack is then launched against the analyzable objects in an effort to break or verify the vulnerabilities. During this attack, additional analyzable objects may be discovered. If such additional objects are discovered, the web crawler is invoked on the additional objects as well, and the results of the crawl are fed back into the parser and attacker functions.