Zbyněk Kocur: FEL Camp aneb jak přežít s Linuxem
FEL ČVUT připravuje každým rokem pětidenní tábor pro středoškoláky, kteří mají zájem o studium na ČVUT. Chceme jim v praxi ukázat, že jsou schopni v praxi využít to, co se u nás naučí.
Akce probíhá v přírodě, kde není tekoucí voda, jídlo se musí dovážet a ani není k dispozici elektřina. Všechno, co budeme na místě potřebovat, si musíme vyrobit.
Kapacita je 20 osob a zúčastnit se mohou studenti starší 18 let.
Sraz probíhá na FEL ČVUT, studenti si musejí všechno sbalit do auta a pak se vyráží do kempu. Tady je potřeba vybalit, uvařit si jídlo, spustit fotovoltaickou elektrárnu a podobně.
Spoustu věcí dělají studenti poprvé v životě, takže se naučí řadu nových věcí. Program je nabitý a nezřídka se stává, že je potřeba jet přes noc.
Instruktory jsou zaměstnanci FEL, studenti FEL jsou pak vedoucími jednotlivých týmů.
Už místo setkání je účastníkům sděleno pomocí jednoduché šifry, buď jako stereogram nebo nahrávka morseovky. Ještě než se potkáme, už s nimi komunikujeme v duchu našeho tábora.
Poté už se studenti setkají v protiatomovém krytu fakulty, kde je potřeba najít všechny věci potřebné k plnění budoucích úkolů. Jde o vysílačky, páječky, schémata, součástky a podobně. Tady už se ukáže, kdo se dokáže v situaci zorientovat a kdo je vůdce a má organizační schopnosti.
Poté následuje hodinová přednáška, během které dostanou studenti spoustu užitečných informací. Samotná přednáška je určena pro studenty třetího či čtvrtého ročníku, takže jim nic neřekne. Musejí si ale dělat poznámky, protože v přednášce jsou skryty nápovědy.
Na místě tábora je potřeba z dostupných komponent postavit fotovoltaickou elektrárnu. Ne vždy ale svítí sluníčko, občas se stává, že půlku tábora prší.
Je proto potřeba získávat maximum energie a nenechávat zapnuté nepoužívané přístroje. Experimentujeme i s natáčením panelů v průběhu dne nebo jsme zkoušeli stavět elektrárnu na vodě.
Každý rok je vybráno jiné téma, v rámci kterého se řeší jednotlivé problémy. V prvním roce například spadlo do oblasti letadlo, bylo nutné lokalizovat trosky a zachránit přeživší.
Trosky byly vybaveny rádiovými majáky, které vysílaly signál přes LoRaWAN. Bylo potřeba z vysílaných dat zjistit, kde se daný maják nachází.
Pro lokalizaci přeživších se používaly vysílače v pásmu 3,5 MHz, které se používají v radio orientačním běhu. V tom se dělají největší chyby a některé týmy hledaly i 14 hodin v kuse.
V dalším roce spadl z nebe neznámý objekt, v jehož okolí byla objevena zvýšená radiace. Museli jsme si tedy postavit dozimetr.
V terénu pak byly rozmístěny kazety s draslíkovým hnojivem, které mírně vyzařuje. Bylo potřeba je odlišit od schránek naplněných pískem.
Pracovalo se s čipy ESP programovanými v Arduino IDE, který obvykle studenti středních škol znají.
Během třetího ročníku proběhla záchranná mise, protože po otřesech půdy došlo k zavalení staré továrny, ve které uvízla skupina dětí. Bylo potřeba lokalizovat vstupy a poté se dostat do systému terminálů.
Ty měly čtyři funkce: drátová komunikace s ostatními terminály, naváděcí signál, vysílač polohy a autodestrukční zařízení. Když se s terminálem manipuluje, tak bouchne. Bylo potřeba ho tedy zajistit, aby k tomu nedošlo.
Terminály bylo potřeba najít pomocí infrakamery pověšené na meteorologickém balónu.
Následující ročník se zabýval záhadnými zvuky v přehradě Orlík. Bylo potřeba si postavit zařízení, které umožní zmapovat dno Orlíku a najít poklad.
Studenti tedy postavili sonar na bázi ESP, se kterým se pak plavili v člunu po hladině. Museli také vymyslet, jak se budou na hladině orientovat, protože neměli k dispozici GPS.
Výsledkem byly překvapivě přesné mapy zobrazující reliéf dna. Poté se stavěl podvodní mikrofon a s jeho pomocí studenti hledali potopené bedny vydávající zvuky.
V loňském ročníku se akce přesunula do vesmíru, kdy bylo potřeba postavit aparaturu pro příjem signálu s družic NOAA. Do výuky jsme zrovna zařadili softwarově definované rádio, takže jsme se rozhodli toho využít.
Bylo potřeba postavit přijímač a dekodér dat ve formátu APT a pomocí indicií najít pohybující se vysílač. Bylo potřeba si postavit anténu a poté ve správných časových oknech zachytit obrázky vysílané z družice.
Letos už to nebude jen oběžná dráha, ale středoškoláci se pokusí přežít na Marsu. Buď na Marsu nebo během cesty na Mars, ještě nevíme.
Hlavně je potřeba, aby u sebe měli ručník.
Martin Myška: Co je to Matrix a jaké má výhody?
Matrix vznikl v roce 2014 jako reakce na zájem o bezpečnější komunikaci než obecně používané komunikační aplikace jako WhatsApp, Telegram nebo Messanger. Komunikaci je možné napojit také na další služby pomocí mostů (bridge), kterých je obrovské množství. Existují různí klienti pro různé platformy, Matrix je možné používat na mobilu i na desktopu.
Komunikace je automaticky šifrovaná způsobem end-to-end.
Primárním klientem je Element, který je v implementaci novinek často o hodně napřed před ostatními klienty. Stává se, že některé funkce nejsou dostupné v jiných klientech a nějakou dobu trvá, než jsou implementovány.
Dalším problémem je, že Element je náročný na prostředky a zejména na mobilu je to znát. Proto vznikl odlehčený klient Element X, který ale zase neumí telefonovat s jinými klienty. To je podle mě nepříjemný krok zpět.
Další problémy způsobuje šifrování zpráv, které například výrazně komplikuje a zpomaluje vyhledávání v archivu. To je kámen úrazu, i klient na výkonném desktopu je při vyhledávání velmi pomalý.
Mezi výhody Matrixu patří standardizovaný protokol s veřejným API a široká dostupnost připravených služeb nabízejících rovnou některé bridge. Pokud potřebujete něco navíc, je pro vás lepší spustit si vlastní server.
Za celým projektem stojí Matrix Foundation, která ale v poslední době jde proti otevřenému principu a řeší financování. Došlo ke změně licence z Apache 2.0 na AGPL v3 a komunita zvažuje fork.
Problém současné implementace také je, že nahrané uživatelské soubory jsou na serveru uloženy nešifrovaně a je možné hádat jejich názvy. Pokud od někoho dostanu obrázek a znám cestu k němu, můžu hádat další názvy a stahovat jiné obrázky.
Pro instalaci je potřeba linuxový server s SQL databází a Pythonem.
Jakub Pelc: Webová evaluace úloh za použití Flask a QtSVSim
Cílem projektu je poskytnout veřejnosti nástroje pro programování v assembleru pro RISC-V. Původní nástroje byly postaveny na gitu a nebylo možné je poskytnout nikomu jinému než studentům FEL.
Proto vznikl nový projekt, který umožňuje se registrovat a přihlásit a po nahrání úlohy se okamžitě zobrazí výstup kontroly kódu. Součástí jsou i body a žebříček umožňující porovnání s ostatními řešitely.
Vše běží nad simulátorem QtRvSim, který také vznikl na FEL ČVUT a má mocnou příkazovou řádku. Evaluační systém umí zobrazovat zadání úlohy a také výstup z běhu samotné úlohy. K zobrazení se používá webový systém Flask, který je napsaný v Pythonu a je velmi jednoduché s ním začít.
Na rozdíl například od Djanga je potřeba si zařídit spoustu věcí, ale základní aplikaci je možné vytvořit na pár řádků kódu.
Pro zobrazené HTML je možné používat šablony, které je možné vypisovat pomocí samotného kódu v Pythonu. To samo o sobě neumožňuje dát webu jednotnou formu, každou úpravu je potřeba dělat ve všech HTML souborech.
Pro komplexnější web je lepší využít šablonovací systém Jinja2, který dokáže vytvořit základní šablonu a z ní odvozovat jednotlivé stránky.
Flask umožňuje také řízení relací, který usnadňuje tvorbu registračního systému a umožňuje ukládat informace o jednotlivých uživatelích. Můžu tedy zaznamenat informaci o tom, že konkrétní uživatel používá dané uživatelské jméno a nemusím to sám vůbec řešit.
Systém zajišťuje sám také escapování vstupu, což brání průchodu nechtěných znaků do volání databáze.
Data jsou uložena v databázi PostgreSQL, kvůli GDPR je potřeba ukládat jen minimum informací. I uživatelův e-mail je uložen zahašovaný pomocí funkce SHA-256. Pokud uživatel potřebuje resetovat heslo, musí zadat svůj e-mail a my zkontrolujeme jeho haš v databázi.
Ani správce tak nezná uživatelovu e-mailovou adresu v čitelném tvaru a nemůže ji zneužít.
Evaluace úloh používá wrapper okolo QtRvSim, který simulátoru předá vyhodnocovaný soubor a všechny parametry potřebné pro běh. Musím také předat informace o tom, co všechno se má vytvořit a co budu porovnávat.
Výsledkem je záznam celého vyhodnocování i výsledné bodové ohodnocení.
Mitch Altman: Dopady otevřeného hardware na projekty a společnost
Mitch Altman se zabývá otevřeným hardwarem více než dvě dekády a pomáhal s vedením mnoha projektů. Většina lidí je překvapená a ptá se: ‚Cože, ty chceš, abychom dávali své vědomosti zadarmo?‘
Mitch měl těžké dětství, neměl kamarády, ve škole byl šikanován a rodiče se mu nevěnovali. Skončil jsem u televize, která pro mě byla únikem. Byla to moje první závislost.
Dítě se u televize ale nerozvíjí a je pasivní. V osmdesátých letech jsem se televize zbavil, odnesl jsem ji z bytu a už jsem si další nepořídil.
V devadesátých letech se ale televize začaly objevovat na veřejných místech. Existovaly už dříve, ale v roce 1993 jsem si jich poprvé všiml a pořád přibývaly další a další.
Zbavil se jich ve svém životě, ale ony se objevovaly stále znovu a znovu. Uvědomil jsem si, že dokážu udělat zařízení, které je dokáže všechny vypnout.
Tak vznikl univerzální vypínač televizí s názvem TV-B-gone.
Takhle přesně funguje vynalézání: potřebujete něco pro sebe, strávíte roky prací a nakonec vymyslíte něco důležitého. Bylo to mou velmi důležitou součástí.
V průběhu dvaceti let se těchto ovladačů prodalo více než 880 tisíc kusů. Původní výrobek vypadal jako smajlík, který jste si mohli připnout na tričko a oči byly vysílače infračervených paprsků.
Mohli jste s ním chodit po světě a vypínat všechny televize.
Trvalo dva roky, než se zařízení podařilo patentovat a stálo to minimálně 30 000 eur. Nevěděl jsem tehdy, že patent vlastně vše prozrazuje a jakmile patent vyprší, kdokoliv může začít okamžitě vyrábět stejný výrobek.
Zařízení se začalo rychle šířit, nejdříve mezi Mitchovými kamarády, poté mezi jejich kamarády a tak stále dál a dál. Udělal jsem z toho nakonec produkt, myslel jsem, že jich prodám tak pět tisíc za pět let. Nakonec jsem jich prodal dvacet tisíc za pár týdnů.
Zařízení se stalo neuvěřitelně populárním, Mitch dával rozhovory pro BBC, New York Times, People a do dalších médií. Byla to úžasná zkušenost, která mi změnila život.
Poté přišly konference, kde rozdával své ovladače s nápisem o patentovaném zařízení. Dostával jsem spoustu otázek na to, jestli mi nevadí, že bráním dalšímu rozvoji. Nechápal jsem to! Začal jsem o tom přemýšlet.
Byl to starý způsob myšlení: tohle je moje a když to budete chtít taky, zažaluju vás! Uvědomil jsem si, že tohle nechci. Takhle nechci žít svůj život.
Lidé v té době neuvažovali nad otevřeným hardwarem, který je možné sdílet s ostatními. Umožnilo by to spolupracovat na vylepšování s ostatními teď hned.
Proto byl TV-B-gone otevřen v roce 2007.
Princip otevřeného hardware je velmi jednoduchý: zveřejníte všechny soubory, aby je kdokoliv mohl použít a vylepšovat. Můžete přidat jen dvě omezení: že chcete být u odvozených výrobků jmenováni a že úpravy musejí být také zveřejňovány.
Takové pravidla umožňuje stanovit například licence Creative Commons. Náklady na takovou licenci jsou opravdu nulové.
Dnes existuje spousta lidí, kteří vytvářejí odvozená zařízení, různě je vylepšují a staví na nich další projekty. Všechno je to úplně zadarmo. To není s proprietárním projektem vůbec možné.
Znamená to sice, že na takovém zařízení nevyděláte, ale dostanete obrovskou publicitu zdarma. Nic takového byste si za peníze nemohli dovolit.
Když věci otevřete, začnou je lidé sdílet. Lidé rádi sdílejí a pomáhají si a budou to dělat zadarmo.
Mohou pak dělat něco užitečného, než jen sedět pasivně u televize. Myšlenka se pak o to více rozšíří a další lidé z ní mohou těžit. Čím víc televizí vypneme, tím lepší svět si uděláme.
Pokud někdo poruší vaše patentová práva, musíte si najmout právníky, utratit stovky tisíc eur a pracovat měsíce na nápravě. Nijak tím nezlepšíte svět, tohle nechcete dělat.
Totéž můžete udělat, když někdo porušuje pravidla vaší svobodné licence. Výsledkem ale bude dobrý pocit a zlepšení světa.
Pokud můžete, sdílejte. Je to dobré pro vás, pro váš projekt, i pro vaši společnost. Je to skvělé pro všechny.
Václav Chlad: hack back SMS phishing
SMS phishing je útok, při kterém je úvodním vektorem zpráva SMS. V poslední době zaznamenáváme velký nárůst, protože lidé zřejmě na tento typ zprávy reagují více než na e-maily. Pro útočníka je nejspíš překážkou cena, protože i když použije VoIP, bude ho to stát nějaké peníze. Na rozdíl od e-mailu, který je zdarma.
Prvním představený útok zneužíval jména MPSV a nabízel falešné dotace na elektřinu. Nešlo o jednoduchý sběr karet, ale posílání faktur, které měli lidé zaplatit.
Doména vasmpsv.cz
vedla na ukrajinský webhosting a web cílil na lidi, kteří se báli vysokých cen za elektřinu. Přihlásit se bylo možné pomocí BankID s omezením na tři banky.
Při vyhledání domény na crt.sh se ukázalo, že existuje subdoména rum.vasmpsv.cz
, na které bylo vidět ovládací rozhraní pro celou kampaň. V pravém panelu bylo možné provést několik akcí: zaslat fakturu, potvrdit fakturu, odeslat SMS, zakázat IP a další. Večer web přestal být dostupný. Nahlásil jsem ho na NÚKIB, abych měl sám krytí, protože jsem tam přistupoval ze svojí IP.
Druhý phishing byl mnohem jednodušší, cílil na Českou poštu a tvářil se jako nástroj pro sledování zásilek. Stránka sbírala spoustu osobních informací a nakonec se zeptala na údaje z platební karty. Byla tam spousta chyb a špatně přeložených dat, ale očividně to fungovalo.
Na administrátorské stránce bylo možné se přihlásit heslem ověřovaným v JavaScriptů a byly tam čísla stovek karet. Každou minutu přicházely další a další osobní údaje.
Každý klient dostával vlastní sekvenční ID a pod ním byla ukládána data. Pomocí tohoto ID bylo možné se prohlásit za někoho jiného a data přepsat.
Bylo tedy možné smazat veškerá data a hlídat průběžně další přidávání. Po několika hodinách přestal být web dostupný.
I velmi hloupé útoky mohou fungovat. Pokud vám něco podobného přijde, můžete se v tom zkusit povrtat. Může to být zábava.
David Heidelberg: Pravý Tučňák v telefonu
Desktopové počítače jsou mrtvé, mladší uživatelé už začali rovnou s telefonem nebo s tabletem. Co nosíme v kapse ale většinou není naše a nemáme nad tím kontrolu.
Výrobce telefonů obvykle kontroluje celé prostředí a nenechá nás do něj zasáhnout.
Android není open-source, ale jedná se o proprietární řešení. Každé zařízení s Androidem je certifikované a obsahuje uzavřené komponenty od Google.
Základ systému je ale otevřený, takže je teoreticky možné si sestavit vlastní variantu a použít jen otevřené aplikace. V praxi vám ale budou chybět služby Google a dodavatele aplikací nebudete zajímat.
Linux je svobodný a jeho stavební bloky jsou otevřené. Jde převážně o komunitní software a máte jen malé hlasovací právo.
Na rozdíl od korporátů se důvěra přesouvá ke komunitě. Je těžší zkorumpovat komunitu než jednotlivce.
Platíte ovšem buď penězi, časem nebo dovednostmi. Linux není zadarmo, ale platba je čistší a jasnější.
Pokud chcete zkusit Linux na telefonu, můžete vyzkoušet telefony PinePhone, Librem 5 nebo OnePlus 6/6T. Ten byl původně určen pro Android, ale komunita se postarala o velmi dobrou linuxovou podporu.
Telefon je možné koupit použitý za 3000 korun a stále jde o výkonný a plně použitelný telefon. Chybí zatím podpora kamery a stabilizace dat z GPS chvíli trvá.
Ze softwarové výbavy je možné vybrat si GNOME s Phosh, případně klasický GNOME Shell, KDE, SXMO a další. Ne každá distribuce dostává čisté linuxové jádro. Pokud používáte jádra z Androidu, připravujete se většinou o bezpečnostní aktualizace.
Výrobce Androidu se totiž obvykle snaží vyprodukovat co nejrychleji něco, co dostatečně dobře funguje.
V dnešní době citelně chybí CI testování na farmě telefonů. Když něco aktualizujete, musíte si dát velký pozor, abyste si něco nerozbili.
Zvyšuje se důraz na drobné hrany, kdy nemusí něco fungovat.
Chybí také hry a aplikace s dotykovým ovládáním. Pro Linux je hodně her, ale chybí jim dotykové ovládání.
Pro testování se hodí emulátor Androidu na Linux, například Waydroid. Má to chyby, emulovat Android je dosti bolestivá záležitost.
Telefony s Linuxem se dají používat i na denní bázi. Pokud tomu vyhovují vaše požadavky, můžete to vyzkoušet a dát tomu šanci.
Adam Havelka: Ubuntu Touch
Ubuntu Touch byl operační systém pro mobilní telefony vytvořený společnosti Canonical, který byl vyvíjet od roku 2011. Je postaven na Ubuntu, v současné době na verzi 20.04 LTS. Během letošního roku by měla vyjít verze postavená na Ubuntu 24.04 LTS. Není možné ho provozovat na všech telefonech, ale jen na vybraných zařízeních vypsaných na webu projektu.
Vývoj převzala v roce 2017 komunita UBports a pokud hledáte nějaké informace, je lepší rovnou hledat tento název.
Pro instalaci je potřeba odemknout zavaděč. V případě představeného Xiaomi bylo potřeba nainstalovat Windows 10 do virtualizace, vložit SIM kartu a nainstalovat správnou verzi Androidu. Konkrétně Xiaomi totiž pro každou aktualizaci Androidu mění firmware, který se používá pro komunikaci s hardwarem. Komunita nemá šanci podporovat všechny verze, proto potřebujeme nainstalovat specifickou verzi Androidu.
Poté je možné použít UBports Installer, což je vlastně průvodce celou instalací. Je možné v něm zvolit možnost automatického rozšíření oddílů na požadovanou velikost. Napoprvé jsem o tom nevěděl a nainstalovaný systém pak zhavaroval už při startu, protože neměl dost místa k rozbalení souborů.
Instalátor pak stáhne obraz operačního systému a přes USB ho nahraje do telefonu.
Pokud se objeví hláška „System has been destroyed“, neznamená to, že je telefon nenávratně mrtvý. Dokud se dostanete do Fastbootu, nejste na tom špatně a můžete znovu nainstalovat operační systém.
Funguje odemykání otiskem prstu, Wi-Fi, sluchátka přes Bluetooth a příjem MMS. Naopak zlobí podpora zakulacených rohů displeje, kdy se zobrazují informace i v nevykreslovaných rozích. Chybí komponenta A-GPS pro rychlejší zjištění polohy a není použitelné ani VoLTE.
K dispozici jsou stovky nativních aplikací a je možné použít také aplikace z Androidu pomocí nástroje Waydroid. Ne všechny aplikace ale budou fungovat, například ty, které sahají na peněženku nebo na bluetooth.
Použít je možné aplikace nainstalované přes Snap, které ale obvykle nejsou určeny pro mobilní prostředí.
Systém má spoustu chyb a nedodělků, nefunguje například synchronizace kontaktů, chybí podpora eSIM a budík nezvoní nahlas, pokud jsou připojena sluchátka. Budeme rádi, pokud se zapojíte s překlady, opravováním aplikací nebo systému či s vývojem nového softwaru.
(Autorem fotografií je Petr Krčmář.)