Insider Threat Detection in Source Code via Static Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security vulnerability assessment technologies are inadequate in providing comprehensive assessments for software products, often resulting in insufficient testing and increased risks of embedded security vulnerabilities, including insider threats due to compromised coding practices and malicious code.

Innovation Solution

A system and method that utilize static analysis, data flow, and control flow analyses in combination with machine learning techniques to identify and label security vulnerabilities, prioritize potential insider threats, and customize results for authorized personnel, enhancing the detection of unpermitted data and insider threats in source code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If security vulnerability assessment technologies are used, then security vulnerabilities can be detected, but the assessment is not comprehensive and produces false positives

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidassessment comprehensiveness
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the vulnerability assessment process into multiple independent analysis components: static analysis, data flow analysis, control flow analysis, and machine learning-based pattern recognition. Each component focuses on specific vulnerability types, improving detection accuracy while maintaining manageable system complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system combines multiple analysis techniques (static analysis, data flow analysis, control flow analysis) and machine learning models into a composite assessment framework. This composite approach leverages the strengths of each method to achieve comprehensive vulnerability detection with reduced false positives, as each technique compensates for the weaknesses of others.

Inventive Principle:
Principle #40Composite materials

2Reliability

If comprehensive security testing is performed, then security vulnerabilities are better identified, but development time increases and quality suffers

Engineering Contradiction:
Improvesecurity vulnerability identificationVSAvoiddevelopment cycle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary security analysis by integrating static analysis and pattern recognition into the development process itself, rather than conducting comprehensive testing only at the end. This allows vulnerabilities to be identified and addressed during development, reducing the need for extensive retesting and accelerating the overall development cycle.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system replaces manual, time-consuming security testing with automated analysis techniques including machine learning models and rule-based detection systems. This substitution maintains high vulnerability identification capability while dramatically reducing the time required for security assessment.

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

3Measurement precision

If expert software developers and security professionals manually track security vulnerabilities, then accurate identification is achieved, but the process is time-consuming and resource-intensive

Engineering Contradiction:
Improvevulnerability tracking accuracyVSAvoidtime to track vulnerabilities
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service vulnerability tracking by automatically analyzing code, executing security rules, and generating vulnerability reports without requiring continuous expert intervention. Machine learning models autonomously identify patterns and prioritize vulnerabilities, maintaining high accuracy while eliminating the time costs associated with manual expert analysis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces an intermediary automated analysis layer between the code and human experts. This intermediary performs preliminary filtering, classification, and prioritization of vulnerabilities using machine learning and rule-based systems, presenting only the most critical findings to experts for verification, thereby reducing both time consumption and resource requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If multiple analysis techniques are combined, then insider threats are better detected, but system complexity increases

Engineering Contradiction:
Improveinsider threat detectionVSAvoidanalysis system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments insider threat detection into specialized analysis modules: static analysis for code anomalies, data flow analysis for suspicious data operations, control flow analysis for unusual execution patterns, and machine learning for behavioral analysis. Each module independently analyzes specific aspects, improving detection reliability while managing complexity through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system merges results from multiple independent analysis techniques into a unified threat assessment. By combining findings from static analysis, data flow analysis, control flow analysis, and machine learning models, the system achieves comprehensive insider threat detection that leverages the complementary strengths of each technique while presenting a consolidated view to users.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11366901B2System and method for identifying insider threats in source code
Publication Date: 2022.06.21 BANK OF AMERICA CORP
  • US11366901B2 patent drawing
  • US11366901B2 patent drawing
  • US11366901B2 patent drawing

AI summary

A system configured for identifying insider threats in source code conducts an automated analysis designed to identify instances of insider threats. The system performs a static analysis on results from the automated analysis to identify instances of keywords related to methods and targets of insider threats, external data being used, code layering is used to obfuscate a content. The system identifies points of correlations between instances found by performing the static analysis and assigns weight values to code portions based on the number of points of correlations found in the code portions. The system identifies code portions having weight values above a threshold value, thereby detecting instances of insider threats in source code.