Rikuperimi i kodit UNIXv4, sistemit të parë operativ me bërthamë në gjuhën C. Vulnerabiliteti në UNIXv4

Në fund të vitit të kaluar, gjatë pastrimit në qendrën kompjuterike të Universitetit të Utah, u zbulua një kasetë magnetike arkivore me kodin e sistemit operativ UNIXv4, i cili ishte zhvilluar në vitin 1973 për kompjuterin PDP-11/45 dhe ishte konsideruar i humbur. UNIXv4 vazhdoi zhvillimin e sistemit operativ UNIXv3, i lëshuar një vit më parë, të cilin për herë të parë ishte përdorur gjuha C dhe kanale pa emra. Një veçori e UNIXv4 ishte rishkrimi i bërthamës nga assembler në gjuhën C. Kodi i bërthamës UNIXv4 u shkrua nga Ken Thompson, ndërsa driverat nga Dennis Ritchie.

Në fund të dhjetorit 2025, punonjësit e muzeut të historisë së teknologjisë kompjuterike arritën të gjenin pajisjet e nevojshme dhe të nxjerrin arkivin e ruajtur në kasetë. Për dixhitalizimin e sinjalit analog të regjistruar në kasetë u përdor mjeti readtape, ndersa për dekodimin e formatit të arkivit u aktivizuan zhvillimet e krijuara gjatë procesit të rikuperimit të arkivit me realizimin e redaktorit Emacs nga James Gosling.

PĂ«rveç kodit UNIXv4, nĂ« kasetĂ« u gjetĂ«n gjithashtu kodet burimore tĂ« njĂ« prej kompilatorĂ«ve tĂ« parĂ« pĂ«r gjuhĂ«n C dhe interpretorit tĂ« gjuhĂ«s SNOBOL. MĂ« vonĂ«, kodi i UNIXv4 u ndreq dhe u publikua nĂ« GitHub nĂ« njĂ« formĂ« tĂ« pĂ«rshtatshme pĂ«r ndĂ«rtim dhe ekzekutim nĂ« simulatorin PDP-11. Kodi i UNIXv4 pĂ«rfshin 61 mijĂ« rreshta, nga tĂ« cilat 27 mijĂ« janĂ« nĂ« gjuhĂ«n C, 33 mijĂ« nĂ« assembler pĂ«r PDP-11 dhe rreth njĂ« mijĂ« – skedarĂ« titull.

Rikuperimi i kodit UNIXv4, sistemit të parë operativ me bërthamë në gjuhën C. Vulnerabiliteti në UNIXv4

Një nga kërkuesit e sigurisë vuri re utilitarin "su", i cili shoqërohej me UNIXv4. Ky utilitar përfshinte më pak se 50 rreshta kodi, instalohej me flamurin setuid-root dhe lejonte ekzekutimin e /bin/sh me privilegje root duke futur fjalëkalimin e duhur. Kodi përmbante një dobësi që çonte në mbushje të tamponit për shkak të kopjimit të fjalëkalimit të futur nga përdoruesi në një masë fikse prej 100 karakteresh pa verifikimin e madhësisë së të dhënave të futur.

Problemi i identifikuar u komentua nga Douglas McIlroy, 93 vjeçari, i cili ishte pjesë e ekipit të zhvilluesve origjinalë të Unix në Bell Labs, që propozoi konceptin e kanaleve pa emër dhe krijoi mjete si echo, spell, diff, sort, join dhe tr. Sipas Douglasit, deri në shfaqjen e virusit Morris në vitin 1988, pak njerëz e kishin vënë re problemin e mbushjes së tamponit. Shtimi i verifikimeve për madhësinë e të dhënave të futura manualisht ishte parë si një shtesë e panevojshme e kodit, dhe skadimi për shkak të mbushjes kishte mbetur si një formë e papjekur e reagimit ndaj të dhënave të pasakta. Me kalimin e kohës, mbushjet që ndodhnin gjatë përpunimit të vargjeve të gjeneruara automatikisht filluan të rregulloheshin, por për të dhënat manuale, logjika ishte në nivelin 'kush mund të ketë nevojë të futë manualisht vargje shumë të gjata'.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster