Botnetz-Anmeldespam unter Umgehung von Captcha !

Der Offtopic-Treff auf phpBB.de - Hier ist (unter Beachtung des phpBB.de-Knigges) fast alles erlaubt :-)
Benutzeravatar
larsneo
Mitglied
Beiträge: 2619
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

hmmh - da teile ich deinen optimismus nicht wirklich. das phpbb bietet - alleine schon durch seine popularität - nun einmal einen recht interessanten spam ansatz.

während in der jüngeren vergangenheit mehr und mehr direkte POSTs auf (via google-cache gesuchte) INPUT name="comment" felder zu verzeichnen war, dürfte sich in naher zukunft eine imho recht massive spamwelle auf das phpbb zubewegen. über den sinn bzw. unsinn der captcha-abfrage zur abwehr brauche ich wohl nix zu sagen, weder vom standpunkt der sicherheit noch von der zugänglichkeit ist das ein wirklicher fortschritt - die (scheinbar noch fehlende) automatisierte aktivierung eines accounts via mail ist auch nur ein kleiner schritt...

sicherlich wollen spammer eye balls - aber auf der anderen seite gilt auch der grundsatz 'die masse machts' - wenn ich automatisiert über ein botnetz spam auf phpbb-foren posten kann, habe ich im gegensatz zu klassischen mailspam (und davon gibt's ja trotz junkfilter wirklich mehr als genug) zumindestens eine erhöhung der domain- bzw. linkpopularität mit nahezu null aufwand (und kosten)...
der ganze kommentar- und trackback-spam ist da wohl leider nur ein vorbote...

naja - nachdem es inzwischen wirklich gute libraries gegen xss gibt (gerade jüngst haben wir safehtml in postnuke integriert) hoffe ich einmal, dass es in bälde auch wirkungsvolle 'echtzeit' spamfilter zur content-analyse gibt ;-)

eine einfache und individuell zu konfigurierende logische frage könnte bis dahin imho schon helfen - und wenn leute die 'wie heisst joe dumb mit vornamen?' frage nicht beantworten können, ist's wahrscheinlich auch nicht wirklich schlimm wenn sie nicht posten können...
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

@ larsneo
meinst du mich, bezgl. eines verbesserten captchas oder itst?
Benutzeravatar
larsneo
Mitglied
Beiträge: 2619
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

eigentlich itst - aber der tenor betrifft ja auch die generelle verwendung eines captchas ;-)
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

das ganze ist ja nur ein wettrüsten, es ist nur eine frage der zeit bis die bots auch die logischen fragen beantworten können... fast jede grössere seite arbeitet mit captchas (zb. google, register.com. rapidshare) welche sicherlich schwerer zu knacken sind, als das vom phpbb - glaubst du wirklich, dass auch diese lösungen fallen werden?
Benutzeravatar
larsneo
Mitglied
Beiträge: 2619
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

naja - ein captcha, welches durch ocr nicht zu erkennen ist wird wohl auch die meisten menschen vor probleme stellen (von zugänglichkeit mag ich in diesem zusammenhang erst gar nicht sprechen...)

lesestoff:
http://www.puremango.co.uk/cm_breaking_captcha_115.php
http://www.cs.sfu.ca/~mori/research/gimpy/
http://www.mperfect.net/aiCaptcha/

andere ansätze ala ascii art oder visueller natur mögen in bezug auf OCR besser sein - zugänglich sind sie aber auch nicht...

btw: ein online decoder für captchas findet sich beispielsweise unter http://www.pwntcha.net/test.html
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,
miccom hat geschrieben:das ganze ist ja nur ein wettrüsten, es ist nur eine frage der zeit bis die bots auch die logischen fragen beantworten können...
Das glaube ich allerdings nicht. Dies wäre schon ein ziemlicher Durchbruch in Sachen KI.

Ich denke eine logische Frage ist (für's erste) eine gute Lösung des Problems. Problematisch wird es nur, wenn dies bei phpBB Standard wird und fast alle Foren dann die selbe logische Frage verwenden.

Grüße
MagMo
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

im endeffekt werden die meisten phpbbs die gleichen, standard, fragen verwenden... und diese werden dann schnell als wörterbuch für die bots zur verfügung stehen.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2619
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

itst hat geschrieben:Also gehts nur darum, das Forum spamfrei zu halten. Dabei machen wir hier prima Erfahrungen mit a) Aktivierungsbestätigung per URL und b) Verstecken von inaktiven Benutzern.
ein weiterer schritt das forum spamfrei zu halten wäre auch, profilfelder welche links enthalten können (iirc nur signatur und website) erst ab einer bestimmten anzahl von postings anzuzeigen und einträge via direktem POST direkt abzublocken.
damit sollten zumindestens eine ganze reihe an spam-anmeldungen direkt scheitern...

basierend auf *klick* eine mögliche variante (allerdings ohne den imho kontraproduktiven IP-ban):

Code: Alles auswählen

## MOD Title: Instant Ban - Spam Bots registration
## MOD Author: niekas
## MOD Description: prevents spam bots registering on your forum by
## removing website and signature fields in registration and profile form
##untill users reached certain amount of posts
## MOD Version: 1.0.1
##
## Installation Level: (Easy)
## Installation Time: ~5 minutes
## Files To Edit:
##               /includes/usercp_register.php
##               /templates/subSilver/profile_add_body.tpl
## Included Files: (n/a)

#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]------------------------------------------
#

$error = FALSE;


#
#-----[ AFTER, ADD ]------------------------------------------
#

$cut_off=10; //how many posts should user have before form fields are activated

// ---------------------------------------
if (($mode == 'register' && ($HTTP_POST_VARS['website'] != '' || $HTTP_POST_VARS['signature'] != '') ) || ($userdata['user_posts'] < $cut_off && $mode=='editprofile' && ($HTTP_POST_VARS['website'] != '' || $HTTP_POST_VARS['signature'] != '')))
{
   message_die(GENERAL_MESSAGE, "Als Schutz vor Spam stehen Signatur und Website erst nach $cut_off Postings zur Verfügung.", '', __LINE__, __FILE__);
}

#
#-----[ FIND ]------------------------------------------
#
if ( $mode == 'editprofile' )
   {
      $template->assign_block_vars('switch_edit_profile', array());
   }

#
#-----[ REPLACE WITH ]------------------------------------------
#

if ( $mode == 'editprofile' )
   {
      $template->assign_block_vars('switch_edit_profile', array());
      if ($userdata['user_posts'] >= $cut_off)
      {
      $template->assign_block_vars('switch_edit_website', array());
      }
   }

#
#-----[ OPEN ]------------------------------------------
#

/templates/subSilver/profile_add_body.tpl

#
#-----[ FIND ]------------------------------------------
#
<tr>
     <td class="row1"><span class="gen">{L_WEBSITE}:</span></td>
     <td class="row2">
      <input type="text" class="post"style="width: 200px"  name="website" size="25" maxlength="255" value="{WEBSITE}" />
     </td>
   </tr>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- BEGIN switch_edit_website -->
 
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- END switch_edit_website -->


#
#-----[ FIND ]------------------------------------------
#

   <tr>
     <td class="row1"><span class="gen">{L_SIGNATURE}:</span><br /><span class="gensmall">{L_SIGNATURE_EXPLAIN}<br /><br />{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
     <td class="row2">
      <textarea name="signature"style="width: 300px"  rows="6" cols="30" class="post">{SIGNATURE}</textarea>
     </td>
   </tr>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- BEGIN switch_edit_website -->
 
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- END switch_edit_website --> 
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
smart
Mitglied
Beiträge: 767
Registriert: 25.01.2005 02:05
Kontaktdaten:

Beitrag von smart »

Super Sache - auch für "lebendige Bots"... ;-)
R. U. Serious
Mitglied
Beiträge: 153
Registriert: 11.10.2003 12:33
Kontaktdaten:

Beitrag von R. U. Serious »

larsneo hat geschrieben:eine erhöhung der domain- bzw. linkpopularität mit nahezu null aufwand (und kosten)...
Ich denke, dass ist der Hauptgrund für Spam der auf fremder Leute Webseiten platziert wird.
eine einfache und individuell zu konfigurierende logische frage könnte bis dahin imho schon helfen
Definitiv nicht, denn der Ansatz skaliert leider gar nicht. Betrachte einfach mal Aufwand/Kosten für den webmaster und den Spammer:
- Mutliple-Choice-Fragen bieten keinen Schutz, da durch reines Zufallsraten des Bots bereits eine ausreichende Erfolgsquote erzielt werden kann. (Bei 5 mögl. Antworten, wären 20% aller Spam-Rate-Versuche erfolgreich). Es bleiben also nur offene Fragen.
- Wenn die Frage so einfach ist, dass die Antwort in der Frage enthalten ist, dann kann ein Bot ebenfalls durch reines auspobieren eine ausreichende Quote erzielen.
- Wenn es (zum Beispiel) weniger als 100 Fragen gibt, dann kann man durch manuelles vorfüttern von 5 Antworten, ebenfalls einen Bot erfolgreich genug machen. (Der Bot probiert eben solange bis eine bekannte Frage erscheint). (manuelles Vorfüttern, kann auch durch die bekannte Ankopplung/Durchreichung der Fragen auf Warez/P0rn-Sites erfolgen, die ja bereits für Captchas bekannt ist)
- Wenn der Webmaster die Fragen nicht selber ausdenkt/erzeugt, sondern fertige Sammlungen benutzt, dann ist er sehr empfänglich für automatisierte Attacken, da dem Spammer bzw. SPamtool-Schreiber dieselben Ressourcen zur Verfügung stehen.
- Spammer tauschen sich untereinander genauso rege aus. D.h. genauso wie heute E-Mail Adressen getauscht/verkauft werden, könnten in Zukunft Domain+Frage/Antwort Listen getauscht werden.
- Der überwiegende Teil des Spams kommt nicht von Webmaster die nebenbei Hobbyprobgrammierer sind, sondern von den verkauften Tools der Tool-Programmieren, d.h. ein einmal gemachter Aufwand eines "Spammers" wird durch den Vetrieb des Tools gleich von vielen ausgenutzt. Dienste die dem Konzept con Auttomatic und Bugmenot folgen, nur eben für die "dunkle Seite" sind nur eine Frage der Zeit.
- Auf Seiten der Spammer ist mehr Geld (und daher mehr Bereitschaft zu Aufwand) in der Sache drin, als für Webmaster die sich schützen wollen.
- Content-Filter bieten sehr wenig Schutz, wenn es um Link-Spam geht. Der Grund ist, dass bereits heute viel Link-Spam abgesetzt wird, wo sich der "Body" des Textes aus vorherigen, echten Kommentaren zusammensetzt (daher taugen auch Bayes-Filter nicht, da im Gegensatz zu E-Mail ja der "Ham" für jedermann einsehbar ist). Das einzige Unterscheidungsriterium bleibt die URL, was auf Black/Whitelisten hinausläuft. Problem damit: Es liefen bereits Spam-Attacken die "gute"/unschuldige Urls bewarben (massiv!) um so die automatisierten Blacklisten effektiv zu verschmutzen. Davon abgesehen sind domains und subdomains sehr billig - man sieht ja wie effektiv einfache Blacklists beim E-Mail-Spam waren...

Ich glaube schon, dass (audio-)visuelle Captchas auf lange Zeit die einzig effektive (automatische) Möglichkeit bleiben werden. Denn der Aufwand zur Generierung ist heutzutage wesentlich geringer, als der Aufwand zur Programmierung der Erkennungsseite. Die bekannten "Knack-Seiten", sind v.a. deshalb erfolgreich, weil sie die Software manuell auf jedes spezielle Captcha anpassen. Es gibt aber bereits zahlreiche Demonstrationen von starken Captchas, die eben nicht immer gleiche Ergebnisse erzeugen.

Eine nicht-automatische Möglichkeit ist natürlich ein manuelles Review von Anmeldungen. Das habn wir bei uns im Forum seit einiger Zeit eingeführt. Es steht eine offene Frage bei der Bewerbung, deren Antwort relativ spezifisch sowohl für den "Bewerber" als auch für unser Forum ist. Natürlich gibt es da auch eine human-bedingte Grenze, die ist allerdings so hoch (da der Aufwand relativ gering ist), dass es keine echte Einschränkung ist - insbesondere im Team. Zusätzlich hat dies einen positiven Einfluß auf die Qualität, da man manche Typen von "negativen" Usern ja bereits daran erkennt, wie gut sie in der Lage sind ein oder zwei Sätze aufzuschreiben.
Antworten

Zurück zu „Smalltalk“