Wie ich Snapchat dumme Anti-Roboter Sicherheit In weniger als 30 Minuten gehackt
Ich heute Morgen aufwachte und sah einen Artikel detailliert Snapchat neues Verifizierungssystem entwickelt, um die Snap-Spam zurückgeschnitten, die scheint langsam den Dienst infiltriert werden.
Sie können es nicht gesehen, aber wenn nicht ich es für Sie zusammenfassen wird. Im Grunde haben Sie die Auswahl zwischen ein paar Bilder, diejenigen, die haben den Snapchat Geist zu beweisen, dass Sie eine Person zu identifizieren. Es ist irgendwie wie ein weniger lästige CAPTCHA.
Das Problem dabei ist, dass der Geist Snapchat ganz besonders. Man könnte es auch eine Vorlage bezeichnen. Für diejenigen von euch kennt Vorlagenzuordnung, das ist, was Sie tun müssen, um eure Menschlichkeit überprüfen Snapchat Fragen, es eines der einfacheren Aufgaben in der Computervision.
Dies ist eine unglaublich schlechte Möglichkeit zu überprüfen, ob jemand eine Person ist, weil es so einfach ein Problem für einen Computer zu lösen ist.
Nachdem ich dies las, habe ich etwa 30 Minuten einige Code schreiben, um einen Computer dazu zu machen. Jetzt gibt es viele Möglichkeiten, dieses Problem zu lösen, HoG wahrscheinlich beste oder sogar Farbe Schwellwerte und PKA für Blob Anerkennung gewesen wäre aber es würde länger dauern, und ich faul bin (gelesen: effiziente). Ich landete mit OpenCV und geht mit einfachen Schnittstellenüberwachung, SURF Keypoints und FLANN ensprechen eine Einzigartigkeit-Test, um festzustellen, dass mehrere Keypoints im Training Bild waren nicht einzeln verglichen wird im Test Bild.
Erstens ich entpacken die verschiedenen Bilder aus der Folie oben, dann werde ich Schwelle sie und der Geist Vorlage für Objekte, die dieser Farbe finden. Als Nächstes ich das Testbild und die Vorlage mit SURF Funktion Punkte und Deskriptoren entziehen und verbinden Sie diese mit FLANN. Ich verwenden Sie nur die "besten" Treffer mit einem Abstand Metrik und überprüfen Sie dann alle Spiele auf Eindeutigkeit überprüfen, ob ein Merkmal in der Vorlage ist nicht die meisten Testfunktionen passend. Wenn die Einzigartigkeit hoch genug ist und genug Features gefunden werden, nennen wir es ein Gespenst.
Mit sehr wenig Aufwand konnte mein Code "den Geist in dem obigen Beispiel mit 100 % Genauigkeit finden". Ich sage nicht, es ist perfekt, ganz im Gegenteil. Ich sage nur, dass wenn es jemand weniger als eine Stunde nimmt, einen Computer, ein Beispiel für Ihre menschliche Überprüfungssystem zu brechen zu trainieren, sind Sie etwas falsch machen. Es gibt eine Tonne von Möglichkeiten, dies zu tun, mit Computervision, alle von ihnen schnell und effektiv. Es ist ein Zahlenspiel mit Computern und Snapchat Verifizierungssystem verliert.
Dieser Beitrag erschien ursprünglich auf Blog des Autors, und es wurde neu aufgelegt mit Erlaubnis.
Steven Hickson ist ein Avidtechnical Blogger und aktuelle studentische Hilfskraft am Georgia Institute of Technology. Er schloss sein Studium mit einem Abschluss in Informatik von der Clemson University mit magna cum laude bevor mit dem Department of Defense. Nach Beratung und arbeiten bei der DoD, beschlossen Steven, seine Promotion mit dem Schwerpunkt in Computervision, Robotik und eingebettete Systeme zu verfolgen. Seine open-Source-Bibliotheken dienen der ganzen Welt und sie haben unter anderem Linux User und Entwickler Magazin, raspberrypi.org, Hackaday und Lifehacker gekennzeichnet worden. In seiner Freizeit Steven gerne Felsen klettern, Programm zufällige Bits des Codes, und spielen Magic: The Gathering.