Werden alle Sicherheitsbedrohungen durch Softwarefehler ausgelöst?

13

Die meisten Sicherheitsbedrohungen, von denen ich gehört habe, sind auf einen Fehler in der Software zurückzuführen (z. B. werden alle Eingaben nicht ordnungsgemäß auf ihre Richtigkeit überprüft, Stapelüberläufe usw.). Wenn wir also alle sozialen Hacker ausschließen, sind alle Sicherheitsbedrohungen auf Fehler zurückzuführen? Mit anderen Worten, wenn es keine Bugs gäbe, gäbe es dann keine Sicherheitsbedrohungen (wiederum ohne die Fehler von Menschen wie das Offenlegen von Passwörtern und dergleichen)? Oder können Systeme auf eine Weise ausgenutzt werden, die nicht durch Fehler verursacht wird?

gablin
quelle
4
Nennen Sie die Möglichkeit, dass ich ein schwaches Passwort erraten könnte, einen Software-Fehler? Wenn überhaupt, ist es ein Designproblem, aber wahrscheinlich noch grundlegender.
Joachim Sauer
4
Würden Sie schlechtes Design als Fehler definieren?
StuperUser
1
Um @StuperUser zu unterstützen, gibt es im Link " security.stackexchange.com/questions/25585/… " keinen Fehler in Daves Skript. Aber es ist dummes Design.
Manoj R
1
Wenn wir alle Gründe für Sicherheitsprobleme mit Ausnahme von Fehlern ausschließen, dann ja.
Andho

Antworten:

25

Ein Fehler ist definiert als Software, die nicht den Spezifikationen entspricht. Wenn nun Spezifikationen fehlerhaft sind, handelt es sich nicht um einen Softwarefehler. Wenn ein dummer Kunde verlangt, dass alle Passwörter dreistellige Codes ohne Nachfrist zwischen fehlerhaften Eingaben sein müssen, ist nicht die Software schuld.

Viele Systeme verfügen über einen "Servicemodus", der die Sicherheit außer Kraft setzen kann. Der Zugriff darauf sollte zwar sicher sein, die Codes werden jedoch häufig der Öffentlichkeit zugänglich.

Fortschritte in der Mathematik gefährden alte Kryptografiemethoden. Was vor 30 Jahren Sicherheit bot, wird heute schwach.

Es gibt verschiedene Methoden des Datendiebstahls, die häufig übersehen werden. Eine drahtlose Tastatur hat aufgrund winziger Antennen eine Reichweite von ca. 2 m, und der gesendete Code ist unverschlüsselt. Mit einer guten Antenne von der anderen Straßenseite aus zu lesen, ist eine bekannte Methode.

Manchmal werden Sicherheitskompromisse mit vollem Bewusstsein für die Konsequenzen geschlossen - Kryptosysteme verbrauchen Strom und CPU-Zeit. Eingebettete Überwachungsanwendungen senden ihre Daten häufig auf eine Weise, die für die Öffentlichkeit klar lesbar ist, da erstens die Gefährdung der Daten vernachlässigbar ist und dann die zusätzlichen Kosten für die Implementierung der Sicherheit unnötig sind.

Alle Sicherheit basiert auf Vertrauen. Der bestellte Administrator benötigt kein Social Engineering, um Ihre E-Mails zu lesen.

Und kann man am Ende in Betracht ziehen, einen Baseballschläger auf ein Knie anzuwenden, eine soziale Technik?

SF.
quelle
2
"wenn die spezifikationen fehlerhaft sind, ist es nicht der fehler" hm dieser wortlaut klingt rutschig. Ich würde stattdessen "es ist Bug in Spec" sagen . Als Tester habe ich einige Dutzend solcher Fehler erfolgreich behoben und überprüft. Und als Entwickler hatte ich eine Chance , einige solcher „spec Bugs“ von Testern gegen API - Dokumentation berichtet zu beheben ich halten zugewiesen wurde ...
gnat
8
@gnat - Ein "Bug in der Spezifikation" ist jedoch kein Software- Bug, sondern ein Design- Bug. Es sei denn, Sie könnten das Design als Teil der Software natürlich. Es hängt alles davon ab, wo Sie die Linie zeichnen.
ChrisF
1
@ChrisF: Danke, dass du mir gesagt hast, was ich sagen wollte, aber nicht wusste, wie. Bearbeitete Antwort zur Verdeutlichung.
SF.
Es ist nicht immer klar, dass ein bestimmtes Merkmal, das in einer Spezifikation niedergeschrieben ist, ein Fehler ist.
Doc Brown
1
@DocBrown: Ja - manchmal ist eine Reduzierung der Sicherheit als Kompromiss zwischen Kosten und Leistung erforderlich ...
SF.
12

Es kann auch Situationen geben, in denen Hardware-Fehler Sicherheitsprobleme verursachen. Stellen Sie sich einen fehlerhaften RAM-Chip vor, der das Bit "isAdmin" spontan umdreht.

Oder stellen Sie sich einen hypothetischen Hardwarefehler vor, bei dem der Speicherschutz nicht wie erwartet funktioniert und ein Prozess den Speicher eines anderen Prozesses überschreiben kann, ohne einen Interrupt auszulösen.

Für Ihr Lesevergnügen: Computersicherheit durch Hardwareausfall beeinträchtigt

user281377
quelle
Wie hoch ist die Wahrscheinlichkeit, dass der RAM-Chip genau den isAdmin spiegelt?
m3th0dman
1
Sehr klein, offensichtlich, aber wenn es passiert, ist es ein Sicherheits-Thread, der nicht durch einen Software-Fehler verursacht wurde.
user281377
Es ist durchaus möglich, dass ein Computersystem die Berechtigungsbits für zufällige Dateien beschädigt. Eine Datei, die global beschreibbar und SUID-Root ist, kann einfach bearbeitet werden, um die Benutzerberechtigungen zu erhöhen.
SF.
@ user281377 Sie erkennen, dass die Wahrscheinlichkeit, dass nur das Bit isAdmin aus allen Bits ausgewählt wird, 1/34359738368 für einen Computer mit 4 GB RAM beträgt. Dies ignoriert die Wahrscheinlichkeit für ein falsches Umdrehen des Chips.
m3th0dman
@ m3th0dman Du verstehst mich wahrscheinlich falsch. Ich sage nicht, dass dies ein großes Problem ist, um das sich jeder kümmern muss. Es ist eher ein theoretischer Beweis dafür, dass ein Hardwareproblem einen Sicherheits-Thread erzeugen kann . Es ist jedoch vorstellbar, dass ein Angreifer, der die fehlerhaften Bits auf einem Server entdeckt, Möglichkeiten findet, seine Eingaben aufzufüllen, bis auf diesen Speicherplätzen etwas Kritisches abgelegt ist.
user281377
6

Viele Sicherheitsbedrohungen gehen von Softwarefunktionen aus, nicht von Fehlern. Viele sehr nützliche Softwarefunktionen haben, abhängig von der Absicht des Benutzers, einen Nutzen für das Gute oder das Böse.

ddyer
quelle
Die Abkürzung eines Mannes ist die Hintertür eines anderen.
Daniel Hollinrake
5

Betrachten Sie einen verteilten Denial-of-Service-Angriff (DDOS). Dies kann ein Sicherheitsrisiko darstellen, das jedoch nicht durch einen Softwarefehler, sondern durch einen Angreifer verursacht wird, der die Grenzen des Systems überschreitet. Und jedes System hat eine Grenze.

Die Antwort auf Ihre Frage lautet also: Nein, nicht alle Sicherheitsbedrohungen werden durch Softwarefehler ausgelöst.

Pieter B
quelle
Ist es ein Sicherheitsrisiko ? Es kann sicherlich brechen Ihre Website , aber es kann die brechen Sicherheit Ihrer Website?
Carson63000
1
Das hängt davon ab, wie weit oder eng Ihre Definition des Sicherheitsrisikos ist.
Pieter B
4

Soziale Entwicklung.

Hallo, ich bin XX aus der IT-Abteilung. Ihr Computer verbreitet derzeit Viren auf andere Bürocomputer. Ich benötige Ihren Benutzernamen und Ihr Passwort, um sie entfernen zu können.

Wenn der Hacker den Benutzernamen / das Passwort hat, kann er sicher Trojaner usw. installieren.

Social Engineering kann auf verschiedene Arten angewendet werden, und die Umgehung der Sicherheit ist nur eine davon.

jgauffin
quelle
4
Ein wahrscheinlicher Grund dafür, dass dies nicht mehr gewürdigt wird, ist, dass der Fragesteller "Social Hacking" explizit ausgeschlossen hat.
Joachim Sauer
@ JoachimSauer Guter Punkt. Hab das nicht gesehen.
Jgauffin
3

Wie wäre es mit Firesheep , dem Firefox-Addon, das Cookies stiehlt, die in einem gemeinsam genutzten drahtlosen Netzwerk übertragen werden?

Sie könnten argumentieren, dass die Anfälligkeit für solche Angriffe ein Fehler ist, aber Sie könnten auch dagegen argumentieren. Es gibt nicht viel, was eine Website tun kann, um zu verhindern, dass Benutzer kompromittiert werden. Sie müssen lediglich die gesamte Kommunikation über HTTPS ausführen. Können Sie sagen, dass es ein Fehler ist, die HTTP-Kommunikation auf Ihrer Website zu akzeptieren?

Carson63000
quelle
1
Ich würde die Entscheidung, wichtige, private Informationen über ein unverschlüsseltes Medium zu übertragen, als Designfehler einstufen. Ob dies als "Softwarefehler" zu werten ist, wird meiner Meinung nach gesondert diskutiert.
Joachim Sauer
@JoachimSauer, was ist, wenn Ihre Website die Übertragung von Informationen über HTTP verweigert und tatsächlich eine MITM HTTP auf HTTPS abbildet? Während Browser HTTP unterstützen und Router es zulassen, dass HTTP durchgelassen wird, besteht eine Sicherheitsanfälligkeit für Sniffing, die nur von äußerst sicherheitsbewussten Clients vermieden werden kann. Es stellt sich also wirklich die Frage: Ist es ein Fehler für Webbrowser, HTTP zu unterstützen?
Peter Taylor
@PeterTaylor: Für dieses Problem gibt es HTTP Strict Transport Security , die im Grunde dafür sorgt, dass der Browser weiß, dass Ihre Website nur über eine sichere Verbindung besucht werden sollte. Außerdem: Der Fragesteller schloss "Social Hacking" ausdrücklich aus und kann je nach Benutzer das Ignorieren einer ungesicherten Leitung als in diesem Aspekt enthalten betrachten.
Joachim Sauer
@JoachimSauer Was ist, wenn ich einfach den gesamten Datenverkehr auf die Strict Transport-Site übertrage, aber HTTP-Verbindungen zurück zu den Clients zulasse?
Joshua Drake
@JoachimSauer: In der Tat stimme ich dir zu. Es sind unkluge Architekturentscheidungen, die diese Sicherheitsanfälligkeit verursachen. Nicht alles, was falsch im Code implementiert ist, was ich als "Bug" bezeichnen würde.
Carson63000
1

Ja, sofern ein Fehler in der Sicherheit der Software - aus welchen Gründen auch immer - ein Fehler der Software ist, ihre Anforderungen zu erfüllen.

Ich akzeptiere, dass dies nur eine Tautologie ist, aber das ist das Maß dafür.


quelle
Manchmal ist Sicherheit einfach keine (definierte) Anforderung. Und wenn es nach der Sicherheitsverletzung in die Liste der Anforderungen aufgenommen wird, würde ich es nicht als "Fehler" bezeichnen.
Joachim Sauer
Nur weil eine Anforderung zu Beginn eines Projekts nicht ermittelt wurde, bedeutet @JoachimSauer nicht, dass sie nicht erforderlich war. Die Softwareindustrie hat länger als mein Leben damit verbracht, sich mit dieser Tatsache auseinanderzusetzen.