SlideShare a Scribd company logo
1 of 47
Download to read offline
What if encrypted
communications are not as
secure as we think?
Enrico Branca
CanSecWest
March 17, 2017
1Enrico Branca - CanSecWest 2017
The plan
1. Get cryptographic keys from open data sources.
2. Decode the key material and keep only key-related data.
3. Parse all the data and produce statistics.
4. Identify which keys are vulnerable to attacks.
5. Find if any key can be broken.
6. Get insights and see what can be done next
Enrico Branca - CanSecWest 2017 2
Why we keep only key-related data?
- We focus only on key generation and this means dealing only
with numbers
- Not interested in finding who or what made a mistake
- Not willing to deal with legal or privacy related issues
associated with massive data correlation (EU privacy laws)
Enrico Branca - CanSecWest 2017 3
Get lots of crypto keys
• Internet-Wide Scan Data Repository
Website: https://scans.io
Downloaded all files that may contain crypto keys
• Suricata IDS/IPS to collect keys from services
Rule: alert tls any any -> any any (msg:"No Alert TLS Store";
tls.subject:"CN="; tls.store; noalert; classtype:policy-violation;
sid:5216010; rev:3;)
• Custom parser to get PGP keys from SKS key dumps
Enrico Branca - CanSecWest 2017 4
Enrico Branca - CanSecWest 2017 5
Sample the crypto keys
We start with: HTTPS – POP3S – SMTPS – IMAPS – SSH - VPN
Collected from 2012 to end 2016.
From a total dataset of more than 500 million keys:
• Sample 250 million keys.
• Convert keys to PEM (asci armoured) files.
• Remove duplicate certificates, keys, sessions.
We remain with 74.220.631 certificates.
Decode the certificates
For each certificate we keep only:
• Public Key Algorithm
• Signature Algorithm
• Key Size
• Modulus
• Exponent
And for each certificate we generated its ‘thumbprint’:
- sha1 hash of file containing SSL certificate in DER format
Enrico Branca - CanSecWest 2017 6
Data parsing
1 •Convert keys to PEM armoured ASCII
2 •Convert to DER then calculate thumbprint
2 •If duplicate is found discard the certificate
3 •Convert DER back to PEM then to ASCII
6 •Process Data
Enrico Branca - CanSecWest 2017 7
Enrico Branca - CanSecWest 2017 8
Public Key Algorithms
Public Key
Algorithm
Algorithm
Identifier
Keys
Found
Percentage O.I.D
RSA
rsa 3 0.00004 % 2.5.8.1.1
rsaencryption 74.089.763 99.82368 % 1.2.840.113549.1.1.1
DSA
dsaencryption-old 3 0.00004 % 1.3.14.3.2.12
dsaencryption 19.612 0.02642 % 1.2.840.10040.4.1
Other
NULL 283 0.00038 % ???
id-ecpublickey 110.967 0.14951 % 1.2.840.10045.2.1
Enrico Branca - CanSecWest 2017 9
RSA - Signature Algorithms (TOP 5) Count %
sha1withrsaencryption 56.143.606 76.3229
md5withrsaencryption 12.151.179 16.5186
sha256withrsaencryption 5.109.937 6.9466
sha1withrsa 95.745 0.1302
sha512withrsaencryption 47.451 0.0645
DSA - Signature Algorithms (TOP 5) Count %
dsawithsha1 18911 96.5241
sha1withrsaencryption 537 2.7409
md5withrsaencryption 64 0.3267
dsa_with_sha256 59 0.3011
sha256withrsaencryption 10 0.0510
Top Signature Algorithms
Public Key Algorithms
Total Keys
74,220,631
DSA
19,615
RSA
74,089,766
Other
111,250
99.824
%
0.026
%
0.150
%
TARGET GROUP
Enrico Branca - CanSecWest 2017 10
Enrico Branca - CanSecWest 2017 11
Target Certificates
PKA= RSA
74.089.766
Sig= RSA
73.560.603
Sig= Other
529.163
TARGET CERTS
We are analysing ONLY certificates using RSA.
Valid RSA
73.560.467
Enrico Branca - CanSecWest 2017 12
From all the PEM files we exclude any certificate that uses
unknown types of public-key algorithm
Certificates using RSA algorithm = 74.089.766
• using RSA Signature = 73.560.603
• in non standard certificates = 136
• in standard certificates = 73.560.467
The number of RSA keys that will be tested is 73.560.467
RSA keys to test
Enrico Branca - CanSecWest 2017 13
RSA key tests
In total we have 73.560.467 keys to test.
Each key will be tested for the following conditions:
1. Is the public key (modulus/exponent) unique?
2. Is the modulus unique?
3. Is the modulus a product of two large primes?
4. Is the exponent valid?
For each question we will count how many keys are impacted.
Is the public-key unique?
Enrico Branca - CanSecWest 2017 14
RSA public key: the pair of values (n, e), where ‘n’ is the
modulus and ‘e’ is the exponent.
• Distinct Certificates: 73.560.467
• Individual public-keys: 47.725.709
• Distinct public keys: 45.208.601
• Certificates using same public-key: 25.834.758 (38.54 %)
Certificates can have different metadata but can also share the
same pare of values (n, e).
Is the modulus unique?
Enrico Branca - CanSecWest 2017 15
RSA modulus: the product of two large primes ‘p’ and ‘q’
• Individual public-keys: 47.725.709
• Individual moduli: 45.990.010
• Distinct moduli: 43.459.140
• keys using same moduli: 2.530.870 (5.50 %)
Keys can have different modulus-exponent combinations
(public-key) but share the same modulus.
Enrico Branca - CanSecWest 2017 16
keys using same modulus: 2.530.870 (5.50 %)
In theory there keys should always be unique, no two keys
should EVER share the same modulus (no collision).
Keys can have the same modulus only when both have used,
in the key generation, the same values for primes ‘p’ and ‘q’.
When this happens both keys should be considered insecure.
Is the modulus unique?
Enrico Branca - CanSecWest 2017 17
RSA key tests
Certificates using same public-key: 25.834.758 (38.54 %)
keys using same modulus: 2.530.870 (5.50 %)
First two tests seems suggest that not only there is a large
portion of keys that share the same set of prime numbers, but
also that the large amount of shared moduli cannot be entirely
associated with broken RSA implementations.
Different systems, at different times, generated the same set
of primes resulting in key collisions.
Enrico Branca - CanSecWest 2017 18
Modulus divisors
Is the modulus a product of two large primes?
For this test we are going to check if any of the moduli shares
a prime with any other moduli.
Assume a key X has a modulus created from prime A and B.
Assume a key Y has a modulus created from prime A and C.
(As mentioned before this, in theory, should NEVER happen)
We want to check if any two keys, for example key X and Y,
share any prime/divisor (in this case they share prime A).
Enrico Branca - CanSecWest 2017 19
Modulus divisors
To test for common divisors we are going to use the software
provided by the team of the project “factorable.net”.
Site: https://factorable.net/
Software: “Fast pairwise GCD computation: fastgcd-1.0.tar.gz”
https://factorable.net/resources.html
For this test the set has been divided in chunks and each
chunk has been tested for the presence of shared divisors.
Enrico Branca - CanSecWest 2017 20
Modulus divisors
• Individual public-keys: 47.725.709
• Distinct moduli: 3.459.140
• Moduli sharing a divisor: 169.709 (0.39 %)
Found in keys smaller than 2048 bits:167.543 (0.3855 %)
• Impacting how many distinct certificates: 756.529
Found in keys between 2048 and 4095 bits: 2.102 (0.0048 %)
• Impacting how many distinct certificates: 2.319
Found in keys bigger than 4095 bits: 64 (0.00015 %)
• Impacting how many distinct certificates: 64
Enrico Branca - CanSecWest 2017 21
• Certificates using same public-key: 25.834.758 (38.54 %)
• keys using same modulus: 2.530.870 (5.50 %)
• Moduli sharing a divisor: 169.709 (0.39 %)
• Distinct certificates impacted: 758.912 (1.031 % of all certs)
A large portion of keys use the same modulus or has at least
one divisor in common with other moduli, condition that
should not be associated with a broken RSA implementation.
Different systems at different times can generate the same set
of primes resulting in key collisions.
Modulus divisors
Enrico Branca - CanSecWest 2017 22
For this test we are going to test the assumption that the
modulus is a product of two large primes.
To do so we check that the modulus cannot be divided by any
of the first 10.000 primes (small primes).
• Individual public-keys: 47.725.709
• Distinct moduli: 43.459.140
• Moduli divisible by small primes: 7.912 (0.182 %)
• Distinct certificates impacted: 9.098 (0.0124 % of all certs)
Modulus small primes
Enrico Branca - CanSecWest 2017 23
• Certificates using same public-key: 25.834.758 (38.54 %)
• keys using same modulus: 2.530.870 (5.50 %)
Moduli sharing a divisor: 169.709 (0.39 %)
• Distinct certificates impacted: 758.912 (1.031 % of all certs)
Moduli divisible by small primes: 7.912 (0.182 %)
• Distinct certificates impacted: 9.098 (0.0124 % of all certs)
The presence of moduli that are divisible by small primes can
suggest the presence of broken RSA implementations, as no
software should generate a key without this validation.
Modulus small primes
Enrico Branca - CanSecWest 2017 24
In theory any RSA implementation should validate exponent
values but if we check the top 20 values something is wrong.
Exponent value of “1” should not be used, EVER.
RSA Key exponent
Exponent Value Count Exponent
Value
Count
65537 72.407.807 11 922
3 812.692 19 280
35 231.051 37 200
17 79.860 13 174
4097 8.142 65535 85
47 7.424 35353 40
5 4.905 1 28
7 2.643 44611 23
59 2.239 65543 22
257 1.510 65539 19
Enrico Branca - CanSecWest 2017 25
The enciphered text is the same as the message text, no
encryption is happening even if RSA crypto is used, and no
error message will be generated by either parties.
Any key that uses exponent ‘1’ should be considered BROKEN
and regenerated using proper exponent values.
• Individual public-keys: 47.725.709
• Public-key with exponent ‘1’: 28 (0.00006 %)
• Distinct certificates impacted: 28 (0.00004 % of all certs)
RSA Key exponent
Enrico Branca - CanSecWest 2017 26
Real Example:
https://docs.saltstack.com/en/latest/topics/releases/0.15.1.html#rsa-key-generation-fault
release: 2013-05-08
RSA KEY GENERATION FAULT
RSA key generation was done incorrectly, leading to very insecure keys.
It is recommended to regenerate all RSA keys.
…
This issue affects all known versions of Salt.
Specific commits:
https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc
RSA Key exponent
- gen = RSA.gen_key(keysize, 1, callback=lambda x, y, z: None)
+ gen = RSA.gen_key(keysize, 65537, callback=lambda x, y, z: None)
Enrico Branca - CanSecWest 2017 27
• Certificates using same public-key: 25.834.758 (38.54 %)
• keys using same modulus: 2.530.870 (5.50 %)
• Moduli sharing a divisor: 169.709 (0.39 %)
Distinct certificates impacted: 758.912 (1.031 % of all certs)
• Moduli divisible by small primes: 7.912 (0.182 %)
 Distinct certificates impacted: 9.098 (0.0124 % of all certs)
• Public-key with exponent ‘1’: 28 (0.00006 %)
 Distinct certificates impacted: 28 (0.00004 % of all certs)
Test Summary
Enrico Branca - CanSecWest 2017 28
Should we panic? NO, test results are in line with the results
of previous research, most notably:
Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices
Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman
USENIX Security Symposium (USENIX Security), August 2012
https://factorable.net/weakkeys12.extended.pdf
February 2012 - Ron was wrong, Whit is right
Arjen K. Lenstra(1), James P. Hughes(2), Maxime Augier(1), Joppe W. Bos(1), Thorsten Kleinjung(1), and Christophe
Wachter(1)
(1)EPFL IC LACAL, Station 14, CH-1015 Lausanne, Switzerland
(2)Self, Palo Alto, CA, USA
https://eprint.iacr.org/2012/064.pdf
Test Summary
Enrico Branca - CanSecWest 2017 29
We tested for issues that can arise after a key has been
generated, but what about what happens before?
If we assume that the amount of keys found to be broken is
not entirely related to broken RSA implementations, then we
can assume that ‘chance’ has something to do with it.
In theory no two keys should EVER share a prime or be the
same, but we have seen that is not the case, so we can try to
generate a collision.
What more to check?
Enrico Branca - CanSecWest 2017 30
To generate key collisions nothing special is needed, we just
have to generate LOTS of keys.
For this purpose two systems have been configured.
• PC-1: AMD Opteron, Centos 7 x64, no FIPS mode, HAVEGE (PRNG)
• PC-2: AMD Opteron, Centos 7 x64, FIPS mode, HAVEGE (PRNG)
(PRNG: pseudo random number generator)
Each system is set to generate 100.000.000 keys, 3 times,
using a local installation of openssl (version 1.0.1e-60)
Keys with shared divisors
Enrico Branca - CanSecWest 2017 31
All keys have been tested, in chunks of 100.000 keys, against
the keys in the dataset to check for shared primes.
PC-1: AMD Opteron 6166 HE, Centos 7 x64, no FIPS mode
• Run 1: found shared divisor at 7.000.000 keys
• Run 2: found shared divisor at 1.500.000 keys
• Run 3: found shared divisor at 54.700.000 keys
PC-2: AMD Opteron 6166 HE, Centos 7 x64, FIPS mode
• Run 1: found shared divisor at 47.300.000 keys
• Run 2: no shared divisor found
• Run 3: found shared divisor at 21.600.000 keys
Keys with shared divisors
Enrico Branca - CanSecWest 2017 32
Both systems have no hardware RNG, entropy levels were
always above 2048bit, key generated in 3 distinct processes.
The system in FIPS mode was reporting, on average, 4 key
errors every 100.000 keys due to keys failing primality tests.
The system not configured in FIPS mode produced, on
average, keys with a shared prime more often than the system
configured in FIPS mode, and never reported primality errors.
Keys with shared divisors
Enrico Branca - CanSecWest 2017 33
The systems I used were low end (really low end).
• CPU without AES-NI instructions
• No internal hardware random number generator
• No external hardware random number generator
• No pause between key generation
• Low system activity
Even if conditions were not optimal, it was indeed possible to
generate keys that share primes with keys found in the wild
(with patience…).
Keys with shared divisors
Enrico Branca - CanSecWest 2017 34
What more to check?
To create an RSA key we need to generate large primes at
random, over time the prime generation should, for a large
number of iterations, be able to generate primes that cover
the entire key space (uniform distribution).
If all is fine, the product of these two group of primes should
produce a triangular distribution covering the entire key space.
Images : http://www.pqsystems.com/qualityadvisor/DataAnalysisTools/interpretation/histogram_shape.php
Uniform
Uniform
Triangular
Enrico Branca - CanSecWest 2017 35
Key space
In reality if we plot the distribution of the moduli we have
collected, we don’t have a triangular distribution, and we have
something different at the beginning of the numeric interval.
RSA keys – 512 bits – Moduli
Enrico Branca - CanSecWest 2017 36
Key space
We can see the difference by generating some RSA keys using
something like openssl or gnutls, to see that keys are not
covering the whole numeric interval as there is a gap.
RSA keys – 512 bits – Moduli - generated
Enrico Branca - CanSecWest 2017 37
From an analysis of the moduli collected from the wild and the
one generated locally, a difference was found.
If the system that generates the RSA has FIPS mode enabled:
• Generated keys cover the whole numeric interval
If the system is not configured in FIPS mode:
• Generated keys always have the first 4 bits set as ‘1001’
• A gap is always present at the beginning of the numeric space
Key space
Enrico Branca - CanSecWest 2017 38
Key space
Testing with openssl, gnutls, ssh-keygen, gpg and gpg2, the
difference in the numeric interval used for key generation will
be present.
The reason seems to be related to an optimization in the
generation of primes.
If both prime ‘p’ and ‘q’ are generated by setting first, second
and last bit to 1, the resulting modulus will have the first four
bits set as ‘1001’.
Enrico Branca - CanSecWest 2017 39
Key space
A beautiful explanation that cover key generation and the logic
behind has been created by professor “Avinash Kak” (Purdue
University, USA) and is available online.
Computer and Network Security
https://engineering.purdue.edu/kak/compsec/NewLectures/
Public-Key Cryptography and the RSA Algorithm
https://engineering.purdue.edu/kak/compsec/NewLectures/Lecture12.pdf
Enrico Branca - CanSecWest 2017 40
Key space
Why is this information useful?
Because it is possible to identify broken implementations
without performing complicated math tests.
RSA keys – 1023 bits – Moduli
Broken RSA
implementation
Enrico Branca - CanSecWest 2017 41
In theory we should have no duplicated key, no key divisible
by small primes, no key sharing primes with other keys and no
key using exponent ‘1’.
With long term key collection, the use of temporary TLS keys
does not help as the more keys are generated the higher is the
probability or finding a key collision or a key sharing a prime.
Using larger keys does not help either as resourceful attacker
can just generate keys locally and perform offline attacks later.
Communications using TLS
Enrico Branca - CanSecWest 2017 42
Does it change something if we use PGP public-key crypto?
The answer is no, as we have the same issues as with TLS
crypto used in web communications.
PGP key sets
0
20
40
60
80
1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
Vulnerable PGP Keys by year
Elgamal DSA RSA
Enrico Branca - CanSecWest 2017 43
Elgamal DSA RSA Elgamal DSA RSA
1995 0 0 2 2006 24 22 7
1996 0 0 9 2007 22 21 8
1997 9 9 5 2008 30 25 5
1998 10 8 6 2009 70 72 66
1999 20 12 5 2010 6 8 66
2000 25 7 1 2011 6 5 45
2001 21 9 3 2012 1 2 6
2002 35 10 2 2013 0 2 10
2003 40 16 3 2014 0 0 6
2004 26 12 2 2015 0 0 9
2005 18 16 10 2016 0 0 0
PGP key sets
A dataset of 8.932.412 PGP keys has been tested for all the
conditions described in the previous tests and we found a total
of 895 (0.01 %) broken keys that should be regenerated.
Enrico Branca - CanSecWest 2017 44
Test for keys with a shared divisor was positive for both DSA
and RSA keys.
Test for keys divisible by small factors was positive for all key
types.
Test for RSA keys with exponent ‘1’ returned 10 bad keys.
PGP key sets
PGP keys with shared primes
Elgamal 0
DSA 256
RSA 261
PGP Keys with small divisors
Elgamal 362
DSA 262
RSA 266
Enrico Branca - CanSecWest 2017 45
Test regarding the distribution of moduli in the numeric
interval confirmed that RSA keys generated for PGP systems
follow the same distribution as the keys used for TLS.
And key size does not help in preventing key compromise.
PGP key sets
Top 5 Divisors
Divisor Count
641 434
6700417 387
3 287
5 126
2 109
Modulus bit length
Bits Count
768 2
1024 179
2048 216
3072 7
4096 134
16384 1
Enrico Branca - CanSecWest 2017 46
Thanks
Achim, OWASP
Johanna, OWASP
Jim, OWASP
Glenn, OWASP
Mozilla Security Team
CanSecWest
Enrico Branca - CanSecWest 2017 47
Thank You
Enrico Branca
enrico.branca@awebof.info
enrico.branca@owasp.org

More Related Content

What's hot

BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure
BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure  BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure
BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure BlueHat Security Conference
 
BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...
BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...
BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...BlueHat Security Conference
 
CSW2017 chuanda ding_state of windows application security
CSW2017 chuanda ding_state of windows application securityCSW2017 chuanda ding_state of windows application security
CSW2017 chuanda ding_state of windows application securityCanSecWest
 
BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...
BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...
BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...BlueHat Security Conference
 
[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera SoftwareOWASP
 
BlueHat v17 || Securing Windows Defender Application Guard
BlueHat v17 || Securing Windows Defender Application Guard BlueHat v17 || Securing Windows Defender Application Guard
BlueHat v17 || Securing Windows Defender Application Guard BlueHat Security Conference
 
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully BlueHat Security Conference
 
Fruit vs Zombies: Defeat Non-jailbroken iOS Malware by Claud Xiao
Fruit vs Zombies:  Defeat Non-jailbroken iOS Malware by Claud XiaoFruit vs Zombies:  Defeat Non-jailbroken iOS Malware by Claud Xiao
Fruit vs Zombies: Defeat Non-jailbroken iOS Malware by Claud XiaoShakacon
 
BlueHat v17 || Mitigations for the Masses: From EMET to Windows Defender Exp...
BlueHat v17 ||  Mitigations for the Masses: From EMET to Windows Defender Exp...BlueHat v17 ||  Mitigations for the Masses: From EMET to Windows Defender Exp...
BlueHat v17 || Mitigations for the Masses: From EMET to Windows Defender Exp...BlueHat Security Conference
 
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxy
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxyBlueHat v18 || The hitchhiker's guide to north korea's malware galaxy
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxyBlueHat Security Conference
 
50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi
50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi
50 Shades of Fuzzing by Peter Hlavaty & Marco GrassiShakacon
 
[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron securityOWASP
 
Avoiding damage, shame and regrets data protection for mobile client-server a...
Avoiding damage, shame and regrets data protection for mobile client-server a...Avoiding damage, shame and regrets data protection for mobile client-server a...
Avoiding damage, shame and regrets data protection for mobile client-server a...Stanfy
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP
 
CSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on androidCSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on androidCanSecWest
 
Csw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technologyCsw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technologyCanSecWest
 
0day hunting a.k.a. The story of a proper CPE test
0day hunting a.k.a. The story of a proper CPE test0day hunting a.k.a. The story of a proper CPE test
0day hunting a.k.a. The story of a proper CPE testBalazs Bucsay
 
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwearCsw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwearCanSecWest
 
Defcon 22-zoltan-balazs-bypass-firewalls-application-whiteli
Defcon 22-zoltan-balazs-bypass-firewalls-application-whiteliDefcon 22-zoltan-balazs-bypass-firewalls-application-whiteli
Defcon 22-zoltan-balazs-bypass-firewalls-application-whiteliPriyanka Aash
 
Understanding Windows Access Token Manipulation
Understanding Windows Access Token ManipulationUnderstanding Windows Access Token Manipulation
Understanding Windows Access Token ManipulationJustin Bui
 

What's hot (20)

BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure
BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure  BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure
BlueHat v17 || All Your Cloud Are Belong to Us; Hunting Compromise in Azure
 
BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...
BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...
BlueHat v17 || Wannacrypt + Smbv1.0 Vulnerability = One of the Most Damaging ...
 
CSW2017 chuanda ding_state of windows application security
CSW2017 chuanda ding_state of windows application securityCSW2017 chuanda ding_state of windows application security
CSW2017 chuanda ding_state of windows application security
 
BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...
BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...
BlueHat v18 || Tales from the soc - real-world attacks seen through azure atp...
 
[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software
 
BlueHat v17 || Securing Windows Defender Application Guard
BlueHat v17 || Securing Windows Defender Application Guard BlueHat v17 || Securing Windows Defender Application Guard
BlueHat v17 || Securing Windows Defender Application Guard
 
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
 
Fruit vs Zombies: Defeat Non-jailbroken iOS Malware by Claud Xiao
Fruit vs Zombies:  Defeat Non-jailbroken iOS Malware by Claud XiaoFruit vs Zombies:  Defeat Non-jailbroken iOS Malware by Claud Xiao
Fruit vs Zombies: Defeat Non-jailbroken iOS Malware by Claud Xiao
 
BlueHat v17 || Mitigations for the Masses: From EMET to Windows Defender Exp...
BlueHat v17 ||  Mitigations for the Masses: From EMET to Windows Defender Exp...BlueHat v17 ||  Mitigations for the Masses: From EMET to Windows Defender Exp...
BlueHat v17 || Mitigations for the Masses: From EMET to Windows Defender Exp...
 
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxy
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxyBlueHat v18 || The hitchhiker's guide to north korea's malware galaxy
BlueHat v18 || The hitchhiker's guide to north korea's malware galaxy
 
50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi
50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi
50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi
 
[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security
 
Avoiding damage, shame and regrets data protection for mobile client-server a...
Avoiding damage, shame and regrets data protection for mobile client-server a...Avoiding damage, shame and regrets data protection for mobile client-server a...
Avoiding damage, shame and regrets data protection for mobile client-server a...
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
 
CSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on androidCSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on android
 
Csw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technologyCsw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technology
 
0day hunting a.k.a. The story of a proper CPE test
0day hunting a.k.a. The story of a proper CPE test0day hunting a.k.a. The story of a proper CPE test
0day hunting a.k.a. The story of a proper CPE test
 
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwearCsw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear
 
Defcon 22-zoltan-balazs-bypass-firewalls-application-whiteli
Defcon 22-zoltan-balazs-bypass-firewalls-application-whiteliDefcon 22-zoltan-balazs-bypass-firewalls-application-whiteli
Defcon 22-zoltan-balazs-bypass-firewalls-application-whiteli
 
Understanding Windows Access Token Manipulation
Understanding Windows Access Token ManipulationUnderstanding Windows Access Token Manipulation
Understanding Windows Access Token Manipulation
 

Viewers also liked

CSW2017 Kyle ehmke lots of squats- ap-ts never miss leg day
CSW2017 Kyle ehmke lots of squats- ap-ts never miss leg dayCSW2017 Kyle ehmke lots of squats- ap-ts never miss leg day
CSW2017 Kyle ehmke lots of squats- ap-ts never miss leg dayCanSecWest
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCanSecWest
 
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_finalCSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_finalCanSecWest
 
CSW2017 Harri hursti csw17 final
CSW2017 Harri hursti csw17 finalCSW2017 Harri hursti csw17 final
CSW2017 Harri hursti csw17 finalCanSecWest
 
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...CanSecWest
 
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_mark
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_markCSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_mark
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_markCanSecWest
 
CSW2017 Mickey+maggie low cost radio attacks on modern platforms
CSW2017 Mickey+maggie low cost radio attacks on modern platformsCSW2017 Mickey+maggie low cost radio attacks on modern platforms
CSW2017 Mickey+maggie low cost radio attacks on modern platformsCanSecWest
 
CSW2017 Privilege escalation on high-end servers due to implementation gaps i...
CSW2017 Privilege escalation on high-end servers due to implementation gaps i...CSW2017 Privilege escalation on high-end servers due to implementation gaps i...
CSW2017 Privilege escalation on high-end servers due to implementation gaps i...CanSecWest
 
Csw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromisedCsw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromisedCanSecWest
 
CSW2017 Qidan he+Gengming liu_cansecwest2017
CSW2017 Qidan he+Gengming liu_cansecwest2017CSW2017 Qidan he+Gengming liu_cansecwest2017
CSW2017 Qidan he+Gengming liu_cansecwest2017CanSecWest
 
CSW2017 Saumil shah stegosploit_internals_cansecwest_2017
CSW2017 Saumil shah stegosploit_internals_cansecwest_2017CSW2017 Saumil shah stegosploit_internals_cansecwest_2017
CSW2017 Saumil shah stegosploit_internals_cansecwest_2017CanSecWest
 
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershellCSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershellCanSecWest
 
Csw2016 song li-smart_wars
Csw2016 song li-smart_warsCsw2016 song li-smart_wars
Csw2016 song li-smart_warsCanSecWest
 
CSW2017 jun li_car anomaly detection
CSW2017  jun li_car anomaly detectionCSW2017  jun li_car anomaly detection
CSW2017 jun li_car anomaly detectionCanSecWest
 
Csw2016 macaulay eh_trace-rop_hooks
Csw2016 macaulay eh_trace-rop_hooksCsw2016 macaulay eh_trace-rop_hooks
Csw2016 macaulay eh_trace-rop_hooksCanSecWest
 
Csw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgenerationCsw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgenerationCanSecWest
 
Csw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnologyCsw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnologyCanSecWest
 
Csw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemesCsw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemesCanSecWest
 
Csw2016 evron sysman_apt_reports_and_opsec_evolution
Csw2016 evron sysman_apt_reports_and_opsec_evolutionCsw2016 evron sysman_apt_reports_and_opsec_evolution
Csw2016 evron sysman_apt_reports_and_opsec_evolutionCanSecWest
 
Csw2016 julien moinard-hardsploit
Csw2016 julien moinard-hardsploitCsw2016 julien moinard-hardsploit
Csw2016 julien moinard-hardsploitCanSecWest
 

Viewers also liked (20)

CSW2017 Kyle ehmke lots of squats- ap-ts never miss leg day
CSW2017 Kyle ehmke lots of squats- ap-ts never miss leg dayCSW2017 Kyle ehmke lots of squats- ap-ts never miss leg day
CSW2017 Kyle ehmke lots of squats- ap-ts never miss leg day
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
 
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_finalCSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
 
CSW2017 Harri hursti csw17 final
CSW2017 Harri hursti csw17 finalCSW2017 Harri hursti csw17 final
CSW2017 Harri hursti csw17 final
 
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
CSW2017 Henry li how to find the vulnerability to bypass the control flow gua...
 
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_mark
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_markCSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_mark
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_mark
 
CSW2017 Mickey+maggie low cost radio attacks on modern platforms
CSW2017 Mickey+maggie low cost radio attacks on modern platformsCSW2017 Mickey+maggie low cost radio attacks on modern platforms
CSW2017 Mickey+maggie low cost radio attacks on modern platforms
 
CSW2017 Privilege escalation on high-end servers due to implementation gaps i...
CSW2017 Privilege escalation on high-end servers due to implementation gaps i...CSW2017 Privilege escalation on high-end servers due to implementation gaps i...
CSW2017 Privilege escalation on high-end servers due to implementation gaps i...
 
Csw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromisedCsw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromised
 
CSW2017 Qidan he+Gengming liu_cansecwest2017
CSW2017 Qidan he+Gengming liu_cansecwest2017CSW2017 Qidan he+Gengming liu_cansecwest2017
CSW2017 Qidan he+Gengming liu_cansecwest2017
 
CSW2017 Saumil shah stegosploit_internals_cansecwest_2017
CSW2017 Saumil shah stegosploit_internals_cansecwest_2017CSW2017 Saumil shah stegosploit_internals_cansecwest_2017
CSW2017 Saumil shah stegosploit_internals_cansecwest_2017
 
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershellCSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
CSW2017 Amanda rousseau cansecwest2017_net_hijacking_powershell
 
Csw2016 song li-smart_wars
Csw2016 song li-smart_warsCsw2016 song li-smart_wars
Csw2016 song li-smart_wars
 
CSW2017 jun li_car anomaly detection
CSW2017  jun li_car anomaly detectionCSW2017  jun li_car anomaly detection
CSW2017 jun li_car anomaly detection
 
Csw2016 macaulay eh_trace-rop_hooks
Csw2016 macaulay eh_trace-rop_hooksCsw2016 macaulay eh_trace-rop_hooks
Csw2016 macaulay eh_trace-rop_hooks
 
Csw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgenerationCsw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgeneration
 
Csw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnologyCsw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnology
 
Csw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemesCsw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemes
 
Csw2016 evron sysman_apt_reports_and_opsec_evolution
Csw2016 evron sysman_apt_reports_and_opsec_evolutionCsw2016 evron sysman_apt_reports_and_opsec_evolution
Csw2016 evron sysman_apt_reports_and_opsec_evolution
 
Csw2016 julien moinard-hardsploit
Csw2016 julien moinard-hardsploitCsw2016 julien moinard-hardsploit
Csw2016 julien moinard-hardsploit
 

Similar to CSW2017 Enrico branca What if encrypted communications are not as secure as we think?

IRJET- Comparative Analysis of Encryption Techniques
IRJET-  	  Comparative Analysis of Encryption TechniquesIRJET-  	  Comparative Analysis of Encryption Techniques
IRJET- Comparative Analysis of Encryption TechniquesIRJET Journal
 
Cryptography and encryption and security network
Cryptography and encryption and security networkCryptography and encryption and security network
Cryptography and encryption and security networkNirajKumar620142
 
Cryptography Lecture by Sam Bowne
Cryptography Lecture by Sam BowneCryptography Lecture by Sam Bowne
Cryptography Lecture by Sam BowneSecurityTube.Net
 
Ch12 Cryptography it-slideshares.blogspot.com
Ch12 Cryptography it-slideshares.blogspot.comCh12 Cryptography it-slideshares.blogspot.com
Ch12 Cryptography it-slideshares.blogspot.comphanleson
 
The new rocket science stuff in microsoft pki
The new rocket science stuff in microsoft pkiThe new rocket science stuff in microsoft pki
The new rocket science stuff in microsoft pkiNathan Winters
 
Practical Cryptography and Security Concepts for Developers
Practical Cryptography and Security Concepts for DevelopersPractical Cryptography and Security Concepts for Developers
Practical Cryptography and Security Concepts for DevelopersGökhan Şengün
 
Improved authentication & key agreement protocol using elliptic curve cryptog...
Improved authentication & key agreement protocol using elliptic curve cryptog...Improved authentication & key agreement protocol using elliptic curve cryptog...
Improved authentication & key agreement protocol using elliptic curve cryptog...CAS
 
Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406pradip patel
 
Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406pradip patel
 
IPSec VPN & IPSec Protocols
IPSec VPN & IPSec ProtocolsIPSec VPN & IPSec Protocols
IPSec VPN & IPSec Protocols NetProtocol Xpert
 
iaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databasesiaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databasesIaetsd Iaetsd
 
CNS team 6.pptx
CNS team 6.pptxCNS team 6.pptx
CNS team 6.pptxKannanN45
 
Security in Manets using Cryptography Algorithms
Security in Manets using Cryptography AlgorithmsSecurity in Manets using Cryptography Algorithms
Security in Manets using Cryptography AlgorithmsIRJET Journal
 
Improving Network Security by Modifying RSA Algorithm
Improving Network Security by Modifying RSA AlgorithmImproving Network Security by Modifying RSA Algorithm
Improving Network Security by Modifying RSA Algorithmpaperpublications3
 
Analysis of symmetric key cryptographic algorithms
Analysis of symmetric key cryptographic algorithmsAnalysis of symmetric key cryptographic algorithms
Analysis of symmetric key cryptographic algorithmsIRJET Journal
 

Similar to CSW2017 Enrico branca What if encrypted communications are not as secure as we think? (20)

IRJET- Comparative Analysis of Encryption Techniques
IRJET-  	  Comparative Analysis of Encryption TechniquesIRJET-  	  Comparative Analysis of Encryption Techniques
IRJET- Comparative Analysis of Encryption Techniques
 
Cryptography and encryption and security network
Cryptography and encryption and security networkCryptography and encryption and security network
Cryptography and encryption and security network
 
Cryptography Lecture by Sam Bowne
Cryptography Lecture by Sam BowneCryptography Lecture by Sam Bowne
Cryptography Lecture by Sam Bowne
 
Ch12 Cryptography it-slideshares.blogspot.com
Ch12 Cryptography it-slideshares.blogspot.comCh12 Cryptography it-slideshares.blogspot.com
Ch12 Cryptography it-slideshares.blogspot.com
 
The new rocket science stuff in microsoft pki
The new rocket science stuff in microsoft pkiThe new rocket science stuff in microsoft pki
The new rocket science stuff in microsoft pki
 
Practical Cryptography and Security Concepts for Developers
Practical Cryptography and Security Concepts for DevelopersPractical Cryptography and Security Concepts for Developers
Practical Cryptography and Security Concepts for Developers
 
Network Security
Network SecurityNetwork Security
Network Security
 
Improved authentication & key agreement protocol using elliptic curve cryptog...
Improved authentication & key agreement protocol using elliptic curve cryptog...Improved authentication & key agreement protocol using elliptic curve cryptog...
Improved authentication & key agreement protocol using elliptic curve cryptog...
 
Encryption
EncryptionEncryption
Encryption
 
Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406
 
Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406Secured key distribution techniques in wireless sensor networks 150429171406
Secured key distribution techniques in wireless sensor networks 150429171406
 
H42063743
H42063743H42063743
H42063743
 
IPSec VPN & IPSec Protocols
IPSec VPN & IPSec ProtocolsIPSec VPN & IPSec Protocols
IPSec VPN & IPSec Protocols
 
iaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databasesiaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databases
 
Lesson 1- Foundation of Cryptology
Lesson 1- Foundation of CryptologyLesson 1- Foundation of Cryptology
Lesson 1- Foundation of Cryptology
 
CNS team 6.pptx
CNS team 6.pptxCNS team 6.pptx
CNS team 6.pptx
 
Security in Manets using Cryptography Algorithms
Security in Manets using Cryptography AlgorithmsSecurity in Manets using Cryptography Algorithms
Security in Manets using Cryptography Algorithms
 
Improving Network Security by Modifying RSA Algorithm
Improving Network Security by Modifying RSA AlgorithmImproving Network Security by Modifying RSA Algorithm
Improving Network Security by Modifying RSA Algorithm
 
Cryptography
CryptographyCryptography
Cryptography
 
Analysis of symmetric key cryptographic algorithms
Analysis of symmetric key cryptographic algorithmsAnalysis of symmetric key cryptographic algorithms
Analysis of symmetric key cryptographic algorithms
 

Recently uploaded

Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 

Recently uploaded (17)

Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 

CSW2017 Enrico branca What if encrypted communications are not as secure as we think?

  • 1. What if encrypted communications are not as secure as we think? Enrico Branca CanSecWest March 17, 2017 1Enrico Branca - CanSecWest 2017
  • 2. The plan 1. Get cryptographic keys from open data sources. 2. Decode the key material and keep only key-related data. 3. Parse all the data and produce statistics. 4. Identify which keys are vulnerable to attacks. 5. Find if any key can be broken. 6. Get insights and see what can be done next Enrico Branca - CanSecWest 2017 2
  • 3. Why we keep only key-related data? - We focus only on key generation and this means dealing only with numbers - Not interested in finding who or what made a mistake - Not willing to deal with legal or privacy related issues associated with massive data correlation (EU privacy laws) Enrico Branca - CanSecWest 2017 3
  • 4. Get lots of crypto keys • Internet-Wide Scan Data Repository Website: https://scans.io Downloaded all files that may contain crypto keys • Suricata IDS/IPS to collect keys from services Rule: alert tls any any -> any any (msg:"No Alert TLS Store"; tls.subject:"CN="; tls.store; noalert; classtype:policy-violation; sid:5216010; rev:3;) • Custom parser to get PGP keys from SKS key dumps Enrico Branca - CanSecWest 2017 4
  • 5. Enrico Branca - CanSecWest 2017 5 Sample the crypto keys We start with: HTTPS – POP3S – SMTPS – IMAPS – SSH - VPN Collected from 2012 to end 2016. From a total dataset of more than 500 million keys: • Sample 250 million keys. • Convert keys to PEM (asci armoured) files. • Remove duplicate certificates, keys, sessions. We remain with 74.220.631 certificates.
  • 6. Decode the certificates For each certificate we keep only: • Public Key Algorithm • Signature Algorithm • Key Size • Modulus • Exponent And for each certificate we generated its ‘thumbprint’: - sha1 hash of file containing SSL certificate in DER format Enrico Branca - CanSecWest 2017 6
  • 7. Data parsing 1 •Convert keys to PEM armoured ASCII 2 •Convert to DER then calculate thumbprint 2 •If duplicate is found discard the certificate 3 •Convert DER back to PEM then to ASCII 6 •Process Data Enrico Branca - CanSecWest 2017 7
  • 8. Enrico Branca - CanSecWest 2017 8 Public Key Algorithms Public Key Algorithm Algorithm Identifier Keys Found Percentage O.I.D RSA rsa 3 0.00004 % 2.5.8.1.1 rsaencryption 74.089.763 99.82368 % 1.2.840.113549.1.1.1 DSA dsaencryption-old 3 0.00004 % 1.3.14.3.2.12 dsaencryption 19.612 0.02642 % 1.2.840.10040.4.1 Other NULL 283 0.00038 % ??? id-ecpublickey 110.967 0.14951 % 1.2.840.10045.2.1
  • 9. Enrico Branca - CanSecWest 2017 9 RSA - Signature Algorithms (TOP 5) Count % sha1withrsaencryption 56.143.606 76.3229 md5withrsaencryption 12.151.179 16.5186 sha256withrsaencryption 5.109.937 6.9466 sha1withrsa 95.745 0.1302 sha512withrsaencryption 47.451 0.0645 DSA - Signature Algorithms (TOP 5) Count % dsawithsha1 18911 96.5241 sha1withrsaencryption 537 2.7409 md5withrsaencryption 64 0.3267 dsa_with_sha256 59 0.3011 sha256withrsaencryption 10 0.0510 Top Signature Algorithms
  • 10. Public Key Algorithms Total Keys 74,220,631 DSA 19,615 RSA 74,089,766 Other 111,250 99.824 % 0.026 % 0.150 % TARGET GROUP Enrico Branca - CanSecWest 2017 10
  • 11. Enrico Branca - CanSecWest 2017 11 Target Certificates PKA= RSA 74.089.766 Sig= RSA 73.560.603 Sig= Other 529.163 TARGET CERTS We are analysing ONLY certificates using RSA. Valid RSA 73.560.467
  • 12. Enrico Branca - CanSecWest 2017 12 From all the PEM files we exclude any certificate that uses unknown types of public-key algorithm Certificates using RSA algorithm = 74.089.766 • using RSA Signature = 73.560.603 • in non standard certificates = 136 • in standard certificates = 73.560.467 The number of RSA keys that will be tested is 73.560.467 RSA keys to test
  • 13. Enrico Branca - CanSecWest 2017 13 RSA key tests In total we have 73.560.467 keys to test. Each key will be tested for the following conditions: 1. Is the public key (modulus/exponent) unique? 2. Is the modulus unique? 3. Is the modulus a product of two large primes? 4. Is the exponent valid? For each question we will count how many keys are impacted.
  • 14. Is the public-key unique? Enrico Branca - CanSecWest 2017 14 RSA public key: the pair of values (n, e), where ‘n’ is the modulus and ‘e’ is the exponent. • Distinct Certificates: 73.560.467 • Individual public-keys: 47.725.709 • Distinct public keys: 45.208.601 • Certificates using same public-key: 25.834.758 (38.54 %) Certificates can have different metadata but can also share the same pare of values (n, e).
  • 15. Is the modulus unique? Enrico Branca - CanSecWest 2017 15 RSA modulus: the product of two large primes ‘p’ and ‘q’ • Individual public-keys: 47.725.709 • Individual moduli: 45.990.010 • Distinct moduli: 43.459.140 • keys using same moduli: 2.530.870 (5.50 %) Keys can have different modulus-exponent combinations (public-key) but share the same modulus.
  • 16. Enrico Branca - CanSecWest 2017 16 keys using same modulus: 2.530.870 (5.50 %) In theory there keys should always be unique, no two keys should EVER share the same modulus (no collision). Keys can have the same modulus only when both have used, in the key generation, the same values for primes ‘p’ and ‘q’. When this happens both keys should be considered insecure. Is the modulus unique?
  • 17. Enrico Branca - CanSecWest 2017 17 RSA key tests Certificates using same public-key: 25.834.758 (38.54 %) keys using same modulus: 2.530.870 (5.50 %) First two tests seems suggest that not only there is a large portion of keys that share the same set of prime numbers, but also that the large amount of shared moduli cannot be entirely associated with broken RSA implementations. Different systems, at different times, generated the same set of primes resulting in key collisions.
  • 18. Enrico Branca - CanSecWest 2017 18 Modulus divisors Is the modulus a product of two large primes? For this test we are going to check if any of the moduli shares a prime with any other moduli. Assume a key X has a modulus created from prime A and B. Assume a key Y has a modulus created from prime A and C. (As mentioned before this, in theory, should NEVER happen) We want to check if any two keys, for example key X and Y, share any prime/divisor (in this case they share prime A).
  • 19. Enrico Branca - CanSecWest 2017 19 Modulus divisors To test for common divisors we are going to use the software provided by the team of the project “factorable.net”. Site: https://factorable.net/ Software: “Fast pairwise GCD computation: fastgcd-1.0.tar.gz” https://factorable.net/resources.html For this test the set has been divided in chunks and each chunk has been tested for the presence of shared divisors.
  • 20. Enrico Branca - CanSecWest 2017 20 Modulus divisors • Individual public-keys: 47.725.709 • Distinct moduli: 3.459.140 • Moduli sharing a divisor: 169.709 (0.39 %) Found in keys smaller than 2048 bits:167.543 (0.3855 %) • Impacting how many distinct certificates: 756.529 Found in keys between 2048 and 4095 bits: 2.102 (0.0048 %) • Impacting how many distinct certificates: 2.319 Found in keys bigger than 4095 bits: 64 (0.00015 %) • Impacting how many distinct certificates: 64
  • 21. Enrico Branca - CanSecWest 2017 21 • Certificates using same public-key: 25.834.758 (38.54 %) • keys using same modulus: 2.530.870 (5.50 %) • Moduli sharing a divisor: 169.709 (0.39 %) • Distinct certificates impacted: 758.912 (1.031 % of all certs) A large portion of keys use the same modulus or has at least one divisor in common with other moduli, condition that should not be associated with a broken RSA implementation. Different systems at different times can generate the same set of primes resulting in key collisions. Modulus divisors
  • 22. Enrico Branca - CanSecWest 2017 22 For this test we are going to test the assumption that the modulus is a product of two large primes. To do so we check that the modulus cannot be divided by any of the first 10.000 primes (small primes). • Individual public-keys: 47.725.709 • Distinct moduli: 43.459.140 • Moduli divisible by small primes: 7.912 (0.182 %) • Distinct certificates impacted: 9.098 (0.0124 % of all certs) Modulus small primes
  • 23. Enrico Branca - CanSecWest 2017 23 • Certificates using same public-key: 25.834.758 (38.54 %) • keys using same modulus: 2.530.870 (5.50 %) Moduli sharing a divisor: 169.709 (0.39 %) • Distinct certificates impacted: 758.912 (1.031 % of all certs) Moduli divisible by small primes: 7.912 (0.182 %) • Distinct certificates impacted: 9.098 (0.0124 % of all certs) The presence of moduli that are divisible by small primes can suggest the presence of broken RSA implementations, as no software should generate a key without this validation. Modulus small primes
  • 24. Enrico Branca - CanSecWest 2017 24 In theory any RSA implementation should validate exponent values but if we check the top 20 values something is wrong. Exponent value of “1” should not be used, EVER. RSA Key exponent Exponent Value Count Exponent Value Count 65537 72.407.807 11 922 3 812.692 19 280 35 231.051 37 200 17 79.860 13 174 4097 8.142 65535 85 47 7.424 35353 40 5 4.905 1 28 7 2.643 44611 23 59 2.239 65543 22 257 1.510 65539 19
  • 25. Enrico Branca - CanSecWest 2017 25 The enciphered text is the same as the message text, no encryption is happening even if RSA crypto is used, and no error message will be generated by either parties. Any key that uses exponent ‘1’ should be considered BROKEN and regenerated using proper exponent values. • Individual public-keys: 47.725.709 • Public-key with exponent ‘1’: 28 (0.00006 %) • Distinct certificates impacted: 28 (0.00004 % of all certs) RSA Key exponent
  • 26. Enrico Branca - CanSecWest 2017 26 Real Example: https://docs.saltstack.com/en/latest/topics/releases/0.15.1.html#rsa-key-generation-fault release: 2013-05-08 RSA KEY GENERATION FAULT RSA key generation was done incorrectly, leading to very insecure keys. It is recommended to regenerate all RSA keys. … This issue affects all known versions of Salt. Specific commits: https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc RSA Key exponent - gen = RSA.gen_key(keysize, 1, callback=lambda x, y, z: None) + gen = RSA.gen_key(keysize, 65537, callback=lambda x, y, z: None)
  • 27. Enrico Branca - CanSecWest 2017 27 • Certificates using same public-key: 25.834.758 (38.54 %) • keys using same modulus: 2.530.870 (5.50 %) • Moduli sharing a divisor: 169.709 (0.39 %) Distinct certificates impacted: 758.912 (1.031 % of all certs) • Moduli divisible by small primes: 7.912 (0.182 %)  Distinct certificates impacted: 9.098 (0.0124 % of all certs) • Public-key with exponent ‘1’: 28 (0.00006 %)  Distinct certificates impacted: 28 (0.00004 % of all certs) Test Summary
  • 28. Enrico Branca - CanSecWest 2017 28 Should we panic? NO, test results are in line with the results of previous research, most notably: Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman USENIX Security Symposium (USENIX Security), August 2012 https://factorable.net/weakkeys12.extended.pdf February 2012 - Ron was wrong, Whit is right Arjen K. Lenstra(1), James P. Hughes(2), Maxime Augier(1), Joppe W. Bos(1), Thorsten Kleinjung(1), and Christophe Wachter(1) (1)EPFL IC LACAL, Station 14, CH-1015 Lausanne, Switzerland (2)Self, Palo Alto, CA, USA https://eprint.iacr.org/2012/064.pdf Test Summary
  • 29. Enrico Branca - CanSecWest 2017 29 We tested for issues that can arise after a key has been generated, but what about what happens before? If we assume that the amount of keys found to be broken is not entirely related to broken RSA implementations, then we can assume that ‘chance’ has something to do with it. In theory no two keys should EVER share a prime or be the same, but we have seen that is not the case, so we can try to generate a collision. What more to check?
  • 30. Enrico Branca - CanSecWest 2017 30 To generate key collisions nothing special is needed, we just have to generate LOTS of keys. For this purpose two systems have been configured. • PC-1: AMD Opteron, Centos 7 x64, no FIPS mode, HAVEGE (PRNG) • PC-2: AMD Opteron, Centos 7 x64, FIPS mode, HAVEGE (PRNG) (PRNG: pseudo random number generator) Each system is set to generate 100.000.000 keys, 3 times, using a local installation of openssl (version 1.0.1e-60) Keys with shared divisors
  • 31. Enrico Branca - CanSecWest 2017 31 All keys have been tested, in chunks of 100.000 keys, against the keys in the dataset to check for shared primes. PC-1: AMD Opteron 6166 HE, Centos 7 x64, no FIPS mode • Run 1: found shared divisor at 7.000.000 keys • Run 2: found shared divisor at 1.500.000 keys • Run 3: found shared divisor at 54.700.000 keys PC-2: AMD Opteron 6166 HE, Centos 7 x64, FIPS mode • Run 1: found shared divisor at 47.300.000 keys • Run 2: no shared divisor found • Run 3: found shared divisor at 21.600.000 keys Keys with shared divisors
  • 32. Enrico Branca - CanSecWest 2017 32 Both systems have no hardware RNG, entropy levels were always above 2048bit, key generated in 3 distinct processes. The system in FIPS mode was reporting, on average, 4 key errors every 100.000 keys due to keys failing primality tests. The system not configured in FIPS mode produced, on average, keys with a shared prime more often than the system configured in FIPS mode, and never reported primality errors. Keys with shared divisors
  • 33. Enrico Branca - CanSecWest 2017 33 The systems I used were low end (really low end). • CPU without AES-NI instructions • No internal hardware random number generator • No external hardware random number generator • No pause between key generation • Low system activity Even if conditions were not optimal, it was indeed possible to generate keys that share primes with keys found in the wild (with patience…). Keys with shared divisors
  • 34. Enrico Branca - CanSecWest 2017 34 What more to check? To create an RSA key we need to generate large primes at random, over time the prime generation should, for a large number of iterations, be able to generate primes that cover the entire key space (uniform distribution). If all is fine, the product of these two group of primes should produce a triangular distribution covering the entire key space. Images : http://www.pqsystems.com/qualityadvisor/DataAnalysisTools/interpretation/histogram_shape.php Uniform Uniform Triangular
  • 35. Enrico Branca - CanSecWest 2017 35 Key space In reality if we plot the distribution of the moduli we have collected, we don’t have a triangular distribution, and we have something different at the beginning of the numeric interval. RSA keys – 512 bits – Moduli
  • 36. Enrico Branca - CanSecWest 2017 36 Key space We can see the difference by generating some RSA keys using something like openssl or gnutls, to see that keys are not covering the whole numeric interval as there is a gap. RSA keys – 512 bits – Moduli - generated
  • 37. Enrico Branca - CanSecWest 2017 37 From an analysis of the moduli collected from the wild and the one generated locally, a difference was found. If the system that generates the RSA has FIPS mode enabled: • Generated keys cover the whole numeric interval If the system is not configured in FIPS mode: • Generated keys always have the first 4 bits set as ‘1001’ • A gap is always present at the beginning of the numeric space Key space
  • 38. Enrico Branca - CanSecWest 2017 38 Key space Testing with openssl, gnutls, ssh-keygen, gpg and gpg2, the difference in the numeric interval used for key generation will be present. The reason seems to be related to an optimization in the generation of primes. If both prime ‘p’ and ‘q’ are generated by setting first, second and last bit to 1, the resulting modulus will have the first four bits set as ‘1001’.
  • 39. Enrico Branca - CanSecWest 2017 39 Key space A beautiful explanation that cover key generation and the logic behind has been created by professor “Avinash Kak” (Purdue University, USA) and is available online. Computer and Network Security https://engineering.purdue.edu/kak/compsec/NewLectures/ Public-Key Cryptography and the RSA Algorithm https://engineering.purdue.edu/kak/compsec/NewLectures/Lecture12.pdf
  • 40. Enrico Branca - CanSecWest 2017 40 Key space Why is this information useful? Because it is possible to identify broken implementations without performing complicated math tests. RSA keys – 1023 bits – Moduli Broken RSA implementation
  • 41. Enrico Branca - CanSecWest 2017 41 In theory we should have no duplicated key, no key divisible by small primes, no key sharing primes with other keys and no key using exponent ‘1’. With long term key collection, the use of temporary TLS keys does not help as the more keys are generated the higher is the probability or finding a key collision or a key sharing a prime. Using larger keys does not help either as resourceful attacker can just generate keys locally and perform offline attacks later. Communications using TLS
  • 42. Enrico Branca - CanSecWest 2017 42 Does it change something if we use PGP public-key crypto? The answer is no, as we have the same issues as with TLS crypto used in web communications. PGP key sets 0 20 40 60 80 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Vulnerable PGP Keys by year Elgamal DSA RSA
  • 43. Enrico Branca - CanSecWest 2017 43 Elgamal DSA RSA Elgamal DSA RSA 1995 0 0 2 2006 24 22 7 1996 0 0 9 2007 22 21 8 1997 9 9 5 2008 30 25 5 1998 10 8 6 2009 70 72 66 1999 20 12 5 2010 6 8 66 2000 25 7 1 2011 6 5 45 2001 21 9 3 2012 1 2 6 2002 35 10 2 2013 0 2 10 2003 40 16 3 2014 0 0 6 2004 26 12 2 2015 0 0 9 2005 18 16 10 2016 0 0 0 PGP key sets A dataset of 8.932.412 PGP keys has been tested for all the conditions described in the previous tests and we found a total of 895 (0.01 %) broken keys that should be regenerated.
  • 44. Enrico Branca - CanSecWest 2017 44 Test for keys with a shared divisor was positive for both DSA and RSA keys. Test for keys divisible by small factors was positive for all key types. Test for RSA keys with exponent ‘1’ returned 10 bad keys. PGP key sets PGP keys with shared primes Elgamal 0 DSA 256 RSA 261 PGP Keys with small divisors Elgamal 362 DSA 262 RSA 266
  • 45. Enrico Branca - CanSecWest 2017 45 Test regarding the distribution of moduli in the numeric interval confirmed that RSA keys generated for PGP systems follow the same distribution as the keys used for TLS. And key size does not help in preventing key compromise. PGP key sets Top 5 Divisors Divisor Count 641 434 6700417 387 3 287 5 126 2 109 Modulus bit length Bits Count 768 2 1024 179 2048 216 3072 7 4096 134 16384 1
  • 46. Enrico Branca - CanSecWest 2017 46 Thanks Achim, OWASP Johanna, OWASP Jim, OWASP Glenn, OWASP Mozilla Security Team CanSecWest
  • 47. Enrico Branca - CanSecWest 2017 47 Thank You Enrico Branca enrico.branca@awebof.info enrico.branca@owasp.org