2010-06-20 38 views
5

Trong mô hình bảo mật HTTPS, phần yếu nhất là danh sách CA đáng tin cậy trong trình duyệt. Có rất nhiều cách mà ai đó có thể tiêm CA bổ sung vào danh sách mà người dùng sẽ tin tưởng người sai.Làm thế nào để ngăn chặn HTTPS tấn công người trung gian từ phía máy chủ?

Ví dụ: máy tính công cộng hoặc PC trong công ty của bạn. Quản trị viên có thể buộc bạn tin tưởng một CA do chính mình cấp, có thể rất không an toàn với máy chủ proxy HTTPS có rơle HTTPS. Kết quả là, họ sẽ có thể SPY tin nhắn của bạn, đăng nhập và mật khẩu ngay cả trình duyệt cho bạn biết rằng bạn đang ở trên kết nối SSL đáng tin cậy.

Trong trường hợp này, nhà phát triển ứng dụng web có thể làm gì để bảo vệ người dùng và cả hệ thống?

+1

Để cài đặt chứng chỉ CA gốc đáng tin cậy, yêu cầu quyền truy cập vào máy người dùng. Khi bạn có quyền truy cập vào máy, có nhiều cách dễ dàng hơn để lấy cắp dữ liệu hơn cài đặt chứng chỉ để kịch bản này không thực sự hợp lệ về tính hữu dụng của bảo mật SSL. SSL là nhiều hơn để bảo vệ khỏi các cuộc tấn công trung gian, nơi người dùng chỉ đơn giản là đánh hơi lưu lượng truy cập được gửi qua dây mà không cần truy cập trực tiếp vào máy của người dùng. – TheCodeKing

Trả lời

4

Là nhà phát triển ứng dụng web, bạn có thể thực hiện rất ít việc này.

Sự cố này cần phải được giải quyết tiếp tục trong ngăn xếp.

Nếu một ai đó trên toàn thế giới muốn:

a. Đặt CA gốc sai trên máy tính của ai đó

b. Cấp chứng chỉ cho miền của bạn theo đó CA

c. Mạo danh trang web của bạn

d. Chỉ mục địa chỉ DNS cục bộ của một người nào đó cho miền của bạn đến một địa chỉ IP khác nhau

Vì không có bước nào ở trên là ứng dụng của bạn liên quan hoặc được tham vấn nên đây là nơi quản trị mạng và bảo mật tốt là quan trọng.

Bên cạnh đó, có thể có lý do chính đáng để người nào đó thực hiện điều này cục bộ trên mạng cá nhân của họ. Tôi là ai để ngăn chặn họ?

Đây thực chất là những gì bộ lọc proxy của công ty thực hiện và họ đang trong quyền của mình để làm điều đó.

Theo như ngăn chặn người nào đó độc hại thực hiện các bước trên, điều cần phải được thực hiện trên quản trị viên máy khách hàng của bạn.

+0

Một số câu hỏi gần đây http://stackoverflow.com/questions/19993696/is-there-any-way-to-access-ssl-certificate-details-using-javascript chỉ cho tôi cách giải quyết khả thi. Dự án này https://github.com/digitalbazaar/forge có thể giúp JavaScript đọc thông tin SSL, có thể giúp có một số loại cảnh báo nếu tên tổ chức phát hành CA không khớp. –

1

Về mặt lý thuyết, nếu thiết bị đầu cuối của người dùng thuộc sở hữu của đối thủ, bạn đã mất và không có gì bạn có thể làm về nó - nếu push to shove họ có thể lọc ra biện pháp đối phó của bạn hoặc thậm chí cạo và giả mạo toàn bộ trang web.

Trong thực tế, bạn có thể làm mọi thứ để làm cho công việc của đối thủ khó hơn, nhưng đó là cuộc đua vũ trang. Bạn có thể sẽ phải sử dụng tất cả các biện pháp đối phó tương tự mà phần mềm độc hại sử dụng chống lại máy quét - bởi vì từ quan điểm của đối thủ, trang web của bạn đang hoạt động độc hại bằng cách cố ngăn mình bị ghi đè! - và biết rằng bất cứ điều gì bạn làm có thể và sẽ được nhanh chóng phản đối nếu đối thủ của bạn quan tâm đủ.

Bạn có thể, ví dụ: mở ổ cắm hoặc sử dụng XmlHttpRequest từ JavaScript hoặc ứng dụng, nhưng bạn không thể ngăn đối thủ của mình cập nhật bộ lọc để loại bỏ bất kỳ thứ gì bạn thêm.

Bạn có thể nhận được số dặm nhiều hơn bằng cách phát ra đa hình hoặc sử dụng các kỹ thuật chống đảo ngược khác, vì vậy dường như không có hai lần truy cập vào trang web tạo mã/tài nguyên tương tự được gửi tới trình duyệt.Đó là một số lượng công việc quá mức nhưng cho đối thủ của bạn một câu đố để nhai nếu họ muốn chơi đàn ông ở giữa.

Các vấn đề liên quan