Tìm hiu về tấn công Man-in-the-Middle – Chiếm
quyền điểu khiển SSL
Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn về
tấn công giả mạo SSL, bên cnh đó là một số lý thuyết bên dưới các kết nối
SSL và những gì làm cho chúng được an toàn.
Tìm hiu về tấn công Man-in-the-Middle – Gimạo ARP Cache
Tìm hiu về tấn công Man-in-the-Middle – Gimạo DNS
Tìm hiu về tấn công Man-in-the-Middle – Chiếm quyền điểu khiển Session
Cho ti phần này, chúng tôi đã gii thiệu cho các bn về các tấn công giả mạo
ARP cache, giả mạo DNS và chiếm quyền điều khiển session trong loạt bài về các
tấn công “man-in-the-middle” nói chung. Trong phần bốn này, chúng tôi sgiới
thiu cho các bạn về tấn công giả mạo SSL, đây là một trong những tn công
MITM nguy hiểm nhất vì nó cho phép khai thác các dịch vụ mà người dùng tưởng
rằng là an toàn. Chúng tôi sbắt đầu gii thiệu này bằng cách thảo luận về một số
lý thuyết nằmn dưới các kết nối SSL và nhng gì có thể làm cho chúng an toàn,
sau đó sgiới thiệu cách khai thác kiểu kết nối này như thế nào. cũng giống
như các phần trước, phần cuối của bài slà một số biện pháp phát hiện và ngăn
chặn kiểu tấn công này.
SSL và HTTPS
Secure Socket Layers (SSL) hoặc Transport Layer Security (TLS) dưới sự thi hành
hiện đại hơn của nó, là các giao thức được thiết kế để cung cấp bảo mật cho truyền
thông mạng bằng phương pháp mã hóa. Giao thức này dễ được kết hợp với các
giao thức khác nhất để cung cấp một thực thi an toàn cho dịch vụ mà giao thức
cung cấp.c ví dụ dẫn chứng ở đây gồm có SMTPS, IMAPS và HTTPS. Mc
tiêu ti thượng là tạo c kênh an toàn trên các mạng không an toàn.
Trong phần này, chúng i sẽ tập trung giới thiệu vào tn công SSL trên HTTP,
được biết đến như HTTPS, vì nó là trường hợp sử dụng phổ biến nhất của SSL. Có
thể không nhận ra nhưng hầu như chắc chắn bạn đang sử dụng HTTPS hàng ngày.
Các dịch vụ email phổ biến nhất và các ứng dụng ngân hàng trực tuyến đều dựa
vào HTTPS để bảo đảm truyền thông giữa trình duyệt web của bạn và các máy ch
của họ được mã hóa an toàn. Nếu không sử dụng công nghệ này thì bất cứ ai với
một bộ “đánh hơi” gói dữ liệu trên mạng cũng đều có thể phát hiện ra được
username, password và bất cứ thứ gì được ẩn khác.
Quá trình được sử dụng bởi HTTPS để bảo đảm an toàn dữ liệu là xiết chặt các
trung tâm có liên quan đến việc phân phối các chứng chỉ giữa máy chủ, máy khách
và hãng thứ ba được tin cậy. Lấy một ví dụ về trường hợp có một người dùng đang
cố gắng kết ni đến một tài khon email của Gmail. Quá trình này s gồm có một
vài bước dễ nhận thấy, các bước này đã được đơn giản hóa trong hình 1 bên dưới.
Hình 1: Quá trình truyn thông HTTPS
Quá trình được phác thảo trong hình 1 không phải là một quá trình chi tiết, tuy
nhiên về cơ bản nó sẽ làm việc như sau:
1. Trình duyệt máy khách kết nối đến http://mail.google.com tn cng 80 bằng
cách sdụng HTTP.
2. Máy chủ redirect phiên bn HTTPS máy khách của site này bng cách sử
dụng HTTP code 302.
3. Máy khách kết nối đến https://mail.google.com trên cổng 443.
4. Máy chủ sẽ cung cấp mt chứng chỉ cho máy khách gồm có chữ ký số của
nó. Chứng chỉ này được sử dụng để thẩm định sự nhận dạng của site.
5. Máy khách sử dụng chứng chỉ này và thm định chứng chỉ này vi danh
sách các nhà thm định chứng chỉ tin cậy của nó.
6. Truyn thông mã hóa sxả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 của nó. Tại đim y, người dùng s
thấy xuất hiện một lỗi thẩm định chứng chỉ và hvẫn có thể tiếp tục với những rủi
ro có thể, vì rất thể sẽ không có sự truyền thông thực sự với website mà hnghĩ
họ cần truy cập đến.
Phá hủy HTTPS
Quá trình y được xem là an toàn cao cách đây một vài năm khi có một tấn công
đã công bố rằng nó có thể chiếm quyền điều khiển thành công quá trình truyền
thông. Quá trình này không liên quan đến bản thân việc phá hủy (defeating) SSL,
mà đúng hơn là phá hủy “cầu nối” giữa truyền thông kng mã hóa và hóa.
Moxie Marlinspike, một chuyên gia nghiên cứu bảo mật hàng đầu đã cho rằng
trong hầu hết các trường hợp, SSL chưa bao giờ bị trực tiếp tấn công. Hầu hết thời
gian một kết nối SSL được khởi tạo thông qua HTTPS nên nguyên nhân có thể là
do ai đó đã redirect một HTTPS thông qua một mã đáp trả HTTP 302 hoặc họ kích
vào liên kết direct họ đến một site HTTPS, chẳng hạn như nút đăng nhập. Ý tưởng
ở đây là rng nếu bạn tấn công một phiên giao dịch từ một kết ni không an toàn
đến một kết nối an toàn, trong trường hợp này là tHTTP vào HTTPS, bn sẽ tấn
công cu nối và có thể “man-in-the-middle” kết nối SSL trước khi nó xuất hiện. Để
thực hiện hiệu quả điều này, Moxie đã tạo một công cụ SSLstrip, chúng ta ssử
dụng công cnày dưới đây.
Quá trình thực hiện khá đơn giản và gi nhớ lại các tấn công mà chúng ta đã
nghiên cứu trong các phần trước của loạt bài. Nó được phác thảo như trong hình 2
bên dưới.
Hình 2: Chiếm quyền điều khiển truyền thông HTTPS
Quá trình được phác thảo trong hình 2 làm việc như sau:
1. Lưu lượng giữa máy khách và máy chủ đầu tiên s bị chặn
2. Khi bắt gặp một HTTPS URL, sslstrip sẽ thay thế nó bằng một liên kết
HTTP và sẽ ánh xạ những thay đổi của nó.
3. Máy tn công sẽ cung cấp các chứng chỉ cho máy chủ web và gimạo máy
khách.