LOGO
TRƯỜNG
TRƯỜNG ĐẠI
ĐẠI HỌC
HỌC BÁCH
BÁCH KHOA
KHOA ĐÀ
ĐÀ NẴNG
NẴNG
Khoa
Khoa Công
Công Nghệ
Nghệ Thông
Thông tin
tin
Bộ
Bộ Môn
Môn Mạng
Mạng và
và truyền
truyền thông
thông
AN TOÀN THÔNG TIN MẠNG
BÁO CÁO :
TÌM HIỂU VÀ KHAI THÁC CÁC CÔNG CỤ BẺ
KHÓA SSL
GVHD : TS. Nguyễn Tấn Khôi
Sinh Viên : Nguyễn Trường Thuật – 08T2
Dương Văn Sơn – 08T2
Nguyễn Minh Đức
Đà Nẵng, Tháng 10 năm 2012
NỘI DUNG BÁO CÁO
1
Tổng
Tổng quan
quan về
về giao
giao thức
thức SSL/TLS
SSL/TLS
2
Tấn công và cách phòng chống
3
Demo
Demo
1
Tổng
Về
Tổng Quan
Quan
Về Giao
Giao Thức
Thức SSL
SSL
LÝ THUYẾT
1
Giới
Thiệu Về
SSL
Lịch sử phát triển của giao thức SSL
Cấu trúc của giao thức SSL
Các thuật toán mã hóa dùng trong SSL
Mô tả quá trình truyền thông của SSL
2
Ứng
Dụng
SSL
Các ứng dụng phổ biến của SSL
Ứng Dụng SSL Trên Web Server
Lịch sử phát triển của giao thức SSL
Tại sao sử dụng SSL?
- Việc truyền các thông tin nhạy cảm trên mạng rất không an
toàn vì những vấn đề sau:
+ Bạn không thể chắc rằng bạn đang trao đổi thông tin với
đúng đối tượng cần trao đổi.
+ Dữ liệu mạng có thể bị chặn ,vì vậy dữ liệu có thể bị 1 đối
tượng thứ 3 khác đọc trộm, thường được biết đến như
attacker
+ Nếu attacker có thể chặn dữ liệu, attacker có thể sửa đổi dữ
liệu trước khi gửi nó đến người nhận.
Lịch sử phát triển của giao thức SSL
Giao thức SSL là gì?
- SSL (Secure Sockets Layer) là giao thức an ninh thông tin mạng
được sử dụng rộng rãi nhất hiện nay nhằm mã hóa và cung cấp một
kênh an toàn giữa các máy tính trên Internet hoặc mạng nội bộ.
- SSL ám chỉ một lớp (bảo mật) trung gian giữa Transport Layer
và Application Layer.
- Được phát triển bởi Netscape, ngày nay giao thức Secure Socket
Layer (SSL) đã được sử dụng rộng rãi trên World Wide Web trong
việc xác thực và mã hoá thông tin giữa client và server
Giao thức SSL là gì?
- SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật
có thể hỗ trợ cho rất nhiều ứng dụng
- Để đảm bảo tính bảo mật thông tin trên internet hay bất kì mạng
TCP/IP nào thì SSL ra đời kết hợp với những yếu tố sau để thiết lập
giao dịch an toàn:
Lợi Ích Khi Sử Dụng SSL !
*Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng
thứ ba. Để loại trừ việc nghe trộm những thông tin “ nhạy cảm” khi
nó được truyền qua Internet.
*Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải
thể hiện chính xác thông tin gốc gửi đến.
Lịch sử phát triển của giao thức SSL
Các phiên bản của SSL
Giao thức SSL ban đầu được phát triển bởi Netscape.
Cho đến bây giờ, có ba phiên bản của SSL:
* SSL 1.0: Bởi Netscape. Nó chứa một số khiếm khuyết nghiêm
trọng và không bao giờ được tung ra bên ngoài
* SSL 2.0 Microsoft cũng đã giới thiệu giao thức PCT cạnh tranh
trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996
*SSL 3.0 Phản ứng lại giao thứcPCT của Microsft
cải tiến SSL 2.0
Cấu trúc của giao thức SSL
- SSL được thiết kế để dùng TCP cung cấp 1 dịch vụ bảo mật đáng
tin cậy.SSL không phải là một giao thức đơn mà là 2 lớp giao thức:
Cấu trúc của giao thức SSL
1.Giao Thức SSL Record Protocol
SSL Record Protocol cung cấp 2 dịch vụ cho kết nối SSL:
+ Confidentiality (tính cẩn mật): Handshake Protocol định nghĩa
1 khóa bí mật được chia sẻ, khóa này được sử dụng cho mã hóa
quy ước các dữ liệu SSL
+ Message integrity (tính toàn vẹn thông điệp):Handshake
Protocol cũng định nghĩa 1 khóa bí mật được chia sẻ, khóa này
được sử dụng để hình thành MAC (mã xác thực message).
Cấu trúc của giao thức SSL
1.Giao Thức SSL Record Protocol
Toàn bộ hoạt động của SSL Record Protocol:
Cấu trúc của giao thức SSL
2.Giao thức SSL Change Cipher Spec Protocol
- Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất
trong ba giao thức đặc trưng của SSL.
- Giao thức này bao gồm một message đơn 1 byte giá trị là 1.
Mục đích chính của message này là sinh ra trạng thái tiếp theo để
gán vào trạng thái hiện tại,và trạng thái hiện tại cập nhật lại bộ
mã hóa để sử dụng trên kết nối này
Cấu trúc của giao thức SSL
3.Giao thức SSL Alert
- Giao thức SSL Alert được dùng để truyền cảnh báo liên kết SSL
với đầu cuối bên kia.
+bad_record_mac: MAC không chính xác
+unsupported_certificate: dạng certificate nhận được thì
không hỗ trợ. +certificate_revoked: certificate đã bị thu hồi
bởi nhà cung cấp.
+certificate_expired: certificate đã hết hạn đăng ký.
Cấu trúc của giao thức SSL
4.Giao Thức SSL Handshake
- Giao thức này cho phép server và client chứng thực với nhau và
thương lượng cơ chế mã hóa , thuật toán MAC và khóa mật mã
được sử dụng để bảo vệ dữ liệu được gửi trong SSL record.
- Giao thức SSL Handshake thường được sử dụng trước khi dữ
liệu của ứng dụng được truyền đi.
Cấu trúc của giao thức SSL
4.Giao thức SSL Handshake
Cơ chế giao thức SSL Handshake
Các thuật toán mã hóa dùng trong SSL
- Các thuật toán mã hoá là các hàm để mã hoá và giải mã thông
tin.
- Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, sử dụng
trong quá trình xác thực server và client
Một số thuật toán SSL sử dụng :
Thuật toán Symmetric (Pre-Shared Key) còn gọi là mã hóa
đối xứng.
Có nghĩa là A dùng key K để encrypt dữ liệu và send cho B thì
khi đó B cũng dùng key K để decrypt dữ liệu. key K cả 2 người
đều giữ để encrypt và decrypt data.
Ưu điểm: của cách này là chỉ cần dùng 1 key ta có thể encrypt
và decrypt được cho data. Dễ làm …
Nhược điểm: nếu ta muốn trao đổi data dc encrypt với nhìu
người thì phải cần nhìu key => khó nhớ, dễ quên, không an toàn
Các thuật toán mã hóa dùng trong SSL
Thuật toán Asymmetric còn gọi là mã hóa bất đối
xứng.
Các nhà khoa học đã chứng minh được rằng luôn có 1
cặp 1 số nguyên tố vô cũng lớn là P với Q (trong đó P
đại diện cho private key còn Q là Public Key) và độ dài
của cặp số này dài đến 1024 bit.
Ví dụ: Bây giờ A muốn send dữ liệu mã hóa cho B thì
A: data
+ Q(B) = Cipher
Khi B nhận:
B: Cipher
+ P(B) = data
Khi này attacker cho dù capture được Cipher thì cũng
không decrypt dc vì ko có P(B).
Các thuật toán mã hóa dùng trong SSL
Thuật toán Kerberos
Muốn sự dụng được Kerberos thì ta phải có ít nhất 3
PC, trong đó có 1 PC đứng ra làm Distribution Key. Khi
A muốn giao dịch mã hóa với B thì A phải chạy lên DC
xin key và dùng key đó để mã hóa data và khi B nhận dc
data đã được mã hóa thì B lên so sánh key của A dùng
có phải do DC cấp ko và từ đó decrypt dc data.
ưu điểm: độ bảo mật tốt hơn so với dạng Pre-Shared
key.
Nhược điểm: không thể triển khai rộng rãi
Mô tả quá trình truyền thông của SSL
Ứng Dụng SSL
Các ứng dụng phổ biến của SSL
- Tuy vẫn còn một số lỗi hổng khai thác, nhưng SSL vẫn là giao thức
bảo mật cao nhất mà chưa một giao thức bảo mật nào có thể thay thế
vai trò của nó
- Ứng dụng đi kèm SSL được IANA(Internet Assigned Numbers
Authority) công nhận :
Name
Port
Description
Nsiiop
261
Dịch vụ IIOP trên TLS/SSL
Https
443
HTTP trên TLS/SSL
Smtps
465
SMTP trên TLS/SSL
Nntps
563
NNTP trên TLS/SSL
Ldaps
636
LDAP trên TLS/SSL
Ftps-data
989
FTP-dữ liệu trên TLS/SSL
Ftps
990
FTP-điều khiển trên TLS/SSL
Telnets
992
TELNET trên TLS/SSL
Imaps
994
IRC trên TLS/SSL
2.Ứng Dụng SSL
Ứng Dụng SSL Trên Web Server
Web Server ?
Máy chủ có dung lượng lớn, tốc độ cao dùng để lưu trữ thông
tin ,chứa website cùng những thông tin liên quan khác.
Có địa chỉ IP hoặc tên miền
Khi máy tính kết nối đến một Web Server và gửi đến yêu cầu
truy cập các thông tin từ một trang Web nào đó, Web Server
Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin
mà bạn mong muốn
Các Phương Thức Tấn Công
Giả mạo Certifcate – Hay MITM. Máy
attack là 1 proxy và mọi thông tin của
victim đều đi qua proxy này.
Công Cụ Tấn Công
Dùng Tool Burpsuite
Burpsuite_v1.3. Đây là một tools có tính năng là một Intercept
Proxy
Quick_Batch_File_Compiler_3.21 là một tools chuyển file.bat
file.exe
Tạo ra một file.bat với nội dung: Có thể đổi được proxy máy bị
tấn công
Demo
Tùy chỉnh cấu hình
Demo
Kết quả.