Vân tay TLS đọc hình dạng của TLS ClientHello. Máy chủ nhìn thấy thông báo này trước yêu cầu HTTP đầu tiên, do đó, nó có thể kiểm tra ngăn xếp kết nối mà không cần chờ JavaScript của trang.
JA3 và JA4 biến các trường ClientHello đã chọn thành các giá trị dễ so sánh hơn. Bộ mật mã, tiện ích mở rộng TLS, nhóm được hỗ trợ và chi tiết giao thức có thể giúp phân biệt trình duyệt với ứng dụng di động, mẫu phần mềm độc hại hoặc thư viện HTTP cơ bản.
Phần hữu ích là tính nhất quán. Khách hàng có thể tự nhận là Chrome trong tác nhân người dùng của mình. Bắt tay TLS của nó vẫn phải phù hợp với trình duyệt và phiên bản đằng sau yêu cầu đó. Nếu hai lớp không đồng ý thì yêu cầu đó cần được kiểm tra kỹ hơn.
Sự không phù hợp đó chỉ là một tín hiệu. Dấu vân tay TLS mô tả một nhóm khách hàng chứ không phải một người. Các hệ thống quản lý rủi ro tốt sẽ so sánh nó với lịch sử IP, hành vi HTTP và dấu vân tay trình duyệt rộng hơn.
Vân tay TLS là gì?
TLS bảo vệ dữ liệu được gửi giữa máy khách và máy chủ. Trước khi mã hóa sẵn sàng, cả hai bên phải thống nhất về cài đặt kết nối. Khách hàng bắt đầu cuộc đàm phán đó với ClientHello.
Phần mềm khác nhau xây dựng thông báo này theo những cách dễ nhận biết. Chrome sử dụng BoringSSL. Firefox sử dụng NSS. Nhiều tập lệnh tiếp cận OpenSSL thông qua thư viện khác. Các tùy chọn được hỗ trợ và mẫu tiện ích mở rộng của chúng hiếm khi xếp hàng một cách tình cờ.
CDN, tường lửa ứng dụng web hoặc máy chủ gốc có thể ghi lại các trường đã chọn và kết nối nhóm với kết quả tương tự. Nó không cần phải giải mã trang hoặc xác định người dùng. Bằng chứng đã tồn tại trong thiết lập kết nối.
Vân tay TLS hoạt động như thế nào?
Một cuộc kiểm tra điển hình tuân theo năm bước.
- Máy khách mở kết nối HTTPS.
- Nó gửi ClientHello với các tùy chọn kết nối được hỗ trợ.
- Máy chủ hoặc CDN đọc các trường đã chọn từ thông báo đó.
- Phương pháp lấy dấu vân tay sẽ chuẩn hóa và tóm tắt các trường đó.
- Hệ thống bảo mật sẽ so sánh kết quả với các mẫu đã biết và các tín hiệu yêu cầu khác.
Việc thay đổi tác nhân người dùng HTTP không xây dựng lại ngăn xếp TLS cơ bản. Do đó, một yêu cầu có thể yêu cầu một họ trình duyệt trong khi kết nối như một ứng dụng khác.
Đó là lý do để kiểm tra yêu cầu chứ không phải lý do để chặn nó ngay lập tức. Các cổng công ty, phần mềm bảo mật, các bản dựng trình duyệt bất thường và các trung gian TLS đều có thể thay đổi những gì máy chủ quan sát được.
Thông tin nào được sử dụng trong dấu vân tay TLS?
Các định dạng vân tay chọn các trường và quy tắc chuẩn hóa khác nhau. Hầu hết đều rút ra từ các phần giống nhau của ClientHello.
| Tín hiệu | Những gì nó mô tả | Giới hạn quan trọng |
|---|---|---|
| Phiên bản TLS | Các phiên bản giao thức được cung cấp bởi khách hàng | Phiên bản tương tự được chia sẻ bởi nhiều khách hàng |
| Bộ mật mã | Tùy chọn mật mã mà khách hàng hỗ trợ | Một danh sách mô tả khả năng, không phải một người |
| Tiện ích mở rộng TLS | Các tính năng bổ sung có trong ClientHello | Các trình duyệt hiện đại có thể thay đổi thứ tự tiện ích mở rộng |
| Các nhóm được hỗ trợ | Đường cong elip và nhóm trao đổi khóa | Kết quả có thể thay đổi khi cập nhật thư viện |
| Thuật toán chữ ký | Phương pháp chữ ký được khách hàng chấp nhận | Một số ứng dụng có thể sử dụng cùng một danh sách |
| ALPN | Các giao thức ứng dụng như HTTP/2 | Nó không mô tả hành vi HTTP đầy đủ |
| sự hiện diện của SNI | Có bao gồm tên máy chủ hay không | Một dấu vân tay nhỏ gọn có thể không bao gồm tên của chính nó |
| Thứ tự và số lượng trường | Cách khách hàng cấu trúc tin nhắn | Một số định dạng sắp xếp các trường và loại bỏ thứ tự |
Giá trị GREASE cũng cần được xử lý đặc biệt. Trình duyệt thêm các giá trị dành riêng để kiểm tra xem máy chủ có thể chịu đựng được những thay đổi giao thức trong tương lai hay không. Cả JA3 và JA4 đều bỏ qua các giá trị này trong quá trình tính toán dấu vân tay thông thường.
Các trường này mô tả các lựa chọn triển khai. Hai máy tính chạy cùng một bản dựng trình duyệt có thể tạo ra kết quả chuẩn hóa như nhau.
Dấu vân tay JA3 là gì?
JA3 là phương pháp được các nhà nghiên cứu của Salesforce giới thiệu vào năm 2017. Phải mất năm nhóm được sắp xếp từ ClientHello.
- Phiên bản TLS hoặc SSL
- Bộ mật mã được chấp nhận
- Tiện ích mở rộng TLS
- Đường cong elip được hỗ trợ
- Định dạng điểm đường cong elip
JA3 nối các giá trị thập phân từ các nhóm đó thành một chuỗi. Sau đó, nó tạo ra hàm băm MD5 gồm 32 ký tự. Hàm băm là một khóa tra cứu nhỏ gọn. MD5 không được sử dụng ở đây để bảo vệ mật khẩu hoặc chứng minh tính toàn vẹn của dữ liệu.
dự án JA3 gốc hiện đã được lưu trữ. JA3 vẫn quan trọng vì các công cụ mạng và thông tin về mối đe dọa trong nhiều năm phụ thuộc vào giá trị của nó.
Điểm yếu của nó là thứ tự mở rộng. JA3 duy trì nó, trong khi Chrome bắt đầu thay đổi thứ tự đó trên các kết nối vào năm 2023. Sau đó, một trình duyệt có thể tạo ra nhiều hàm băm JA3 mà không thay đổi các chức năng chính của nó. Nhanh chóng ghi lại hiệu ứng trên mạng của mình.
Dấu vân tay JA4 là gì?
JA4 là định dạng vân tay máy khách TLS mới hơn của FoxIO. Nó làm giảm tiếng ồn được tạo ra bằng cách thay đổi mật mã và thứ tự mở rộng.
Giá trị JA4 có ba phần.
| Phần | Nội dung chính |
|---|---|
a | Truyền tải, phiên bản TLS, sự hiện diện SNI, số lượng mật mã, số lượng tiện ích mở rộng và ALPN |
b | Một hàm băm ngắn gồm các mã mật mã được sắp xếp |
c | Một hàm băm ngắn gồm các mã mở rộng được sắp xếp và thuật toán chữ ký |
Việc sắp xếp giúp JA4 ổn định khi sự khác biệt duy nhất là thứ tự mật mã hoặc phần mở rộng. Nó cũng loại bỏ mệnh lệnh đó làm bằng chứng. Nhóm bảo mật cần trình tự ban đầu nên giữ gói hoặc dữ liệu bắt tay thô.
JA4 thuộc về dự án lấy dấu vân tay mạng JA4 rộng hơn. JA4 bao gồm khách hàng xin chào. JA4S bao gồm phản hồi của máy chủ. JA4H bao gồm hành vi của máy khách HTTP. Chúng là những dấu vân tay riêng biệt trong cùng một gia đình.
Đối với quy trình thu thập mới, JA4 thường là điểm khởi đầu rõ ràng hơn. JA3 vẫn giành được vị trí của mình khi các trận đấu lịch sử và dữ liệu về mối đe dọa hiện có trở nên quan trọng. Nhiều đội giữ cả hai trong quá trình chuyển đổi.
JA3 vs JA4
| Khu vực | JA3 | JA4 |
|---|---|---|
| đầu vào | Khách hàng TLSXin chào | Xin chào khách hàng TLS, QUIC hoặc DTLS |
| đầu ra | Một hàm băm MD5 | Ba phần có cấu trúc |
| Thứ tự mật mã | Bảo quản | Đã sắp xếp |
| Thứ tự gia hạn | Bảo quản | Đã sắp xếp |
| giá trị MỠ | Đã bỏ qua | Đã bỏ qua |
| ALPN | Sự hiện diện của tiện ích mở rộng góp phần | Hiển thị đại diện ALPN ngắn |
| Phù hợp nhất | Kết hợp lịch sử và dữ liệu mối đe dọa hiện có | Phân nhóm hiện đại và so sánh từng phần |
Sự trùng khớp có nghĩa là các trường bắt tay đã chọn tạo ra cùng một cách trình bày. Hãy coi nó như một sự phân loại khách hàng, không phải một sự trùng khớp về danh tính.
Vân tay TLS so với HTTP và Dấu vân tay trình duyệt
Hệ thống phát hiện thực sự không dựa vào một dấu vân tay. Họ so sánh tín hiệu từ nhiều lớp và mỗi lớp trả lời một câu hỏi khác nhau.
tín hiệu TLS
Tín hiệu TLS mô tả cách máy khách bắt đầu kết nối được mã hóa. JA3 và JA4 thuộc về đây. Máy chủ có thể kiểm tra chúng trước khi mã trang chạy.
tín hiệu HTTP
Tín hiệu HTTP bao gồm tên tiêu đề, thứ tự tiêu đề, lựa chọn giao thức và cấu trúc yêu cầu. HTTP/2 thêm khung CÀI ĐẶT, kích thước cửa sổ và thứ tự tiêu đề giả. Những chi tiết này có thể hỗ trợ việc tìm kiếm TLS nhưng chúng đến từ một giai đoạn khác của yêu cầu.
Tín hiệu trình duyệt
Tín hiệu trình duyệt đến từ tiêu đề và API trình duyệt. Phông chữ, chi tiết màn hình, đầu ra Canvas, Dấu vân tay WebGL và Dấu vân tay âm thanh có thể tiết lộ liệu môi trường trang có phù hợp với ngăn xếp mạng hay không. Hầu hết các hoạt động kiểm tra này đều cần mã trang để chạy.
Tín hiệu hành vi
Tín hiệu hành vi mô tả những gì khách hàng làm theo thời gian. Tỷ lệ yêu cầu, thứ tự điều hướng, lịch sử phiên, thao tác nhập bằng chuột và các hành động lặp lại là trọng tâm của Phát hiện bot. Một cái bắt tay đúng cách không thể biến hành vi đáng ngờ thành hợp pháp.
Quyết định hữu ích đến từ sự thỏa thuận giữa các lớp. Tác nhân người dùng Chrome, bắt tay TLS kiểu Chrome, cài đặt HTTP/2 dự kiến và API trình duyệt đang hoạt động kể một câu chuyện nhất quán. Ý định của con người vẫn phải được đánh giá từ phiên và hành vi của nó.
Dấu vân tay TLS có thể tiết lộ điều gì?
Dấu vân tay TLS rất hữu ích để ước tính:
- Liệu ứng dụng khách có giống với trình duyệt, ứng dụng, bot hay thư viện HTTP chung hay không
- Nhóm ứng dụng hoặc triển khai TLS nào có thể đã tạo kết nối
- Liệu cái bắt tay có phù hợp với tác nhân người dùng được báo cáo hay không
- Liệu một mẫu kết nối đã xuất hiện trước đó hay chưa
- Liệu lưu lượng truy cập có thuộc về một nhóm đã biết trong cơ sở dữ liệu về mối đe dọa hay không
Đó là cơ sở không tốt để khẳng định:
- Tên hoặc danh tính của người dùng
- Quyền sở hữu tài khoản
- Một thiết bị vật lý độc đáo
- Hệ điều hành chính xác trong mọi trường hợp
- Liệu yêu cầu đó có gây hại hay không
- Liệu hai yêu cầu trùng khớp có chung một toán tử hay không
Cloudflare sử dụng JA3 và JA4 bên trong Bot Management như một phần của bộ tín hiệu lớn hơn. Tài liệu JA3 và JA4 cũng lưu ý rằng dấu vân tay có thể bị thiếu trong yêu cầu không được mã hóa hoặc khi việc tiếp tục phiên sẽ tránh một lần bắt tay mới. Theo mặc định, dữ liệu bị thiếu không được coi là đáng ngờ.
Vân tay TLS được sử dụng ở đâu?
Dấu vân tay TLS có giá trị trong công việc bảo mật lặp lại.
- Việc tìm kiếm mối đe dọa có thể nhóm các kết nối được mã hóa từ các nhóm phần mềm độc hại đã biết.
- Quản lý bot có thể so sánh các xác nhận quyền sở hữu của trình duyệt với ngăn xếp kết nối.
- Hệ thống gian lận có thể thêm kết quả vào mô hình rủi ro tài khoản hoặc giao dịch.
- Các nhóm API có thể tách các ứng dụng khách mong đợi khỏi các thư viện bất thường.
- Tường lửa ứng dụng web có thể giám sát hoặc giới hạn tốc độ các nhóm dấu vân tay đã biết.
- Các nhóm vận hành có thể tìm thấy các cách triển khai TLS cũ hoặc không mong muốn.
Mối quan tâm về quyền riêng tư cũng thực tế như vậy. Dữ liệu TLS không phụ thuộc vào cookie hoặc bộ nhớ cục bộ. Khi được kết hợp với dấu vân tay của trình duyệt rộng hơn, nó có thể hỗ trợ nhận dạng qua các lượt truy cập.
VPN hoặc Proxy có thay đổi dấu vân tay TLS không?
VPN thường thay đổi tuyến đường và IP công cộng. Nó không xây dựng lại trình duyệt ClientHello. Đích vẫn nhìn thấy cái bắt tay do trình duyệt tạo ra.
Đường hầm HTTP CONNECT hoặc SOCKS tiêu chuẩn thường hoạt động theo cùng một cách. Nó mang kết nối mà không chấm dứt TLS, vì vậy máy khách vẫn đàm phán trực tiếp với mục tiêu.
Kết quả thay đổi khi một bên trung gian chấm dứt TLS và tạo kết nối ngược dòng mới. Trong trường hợp đó, đích sẽ thấy ClientHello do bên trung gian tạo ra. Cổng kiểm tra doanh nghiệp và một số dịch vụ mạng được quản lý có thể hoạt động theo cách này.
Đây là lý do tại sao proxy, VPN và Trình duyệt antidetect lại ảnh hưởng đến các phần khác nhau của môi trường. Đích sẽ nhìn thấy dấu vân tay của bất kỳ phần mềm nào thiết lập phiên TLS mà nó nhận được.
Chế độ ẩn danh cũng có tác dụng hạn chế. Nó thay đổi lịch sử duyệt web và lưu trữ cục bộ. Nó thường không thay thế việc triển khai TLS của trình duyệt.
Cách đọc bài kiểm tra dấu vân tay TLS
Một trang thử nghiệm báo cáo những gì máy chủ của nó quan sát được. Nó là một công cụ so sánh, không phải là chứng chỉ đậu.
Sử dụng so sánh có kiểm soát.
- Chạy cùng một bài kiểm tra hai lần trong cùng một hồ sơ trình duyệt.
- Ghi lại phiên bản trình duyệt, giao thức, giá trị JA3 và JA4.
- Khởi động lại hồ sơ và lặp lại bài kiểm tra.
- Kiểm tra lại sau khi cập nhật trình duyệt hoặc hệ điều hành.
- Lưu ý xem VPN, proxy hoặc cổng kiểm tra có thay đổi đường dẫn kết nối hay không.
Kết quả chỉ trở nên hữu ích khi biết được các điều kiện thử nghiệm.
| Kết quả | Ý nghĩa có thể xảy ra | Điều đó không chứng minh được |
|---|---|---|
| JA4 giống nhau trên các hồ sơ | Các trường TLS được chuẩn hóa khớp | Các cấu hình là cùng một thiết bị |
| JA3 mới trên mỗi kết nối | Thứ tự gia hạn có thể thay đổi | Khách hàng đã thay đổi hoàn toàn |
| JA3 hoặc JA4 bị thiếu | Không có cách bắt tay TLS mới phù hợp nào | Trang web không thể đánh giá yêu cầu |
| Tác nhân người dùng và họ TLS khác nhau | Kết nối cần thêm ngữ cảnh | Yêu cầu này là độc hại |
Các địa điểm thử nghiệm khác nhau có thể tính toán hoặc hiển thị giá trị theo những cách khác nhau. Bắt đầu với kết quả lặp lại từ một dịch vụ trước khi so sánh giá trị băm từ nơi khác.
Vân tay TLS và Hồ sơ trình duyệt
Cấu hình trình duyệt giữ môi trường trình duyệt, cookie, cài đặt proxy và cấu hình liên quan cùng nhau. Người dùng MoreLogin có thể chọn nhân trình duyệt và quản lý các tín hiệu được hiển thị thông qua API trình duyệt trong cài đặt cấu hình. Chúng bao gồm Canvas, WebGL, AudioContext, WebRTC, ngôn ngữ, múi giờ và thiết bị truyền thông.
TLS nằm bên dưới các cài đặt API trình duyệt đó. Thay đổi đầu ra Canvas không thay đổi JA3. Việc chỉnh sửa văn bản tác nhân người dùng không xây dựng lại ClientHello.
MoreLogin không liệt kê công khai điều khiển JA3 hoặc JA4 riêng biệt trong cài đặt cấu hình hiện tại của nó. Do đó, việc tuyên bố rằng mọi hồ sơ đều nhận được hàm băm TLS duy nhất sẽ vượt xa thông tin sản phẩm có sẵn. Phiên bản trình duyệt, thời gian chạy, giao thức, thiết kế proxy và đường dẫn kết nối đều ảnh hưởng đến những gì máy chủ quan sát.
Đối với công việc nhóm được ủy quyền, trình duyệt nhiều tài khoản sẽ tách biệt các cookie, nhiệm vụ proxy và môi trường trình duyệt. Điều này làm giảm sự chồng chéo ngẫu nhiên giữa các cấu hình. Nó không thể kiểm soát cách mọi hệ thống bảo mật của bên thứ ba phân loại lưu lượng truy cập.
Giới hạn tương tự áp dụng cho Tự động hóa trình duyệt. Luồng công việc chạy trong trình duyệt thực sử dụng ngăn xếp mạng khác với thư viện tập lệnh cơ bản. Nó vẫn cần sự cho phép, tỷ lệ yêu cầu hợp lý và khả năng xử lý lỗi đáng tin cậy.
Câu hỏi thường gặp về Vân tay TLS
Dấu vân tay TLS có phải là duy nhất cho một thiết bị không?
KHÔNG. Nó thường mô tả một ứng dụng khách hoặc nhóm triển khai TLS. Nhiều thiết bị chạy cùng một bản dựng trình duyệt có thể chia sẻ một kết quả. Bản cập nhật cũng có thể thay đổi dấu vân tay trên cùng một thiết bị.
Một trang web có thể nhìn thấy dấu vân tay TLS của tôi không?
Đúng. Máy chủ hoặc CDN nhận kết nối có thể kiểm tra ClientHello. Trang thử nghiệm có thể hiển thị giá trị được máy chủ đó trả về.
Việc thay đổi tác nhân người dùng có thay đổi JA3 hay JA4 không?
Không phải tự nó. Tác nhân người dùng là một giá trị HTTP, trong khi JA3 và JA4 đến từ quá trình bắt tay TLS. Chỉnh sửa một tiêu đề không xây dựng lại ngăn xếp mạng.
Tại sao hai trình duyệt có thể có cùng JA4?
JA4 sắp xếp các danh sách được chọn và các nhóm bắt tay tương tự. Các trình duyệt có cùng công cụ và khả năng TLS có thể chia sẻ kết quả. Điều đó không có nghĩa là các trình duyệt được liên kết.
Việc xóa cookie có thay đổi dấu vân tay TLS không?
KHÔNG. Cookie là dữ liệu phiên được lưu trữ, trong khi dấu vân tay TLS đến từ quá trình thiết lập kết nối. Một trang web có thể sử dụng cả hai, nhưng việc xóa một trang sẽ không đặt lại trang kia.
Xin chào ứng dụng khách được mã hóa có dừng Vân tay TLS không?
Máy khách được mã hóa Xin chào bảo vệ các phần nhạy cảm của quá trình bắt tay, bao gồm cả tên máy chủ được yêu cầu. Mạng vẫn có thể thấy ClientHello bên ngoài và đích vẫn xử lý toàn bộ kết nối. ECH cải thiện quyền riêng tư mà không loại bỏ mọi tín hiệu TLS.
Chìa khóa mang đi
Vân tay TLS cho biết cách khách hàng bắt đầu kết nối được mã hóa. JA3 vẫn có giá trị đối với việc so khớp lịch sử. JA4 thường dễ làm việc hơn khi các trình duyệt hiện đại thay đổi thứ tự danh sách.
Dấu vân tay trở nên có ý nghĩa khi nó phù hợp với các tín hiệu HTTP, trình duyệt, mạng, phiên và hành vi. Một hàm băm có thể hướng dẫn một quyết định rủi ro. Nó không nên đưa ra quyết định đó một mình.

VN
