Автор оригіналу: Карл Хуа, партнер і технічний директор Shima Capital
Після нещодавнього експлойту повторного входу Curve я згадую про свій час у JPL NASA, де я навчився ключовим принципам розробки надійного та стійкого програмного забезпечення. Для криптоіндустрії ця інформація зараз важливіша, ніж будь-коли, і ось чому:
Зрештою, існує лише два типи програмного забезпечення, які дійсно цікавлять людей: програмне забезпечення, яке може вбити вас, і програмне забезпечення, яке може змусити вас втратити гроші.
Більшість бюджету (80%+) критичного програмного забезпечення будь-якої аерокосмічної машини виділяється не на саму розробку, а на інтеграцію та тестування. Якщо програмне забезпечення дає збій, з неба падають літальні апарати — винищувачі, дрони, космічні кораблі тощо.
Більшість коду в аерокосмічному програмному забезпеченні (якщо класифікується як критичний модуль) відповідає надзвичайно суворим стандартам тестування/розробки, таким як DO-178B рівень A. Необхідно перевірити не лише кожен рядок коду, але й якщо є вкладена логіка, кожна логічна умова також спеціально перевіряється.
У JPL NASA філософія написання вдосконаленого програмного забезпечення для космічних польотів полягає не в написанні найкрасивішого, найчистішого коду, а в написанні коду, який легко тестувати. чому Все просто: коли ви відправляєте космічний корабель у космос, ви отримуєте лише один шанс, і ніхто не хоче ризикувати з високою ймовірністю провалу. Це така ж логіка, як і блокчейни, оскільки незмінний код є їх важливою особливістю, і ми маємо лише один шанс правильно витратити наші кошти в кожній транзакції, то чому б нам не поставитися до процесу розробки dApps більш серйозно?
Незважаючи на суворі процеси розробки, тестування та аудиту коду, цих засобів явно недостатньо для пом’якшення всіх помилок і атак, оскільки фактично практично неможливо усунути всі помилки виконання за допомогою тестування та аудиту. Отже, як захистити наше програмне забезпечення від збою?
Захист під час виконання
Захист під час виконання — це техніка безпеки, яка захищає програми від зловмисних атак під час їх роботи. Його принцип полягає у виконанні виявлення в реальному часі, коли код фактично запущено, та аналізі фактичної поведінки програми, щоб захистити програму від шкідливих даних і атак.
Захист під час виконання для високонадійного програмного забезпечення потребує значних зусиль і розробки, оскільки вони є останньою лінією захисту, яка гарантує, що програмне забезпечення не переходить у невідомі стани та не виходить з ладу. Це не просто аргумент, а перевірена десятиліттями практика.
Сьогодні в Web3 я вважаю, що програми DeFi потребують такої ж високої надійності, і їм слід розглянути той самий підхід. Однак через потенційні обмеження EVM не був розроблений для вирішення складних завдань, таких як захист під час виконання. Отже, як ми забезпечуємо захист під час виконання?
Одним із способів є програмування Aspect. Aspects розроблено мережею блокчейнів Artela, яка здатна перемикати контекст виконання протягом життєвого циклу будь-якої транзакції смарт-контракту, щоб виконувати розширені перевірки стану програми в реальному часі. Artela забезпечує унікальний дизайн захисту під час виконання через сумісність Aspect і EVM, і вона має можливість стати майбутньою основою безпеки зашифрованих смарт-контрактів.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Розмірковуючи про подію Curve, чому нам потрібен Runtime Protection
Автор оригіналу: Карл Хуа, партнер і технічний директор Shima Capital
Після нещодавнього експлойту повторного входу Curve я згадую про свій час у JPL NASA, де я навчився ключовим принципам розробки надійного та стійкого програмного забезпечення. Для криптоіндустрії ця інформація зараз важливіша, ніж будь-коли, і ось чому:
Зрештою, існує лише два типи програмного забезпечення, які дійсно цікавлять людей: програмне забезпечення, яке може вбити вас, і програмне забезпечення, яке може змусити вас втратити гроші.
Більшість бюджету (80%+) критичного програмного забезпечення будь-якої аерокосмічної машини виділяється не на саму розробку, а на інтеграцію та тестування. Якщо програмне забезпечення дає збій, з неба падають літальні апарати — винищувачі, дрони, космічні кораблі тощо.
Більшість коду в аерокосмічному програмному забезпеченні (якщо класифікується як критичний модуль) відповідає надзвичайно суворим стандартам тестування/розробки, таким як DO-178B рівень A. Необхідно перевірити не лише кожен рядок коду, але й якщо є вкладена логіка, кожна логічна умова також спеціально перевіряється.
У JPL NASA філософія написання вдосконаленого програмного забезпечення для космічних польотів полягає не в написанні найкрасивішого, найчистішого коду, а в написанні коду, який легко тестувати. чому Все просто: коли ви відправляєте космічний корабель у космос, ви отримуєте лише один шанс, і ніхто не хоче ризикувати з високою ймовірністю провалу. Це така ж логіка, як і блокчейни, оскільки незмінний код є їх важливою особливістю, і ми маємо лише один шанс правильно витратити наші кошти в кожній транзакції, то чому б нам не поставитися до процесу розробки dApps більш серйозно?
Незважаючи на суворі процеси розробки, тестування та аудиту коду, цих засобів явно недостатньо для пом’якшення всіх помилок і атак, оскільки фактично практично неможливо усунути всі помилки виконання за допомогою тестування та аудиту. Отже, як захистити наше програмне забезпечення від збою?
Захист під час виконання
Захист під час виконання — це техніка безпеки, яка захищає програми від зловмисних атак під час їх роботи. Його принцип полягає у виконанні виявлення в реальному часі, коли код фактично запущено, та аналізі фактичної поведінки програми, щоб захистити програму від шкідливих даних і атак.
Захист під час виконання для високонадійного програмного забезпечення потребує значних зусиль і розробки, оскільки вони є останньою лінією захисту, яка гарантує, що програмне забезпечення не переходить у невідомі стани та не виходить з ладу. Це не просто аргумент, а перевірена десятиліттями практика.
Сьогодні в Web3 я вважаю, що програми DeFi потребують такої ж високої надійності, і їм слід розглянути той самий підхід. Однак через потенційні обмеження EVM не був розроблений для вирішення складних завдань, таких як захист під час виконання. Отже, як ми забезпечуємо захист під час виконання?
Одним із способів є програмування Aspect. Aspects розроблено мережею блокчейнів Artela, яка здатна перемикати контекст виконання протягом життєвого циклу будь-якої транзакції смарт-контракту, щоб виконувати розширені перевірки стану програми в реальному часі. Artela забезпечує унікальний дизайн захисту під час виконання через сумісність Aspect і EVM, і вона має можливість стати майбутньою основою безпеки зашифрованих смарт-контрактів.