Thomas Koenig
2015-06-29 06:34:35 UTC
[F'up]
in die man mit C (und C++) reintappen kann, die in anderen
Programmiersprachen so nicht vorkommen können. CVE ist voll
davon, integer overflow ist nur eine Möglichkeit, use after
free was anderes.
Es ist schon ein bisschen komisch. In der Zeit, als die
grundlegenden Konzepte der Informatik entwickelt wurden,
waren die Computer viele Größenordnungen langsamer als heute.
Damals kann man verstehen, dass Geschwindigkeit vor Sicherheit
ging - die Kosten pro CPU-Zyklus waren einfach zu hoch. (Ob das
betriebswirtscahftlich wirklich richtig war, so lange nach
eigentlich vermeidbaren Fehlern zu suchen, sei mal dahingestellt).
Und was macht man mit dieser immensen Recchenpower? In
runtime-checks investieren, die die Programme sicherer machen?
Nein, man verbrät das mit Code Bloat.
Heutzutage wartet man locker so viele Taktzyklen auf das Starten
von Excel, wie eine PDP-11 in einem Jahr hatte. Das juckt keinen,
aber ein paar Zyklen für Laufzeit-Tests zu verbraten... das geht
ja gar nicht.
Ada existiert, sogar mit einem freien Compiler. Wer will, kann
problemlos eine deutlich sicherere Sprache wählen. Nur macht
es kaum jemand. Wieso eigentlich?
Wenn Du Code schreibst, der in C undefiniertes Verhalten hat, und gerne
definiertes Verhalten hättest, solltest Du vielleicht eine andere
Programmiersprache wählen. C ist nun mal die "the compiler will get its
revenge"-Sprache.
Da kann ich dir nur zustimmen. Es gibt genügend Fallen,definiertes Verhalten hättest, solltest Du vielleicht eine andere
Programmiersprache wählen. C ist nun mal die "the compiler will get its
revenge"-Sprache.
in die man mit C (und C++) reintappen kann, die in anderen
Programmiersprachen so nicht vorkommen können. CVE ist voll
davon, integer overflow ist nur eine Möglichkeit, use after
free was anderes.
Es ist schon ein bisschen komisch. In der Zeit, als die
grundlegenden Konzepte der Informatik entwickelt wurden,
waren die Computer viele Größenordnungen langsamer als heute.
Damals kann man verstehen, dass Geschwindigkeit vor Sicherheit
ging - die Kosten pro CPU-Zyklus waren einfach zu hoch. (Ob das
betriebswirtscahftlich wirklich richtig war, so lange nach
eigentlich vermeidbaren Fehlern zu suchen, sei mal dahingestellt).
Und was macht man mit dieser immensen Recchenpower? In
runtime-checks investieren, die die Programme sicherer machen?
Nein, man verbrät das mit Code Bloat.
Heutzutage wartet man locker so viele Taktzyklen auf das Starten
von Excel, wie eine PDP-11 in einem Jahr hatte. Das juckt keinen,
aber ein paar Zyklen für Laufzeit-Tests zu verbraten... das geht
ja gar nicht.
Ada existiert, sogar mit einem freien Compiler. Wer will, kann
problemlos eine deutlich sicherere Sprache wählen. Nur macht
es kaum jemand. Wieso eigentlich?