Úplně jednoduše, on-line zaplátováním, během stahování linuxu z repozitáře, jsou do zprávy přimíchány úpravy, které do něj vloží zadní vrátka na základě útoku MITM.
Při snadnosti prolomení většiny používaných routerů v domácnostech, to není žádný problém.
Podobný mechanismus je možno uplatnit i v sw harddisku, nebo flash paměti. To už uměly i viry v DOSu, zobrazovaly jiný obsah disku, než byl ve skutečnosti.
A nemusí jít o spiknutí výrobců, stačí jen přitlačit vhodnou osobu u výrobce, firma o tom ani nemusí vědět.
Jak píše Borges, kam schováte nejlépe knihu, aby ji nikdo nenašel? Do knihovny.
Protože je linux psaný v C, je možné použít v jeho textu i techniku odvozenou od steganografie, takže prohlížením zdrojových souborů takováto zadní vrátka nemohou být odhalena. Zadní vrátka mohou být například ukryta v názvech proměnných, jejich překladem vznikne datová struktura, která může být proveditelným kouskem kódu. Pak stačí jen do ní skočit.
Ale proč to dělat na úrovni linuxu, když to lze udělat mnohem snáze na úrovni prohlížeče. To, že používáte https neznamená, že ho používáte i doopravdy.
Ne distribuci linuxu ale předvedli ochotnou spolupráci s politiky jako Merkelová na cenzuře obsahu. No a jestli ochotně spolupracují na tomhle, mohou ochotně oni nebo jiné firmy spolupracovat na zpřístupňování odposlechů. To je přece logické.
Dnes i za linuxem stojí nějaké firmy, často podporované přímo či nepřímo z vládních peněz na výzkum a vývoj, takže možnost kompromitace tu samozřejmě existuje, jen naiva to nevidí.
Mě šlapou na kuří oka němečtí agenti, kteří si objednávají hromadné vraždy domácích politiků v Rusku, jako jeden čelný politik EU z Polska :-))) A Česko ho podporuje, když je docela možné, že skončí ve vězení, díky aféře Amber Gold, kde má koncem roku vypovídat, před vyšetřovací komisí :-)))
Jinak to, že PO v Polsku založila tajná služba není tajemství, pochválil se tím nedávno veřejně i její zakladatel a podporovatel, bývalý generál tajné služby :-)))
No proněmeckost těch českých stran a nepřijatelné ústupky, které prosazovali ve smyslu Velkoněmecké Říše jsou snad dostatečným důkazem. O plánech Merkelové a Schulze snad taky nemůže být pochyb. A, že za nimi nejdou akce tajných služeb, si může myslet jen naiva.
Dokonce u nás máme v politice činné i bývalé ředitele tajných služeb a politiku u nás nejvíce ovlivňují odposlechy :-)))
A, že zde na tomto fóru inteligentních lidí, se najdou lidé, kteří o tom pochybují, no to už je na pováženou.
Proč je dobré mít vlastní suverénní národní stát? No jednoduše proto, že vůči jiným státům, nemáte žádná občanská práva. Mohou vás odposlouchávat, sledovat, činit na vás nátlak, uvěznit vás a nikde se pomoci nedomůžete, pokud nejste občanem suverénního národního státu.
Jak se to dělá? Pomocí názvů proměnných přimíchat kod, který překladač ochotně přeloží... To by sem chtěl opravdu vidět. Připadá mi to spíš jako čtení pro laické publikum. Nevěřte všemu, zkuste zapojit trochu kritického myšlení. Ale nadruhou stranu mě to pobavilo, ale co chudáci ostatní, oni se budou bát...
Proč by ho ochotně nepřeložil, strojový kód je sada nul a jedniček, překladač netestuje zda indexy ve slovníku nedávají smysluplný strojový kód. Takže se jistě dá uměle vytvořit datová struktura, která ten kód v sobě schová .-))) Jinde můžete mít vhodný interpret. K realizaci jakéhokoliv algoritmu potřebujete jedinou instrukci, například Shefferovu funkci :-)))
například pseudokód:
define X_ATA = 0x000A1;
define X_BTA = 0x0A200;
x[0] = X_ATA;
x[1] = X_BTA;
a někde jinde
p = &x;
a jinde
p();
Kdo v tom bude hledat něco závadného?
Moc prace v intelektualni rovine a pak pri udrzbe a naslednem uklidu. Nezapominejme, ze dobry hacker ma byt predevsim liny! :-)
Nejsou lepsi systemove promenne, ktere lze snadno modifikovat s nejakym nevinnym balickem? Zejmena na ARMu (miluju dnesni mobilni platformy), kde lze kazdy program napsat ekvivalentne jako relativne bezny (alphanum) text a textova cookie v envvar nikoho nezaskoci.
Na názvech proměnných to nevysvětlím ale řekněme, že v programu máš něco jako print "jsi dobrý".
Po překladu ten text v uvozovkách pravděpodobně zůstane ve výsledné binárce tak, jak je a v paměti počítače potom zřejmě taky. Pak už stačí donutit procesor aby skočil někam do prostoru mezi uvozovky. Já tam vidím text ale pro procesor jsou to instrukce. Třeba:
vem číslo
zapiš ho někam
vrať se
Je to schválně přitažené za vlasy ale jde o princip.
Nebo obrázek uložený v programu jako data
AA BB FF 00 ...
Když to vykreslíš, může to vypadat hezky ale běda když to spustíš jako program.
Na názvech proměnných to nevysvětlím ale řekněme, že v programu máš něco jako print "jsi dobrý".
Po překladu ten text v uvozovkách pravděpodobně zůstane ve výsledné binárce tak, jak je a v paměti počítače potom zřejmě taky. Pak už stačí donutit procesor aby skočil někam do prostoru mezi uvozovky.
A ten skok asi bude krapet problem. Nejsme ve Widlich 98, aby si kdekdo skakal, kam se mu zachce. Mame ochranu pameti a tyhlety veci.
Tak to je základ problému, ale zároveň jsme v jádře systému, což dává lepší možnosti. Ovšem kdyby se to přehánělo, trh by takový systém sám eliminoval, jako nedůvěryhodný. A proto i takový open source musí podléhat diskrétní ochraně tajných služeb, aby zůstal použitelný pro všechny.
Plus neni zaruceno, ze ty opcody budou vubec ve spustitelne casti pameti a neskonci to segfaultem.
K realizaci jakéhokoliv algoritmu potřebujete jedinou instrukci, například Shefferovu funkci
To je blbost par excellence, u pana Noveho nic neobvykleho. Zajimalo by me, jak jde pomoci shefferovi funkce implementovat cyklus while (1) { }
když vám tolik vadí to přiřazení tak instrukce Nand je definována tak, že udělá operaci NAD mezi adresou 1 a adresou 2 a výsledek uloží do adresy 1.
Tak a ted si nastudujte, co je to funkce, a ukazte mi ten vypocet ciste pomoci kompozice schafferovych funkcich.
udělá operaci NAD mezi adresou 1 a adresou 2 a výsledek uloží do adresy 1.
Ze z popisu operace vypustite slova "priradi vysledek", neznamena to, ze se nejedna o prirazeni.
Pomocí Shaferovy, nebo Piercovy funkce můžete vytvořit jakoukoliv jinou logickou funkci. Když zavedete rekurzi, což hardwarově odpovídá zpětné vazbě, dostanete i cykly. Jinak já umím jen z hradel NAND postavit celý počítač. Tedy i to vaše přiřazení mezi pamětí a registry. Vy snad ne? Vždyť se to tak i dělalo :-))) No a kdyby ten procesor uměl jen jedinou mikroinstrukci NAND, dalo by se pomocí ní naprogramovat vše ostatní. Elegantní představa, že, HW z hradel NAND, procesor s jedinou mikroinstrukcí NAND :-)))
Takže váš cyklus bude:
function while(x) { nand(x) }
function not(x) { return nand(nand(0,0), x) }
function nor(x,y) { return nand(nand(nand(0,0), x), y) }
a tak dále ...
Pomocí Shaferovy, nebo Piercovy funkce můžete vytvořit jakoukoliv jinou logickou funkci
Logickou funkci ano, jakykoliv algoritmus ne. Viz ta nekonecna smycka, kterou stale nejsi schopen dodat, jako kompozici shafferovych funkci.
Když zavedete rekurzi
A kde se ta rekurze vezme, kdyz mam jen shafferovu funkci? Jak to udelas jen s pomoci shafferovy funkce rekurzi?
Pripomenu, ze shafferova funkce je zobrazeni z B x B -> B, kde B je mnozina {0, 1}. Chtel bych zduraznit, ze shafferova funkce je zobrazeni a zadne prirazeni opravdu neprovadi.
Jinak já umím jen z hradel NAND postavit celý počítač.
Sikulka, ale prozradim ti, ze hradlo typu NAND neni shafferova funkce, ale logicky clen, ktery svym chovanim odpovida shafferove funkci.
Z praktického hlediska, a takové jsme původně řešili, zobrazení nemá žádný význam. Zobrazení je jen představa, bez fyzické realizace, za těchto podmínek nekonečný cyklus z Shefferovy funkce dostanete taky, je jím nekonečná řada 1 | 1 ... Musíte si rozmyslet co chcete, chcete-li program, dodal jsem vám ho, tedy fyzickou realizaci nekonečné řady 1 | 1 ...
zobrazení nemá žádný význam
To tys tu tvrdil, ze ti staci jedna funkce.
za těchto podmínek nekonečný cyklus z Shefferovy funkce dostanete taky, je jím nekonečná řada 1 | 1 ...
K cemuz potrebujes program o nekonecne delce ulozeny v nekonecnem pocitaci.
Musíte si rozmyslet co chcete, chcete-li program, dodal jsem vám ho,
Ja vim, co chci. Dukaz toho, ze ciste s pomoci kompozice shafferovych funkci sestavis kazdy algoritmus, jak jsi tvrdil. Ty si tam ale obvykle pridas neco navic, tu prirazeni, tu casove zpozdeni u logickych clenu a myslis, ze si toho nevsimnu. S tebou se o takovych vecech neda vubec rozumne bavit.
Vy jste taky nemyslel zobrazení
Ja vim, co jsem myslel, a co jsem mel namysli. A mel jsem namysli prave to zobrazeni, abys videl, jakou blbost napsals.
ale funkce programu
Tak jinak... Vezmi si programovaci jazyk, kde mas dve hodnoty 0 a 1 a definovanou jednu jedinou funkci NAND, tj.
function NAND(x, y): if (x == y) return 0; else return 1;
Jedina povolena operace je volani funkce, nic jineho, zadne prirazeni, zadne promenne, zadne deklarace funkci. A udelej z toho nekonecnou smycku v konecnem programu.
Vaše funkce je jen abstrakce, v realitě, aby mohla být vyhodnocena, musí být přeložena pro daný procesor, například mnou popsaný procesor s jedinou instrukcí NAND, no a na něm jsem vám příklad nekonečné smyčky předvedl pomocí jediné instrukce NAND. A přesně v tomto kontextu jsem to uváděl.
To, že jste si vymyslel blbou abstrakci je váš problém. Otázka je, zda procesor s jedinou instrukcí NAND by byl turingovsky úplný, zkoumat to nebudu, ale intuitivně předpokládám, že ano. Můžete mi tuto hypotézu vyvrátit.
Abyste ve vaší abstrakci dostal turingovsky úplný automat, musíte ve shodě s principy FP zavést ještě funkce map, reduce, filter a nebo rekurzi.
Kompozicí funkcí to nejde, ale to si vymyslel kolega, zřejmě proto, že už ve svých úvahách nepočítá s architekturou počítačů a pohybuje se jen v abstrakcích, já v původním příspěvku nepsal o funkci, ale o instrukci a pomocí instrukce NAND a standardní architektury procesoru to samozřejmě jde. Pomocí paměti, či registru realizujete zpětnou vazbu nutnou k realizaci klopného obvodu.
Není nic jednoduššího než zjistit něco nepěkného na člověka, který v dané organizaci generuje klíče a nebo k nim má přístup, nebo ho do něčeho namočit. On je pak sám rád dodá těm, kdo je potřebují. A to je základní činnost tajných služeb. Ta se tisíce let nemění. A je úplně jedno, zda jste pán, či kmán.
Úplně jednoduše, on-line zaplátováním, během stahování linuxu z repozitáře, jsou do zprávy přimíchány úpravy, které do něj vloží zadní vrátka na základě útoku MITM.
Aha, takze ty elektronicke podpisy baliku z repa tam jsou pro ozdobu.
Protože je linux psaný v C, je možné použít v jeho textu i techniku odvozenou od steganografie, takže prohlížením zdrojových souborů takováto zadní vrátka nemohou být odhalena. Zadní vrátka mohou být například ukryta v názvech proměnných, jejich překladem vznikne datová struktura, která může být proveditelným kouskem kódu. Pak stačí jen do ní skočit.
To urcite. Ona se snad dokonce pri prekladu ani dvakrat po sobe nevytvori stejna binarka, ale vy budete nekam skakat. A to, ze pro prekladu muzou byt nastaveny ruzne options, muzou na strojich byt jine verze GCC.... tomu urcite neprida.
Tyhle katalogy maji radove stovky polozek a kombinuji se podle situace na zaklade analyzy technickym tymem, ktery je k dane operaci sestaven. Katalog udrzuje (sestavuje a kupuje) dalsi tym, takze zadna tezka magie v tom neni. Vase otazka je tedy nepresna - neni jedna cesta k prolomeni a instalaci sberace. Vstupy jsou firmware (wifi, eth, gfx), efi, klientsky soft (chrome ap.); doruceni je bud pres sit nebo rucne pres usb; na cil se dava lkm nebo cely balik; mikrotiky se kupr. napichavaji mitm; virtualy se klonuji...