1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu các giao thức bảo mật lớp vận chuyển

33 121 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 816,94 KB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU VỀ SSL/TLS (7)
    • 1.1 Tổng Quan Về SSL/TLS (7)
      • 1.1.1 Tác dụng của SSL/TLS (7)
      • 1.1.2 Các Giao Thức Con (8)
    • 1.2 Vấn đề bảo mật trong SSL và TLS (9)
    • 1.3 KẾT LUẬN CHƯƠNG (11)
  • CHƯƠNG 2: TÌM HIỂU VỀ GIAO THỨC SSL/TLS (12)
    • 2.1 Tìm Hiểu Về Giao Thức SSL (12)
      • 2.1.1 Các hệ mã hoá được sử dụng trong giao thức SSL (13)
      • 2.1.2 Nhiệm vụ bảo mật của SSL (14)
      • 2.1.3 Lợi ích và hạn chế của SSL (15)
    • 2.2 Những Thay Đổi Của TLS So Với SSL (17)
      • 2.2.1 Thông điệp giao thức cảnh báo (17)
      • 2.2.2 Xác thực thông điệp (19)
      • 2.2.3 Sinh nguyên liệu khoá (19)
      • 2.2.4 Xác nhận chứng chỉ (21)
      • 2.2.5 Thông điệp Finished (21)
    • 2.3 TỔNG KẾT CHƯƠNG (22)
  • CHƯƠNG 3: NHỮNG PHƯƠNG THỨC TẤN CÔNG BẢO MẬT TLS/SSL VÀ ỨNG DỤNG CỦA SSL /TLS (23)
    • 3.1 Những phương thức tấn công bảo mật TLS/SSL (23)
      • 3.1.1 Tấn công lừa đảo hình thức Phishing (23)
      • 3.1.2 Tấn công mạng APM (Advanced Persisent Malware) (23)
      • 3.1.3 Tấn công đánh cắp SSL(SSL stripping hoặc SSL Hijacking) (24)
      • 3.1.4 Các nhà cung cấp chứng chỉ giả mạo, không được tin cậy hoặc chứng chỉ hết hạn (25)
      • 3.1.5 Tấn công POODLE (25)
      • 3.1.6 Flood SSL hay Tấn công Ddos vắt kiện SSL/TLS (26)
    • 3.2 Ứng dụng của SSL và TLS (27)
      • 3.1.3 Ứng dụng SSL trong IMAP, POP3, SMTP (27)
      • 3.1.4 Ứng dụng của TLS/SSL trong FTP ( File Transfer Protocol) (28)
      • 3.1.5 SSL trong Remote desktop protocol cho Terminal Service (29)
      • 3.1.6 Các dịch vụ, ứng dụng cũng sử dụng SSL/TLS (30)
    • 3.3 Tổng kết chương (31)
  • TÀI LIỆU THAM KHẢO (33)

Nội dung

GIỚI THIỆU VỀ SSL/TLS

Tổng Quan Về SSL/TLS

Đảm bảo an toàn thông tin là một quá trình quan trọng, trong đó việc bảo vệ đường truyền đóng vai trò then chốt Giao thức SSL/TLS là một trong những phương pháp bảo mật phổ biến hiện nay SSL, viết tắt của Security Sockets Layer, là giao thức mã hóa giúp truyền thông an toàn qua mạng, được phát triển bởi Netscape, với phiên bản đầu tiên là SSL 2.0 vào năm 1995 và phiên bản 3.0 vào năm 1996 Tuy nhiên, do nhiều lỗ hổng bảo mật, SSL đã không còn được phát triển và hiện nay ít được sử dụng hơn TLS TLS, viết tắt của Transport Layer Security, cũng là một giao thức mã hóa nhằm bảo đảm an toàn cho truyền thông, được phát triển bởi Lực lượng Chuyên trách về Kỹ thuật Liên mạng (IETF) và ra mắt phiên bản 1.0 vào năm 1999.

1.1.1 Tác dụng của SSL/TLS

Khi truy cập vào một trang web không an toàn như http://www.xyz.com, người dùng có nguy cơ bị lừa đảo và thông tin cá nhân như tên và mật khẩu có thể bị rò rỉ Ngược lại, với trang web sử dụng giao thức bảo mật https://www.xyz.com, người dùng có thể yên tâm hơn vì https là sự kết hợp của http và SSL/TLS, cho thấy trang web đã được cấp chứng chỉ SSL/TLS Hình ảnh dưới đây minh họa cho việc truy cập vào một trang web không có chứng chỉ SSL/TLS, hiển thị thông báo kết nối không an toàn.

Để xác định xem một trang web có chứng chỉ SSL/TLS hay không, bạn có thể nhìn vào biểu tượng ổ khóa bên cạnh URL Nếu có biểu tượng này, trang web đó sở hữu chứng chỉ SSL/TLS hợp lệ.

Ngày nay, các chứng chỉ SSL thực chất là chứng chỉ TLS, nhưng vẫn được gọi là chứng chỉ SSL Sau khi mua chứng chỉ, hãy đảm bảo tắt tùy chọn hạ cấp xuống SSL 3.0 để bảo vệ trang web khỏi các lỗ hổng bị khai thác bởi hacker.

Các tiện ích của chứng chỉ mang lại là :

• Đảm bảo tính trọn vẹn của dữ liệu

• Mã hóa dữ liệu để bảo đảm tính bí mật

1.1.2 Các Giao Thức Con a) SSL Record:

Đoạn văn này được sử dụng để xác định các định dạng khi truyền dữ liệu, trong đó trường phiên bản giao thức chỉ ra việc sử dụng SSL 3.0, TLS 1.1, TLS 1.2 hoặc TLS 1.3 Ngoài ra, còn có trường băm nhằm đảm bảo tính toàn vẹn và xác thực của dữ liệu.

Dữ liệu sẽ được chia thành nhiều mảnh và nén lại, sau đó sử dụng các hàm băm như MD5 hoặc SHA để tạo giá trị băm cho phần nén Giá trị băm này sẽ được gắn vào phần nén và thực hiện mã hóa.

❖ Đây là giao thức giúp client và server trao đổi các thông tin để thiết lập kết nối SSL

Khách hàng sẽ gửi đến máy chủ gói tin ClientHello, trong đó chứa thông tin về phiên bản cao nhất mà khách hàng hỗ trợ, danh sách các thuật toán mã hóa mà khách hàng sử dụng và danh sách các hàm băm mà khách hàng áp dụng.

Máy chủ sẽ gửi gói ServerHello, trong đó chứa phiên bản mà khách hàng đề xuất, phiên bản cao nhất mà máy chủ hỗ trợ, cùng với thuật toán mã hóa và hàm băm mà máy chủ lựa chọn để thiết lập kết nối với khách hàng.

Server gửi chúng thư số cho client, client kiểm tra tính hợp lệ và chấp nhận khóa công khai của server

Khách hàng sẽ tạo ra một số ngẫu nhiên để sử dụng như một phần của khóa phiên, sau đó mã hóa số này bằng khóa công khai của máy chủ Nếu máy chủ giải mã thành công, điều này sẽ xác thực tính hợp lệ của máy chủ.

Sau lúc này thì mọi thông tin trao đổi giữa client và server đều được mã hóa bằng thuật toán và session key

❖ Về phần xác thực client:

Khi máy chủ gửi yêu cầu xác thực, máy khách sẽ gửi chứng thư số của mình cho máy chủ Cả hai bên sẽ tiến hành băm các thông tin đã được trao đổi trước đó.

Client sẽ dùng khóa bí mật để ký lên giá trị băm và gửi cho server

Khi server nhận dữ liệu, nó sẽ sử dụng khóa công khai của client để giải mã và so sánh hai giá trị băm Nếu hai giá trị này khớp nhau, quá trình xác thực client sẽ thành công.

Để tạo trạng thái tiếp theo, cần đính kèm với trạng thái hiện tại và cập nhật bộ mã hóa cho trạng thái này SSL Alert được sử dụng để gửi cảnh báo đến bên liên quan, chẳng hạn như không thể thiết lập các thông số bảo mật từ lựa chọn có sẵn, chứng chỉ nhận được không hợp lệ hoặc chứng chỉ đã hết hạn.

Vấn đề bảo mật trong SSL và TLS

HTTP là giao thức chính để truyền tải thông tin trên Internet, do đó, lập trình viên, nhà cung cấp thông tin và người dùng cần nắm rõ các giới hạn bảo mật của HTTP/1.1 Mặc dù phần thảo luận này không đưa ra các giải pháp cụ thể cho những vấn đề đã nêu, nhưng nó sẽ cung cấp một số gợi ý hữu ích nhằm giảm thiểu rủi ro, trong đó có việc bảo vệ thông tin cá nhân khỏi sự rò rỉ.

Rò rỉ thông tin cá nhân là một mối nguy hiểm lớn, vì khách hàng thường lưu trữ nhiều thông tin nhạy cảm như tên người dùng, địa chỉ email và khóa mã hóa Để bảo vệ thông tin này, cần mã hóa tất cả dữ liệu và lưu trữ trên máy chủ an toàn Việc sử dụng phiên bản phần mềm không được cập nhật có thể tạo ra lỗ hổng bảo mật, khiến máy chủ dễ bị tấn công Trạm proxy cũng cần có biện pháp bảo vệ đặc biệt để ngăn chặn việc truyền thông tin nhạy cảm qua tường lửa, đặc biệt là thông tin trong trường "From", để tránh xung đột với chính sách bảo mật và lợi ích của người dùng Thông tin này chỉ nên được truyền đi dưới sự giám sát của người dùng để có thể cấm, cho phép hoặc sửa đổi nội dung khi cần thiết.

Khi trang web sử dụng giao thức an toàn, ứng dụng khách không nên gửi trường Referer trong yêu cầu HTTP không an toàn Các nhà thiết kế dịch vụ giao thức HTTP cần tránh sử dụng phương thức GET để nhận dữ liệu nhạy cảm, vì điều này có thể dẫn đến việc dữ liệu bị mã hóa trong URI-Request Ngoài ra, cũng cần lưu ý đến các cuộc tấn công dựa trên tên Path và File.

Tài liệu chỉ nên bao gồm các nội dung được trả về từ yêu cầu HTTP và những tài liệu mà quản trị viên máy chủ muốn chia sẻ.

Các hệ điều hành như UNIX và Microsoft sử dụng ` ` để chỉ cấp thư mục phía trên thư mục hiện tại Điều này có nghĩa là máy chủ không được phép tạo cấu trúc URI Request nào, nếu không sẽ mở ra khả năng truy cập vào các nguồn bên ngoài thư mục thông qua máy chủ Một trong những mối đe dọa liên quan là việc đánh lừa DNS (DNS Spoofing).

Khách hàng sử dụng HTTP thường dựa vào Dịch vụ tên miền (DNS), vì vậy họ dễ bị tấn công bảo mật khi quên địa chỉ IP và tên DNS Do đó, khách hàng cần chú ý đến việc duy trì hiệu lực của liên kết tên miền IP/DNS Nếu muốn cải thiện hiệu suất bằng cách lưu trữ kết quả tra cứu tên máy chủ, họ cần theo dõi thông tin TTL được báo cáo bởi DNS Nếu không tuân theo quy tắc này, máy khách có thể bị đánh lừa khi địa chỉ IP của các máy chủ đã truy cập trước đó thay đổi.

Khi một Server đơn phục vụ nhiều tổ chức không tin tưởng lẫn nhau, cần kiểm tra giá trị của các trường Location và Content Location trong phản hồi để ngăn chặn việc chiếm đoạt tài nguyên không hợp lệ Việc ủy nhiệm xác minh gặp khó khăn do thông tin xác thực của ứng dụng khách và tác nhân người dùng thường không rõ ràng HTTP/1.1 không cung cấp phương thức cho máy chủ để yêu cầu máy khách xóa thông tin xác thực trong bộ nhớ cache, tạo ra rủi ro bảo mật Để giảm thiểu rủi ro này, nên áp dụng các biện pháp bảo vệ như bảo vệ bằng mật khẩu cho màn hình và giới hạn thời gian nhàn rỗi.

Sự uỷ quyền HTTP hoạt động như một máy chủ trung gian, tạo ra cơ hội cho các cuộc tấn công trung gian Qua đó, thông tin xác thực có thể tiếp cận các dữ liệu nhạy cảm, bao gồm thông tin cá nhân của người dùng và tổ chức, cũng như thông tin riêng tư của nhà cung cấp nội dung.

Người điều hành cơ quan cần bảo vệ hệ thống điều hành của mình, đặc biệt là các hệ thống chứa thông tin nhạy cảm Việc lưu trữ thông tin xác thực trong bộ nhớ cache có thể tạo ra lỗ hổng bảo mật, vì nội dung này trở thành mục tiêu hấp dẫn cho các cuộc tấn công Do đó, nội dung trong bộ nhớ cache cần được bảo vệ như thông tin nhạy cảm để đảm bảo an toàn cho hệ thống.

KẾT LUẬN CHƯƠNG

Trong tương lai, sự đa dạng trong lựa chọn sẽ gia tăng, vì vậy việc xem xét SSL/TLS ngay từ đầu khi tạo trang web an toàn là rất quan trọng để tránh mất mát các liên kết ngược (backlinks).

Ngày nay, bất kỳ ai cũng có thể mua miền com, vì vậy việc sử dụng SSL giúp tăng độ tin cậy của trang web trong mắt các công cụ tìm kiếm Mặc dù các công cụ tìm kiếm có thể chấp nhận hoặc phủ nhận tác động tích cực của SSL/TLS, nhưng về mặt kỹ thuật, điều này vẫn đúng Dù gặp phải những vấn đề liên quan đến SSL/TLS, vẫn có nhiều cách giải quyết để đảm bảo an toàn cho người dùng trong quá trình duyệt web.

TÌM HIỂU VỀ GIAO THỨC SSL/TLS

Tìm Hiểu Về Giao Thức SSL

Giao thức SSL được phát triển để đảm bảo an toàn cho nhiều ứng dụng khác nhau Nó hoạt động trên nền tảng giao thức TCP/IP và nằm giữa các tầng giao vận và các giao thức ứng dụng cao hơn như HTTP, IMAP và FTP.

Hình 2.1: Vị trí của giao thức SSL trong cấu trúc mạng

Lớp bản ghi (Record Layer) chứa Giao thức bản ghi SSL (SSL Record Protocol), hoạt động trên tầng giao vận Trong tầng này, có một số giao thức như Giao thức truyền vận không tin cậy (UDP) và Giao thức điều khiển truyền vận (TCP).

Lớp thiết lập (Handshake Layer) của SSL bao gồm bốn giao thức quan trọng Đầu tiên, Giao thức thiết lập SSL (SSL Handshake Protocol) cho phép các điểm giao tiếp xác thực lẫn nhau và thỏa thuận về phương thức mã hóa và nén dữ liệu Thứ hai, Giao thức đặc tả mã hóa thay đổi SSL (SSL Change Cipher Spec Protocol) thông báo về sự thay đổi cách thức mã hóa, đảm bảo các tham số bảo mật được thiết lập hiệu quả Thứ ba, Giao thức cảnh báo SSL (SSL Alert Protocol) giúp báo hiệu các vấn đề có thể xảy ra và trao đổi thông điệp cảnh báo Cuối cùng, Giao thức dữ liệu ứng dụng SSL (SSL Application Data Protocol) thực hiện chức năng truyền tải an toàn dữ liệu ứng dụng, chuyển dữ liệu từ tầng ứng dụng đến Giao thức bản ghi SSL để được bảo vệ và mã hóa.

2.1.1 Các hệ mã hoá được sử dụng trong giao thức SSL

Trong các hoạt động chứng thực giữa server và client, giao thức SSL sử dụng nhiều hệ mã khác nhau trong quá trình truyền thông và lập phiên khóa Tùy thuộc vào phiên bản SSL hỗ trợ, client và server có thể áp dụng các bộ mã khác nhau Giao thức SSL Handshake đóng vai trò quan trọng trong việc xác định hệ mã cho chứng thực, truyền chứng chỉ và lập khóa phiên Dưới đây là một số thuật toán phổ biến được sử dụng trong giao thức SSL.

• MD5: Message Digest, thuật toán băm phát triển bởi Rivest

• RC2-RC4: Hệ mã của Rivest được phát triển cho RSA Data Security

• RSA: Hệ mã hoá khoá công khai cho quá trình mã hoá và quá trình xác thực, phát triển bởi Rivest, Shamir và Adleman

• RSA key exchange: thuật toán trao đổi khoá cho giao thức SSL dựa trên thuật toán RSA

• SKIPJACK: Thuật toán mã hoá đối xứng

• Triple-DES: mã hóa DES được thực hiện 3 lần

Các thuật toán trao đổi khoá như KEA và RSA được sử dụng để thiết lập khoá đối xứng giữa client và server trong phiên giao dịch SSL, với RSA là thuật toán phổ biến nhất Các phiên bản SSL mới nhất hỗ trợ hầu hết các bộ mã hoá, cho phép người quản trị lựa chọn bộ mã bất kỳ cho cả client và server Trong quá trình bắt tay (handshake), client và server sẽ thống nhất sử dụng bộ mã hoá mạnh nhất có thể để đảm bảo an toàn cho phiên giao dịch SSL.

Mức độ bảo mật của SSL chủ yếu phụ thuộc vào độ dài khóa mà giao thức sử dụng, cụ thể là các phiên bản mã hóa 40 bit và 128 bit Kẻ tấn công thường áp dụng phương pháp “tấn công vét cạn” để thử-sai tất cả các giá trị khóa có thể, và số lần thử-sai này tăng theo độ dài của khóa Điều này dẫn đến việc vượt quá khả năng tính toán của các máy tính hiện tại, từ đó nâng cao mức độ bảo mật cho dữ liệu được truyền tải.

2.1.2 Nhiệm vụ bảo mật của SSL

Giao thức SSL không chỉ là một giao thức đơn lẻ mà là một tập hợp các thủ tục chuẩn hóa nhằm thực hiện các nhiệm vụ bảo mật quan trọng Đặc biệt, nó cho phép người dùng xác thực server mà họ muốn kết nối Trong quá trình này, trình duyệt sử dụng các kỹ thuật mã hóa khóa công khai để kiểm tra tính hợp lệ của chứng chỉ và ID công khai của server, đảm bảo rằng chúng được cấp phát bởi một cơ quan chứng nhận (CA) nằm trong danh sách các CA đáng tin cậy của client.

Bước 1: Client ban đầu sẽ kiểm tra chứng chỉ gửi đến từ server, kiểm tra thời hạn của chứng chỉ còn hiệu lực sử dụng hay không

Bước 2: Khách hàng cần kiểm tra trong danh sách các CA đáng tin cậy để xác định xem chứng chỉ server mà họ nhận được có nằm trong danh sách đó hay không, đồng thời đảm bảo rằng chứng chỉ này được cấp bởi một trong những CA được client chấp nhận.

Bước 3: Đến bước này client sẽ dùng khóa công khai của CA công bố để xác thực chứng chỉ của server mà client nhận được

Bước 4: Kiểm tra tính hợp lệ của tên miền trong chứng chỉ với tên miền của server để đảm bảo rằng server được đặt tại địa chỉ mạng đúng Đồng thời, server cũng cần xác thực danh tính người sử dụng trước khi cấp quyền truy cập, sử dụng kỹ thuật mã hóa khóa công khai để xác minh tính hợp lệ của chứng chỉ và ID công khai, đảm bảo rằng chúng được cấp phát bởi CA đáng tin cậy Một server hỗ trợ SSL cần thực hiện đầy đủ các bước xác thực danh tính người dùng.

Bước đầu tiên, server tiến hành kiểm tra chữ ký điện tử của client bằng cách xác nhận tính hợp lệ thông qua khóa công khai trong chứng chỉ Sau đó, server thiết lập khóa công khai đã được xác nhận thuộc về client, đảm bảo rằng khóa này tương ứng với khóa riêng, từ đó tạo ra chữ ký số và bảo vệ dữ liệu khỏi việc giả mạo Tiếp theo, server kiểm tra chứng chỉ về mặt thời gian để xác định xem thời gian hiện tại có nằm trong khoảng thời gian hiệu lực của chứng chỉ hay không.

Mỗi server hỗ trợ SSL đều có danh sách các chứng chỉ của CA đáng tin cậy để xác minh tính tin cậy của CA phát hành Server sẽ kiểm tra xem CA phát hành chứng chỉ client có nằm trong danh sách CA đáng tin cậy hay không.

Bước 4: Máy chủ sử dụng khóa công khai trong chứng chỉ số của CA, được tìm thấy trong danh sách CA tin cậy ở bước 3, để xác minh chữ ký số của CA trên chứng chỉ nhận được.

Bước 5: Kiểm tra chứng chỉ client trong danh sách người sử dụng Bước tùy chọn này cho phép quản trị viên hệ thống thu hồi chứng chỉ client, ngay cả khi quá trình kiểm tra đã hoàn thành tất cả các bước.

Bước 6: Kiểm tra xác thực của Client để truy cập tài nguyên yêu cầu Server sẽ xác định quyền truy cập của client dựa trên danh sách điều khiển truy cập (ACLs) và thiết lập kết nối với quyền đã được cấp Để bảo mật thông tin, tất cả dữ liệu trao đổi giữa client và server sẽ được mã hóa trên đường truyền, điều này rất quan trọng khi truyền tải thông tin nhạy cảm Hơn nữa, dữ liệu truyền qua kết nối SSL không chỉ được mã hóa mà còn được bảo vệ bởi cơ chế tự động phát hiện các thay đổi hoặc xáo trộn trong dữ liệu.

2.1.3 Lợi ích và hạn chế của SSL a) Lợi ích khi sử dụng SSL

• SSL mã hóa và bảo vệ thông tin nhạy cảm

Giao thức SSL được sử dụng chủ yếu để bảo vệ thông tin nhạy cảm khi truyền qua Internet Tất cả dữ liệu trên website sử dụng SSL sẽ được mã hóa, chỉ cho phép người nhận có mã xác thực truy cập Điều này rất quan trọng vì nó ngăn chặn kẻ đánh cắp thông tin nhạy cảm như số thẻ tín dụng, tên người dùng và mật khẩu Nhờ có SSL, tin tặc và hacker không thể đọc được thông tin ngoại trừ máy chủ mà bạn đang gửi dữ liệu đến.

• SSL cung cấp xác thực

Những Thay Đổi Của TLS So Với SSL

TLS, viết tắt của Transport Layer Security, là giao thức bảo mật tầng giao vận Phiên bản đầu tiên, TLS v1.0, được tổ chức Internet Engineering Task Force (IETF) công bố tại RFC 2246 vào tháng 01/1999, và được phát triển dựa trên tiêu chuẩn SSL v3.0 Mặc dù TLS v1.0 kế thừa từ SSL v3.0, nhưng giữa chúng tồn tại nhiều điểm khác biệt quan trọng.

2.2.1 Thông điệp giao thức cảnh báo

TLS cải thiện hơn SSL nhờ vào quy trình thông báo và cảnh báo bảo mật hiệu quả hơn Nó cung cấp danh sách các cảnh báo mới được thêm vào và loại bỏ một số cảnh báo cũ, nâng cao tính bảo mật cho người dùng.

Giá trị Tên Ý nghĩa của giao thức

21 Decryption Failed Cảnh báo thông điệp được mã hoá không có giá trị

Bên gửi hoặc nhận được một thông điệp sau khi giải mã lớn hơn 2 14 +2048 byte

Bên gửi(luôn là client) thể hiện rằng không có chứng chỉ thoả mãn với CertificateRequest của server( bên nhận)

Bên gửi thông báo không thể định danh hoặc không tin được bên cấp chứng chỉ của chứng chỉ đã nhận được

Bên gửi thể hiện rằng tổ chức đã được định danh trong chứng chỉ ngang hàng không được phép truy cập để tiến hành các thoả thuận

Bên gửi đã nhận được một thông điệp không thể giải mã do giá trị của một trường không nằm trong khoảng hợp lệ hoặc chiều dài của thông điệp không hợp lệ.

Bên gửi thể hiện rằng một thao tác lập mã chủ yếu tới thoả thuận handshake bị hỏng

Bên gửi tìm thấy một tham số không phù hợp với giới hạn xuất U.S

Bên gửi cho biết nó không thể hỗ trợ phiên bản giao thức TLS yêu cầu

Bên gửi (luôn là server) thể hiện rằng nó yêu cầu các bộ mã bảo mật hơn những cái được hỗ trợ bởi client

Bên gửi gặp phải một lỗi cục bộ trong quá trình thực thi, và do phụ thuộc vào giao thức TLS (như định vị bộ nhớ lỗi), điều này khiến nó không thể tiếp tục hoạt động.

Bên gửi thông báo về việc muốn huỷ bỏ thoả thuận bắt tay do một số lý do khác ngoài lỗi giao thức; thông điệp này thường mang tính cảnh báo và được theo sau bởi một CloseNotify.

Bên gửi thông báo không thể chấp nhận yêu cầu của bên ngang hàng về việc thương thảo lại thỏa thuận TLS; đây là một cảnh báo quan trọng.

Bảng 2.1: Những thay đổi trong giao thức cảnh báo của TLS so với SSL

Xác thực thông điệp SSL kết hợp thông tin khóa và dữ liệu ứng dụng, chỉ được tạo cho giao thức SSL Trong khi đó, giao thức TLS sử dụng mã xác thực H-MAC (Hashed Message Authentication Code) cho việc xác thực thông điệp H-MAC không phụ thuộc vào một hàm băm cụ thể như MD5 hay SHA, mà có thể hoạt động hiệu quả với mọi loại hàm băm Giá trị HMAC secret được lấy từ MAC write secret, nhận được từ master secret, đảm bảo rằng dữ liệu được bảo vệ bởi TLS Message Authentication Code.

• Kiểu thông điệp của giao thức TLS

TLS sử dụng H-MAC để tạo ra số ngẫu nhiên an toàn bằng cách kết hợp một giá trị bí mật và một giá trị ban đầu Quá trình này cho phép tạo ra nhiều đầu ra ngẫu nhiên nếu cần thiết.

Hình 2.2: TLS sử dụng HMAC để tạo đầu ra giả ngẫu nhiên

TLS cải tiến bằng cách sử dụng thủ tục đầu ra giả ngẫu nhiên (PRF) để tạo ra hàm giả ngẫu nhiên PRF kết hợp hai phương pháp: một dựa trên thuật toán băm MD5 và một dựa trên SHA Chuẩn TLS quy định rằng hàm này sẽ sử dụng cả hai thuật toán trong trường hợp một trong hai không còn an toàn.

Bắt đầu với một giá trị bí mật, một giá trị ban đầu và một nhãn, hàm này chia giá trị bí mật thành hai phần: một phần sử dụng hàm băm MD5 và phần còn lại sử dụng SHA Đồng thời, nó cũng kết hợp nhãn và giá trị ban đầu thành một giá trị duy nhất.

Hình 2.3: Hàm giả ngẫu nhiên sử dụng MD5 và SHA

Các bước sinh đầu ra giả ngẫu nhiên TLS :

Để chia secret thành hai phần bằng nhau, bước đầu tiên là xác định nếu secret có số byte lẻ Trong trường hợp này, byte ở giữa sẽ được gộp vào từng phần, cụ thể là byte cuối cùng của phần đầu và byte đầu tiên của phần thứ hai.

• Bước 2 : Sinh đầu ra giả ngẫu nhiên sử dụng phần đầu của secret, hàm băm MD5, kết hợp label và seed

• Bước 3 : Sinh đầu ra giả ngẫu nhiên sử dụng phần thứ hai của secret, hàm băm SHA, kết hợp label, seed

• Bước 4 : Exclusive-OR kết quả bước 2 và 3

TLS sử dụng PRF để tạo ra nguyên liệu khoá từ một premaster secret, bắt đầu bằng việc tạo ra một master secret Quá trình này cho phép TLS sinh ra nguyên liệu khoá cần thiết từ master secret, đảm bảo an toàn cho các phiên giao tiếp.

Hình 2.4: Sơ đồ tạo ra master secret và nguyên liệu khoá trong TLS

TLS khác SSL ở chi tiết hàm CertificateVerify; trong khi SSL sử dụng thông tin phức tạp kết hợp giữa hàm băm hai mức cho các thông điệp handshake, master secret và padding, TLS chỉ đơn giản là các thông điệp handshake đã được trao đổi trong suốt phiên.

Hình 2.5: Thông điệp Finished trong giao thức TLS

The Finished message in the TLS protocol is a compact 12-byte content generated by applying a Pseudorandom Function (PRF) to the master secret, using the label "client finished" for clients and "server finished" for servers, while incorporating MD5 and SHA hashing of all handshake messages.

TỔNG KẾT CHƯƠNG

Giao thức SSL/TLS đóng vai trò quan trọng trong việc bảo mật thông tin trực tuyến, với SSL sử dụng nhiều loại mã để bảo vệ dữ liệu, xác thực client và server Tuy nhiên, bên cạnh những lợi ích, SSL cũng tồn tại một số hạn chế So với SSL, giao thức TLS mang lại những cải tiến rõ rệt về thông điệp cảnh báo, xác thực thông điệp và xác nhận chứng chỉ, giúp nâng cao mức độ bảo mật.

NHỮNG PHƯƠNG THỨC TẤN CÔNG BẢO MẬT TLS/SSL VÀ ỨNG DỤNG CỦA SSL /TLS

Những phương thức tấn công bảo mật TLS/SSL

3.1.1 Tấn công lừa đảo hình thức Phishing

Tấn công Phishing không phải là một cuộc tấn công trực diện vào bảo mật TLS/SSL, mà là hình thức tấn công gián tiếp nhằm vào các trang web sử dụng chứng chỉ bảo mật này Phishing, tương tự như "Fishing" về cách phát âm, là một dạng tấn công giả mạo, nơi kẻ xấu tạo ra các website giả mạo có giao diện tương tự như các trang web uy tín để "câu" thông tin của người dùng.

Khi truy cập vào các trang web giả mạo như Youttube.com thay vì Youtube.com, người dùng cần lưu ý rằng giao diện người dùng (UI) có thể giống đến 98% với bản gốc Nếu bạn cung cấp thông tin cá nhân như số điện thoại, mật khẩu hay email trên những trang web này, thông tin của bạn có thể rơi vào tay kẻ xấu Do đó, việc sử dụng SSL/TLS HTTPS không đảm bảo rằng website của bạn được bảo vệ hoàn toàn.

Hình 3.1: Cảnh báo của trình duyệt khi bạn đăng nhập vào website http

3.1.2 Tấn công mạng APM (Advanced Persisent Malware)

Ngoài các hình thức tấn công truyền thống, việc phát triển và thiết kế virus cũng như malware đặc biệt nhằm đánh cắp khóa và chứng chỉ SSL/TLS đang trở nên phổ biến Mục tiêu của những phương thức này là gian lận thông tin liên lạc và đánh cắp dữ liệu.

Tin tặc đã áp dụng phương pháp ATP để phát triển phần mềm độc hại Heartbleed, gây ra thiệt hại nghiêm trọng cho 4,5 triệu hồ sơ bệnh nhân của Hệ thống Y tế Cộng đồng (CHS) Heartbleed đã thâm nhập qua tường lửa của CHS, phát tán cuộc tấn công nhằm vào các hồ sơ bệnh nhân nhạy cảm.

Việc phục hồi hệ thống bảo mật đòi hỏi nhiều thời gian do tất cả chữ ký số và chứng chỉ đã bị đánh cắp Ngoài việc khôi phục dữ liệu bị mất, cần phải thay thế và phục hồi toàn bộ chữ ký số và chứng chỉ để đảm bảo an toàn cho hệ thống.

Việc khắc phục và sửa chữa không hoàn chỉnh có thể dẫn đến việc giả mạo chứng chỉ và chữ ký số, từ đó đánh cắp và mã hóa dữ liệu nhạy cảm Để bảo vệ trước các cuộc tấn công mạng APM, các tổ chức và người dùng cần rà soát lại toàn bộ hệ thống sử dụng chứng chỉ SSL, TLS Sau đó, họ nên thiết lập chữ ký số và chứng chỉ mới trên máy chủ, thu hồi các chứng chỉ dễ bị tấn công và xác thực các phương pháp bảo vệ để đảm bảo hoạt động ổn định.

3.1.3 Tấn công đánh cắp SSL(SSL stripping hoặc SSL Hijacking)

Kiểu tấn công đánh cắp SSL này cũng có thể được coi là một dạng tấn công man in the middle hay tấn công xen giữa

SSL Stripping là một kỹ thuật tấn công nhằm hạ cấp kết nối từ HTTPS an toàn xuống HTTP không an toàn trên các trang web có chứng chỉ SSL Kỹ thuật này cho phép kẻ tấn công nghe lén và thao túng dữ liệu của người dùng, làm cho thông tin cá nhân trở nên dễ bị tổn thương.

Hình 3.2: Mô hình tấn công SSL stripping

Khi người dùng truy cập một trang web HTTPS an toàn để gửi tiền, hacker có thể thiết lập kết nối với nạn nhân và cắt đứt liên lạc giữa người dùng và máy chủ an toàn Khi người dùng vào trang web ngân hàng cá nhân, hacker sẽ nhận được thông tin và chuyển tiếp đến máy chủ Điều quan trọng là tất cả các tương tác giữa người dùng và trang web đều được bảo vệ bằng SSL.

Máy chủ web phản hồi yêu cầu từ Hacker (hoặc User) dưới dạng URL HTTPS Hacker có khả năng hạ cấp URL HTTPS và chuyển tiếp đến Nick Khi hạ cấp xuống giao thức HTTP, mọi dữ liệu mà User gửi sẽ chỉ ở dạng văn bản thuần túy, vì khi không còn HTTPS, dữ liệu gửi đi sẽ không được mã hóa Điều này có nghĩa là mọi mật khẩu, thông tin và chi tiết thẻ tín dụng của User sẽ bị lộ khi gửi tới URL này.

3.1.4 Các nhà cung cấp chứng chỉ giả mạo, không được tin cậy hoặc chứng chỉ hết hạn

Việc mua bán chứng chỉ bảo mật website như SSL hiện nay rất phổ biến, dẫn đến sự xuất hiện của nhiều CA kém chất lượng và không đáng tin cậy Các chứng chỉ SSL/TLS có thể được cung cấp bởi những CA vô danh, không đảm bảo độ tin cậy, như China’s Certificate Authority, một trong những nhà chứng thực không đáng tin cậy.

Vào năm 2014, một công ty bảo mật đã phát hiện hàng loạt chứng chỉ số giả mạo, được sử dụng để bảo vệ thông tin cá nhân trong ngân hàng, mã hóa dữ liệu trên website, cũng như bảo mật cho các nhà cung cấp dịch vụ Internet (ISP) và mạng xã hội.

Việc không chú ý đến chứng chỉ SSL/TLS hết hạn có thể tạo ra lỗ hổng bảo mật, khiến thông tin dữ liệu trở thành mục tiêu dễ dàng cho các hacker Sự thiếu vắng các chứng chỉ tin cậy không chỉ làm tăng nguy cơ bị tấn công Man in the Middle mà còn ảnh hưởng nghiêm trọng đến sự an toàn của người dùng khi truy cập và sử dụng dịch vụ.

Tất cả các hệ thống và ứng dụng sử dụng Secure Socket Layer (SSL) 3.0 với mã hóa chuỗi khối đều gặp rủi ro, đặc biệt là trước các cuộc tấn công POODLE (Oracle Padding On Downgraded Legacy Encryption) Lỗ hổng này đã cho thấy rằng việc khai thác có thể xảy ra dễ dàng khi sử dụng trình duyệt web và máy chủ web Hơn nữa, một số triển khai của TLS (Security Layer Security) cũng dễ bị tổn thương trước các cuộc tấn công POODLE, làm gia tăng nguy cơ cho các thao tác thực thi TLS.

US-CERT đã phát hiện lỗ hổng thiết kế trong cách SSL 3.0 xử lý bộ đệm khi sử dụng chế độ mã hóa khối Tấn công POODLE đã chứng minh rằng tin tặc có thể lợi dụng lỗ hổng này để vượt qua bộ đệm, từ đó giải mã và trích xuất thông tin trong các giao dịch được mã hóa.

Lỗ hổng bảo mật trong SSL 3.0 xuất phát từ cách mã hóa các khối dữ liệu trong giao thức này Cuộc tấn công POODLE khai thác chức năng đàm phán phiên bản giao thức của SSL/TLS, ép buộc sử dụng SSL 3.0 và lợi dụng lỗ hổng để giải mã nội dung trong phiên SSL Quá trình giải mã diễn ra theo từng byte, tạo ra một lượng lớn kết nối dữ liệu giữa máy khách và máy chủ.

Muốn có được sự thành công trong việc sử dụng cuộc tấn công POODLE, cần hai điều kiện khác dưới đây:

- Kẻ tấn công phải có khả năng kiểm soát được phần của phía client trong kết nối SSL (thay đổi chiều dài của input)

Ứng dụng của SSL và TLS

Mặc dù vẫn còn một số lỗ hổng có thể bị khai thác, SSL vẫn là giao thức bảo mật hàng đầu và chưa có giải pháp thay thế Điều này được thể hiện rõ qua việc nhiều giao thức có hậu tố “s” cho thấy rằng chúng đã được tích hợp với SSL.

Có thể ví dụ một vài ứng dụng như:

3.1.3 Ứng dụng SSL trong IMAP, POP3, SMTP

POP3 (Post Office Protocol version 3) is utilized to connect to email servers and download emails to personal computers using email applications such as Outlook, Thunderbird, Windows Mail, and Mac Mail The TLS/SSL port for POP3 is 995, commonly referred to as POP3S.

IMAP (Internet Message Access Protocol) and POP3 are both used to retrieve emails to email clients, facilitating two-way communication where changes made on the email client are reflected on the server IMAP operates on Port 993, which is an SSL/TLS port, and is also referred to as IMAPS.

SMTP, or Simple Mail Transfer Protocol, is the standard TCP/IP protocol used for transmitting emails over the internet It operates on ports 465 and 587, which are designated for SSL/TLS connections, and is also referred to as SMTPS.

Hình 3.4: Thiết lập SSL trong MS Outlook

3.1.4 Ứng dụng của TLS/SSL trong FTP ( File Transfer Protocol)

Giao thức truyền tệp tin (FTP) là một tiêu chuẩn do Nhóm chuyên trách kỹ thuật Internet (IETF) phát hành dưới dạng RFC, thường được sử dụng để trao đổi tệp tin trong mạng TCP/IP FTP có đặc điểm là truyền tệp tin không an toàn, tức là dữ liệu được truyền mà không được mã hóa Để khắc phục vấn đề này, IETF khuyến nghị sử dụng nhiều phương thức khác nhau, trong đó nổi bật là SSL/TLS.

Hình 3.5: Setup SSL trong POP3

Sử dụng SSL trong FTP nhằm:

• Bảo mật giao dịch giữa user và doanh nghiệp và các dịch vụ

• Bảo mật webmail và các ứng dụng như Office Communication Server hay Outlook Web Access, Exchange

• Bảo mật các ứng dụng ảo hoặc các ứng dụng điện toán đám mây

• Bảo mật dịch vụ FTP

• Xác thực trang web, giao dịch

• Bảo mật truy cập bảng điều khiển (control panel)

• Bảo mật các dịch vụ truyền dữ liệu trong mạng nội bộ, chia sẻ tập tin, extranet

• Bảo mật VPN Access Servers

3.1.5 SSL trong Remote desktop protocol cho Terminal Service

Remote Desktop Protocol (RDP) là giao thức độc quyền của Microsoft, cho phép người dùng truy cập giao diện máy tính từ xa qua mạng Điều này giúp người sử dụng quản lý và truy cập các máy tính mà không cần phải đến tận nơi.

Một session của RDS có thể sử dụng một trong ba lớp bảo mật để bảo vệ sự truyền thông giữa máy khách và RDS Session Host server:

• RDP security layer– Lớp này sử dụng mã hóa RDP nguyên bản và kém an toàn nhất

• Negotiate – Mã hóa TLS 1.0 (SSL) được sử dụng nếu có hỗ trợ công nghệ này tại máy khách Nếu không session sẽ quay trở lại bảo mật RDP

• SSL – Mã hóa TLS 1.0 sẽ được sử dụng để nhận thực host và mã hóa dữ liệu giữa user và host

Để bảo mật tốt nhất, bạn nên yêu cầu mã hóa SSL/TLS Để thực hiện điều này, bạn cần có một chứng chỉ số, có thể được phát hành bởi tổ chức chứng nhận (CA) hoặc tự ký.

Hình 3.6: Setup mã hóa trong RDP

3.1.6 Các dịch vụ, ứng dụng cũng sử dụng SSL/TLS a) TELNET trên TLS/SSL

TELNET thường được sử dụng để cung cấp phiên đăng nhập giữa các máy trên Internet bằng cách sử dụng dòng lệnh hướng người dùng

SSL và TLS hoạt động ở tầng ứng dụng của Telnet, nhưng giao thức Telnet mặc định không mã hóa lưu lượng Để mã hóa, người dùng cần sử dụng Telnet/s Mặc dù có các tunnel TLS/SSL cho phép truyền lưu lượng Telnet qua đường hầm này, Telnet/s vẫn không được sử dụng rộng rãi Một ứng dụng khác là LDAP trên TLS/SSL.

LDAP, hay Giao thức Truy cập Danh bạ Nhẹ, là một tiêu chuẩn công nghiệp mở và trung lập, cho phép truy cập và duy trì dịch vụ thông tin danh bạ thông qua giao thức Internet.

LDAP vận hành theo mô hình máy khách-máy chủ, trong đó một hoặc nhiều máy chủ LDAP lưu trữ thông tin trong cây thư mục (DIT - Directory Information Tree) Khi máy khách kết nối, nó gửi yêu cầu đến máy chủ, và máy chủ sẽ tự phản hồi hoặc chuyển hướng đến máy chủ LDAP khác để cung cấp thông tin cho máy khách.

Việc xác thực người dùng là rất quan trọng để bảo vệ server, và một trong những phương pháp phổ biến và đơn giản để thực hiện điều này khi sử dụng LDAP là thông qua SSL/TLS Bằng cách mã hóa trước khi kết nối, LDAP đảm bảo rằng tất cả thông tin của người dùng sẽ được bảo vệ trong suốt phiên làm việc.

Tổng kết chương

Chương này đã giới thiệu nhiều ứng dụng thực tế của giao thức TLS/SSL, không chỉ trong HTTPs mà còn trong bảo mật thư điện tử và điều khiển máy tính từ xa Bên cạnh đó, nội dung cũng đề cập đến một số phương thức tấn công phổ biến trên internet.

Bài tiểu luận nhóm 7 tìm hiểu về giao thức lớp giao vận cụ thể là giao thức SSS/TLS, kết quả mà bài tiểu luận thu được là:

Giao thức SSL hiện có hai phiên bản chính là SSLv2.0 và SSLv3.0, cùng với biến thể TLSv1.0 (Transport Layer Security) SSL có nhiệm vụ xác thực giữa server và client thông qua việc sử dụng nhiều loại khóa và cơ chế bảo mật Tuy nhiên, SSL cũng tồn tại một số hạn chế, như yêu cầu server phải đủ mạnh và những thuật toán bảo mật có thể bị phá vỡ So với SSLv3.0, TLSv1.0 hoạt động tương tự nhưng có sự khác biệt trong hệ mã hóa, thông báo lỗi chi tiết hơn, thông điệp kết thúc (Finished), cách xác thực thông điệp và quy trình sinh nguyên liệu khóa.

Giao thức SSL/TLS đóng vai trò quan trọng trong việc bảo vệ thông tin người dùng trên internet Bài viết sẽ khám phá các ứng dụng của SSL/TLS trong việc bảo mật dữ liệu, đồng thời đề cập đến những phương thức tấn công mà giao thức này có thể gặp phải Một số hình thức tấn công phổ biến bao gồm lừa đảo qua Phishing, tấn công mạng APM và đánh cắp SSL.

Ngày đăng: 02/09/2021, 16:46

TỪ KHÓA LIÊN QUAN

w