SlideShare a Scribd company logo
1 of 14
Download to read offline
Optimized software protection
EFFICIENT CODE OBFUSCATOR
DESIGN CRITERIA
Optimized software protection
WHY OBFUSCATING CODE ?
THE I.P GROWING CONCERN
 COMPETITIVE EDGE MOVING FROM HARDWARE TO SOFTWARE (SOFTWARIZATION
TREND)
 SOFTWARE PATENTABILITY IS VERY QUESTIONABLE
 ZERO INVESTMENT FOR THE ATTACKER - TWO CLICKS I.P VIOLATION
PARADOXICAL SITUATION
NEW CORPORATE STRATEGIC TOPIC
THE PARADOX OF SOFTWARE
PROTECTIONE)
Optimized software protection
WHY OBFUSCATING CODE ?
THE CYBER GROWING CONCERN
OBFUSCATION IS THE NEXT TOPIC IN CYBER
JUST BECAUSE SOFTWARE IS CORE EVERYWHERE
Optimized software protection
YOUR OBFUSCATION OBJECTIVES MAY BE PART OF:
A.  LEVERAGE ATTACKER EFFORT HIGHER THAN DEVELOPMENT
COSTS
B.  PREVENT HIGHLY SENSITIVE CODE FROM BEING ANALYSED
C.  PROTECT CODE THAT DEAL WITH SENSITIVE DATA
D.  HIDE YOUR USE OF LIBRARIES OR THIRD PARTY CODE
POTENTIALLY KNOWN TO BE VULNERABLE.
ACCURACY (GRANULARITY) , ANY CODE
INCLUDING 3RD PARTY
Optimized software protection
ATTACKER CODE ANALYSIS READS
STATIC
ALL CODE
BEING UNDER
SCRUTINY
DYNAMIC
STEP BY STEP CODE
TRACING
EXPANDING THE CODE COMPLEXITY: TWO DIMENSIONS:
HORIZONTAL AND VERTICAL AXIS
Optimized software protection
Original Obfuscated code graph
(SOLIDSHIELD)
OBFUSCATION IMPACT
verticalextent
Horizontal extent
Artificial complexity of the
graph (horizontal extent)
does NOT bring much if
attack is aimed at
intelligence collecting.
Code expansion (vertical
extent) if not reducible
generate the extra effort
Optimized software protection
BEST DEFENSE TACTICS
DELAY THE DYNAMIC ANALYSIS WITH NON
REDUCIBLE COMPLEX CODE LAYER
<>
CODE EXPANSION MADE OF
VARIABLE CODE PATTERNS
BLOCK STATIC ANALYSIS
Optimized software protection
The attacker will collect an execution trace and will try to
find out repetitions to shorten her code analysis work.
>BREAK PROGRESS
Optimized software protection
OPTIMIZED CONVERTER OF YOUR
BUDGET* INTO ATTACKER's EFFORT
(Budget*=acceptable software performance degradation)
VARIABILITY/ NO REPETITIONS
Optimized software protection
LOOPS AND ESPECIALLY
NESTED LOOPS ARE ALWAYS
CRITICAL WHEN APPLYING
OBFUSCATION
CONTROL ON PERFORMANCE
DEGRADATION IS TOTALLY
UNDER YOUR BUDGET
GRANULAR SETTING
INSTRUCTION LEVEL
Optimized software protection
POWER
OPPOSING FORCES
POWER MEANS
CODE
EXPANSION
AND
VARIABILITY
Optimized software protection
FONCTION A
VIRTUALISER
(CODE)
BYTECODE
SYNTAXE GENEREE
DYNAMIQUEMENT
(=DONNÉES)
ENSEMBLE
D'EXECUTEURS
(MACHINE VIRTUELLE)
(CODE)
CODE VIRTUALIZATION
Principle: It transforms your code into a
project-specific-syntax-bytecode totally
opaque for the reverser (and the machine).
The bytecode is decoded line by line with a set
of executors at runtime. The same instruction
of the bytecode can be decoded by very
different executors, which generates no
repetition on the executed trace, thus no short
cut for the reverser
Optimized software protection
CODE VIRTUALIZATION AAA FEATURES:
A. IT GENERATES INFINITE VARIABILITY AT THE LOWEST GRAIN (EACH
INSTRUCTION CAN BE VERY DIFFERENTLY EMULATED)
A. EACH INSTRUCTION EMULATION CAN BE SWITCHED OFF, HENCE
DELIVERING TOTAL CONTROL ON PERFORMANCE AT THE LOWEST
GRAIN
A. EACH INSTRUCTION EMULATION CAN BE INVERSED (BY US) AND
TESTED FOR SAFETY CHECKS AT THE LOWEST GRAIN.
VIRTUALIZATION JOKER CARD:
CODE VIRTUALIZATION IS APPLIED ON ANY CODE
WITHOUT ACCESS TO ITS SOURCES OR DEVELOPER.
IT CAN BE SETTUP BY ANY PARTY WITHOUT
PROGRAMING, FOR THE EASIEST WORKFLOW.
Optimized software protection
SOLIDSHIELD
VIRTUALIZATION SOLUTION
MAKES THE BEST USE OF
ENERGY
(i.e, the code expansion)
TO GENERATE THE HIGHEST
LEVEL OF EFFORTS
(in your budget of performance degradation).

More Related Content

Similar to Linkedin SOLIDSHIELD

A taxonomy of obfuscating transformations
A taxonomy of obfuscating transformationsA taxonomy of obfuscating transformations
A taxonomy of obfuscating transformationsemanuele_nl
 
IRJET- Obfuscation: Maze of Code
IRJET- Obfuscation: Maze of CodeIRJET- Obfuscation: Maze of Code
IRJET- Obfuscation: Maze of CodeIRJET Journal
 
The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...
The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...
The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...CA Technologies
 
Secure Your Kubernetes Apps from Attacks with NGINX
Secure Your Kubernetes Apps from Attacks with NGINXSecure Your Kubernetes Apps from Attacks with NGINX
Secure Your Kubernetes Apps from Attacks with NGINXNGINX, Inc.
 
How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis Perforce
 
Automotive Cybersecurity: Test Like a Hacker
Automotive Cybersecurity: Test Like a HackerAutomotive Cybersecurity: Test Like a Hacker
Automotive Cybersecurity: Test Like a HackerForAllSecure
 
Secure development of code
Secure development of codeSecure development of code
Secure development of codeSalomeVictor
 
SCSD 2020 - Security Risk Assessment of Radio-Enabled Technologies
SCSD 2020 - Security Risk Assessment of Radio-Enabled TechnologiesSCSD 2020 - Security Risk Assessment of Radio-Enabled Technologies
SCSD 2020 - Security Risk Assessment of Radio-Enabled TechnologiesMarco Balduzzi
 
Proving the Security of Low-Level Software Components & TEEs
Proving the Security of Low-Level Software Components & TEEsProving the Security of Low-Level Software Components & TEEs
Proving the Security of Low-Level Software Components & TEEsAshley Zupkus
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuseEntando
 
White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?TI Safe
 
SecureDELTA - Pitch Deck Gallery - Innovation Labs
SecureDELTA - Pitch Deck Gallery - Innovation LabsSecureDELTA - Pitch Deck Gallery - Innovation Labs
SecureDELTA - Pitch Deck Gallery - Innovation Labsstartupro
 
Version based software watermark
Version based software watermarkVersion based software watermark
Version based software watermarkeSAT Journals
 
Agnitum Technology Licensing
Agnitum Technology LicensingAgnitum Technology Licensing
Agnitum Technology LicensingPavel Fyodorov
 
Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018
Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018
Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018Codemotion
 
TDC2017 - Embedded Linux - Deploy Software Update for Linux Devices
TDC2017 - Embedded Linux - Deploy Software Update for Linux DevicesTDC2017 - Embedded Linux - Deploy Software Update for Linux Devices
TDC2017 - Embedded Linux - Deploy Software Update for Linux DevicesCaio Pereira
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET Journal
 
Building security from scratch
Building security from scratchBuilding security from scratch
Building security from scratchRoman Zelenko
 

Similar to Linkedin SOLIDSHIELD (20)

A taxonomy of obfuscating transformations
A taxonomy of obfuscating transformationsA taxonomy of obfuscating transformations
A taxonomy of obfuscating transformations
 
IRJET- Obfuscation: Maze of Code
IRJET- Obfuscation: Maze of CodeIRJET- Obfuscation: Maze of Code
IRJET- Obfuscation: Maze of Code
 
The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...
The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...
The CA Technologies | Veracode Platform: A 360-Degree View of Your Applicatio...
 
Secure Your Kubernetes Apps from Attacks with NGINX
Secure Your Kubernetes Apps from Attacks with NGINXSecure Your Kubernetes Apps from Attacks with NGINX
Secure Your Kubernetes Apps from Attacks with NGINX
 
How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis
 
Automotive Cybersecurity: Test Like a Hacker
Automotive Cybersecurity: Test Like a HackerAutomotive Cybersecurity: Test Like a Hacker
Automotive Cybersecurity: Test Like a Hacker
 
Secure development of code
Secure development of codeSecure development of code
Secure development of code
 
SCSD 2020 - Security Risk Assessment of Radio-Enabled Technologies
SCSD 2020 - Security Risk Assessment of Radio-Enabled TechnologiesSCSD 2020 - Security Risk Assessment of Radio-Enabled Technologies
SCSD 2020 - Security Risk Assessment of Radio-Enabled Technologies
 
Proving the Security of Low-Level Software Components & TEEs
Proving the Security of Low-Level Software Components & TEEsProving the Security of Low-Level Software Components & TEEs
Proving the Security of Low-Level Software Components & TEEs
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
 
Intro
IntroIntro
Intro
 
White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?
 
SecureDELTA - Pitch Deck Gallery - Innovation Labs
SecureDELTA - Pitch Deck Gallery - Innovation LabsSecureDELTA - Pitch Deck Gallery - Innovation Labs
SecureDELTA - Pitch Deck Gallery - Innovation Labs
 
Version based software watermark
Version based software watermarkVersion based software watermark
Version based software watermark
 
Version based software watermark
Version based software watermarkVersion based software watermark
Version based software watermark
 
Agnitum Technology Licensing
Agnitum Technology LicensingAgnitum Technology Licensing
Agnitum Technology Licensing
 
Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018
Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018
Fabrizio Cornelli - Securing Android Apps by Reversing - Codemotion Milan 2018
 
TDC2017 - Embedded Linux - Deploy Software Update for Linux Devices
TDC2017 - Embedded Linux - Deploy Software Update for Linux DevicesTDC2017 - Embedded Linux - Deploy Software Update for Linux Devices
TDC2017 - Embedded Linux - Deploy Software Update for Linux Devices
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable Software
 
Building security from scratch
Building security from scratchBuilding security from scratch
Building security from scratch
 

Linkedin SOLIDSHIELD

  • 1. Optimized software protection EFFICIENT CODE OBFUSCATOR DESIGN CRITERIA
  • 2. Optimized software protection WHY OBFUSCATING CODE ? THE I.P GROWING CONCERN  COMPETITIVE EDGE MOVING FROM HARDWARE TO SOFTWARE (SOFTWARIZATION TREND)  SOFTWARE PATENTABILITY IS VERY QUESTIONABLE  ZERO INVESTMENT FOR THE ATTACKER - TWO CLICKS I.P VIOLATION PARADOXICAL SITUATION NEW CORPORATE STRATEGIC TOPIC THE PARADOX OF SOFTWARE PROTECTIONE)
  • 3. Optimized software protection WHY OBFUSCATING CODE ? THE CYBER GROWING CONCERN OBFUSCATION IS THE NEXT TOPIC IN CYBER JUST BECAUSE SOFTWARE IS CORE EVERYWHERE
  • 4. Optimized software protection YOUR OBFUSCATION OBJECTIVES MAY BE PART OF: A.  LEVERAGE ATTACKER EFFORT HIGHER THAN DEVELOPMENT COSTS B.  PREVENT HIGHLY SENSITIVE CODE FROM BEING ANALYSED C.  PROTECT CODE THAT DEAL WITH SENSITIVE DATA D.  HIDE YOUR USE OF LIBRARIES OR THIRD PARTY CODE POTENTIALLY KNOWN TO BE VULNERABLE. ACCURACY (GRANULARITY) , ANY CODE INCLUDING 3RD PARTY
  • 5. Optimized software protection ATTACKER CODE ANALYSIS READS STATIC ALL CODE BEING UNDER SCRUTINY DYNAMIC STEP BY STEP CODE TRACING EXPANDING THE CODE COMPLEXITY: TWO DIMENSIONS: HORIZONTAL AND VERTICAL AXIS
  • 6. Optimized software protection Original Obfuscated code graph (SOLIDSHIELD) OBFUSCATION IMPACT verticalextent Horizontal extent Artificial complexity of the graph (horizontal extent) does NOT bring much if attack is aimed at intelligence collecting. Code expansion (vertical extent) if not reducible generate the extra effort
  • 7. Optimized software protection BEST DEFENSE TACTICS DELAY THE DYNAMIC ANALYSIS WITH NON REDUCIBLE COMPLEX CODE LAYER <> CODE EXPANSION MADE OF VARIABLE CODE PATTERNS BLOCK STATIC ANALYSIS
  • 8. Optimized software protection The attacker will collect an execution trace and will try to find out repetitions to shorten her code analysis work. >BREAK PROGRESS
  • 9. Optimized software protection OPTIMIZED CONVERTER OF YOUR BUDGET* INTO ATTACKER's EFFORT (Budget*=acceptable software performance degradation) VARIABILITY/ NO REPETITIONS
  • 10. Optimized software protection LOOPS AND ESPECIALLY NESTED LOOPS ARE ALWAYS CRITICAL WHEN APPLYING OBFUSCATION CONTROL ON PERFORMANCE DEGRADATION IS TOTALLY UNDER YOUR BUDGET GRANULAR SETTING INSTRUCTION LEVEL
  • 11. Optimized software protection POWER OPPOSING FORCES POWER MEANS CODE EXPANSION AND VARIABILITY
  • 12. Optimized software protection FONCTION A VIRTUALISER (CODE) BYTECODE SYNTAXE GENEREE DYNAMIQUEMENT (=DONNÉES) ENSEMBLE D'EXECUTEURS (MACHINE VIRTUELLE) (CODE) CODE VIRTUALIZATION Principle: It transforms your code into a project-specific-syntax-bytecode totally opaque for the reverser (and the machine). The bytecode is decoded line by line with a set of executors at runtime. The same instruction of the bytecode can be decoded by very different executors, which generates no repetition on the executed trace, thus no short cut for the reverser
  • 13. Optimized software protection CODE VIRTUALIZATION AAA FEATURES: A. IT GENERATES INFINITE VARIABILITY AT THE LOWEST GRAIN (EACH INSTRUCTION CAN BE VERY DIFFERENTLY EMULATED) A. EACH INSTRUCTION EMULATION CAN BE SWITCHED OFF, HENCE DELIVERING TOTAL CONTROL ON PERFORMANCE AT THE LOWEST GRAIN A. EACH INSTRUCTION EMULATION CAN BE INVERSED (BY US) AND TESTED FOR SAFETY CHECKS AT THE LOWEST GRAIN. VIRTUALIZATION JOKER CARD: CODE VIRTUALIZATION IS APPLIED ON ANY CODE WITHOUT ACCESS TO ITS SOURCES OR DEVELOPER. IT CAN BE SETTUP BY ANY PARTY WITHOUT PROGRAMING, FOR THE EASIEST WORKFLOW.
  • 14. Optimized software protection SOLIDSHIELD VIRTUALIZATION SOLUTION MAKES THE BEST USE OF ENERGY (i.e, the code expansion) TO GENERATE THE HIGHEST LEVEL OF EFFORTS (in your budget of performance degradation).