it-swarm.com.de

Absichtlich nervige Benutzer, um bestimmte Verhaltensweisen zu entmutigen. Ist das eine schlechte Idee?

In meiner Software deaktivieren einige Benutzer absichtlich bestimmte Sicherheitsbestimmungen oder praktizieren schlechte Sicherheitspraktiken (z. B. das Ausführen der Software als root/admin). Im ersteren Fall gibt es einige legitime Gründe dafür (z. B. während der Entwicklung), aber im Allgemeinen ist es eine schlechte Idee. Für den zweiten gibt es keinen guten Grund.

Im Falle der Deaktivierung von Sicherheitsmaßnahmen habe ich Benutzer absichtlich mit einem Popup verärgert, das jedes Mal, wenn sie sich anmelden, im Benachrichtigungsbereich meiner Software angezeigt wird, ohne dass die Option besteht, nicht erneut angezeigt zu werden (einige kleinere Funktionen sind ebenfalls deaktiviert) Wenn Sie es als Administrator ausführen, wird der Start absichtlich um 5 Sekunden verzögert und dem Benutzer eine Meldung angezeigt, dass er dies nicht tun sollte. Gleiches gilt, wenn die Software nicht ordnungsgemäß heruntergefahren wird.

Gibt es eine bessere Möglichkeit, mit Benutzern umzugehen, die Dinge tun, die Sie wirklich nicht wollen (aber für kurze Zeit und unter bestimmten Umständen, die sie möglicherweise brauchen/wollen), ohne sie absichtlich zu ärgern?

23
PhonicUK

Was ist mit dem Zurücksetzen auf das sichere Verhalten nach einem angemessenen Intervall?

Zum Beispiel haben Autos einige Funktionen, die Sie bei Neustarts "eingeschaltet" lassen dürfen, andere (z. B. Tempomat, Sitzheizungen) müssen jedoch bei jedem Start des Autos wieder aktiviert werden.

In Ihrem System können Sie die Sicherheitsmaßnahmen beim Abmelden wieder aktivieren, wenn es wirklich so gefährlich ist, sie abzubrechen.

Sie können sie auch für eine bestimmte Zeit auffordern, wenn sie aufgefordert werden, die Maßnahmen zu deaktivieren. LastPass führt Folgendes aus: "Fordern Sie mich (X) Minuten lang nicht zur Eingabe meines Kennworts auf" ist eine Option, die verfügbar ist, wenn Sie Ihr Kennwort eingeben. Sudo funktioniert auch so und fragt nur nach Ihrem Passwort, wenn es in den letzten 5 Minuten nicht verwendet wurde.

22
Alex Feinman

Ärgerliche Benutzererlebnisse sind kaputte Benutzererlebnisse, gut gemeint oder nicht.

Warum der Kampf im Workflow? Warum schalten die Benutzer die Sicherheit aus? Können sie etwas tun, was sie sonst nicht können?

Warum sollten sie nicht tun, was sie tun? Sollten sie in der Lage sein, die Sicherheit auszuschalten? Gibt es eine Genehmigungslösung?

Zu verstehen, warum Ihre Benutzer das tun, was sie tun, ist die Wurzel der Lösung dieses Problems. Weder Sie noch der Benutzer möchten sich ständig ärgern/ärgern. Ich bin mir sicher, dass ich hier nicht das ganze Bild haben werde, aber ich würde empfehlen, diese Erfahrung mit Recherchen zu lösen, um zu verstehen, was passiert, und das Interaktionsdesign neu zu bewerten.

22
Leslie M

Alles, was Sie beschrieben haben, wird durch das Prinzip des geringsten Privilegs angesprochen.

Wenn es keinen legitimen Grund für den Start Ihrer Software als privilegierter Benutzer gibt, lassen Sie sie den Start einer Konfiguration, die es ihr ermöglicht, Berechtigungen nach dem Start zu löschen, sofort ablehnen (oder fordern). Dies ist ein höfliches Verhalten, da es verhindert, dass Ihre Software zu einer Angriffsfläche wird, wenn sie falsch konfiguriert oder aktualisiert wird.

Sie müssen sich jedoch Zeit nehmen, um darüber nachzudenken , warum Benutzer möchten, dass das Programm mit Berechtigungen ausgeführt wird. Was wäre für sie einfacher, wenn sie es tun würden? Ist der Installationsprozess unvollständig oder verwirrend?

In Ihrer zweiten Ausgabe beschäftigen Sie sich mit der Trennung von Bedenken. Ich gehe von folgender Annahme aus:

  • Administratoren tun normalerweise nichts, was Entwickler tun würden
  • Entwickler benötigen eine Teilmenge der Administratorfunktionen und zusätzliche Funktionen für Entwicklungsvorgänge

Sie sollten keine Personenschaltflächen anzeigen, die nicht gedrückt werden sollen. Wäre es sinnvoll, über den Administrator hinaus einen separaten Benutzertyp zu haben, der die zentrale Authentifizierung für eine vordefinierte Zeitspanne deaktivieren könnte, die automatisch zurückgesetzt würde? Vielleicht ein Dropdown von 15 Minuten, 30 Minuten, 1 Stunde? Könnte ihre Benutzeroberfläche so unterschiedlich sein, dass sich Benutzer nicht nur als Entwickler anmelden, um ein Administrator zu sein, der diese Einstellung ändern könnte?

Wenn Sie dies tun könnten, wäre Ihre Software auch höflich, da sie automatisch auf eine sichere Konfiguration zurückgesetzt wird, wenn ein abwesender Entwickler vergessen hat, dies manuell zu tun.

Selbst ohne komplexere ACLs müssten Sie keine störenden Warnungen anzeigen, wenn die zentrale Authentifizierung nur für eine begrenzte Zeit deaktiviert werden könnte. Eine Verschlechterung anderer Funktionen in diesem Zustand kann jedoch sinnvoll sein - abhängig davon.

Es wird immer Benutzer geben, die darauf bestehen, gefährliche Dinge im Namen von {Apathie, Ignoranz, Vergiftung usw.} zu tun. Sie können sie nicht aufhalten, sondern nur so elegant verlangsamen, wie es der Arbeitsablauf zulässt.

Ich würde empfehlen, Entwickler von Administratoren zu trennen, aber das einfache Anschließen eines Timers an den zentralen Authentifizierungsbypass wäre eine gute sofortige Lösung.

10
Tim Post

Leslie M sagte

Warum schalten die Benutzer die Sicherheit aus?

Benutzer sind faul. Zeitraum. Das richtige Einrichten der Sicherheit ist häufig keine triviale Aufgabe, daher vermeiden Benutzer den Ärger:

"Warum sollte ich mich an der Einrichtung meiner Sicherheit beteiligen, wenn die Software mit deaktivierter Sicherheit einwandfrei läuft?"

Grundsätzlich gibt es also einen einfachen Kosten-Nutzen-Kompromiss zwischen den Benutzern:

Szenario 1: Ich führe die Software ohne Sicherheit aus. Vorteil: 1) Software läuft, 2) kein Ärger mit Sicherheitseinstellungen, subjektive Zielerreichung: 100% Kosten: Minimum.

Szenario 2: Ich führe die Software mit der richtigen Sicherheit aus. Vorteil: 1) Software läuft, Zielerreichung: 100% Kosten: 1) Sie müssen sich über Sicherheitseinstellungen informieren und diese korrekt anwenden. 2) Möglicherweise treten Probleme mit falschen Einstellungen auf, die nicht direkt angezeigt werden (z. B. "Wie lautete das Kennwort erneut?!"). )

Anscheinend ist der subjektive Nutzen für den Benutzer in beiden Szenarien gleich. Die Frage ist daher:

  1. Können Sie die subjektiven Kosten für den Benutzer in Ihrem bevorzugten Szenario (Nr. 2) reduzieren? Und können Sie es auf oder unter die Kosten für Szenario 1 reduzieren?

  2. Können Sie die subjektiven Kosten für den Benutzer im entmutigten Szenario (Nr. 1) erhöhen?

Subjektive Kosten oder Nutzen können auf viele Arten beeinflusst werden: Große rote Aussagen in der Dokumentation "Sie werden wahrscheinlich in kürzester Zeit gehackt, wenn Sie die empfohlenen Sicherheitsmaßnahmen nicht anwenden" können das wahrgenommene Kosten-Nutzen-Verhältnis bereits in Ihr Dokument verschieben bevorzugte Richtung.

Eine bessere Lösung wäre natürlich, die subjektiven Kosten in Szenario 2 zu reduzieren. Möglicherweise kann ein Installations-/Konfigurationstool oder ähnliches bereitgestellt werden, um dem Benutzer die Übernahme der "richtigen" Verfahren zu erleichtern.

Immerhin denke ich, dass es ein etwas kindischer, aber wahrscheinlich effektiver Ansatz ist, den Weg des Ärgers zu gehen: "Ok, wenn Sie versuchen, faul/klug zu sein und die empfohlenen Verfahren zu vermeiden, werde ich Sie absichtlich nerven, bis Sie Ihre überdenken müssen Entscheidung."

Wie bereits erwähnt, ist dies wahrscheinlich nicht die beste Lösung für die Benutzererfahrung und wird wahrscheinlich tatsächlich negative Auswirkungen auf einen bestimmten Prozentsatz der Benutzer für Sie oder Ihre Software haben, aber es muss anscheinend ein Kompromiss geschlossen werden.

4
JimmyB

Im Kontext der meisten Software klingt das, was Sie tun, durchaus vernünftig, sicherlich sogar eine gute Idee. Ich mache das genau so mit Software, die ich geschrieben habe und die MySQL-Konten usw. erstellen muss, dem Prinzip des am wenigsten privilegierten Benutzers, wie von jemand anderem erwähnt.

Es hört sich jedoch so an, als würden Sie über die Steuerung von Minecraft-Servern sprechen

Persönlich besitze ich eine Kopie des Spiels. Wenn ich jedoch mit Freunden spiele und jemand vorbei ist, der keine Kopie hat, habe ich einen Build geändert, um die Authentifizierung zu überspringen, nur für diese Instanz des Spiels. Ich persönlich würde keine Software verwenden, um einen Server zu steuern, der mich ständig nervt, wenn ich genau weiß, warum ich geknackte Kopien des Clients zulasse, der eine Verbindung zu meinem Server herstellt.

Sie sagen "Umgang mit Benutzern, die Dinge tun, die sie wirklich nicht tun sollen", aber meiner Meinung nach sollten die Bedürfnisse (und Eckfälle) der Verwendung zusätzlich zu Ihren Ansichten zur Ethik des Software-Crackings berücksichtigt werden.

1
EricR

Benutzern etwas aufzuzwingen, das sie nicht wollen, ist das Ärgerlichste, was ein Entwickler oder ein System tun kann. Ich gehe davon aus, dass dies ein Hobbyprojekt ist und Sie das Gefühl haben, im Namen Ihrer Benutzer zu entscheiden. Dies kommt normalerweise von Entwicklern/Administratoren mit autokrativen Tendenzen - ich habe viele von ihnen in meiner beruflichen Laufbahn getroffen. Die meiste Zeit läuft alles darauf hinaus, dass die Leute im Kopf haben, dass sie etwas durchsetzen müssen. Fast immer habe ich herausgefunden, dass es keine wirklichen Gründe für bestimmte "Sicherheitsmaßnahmen" gibt.

Wie vor einem Monat hat meine Bank weitere Sicherheitsmaßnahmen eingeführt, um sich in ihr Online-Banking-System einzuloggen. Es ist ärgerlich für mich - die erste Reihe von Sicherheitsmaßnahmen war genug für Leute, die Regeln befolgen, AV aktualisiert haben, nicht auf den zwielichtigen Websites surfen und im Allgemeinen klug genug sind. Aber weil es nur einen kleinen Prozentsatz von Verzögerungen und Inkompetenzen gibt, muss jetzt jeder mit den neuen nervigen Sicherheitsmaßnahmen auskommen. Die Bank bietet nicht an, es auszuschalten.

Ein weiteres Beispiel: MailChimp hat gerade auch neue Sicherheitsmaßnahmen eingeführt. Sie müssen jetzt drei (3!) Fragen zum Zurücksetzen der Sicherheit/des Kennworts stellen. Ich meine, ernsthaft?

Ich habe begonnen, nach Software zu suchen, die diese dummen Sicherheitsüberschreitungen nicht einführt, und werde dies auch für die von mir entwickelte Software tun.

Natürlich ist etwas Sicherheit wichtig, aber wir müssen vernünftig bleiben.

1
mare