<commit_before>RISC-V Binary Translation
==============================

Dynamic Binary translation is the process of translating binary code for
one architecture to another on the fly.

Crypto Binary Translation is the process of translating binary code for
one architecture to another while introducing entropy into the translation
to prevent attacks based on static code analysis.

Crypto Binary Translation
-------------------------------

Present day attacks on operating systems and application software are
typically based on static analysis of binaries. The exploitation of
software vulnerabilities uses static information based on known versions
of executables running on the target system. Return Orientated Programming
(ROP) attacks use the location of known executable gadgets in the target
application binary image to bypass present day security defenses such as
non-executable heap and stack. ROP-oriented programming allows escalation
of stack buffer overflow vulnerabilities by injecting the return addresses
of executable gadgets onto the stack, diverting control flow on procedure
return, allowing escalation of a stack buffer overflow into a potential
remote execution vulnerability.

The assumption made by all present zero day shell code or exploits is that
payloads can rely on a known execution environment such as the ability to
call C library routines or system calls to elevate the exploit sequence into
executing payload code on the target system, ultimately escalating privileges.
These assumptions are based on the target system exposing a standard (ABI)
Application Binary Image.

Crypto Binary Translation introduces runtime interposition between
applications and the target operating system by using keyspace in the
ABI (Application Binary Interface) to bond an application to a custom
randomised version of the ABI, thus preventing all exploits that are based
on static analysis of binaries and the target system ABI. Addresses, System
call numbers, register assignments and code layout are randomised into a
state-space whereby bonding each application is bonded to the target operating
system making the target system immune to traditional exploit payloads.<commit_msg>Crypto Binary Translation grammar fix<commit_after>RISC-V Binary Translation
==============================

Dynamic Binary translation is the process of translating binary code for
one architecture to another on the fly.

Crypto Binary Translation is the process of translating binary code for
one architecture to another while introducing entropy into the translation
to prevent attacks based on static code analysis.

Crypto Binary Translation
-------------------------------

Present day attacks on operating systems and application software are
typically based on static analysis of binaries. The exploitation of
software vulnerabilities uses static information based on known versions
of executables running on the target system. Return Orientated Programming
(ROP) attacks use the location of known executable gadgets in the target
application binary image to bypass present day security defenses such as
non-executable heap and stack. ROP-oriented programming allows escalation
of stack buffer overflow vulnerabilities by injecting the return addresses
of executable gadgets onto the stack, diverting control flow on procedure
return, allowing escalation of a stack buffer overflow into a potential
remote execution vulnerability.

The assumption made by all present zero day shell code or exploits is that
payloads can rely on a known execution environment such as the ability to
call C library routines or system calls to elevate the exploit sequence into
executing payload code on the target system, ultimately escalating privileges.
These assumptions are based on the target system exposing a standard (ABI)
Application Binary Image.

Crypto Binary Translation introduces runtime interposition between
applications and the target operating system by using keyspace in the
ABI (Application Binary Interface) to bond an application to a custom
randomised version of the ABI, thus preventing all exploits that are based
on static analysis of binaries and the target system ABI. Addresses, System
call numbers, register assignments and code layout are randomised into a
state-space whereby each application is bonded to the target operating
system making the target system immune to traditional exploit payloads.
{'fraction_non_alphanumeric': 0.0406871609403255, 'fraction_numerical': 0.0, 'mean_word_length': 5.111878453038674, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5480997', 'n_tokens_mistral': 926, 'n_tokens_neox': 827, 'n_words': 618}