defensive-programming

___ qstnhdr ___ So vermeiden Sie Keylogger bei der Authentifizierung des Zugriffs ___ answer3389004 ___

Ein Hardware-basierter Keylogger wird nicht durch irgendeine Lösung getäuscht, die die Verwendung einer Tastatur erfordert. Um diese zu umgehen, müssen Sie nur über die Maus Eingaben machen. Aber softwarebasierte Keylogger können gestoppt werden, indem ein Tastatur-Hook in Ihrem eigenen Code hinzugefügt wird, der die Schlüssel erfasst und nicht die nächste Hook-Prozedur in der Hook-Liste aufruft. Aber Tastatur-Hooks neigen dazu, Antivirussoftware auszulösen, wenn sie falsch verwendet werden und Fehler verursachen, wenn Sie sie in einer dynamischen Bibliothek mit dem falschen Parameter verwenden.
Und im Grunde wird ein Keylogger einen Keyhook verwenden, um Tastatureingaben zu erfassen. Wenn Sie Ihren eigenen Keyhook über dem Malware-Keyhook hinzufügen, deaktivieren Sie den Keylogger.
Es gibt jedoch Keylogger, die sich tiefer im Kernel verstecken, so dass Sie bald einen Keylogger haben, der Ihre Sicherheit wieder umgeht.

Konzentrieren Sie sich jedoch nicht zu sehr auf die Gefahr von Keyloggern. Es ist nur eine der vielen Methoden, die Hacker verwenden, um alle Arten von Kontoinformationen zu erhalten. Schlimmer noch, es gibt keine Möglichkeit, Ihre Benutzer vor Social-Engineering-Tricks zu schützen. Im Grunde ist der einfachste Weg für Hacker, Kontoinformationen zu erhalten, indem sie einfach ihre Opfer nach diesen Informationen fragen. Durch gefälschte Websites, falsche Anwendungen und alle möglichen anderen Tricks könnten sie einfach alle Informationen sammeln, die Sie schützen möchten, indem Sie Keylogger blockieren. Aber Keylogger sind einfach nicht die größten Gefahren.

Ein Vorschlag war es, Bilder von niedlichen Kätzchen (oder Welpen) zu verwenden, auf die der Benutzer klicken kann. Was Sie tun könnten, ist ein Satz von 10 Bildern und lassen Sie den Benutzer vier von ihnen als ihre "PIN-Code" auswählen. Wenn der Benutzer seinen Code eingeben muss, müssen die Bilder in beliebiger Reihenfolge angezeigt werden, damit Hacker den Standort nicht nutzen können. Wenn es sich um eine Webanwendung handelt, geben Sie den Bildern einen zufälligen Namen, und lassen Sie den Server einfach wissen, welches das ist. Um es noch komplexer zu machen, könnten Sie 10 Sätze von 10 Bildern erstellen, wobei jedes Bild ein einzelnes Objekt zeigt, aber aus einer etwas anderen Perspektive, einem anderen Winkel oder in einer anderen Farbe. Set 1 wäre ein Stuhl, Set 2 ein Tisch, Set 3 ein Kätzchen, Set 4 ein Welpe, etc. Der Benutzer muss sich dann nur noch erinnern: Tisch, Kätzchen, Stuhl, Welpe. (Oder Welpe, Stuhl, Stuhl, Tisch. Oder Kätzchen, Welpe, Welpe, Welpe ...)

    
___ answer3388840 ___

Sie können nur die Bildschirmtastatur zur Passworteingabe verwenden.

Oder Sie können Module schreiben (zum Beispiel auf Flash), um die Erkennung von Passwörtern per Handschrift (per Maus oder Stillus) zu ermöglichen.

    
___ answer3389048 ___

Eine Lösung, um Keylogger zu besiegen, ist es egal, ob sie das einfangen, was Sie tippen.

Einmalige Passwörter (Suche: "OTP") sind eine Lösung. Smartcard-Authentifizierung ist eine andere.

    
___ qstntxt ___

Was ist laut dem Titel wirklich genau das, was man tun kann, um die Schlüssel- / Tastenanschlag-Protokollierung bei der Authentifizierung des Zugriffs zu umgehen?

Ich habe gerade eine verwandte Frage gepostet ( how-to-store-und-verify-digits-per-random-from-a-pin-password ausgewählt und um Rat gefragt, um zufällige Ziffern aus einer PIN / einem Passwort auszuwählen. Welche anderen, einigermaßen unauffälligen Methoden könnte es geben?

Jede und alle Lösungen geschätzt.

    
___ answer3389123 ___

Wenn Sie davon ausgehen, dass nur die Tastatureingabe und nicht die Mauseingabe erfasst wird, können Sie das Passwort außerhalb der Reihenfolge eingeben, indem Sie den Cursor mit der Maus bewegen.

Ich mag den One-Time-Ansatz jedoch wirklich besser.

    
___ answer3389042 ___

Der einzig richtige Weg ist eine korrekte Zweitauthentifizierung: Entweder ist die Person etwas: Fingerabdruck, Iris-Scan. Oder etwas, was sie haben: einmalige Passwortliste / Generator; Krypto-Generator.

    
___ tag123authentication ___ Authentifizierung ist der Prozess der Feststellung, ob jemand oder etwas in der Tat ist, wer oder was es ist. ___ tag123passwords ___ Passwörter dienen in erster Linie dazu, auf Informationen zuzugreifen und die Anzahl der Benutzer zu beschränken, die Zugriff auf eine Maschine erhalten. Es wird hauptsächlich mit einem Benutzernamen für das Autorisierungssystem verwendet. Manchmal benutzen Leute Schlüssel anstelle von Passwörtern aufgrund der erhöhten Stärke der Schlüssel. ___ answer3388831 ___

Sie könnten ein anklickbares Bild mit den Buchstaben darauf haben. Ihre Benutzer werden jedoch ziemlich wütend sein ...

    
___ tag123defensiveprogrammierung ___ Defensive Programmierung ist eine Form des defensiven Designs, die trotz nicht vorhersehbarer Nutzung der Software die fortlaufende Funktion einer Software gewährleisten soll. Defensive Programmiertechniken werden insbesondere dann eingesetzt, wenn eine Software schelmisch oder unabsichtlich katastrophale Auswirkungen haben könnte. ___ answer3389272 ___

Wie wäre es mit einer Variation des Standardpassworts? Zum Beispiel könnten Sie eine Liste von Wörtern haben und Programm willkürliche Buchstaben von jedem Wort lassen. Außerdem würde es ein Wort aus der Liste weglassen, an das sich der Benutzer erinnern und es eingeben muss.
Wenn die Wörter einen Satz bilden, wäre es einfacher oder die Benutzer, sich daran zu erinnern, aber andererseits wäre die Erstellung des Satzes schwieriger, weil Sie Wörter verwenden müssten, die aus dem Kontext des Satzes nicht erraten werden können  Eine andere Variante könnte sein, dass das Programm den Benutzer willkürlich dazu auffordert, alle Buchstaben i durch 1 oder a durch 4 zu ersetzen oder den Buchstaben R nach jedem dritten Buchstaben A oder ähnlichem zu setzen.

Grundsätzlich haben Sie ein Passwort, das zufällig geändert wird und dem Benutzer Anweisungen zur Änderung des Passwortes anzeigt.

Nun, da ich darüber nachdenke, bin ich mir nicht sicher, wie unauffällig meine Ideen sind ...

    
___ answer3389375 ___

Das Online-Banking-Portal meiner Bank hat eine nette Art, die ich sehr unaufdringlich finde. Bei der Erstellung des Accounts definieren Sie eine 6-stellige PIN (zusätzlich zu einem normalen Passwort). Nachdem Sie Ihr Passwort eingegeben haben, werden Sie an 2 zufälligen Positionen nach 2 Ziffern der 6-stelligen PIN gefragt. Wenn Ihre PIN beispielsweise 654321 lautet, werden Sie nach den Ziffern 2 und 5 gefragt, und Sie klicken auf 5 und 2 (mit einem Nummernblock mit Ziffern zum Klicken). Selbst wenn Sie die Ziffern mit Ihrer Tastatur eingeben würden, wäre es immer noch sicher, denn der Angreifer weiß nicht, nach welchen Ziffern Sie gefragt wurden (es sei denn, er nimmt auch den Bildschirm auf, vielleicht mit Sturm). p>

Also, kurze Antwort: Fragen Sie nur nach einigen Teilen des Passworts / der PIN in zufälliger Reihenfolge. Wenn der Benutzer die Maus benutzt, erhöht sich die Sicherheit.

Eine weitere Idee: Wenn Sie eine PIN (numerisches Passwort) haben, fragen Sie den Benutzer nach Änderungen bestimmter Ziffern, z. "2. Ziffer plus 3, 4. Ziffer minus 1".

    
___
2
Antworten

JavaScript Anti-Silent-Techniken zur Anzeige von Fehlern

Was wäre ein guter Weg, um Fehler in JavaScript zu melden, anstatt sich auf Nullen zu verlassen, und undefiniert, wenn Fehler auftreten und eine Funktion nicht fortfahren kann. Ich kann mir drei Ansätze vorstellen: tue nichts eine Ausnahme...
17.07.2010, 01:16
10
Antworten

Defensive Programmierung: Richtlinien in Java

Ich komme aus einem .NET-Hintergrund und arbeite jetzt in Java. Gegenwärtig habe ich große Probleme, eine API defensiv gegen fehlerhafte Eingaben zu entwickeln. Sagen wir, ich habe den folgenden Code (nahe genug): %Vor% Dieser Code kann j...
18.09.2009, 12:44
3
Antworten

Logging mit Vala

Ich bin neu in der Programmierung von Vala und habe Erfahrungen mit Java und .NET, aber ich konnte nichts finden, was nützlich ist, um mit Vala zu loggen. Gibt es irgendwelche nützlichen Protokollierungsmöglichkeiten wie log4j oder log4net oder...
01.05.2012, 16:28
8
Antworten

Wird clone () wirklich jemals benutzt? Was ist mit dem defensiven Kopieren in Gettern / Settern?

Benutzt man praktisch immer defensive Getter / Setter? Für mich ist 99% der Zeit, die Sie für das Objekt, das Sie in einem anderen Objekt festgelegt haben, eine Kopie der gleichen Objektreferenz sein sollen, und Sie beabsichtigen, dass Änderunge...
29.05.2009, 14:52
2
Antworten

Editor-Vorlagen für defensive Programmierung

Kürzlich habe ich an FindBugs-Warnungen zum Freigeben des internen Zustands gearbeitet, d. h. wenn ein Verweis auf ein Array zurückgegeben wurde, anstatt eine Kopie des Arrays zurückzugeben. Ich habe einige Vorlagen erstellt, um die Konvertierun...
17.12.2008, 12:03
2
Antworten

Defensive Programmierung und Ausnahmebehandlung

Vor ein paar Tagen habe ich folgende theoretische Fragen zur Prüfung: (a) Erklären Sie, was defensive Programmierung im Umgang bedeutet    außergewöhnliche Umstände, die während der Ausführung eines a auftreten können   Programm. Sie können auf...
22.09.2011, 17:58
8
Antworten

So vermeiden Sie Keylogger bei der Authentifizierung des Zugriffs

Was ist laut dem Titel wirklich genau das, was man tun kann, um die Schlüssel- / Tastenanschlag-Protokollierung bei der Authentifizierung des Zugriffs zu umgehen? Ich habe gerade eine verwandte Frage gepostet ( how-to-store-und-verify-digits-...
02.08.2010, 14:42