Giả mạo tác nhân người dùng

Giả mạo tác nhân người dùng là việc sử dụng giá trị Tác nhân người dùng gây hiểu lầm. Nó làm cho máy chủ đọc yêu cầu như thể nó đến từ một trình duyệt, phiên bản, hệ điều hành, danh mục thiết bị hoặc trình thu thập thông tin khác.

Khách hàng cung cấp Tác nhân người dùng. Nó giúp tương thích và phân tích lưu lượng truy cập, nhưng nó không xác minh danh tính. Việc thay đổi nó không tạo lại trình duyệt hoặc thiết bị được đặt tên. Công cụ trình duyệt, mạng, cookie và hành vi vẫn tách biệt.

Tác nhân người dùng là gì?

Tác nhân người dùng là phần mềm giao tiếp với dịch vụ dành cho một người hoặc một quy trình tự động. Trình duyệt là một tác nhân người dùng. Trình thu thập thông tin tìm kiếm, ứng dụng khách API, trình quản lý tải xuống hoặc công cụ giám sát cũng vậy. Tác nhân người dùng ngẫu nhiên là một cách mà phần mềm có thể chọn danh tính trình duyệt đã khai báo.

Các máy khách web thường tự nhận dạng thông qua tiêu đề yêu cầu HTTP User-Agent. Chuỗi có thể chứa một số loại thông tin:

  • Một trình duyệt hoặc sản phẩm phần mềm
  • Một phiên bản sản phẩm
  • Một hệ điều hành hoặc nền tảng
  • Danh mục thiết bị, chẳng hạn như thiết bị di động hoặc máy tính để bàn
  • Mã thông báo tương thích còn sót lại từ lịch sử trình duyệt

Chuỗi trình duyệt thực thường chứa tên từ các trình duyệt khác. Chrome bao gồm mã thông báo Safari và AppleWebKit. Nhiều trình duyệt cũng bắt đầu bằng Mozilla. Những mã thông báo này vẫn còn vì các trang web đã đưa ra quyết định cụ thể cho trình duyệt trong nhiều thập kỷ.

Tiêu chuẩn ngữ nghĩa HTTP hiện tại mô tả trường Tác nhân người dùng là thông tin về phần mềm đằng sau một yêu cầu. Các mục đích sử dụng phổ biến bao gồm phân tích, khắc phục sự cố và giải pháp cho các sự cố tương thích. Tiêu chuẩn không biến trường này thành một phương thức xác thực.

Giả mạo tác nhân người dùng hoạt động như thế nào?

Giả mạo tác nhân người dùng thay đổi những gì khách hàng tuyên bố. Việc trao đổi cơ bản đơn giản ở mức độ khái niệm.

  1. Máy khách cung cấp giá trị Tác nhân người dùng cùng với yêu cầu HTTP.
  2. Máy chủ ghi lại hoặc giải thích giá trị.
  3. Nó có thể điều chỉnh nội dung, phân loại lưu lượng truy cập hoặc áp dụng quy tắc.
  4. Bằng chứng khác có thể hỗ trợ hoặc mâu thuẫn với yêu cầu bồi thường.

Trình duyệt cũng có thể hiển thị thông tin liên quan thông qua navigator.userAgent và Gợi ý ứng dụng khách tác nhân người dùng. Các giao diện này chồng lên nhau, nhưng chúng không thuộc cùng một lĩnh vực.

Việc giả mạo có thể ảnh hưởng đến một giá trị hoặc một số giá trị liên quan. Ngay cả khi đó, nó không thay thế phần mềm xử lý JavaScript, vẽ trang, mở kết nối TLS hoặc lưu trữ phiên. Một yêu cầu có thể tự nhận là Safari trong khi hiển thị các tính năng của trình duyệt phù hợp với Chrome.

Tại sao tác nhân người dùng bị giả mạo?

Không phải mọi Tác nhân người dùng được thay đổi đều có cùng mục đích. Một số thay đổi là một phần của thử nghiệm thông thường. Những người khác ủng hộ sự lừa dối hoặc lạm dụng.

Các trường hợp sử dụng được phép phổ biến bao gồm:

  • Kiểm tra danh mục trình duyệt và lựa chọn nội dung di động
  • Tái tạo một vấn đề tương thích
  • Xác thực các quy tắc phân tích hoặc quản lý bot
  • Chạy nghiên cứu tự động hóa hoặc quyền riêng tư đã được phê duyệt

Ngoài ra còn có những cách sử dụng lạm dụng:

  • Làm cho quá trình tự động hóa trông giống như một trình duyệt phổ biến hoặc trình thu thập thông tin đáng tin cậy
  • Ẩn bot khỏi quy tắc chỉ kiểm tra UA
  • Làm sai lệch phân tích trình duyệt, thiết bị hoặc quảng cáo
  • Hỗ trợ việc cào trái phép hoặc lạm dụng tài khoản nhiều lần

Chỉ riêng sợi dây không thể tiết lộ mục đích nào được áp dụng. Ủy quyền, mẫu yêu cầu, hoạt động tài khoản và dịch vụ mục tiêu cung cấp bối cảnh còn thiếu.

Việc thay đổi tác nhân người dùng không thay đổi điều gì?

Tác nhân người dùng là một phần của yêu cầu. Nó không phải là một công tắc cho toàn bộ môi trường trình duyệt.

LớpVí dụTác dụng của việc thay đổi User-Agent
Yêu cầu nhận dạng HTTPTrình duyệt, phiên bản, nền tảng, tên trình thu thập thông tinTrực tiếp thay đổi danh tính khách hàng đã khai báo
Hành vi của trình duyệtAPI JavaScript, bố cục, hỗ trợ tính năngKhông thay thế công cụ trình duyệt
Tín hiệu trình duyệtMàn hình, cảm ứng, phông chữ, Canvas, WebGL, ngôn ngữKhông tự cập nhật các giá trị này
Hành vi giao thứcTLS ClientXin chào, cài đặt giao thức HTTPKhông xây dựng lại ngăn xếp mạng
Bối cảnh mạngĐịa chỉ IP, ASN, tuyến proxy, DNSKhông thay đổi nguồn mạng
Bối cảnh phiênCookies, token, lịch sử đăng nhậpKhông tạo phiên mới
Hành vi người dùngĐiều hướng, thời gian, hành động, tỷ lệ yêu cầuKhông làm cho tự động hóa trở thành con người

Dấu vân tay trình duyệt kết hợp nhiều thuộc tính có thể quan sát được. Tác nhân người dùng có thể là một đầu vào nhưng nó không thể đại diện cho sự kết hợp đầy đủ.

Vân tay TLS kiểm tra quá trình bắt tay xảy ra trước khi yêu cầu HTTP được xử lý. Chỉnh sửa UA không xây dựng lại ClientHello.

Tác nhân người dùng di động cũng không tạo kết nối mạng di động. Yêu cầu vẫn sử dụng IP và tuyến mạng hiện có của nó.

Làm cách nào các trang web có thể phát hiện tác nhân người dùng giả mạo?

Không có thử nghiệm chung nào chứng minh Tác nhân người dùng là chính hãng. Một trang web có thể tìm kiếm sự đồng thuận giữa các tín hiệu độc lập. Kết quả sẽ mạnh mẽ hơn khi có nhiều lớp trỏ đến cùng một họ khách hàng.

Kiểm tra hữu ích bao gồm:

  • So sánh UA với gợi ý máy khách tác nhân người dùng
  • Kiểm tra xem API trình duyệt có phù hợp với công cụ và phiên bản được xác nhận quyền sở hữu hay không
  • So sánh tuyên bố về nền tảng với các tín hiệu màn hình, cảm ứng, ngôn ngữ và đồ họa
  • Xem xét liệu hành vi TLS và HTTP có phù hợp với dòng trình duyệt được xác nhận hay không
  • Kiểm tra lịch sử IP, ASN và mạng khi khách hàng yêu cầu một dịch vụ đã biết
  • Xem xét tính liên tục của phiên, tỷ lệ yêu cầu và hành vi của tài khoản

Một số kiểm tra đáng tin cậy hơn những kiểm tra khác. Một chuỗi hiếm không phải là bằng chứng giả mạo. Chuỗi Chrome thông thường không phải là bằng chứng của người dùng Chrome thực sự. Các lượt xem web được nhúng, phần mềm doanh nghiệp, công cụ bảo mật và bản cập nhật trình duyệt đều có thể tạo ra kết quả bất thường.

Phát hiện bot hiện đại không coi Tác nhân người dùng là một phán quyết. Nó sử dụng giá trị làm đầu vào, sau đó khớp phản hồi với mức độ không chắc chắn.

Một phản ứng thực tế có thể là:

  1. Cho phép hoặc quan sát lưu lượng truy cập có rủi ro thấp.
  2. Yêu cầu xác minh mạnh mẽ hơn về một hành động nhạy cảm.
  3. Áp dụng giới hạn tỷ lệ khi hành vi tạo ra rủi ro hoạt động.
  4. Xem lại hoặc hạn chế một phiên khi có nhiều tín hiệu hỗ trợ cho quyết định.

Tác nhân người dùng có thể chứng minh danh tính trình thu thập thông tin không?

KHÔNG. Bất kỳ khách hàng nào cũng có thể yêu cầu tên trình thu thập thông tin trong Tác nhân người dùng của nó. Mã thông báo bot quen thuộc là một nhãn chứ không phải bằng chứng cho thấy yêu cầu đến từ công ty được nêu tên.

Google làm rõ ranh giới này trong tài liệu Googlebot. Chủ sở hữu trang web có thể xác minh Googlebot thông qua dải IP được công bố hoặc kiểm tra DNS chuyển tiếp và đảo ngược. Tác nhân người dùng giúp xác định nội dung yêu cầu. Việc kiểm tra mạng độc lập giúp kiểm tra xác nhận đó.

Các trình thu thập thông tin khác có thể xuất bản danh sách IP, phương thức yêu cầu đã ký hoặc không có tùy chọn xác minh mạnh mẽ. Các trang web phải tuân theo tài liệu của từng trình thu thập thông tin.

Giảm tác nhân người dùng và gợi ý ứng dụng khách

Chuỗi UA truyền thống trở nên dài vì trình duyệt liên tục bổ sung thêm mã thông báo tương thích và chi tiết nền tảng. Họ cũng tiết lộ thông tin có thể góp phần lấy dấu vân tay.

Chrome đã giới thiệu tính năng giảm Tác nhân người dùng để hạn chế chi tiết được gửi trong chuỗi mặc định. Thông tin về trình duyệt và hệ điều hành trở nên ít cụ thể hơn trong một số trường hợp. Các trang web cần chi tiết được chọn có thể yêu cầu Gợi ý ứng dụng khách tác nhân người dùng.

Gợi ý ứng dụng khách có cấu trúc chặt chẽ hơn chuỗi UA cũ. Họ có thể báo cáo nhãn hiệu trình duyệt, thông tin nền tảng, trạng thái di động và chi tiết phiên bản đã chọn. Các gợi ý chi tiết hơn có thể tùy thuộc vào yêu cầu máy chủ, kết nối an toàn và chính sách trình duyệt.

Điều này không làm cho danh tính của Gợi ý Khách hàng được xác minh. Chúng vẫn là bối cảnh do khách hàng cung cấp và cần được kiểm tra dựa trên bằng chứng độc lập khi có vấn đề về rủi ro.

Các nhà phát triển cũng nên hỏi liệu có cần nhận dạng trình duyệt hay không. Phát hiện tính năng thường an toàn hơn cho khả năng tương thích với web. Nó kiểm tra xem trình duyệt có hỗ trợ khả năng cần thiết hay không thay vì đoán từ tên sản phẩm.

Giả mạo tác nhân người dùng so với các điều khoản liên quan

Thuật ngữCâu hỏi chínhMối quan hệ với việc giả mạo UA
Xoay vòng tác nhân người dùngKhách hàng có thay đổi giá trị UA theo thời gian khôngXoay vòng mô tả tần suất thay đổi, không phải mục đích
UA đánh hơiTrang web có phân tích UA để suy ra trình duyệt hoặc thiết bị khôngNó quan sát yêu cầu thay vì thay đổi nó
Dấu vân tay trình duyệtTrang web có kết hợp tín hiệu của trình duyệt và thiết bị khôngNó rộng hơn trường UA
Trình duyệt Giả mạo dấu vân tayCó phải một số tín hiệu trình duyệt đang được sửa đổiNó có thể bao gồm UA, Canvas, WebGL hoặc các giá trị khác
Giả mạo thiết bịCác tín hiệu liên quan đến thiết bị có bị trình bày sai khôngĐó là một khái niệm web và di động rộng hơn
Mô phỏng thiết bịPhần mềm có tái tạo môi trường thiết bị khác khôngTrình mô phỏng có thể được khai báo một cách trung thực hoặc được sử dụng như một phần của hành vi giả mạo
Mạo danh trình thu thập thông tinKhách hàng có tự nhận mình là bot có tên khôngGiả mạo UA là một cách để đưa ra tuyên bố đó
giả mạo IPĐịa chỉ nguồn gói có bị giả mạo khôngĐó là một khái niệm lớp mạng khác

Giả mạo thiết bị có thể liên quan đến vị trí, số nhận dạng ứng dụng, trạng thái hệ điều hành hoặc bằng chứng về tính toàn vẹn. Giả mạo tác nhân người dùng có phạm vi hẹp hơn và tập trung vào danh tính UA được khai báo.

Trình giả lập Android tái tạo môi trường di động trong phần mềm. Nó không tự động là một thiết bị giả mạo. Thi đua mô tả cách một môi trường hoạt động. Giả mạo mô tả những gì nó tuyên bố.

Giới hạn, quyền riêng tư và những điều tích cực sai lầm

Phân tích tác nhân người dùng hoạt động tốt nhất dưới dạng tín hiệu thô. Nó có thể hỗ trợ khả năng tương thích, phân tích và đánh giá rủi ro. Nó trở nên không đáng tin cậy khi hệ thống yêu cầu nó chứng minh danh tính.

Kết quả dương tính giả thường xảy ra khi các quy tắc yêu cầu một mẫu trình duyệt hoàn hảo. Lưu lượng truy cập hợp pháp có thể đến từ:

  • Trình duyệt trong ứng dụng và được nhúng
  • Trình duyệt tập trung vào quyền riêng tư
  • Khả năng truy cập và phần mềm doanh nghiệp
  • Thiết bị cũ và ứng dụng cũ
  • Hệ thống giám sát và QA tự động
  • Trình duyệt có thông tin UA giảm

Các trang web nên ghi lại lý do tại sao một yêu cầu bị thách thức hoặc bị hạn chế. Những quyết định nhạy cảm cần một con đường phục hồi. Các nhóm cũng nên giới hạn thời gian lưu giữ dữ liệu UA và dấu vân tay.

Chuỗi User-Agent nhất quán củng cố thông tin mà phần mềm máy khách tự khai báo. Chuỗi không nhất quán làm suy yếu thông tin khai báo đó. Cả hai trường hợp đều không chứng minh người dùng là ai hoặc họ định làm gì.

Bài học chính

  • Giả mạo tác nhân người dùng thay đổi danh tính khách hàng đã khai báo.
  • Tác nhân người dùng là siêu dữ liệu, không phải xác thực.
  • Việc thay đổi nó không làm thay đổi IP, ngăn xếp TLS, cookie, công cụ trình duyệt hoặc hành vi.
  • Thử nghiệm được ủy quyền và tự động hóa lạm dụng có thể sử dụng các giá trị UA tương tự.
  • Tính năng phát hiện hoạt động tốt nhất khi trình duyệt, giao thức, mạng, phiên và bằng chứng hành vi thống nhất với nhau.
  • Gợi ý của khách hàng cải thiện cấu trúc nhưng không biến dữ liệu do khách hàng cung cấp thành bằng chứng.
  • Khi các thông tin không nhất quán, cần phản ứng có cân nhắc thay vì tự động kết luận đó là gian lận.

Câu hỏi thường gặp về Giả mạo tác nhân người dùng

Giả mạo tác nhân người dùng nói một cách đơn giản là gì?

Giả mạo tác nhân người dùng có nghĩa là gửi giá trị Tác nhân người dùng mô tả ứng dụng khách là một trình duyệt, hệ điều hành, danh mục thiết bị hoặc trình thu thập thông tin khác. Nó thay đổi xác nhận quyền sở hữu chứ không phải phần mềm hoặc thiết bị đằng sau yêu cầu.

Các trang web có thể phát hiện Tác nhân người dùng giả mạo không?

Các trang web có thể so sánh UA với Gợi ý ứng dụng khách, khả năng của trình duyệt, hành vi TLS, bối cảnh mạng và hoạt động phiên. Những kiểm tra này tạo ra bằng chứng chứ không phải sự chắc chắn. Các công cụ bảo mật và ứng dụng khách bất thường cũng có thể tạo ra sự không khớp.

Việc thay đổi Tác nhân người dùng có làm thay đổi Địa chỉ IP của bạn không?

KHÔNG. Tác nhân người dùng là một giá trị HTTP, trong khi Địa chỉ IP thuộc về đường dẫn mạng. Việc thay đổi UA không thay đổi kết nối, ASN, hành vi DNS hoặc tuyến proxy.

Tác nhân người dùng có giống như dấu vân tay của trình duyệt không?

KHÔNG. Tác nhân người dùng là một giá trị do trình duyệt cung cấp. Dấu vân tay của trình duyệt kết hợp các thuộc tính màn hình, phông chữ, Canvas, WebGL, ngôn ngữ, múi giờ và các tín hiệu khác. Nó có thể vẫn được nhận dạng sau khi UA thay đổi.

Giả mạo tác nhân người dùng có giống với Giả mạo thiết bị không?

KHÔNG. Giả mạo tác nhân người dùng liên quan đến giá trị máy khách được khai báo. Giả mạo thiết bị có phạm vi rộng hơn và có thể liên quan đến thuộc tính trình duyệt, số nhận dạng thiết bị di động, vị trí, trạng thái hệ điều hành hoặc bằng chứng về tính toàn vẹn.

Tác nhân người dùng có thể chứng minh rằng yêu cầu đến từ Googlebot không?

KHÔNG. Các ứng dụng khách khác có thể sao chép Tác nhân người dùng Googlebot. Google khuyên bạn nên kiểm tra dải IP được công bố của mình hoặc sử dụng xác minh DNS chuyển tiếp và ngược lại. Các trình thu thập thông tin khác có thể sử dụng các phương pháp khác nhau.

Nhà phát triển có nên sử dụng Tác nhân người dùng để phát hiện trình duyệt không?

Chỉ khi có nhu cầu rõ ràng và phương án dự phòng đáng tin cậy. Phát hiện tính năng thường tốt hơn vì nó kiểm tra khả năng cần thiết. Phân tích cú pháp UA có thể bị hỏng khi trình duyệt giảm thông tin hoặc thêm mã thông báo tương thích.

Giả mạo tác nhân người dùng có bất hợp pháp không?

Nó phụ thuộc vào ủy quyền, mục đích, điều khoản trang web và luật hiện hành. Thử nghiệm khả năng tương thích được phê duyệt khác với việc mạo danh trình thu thập thông tin đáng tin cậy để có được quyền truy cập trái phép. Chỉ riêng hành động kỹ thuật không quyết định được kết quả pháp lý.

Giả mạo dấu vân tay

Giả mạo dấu vân tay sửa đổi tín hiệu của trình duyệt để giống với môi trường khác. Xem nó khác với mặt nạ như thế nào và tại sao tính nhất quán giữa các lớp lại quan trọng.

Đọc thêm

Tác nhân người dùng ngẫu nhiên

Tác nhân người dùng ngẫu nhiên có thể xung đột với hành vi của trình duyệt, hệ điều hành, gợi ý ứng dụng khách hoặc TLS thực tế. Xem lý do tại sao các mẫu ổn định, được xác thực lại nhất quán hơn.

Đọc thêm

Dấu vân tay âm thanh

Dấu vân tay âm thanh xử lý tín hiệu Âm thanh web tổng hợp để mô tả môi trường trình duyệt. Xem lý do tại sao không cần micrô và cách sử dụng hàm băm.

Đọc thêm

Dấu vân tay trình duyệt

Dấu vân tay trình duyệt liên kết các lượt truy cập thông qua tín hiệu thiết bị, phần mềm và đồ họa thay vì cookie. Xem thử nghiệm nào tiết lộ và biện pháp kiểm soát nào hữu ích.

Đọc thêm

Dấu vân tay canvas

Dấu vân tay canvas băm nhỏ những khác biệt nhỏ trong hình ảnh được hiển thị trên trình duyệt. Xem cách tín hiệu được tạo, kiểm tra và chịu ảnh hưởng của các biện pháp bảo vệ quyền riêng tư.

Đọc thêm

Vân tay TLS

Vân tay TLS xác định phần mềm máy khách từ ClientHello trước khi HTTP bắt đầu. Hiểu JA3, JA4 và lý do bắt tay phải phù hợp với yêu cầu của trình duyệt.

Đọc thêm

Bắt đầu xây dựng với MoreLogin

Khám phá tài liệu API, tự động hóa từ dòng lệnh, kết nối công cụ tương thích MCP hoặc tạo quy trình RPA có thể tái sử dụng.