Distributed Security Testing Sandboxes for Parallel Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for software application development fail to efficiently support parallel development across multiple branches while ensuring enterprise-level security and compliance, leading to rework and repetition in vulnerability testing and policy adherence.

Innovation Solution

A platform and methodology that enables sharing of centralized security and vulnerability policy data among developers in segregated development environments, allowing for simultaneous testing and compliance analysis across multiple branches without synchronization, using application-level security policy parameters and sandboxes to facilitate distributed security and vulnerability testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers work in separate development environments in parallel, then development productivity is improved, but synchronization burden and testing repetition increase

Engineering Contradiction:
Improvedevelopment productivityVSAvoidsynchronization burden
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the application into multiple components that can be developed independently in separate sandboxes. Each sandbox maintains isolation for parallel development while the policy engine segments policy enforcement into reusable rules that apply across all components, eliminating the need for full-application synchronization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The policy engine serves multiple functions simultaneously: it enforces security policies, performs vulnerability scanning, and provides compliance tracking across all sandboxes. The centralized policy repository acts as a universal knowledge base that all development environments access, eliminating redundant testing and synchronization needs.

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

2Reliability

If enterprise-level policies are checked only after overall application compilation, then policy compliance is ensured, but rework and repetition of effort increase

Engineering Contradiction:
Improvepolicy complianceVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Policy compliance checks are performed preliminarily within each sandbox during component development rather than waiting for final application compilation. The policy engine evaluates security rules and vulnerability criteria early, allowing developers to correct issues before integration, thereby preventing rework while maintaining compliance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback loops where the policy engine monitors each sandbox's code changes in real-time, providing immediate compliance status and vulnerability alerts. This feedback mechanism allows developers to adjust their code during development rather than discovering compliance issues after compilation, improving both reliability and productivity.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If multiple developers scan their branches independently, then development autonomy is maintained, but synchronization and collision avoidance become complex

Engineering Contradiction:
Improvedevelopment autonomyVSAvoidsynchronization complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The centralized policy engine acts as an intermediary between independent sandboxes. Each developer maintains autonomy by scanning their branch locally, but the policy engine mediates by collecting scan results, evaluating them against centralized policies, and coordinating compliance decisions. This eliminates the need for direct synchronization between developers while maintaining system-wide consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If vulnerability testing is performed on the entire compiled application, then comprehensive security checking is achieved, but testing time and cost increase

Engineering Contradiction:
Improvesecurity checking completenessVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The application is segmented into independent components developed in separate sandboxes, each tested for vulnerabilities independently. The policy engine segments the overall security assessment into component-level evaluations, achieving comprehensive security checking without requiring full-application compilation and testing, thereby reducing testing time and cost.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3072079B1A system and method for implementing application policies among development environments
Publication Date: 2019.10.30 VERACODE INC
  • EP3072079B1 patent drawingFigure 1

AI summary

In a system for facilitating distributed security and vulnerability testing of a software application, each development sandbox in a set of sandboxes receives a portion of the entire application, and the received portion may be tested based on an application-level security policy to obtain a pass/fail result. The portion of the application corresponding to a certain sandbox may be modified and rescanned (i.e., retested) until the modifications, i.e., development achieves functional and quality requirements, and a pass result is obtained. Thereafter, the scan results are promoted to a policy sandbox, where a compliance result for the entire software application can be obtained based on, at least in part, the promoted results. Other sandboxes may also perform their respective pass/fail testing using the promoted results, thus minimizing the need for synchronizing the code changes in different sandboxes before testing for security policy in any sandbox and/or during application-level scanning.