» »

Švedski raziskovalec odkril 54 let staro programsko ranljivost

Švedski raziskovalec odkril 54 let staro programsko ranljivost

Slo-Tech - V bazah znanih ranljivosti od minulega tedna najdemo vnos CVE-2021-32471, ki je postavil rekord za najstarejšo odkrito ranljivost. Švedski raziskovalec Pontus Johnson s Kraljevega inštituta za tehnologijo (KTH) v Stockholmu je odkril ranljivost v implementaciji Turingovega stroja iz leta 1967 Marvina Minskega. To predstavlja najstarejšo odkrito ranljivost, saj tiči v 54 let starem "programu".

Rekord je seveda bolj zanimivost kot kaj praktično uporabnega, saj te implementacije univerzalnega Turingovega stroja v praksi nikjer ne uporabljamo. Turingov stroj je algoritemska posplošitev, abstraktni sistem, ki ne obstaja. Zamislil si ga je britanski matematik Alan Turing leta 1936 in predstavlja (neizvedljiv) model do skrajnosti poenostavljenega računalnika z neskončnim spominom, ki zmore računati. S Turingovim strojem lahko simuliramo vsak (končni) računski algoritem.

Marvin Minskys, ki velja za pionirja umetne inteligence, je leta 1967 objavil znamenito knjigo Computation: Finite and Infinite Machines, v kateri je definiral implementacijo univerzalnega Turingovega stroja (simulacija v Pythonu). Johnson je sedaj ugotovil, da je v njen ranljivost, ki niti ni zelo skrita. Če stroj bere ustrezno manipulirane podatke, ga lahko pretentamo v izvajanje poljubnih ukazov. S tem je Johnson v resnici postavil dva rekorda. To ni le najstarejša ranljivost, temveč tudi v najbolj preprostem računalniku. Podrobnosti je zapisal v znanstvenem članku.

Takšna odkritja niso pomembna neposredno, temveč nas zanimajo posredne implikacije. Ali to pomeni, da je vsako upanje na popolnoma vodotesno kodo obsojeno na propad, če odkrivamo luknje tudi v najenostavnejših programih?

15 komentarjev

Izi ::

Ali to pomeni, da je vsako upanje na popolnoma vodotesno kodo obsojeno na propad, če odkrivamo luknje tudi v najenostavnejših programih?

To pomeni, da je koda lahko brez napak, nikoli pa ne more niti brez ranljivosti.
Ranljivost ni napaka v kodi. Ranljivost pride s časom, starejša ko je koda več ranljivosti se bo našlo.

filip007 ::

Kakor se mi zdi, nikoli ne bo nič popravljeno, dokler bo tak trapast sistem razvoja, hitrost namesto varnosti, tudi če imaš star ali nov sistem, so lahko odkrite ali skrite luknje, katere ni nujno, da bodo sploh kdaj popravljene.
Palačinka z Ajvarjem in stopljenim sirom v mikrovalovki.

Barbarpapa2 ::

Pozdrav

Tale bo malo bolj filozofska... Dozdeva se mi, da to z ranljivostmi znotraj programske opreme zgleda kot z nepopolnostjo v matematiki (Kurt Gödel) ali z načelom nedoločenosti (Werner Karl Heisenberg) v fiziki. Skratka pri kompleksnem programu lahko težimo k popolni neranljivosti, je pa ne moremo nikoli doseči (razen v trivialnih primerih... je kdo že našel ranljivost v "Hello world" programčku?).

Lp

Jože

GupeM ::

Barbarpapa2 je izjavil:

razen v trivialnih primerih... je kdo že našel ranljivost v "Hello world" programčku?.

Kaj točno pa pomeni "Hello world" programček?

A110 ::

Barbarpapa2 je izjavil:

Pozdrav

Tale bo malo bolj filozofska... Dozdeva se mi, da to z ranljivostmi znotraj programske opreme zgleda kot z nepopolnostjo v matematiki (Kurt Gödel) ali z načelom nedoločenosti (Werner Karl Heisenberg) v fiziki. Skratka pri kompleksnem programu lahko težimo k popolni neranljivosti, je pa ne moremo nikoli doseči (razen v trivialnih primerih... je kdo že našel ranljivost v "Hello world" programčku?).

Lp

Jože


Sicer ni neposredno vezano na novico ampak načelo nedoločnosti nima fizikalnega izvora temveč strogo matematičnega. Manj znano je, da je to v bistvu lastnost fourierove transformacije in je ta Heisenbergova uporaba v fiziki samo posledica da je v bistvu moment definiran kot varianca transformiranke.

WhiteAngel ::

Izi je izjavil:

Ali to pomeni, da je vsako upanje na popolnoma vodotesno kodo obsojeno na propad, če odkrivamo luknje tudi v najenostavnejših programih?

To pomeni, da je koda lahko brez napak, nikoli pa ne more niti brez ranljivosti.
Ranljivost ni napaka v kodi. Ranljivost pride s časom, starejša ko je koda več ranljivosti se bo našlo.


Če gre za teoretični model računanja (turingov stroj), čas ne igra vloge. Je samo slaba koda ;) Drugo so pa x86 mlinčki, da "na približno" zaigrajo en YT video :P

Barbarpapa2 ::

GupeM je izjavil:

Barbarpapa2 je izjavil:

razen v trivialnih primerih... je kdo že našel ranljivost v "Hello world" programčku?.

Kaj točno pa pomeni "Hello world" programček?


Tole:

Pozdravljen, svet @ Wikipedia

Lp

Jože

GupeM ::

Torej se strinjaš, da namesto "Hello world", lahko napišeš kakršen koli tekst? V primerih, ki si dal, namreč uporabljajo besedilo "Pozdravljen svet!"

Zimonem ::

Barbarpapa2 je izjavil:

Pozdrav

Tale bo malo bolj filozofska... Dozdeva se mi, da to z ranljivostmi znotraj programske opreme zgleda kot z nepopolnostjo v matematiki (Kurt Gödel) ali z načelom nedoločenosti (Werner Karl Heisenberg) v fiziki. Skratka pri kompleksnem programu lahko težimo k popolni neranljivosti, je pa ne moremo nikoli doseči (razen v trivialnih primerih... je kdo že našel ranljivost v "Hello world" programčku?).

Lp

Jože

V bistvu ni. Tukaj gre za končni avtomat z napako. Gödelov izrek o nepolnosti govori pa o neizračunljivosti znotraj množic z močjo zmf.
Heisenberg je stvar opazovanja in meje, ki se pojavljajo pri tem.

Ales ::

Izi je izjavil:

Ali to pomeni, da je vsako upanje na popolnoma vodotesno kodo obsojeno na propad, če odkrivamo luknje tudi v najenostavnejših programih?

To pomeni, da je koda lahko brez napak, nikoli pa ne more niti brez ranljivosti.
Ranljivost ni napaka v kodi. Ranljivost pride s časom, starejša ko je koda več ranljivosti se bo našlo.

Lep primer tega je qmail.

Tako zgleda, ko razmeroma kompleksen program napiše genij.

Niti enega buga, se je pa po 8 letih pojavila ena teoretična ranljivost na 64-bitnih sistemih z veliko RAM-a, pod nestandardno konfiguracijo qmail servisov brez RAM omejitev.

Še 15 let kasneje oz. 23 let po nastanku programa so se potrudili to isto ranljivost raziskati naprej, ponovno samo na 64-bitnih sistemih z veliko RAM-a in nestandardno konfiguracijo servisa.

poweroff ::

Amazing. Potem pa pogledaš Exim ali Exchange...
sudo poweroff

Zimonem ::

poweroff je izjavil:

Amazing. Potem pa pogledaš Exim ali Exchange...

Kaj ma to veze , qmail je dober ampak ozko specializiran na eno samo opravilo.

Zimonem ::

A110 je izjavil:

Barbarpapa2 je izjavil:

Pozdrav

Tale bo malo bolj filozofska... Dozdeva se mi, da to z ranljivostmi znotraj programske opreme zgleda kot z nepopolnostjo v matematiki (Kurt Gödel) ali z načelom nedoločenosti (Werner Karl Heisenberg) v fiziki. Skratka pri kompleksnem programu lahko težimo k popolni neranljivosti, je pa ne moremo nikoli doseči (razen v trivialnih primerih... je kdo že našel ranljivost v "Hello world" programčku?).

Lp

Jože


Sicer ni neposredno vezano na novico ampak načelo nedoločnosti nima fizikalnega izvora temveč strogo matematičnega. Manj znano je, da je to v bistvu lastnost fourierove transformacije in je ta Heisenbergova uporaba v fiziki samo posledica da je v bistvu moment definiran kot varianca transformiranke.

V bistvu je kar fizikalni izhajajoč iz de bourgijevega opažanja dualnosti valovanje-delec. Pa še to je ena od interpretacij.

tony1 ::

Zimonem je izjavil:

poweroff je izjavil:

Amazing. Potem pa pogledaš Exim ali Exchange...

Kaj ma to veze , qmail je dober ampak ozko specializiran na eno samo opravilo.


Tega tipa sem bral pred leti, ko je piz*il nad Am. akademskim okoljem (nekatere stvari so res univerzalne :D), tega produkta pa ne poznam. V čem je fora? Ni to MTA kot vsak drug? Oz., kakšne so omejitve qmaila?

Ales ::

Nobenih omejitev ni, še vedno je to eden najzmogljivejših MTA kar jih je.

Svet je šel sicer naprej, DJB pa ne dodaja funkcionalnosti, zato so jih morali drugi (IPv6, SPF, DKIM, TLS 1.3,...). Posledično za sodobno zapakiran qmail ne velja več njegov bug bounty, velja pa seveda za originalen.

s/qmail
notqmail
qmailtoaster


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Švedski raziskovalec odkril 54 let staro programsko ranljivost

Oddelek: Novice / Znanost in tehnologija
156673 (3643) Ales
»

Najmanjša mera informacije

Oddelek: Znanost in tehnologija
443349 (1794) Yggdrasil
»

Inforamtika-vprašanja

Oddelek: Šola
71804 (1662) seminal
»

Turing train terminal

Oddelek: Novice / --Nerazporejeno--
473659 (2858) 64202
»

Alan Turing: izumitelj programske opreme

Oddelek: Novice / --Nerazporejeno--
92733 (2733) Tody

Več podobnih tem