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 cooki
Trang 128
Lê Quốc Nhật Đông
Hoa Sen University & Lac Tien JSClequocnhatdong@msdnvietnam.net
DETECT ATTACK AND SECURING SSL/TLS
Trang 2+ Student at Hoa Sen University + Work for Lac Tien JSC
+ FOSS Experience: Linux Server + Programmer: Python/Perl/Shell + Developer of Webscan Project
Trang 328
Trang 428
Trang 528
www.ssllabs.com/ssltest
webscan.com.vn/ssllab
Trang 6+ Strict Transport Security
+ Perfect Forward Secrecy
Trang 728
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
Trang 828
Trang 928
Demo detect BEAST Vulnerable
Trang 1028
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
Trang 1228
Nếu máy chủ có hỗ trợ TLS 1.1+ protocol:
SSLCipherSuite GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
Trang 1328
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.
Trang 1428
Perfect Forward Secrecy
Trang 1528
- 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).
Trang 1628
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
Trang 1728
Trang 1828
+ 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.
Trang 1928
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
Trang 2028
Để 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
Trang 2128
Trang 2228
Trang 2328
Trang 2428
Trang 25hashlimit-above 120/minute hashlimit-burst 20 \
hashlimit-mode srcip hashlimit-name ssl-conn \
-j DROP
Trang 2628
Man-in-the-Middle Attack
Trang 2728
Trang 2828
THANKS FOR LISTENING