IP Library Granted Patent US 11,995,192
Granted Patent B2
US 11,995,192 · App. 17/551,759 · Granted May 28, 2024

System for static analysis of binary executable code and source code using fuzzy logic and method thereof

Inventor: Daniil Vladimirovich Chernov (Sharjah, AE)
Assignee: Daniil Vladimirovich Chernov
G06F21/577G06F21/563G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,995,192
App. No.
17/551,759
Granted
May 28, 2024
Kind
B2
Abstract

A computer-implemented static analysis system for binary executables and source code configured to detect vulnerabilities, undocumented features and other input program errors. The system uses a fuzzy logic engine to reduce a number of false positives and false negatives results. The system has a decompiler configured to receive a source code of an input program and represent the input program in a target low-level language code (LLC) intermediate representation (IR) and a frontend configured to receive a binary code representation of the input program and represent the input program in the target LLC IR. The system further has an analyzer configured to receive the target LLC IR and analyze the target LLC IR to detect vulnerabilities, undocumented features and input program errors using predetermined rules stored in a rule module and provided to the analyzer. The analyzer uses the fuzzy logic engine to receive substantially more accurate results.

Claims (95)

1. A computer-implemented static analysis system for binary executables and source code to detect vulnerabilities, undocumented features and other input program errors, the system comprising:

at least one computing device having a processor;

a decompiler operating on the processor configured to receive a source code of an input program and represent the input program in a target low-level language code (LLC) intermediate representation (IR);

a frontend operating on the processor configured to receive a binary code representation of the input program and represent the input program in the target LLC IR;

an analyzer configured to receive the target LLC IR and analyze the target LLC IR to detect vulnerabilities, undocumented features and input program errors using predetermined rules stored in a rule module and provided to the analyzer,

the analyzer having a fuzzy logic engine to reduce a number of false positives and false negatives results; and

a security report module comprises outputting a security report that comprises the vulnerabilities, the undocumented features and the input program errors detected by the analyzer,

wherein the fuzzy logic engine uses a fuzzy set of pairs (P, m), where P is a set of positives, all of which have a patternId, and m: P→[0, 1] a membership function which determines confidence.

2. The system according to claim 1 , wherein the target LLC IR is a Low Level Virtual Machine (LLVM) Intermediate Representation (IR).

3. The system according to claim 1 , wherein the fuzzy logic engine considers a plurality of metrics, the plurality of metrics comprising:

variety of complaining clients on each project;

number of complaining client on each project;

variety of projects from which complaints are received;

number of the projects; and

number of complaints.

4. The system according to claim 3 , wherein the fuzzy logic engine applies the following formula (I):

H

=

-

n

=

1

N

p

n

log

p

n

,

n

=

1

N

p

n

=

1

,

(

I

)

where p n is a percentage of errors among all mistakes made for all projects relative to a single pattern and N is a number of patterns.

5. The system according to claim 1 , wherein the analyzer configured to use taint analysis and/or symbolic interpretation analysis.

6. The system according to claim 1 , wherein the security report comprises: (a) detected vulnerabilities and undocumented features; (b) results within one project or different groups of projects to track the progress of vulnerability elimination or occurrence; (c) recommendations for cybersecurity and/or development teams; and (d) web application firewall (WAF) configuration recommendations to block and prevent possibility of exploiting vulnerabilities during the input program corrections.

7. A computer-implemented method for analyzing binary executables and source code of an input program to detect vulnerabilities, undocumented features and other input program errors, the method comprising:

identifying a presentation of the input program to determine whether the input program is presented in a source code or a binary code;

if the input program is presented in the source code, processing the input program by a decompiler to represent the input program in a target low-level language code (LLC) intermediate representation (IR);

if the input program is presented in the source code, processing the input program by a frontend to represent the input program and represent the input program in the target LLC IR;

analyzing by an analyzer the target LLC IR to detect vulnerabilities, undocumented features and input program errors using predetermined rules stored in a rule module and provided to the analyzer, wherein the analyzer comprises a fuzzy logic engine to reduce a number of false positives and false negatives results; and

outputting a security report by a security report module that comprises the vulnerabilities, the undocumented features and the input program errors detected by the analyzer,

wherein the fuzzy logic engine uses a fuzzy set of pairs (P, m), where P is a set of positives, all of which have a patternId, and in: P→[0, 1] a membership function which determines confidence.

8. The computer-implemented method according to claim 7 , wherein the target LLC IR is a Low Level Virtual Machine (LLVM) Intermediate Representation (IR).

9. The computer-implement method according to claim 8 , wherein the security report comprises: (a) detected vulnerabilities and undocumented features; (b) results within one project or different groups of projects to track the progress of vulnerability elimination or occurrence; (c) recommendations for cybersecurity and/or development teams; and (d) WAF configuration recommendations to block and prevent possibility of exploiting vulnerabilities during the input program corrections.

10. The computer-implement method according to claim 7 , wherein the fuzzy logic engine considers a plurality of metrics, the plurality of metrics comprising:

variety of complaining clients on each project;

number of complaining client on each project;

variety of projects from which complaints are received;

number of the projects; and

number of complaints.

11. The computer-implement method according to claim 10 , wherein the fuzzy logic engine applies the following formula (I):

H

=

-

n

=

1

N

p

n

log

p

n

,

n

=

1

N

p

n

=

1

,

(

I

)

where p n is a percentage of errors among all mistakes made for all projects relative to a single pattern and N is a number of patterns.

12. The computer-implement method according to claim 7 , wherein the analyzer configured to use taint analysis and/or symbolic interpretation analysis.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2022
From: OBSHCHESTVO S OGRANICHENNOI OTVETSTVENNOSTIU "SOLAR SEKIURITI"
To: CHERNOV, DANIIL VLADIMIROVICH
Reel/Frame 060487/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: CHERNOV, DANIIL VLADIMIROVICH
To: OBSHCHESTVO S OGRANICHENNOI OTVETSTVENNOSTIU "SOLAR SEKIURITI"
Reel/Frame 058596/0632 →
Continuity (1)
Related Publication 20230177168A1 · Jun 8, 2023