로봇은 어떻게 보안 문자를 이길 수 있습니까?


84

웹 사이트 이메일 양식이 있습니다. 로봇에서 스팸을 방지하기 위해 사용자 지정 보안 문자를 사용합니다. 그럼에도 불구하고 여전히 스팸을받습니다.

왜? 로봇은 어떻게 보안 문자를 이길까요? 그들은 어떤 종류의 고급 OCR을 사용합니까 아니면 저장된 곳에서 솔루션을 얻습니까?

이 문제를 어떻게 방지 할 수 있습니까? 다른 유형의 보안 문자로 변경해야합니까?


전자 메일이 양식 메시지를 제공하는 전자 메일 보낸 사람으로부터 전송되었으므로 전자 메일이 양식에서 온 것 같습니다. 글자 스타일도 같습니다.

기록을 위해 PHP + MySQL을 사용하고 있지만이 문제에 대한 해결책을 찾고 있지 않습니다. 로봇이 이러한 기술을 능가하는 일반적인 상황에 관심이있었습니다. 방금이 상황을 예로 들었으므로 내가 요구하는 것을 더 잘 이해할 수 있습니다.


86
나는 당신의 질문에 반박하고 싶습니다 : 어떻게 인간이 어떻게 보안 문자를 이길 수 있습니까? 더 자주는 그렇지 않습니다.
Pieter B

14
누군가이 질문에 공감할만한 가치가 있다고 생각되면 적어도 이유를 설명하십시오.
totymedli

10
@Blrfl, 나는 이것이 주제가 아닌 방법을 이해하지 못합니다.

47
귀하의 질문에 대한 답변을 원한다면 먼저 로봇이 아닌 사람임을 증명하십시오.
피트 Kirkham

7
@Blrfl 그러나 그것은 양질의 소프트웨어 개발과 관련이 있습니다.
이즈 카타

답변:


72

보안 문자를 통과하는 가장 쉬운 두 가지 방법 :

  • 인간 농장을 사용하십시오. 즉 ProTypers 와 마찬가지로 사람들에게 보안 문자를 작성하여 돈을 요구하십시오 .

  • OCR을 사용하십시오.

보안 문자 메커니즘 자체 또는 주변 응용 프로그램에 버그가있어 누군가 보안 문자를 우회 할 수 있습니다.

그건 그렇고, W3C 기사 CAPTCHA의 접근 불가능 : 웹에서 Visual Turing Tests의 대안은 CAPTCHA가 어떻게 손상 될 수 있는지에 대해 설명합니다.

[...] 시스템에 대한 최초의 문서화 된 공격 중 하나는 CAPTCHA 이미지를 성인 웹 사이트에 대한 액세스와 연결하여 인증을 해독하는 무료 인적 노동력을 얻는 Carnegie Mellon 학생에 의한 것입니다. [...]

외부 프로젝트 [...]는 광학 문자 인식을 사용하여 88 %에서 100 % 사이의 정확도로 컴퓨터가 많은 시스템을 물리 칠 수 있음을 나타내는 방법론과 결과를 보여주었습니다.

그렇다면 어떻게 이러한 공격을 막을 수 있습니까?

  • 사용자 정의 구현 보안 문자가있는 경우 reCAPTCHA 와 같이 널리 사용되는 보안 문자로 이동할 수 있습니다 .

    이것은 자신의 보안 문자가 OCR에 너무 쉽게 사용되거나 악용 된 버그가있는 경우에 도움이됩니다.

  • 많이 사용하는 CAPTCHA 메커니즘을 사용하는 경우 사용자 정의로 또는 다른 인기로 이동하면 OCR이 차단 될 수 있습니다.

기술적으로 인간 농장을 막을 수있는 것은 없습니다. 여러 프레임이 서로 다른 텍스트를 매우 빠르게 표시하는 애니메이션 GIF를 만들 수 있으며 사용자가 실제로 한 프레임 만 볼 수 있으며 모든 방향으로 텍스트를 왜곡하거나 구부리거나 새로운 대안 방법을 찾을 수 있습니다 텍스트를 인식하는 OCR은 여전히 ​​CAPCHA를 해결하기 위해 비용을 지불 한 사람이 성공적으로 해결합니다.

시각적 보안 문자에서 소리로 이동하고 싶을 수도 있습니다 (아직 둘 다 사용하지 않는 경우). 청각 장애가있는 사용자는 응용 프로그램을 사용할 수 없습니다.


FrustratedWithFormsDesignerGalacticCowboy 는 도메인 별 보안 문자에 대해 언급했습니다. 나는 그것들이 얼마나 효과적인 지에 대한 자료를 찾으려고 노력했지만 성공하지 못했습니다.

  1. 실제 사용자가 답을 모를 때 도메인 별 보안 문자는 매우 성 가실 수 있습니다.

    예 : 영화 지향 웹 사이트의 페이지를 방문하고 있습니다. 기사에서 실수를 발견하고 저자에게 그 실수를 알리기 위해 댓글을 달고 싶습니다. 댓글 양식은 보안 문자 메커니즘으로 사진에 표시된 여배우의 이름을 제공하도록 요청합니다. 나는이 여배우가 누구인지 전혀 모른다. 그래서 내가 할 수있는 유일한 일은 웹 사이트를 떠나는 것 (또는 구글 이미지를 사용하여 다음 2 분을 보내는 것)이다.

    또 다른 예 : 웹 사이트가 "신비한"의 동의어를 요구합니다. 영어를 유창하게 구사 하지 못하는 사람에게는 쉬운 것처럼 들리지만, 영어를 잘 못하는 사람들이나 발달 장애가있는 사람들은 외부의 도움 없이는 동의어 나 반의어를 찾는 것이 중요하지 않다는 사실을 세지 않고 해결할 수 없습니다. 항상 까다 롭습니다.

  2. 이러한 도메인 별 문제는 대부분 프로그래밍 방식으로 해결할 수 있습니다. 내가 제공 한 두 가지 예는 외부 리소스 (Google 이미지 및 동의어 사전)를 사용하여 쉽게 해결할 수 있습니다. FrustratedWithFormsDesigner의 예제로 제공되는 트랜지스터에 관한 것이 더 좋지만 여전히 맞춤형 로봇으로 해결할 수 있습니다.

  3. 아무도 인간 농장에 저항하지 않습니다.

  4. 일반 텍스트 CAPTCHA가 왜곡 된 문자를 그리는 것처럼 데이터를 생성하는 경우 생성 알고리즘 자체를 사용하여 봇을 조정하거나 reCAPTCHA가 스캔 한 책에서 텍스트를 가져 오는 것처럼 어딘가에서 데이터를 찾을 수 있습니다. 이 데이터에 대해이 데이터를 사용하십시오 (예를 들어, 사전에서 단어를 가져와 사용자에게 동의어를 요청하면 봇은 동일한 사전을 사용하여 100 % 성공할 수 있습니다).


4
작동 할 보장 된 보안 문자가 없다는 점에 대해 +1
Neil

8
도메인 고유의 새로운 보안 문자를 보았습니다. 그중 하나는 저항의 이미지를 표시했으며 사용자는 저항을 입력해야했습니다 (저항 색상 밴드를 읽는 방법을 모르는 사람들을위한 도움말 페이지 링크가있었습니다). 다른 하나는 작은 악보의 스 니펫 이미지를 가지고 있으며 사용자는 특정 음표 (예 : "두 번째 화음 만 음표")를 입력해야했습니다. 그들은 여전히 ​​게임 가능하지만 스패머 비용은 그만한 가치가 없을 수 있습니다.
FrustratedWithFormsDesigner

2
@MainMa는 시각을 무시하고 대신 오디오 신호를 해석하기 때문에 보안 문자를 현저히 빠르게 봇을 디자인 한 누군가에 대한 기술 보고서에 대한 게시물이 있었으므로 결국 정적을 추가해야했습니다. 오디오 하나, 어쨌든 사용자를 더욱 어렵게 만듭니다
RhysW

@RhysW : 내가 언급 한 W3C 기사는 이미지에서 오디오로 이동해도 봇 문제를 해결하지 못하고 봇을 더 쉽게 만들 수 있다고 언급했습니다.
Arseni Mourzenko

24
인간 농장. 매트릭스를 왜 찍어야합니까?
LarsTech

37

MainMa의 답변에 추가 ...

스패머는 다른 사람이 보안 문자를 작성하도록 속입니다.

기본적으로 스패머는 보안 문자가있는 것으로 보이는 warez 사이트 또는 포르노 사이트를 설정하지만 실제 보안 문자는 아닙니다. 봇은 스팸 (또는 다른 방법으로 악용)하려는 사이트에서 보안 문자를 가져 와서 warez 사이트 또는 누군가를 위해 그것을 완성한 포르노 사이트에 표시합니다. 그런 다음 보안 문자 값이 봇으로 다시 전달됩니다.

스패머에 대해 조금 더

나는 reCAPTCHA를 사용하는데 기본적으로 가치가 없다는 것을 알았습니다. 또한 reCAPTCHA를 통과 한 스팸을 탐지하는 사용자 지정 스팸 필터를 사용하며, 오 탐지를 위해 며칠마다 검토해야합니다.

내 포럼도 모두 맞춤 작성되었으며 트래픽이 거의 없습니다. 내 사이트에 대한 특정 공격을 코딩 한 사람은 없다고 생각합니다. 여전히 내 스팸 필터는 하루에 2k 개의 스팸 메시지를 포착합니다! 사이트에 아무것도 표시되지 않습니다. 스패머는 스팸 메일로 인한 혜택을받지 못하지만 여전히 그렇게합니다.

스팸으로 모든 패턴을 기록하기 때문에 스팸 시도에서 패턴을 볼 수 있습니다. 나는 이것이 당신에게 말할 수 있습니다 : 그들이 어떻게 CAPTCHA를 지나가는지를 제외하고, 스패머들은 채워진 필드와 그 필드를 채우는 데이터 및 단어 믹스의 종류를 변화시키는 무차별 대입 기술을 분명히 사용하고 있습니다. 분명히 그들은 CAPTCHA를 우회하는 것을 포함하여 너무 저렴하게 수행하여 개별 사이트에 대한 분석을 수행하여 비용이 많이 들거나 작동하지 않는지 확인합니다.

해마다 계속해서 매달 수천 개의 스팸 메시지를 사용하여 내 사이트를 계속 대상으로 지정하여 매월 1 회씩 스팸 메일을 받고 하루 후에 수동으로 삭제합니다. 스팸은 싸다!

이것은 앞으로 몇 년 동안의 싸움이 될 것입니다. 특히 광산과 같은 소규모 1 인 중재자 사이트에 적합합니다.


편집 6/22/2017 :이 게시물 google이 reCAPTCHA를 완전히 개정 한 이후 로이 글을 쓰는 시점에서 완벽하게 작동하고 있다고 덧붙이고 싶습니다. 비록 약간의 잘못된 긍정이 있거나 포스트로 사용자에게 고통이 있다고 생각하지만 그것을 구현 한 후 약간 떨어졌습니다. 두 가지 큰 변화는

1) 텍스트 대신 이미지를 사용하고 있습니다 (따라서 더 이상 OCR 없음)

2) reCAPTCHA를 사용하는 모든 사이트에서 사용자 활동과 결합합니다. 따라서 A 사이트에서 reCAPTCHA를 지나면 B 사이트로 이동하면 사람임을 증명하라는 메시지가 표시되지 않을 수도 있습니다! 또한 (제 생각에) 너무 많은 사이트에서 너무 많은 reCAPTCHAs를 치는 경우에도 플래그가 표시됩니다. 사용자 활동에 따라 다른 종류의 AI를 사용하고 있다고 확신합니다.

스패머가 이것을 이길 때까지는 시간 문제 일뿐입니다 ...


작은 웹 사이트에 대한 reCAPTCHA의 가장 강력한 주장은 아마도 구글입니다. Google은 최신 스팸 기술을 따라 잡을 수있는 더 많은 리소스를 보유하고 있습니다.
Stephen C. Steel

15

고양이 개 보안 문자를 사용해 본 적이 있습니까? 표준 보안 문자가있는 포럼이 있으며이를 변경했으며 이후 게스트 스팸이 없습니다.여기에 이미지 설명을 입력하십시오


12

귀하의 사이트는 악용 된 초저가 노동력의 대상이되고 있으며 인간이 수동으로 보안 문자 문구를 입력했을 수 있습니다.

사용중인 솔루션이 지나치게 정교하지 않은 경우 공격자가 이미지 인식을 수행하고있을 수 있습니다.

또한 코드 어딘가에 보안 문자를 우회 할 수있는 버그가있을 수 있습니다.

로봇이 보안 문자를 치고 있다고 가정하지 마십시오. 당신의 시스템을 전체적으로 생각하고 손상을 입 었는지보십시오.


인간이 쉽게 분류 할 수없는 이미지와 CSS 체계를 결합 할 것입니다.
Erik Reppen

2
두 마디 ... 기계적 터크. 아마존은 보안 문자 충돌을 엄청나게 저렴한 노력으로 만들었습니다.
Michael Brown

10

다른 사람들은 스패머가 보안 문자를 우회하는 방법에 대해 논의했습니다. 이를 방지하는 방법 에 대한 몇 가지 팁은 다음과 같습니다 .

은 총알이 없으며 스패머가 게임보다 한 발 앞서 있습니다. 따라서 여러 기술을 조합하여 사용해야합니다

  1. 허니팟 형태 사용
  2. 보안 문자 또는 논리 질문을 사용하십시오. "사과, 생선, 손, 육-이 중 신체 부위"와 같은 기본 질문
  3. 지체하십시오. 페이지로드 후 5 초 이내에 양식이 게시 된 경우 요청을 무시하면 대부분의 로봇은 1 초 이내에 게시합니다.
  4. 일부 IP 주소 모니터링-화이트리스트 (google, bing)에없는 스파이더가 웹 사이트를 크롤링하는 것을 발견하면 블랙리스트에 올린 후 IP 주소를 차단하십시오. 코드 / 소프트웨어에서 동적 / 자동화되는 것이 바람직합니다.

6

다른 답변을 반영하기 위해 인간 농장을 사용하여 보안 문자를 입력하는 봇이 발생할 수 있습니다.

최근에 클라이언트 측 JavaScript를 요구하여 스팸 봇을 차단하는 기술 (및 Drupal 모듈 출시)에 대해 논의했습니다. 내가 아는 한, 이것은이 코드를 사용한 모든 사이트에서 100 % 효율로 작동했습니다. 아이디어는 AJAX를 사용하여 고유 한 해시를 생성하고 다른 양식 데이터와 함께 제출 한 다음 양식이 제출되면 백엔드에서 동일한 해시를 계산하고 두 값을 비교하는 것입니다.

내 블로그 게시물의 전체 세부 사항 (동시에 PHP + MySQL 사용을 언급 했으므로 여기에 설명 된 것과 동일한 기술입니다)- 모듈 출시 : Badbot; 스팸 제거 중 ...


1
널리 퍼질 때까지 작동하며 스패머는 헤드리스 브라우저를 사용합니다.
Xavier Combelle

1
헤드리스 브라우저를 사용하면 어떤 변화가 있습니까?
Tatiana Racheva

-2

귀하의 사이트가 트위터이고 누군가가 (봇을 찾는 것이 아니라) 구체적으로 타겟팅 한 경우 읽기를 중단 할 수 있습니다.

그렇지 않으면 양식을 양식처럼 보이게 만들 수 없습니다. 1. 유형, 이름 또는 자리 표시 자에 '전자 메일'이 포함 된 필드가없는 경우 모든 필드에 짧거나 오해의 소지가있는 이름을 사용하십시오. 2. 실제 html 양식 요소와 제출 단추를 사용하지 마십시오. 오히려 AJAX를 사용하여 일반 div (버튼처럼 보이도록 클릭)에 게시하십시오. 3. onclick 이벤트를 HTML에 넣지 말고 JavaScript로 리스너를 추가하십시오. 4. JavaScript를 사용하여 페이지를 트롤링 할 때 봇이 실제로 JS를 트리거하지 않을 가능성이 있으므로 '여기에 이메일 주소를 입력하십시오'라는 팁을 채우십시오 (확실하지는 않지만 어쨌든).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.