V sobotu 13. dubna 2019 proběhl druhý ročník bratislavské konference OpenCamp, která se zaměřuje na otevřený software a otevřenou společnost. Na letošní ročník bylo přihlášeno 250 účastníků, kteří mohli navštívit tři sály s přednáškami a jedni místnost s workshopy.
Fero Volár: Bullshit detector: otevřený nástroj pro boj s fake news
Fake news je takový typ žurnalistiky, který má za úkol zmanipulovat čtenáře. Nejčastějším místem šíření jsou dnes dezinformační weby. Proč by ale s něčím takovým měl bojovat web hosting? Mnoho těch webů běží na našem hostingu a firma se k tomuto vážnému tématu chtěla nějak vyjádřit.
Jde o závažné celospolečenské téma, které se neustále vrací – tady na Slovensku nedávno při prezidentských volbách.
Zákazníci firmy WebSupport často upozorňují na to, že právě na tomto web hostingu běží podobný obsah. Chtěli jsme vytvořit nástroj, který by sloužil našim blízkým. Nechceme nic blokovat, ale upozorňovat na problémové weby.
WebSupport nemá žádný mandát rozhodovat o tom, který obsah je závadný, využívá proto databázi Konspiratori.sk.
Jde o veřejnou databázi webových stránek s neseriózním či lživým obsahem. Dělají svou práci velmi zodpovědně a vytvořená data pak používají další služby. Například při reklamních kampaních nechtějí některé společnosti, aby se jejich reklama na těchto webech objevila.
Původně se uvažovalo nad komplexním řešením používajícím strojové učení, které by umělo hlídat klíčová slova a sledovat propojení mezi weby. Nakonec se to ukázalo jako příliš složité. Tohle nemá vychytané ani Google, takže jsme od toho nakonec upustili.
Výsledkem je rozšíření do nejrozšířenějšího prohlížeče – Google Chrome.
Rozšíření má v sobě nakonec integrovanou databázi z Konšpirátori.sk, což se ukázalo jako dobré řešení. V databázi je dnes přibližně 120 různých webů. Nedotazuje se přímo do databáze, takže provozovatelé webu nemohou sledovat, jaké stránky navštěvujete.
Vývojáři se snažili být co nejvíce v souladu se soukromím uživatelů a maximálně transparentní. Nakonec jsme skončili u open-source nástroje, všechno si můžete stáhnout z našeho GitHubu.
Při vývoji se objevily dva různé problémy. Jednak bylo potřeba generovat náhodně ID informačních prvků vkládaných do stránky, aby si weby nemohly tyto prvky automaticky detekovat a reagovat na ně. Druhý problém byl z-index, kdy si stránky začaly hlídat, aby byly maximálně v popředí a nebylo možné je překrýt varovnou stránkou generovanou rozšířením. Postupně jsme se předháněli, až jsme skončili na maximální hodnotě z-indexu.
Rozšíření nic neblokuje, ale uživatele varuje před problémovým serverem. Můžete to používat a nemusíte, do ničeho vás nenutíme. Je to pomocník, který vám může otevřít oči a začít myslet kriticky.
Rozšíření bylo propagováno velmi nízkorozpočtově: na sociálních sítích, YouTube a na blogu. Vývoj a propagace nakonec vyšla velmi levně, stálo nás to pár tisíc eur.
V současné době má rozšíření 1500 uživatelů denně, 80 % je ze Slovenska, 19 % z Česka a zbytek z jiných zemí. Komunikovali jsme to intenzivně asi jeden měsíc, pak už se neděly další změny.
Probíhá jen pravidelná aktualizace databáze, komunita pak vytvořila verzi pro Firefox.
Reakce zákazníků byla v drtivé většině velmi pozitivní, přesto se našlo několik nespokojených. Byly jednotky lidí, kteří s námi už nechtěli mít nic společného a skončili u nás.
Přesto si Fero Volár myslí, že firma udělala dobře. Nejde o cenzuru, ale o vyjádření názorů naší firmy. Pořád si myslíme, že internet je jedno z posledních míst, kde se můžete svobodně vyjádřit a realizovat.
Ján Golais: všechno o datech v cloudu z pohledu ochrany osobních údajů
Když si klient kupuje cloudovou službu, jako první kritérium postaví cenu. Nikdo neřeší, co je za tím. Nejdřív by ale měli řešit ochranu osobních dat.
Na první místě je ale cena a dostupnost, málokdo se zajímá o důvěryhodnost a způsob nakládání s osobními údaji.
Od roku 2002 až dosud platí stejná pravidla při zpracování osobních údajů. Zásady zákonnosti, integrity, zodpovědnosti a podobně. Když mi někdo prodává kolo, tak jako zákazník očekávám, že pojede, budu moci zatočit a brzdy budou fungovat.
Podobně u cloudové služby zákazník očekává, že mu data nezmizí a nepomíchají se s daty ostatních uživatelů. To jsou úplně základní požadavky.
Na cloudovém hřišti se pohybují tři figury: provozovatel, zprostředkovatel a poskytovatel služby. Provozovatel určuje podmínky a zprostředkovatel koná. Poskytovatel služby je sám sobě pán a hlavně nedělá jednu zásadní věc: ve většině případů nezpracovává data.
Není to ani podstatou jeho služby, on jen data uchovává.
Slova uchovává
se chytili tvůrci zákona a řekli, že jde o druh zpracování dat. Podle mého názoru poskytovatelé cloudu patří mezi poskytovatele služeb, ne mezi zpracovatele dat.
Poskytovatel cloudu se k datům chová jako k souboru, obsah ho nezajímá. Jeho úkolem je zajistit integritu dat, zabezpečit je proti ztrátě. To je základní podmínka, kterou musím dodržet, jinak si moji službu nikdo nekoupí.
Slovenský úřad na ochranu osobních údajů stále trvá na tom, že poskytovatel cloudu je zpracovatelem osobních údajů a z tohoto titulu mu náleží mnoho povinností. Situaci neulehčují některé velké firmy, jako Microsoft a IBM, které se samy pasovaly do role zpracovatele. Netuším, proč to udělaly, znamená to pro ně spoustu činností, podepisování smluv a podobně.
Při uchovávání dat nemusí vždy jít o zpracovávatelskou operaci. Mělo by se vždy individuálně vyhodnotit, kdy jde o zpracování. Pokud do dat nevstupuji, nevyhodnocuji je, pak je nezpracovávám, i když jsou u mě uložená.
Stále by ale měla být dodržována mlčenlivost od všech zástupců firmy, u které jsou data uchovávána.
Provozovatele cloudových služeb je možné docela dobře přirovnat k pronajímateli kancelářské budovy. Pokud shoří budova nebo se poškodí server, přijdeme o data. Pokud se ale zblázní admin nebo uklízečka, může dojít k úniku osobních údajů. Pokud bychom se k poskytovateli cloudové služby měli stavět jako ke zpracovateli dat, museli bychom takto postupovat i v případě majitelů budov. Na tohle začal konečně úřad slyšet a uvědomil si, že je v jeho definicích nějaký problém.
Milan Pikula: vybudování SOC a CSIRT na zelené louce
SK CERT je národní jednotka pro řešení kybernetických incidentů, která staví většinu technologií na open source. Hlavní činnost zahrnuje tvorbu bulletinů a varování, které je možno odebírat. Sledujeme několik stovek různých zdrojů a zajímat vás to může, pokud máte zájem mít informace o nových veselých bezpečnostních dírách.
Úkoly definuje zákon o kybernetické bezpečnosti.
Na začátku byla myšlenka na dosažení co nejlepší bezpečnosti v rámci oblastí, o které se organizace zajímá. To znamená, že je nutné být informovaný o současných hrozbách, identifikovat incidenty, provádět audity a analýzy a neustále se zlepšovat. To všechno je nutné zajistit tak, abychom všechny peníze neutratili za nákup hardware.
Velkou součástí činnosti je monitoring, který je možné rozdělit do tří oblastí: provoz, bezpečnost a incidenty. CERT k tomu používá Zabbix, který sbírá data z různých míst. Zároveň se získávají data ze syslogů a vše se propojuje pomocí Elastic a Kibana. Na druhé straně je operátor, který sbírá informace od partnerů a komunikuje s nimi.
K tomu se využívá ticketovací systém, který je přizpůsobený konkrétnímu pracovnímu postupu.
Bezpečnostní monitoring probíhá pomocí sběru dat z IPS systémů, které v případě nestandardního chování vyhlásí poplach. Používají se různé nástroje od společností Cisco, Snort, Check Pon, Palo Alto nebo FortiGate. Umíme získávat netflows ze síťových zařízení a porovnávat je s dalšími informacemi.
Ze síťového provozu je ovšem dnes možné získat čím dál méně informací, protože se čím dál více údajů šifruje, přenáší různými tunely a moderními protokoly, které brání inspekci. Bezpečnost je proto potřeba řešit na koncových zařízeních, ze sítě toho už moc nezjistíte.
Informace je do systému možné vkládat i ručně, například při analýze malware. Když analyzujeme malware a zjistíme, že se při své činnosti připojuje na nějaký port, můžeme tuto informaci do systému MISP zadat ručně.
Po cestě se rovnou daný port porovná s uloženými informacemi o proběhlých spojení a vznikne varování. My pak rovnou víme, že v některé z dohledovaných sítí máme incident.
Celá platforma běží pomocí virtualizace KVM na blade serveru a využívá velké iSCSI úložiště. Prostředí umožňuje oddělovat jednotlivé části podle citlivosti.
Správa probíhá pomocí Ansible, role jsou uloženy v interním Gitlabu.
Všechno to stojí nemalé peníze. Ani open source není zadarmo, především je potřeba poděkovat vývojářům všech nástrojů.
Nasazení, správa a udržování takto rozsáhlé infrastruktury také vyžaduje nemalé částky.
Na takto objevené incidenty je potřeba reagovat, zjistit co největší množství informací a reagovat. Pro analýzu je možné použít řadu standardních konzolových utilit jako whois či dig, ale také pokročilejší nástroje jako MISP, ACT, ThreadPinch a podobně. Takto můžete velmi jednoduše zjistit spoustu informací o IP adresách a odhalit mnohé souvislosti.
Pokud máme k dispozici napadený počítač, nejprve je potřeba zajistit obraz paměti. K jeho analýze je možné použít framework Volatility, který vám dokáže říct, do jakých struktur jsou procesy zaregistrované, jaké informace jsou v keši a podobně. Dříve jsme si neuměli představit, že něco takového můžete udělat. Dnes je to na pár kliknutí.
Při analýze malware je možné spustit ho ve virtuálním prostředí. K tomu je možné využít některé cloudové služby nebo vlastní instalaci nástroje Cuckoo. Výhodou je, že ji máte u sebe, ale disponuje jen jedním prostředím a tvůrce malware se na to dokáže připravit.
Novinkou mezi analytickými nástroji je Ghidra, kterou vytvořil a uvolnil NSA. Takto kvalitní dekompilaci jsem ještě nikde neviděl.
Také pro diskovou forenzní analýzu je možné použít řadu open-source nástrojů: linuxová distribuce Deft, ftk-imager, ewfmount, log2timeline či scalpel. Klasický obraz disku vytvořený pomocí dd má problém v tom, že při jeho připojení není možné garantovat, že do něj nebude nic zapsáno. Například ext4 po připojení automaticky přepíše žurnál, tyhle nástroje vám pomocí FUSE umožňují zajistit opravdové read-only.
Při penetračních testech jsou užitečné nástroje jako nmap, Metasploit, sqlmap, OpenVAS nebo OWASP ZAP. Tyhle nástroje vám umožňují se automaticky připojit, zneužít známé mezery a pak už se jen procházíte databází na napadeném serveru.
SK CERT se snaží být zodpovědným členem open-source komunity a přispívá do projektu jako IntelMQ nebo právě vyvíjený Taranis NG, který bude umět spoustu nových věcí. Až to bude venku, budeme na to hodně hrdí, protože to budou používat prakticky všechny CERT týmy.
Bezpečnostní tým umí dnes bez problému fungovat na open-source nástrojích. Existují i komerční nástroje, ale proč bych za to platil, když stejné nástroje můžu používat zadarmo a ještě do nich přispívat.
Andrej Shadura: svobodný software a role Debianu ve změně společnosti
Copyrightové zákony se na software nevztahovaly před rokem 1974. Software byl považován za myšlenky, postupy, metody, systémy a procesy, na které se autorské právo nevztahovalo.
Většina programů byla do té doby distribuována v podobě zdrojových kódů zaznamenaných na papíře nebo na děrných štítcích.
V roce 1974 CONTU rozhodla o tom, že programy mají být zahrnuty mezi díla chráněná autorským zákonem. To hodně lidí naštvalo a mezi nimi byl i Richard Stallman.
Ten se pohyboval ve velmi neformálním prostředí, ve kterém se běžně software sdílel. Když ho nebudete sdílet, tak proč ho vytváříte? Když se software kopíruje, tak je ho víc.
Čím dál více firem ale začalo vydělávat na prodeji software. Richard Stallman z toho byl ale velmi smutný, protože to začalo způsobovat nepříjemné problémy. Na MIT byla tiskárna Xerox, ve které se zasekával papír. Dělaly to i starší modely, ale jejich ovladače přicházely i se zdrojovými kódy, které umožňovaly úpravu a doplnění hlášení zaseknutého papíru. Tahle tiskárna byla jiná: ovladač měl jenom binární podobu.
Oslovil proto autora, který ale odpověděl, že výrobci slíbil, že zdrojové kódy nikomu nedá.
Tato příhoda rozhodla o tom, že Stallman definuje čtyři svobody software: svobodu spouštět program pro libovolné účely, svobodu studovat a měnit funkci programu, svobodu libovolně distribuovat kopie a svobodu šířit dále vlastní úpravy. Výsledkem pak byl vznik projektu GNU, který začal vytvářet vlastní operační systém, který by byl zcela svobodný. Veškerý software byl vytvářen pod licencí GNU GPL, která dovoluje šíření a zakazuje jakákoliv omezení.
Takový software tedy můžete libovolně používat, kopírovat, šířit a třeba i prodávat.
V roce 1991 byla vyvinuta většina hlavních funkcí, chybělo ovšem jádro – zásadní část, která komunikuje s hardwarem a řídí běh celého operačního systému. V té době bylo několik kandidátů: Hurd byl nekompletní a BSD bylo zatíženo žalobou s nejistým výsledkem. V té době někdo do mailing listu Minix poslal zprávu o tom, že píše vlastní operační systém. Tím člověkem byl Linus Torvalds.
Do konce roku byl jeho operační systém schopen provozovat grafické rozhraní. Navíc byl k dispozici pod licencí GNU GPL, což bylo přesně to, co GNU potřeboval. Bylo to logické spojení, protože jádro bylo přesně to, co v GNU chybělo.
Už v roce 1993 vznikla linuxová distribuce Debian, která byla postavena na obou částech: GNU a Linux. Autem byl Ian Murdock a rychle byl k dispozici instalátor, balíčkovací systém a spousta pohodlných vlastností. Ian po třech letech odstoupil z pozice absolutního diktátora a předal většinu svých pravomocí komunitě.
Debian je jiný, je to největší současná distribuce – pokud jde o balíčky. Větší je jen Ubuntu, ale to je postaveno na Debianu a přidává vlastní balíčky.
Má také obrovskou komunitu vývojářů, kterých je více než tisíc po celém světě. Také je tu spousta dalších lidí, kteří nejsou vývojáři, ale projektu pomáhají jako správci balíčků, překladatelé nebo testeři hlásící chyby.
Za Debianem nestojí žádná společnost, ale vždy jsou upřednostňovány zájmy komunity.
Projekt běží tak dlouho, protože se jeho zakladateli podařilo vytvořit silnou komunitu. Sám v roce 2003 napsal: Když z open-source software odstraníte komunitu, zůstane jen software.
Procesy uvnitř projektu jsou nastaveny tak, aby bylo možné vytvářet co nejkvalitnější software, který je užitečný pro komunitu. Svoboda software je principiální prioritou celého projektu.
Morální principy jsou kodifikovány od roku 1997 ve společenské smlouvě a manifestu. Říká se v nich, že Debian bude vždy stoprocentně svobodný software, vždy vše předá komunitě, nebude skrývat problémy a bude vždy vystupovat naprosto otevřeně. Prioritou Debianu jsou uživatelé a svobodný software. Nezakazuje například použití nesvobodného software, pokud si to uživatel přeje.
Například v případě ovladačů pro hardware je to často nutnost, protože bez nich jsou obvykle periferie k ničemu.
V té době nebyl otevřený software příliš rozšířený a známý a když se Netscape v roce 1998 rozhodl zveřejnit zdrojový kód svého prohlížeče, přemýšleli, jak svou svobodnou filozofii vysvětlit. Přišli tehdy s pojmem free software
, který je ovšem matoucí: je ten software zdarma nebo je svobodný? Christine Peterson proto přišla s pojmenováním open source, který tímto problémem netrpí.
Poté vznikla organizace Open Source Initiative, kterou založil Bruce Perens z Debianu. V definici open source použil stejné principy, které byly sepsány pro Debian. Zatímco hnutí kolem svobodného software se soustředí na filosofii svobody, open source dává větší důraz na praktické využití této svobody. Přes některé rozdíly jde vlastně o stejnou věc využívající stejné principy a licence.
Rozdíly jsou především filosofické: svobodnému software je vyčítána přílišná ideologie, open source je podle jiných zase příliš pragmatický.
Tak či onak musí licence splňovat všechna pravidla, aby byla považována za svobodnou/otevřenou. V případě open source je to jednodušší zneužít, existují licence neumožňující s kódem pracovat, přesto jej tvůrci mohou prohlásit za otevřený
. Příkladem je například licence na formát JSON, která zakazuje použití na zlé věci. Kdo ale rozhoduje o tom, jestli je dané využití dobré či špatné?
Stejný problém je s komerčním a nekomerčním využitím. Takových pseudo-svobodných
licencí je celá řada: CC nd-nc, MongoDB SSPL, Redis Commons Clause, Open Core a další.
Tomáš Popela: Silverblue – nová generace desktopového OS?
Tradiční přístup k operačnímu systému je takový, že se prostředí skládá z různých balíčků, které si uživatelé můžou do určité míry upravovat a celý systém si dle libosti měnit. Někdy ale uživatelé nemají dostatečné schopnosti na to, aby si to pak sami opravili.
S tím současně souvisí to, že se aktualizuje běžící operační systém, což přináší další problémy. Kontrola kvality je prováděna komunitou, která obvykle kontroluje jen balíčky, ale ne celek.
Určitá kombinace balíčků pak může způsobit neočekávané problémy.
Silverblue se skládá ze dvou hlavních projektů: rpm-ostree a libdnf. První jmenovaný sestaví z tradičních balíčků systémový obraz, který si můžeme představit jako repozitář v Gitu. Umožňuje nám to mít například adresář /usr chráněný proti zápisu. Žádná aplikace třetí strany vám nemůže modifikovat běžící operační systém.
Výhodou jsou atomické přechody mezi obrazy, kdy se během aktualizace vytvoří nový obraz, který se zavede při restartování. Tím zamezím poruchám, které se projevovaly během aktualizací na běžícím systému.
Také je možné se snadno vrátit k předchozímu obrazu funkčního systému.
Grafické aplikace se do Silverblue dostávají pomocí Flatpaku, který může aplikace velmi dobře oddělit od systému. Nabízí to další ochranu pomocí sandboxování, přičemž řízeně uniknout je možné jen pomocí portálů.
Ty jsou ovšem pod kontrolou a uživatel může jednotlivým Flatpakům přístup k portálům odmítnout.
Výsledkem je Fedora Silverblue, která byla dříve známá jako Atomic Workstation. Systémový obraz je možné podle svých požadavků modifikovat nebo je možné použít Flatpak pro grafické aplikace či Toolbox pro vytváření nezávislého kontejnerového prostředí, kde už funguje klasický balíčkovací systém dnf
. Ve firemním prostředí je možné snadno tyto modifikace zakázat a správce se pak může na všech stanicích starat o unifikované prostředí.
Vývojáři by chtěli do budoucna zpomalit tempo vydávání nových obrazů. Chceme vydávat lépe otestovaný obraz jednou za dva týdny.
V plánu je lepší integrace terminálů a Toolboxu, připravené toolboxy, IDE v kontejnerech, minimalizace použití vrstvení balíčků a kontejnerizace složitých aplikací jako Chrome či VirtualBox.
Martin Pluskal: openSUSE nejotestovanější distribuce
Projekt openSUSE byl založen společností SUSE v roce 2005. Do té doby si ještě vedení firmy představovalo, že se budou peníze vydělávat na podpoře drobných uživatelů. Poté došlo ke změně, firma se zaměřila na firemní zákazníky a uživatelům začala dávat distribuci zdarma.
Projekt se stará o komunitu a SUSE jej technologicky sponzoruje.
Distribuce openSUSE vyniká především snadnou instalací a konfigurací a také silnou podporou komunity a zaměstnanců společnosti SUSE. V SUSE například pracuje řada důležitých vývojářů linuxového jádra, takže když se objeví nějaký problém, bývá velmi rychle opraven.
Komunita má také velmi aktivní fóra plná zkušených uživatelů, kteří jsou ochotni pomoci začátečníkům.
Distribuce má několik odnoží: Tumbleweed je neustále aktualizovaný (rolling release), Leap je běžné stabilní vydání a Kubic se specializuje na kontejnery. Pokud chcete začít s openSUSE, stáhněte si nejnovější verzi Leap.
Výhoda je, že základ systému používá stejné aktualizace jako SUSE Linux Enterprise, které jsou tedy velmi dobře otestované.
Zbytek systému je převzatý z větve Tumbleweed, takže jde o jakousi hybridní distribuci. Oficiálně podporuje x86_64 a neoficiálně také procesory ARM. Nepodporujeme už 32bitové procesory Intel. Zároveň ale nebráníme komunitě, aby podporu připravila, ale nikdo se k tomu nemá.
Podpora starších procesorů je ještě součástí Tumbleweedu, ale postupně se bude utlumovat. Má to ale velmi málo uživatelů.
Tumbleweed vychází ve snapshotech několikrát týdně, jakmile projde automatickým testováním. Poté se ještě na výsledek podívá člověk a pak teprve vyjde nová verze.
Pokud nová verze nevychází, čeká se buď po nějakých velkých změnách na opravy testů, nebo něco nefunguje a je třeba to opravit. Když třeba přidáme novou verzi jádra, která rozbije mdraid, musíme počkat na opravu. Do té doby nový snapshot nevychází.
Úspěšná distribuce oblíbená u uživatelů musí mít především hodně balíčků. Klasická vydání vycházejí v dlouhodobých cyklech a v rámci daného vydání se pak udržují stejné verze balíčků. Pokud máte v distribuci sedm let starý software, původní vývojář už ho nepodporuje a jste v tom sami. Z toho taky plyne, že čím déle musíme takový software udržovat, tím více za to musíte platit.
Rolling release jako Tumbleweed je průběžně aktualizovaná a nemá něco, co by bylo možné označit za verzi. Neexistuje tu stabilní verze v klasickém slova smyslu, stejně jako nemáme plán vydání.
Nové verze se vydávají, až proběhnou automatické testy. Průběžné vydávání řeší problém udržování starých verzí, přidává podporu nejnovějšího hardware a nejnovější softwarovou funkcionalitu.
Jak ale zajistit, že neustále se měnící distribuce bude fungovat? Pokud se bude distribuce často rozbíjet, nebudou uživatelé spokojení a budou nám odcházet.
K tomu slouží už zmíněné automatizované testy, které odhalí nefunkčnost některé komponenty nebo jejich kombinací.
SUSE a openSUSE používá k testování především dva nástroje: Open Build Service a openQA. První jmenovaná služba umí sestavovat balíčky pro mnoho různých distribucí a systémové obrazy v různých formátech. Testování pak provádíme v nástroji openQA, který se snaží simulovat uživatele sedícího před počítačem.
Ve virtuálním počítači se spustí obraz systému a automat pak předstírá uživatele, který píše a kliká myší. Kdyby tolik testů prováděl člověk, potřebovali bychom jich hodně a rychle by se uklikali.
Výsledkem práce je sada screenshotů obrazovky, které se pak porovnávají s referenčními obrázky.
Kromě toho je možné testovat například ovládání přes sériovou konzoli nebo třeba testy na více strojích najednou. Je možné vytvořit cluster několika strojů a dá se pak velmi pěkně otestovat.
Díky tomuto podrobnému testování se daří předcházet mnoha chybám, přestože se v systému neustále něco mění. Používám Tumbleweed a nestává se, že by se mi ho nepodařilo nainstalovat nebo by něco běžně používaného nefungovalo.