У сфері кібербезпеки, особливо щодо безпеки зберігання на ненадійних серверах зберігання, підтримка узгодженого та перевіреного журналу операцій має першочергове значення. Ця вимога випливає з необхідності забезпечення цілісності, доступності та конфіденційності даних у середовищах, де неможливо повністю довіряти інфраструктурі зберігання. Ненадійні сервери зберігання створюють значні ризики, включаючи несанкціоновану зміну даних, видалення та неавторизований доступ. Таким чином, послідовний журнал операцій, який можна перевірити, відіграє важливу роль у зниженні цих ризиків.
Послідовний журнал операцій — це послідовний і хронологічний запис усіх дій, які виконуються з даними, що зберігаються на сервері. Цей журнал має бути незмінним і захищеним від втручання, що гарантує можливість виявлення будь-яких несанкціонованих змін. Важливість такого журналу полягає в його здатності надавати точну та достовірну історію всіх взаємодій із даними, що є важливим для аудиту, криміналістичного аналізу та дотримання нормативних вимог.
Щоб отримати послідовний журнал операцій, який можна перевірити, можна застосувати кілька методів і технологій. До них належать криптографічні методи, безпечні механізми реєстрації та консенсусні протоколи. Нижче ми докладно розглянемо ці методи:
Криптографічні методи
1. Хеш-ланцюги: Хеш-ланцюг — це послідовність хеш-значень, де кожне хеш-значення залежить від попереднього. Це створює зв’язок між кожним записом журналу, гарантуючи, що будь-яка зміна запису розірве ланцюжок. Наприклад, якщо записи журналу представлені , хеш-ланцюжок можна побудувати наступним чином:
де позначає криптографічну хеш-функцію, і
представляє конкатенацію. Ця структура гарантує, що будь-яке втручання в запис журналу
призведе до невідповідності наступних хеш-значень, тим самим виявляючи підробку.
2. Цифрові підписи: кожен запис у журналі може бути цифровим підписом довіреної сторони за допомогою асиметричної криптографії. Цифровий підпис забезпечує автентичність і цілісність, оскільки його можна перевірити за допомогою відкритого ключа підписувача. Наприклад, якщо запис у журналі підписується закритим ключем
, підпис
може бути перевірено будь-ким, хто має доступ до відповідного відкритого ключа
. Цей метод гарантує, що будь-які зміни до
призведе до недійсності підпису.
3. Дерева Меркла: Дерево Merkle — це бінарне дерево, де кожен листовий вузол представляє хеш запису журналу, а кожен внутрішній вузол — хеш своїх дочірніх вузлів. Корінь дерева Merkle, відомий як корінь Merkle, забезпечує одне хеш-значення, яке представляє весь набір записів журналу. Деревоподібна структура Merkle забезпечує ефективний і перевірений доказ включення, що означає, що можна довести, чи є окремий запис журналу частиною журналу, не відкриваючи весь журнал. Це особливо корисно для збереження конфіденційності при забезпеченні цілісності.
Безпечні механізми реєстрації
1. Журнали лише для додавання: Журнал лише для додавання – це структура журналу, де записи можна лише додавати, а не змінювати чи видаляти. Ця незмінність гарантує, що після запису запис залишається в журналі назавжди. Реалізація журналів лише для додавання зазвичай передбачає використання носіїв даних WORM або використання програмних механізмів, які запобігають модифікації існуючих записів журналу.
2. Blockchain технології: Blockchain — це децентралізована та розподілена технологія реєстру, яка за своєю суттю забезпечує послідовний журнал операцій, який можна перевірити. Кожен блок у блокчейні містить список транзакцій (записи журналу), мітку часу та криптографічний хеш попереднього блоку. Цей ланцюжок блоків гарантує, що будь-яке втручання в блок призведе до недійсності наступних блоків. Технологія блокчейн також використовує консенсусні протоколи для досягнення згоди між розподіленими вузлами, що ще більше підвищує безпеку та надійність журналу.
3. Довірене середовище виконання (TEE): TEE, такі як Intel SGX або ARM TrustZone, забезпечують захищений анклав усередині процесора, де код і дані можуть виконуватися та безпечно зберігатися. Використовуючи TEE, можна гарантувати, що записи журналу записуються та зберігаються в безпечному та ізольованому середовищі, захищеному від втручання з боку ненадійного сервера зберігання. TEE також можна використовувати для безпечного створення та зберігання криптографічних ключів, які використовуються для підписання записів журналу.
Консенсусні протоколи
У розподілених системах досягнення узгодженості та можливості перевірки журналів часто потребує консенсусних протоколів, щоб переконатися, що всі вузли в системі погоджуються щодо порядку та вмісту записів журналу. Деякі широко використовувані консенсусні протоколи включають:
1. Паксос: Paxos — це сімейство консенсусних протоколів, призначених для досягнення згоди між розподіленими вузлами за наявності збоїв. Paxos гарантує, що всі несправні вузли погоджуються на однакову послідовність записів журналу, забезпечуючи послідовність і відмовостійкість.
2. Пліт: Raft — це ще один консенсусний алгоритм, розроблений так, щоб бути більш зрозумілим і легшим у реалізації, ніж Paxos. Raft поділяє процес консенсусу на обрання лідера, реплікацію журналу та безпеку, гарантуючи, що розповсюджений журнал залишається послідовним і перевіреним.
3. Візантійська толерантність до розломів (BFT): протоколи BFT, такі як Practical Byzantine Fault Tolerance (PBFT), призначені для досягнення консенсусу в системах, де вузли можуть демонструвати довільні (візантійські) збої, включаючи зловмисну поведінку. Протоколи BFT гарантують, що журнал залишається послідовним і перевіреним навіть за наявності шкідливих вузлів.
Практичний приклад
Розглянемо сценарій, коли фінансова установа використовує ненадійну хмарну службу зберігання для зберігання журналів транзакцій. Щоб забезпечити цілісність і можливість перевірки цих журналів, установа може вжити таких заходів:
1. Хеш-ланцюги: кожен запис журналу транзакцій хешується та пов’язується з попереднім записом за допомогою хеш-ланцюжка. Це гарантує, що будь-яке втручання в запис журналу буде виявлено.
2. Цифрові підписи: Кожен запис журналу має цифровий підпис закритим ключем установи. Це забезпечує автентичність і неспростовність, оскільки підпис можна перевірити за допомогою відкритого ключа установи.
3. Дерева Меркла: установа періодично створює дерево Merkle із записів журналу та публікує корінь Merkle на загальнодоступній дошці оголошень або в блокчейні. Це дозволяє будь-кому перевірити цілісність записів журналу без доступу до всього журналу.
4. Blockchain: установа також може записувати журнали транзакцій у приватному блокчейні. Децентралізований характер блокчейну гарантує, що журнал залишається послідовним і перевіреним навіть за наявності ненадійних серверів зберігання.
5. трійники: установа може використовувати TEE для безпечного запису та зберігання записів журналу в безпечному анклаві, захищаючи їх від несанкціонованого доступу з боку ненадійного сервера зберігання.
6. Консенсусні протоколи: якщо установа використовує розподілену систему зберігання, вона може використовувати консенсусні протоколи, такі як Raft або PBFT, щоб переконатися, що всі вузли узгоджують порядок і вміст журналів транзакцій.
Впроваджуючи ці заходи, фінансова установа може підтримувати послідовний журнал операцій, який можна перевірити, забезпечуючи цілісність, доступність і конфіденційність своїх журналів транзакцій, навіть якщо використовуються ненадійні сервери зберігання.
Інші останні запитання та відповіді щодо EITC/IS/ACSS Advanced Computer Systems Security:
- Які труднощі та компроміси пов’язані з впровадженням апаратних і програмних засобів захисту від атак із синхронізацією при збереженні продуктивності системи?
- Яку роль відіграє предиктор гілок в атаках на синхронізацію ЦП і як зловмисники можуть маніпулювати ним для витоку конфіденційної інформації?
- Яким чином програмування з постійним часом може допомогти зменшити ризик атак із синхронізацією в криптографічних алгоритмах?
- Що таке спекулятивне виконання і як воно впливає на вразливість сучасних процесорів до атак із синхронізацією, таких як Spectre?
- Як атаки на визначення часу використовують варіації часу виконання, щоб отримати конфіденційну інформацію з системи?
- Чим концепція узгодженості розгалуження відрізняється від узгодженості вибірки-зміни, і чому узгодженість розгалуження вважається найсильнішою досяжною узгодженістю в системах з ненадійними серверами зберігання?
- Які проблеми та потенційні рішення для впровадження надійних механізмів контролю доступу для запобігання несанкціонованим змінам у спільній файловій системі на ненадійному сервері?
- Як такі криптографічні методи, як цифрові підписи та шифрування, можуть допомогти забезпечити цілісність і конфіденційність даних, що зберігаються на ненадійних серверах?
- Що таке сервери Byzantine і яку загрозу вони становлять для безпеки систем зберігання?
- Як такі протоколи, як STARTTLS, DKIM і DMARC, сприяють безпеці електронної пошти, і яка їх роль у захисті електронної пошти?
Перегляньте більше запитань і відповідей у EITC/IS/ACSS Advanced Computer Systems Security