Cách TLS Fingerprinting Hoạt Động? ClientHello và JA4

Cách TLS Fingerprinting Hoạt Động?

Scrapeless Agent Browser cung cấp một môi trường trình duyệt đám mây cho tự động hóa web liên quan đến hành vi lớp trình duyệt và mạng.

TLS fingerprinting tóm tắt các đặc điểm quan sát được của một cuộc bắt tay TLS để các kết nối với các thực hiện hoặc cấu hình tương tự có thể được nhóm lại. Khách hàng đề xuất các tùy chọn giao thức trước khi dữ liệu ứng dụng HTTPS thông thường được trao đổi. Các lựa chọn và cấu trúc của đề xuất đó có thể tiết lộ những mẫu liên quan đến một ngăn xếp phần mềm.

Một dấu vân tay TLS không phải là danh tính của một người, một trang đã giải mã, hay bằng chứng về hành vi độc hại. Nhiều khách hàng không liên quan có thể chia sẻ một dấu vân tay, và một khách hàng có thể tạo ra những quan sát khác nhau sau một cập nhật hoặc thay đổi cấu hình. Hãy coi dấu vân tay như bằng chứng về một kết nối, với một phương pháp thu thập xác định và những giới hạn đã biết.

Những gì ClientHello Chứa

ClientHello bắt đầu phía khách hàng của cuộc thương thảo TLS và cung cấp các tham số mà máy chủ có thể sử dụng để thiết lập kết nối. Những tham số này bao gồm các tùy chọn và mở rộng mật mã được hỗ trợ. Thông số kỹ thuật giao thức TLS định nghĩa cấu trúc bắt tay; các phương pháp fingerprinting chọn và biến đổi các phần của cấu trúc đó để so sánh.

Phương pháp fingerprinting rất quan trọng vì thông điệp thô chứa nhiều hơn một chữ ký gọn có thể bảo tồn. Một số trường thay đổi vì lý do chính đáng, trong khi những trường khác phản ánh sự lựa chọn trong thực hiện. Một phương pháp phải quyết định cái gì nên bao gồm, cái gì nên chuẩn hóa, và những khác biệt về thứ tự nào nên ảnh hưởng đến đầu ra.

Một quan sát viên nên ghi lại sơ đồ thực tế được sử dụng. “Dấu vân tay TLS” là một loại, không phải là một giá trị thay thế chung. So sánh các chuỗi từ các công cụ khác nhau mà không kiểm tra thuật toán của chúng có thể tạo ra một sự khác biệt rõ ràng mà thực sự là sự không phù hợp trong đo lường.

Từ Các Trường Bắt Tay đến Một Dấu Vân Tay

Một quy trình fingerprinting đầu tiên quan sát một cuộc bắt tay, trích xuất các trường đã chọn, chuẩn hóa chúng theo quy tắc của nó, và tạo ra một đại diện gọn gàng. Đại diện đó có thể bao gồm các thành phần có thể đọc được, băm, hoặc cả hai. Một băm là một tóm tắt của đầu vào đã chọn, không phải là bằng chứng bổ sung đã vắng mặt trong cuộc bắt tay.

Phương pháp gốc JA3 kết hợp các giá trị ClientHello đã chọn thành một chuỗi chuẩn và băm chuỗi đó. Định danh kết quả hữu ích cho việc nhóm các kết nối với các đặc điểm đã chọn phù hợp. Nó không mô tả mọi thuộc tính của kết nối hay mọi khả năng của ứng dụng.

Giữ lại các trường đã trích xuất ở nơi chính sách lưu giữ của bạn cho phép. Nếu chỉ giữ lại dấu vân tay cuối, có thể khó giải thích lý do tại sao hai kết nối lại khác nhau. Bằng chứng ở mức trường cho phép bạn phân biệt một danh sách mở rộng thay đổi khỏi một thay đổi trong việc thực hiện của bộ thu.

Tại Sao JA4 Thay Đổi So Sánh

JA4 là một phần của một gia đình các phương pháp fingerprinting mạng mà sử dụng một đại diện khác với JA3. Việc triển khai và thông số kỹ thuật JA4 mô tả các trường và quy tắc chuẩn hóa. Một lựa chọn thiết kế liên quan là sắp xếp các danh sách đã chọn, điều này giảm độ nhạy với các thay đổi thứ tự nhất định.

Điều đó không làm JA4 trở thành một danh tính phần mềm không thể sai lầm. Một dấu vân tay đã chuẩn hóa cố ý nhóm các quan sát mà khác nhau theo những cách mà sơ đồ chọn để bỏ qua. Lợi ích là một nhóm hữu ích hơn cho một số nhiệm vụ phân tích; chi phí là những khác biệt đã bị bỏ qua không còn phân biệt được các khách hàng.

Sử dụng sơ đồ phù hợp với câu hỏi. Nếu cuộc điều tra liên quan đến các gia đình khách hàng rộng lớn, nhóm chuẩn hóa có thể giúp ích. Nếu nó liên quan đến một sự khác biệt bắt tay chính xác sau khi thay đổi phần mềm, hãy kiểm tra các trường thô nữa. Một giá trị gọn và một so sánh ở mức gói trả lời các câu hỏi khác nhau.

GREASE và Biến Thể Hợp Lệ

Các thực hiện TLS cần không gian để phát triển mà không phải máy chủ giả định rằng mọi giá trị quan sát được thuộc về một danh sách cố định đã biết. Các giá trị GREASE thực hiện khả năng mở rộng giao thức bằng cách giới thiệu các giá trị dự trữ vào các trường thương thảo được hỗ trợ. Một thực hiện fingerprinting phải xử lý những giá trị đó theo sơ đồ của nó.

Đừng diễn giải mỗi trường bắt tay thay đổi như bằng chứng về sự che giấu cố ý. Các bản cập nhật phần mềm, cấu hình, thương thảo giao thức, và tái sử dụng kết nối đều có thể thay đổi những gì một bộ thu quan sát. Một số sơ đồ chuẩn hóa biến thể cụ thể, trong khi những sơ đồ khác bảo tồn nó.

Để so sánh có kiểm soát, ghi lại bản dựng của khách hàng, đường dẫn giao thức, và điểm ghi lại. Thiết lập rằng hai yêu cầu tạo ra các cuộc bắt tay mới nếu đó là những gì bạn định so sánh. Việc tái sử dụng một kết nối đã thiết lập có thể tạo ra thêm các yêu cầu HTTP mà không cung cấp một ClientHello mới cho mỗi yêu cầu.

Dấu Vân Tay TLS, HTTP và Trình Duyệt Là Khác Nhau

TLS fingerprinting liên quan đến cuộc bắt tay kết nối. HTTP fingerprinting có thể liên quan đến tiêu đề yêu cầu hoặc hành vi giao thức. Browser fingerprinting có thể liên quan đến các thuộc tính được công khai bởi các API của trình duyệt và quá trình kết xuất. Những lớp này có thể được phân tích cùng nhau, nhưng một phép đo không thay thế cho những phép đo khác.

Thay đổi giá trị user-agent HTTP không làm thay đổi trực tiếp thư viện TLS đã thiết lập kết nối. Việc chạy JavaScript trên trang cũng không thay đổi hồi tố một cuộc bắt tay đã hoàn thành. Điều này giải thích tại sao chỉ một tiêu đề giống như trình duyệt không thể chứng minh rằng một khách hàng trình bày hành vi mạng giống như một trình duyệt.

Hạn chế ngược lại cũng quan trọng. Một khách hàng mạng tạo ra một cú bắt tay quen thuộc vẫn có thể thiếu động cơ JavaScript của trình duyệt và trạng thái trang. Nếu tài liệu mục tiêu được hiển thị sau khi thực thi kịch bản, việc khớp các đặc điểm mạng không tạo ra nội dung bị thiếu.

Nơi Thực Hiện Quan Sát Quan Trọng

Một dấu vân tay TLS mô tả kết nối được thấy tại điểm thu thập. Nếu một proxy chấm dứt TLS và bắt đầu một kết nối TLS thượng lưu riêng biệt, mục tiêu sẽ quan sát cú bắt tay ra đi của proxy. Nếu lưu lượng được gửi qua một đường hầm mà không chấm dứt TLS, cú bắt tay của khách hàng gốc có thể vẫn còn hiển thị với đích đến.

Sự phân biệt này rất quan trọng khi chẩn đoán cổng doanh nghiệp và dịch vụ thu thập được quản lý. Một phép đo thực hiện trên kết nối cục bộ của ứng dụng đến một dịch vụ có thể chỉ mô tả kết nối dịch vụ đó. Nó không tự động tiết lộ kết nối riêng biệt của dịch vụ đến trang web mục tiêu.

Một sơ đồ hữu ích nên xác định mọi điểm chấm dứt TLS. Ghi nhãn client nào khởi động mỗi kết nối và nơi thu thập dấu vân tay. Nếu thiếu thông tin đó, các tuyên bố như “trình duyệt có dấu vân tay này” có thể ám chỉ đến các con đường mạng khác nhau và tạo ra các báo cáo mâu thuẫn.

Một Dấu Vân Tay Có Thể Hỗ Trợ Gì

Một dấu vân tay có thể giúp nhóm lưu lượng, điều tra các thay đổi, hoặc đóng góp vào phân loại rộng hơn. Nó có thể hữu ích khi cùng một hành vi phần mềm xuất hiện trên nhiều địa chỉ. Nó cũng có thể giúp một điều hành viên nhận ra rằng một bản phát hành đã thay đổi ngăn xếp mạng mà một client được ủy quyền trình bày.

Một dấu vân tay riêng lẻ không thể xác lập ý định. Cùng một thư viện có thể được sử dụng bởi một dịch vụ giám sát, một quy trình dữ liệu và một chương trình lạm dụng. Chặn toàn bộ nhóm có thể ảnh hưởng đến các client hợp pháp. Kết hợp quan sát với hành động được yêu cầu, ủy quyền, và bối cảnh lưu lượng liên quan.

Tránh tuyên bố về tính độc nhất toàn cầu. Đặc trưng thực tiễn của một chữ ký phụ thuộc vào quần thể đang được đo lường và các trường được giữ lại. Một giá trị hiếm trong một tập dữ liệu có thể là phổ biến trong một tập khác. Do đó, nhãn cơ sở dữ liệu dấu vân tay nên được coi là một giả thuyết cần kiểm tra chứ không phải là một bản ghi danh tính không thể nghi ngờ.

Kế Hoạch Xác Minh Có Trách Nhiệm

Xác minh hành vi TLS bằng cách sử dụng một máy chủ hoặc môi trường thu thập mà bạn kiểm soát và được ủy quyền để kiểm tra. Gửi một yêu cầu có giới hạn, thu thập cú bắt tay thực tế, và ghi lại phương pháp thu thập và dấu vân tay. So sánh các trường đã trích xuất với sự chuyển đổi tài liệu của phương pháp.

Một trang chỉ đọc các thuộc tính JavaScript của trình duyệt không thể trực tiếp chứng minh cú bắt tay TLS mà máy chủ quan sát. Một chẩn đoán đáng tin cậy cần một quan sát từ phía máy chủ hoặc một thu thập mạng phù hợp, sau đó là một cách để liên kết quan sát đó với yêu cầu trình duyệt đang được xem xét.

Khi so sánh các client, thay đổi một biến tại một thời điểm. Giữ cho đích đến và đường đi proxy cố định, ghi lại các phiên bản phần mềm, và phân biệt một kết quả quan sát được với một tuyên bố chung về tất cả các phiên bản của công cụ. Một mẫu đơn lẻ thiết lập mẫu, không phải là một thuộc tính vĩnh viễn của một toàn bộ gia đình sản phẩm.

Dấu Vân Tay TLS Trong Thu Thập Dựa Trên Trình Duyệt

Trình Duyệt Đại Lý cung cấp môi trường trình duyệt cho các quy trình web được phép. Vai trò của nó nên được đánh giá thông qua đầu ra của nhiệm vụ và, khi hành vi mạng là câu hỏi, thông qua phép đo tại đích liên quan. Tính năng sản phẩm không loại bỏ nhu cầu xác minh thuộc tính cụ thể mà bạn đang báo cáo.

Bản Thảo cuộc thảo luận tùy chỉnh dấu vân tay trình duyệt mô tả một phần khác của môi trường trình duyệt. Giữ cho những bề mặt JavaScript và kết xuất đó tách biệt với TLS khi tạo một bài kiểm tra chấp nhận. Một quan sát canvas là bằng chứng hữu ích về hành vi canvas, không phải về ClientHello.

Xem Xét giá cả hiện tại cho hạ tầng bạn dự định sử dụng, và đo lường nội dung được chấp nhận tách biệt với thành công kết nối. Một kết nối TLS hoàn tất vẫn có thể dẫn đến một trang thách thức hoặc một tài liệu thiếu dữ liệu cần thiết.

Kết Luận

Dấu vân tay TLS biến các đặc điểm bắt tay đã chọn thành một đại diện có thể so sánh. Tính hữu ích của nó phụ thuộc vào việc biết thuật toán, điểm thu thập, và bối cảnh client. Bảo tồn những chi tiết đó, phân biệt lớp mạng với lớp trình duyệt, và sử dụng dấu vân tay như một phần của lời giải thích thay vì coi chúng như một bản ghi danh tính hoặc phán quyết truy cập hoàn chỉnh.

Đánh Giá Trình Duyệt và Kết Quả Cùng Nhau

Sử dụng Trình Duyệt Đại Lý Scrapeless cho tự động hóa web được phép, với các kiểm tra riêng cho nội dung và hành vi mạng.

Đăng ký hôm nay và nhận $5 tín dụng miễn phí — không yêu cầu thẻ tín dụng.

Nhận Tín Dụng $5 của Bạn →

Câu Hỏi Thường Gặp

H: Có phải dấu vân tay TLS giải mã nội dung HTTPS không?

Dấu vân tay TLS không tự động giải mã nội dung ứng dụng HTTPS. Nó phân tích các đặc điểm bắt tay đã chọn có thể thấy tại điểm quan sát. Kiểm tra nội dung và dấu vân tay bắt tay là các khả năng riêng biệt.

H: Thay đổi tiêu đề user-agent có thay đổi dấu vân tay TLS không?

Thay đổi tiêu đề user-agent HTTP không trực tiếp thay thế triển khai TLS tạo ra cú bắt tay. Cài đặt mạng liên quan và triển khai client xác định các đặc điểm TLS được cung cấp. Xác minh kết nối thay vì suy luận từ một tiêu đề.

H: Giá trị JA4 có phải là một định danh thiết bị duy nhất không?

Một giá trị JA4 không phải là một định danh thiết bị duy nhất được đảm bảo. Nhiều client có thể chia sẻ các đặc điểm được giữ lại bởi phương pháp. Sử dụng bối cảnh bổ sung trước khi rút ra kết luận về danh tính hoặc hành vi.

H: Liệu JavaScript có thể đo lường dấu vân tay TLS thực sự không?

JavaScript trên trang không thể trực tiếp đọc hoàn toàn TLS ClientHello mà đích đến quan sát. Một chẩn đoán phải thu được một quan sát từ phía máy chủ hoặc thu thập được ủy quyền và liên kết nó với yêu cầu liên quan.

H: Tại sao một proxy có thể thay đổi dấu vân tay được quan sát?

Một proxy có thể thay đổi dấu vân tay quan sát được khi nó kết thúc TLS và tạo một kết nối mới đến đích. Một đường hầm bảo toàn kết nối TLS gốc hoạt động khác. Xác định các điểm kết thúc trước khi giải thích các phép đo.

Tài liệu tham khảo