Programing

Google reCAPTCHA v2는 뒤에서 어떻게 작동합니까?

lottogame 2020. 3. 18. 07:58
반응형

Google reCAPTCHA v2는 뒤에서 어떻게 작동합니까?


이 글은 Google ReCaptcha v2 (최신 버전 아님)에 관한 것입니다.

최근 Google 은 사용자가 클릭만으로 "보안 문자"를 전달할 수 있는 단순화 된 "보안 문자"확인 시스템 ( 비디오 )을 도입 했습니다.

그러나 클릭 한 번으로 봇과 사람을 어떻게 구별 할 수 있습니까?

이 응답 먼저 "reCAPTCHA를"에 숨겨진 입력 요소에 숨겨진 키 첨부합니다를 생성한다 (유사한 구현을 가정 함), 또한 느리게 선택란 렌더링 (아닌 실제 선택란을 input하지만 div동일한 키) 어느 클릭하면 XHR (비동기 요청)을 Google 백엔드 서버로 전송하여 유효한 확인 키 (예 : 양식을 제출할 때 확인해야하는 키)로 표시합니다.

그러나 봇이 클릭을 자동화 할 수없는 이유는 무엇입니까 (적어도 브라우저 기반 봇)?

어떻게 작동할까요?


이것은 추측이지만 그들이 사용하는 "위험 분석 엔진"에 대한 Google의 참조를 기반으로합니다 ( http://googleonlinesecurity.blogspot.com/2014/12/are-you-robot-introducing-no-captcha.html )

클릭하기 전에 어떻게 행동했는지, 커서가 확인으로 이동하는 방법 (유기 경로 / 가속), 확인란의 클릭 한 부분 (임의의 장소 또는 매번 중앙에서 죽은 경우), 브라우저를 가정합니다. 지문, Google 쿠키 및 콘텐츠, 지문이나 계정에 연결된 클릭 위치 기록 등이 감지되면

지속적으로 학습되는 패턴 감지 엔진을 속이는 방식으로 "유기적"행동을 위조하는 것은 상당히 어렵습니다. 확실하지 않은 경우 실제 CAPTCHA 문자열과 일치하라는 메시지가 계속 표시됩니다.


reCAPTCHA에 대한 몇 가지 테스트를 통해 새로운 논문이 발표되었습니다.

https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf

일부 주요 특징 :

  • Google 리소스가있는 사이트를 탐색하여 쿠키를 +9 일 동안 활성 상태로 유지하면 확인란을 클릭하기 만하면 reCAPTCHA를 전달할 수 있습니다.
  • IP 당 요청에 따른 제한은 없습니다.
  • 브라우저의 사용자 에이전트는 실제이어야하며 Google은 사용자 에이전트와 일치하는지 확인하기 위해 사용자 환경에 대해 테스트를 실행합니다.
  • Google은 브라우저가 캔버스를 렌더링 할 수 있는지 테스트합니다.
  • 화면 해상도 및 마우스 이벤트는 결과에 영향을 미치지 않습니다.

Google은 이미 쿠키 취약성을 수정했으며 IP를 기반으로하는 일부 동작을 제한하고있을 것입니다.

또 다른 흥미로운 발견 은 Google이 JavaScript로 VM을 실행하여 많은 reCAPTCHA 코드와 동작을 난독 화한다는 것입니다. 이 VM은 botguard라고하며 reCAPTCHA 외에 다른 서비스를 보호하는 데 사용됩니다.

https://github.com/neuroradiology/InsideReCaptcha

2017 업데이트

NOCAPTCHA reCAPTCHA 오디오 문제를 해결하는 데 85 %의 정확도를 달성 한 WOOT 2017에 최근 논문 (8 월부터)이 게시되었습니다.

http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf

2018 업데이트

Google은 웹 사이트별로 보정 된 "인간 점수 예측 엔진"처럼 보이는 reCAPTCHA v3을 도입했습니다. reCAPTCHA와 웹 사이트 소유자가 reCAPTCHA를 작성하기 전에 사람과 봇의 행동을 이해하는 데 도움이되도록 웹 사이트의 다른 페이지 (Google Analytics 스크립트처럼 작동)에 설치할 수 있습니다.

https://www.google.com/recaptcha/intro/v3beta.html


내 봇은 ReCaptcha와 잘 어울립니다.

여기 내 솔루션.

봇이이 단계를 수행하게하십시오 :

먼저 휴먼 마우스 이동 기능을 작성하여 마우스를 B- 스플라인처럼 이동 시키십시오 (소스 코드 요청). 이것이 가장 중요한 포인트입니다.

https://www.purevpn.com 과 같은 VPN을 더 나은 결과로 사용 하십시오.

모든 Recpatcha에 대해 다음 단계를 수행하십시오.

  1. VPN 스위치 IP를 먼저 사용하는 경우

  2. 모든 브라우저 쿠키를 지 웁니다.

  3. 모든 브라우저 캐시 지우기

  4. 다음 Useragent 중 하나를 임의로 설정하십시오.

    ㅏ. Mozilla / 5.0 (호환 가능; MSIE 9.0; Windows NT 6.1; Trident / 5.0)

    비. Mozilla / 5.0 (Windows NT 6.1; WOW64; rv : 44.0) Gecko / 20100101 Firefox / 44.0

5 휴먼 마우스로 마우스 이동 RandomPoint에서 다른 10x10 랜덤 범위로 매번 로봇 이미지가 아닙니다.

  1. 그런 다음 임의의 지연 시간으로 클릭하십시오.

    WM_LBUTTONDOWN

    WM_LBUTTONUP

  2. Image Captcha에서 스크린 샷 찍기

  3. 에 스크린 샷 보내기

    http://www.deathbycaptcha.com

    또는

    https://2captcha.com

그들이 해결하게 해주세요.

  1. 보안 문자 해결사로부터 클릭 조정을받은 후 휴먼 마우스 이동 기능을 사용하여 이동하고 클릭하십시오 보안 문자 이미지

  2. 휴먼 마우스 이동 기능을 사용하여 Recaptcha 확인 버튼으로 이동하고 클릭하십시오.

75 %에서 모든 시도 Recaptcha가 해결됩니다.

치어스 구글


이것이 공개 기술이 아니기 때문에 내 추측을 제시 할 수 있습니다.

구글은 인간과 로봇을 구별하기 전, 중, 후에 정보를 결합하는 것이라고 말한다. 그러나 확인란의 마지막 클릭에 더 관심이 있습니다.

Say, the POST data (solved CAPTCHA) has a field called fingerprint, a string calculated from user behavior. I think there may be a field about that check box location. I guess this check box is in a coordinate system randomly generated by Google back-end and encrypted by the public key of my site. So, a robot may "guess/calculate" a location about this box, but when site owner makes the GET query with private key to verify user identity, Google will decrypt the coordinate system and say if the user click on the right place. So, only one possible right click(with some offsets, it's a square box) location in this random coordinate system owned by only Google and site owners.

참고URL : https://stackoverflow.com/questions/27286232/how-does-google-recaptcha-v2-work-behind-the-scenes

반응형