Розділи
Матеріали

Пощастило: як хакери знайшли вразливість "Дія City" і чому не стали її зламувати

Ірина Рефагі
Фото: Mr.Robot/скриншот

Експерти з кібербезпеки розповіли, чому Мінцифрі варто добре захищати від хакерських атак будь-який свій продукт, навіть такий незначний, як сайт презентації "Дія City".

В кінці березня видання, що висвітлюють події українського ІТ-ринку, отримало анонімне повідомлення про те, що репозиторії сайту, який анонсував презентацію програми "Дія City", перебували у відкритому доступі. Перевіривши інформацію, айтішники переконалися, що це саме так, а після повідомили Міністерство цифровий трансформації України про баг. У підсумку, вразливість усунули. Однак питання до діджиталізаторів держави залишилися. Фокус розбирався разом з експертами, як так вийшло, що двері у сховище даних були відчинені навстіж протягом декількох днів, як могли б скористатися хакери цією вразливістю і чи можливе повторення аналогічної ситуації?

Звичайна недбалість

Уразливість подібного типу — явище досить часте. Як пояснив Фокусу експерт з кібербезпеки Андрій Баранович, таке трапляється часто-густо. Програмісти, що працюють над сайтом dc.diia.gov.ua, просто забули закрити доступ до так званої .git папки. (Тут варто пояснити: Git — система контролю версій, за допомогою якої програмісти відслідковують всі зміни, внесені в програму. Це звичайнісінька і поширена практика.) Також програмісти, створюючи нову версію сайту, забули приховати логін і пароль до каталогу зі службовою інформацією, в якому, крім іншого, зазначено стан сховища (сховища даних). Саме це і виявив "добрий самаритянин", про що повідомив ЗМІ і Мінцифрі.

"Я не знаю, який рівень експертизи програмістів, найманих Мінцифрою, тому що немає у відкритому доступі технічної документації, немає доступу до вихідного коду додатку "Дія", хоча вони і створені за бюджетні кошти... Але що можна сказати точно: адміністратори і безпечники не володіють достатніми знаннями і достатнім досвідом. А якщо і мають, тоді була допущена кричуща недбалість, через що службові файли потрапили в онлайн", — прокоментував Андрій.

Уразливості виявили етичні хакери, тому злому dc.diia.gov.ua не відбулося
Фото: minval.az

Наслідки багу — теорія і практика

Оцінити ступінь ризиків у випадку з витоком логіну і паролю від .git папки сайту dc.diia.gov.ua досить складно, адже можливість злому залежить від багатьох факторів. І у цьому випадку істотних проблем не виникло, але тільки тому, що люди, які виявили баг, не скористалися паролем від .git папки і не відкривали її. Адже одна справа виявити злитий пароль, а інша справа — ним скористатися. Це вже стаття кримінального кодексу.

Однак, теоретично, завдати шкоди навіть за допомогою злому односторінкового dc.diia.gov.ua можна. Сайт анонсував презентацію "Дія City", і ця подія привернула увагу багатьох людей. Запустивши троян, можна було б заражати вірусом всіх, хто заходив на дану сторінку. А можна було б і покопатися у .git папці, щоб зрозуміти, як влаштована архітектура проекту і зламати всю систему — таке траплялося з іншими продуктами, запевняє експерт. Але могло б статися так, що зломщик залишився б з носом — це теж реально. Наприклад, як це було з e-construction.gov.ua. Фокус повідомляв, що кілька тижнів тому там була виявлена подібна помилка — "потік" пароль від файлового сервера. Однак завдяки тому, що до сервера можна було підключитися з Інтернету, крадіжка даних була б неможливою.

"І все ж сама наявність таких помилок може означати, що кібербезпека продукту знаходиться на дуже низькому рівні. Щоб усунути помилку такого типу, не потрібно наймати команду експертів, навіть автоматичний сканер вразливостей, попередив би про проблему програмістів. Але і цього не було зроблено", — коментує ситуацію Андрій Баранович.

Швидкість реакції на нулі

У цій ситуації є і ще один важливий промах — швидкість реакції сек'юріті-служби на повідомлення про небезпеку. Про баг стало відомо 30 березня 2021 року, цього ж дня про нього повідомили сек'юріті-службу. Але баг усунули тільки 2 квітня, а офіційний коментар урядової команди реагування на комп'ютерні надзвичайні події України CERT UA опублікували увечері 5 квітня. Тобто, якби витік виявили зловмисники, вони мали б досить часу, щоб скористатися паролем, лежачим у відкритому доступі, і незрозуміло чим би взагалі справа кінчилася.

"Мені здається, що пан Федоров все ще вважає роль кібербезпеки злегка перебільшеною. Я вважаю, що для багбаунті "Дія", яке проводилося в грудні 2020 року, використовувалася урізана версія, а не копія реальної діючої системи. Тому що якби перевіряли працюючу систему, то всі ці "потікші" файли моментально знайшлися ще тоді", — міркує Баранович.

Однак в Мінцифрі вважають, що "ні про яке злом не йдеться". На офіційний запит Фокуса про те, як у міністерстві оцінюють цю уразливість, чи виявили і виправили подібні помилки в інших проектах, надійшла відповідь:

"Інформація, яка була у відкритому доступі, не є таємницею і не містить конфіденційних складових. Це не інформація з програми "Дія", а тільки лендинг-пейдж заходу щодо презентації особливого правового режиму для IT-галузі, "Дія City", який відбувся 5 квітня. Підкреслюємо: "Дія City" і "Дія" — це абсолютно різні проекти. "Дія City" — це не програмний продукт, а спеціальний правовий режим.

Тобто, не йдеться про будь-які закритих чи критичні дані. Втім, помилки справді трапляються і в робочому режимі виправляються. Навіть якщо це невеликі помилки, ми дуже вдячні активістам, які знаходять їх і повідомляють про це міністерству. Звичайно, зі співробітниками, які допускають навіть незначні помилки, проводиться окрема робота, і цей випадок не був винятком".

SolarWinds, швидше за все, був зламаний через "дрібну" уразливість
Фото: texasmonthly.com

Іноземний досвід

Як ми вже говорили раніше, подібного роду помилки — не рідкість. Андрій Баранович розповів про великий волонтерський проект, під час якого експерти з кібербезпеки провели масштабну перевірку в Мережі і відстежили масу потікших .git файлів, що могло б призвести до злому проектів. Однак волонтери встигли вчасно попередити всіх власників продуктів про таку уразливість.

Цілком можливо, що завдяки подібному багу був зламаний SolarWinds. Відомо, що у вихідному коді програмісти забули прибрати логін і пароль від файлового сервера. Однак поки точно не встановлено, чи є саме ця вразливість причиною злому.

У чому проблема з кібербезпекою?

В інтерв'ю Фокусу міністр цифрової трансформації Михайло Федоров заявляв, що питаннями кібербезпеки займатиметься безпосередньо міністерство. Раніше це було в компетенції Держспецзв'язку. На питання про те, чому зроблена така перестановка сил, міністр відповів, що Держспецзв'язку повинна займатися зв'язком. Логічно. Однак експерти вважають, що Мінцифрі та іншим держорганам не вистачає організованості і структурності.

"Я спілкувався з представниками різних служб. І я вважаю, що ні кіберполіція, ні Держспецзв'язку, ні СБУ, ні РНБО не мають чіткого розуміння, якого результату у сфері забезпечення кібербезпеки вони хочуть досягти і яким чином вони збираються його досягати. Я бачу, що ведеться якась діяльність — іноді корисна, іноді не дуже, але системною її не назвеш", — констатує Андрій Баранович.

Перш ніж займатися кібербезпекою "держави у смартфоні", міністерству варто було б створити команду з експертів для аудиту його власних продуктів, щоб бути впевненими у їх захищеності і щоб переконати у цьому громадян. Також не завадило б розробити політику пошуку та розголошення вразливостей на точних копіях діючих систем, а не на урізаному шматочку, як було під час багбаунті.