Мазмұнға өту
Автоматтандыру бөлшектері, әлемдік жеткізу
How to Harden PLCs Against Cyber Threats in Factories?

Зауыттардағы PLC-ларды киберқауіптерден қалай қорғауға болады?

Бұл техникалық мақала инженердің көзқарасынан PLC және DCS қауіпсіздігін қарастырады, протокол деңгейіндегі осалдықтарды (Modbus, Profinet), кезең-кезеңімен қатайту процедураларын, қауіпсіз бағдарламалау тәжірибелерін және автомобиль және су тазарту кәсіпорындарынан алынған нақты деректерді егжей-тегжейлі баяндайды. Ол желіні сегменттеу, брандмауэр конфигурациясы, микробағдарламаны жаңарту жұмыс үрдістері және қашықтан қолжетімділікті қатайту бойынша іс жүзіндегі нұсқаулықтар ұсынады.

Қазіргі PLC және DCS жүйелерінің шабуыл беттерін түсіну

Бағдарламаланатын логикалық контроллерлер және таралған басқару жүйелері өнеркәсіптік автоматтандырудың жүйке жүйесін құрайды. Кәсіпорын IT серверлерінен айырмашылығы, бұл құрылғылар қауіпсіздік функцияларынан гөрі анықтамалық уақыт пен жоғары қолжетімділікті басымдылыққа қояды. Нәтижесінде, көпшілігінде шифрланған байланыс, тұтастық тексерулері немесе рөлге негізделген қолжетімділік сияқты негізгі қорғаныс жоқ. Өндірістік желілер корпоративтік IT немесе бұлттық платформаларға қосылғанда, шабуыл беті айтарлықтай кеңейеді. PLC-дегі бір қорғалмаған Ethernet порты бүкіл өндіріс желісін қашықтан бұзуға ұшырата алады.

Терең талдау: Инженерлер білуі тиіс протокол деңгейіндегі осалдықтар

Өнеркәсіптік протоколдар онжылдықтар бұрын қарапайымдылық пен жылдамдық үшін жасалған. Қауіпсіздік ешқашан жобалау мақсаты болған емес. Бұл техникалық әлсіздіктерді түсіну инженерлерге тиісті өтемдік бақылауларды таңдауға көмектеседі.

Modbus TCP: Аутентификация жоқ, шифрлау жоқ

Modbus TCP оқу және жазу операциялары үшін 01-06 функция кодтарын пайдаланады. 502 портқа қол жеткізе алатын кез келген құрылғы еркін жазу командаларын жібере алады. Сессия ұғымы, пайдаланушы идентификациясы және хабарламаның тұтастығын тексеру жоқ. Желілік қолжетімділік алған шабуылдаушы моторды тоқтатып, клапанды ашып немесе орнату нүктесін өзгерте алады, аутентификация журналдарын қалдырмай. Қорғау тек желі деңгейіндегі оқшаулау немесе функция кодтарын сүзетін қолданба деңгейіндегі шлюздер арқылы жүзеге асады.

Profinet және EtherNet/IP: Инъекция шабуылдарына осал

Бұл нақты уақыттағы протоколдар циклдік деректер алмасуға негізделген. Олар IO деректерінің көзін тексермейді. IO контроллері болып көрінетін зиянды құрылғы жалған сенсор оқуларын енгізе алады. Керісінше, шабуылдаушы қауіпсіздік телеграммасын жалғандап, төтенше тоқтатуларды тудыруы мүмкін. Сегментация немесе терең пакет тексерусіз бұл шабуылдар анықталмайды.

OPC Classic: DCOM Қауіпсіздік Тесіктеріне Сенеді

Көптеген ескі DCS жүйелері Microsoft DCOM-ға тәуелді OPC DA (Деректерге қолжетімділік) пайдаланады. DCOM-да қашықтан код орындау осалдықтарының ұзақ тарихы бар. Сонымен қатар, OPC Classic шифрлауды тікелей қолдамайды. OPC серверін бұзған шабуылдаушылар кез келген процесс тегін оқи немесе жаза алады. Қауіпсіздік қосылған OPC UA-ға көшу ұсынылады.

Техникалық қатайтудың нұсқаулығы: Өріс инженерлері үшін кезең-кезеңімен

Төмендегі процедуралар контроллерге физикалық немесе қауіпсіз қашықтан қолжетімділігіңіз бар деп есептейді. Бұл өзгерістерді әрқашан жоспарланған техникалық қызмет көрсету терезесінде орындаңыз және кейін жұмысын тексеріңіз.

1-қадам: Қауіпсіздік базалық аудитін орындау

Әрбір PLC-ға инженерлік бағдарламалық қамтамасыз ету арқылы қосылыңыз. Төмендегілерді тіркеңіз: фирмалық бағдарламаның нұсқасы, қосылған протоколдар (HTTP, FTP, SNMP, Telnet), ашық TCP/UDP порттары, конфигурацияланған пайдаланушы есептік жазбалары және соңғы құпиясөз өзгерту күні. Қауіпсіздік стандартыңыздан ауытқуларды бақылау үшін кесте пайдаланыңыз. Siemens S7 контроллерлері үшін аппараттық қасиеттерде орнатылған қолжетімділік деңгейін тексеріңіз. Rockwell контроллерлері үшін Studio 5000 бағдарламасында контроллер қорғау параметрлерін қараңыз.

2-қадам: Контроллер конфигурациясын қатайту

Қолданылмайтын барлық протокол стекстерін өшіріңіз. Қалыпты PLC-де веб-сервер, FTP, SNMP және кез келген меншік жөндеу порттарын өшіріңіз. Ethernet порттарында қолданылмайтын қызметтердің автоматты келісімін өшіріңіз. Егер протокол рұқсат етсе, әдепкі рельс/слот мекенжайын өзгертіңіз. Rockwell Logix контроллерлерінде қолданылмайтын порттарды "Өшіру" режиміне қойып, "Жүйені қорғау" функциясын бірегей кілтпен қосыңыз.

3-қадам: Қатты қолжетімділік бақылауын енгізу

Әрбір инженерге жеке пайдаланушы есептік жазбаларын жасаңыз. Әдепкі "admin" немесе "engineer" есептік жазбаларын пайдаланбаңыз. Рөлге негізделген қолжетімділікті қолдайтын жүйелер үшін кемінде үш рөлді анықтаңыз: оператор (тек оқу), техник (оқу және қолмен командалар), инженер (толық бағдарламаға қолжетімділік). Құпиясөз күрделілігі ережелерін орнатыңыз: кемінде 12 таңба, бас әріптер, кіші әріптер, сандар және символдар. PLC-ны желіге қосар алдында зауыттық әдепкі құпиясөздерді өзгертіңіз.

4-қадам: Желілік деңгейдегі қорғаныстарды қолдану

Әрбір PLC-ны протокол мазмұнын тексеретін өнеркәсіптік брандмауэрдің артында орналастырыңыз. Әрбір трафик түрі үшін тек нақты бастапқы IP мекенжайларын рұқсат ететін брандмауэр ережелерін жасаңыз. Мысалы, HMI-ден PLC-ға трафикті 44818 портында (EtherNet/IP) рұқсат етіңіз, бірақ бағдарламалау бағдарламалық трафигін (2222 порт) тек бір арнайы инженерлік жұмыс станциясынан тыс блоктаңыз. Қауіпсіздік PLC-ларын стандартты басқару PLC-ларынан VLAN арқылы бөліңіз. Қате құрылғының қосылуын болдырмау үшін ауыстырып қосу порттарында 802.1X порт аутентификациясын қолданыңыз.

5-қадам: Қауіпсіз фирмалық бағдарламаны жаңарту жұмыс үрдісін орнату

Фирмалық бағдарламаны интернет арқылы өндірушінің веб-сайтынан тікелей жаңартпаңыз. Фирмалық бағдарламаның бинарлы файлын сенімді, офлайн компьютерге жүктеп алыңыз. Файлдың сандық қолтаңбасын тексеріңіз. Жаңартуды зертханалық ортада, бірдей контроллерде кемінде 40 сағаттық имитациялық жұмыс кезінде сынаңыз. Жаңарту сәтсіз болған жағдайда қайтару процедурасын құжаттаңыз. Жаңартуларды тек жоспарланған тоқтату кезінде қолданыңыз, жұмыс істеп тұрған процесте емес.

6-қадам: Журнал жүргізу және ескерту орнату

Егер PLC қолдаса, syslog жіберуді қосыңыз. Түпнұсқа журнал жүргізу мүмкіндігі жоқ контроллерлер үшін желі трафигін бақылау және белгілі оқиғаларға: бағдарлама жүктеу, режимді іске қосудан бағдарламаға ауыстыру, мәжбүрлі IO немесе қайталанатын сәтсіз кіру әрекеттері үшін ескерту жасау мақсатында желі трафигін бақылау үшін желі трафигін бақылау құрылғысын пайдаланыңыз. Журналдарды OT-ге тән корреляциялық ережелері бар орталық SIEM-ге жіберіңіз. Бағдарлама өзгерісі жұмыс уақытынан тыс уақытта болғанда дереу тексеру үшін ескерту деңгейлерін орнатыңыз.

Жетілдірілген техникалық нұсқаулық: PLC бағдарламалаудағы қауіпсіз тәжірибелер

Қауіпсіздік логикаға дейін кеңейтілуі керек. Бұл бағдарламалау әдістері контроллер ішінде терең қорғанысты қамтамасыз етеді.

  • Чексуманы тексеруді енгізу: Іске қосу кезінде маңызды логикалық блоктардың цикликалық артықшылық тексеруін есептеңіз. Белгілі жақсы мәнді тұрақты жадта сақтаңыз. Егер чексумалар сәйкес келмесе, қауіпсіз күйге өтіп, операторларды ескертіңіз.
  • Байланыс жоғалғанда watchdog таймерлерін пайдалану: Қашықтағы IO немесе HMI байланысы үшін watchdog таймерін орнатыңыз. Күтулі циклдік хабарлама уақытында келмесе, шығыстарды алдын ала анықталған қауіпсіз позицияларға ауыстырыңыз. Бұл ескірген немесе жалған деректердің қауіпті қозғалысқа себеп болуын болдырмайды.
  • Барлық HMI енгізулерін PLC-де тексеру: HMI дұрыс мәндер жібереді деп ешқашан сенбеңіз. PLC логикасында аналогтық орнату нүктелері қауіпсіз минималды және максималды диапазонда болуын тексеріңіз. Дискретті командалар үшін реттілік тәртібінің дұрыс екеніне көз жеткізіңіз. Диапазоннан тыс немесе реттілікке сай емес командаларды қабылдамаңыз.
  • Қауіпсіздік логикасын стандартты логикадан бөлу: Төтенше тоқтату және қорғау функциялары үшін арнайы қауіпсіздік PLC-лерін немесе қауіпсіздік сертификатталған IO-ны пайдаланыңыз. Стандартты PLC-лер қауіпсіздік шығыстарына жазу құқығына ие болмауы керек. Бұл оқшаулау толық бұзылған стандартты PLC қауіпсіздік функцияларын бұза алмайтынын қамтамасыз етеді.

Нақты техникалық жағдай: Автомобиль зауыты 320 PLC-ді қорғайды

320 PLC-мен (Siemens S7-1200 және S7-1500) үлкен автомобиль қозғалтқыш зауыты рұқсатсыз кіру әрекеттеріне тап болды, олар бұзылған мердігер ноутбуктерінен келді. Зауыт инженерлік тобы келесі техникалық қадамдармен жүйелі қауіпсіздік бағдарламасын енгізді.

  • Тізімдеу жүргізіп, 47 PLC-де әлі де әдепкі құпия сөздердің белсенді екенін анықтады.
  • Барлық әдепкі тіркелгілерді өзгертті және құпия сөздің жарамдылық мерзімін 90 күнге орнатты.
  • Барлық контроллерлерде TIA Portal пакет операциясы арқылы веб-сервер мен FTP-ді өшірді.
  • Желі сегментациясын енгізді: Siemens Scalance брандмауэрлері арқылы бес OT аймағы бөлінді.
  • Қатаң брандмауэр ережелерін жасады: PLC мен қашықтағы IO арасында тек Profinet IO трафигіне (порттар 34962-34964) рұқсат беру; нақты HMI және SCADA-дан тек S7 байланысына (порт 102) рұқсат беру; қалған барлық трафикті блоктау.
  • Барлық 320 PLC-де зертханалық сынақтан кейін 2.6 нұсқасынан 3.0 нұсқасына фирмалық бағдарламаны жаңартты.
  • Бағдарлама жүктеу оқиғалары үшін ескертулермен орталықтандырылған SIEM-ге syslog жіберуді іске қосты.

90 күннен кейінгі өлшенген нәтижелер: Рұқсатсыз кіру әрекеттері айына 487-ден 39-ға дейін төмендеді (92% азайту). Киберқауіптерге байланысты өндірістік тоқтап қалу оқиғалары 6-дан 0-ге дейін қысқарды. Аномалды бағдарлама жүктеулерін анықтау уақыты 14 сағаттан 12 минутқа дейін қысқарды. Жобаның жалпы құны 180 000 доллар болды, бұл аптасына шамамен 4,2 миллион доллар шығын әкелетін ықтимал ransomware шабуылын болдырмады.

Техникалық жағдай: Су тазарту қондырғысы Modbus инъекциясын азайтады

Қалалық су тазарту қондырғысы Modbus TCP арқылы 85 PLC-ді жалпақ желіде басқарды. Операторлар HMI-ден командаларсыз клапандардың аралас ашылуы мен насос іске қосу оқиғаларын байқады. Тексеру кезінде желіде Function Code 05 (жазу бір катушка) және Function Code 16 (жазу бірнеше тіркеу) енгізетін рұқсатсыз құрылғы анықталды.

Инженерлік топ келесі техникалық қарсы шараларды қолданды:

  • Негізгі коммутатор мен PLC ішкі желісінің арасында Tofino өнеркәсіптік брандмауэрін мөлдір режимде орнатты.
  • Рұқсат етілген Modbus транзакцияларының ақ тізімін жасады: тек оқу сұраныстары (Функция кодтары 01,02,03,04) HMI және SCADA IP мекенжайларынан.
  • Жазу сұраныстарын (Функция кодтары 05,06,15,16) тек бір арнайы инженерлік жұмыс станциясының IP мекенжайынан және тек белгіленген техникалық қызмет көрсету уақытында уақытқа негізделген ACL арқылы рұқсат берді.
  • Тіркеу мекенжайлары конфигурацияланған ауқымдарда қалғанын тексеру үшін терең пакет тексеруді іске қосты.

Нәтижелер: Бірінші айда брандмауэр 1,200 зиянды Modbus функция кодтарын блоктады. Маңызды насос PLC-лерге рұқсатсыз жазу командалары толығымен тоқтатылды. Операторлар басқару тұтастығына толық сенімін қалпына келтірді. Шешімнің құны 25,000 доллар болды, бұл экологиялық айыппұлдар мен қызмет үзілістерінен сақтады.

Инженерлерге арналған қауіпсіз қашықтан қолжетімділік конфигурациясы бойынша нұсқаулық

PLC-лерге қашықтан қолдау көрсету операциялық тұрғыдан қажет, бірақ техникалық тұрғыдан қауіпті. Осы нақты конфигурация үлгісін ұстаныңыз.

  • Арнайы OT VPN концентраторын орналастыру: IPsec немесе OpenVPN қолдайтын брандмауэр құрылғысын пайдаланыңыз. Оны IT мен OT арасындағы DMZ-ге орналастырыңыз. OT қолжетімділігі үшін корпоративтік IT VPN қолданбаңыз.
  • Әр пайдаланушыға MFA орнату: Сертификат немесе аппараттық токен мен құпия сөзді талап етіңіз. OT-ге тән LDAP каталогымен біріктіріңіз.
  • Уақытқа және көзге негізделген шектеулерді енгізу: Қашықтағы қолжетімділікті тек алдын ала бекітілген сағаттарда және жабдықтаушы кеңсесінің нақты қоғамдық IP мекенжайларынан рұқсат етіңіз.
  • Сессияны жазатын секіру хостын пайдалану: Қашықтағы пайдаланушылардан алдымен OT аймағындағы құлыпталған Windows машинасына қосылуды талап етіңіз. Барлық PLC бағдарламалау бағдарламалары тек сол секіру хостында жұмыс істейді. Толық видео және пернетақта жазбаларын жазып алыңыз.
  • Бір реттік куәліктерді міндеттеу: Әр сессияға ерекше VPN құпия сөздерін жасаңыз. Оларды 8 сағаттан кейін автоматты түрде жойыңыз. Әр жабдықтаушының келуінен кейін секіру хостының жергілікті әкімші куәліктерін ауыстырыңыз.

PLC қауіпсіздігін енгізу кезінде жиі кездесетін мәселелерді шешу

Инженерлер қауіпсіздік шараларын қолданғанда жиі кездесетін нақты мәселелерге тап болады. Міне, техникалық шешімдер.

  • Мәселе: Әдепкі құпия сөзді өзгерткеннен кейін инженерлік бағдарламалық қамтамасыз ету желіге қосыла алмайды.
    Шешім: Инженерлік жұмыс станциясының тіркеу деректерін немесе куәлік менеджерін тазалаңыз. Кейбір платформаларда (Rockwell) жаңа құпия сөз барлық сессияларда күшіне енуі үшін PLC қуатын өшіріп-қосуды талап етеді.
  • Мәселе: Сегменттеуден кейін брандмауэр заңды IO трафигін блоктайды.
    Шешім: Өндіріс кезінде трафикті жазу үшін порт айнауын қолданыңыз. Пакет жазбасын талдап, барлық қажетті көз/мақсат жұптары мен протокол порттарын анықтаңыз. Бұл бақылаған трафик негізінде рұқсат ережелерін жасаңыз, содан кейін блоктау режиміне ауысыңыз.
  • Мәселе: Микробағдарлама жаңартуы сәтсіз аяқталып, PLC тоқтау режиміне өтеді.
    Шешім: Кез келген жаңартудан бұрын жаңа микробағдарлама нұсқасының дәл аппараттық ревизияны қолдайтынын растаңыз. Өндірушінің қалпына келтіру құралын (мысалы, Siemens SIMATIC Field PG) пайдаланып, алдыңғы микробағдарламаға оралыңыз. Бастапқы микробағдарлама бинарлы файлының сақтық көшірмесін офлайн USB дискіде әрқашан сақтаңыз.

Өндірістік инженерлерден жиі қойылатын сұрақтар

PLC-ның бұзылғанын қалай тексеруге болады?

Қазіргі жұмыс істеп тұрған логиканы офлайн сақталған сенімді сақтық көшірмемен салыстырыңыз. Инженерлік бағдарламалық құралдағы салыстыру құралдарын пайдаланыңыз (мысалы, TIA Portal-дағы "Compare Online/Offline" немесе Studio 5000-дегі "Compare Logic"). Соңғы бағдарлама жүктеуінің күнін және уақыт таңбасын тексеріңіз. PLC ішкі журналын қараңыз, егер бар болса. Маңызды қолданбалар үшін логика ішінде жұмыс уақытының тексеру сомасын енгізіңіз.

Өндірісті бұзбай брандмауэр ережелерін тексерудің ең қауіпсіз жолы қандай?

Брандмауэрді алғашқы аптада тек журнал жүргізумен мөлдір көпір режимінде орналастырыңыз. Блокталатын барлық трафикті тіркеңіз. Журналдарды қарап, жалған оң нәтижелерді анықтаңыз. Содан кейін техникалық қызмет көрсету терезесінде блоктау режиміне ауысыңыз. Қате блоктау жағдайында маңызды байланыс жолын айналып өту үшін қосарланған брандмауэрді сәтсіздікке төзімді етіп қолданыңыз.

PLC желілерінде стандартты IT осалдық сканерін қолдануға бола ма?

Жоқ. Қате пішімделген пакеттерді жіберетін немесе әдепкі логиндерді сынайтын белсенді сканерлер ескі PLC-ларды тоқтата алады. Қозғалтқышсыз OT мониторинг құралдарын қолданыңыз, олар бар трафикті талдайды және сұрау салулар жасамайды. Егер белсенді сканерлеу қажет болса, өнеркәсіптік протокол шектеулерін түсінетін өндірушіге тән құралдарды (мысалы, Rockwell Safety Assurance Tool немесе Siemens Sinema Remote Connect) пайдаланыңыз.

Бақылау инженерлері үшін соңғы техникалық ұсыныстар

PLC және DCS үшін қауіпсіздік қазіргі заманғы өнеркәсіптік автоматтандыруда міндетті болып табылады. Пилот ретінде бір өндірістік ұяшықтан бастаңыз. Құпиясөзді күшейту, порттарды құлыптау және желіні сегменттеу шараларын енгізіңіз. Аномалды оқиғалардың азаюын өлшеңіз. Барлық зауытқа біртіндеп кеңейтіңіз. Әрбір конфигурация өзгерісін нұсқаларды бақылау жүйесінде құжаттаңыз. Әрбір контроллерге нақты инженердің жауапкершілігін тағайындаңыз. Қауіпсіздікті бір реттік сәйкестік шарасы емес, үздіксіз инженерлік пән ретінде қарастырыңыз. Бұл техникалық тәжірибелерді енгізген зауыттар киберқауіп пен жоспарланбаған тоқтап қалуды азайтады.

Блогқа қайту