Síťová bezpečnost u systémů řízení budov
Autor se ve svém příspěvku zabývá bezpečností, resp. zabezpečením systémů řízení budov z hlediska
napadení a útoků na tento systém. Ačkoliv tato problematika přímo nesouvisí s oborem vytápění
resp. celého TZB, bylo redakční radou časopisu Topin rozhodnuto o zařazení tohoto příspěvku. Domníváme
se, že profesní specialisté oboru TZB by měli mít alespoň obecné povědomí o níže popsaných jevech,
jelikož i do tohoto oboru neustále více proniká, v souvislosti s řízením otopných soustav,
vzduchotechniky apod., mikroprocesorová technika a tento trend bude zřejmě nadále pokračovat, včetně
tlaku na vzdálený přístup, řízení a ovládání.
Přestože autor příspěvku vysvětluje poměrně srozumitelnou cestou možnosti průniku a ochrany proti
němu do systému řízení budov, je proces zabezpečení natolik složitý, že je nezbytné se spolehnout na odbornou
firmu, která je schopná a odborně způsobilá provést potřebná nastavení.
Jsme si vědomi, že se jedná o vysoce odborný příspěvek určený pro úzký okruh čtenářů. Ačkoliv tento
příspěvek prošel recenzí redakční radou časopisu, vzhledem k vysoké odbornosti jej otiskujeme v původní
podobě jako názor autora. Proto případné dotazy k příspěvku je nutno směřovat přímo na něj.
Recenzent: Zdeněk Číhal
Systémy řízení budov a sítě
Systémy řízení budov 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ý.
Procesní podstanice
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é mechanizmy, 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.
Některé komunikační protokoly a jejich zabezpečení
Modbus TCP
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.
BACnet
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 roce 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í levnějších kancelářských 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.
Další protokoly
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:
- zakódovat informaci tak, aby ji nepřečetla cizí strana – to splňuje například implementace protokolu SSCP v podstanicích Domat mark320;
- při komunikaci ověřit navzájem obě strany, že jsou to, za co se prohlašují. Je nutno pracovat s certifikáty, řešit jejich vypršení a obnovování atd., tedy je zde riziko, že systém by po skončení platnosti certifikátu „z ničeho nic“ přestal komunikovat – proto se ověřování příliš nepoužívá.
Problémem může být také nízký výpočetní výkon PLC, které složitější šifrovací mechanizmy 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)“.
Vizualizace
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ů:
- jedná se o PC obvykle s OS Windows, který je primárním cílem síťových útoků;
- v běžných instalacích je používán i jako pracovní počítač domovního technika včetně přístupu na Internet;
- jako dodávka stavební firmy může být mimo centrální správu IT a tedy neaktualizován;
- domovní technici ho využívají i k nepracovním účelům, instalují na něj další programy atd.;
- bývá na něj možný přístup přes Internet pro servisní účely pomocí některého z programů pro dálkovou správu (vzdálená plocha, TeamViewer, UltraVNC,...);
- nebo dokonce na něm běží webový server pro webový přístup k programu SCADA.
Ochrana počítače spočívá v několika bodech:
- pomocí kvalitního, pravidelně aktualizovaného antivirového programu chráníme stroj proti virům zavlečeným přes Internet nebo přes paměťová média (CD, USB);
- firewall OS Windows nezapomeneme po skončení oživování a všech pokusů zapnout, nastavíme v něm pravidla pro správnou funkci všech potřebných programů. Platí, že povolujeme jen to, co je nutné, ostatní služby blokujeme;
- omezíme na minimum přesměrování portů z veřejné IP adresy, přesměrováváme jen tam, kde je to nutné;
- pro dálkový přístup pokud možno definujeme na firewallu pravidla, jako přístup pouze z určitých IP adres, ideální je přístup pomocí VPN, kde jsou široké možnosti zabezpečení;
- pokud na PC běží webový server, zkontrolujeme jeho zabezpečení v nastavení serveru;
- používáme rozumnou politiku pro hesla – viz dále.
Spolupráce s IT oddělením zákazníka
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, 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. Technologické systémy, mezi něž systémy řízení budov patří, by pak měly být připojovány do fyzicky nebo častěji logicky odděleného segmentu (tzv. VLAN) a právě o to by se mělo IT oddělení postarat. Hlavním důvodem této separace je stabilita a bezpečnost síťového provozu na takto dedikované síti, tj. specializovaná zařízení pro řízení budov se nemohou dostat do přímého kontaktu s uživatelskými zařízeními připojenými do vnitřní sítě (jako jsou např. smartphone, PC, notebook, nebo tablet). Ve firmách se uživatelský – pracovní notebook, který si zaměstnanec nosí „všude“ s sebou a připojuje se jím na různých místech, považuje primárně v lokální síti za méně bezpečné zařízení a tak se k němu i častokrát přistupuje ze strany IT oddělení.
Ochrana jménem a heslem
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:
- odstraňte výchozí (defaultní) uživatele a hesla, změňte administrátorské heslo;
- používejte silná hesla (i když to řídicí systémy samy nevyžadují);
- pravidelně (při servisních prohlídkách) kontrolujte seznam uživatelů, odstraňujte nepoužívané uživatelské účty;
- tam, kde jsou záznamy o přihlašování uživatelů, kontrolujte je, jestli neobsahují nějaké anomálie.
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.
Routery a směrování portů
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í.
VPN
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 lokální 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 – přesněji řečeno odposlouchávat je lze, ale takto zašifrovaná data nemají pro útočníka velkou informační hodnotu. 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, někdy poměrně snadné nastavení (záleží na použité VPN technologii a úrovni dokumentace), 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í) [2].
Hardware pro vytvoření VPN je dnes dostupný za ceny i do 1000 Kč, oblíbené jsou např. routery Mikrotik [3]; 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.
Vzdálená plocha
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ě.
Vzdálená plocha sama o sobě nedosahuje úrovně zabezpečení jako VPN, např. technologie RDP od firmy Microsoft je chráněna pouze jménem a heslem. Pokud neomezíme IP adresy, ze kterých se klient může z internetu připojit, pak se lze připojit z jakéhokoliv počítače s RDP klientem z jakéhokoliv místa na světě. Znamená to, že technologie přihlašování ke vzdálené ploše bez použití VPN komunikační vrstvy je asi tak stejně bezpečná jako port forwarding.
Webový přístup
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ů. Použití jiných portů než výchozího TCP portu 80 (nebo TCP 443 pro přístup pomocí šifrovaného spojení HTTPS) není bezpečnostní řešení, asi nejlepší by bylo provozovat webserver 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.
Závěrem
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 u 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. 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.
V budoucnosti lze očekávat výrazně více útoků právě na tato specializovaná zařízení pro řídicí systémy, jejich sofistikovanost bude růst a útočníci budou vyžívat např. i vzdálených klientských programů (a chyb v nich samotných), které budou dodané přímo výrobcem, proto i samotná softwarová podpora výrobce (updaty apod.) je pro tento typ obchodu a trhu zcela kritická.
Literatura
- Č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
- RSA-Security, http://www.xanadu.cz/ cs/it-produkty/site-a-komunikace/zabezpeceni-siti/rsa-security.html
- http://www.mikrotik.cz/
Network security in building control systems
The article deals with current risks of deploying IT components in building and industry control systems. It describes network security risks when using several standard communication protocols, and gives practical hints to enhance robustness and security of building and industry control system installations.
Keywords: building controls, SCADA, security, PLC, controller, communication protocols, VPN, Modbus, BACnet