Source Code Security Analysis via Behavioral Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing security functions in computer systems, including user authentication and access control, often fail to prevent harmful activities such as unauthorized access and phishing attacks, especially in software development environments where sensitive information can be compromised, leading to potential vulnerabilities and costly issues.

Innovation Solution

A method is introduced to manage source code security by deriving source code characteristics and generating risk information based on these characteristics, which includes profiling a user's coding style and measuring deviations from normal behavior to identify unusual changes, thereby providing a risk score that can alert administrators or delay check-ins for further review.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional security functions (authentication and access control) are implemented, then basic protection against unauthorized access is provided, but they fail to prevent harmful activities such as phishing attacks and insider threats

Engineering Contradiction:
Improvesecurity protection capabilityVSAvoidphishing attacks and insider threats
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary analysis of source code changes against established coding styles and patterns before allowing commits. By pre-evaluating code changes against known secure patterns and developer behavior baselines, the system can detect phishing attempts and insider threats before they cause harm, rather than reacting after security breaches occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary security analysis layer between the developer's code submission and the final commit to the repository. This intermediary component automatically analyzes code changes, compares them against secure coding patterns, and can block suspicious submissions, thereby mediating between development needs and security requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If source code changes are rapidly accepted to maintain development productivity, then software development speed is improved, but the risk of malicious code insertion increases

Engineering Contradiction:
Improvesoftware development speedVSAvoidmalicious code insertion
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system enables self-service security monitoring where the automated security analysis performs continuous, real-time evaluation of code changes as developers work. The system serves itself by automatically detecting anomalies, generating alerts, and blocking malicious code without requiring manual security review for every change, thus maintaining high development speed while providing continuous security protection.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The security analysis operates continuously throughout the development process, providing ongoing monitoring and protection rather than periodic security checks. This continuous action allows the system to detect malicious code insertion attempts at any point in the development cycle without interrupting the developer's workflow or reducing productivity.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If manual code review is performed for every source code change, then code quality and security are improved, but the time required for review increases

Engineering Contradiction:
Improvecode quality and securityVSAvoidcode review time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the code review process into two distinct parts: automated analysis that handles routine security checks, pattern matching, and baseline comparisons, and manual review that focuses only on complex or suspicious changes flagged by the automated system. This segmentation allows automated functions to handle the bulk of time-consuming tasks while human reviewers focus only on critical issues.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system replaces manual mechanical code review processes with automated mechanical analysis systems that can rapidly evaluate code changes against established patterns and baselines. The automated system performs the repetitive, time-consuming tasks of comparing code against secure patterns, tracking developer behavior baselines, and identifying anomalies, thereby reducing the time human reviewers must spend on routine security checks.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10089463B1Managing security of source code
Publication Date: 2018.10.02 EMC IP HLDG CO LLC
  • US10089463B1 patent drawing
  • US10089463B1 patent drawing

AI summary

A method is used in managing security of source code. Source code characteristics are derived from a source code change. Based on the source code characteristics, risk information associated with the source code change is produced.