[owasp-tr uygulama güvenliği günü 2016] Özkan boztaş - ssl protokolüne karşı güncel...

Post on 16-Apr-2017

337 Views

Category:

Engineering

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SSL Protokolüne Karşı Güncel Saldırılar ve Korunma Yöntemleri

Özkan BoztaşGüvenlik Mimari

||

Hakkımda

Matematik (Bilkent 2004)

Cryptography (ODTÜ 2006)

Tübitak - UEKAE (2005-2015)

Türk Telekom - Güvenlik Mimari

||

Başlıklar

01 SSL ProtokolüNedir/Nerelerde Kullanılır?

Tarihsel Gelişim

Üst seviye tanım.

02 SSL SaldırılarıZayıf Algoritmalar

Implementation

Padding Oracle

TLS compression

Downgrade

03 Zaafiyet Tespit Araçları

04 Korunma Yöntemleri

||

SSL/TLS ProtokolüHigh Level Definition

01

FootNotePresentaion Title I 4

|

• Sunucu ve uç noktalar arası;

–İletişim Güvenliği

–Kimlik Doğrulama

–Bütünlük koruması

• Kullanıldığı yerler;

–HTTPS

–SSL-VPN

–EAP-TLS

–STARTLS

–LDAPS

–FTPS (SFTP değil!)

Secure Socket Layer (SSL)

|

Tarihçe

• Orijinal versiyon Netscape tarafından 1990’ların başında

geliştirildi.

• TLS = IETF standardization of SSL

–SSL 1.0 (?)

–SSL 2.0 (1994 - Netscape)

–SSL 3.0 (1996 - Netscape)

–TLS 1.0 (1999 – IETF)

–TLS 1.1 (2006 – IETF)

–TLS 1.2 (2008 – IETF)

–TLS 1.3 (Draft)

|

• Dr. Taher A. Elgamal (father of SSL)

–Kahire Üniversitesi BSc (1977)

–Stanford MSc (1981)

–Stanford Phd (1984)

–Advisor : Martin Hellman (Açık Anahtarlı

Kripto Sistemleri!)

• 1995-1998 Netscape Corporation

–Chief Scientist

–SSL protokolünü geliştirdi.

Secure Socket Layer (SSL)

|

Tarihçe

• SSL 2.0 - 3.0

–Standart Değil!

–Teorik - Pratik Saldırılar

……..

• TLS 1.2

–2008’te standartlaştı.

–Zayıf algoritmalar kaldırıldı(DES)

–(SHA256,AESGCM) desteği

–Pratikte bir saldırı yok.

|

Tarihçe

• Gerçeklenme sorunları

–Yazılım

–Donanım

• TSL 1.0 sunucu tarafında kapandığında

cihazların %50’si bağlanamayacak!

|

Kriptografi

• Gizlilik

–Açık Anahtarlı Sistemler (Public Key Cryptography)

–Simetrik Sistemler (Symmetric Ciphers)

• Bütünlük

–Özet (hash) Fonksiyonları

• Kimlik Doğrulama

–Mesaj Asıllama Kodları (MAC functions)

–Sayısal İmza

|

SSL Protokolü• OSI 5. Katman

• İki katmanlı yapı

–Protocol

–Record

|

• Client Hello

–Kripto kabiliyetlerinin paylaşımı

• Server Hello

–Kripto algoritmalarının seçimi

–Sertifika

• Client Key Exchange

–Premaster Key (Public Key ile yollanır)

• Change Cipher Spec

–Anahtarlar üzerinde anlaşma

• Finished

–Handshake finished.

–Encrypted, includes MAC

SSL Protokolü

|

• Record Katmanı

–Fragmante et

–Sıkıştır (Opsiyonel)

–MAK değerini hesapla

–Şifrele

–Paketle

SSL Protokolü

||

SSL/TLS Saldırıları

02

FootNotePresentaion Title I 4

|

• Gerçekleme (Implementation) Zaafiyetleri

–OpenSSL /Secure Transport

• Zayıf Simetrik Algoritmalar

–RC4, DES

• Protokol Zaafiyetleri

–Padding Oracle Saldırıları

–TLS Compression Saldırıları

–Downgrade Saldırıları

SSL/TLS Saldırıları

|

• HEARTBLEED (7 Nisan 2014 - Public)

• OpenSSL 1.0.1 - 1.0.1f versiyonlarında mevcut.

• OpenSSL’in koştuğu sunucudaki hafıza içeriğine uzaktan erişim!

• İnternet tarihindeki en büyük zafiyetlerden biri (Forbes)

İmplementasyon Zaafiyetleri

|

İmplementasyon Zaafiyetleri

• TLS Heartbeat extension

• Memory Safety bug

• 64KB’ya kadar hafıza okunabiliyor!

• Gizli anahtarlar, parolalar vb…

|

İmplementasyon Zaafiyetleri

• TLS Heartbeat extension

• Memory Safety bug

• 64KB’ya kadar hafıza okunabiliyor!

• Gizli anahtarlar, parolalar vb…

|

• DES (56 bit)

–TripleDES( 112 – 168 bit)

• RC4

–Dizi Şifreleme

–Onlarca akademik çalışma

–Pratik olarak kırılıyor.

–Kesinlikle kullanılmamalı!

Zayıf Simetrik Şifreleme Algoritmaları

|

• Blok Şifreleme Sistemleri

–Şifrelenecek veri Blok Boyu’nun katı olmalı.

–Değilse Padding (Dolgulama) yapılmalı.

–SSL 3.0’da Padding:

Padding Oracle Saldırıları

|

• SSL – MAC then ENCRYPT

• Önce Şifre Çözme ardından MAC kontrolü!

• Padding hataları raporlanıyor.

• Yan Kanal Analizleri?

• Bleichenbacher – Crypto 98

–RSA padding

• Serge Vaudenay - Eurocrypt 2002

Padding Oracle Saldırıları

|

• CBC Şifreleme Modu

Padding Oracle Saldırıları

|

• CBC Şifre Çözme Modu

Padding Oracle Saldırıları

|

• (n-1). şifreli blok üzerinde manipülasyon!

Padding Oracle Saldırıları

|

• (n-1). şifreli blok üzerinde manipülasyon!

• Padding hatası almayana dek manipülasyona devam.

• Anahtarı kullanmadan son bloğun son baytı çözüldü!

Padding Oracle Saldırıları

|

• (n-1). şifreli blok üzerinde manipülasyon!

• Padding hatası almayana dek manipülasyona devam.

• Anahtarı kullanmadan son bloğun son baytı çözüldü!

Padding Oracle Saldırıları

|

• BEAST - 2011

• LUCKY13 - 2013

• POODLE – 2014

• En pratik ve tehlikeli saldırılar!

• Önlemler

–Sunucudan padding hatalarınının verilmemesi

–MAC fonksiyonunun her daim çalıştırma.

–IV’yi her pakette değiştirme.

–RC4 kullanma

Padding Oracle Saldırıları

|

• TLS Data Sıkıştırma (opsiyonel)

• Sunucu tarafında aktiflenir.

• DEFLATE algorithm

–LZ77 (Tekrar eden pattern’lar)

–Huffman Coding

• Teori: Compression and information

leakage of plaintext – FSE 2002

TLS Compression Saldırıları

|

• LZ77 Algoritması

• Source Compressed Encrypted

• --------------------------------------------------------------------------------

• ABCDEFGHIJKL = ABCDEFGHIJKL = Z@%fkT2r$#!B

• AAAAABCDEFGH = 5ABCDEFGH = jhG*4m,$A

• Saldırgan araya girip sorguya paket injecte eder!

• XYZABCDEFGHIJK = XYZABCDEFGHIJK = At9XeCNVxKt@XZC

• ZZZ[Unknown] = [Unknown] = QvnQSHvQWB3*QR

• YYY[Unknown] = [Unknown] = f*fB&cfcM7sya*u7F

• AAA[Unknown] = [Unknown] = rAW^26uffH%8

• Çıktı uzunluğu yan kanal analizi!

TLS Compression Saldırıları

|

• MITM tipi saldırı.

• CRIME – 2012 Ekoparty

–Cookie’ler birkaç bin sorgu ile çözülebiliyor.

• BREACH – 2013 Black Hat

–HTTP Compression özelliğini de kullanıyor.

• Önlem:

–Disable TLS Compression.

–Disable HTTP Compression!

–CSRF token

TLS Compression Saldırıları

|

• RSA Export Ciphers

–U.S Export contol for encryption systems

–512 bit ve altı RSA anahtarı.

–Bu politika sonradan kalkmasına rağmen sunucularda bu opsiyon

senelerce zombi olarak kaldı!

–Client tarafında desteği olmadığından böyle bir istek gelmeyeceği

düşünüldü!

–Başka bir MITM saldırısı!

Downgrade Saldırıları

|

• OpenSSL / Apple Secure Transport bug

– MITM

– Client istemese de 512 bit RSA kullanımı.

– PC’de 2 haftada kırılıyor

– Cloud Based: 108$ 1 saat (Amazon)

Freak - 2015

|

Logjam - 2015

• DH – Export Parametreleri

• 512 bit

• Protokol seviyesinde bir açıklık.

• Cipher süite’ler üzerinde imza yok!

• Paket sonundaki MAC hesabı tutmayacak!

• Finished mesajı gelmeden 512 bit DSA

kırılmak zorunda?

• Pre-computation ile mümkün.

• Dakikalar seviyesinde kırılabiliyor.

|

Snowden – NSA

|

Downgrade Atakları

• Önlemler:

–Export cipher suitler sunucudan

kaldırılmalı.

–Precoded DH grupları minimum 2048

bit olacak şekilde yeniden

oluşturulmalı.

–Client tarafı – Güncel tarayıcılar 1024

bit altı DH gruplarda sayfayı

göstermiyor!

|

• Sunucular TLS destekli

ancak;

• SSL 2.0 destekleyen başka

bir sunucuda aynı sertifika

kullanılıyorsa.

• Padding oracle saldırısı.

• 1000 TLS, 40,000 SSL 2.0

bağlantısı gerekli.

• GPU’da 18 saatte çözülüyor.

Cross Protocol Saldırıları – DROWN - Mart 2016

||

SSL/TLS Zaafiyet Tespit Araçları

03

|

• SSLLABS (Qualys)

–https://www.ssllabs.com/

• SSLScan (Linux)

–Desteklenen cipher süit’ler

–Anahtar boyları

Zaafiyet Tespit Araçları

||

SSL/TLS Saldırıları Korunma Yöntemleri

04

|

• Protokol Desteği

–SSL 2.0 ve 3.0 kullanılmamalı.

• Cipher Desteği

–RC4, DES gibi zayıf simetrik algoritmalar kullanılmamalı.

–Minimum 2048 bit açık anahtarlı sistemler kullanılmalı.

–Export Cipher Suite’lar kaldırılmalı.

• Forward Secrecy

–Geçici anahtarlı DH algoritmaları kullanılmalı.

–EECDH, EDH

• Zaafiyet Yönetimi

–OpenSSL yamaları

–Güncel Tarayıcılar

–Sunucu/Cihaz yamaları

Önlemler

|

• Mozilla SSL Configuration Generator

–https://mozilla.github.io/server-side-tls/ssl-config-generator/

Güvenli Konfigurasyon

|

Mozilla SSL Configuration Generator

|

• Windows Kayıt Defteri – Güvenli SSL Anahtarları

Güvenli Konfigurasyon

|

IIS Crypto

FootNote

https://www.nartac.com/Products/IISCrypto

|

• Donanım cihazları

–TLS 1.0 yukarısı her zaman desteklenmeyebiliyor.

–Poodle TLS (implementasyon zaafiyeti, yama’nın çok geç yayınlanması)

• Windows

–Uygulamalar kendi konfigürasyonlarını force edebiliyor!

–Windows SecureChannel DH 1024 grup üzeri desteklemiyor!

• Java

–Java 7 ve altı DH 1024 grup üzeri desteklemiyor. (Java 8 ile geldi)

• Linux

–Enterprise versiyonlar, eski ve güncellenemeyen OpenSSL sürümleri.

Karşılaşılan Zorluklar

||

Sorular ?

top related