Tehniskais kopsavilkums
Galvenie secinājumi:

Tekstā uzsvērts, ka nobriedušas arhitektūras mēraukla ir to ceļu ierobežošana, kuros viens konts, pakalpojums vai sesija var pārsniegt paredzēto darbības tvērumu. Vislielākās izmaksas rodas tad, ja piekļuves ierobežojumi tiek pievienoti jau gatavai loģikai un integrācijām.

  • Minimālo privilēģiju princips un piekļuves segmentācija ir jānosaka jau projektēšanas posmā, nevis pēc pirmās versijas palaišanas.
  • Atļauju modelis ietekmē pakalpojumu sadalījumu, datu apmaiņu, ierīču restartēšanu un darbību pēc savienojuma zuduma.
  • Tā ir kļūda — piešķirt pilnvaras amatiem, nevis konkrētām darbībām un to darbības sekām.
  • Koplietoti servisa konti un vienlīmeņa piekļuves zona palielina neatļautu izmaiņu un procesa apturēšanas risku.
  • Lēmumi par piekļuves tiesībām jāsaista ar riska analīzi un ietekmi uz mašīnas funkcionālo drošību.

Kāpēc šī tēma šodien ir svarīga

Rūpnieciskajās lietojumprogrammās minimālo tiesību princips un piekļuves segmentēšana vairs nav tikai papildu drošības pasākums — tā ir projektēšanas izvēle, kas ietekmē ieviešanas izmaksas, atbildību par incidentiem un nodošanas tempu. Iemesls ir vienkāršs: mūsdienīga lietojumprogramma vairs nedarbojas vienā slēgtā kontrolierī, bet gan saskares punktos starp inženieru stacijām, operatoru paneļiem, starpniecības pakalpojumiem, attālināto piekļuvi, atskaišu sistēmām un integrācijām ar uzņēmuma vidi. Ja tiesības un komunikācijas robežas netiek noteiktas jau sākumā, komanda parasti izveido risinājumu, kas ir pārāk plašs funkcionalitātes ziņā un pārlieku uzticas saviem komponentiem. Šāds projektēšanas parāds vēlāk atgriežas validācijas laikā, pieņemšanas testos, atbilstības auditos un katrās integrācijas izmaiņās, jo piekļuve ir manuāli jāierobežo tur, kur arhitektūra jau no paša sākuma pieļāva “pilnu redzamību” un “pilnu vadību”.

Tāpēc šis jautājums ir jāizlemj jau tagad, nevis pēc pirmās versijas palaišanas. Praksē jautājums nav par to, vai operatoram, servisa speciālistam, integratoram un palīglietojumprogrammai ir piekļuve sistēmai, bet gan par to, kam tieši tiem ir piekļuve, kādā režīmā, no kuras vietas un kādos atteices apstākļos. Šajā brīdī drošības tēma tieši pāriet rūpniecisko lietojumprogrammu projektēšanas jomā: tiesību modelis ietekmē pakalpojumu sadalījumu un datu apmaiņas veidu, sakaru zuduma apstrādi, iekārtu restartu un sistēmas uzvedību pēc savienojuma atjaunošanas. Ja lietojumprogrammai ir vajadzīgas plašas tiesības tikai tādēļ, lai vienkāršotu programmēšanu, komanda vēlāk parasti maksā augstāku cenu par izņēmumiem, apiešanas risinājumiem un papildu kontroles mehānismiem. Praktiskais vērtēšanas kritērijs šeit ir ļoti konkrēts: vai katru lomu un katru komponentu var aprakstīt ar minimālu darbību kopumu, kas nepieciešams uzdevuma izpildei, bez noklusējuma tiesībām mainīt procesa stāvokli vai iekārtu konfigurāciju.

Labs piemērs ir servisa lietojumprogramma, kas vienlaikus apkopo diagnostiku, atjaunina parametrus un ļauj veikt attālinātas uzturēšanas darbības. Ja šāda lietojumprogramma darbojas vienā plakanā piekļuves zonā un izmanto vienu tehnisko kontu ar plašām tiesībām, tad atteice, konfigurācijas kļūda vai sesijas pārņemšana nebeidzas tikai ar diagnostikas datu zudumu. Sekas var būt neatļauta parametru maiņa, procesa apturēšana vai stāvokļa atjaunošana pēc restarta veidā, kas neatbilst apkalpojošā personāla iecerei. Kādā brīdī šī problēma vairs nav tikai piekļuves aizsardzības jautājums un pāriet uz aizsardzību pret negaidītu iedarbināšanu un sistēmas drošu uzvedību pēc barošanas vai tīkla zuduma. Ja lietojumprogramma ietekmē palaišanas secību, funkciju atbloķēšanu vai iestatījumu atjaunošanu, robeža starp “IT tiesībām” un “ietekmi uz mašīnas funkciju” kļūst operatīvi būtiska.

No atbilstības viedokļa tas nozīmē, ka lēmumi par tiesībām un segmentēšanu ir jāsasaista ar riska analīzi un projektēšanas atbildības apjomu, nevis jāuztver kā atsevišķa infrastruktūras tēma. Runa nav par mehānisku standartu piesaukšanu, bet par to, lai pierādītu, ka arhitektūra ierobežo neparedzētu darbību iespējamību un paredz sekas, kas rodas, zaudējot kontroli pār vienu no elementiem. Ja lietojumprogramma var ietekmēt iekārtu darbību, procesa stāvokli vai atkārtotas palaišanas nosacījumus, novērtējumā jāaptver ne tikai datu konfidencialitāte un integritāte, bet arī sekas funkcionālajai drošībai un darba organizācijai. Tāpēc saprātīgs rādītājs lēmuma pieņemšanai nav ieviesto aizsardzības mehānismu skaits, bet gan to ceļu skaits, kuros viens konts, viens pakalpojums vai viena tīkla sesija var pārsniegt paredzēto darbības apjomu. Jo agrāk komanda to aprēķinās un piesaistīs lomām, zonām un darba režīmiem, jo mazāk dārgu korekciju būs vajadzīgs palaišanas un pieņemšanas posmā.

Kur visbiežāk pieaug izmaksas vai risks

Rūpniecisko lietojumprogrammu projektos izmaksas reti pieaug tāpēc, ka komanda “ieviesusi pārāk daudz drošības”. Daudz biežāk problēma ir nepareizi izvēlēta vieta un brīdis, kad tiek ieviesti ierobežojumi. Minimālo tiesību princips un piekļuves segmentēšana kļūst dārgi tad, ja tie tiek pievienoti jau gatavai vadības loģikai, servisa saskarnēm un integrācijām ar virsējā līmeņa sistēmām. Praksē tas nozīmē lomu, izņēmumu un apstiprināšanas plūsmu pārstrādi, bet dažkārt arī atbildības pārdali starp lietojumprogrammas piegādātāju, integratoru un gala lietotāju. Ja viens tehniskais pakalpojums, viens servisa ekrāns vai viena tīkla attiecība vienlaikus apkalpo diagnostiku, iestatījumu maiņu un darbības, kas ietekmē procesa stāvokli, tad vēlākā “papildu noslēgšana” vairs nav konfigurācijas korekcija, bet arhitektūras pārbūve. Tieši šajā vietā pieaug gan ieviešanas izmaksas, gan atbildības risks par neparedzētu izmaiņu sekām.

Visbiežākā projektēšanas kļūda ir tiesību definēšana pēc organizatoriskajiem amatiem, nevis pēc darbību ietekmes uz procesu. Rūpnieciskā lietojumprogrammā nepietiek atšķirt operatoru, uzturēšanas personālu un administratoru. Ir jānodala datu nolasīšana, trauksmes apstiprināšana, tehnoloģiskā parametra maiņa, bloķējuma apiešana, iestatījumu atjaunošana, programmatūras atjaunināšana un attālināta piekļuve, un pēc tam šīs darbības jāpiesaista zonām, darba režīmiem un izpildes nosacījumiem. Ja šāda sadalījuma nav, parādās izņēmumi “uz palaišanas laiku”, kopīgi servisa konti un plašas tehniskās tiesības, kas vēlāk paliek sistēmā arī ražošanas laikā. Projekta vadītājam tas nav tehnisks sīkums, bet gan paredzams kavējumu avots pie pieņemšanas, jo katra neskaidrība atgriežas vienā un tajā pašā jautājumā: kurš, no kurienes un kādos apstākļos drīkst veikt darbību, kas ietekmē iekārtu vai procesu. Praktisks novērtēšanas kritērijs ir vienkāršs: ja ar to pašu identitāti vai tajā pašā sesijā bez konteksta maiņas var pāriet no skatīšanas uz būtisku funkciju modificēšanu, segmentācija ir pārāk sekla.

Labs piemērs ir lietojumprogramma, kas ļauj attālināti diagnosticēt līniju un vienlaikus nodrošina ekrānu recepšu vai robežparametru maiņai. Koncepcijas posmā tas šķiet racionāli, jo vienkāršo servisu un saīsina reakcijas laiku. Problēma atklājas vēlāk: konts, kas paredzēts avāriju analīzei, sāk reāli ietekmēt iekārtas darbību, bet komunikācijas kanāls, kas paredzēts nolasīšanai, kļūst par iejaukšanās ceļu. Ja tam vēl pievienojas iespēja atjaunot konfigurācijas kopiju, restartēt servisu vai attālināti augšupielādēt pakotni, viena kļūda tiesību piešķiršanā var apiet saskaņoto atbildības sadalījumu. Šādā situācijā izmaksas nerodas tikai no papildu programmēšanas darba. Tās ietver arī atkārtotas pārbaudes, dokumentācijas atjaunināšanu, saskaņošanu ar komponentu piegādātājiem un nepieciešamību pierādīt, ka nav radīts jauns ietekmes ceļš uz iekārtas funkciju. Tāpēc ir vērts mērīt nevis lomu skaitu, bet kritisko darbību skaitu, kas pieejamas pa attālinātiem kanāliem, koplietoto kontu skaitu un izņēmumu skaitu no noklusētā aizlieguma modeļa.

Šis jautājums pāriet praktiskā riska novērtēšanā brīdī, kad neatļautas darbības sekas neaprobežojas ar datu aizskārumu, bet var mainīt drošu stāvokli, atkārtotas palaišanas nosacījumus vai aizsardzības pasākumu efektivitāti. Tad jautājums par piekļuves segmentāciju vairs nav tikai jautājums par sistēmas arhitektūru, bet arī par to, vai komanda ir pareizi identificējusi apdraudējumu scenārijus un piesaistījusi ierobežojošos pasākumus faktiskajām sekām. Savukārt tur, kur lietojumprogramma ietekmē izpildmehānismus, iestatījumus vai darba secības, dabiski parādās arī prasību joma pašas iekārtas un tās aprīkojuma projektēšanai, tostarp manipulāciju ierobežošanas un fiziskās piekļuves bīstamajām zonām jautājumi. No atbilstības viedokļa drošākais lēmums nav “kam mēs uzticamies”, bet gan “kādu maksimālo izmaiņu konkrētais subjekts var veikt, no kuras vietas un kādā darba režīmā”. Ja komanda spēj atbildēt uz šo jautājumu pirms palaišanas, tā parasti samazina gan labojumu izmaksas, gan strīdu risku par atbildības robežām.

Kā šai tēmai pieiet praksē

Praksē minimālo tiesību princips un piekļuves segmentācija nesākas ar tehnoloģijas izvēli, bet ar atbildības robežu noteikšanu pašā rūpnieciskās lietojumprogrammas projektā. Komandai vispirms jānodala darbības, kas tikai nolasa stāvokli, darbības, kas maina procesa parametrus, un darbības, kas var ietekmēt kustību, enerģiju vai atkārtotas palaišanas nosacījumus. Tikai uz šī pamata var jēgpilni izlemt, kas ir atļauts lokālajam operatoram, kas — uzturēšanas personālam, kas — attālinātajam servisam, un ko nedrīkst veikt bez klātbūtnes uz vietas vai bez papildu apstiprinājuma. Ja šis sadalījums rodas tikai pēc palaišanas, izmaksas atgriežas saskarņu pārstrādes, izņēmumu tiesībās, manuālu apiešanas risinājumu un strīdu veidā par to, kurš apstiprināja riskantu darba veidu. Tas ir brīdis, kad drošības jautājums tieši pāriet rūpniecisko lietojumprogrammu projektēšanas jomā: piekļuves modelis kļūst par sistēmas darbības loģikas daļu, nevis administratīvu virsslāni.

Tāpēc labs projektēšanas lēmums ir veidot tiesības ap darbības sekām, bet segmentāciju — ap procesa robežām un atbildības zonām. Ja lietojumprogramma apkalpo vairākas līnijas, vairākas šūnas vai atsevišķas palīgsistēmas, tad noklusētajam pieņēmumam nevajadzētu būt plašai piekļuvei visam objektam, bet gan redzamības, vadības un administrēšanas nodalīšanai atbilstoši konkrētās lomas faktiskajam darba apjomam. Praktisks novērtēšanas kritērijs ir vienkāršs: vai konta kompromitēšana, kļūdaina konfigurācija vai viena piekļuves kanāla pārņemšana ļauj veikt izmaiņas ārpus piešķirtās tehnoloģiskās zonas vai ārpus paredzētā darba režīma. Ja tā, segmentācija ir tikai šķietama. To ir vērts mērīt nevis pēc lomu skaita sistēmā, bet pēc darbību skaita, kas pārsniedz šūnas robežas, pēc izņēmumu skaita no zonu sadalījuma un pēc laika, kas nepieciešams tiesību atsaukšanai pēc pienākumu apjoma maiņas. Tie ir rādītāji, kas nākotnes uzturēšanas izmaksas un atbildības risku parāda daudz labāk nekā vispārīgs apgalvojums, ka “piekļuve ir ierobežota”.

Tipisks piemērs ir attālinātais serviss. Ja piegādātājam jābūt iespējai veikt diagnostiku, komandai notikumu nolasīšana, iestatījumu maiņa un vadības komandas izpilde jānodala kā trīs atsevišķi lēmumi, nevis jāapvieno vienā “servisa piekļuvē”. Rūpnieciskā sistēmā šīm darbībām ir pilnīgi atšķirīgs seku svars. Trauksmju nolasīšana var būt nepieciešama pastāvīgi, parametru maiņa — tikai noteiktā servisa logā, savukārt palaišanas vai piedziņas atbloķēšanas komanda no attālināta kanāla vispār var nebūt pieļaujama. Tas pats attiecas uz noturību pret īslaicīgu tīkla zudumu, iekārtu restartu un savienojuma pārtrūkšanu: lietojumprogramma nedrīkst pieņemt, ka sesijas uzturēšana nozīmē arī procesa stāvokļa kontroles saglabāšanu. Ja pēc savienojuma pārtrūkšanas sistēma nonāk neviennozīmīgā stāvoklī, bet pēc atkārtotas pieteikšanās lietotājs “katram gadījumam” saņem pārāk plašas tiesības, problēma nav tikai kiberdrošībā, bet arī kļūdaini izstrādātā lietojumprogrammas darbībā pārejas stāvokļos.

Šajā vietā dabiski parādās praktiska riska novērtēšana. Ja konkrēta funkcija var mainīt drošas apturēšanas nosacījumus, apiet procedurālu bloķēšanu vai ietekmēt negaidītas palaišanas iespējamību, lēmumu par tās pieejamību nevajadzētu atstāt tikai produkta īpašnieka vai integratora ziņā. Jāpārbauda, vai šādas darbības sekas ir identificētas bīstamību analīzē un vai organizatoriskais vai tehniskais pasākums šīs sekas patiešām ierobežo, nevis tikai pārceļ atbildību uz gala lietotāju. Atkarībā no sistēmas tvēruma šis jautājums var nonākt mašīnas riska novērtēšanas jomā un tēmās, kas saistītas ar aizsardzību pret negaidītu palaišanu. No atbilstības viedokļa vissvarīgākais ir dokumentēt, kāpēc noteiktai lomai ir piekļuve konkrētai funkcijai, kādā darba režīmā tas ir pieļaujams un kāds mehānisms nepieļauj šīs funkcijas izmantošanu ārpus paredzētā konteksta. Šāda dokumentācija nav pielikums auditam; tas ir rīks, kas samazina izmaiņu izmaksas un sakārto atbildību starp ražotāju, integratoru un lietotāju.

Kam pievērst uzmanību ieviešanas laikā

Visbiežākā kļūda, ieviešot mazāko nepieciešamo tiesību principu un piekļuves segmentēšanu rūpnieciskajās lietojumprogrammās, ir uzskatīt to par administratīvu slāni, ko pievieno projekta beigās. Praksē tas ir arhitektūras lēmums, kas ietekmē sistēmas darbības modeli, avāriju apstrādes veidu, atbildību par izmaiņām un uzturēšanas izmaksas. Ja tiesības tiek definētas tikai pēc vadības loģikas, integrāciju un servisa saskarņu izveides, komanda parasti nonāk pie izņēmumiem, apiešanas risinājumiem un “pagaidu” lomām, kas paliek uz visiem laikiem. Tas palielina piekļuves virsmu, sarežģī pieņemšanu un apgrūtina pierādīšanu, ka konkrēta funkcija ir padarīta pieejama apzināti, nevis nejauši. Projekta vadītājam no tā izriet vienkāršas sekas: jo vēlāk tiek pieņemts lēmums par piekļuves robežām, jo augstākas ir izmaiņu izmaksas un lielāks risks, ka atbildība par ekspluatācijas sekām izplūdīs starp ražotāju, integratoru un gala lietotāju.

Tāpēc šis jautājums ļoti ātri pāriet rūpniecisko lietojumprogrammu projektēšanas jomā, nevis paliek tikai kontu pārvaldības līmenī. Piekļuves segmentēšanā jāņem vērā reālās procesa robežas: darba režīmi, atkarības starp iekārtām, darbības lokalitāte un uzvedība savienojuma zuduma, kontroliera restarta vai pārejas uz manuālu darbu gadījumā. Ja lietojumprogrammai ir nepieciešama pastāvīga autentifikācijas pakalpojuma pieejamība, lai operators varētu veikt darbību, kas vajadzīga drošai apturēšanai vai procesa atjaunošanai, tad drošības modelis ir izstrādāts kļūdaini. Līdzīgi ir tad, ja tīkla atteice izraisa nekontrolētu tiesību paplašināšanu “uz servisa laiku”, jo pretējā gadījumā sistēma kļūst nelietojama. Praktiskais vērtēšanas kritērijs šeit ir viennozīmīgs: par katru privileģētu darbību jāspēj atbildēt, kas notiks tīkla zuduma gadījumā, pēc iekārtas restarta un pēc savienojuma zuduma ar virsvadības sistēmu. Ja atbilde skan “administrators piešķirs tiesības manuāli” vai “lietotājs zina apiešanas procedūru”, tad tas vēl nav ieviešanai gatavs risinājums. Šeit īpaši svarīga ir rūpniecisko lietojumprogrammu drošība jau projektēšanas posmā.

Praksē to labi var redzēt servisa un uzturēšanas funkcijās, kuras šķietami nemaina procesu, bet maina iespēju to kontrolēt. Piemērs var būt attālināta parametru maiņa, trauksmju atiestatīšana, datu avota pārslēgšana, ievades validācijas īslaicīga atslēgšana vai saskarnes testa režīma ieslēgšana. Katra no šīm darbībām var būt pamatota, taču ne katrai jābūt pieejamai no viena un tā paša tīkla segmenta, tajā pašā darba režīmā un tai pašai lomai. Ja viena lietotāja identitāte vienlaikus ļauj diagnosticēt, mainīt parametrus un apstiprināt darbības atjaunošanu, komanda ir izveidojusi kopīgu organizatorisku un tehnisku atteices punktu. To labāk vērtēt nevis pēc lomu skaita, bet pēc izmērāmām sekām: cik daudzām kritiskām darbībām nepieciešama daudzfunkcionāla piekļuve, cik daudz izņēmumu no politikas jāuztur pēc palaišanas un vai notikumu žurnāli ļauj nepārprotami noteikt, kurš, no kurienes un kādā kontekstā veica izmaiņas. Tie ir rādītāji, kas reāli parāda, vai segmentēšana samazina risku vai tikai sarežģī ekspluatāciju.

Tieši šajā posmā parādās pamatota atbilstības un riska novērtēšanas perspektīva. Ja piekļuves ierobežošana skar funkcijas, kas var ietekmēt drošu stāvokli, apturēšanas secību, procesuālās bloķēšanas vai iespēju apiet aizsardzības līdzekļus, tad tas vairs nav tikai IT lēmums. Atkarībā no sistēmas tvēruma ir jāpārbauda, vai šīs sekas ir identificētas bīstamību analīzē un vai pieņemtais piekļuves tiesību sadalījums patiešām samazina risku, nevis tikai pārceļ to uz instrukciju vai lietotāju. Šādā vietā tas dabiski saskaras ar praktisku riska novērtēšanu un ar plašāku jautājumu par to, kā ierobežot piekļuvi un manipulācijas arī ārpus pašas loģiskās kārtas. Atbilstības ziņā izšķiroši svarīgi nav tas, ka pastāv lomu politika, bet gan tas, ka ir iespējams pierādīt tās saistību ar sistēmas funkciju, darba režīmu un paredzamo uzvedību robežapstākļos. Ja šo saistību nevar pamatot tehniski un dokumentāri, ieviešana būs dārgāka uzturēšanā, grūtāk auditējama un vājāka tieši tur, kur tai vajadzētu būt visparedzamākajai.

Kā veidot rūpnieciskās lietojumprogrammas, kas atbilst minimālo nepieciešamo privilēģiju principam un piekļuves segmentēšanai?

Jo piekļuves tiesību modelis ietekmē pakalpojumu arhitektūru, datu apmaiņu un sistēmas darbību atteices gadījumā. Ja ierobežojumus pievieno vēlāk, tas parasti beidzas ar dārgām pārbūvēm un problēmām pie pieņemšanas.

Ne tikai pēc organizatoriskajām lomām, bet pēc konkrētajām operatīvajām sekām. Praksē atsevišķi jāizskata nolasīšana, parametru maiņa, trauksmju apstiprināšana, atjauninājumi, apiešanas risinājumi un attālinātā piekļuve.

Ja viena un tā pati identitāte vai sesija var bez konteksta maiņas pāriet no priekšskatījuma uz darbībām, kas maina procesa stāvokli vai konfigurāciju. Tā ir pazīme, ka robežas starp zonām, funkcijām vai darba režīmiem ir nodalītas pārāk vāji.

Šādas sesijas kļūme, konfigurācijas kļūda vai tās pārņemšana var nodrošināt ne tikai piekļuvi diagnostikai, bet arī iespēju mainīt parametrus vai ietekmēt sistēmas restartēšanu. Tādā gadījumā viens piekļuves punkts pārsniedz paredzēto darbības tvērumu.

Jā, īpaši tad, ja lietotne var ietekmēt iekārtas, procesu vai atkārtotas palaišanas nosacījumus. Šādā gadījumā lēmumi par piekļuves tiesībām nav tikai IT jautājums, bet gan daļa no projektēšanas atbildības un neparedzētu darbību seku novērtēšanas.

Dalīties: LinkedIn Facebook