Systémy řízení budov, ale i dalších technologií, jako jsou například sítě tepelného hospodářství, jsou z hlediska bezpečnosti značně podceňovány. Příčin je několik: Dodavateli jsou firmy, jejichž hlavní předmět činnosti má k síťové bezpečnosti daleko, jako stavební firmy, dodavatelé TZB, topenáři, vzduchotechnici…, při projektování systému obvykle není jasné, za jakých podmínek bude připojen na Internet, a projektanti měření a regulace (MaR) ostatně sami také nemají potřebné IT zázemí. Před deseti či patnácti lety nebylo připojení řídicího systému na Internet běžnou praxí. O bezpečnost se nijak zvlášť nezajímá ani koncový uživatel, pokud technologická síť není součástí standardní bezpečnostní politiky jeho IT systémů.
Za útoky na řídicí systémy budov nestojí jen roztrpčení (bývalí) zaměstnanci nebo zlovolní záškodníci s konkrétním cílem. Po internetu neustále slídí programy, které automaticky hledají otevřené porty a služby, kterými se dá z veřejných adres proniknout do vnitřních sítí. Programy jsou neúnavné, pracují s vysokým výkonem 24 hodin denně. Vlivem stále většího využívání IT standardů, standardních komunikačních protokolů a webových služeb se zvyšuje i pravděpodobnost napadení. Nechráněné zařízení připojené na Internet obvykle zaznamená pokus o napadení během několika hodin nebo dokonce minut.
Zeptáme-li se provozovatelů na důvody, proč je síťová bezpečnost MaR tolik zanedbávána, dozvíme se, že „nejsme v průmyslu“, „takhle to dělají všichni“, nebo že na lépe zabezpečený systém nejsou peníze – většinou si uživatelé ale ani nejsou hrozby vědomi. Zabezpečení systému také poněkud komplikuje dálkový přístup, a ten má přece být co nejjednodušší. Dalším faktorem je dlouhá životnost systémů řízení budov, která dosahuje až 15 nebo 20 let. Během této doby je několikrát vyměněn počítač včetně operačního systému, vizualizační program musí být reinstalován a na počítač jsou instalovány aktualizace, které mohou způsobit částečnou nefunkčnost některých programů. To s sebou nese náklady na servis. Při zásazích je počítač restartován, zkracuje se průměrná doba uptime a mohou vznikat mezery v historických datech. Provozovatelé se proto snaží aktualizacím vyhnout podle pravidla „co funguje, neměnit“. Navíc chtějí mít co nejjednodušší dálkový přístup (např. bez nutnosti přihlašovat se do VPN), ostatně pro některé klientské platformy ani příslušný VPN klient není dostupný.
Během posledních let se začaly objevovat útoky nejen na počítače, na nichž běží vizualizační systémy, ale i na samotné procesní podstanice (PLC). Procesní podstanice mohou navíc být zařízení, která byla zkonstruována za jiným účelem, než odrážet síťové útoky: zjednodušeně řečeno, rozhraní Ethernet typicky umí zpracovat jen malý počet spojení a lze je proto například snadno zahltit neustálými pokusy o připojování a komunikaci. Podstanice pak sice reguluje, jak má, ale není možné s ní komunikovat z vizualizačního programu ani z ostatních PLC v síti.
Ochrana přímo v PLC je možná jen částečně, protože PLC mají omezené výpočetní zdroje. Například podstanice Saia PCD umožňují alespoň jednoduché mechanismy, jako je filtrování IP adres (komunikace je povolena jen z IP adres, které jsou uvedeny v tabulce, uložené v PLC). Další bezpečnost je zaručena jen s použitím dodatečných vnějších IT komponent, jako jsou VPN, firewally atd. Přesměrovávání portů, tzv. port forwarding, je hodnoceno jako nebezpečné. Siemens doporučuje průmyslové bezpečnostní routery (Scalance), jejichž ceny se pohybují od 15 000 Kč výše. Další náklady pak představuje kvalifikované nastavení a údržba routeru.
Modbus je komunikačním protokolem oblíbeným pro svou jednoduchost. Daní za snadnou implementaci je ale modbusová tabulka hodnot z definice zcela otevřená nejen pro čtení, ale i pro zápis. Pokud útočník najde otevřený TCP port 502, může bez jakéhokoli přihlašování v systému měnit všechny dostupné hodnoty. Dovedeme si asi představit, jaké to může mít následky. Dodavatelé se někdy snaží ochránit modbusová zařízení proti zápisu – i nechtěnému – například tak, že aby byl zápis akceptován, je nutné předtím zapsat do určitého registru určitou hodnotu. Je jasné, že se zabezpečením tak, jak ho potřebujeme, to nemá nic společného. Modbusová zařízení proto nesmí být nikdy vystavena přímo na Internet. Nepomáhá ani přesměrování portů a použití jiného TCP portu než výchozího 502. Setkal jsem se s případem, kdy uživatel měl programovatelný pokojový termostat s komunikací Modbus TCP připojen 1:1 na veřejnou IP adresu a liboval si, že mu funguje jak webový přístup, tak nastavování pomocí konfiguračního programu přes protokol Modbus. To je extrémní případ srovnatelný s vysazením dveří od domu – když se vracím domů, nemusím v kapse hledat klíče.
Obliba protokolu BACnet stoupá díky tomu, že tento protokol je v podstanicích stále častěji implementován, dobře se integruje a podporuje i složitější struktury, jako jsou alarmy, časové programy atd. Standard BACnet v původní podobě zabezpečení vůbec neřešil, v r. 2008 byla specifikace doplněna o bezpečnostní funkce. Ty ovšem dodnes většina dodavatelů nemá implementovány, např. Siemens uvažuje o nasazení v roce 2016, nyní nabízí proxy službu a centrální hostingovou službu s využitím VPN. Problém je dále v tom, že BACnet pro přenos nepoužívá protokol TCP/IP (pracuje na UDP/IP, výjimečně dokonce jako BACnet/Ethernet – adresování pomocí MAC adres), takže pokus o zabezpečení pomocí standardních IT firewallů, které sledují provoz na TCP portech, nemá smysl. Uvnitř sítě BACnet je vše otevřené, z PLC můžeme přečíst seznam objektů a měnit jejich hodnoty pomocí standardních nástrojů (různé BACnet browsery, Domat BACnet Tool aj.).
V [1] jsou popsány čtyři příklady útoků na sítě BACnet a způsoby jejich detekce. Zatím jediný rozumný způsob, jak ochránit zařízení s protokolem BACnet, je provozovat je v uzavřené technologické síti, do níž je přístup pouze přes VPN za podmínek popsaných dále.
V ideálním případě nahlížíme na technologickou síť nebo na síť zákazníka jako na nebezpečné prostředí a snažíme se zabezpečit i přenos dat mezi PLC a klienty, jako je vizualizace nebo programovací software (IDE). Veškeré komunikace by pak měly být zabezpečené na úrovni, která odpovídá veřejnému prostředí (Internetu). U zabezpečení řešíme dvě úlohy:
Problémem může být také nízký výpočetní výkon PLC, které složitější šifrovací mechanismy nemusí zvládnout. Komunikace například z PLC Domat na proxy server a na databázi Merbon DB používá přihlašování, není však šifrovaná. Drtivá většina proprietárních protokolů světových výrobců PLC předpokládá práci v uzavřených sítích nebo pomocí VPN a tudíž zabezpečení komunikace neřeší (namátkou Buderus, Linde, Daikin), jiní používají nejvýše přihlašovací jméno a heslo, a to spíše z důvodů nastavení uživatelských práv k datům než kvůli ochraně komunikace jako takové. Šifrování pomocí klíčů implementuje např. Honeywell v protokolu pro komunikaci mezi zabezpečovací ústřednou Galaxy a cizími programy, přičemž uvádí, že „…algoritmus je kompromisem mezi mírou zabezpečení a možností implementace algoritmu do méně výkonných hardwarových platforem (osmibitové mikrokontrolery)“.
Počítač s vizualizačním programem je zřejmě nejkritičtější místo v systému, a to z těchto důvodů:
Pokud je technologická síť součástí IT infrastruktury budovy nebo firmy, jako je tomu například u obchodních řetězců, dochází k úzké spolupráci dodavatelů MaR a dalšch celků, jako EZS, EPS, chlazení, chladicí pulty atd. IT oddělení pak stanovuje pravidla pro komunikaci v síti, určuje subdodavatelům rozsahy IP adres a je odpovědné za bezpečnost sítě podle firemních standardů. Pro MaR se tak celá věc zjednodušuje, je jen třeba si domluvit pravidla pro výměnu zařízení, rozšiřování a servis. Stává se, že po výměně personálu je pro nového síťaře nejjednodušší smazat veškerá pravidla, čekat, kdo se ozve, a teprve pak jednotlivé služby adresně povolovat. To může mít za následek nefunkční komunikaci po řadu dnů a ztrátu dat (například záznam teplot z chladicích boxů pro hygienickou službu).
Jako dodavatelé MaR se zde musíme plně podřídit pravidlům IT oddělení. Někdy je zcela zakázáno konfigurovat příchozí připojení do sítě přes směrování portů. Pak pomůže buď VPN nebo služba proxy (nesmíme zaměňovat s proxy serverem jako bezpečnostním prvkem pro oddělení dvou sítí a filtrování provozu či analýzu dat mezi nimi), při níž buď samo PLC nebo zvláštní router naváže odchozí spojení ze sítě zákazníka do Internetu na proxy server a tak umožní přenos dat na centrálu firmy, která zařizuje facility management nebo servis MaR. Možnosti závisí na IT politice firmy, ale i na ochotě a vstřícnosti příslušného síťaře.
Uživatelské jméno a heslo je základním prostředkem pro řízení přístupu pro uživatele, ale i pro některé komunikační protokoly mezi PLC navzájem (např. Domat SoftPLC Link). Je škoda ho nevyužívat. Změna administrátorského hesla z výchozího na jiné pomůže mj. i při ochraně proti převzetí systému konkurencí nebo při dohadování, kdo systém poškodil chybnou konfigurací. Ideální by bylo dodržovat následující pravidla:
U těchto rad je trochu problém, že na rozdíl od přísně individuálních služeb, jako je e-mail, e-banking apod., se u servisu se střídá více techniků. Hesla se proto – pokud jsou vůbec měněna – zaznamenávají do servisní dokumentace nebo je firmy mají na jednom místě v intranetu. Únik takového dokumentu ovšem představuje nejvyšší bezpečnostní riziko.
Směrování TCP nebo UDP portů z veřejné adresy do vnitřní sítě je nejčastějším způsobem, jak zpřístupnit PLC z Internetu například pro vizualizaci ve facility management firmě nebo pro servis MaR. Bohužel přesměrované porty jsou jasným terčem síťových útoků. Snažme se tedy omezit přesměrovávání na minimum, a kde ho máme, tam chránit přístup ještě dalšími prostředky, například v PLC heslem jiným než výchozím nebo na routeru omezením přístupu jen z určitých IP adres. Nezapomeňme ani na zabezpečení samotného routeru; je až s podivem, kolik routerů má nastavena výchozí jména a hesla a jak často je technologická síť přístupná přes WiFi připojení.
Obr.1: Přesměrování portů (NAT). Vzdálený klient se připojuje na veřejnou adresu routeru přes různé porty: VNC klientem na vizualizační počítač, který tak může ovládat, programovacím prostředím SoftPLC na procesní podstanici, v níž může měnit parametry a sledovat všechny proměnné, a webovým přístupem rovněž přímo na podstanici.
VPN, virtuální privátní síť, je zabezpečený tunel, který spojuje vzdálený počítač a vnitřní (technologickou) síť. Po navázání spojení se vzdálený počítač uživateli jeví, jako by byl připojen přímo v technologické síti. Komunikace mezi vzdáleným počítačem a sítí je šifrovaná, takže přenášená data mezi vzdáleným počítačem a vnitřní sítí nikdo nemůže odposlouchávat. Na trhu je dostupná celá řada hardwarových i softwarových VPN serverů i klientů, některé z nich i zdarma. Výhody VPN jsou nízká cena, poměrně snadné nastavení, vysoká bezpečnost spojení, ale hlavně to, že do vnitřní sítě mohou chráněným tunelem ze vzdáleného počítače přistupovat veškeré programy. (U směrování portů je naproti tomu nutné pro každou službu nakonfigurovat příslušný port, viz předchozí odstavec.) Nevýhodou pak je to, že případné škodlivé programy na vzdáleném počítači mají přístup do celé technologické sítě, pokud není VPN nakonfigurována s příslušnými omezeními. Pro přihlašování pak může sloužit klíč s proměnným kódem, který představuje velmi vysokou míru ochrany: uživatel se identifikuje pomocí dvou faktorů, něčeho, co zná (PIN), a něčeho, co má (kód na displeji přívěšku, který se každých 60 vteřin mění).
Hardware pro vytvoření VPN je dnes dostupný za ceny i do 1000 Kč, oblíbené jsou např. routery Mikrotik; hlavní položku pak představují náklady na nastavení a údržbu. Tam je potřeba počítat s několika hodinami zkušeného síťaře.Obr.2: Připojení do technologické sítě pomocí VPN. Softwarový VPN klient na vzdáleném počítači naváže spojení s VPN serverem a sestaví zabezpečený tunel. Vzdálený počítač je pak součástí technologické sítě.
Jedná se o dálkové ovládání počítače, umístěného ve vnitřní síti, pomocí vzdáleného počítače a zvláštního softwaru. To umožňuje například školení obsluhy na dálku či dálkovou úpravu grafiky nebo konfigurace na počítači s vizualizací. Přístup ke vzdálené ploše musí být nastaven ve firewallu, doporučuje se kombinovat ho s dalšími opatřeními, jako je přístup jen z určitých IP adres (servisní firmy nebo facility manažera). Výhodou vzdálené plochy je, že ve vnitřní síti mohou pracovat pouze programy, které jsou instalovány na místním počítači. Je ovšem možné ze vzdáleného počítače další program zkopírovat na počítač místní, nainstalovat ho a spustit. Přístup ke vzdálené ploše je chráněn jménem a heslem, opět se doporučuje na routeru nastavit omezení na přístup pouze z určitých IP adres. Toto opatření zvyšuje bezpečnost, ovšem snižuje flexibilitu – servisní technik se nepřipojí například z domova nebo z hotelu, kde je na dovolené nebo na služební cestě.
Velmi oblíbeným rozhraním pro dálkový přístup je web. Problém je v tom, že právě webový server je častým cílem útočníků. U PLC je sice malá šance, že na něm půjde přes webový dotaz spustit nežádoucí program, ale u webového serveru běžícího na PC již k tomu dojít může. Použití jiných portů než výchozího TCP portu 80 není bezpečnostní řešení, asi nejlepší by bylo provozovat web server v tzv. demilitarizované zóně. U kompaktních PLC s vestavěným webovým serverem by byl ideální externí stavový firewall s inspekcí paketů. Znamená to, že u každého telegramu se kontroluje nejen odkud a kam putuje, ale i co obsahuje, jestli logicky souvisí s ostatními telegramy a dokonce jestli jeho obsah je v souladu s použitým komunikačním protokolem, tedy jestli neobsahuje nebezpečné příkazy. Zabezpečení protokolem https obranu proti útokům neřeší, jedná se o opatření proti odposlouchávání spojení cizí stranou. Výhodou webového přístupu bývá nízká cena a možnost přístupu z běžného webového prohlížeče, nevýhodou to, že ne vždy je možné přes web využívat všechny funkce vizualizačního programu.
Cílem textu bylo upozornit na rizika a navrhnout vhodná řešení, ne podrobně vysvětlovat jejich implementaci. Je jasné, že procesní podstanice nebo programovatelný automat na veřejnou IP adresu nepatří (byť je tam často najdeme); projektanti i realizační firmy by však měli problémy bezpečnosti a dálkového přístupu řešit již v předrealizační fázi a ne vše nechat na ústní domluvě technika s provozovatelem. Pak se stává, že systém je nastaven „tak, aby to fungovalo“ a na víc není čas – tento přístup se ale může záhy vymstít v podobě záhadných výpadků systému, nedostupnosti PLC na síti a v krajním případě i zásahů do technologie nepovolanými osobami. Doporučujeme proto přistupovat k PLC stejně jako ke standardní IT technice a konzultovat bezpečnost s IT specialistou, zodpovědným i za ostatní infrastrukturu v objektu. Pokud nikdo takový není k mání, použijeme VPN z komponent standardně dostupných na trhu; dosáhneme tak nejbezpečnějšího řešení při využití našich aktuálních možností a know-how. Nesmíme zapomenout ani na základní opatření v podobě zamykání strojoven a rozvaděčů, bezpečné uložení dokumentace u zákazníka atd. Kvalitně zabezpečený systém řízení budovy je i marketingovou vizitkou realizační firmy. „Otevřený řídicí systém“ zkrátka nesmí dostát svému jménu doslova.
[1] Čeleda, Krejčí, Krmíček: Flow-based Security Issue Detection in Building Automation and Control Networks, http://is.muni.cz/repo/990346/bacnet-security-paper.pdf