Phân Tích Kỹ Thuật

Yếu tố điểm reCAPTCHA: Phân tích kỹ thuật hoàn chỉnh

Công cụ Phân tích rủi ro nâng cao (ARA) của reCAPTCHA đánh giá hàng chục tín hiệu để tạo ra điểm từ 0,0 (bot xác định) đến 1,0 (con người xác định). Điểm này xác định xem bạn không thấy thử thách, hộp kiểm, lưới hình ảnh hay khối cứng. Google không công bố thuật toán chấm điểm chính xác nhưng thử nghiệm rộng rãi và kỹ thuật đảo ngược đã xác định được các yếu tố chính. Đây là một phân tích kỹ thuật toàn diện về những gì làm thay đổi tỷ số.


Các hạng mục yếu tố điểm số

reCAPTCHA đánh giá tín hiệu theo năm loại, mỗi loại đóng góp vào điểm số cuối cùng:

Final Score = f(Browser Signals, Behavioral Signals, Network Signals, 
                History Signals, Environmental Signals)

Loại 1: Tín hiệu của trình duyệt (trọng số: cao)

Tín hiệu của trình duyệt xác định xem ứng dụng khách là trình duyệt chính hãng hay công cụ tự động.

Sự hiện diện của API JavaScript

reCAPTCHA thăm dò các API mà trình duyệt không có giao diện người dùng thiếu hoặc triển khai theo cách khác:

Đã kiểm tra API Dự kiến trong trình duyệt thực Chỉ báo headless
thuộc tính WebDriver chuẩn undefined hoặc false true (Selenium, Puppeteer)
navigator.plugins PluginArray có hơn 1 mục Trống hoặc thiếu
navigator.languages Mảng có chuỗi miền địa phương Mảng trống hoặc bị thiếu
navigator.hardwareConcurrency 2-16 (khớp với CPU) Đôi khi 0 hoặc không xác định
navigator.deviceMemory 2-16 GB Thiếu một số người headless
window.chrome Đối tượng có thời gian chạy, v.v. Thiếu trong Chrome headless
Notification.permission "mặc định", "được cấp" hoặc "bị từ chối" Ném hoặc mất tích

Tác động đến điểm số: Giá trị thiếu hoặc không chính xác cho các API này có thể làm giảm điểm từ 0,3 đến 0,5 điểm.

Vân tay vải

reCAPTCHA hiển thị các phần tử canvas ẩn và đọc lại dữ liệu pixel. Kết quả là một dấu vân tay duy nhất cho tổ hợp trình duyệt/OS/GPU.

// reCAPTCHA performs something similar to:
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.textBaseline = "top";
ctx.font = "14px 'Arial'";
ctx.fillText("Hello", 2, 2);
const fingerprint = canvas.toDataURL();

Tác động đến điểm số:

  • Trình duyệt khớp dấu vân tay nhất quán/OS Tuyên bố → Trung tính
  • Dấu vân tay khớp với mẫu headless đã biết → -0,3 đến -0,5
  • Hoạt động canvas bị chặn hoặc trả về dữ liệu thống nhất → -0,4 đến -0,6

Trình kết xuất WebGL

Chuỗi trình kết xuất WebGL hiển thị GPU:

const gl = document.createElement('canvas').getContext('webgl');
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
// Expected: "ANGLE (NVIDIA GeForce GTX 1060...)"
// Headless: "SwiftShader" or "Google SwiftShader"

Tác động đến điểm số: SwiftShader (trình kết xuất phần mềm của Google được sử dụng trong Chrome không có đầu) là một chỉ báo bot mạnh, làm giảm điểm từ 0,3-0,5.


Loại 2: Tín hiệu hành vi (trọng lượng: rất cao)

Tín hiệu hành vi có trọng số cao nhất trong việc tính điểm. Chúng được thu thập kể từ thời điểm tải trang.

Di chuyển chuột

reCAPTCHA theo dõi tọa độ chuột và dấu thời gian trong suốt quá trình truy cập trang:

tín hiệu hình người Mẫu bot
Số lượng chuyển động Hơn 50-500 sự kiện trên mỗi lượt truy cập trang sự kiện 0-5
Quỹ đạo Đường cong với tốc độ thay đổi Đường thẳng, tốc độ không đổi
Tăng tốc Dễ dàng tự nhiên/ease-out Bắt đầu ngay lập tức/stop
Các chuyển động vi mô Độ giật nhỏ khi di chuột Hoàn toàn tĩnh lặng giữa các hành động
Vượt quá mục tiêu Vượt quá một chút với sự điều chỉnh Nhắm mục tiêu chính xác

Tác động đến điểm số: Không di chuyển chuột sẽ làm giảm điểm từ 0,4-0,7.

Hoạt động bàn phím

Inter-key timing:
  Human: Variable (50-300ms between keys, varies by key pair)
  Bot: Constant (all keys at same interval, or instant paste)

Key events:
  Human: keydown → keypress → keyup for each character
  Bot: May skip keypress, or fire all events simultaneously

Corrections:
  Human: Occasional backspace, re-typing
  Bot: Perfect input without corrections

Tác động đến điểm số: Tính năng nhập văn bản tức thì (thông qua khay nhớ tạm hoặc bài tập value bằng JavaScript) có điểm thấp hơn từ 0,1 đến 0,2.

Hành vi cuộn

reCAPTCHA giám sát các sự kiện cuộn trên trang:

  • Con người: Cuộn dần dần theo đà, tốc độ thay đổi, tạm dừng để đọc
  • Bot: Không cần cuộn hoặc chuyển ngay đến khu vực biểu mẫu

Tác động đến điểm số: Không có sự kiện cuộn trước khi tương tác với biểu mẫu → -0,2 đến -0,3.

Trình tự tương tác phần tử

reCAPTCHA theo dõi những thành phần mà người dùng tương tác và theo thứ tự:

  • Con người: Nhấp chuột quanh trang, di chuột qua các liên kết, đọc nội dung trước khi điền vào biểu mẫu
  • Bot: Điều hướng trực tiếp đến các trường của biểu mẫu, điền theo thứ tự, gửi

Tác động đến điểm số: Hành vi trực tiếp trên biểu mẫu mà không cần khám phá trang → -0,1 đến -0,3.


Loại 3: Tín hiệu mạng (trọng lượng: trung bình-cao)

Danh tiếng IP

Google duy trì cơ sở dữ liệu danh tiếng IP dựa trên:

  • Kết quả thử thách reCAPTCHA trước đó từ IP này
  • Các dải IP của trung tâm dữ liệu đã biết (AWS, GCP, Azure, DigitalOcean, v.v.)
  • Phạm vi nhà cung cấp proxy/VPN đã biết
  • Báo cáo lạm dụng và cơ sở dữ liệu thư rác
  • Tìm kiếm và quảng cáo các tín hiệu lừa đảo
loại IP Tác động điểm số điển hình
Khu dân cư, lạm dụng thấp Trung tính đến +0,1
Khu dân cư, một số lạm dụng -0,1 đến -0,2
Trung tâm dữ liệu -0,3 đến -0,5
Proxy đã biết/VPN -0,2 đến -0,4
Nút thoát Tor -0,4 đến -0,6
Gần đây bị gắn cờ vì lạm dụng -0,3 đến -0,6

Dấu vân tay TLS (JA3/JA4)

Quá trình bắt tay TLS cho biết bộ mật mã và tiện ích mở rộng nào mà máy khách hỗ trợ. Mỗi trình duyệt có một dấu vân tay đặc trưng:

  • Chrome: Thứ tự mật mã cụ thể, TLS 1.3, tiện ích mở rộng GREASE
  • Yêu cầu Python: Thứ tự mật mã khác nhau, không có GREASE, danh sách tiện ích mở rộng đơn giản hơn
  • curl: Tiện ích mở rộng tối thiểu, mẫu dành riêng cho OpenSSL

Tác động đến điểm số: Dấu vân tay TLS không phải trình duyệt → -0,2 đến -0,4.

tiêu đề HTTP

Máy chủ của reCAPTCHA kiểm tra tiêu đề HTTP của máy khách yêu cầu:

tiêu đề Chỉ số con người chỉ báo bot
User-Agent Phù hợp với bản phát hành trình duyệt đã biết Phiên bản lỗi thời, công cụ tự động hóa UA
Accept-Language Được điền với các tùy chọn ngôn ngữ Thiếu hoặc chung chung
Accept-Encoding gzip, deflate, br Thiếu hoặc bất thường
Sec-CH-UA Khách hàng gợi ý trình duyệt phù hợp Thiếu (tiêu đề trước năm 2022)

Loại 4: Tín hiệu lịch sử (trọng lượng: trung bình)

Người dùng đăng nhập vào tài khoản Google có điểm lịch sử duyệt web cao hơn:

  • Cookie SID, HSID, SSID cookie → Người dùng có phiên Google
  • Không có cookie của Google → Người dùng không xác định, điểm bắt đầu thấp hơn

Tác động đến điểm số: Phiên Google đang hoạt động → +0,1 đến +0,3.

reCAPTCHA đặt cookie riêng sau khi hoàn thành thử thách thành công:

  • _GRECAPTCHA cookie → Giải quyết thành công trước đó
  • rc::a, rc::b, rc::c → Cookie dữ liệu phân tích rủi ro

Tác động đến điểm số: Phiên mới không có cookie reCAPTCHA → -0,1 đến -0,2.

Danh tiếng chéo trang web

Google theo dõi hành vi reCAPTCHA trên tất cả các trang web sử dụng cùng một cấu hình trình duyệt. Hành vi tốt trên trang A sẽ cải thiện điểm số trên trang B.


Loại 5: Tín hiệu môi trường (trọng lượng: thấp-trung bình)

Tính nhất quán của múi giờ

const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// Should match IP geolocation
// "America/New_York" with a New York IP → consistent
// "America/New_York" with a Tokyo IP → suspicious

Kích thước màn hình và cửa sổ

screen.width, screen.height       // Physical screen
window.innerWidth, innerHeight    // Browser window
window.outerWidth, outerHeight    // Including browser chrome

Tác động đến điểm số: Kích thước bất thường (0×0, cực lớn hoặc chính xác là mặc định) → -0,1 đến -0,2.

Tình trạng pin (nếu có)

navigator.getBattery().then(battery => {
    battery.level;    // 0.0 to 1.0
    battery.charging; // true/false
});

API pin cung cấp một tín hiệu nhỏ - luôn sạc ở mức 100% phù hợp với môi trường phát triển máy tính để bàn.


Chiến lược tối ưu hóa điểm số

Để có điểm cao hơn trong tự động hóa

Chiến lược Tác động dự kiến độ khó
Sử dụng Chrome thật (không phải headless) +0,3 đến +0,5 Thấp
Xóa cờ thuộc tính WebDriver chuẩn +0,2 đến +0,3 Thấp
Thêm mô phỏng chuyển động của chuột +0,2 đến +0,4 Trung bình
Sử dụng IP đa dạng nguồn yêu cầu +0,2 đến +0,3 Thấp (chi phí)
Duy trì cookie của Google trong các phiên +0,1 đến +0,2 Trung bình
Khớp dấu vân tay TLS với Chrome +0,1 đến +0,3 Cao
Mô phỏng khám phá trang trước biểu mẫu +0,1 đến +0,2 Trung bình

Hoặc: Sử dụng bộ giải API

Thay vì tối ưu hóa tất cả các tín hiệu này, hãy sử dụng CaptchaAI để tạo mã thông báo hợp lệ bất kể điểm số:

import requests
import time

API_KEY = "YOUR_API_KEY"

# Request a high-score token
submit = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6LcR_RsTAAAAAN_r0GEkGBfq3L7KmU5JbPHJtwNp",
    "pageurl": "https://staging.example.com/qa-login",
    "version": "v3",
    "action": "login",
    "json": 1,
})

task_id = submit.json()["request"]

for _ in range(60):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY,
        "action": "get",
        "id": task_id,
        "json": 1,
    }).json()

    if result.get("status") == 1:
        token = result["request"]
        print(f"High-score token received")
        break

Môi trường bộ giải được tối ưu hóa để đạt điểm tối đa — xử lý tất cả các tín hiệu trình duyệt, hành vi và mạng trong nội bộ.


Câu hỏi thường gặp

Điểm reCAPTCHA v3 "tốt" là gì?

Điểm từ 0,7 trở lên thường được coi là giống con người. Hầu hết các trang web đều đặt ngưỡng trong khoảng từ 0,5 đến 0,7. Điểm 0,9 hầu như vượt qua tất cả các triển khai. API CaptchaAI không có tham số score-target — Google quyết định điểm. Để tăng điểm trả về, hãy gắn cookies, userAgentproxy vào yêu cầu.

Việc sử dụng VPN có luôn làm giảm điểm không?

IP VPN từ trung tâm dữ liệu thường có điểm thấp hơn từ 0,2-0,4. Tuy nhiên, dịch vụ VPN dân cư mang lại kết quả tốt hơn. Tác động của điểm số phụ thuộc vào lịch sử danh tiếng của IP cụ thể chứ không phải bản thân dịch vụ VPN.

Tại sao điểm của tôi khác nhau giữa các trang trên cùng một trang?

reCAPTCHA v3 sử dụng tham số action để ngữ cảnh hóa điểm số. Các hành động khác nhau (trang chủ, đăng nhập, thanh toán) có thể có điểm cơ bản khác nhau. Ngoài ra, các tín hiệu hành vi sẽ tích lũy trong phiên — các trang sau có thể đạt điểm cao hơn vì có nhiều dữ liệu hành vi hơn.

Tôi có thể kiểm tra điểm reCAPTCHA của mình khi không sở hữu trang web không?

Không trực tiếp. Điểm reCAPTCHA v3 chỉ được trả về máy chủ thông qua API xác minh trang web. Tuy nhiên, bạn có thể ước tính điểm của mình bằng cách quan sát xem các trang web có hiển thị cho bạn những thách thức (điểm thấp) hay vượt qua bạn (điểm cao) khi triển khai reCAPTCHA v3 đã biết hay không.


Tóm tắt

Điểm reCAPTCHA được xác định bằng dấu vân tay của trình duyệt (sự hiện diện của API, canvas, WebGL), phân tích hành vi (di chuyển chuột, thời gian bàn phím, kiểu cuộn), danh tiếng mạng (loại IP, dấu vân tay TLS), lịch sử (cookie của Google, các giải pháp trước đó) và tính nhất quán của môi trường (múi giờ, kích thước màn hình). Để tự động hóa cần điểm cao nhất quán, hãy sử dụngCaptchaAIvà gắn cookies, userAgent cùng proxy dân cư để tăng điểm Google trả về.

bài viết liên quan

Os comentários estão desativados para este artigo.