SlideShare a Scribd company logo
A Survey of Cryptologic Issues
in Computer Virology
When Cryptology becomes malicious...
Eric Filiol
.
efiliol@esat.terre.defense.gouv.fr
http://www-rocq.inria.fr/codes/Eric.Filiol/index.html
Laboratoire de virologie et de cryptologie
Ecole Sup´erieure et d’Application des Transmissions
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.1/23
Introduction
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
Introduction
Cryptology is the deep core of every computer security
mechanism.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
Introduction
Cryptology is the deep core of every computer security
mechanism.
Dual of cryptoloy is essential and critical in computer
virology.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
Introduction
Cryptology is the deep core of every computer security
mechanism.
Dual of cryptoloy is essential and critical in computer
virology.
Cryptologic techniques can put antiviral detection at
check very easily.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
Introduction
Cryptology is the deep core of every computer security
mechanism.
Dual of cryptoloy is essential and critical in computer
virology.
Cryptologic techniques can put antiviral detection at
check very easily.
Until now they are not used a lot or very poorly
implemented in practice:
There is worst in store... unless if it not already the
case.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
Plan
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
Plan
A (very) Short Introduction to Cryptology and
Computer Virology.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
Plan
A (very) Short Introduction to Cryptology and
Computer Virology.
Disseminating Codes: Random Generation for Worms.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
Plan
A (very) Short Introduction to Cryptology and
Computer Virology.
Disseminating Codes: Random Generation for Worms.
Code Mutation: Polymorphism by Encryption.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
Plan
A (very) Short Introduction to Cryptology and
Computer Virology.
Disseminating Codes: Random Generation for Worms.
Code Mutation: Polymorphism by Encryption.
Code Armouring: the BRADLEY Technology.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
Plan
A (very) Short Introduction to Cryptology and
Computer Virology.
Disseminating Codes: Random Generation for Worms.
Code Mutation: Polymorphism by Encryption.
Code Armouring: the BRADLEY Technology.
Some Other Aspects and Conclusion.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
Taxonomy - Terminology
Cryptology
Two main domains:
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.4/23
Taxonomy - Terminology
Cryptography.- The study of optimal mathematical
primitives and properties that can be used to design
efficient algorithms to protect the confidentiality of
Information.
Symmetric cryptography.
Asymmetric cryptography.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.4/23
Taxonomy - Terminology
Cryptography.- The study of optimal mathematical
primitives and properties that can be used to design
efficient algorithms to protect the confidentiality of
Information.
Symmetric cryptography.
Asymmetric cryptography.
Cryptanalysis.- The set of mathematical techniques
which aim at attacking the core encryption algorithm to
illegitimately access the encrypted message either
directly or by recovering the secret key first.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.4/23
Taxonomy - Terminology (2)
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.5/23
Taxonomy - Terminology (2)
Applied Cryptanalysis.- The set of techniques which aim
at attacking encryption mechanisms at the
implementation level or at the key/algorithm
management level: issue of the (armoured) security
door on a paper wall.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.5/23
Taxonomy - Terminology (2)
Physical attacks: DPA, Timing Attack, BPA...
Computer attacks: cache attacks, spying malware,
CORE/PageFile....
Human attacks: key compromission...
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.5/23
Taxonomy - Terminology (3)
Anti-antiviral techniques:
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
Taxonomy - Terminology (3)
Anti-antiviral techniques:
Stealth.- Techniques aiming at convincing the user, the
operating system and antiviral programs that there is
no malicious code in the machine while indeed there is
some.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
Taxonomy - Terminology (3)
Anti-antiviral techniques:
Code mutation.- Ability to make its own code change
(encryption, rewriting) to bypass the sequence-based
detection. Includes Polymorphism and Metamorphism.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
Taxonomy - Terminology (3)
Anti-antiviral techniques:
Armouring.- Ability to delay or forbid code
(human-driven or software-driven) analysis through
disassembly/debugging.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
Random Generation and Worm
Propagation
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
Random Generation and Worm
Propagation
To propagate, worms need to randomly generate target
IP addresses.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
Random Generation and Worm
Propagation
To propagate, worms need to randomly generate target
IP addresses.
The propagation must be time and space
homogeneous (for most of classical worms).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
Random Generation and Worm
Propagation
To propagate, worms need to randomly generate target
IP addresses.
The propagation must be time and space
homogeneous (for most of classical worms).
The random generation process must be weighted and
as good as possible.
IP addresses should be uniformly distributed, at
least locally.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
Random Generation and Worm
Propagation
To propagate, worms need to randomly generate target
IP addresses.
The propagation must be time and space
homogeneous (for most of classical worms).
The random generation process must be weighted and
as good as possible.
IP addresses should be uniformly distributed, at
least locally.
Use of encryption primitives/algorithms to generate
randomness.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
The Sapphire/Slammer Case
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
The Sapphire/Slammer Case
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
The Sapphire/Slammer Case
The randomness is very bad, due to a programming
error.
DATA:00402138 mov esi, eax ;
DATA:0040213A or ebx, ebx ;
DATA:0040213C xor ebx, 0FFD9613Ch ;
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
The Sapphire/Slammer Case
The worm uses the Microsoft modular congruential
generator:
xn+1 = (xn ∗ 214013 + 2531011) modulo 232
.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
The Sapphire/Slammer Case
Register EBX should contain the constant value
2531011.
In fact, it contains the value 0FFD9613CH xored
with the GetProcAddress API address, in other
words 77f8313H, 77e89b18H or 77ea094H.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
The Sapphire/Slammer Case
Second error: the increment value 0FFD9613CH
corresponds in fact to −2531011.
Consequently this increment value is always either odd
or even ⇒ strong bias !
According to the parity of the x0 initial value, the
32-bit values produced are either all even (even
seed) or odd (odd seed).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
The Sapphire/Slammer Case
The bad quality of the random generation of IP
addresses strongly hindered the own worm
propagation.
Strong concentration of the worm attacks in Asia.
South Korea has been disconnected from Internet
during 24 hours.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
The Blaster Worm Case
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.9/23
The Blaster Worm Case
Weighted random generation of IP addresses.
Very good randomness quality achieved.
Nearly 1,000,000 targets infected during the 24 first
hours.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.9/23
The Blaster Worm Case
Let us consider a IPv4 address A.B.C.D, a random number
N is produced:
if N < 12 (proba = 0.6), random generation of bytes A,
B and C (D = 0).
Addresses of type [1..254].[0..253].[0..253].0
(spreading to C subclass networks).
otherwise (proba = 0.4), if byte C of local address > 20,
le worm substracts 20 to C and D set to 0.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.9/23
Code Mutation through Encryption
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
Code Mutation through Encryption
Sequence-based detection is mostly used nowadays
(Filiol - 2006; Filiol, Jacob, Le Liard - 2006).
Scan of more or less complex invariant patterns.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
Code Mutation through Encryption
Principle: the code encrypts/decrypts itself by means
of a key that is different every time.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
Code Mutation through Encryption
MOV EDI, OFFSET START ENCRYPT ; EDI = viral
body offset
ADD EDI, EBP
MOV ECX, 0A6BH ; viral code size
MOV AL, SS:Key[EBP] ; the key (one byte)
DECRYPT LOOP:
XOR [EDI], AL ; encr./decryp. constant xor
INC EDI ; LOOP DECRYPT LOOP
JMP SHORT START ENCRYPT ; jump to the code
start
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
Code Armouring (1)
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.11/23
Code Armouring (1)
Any (malicious or not) code can be analysed by
(human-driven) disassembly/debugging.
A high virulence enables the initial detection.
The analysis enables to understand the attack and to
update antivirus.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.11/23
Code Armouring (1)
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.11/23
Code Armouring Techniques
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
Code Armouring Techniques
Definition 0 (Armoured Code)Code which contains
instruction or programming techniques whose purpose is
to delay, make more complex or forbid its own analysis
(generally by disassembly and/or debugging).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
Code Armouring Techniques
Different techniques used:
Code Obfuscation: transform a program into another
one which is functionally equivalent but more complex
to analyse.
Code mutation by rewriting.
Code mutation by encryption.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
Code Armouring Techniques
All these techniques are limited by nature:
They are deterministic. They delay analysis at most.
As for encryption, generally weak cryptographic
primitives are used.
Very poor key management.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
Code Armouring Techniques
Whale Virus (September 1990) - First example known.
Limited virulence.
Encryption techniques of code in memory.
Multi-layer encryption/obfuscation/code interleaving.
Very poor cryptographic algorithms and no key
management however.
Able to detect a debugger in use and react accordingly.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
Environmental Key Manegement
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
Environmental Key Manegement
Cryptographic are built from environmental data only.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
Environmental Key Manegement
Cryptographic are built from environmental data only.
The code itself ignores which data are used to build
the key.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
Environmental Key Manegement
Cryptographic are built from environmental data only.
The code itself ignores which data are used to build
the key.
The key is built when needed only.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
Environmental Key Manegement
Cryptographic are built from environmental data only.
The code itself ignores which data are used to build
the key.
The key is built when needed only.
The security model assumes the attacker (e.g. the
code analyst) may have total control over the
environment.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
Some Constructions
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.14/23
Some Constructions
N an integer corresponding to an environmental
observation.
H a one-way function.
M = H(N). The value M is carried by the code.
R a random nonce.
K a key.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.14/23
Some Constructions
if H(N) = M then K = N.
if H(H(N)) = M then K = H(N).
if H(Ni) = Mi then K = H(N1, N2, . . . , Ni).
if H(N) = M then K = H(R1, N) ⊕ R2.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.14/23
BRADLEY Codes
.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
BRADLEY Codes
.
Family of proof-of-concept codes designed and tested
in order to prove the existence of, study and evaluate
the operational capability of total code armouring.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
BRADLEY Codes
.
Two main classes:
Class A.- Targeted codes to attack a specific group
of users/machines.
Class B.- Targeted codes to attack a very small
number of users/machines.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
BRADLEY Codes
.
Why using total armouring (from the malware writer’s
side)?
To forbid antivirus update.
To hide the malware actions.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
BRADLEY Codes
.
D CPV CPV21 CPV3
1 2 3
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
BRADLEY Codes
.
A decryption procedure D collects activation data,
tests and evaluate them. If result is OK, D deciphers
the different parts of the code.
Code part EVP1 (key K1).- Anti-antiviral techniques
(active and passive).
Code part EVP2 (key K2).- Infection and propagation +
metamorphism.
Code part EVP3 (key K3).- Payload (optional; in our
case to monitor the code activity).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
Key Maganement Protocol
Environmental activation data (class A):
local DNS address (e.g @company.com) denoted α,
clock time (hh only) and system date (mmdd) denoted
δ,
a specific data which is present within the target
system, denoted ι,
a fixed specific data under the attacker’s control’s only;
it is externally accessible to the code (e.g. a fixed data
whose access is time-limited), denoted π.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
Key Maganement Protocol
Class B:
The data ι is a public key which is present into the
target system (pubring.gpg).
The code may target a very specific user.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
Key Maganement Protocol
D collects environmental data and computes
V = H(H(α ⊕ δ ⊕ ι ⊕ π) ⊕ ν)
where ν describes the first 512 bits in EVP1.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
Key Maganement Protocol
If V = M (M activation data) then
K1 = H(α ⊕ δ ⊕ ι ⊕ π)
otherwise D halts and the code self-disinfects.
D deciphers EVP1 to give VP1 = DK1 (EVP1) and then
executes it. Then D computes
K2 = H(K1 ⊕ ν2)
where ν2 describes the first 512 bits in VP1.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
Key Maganement Protocol
D deciphers EVP2 to give VP2 = DK2 (EVP2) and runs
it. Then D computes
K3 = H(K1 ⊕ K2 ⊕ ν3)
where ν3 describes the first 512 last bits in VP2.
D deciphers EVP3 to give VP3 = DK3 (EVP3) and runs
it.
Once the code has operated, it totally self-disinfects.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
Key Maganement Protocol
From replication to replication, the whole has mutated
(including D and M).
Keys K1, K2 and K3 may involve more environmental
data.
More sophisticated protocols and codes structures
have been designed and successfully tested (e.g.
detection of honeypots).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
Mathematical Analysis
To evaluate the code analysis complexity, two cases have
to be considered:
the analyst has the binary code at his disposal,
he has not.
The second case is the most realistic one (since the code
self-disinfects). Let us however consider the first case.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
Mathematical Analysis
Proposition 0 Analysis of BRADLEY has an exponential
complexity.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
Mathematical Analysis
Decipherment procedure D leaks only:
the activation value V = M,
the fact that the system date and time are required,
the fact that data α, ι and π are required.
A successful analysis needs to recover the exact
secret key K1 used by the code.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
Mathematical Analysis
Classical cryptanalysis.- For a (n, m)-hash function, we
must perform 2
3n−2m
2 operation.
Dictionary attack.- We must perform 2n
operations.
All things being considered, the overall complexity is
min(2n
, 2
3n−2m
2 ) = 2n
operations (2512
for SHA-1).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
Tests
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.18/23
Tests
Total Armouring combined with a limited virulence,
effectively forbids code analysis.
This concepts has been successfully tested in close
network without any detection by existing AVs.
Attack launched at time t.
Effective propagation complexted at time t + 15′
.
The data π was active between time t + 1′
and time
t + 15′
only.
A number of other cases have been tested (see
bibliography).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.18/23
Tests
No technical solution against BRADLEY-like codes.
Only solution: critical networks must be isolated.
Strong security policies.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.18/23
Other Aspects
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.19/23
Other Aspects
Cryptology may be considered for the payload.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.19/23
Other Aspects
Cryptology may be considered for the payload.
Retaliation or money extorsion (cryptovirus):
Virus Ransom.A and Trojan horse
Trojan.PGP.Coder (2005).
Applied cryptanalysis:
Magic Lantern worm (FBI - 2001).
Ymun codes (ESAT - 2002).
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.19/23
Other Aspects (2)
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
Other Aspects (2)
Use of efficient cryptanalysis techniques to implement
τ-obfuscation (Beaucamps - Filiol 2006):
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
Other Aspects (2)
Use of efficient cryptanalysis techniques to implement
τ-obfuscation (Beaucamps - Filiol 2006):
The code encrypts itself and “throws” the key away.
When executed, the code performs a cryptanalysis to
recover the key.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
Other Aspects (2)
Use of efficient cryptanalysis techniques to implement
τ-obfuscation (Beaucamps - Filiol 2006):
The code can accept a significantly large operation
time τ but not the antivirus.
Current improvement of E0 zero knowledge-like
crytpanalysis (Filiol - 2006).
Other such cryptanalysis are under current
research.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
Conclusion
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.21/23
Conclusion
Cryptology becomes a critical issue in modern
computer virology.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.21/23
Conclusion
Cryptology becomes a critical issue in modern
computer virology.
There is a strong need to develop and maintain
capability and skills in the cryptanalysis field.
Until now, the complexity of most of the underlying
problems is still too high for an efficient antiviral
action.
Security policies must be strengthened to compensate.
This is the only solution at the present time!
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.21/23
Questions
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.22/23
Questions
Thanks for your attention!
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.22/23
References
E. Filiol - Computer Viruses: from Theory to Applications, IRIS International
Series, Springer, 2005 - ISBN 2-287-23939-1.
E. Filiol - Techniques virales avancées, collection IRIS, Springer, 2007. An English
translation is pending for end of 2007.
Journal MISC - Le journal de la sécurité informatique - ISSN 1631-9030.
XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.23/23

More Related Content

PDF
Agisa towards automatic generation of infection signatures
PDF
A tour of the worm
PDF
Advanced fuzzing in the vo ip space
PDF
Approaching zero the extraordinary underworld of hackers, phreakers, virus ...
PDF
A sense of 'danger' for windows processes
PDF
Automated classification and analysis of internet malware
PDF
Automatic binary deobfuscation
PDF
A short course on computer viruses
Agisa towards automatic generation of infection signatures
A tour of the worm
Advanced fuzzing in the vo ip space
Approaching zero the extraordinary underworld of hackers, phreakers, virus ...
A sense of 'danger' for windows processes
Automated classification and analysis of internet malware
Automatic binary deobfuscation
A short course on computer viruses

Viewers also liked (10)

PDF
Bird binary interpretation using runtime disassembly
PDF
Accurately detecting source code of attacks that increase privilege
PDF
Anti malware tools intrusion detection systems
PDF
Automatically generated win32 heuristic virus detection
PDF
Anomalous payload based network intrusion detection
PDF
Are the current computer crime laws sufficient or should the writing of virus...
PDF
Applications of genetic algorithms to malware detection and creation
PDF
Binary obfuscation using signals
PDF
A week is a long time in computer ethics
PDF
Antivirus software testing for the new millenium
Bird binary interpretation using runtime disassembly
Accurately detecting source code of attacks that increase privilege
Anti malware tools intrusion detection systems
Automatically generated win32 heuristic virus detection
Anomalous payload based network intrusion detection
Are the current computer crime laws sufficient or should the writing of virus...
Applications of genetic algorithms to malware detection and creation
Binary obfuscation using signals
A week is a long time in computer ethics
Antivirus software testing for the new millenium
Ad

Similar to A survey of cryptologic issues in computer virology (20)

PDF
Computer Viruses and Malware by John Aycock (auth.) (z-lib.org).pdf
PDF
Cryptovirology: Virus Approach
PDF
A generic virus detection agent on the internet
PPTX
Antimalware
PPT
PDF
50120130406012
PDF
Automated malware invariant generation
PPTX
Topic 1. Intro.pptx;n;b;jvljvlvlvlv''ojoj
PPTX
Lecture 02 - 05 Oct 21.pptx
PPT
Intruders and Viruses in Network Security NS9
PDF
A Probabilistic Approach Using Poisson Process for Detecting the Existence of...
PPTX
Obfuscation and Mutation in Malware
PPTX
04-malware.pptx "Malware creeps unseen, corrupting data and control."
PPTX
Malware- Types, Detection and Future
PDF
A fault tolerance approach to computer viruses
PPTX
Antivirus programs and Security Teams in E-Commerce by Ilakia
PDF
Ceis 9 padeep kumar_final_paper
PPT
About Malwares and how to avoide them. suitable for fundamentals of ICT.ppt
PDF
Analysis And Detection Of Computer Viruses And Worms An Annotatedbibliography
PDF
malwareanti-malware-160630191004 (1).pdf
Computer Viruses and Malware by John Aycock (auth.) (z-lib.org).pdf
Cryptovirology: Virus Approach
A generic virus detection agent on the internet
Antimalware
50120130406012
Automated malware invariant generation
Topic 1. Intro.pptx;n;b;jvljvlvlvlv''ojoj
Lecture 02 - 05 Oct 21.pptx
Intruders and Viruses in Network Security NS9
A Probabilistic Approach Using Poisson Process for Detecting the Existence of...
Obfuscation and Mutation in Malware
04-malware.pptx "Malware creeps unseen, corrupting data and control."
Malware- Types, Detection and Future
A fault tolerance approach to computer viruses
Antivirus programs and Security Teams in E-Commerce by Ilakia
Ceis 9 padeep kumar_final_paper
About Malwares and how to avoide them. suitable for fundamentals of ICT.ppt
Analysis And Detection Of Computer Viruses And Worms An Annotatedbibliography
malwareanti-malware-160630191004 (1).pdf
Ad

More from UltraUploader (20)

PDF
DOC
01 intro
DOC
01 le 10 regole dell'hacking
DOC
00 the big guide sz (by dr.to-d)
PDF
[E book ita] php manual
PDF
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
PDF
[Ebook ita - database] access 2000 manuale
DOC
(E book) cracking & hacking tutorial 1000 pagine (ita)
DOC
(Ebook ita - inform - access) guida al database access (doc)
PDF
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
PDF
Broadband network virus detection system based on bypass monitor
PDF
Botnetsand applications
PDF
Bot software spreads, causes new worries
PDF
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
PDF
Blast off!
PDF
Biologically inspired defenses against computer viruses
PDF
Biological versus computer viruses
PDF
Biological aspects of computer virology
PDF
Biological models of security for virus propagation in computer networks
PDF
Beyond layers and peripheral antivirus security
01 intro
01 le 10 regole dell'hacking
00 the big guide sz (by dr.to-d)
[E book ita] php manual
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook ita - database] access 2000 manuale
(E book) cracking & hacking tutorial 1000 pagine (ita)
(Ebook ita - inform - access) guida al database access (doc)
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
Broadband network virus detection system based on bypass monitor
Botnetsand applications
Bot software spreads, causes new worries
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blast off!
Biologically inspired defenses against computer viruses
Biological versus computer viruses
Biological aspects of computer virology
Biological models of security for virus propagation in computer networks
Beyond layers and peripheral antivirus security

A survey of cryptologic issues in computer virology

  • 1. A Survey of Cryptologic Issues in Computer Virology When Cryptology becomes malicious... Eric Filiol . efiliol@esat.terre.defense.gouv.fr http://www-rocq.inria.fr/codes/Eric.Filiol/index.html Laboratoire de virologie et de cryptologie Ecole Sup´erieure et d’Application des Transmissions XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.1/23
  • 2. Introduction XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
  • 3. Introduction Cryptology is the deep core of every computer security mechanism. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
  • 4. Introduction Cryptology is the deep core of every computer security mechanism. Dual of cryptoloy is essential and critical in computer virology. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
  • 5. Introduction Cryptology is the deep core of every computer security mechanism. Dual of cryptoloy is essential and critical in computer virology. Cryptologic techniques can put antiviral detection at check very easily. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
  • 6. Introduction Cryptology is the deep core of every computer security mechanism. Dual of cryptoloy is essential and critical in computer virology. Cryptologic techniques can put antiviral detection at check very easily. Until now they are not used a lot or very poorly implemented in practice: There is worst in store... unless if it not already the case. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.2/23
  • 7. Plan XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
  • 8. Plan A (very) Short Introduction to Cryptology and Computer Virology. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
  • 9. Plan A (very) Short Introduction to Cryptology and Computer Virology. Disseminating Codes: Random Generation for Worms. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
  • 10. Plan A (very) Short Introduction to Cryptology and Computer Virology. Disseminating Codes: Random Generation for Worms. Code Mutation: Polymorphism by Encryption. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
  • 11. Plan A (very) Short Introduction to Cryptology and Computer Virology. Disseminating Codes: Random Generation for Worms. Code Mutation: Polymorphism by Encryption. Code Armouring: the BRADLEY Technology. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
  • 12. Plan A (very) Short Introduction to Cryptology and Computer Virology. Disseminating Codes: Random Generation for Worms. Code Mutation: Polymorphism by Encryption. Code Armouring: the BRADLEY Technology. Some Other Aspects and Conclusion. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.3/23
  • 13. Taxonomy - Terminology Cryptology Two main domains: XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.4/23
  • 14. Taxonomy - Terminology Cryptography.- The study of optimal mathematical primitives and properties that can be used to design efficient algorithms to protect the confidentiality of Information. Symmetric cryptography. Asymmetric cryptography. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.4/23
  • 15. Taxonomy - Terminology Cryptography.- The study of optimal mathematical primitives and properties that can be used to design efficient algorithms to protect the confidentiality of Information. Symmetric cryptography. Asymmetric cryptography. Cryptanalysis.- The set of mathematical techniques which aim at attacking the core encryption algorithm to illegitimately access the encrypted message either directly or by recovering the secret key first. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.4/23
  • 16. Taxonomy - Terminology (2) XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.5/23
  • 17. Taxonomy - Terminology (2) Applied Cryptanalysis.- The set of techniques which aim at attacking encryption mechanisms at the implementation level or at the key/algorithm management level: issue of the (armoured) security door on a paper wall. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.5/23
  • 18. Taxonomy - Terminology (2) Physical attacks: DPA, Timing Attack, BPA... Computer attacks: cache attacks, spying malware, CORE/PageFile.... Human attacks: key compromission... XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.5/23
  • 19. Taxonomy - Terminology (3) Anti-antiviral techniques: XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
  • 20. Taxonomy - Terminology (3) Anti-antiviral techniques: Stealth.- Techniques aiming at convincing the user, the operating system and antiviral programs that there is no malicious code in the machine while indeed there is some. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
  • 21. Taxonomy - Terminology (3) Anti-antiviral techniques: Code mutation.- Ability to make its own code change (encryption, rewriting) to bypass the sequence-based detection. Includes Polymorphism and Metamorphism. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
  • 22. Taxonomy - Terminology (3) Anti-antiviral techniques: Armouring.- Ability to delay or forbid code (human-driven or software-driven) analysis through disassembly/debugging. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.6/23
  • 23. Random Generation and Worm Propagation XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
  • 24. Random Generation and Worm Propagation To propagate, worms need to randomly generate target IP addresses. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
  • 25. Random Generation and Worm Propagation To propagate, worms need to randomly generate target IP addresses. The propagation must be time and space homogeneous (for most of classical worms). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
  • 26. Random Generation and Worm Propagation To propagate, worms need to randomly generate target IP addresses. The propagation must be time and space homogeneous (for most of classical worms). The random generation process must be weighted and as good as possible. IP addresses should be uniformly distributed, at least locally. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
  • 27. Random Generation and Worm Propagation To propagate, worms need to randomly generate target IP addresses. The propagation must be time and space homogeneous (for most of classical worms). The random generation process must be weighted and as good as possible. IP addresses should be uniformly distributed, at least locally. Use of encryption primitives/algorithms to generate randomness. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.7/23
  • 28. The Sapphire/Slammer Case XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
  • 29. The Sapphire/Slammer Case XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
  • 30. The Sapphire/Slammer Case The randomness is very bad, due to a programming error. DATA:00402138 mov esi, eax ; DATA:0040213A or ebx, ebx ; DATA:0040213C xor ebx, 0FFD9613Ch ; XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
  • 31. The Sapphire/Slammer Case The worm uses the Microsoft modular congruential generator: xn+1 = (xn ∗ 214013 + 2531011) modulo 232 . XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
  • 32. The Sapphire/Slammer Case Register EBX should contain the constant value 2531011. In fact, it contains the value 0FFD9613CH xored with the GetProcAddress API address, in other words 77f8313H, 77e89b18H or 77ea094H. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
  • 33. The Sapphire/Slammer Case Second error: the increment value 0FFD9613CH corresponds in fact to −2531011. Consequently this increment value is always either odd or even ⇒ strong bias ! According to the parity of the x0 initial value, the 32-bit values produced are either all even (even seed) or odd (odd seed). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
  • 34. The Sapphire/Slammer Case The bad quality of the random generation of IP addresses strongly hindered the own worm propagation. Strong concentration of the worm attacks in Asia. South Korea has been disconnected from Internet during 24 hours. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.8/23
  • 35. The Blaster Worm Case XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.9/23
  • 36. The Blaster Worm Case Weighted random generation of IP addresses. Very good randomness quality achieved. Nearly 1,000,000 targets infected during the 24 first hours. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.9/23
  • 37. The Blaster Worm Case Let us consider a IPv4 address A.B.C.D, a random number N is produced: if N < 12 (proba = 0.6), random generation of bytes A, B and C (D = 0). Addresses of type [1..254].[0..253].[0..253].0 (spreading to C subclass networks). otherwise (proba = 0.4), if byte C of local address > 20, le worm substracts 20 to C and D set to 0. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.9/23
  • 38. Code Mutation through Encryption XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
  • 39. Code Mutation through Encryption Sequence-based detection is mostly used nowadays (Filiol - 2006; Filiol, Jacob, Le Liard - 2006). Scan of more or less complex invariant patterns. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
  • 40. Code Mutation through Encryption Principle: the code encrypts/decrypts itself by means of a key that is different every time. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
  • 41. Code Mutation through Encryption MOV EDI, OFFSET START ENCRYPT ; EDI = viral body offset ADD EDI, EBP MOV ECX, 0A6BH ; viral code size MOV AL, SS:Key[EBP] ; the key (one byte) DECRYPT LOOP: XOR [EDI], AL ; encr./decryp. constant xor INC EDI ; LOOP DECRYPT LOOP JMP SHORT START ENCRYPT ; jump to the code start XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.10/23
  • 42. Code Armouring (1) XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.11/23
  • 43. Code Armouring (1) Any (malicious or not) code can be analysed by (human-driven) disassembly/debugging. A high virulence enables the initial detection. The analysis enables to understand the attack and to update antivirus. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.11/23
  • 44. Code Armouring (1) XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.11/23
  • 45. Code Armouring Techniques XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
  • 46. Code Armouring Techniques Definition 0 (Armoured Code)Code which contains instruction or programming techniques whose purpose is to delay, make more complex or forbid its own analysis (generally by disassembly and/or debugging). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
  • 47. Code Armouring Techniques Different techniques used: Code Obfuscation: transform a program into another one which is functionally equivalent but more complex to analyse. Code mutation by rewriting. Code mutation by encryption. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
  • 48. Code Armouring Techniques All these techniques are limited by nature: They are deterministic. They delay analysis at most. As for encryption, generally weak cryptographic primitives are used. Very poor key management. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
  • 49. Code Armouring Techniques Whale Virus (September 1990) - First example known. Limited virulence. Encryption techniques of code in memory. Multi-layer encryption/obfuscation/code interleaving. Very poor cryptographic algorithms and no key management however. Able to detect a debugger in use and react accordingly. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.12/23
  • 50. Environmental Key Manegement XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
  • 51. Environmental Key Manegement Cryptographic are built from environmental data only. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
  • 52. Environmental Key Manegement Cryptographic are built from environmental data only. The code itself ignores which data are used to build the key. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
  • 53. Environmental Key Manegement Cryptographic are built from environmental data only. The code itself ignores which data are used to build the key. The key is built when needed only. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
  • 54. Environmental Key Manegement Cryptographic are built from environmental data only. The code itself ignores which data are used to build the key. The key is built when needed only. The security model assumes the attacker (e.g. the code analyst) may have total control over the environment. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.13/23
  • 55. Some Constructions XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.14/23
  • 56. Some Constructions N an integer corresponding to an environmental observation. H a one-way function. M = H(N). The value M is carried by the code. R a random nonce. K a key. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.14/23
  • 57. Some Constructions if H(N) = M then K = N. if H(H(N)) = M then K = H(N). if H(Ni) = Mi then K = H(N1, N2, . . . , Ni). if H(N) = M then K = H(R1, N) ⊕ R2. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.14/23
  • 58. BRADLEY Codes . XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
  • 59. BRADLEY Codes . Family of proof-of-concept codes designed and tested in order to prove the existence of, study and evaluate the operational capability of total code armouring. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
  • 60. BRADLEY Codes . Two main classes: Class A.- Targeted codes to attack a specific group of users/machines. Class B.- Targeted codes to attack a very small number of users/machines. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
  • 61. BRADLEY Codes . Why using total armouring (from the malware writer’s side)? To forbid antivirus update. To hide the malware actions. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
  • 62. BRADLEY Codes . D CPV CPV21 CPV3 1 2 3 XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
  • 63. BRADLEY Codes . A decryption procedure D collects activation data, tests and evaluate them. If result is OK, D deciphers the different parts of the code. Code part EVP1 (key K1).- Anti-antiviral techniques (active and passive). Code part EVP2 (key K2).- Infection and propagation + metamorphism. Code part EVP3 (key K3).- Payload (optional; in our case to monitor the code activity). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.15/23
  • 64. Key Maganement Protocol Environmental activation data (class A): local DNS address (e.g @company.com) denoted α, clock time (hh only) and system date (mmdd) denoted δ, a specific data which is present within the target system, denoted ι, a fixed specific data under the attacker’s control’s only; it is externally accessible to the code (e.g. a fixed data whose access is time-limited), denoted π. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
  • 65. Key Maganement Protocol Class B: The data ι is a public key which is present into the target system (pubring.gpg). The code may target a very specific user. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
  • 66. Key Maganement Protocol D collects environmental data and computes V = H(H(α ⊕ δ ⊕ ι ⊕ π) ⊕ ν) where ν describes the first 512 bits in EVP1. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
  • 67. Key Maganement Protocol If V = M (M activation data) then K1 = H(α ⊕ δ ⊕ ι ⊕ π) otherwise D halts and the code self-disinfects. D deciphers EVP1 to give VP1 = DK1 (EVP1) and then executes it. Then D computes K2 = H(K1 ⊕ ν2) where ν2 describes the first 512 bits in VP1. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
  • 68. Key Maganement Protocol D deciphers EVP2 to give VP2 = DK2 (EVP2) and runs it. Then D computes K3 = H(K1 ⊕ K2 ⊕ ν3) where ν3 describes the first 512 last bits in VP2. D deciphers EVP3 to give VP3 = DK3 (EVP3) and runs it. Once the code has operated, it totally self-disinfects. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
  • 69. Key Maganement Protocol From replication to replication, the whole has mutated (including D and M). Keys K1, K2 and K3 may involve more environmental data. More sophisticated protocols and codes structures have been designed and successfully tested (e.g. detection of honeypots). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.16/23
  • 70. Mathematical Analysis To evaluate the code analysis complexity, two cases have to be considered: the analyst has the binary code at his disposal, he has not. The second case is the most realistic one (since the code self-disinfects). Let us however consider the first case. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
  • 71. Mathematical Analysis Proposition 0 Analysis of BRADLEY has an exponential complexity. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
  • 72. Mathematical Analysis Decipherment procedure D leaks only: the activation value V = M, the fact that the system date and time are required, the fact that data α, ι and π are required. A successful analysis needs to recover the exact secret key K1 used by the code. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
  • 73. Mathematical Analysis Classical cryptanalysis.- For a (n, m)-hash function, we must perform 2 3n−2m 2 operation. Dictionary attack.- We must perform 2n operations. All things being considered, the overall complexity is min(2n , 2 3n−2m 2 ) = 2n operations (2512 for SHA-1). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.17/23
  • 74. Tests XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.18/23
  • 75. Tests Total Armouring combined with a limited virulence, effectively forbids code analysis. This concepts has been successfully tested in close network without any detection by existing AVs. Attack launched at time t. Effective propagation complexted at time t + 15′ . The data π was active between time t + 1′ and time t + 15′ only. A number of other cases have been tested (see bibliography). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.18/23
  • 76. Tests No technical solution against BRADLEY-like codes. Only solution: critical networks must be isolated. Strong security policies. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.18/23
  • 77. Other Aspects XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.19/23
  • 78. Other Aspects Cryptology may be considered for the payload. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.19/23
  • 79. Other Aspects Cryptology may be considered for the payload. Retaliation or money extorsion (cryptovirus): Virus Ransom.A and Trojan horse Trojan.PGP.Coder (2005). Applied cryptanalysis: Magic Lantern worm (FBI - 2001). Ymun codes (ESAT - 2002). XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.19/23
  • 80. Other Aspects (2) XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
  • 81. Other Aspects (2) Use of efficient cryptanalysis techniques to implement τ-obfuscation (Beaucamps - Filiol 2006): XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
  • 82. Other Aspects (2) Use of efficient cryptanalysis techniques to implement τ-obfuscation (Beaucamps - Filiol 2006): The code encrypts itself and “throws” the key away. When executed, the code performs a cryptanalysis to recover the key. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
  • 83. Other Aspects (2) Use of efficient cryptanalysis techniques to implement τ-obfuscation (Beaucamps - Filiol 2006): The code can accept a significantly large operation time τ but not the antivirus. Current improvement of E0 zero knowledge-like crytpanalysis (Filiol - 2006). Other such cryptanalysis are under current research. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.20/23
  • 84. Conclusion XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.21/23
  • 85. Conclusion Cryptology becomes a critical issue in modern computer virology. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.21/23
  • 86. Conclusion Cryptology becomes a critical issue in modern computer virology. There is a strong need to develop and maintain capability and skills in the cryptanalysis field. Until now, the complexity of most of the underlying problems is still too high for an efficient antiviral action. Security policies must be strengthened to compensate. This is the only solution at the present time! XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.21/23
  • 87. Questions XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.22/23
  • 88. Questions Thanks for your attention! XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.22/23
  • 89. References E. Filiol - Computer Viruses: from Theory to Applications, IRIS International Series, Springer, 2005 - ISBN 2-287-23939-1. E. Filiol - Techniques virales avancées, collection IRIS, Springer, 2007. An English translation is pending for end of 2007. Journal MISC - Le journal de la sécurité informatique - ISSN 1631-9030. XXIII International Conference in Computer, Electrical and System Science and Engineering - Plenary Talk - 08/24/07 – p.23/23