원저자: Carl Hua, Shima Capital의 파트너 겸 CTO
최근 Curve 재진입 공격 이후 저는 JPL NASA에서 안정적이고 탄력적인 소프트웨어 개발의 핵심 원칙을 배웠던 시절을 회상합니다. 암호화폐 산업에서는 이러한 통찰력이 그 어느 때보다 중요하며, 그 이유는 다음과 같습니다.
결국 사람들이 정말로 관심을 갖는 소프트웨어는 두 가지 유형뿐입니다. 즉, 당신을 죽일 수 있는 소프트웨어와 돈을 잃을 수 있는 소프트웨어입니다.
항공우주 장비의 핵심 소프트웨어 예산의 대부분(80% 이상)은 개발 자체가 아닌 통합 및 테스트에 할당됩니다. 소프트웨어가 실패하면 전투기, 드론, 우주선 등 날아다니는 차량이 하늘에서 떨어집니다.
항공우주 소프트웨어의 코드 대부분(중요 모듈로 분류된 경우)은 DO-178 레벨 BA와 같은 매우 엄격한 테스트/개발 표준을 준수합니다. 모든 코드 줄을 테스트해야 할 뿐만 아니라 중첩된 논리가 있는 경우 각 논리 조건도 구체적으로 테스트됩니다.
JPL NASA에서 고급 우주 비행 소프트웨어 작성 철학은 가장 예쁘고 깔끔한 코드를 작성하는 것이 아니라 단위 테스트가 쉬운 코드를 작성하는 것입니다. 왜? 간단합니다. 우주선을 우주로 보내면 기회는 단 한 번 뿐이며, 실패 확률이 높은 위험을 감수하고 싶어하는 사람은 아무도 없습니다. 이는 불변 코드가 중요한 특징이고 각 거래에서 자금을 올바르게 사용할 수 있는 기회가 단 한 번뿐이므로 블록체인과 동일한 논리입니다. 그렇다면 dApp 개발 프로세스를 더 진지하게 받아들이는 것이 어떨까요?
엄격한 개발, 테스트 및 코드 감사 프로세스에도 불구하고 이러한 수단은 모든 버그와 공격을 완화하는 데 분명히 충분하지 않습니다. 실제로 테스트와 감사를 통해 모든 런타임 버그를 제거하는 것은 거의 불가능하기 때문입니다. 그렇다면 소프트웨어를 오류로부터 어떻게 보호할 수 있을까요?
런타임 보호
런타임 보호는 소프트웨어 애플리케이션이 실행되는 동안 악의적인 공격으로부터 소프트웨어 애플리케이션을 보호하는 보안 기술입니다. 코드가 실제로 실행될 때 실시간 감지를 수행하고, 프로그램의 실제 동작을 분석하여 악성 데이터 및 공격으로부터 프로그램을 보호하는 것이 원칙입니다.
신뢰성이 높은 소프트웨어에 대한 런타임 보호는 소프트웨어가 알 수 없는 상태에 들어가거나 장애가 발생하지 않도록 하는 최후의 방어선이기 때문에 상당한 노력과 설계가 필요합니다. 이것은 단순한 주장이 아니라 수십 년간 입증된 실천 사례입니다.
오늘날 Web3에서는 DeFi 애플리케이션에도 동일한 높은 신뢰성이 필요하며 동일한 접근 방식을 고려해야 한다고 생각합니다. 그러나 잠재적인 제한으로 인해 EVM은 런타임 보호와 같은 복잡한 작업을 처리하도록 설계되지 않았습니다. 그렇다면 런타임 보호를 어떻게 제공합니까?
한 가지 방법은 Aspect 프로그래밍을 이용하는 것입니다. Aspects는 Artela 블록체인 네트워크에 의해 설계되었으며, 이는 스마트 계약 트랜잭션의 수명 주기 동안 실행 컨텍스트를 전환하여 프로그램의 실시간 상태에 대한 고급 검사를 수행할 수 있습니다. Artela는 Aspect 및 EVM 호환성을 통해 고유한 런타임 보호 설계를 제공하며 암호화된 스마트 계약 보안의 미래 기반이 될 수 있는 기회를 갖습니다.
Artela는 다음 기사에서 곡선 재진입 공격을 방지하기 위한 Aspect의 구체적인 사용법을 발표했으며, 함께 소통하기를 희망합니다!
컴파일러 취약점이 해결되지 않았나요? Runtime Protection은 DeFi 체인에서 위험 제어 보호를 구현합니다》


