За SCADA и киберсигурността у нас
"Хубава работа, ама българска!" - максима, която често чуваме и използваме, защото сме самокритични или просто малко повече песимисти. За съжаление това се отнася и за някои от важните индустриални системи и доставчици на интернет свързаност у нас.
Това е една история за безсилието да бъдеш (кибер) етичен или просто колегиален.
Вместо увод
Всичко започна с подготовката на презентация, обхващаща киберсигурността в нейната цялост, която се проведе пред публика, имаща базови познания в областта на ИТ. Не обичам масовия подход, прилаган при подобни представяния - първо плашим и след това показваме решенията, но тук беше подходящо да се базирам на него. Започнах сравнително отдалеч с няколко примера за изтичане на данни, "ransomware", който успя да накара служителите на летището в Бристол да извадят белите дъски и маркерите и това как прахосмукачките роботи стават идеалните шпиони. Дойде редът и на популярния сайт shodan.io с който исках да покажа колко е лесно да се получи публична информация за различни системи и че интернет търсенето може да не е само по съдържание, но и по устройства.
Поради факта, че презентацията беше насочена към хора от индустрията прецених, че SCADA е много подходящ пример. Още първото търсене малко надмина очакванията ми. Shodan посочи, че в България са локализирани 49 SCADA системи с публични адреси.
Избрах една от най-близките, която се намираше до мястото, където се провеждаше форума, за която беше презентацията и разгледах подробните данни за нея.
Отворените портове бяха 80, 123, 137 и ... 3389. Със сигурност не очаквах да видя RDP, поради простата причина, че на разглеждания адрес би трябвало да работи SCADA система. Въпреки това реших да опитам да се свържа и резултатите бяха стряскащи. Не само, че успешно се свързах, но и видях прозореца за логване към Microsoft Windows XP. Да, в края на 2018 година все още се среща и използва тази доказана, но неподдържана операционна система.
На този етап често срещана грешка, породена от любопитство, е да се опита да се получи административен или потребителски достъп до системата, но това не е етично и дори в определени случаи е наказуемо (за справка НК на Република България - глава 9а).
Ясно се виждаше и потенциалният проблем - SCADA система с публичен IP адрес, използваща остаряла операционна система и възможен отдалечен достъп до нея през RDP. От етична и професионална гледна точка с колега решихме, че трябва да уведомим собственика (или ползвателя) на системата за проблема. Справка за IP адреса не даде информация, която да ни послужи за връзка с компанията, използваща SCADA системата и логичната стъпка беше да изискаме тези контакти от интернет доставчика.
Разговорът с доставчика, сам по себе си, беше уникален (не се сещам за по-точно определение). След като се представих кой съм и от къде се обаждам обясних, че сме открили потенциален проблем, свързан с киберсигурността при техен клиент. Помолих доставчика да ми каже на кой техен e-mail да изпратя описание на случая и официално да помоля за контактни данни с клиента. Целта ми беше да имам копие от кореспонденцията и възможност за бъдещо проследяване на развитието на случая. Помолиха ме да изчакам и заслушах “on hold” музиката. След няколко минути разговорът продължи и тук за мен беше една от най-големите изненади. Най-общо отговорът прозвуча като „Ще ви се обадим малко по-късно. Рядко ни пишат и трябва да проверим на кой e-mail да ни изпратите писмото“. Издиктувах моя адрес за електронна поща и не след дълго получих отговор от доставчика. Описах ситуацията, помолих за контакт с техния клиент и изпратих писмото.
След като минаха почти две седмици и нямаше отговор, се свързах с доставчика на доставчика. Отново се представих, описах ситуацията и помолих за адрес, на който да им изпратя запитването. Този път ми издиктуваха e-mail и изпратих запитването.
„Надеждата умира последна“, но след почти месец загубих и последната капка вяра, че ще получа отговор и че ще мога да се свържа с екипа, използващ SCADA системата. Може би това е ситуацията, в която се чувстваш с вързани ръце, но не с въже, а с UTP кабел.
Въпреки желанието ми в презентацията да опиша стъпките и начина по който уведомихме компанията със SCADA системата, успях да добавя само неуспешните опити за получаване на контакти. Това повдигна няколко много важни впроса:
- На какво се дължи публичният достъп до SCADA системата?
- Какво може да се направи в дадената ситуация, за да се уведоми компанията, използваща SCADA системата?
- Някои забеляза ли опитите за отдалечения достъп до системата?
- Как да се избегнат подобни потенциални проблеми?
- Какво се случва с другите открити от Shodan SCADA системи?
В следващите няколко реда ще се опитам да дам отговорите на горните въпроси, но само от моята гледна точка.
На какво се дължи публичният достъп до SCADA системата?
Тук мога да направя единствено предположения. Една възможност е системата да е инсталирана с настройки по подразбиране и да е останала в това състояние, но при Microsoft Windows XP, опцията за отдалечен достъп през RDP се активира допълнително. Второ допускане е, че администраторът на SCADA продукта използва отдалечен достъп за наблюдение и конфигуриране, което е малко вероятно, защото по-доброто решение би било да бъде конфигуриран VPN тунел за подсигуряване на трафика.
Без значение кое от предположенията е вярно, на лице е проблем, защото съществуват редица атаки, базирани на уязвимости в този протокол и ако не са инсталирани необходимите софтуерни обновявания системата е изложена на значителен риск (включително атаки от "ransomware").
Какво може да се направи в дадената ситуация за да се уведоми компанията, използваща SCADA системата?
Тук много се колебаех, дали да не напиша единствено „нищо“, но ако се базираме на идеята, че инатът винаги се отплаща, може да се опитаме отново да се свържем с доставчиците или дори да предприемем кратко пътуване до мястото, където евентуално (все пак информацията е базирана на GeoIP) се намира компанията, използваща SCADA системата.
Някои забеляза ли опитите за отдалечения достъп до системата?
Възможно е, но ако екипът администратори е забелязал действията и използваните от мен IP адреси би могъл да се ориентира и да се направи обратна връзка.
Как да се избегнат подобни потенциални проблеми?
С внимателно конфигуриране на системите и проверки. В описаната ситуация бързо търсене в Shodan или сканиране с инструменти като Nessus биха дали достатъчно информация и да се предприемат превантивни мерки. Личното ми мнение е, че е добра практика периодично да се проверяват публичните адреси, които използваме за отворени портове и уязвимости.
Какво се случва с другите открити от Shodan SCADA системи?
И тук има много за описание и дискусия, но няма да изпадам в подробности. По-интересни неща са:
- Открити са няколко Linux системи с инсталиран xrdp. Поне за мен, това е странно решение. При Linux има много по-подходящи начини за отдалечен достъп, а инсталирането на xrdp (по мое мнение) показва, че потребителят иска да използва Windows базиран подход и да работи с графичен интерфейс;
- Има няколко работещи web сървъра, които дават информация за точния тип на SCADA системата, а това е предпоставка за допълнителни анализи и евентуално откриване на специфични уязвимости;
- Една от системите има отворен порт, на който се получава достъп до потенциални служебни данни.
... вместо заключение
Ако сте прочели статия и познавате някой от компанията, използваща описаната SCADA система, моля, помолете ги да се свържат с мен.