28
SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 1 28 Lê Quốc Nhật Đông Hoa Sen University & Lac Tien JSC [email protected] DETECT ATTACK AND SECURING SSL/TLS

SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

Embed Size (px)

Citation preview

Page 1: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

1

28

Lê Quốc Nhật Đông

Hoa Sen University & Lac Tien JSC

[email protected]

DETECT ATTACK AND SECURING SSL/TLS

Page 2: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

2

28

About me

Insert an artribary text like your topic name, personal info,... 2

facebook.com/nguyenduonghieu.std

linkedin.com/in/lequocnhatdong

+ Student at Hoa Sen University

+ Work for Lac Tien JSC

+ FOSS Experience: Linux Server

+ Programmer: Python/Perl/Shell

+ Developer of Webscan Project

Page 3: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

3

28

Page 4: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

4

28

Page 5: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

5

28

www.ssllabs.com/ssltest

webscan.com.vn/ssllab

Page 6: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

6

28

Các kĩ thuật detect và khắc phục lỗ hỏng

+ BEAST Attack

+ CRIME Attack

+ Man-in-the-Middle SSL Attack

+ SSL DoS Attack

+ Strict Transport Security

+ Perfect Forward Secrecy

Page 7: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

7

28

BEAST: A Surprising Cryto Attack Against HTTPS

+ Là kĩ thuật khai thác thành công điểm yếu của cơ chế mã hóa khối

(CBC – Block Cipher)

+ Mục tiêu là decrypt HTTPS request rồi đọc cookie (chứa session ID)

có trong HTTPS request.

+ Attacker sẽ cài 1 agent vào browser của victim. Agent này có khả

năng yêu cầu browser thực hiện request HTTP và đọc nội dung

request này. Agent này có thể đơn giản là 1 đoạn code javascript, cài

vào browser theo cách tấn công XSS.

Page 8: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

8

28

Page 9: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

9

28

Demo detect BEAST Vulnerable

Page 10: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

10

28

Defense with BEAST Attack

Để chống lại BEAST Attack, cần thực hiện các bước bảo mật như sau:

+ Vô hiệu hóa tất cả các Block Cipher như AES_CBC và ưu tiên Stream Cipher như RC4

+ Đặt chế độ thỏa thuận ưu tiên cho String Cipher (như RC4-SHA, RC4-MD5,...)

+ Sử dụng giao thức bảo mật TLSv1.1 và TLSv1.2 thay cho TLSv1.0

+ Tắt giao thức SSL 2.0 trong các phiên bản OpenSSL cũ

+ Hạn chế các dạng tấn công Cross Site Scripting (XSS) nhắm vào máy chủ.

+ Apache, mod_ssl và OpenSSL phải được cập nhật phiên bản mới nhất

Page 11: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

11

28

Chỉnh sửa tập tin ssl.conf với các tham số sau:

SSLAllowClientRenegotiation 0

SSLHonorCipherOrder on

SSLProtocol -all +SSLv3 +TLSv1 -SSLv2

SSLCipherSuite RC4-SHA:HIGH:!ADH!aNULL

SSLProxyCheckPeerCN on

SSLProxyCheckPeerExpire on

Page 12: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

12

28

Nếu máy chủ có hỗ trợ TLS 1.1+ protocol:

SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-

GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH

Page 13: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

13

28

Clientside+ Dùng trình duyệt có hỗ trợ TLS 1.1 và TLS 1.2.

+ Thường xuyên update trình duyệt hiện hành (Browser)

+ Lưu ý các plugin trình duyệt (chẳng hạn như Java, Flash, Silverlight)

+ Đăng xuất (Logout) hoặc đóng trình duyệt trang web khi không sử dụng.

+ Không lưu thông tin đăng nhập sau khi đã login thành công tài khoản.

+ Sẽ tốt hơn nếu được sử dụng trình duyệt ở chế độ Private Browsing.

Page 14: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

14

28

Perfect Forward Secrecy

Page 15: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

15

28

Toàn bộ giải thuật cụ thể của DH (Diffie-Hellman) là:

- Một số nguyên tố p và một phần tử t thuộc Zp , p và t công khại

1> Bên A chọn số nguyên tố Ra (0<=Ra<=p-2), giữ kín Ra

2> A tính: Ca= ( t ^ Ra ) mod p, Gửi Ca cho B.

3> B chọn số nguyên tố Rb (0<=Rb<=p-2), giữ kín Rb.

4> B tính: Cb= ( t ^ Rb ) mod p, gửi Cb cho A

5> Lúc này, A có Ra và Cb; B có Rb và Ca

A tính K = ( Cb ^ Ra ) mod p

B tính K = ( Ca ^ Rb ) mod p.

Trong đó:

+ Ra, Rb: 2 khoá riêng

+ Ca,Cb: 2 khoá chung

Với 2 giá trị Ra và Rb làm mới ngẫu nhiên theo thời gian nhất định tính bằng giây, ta gọi giải

thuật đó là Ephemeral Diffie-Hellman (EDH hoặc DHE).

Page 16: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

16

28

Trong phiên bản OpenSSL 1.0.0 đã cập nhật ECDHE và DHE, ta có thể sử dụng lệnh sau:

$ openssl ciphers ECDH

Trong tập tin /etc/apache2/mods-available/ssl.conf, sẽ thay đổi thành như sau:

SSLCipherSuite "ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:RC4:HIGH:!

MD5:!aNULL:!EDH:!AESGCM"

Để kiểm tra server trong mạng Internet có hỗ trợ Forward Secrecy hay không, thực hiện lệnh:

$ echo GET | openssl s_client -tls1 -cipher ECDH -connect google.com:443

Page 17: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

17

28

Page 18: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

18

28

+ CRIME Attacke chỉ hoạt động khi cả hai trình duyệt và máy chủ hỗ trợ

TLS compression hoặc SPDY

+ Hoạt động với tất cả phiên bản TLS và tất cả Cipher Suites

+ Hoạt động ngay cả khi tính năng HSTS đã được cài đặt sẵn.

Page 19: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

19

28

Cách duy nhất để ngăn chặn CRIME là vô hiệu hóa TLS Compression hoặc áp dụng

một bản vá SPDY ở cả máy chủ và máy khách

Trình duyệt web (browser) cần phải thực hiện nâng cấp phiên bản mới nhất

Từ phía máy chủ, cần thay đổi tập tin php.ini như sau:

zlib.output_compression = Off

echo “export OPENSSL_NO_DEFAULT_ZLIB=1” >>/etc/apache2/httpd.conf

Page 20: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

20

28

Để detect CRIME Attack hướng server, ta sẽ thực hiện câu lệnh openssl

$ echo GET | openssl s_client -connect mobivi.vn:443 -state-showcerts

Page 21: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

21

28

SSL DoS Attack

Page 22: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

22

28

Page 23: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

23

28

Page 24: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

24

28

Page 25: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

25

28

Trong tập tin cấu hình ssl.conf nên thiết lập như sau:

SSLInsecureRenegotiation off

Thiết lập rule iptables như sau:

iptables -A LIMIT_SSL \

-p tcp --dport 443 \

--syn -m state --state NEW \

-m hashlimit \

--hashlimit-above 120/minute --hashlimit-burst 20 \

--hashlimit-mode srcip --hashlimit-name ssl-conn \

-j DROP

Page 26: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

26

28

Man-in-the-Middle Attack

Page 27: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

27

28

Page 28: SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)

SECURITY BOOTCAMP 2012 | Make yourself to be an expert!

28

28

THANKS FOR LISTENING