Alle Rechner fangen mit Hardware an, die einer Software Möglichkeiten eröffnet. Umgekehrt wird kein Schuh draus. Ich bin mir sicher, dass viele Störungen im Internet nur deshalb möglich sind, weil Prozessoren (oder Hardware allgemein), schlecht konstruiert wurden. Die Störungs-Software nutzt dann nur die vorhandenen Schwächen aus.
Das Nächstliegende ist dann, von vornherein Hardware zu bauen, die sofort merkbare Störungen verursacht, oder unmerkliche Spionage betreibt.
Benutzer wird von Ihnen ignoriert. Anzeigen
Was kann der Baum dafür, dass du dir einen Knüppel aus seinem Holz schnitzt und Leute verprügelst? Der Baum muss offenbar schlecht gewachsen sein.
Eine CPU stellt lediglich die "Knetmasse" dar, der Programmier kann dann daraus formen, was er will (die Transistoren in die gewünscht "Stellung" bringen).
Wäre ja noch schöner, wenn die CPU mir schon vorher Sachen verbietet.
Benutzer wird von Ihnen ignoriert. Anzeigen
Genau diese Sichtweise meinte ich. Eine CPU erlaubt einer Software in vorgegeben Grenzen zu agieren. Was nicht geht, kann die Software auch nicht möglich machen. Alles andere sind kindliche Allmachtsträume.
Natürlich kannst du mit einem Auto in den Urlaub fahren, oder gegen einen Baum. Beides ist möglich, aber fliegen wird das Auto nicht.
Benutzer wird von Ihnen ignoriert. Anzeigen
Es kann mathematisch gezeigt werden, dass die Gatter, die eine heute üblicher CPU zur Verfügung stellt, ausreichen, um alle mathematisch lösbaren Probleme zu simulieren bzw. zu lösen (Zeitaufwand ist eine andere Frage).
Ich weiß nicht, was du uns sagen willst... Möchtest du, dass die Hersteller heute anfangen, ihre Hardware zu beschneiden, so dass ab sofort weniger möglich ist?
Benutzer wird von Ihnen ignoriert. Anzeigen
Wie kommst du zu diesem Schluss?
Ich habe gesagt, dass Software nur nutzen kann, was die Hardware vorgibt. Ist die Subtraktion nicht eingebaut, so gibt es kein Programm, das subtrahieren könnte. Umgekehrt, wenn die Hardware unsauber konstruiert wurde und -unter bestimmtem Randbedingungen- Störungen verursacht, so lässt sich jederzeit ein Programm schreiben, das genau "diese" Störung provoziert. Dafür gibt es genug Beispiele.
Benutzer wird von Ihnen ignoriert. Anzeigen
Die CPU kann bestenfalls Sicherheits-Features unterstützen.
Sicherheit der Anwendung ist bei offenen Systemen wie PC es sind immer Aufgabe der Software.
Benutzer wird von Ihnen ignoriert. Anzeigen
> Ich habe gesagt, dass Software nur nutzen kann, was die Hardware vorgibt.
> Ist die Subtraktion nicht eingebaut, so gibt es kein Programm, das
> subtrahieren könnte.
So lange ich negative Integer-Werte addieren kann, kann ich auch subtrahieren. Und wenn man das abklemmt, kann ich gleich auf einen Schlag so viele Dinge nicht mehr tun, dass der "Prozessor" auch für sämtlichen "guten" Kram unbrauchbar wird.
Auf der Granularitätsebene von CPU-Opcodes zwischen "gutem" und "schlechtem" Funktionsumfang zu unterscheiden ist ein aussichtsloses Unterfangen. Ganz abgesehen davon, dass ich mir, so lange ich binäres AND, OR und NOT sowie Speicherzugriffe zur Verfügung habe, jederzeit selbst z.B. einen Addierer zusammenbauen können müsste.
> Umgekehrt, wenn die Hardware unsauber konstruiert
> wurde und -unter bestimmtem Randbedingungen- Störungen verursacht, so lässt
> sich jederzeit ein Programm schreiben, das genau "diese" Störung
> provoziert. Dafür gibt es genug Beispiele.
Es gibt Beispiele für Fehler in Prozessoren, die in bestimmten Situationen auftreten können und eine irreguläre Ausführung von Software zur Folge haben. Es gibt aber meines Wissens KEIN EINZIGES Beispiel davon, dass ein solcher Fehler jemals in einer Malware genutzt worden wäre. Könnte daran liegen, dass diese Hardware-Bugs oft nur mit extremer Gewalt über lange Zeit provoziert werden können (etwa weil sie statistisch nur bei jeder x-Billiardsten Verwendung einer bestimmten Kette von Operationen auftreten), oder auch daran, dass die Folgen meistens auf Rechenfehler beschränkt sind. Und Rechenfehler zu provozieren in Code, den man eh schon unter totaler Kontrolle hat, ist reichlich witzlos...
Benutzer wird von Ihnen ignoriert. Anzeigen
Auch in geschlossenen Systemen ist dies Aufgabe der Software. Denn die CPU (die hier immer genannt wird) erledigt keine Aufgaben und löst keine Problemstellungen. Die macht nichts anderes als einzelne Operationen aus zu führen. Der Zusammenhang mehrerer Operationen erkennen die CPU's nicht. Sie erraten höchstens oder Cachen vorher zwischen, um weiterführende einzelne Operationen schneller ausführen zu können. Landläufig auch als Optimierung bekannt ;)
Das was du meinst, sind ganze Programme die in Hardware gegossen wurden. Die CPU kann dann nur diese ausführen. Ist aber unflexibel. Sinnvoller ist es, wenn die Hardware nur das aller nötigste kann und der Rest von der Software übernommen wird. Dabei unterscheiden wird generell von 2 Softwaretypen. Die Firmware und die Anwendung. Die Firmware steuert die Hardware direkt.
Heutige Hardware macht fast alles über die Firmware. Vorteil des ganzen ist es, das durch ein Update der Firmware "Hardware-Bugs" (man beachte die Anführungszeichen) gefixt oder der neue Features hinzugefügt werden können.
Anwendungen (vermeintlich Treiber, OS und sonstige Anwendungen) nutzen die Hardware entsprechend das was ihnen die Firmware zur Verfügung stellt. Wieviel die Firmware einer Anwendung zur Verfügung stellt, hängt vom Hersteller selbst ab.
Benutzer wird von Ihnen ignoriert. Anzeigen
Sicherheitslücken in einem Programm sind "ein weiteres Thema". Wenn es möglich ist, einen Browser in einer Endlosschleife zu zwingen, ständig ein neues Fenster zu öffnen, ohne Möglichkeit, den Prozess als Störung zu identifizieren, dann werden eben unzählige Fenster geöffnet und der Rechner ist zu nichts mehr zu gebrauchen. Das ist nur "ein" Beispiel für eine Programmschwäche. Wenn diese Möglichkeit bekannt ist, wird man ein gezieltes Programm-Update schreiben, das solche Aktionen unterbindet. Somit hängt die Sicherheit eines Rechners auch vom sicheren Programmablauf ab. Aber darum ging es ja nicht.
Benutzer wird von Ihnen ignoriert. Anzeigen
Raumzeitkrümmer schrieb:
--------------------------------------------------------------------------------
> Natürlich kannst du mit einem Auto in den Urlaub fahren, oder gegen einen
> Baum. Beides ist möglich, aber fliegen wird das Auto nicht.
Echt schlechter Vergleich ...
http://www.golem.de/1009/77848.html
Benutzer wird von Ihnen ignoriert. Anzeigen
Ampel schrieb:
--------------------------------------------------------------------------------
> Raumzeitkrümmer schrieb:
> ---------------------------------------------------------------------------
> -----
> > Natürlich kannst du mit einem Auto in den Urlaub fahren, oder gegen
> einen
> > Baum. Beides ist möglich, aber fliegen wird das Auto nicht.
>
> Echt schlechter Vergleich ...
>
> www.golem.de
Auto vergleiche sind nur gut wenn man über Autos redet. Ansonsten sind Auto vergleiche doch eigentlich immer schlecht.
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich kann natürlich auch ein komplizierteres Hardware-Beispiel bringen:
Nehmen wir einen alten Münzautomaten. Prozessor mit Software hatte das Gerät nicht. Es war eine sich selbst steuernde Hardware.
Man warf eine Münze in den Schacht, die rutschte bis zu einem Endschalter. Jetzt konnte man eine Nummer wählen und wenn die Gegenseite abhob, kam das Signal zurück und eine Uhr setzte sich in Bewegung. Nach Ablauf der Uhr wurde die Münze freigegeben, sie fiel in die Kasse und das Gespräch würde (mangels Münze) beendet.
Eines Tages kam jemand auf die Idee, einen Bindfaden an die Münze zu kleben. Jetzt passierte alles wie vorher auch, aber zum Schluss fiel die Münze nicht in die Kasse und da sie immer noch im Schacht lag, ging das Gespräch weiter. Schlimmer noch, wenn man selbst keine Lust mehr hatte, konnte man die Münze sogar wieder herausziehen.
Dieses Gerät war Hardware und hatte sicher auch einen Steuerungsablauf, aber keine Software. Allein durch einen Gedankenfehler des Entwicklers ergab sich die Möglichkeit eines störenden Eingriffs.
Auch Steuerungsabläufe in einem Prozessor können zu Fehlverhalten führen, die, wenn sie bekannt sind, von einer Software genutzt werden können, ohne dass ein Softwarefehler vorliegt.
Benutzer wird von Ihnen ignoriert. Anzeigen
Raumzeitkrümmer schrieb:
--------------------------------------------------------------------------------
> Ich kann natürlich auch ein komplizierteres Hardware-Beispiel bringen:
>
> Nehmen wir einen alten Münzautomaten. Prozessor mit Software hatte das
> Gerät nicht. Es war eine sich selbst steuernde Hardware.
>
> Man warf eine Münze in den Schacht, die rutschte bis zu einem Endschalter.
> Jetzt konnte man eine Nummer wählen und wenn die Gegenseite abhob, kam das
> Signal zurück und eine Uhr setzte sich in Bewegung. Nach Ablauf der Uhr
> wurde die Münze freigegeben, sie fiel in die Kasse und das Gespräch würde
> (mangels Münze) beendet.
>
> Eines Tages kam jemand auf die Idee, einen Bindfaden an die Münze zu
> kleben. Jetzt passierte alles wie vorher auch, aber zum Schluss fiel die
> Münze nicht in die Kasse und da sie immer noch im Schacht lag, ging das
> Gespräch weiter. Schlimmer noch, wenn man selbst keine Lust mehr hatte,
> konnte man die Münze sogar wieder herausziehen.
>
> Dieses Gerät war Hardware und hatte sicher auch einen Steuerungsablauf,
> aber keine Software. Allein durch einen Gedankenfehler des Entwicklers
> ergab sich die Möglichkeit eines störenden Eingriffs.
>
> Auch Steuerungsabläufe in einem Prozessor können zu Fehlverhalten führen,
> die, wenn sie bekannt sind, von einer Software genutzt werden können, ohne
> dass ein Softwarefehler vorliegt.
das erklärt aber nach wie vor nciht, was du mit diesem thread bezweckst.
würden sämtliche sicherheitsprobleme der letzten jahre auf der hardware basieren undn icht auf der software, ok. aber das ist ja nunmal nicht der fall. dies hardware arbeitet in dem bereich recht gut und die lücken liegen eigentlich immer auf softwareseite.
also ich versteh es nicht.
Benutzer wird von Ihnen ignoriert. Anzeigen
Raumzeitkrümmer schrieb:
--------------------------------------------------------------------------------
> Ich habe gesagt, dass Software nur nutzen kann, was die Hardware vorgibt.
> Ist die Subtraktion nicht eingebaut, so gibt es kein Programm, das
> subtrahieren könnte.
Bullshit: a - b = a + not(b) + 1
next try...
Natürlich sind HW bugs möglich, aber die SW kann Sie in den meisten Fällen umgehen. Das gilt insbesondere für die CPU.
Problematischer wird es wenn die Perepherie scheiße baut, also man den Ethernet controller mit einem bestimmten Paket dazu bringen kann, irgendwelche teile des Hauptspeichers auszulesen und zu überschreiben. Bei FireWire OHCI gab's das Problem.
Ansonsten sind HW security bugs so Sachen wie dass z.B. eine Cyrix CPU als intel kompatibel verkauft wird aber dann doch nicht ist ... und die Intel SW darauf eben ein security loch veranstaltet. Mit modifizerter SW (gegen in dem Fall den F00F bug) kann man aber gegensteuern.
Benutzer wird von Ihnen ignoriert. Anzeigen
Raumzeitkrümmer schrieb:
--------------------------------------------------------------------------------
> Auch Steuerungsabläufe in einem Prozessor können zu Fehlverhalten führen,
> die, wenn sie bekannt sind, von einer Software genutzt werden können, ohne
> dass ein Softwarefehler vorliegt.
"Störungen im Internet", wie du in deinem ersten Beitrag schreibst, können damit aber nur in erster Linie zusammenhängen, wenn der Hacker seinem USB-Stick in das Rechenzentrum geht und dort einen Server direkt infiziert. Wenn man etwas über das Internet hackt, dann nutzt man immer Softwarelücken. Immer. Entweder Lücken in einem Server-Programm, wie beispielsweise dem FTP-Daemon, oder eben Lücken in der Firmware, wie beispielsweise in der Firmware der Ethernet-Karte, die dann den Hauptspeicher ausliest und zurückgibt (konstruiertes Beispiel hier aus dem Thread).
Wenn du anderer Meinung bist, dann nenn doch ein Beispiel für einen Hack, der auf Sicherheitslücken im Steuerungsablauf der Hardware basiert hat.
Benutzer wird von Ihnen ignoriert. Anzeigen
Raumzeitkrümmer schrieb:
--------------------------------------------------------------------------------
> Wie kommst du zu diesem Schluss?
>
> Ich habe gesagt, dass Software nur nutzen kann, was die Hardware vorgibt.
> Ist die Subtraktion nicht eingebaut, so gibt es kein Programm, das
> subtrahieren könnte. Umgekehrt, wenn die Hardware unsauber konstruiert
> wurde und -unter bestimmtem Randbedingungen- Störungen verursacht, so lässt
> sich jederzeit ein Programm schreiben, das genau "diese" Störung
> provoziert. Dafür gibt es genug Beispiele.
Eigentlich deutest du hier schon sehr gut an, was dein Denkfehler bei der ganzen Sache ist.
Die CPU stellt nur generische Basisfunktionen bereit. Es gibt auch keine vordefinierten Arbeitsabläufe anhand derer die CPU eine Sicherheitslücke erkennen könnte bzw. könnte man niemals auch nur einen Bruchteil davon abdecken. Die Frage ist auch wie die CPU das erkennen soll, bevor der Code ausgeführt wird.
2. Denkfehler: Was soll den eine solche CPU machen, wenn sie so etwas erkennt? Die CPU weiß noch nicht einmal was ein Prozess ist. Sie könnte höchstens einen Interrupt auslösen, damit sich das Betriebssystem darum kümmert, aber der wird nichts nützen, wenn die Operationen bereits ausgeführt wurden.
3. Denkfehler: Mal angenommen du könntest so eine CPU bauen, würden die ganzen Prüfungsfunktionen verursachen, dass deren Geschwindigkeit drastisch nach unten geht.
4. Denkfehler: Außerdem riskierst du, dass deine CPU Fehlmeldungen verursacht. Wie gut und zuverlässig heuristische Funktionen arbeiten, kannst du an jedem beliebigen Virenscanner beobachten, bei dem Heurismus auf Maximum steht.

Benutzer wird von Ihnen ignoriert. Anzeigen
Ausgangspunkt war doch die Meinung, Software kann alles, die Hardware gehorcht nur. An dieser Meinung hatte ich gekratzt, indem ich sagte, die Software kann nur auf Leistungen der Hartware zugreifen. Damit gibt die Hardware den Rahmen vor. Als Beispiel hierzu, nicht negieren zu können. A + B funktioniert, aber A + (-B) würde dann nicht klappen. Da gibt es keine Software, die das Ausbügeln könnte. Das war meine Gegenantwort.
Als "einen" Hardware-Fehler hatte ich den Münzautomaten genannt, der einen unerwünschten "Parallel-Betrieb" ermöglichte. Das gab es auch bei Telefonkarten. Solange das niemand wusste, lief ja auch alles perfekt. Als es "Schummlern" bekannt wurde, musste die Telekom alle Telefonhäuschen schließen. (Zur Erinnerung: eine kleine Lötbrücke am Chip simulierte stets eine volle Karte).
Andere Beispiele:
Wenn Cam und grüne Betriebsleuchte separat geschaltet werden können, so lässt sich die Cam ohne Wissen des Users betreiben.
Bei schlechten Routern mit FireWalls gibt es auch genug Möglichkeiten, Betriebsarten einzustellen, die nicht im Sinne des Erfinders sind. Das geht hin bis zu großen Switches.
Natürlich gibt es auch reine Softwareschwächen, angefangen bei der Möglichkeit unendlich viele Fenster öffnen zu lassen, so dass der Rechner lahm gelegt wird. Zu diesen "offensichtlichen" Störungen kommen dann noch die subtilen wie Spionage-Software, die vom User unbemerkt bleiben sollen. Vieles basiert davon auf "Löchern" in der Software (unerwünschter Parallelbetrieb).
Ich bin mir nicht sicher, aber vielleicht sind manche BotNetze auch nur durch Kombination von Hardware-, Software- und menschlicher Schwächen möglich. Wer sich Vorteile verschaffen will, wird Stillschweigen bewahren. Deshalb bleiben viele Möglichkeiten vor der Öffentlichkeit unbekannt (auch vom Hersteller geheimgehalten).
Benutzer wird von Ihnen ignoriert. Anzeigen
Wir kommen jetzt sehr weit vom Thema ab, trotzdem.
Meine Behauptung: Die Maschine ist das Programm.
Beispiel: Du hast zwei Radios, eines für UKW, das andere für MW. Das, was du "Programm" nennst, das ist die Möglichkeit zwischen dem einen oder anderen Radio umzuschalten. Gewöhnlich sind beide Radios in einem Gehäuse untergebracht und die jeweilige Nutzung wird durch einen Wahlschalter möglich.
Nichts anderes geschieht in einem Prozessor. Die Eingangsbytes entsprechen den Antennensignalen, die Ausgangsbytes dem, was am Lautsprecher heraus kommt.
Dein Programm, die Auswahl zwischen UKW und MW hat keinen "tiefgreifenden" Einfluss auf die internen Steuerungen. Da haben die Datenströme schon mehr Einfluss.
Benutzer wird von Ihnen ignoriert. Anzeigen
Kommentare: 286 | letzter Beitrag 04:51 Uhr
Kommentare: 229 | letzter Beitrag 21.05. 23:19
Kommentare: 211 | letzter Beitrag 21.05. 23:45
Kommentare: 206 | letzter Beitrag 01:47 Uhr
Kommentare: 153 | letzter Beitrag 00:55 Uhr
E-Mail an news@golem.de

Mit Web Components, die derzeit vom W3C standardisiert werden, kann sich jeder seine eigenen HTML-Elemente bauen - samt Aussehen und Logik - und sie wie Standardelemente in HTML-Dokumenten nutzen. Mit Googles neuer Bibliothek Polymer funktioniert das auch in den heute verfügbaren Browsern.

Das Tallinn-Manual der Nato, das im Cyberwar das Töten von Hackern erlaubt, beschäftigt jetzt auch die Bundesregierung. "Es obliegt nicht der Bundesregierung, eine breite gesellschaftliche Debatte über die Regeln zu führen", heißt es trocken.

Sandisk und Toshiba kündigen die Einführung eines neuen Herstellungsprozesses für Flash-Speicher an. Der von Sandisk als 1Ynm bezeichnete Prozess bringt mehr Speicherkapazität auf weniger Raum unter.

Microsoft hat erste Exklusivinhalte für die Xbox One vorgestellt. Neben dem Rennspiel Forza 5 fällt vor allem Halo auf, das noch nicht als Spiel, sondern als Serie von Steven Spielberg auf die Konsole kommt. Für Call of Duty: Ghosts gibt es Exklusivinhalte zuerst.

Die nächste Konsole von Microsoft heißt Xbox One. Sie wird mit einer neuen Version der Bewegungssteuerung Kinect ausgeliefert und soll die Unterhaltungszentrale im Wohnzimmer werden. Das Datenblatt verrät erste technische Details, und auch zum Erscheinungstermin hat der Hersteller sich geäußert.

Das mobile Internet der Deutschen Telekom ist bundesweit gestört. Nicht alle Anschlüsse sind betroffen. Laut Telekom ist das Software-Problem inzwischen behoben, es dauere aber einige Zeit, bis alle Verbindungen wieder laufen.