UNIXv4 kood on taastatud, see on esimene OS, mille kernel on kirjutatud C keeles. UNIXv4 haavatavus

Eelmisel aastal avastati Utah'i ülikooli andmekeskuse koristamise käigus arhiivne magnetlint, millel oli 1973. aastal PDP-11/45 arvutile loodud UNIXv4 operatsioonisüsteemi kood, mis peeti kadunuks. UNIXv4 jätkas aasta varem välja antud UNIXv3 arendamist, kus esmakordselt kasutati C keelt ja nimeta kanaleid. UNIXv4 eripära oli tuuma üleminek assemblerilt C keelele. UNIXv4 tuumakoodi kirjutas Ken Thompson ning draivereid Dennis Ritchie.

2025. aasta detsembri lõpus suutsid arvutitehnika ajaloo muuseumi töötajad leida vajaliku seadme ja extrakti salvestatud arhiivi. Lindi peal oleva analoogsignaali digitaliseerimiseks kasutati readtape tööriistu ning arhiiviformaadi dekrüpteerimiseks kaasati James Goslingi loodud Emacsi taastamise protsessis välja töötatud lahendused.

Lisaks UNIXv4 koodile leiti lindilt ka ühe esimesi C keele kompilaatori allikaid ja SNOBOL keele interpreteerija. Hiljem viidi UNIXv4 kood korda ja avaldati GitHubis kujul, mis sobib kokku pakkimiseks ja käivitamiseks PDP-11 simulaatoris. UNIXv4 kood sisaldab 61 tuhat rida, millest 27 tuhat on C keeles, 33 tuhat PDP-11 assembleris ja umbes tuhat — päise failid.

UNIXv4 kood on taastatud, see on esimene OS, mille kernel on kirjutatud C keeles. UNIXv4 haavatavus

Üks turva-uuringute spetsialist pööras tähelepanu UNIXv4-s koos pakutud utiliidile 'su'. See utiliit sisaldas vähem kui 50 koodirida, paigaldati setuid-root lipuga ja võimaldas käivitada /bin/sh root õigustes sobiva parooli sisestamisel. Kood sisaldas haavatavust, mis viis mälupuhvri ületäitumiseni, kuna kasutaja sisestatud parool kopeeriti fikseeritud 100-tähemärgi massiivi ilma sisestatud andmete suuruse kontrollimiseta.

93-aastane Douglas McIlroy, kes kuulus algsete Unix'i arendajate meeskonda Bell Labs'is ning pakkus välja nimetamatta kanaleid ja lõi selliseid tööriistu nagu echo, spell, diff, sort, join ja tr, kommenteeris avastatud probleemi. Douglas ütleb, et enne Morris'i ussi ilmumist 1988. aastal ei pööranud keegi tähelepanu puhvrivalangutele. Manuaalsete sisendite suuruse kontrollide lisamist peeti liigseks koodiks ning valeandmete korral crashimist toimetuleku ebamugavaks vormiks. Aja jooksul hakati käsitöös tekkinud puhvrivalangute probleemidega tegelema, kuid manuaalse sisendi puhul oli loogika tasemel „kellele võiks vaja olla liiga pikki ridu sisestada?”.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster