SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
1
28
Lê Quốc Nhật Đông
Hoa Sen University & Lac Tien JSC
DETECT ATTACK AND SECURING SSL/TLS
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
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
3
28
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
4
28
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
5
28
www.ssllabs.com/ssltest
webscan.com.vn/ssllab
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
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.
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
8
28
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
9
28
Demo detect BEAST Vulnerable
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
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
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
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.
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
14
28
Perfect Forward Secrecy
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).
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
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
17
28
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.
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
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
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
21
28
SSL DoS Attack
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
22
28
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
23
28
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
24
28
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
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
26
28
Man-in-the-Middle Attack
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
27
28
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
28
28
THANKS FOR LISTENING