Автор тексту: Максим Сиромолот
Мінцифри пів року тому відкрили доступ до коду Дії. Чи означає це, що ВАШІ ДАНІ тепер доступні ВСІМ у цьому світі? Включно з росіянами? Твій паспорт тепер легше здобути ніж банківський рахунок твоєї бабусі з пін-кодом “1948”? Видаляємо дію???
“На кожну дію є протидія
На кожну вебку своя ізострічка
На кожен анкап своя п'ятирічка
На кожну дію є протидія
На кожен промінь своя фольга
На кожен час своя боротьба
Видали дію!”
Декілька місяців тому юзери Інтернетів дізналися, що Мінцифри частково зробили код Дії open source. https://github.com/diia-open-source. Чи в безпеці ми після такого рішення? Навіщо це було зроблено? Та що зрештою це нам дасть?
Чому “open source”?
Source - з англійської фактично означає вихідний код, тобто найголовніший механізм, ДЖЕРЕЛО (звідси й source) роботи тієї чи іншої програми. Зазвичай сьогодні майже всі найвідоміші програми не відкривають свій код, маючи так званий “close” source. До прикладу, Instagram, на якому “вєщаєт” Prosvita й на якому ми всі “сидимо” як на героїні, або ж Microsoft Windows/MacOS, які скоріше за все завантажені на ваших ноутбуках, і багато-багато інших програм.
Отож, якщо так багато організацій використовують закритий код, логічно було б запитати: то нащо його відкривати Дії? Ну, по-перше, така політика позиціонує нашу державу як таку, що справді прагне свободи, навіть якщо мова йде про сферу програмного забезпечення (що підтверджується ліцензуванням під EUPL-1.2 − офіційною ліцензією ЄС). А, по-друге, відкритий код − це про прозорість та надійність, і, не повірите, про більшу безпеку!
Любите аналогії?
Уявіть, Ви приходите до місцевої кафешки їсти суперезно смачний, м’якенький, соковитий, щойно спечений пиріг з вишнями. Десерт виявився ну дууууже смачним, Вам не хочеться щоб він узагалі закінчувався. От з’їдаєте його, а потім бац - і Ви помираєте й через кілька днів смиренно лежите у труні під двохметровим шаром ґрунту. Весело? Я знаю. Виявляється, шеф вирішив використати трошечки своєї дискреції та додав щіпочку якоїсь ультрасильної отрути до фірмового пирога.
А тепер уявімо, що Ви бачите увесь цей процес: як завозять продукти, як кухарі їх розрізають, маринують, готують, смажать, варять, парять, кларять і т.д. і тому подібне. Ііііі в один момент Ви помічаєте, що шеф посеред білого дня вирішує додати отрути (можливо навіть не спеціально, випадково так вийшло, з ким не трапляється), але Ви це побачили на власні очі й відмовляєтесь від улюбленої їжі раз і назавжди (або до того моменту як шеф прийде в себе й приготує щось нормальне).
Більше про “пироги” і потенційні небезпеки для вашого цифрового життя ми розповідатимемо на безкоштовному онлайн-воркапі вже 14 вересня. Встигніть зареєструватися!
І виявляється з кодом усе працює і-ден-тич-но: уважно дивлячись на кожну лінію, Ви розумієте, що може бути так і не так із цією програмою. До прикладу, Facebook якось дуже зганьбилися із зберіганням інформації користувачів/користувачок. Уявіть собі, якби котрась із бази даних була взламана, то виявилось би, що Цукерберг зберігав усі паролі в ЗВИЧАЙНОМУ ТЕКСТІ, узагалі оминувши будь-яке шифрування (за словами самого Facebook). А от якби код фейсбуку був опєн сорс, інші програміст_ки з легкістю помітили б, що щось тут не те, і допомогли б вирішити цю проблему. І це власне друга перевага відкритого коду: окрім того, що Ви помічаєте певні небезпеки, Ви також можете власноруч запропонувати певні зміни до коду і можливо Вас навіть послухають. Таким чином код стає суспільним благом, над котрим усі працюють і який усі намагаються покращити. Ну не мрія?🥺
З чого все почалося і як ми опинилися сьогодні?
Друге пришестя??🥵 Майже: Річард Столмен - справжнісінька лєґєнда у світі програмування, бо він зміг принести ідею відкритості та свободи, про яку проґер_ки не зовсім хотіли й думати, бо організаціям увесь час треба тіко грошики Відкритість? Та кому вона здалася. Ось саме через це Річардаі порівнють з кимось святим. Пам’ятаєте ЗНО/НМТ?
Концепція та сама, але Авраменко аж ніяк не настільки важлива персона як Столмен:))
Одним словом, працюючи у лабораторії МІТ, Столмен зрозумів, що Xerox 9700 laser printer ну не дуже добре працює. Чому? Бо йому не надали доступу до ✨source✨ Проблема стояла так: принтер/сканер був розміщений на одному поверсі, а робітни_ці робітникували на іншому. Відповідно, ніхто його знає коли той/та чи інший/інша закінчили друкувати “важние бумажкі”. Наш герой хотів додати лише ОДНУ лінію коду, а саме: надсилати повідомлення про закінчення друку. Але давати йому змінити код ніхто не збирались.. А тому, він, сильною рукою, пійшов до складу, дістав минулий принтер, слабкіший, але з відкритим кодом. Власне, дістав він його із пилюки, додав ту кляту лінію шоб надсилати повідомлення про успішність операції, і радувався життю. І тут би зупинитися і насолоджуватися, але … ні - Річард Столмен був розгніваний. Він зрозумів, що так “дєло нє пайдьот”, і з цього дня почав активно займатися “пропагандою” відкритого коду. От справді чому йому так треба було мучатися заради лише однієї примітивної функції? Він настільки захопився цією тематикою, що створив Free Software Foundation, яка й донині є однією з найважливіших організацій в цій сфері.
Слей Лінус Торвальдс => Безпека
Декілька років після того, як Столмен переміг безглузду машину, один фінський студент коледжу, Лінус Торвальдс, вирішив розлінитися, буквально. І ця лінь змінила світ…
Почалося з того, що Лінус не хотів весь час ходити до університету й робити дз на кампусовому комп’ютері, адже сидіти вдома було якось більш камільфо. Проте це були пізні 80-ті, його ПК не мав потрібної операційної системи і відповідних конфіґурацій, а в той час усі операційні системи, включаючи ті що були на маці, майкрософті, юніксі, всі вони були із закритим кодом. Лінус був із зв’язаними руками, але його ЛІІІІІНЬ була важливішою. Знаєте, що він зробив? Написав свою (!) операційну систему, нині відому як Linux. Повністю з відкритим кодом, аби інші люди не стикалися з такою ж проблемою як і він у коледжі. І ця операційка стала легендарною. Якщо більшість людей користується оцими мейнстрімними віндовсами та макоесами, то великі бізнеси, сєрваки, й, на хвилиночку, армія США, усі вони користуються лінуксом. Чому? Бо безпека вона така. Окрім того, що Лінукс можна повністю налаштувати під себе, користувач_ки завжди будуть впевнені, що їх дані безпечно шифруються та дешифруються, що надзвичайно важливо для надсекретної інформації.
Але знаєте що? Лінус уже просто так не зупиниться, як і Річард Столмен (вони почали робити багато спільних проєктів). Лінус починає розробляти цілу систему для колаборації над кодом, нині відомої як Git або GitHub (онлайн версія). І він зробив їх настільки зручними, що всі відкриті коди почали публікувати саме на цій платформі. Там код зберігається із закріпленням авторського права та, головне, із можливістю пропонувати зміни й доповнювати код.
Так а шо ж із Дією?
Так ось, повертаючись до Дії. Ніщо не може бути повністю безпечним, що підтверджують взлами багатьох опен сорс програм. Але попри це, вони дійсно безпечнІШІ за програми із закритим кодом, адже тут ми можемо переконатися, що ніхто не додає “отруту” до нашого “пирога”.
Проте насамперед: що власне робить Дія? Це просто програма, унікальна у світі(!), яка збирає дані з різних міністерств і потім видає кінцевим результатом в нашому унікальному QR-коді. Тобто сама Дія нічого не зберігає, вона такий собі посередник між тими кому потрібні Ваші дані, включно з Вами, та різними органами, що зберігають ці дані. Взломавши Дію, багато не отримаєш, але опублікувавши цей код на GitHub, Мінцифри забезпечує навіть ще більшу безпеку громадян_кам через те, що всі можуть побачити як відбувається ось цей процес по отриманню даних, і чи власне цей процес ненароком не приведе до взламу тих же міністерств, які вже точно матимуть ті самі критичні дані.
І нам відомо, що деякі держави (такі як Естонія чи Велика Британія) вже відкрито заявляли про свою зацікавленість у впровадженні подібної програми у своїх державних апаратах, і з відкриттям коду ці плани можуть бути реалізованими, адже це справді дуже класна технологія, за яку лише можна поаплодувати нашим проґєр_кам.
Проте хтось може заявити: так он скільки до цього створювали “клони” Дії і показували документи-фальшивки, то що їм завадить зараз скопіювати взагалі УВЕСЬ код і зробити ідентичний застосунок? Відповідь проста: знову ж таки, Дія не зберігає самі дані, вона бере їх у міністерств, генеруючи унікальний QR-код для всіх юзерів/юзерок, і цей код генерується по новій щоразу Ви запускаєте Дію. І якщо Ви хочете купити алкоголь до 18-ти років за допомогою фальшивої Дії, то база даних на касі скаже/покаже?, що коду такого не існує і влада про нього нічого знать не знає, бо фальшивка не може законектитись із міністерствами й спродукувати унікальний авторизований код.
Висновок
У підсумку варто сказати, що код Дії ще не повністю відкритий, і цей процес буде відбуватися поступово, але це вже величезний прогрес для Мінцифри, і навіть зараз можна сказати, що це дає плоди: як з європейськими державами, що беруть код Дії на озброєння, так із знаходженням багів або виправленням орфографічних помилок, які знаходять пересічні українські кодєр_ки, ну й подеколи надсилючи гачі мєми до Мінцифри, а чому б ні. Тому не біймося, продовжуємо користуватися Дією та пишаємося нашими дівелопер(к)ами.
Ps Спочатку автор використовував аналогію з пирогом та цианідом, а не генералізованої “отрути”, тож нижче маленька примітка від редактора:
“Повертаючись до пирога з отрутою. Насіння яблук, персиків, абрикосів, мигдаль і взагалі чи не все насіння має в собі трішечки цианістого калію. Якщо не помиляюся, як захист від комах. І неіронічно можна від'їхати, якщо перебрати. Але я тут от що ще згадав, глюкоза нейтралізує дію цианідів. Власне, напряму з ними реагує в кислому середовищі (як раз як у шлунку). Тож тортик має бути або дієтичним або із замінниками цукру:)”