Der Code von UNIXv4, dem ersten Betriebssystem mit einem Kernel in C, wurde wiederhergestellt. Eine SicherheitsanfÀlligkeit in UNIXv4

Ende letzten Jahres wurde wĂ€hrend der AufrĂ€umarbeiten im Rechenzentrum der UniversitĂ€t von Utah ein Archivmagnetband mit dem Code des UNIXv4-Betriebssystems entdeckt, das 1973 fĂŒr den PDP-11/45-Computer entwickelt wurde und als verloren galt. UNIXv4 setzte die Entwicklung des ein Jahr zuvor veröffentlichten UNIXv3-Betriebssystems fort, in dem erstmals die Programmiersprache C und unnamed pipes verwendet wurden. Ein wesentliches Merkmal von UNIXv4 war die Neuschreibung des Kernels von Assemblersprache auf C. Der Kernelcode von UNIXv4 wurde von Ken Thompson und die Treiber von Dennis Ritchie geschrieben.

Ende Dezember 2025 konnten die Mitarbeiter des Museums fĂŒr Computerhistorie die benötigte Hardware finden und das auf dem Band gespeicherte Archiv extrahieren. Zum Digitalisieren des auf Band aufgezeichneten analogen Signals wurde das Tool readtape verwendet, und fĂŒr das Dekodieren des Archivformats wurden Entwicklungen herangezogen, die im Rahmen der Wiederherstellung des Archivs mit der Emacs-Implementierung von James Gosling erstellt wurden.

Neben dem UNIXv4-Code wurden auf dem Band auch die Quelltexte eines der ersten Compiler fĂŒr die Programmiersprache C und eines SNOBOL-Interpreters gefunden. SpĂ€ter wurde der Code von UNIXv4 aufbereitet und auf GitHub in einer Form veröffentlicht, die fĂŒr die Kompilierung und AusfĂŒhrung im PDP-11-Simulator geeignet ist. Der Code von UNIXv4 umfasst 61.000 Zeilen, von denen 27.000 in C, 33.000 in Assembler fĂŒr PDP-11 und etwa 1.000 Headerdateien sind.

Der Code von UNIXv4, dem ersten Betriebssystem mit einem Kernel in C, wurde wiederhergestellt. Eine SicherheitsanfÀlligkeit in UNIXv4

Einer der Sicherheitsexperten wies auf das Dienstprogramm „su“ hin, das mit UNIXv4 geliefert wurde. Dieses Dienstprogramm umfasste weniger als 50 Codezeilen, wurde mit dem Flag setuid-root installiert und erlaubte das Starten von /bin/sh mit Root-Rechten, wenn das richtige Passwort eingegeben wurde. Der Code enthielt eine SicherheitsanfĂ€lligkeit, die zu einem PufferĂŒberlauf fĂŒhrte, da das eingegebene Benutzerpasswort ohne GrĂ¶ĂŸenprĂŒfung in ein festes 100-Zeichen-Array kopiert wurde.

Das Problem wurde von dem 93-jĂ€hrigen Douglas McIlroy kommentiert, der Teil des ursprĂŒnglichen Entwicklerteams von Unix bei Bell Labs war und Konzepte wie unbenannte KanĂ€le vorschlug sowie Programme wie echo, spell, diff, sort, join und tr entwickelte. Laut Douglas achtete bis zum Auftreten des Morris-Wurms im Jahr 1988 nur selten jemand auf PufferĂŒberlĂ€ufe. Die HinzufĂŒgung von ÜberprĂŒfungen fĂŒr die manuell eingegebenen Daten wurde als unnötiger Code angesehen, wĂ€hrend ein Absturz bei ÜberlĂ€ufen als unbeholfene Reaktion auf ungĂŒltige Eingaben wahrgenommen wurde. Im Laufe der Zeit wurden ÜberlĂ€ufe, die bei der Verarbeitung automatisch generierter Zeichenfolgen auftraten, behoben, aber bei manuellen Eingaben wurde die Logik auf der Ebene „Wer braucht schon zu lange manuelle Eingaben?“ gesehen.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster