1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo bài tập lớn CHỨNG THỰC điện tử đề tài NGHIÊN cứu PHƯƠNG PHÁP tấn CÔNG CHẶN GIỮA TRONG GIAO THỨC SSL và PHƯƠNG PHÁP PHÒNG CHỐNG

48 11 0

Đ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 48
Dung lượng 0,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1 TỔNG QUAN VỀ GIAO THỨC SSL (24)
    • 1.1 Lịch sử phát triển của giao thức SSL (8)
      • 1.1.1. Giao thức SSL là gì? (8)
      • 1.1.2. Tầm quan trọng của giao thức SSL (0)
      • 1.1.3. Các phiên bản của SSL (12)
    • 1.2 Các dịch vụ của SSL (13)
    • 1.3 Cách thức hoạt động của giao thức SSL (14)
    • 1.4 Các giao thức con của giao thức SSL (17)
      • 1.4.1. Giao thức SSL Record (17)
      • 1.4.2. Giao thức SSL Handshake (19)
      • 1.4.3. Giao thức SSL Change Cipher Spec (22)
      • 1.4.4. Giao thức SSL Alert (22)
    • 1.5 Các thuật toán mã hóa sử dụng trong SSL (22)
    • 1.6 Tổng kết chương 1 (23)
  • Chương 2 TÌM HIỂU PHƯƠNG PHÁP TẤN CÔNG CHẶN GIỮA TRONG (0)
    • 2.1 Tìm hiểu tấn công chặn giữa (24)
      • 2.1.1. Khái niệm (24)
      • 2.1.2. Cách thức hoạt động (24)
      • 2.1.3. Các kiểu tấn công chặn giữa (25)
      • 2.1.4. Ví dụ về tấn công chặn giữa (27)
    • 2.2 Tấn công ARP Spoofing (28)
      • 2.2.1. Giao thức ARP (28)
      • 2.2.2. Nguyên lý tấn công ARP Spoofing (28)
    • 2.3 Tìm hiểu tấn công chặn giữa chiếm quyền điều khiển SSL (30)
      • 2.3.1. Mô tả quá trình truyền thông (30)
      • 2.3.2. Quá trình tấn công (31)
    • 2.4 Biện pháp phòng chống (33)
    • 2.5 Kết luận chương 2 (35)
  • Chương 3 TRIỂN KHAI THỰC NGHIỆM (0)
    • 3.1 Mô hình triển khai (36)
      • 3.1.1. Kịch bản (36)
      • 3.1.2. Mô hình triển khai (36)
    • 3.2 Thực nghiệm (0)
      • 3.2.1. Cài đặt “SSLstrip” (37)
      • 3.2.2. Tiến hành tấn công (41)
    • 3.3 Kết luận chương 3 (45)
  • KẾT LUẬN (46)
  • TÀI LIỆU THAM KHẢO (47)

Nội dung

SSL Secure Sockets Layer là giao thức bảo mật 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ộ

TỔNG QUAN VỀ GIAO THỨC SSL

Lịch sử phát triển của giao thức SSL

1.1.1 Giao thức SSL là gì?

SSL (Secure Sockets Layer) là giao thức bảo mật 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 thường được sử dụng khi một trình duyệt web cần kết nối bảo mật đến một máy chủ web. Đượ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 Tổ chức IETF (Internet Engineering Task

SSL đã được chuẩn hóa và đổi tên thành TLS (Transport Layer Security) Dù có sự thay đổi về tên gọi, TLS là một phiên bản mới và kế thừa từ SSL, được thiết kế để cải thiện bảo mật và hiệu suất của các kết nối mạng Việc chuyển từ SSL sang TLS giúp tăng cường an toàn cho giao thức truyền tải dữ liệu và đáp ứng các chuẩn bảo mật hiện đại.

7 download by : skknchat@gmail.com

TLS 1.0 tương đương vớ́i phiên bản SSL 3.1 Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.

Vị trí của giao thức SSL theo mô hình TCP/IP được minh họa trên sơ đồ sau:

Hình 1.1 Vị trí của giao thức SSL theo mô hình TCP/IP

SSL được thiết kế như một giao thức riêng biệt nhằm cung cấp bảo mật cho nhiều ứng dụng mạng khác nhau Giao thức này hoạt động trên nền TCP/IP và nằm ở dưới các giao thức ở tầng ứng dụng như HTTP, IMAP và FTP Như các sơ đồ cho thấy, SSL được triển khai trong lớp ứng dụng của mô hình TCP/IP, từ đó có thể được tích hợp trên hầu hết các hệ điều hành hỗ trợ TCP/IP mà không cần sửa đổi nhân hệ thống hay ngăn xếp TCP/IP Nhờ đặc điểm này, SSL có lợi thế lớn so với các giao thức bảo mật khác như IPSec.

8 download by : skknchat@gmail.com

SSL có thể vượt qua tường lửa, proxy và thậm chí qua NAT (Dịch địa chỉ mạng) mà không gặp trở ngại, điều này ảnh hưởng đến cách bảo vệ thông tin mật trên Internet cũng như khi làm việc với mọi giao thức TCP Để bảo vệ dữ liệu nhạy cảm trên mạng, cần kết hợp SSL/TLS với các biện pháp bảo mật bổ sung như mã hóa end-to-end, xác thực mạnh và quản trị quyền truy cập phù hợp.

IP nào SSL đã kết hợp những yếu tố sau để thiết lập được một giao dịch an toàn:

Xác thực là quá trình xác nhận tính xác thực của trang web ở đầu kia của kết nối, giúp người dùng làm việc trên nền tảng đáng tin cậy và an toàn Tương tự, các trang web cũng cần xác thực người dùng để kiểm soát truy cập, ngăn chặn hành vi trái phép và bảo vệ dữ liệu được trao đổi trên hệ thống.

Mã hóa là phương thức bảo mật dữ liệu giúp thông tin không bị truy cập bởi đối tượng thứ ba Để ngăn chặn nghe trộm các thông tin nhạy cảm khi truyền qua Internet, nội dung được mã hóa và chỉ có người gửi và người nhận có thể giải mã để đọc được nội dung.

Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch Thể hiện chính xác thông tin gốc gửi đến.

Việc áp dụng SSL cho website giúp tăng cường bảo mật thông tin, đồng thời đảm bảo xác thực và toàn vẹn dữ liệu khi truyền tải giữa người dùng và máy chủ SSL được tích hợp sẵn trên hầu hết các trình duyệt và máy chủ web, cho phép người dùng tương tác với các trang web ở chế độ an toàn và tin cậy.

Các cổng được gán cho các giao thức ứng dụng chạy trên SSL:

9 download by : skknchat@gmail.com

Hình 1.2 Các cổng được gán cho các giao thức ứng dụng chạy trên

SSL 1.1.2 Tầm quan trọng của giao thức SSL

Công nghệ thông tin ngày càng phát triển và liên tục đổi mới theo từng ngày, từng giờ, mang lại nhiều ứng dụng và cơ hội mới cho cuộc sống và kinh doanh Cùng với sự ra đời của Internet, kênh truyền tải thông tin được mở rộng và tăng tốc, giúp kết nối và trao đổi dữ liệu nhanh chóng trên phạm vi toàn cầu.

Trong kỷ nguyên số, bảo mật thông tin là yếu tố sống còn đối với mọi tổ chức và doanh nghiệp Sự phát triển nhanh của công nghệ mang lại nhiều tiện ích nhưng cũng đặt ra nhu cầu cấp thiết về an toàn dữ liệu SSL được xem là giải pháp tối ưu, như một lá chắn cuối cùng bảo vệ an toàn cho thương mại điện tử khi truyền tải các thông tin nhạy cảm trên mạng Việc thiếu biện pháp bảo mật phù hợp sẽ làm tăng rủi ro lộ lọt dữ liệu và ảnh hưởng đến uy tín cũng như hoạt động kinh doanh Do đó, triển khai SSL/TLS và các công nghệ bảo mật liên quan là cách hiệu quả để đảm bảo tính toàn vẹn, bí mật và xác thực của thông tin.

10 download by : skknchat@gmail.com

Người dùng không thể chắc rằng mình đ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ị một đối tượng thứ ba 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.

Chính vì vậy giao thức SSL được đã được phát triển nhằm giải quyết triệt để các vấn đề trên.

1.1.3 Các phiên bản của SSL

Giao thức SSL được Netscape khởi phát và phát triển ban đầu Hiện nay, Visa, MasterCard, American Express cùng nhiều công ty giải pháp tài chính hàng đầu khác trên thế giới đang áp dụng SSL trong thương mại điện tử để đảm bảo an toàn cho các giao dịch trực tuyến Đến nay, SSL có ba phiên bản được biết đến, phản ánh sự tiến bộ liên tục của công nghệ bảo mật trên Internet.

SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications 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: được kết nhập vào Netscape Communications 1.0 đến 2.x Nó có một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối tượng trung gian Trong một nỗ lực nhằm dùng sự không chắc chắn của công chúng về bảo mật của SSL, 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: Netscape Communications đã phản ứng lại sự thách thức PCT của

Microsoft giới thiệu SSL 3.0, vốn khắc phục các vấn đề của SSL 2.0 và bổ sung một số tính năng mới Đến thời điểm đó, Microsoft nhượng bộ và đồng ý hỗ trợ SSL trên tất cả các phiên bản phần mềm dựa trên TCP/IP của mình, trong khi phiên bản riêng của nó vẫn tiếp tục hỗ trợ PCT nhằm đảm bảo sự tương thích ngược.

11 download by : skknchat@gmail.com

Các dịch vụ của SSL

Xác thực thực thể (1 chiều hoặc 2 chiều): cho phép xác thực client và server.

Xác thực máy chủ cho phép người dùng xác nhận rằng máy chủ mà họ kết nối là đúng đắn Trong quá trình này, trình duyệt sử dụng các kỹ thuật mã hóa công khai để đảm bảo chứng chỉ và khóa công khai của máy chủ hợp lệ và được cấp phát bởi một CA (certificate authority) có trong danh sách CA tin cậy của client Điều này rất quan trọng với người dùng, vì nó tăng cường bảo mật khi trao đổi thông tin nhạy cảm Ví dụ, khi gửi mã số thẻ tín dụng qua mạng, người dùng thực sự muốn kiểm tra xem máy chủ nhận thông tin này có phải là máy chủ họ định gửi đến hay không.

Xác thực khách hàng là bước cho phép máy chủ xác nhận người dùng muốn thiết lập kết nối và bắt đầu giao tiếp an toàn Máy chủ cũng dùng các kỹ thuật mã hóa công khai để kiểm tra tính hợp lệ của chứng chỉ (certificate) và ID công khai của đối tác, xem chúng có được cấp bởi một CA tin cậy hay không Quy trình này rất quan trọng đối với nhà cung cấp, vì nó giúp đảm bảo an toàn cho các dữ liệu nhạy cảm khi truyền tải Ví dụ, khi một ngân hàng gửi thông tin tài chính bảo mật tới khách hàng, ngân hàng sẽ xác thực danh tính của người nhận để đảm bảo chỉ người nhận hợp lệ mới được truy cập thông tin.

Thỏa thuận bộ tham số mật mã định nghĩa các tham số và thuật toán được dùng cho giao tiếp an toàn giữa client và server, bao gồm các thuật toán mã hóa, thuật toán băm xác thực và các thuật toán nén dữ liệu Việc hai bên đồng ý về tham số mật mã giúp tăng cường bảo mật, đảm bảo tính toàn vẹn và xác thực dữ liệu trong quá trình truyền thông Với sự lựa chọn phù hợp của các thuật toán mã hóa, hàm băm và nén dữ liệu, thỏa thuận này tối ưu hóa hiệu suất mạng đồng thời giảm thiểu rủi ro về an ninh.

Trao đổi khóa phiên diễn ra ngay sau quá trình bắt tay giữa client và server Trong giai đoạn này, hai bên thực hiện trao đổi khóa phiên để tạo ra khóa mã hóa cho phiên giao tiếp và khóa này được dùng để mã hóa cũng như giải mã các thông điệp được trao đổi giữa client và server, từ đó bảo vệ tính bí mật, toàn vẹn và sự riêng tư của dữ liệu trong suốt quá trình trao đổi.

Nén dữ liệu: Hai bên sẽ đưa ra các thuật toán nén, tiến hành lựa chọn và thống nhất thuật toán phù hợp.

12 download by : skknchat@gmail.com

Bí mật dữ liệu được đảm bảo bằng cách mã hóa toàn bộ thông tin trao đổi giữa client và server trên đường truyền, giúp nâng cao khả năng bảo mật và giảm nguy cơ nghe lén hoặc sửa đổi dữ liệu Việc bảo vệ dữ liệu trong các giao dịch mang tính riêng tư này là yếu tố quan trọng cho cả hai bên, giúp tăng độ tin cậy và an toàn khi giao tiếp trực tuyến.

Xác thực và đảm bảo toàn vẹn dữ liệu là yếu tố then chốt của bảo mật thông tin Tất cả dữ liệu được gửi qua một kết nối SSL đã được mã hóa và được bảo vệ thêm bởi cơ chế tự động phát hiện mọi xáo trộn hoặc thay đổi thông tin nhờ các thuật toán băm (hash) Đồng thời, nguồn gốc dữ liệu được xác thực để đảm bảo dữ liệu đến từ nguồn đáng tin cậy và có thể truy vết.

Cách thức hoạt động của giao thức SSL

SSL là giao thức bảo mật bảo vệ dữ liệu trực tuyến, với toàn bộ cơ chế hoạt động và hệ thống thuật toán mã hóa được công khai, ngoại trừ khóa chia sẻ phiên (session key) được sinh ngẫu nhiên tại thời điểm trao đổi giữa hai ứng dụng và được giữ bí mật với người quan sát trên mạng Đồng thời, SSL yêu cầu ứng dụng chủ được chứng thực bởi một bên thứ ba (CA) thông qua chứng thực điện tử (chứng chỉ số) dựa trên mật mã công khai, ví dụ RSA, nhằm đảm bảo tính xác thực và an toàn của kết nối.

Trong bài viết này, chúng ta xem xét khái quát cơ chế hoạt động của SSL nhằm phân tích mức độ an toàn mà công nghệ này có thể cung cấp và đánh giá các khả năng áp dụng của SSL trong các ứng dụng nhạy cảm, đặc biệt là trong lĩnh vực thương mại và thanh toán điện tử.

13 download by : skknchat@gmail.com

Hình 1.3 Cơ chế hoạt động của SSL

Từng bướ́c thiết lập một kết nối SSL mớ́i giữa máy khách (thường là trình duyệt Web) và máy chủ (thường là máy chủ Web SSL):

SSL là giao thức bảo mật dựa trên hai nhóm giao thức con chính: Handshake (giao thức bắt tay) và Record (giao thức bản ghi) Giao thức bắt tay xác định các tham số và bối cảnh giao dịch để thiết lập một phiên trao đổi dữ liệu an toàn giữa hai đối tượng, trong khi giao thức bản ghi xác định khuôn dạng và cơ chế mã hóa để truyền tin hai chiều một cách bảo mật và đáng tin cậy.

14 download by : skknchat@gmail.com

Khi hai ứng dụng máy tính, ví dụ trình duyệt Web và Web Server, giao tiếp với nhau, chúng sẽ trao đổi các lời chào để bắt đầu kết nối và thiết lập một kênh liên lạc Máy chủ thường khởi động quá trình này bằng cách đề xuất các chuẩn mã hoá và nén dữ liệu có thể áp dụng giữa máy khách và máy chủ, và hai bên sẽ đàm phán để chọn các thuật toán phù hợp Nhờ bắt tay và đồng thuận về mã hoá và nén, kết nối web giữa trình duyệt và máy chủ được bảo mật, tin cậy và tối ưu cho quá trình trao đổi thông tin.

Trong quá trình giao tiếp, các ứng dụng trao đổi số nhận dạng/khoá theo phiên (session ID, session key) duy nhất cho mỗi lần làm việc Sau đó, trình duyệt (ứng dụng khách) sẽ yêu cầu chứng thực điện tử xác thực của ứng dụng chủ (web server) Chứng thực điện tử thường được xác nhận rộng rãi bởi các cơ quan trung gian uy tín, gọi là Certificate Authority (CA), như RSA Data Security hay VeriSign Inc Các tổ chức này cấp phát chứng chỉ số duy nhất cho một công ty, làm bằng chứng nhận dạng cho các giao dịch trên mạng, đặc biệt là với các Web Server.

Sau khi kiểm tra chứng chỉ điện tử của server bằng các thuật toán mật mã công khai, như RSA, trên trình máy trạm, ứng dụng khách sử dụng thông tin trong chứng chỉ để mã hóa một thông điệp gửi ngược lại server sao cho chỉ server mới có thể giải mã Trên cơ sở đó, hai ứng dụng tiến hành trao đổi master key (khoá bí mật hoặc khoá đối xứng) để làm căn cứ cho việc mã hóa luồng dữ liệu giữa hai bên Toàn bộ mức độ bảo mật và an toàn của thông tin/dữ liệu phụ thuộc vào một số tham số, bao gồm độ dài khóa, tính hợp lệ của chứng chỉ và chuỗi tin cậy của CA, thời hạn hiệu lực, cũng như chất lượng nguồn sinh ngẫu nhiên và các tham số giao thức bảo mật được áp dụng.

(i) Số nhận dạng theo phiên làm việc ngẫu nhiên

(ii) Cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL

(iii) Độ dài của khoá chính (key length) sử dụng cho lược đồ mã hoá thông tin.

15 download by : skknchat@gmail.com

Các giao thức con của giao thức SSL

Giao thức SSL gồm bốn giao thức con vớ́i các chức năng sau:

SSL Record Protocol: thực hiện chức năng phân mảnh, nén, tính giá trị MAC và mã hóa dữ liệu.

The SSL Handshake Protocol negotiates the cryptographic algorithms and parameters to be used, performs a secure key exchange, and authenticates the server—and, if configured, the client—before any encrypted data is exchanged This handshake establishes a trusted, encrypted channel by selecting the cipher suite, exchanging the necessary keys, and verifying identities to ensure secure communications for the session.

SSL Alert Protocol: thực hiện chức năng thông báo lỗi.

SSL Change Cipher Spec Protocol: thực hiện chức năng thông báo xác nhận kết thúc giai đoạn Handshake Protocol.

SSL Record Protocol nhận dữ liệu từ các giao thức ở tầng cao hơn của SSL và chịu trách nhiệm phân đoạn, nén, xác thực và mã hóa dữ liệu Chính xác, giao thức này lấy một khối dữ liệu có kích thước bất kỳ làm dữ liệu nhập và đóng gói thành một chuỗi các bản ghi SSL nhỏ hơn hoặc bằng kích thước tối đa cho dữ liệu xuất ra, giúp bảo mật và hiệu quả truyền thông qua mạng.

SSL Record Protocol hoạt động bằng cách chuyển dữ liệu thô thành các bản ghi SSL bằng ba bước chính: phân mảnh, nén và mã hóa Đầu tiên, dữ liệu gửi đi được chia nhỏ thành các SSL Plaintext records (bước phân mảnh) để tối ưu hóa kích thước và quản lý phiên làm việc Tiếp theo, nếu được kích hoạt, các bản ghi này có thể được nén thành SSL Compressed nhằm giảm dung lượng trước khi mã hóa Cuối cùng, nội dung còn lại được mã hóa thành SSL Ciphertext, đảm bảo tính bảo mật và toàn vẹn dữ liệu khi truyền qua mạng Quy trình này là nền tảng cho sự an toàn của giao thức SSL/TLS, giúp bảo vệ dữ liệu người dùng trong các kết nối mạng.

Hình 1.4 Cac bước cua SSL Record Protocol

16 download by : skknchat@gmail.com

Phân mảnh: Mỗi message của lớ́p bên trên được phân mảnh thành các block, mỗi block là 214 byte (16384 byte) hoặc ít hơn.

Nén dữ liệu phải là nén không mất thông tin và có thể không làm tăng kích thước nội dung thêm quá 1024 byte; dĩ nhiên, người ta mong muốn nén làm co lại dữ liệu nhiều hơn là làm rộng dữ liệu Tuy nhiên, với các khối dữ liệu ngắn và do quy ước định dạng, thuật toán nén thực tế có thể làm cho đầu ra dài hơn đầu vào Trong SSLv3 và cả các phiên bản TLS hiện tại, không có thuật toán nén được chuẩn hóa, nên thuật toán nén mặc định được coi là null.

MAC (mã xác thực thông điệp) được áp dụng trên dữ liệu đã được nén bằng một khóa bí mật được chia sẻ giữa các bên Phương pháp này được định nghĩa bằng công thức hash(MAC_write_secret || pad_2 || hash(MAC_write_secret || pad_1 || seq_num)), trong đó MAC_write_secret là khóa bí mật, pad_1 và pad_2 là các chuỗi padding chuẩn, và seq_num là số thứ tự của gói tin để đảm bảo tính toàn vẹn và đồng nhất của thông điệp khi truyền đi.

|| SSLCompressed.type || SSLCompressed.length || SSLCompressed.fragment))

MAC_write_secret: khóa bí mật được chia sẻ. hash: thuật toán băm mã hóa, MD5 hoặc SHA-1. pad_1: byte 0x36 (0011 0110) được lặp lại 48 lần (384 bit) cho MD5 và

40 lần (320 bit) cho SHA-1. pad_2: byte 0x5c (0101 1100) được lặp lại 48 lần cho MD5 và 40 lần cho SHA-1. seq_num: sequence number cho thông điệp này

SSL Compressed.type: giao thức ở lớ́p trên được dùng để xử lí phân mảnh này.

SSL Compressed.length: chiều dài của phân mảnh đã được nén.

17 download by : skknchat@gmail.com

SSL Compressed.fragment: phân mảnh đã được nén (nếu nén không được dùng, phân mảnh ở dạng plaintext).

Trong mã hóa đối xứng, nội dung sau khi mã hóa có thể tăng kích thước so với dữ liệu gốc và có thể vượt quá 1024 byte Vì vậy, tổng chiều dài của dữ liệu đã mã hóa nên được giới hạn ở mức tối đa 2^14 bytes để đảm bảo hiệu suất xử lý và quản lý lưu trữ.

+2048 Các thuật toán mã hóa sau được cho phép: AES, DES, RC2, 3DES,…

SSL Handshake Protocol là giao thức chính của SSL, được xếp lớp trên SSL Record Protocol nhằm thiết lập và duy trì trạng thái liên lạc an toàn giữa client và server Mục đích của SSL Handshake Protocol là cho phép client và server thiết lập một phiên SSL chung, chọn phương thức nén và các tham số mật mã, xác thực lẫn nhau và tạo một master secret, từ đó sinh ra các khóa session khác nhau dùng cho việc xác thực và mã hóa các thông điệp truyền đi, đảm bảo an toàn khi giao tiếp trên mạng.

Quá trình bắt tay của client và server trong giao thức Handshake:

Hình 1.5 Quá trình bắt tay của client và server trong giao thức Handshake

18 download by : skknchat@gmail.com

Giai đoạn 1: Thiết lập protocol version, ID phiên, thuật toán mã hóa, phương pháp nén.

Bước 1: Client gửi một thông điệp ClientHello tớ́i server Các thành phần quan trọng của một thông điệp ClientHello:

 Version: phiên bản SSL cao nhất mà client hỗ trợ.

 Session ID: định danh phiên

 CipherSuite: danh sách thuật toán mã hóa và băm mà client hỗ trợ (SSL_RSA_WITH_AES_128_CBC_SHA)

 Compression Method: danh sách thuật toán nén dữ liệu mà client hỗ trợ.

Bước 2: Server gửi SeverHello tớ́i client để trả lời cho gói ClientHello, nội dung tương tự như ClientHello, tuy nhiên có một số điểm khác biệt:

 Version: Server chọn ra phiên bản SSL cao nhất mà cả client và server cùng hỗ trợ.

 CipherSuite: lựa chọn ciphersuite tốt nhất trong danh sách các ciphersuite mà nó và client hỗ trợ.

 Compression Method: lựa chọn một phương pháp nén trong các phương pháp nén mà nó nhận được từ client.

 Sau hai bướ́c này, client và server đã thương lượng xong các thuật toán mã, nén dữ liệu và thuật toán băm.

Giai đoạn 2: Server gửi certificate, dữ liệu trao đổi khóa và yêu cầu client gửi lại certificate nếu được thiết lập xác thực client.

During Step 3, the server transmits its SSL certificate to the client, and this certificate contains the server’s public key The client then uses the CA’s public key to validate the certificate’s digital signature If the server’s certificate is valid, the client trusts the server’s public key embedded in the certificate and proceeds with the secure TLS handshake.

19 download by : skknchat@gmail.com

Bước 4: Server gửi ServerHelloDone tớ́i client để cho biết server đã gửi hết tất cả các thông tin mà nó có cho client.

Giai đoạn 3: Client gửi certificate nếu được yêu cầu, kết quả kiểm tra chứng chỉ server và dữ liệu trao đổi khóa.

Bước 5: ClientKeyExchange do client gửi đến server và chứa thông tin để tạo ra masterkey

 Client sinh một Pre_master secret

 Mã hóa nó bằng public key lấy từ certificate của server

 Thuật toán mã hóa đã thương lượng (ví dụ RSA) Server :

 Giải mã private key của mình.

 Bây giờ cả client và server sẽ sử dụng Pre_master secret cùng vớ́i hai số ngẫu nhiên đã sinh trướ́c đó để tạo ra master key

 Từ master key sẽ tạo ra session key dùng để mã hóa dữ liệu

Giai đoạn 4: ChangeCipherSuite và kết thúc giai đoạn HandShake

Bước 6: ChangeCipherSpec là tín hiệu từ client gửi tới server để thông báo rằng mọi gói tin sau thời điểm này giữa client và server sẽ được mã hóa bằng các thuật toán và khóa phiên đã được thương lượng trước đó, thiết lập chế độ mã hóa cho các thông điệp tiếp theo và đảm bảo sự bí mật, toàn vẹn của dữ liệu truyền tải.

Bước 7: Finished: Do client gửi đến server để cho biết client đã hoàn tất việc thiết lập kết nối.

Bước 8: ChangeCipherSpec là thông báo của máy chủ gửi tới máy khách để xác nhận rằng mọi gói tin trao đổi giữa hai bên sẽ được mã hóa bằng các thuật toán và session key đã được đàm phán trước đó, từ đó thiết lập kênh liên lạc an toàn và bảo vệ tính bí mật của dữ liệu.

Bước 9: Finished : Do server gửi đến client để cho biết server đã hoàn tất việc thiết lập kết nối.

20 download by : skknchat@gmail.com

1.4.3 Giao thức SSL Change Cipher Spec

SSL Change Cipher Spec là giao thức đơn giản nhất trong bốn giao thức đặc trưng của SSL, và chỉ bao gồm một message duy nhất có kích thước 1 byte Mục đích của message này là sinh ra trạng thái tiếp theo để gán cho trạng thái hiện tại, từ đó cập nhật bộ mã hóa được sử dụng cho kết nối SSL.

Giao thức SSL Alert được dùng để truyền cảnh báo liên kết SSL tới đầu cuối bên kia Tương tự như các ứng dụng khác sử dụng SSL, các thông điệp cảnh báo được nén và mã hóa, và được xác định bởi trạng thái hiện tại của kết nối.

Mỗi message trong giao thức này gồm 2 bytes: byte đầu tiên giữ giá trị cảnh báo (1) hoặc nguy hiểm (2) để thông báo độ nghiêm trọng của message; nếu mức độ là nguy hiểm (2), SSL lập tức đóng kết nối, trong khi các kết nối còn lại trong cùng phiên vẫn có thể tiếp tục nhưng sẽ không có kết nối mới nào được khởi tạo trên phiên này Byte thứ hai chứa một mã chỉ ra cảnh báo đặc trưng; các cảnh báo luôn ở mức nguy hiểm được định nghĩa từ những tham số SSL, gồm: unexpected_message: message không thích hợp; bad_record_mac: MAC không chính xác; decompression_failure: việc giải nén nhận input không thích hợp (ví dụ như không thể giải nén hoặc giải nén lớn hơn độ dài tối đa cho phép); handshake_failure: bên gửi không thể thương lượng các tham số bảo mật được đưa ra từ những lựa chọn có sẵn.

Các thuật toán mã hóa sử dụng trong SSL

Các thuật toán mã hoá (Cryptographic algorithm hay còn gọi là cipher) là các hàm toán học được sử dụng để 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á, được sử dụng để thực hiện các công việc trong quá trình xác thực server và client, truyền tải các certificates và thiết lập các khoá

21 download by : skknchat@gmail.com của từng phiên giao dịch (session key) Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tùy thuộc vào nhiều yếu tố như phiên bản SSL đang dùng,…

Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm:

DES (Data Encryption Standard): là một thuật toán mã hoá có chiều dài khoá là 56 bit.

3-DES (Triple-DES): là thuật toán mã hoá có độ dài khoá gấp 3 lần độ dài khóa trong mã hoá DES.

DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực số đang được được chính phủ Mỹ sử dụng.

KEA (Key Exchange Algorithm) là một thuật toán trao đổi khoá đang được chính phủ Mỹ sử dụng.

MD5 (Message Digest algorithm) được phát triển bởi Rivest.

RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ liệu được Rivest, Shamir, and Adleman phát triển.

RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dung cho RSA Data Security.

SHA-1 (Secure Hash Algorithm): là một thuật toán băm đang được chính phủ Mỹ sử dụng.

Tổng kết chương 1

Chương này giới thiệu khái niệm SSL, lịch sử hình thành và sự phát triển của giao thức này, qua đó làm nổi bật vai trò quan trọng của SSL trong bảo mật thông tin Bài viết trình bày các dịch vụ SSL cung cấp và cách thức hoạt động của nó để bảo vệ dữ liệu thông qua mã hóa và xác thực giữa máy khách và máy chủ, đồng thời phân tích cấu trúc của giao thức SSL và các giao thức con liên quan Để bảo vệ thông tin an toàn, SSL dựa trên các thuật toán mã hóa và cơ chế trao đổi khóa được triển khai trong quá trình thiết lập kết nối, với ví dụ điển hình như RSA cho xác thực, AES cho mã hóa dữ liệu và SHA cho đảm bảo tính toàn vẹn.

22 download by : skknchat@gmail.com

TÌM HIỂU PHƯƠNG PHÁP TẤN CÔNG CHẶN GIỮA TRONG

Tìm hiểu tấn công chặn giữa

Tấn công chặn giữa (Man-in-the-Middle Attack) là một dạng tấn công bí mật xảy ra khi kẻ tấn công xen giữa vào phiên giao tiếp giữa hai bên, thường là giữa trình duyệt web và máy chủ web Kẻ tấn công có khả năng đánh chặn toàn bộ dữ liệu trao đổi giữa nạn nhân và có thể sửa đổi hoặc tiêm vào đó những thông tin giả nhằm đánh cắp thông tin nhạy cảm hoặc làm giả dữ liệu Đây có thể là hình thức nghe lén, giả mạo nhận diện hoặc chỉnh sửa nội dung truyền đi, khiến người dùng và hệ thống nhận được thông tin sai lệch Để giảm thiểu rủi ro, nên áp dụng các biện pháp bảo mật như mã hóa kênh truyền bằng SSL/TLS, xác thực mạnh và giám sát lưu lượng mạng để sớm phát hiện các dấu hiệu bất thường.

Hình 2.6 Mô tả quá trình tấn công chặn giữa MITM

Các nạn nhân thường không nhận ra dữ liệu của họ đã bị giả mạo cho đến khi quá muộn, dẫn đến thiệt hại không lường trước được Nếu tấn công MITM (man-in-the-middle) thành công, dữ liệu truyền giữa người dùng và dịch vụ có thể bị giả mạo, bị đánh cắp hoặc bị sửa đổi mà người dùng không hay biết Điều này có thể gây thiệt hại nghiêm trọng cho cá nhân và tổ chức, bao gồm mất thông tin nhạy cảm, mất uy tín và thiệt hại tài chính Vì vậy, nhận diện và ngăn ngừa MITM là yếu tố thiết yếu để bảo vệ dữ liệu và an toàn thông tin trực tuyến.

Trong một kịch bản MITM (tấn công người ở giữa), có ba bên tham gia: nạn nhân, đối tượng mà nạn nhân đang cố gắng kết nối, và kẻ tấn công nằm ở giữa Kẻ tấn công đã chặn kết nối của nạn nhân và nạn nhân hoàn toàn không nhận thức được sự tồn tại của kẻ xâm nhập Cụ thể, kẻ tấn công giả danh cả hai bên để chiếm quyền kiểm soát và có thể tiếp cận thông tin mà hai bên đang trao đổi, qua đó đe dọa an toàn dữ liệu và tính toàn vẹn của giao tiếp.

23 download by : skknchat@gmail.com

Chương 2 bên đang cố gắng gửi cho nhau Kẻ tấn công có thể chặn, gửi và nhận dữ liệu dành cho cả hai bên, mà không có bên nào biết đến khi quá muộn.

Ngoài các website, các cuộc tấn công MITM có thể chuyển mục tiêu sang liên lạc qua email, tra cứu DNS và mạng Wi‑Fi công cộng Các đối tượng tiêu biểu của MITM bao gồm các doanh nghiệp thương mại điện tử và người dùng các ứng dụng tài chính.

Các kẻ tấn công MITM thường kết hợp phần mềm độc hại để biến máy tính thành cỗ máy zombie hoặc xây dựng mạng lưới botnet quy mô lớn Tấn công MITM có thể được sử dụng như một phương thức để thực hiện các cuộc tấn công Advanced Persistent Threat (APT), nhằm xâm nhập và duy trì quyền truy cập trái phép trong thời gian dài.

Một cuộc tấn công MITM (Man-in-the-Middle) gồm hai giai đoạn chính là đánh chặn và giải mã Đánh chặn là bước đầu tiên, nơi kẻ tấn công chặn lưu lượng truy cập của người dùng qua mạng trước khi nó đến đích và có thể thực hiện ở hai hình thức chủ động hoặc thụ động Giai đoạn thứ hai là giải mã, cho phép kẻ tấn công đọc được nội dung truyền thông bằng cách giải mã dữ liệu bị chặn.

Giải mã lưu lượng SSL sau khi bị chặn là bắt buộc vì mọi lưu lượng SSL hai chiều đều phải được giải mã và quá trình này sẽ không được thông báo cho người dùng hay ứng dụng Các phương pháp giải mã phổ biến bao gồm HTTP spoofing, SSL hijacking và SSL stripping.

2.1.3 Các kiểu tấn công chặn giữa

Kẻ tấn công có thể sử dụng các cuộc tấn công MITM để giành quyền kiểm soát các thiết bị theo nhiều cách khác nhau:

IP spoofing, hay giả mạo IP, cho phép kẻ tấn công giả danh người dùng hoặc đối tượng tương tác với người dùng và tự đánh lừa rằng cuộc trò chuyện đang diễn ra trực tiếp với bên kia; từ đó, kẻ tấn công có thể truy cập vào thông tin mà người dùng đang trao đổi và nắm bắt dữ liệu nhạy cảm.

DNS spoofing (giả mạo DNS) là một kỹ thuật buộc người dùng truy cập vào một website giả thay vì trang mà họ định mở Kỹ thuật này lợi dụng hệ thống phân giải tên miền để trả về một địa chỉ IP sai, dẫn người dùng tới trang giả mạo Mục tiêu của kẻ tấn công thường là tăng lượng truy cập cho website giả, từ đó có thể thu thập thông tin hoặc thực hiện các hành vi gian lận Đây là một nguy cơ bảo mật nghiêm trọng cho người dùng và doanh nghiệp, đòi hỏi các biện pháp bảo vệ DNS và giám sát lưu lượng mạng để ngăn chặn.

Giả mạo DNS là hình thức tấn công mạng làm thay đổi địa chỉ của website trên máy chủ DNS, khiến người dùng bị hấp dẫn truy cập vào phiên bản giả mạo và có nguy cơ bị đánh cắp thông tin đăng nhập Kẻ tấn công lợi dụng sự tin tưởng vào hệ thống phân giải tên miền để chuyển hướng người dùng đến trang giả mạo, nơi dữ liệu nhạy cảm như tên đăng nhập và mật khẩu có thể bị thu thập Để giảm thiểu rủi ro, cần kiểm tra kỹ URL, kích hoạt xác thực hai yếu tố, dùng kết nối HTTPS an toàn, áp dụng DNSSEC và cập nhật phần mềm bảo mật thường xuyên.

HTTPS spoofing – giả mạo HTTPS là hiện tượng kẻ tấn công lừa trình duyệt của nạn nhân tin rằng đang truy cập một website đáng tin cậy bằng cách chuyển hướng người dùng tới một trang web không an toàn; khi đó kẻ tấn công có thể theo dõi các tương tác của nạn nhân với trang web và có nguy cơ đánh cắp thông tin cá nhân đang được chia sẻ SSL hijacking – đánh cắp SSL xảy ra khi kẻ tấn công dùng một máy tính và một máy chủ bảo mật khác để chặn toàn bộ thông tin truyền giữa máy chủ và máy tính của người dùng.

Đánh cắp email là hình thức tấn công nhắm vào hộp thư của khách hàng tại các ngân hàng và tổ chức tài chính khác Khi kẻ xấu có quyền truy cập, chúng có thể giám sát các giao dịch giữa ngân hàng và khách hàng Sau đó, chúng giả mạo địa chỉ email của ngân hàng và gửi những email chứa các chỉ dẫn giả mạo cho khách hàng Khách hàng bị lừa làm theo những chỉ dẫn này có thể lộ thông tin đăng nhập và chịu thiệt hại về tài sản.

Wifi eavesdropping hay nghe lén wifi là hình thức tấn công Man‑in‑the‑Middle (MITM) trong đó kẻ tấn công có thể nắm bắt và chặn lưu lượng dữ liệu giữa người dùng và các trang web Những mạng wifi công khai hoặc các mạng cá nhân yếu bảo mật thường là mục tiêu, cho phép kẻ xấu đọc được dữ liệu truyền đi và thậm chí chèn công cụ vào giữa thiết bị người dùng và website họ truy cập để ghi lại thông tin đăng nhập và các dữ liệu cá nhân khác.

25 download by : skknchat@gmail.com

Cookie trình duyệt là một đoạn thông tin nhỏ được website lưu trên máy tính người dùng nhằm duy trì trạng thái phiên làm việc và cá nhân hóa trải nghiệm Tuy nhiên, kẻ tấn công có thể chiếm quyền điều khiển cookie trình duyệt, từ đó có thể truy cập vào các dữ liệu nhạy cảm lưu trữ trong đó như mật khẩu và địa chỉ người dùng Vì cookie lưu trữ thông tin từ trình duyệt web, bảo mật cookie đóng vai trò then chốt để ngăn chặn rủi ro lộ thông tin cá nhân và mất quyền kiểm soát tài khoản Các nguy cơ liên quan đến cookie trình duyệt có thể dẫn tới việc tiết lộ dữ liệu nhạy cảm khác và gian lận trên các dịch vụ trực tuyến Để tăng cường an ninh trình duyệt và bảo vệ người dùng, cần thực hiện các biện pháp như cập nhật trình duyệt, quản lý quyền truy cập cookie và áp dụng các chính sách bảo mật mạnh mẽ.

2.1.4 Ví dụ về tấn công chặn giữa

Tấn công ARP Spoofing

Mỗi thiết bị trong hệ thống mạng có ít nhất hai địa chỉ: địa chỉ MAC cố định gắn với card mạng và duy nhất không đổi, và địa chỉ IP có thể thay đổi tùy môi trường mạng và người dùng Địa chỉ MAC xác định phần cứng của thiết bị, trong khi địa chỉ IP được dùng để định tuyến và có thể thay đổi theo ngữ cảnh mạng ARP (Address Resolution Protocol) là một giao thức thuộc IP có chức năng phân giải địa chỉ IP thành địa chỉ MAC để định vị một host trong một segment mạng Quá trình ARP thực hiện bằng cách broadcast gói tin đến tất cả các host trên mạng, trong gói tin chứa địa chỉ IP của host cần giao tiếp; các host nhận được gói tin và chỉ host có địa chỉ IP khớp mới trả lời lại, còn lại sẽ bỏ gói tin.

ARP là một giao thức hết sức đơn giản, nó đơn thuần có 4 loại message cơ bản sau:

ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ IP này? ".

ARP Reply: máy tính B trả lời máy tính A: "tôi có IP đó, địa chỉ MAC của tôi là ".

Reverse ARP Request: máy tính A sẽ hỏi toàn mạng: " ai có địa chỉ MAC này? ".

Reverse ARP Reply: máy tính B trả lời máy tính A: " tôi có MAC đó, địa chỉ IP của tôi là ".

2.2.2 Nguyên lý tấn công ARP Spoofing

Giao thức ARP (Address Resolution Protocol) đóng vai trò thiết yếu trong hệ thống mạng khi nó ánh xạ địa chỉ IP với địa chỉ MAC ở lớp liên kết dữ liệu, giúp các thiết bị trên cùng một mạng LAN giao tiếp hiệu quả Tuy nhiên, ARP lại thiếu cơ chế xác thực, gây dễ bị khai thác bởi các cuộc tấn công ARP spoofing và ARP poisoning, từ đó có thể chiếm đoạt hoặc chuyển hướng lưu lượng mạng Khi một host nhận được gói tin ARP đáng ngờ hoặc nguồn gói tin bất thường, ví dụ gói tin kèm thông điệp như 27 download by: skknchat@gmail.com, hệ thống có thể bị xâm nhập hoặc bị lệch hướng dữ liệu Để giảm thiểu rủi ro, cần áp dụng các biện pháp bảo mật ARP như Dynamic ARP Inspection (DAI), DHCP snooping, cấu hình ARP tĩnh ở các thiết bị quan trọng và phân đoạn mạng bằng VLAN Đồng thời, giám sát lưu lượng và duy trì bảng ARP chính xác giúp tăng khả năng phát hiện và ngăn chặn các cuộc tấn công, từ đó cải thiện an toàn cho lưu lượng dữ liệu tại lớp liên kết và mạng nội bộ.

ARP Reply hoàn toàn tin tưởng và tự động sử dụng thông tin nhận được để giao tiếp sau này mà không kiểm tra xem đó có phải từ host mà người dùng mong đợi hay không ARP không có cơ chế xác thực, và thực tế một host có thể chấp nhận gói ARP Reply mà trước đó không cần phải gửi gói ARP Request Lỗ hổng này cho phép hacker lợi dụng để triển khai các phương thức tấn công Man In The Middle, gây ra rủi ro bảo mật cho mạng LAN mà cần được lưu ý và khắc phục bằng các biện pháp bảo vệ thích hợp.

Hình 2.8 Nguyên lý tấn công ARP Spoofing

Giả sử kẻ tấn công muốn theo dõi lưu lượng giữa hai máy A và B, hắn ta sẽ thực hiện tấn công ARP spoofing (tấn công man-in-the-middle thông qua ARP) bằng cách gửi ARP Reply tới A với MAC của hắn và IP của B, và tương tự gửi ARP Reply tới B với MAC của hắn và IP của A Nhờ đó cả A và B cập nhật bảng ARP chứa địa chỉ MAC của kẻ tấn công; khi A gửi dữ liệu cho B, nó sẽ dùng MAC của B từ bảng ARP nhưng thực tế lại là MAC của kẻ tấn công, trong khi máy của kẻ tấn công mở chế độ IP Forwarding để chuyển tiếp nội dung từ A sang B Nhờ đó A và B giao tiếp bình thường và không nhận ra sự có mặt của máy trung gian, và kẻ tấn công có thể nghe lén hoặc theo dõi thông tin truyền đi.

Việc tải xuống từ máy tính của bạn thông qua địa chỉ email như skknchat@gmail.com đến gateway có thể cho phép hacker ghi lại mọi hoạt động trên Internet của bạn, từ đó dẫn tới lộ và mất mát thông tin nhạy cảm.

Tìm hiểu tấn công chặn giữa chiếm quyền điều khiển SSL

2.3.1 Mô tả quá trình truyền thông

SSL là một giao thức được thiết kế để cung cấp bảo mật cho truyền thông mạng thông qua mã hóa, đồng thời có thể kết hợp dễ dàng với các giao thức khác để tạo ra một cơ chế an toàn cho các dịch vụ mà SSL cung cấp.

Trường hợp sử dụng phổ biến nhất của SSL khi kết hợp với HTTP là HTTPS HTTPS đảm bảo truyền thông giữa trình duyệt và máy chủ được mã hóa an toàn, đồng thời cung cấp xác thực và bảo vệ dữ liệu khỏi bị nghe lén hoặc giả mạo, từ đó nâng cao bảo mật cho website và cải thiện trải nghiệm người dùng.

HTTPS bảo đảm an toàn dữ liệu bằng cách siết chặt vai trò của các thành phần liên quan đến phân phối chứng chỉ—máy chủ, máy khách và các bên thứ ba được tin cậy—nhằm bảo đảm tính xác thực và bảo mật khi kết nối Quá trình này được thực hiện qua một chuỗi bước như được minh họa trong sơ đồ dưới đây, bao gồm quản lý và phân phối chứng chỉ, thiết lập kết nối an toàn giữa máy chủ và máy khách, và kiểm soát vòng đời cấp phát chứng chỉ để duy trì niềm tin giữa các bên.

Hình 2.9 Mô tả quá trình truyền thông HTTPS

29 download by : skknchat@gmail.com

Bước 1: Trình duyệt máy khách kết nối đến web server trên cổng 80 bằng cách sử dụng HTTP.

Bước 2: Máy chủ redirect phiên bản HTTPS máy khách của site này bằng cách sử dụng HTTP code 302.

Bước 3: Máy khách kết nối đến web server trên cổng 443.

Bước 4: Máy chủ gửi cho máy khách một chứng chỉ có chữ ký của máy chủ Chứng chỉ này được dùng để thẩm định danh tính của trang web và xác thực nguồn dữ liệu, từ đó giúp thiết lập một kết nối an toàn giữa máy khách và máy chủ Việc xác thực chứng chỉ tăng cường niềm tin người dùng và bảo vệ thông tin khi giao tiếp trên mạng.

Bước 5: Máy khách sử dụng chứng chỉ này và thẩm định chứng chỉ này vớ́i danh sách các nhà thẩm định chứng chỉ tin cây.

Bước 6: Truyền thông mã hóa sẽ xảy ra sau đó.

Nếu quá trình hợp lệ hóa chứng chỉ thất bại thì điều đó có nghĩa rằng các website đã thất bại trong việc thẩm định sự nhận dạng.

Quá trình phá hủy HTTPS là sự phá vỡ cầu nối giữa truyền thông không mã hóa và mã hóa, khiến dữ liệu dễ bị rò rỉ và có thể mở đường cho các hành vi lừa đảo hoặc theo dõi khi người dùng chuyển từ HTTP sang HTTPS Khái niệm này mô tả một hình thức tấn công kiểu Man-in-the-Middle nhằm làm suy yếu bảo mật SSL/TLS trước khi kết nối được xác thực và thiết lập hoàn chỉnh Để giảm thiểu rủi ro và tăng cường bảo vệ, cần thực hiện chuyển đổi bắt buộc từ HTTP sang HTTPS, áp dụng HSTS, đảm bảo cấu hình TLS ở mức cao nhất với chứng chỉ hợp lệ và được xác thực, đồng thời tăng cường nhận diện và cảnh báo người dùng về các trang giả mạo và kết nối không an toàn.

Hình 2.10 Mô tả quá trình chiếm quyền điều khiển truyền thông

HTTPS 30 download by : skknchat@gmail.com

Bước 1: Đầu tiên, lưu lượng giữa máy khách và máy chủ sẽ bị chặn.

Bước 2: Khi bắt gặp một HTTPS URL, SSL strip sẽ thay thế nó bằng một liên kết HTTP và sẽ ánh xạ những thay đổi của nó.

Bước 3: Máy tấn công sẽ cung cấp các chứng chỉ cho máy chủ web và giả mạo máy khách

Bước 4: Lưu lượng được nhận trở lại từ website an toàn và được cung cấp trở lại cho máy khách.

SSL Strip được tạo ra bởi Moxie Marlinspike, một nhà nghiên cứu bảo mật hàng đầu, và ông cho rằng trong hầu hết các trường hợp SSL chưa bao giờ bị tấn công trực tiếp Thực tế, hầu hết các kết nối SSL được thiết lập qua HTTPS, nên kẻ tấn công có thể lợi dụng việc chuyển hướng từ HTTPS bằng mã phản hồi HTTP 302 để ép người dùng rơi vào một kết nối không mã hóa.

Hình 2.11 Mô tả quá trình attacker can thiệp vào chuyển hướ́ng HTTP sang

HTTPS giúp bảo vệ dữ liệu và đảm bảo an toàn khi trình duyệt chuyển hướng từ HTTP sang giao thức HTTPS, đồng thời bảo vệ các yêu cầu của người dùng tới máy chủ Tuy nhiên, có thể xảy ra các tình huống bảo mật mà kẻ tấn công lợi dụng quá trình chuyển hướng để can thiệp vào việc chuyển từ HTTP sang HTTPS và chặn các yêu cầu người dùng, từ đó làm giảm sự tin cậy và gây gián đoạn kết nối Để giảm thiểu rủi ro này, cần triển khai các biện pháp bảo mật như bắt buộc chuyển hướng sang HTTPS, áp dụng HSTS, xác thực chứng chỉ TLS hợp lệ và tối ưu cấu hình máy chủ cũng như ứng dụng để người dùng luôn được kết nối qua giao thức an toàn.

SSL Strip là một hình thức tấn công trung gian (man-in-the-middle) nhằm hạ cấp kết nối từ HTTPS xuống HTTP bằng cách lợi dụng thói quen người dùng bị chuyển hướng từ liên kết không SSL sang trang SSL thông qua các phản hồi 302 hoặc liên kết từ trang không bảo mật Kẻ tấn công thiết lập kết nối HTTPS với chính mình và đóng vai cầu nối giữa người dùng và máy chủ đích Khi nạn nhân nhập URL và gửi yêu cầu, kẻ tấn công sẽ chuyển tiếp yêu cầu tới máy chủ của cửa hàng trực tuyến và nhận được trang thanh toán an toàn như https://www.buyme.com Sau đó, kẻ tấn công sẽ chuyển hướng từ HTTPS sang HTTP và gửi lại cho trình duyệt, khiến trình duyệt truy cập http://www.buyme.com và từ thời điểm này mọi dữ liệu của nạn nhân có thể bị lộ ở dạng văn bản thuần túy, trong khi máy chủ của trang web nghĩ rằng đã thiết lập thành công kết nối an toàn với người dùng.

Quá trình làm việc diễn ra khá tốt; máy chủ liên quan vẫn nhận lưu lượng SSL một cách nhất quán mà không nhận ra sự thay đổi nào, và điểm khác biệt duy nhất trong trải nghiệm người dùng là trình duyệt sẽ không hiển thị cờ HTTPS cho lưu lượng này.

SSL strip là một cuộc tấn công khiến dữ liệu người dùng có thể được truyền ở dạng văn bản thuần túy và dễ bị chặn bởi kẻ tấn công Khi thành công, tấn công này làm lộ thông tin nhận dạng cá nhân như mật khẩu, thông tin đăng nhập, tài khoản ngân hàng và dữ liệu kinh doanh nhạy cảm, đồng thời làm suy yếu tính toàn vẹn và bí mật của dữ liệu.

Biện pháp phòng chống

Nhận thấy các thông tin quan trọng và những tập tin riêng tư có thể bị đánh cắp khá dễ dàng, nên cần nhận diện các nguy cơ và tăng cường bảo mật cho dữ liệu nhạy cảm Để phòng ngừa các trường hợp như vậy, nên thực hiện các biện pháp quản trị dữ liệu và an toàn thông tin như kiểm soát quyền truy cập, mã hóa dữ liệu nhạy cảm, sao lưu định kỳ và cập nhật phần mềm bảo mật; đồng thời đào tạo người dùng nhận thức về bảo mật và thiết lập quy trình xử lý thông tin phù hợp Tránh chia sẻ thông tin quan trọng qua các kênh không bảo mật và luôn áp dụng các nguyên tắc tối ưu để giảm thiểu rủi ro bị xâm nhập, rò rỉ hoặc đánh cắp dữ liệu.

Việc xác thực người dùng bằng username và password ở dạng văn bản không mã hóa là lỗ hổng bảo mật nghiêm trọng, vì vậy nên áp dụng mã hóa bằng IPSec hoặc SSL để bảo vệ thông tin xác thực Tuy nhiên, không phải lúc nào cũng có thể triển khai các giải pháp này và hiệu quả của chúng cũng có giới hạn: các công cụ như Dsniff hay Ettercap vẫn có thể phá khóa và vượt qua lớp bảo vệ Do đó, với vai trò quản trị mạng, cách tối ưu là thường xuyên giám sát các hành động bất thường trong hệ thống người dùng để kịp thời phát hiện sự cố và đưa ra hành động xử lý phù hợp, từ đó tăng cường an toàn thông tin và giảm thiểu rủi ro.

Hệ thống bị tấn công do cơ chế giả danh ARP (hay còn gọi bằng thuật ngữ

“ARP Spoofing”) - một giao thức dùng để phân giải địa chỉ vật lý MAC của máy tính Có thể dùng ARP watch giám sát các thông tin ARP trong hệ thống để phát hiện khi bị tấn công bằng các phương pháp ARP Spoofing hay Sniffer Hoặc bạn tiến hành cài đặt các hệ thống IDS như Snort, GFI để phát hiện các hành động bất thường trên mạng.

Ettercap có hai plug-in rất hữu ích, một dùng để tìm kiếm các máy tính chạy chương trình Ettercap khác trên mạng và plug-in còn lại dùng để phát hiện các chương trình Sniffer khả nghi khác Ví dụ, nếu nghi ngờ có ai đó đang “nghe lén” trên mạng, khởi động Ettercap và nhấn phím P sau đó chọn plug-in đầu tiên sẽ tìm ra các máy đang chạy Ettercap Còn khi đối phương sử dụng các chương trình khác như Dsniff, có thể dò tìm thông qua plug-in thứ 15 là arpcop, lúc đó một cửa sổ mớ́i sẽ hiển thị những máy tính đang chạy các chương trình ARP Spoofing trên mạng Khi xác nhận được đối tượng, có thể tiến hành cô lập máy tính này khỏi mạng ngay lập tức bằng cách chọn P và chọn plug-in thứ 23 tên là leech và sau đó chọn Yes, nhấn Enter Một số người quản trị hệ thống còn dùng Ettercap để phát hiện các máy bị nhiễm virus đang phát tán trên mạng rồi cô lập chúng bằng leech sau đó diệt bằng các chương trình chống virus rất hiệu quả.

33 download by : skknchat@gmail.com

DAI (Dynamic ARP Inspection) là một tính năng bảo mật mạng dùng để loại bỏ các gói ARP độc hại và ngăn chặn các cuộc tấn công ARP Spoofing bằng cách chặn và loại bỏ những gói tin có ràng buộc IP – MAC không hợp lệ hoặc không được xác thực; khi hoạt động, DAI kiểm tra các gói ARP dựa trên bảng ràng buộc IP-MAC an toàn và chỉ cho phép những gói ARP hợp lệ đi qua, đồng thời loại bỏ các gói có thông tin không khớp hoặc giả mạo, từ đó giảm nguy cơ bị lừa đảo thiết bị mạng và tăng cường bảo mật cho mạng LAN.

Ngăn chặn tất cả các ARP request và ARP responses từ các cổng không đáng tin cậy.

Để đảm bảo an toàn và hiệu quả cho mạng, cần xác minh rằng mỗi gói tin bị chặn có liên kết IP-MAC hợp lệ trước khi cập nhật ARP cache cục bộ hoặc trước khi chuyển gói tin đến đích Việc xác minh này giúp ngăn chặn các cuộc tấn công giả mạo ARP và đảm bảo bảng ARP phản ánh đúng thiết bị nhận gói tin Khi liên kết IP-MAC được xác nhận, hệ thống sẽ cập nhật ARP cache một cách an toàn và định tuyến gói tin tới đích một cách chính xác.

Loại bỏ các gói tin ARP không hợp lệ

Việc sử dụng VPN (Virtual Private Network) cho phép các thiết bị kết nối Internet thông qua một tunnel được mã hóa, giúp bảo vệ toàn bộ dữ liệu liên lạc khỏi bị nghe lén và sửa đổi trên đường truyền Nhờ lớp mã hóa này, thông tin của bạn trở nên vô giá trị đối với kẻ tấn công ARP spoofing, tăng cường an toàn khi làm việc trên mạng công cộng hoặc trong các môi trường mạng có rủi ro.

Sử dụng ARP tĩnh cho phép xác định một mục ARP cố định cho một địa chỉ IP và ngăn thiết bị nhận phản hồi ARP cho địa chỉ đó Ví dụ, nếu một máy tính luôn kết nối với cùng một bộ định tuyến, bạn có thể thiết lập một mục ARP tĩnh cho bộ định tuyến đó, điều này giúp ngăn chặn một cuộc tấn công ARP spoofing và tăng cường bảo mật mạng.

Để tăng cường bảo mật mạng, hãy sử dụng lọc gói (packet filtering) Các bộ lọc gói có thể nhận diện các gói ARP bị nhiễm độc bằng cách kiểm tra thông tin nguồn và phát hiện dấu hiệu xung đột nguồn, từ đó ngăn chúng lại trước khi chúng đến được các thiết bị trên mạng của bạn Biện pháp này giúp giảm thiểu nguy cơ ARP spoofing và bảo vệ an toàn cho toàn bộ hệ thống mạng.

Để đánh giá hiệu quả an ninh mạng, tiến hành một bài kiểm tra ARP spoofing với sự phối hợp giữa nhóm Công nghệ thông tin và nhóm Bảo mật, nhằm kiểm tra xem các biện pháp bảo mật hiện tại có hoạt động đúng như mong đợi hay không và phát hiện các lỗ hổng bảo mật có thể bị lợi dụng Nếu bài kiểm tra cho thấy thành công, hãy xác định các điểm yếu của hệ thống và từ đó đề xuất các biện pháp khắc phục nhằm tăng cường khả năng chống tấn công ARP spoofing và cải thiện an toàn mạng cho tổ chức.

Kết luận chương 2

Trong chương này, báo cáo trình bày khái niệm tấn công chặn giữa (man-in-the-middle - MITM) và cách thức hoạt động của nó trên các kênh giao tiếp bị xâm nhập, đồng thời nêu các ví dụ điển hình về các kiểu tấn công nhằm giúp người đọc nhận diện nguy cơ Tấn công chặn giữa xảy ra khi kẻ tấn công đứng ở giữa hai bên giao tiếp và có thể nghe, ghi nhận, chỉnh sửa hoặc gia tăng độ tin cậy thông tin mà hai phía gửi cho nhau mà họ nghĩ là an toàn Các kiểu tấn công phổ biến gồm giả mạo điểm truy cập Wi‑Fi công cộng, chiếm đoạt và giả mạo chứng thực DNS, cũng như can thiệp vào quá trình mã hóa và truyền tải dữ liệu Ngoài ra, báo cáo nhấn mạnh các biện pháp phòng ngừa và phát hiện MITM như mã hóa end-to-end, xác thực chứng thực và khóa an toàn, kiểm tra chứng chỉ TLS, sử dụng VPN tin cậy và duy trì thói quen an toàn khi kết nối vào mạng công cộng để giảm thiểu rủi ro.

34 download by : skknchat@gmail.com

TRIỂN KHAI THỰC NGHIỆM

Mô hình triển khai

Trong lĩnh vực an toàn thông tin, kịch bản tấn công Man-in-the-Middle (MITM) mô phỏng kẻ xâm nhập đóng vai giữa hai bên giao tiếp, như giữa máy Windows 7 và một server chạy HTTPS, nhằm chặn bắt và phá vỡ liên kết bảo mật được mã hóa trong quá trình truyền dữ liệu bằng giao thức SSL/TLS Hiểu được cơ chế và rủi ro của MITM giúp người đọc nhận diện các yếu tố dễ bị lợi dụng, từ đó xây dựng các biện pháp bảo vệ như xác thực mạnh, quản lý chứng chỉ và đảm bảo tính toàn vẹn của dữ liệu khi trao đổi trên mạng.

Máy Kali trong kịch bản này sẽ sử dụng hai công cụ là SSLstrip và Ettercap SSLstrip đóng vai trò lắng nghe và thu thập log liên quan đến giao thức SSL trên đường truyền của máy bị tấn công nhằm đánh giá mức độ bảo mật và các điểm yếu liên quan đến mã hóa kết nối Trong khi đó, Ettercap hỗ trợ nhiều hình thức tấn công mạng, nổi bật là ARP Spoofing để giả mạo địa chỉ MAC của máy nạn nhân, gây nhầm lẫn trong quá trình truyền thông từ máy chủ đến máy bị hại và làm rõ các lỗ hổng tiềm ẩn trong hệ thống.

Chuẩn bị các máy ảo chạy hệ điều hành Kali Linux và Windows

7 Các máy ảo có thể kết nối Internet

Các máy ảo cùng dải mạng vớ́i nhau

Một website để thử nghiệm

35 download by : skknchat@gmail.com

Thực nghiệm

Truy cập trang : https://github.com/moxie0/sslstrip, để tải các bộ cài về trên máy Kali, copy đường link như phần đóng khung màu đỏ trong hình:

Hình 3.13 Giao diện trang tải bộ cài SSLstrip

Sau khi copy được link ta tiến hành tải bộ cài về trên máy Kali bằng dòng lệnh như trong hình “ git clone + link”:

36 download by : skknchat@gmail.com

Hình 3.14 Tải bộ cài SSLstrip về máy kali

Sau khi tải xong gói cài đặt, hãy vào thư mục vừa tải bằng lệnh cd sslstrip/ để bắt đầu quá trình cài đặt Khi đã vào được thư mục, dùng lệnh ls để hiển thị các file cấu hình còn lại cho bước cài đặt Cuối cùng, thực hiện cài đặt bằng lệnh sudo python setup.py install để hoàn tất quá trình cài đặt.

Figure 3.15 describes the process of installing the SSLstrip tool Allow the system a moment to complete the installation, and then continue by installing Python-pip on the Kali machine with the command sudo apt install python-pip.

37 download by : skknchat@gmail.com

Hình 3.16 Cài đặt python-pip

Sau khi cài đặt python-pip xong, tiến hành cài đặt các gói dữ liệu cuối cùng cho tool để có thể chạy Để thực hiện, sử dụng lệnh sudo pip install Twisted pyopenssl nhằm cài đặt các thư viện cần thiết cho hoạt động của công cụ.

38 download by : skknchat@gmail.com

Hình 3.17 Cài đặt file Twisted

Hình 3.18 Cài đặt server_identity

Khi đã hoàn thành hết các bướ́c tiến hành kiểm tra thông tin version và chạy thử tool:

39 download by : skknchat@gmail.com

Hình 3.19 Lệnh kiểm tra version SSLstrip

Hình 3.20 Lệnh chạy SSLstrip và cho lắng nghe ở công 8080 3.2.2 Tiến hành tấn công

Trướ́c khi tiến hành tấn công có thể cấu hình các cổng lắng nghe cho SSLstrip để có thể thu thập được các log trong quá trình tấn công:

Hình 3.21 Cấu hình các cổng lắng nghe cho SSLstrip

40 download by : skknchat@gmail.com

ARP spoofing (đầu độc ARP) là kỹ thuật lợi dụng sự tin cậy của bảng địa chỉ ARP để đánh tráo địa chỉ MAC/IP giữa các máy trong cùng mạng, có thể dẫn đến nghe lén, sửa đổi hoặc chặn lưu lượng dữ liệu Trong các môi trường kiểm tra bảo mật, các công cụ như Ettercap trên Kali Linux được dùng ở mức phân tích và mô phỏng các tình huống tấn công một cách có kiểm soát và hợp pháp Tuy nhiên, việc sử dụng công cụ này đòi hỏi thận trọng và tuân thủ pháp lý, đồng thời nên tập trung vào các biện pháp phòng chống như thiết lập ARP tĩnh, giám sát lưu lượng mạng và áp dụng các giải pháp phát hiện bất thường để ngăn chặn các cuộc tấn công ARP spoofing.

Trong bối cảnh kiểm thử bảo mật có sự cho phép, Ettercap có thể được nhắc đến như một công cụ có khả năng quét các thiết bị trong mạng để xác định địa chỉ IP của thiết bị mục tiêu; hình ảnh minh họa cho thấy địa chỉ IP của người bị nhắm tới có thể được nhận diện từ danh sách các host trên mạng Bài viết tập trung vào nhận diện địa chỉ IP và các biện pháp bảo vệ mạng khỏi các tấn công liên quan, nhấn mạnh tầm quan trọng của cấp phép hợp pháp, giám sát lưu lượng mạng, mã hóa dữ liệu và phân đoạn mạng để ngăn ngừa rủi ro.

192.168.140.2 : là địa chỉ default gateway của mạng

192.168.140.134: là địa chỉ của máy bị tấn công

Hình 3.23 Sau quá trình scan các host trong mạng

41 download by : skknchat@gmail.com

Tiếp đến tiến hành add địa chỉ tấn công và target và lựa chọn hình thức tấn công là ARP spoofing.

Hình 3.24 Quá trình add target và lựa chọn tấn công

Trong trường hợp máy tính đang bị tấn công, việc theo dõi các tham số mạng như địa chỉ IP và địa chỉ MAC trên hệ thống có thể phát hiện sự thay đổi bất thường sau khi các lệnh xâm nhập được thực thi Việc kiểm tra định kỳ các địa chỉ IP và MAC giúp nhận diện dấu hiệu xâm nhập và hành vi bất thường, từ đó cung cấp dữ liệu cho phân tích sự cố và tăng cường bảo mật mạng Nhờ giám sát kịp thời các thay đổi này, đội ngũ an ninh có thể phát hiện sớm tấn công, giảm thiểu rủi ro và nâng cao hiệu quả ứng phó với sự cố.

ipconfig được dùng để tra cứu địa chỉ IP của máy, còn arp -a hiển thị bảng ánh xạ giữa IP và MAC trên mạng Khi xem kết quả arp -a, có thể thấy MAC của một thiết bị trong mạng và MAC của gateway khác nhau ban đầu, nhưng trong một số tình huống liên quan đến ARP spoofing, hai địa chỉ này có thể bị giả mạo để trông như là cùng một, từ đó có thể rò rỉ hoặc theo dõi lưu lượng Vì vậy cần chú ý bảo mật mạng và triển khai các biện pháp như phát hiện ARP spoofing, xác thực gateway và giám sát bảng ARP để ngăn chặn rủi ro.

42 download by : skknchat@gmail.com

Hình 3.25 Thông tin của máy bị hại trướ́c khi bị tấn công

Hình 3.26 Thông tin của máy bị hại sau khi bị tấn công

43 download by : skknchat@gmail.com

Khi máy bị tấn công nhằm đăng nhập vào các website, các công cụ xâm nhập sẽ ghi lại log và thu thập các thông tin nhạy cảm của người dùng như tài khoản và mật khẩu, đồng thời quá trình này khiến phản hồi từ hệ thống chậm lại so với bình thường Điều này làm tăng nguy cơ rò rỉ dữ liệu và ảnh hưởng tiêu cực đến trải nghiệm người dùng, vì vậy cần tăng cường bảo mật, giám sát log và áp dụng các biện pháp an ninh mạng như xác thực hai yếu tố và cập nhật phần mềm định kỳ để giảm thiểu rủi ro.

Hình 3.27 Người dùng truy cập web DVWA

Hình 3.28 Ettercap ghi lại được các thông tin về user, pass của người dùng

Kết luận chương 3

Trong chương này, chúng ta tiến hành một mô phỏng tấn công ARP Spoofing nhằm hiểu cách kẻ xấu giả mạo luồng dữ liệu từ máy chủ đến máy người dùng Thử nghiệm được thực hiện trong môi trường phòng lab và sử dụng các công cụ như SSLstrip và Ettercap để ghi nhận quá trình truyền thông và thu thập log cùng các thông tin nhạy cảm, từ đó rút ra nhận thức về các nguy cơ bảo mật và các biện pháp phòng thủ phù hợp Bài viết tập trung vào phân tích ở mức tổng quan, giúp độc giả nhận diện lỗ hổng tiềm ẩn và cách tăng cường an toàn cho mạng và hệ thống thông tin.

44 download by : skknchat@gmail.com

Ngày đăng: 14/04/2022, 06:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w