SlideShare a Scribd company logo
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Cryptography: you're doing it wrong!
108 frequent mistakes in implementing crypto
Attila-Mihály Balázs
gpanther@grey-panther.net
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Huge thanks to our sponsors & partners!
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Agenda
• Who am I?
• Reason 0
• Reason 1
• Reason 2
• Reason 3
• Reason 4
• Reason 5
• Reason 6
• Reason 7
• Resources
• Q&A
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Who am I?
Attila-Mihály Balázs
• Reverse Engineer
• Developer
• Technologist
• Not a cryptographer !!!
gpanther@grey-panther.net
https://grey-panther.net
Premium community conference on Microsoft technologies itcampro@ itcamp14#
TL;DR
Choose widely used technologies
• Data in motion: TLS (SSL)
• Client side certificates
• Windows AD comes with it
• Data at rest:
• Bitlocker, NTFS encrpytion,
CryptProtectData
• gpgme, encrypted archives (7z),
keyczar-dotnet
• Password store: use PBKDF2
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Purpose of this talk
Scare the s*** out of you!
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Purpose of this talk
Scare the pants off of you!
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Purpose of this talk
You are not smart enough to do crypto!
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Scenario
Alice Bob
Eve
Mallory
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Scenario
Eve
Authenticate
Token
Token
Mallory
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Don't implement your own crypto !!!
• Primitives: block ciphers, stream ciphers,
hash functions
• Cryptographic protocols (systems) – ie.
“transmit data over an (untrusted) network
between participants who never met
previously and ensure the data secrecy and
integrity in the presence of passive and/or
active attackers”
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Implementation
Token
RijndaelManaged RMCrypto = new RijndaelManaged();
byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
CryptoStream CryptStream = new CryptoStream(
NetStream, RMCrypto.CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
StreamWriter SWriter = new StreamWriter(CryptStream);
SWriter.WriteLine("Hello World!");
http://msdn.microsoft.com/en-us/library/as0w18af%28v=vs.110%29.aspx
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Legal stuff I need to tell you
Software on Documentation Portals. Software accessible on the Documentation Portals is
made available by the designated publisher under the associated license terms. If Software is
accessible on the Documentation Portals without license terms, then subject subsection (c)
below you may use it to design, develop, and test your programs. If any such Software without
license terms is marked as “sample” or “example,” then you may use it under the terms of the
Microsoft Limited Public License.
http://msdn.microsoft.com/en-us/cc300389.aspx#D
3(C) If you distribute any portion of the software, you must retain all copyright, patent,
trademark, and attribution notices that are present in the software.
3(D) If you distribute any portion of the software in source code form, you may do so only under
this license by including a complete copy of this license with your distribution. If you distribute
any portion of the software in compiled or object code form, you may only do so under a license
that complies with this license.
3(F) Platform Limitation- The licenses granted in sections 2(A) & 2(B) extend only to the
software or derivative works that you create that run on a Microsoft Windows operating system
product.
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 0: Replay Attacks
Token
RijndaelManaged RMCrypto = new RijndaelManaged();
byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
CryptoStream CryptStream = new CryptoStream(
NetStream, RMCrypto.CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
StreamWriter SWriter = new StreamWriter(CryptStream);
SWriter.WriteLine("access-level=admin|username=bruce");
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 0: Replay Attacks
Token
RijndaelManaged RMCrypto = new RijndaelManaged();
byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
CryptoStream CryptStream = new CryptoStream(
NetStream, RMCrypto.CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
StreamWriter SWriter = new StreamWriter(CryptStream);
SWriter.WriteLine("ip=65.55.58.201|expires=1400488925|"
+ "access-level=admin|username=bruce");
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Choices, choices, choices
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Choices, choices, choices
• Algorithm: symmetric, Rinjadel (AES)
• Block size: 128 bit (16 bytes)
• Operation mode: CBC
• Padding: PKCS7
• Key: 128 bit (16 bytes)
• Key derivation ??
• IV == Key ?? Fixed ??
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 1: bit flipping attacks
http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 1: bit flipping attacks
1 ⊕ 1 == 0, 1 ⊕ 0 == 1
0 ⊕ 1 == 1, 0 ⊕ 0 == 0
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 1: bit flipping attacks
access-level=user|username=gpantherlaccess-level-admin
|: 01111100b =: 00111101b
l: 01101100b -: 00101101b
access-level=use****************her|access-level=admin
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 2: padding oracle
=admin
=adminx9x9x9x9x9x9x9x9x9
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 2: padding oracle
CryptographicException: Padding is invalid and cannot be removed.
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 2: padding oracle
guessed ⊕ original ⊕ plaintext = 0x01
a ⊕ a = 0
a ⊕ b = b ⊕ a
plaintext = 0x01 ⊕ guessed ⊕ original
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 3: Poorly chosen IV
RijndaelManaged RMCrypto = new RijndaelManaged();
byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16};
CryptoStream CryptStream = new CryptoStream(
NetStream, RMCrypto.CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
StreamWriter SWriter = new StreamWriter(CryptStream);
SWriter.WriteLine("access-level=admin|username=bruce");
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 3: Poorly chosen IV
IV == Key
C0 = EK(P0 ⊕ IV)
C1 = EK(P1 ⊕ C0)
C2 = EK(P2 ⊕ C1)
…
P0 = DK(C0)⊕ IV DK(EK(P0 ⊕ IV))⊕ IV = P0 ⊕ IV ⊕ IV = P0
P1 = DK(C1)⊕ C0 DK(EK(P1 ⊕ C0))⊕ C0 = P1 ⊕ C0 ⊕ C0 = P1
…
DK(C0 0 C0)
DK(C0)⊕ IV = A
DK(0) ⊕ C0
DK(C0)⊕ 0 = DK(C0) = B
A ⊕ B = DK(C0)⊕ IV ⊕ DK(C0) = IV = Key
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 3: Poorly chosen IV
IV == Constant → choosen plain text attack / encryption oracle
username=gpanther|access-level=user
username=gpanther|access-level=admin
68e4ed21f7bc5ac64405cdd8269b3b74fa19b951f0b521757e94…
68e4ed21f7bc5ac64405cdd8269b3b74e06a42679cb7b34ca8a1…
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 4: Key derivation
Human password → key bits
Very bad: truncate/pad to 16 bytes
Very bad: use (first 16 bytes of) MD5(passw)
Very bad: use SHA1(password)
Bad: use SHA1(salt + password)
Bad: use SHA1(per user salt + password)
Good: use PBKDF2(password)*. Tune it.
Good: use scrypt(password). Tune it.
* Rfc2898DeriveBytes
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 5: hash extension attacks
Eve
Authenticate
Token
Token
Mallory
"ip=127/8|expires=1400488925|access-level=admin|username=bruce|<signature>"
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 5: hash extension attacks
Cryptographic hash function:
• H(x) = h
• h is fast to compute
• h is of fixed size
• Given h, it is impractical to generate x
H(<secret key><data>) = <hash>
<data><hash>
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 5: hash extension attacks
Cryptographic hash function:
• H(x) = h
• h is fast to compute
• h is of fixed size
• Given h, it is impractical to generate x
H(<secret key><data>) = <hash>
<data><hash>
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 5: hash extension attacks
Cryptographic hash functions are completely deterministic!
adc83b19 e793491b 1c6ea0fd 8b46cd9f 32e592fc
adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
Given x and H(x) it is trivial* to compute:
• H(x + d) for arbitrary d
• H(x[0:k]) for arbitrary k
Use HMAC
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 6: HMAC timing attack (side channel attacks)
In = "<data><signature>";
Data, Sig = In.split();
CalcSig = HMAC(Data);
/* Wrong!!! Do not use!!! */
for(i=0; i<SIG_LEN; i++) {
if (Sig[i] != CalcSig[i]) {
return False;
}
}
return True;
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 6: HMAC timing attack (side channel attacks)
<data>00XXXXXXXXXXXXXXXXXXXXXXXXXXXX
<data>01XXXXXXXXXXXXXXXXXXXXXXXXXXXX
<data>02XXXXXXXXXXXXXXXXXXXXXXXXXXXX
…
<data>ad00XXXXXXXXXXXXXXXXXXXXXXXXXX
<data>ad01XXXXXXXXXXXXXXXXXXXXXXXXXX
<data>ad02XXXXXXXXXXXXXXXXXXXXXXXXXX
…
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 6: HMAC timing attack (side channel attacks)
In = "<data><signature>";
Data, Sig = In.split();
CalcSig = HMAC(Data);
Int result = 0;
for(i=0; i< SIG_LEN; i++) {
result |= Sig[i] ^ CalcSig[i];
}
return result == 0;
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Reason 7: C.R.I.M.E. attack (side channels redux)
Query
EK(C(Query + Response))
Mallory
Query
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Resources
• Matasano crypto challenge
http://www.matasano.com/articles/crypto-challenges/
• Applied Cryptography
https://www.udacity.com/course/cs387
• Cryptography Engineering
https://www.schneier.com/book-ce.html
• Crypto 101
https://www.crypto101.io/
Premium community conference on Microsoft technologies itcampro@ itcamp14#
TL;DR
Choose widely used technologies
• Data in motion: TLS (SSL)
• Client side certificates
• Windows AD comes with it
• Data at rest:
• Bitlocker, NTFS encrpytion,
CryptProtectData
• gpgme, encrypted archives (7z),
keyczar-dotnet
• Password store: use PBKDF2
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Q & A

More Related Content

What's hot

BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...
BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...
BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...BlueHat Security Conference
 
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...CODE BLUE
 
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoTCSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoTCanSecWest
 
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CanSecWest
 
Introduction to Dynamic Malware Analysis ...Or am I "Cuckoo for Malware?"
Introduction to Dynamic Malware Analysis   ...Or am I "Cuckoo for Malware?"Introduction to Dynamic Malware Analysis   ...Or am I "Cuckoo for Malware?"
Introduction to Dynamic Malware Analysis ...Or am I "Cuckoo for Malware?"Lane Huff
 
International collaborative efforts to share threat data in a vetted member c...
International collaborative efforts to share threat data in a vetted member c...International collaborative efforts to share threat data in a vetted member c...
International collaborative efforts to share threat data in a vetted member c...CODE BLUE
 
BlueHat v18 || Memory resident implants - code injection is alive and well
BlueHat v18 || Memory resident implants - code injection is alive and wellBlueHat v18 || Memory resident implants - code injection is alive and well
BlueHat v18 || Memory resident implants - code injection is alive and wellBlueHat Security Conference
 
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
 
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updatedCsw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updatedCanSecWest
 
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki ChidaIDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki ChidaCODE BLUE
 
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)BlueHat Security Conference
 
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...CODE BLUE
 
TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)Mike Felch
 
Fundamentals of network hacking
Fundamentals of network hackingFundamentals of network hacking
Fundamentals of network hackingPranshu Pareek
 
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
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...DefconRussia
 
[若渴計畫] Black Hat 2017之過去閱讀相關整理
[若渴計畫] Black Hat 2017之過去閱讀相關整理[若渴計畫] Black Hat 2017之過去閱讀相關整理
[若渴計畫] Black Hat 2017之過去閱讀相關整理Aj MaChInE
 

What's hot (20)

BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...
BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...
BlueHat v18 || Record now, decrypt later - future quantum computers are a pre...
 
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...
 
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoTCSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
 
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
 
Introduction to Dynamic Malware Analysis ...Or am I "Cuckoo for Malware?"
Introduction to Dynamic Malware Analysis   ...Or am I "Cuckoo for Malware?"Introduction to Dynamic Malware Analysis   ...Or am I "Cuckoo for Malware?"
Introduction to Dynamic Malware Analysis ...Or am I "Cuckoo for Malware?"
 
International collaborative efforts to share threat data in a vetted member c...
International collaborative efforts to share threat data in a vetted member c...International collaborative efforts to share threat data in a vetted member c...
International collaborative efforts to share threat data in a vetted member c...
 
BlueHat v18 || Memory resident implants - code injection is alive and well
BlueHat v18 || Memory resident implants - code injection is alive and wellBlueHat v18 || Memory resident implants - code injection is alive and well
BlueHat v18 || Memory resident implants - code injection is alive and well
 
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
 
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updatedCsw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
 
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki ChidaIDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
 
BlueHat v17 || Disrupting the Mirai Botnet
BlueHat v17 || Disrupting the Mirai Botnet BlueHat v17 || Disrupting the Mirai Botnet
BlueHat v17 || Disrupting the Mirai Botnet
 
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
 
Security events in 2014
Security events in 2014Security events in 2014
Security events in 2014
 
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
 
TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)
 
Fundamentals of network hacking
Fundamentals of network hackingFundamentals of network hacking
Fundamentals of network hacking
 
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...
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
 
Malware Detection With Multiple Features
Malware Detection With Multiple FeaturesMalware Detection With Multiple Features
Malware Detection With Multiple Features
 
[若渴計畫] Black Hat 2017之過去閱讀相關整理
[若渴計畫] Black Hat 2017之過去閱讀相關整理[若渴計畫] Black Hat 2017之過去閱讀相關整理
[若渴計畫] Black Hat 2017之過去閱讀相關整理
 

Similar to Cryptography - You're doing it wrong! (Attila Balazs)

Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)Peter Sabev
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)ITCamp
 
amrapali builders @@ hacking challenges.pdf
amrapali builders @@ hacking challenges.pdfamrapali builders @@ hacking challenges.pdf
amrapali builders @@ hacking challenges.pdfamrapalibuildersreviews
 
Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)
Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)
Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)ITCamp
 
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...Felipe Prado
 
Ceh v8 labs module 05 system hacking
Ceh v8 labs module 05 system hackingCeh v8 labs module 05 system hacking
Ceh v8 labs module 05 system hackingAsep Sopyan
 
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...CODE BLUE
 
Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Priyanka Aash
 
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...Felipe Prado
 
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?inaz2
 
(In) Security graph database in real world
(In) Security graph database in real world (In) Security graph database in real world
(In) Security graph database in real world Miguel Hernández Boza
 
Awesome_fuzzing_for _pentester_red-pill_2017
Awesome_fuzzing_for _pentester_red-pill_2017Awesome_fuzzing_for _pentester_red-pill_2017
Awesome_fuzzing_for _pentester_red-pill_2017Manich Koomsusi
 
BSides MCR 2016: From CSV to CMD to qwerty
BSides MCR 2016: From CSV to CMD to qwertyBSides MCR 2016: From CSV to CMD to qwerty
BSides MCR 2016: From CSV to CMD to qwertyJerome Smith
 
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebula Project
 
OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...
OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...
OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...Dmytro Korzhevin
 
Hacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan BalazsHacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan BalazsShakacon
 
MTR Troubleshooting
MTR TroubleshootingMTR Troubleshooting
MTR TroubleshootingGraham Walsh
 
Webinar alain-2009-03-04-clamav
Webinar alain-2009-03-04-clamavWebinar alain-2009-03-04-clamav
Webinar alain-2009-03-04-clamavthc2cat
 
How to measure your security response readiness?
How to measure your security response readiness?How to measure your security response readiness?
How to measure your security response readiness?Tomasz Jakubowski
 

Similar to Cryptography - You're doing it wrong! (Attila Balazs) (20)

Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
 
amrapali builders @@ hacking challenges.pdf
amrapali builders @@ hacking challenges.pdfamrapali builders @@ hacking challenges.pdf
amrapali builders @@ hacking challenges.pdf
 
Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)
Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)
Security Myths and Facts in Today's It World (Tudor Damian & Mihai Tataran)
 
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
 
Ceh v8 labs module 05 system hacking
Ceh v8 labs module 05 system hackingCeh v8 labs module 05 system hacking
Ceh v8 labs module 05 system hacking
 
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
 
Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.
 
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
 
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?
 
(In) Security graph database in real world
(In) Security graph database in real world (In) Security graph database in real world
(In) Security graph database in real world
 
G3t R00t at IUT
G3t R00t at IUTG3t R00t at IUT
G3t R00t at IUT
 
Awesome_fuzzing_for _pentester_red-pill_2017
Awesome_fuzzing_for _pentester_red-pill_2017Awesome_fuzzing_for _pentester_red-pill_2017
Awesome_fuzzing_for _pentester_red-pill_2017
 
BSides MCR 2016: From CSV to CMD to qwerty
BSides MCR 2016: From CSV to CMD to qwertyBSides MCR 2016: From CSV to CMD to qwerty
BSides MCR 2016: From CSV to CMD to qwerty
 
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
 
OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...
OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...
OpenNebulaConf 2019 - Crytek: A Video gaming Edge Implementation "on the shou...
 
Hacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan BalazsHacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan Balazs
 
MTR Troubleshooting
MTR TroubleshootingMTR Troubleshooting
MTR Troubleshooting
 
Webinar alain-2009-03-04-clamav
Webinar alain-2009-03-04-clamavWebinar alain-2009-03-04-clamav
Webinar alain-2009-03-04-clamav
 
How to measure your security response readiness?
How to measure your security response readiness?How to measure your security response readiness?
How to measure your security response readiness?
 

More from ITCamp

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...ITCamp
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...ITCamp
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp
 
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp
 

More from ITCamp (20)

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing Skills
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AI
 
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian Quality
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsVlad Stirbu
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform EngineeringJemma Hussein Allen
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Cryptography - You're doing it wrong! (Attila Balazs)

  • 1. Premium community conference on Microsoft technologies itcampro@ itcamp14# Cryptography: you're doing it wrong! 108 frequent mistakes in implementing crypto Attila-Mihály Balázs gpanther@grey-panther.net
  • 2. Premium community conference on Microsoft technologies itcampro@ itcamp14# Huge thanks to our sponsors & partners!
  • 3. Premium community conference on Microsoft technologies itcampro@ itcamp14# Agenda • Who am I? • Reason 0 • Reason 1 • Reason 2 • Reason 3 • Reason 4 • Reason 5 • Reason 6 • Reason 7 • Resources • Q&A
  • 4. Premium community conference on Microsoft technologies itcampro@ itcamp14# Who am I? Attila-Mihály Balázs • Reverse Engineer • Developer • Technologist • Not a cryptographer !!! gpanther@grey-panther.net https://grey-panther.net
  • 5. Premium community conference on Microsoft technologies itcampro@ itcamp14# TL;DR Choose widely used technologies • Data in motion: TLS (SSL) • Client side certificates • Windows AD comes with it • Data at rest: • Bitlocker, NTFS encrpytion, CryptProtectData • gpgme, encrypted archives (7z), keyczar-dotnet • Password store: use PBKDF2
  • 6. Premium community conference on Microsoft technologies itcampro@ itcamp14# Purpose of this talk Scare the s*** out of you!
  • 7. Premium community conference on Microsoft technologies itcampro@ itcamp14# Purpose of this talk Scare the pants off of you!
  • 8. Premium community conference on Microsoft technologies itcampro@ itcamp14# Purpose of this talk You are not smart enough to do crypto!
  • 9. Premium community conference on Microsoft technologies itcampro@ itcamp14# Scenario Alice Bob Eve Mallory
  • 10. Premium community conference on Microsoft technologies itcampro@ itcamp14# Scenario Eve Authenticate Token Token Mallory
  • 11. Premium community conference on Microsoft technologies itcampro@ itcamp14# Don't implement your own crypto !!! • Primitives: block ciphers, stream ciphers, hash functions • Cryptographic protocols (systems) – ie. “transmit data over an (untrusted) network between participants who never met previously and ensure the data secrecy and integrity in the presence of passive and/or active attackers”
  • 12. Premium community conference on Microsoft technologies itcampro@ itcamp14# Implementation Token RijndaelManaged RMCrypto = new RijndaelManaged(); byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; CryptoStream CryptStream = new CryptoStream( NetStream, RMCrypto.CreateEncryptor(Key, IV), CryptoStreamMode.Write); StreamWriter SWriter = new StreamWriter(CryptStream); SWriter.WriteLine("Hello World!"); http://msdn.microsoft.com/en-us/library/as0w18af%28v=vs.110%29.aspx
  • 13. Premium community conference on Microsoft technologies itcampro@ itcamp14# Legal stuff I need to tell you Software on Documentation Portals. Software accessible on the Documentation Portals is made available by the designated publisher under the associated license terms. If Software is accessible on the Documentation Portals without license terms, then subject subsection (c) below you may use it to design, develop, and test your programs. If any such Software without license terms is marked as “sample” or “example,” then you may use it under the terms of the Microsoft Limited Public License. http://msdn.microsoft.com/en-us/cc300389.aspx#D 3(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 3(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 3(F) Platform Limitation- The licenses granted in sections 2(A) & 2(B) extend only to the software or derivative works that you create that run on a Microsoft Windows operating system product.
  • 14. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 0: Replay Attacks Token RijndaelManaged RMCrypto = new RijndaelManaged(); byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; CryptoStream CryptStream = new CryptoStream( NetStream, RMCrypto.CreateEncryptor(Key, IV), CryptoStreamMode.Write); StreamWriter SWriter = new StreamWriter(CryptStream); SWriter.WriteLine("access-level=admin|username=bruce");
  • 15. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 0: Replay Attacks Token RijndaelManaged RMCrypto = new RijndaelManaged(); byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; CryptoStream CryptStream = new CryptoStream( NetStream, RMCrypto.CreateEncryptor(Key, IV), CryptoStreamMode.Write); StreamWriter SWriter = new StreamWriter(CryptStream); SWriter.WriteLine("ip=65.55.58.201|expires=1400488925|" + "access-level=admin|username=bruce");
  • 16. Premium community conference on Microsoft technologies itcampro@ itcamp14# Choices, choices, choices
  • 17. Premium community conference on Microsoft technologies itcampro@ itcamp14# Choices, choices, choices • Algorithm: symmetric, Rinjadel (AES) • Block size: 128 bit (16 bytes) • Operation mode: CBC • Padding: PKCS7 • Key: 128 bit (16 bytes) • Key derivation ?? • IV == Key ?? Fixed ??
  • 18. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 1: bit flipping attacks http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
  • 19. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 1: bit flipping attacks 1 ⊕ 1 == 0, 1 ⊕ 0 == 1 0 ⊕ 1 == 1, 0 ⊕ 0 == 0
  • 20. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 1: bit flipping attacks access-level=user|username=gpantherlaccess-level-admin |: 01111100b =: 00111101b l: 01101100b -: 00101101b access-level=use****************her|access-level=admin
  • 21. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 2: padding oracle =admin =adminx9x9x9x9x9x9x9x9x9
  • 22. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 2: padding oracle CryptographicException: Padding is invalid and cannot be removed.
  • 23. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 2: padding oracle guessed ⊕ original ⊕ plaintext = 0x01 a ⊕ a = 0 a ⊕ b = b ⊕ a plaintext = 0x01 ⊕ guessed ⊕ original
  • 24. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 3: Poorly chosen IV RijndaelManaged RMCrypto = new RijndaelManaged(); byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; byte[] IV = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; CryptoStream CryptStream = new CryptoStream( NetStream, RMCrypto.CreateEncryptor(Key, IV), CryptoStreamMode.Write); StreamWriter SWriter = new StreamWriter(CryptStream); SWriter.WriteLine("access-level=admin|username=bruce");
  • 25. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 3: Poorly chosen IV IV == Key C0 = EK(P0 ⊕ IV) C1 = EK(P1 ⊕ C0) C2 = EK(P2 ⊕ C1) … P0 = DK(C0)⊕ IV DK(EK(P0 ⊕ IV))⊕ IV = P0 ⊕ IV ⊕ IV = P0 P1 = DK(C1)⊕ C0 DK(EK(P1 ⊕ C0))⊕ C0 = P1 ⊕ C0 ⊕ C0 = P1 … DK(C0 0 C0) DK(C0)⊕ IV = A DK(0) ⊕ C0 DK(C0)⊕ 0 = DK(C0) = B A ⊕ B = DK(C0)⊕ IV ⊕ DK(C0) = IV = Key
  • 26. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 3: Poorly chosen IV IV == Constant → choosen plain text attack / encryption oracle username=gpanther|access-level=user username=gpanther|access-level=admin 68e4ed21f7bc5ac64405cdd8269b3b74fa19b951f0b521757e94… 68e4ed21f7bc5ac64405cdd8269b3b74e06a42679cb7b34ca8a1…
  • 27. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 4: Key derivation Human password → key bits Very bad: truncate/pad to 16 bytes Very bad: use (first 16 bytes of) MD5(passw) Very bad: use SHA1(password) Bad: use SHA1(salt + password) Bad: use SHA1(per user salt + password) Good: use PBKDF2(password)*. Tune it. Good: use scrypt(password). Tune it. * Rfc2898DeriveBytes
  • 28. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 5: hash extension attacks Eve Authenticate Token Token Mallory "ip=127/8|expires=1400488925|access-level=admin|username=bruce|<signature>"
  • 29. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 5: hash extension attacks Cryptographic hash function: • H(x) = h • h is fast to compute • h is of fixed size • Given h, it is impractical to generate x H(<secret key><data>) = <hash> <data><hash>
  • 30. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 5: hash extension attacks Cryptographic hash function: • H(x) = h • h is fast to compute • h is of fixed size • Given h, it is impractical to generate x H(<secret key><data>) = <hash> <data><hash>
  • 31. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 5: hash extension attacks Cryptographic hash functions are completely deterministic! adc83b19 e793491b 1c6ea0fd 8b46cd9f 32e592fc adc83b19e793491b1c6ea0fd8b46cd9f32e592fc Given x and H(x) it is trivial* to compute: • H(x + d) for arbitrary d • H(x[0:k]) for arbitrary k Use HMAC
  • 32. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 6: HMAC timing attack (side channel attacks) In = "<data><signature>"; Data, Sig = In.split(); CalcSig = HMAC(Data); /* Wrong!!! Do not use!!! */ for(i=0; i<SIG_LEN; i++) { if (Sig[i] != CalcSig[i]) { return False; } } return True;
  • 33. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 6: HMAC timing attack (side channel attacks) <data>00XXXXXXXXXXXXXXXXXXXXXXXXXXXX <data>01XXXXXXXXXXXXXXXXXXXXXXXXXXXX <data>02XXXXXXXXXXXXXXXXXXXXXXXXXXXX … <data>ad00XXXXXXXXXXXXXXXXXXXXXXXXXX <data>ad01XXXXXXXXXXXXXXXXXXXXXXXXXX <data>ad02XXXXXXXXXXXXXXXXXXXXXXXXXX …
  • 34. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 6: HMAC timing attack (side channel attacks) In = "<data><signature>"; Data, Sig = In.split(); CalcSig = HMAC(Data); Int result = 0; for(i=0; i< SIG_LEN; i++) { result |= Sig[i] ^ CalcSig[i]; } return result == 0;
  • 35. Premium community conference on Microsoft technologies itcampro@ itcamp14# Reason 7: C.R.I.M.E. attack (side channels redux) Query EK(C(Query + Response)) Mallory Query
  • 36. Premium community conference on Microsoft technologies itcampro@ itcamp14# Resources • Matasano crypto challenge http://www.matasano.com/articles/crypto-challenges/ • Applied Cryptography https://www.udacity.com/course/cs387 • Cryptography Engineering https://www.schneier.com/book-ce.html • Crypto 101 https://www.crypto101.io/
  • 37. Premium community conference on Microsoft technologies itcampro@ itcamp14# TL;DR Choose widely used technologies • Data in motion: TLS (SSL) • Client side certificates • Windows AD comes with it • Data at rest: • Bitlocker, NTFS encrpytion, CryptProtectData • gpgme, encrypted archives (7z), keyczar-dotnet • Password store: use PBKDF2
  • 38. Premium community conference on Microsoft technologies itcampro@ itcamp14# Q & A