JA3 so với JA4 Fingerprints
Scrapeless Agent Browser cung cấp các phiên trình duyệt được quản lý cho tự động hóa web có liên quan đến việc thực thi trình duyệt và giao tiếp mạng.
TL;DR
- JA3 và JA4 tóm tắt hành vi được chọn của client TLS. Không fingerprint nào nhận diện một cá nhân hoặc chứng minh rằng lưu lượng là tự động.
- JA3 giữ nguyên thứ tự trong các danh sách đầu vào được chọn của nó. Thay đổi thứ tự bắt tay có thể làm thay đổi fingerprint thu được.
- JA4 sử dụng một biểu diễn có cấu trúc và được chuẩn hóa khác. So sánh các triển khai tương thích thay vì coi JA3 và JA4 là các hàm băm có thể thay thế lẫn nhau.
- Điểm quan sát TLS quyết định client nào được đo. Một trung gian kết thúc có thể trình bày bắt tay riêng của nó tới đích.
Hiểu TLS Fingerprint Đo Lường Điều Gì
Một fingerprint client TLS tóm tắt các thuộc tính được chọn của bắt tay của một kết nối. JA3 và JA4 mô tả các biểu diễn khác nhau của những thuộc tính đó. Giá trị thu được hữu ích để so sánh lưu lượng quan sát được, nhưng nó không phải là danh tính người dùng hay mô tả đầy đủ về một trình duyệt.
The Đặc tả bắt tay TLS định nghĩa trao đổi ClientHello và các khả năng mà một client đưa ra. Một thuật toán fingerprint chọn thông tin từ trao đổi đó và áp dụng việc chuẩn hóa và mã hóa riêng của nó. Giữ định nghĩa giao thức tách biệt với định dạng fingerprint. TLS không yêu cầu mọi triển khai phải tạo ra một giá trị JA3 hoặc JA4.
Các nhóm bảo mật có thể sử dụng các mẫu fingerprint như một nguồn bằng chứng bên cạnh hành vi request và các ngữ cảnh khác. Nhà vận hành ứng dụng có thể dùng chúng để so sánh môi trường hoặc điều tra một đường đi mạng. Trong cả hai trường hợp, việc diễn giải cần điểm quan sát, thuật toán và ngữ cảnh kết nối cơ bản. Một hàm băm trơ được chép vào ghi chú sự cố sẽ bỏ sót hầu hết thông tin đó.
So sánh các Biểu diễn JA3 và JA4
JA3 vs JA4 là so sánh các lựa chọn biểu diễn, không phải là đảm bảo rằng một nhãn mới hơn phân loại mọi kết nối chính xác hơn.
| Chiều đo | JA3 | JA4 |
|---|---|---|
| Đối tượng cốt lõi | Các trường TLS ClientHello được chọn | Một fingerprint client TLS có cấu trúc |
| Biểu diễn | Chuỗi trường có thứ tự và MD5 digest | Các thành phần với vật liệu được chuẩn hóa và băm |
| Độ nhạy với thứ tự | Thứ tự danh sách được chọn ảnh hưởng đến đầu vào | Chuẩn hóa làm giảm một số tác động của thứ tự |
| Diễn giải | So sánh các phép tính JA3 tương thích | So sánh các phép tính JA4 và thành phần JA4 tương thích |
| Tuyên bố danh tính | Không thiết lập danh tính người dùng | Không thiết lập danh tính người dùng |
Một giá trị JA3 không thể được chuyển đổi thành một giá trị JA4 chỉ bằng cách đổi tên trường. Cần có thông tin bắt tay gốc và thuật toán liên quan. Lưu tên thuật toán cùng với giá trị để các hệ thống hạ nguồn không gộp các không gian tên fingerprint không liên quan.
JA3 Bảo Tồn Thứ Tự Bắt Tay Được Chọn
The thuật toán JA3 gốc xây dựng một chuỗi từ phiên bản ClientHello, các cipher suite, extension, supported groups và point formats, sau đó băm biểu diễn đó bằng MD5. Thuật toán được ghi lại loại trừ các giá trị GREASE. Thứ tự của các danh sách được giữ lại vẫn có ý nghĩa đối với biểu diễn.
Thứ tự đó tạo ra một ràng buộc diễn giải. Thay đổi trong thứ tự extension mà client đưa ra có thể thay đổi JA3 ngay cả khi ứng dụng không thay đổi mục đích. Một cấu hình thư viện khác cũng có thể thay đổi các trường được đưa ra. Không coi mọi giá trị JA3 mới là bằng chứng của một thiết bị mới hoặc một người dùng mới.
Digest là một nhãn gọn cho các đầu vào được chọn. Nó không chứa mọi trường bắt tay, mọi header request, mọi giá trị lưu trữ trình duyệt hay hành vi render. Các đầu vào được chọn giống hệt nhau có thể tạo ra cùng một nhãn trên nhiều client. Một quyết định bảo mật chỉ dựa trên nhãn vì vậy có thể gộp các phiên không liên quan.
MD5 trong ngữ cảnh này là một lựa chọn mã hóa fingerprint, không phải là thay thế cho các bảo vệ mật mã của TLS. Giữ đánh giá bảo mật truyền tải tách biệt với đối sánh fingerprint. Một request có thể có fingerprint quen thuộc trong khi vẫn cần các kiểm tra chứng chỉ và ủy quyền thông thường.
JA4 Thêm Cấu Trúc và Chuẩn Hóa
The Đặc tả và triển khai nhận dạng dấu vân tay mạng JA4 sử dụng một biểu diễn client có cấu trúc với các thành phần đã được chuẩn hóa. Thiết kế này khiến các phần của dấu vân tay hữu ích cho việc so sánh và giảm độ nhạy với một số thay đổi về thứ tự. Nó vẫn chỉ tóm tắt các thuộc tính đã chọn thay vì toàn bộ client.
Phân biệt JA4 với họ JA4+ rộng hơn. Các kiểu dấu vân tay liên quan quan sát các lớp hoặc hướng khác nhau. JA4H liên quan đến nhận dạng dấu vân tay HTTP client; nó không nên được mô tả đơn giản như một cách viết khác của một giá trị TLS JA4. Giữ rõ ràng kiểu, triển khai và lớp được quan sát trong log.
Chuẩn hóa làm thay đổi những khác biệt nào còn hiển thị. Một JA4 ổn định không chứng minh rằng hai phiên đến từ cùng một người dùng, và một JA4 thay đổi không chứng minh hành vi độc hại. Diễn giải giá trị cùng với môi trường của kết nối và lưu lượng dự kiến của ứng dụng.
Nếu bạn triển khai một bộ phân tích hay bộ thu thập, hãy xác nhận hành vi của nó so với bản đặc tả đã chọn. Các chi tiết triển khai và trường sẵn có có thể khác nhau. Một nhãn trên bảng điều khiển đơn thuần không chứng minh rằng hai sản phẩm tính chính xác cùng một biến thể hoặc xử lý các bắt tay không hoàn chỉnh giống hệt nhau.
GREASE và Ngẫu nhiên hóa là Những Khái Niệm Khác Nhau
Các giá trị GREASE và thứ tự phần mở rộng phải được chẩn đoán riêng biệt. Cơ chế GREASE cho khả năng mở rộng TLS dành trước các giá trị được dùng để kiểm tra khả năng mở rộng của giao thức. Mô tả JA3 loại trừ các giá trị đó; quy mọi thay đổi JA3 cho GREASE là mâu thuẫn với chuẩn hóa đã được ghi nhận đó.
Thứ tự phần mở rộng vẫn được giữ lại vẫn có thể ảnh hưởng đến JA3. Một bản ghi so sánh nên cho biết liệu các đầu vào thô đã chọn có thay đổi hay không, liệu chỉ có thứ tự của chúng thay đổi, và liệu bộ thu thập có áp dụng cùng một chuẩn hóa hay không. Thiếu các chi tiết đó, một băm thay đổi cung cấp rất ít lời giải thích.
Đối với một lần bắt gói chẩn đoán được phép, hãy lưu lại bản tóm tắt không chứa bí mật về các trường bắt tay được chào mào nếu có. So sánh bản tóm tắt đó trước khi suy đoán nguyên nhân từ băm. Tránh coi một ví dụ blog đơn giản hóa là bằng chứng cho hành vi của mọi TLS client.
Xác định Điểm Kết thúc TLS
Dấu vân tay được đo thuộc về client hiển thị tại điểm quan sát TLS. Tiến trình ứng dụng của bạn và TLS client hướng về phía đích không phải lúc nào cũng là cùng một thành phần.
Một trung gian chấm dứt một kết nối và mở một kết nối TLS mới có thể trình bày bắt tay của riêng nó tới đích. Một trung gian vận chuyển một đường hầm mà không chấm dứt kết nối TLS bên trong thì có mối quan hệ khác với client được quan sát. Xác định đường đi thực tế trước khi quy một dấu vân tay phía đích cho một thư viện cục bộ.
Ghi lại vị trí của bộ quan sát, hướng kết nối, đích, và cấu hình định tuyến liên quan. Một phép đo được thực hiện tại một cổng nội bộ có thể mô tả một kết nối khác với kết nối được đo tại biên dịch vụ công khai. So sánh các giá trị đó mà không ghi chú ranh giới có thể tạo ra một sai lệch giả.
Tự động hóa trình duyệt thêm một ranh giới khác: kết nối điều khiển tới một trình duyệt từ xa tách biệt với kết nối của trình duyệt tới trang đích. Một dấu vân tay được quan sát trên dịch vụ điều khiển không tự động mô tả điều hướng hướng đến đích. Chẩn đoán kết nối đã tạo ra bằng chứng.
Liên kết Tín hiệu mà Không Chuyển Đổi Chúng Thành Danh Tính
Một dấu vân tay hữu ích nhất khi nó thu hẹp cuộc điều tra. Nó có thể gợi ý rằng một nhóm yêu cầu chia sẻ các đặc điểm client hoặc rằng một triển khai đã thay đổi hành vi mạng của nó. Nó không thể tự mình xác lập ý định của các yêu cầu đó.
Đối với một dịch vụ bạn vận hành, hãy so sánh dấu vân tay với việc sử dụng endpoint, tốc độ yêu cầu, tính liên tục của phiên, ngữ cảnh xác thực và kết quả quan sát được. Xác định hành động gắn với một quy tắc và xem xét các trường hợp dương tính giả trước khi áp dụng rộng rãi. Một bắt tay có hình dạng giống trình duyệt quen thuộc không phải là tín hiệu ủy quyền đủ.
Đối với thu thập dữ liệu, một lần điều hướng trang thành công vẫn phải được kiểm tra URL cuối cùng, danh tính nội dung và các trường bắt buộc. Một giá trị dấu vân tay chẩn đoán không phải là bằng chứng rằng trang đã thu thập chứa dữ liệu được yêu cầu. Giữ quan sát mạng và chấp nhận đầu ra trong các bản ghi tách biệt.
Giảm thiểu thông tin nhận dạng được lưu giữ. Cuộc điều tra có thể chỉ cần một loại dấu vân tay và một sự kiện kết nối chứ không phải một hồ sơ người dùng hoàn chỉnh. Đặt ranh giới truy cập và lưu trữ cho log vận hành thay vì lưu giữ vô thời hạn mọi tín hiệu sẵn có.
Sử Dụng Hạ Tầng Trình Duyệt Được Quản Lý Đúng Tầng Lớp Của Nó
Scrapeless Agent Browser cung cấp việc thực thi trình duyệt được quản lý. Phần giới thiệu Agent Browser mô tả vai trò hạ tầng đó; nó không biến JA3 hay JA4 thành một đảm bảo về quyền cho phép, khả năng ẩn mình, hoặc thu thập thành công.
Khi so sánh các lần chạy cục bộ và từ xa, hãy giữ tác vụ mục tiêu và cấu hình trình duyệt ổn định nhất có thể. Ghi lại môi trường nào đã mở kết nối tới mục tiêu và bộ quan sát nào đã cung cấp dấu vân tay. So sánh kết quả hiển thị tách biệt với các nhãn mạng.
Các lớp dấu vân tay mạng của trình duyệt cung cấp ngữ cảnh liên quan, nhưng chi tiết thuật toán nên đến từ các định nghĩa JA3 và JA4 chính. Xem lại bảng giá Scrapeless dựa trên các phiên trình duyệt mà tác vụ của bạn cần, không dựa trên một tỷ lệ thành công dấu vân tay phổ quát được khẳng định.
Kết luận: So sánh Những Quan Sát Tương Đồng
Sử dụng JA3 và JA4 như các tín hiệu có tên, nhận biết triển khai từ một điểm quan sát được xác định. Giữ đủ ngữ cảnh đầu vào để giải thích các thay đổi, phân biệt dấu vân tay TLS với các lớp mạng khác, và kết hợp chúng với bằng chứng hành vi. Một so sánh cẩn trọng mô tả kết nối được quan sát mà không bịa ra danh tính hay ý định của người dùng.
Quan Sát Quy Trình Làm Việc Trình Duyệt của Bạn Một Cách Rõ Ràng
Sử dụng thực thi trình duyệt được quản lý cho một tác vụ được phép và giữ việc quan sát kết nối tách biệt với việc chấp nhận nội dung.
Đăng ký hôm nay và nhận $5 tiền tín dụng miễn phí — không cần thẻ tín dụng.
Nhận $5 tín dụng của bạn →Câu hỏi thường gặp
Hỏi: JA4 có phải là sự thay thế trực tiếp cho hàm băm JA3 không?
JA4 không phải là cách gắn nhãn lại trực tiếp của hàm băm JA3. Các thuật toán chọn và biểu diễn thông tin bắt tay theo những cách khác nhau. Hãy giữ các trường riêng cho giá trị của chúng và tính toán từng giá trị từ bằng chứng kết nối phù hợp bằng một triển khai tương thích.
Hỏi: JA3 có bao gồm các giá trị GREASE không?
Thuật toán JA3 được ghi lại loại trừ các giá trị GREASE. JA3 vẫn có thể thay đổi khi các trường được giữ lại hoặc thứ tự của chúng thay đổi. Hãy kiểm tra đầu vào bắt tay được chọn và hành vi của bộ thu thập trước khi quy một giá trị đã thay đổi cho một cơ chế cụ thể.
Hỏi: Một fingerprint có thể nhận diện một người dùng trình duyệt cá nhân không?
Một fingerprint TLS tự nó không thể nhận diện đáng tin cậy một người dùng cá nhân. Nhiều client có thể chia sẻ các thuộc tính bắt tay đã chọn và các thuộc tính của một client có thể thay đổi. Hãy dùng fingerprint như bằng chứng tương quan cùng với các kiểm soát phù hợp về quyền riêng tư và lưu trữ.
Hỏi: Proxy có luôn thay đổi fingerprint TLS không?
Một proxy không phải lúc nào cũng thay đổi fingerprint TLS hướng tới đích. Kết quả phụ thuộc vào việc nó có kết thúc TLS hay chỉ truyền kết nối bên trong của client. Hãy xác định các điểm kết thúc và quan sát thực tế trước khi gán giá trị cho một thành phần.
Hỏi: Việc khớp fingerprint trình duyệt có đảm bảo quyền truy cập không?
Việc khớp các thuộc tính bắt tay giống trình duyệt được chọn không đảm bảo quyền truy cập. Một dịch vụ có thể đánh giá xác thực, hành vi, chính sách và các tín hiệu khác. Quy trình làm việc của bạn vẫn phải tuân thủ phân quyền và xác thực trang dự định cùng dữ liệu được trích xuất.