Pokud generace našich otců a dědů dokázali připravit a zrealizovat programy Apollo a Sojuz. Tak je velmi zvláštní, že teď víc jak 15 let zápasíme s tak pozemskými problémy, jako jsou počítačové viry a slabiny v operačních systémech.
Mimochodem programování je čistě lidská práce. Žádná fyzika, chemie nebo orientace v kosmickém prostoru, pouze lidská práce.

Chyby a omyly, které jsou patrné v oblasti IT se přenesly i do oblasti personalistiky.  Málo dnešních majitelů a CEO si uvědomuje, že oni jsou těmi prvními personality ve svých firmách.
Spolupracovníků je dost.  Pouze lidské zdroje jsou vyčerpané.

20 let a stále se opakují podobné problémy. Není to divné ??
Máme řešení pro malé i střední firmy.

Cyber bezpečnost

Z termínu Průmysl 4.0 se stalo PR heslo.
Ve skutečnosti se jedná víc o změny uvažování lidí než o technologie.

Průmysl 4.0

Lidské zdroje a jiná absurdní pojmenování nefungují.
Dobrý šéf najde dobré spolupracovníky vždy.

Lidé nebo lidské zdroje?

V časopise Právní rádce vyšel článek o tom, že pro Průmysl 4.0 je nutné vyřešit problémy s operačními systémy.
Pokud chceme řešit etické a právní problémy Průmyslu 4.0, samořiditelných vozidel nebo umělé inteligence, musíme nejdříve vyřešit základy, na kterých tyto obory stojí.

Nové "IT hračky" a nevyřešené staré problémy

 

I když se v tomto článku věnuji počítačům a počítačové bezpečnosti, tak je určen především vám běžným uživatelům. Podle mne i novinář, právník, politik nebo majitel firmy jsou většinou běžní uživatelé. Na úvod mám na vás několik otázek k zamyšlení.

Nevadí vám, když vám někdo téměř 20 let lže, a to proto, aby zakryl omyly, které se staly před velmi dlouhou dobou? Jak vnímáte odpovědnost firem za jejich výrobky? Když se objeví v dětkých hračkách chemické látky, které škodí dětskému zdaví, tak vám to určitě vadí. Když vám lékař předepíše lék, tak se mnoho z vás zajímá o jeho nežádocí účinky. Od lidského těla, ať již dětského nebo dospělého, nemáme manuál s popisem funkcí a závislostí. Lidské tělo stvořila příroda nebo jiná vyšší síla. Přesto jsme jako zákazníci (a oprávěně) nároční k práci výrobců hraček, léků nebo potravin.

Je tedy velmi zvláštní, že se jako stejně nároční zákazníci nechováme k něčemu tak pozemskému jako jsou počítačové programy a především operační systémy. Je to proto, že vám nějaký „odborník“ řekl, že to jinak dělat nejde? Tak se prosím zkuste sami zamyslet jak by asi dopadl výrobce hraček, léků nebo potravin, když by řekl, že to jinak udělat nejde a že v jeho výrobku prostě budou škodlivé látky. Zákazníci by si s největší pravděpodobností hledali jiného výrobce a kontrolní orgány by takovým výrobcům vyměřili pořádně velké pokuty.

Programování je čistě lidská práce, při které není potřeba respektovat přírodní zákony. Pro programátora není důležité poznat, pochopit a používat principy běžné v fyzice, chemii, biologii.

Když si uvědomíme fakt, že programování je čistě lidská práce, tak to může být i velká výhoda pro následné hledání řešení s počítačovými viry a bezpečností jako celkem.

Za současného stavu v oboru IT to vypadá tak, že je snazší hledat nová řešení v oblastech jako jsou biologie, chemie nebo fyziky než si nahlas a jasně opakovat, že by velké SW firmy měly být odpovědné za svojí práci a nedostaky ve svých programech. Jistě tento názor jde úplně proti současným zvyklosten v oboru IT. To je pravda, další pravda je, že v současnosti platná pravidla opakovaně selhávají a je stále více zřejmé, že je nutné tato pravidla změnit.

Zhruba v polovině května 2017 zaútočil na něklik stovek tisíc počítačů po celém světě počítačový virus WannaCry, zašifroval obsah jejich diků a požadoval výkupné.

Na tom by na první pohled nebylo nic zvláštního, kdyby :

- se podobné útoky počítačových virů neodehrávali již víc jak 17 let a stále není základ problému vyřešen (virus I Love You v roce 2000 napadl cca 10% tehdy připojených počítačů do Internetu)

- údajní „experti“ nesváděli víc jak 17 let odpovědnost na koncové uživatele a firemní správce

Pokud v nějakém oboru trvá problém déle jak 17 let (virus I Love You útočil v roce 2000) a stále není vyřešen, tak se jedná o složitější úkol než je přistání na Měsíci. Protože v 60. letech trvalo americkým vědcům, inženýrům a technikům 8 let od projevu J.F. Kennedyho než úspěšně dopravili modul Apollo 11 na Měsíc a zpět. Přičemž při realizaci tohoto projektu se museli vypořádat se spoustou úplně nových úkolů a nástrah z oblasti fyziky, chemie, orientace v kosmickém prostoru, atd.

Existuje však ještě druhá možnost proč není problém s počítačovými viry stále vyřešen, i když se jedná o čistě lidskou práci. Tou příčinou může být přístup velkých firem a spřátelených IT expertů, kteří otevřeli Pandořinu skřínku v podobě nedokonalých a špatně kontrolovaných operačních systémů a dalších aplikací. Teď ješitnost zástupcům těchto firem nedovoluje přiznat chybu, takže raději již víc jak 17 let přesvědčují celý svět, že je problém v nezkušených uživatelých.

Navíc mnoho zástánců současného zvláštního stavu v oboru IT přednáší, píší články a poskytují rady, takže podle svých názorů vychovali celou novou generaci nových IT odborníků, kteří respektují názory svých učitelů a pracují s názorem, že lépe to udělat nejde.

Smutný na celé skutečnosti je také fakt, že tento přístup, tedy „Přesně vím jak to mají dělat ostatní, ale do mé práce mi nikdo nesmí mluvit“ se přenáší i do dalších oblastí lidského života.

Řešení problému existuje. Fakt, že řešení problémů s počítačovou bezpečností existuje je ta nejdůležitější zpráva, kterou je třeba říkat nahlas. K tomu je třeba přidat fakt, že není možné stále svádět odpovědnost na platícího zákazníka. Je třeba nahlas opakovat, že i tvůrci počítačových programů musí být odpovědní za svoji práci podobně jako výrobci léků nebo potravin.

Když se nám společně povede tento první krok, tak pak už bude snadné vybudovat kontrolní systém, který zajistí neporušenost (integritu) programů po celé cestě od tvůrce, přes Internet až k uživatelům. Právě takový kontrolní systém zajistí, že v počítačích, chytrých telefonech, průmyslových systémech nebo automobilech nepůjde spustit neznámý program, tedy například počítačový virus.

Připadá vám víše zmíněné řešení až moc jednoduché. Ano, ale ona řešení velkých problémů bývají občas velmi jednoduchá. Problém je jednak na straně počítačových firem a také na straně výrobců různých antivirových programů a dalších bezpečnostních programů. Tyto firmy a lidé s nimi spojené si z prodeje nedokonalých bezpečnostních řešení udělali business, velmi dobrý business a odmítají připustit, že základní a fungující úroveň bezpečnosti počítačů a Internetu nemůže být business. Je to vidět například na reakcích některých IT „expertů“, kteří jasně říkají, že vyřešení základních bezpečnostních problémů jim nedává ekonomický smysl.

Ve skutečnosti vyřešení základních bezpečnostních problémů s počítačovými viry, hackerskými útoky a slabinami v operačních systémech dává a bude dávat ekonomický smysl všem firmám, úřadům i koncovým uživatelů, protože oni musí zbytečně vynakládat úsilí a peníze na řešení problémů, které mohli za minulých 17 let vyřešit SW firmy a IT „experti“ místo svádění odpovědnosti na zákazníka.

Pokud chceme skutečně vyřešit problém, tak musíme vyřešit jeho základní příčinu. Jinak se po čase vrátí, v jiné a možná ještě zákeřnější podobě. To platí v běžném životě i v prostředí počítačových programů. Tak co? Pustíme se do změny?

 

Rusové prý vedou kybernetickou válku s EU a USA. Ve skutečnosti je situace ještě vážnější a základ problému je jinde. Problémy s kyber bezpečností se postupně hromadily posledních 15-20 let, protože SW firmy s podporou konzultantů nabízely drahé „placebo“ místo skutečného řešení nedostatků, takže se situace stále zhoršuje. V roce 2016 to došlo tak daleko, že je Ruská federace obviňována z vedení kybernetické války.

Několik konkrétních příkladů hackerských útoků :

- Objevily se informace o tom, že Rusko zasahovalo do voleb prezidenta USA

USA jsou světová velmoc, která vydává mnoho peněz na klasickou i kyber bezpečnost a přesto se objeví tvrzení, že počítačoví útočníci z Ruska dokázali ovlivnit tamní volby. Nabízí se otázka, co dělaly americké firmy, autoři operačních systémů, že nedokázaly zabránit útoku cizí země na servery v USA. Je to ostuda, důkaz neschopnosti nebo úmysl?

- Rusové prý napadli počítače státní správy v Litvě

Podle dostupných informací se víc jak půlroku dokázaly škodlivé programy ukrývat v počítačích ve státní správě Litvy. Je zvláštní a nebezpečné, že je za tu dobu nedokázal žádný antivirový program detekovat. Na druhou stranu, pokud je odhalení tak složité, jak se mají proti hackerským útokům ochránit běžní uživatelé a firmy, kteří nemají tak rozsáhlé prostředky jako mají státní organizace.

- V mobilních telefonech s operačním systémem Android vojáků na Ukrajině se objevil škodlivý program, který odesílal jejich GPS souřadnice

Ukázka jak slepá důvěra v moderní technologie může ovlivnit výsledek klasické bitvy. V tomto případě se jedná o vyhledání a zaměření nepřítele podle dat z jeho mobilního telefonu.

- V roce 2015 informovala společnost F-Secure o tom, že existuje distribuovaná síť „the Dukes“, která se zaměřuje už od roku 2008 na špionáž v kyber prostoru.

Další informace o tom, že existovala dlouhou dobu špionážní síť, aniž by si jí všimly antivirové nebo jiné bezpečnostní programy. Je to náhoda, úmysl nebo další důkaz, že současná IT bezpečnost stojí na hliněných nohách?

Toto jsou pouze čtyři případy, kdy bylo z hackerských útoků obviněno Rusko nebo jeho občané. Jenže situace je složitější než se na první pohled zdá. Operační systém Windows i Android vytvořily velmi bohaté americké společnosti a tyto společnosti se podílely i na nastavování pravidel IT bezpečnosti. Takže tyto firmy, potažmo i bývalé vlády USA by měly mít vždy náskok před hackery. To nefungovalo a dokonce šéf CIA varoval, že nedokázali zabránit útokům hackerů.

Microsoft a Google (Alphabet) mají pod kontrolou zdrojové kódy svých operačních systémů a přesto nejsou schopny je ochránit před útoky ze strany podvodníků nebo cizích zpravodajských služeb. To je divné.

Jedná se o absurdní a nebezpečnou situaci. Výrobci operačních systémů nejsou schopni zajistit bezpečnost a integritu svých vlastních výrobků. Mnohem nebezpečnější jsou však názory, že to prý nejde a s útoky hackerů se prý máme smířit. Přitom tvorba počítačových programů je čistě lidská práce. Máme se tedy smířit s mizernou lidskou prací?

Microsoft, Google, Adobe, atd. a podobně smýšlející menší firmy a poradci se snaží odpovědnost svádět na koncové uživatele. Takové pokusy jak se zbavit odpovědnosti pozoruji již od roku 2000 (tedy víc jak 16let), od doby kdy na uživatele připojené přes klasické telefonní linky útočily viry typu „Dialer“. IT firmy a různí poradci své nefungující rady stále opakují. Stále se poradci diví chování uživatelů a stále nepochopili, že základní odpovědnost spočívá na tvůrcích operačních systémů a na poskytovatelích služeb. Pokud se změní odpovědnost SW firem za jejich výrobky (operační systémy a aplikace), tak následně bude velmi rychle vyřešen problém s počítačovými viry a většinou hackerských útoků.

Tvorba operačních systémů je čistě lidská práce, takže neexistuje jeden, jediný důvod proč by tvůrci neměli být odpovědní za svou práci. Navíc pokud chyby v této práci ovlivňují lidi doslova po celém světě. Jedná se o velkou změnu a popření většiny pravidel, které byly v této oblasti za posledních 20-25 let prosazeny PR odděleními SW firem a spřátelených poradců. Taková změna je nutná, protože pokud nějaká pravidla nefungují, a pravidla v oblasti IT bezpečnosti nefungují 20 let, tak je nutné se zamyslet a definovat nová pravidla, která budou lépe odpovídat současné době.

Teď ještě zbývá trocha času, ale když nic nezměníme, tak velmi rychle přijde doba, kdy místo toho, že hackeři zasahovali do volebních kampaní budeme řešit situace, kdy po zásahu hackerů budou umírat lidé.

 

Ještě relativně nedávno byl svět průmyslových automatů, MaR a dalších řídících systémů naprosto odlišný od světa PC počítačů. Doba se změnila a dnes je naprostá samozřejmost, že je možné sledovat a ovládat celé výrobní linky i jednotlivé ventily nebo FW měniče z jednoho místa přes SCADA aplikaci.

Současně s PC vstoupily do prostředí řídících a regulačních systémů i problémy s bezpečností známé z kancelářských počítačů a ze sítě Internet.

Kdo ovládá operační systém řídícího počítače, ten může ovládat i všechny aplikace, které běží na takovém počítači. Dokonce platí, že pokud je aplikace kvalitně naprogramována, tak je to dobrá zpráva pro uživatele i pro hackera, který má jistotu, že jeho činnost nebude prozrazena například pádem aplikace.

Tvorba programů je exaktní obor

Při stavbě mostů nebo konstrukci motorů je třeba poznat a pochopit přírodní zákony. Projektanti mostů musí dobře rozumět roztažnosti materiálů. Konstruktéři motorů musí dobře porozumět proudění vzduchu ve spalovacích komorách a průběhu hoření.

Na rozdíl od projektantů a konstruktérů, tak programátoři nemusí respektovat žádné přírodní zákony. Programování je čistě lidská práce, kterou je možné od vstupů až po výstup jasně popsat, naprogramovat a otestovat.

To tedy znamená, že počítačový virus je také výsledek lidské práce.

Počítačové viry a mnohaleté neřešení těchto problémů

V době kdy bylo PC moderní náhradou psacího stroje, tak počítačové viry byly nepříjemné, ale byla to svérázná forma rozptýlení. Jenže doba postupovala. Počítače se začaly propojovat do lokálních sítí a později i do Internetu. Bohužel nad původními základy počítačové bezpečnosti se nikdo vážně a nestranně nezamyslel.

Z počítačové bezpečnosti, ať se jedná o antivirové nebo další programy, se stal business. To mimo jiné znamená, že většina antivirových a bezpečnostních firem neměla zájem řešit základní problémy s architekturou operačních systémů a s počítačovými viry. Situace se od éry Windows XP začala velmi rychle zhoršovat a počítačové viry a hackerské útoky začaly mít podobu profesionálních útoků.

Poučení z viru Stuxnet

Jedním z prvních profesionálně vytvořených virů byl STUXNET. Tento virus dokázal ovládat prostřednictvím PLC Symantec Step 7 frekvenční měniče a následně rychlost elektromotorů.

Na Stuxnetu jsou zajímavé mimo dalších dvě oblasti. První je kdo virus vytvořil a druhou oblastí je způsob jak a co virus zneužil.

Po objevení viru Stuxnet v Iránu, v zařízení na obohacování uranu, začalo vyšetřování. S odstupem mnoha měsíců bylo zjištěno a zástupci americké armády přiznali, že Stuxnet byl vytvořen v armádních laboratořích. To znamená, že se jednalo o profesionálně navržený, naprogramovaný a otestovaný virus.

Virus Stuxnet zneužíval několik slabin v operačním systému Windows. Stuxnet byl navržen, aby testoval jestli je na počítači program Simatic WinCC. Pokud ano, tak prostřednictvím tohoto SCADA programu virus upravoval parametry pro frekvenční měniče.

S virem Stuxnet je spojen starý a trochu zapomenutý fakt. Kdo získá přístup do operačního systému, tak má vládu nad všemi aplikacemi. Konkrétně v případě viru Stuxnet by jakákoliv opatření na úrovni Simatic nebo jiné SCADA aplikace byla neúčinná. Kdo, včetně viru nebo hackera, ovládá operační systém, tak ten může ovládat všechny nadstavbové aplikace.

Microsoft a poskytnutí zdrojových kódů cizím státům

Pro tvorbu počítačových virů je důležité najít nebo jinak získat informace o slabině v konkrétním operačním systému nebo nadstavbovém programu. První cestou je analýza programů, resp. reverse engeneering. Druhý mnohem snadnějším způsobem je analýza zdrojových kódů.

V prostředí Linuxu jsou zdrojové kódy v naprosté většině případů přístupné. Na druhé straně byly klony klasických UNIX systémů a jejich tvůrci si striktně chránili zdrojové kódy.

Někde mezi předchozími dvěma způsoby se nachází společnost Microsoft se svým přístupem. Microsoft běžně nezveřejňuje zdrojové kódy. Jenže už zhruba od roku 2000 existuje Microsoft Government Security Program. Prostřednictvím tohoto programu byly zdrojové kódy Windows, prohlížeče Internet Explorer a dalších programů poskytnuty vládním agenturám a vysokým školám v EU, Rusku a například i v Číně.

Pouze naivka si může myslet, že tyto zdrojové kódy použily vysoké školy a agentury v jednotlivých zemích pouze pro sebe a pouze pro studijní účely.

Operační systém je základ

Před několika lety jsem prováděl analýzy již zveřejněných slabin v operačních systémech a prohlížečích. Opakovaně jsem nacházel slabiny, které byly společné pro nejnovější verzi operačního systému, ale i pro starší (8, 7) a staré verze (Vista, XP, 2000) operačního systému Windows.

Chyba v operačním systému, firmware nebo aplikaci se může objevit. I v jiných výrobcích se čas od času objevují chyby a konstrukční vady. Co je vážné a stojí za zamyšlení jsou situace kdy se jedna chyba týká několika po sobě jdoucích verzí konkrétního programu. To znamená, že tvůrci programu nemodernizují zdrojové kódy a neprovádí analýzu zdrojových kódů.

Informace o dlouhodobých chybách, které jsou ukryté ve zdrojových kódech a jsou dlouho neodhalené souvisí i s programem Microsoft Government Security Program. Pokud má někdo k dispozici zdrojové kódy může provádět jejich analýzu a hledat slabiny. Navíc pokud se slabiny týkají nejnovější verze a současně i několika předchozích, tak potenciální útočník nemusí mít k dispozici ani nejnovější zdrojové kódy. Stačí zdrojové kódy od starších verzí a díky laxnímu přístupu tvůrců má velkou šanci se svým virem uspět.

Způsoby řešení bezpečnost se z PC přenáší i do oblasti smart telefonů, IoT, SCADA

V posledních letech jsme byly svědky obrovského pokroku v oblasti počítačů a sítí.

S tím také souvisí přenos vážných a nevyřešených problémů z prostředí PC do dalších oblastí. Jak jsem již uváděl v úvodu, tak tvorba počítačových programů je výlučně lidská práce. Není nutné odhalovat nová tajemství vesmíru, fyziky nebo chemie.

Přestože je programování výhradně lidská práce, tak jsme se nedokázali, přesněji velké SW firmy se nedokázaly za víc jak 20 let vypořádat s počítačovými viry a hackerskými útoky. Přestože jsme jsme nevyřešili bezpečnostní problémy v jednom oboru, tak již víc jak 10 let používáme smart telefony, což jsou v podstatě počítače ve velmi zmenšeném obalu. Viry a hackerské útoky se objevují již i v prostředí chytrých telefonů.

Stále jsme se nevypořádali s bezpečnostními problémy v prostředí počítačů a chytrých telefonů a s velkou PR a marketingovou silou se hovoří o Internetu věcí, o samoříditelných automobilech a o fabrikách, ve kterých budou pracovat roboti.

Internet věcí, SCADA aplikace i výrobní provozy plné robotů jsou jasný směr pokroku. Proto, aby IoT, SCADA aplikace zůstaly naším dobrým pomocníkem je třeba si stále opakovat co umožnilo viru STUXNET jeho činnost. Byly jím skryté a dlouho neopravené slabiny v operačním systému, který představuje nutný základ pro běh SCADA aplikací.

Jak situaci změnit ?

V prostředí zabezpečovacích systémů v železniční dopravě, ale i v jiných oblastech řídících a regulačních systémů platil při vývoji princip Fail-save, tedy principy zabezpečení proti selhání. To znamenalo, že například principy, které byly definovány při vytvoření hradlového závěru v roce 1870 byly v průběhu času ověřovány a zdokonalovány.

Nikoho nenapadlo hovořit o tom, že lépe řešení udělat nejde nebo že je to drahé. Vždy konstruktéři uvažovali tak, že při závadě nebo jiné mimořádné události musí zabezpečovací nebo regulační systém přejít (spadnout) do bezpečného stavu.

V prostředí tvorby operačních systémů a dalších komerčních programů nebyli a nejsou programátoři takto vychováváni. Výsledkem jsou skryté slabiny v operačních systémech a následně útoky přes operační systémy na aplikace.

Řešení vidím v zásadě jediné. Musíme být na výrobce operačních systému stejně nároční jako na výrobce klasických zabezpečovacích systémů nebo letadel.

Vím, že se jedná o obrovskou změnu. Pokud generace našich otců a dědů dokázala v ČR vybudovat vltavskou kaskádu a tyto přehrady stojí, pokud stejná generace v USA dokázala připravit a zrealizovat program Apollo, tak musíme být dnes schopni se vypořádat s něčím tak pozemským jako jsou slabiny a dlouhodobě neopravené chyby v operačních systémech. Navíc když si uvědomíme, že programování firmware a operačních systémů je čistě lidská práce bez nutnosti respektovat přírodní zákony. Prostě operační systém je základ, na kterém stojí a padá i bezpečnost SCADA aplikací.