Не одне покоління фахівців завдячує обізнаністю в питаннях кібербезпеки професорові Россу Андерсону, автору капітальної праці «Техніка вбезпечення» (Security Engineering), перше видання якої вийшло друком на початку сторіччя і було перекладене кількома мовами, включно з японською і китайською. Давно сподіване третє видання автор публікував частинами в себе на сайті у 2019 — 2020 роках. З 1 листопада 2020 р. на вимогу видавництва «Вайлі» професор Андерсон вилучив книжку з сайту на 42 місяці, але написав, що коли цей строк спливе, тобто 1 травня 2024 року, поверне її у вільний доступ назавжди. От тільки він не дожив до цього дня якийсь місяць.
У кібербезпеці, як і в численних інших галузях, термінотворенням не опікувався жоден спеціаліст належного рівня. Профільним фахівцям роботи вистачає без цього, та й українська мова в них переважно розвинена не достатньо. Нормативно-правові акти, що нібито мали б унормовувати терміни і означення, здебільшого калькують російські, а якщо і запозичені з англомовних джерел, то в текстах бачиться посередництво перекладів російською. Ці останні недосконалі й містять викривлення, що відображають ідеологію.
Перекладачів, які працюють у галузі кібербезпеки, мені відомо небагато. Переклади, що їх я чув на заходах або читав у виданих книжках, свідчать, що в предметі вони орієнтуються слабо, і просто запам’ятовують лексику з усе тих же незугарних державних документів чи навчальних посібників.
Професор Андерсон мою пропозицію перекладу «Техніки вбезпечення» українською підтримав, але домовлятися про права мусив адресувати до видавництва. Я був настільки переконаний у користі від книжки, що поступився принципами: схилив господаря одного з найсолідніших українських видавництв до переговорів із «Вайлі», звернувся в кілька фірм, де мене знали й тому погодилися профінансувати видання, вмовив дуже кваліфікованого фахівця і викладача виступити науковим редактором. Але значного зиску затія не обіцяла, тож переговори тяглися мляво й закінчилися нічим, а тим часом потенційні спонсори втратили ентузіазм.
Кілька фрагментів я все ж переклав. Один, про терміни та означення, пропоную читачам, витримавши до обіцяного 1 травня. Маючи позитивний досвід створення і впровадження терміносистеми в іншій сфері, я сподівався, що український переклад монографії «Техніка вбезпечення» допоможе фахівцям із кібербезпеки знайти спільну мову один з одним і зі споживачами їхніх послуг.
___________________________________________________________________________
1.7 Означення
Чимало термінів техніки вбезпечення (security engineering) самоочевидні; деякі, навпаки, оманливі чи внутрішньо суперечні. Докладніші означення технічних термінів, наведені у відповідних розділах, наведених у предметному покажчику. У цьому пункті розглянуто означення, що призводять до непорозумінь.
Найперше, що слід з’ясувати: що розуміється під терміном комплекс (system). На практиці він має такі значення:
- виріб чи складник, наприклад, приписи криптографії (cryptographic protocol), мікропроцесорна картка (smartcard) або ж апаратна частина (hardware) телефонного апарату, ноутбука чи сервера;
- щось із зазначеного з додатком операційної системи, засобів електрозв’язку (communications) та інших складників інфраструктури;
- зазначене з додатком однієї чи кількох прикладних програм (applications) (програми до роботи з банком або закладом охорони здоров’я, переглядачі, програмній комплекс до ведення рахунків чи нарахування зарплатні тощо — як клієнтські, так і хмарні складові);
- щось або все із зазначеного з додатком персоналу, пов’язаного з ІТ;
- щось або все із зазначеного з додатком власних користувачів (internal users) і керівництва;
- щось або все із зазначеного з додатком клієнтів та інших сторонніх користувачів (external users).
Довільне вживання цих означень — невичерпне джерело помилок і вразливостей. Загалом кажучи, виробники й оцінювачі здебільшого користуються першим (подеколи другим) означенням, а фахівці з основної діяльності — шостим (подеколи п’ятим). Далі розглядатимуться численні приклади комплексів, що рекламувалися, ба навіть були сертифіковані як убезпечені (бо їхні апаратні засоби були вбезпечені), проте зазнавали серйозної відмови по спробі запустити певну прикладну програму або експлуатувати в спосіб, не передбачений розробником. Найчастіше неспроможність убезпечення (security failure) має місце, коли легковажать людським складником, відповідно, питаннями виго́ди експлуатації (usability). Тож ми здебільшого користуватимемося означенням 6, а звуженимим означеннями — лише якщо їхня застосовність очевидна з контексту.
Наступна низка непорозумінь випливає з нечіткого розуміння того, хто бере участь у процесі та що саме вони прагнуть довести. В літературі з убезпечення та криптографії зазвичай учасники в приписах убезпечення позначаються іменами, що (найчастіше) починаються з послідовних літер абетки — як урагани, за винятком того, що в нас чергується стать. Отже, там багато висловів на кшталт «Аліса доводить справжність (authenticates herself) Бобові». Так матеріал краще надається до читання, але часто-густо втрачає точність. Чи нам кажуть: «Аліса доводить Бобові, що її таки звуть Алісою», чи «Аліса доводить, що має певну посвідку (credential)»? Чи мається на увазі, що справжність реквізитів посвідчує Аліса, цебто людина, чи те, що її здійснює агент — мікропроцесорна картка або програмний засіб? Якщо останнє, чи ми певні, що це справді Аліса, а не, скажімо, Ванда, якій Аліса позичила картку, чи Гаррі, який вкрав Алісин телефон, а чи Ґвіневра, яка вламалася до Алісиного ноутбука?
Суб’єктом (subject) ми називатимемо фізичну особу в будь-якій ролі, зокрема, виконавця, учасника або жертви. Особою (person) зветься або фізична особа, або юридична особа, наприклад, компанія чи державна установа [1].
Учасник (principal) — структурна одиниця (entity), що бере участь у комплексі вбезпечення. Структурна одиниця може бути суб’єктом, особою, роллю, одиницею устатковання, наприклад, ноутбуком, мікропроцесорною карткою або зчитувачем карток. Крім цього, учасником може бути канал електрозв’язку (зокрема й залежно від обставин, номер порту чи криптографічний ключ). Нарешті, учасником може бути сукупність інших учасників, наприклад, група (Аліса чи Боб); сполука (conjunction) (Аліса й Боб діють спільно); складена роль (compound role) (Аліса діє як керівник Боба); заступник (delegation) (Боб діє замість Аліси за її відсутності).
Зважаймо, що «група» (group) й «роль» (role) —не синоніми. Група (group) — це множина учасників; тимчасом роль (role)—множина функцій, що їх можуть послідовно виконувати різні особи (наприклад, начальник варти на крейсері «Німиць» або нинішній президент Спілки лікарів Ісландії). Термін «учасник» може розглядатися на різних рівнях абстракції: наприклад, «Боб діє замість Аліси за її відсутності» може означати «Бобова мікропроцесорна карта представляє Боба, який діє замість Аліси за її відсутності», або «Боб користується алісиною мікропроцесорною картою за відсутності Аліси». Подробиці наводитимуться там, де доцільно.
Вживання терміну «тожсамість» (identity) неоднозначне. За потреби точності ми застосовуватимемо цей термін у значенні такого відношення імен двох учасників, який означає, що ці імена належать одній особі або одиниці устатковання. Скажімо, може бути важливо знати, що «Боб» у вислові «Аліса діє як керівник Боба» — той самий, що у висловах «Боб діє як керівник Ванди» та «Боб як керівник філії підписує банківську тратту спільно з Девідом». Часто-густо слово «identity» [носії англійської мови — пер.] розуміють просто як «особисті дані» через поширеність таких словосполучень, як «user identity» (особисті дані користувача) чи «citizen’s identity card» (посвідка особи).
Ще одна пара термінів, які плутають через подібність [в англійській мові —пер.], — «довірений» (trusted) і «вірний» (trustworthy). Різницю ілюструє приклад: якщо співробітника АНБ сфотографували під час продажу таємних відомостей китайському дипломатові у вбиральні Балтиморського аеропорту імені Вашингтона, то (в припущенні, що такого завдання йому не давали), цей співробітник «довірений», проте аж ніяк не «вірний». Надалі ми користуватимемося означенням АНБ: комплекс чи складник — довірений, якщо його відмова може призвести до порушення засад убезпечення, а вірний — якщо він узагалі не здатен відмовити.
Слово «довіра» (trust) теж має чимало означень. У світі корпорацій «довірений комплекс» — це, ймовірно, «комплекс, через який мене не виженуть з роботи, якщо під час мого чергування в нього вламаються», ба навіть «комплекс, що його можна застрахувати». Проте там, де маються на увазі узгоджений (approved) комплекс, комплекс, що його можна застрахувати (insurable), або застрахований (insured) комплекс, це буде зазначено окремо.
Ще більший безлад в означеннях термінів конфіденційність (confidentiality), таємність (secrecy) і приватність (privacy). Поля їхніх значень перетинаються, але не збігаються. Скажімо, сусід зрізав плющ на паркані між нашими ділянками, й тепер його діти зазирають до мене в садок і дражнять собак. Проте конфіденційність щодо мене він не порушив. Не обговорювати справи наймача, від якого звільнився, вимагає конфіденційність, а не приватність.
Далі ці терміни застосовуватимуться так:
- Таємність — технічний термін, що означає результат застосування механізмів обмеження кількості учасників, які мають доступ до інформації. До таких механізмів належать криптографія, засоби обмеження доступу до комп’ютера тощо.
- Конфіденційність — обов’язок зберігати відомі вам таємниці інших осіб або організацій.
- Приватність — здатність або право захищати відомості про себе (personal information) аж до здатності або права запобігати втручанню в особистий простір (означення якого в різних країнах істотно відмінні). Приватність може поширюватися на родину, але не на юридичну особу, наприклад, корпорацію.
Наприклад, пацієнти лікарні мають право на приватність; щоб це право не порушити, лікарі, медсестри та решта персоналу лікарні зобов’язані дотримуватися конфіденційності стосовно пацієнтів. На ділові операції лікарні право приватності не поширюється, проте на співробітників, яким про ці операції відомо, накладаються зобов’язання конфіденційності (крім випадків, коли застосовується право сповіщати (whistleblowing right) про незаконні дії). Найчастіше приватність — це таємність у інтересах фізичної особи, конфіденційність — таємність в інтересах організації.
Додаткове ускладнення полягає в тому, що часто не задосить захищати дані, наприклад, вміст повідомлень; доводиться також захищати метадані, як-от журнали, де реєструється хто з ким спілкувався. Скажімо, в численних країнах закон вимагає таємності інформації про лікування хвороб, що передаються статевим шляхом. І все ж приватний детектив може вистежити обмін шифрованими повідомленнями з венерологічною клінікою і дійти висновку, що певну особу там лікували. У Великобританії набув розголосу такий випадок: відома фотомодель виграла позов проти бульварної газети, де надрукували її фото на виході з засідання Клубу анонімних наркоманів. До потужних засобів забезпечення приватності (або конфіденційності) належить не лише таємність, але й знеособлення (anonymity). Щоправда, забезпечити знеособлення важко. Знеособлення однієї людини неможливе; щоб сховатися, потрібен натовп. Та й законодавство наше не забезпечує знеособлення: ніж ставити когось на прослуховування, поліції куди простіше (а часто корисніше) витребувати в телефонної компанії деталізовані рахунки, де вказано, хто кому дзвонив.
Не цілком очевидна різниця й між термінами «справжність» (authenticity) і «незіпсутість» (integrity). В науковій літературі з приписів убезпечення (security protocols) під справжністю розуміють сукупність незіпсутості й актуальності (freshness): ви встановили, що розмовляєте зі справжнім учасником, а не прослуховуєте записи його попередніх повідомлень. У подібній спосіб улаштовані приписи банківської діяльності. Якщо згідно з законом певної країни строк чинності чеків півроку, не інкасований чек по семи місяцях усе ще незіпсутий (у припущенні, що ніяких маніпуляцій з ним не робили), але чинності він уже не має. Проте не бракує й химерного вживання термінів. Наприклад, експерт-криміналіст забезпечує «незіпсутість» фальшивого чеку з місця злочину тим, що запечатує його в конверт для речових доказів (нині при встановленні «незіпсутості» зважають не лише на підпис, але й на відбитки пальців).
Небажані явища часто називають «зламуванням» (hacking). Наслідуючи Брюса Шнеєра, я казатиму, що злам (hack) — це дещо не заборонене правилами комплексу, але небажане й не передбачене розробниками [1679]. Наприклад, податкові консультанти вивчають податковий кодекс, щоб знайти в ньому «дірки», на основі яких розробляють стратегію уникання податків. Достеменно так само «чорнокапелюшники», цебто зловмисники, вивчають програми, щоб знайти там «дірки», а на їхній основі розробити визиски (exploits). Зламати можна не лише систему оподаткування чи комп’ютерний комплекс, але й ринкову економіку, системи виборів, ба навіть людську свідомість. Це може трапитися на різних рівнях: консультант-правник може зламати податковий кодекс або перейти на вищий рівень і зламати законодавчий орган чи ЗМІ. Так само можна зламувати криптосистему, шукаючи слабкі місяця в математичних засадах алгоритму шифрування, а можна зійти на рівень нижче й вимірювати потужність, що її споживає пристрій, де цей алгоритм реалізовано, щоб виснувати з цього ключ до шифру, або, навпаки, на рівень вище й увести в оману відповідальних за шифрувальний пристрій, щоб вони скористалися з нього, коли не слід. У цій книзі наведені численні приклади. Якщо поглянути на справу ширше, зламування подеколи тягне за собою істотні новинки. Якщо злам набуває розголосу, щоб йому перешкодити, змінюють правила. Або він стає нормою (прикладів не бракує: бібліотеки, приватіри тощо, аж до пошукових систем і соціальних мереж).
Насамкінець розгляньмо, якими термінами позначається те, чого ми прагнемо досягти. Вразливість (vulnerability) — властивість комплексу або середовища, де він перебуває, яка в сполученні з внутрішньою чи зовнішньою загрозою (threat) може призвести до неспроможності вбезпечення, цебто порушення засад убезпечення комплексу. Засади вбезпечення (security policy) — це стисле формулювання стратегії захисту комплексу (наприклад, «кожному запису в кредит мусить відповідати рівний запис з протилежним знаком у дебет, при цьому всі операції на суму понад 1 000 000 доларів мусять бути узгоджені двома керівниками»). Взірець убезпечення (security target) — докладні технічні умови (specification), що визначають перелік засобів, за допомогою яких засади вбезпечення втілюються в конкретному виробі — механізмах шифрування і електронного підпису, засобах обмеження доступу (access controls), контрольних журналах (audit logs) тощо. Це мірило, за яким визначається, чи інженери все довели до ладу. На проміжному рівні згадують характеристику захищеності (protection profile). Це щось подібне до взірця вбезпечення, проте без прив’язки до конкретної техніки. Вона дозволяє робити порівняльне оцінювання різних пристроїв чи різних модифікацій того самого пристрою.
Засади вбезпечення, взірці вбезпечення і характеристики захищеності докладно розглядатимуться в частині 3. У широкому розумінні слово «захищеність» (protection) означає певну властивість, як-от конфіденційність чи незіпсутість, означену на рівні, досить абстрактному, щоб можна було обговорювати її в контексті комплексу взагалі, а не конкретної реалізації.
Певною мірою, це нагадує терміни, що застосовуються до систем, критичних щодо безпеки (safety-critical systems). Варто розглядати убезпечення і безпеку разом, бо є чимало сфер, де вони мають втілюватися одночасно.
У світі безпеки за критичні (critical) мають системи або елементи, чия відмова може призвести до аварії (accident) за наявності шкідливого чинника (hazard) — певної сукупності внутрішніх умов чи зовнішніх обставин. Ступінь небезпечності (danger) — це ймовірність того, що шкідливий чинник призведе до аварії, а ризик (risk) — загальна ймовірність аварії. Таким чином, ризик визначається сукупністю інтенсивності шкідливого чинника, ступеня небезпечності й часу відновлення (latency) — тривалості (duration) й зони ураження (exposure) чинника. Якщо ризик неможливо виразити кількісно, говорять про невизначеність (uncertainty). Безпека розуміється як відсутність аварій. Це дозволяє сформулювати засади безпеки (safety policy), тобто стислий опис того, як утримувати ризики нижче прийнятної границі (формулювання можуть бути як лаконічні, наприклад, «заборонено вантажити вибухові речовини й детонатори на один транспортний засіб», так і розгорнуті; ці останні притаманні медицині та авіації). На наступному рівні деталізації перебувають декларації безпеки (safety case), складені для окремого елемента, наприклад, літака в цілому, двигуна літака чи навіть програми керування двигуном.
1.8 ПІДСУМКИ
«Убезпечення» — надзвичайно багатогранне слово: різні люди розуміють під ним часом несумісні речі. Корпорація може мати на увазі здатність контролювати всі електронні листи працівників і перегляд ними веб-сторінок; працівники, натомість, — безконтрольність обміну листами й перегляду.
Ті, хто визначає структуру комплексу, будують механізми вбезпечення так, щоб мати зиск із тих, хто ним користуватиметься, і заради цього часто-густо крутять формулюваннями. Певна річ, через це виникають суперечки й плутанина.
Мимоволі згадується Льюїс Керол:
— Коли я вживаю якесь слово, — майже глузливо проказав Шалам-Балам, — воно означає те, що я хочу — не більше й не менше… — Питання в тому, — сказала Аліса, — чи змусите ви слова означати все те, що вам заманеться. — Питання в тому, — сказав Шалам-Балам, — хто над ким має панувати. І все! (прим. пер.: переклад В. Корнієнка)
Фахівець із техніки вбезпечення має відчувати різні відтінки значення, притаманні тим самим словам у різних сферах, і бути здатним виробити офіційні формулювання реальних засад і взірців убезпечення. Часом це не дуже зручно для клієнтів, схильних протягти щось своє, та, загалом кажучи, вбезпечення матиме потужну структуру лише тоді, коли цілі захисту поставлені цілком чітко.
[1] Закони щодо юридичних осіб можуть стати в пригоді, коли доведеться розробляти правила для ШІ. Юридична особа, подібно до робота, може бути безсмертна й виявляти певні функційні ознаки розуму, але вона не має свідомості. Юридичну особу неможливо ув’язнити, але можна оштрафувати.