Web Service Vulnerability Detection via Identity-Based Branch Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web services are vulnerable to second-order attacks due to differing security handling based on the identity of the requester, leading to potential code injection attacks from trusted entities that lack adequate security checks.

Innovation Solution

A system and method for detecting vulnerabilities in Web services by determining if they select different paths in program code based on the requester's identity, using black box testing and impersonation of trusted entities to simulate attacks and compare responses for potential vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a Web service implements different security handling based on requester identity to provide customized service, then service adaptability is improved, but security vulnerability increases due to potential code injection attacks from trusted entities

Engineering Contradiction:
Improveservice adaptabilityVSAvoidsecurity vulnerability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary analysis of the Web service code to identify branches that are selected based on requester identity. By detecting these identity-based branches in advance, the system can prepare appropriate security testing approaches before actual attacks occur, preventing vulnerable code paths from being exploited.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The security system acts as an intermediary between the attacker and the Web service. It impersonates trusted requesters to test security vulnerabilities by injecting malicious code through identity-based branches, thereby detecting vulnerabilities without directly attacking the production system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a Web service trusts certain requesters and skips security checks for them to improve operation efficiency, then ease of operation is improved, but security vulnerability increases due to lack of security validation

Engineering Contradiction:
Improveoperation efficiencyVSAvoidsecurity vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system preliminarily identifies branches in the Web service code that are taken based on requester identity. By detecting these branches beforehand, the system can specifically test security vulnerabilities in the code paths that are trusted but potentially vulnerable, without needing to implement security checks in all code paths.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The security system creates copies of trusted requester identities to perform security testing. By impersonating these trusted entities, the system can safely test whether security checks are properly implemented in identity-based branches without affecting actual operational efficiency.

Inventive Principle:
Principle #26Copying

3Reliability

If a Web service implements comprehensive security checks for all requesters to prevent attacks, then security reliability is improved, but device complexity increases due to uniform security handling

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies security testing locally to specific code branches that are selected based on requester identity. Instead of uniformly testing all code paths, the system focuses security analysis on the specific branches that are taken when trusted requesters are involved, reducing overall system complexity while maintaining security reliability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter being tested from general security checks to identity-based branch selection. By focusing on detecting whether branches are selected based on requester identity, the system simplifies the security analysis process while effectively identifying vulnerabilities in trusted entity handling.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10586049B2Detection of second order vulnerabilities in web services
Publication Date: 2020.03.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10586049B2 patent drawing
  • US10586049B2 patent drawing
  • US10586049B2 patent drawing

AI summary

A system for detecting a vulnerability in a Web service can include a processor configured to initiate executable operations including determining whether a Web service uses identity of a requester to select one of a plurality of different paths of a branch in program code of the Web service and, responsive to determining that the Web service does select one of a plurality of different paths of a branch according to identity of the requester, indicating that the Web service has a potential vulnerability.