Instrumentation Code for CI/CD Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development environments are often overlooked in security measures, leading to potential compromises, such as the Solarwinds Orion platform incident, where CI/CD build systems are vulnerable to 'supply chain' attacks, compromising security and integrity.

Innovation Solution

The implementation of instrumentation code within software development environments, such as Team City and Jenkins, to capture transaction data and enforce access policies, block unauthorized transactions, and require multifactor authentication, thereby enhancing security without modifying the existing environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If instrumentation code is inserted into the software development environment to enforce access policies, then security is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary access control system that inserts instrumentation code into the software development environment. This intermediary layer monitors transactions and enforces access policies without requiring fundamental changes to the underlying CI/CD pipeline, thereby improving security while maintaining manageable complexity through modular integration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If transaction-level security policies are enforced through instrumentation code, then security is improved, but ease of operation deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The instrumentation code automatically monitors and enforces access policies for transactions within the software development environment. The system self-manages security checks, authentication requirements, and transaction blocking without requiring manual intervention for each security decision, thereby maintaining ease of operation while improving security.

Inventive Principle:
Principle #25Self-service

3Reliability

If access policies are enforced to block unauthorized transactions, then security is improved, but productivity decreases

Engineering Contradiction:
ImprovesecurityVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary authentication and authorization checks through instrumentation code before transactions are executed. By pre-validating access policies and requiring multifactor authentication in advance, the system prevents unauthorized transactions from consuming resources, thereby protecting security while minimizing impact on legitimate productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240095370A1Protecting software development environments from malicious actors
Publication Date: 2024.03.21 CISCO TECHNOLOGY INC
  • US20240095370A1 patent drawing
  • US20240095370A1 patent drawing
  • US20240095370A1 patent drawing

AI summary

In one embodiment, a device obtains transaction data regarding a transaction attempted within a software development environment, wherein the transaction data is captured by instrumentation code inserted into the software development environment at runtime. The device identifies, based on the transaction data, an access policy for the transaction. The device makes, based on the access policy, a determination that the transaction is not authorized. The device causes, via the instrumentation code, the transaction to be blocked from completing within the software development environment.