Правило Міранди. Портал електронних декларацій на момент запуску мав серйозні технічні дірки
У скандалі із запровадженням системи е-декларування, до якого прив'язане надання траншу МВФ і безвізовий режим, головне те, як працює система. Здається, що це твердження із уст Капітана Очевидність. Але у безлічі публікацій і заяв на тему зриву вчасного запровадження е-декларацій технічному аспекту проблеми приділяється вкрай мало уваги. Це не дивно, адже повноцінна експертиза коштує 20 - 30 тис. доларів.
Автор: Орест Зог
Однак після заклику видань Української правди та Європейської Правди не давати Україні транш МВФ і не вводити безвізовий режим чимало програмістів почали безкоштовно перевіряти портал, на якому мали публікуватися декларації.
В Україні достатньо фахівців відповідного рівня, наша IT-галузь ефективно працює на експорт, так у 2015 році експорт IT-послуг з України зріс до 2,1 млрд. доларів. Після того, як у мережі почала лунати обґрунтована технічна критика, портал закрився.
За результатами перевірок добровольців-тестерів відбувалося багато обговорень у мережі. Найцікавіша - з нашої точки зору - дискусія розгорнулася тут
Ми спробуємо пояснити їх дописи людською мовою.
Очевидні ознаки недоробленої системи можна було побачити прямо у коді веб-сторінок, коли вже перші користувачі знайшли декілька повідомлень у коді на зразок //todo показати, що щось відбувається” (доробити: показати, що щось відбувається). Однак заради справедливості, варто зазначати, що подібні коментарі можна знайти у коді багатьох програм, навіть “повністю розроблених”.
Далі волонтери (програмісти та ІТ-фахівці) почали знаходити у системі значно більш серйозні проблеми. Наводимо неповний список того, що було знайдено станом на 22 серпня:
1. Інформація, що заноситься користувачем, фактично не перевіряється. Можна вводити будь-які дані. Чиновник може записати будь-який рік народження, хоч 1800-й. Також система не перевіряє введені дані на логічність. Наприклад, вік батьків може бути меншим за дітей: ситуація, коли батьки народилися у 1980-му, а діти - у сімдесятих - є цілком прийнятною для системи. Не перевіряються дані, що мають обмеження по формату, наприклад, номер телефону.
Більше того, можна міняти у своєму “кабінеті” такі засадничі дані, як індивідуальний податковий номер. Тобто, зайти з особистим ключем, який виданий на один номер, а потім всередині системи виправити його на інший.
Був би я корупціонером, так би і робив. І потім довго змушував доводити правоохоронців, що я - це я.
2. Некоректно налаштована система по роботі із сертифікатами на ключі цифрового підпису. Якщо я хочу завантажити свою декларацію, то спочатку авторизуюся, або з допомогою банківського ID або цифрового підпису.
Під час авторизації, для отримання сертифікатів ключів, мій браузер звертається до програми-посередника (проксі) на сервері системи е-декларацій.
Ця програма-посередник з сервера НАЗК звертається за сертифікатом ключа до одного із інших серверів, що належить спеціалізованим центрам сертифікації. Якщо отриманий сертифікат підтверджує ключ, то мене пускають на портал. Так, загалом, працює захищена система.
Однак на момент тестування портал е-декларацій налаштований таким чином, що підготовлений користувач може направити проксі на будь-яку адресу, скажімо на сайт president.gov.ua Таким чином сайт НАЗК можна використовувати для ДДОС-атак.
Теоретично, якщо налаштувати свій власний сервер і на нього спрямовувати проксі з сайту НАЗК, то якийсь хакер сам собі зможе видавати сертифікати на придумані ключі.
3. Cookie (печиво): система містить велику дірку у безпеці під час роботи із сесіями. Сесію для користувача відкриває сервер, на якому той авторизувався.
Наприклад, якщо ви увійшли на свій рахунок у Приват24 і там довго нічого не натискали, вам доведеться залогінюватися ще раз - так налаштована програма задля вашої безпеки.
Сесія починається, коли користувач успішно авторизується в системі - інформацію про це браузер (це такі відомі інструменти, як Хром, Фаєрфокс, Мозіла) зазвичай зберігає у спеціальній структурі даних з назвою cookie (печиво).
Для якісного захисту, в момент закінчення сесії, після довгої перерви без активності, або після логіну з іншого пристрою такий cookie повинен ставати недійсним і знищуватися.
Однак, у системі для е-декларацій, яку Національне агентство з питань запобіганню корупції (власник), Програма розвитку ООН (фінансувала проект) та інші поважні установи у своєму рішенні представили, як повністю готову, такого не відбувається - cookie зберігається необмежений період часу, та є дійсним.
Якщо ви отримали якимось чином cookie іншого користувача, що почав сесію у системі (серед таких шляхів - перехоплення, злам, соціальна інженерія) – то легко можете зайти в його кабінет без авторизації. Всього лише потрібно скопіювати cookie на свій комп'ютер. До речі, в технічних вимогах до тендеру є посилання на правила, що вимагають коректної роботи із сесіями (тобто, вимоги тендеру не виконані).
Ось відео із демонстрацією того, як виглядає використання чужої cookie на порталі декларацій.
4. Ще декілька інших проколів, які представники розробника, а це ТОВ “Міранда”, обіцяють ліквідувати після закінчення “тестового режиму”:
a. Принаймні частина поштових серверів, які використовуються для надсилання листів для підтвердження даних користувачів після реєстрації на сайті е-декларацій, належать “Міранді”. Вони повинні належати НАЗК, щоб не було зовнішнього втручання у сервер.
b. На момент запуску порталу можна було заходити на нього і додавати декларації, використовуючи тестові ключі.
Порівняємо ці серйозні недоробки із тим, що писали/заявляли НАЗК, ПРООН, та політики, які займаються боротьбою із корупцією:
Заклик Української правди / Європейської правди відмовити Україні у безвізовому режимі та транші МВФ, через те, що за думкою редакції, керівництво країни організувало спецоперацію Держспецзв’язку із навмисного зриву атестації системи. (Не виключено, що вказівка відмовити в атестації справді була, однак з іншого боку. Систему в такому стані, як зараз, не можна запускати в роботу, хоча б тому що після перших зламів відбудеться її повна дискредитація).
25 липня 2016 року НАЗК, ПРООН, представники Світового Банку та Державна служба спеціального зв'язку та захисту інформації України (ДСТСЗІ) підписали висновок: “Результати приймальних випробувань ПЗ системи електронного декларування вважаємо повними і позитивними”. Для висновку використовувались результати тестування PricewaterhouseCoopers та TestLab.
“Насправді не має ніяких проблем із софтом, розробленим за гроші Світового Банку та Програми розвитку ООН”, писав - Віталій Шабунін, Голова правління у Центрі Протидії Корупції.
Заява Представництва Євросоюзу та посольств країн-членів ЄС у Києві щодо запуску в Україні електронної системи декларування без сертифікації:
“Твердження про те, що невдала видача технічного сертифікату вчасно спричинена технічними недоліками, є протилежним до публічних заяв, зроблених ПРООН та іншими надійними експертами. Вони чітко підкреслюють: система повністю відповідає міжнародним стандартам та вже зараз може бути використана для збору та публікації декларацій в абсолютно законний спосіб. Це — завдання, що його наразі має виконати НАЗК”.
Отже, твердження про повну готовність системи, так би мовити, були занадто оптимістичними.
Протидія
При цьому існують докази і того, що з боку представників правлячої коаліції були спроби зірвати вчасне запровадження повноцінного е-декларування. Хто саме був ініціатором цих спроб наразі сказати важко.
Однак можна стверджувати, що існує група впливових чиновників і політиків, які хочуть завалити чи загальмувати запуск системи електронних декларацій. Ось декілька аргументів на користь такого бачення:
Верховна Рада відтермінувала введення е-декларацій на 2017 рік. Ця норма була захована у поправки до закону про держбюджет-2016 (автор - Вадим Денисенко, БПП). Рішення ветував Президент Петро Порошенко.
Депутати (головним чином від Опоблоку) подали у Конституційний суд з проханням визнати неконституційними положення закону про е-декларування.
Нарешті свіжа прес-конференція нардепів Антона Геращенка (фракція Народний фронт, близький до міністра МВС Арсена Авакова) та Івана Вінника (БПП) на якій вони оголосили про начебто злам системи е-декларування.
Згодом з’ясувалося, що міфічний «хакер», про якого говорив Геращенко, просто отримав справжній електронний ключ на «Рябошапку Р.» Більше того, його видало держпідприємство Центр сертифікації УСС - дочка ДСТСЗІ. Деталі читайте тут
Ця прес-конференція розглядається нами, як доказ зацікавленості чиновників у зриві е-декларування, бо нардепи не могли отримати справжній ключ без сприяння з боку керівництва УСС. Тобто, є ознаки кримінального злочину. Потрібен був хтось впливовий, який би змусив керівників УСС надати іншим особам справжній ключ на конкретне прізвище.
УСС - установа, яка видає електронні підписи, що мають юридичну силу. Ними підписують контракти і можуть закріплювати угоди купівлі-продажу нерухомості та інших активів.
Раптом з’ясувалося, що за певної політичної ваги можна отримати електронний підпис будь-якою людини. У цьому сенсі Геращенко хакнув набагато більше ніж систему е-декларацій, він хакнув увесь державний механізм, який гарантує право власності.
Зацікавленій групі було важливо затягнути введення системи на два місяці, які передбачені законом на оприлюднення декларацій. Таким чином вони б добилися того, що про їх майно громадськість дізналася б уже в наступному році.
Два висновки
1. В країні, де IT-продукти займають третє місце у структурі експорту, соромно для серйозного державного проекту наймати фірму, котра допускається таких помилок.
Припускаємо, що ТОВ "Міранда", котра розробляла портал, нічим не гірша від інших ІТ-компаній, котрі працюють з українськими держорганами. Варто подивитися на більшість державних сайтів, щоб переконатися у цьому.
Більш просунуті компанії, скоріше за все, не хочуть зв’язуватися з безліччю бюрократичної тяганини, котра іде "в нагрузку" до держзамовлення. Зрештою, щоб спілкуватися з держорганами, потрібні певні навички, які очевидно і має Мірінда та подібні до неї фірми.
2. Активісти у цьому випадку нагнітали емоції, аби добитися своєї цілі і не завжди достатньо ґрунтовно перевіряли факти. Навіть якщо ціль благородна, то це скоріше методи з арсеналу чинних політиків. Провідні медіа з готовністю включаються у такі емоційні кампанії.
В даному випадку через спротив політиків, поганий менеджмент НАЗК, котрий мав контролювати хід робіт, та погане технічне виконання проекту розробником Україна може позбавитися траншу МВФ та безвізового режиму. Добре, якщо партнери із ЄС на МВФ зрозуміють, що е-декларування зривається в тому числі і через важливі технічні проблеми.
В чому важливість е-декларацій
Антикорупційне законодавство, котре прийняте значною мірою старанням Центру протидії корупції, який очолює Віталій Шабунін передбачає, що з 15 серпня 2016 року всі чиновник здаватимуть свої декларації про доходи в електронному вигляді.
Це дуже практично, адже можна легко аналізувати їхнє майно. І, що дуже важливо, закон передбачає кримінальну відповідальність за неточні дані у декларації. Невідповідність декларації стилю життя - це привід, аби чиновником зацікавилося Національне антикорупційне бюро.