Binary Software Analyzer for Metadata-Free Security Inspection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Analyzing binary software code for security risks is challenging when submitted without metadata, as it is in an unreadable format, making it difficult to identify malicious code or vulnerabilities.

Innovation Solution

A binary software analyzer is used to scan for text strings, associate the software platform, disassemble, and decompile the code to detect security risks, even without metadata, by identifying keywords and patterns specific to different platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If binary software code is submitted without metadata, then submission flexibility is improved, but code analysis capability deteriorates

Engineering Contradiction:
Improvesubmission flexibilityVSAvoidcode analysis capability
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary actions by scanning the binary code to identify text strings and keywords before the actual security analysis. This preliminary identification of platform-specific keywords enables the system to determine the software platform and configure appropriate disassembly and decompilation parameters, thus preparing the analysis environment in advance despite the absence of metadata

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Text strings and keywords serve as intermediaries between the binary code and the analysis engine. By extracting and analyzing these text elements, the system can infer the software platform and configure the appropriate analysis tools, bridging the gap caused by missing metadata without requiring direct metadata input

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive disassembly and decompilation operations are performed, then security detection precision is improved, but processing time increases

Engineering Contradiction:
Improvesecurity detection precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary disassembly operations first, which are faster and provide initial structural information. Based on the results of this preliminary analysis and identified text strings, the system then selectively performs decompilation operations only when necessary, avoiding unnecessary full decompilation and thus reducing overall processing time while maintaining detection precision

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The analysis process is segmented into distinct stages: text string extraction, platform identification, disassembly, and decompilation. Each stage builds upon the previous one and can be selectively executed, allowing the system to perform comprehensive analysis when needed while optimizing for speed in cases where earlier stages provide sufficient information

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3633532B1Analyzing binary software code
Publication Date: 2023.09.06 BLACKBERRY LTD
  • EP3633532B1 patent drawingFigure 1~3
  • EP3633532B1 patent drawingFigure 2

AI summary

Systems, methods, and software can be used to analyze binary software codes. In some aspects, a computer-implemented method comprises: scanning, by at least one hardware processor, a binary software code to identify one or more text strings; associating, by the at least one hardware processor, the binary software code with a software platform based on the identified one or more text strings; disassembling, by the at least one hardware processor, the binary software code based on the software platform associated with the binary software code; and detecting, by the at least one hardware processor, a security risk in the disassembled binary software code.