Web 1.0에서 Web 2.0으로 전환하면서 기업은 완전히 새로운 보안 위험에 노출되었습니다. 모든 사용자가 인터넷에 콘텐츠를 게시할 수 있다는 것은 신뢰할 수 없고 악의적인 입력으로 인하여 웹 사이트가 더 쉽게 손상되고 데이터가 유출되며 데이터베이스가 감염될 수 있음을 의미했습니다.
기업에서는 Web3의 새로운 세계를 탐색하기 시작함에 따라 이전에는 경험하지 못했던 또 다른 보안 취약점에 직면해야 합니다. Web3를 시험적으로 사용하는 기업은 이러한 문제를 해결하기 위해 새로운 접근 방식이 필요합니다.
Web3는 분산되고 집단적으로 소유하는 웹 버전에 대한 비전입니다.Web3 기술은 변경하거나 업데이트하려면 다수의 합의가 필요한 분산형 데이터베이스를 기반으로 합니다.
Web3가 이전 웹 기술과 다른 점은 다음과 같이 요약할 수 있습니다.
웹 1.0을 읽기용입니다. 사용자는 웹에서 데이터를 얻을 수는 있지만, 상호 작용할 수는 없습니다.
Web 2.0은 읽기 및 쓰기용입니다. 사용자는 예를 들어 콘텐츠를 업로드하여 웹에 데이터를 제공합니다.
Web3는 읽기, 쓰기, 소유용입니다. 사용자는 단순히 데이터를 제공하는 것뿐만 아니라 자신의 데이터를 소유하기도 합니다.
이 읽기, 쓰기, 소유 개념은 몇 가지 기본 원칙에 따라 가능합니다.
인터넷 역사의 상당한 기간 동안 웹 애플리케 이션은 중앙 집중식 공급자가 제어해왔습니다. 이러한 공급자는 애플리케이션의 로직과 데이터를 제어하며 원하는 대로 수정하고 지울 수 있습니다.
Web3의 경우 웹 애플리케이션은 연결된 노드의 피어 투 피어(P2P) 네트워크에 분산됩니다. 중앙 정부 당국이나 컨트롤러가 없고, 항상 모든 노드에서 데이터를 볼 수 있으며, 네트워크로부터의 합의 없이는 데이터를 삭제하거나 변경할 수 없습니다.
Web3의 경우 새로운 트랜잭션 또는 업데이트를 검증하려면 네트워크의 과반수 합의가 필요합니다. 블록체인은 작업 증명(PoW) 및 지분 증명(PoS) 검증 메커니즘을 사용하여 합의를 이룹니다.
Web3는 암호화(특히 해싱)에 의존하여 지원 네트워크의 동의 없이는 데이터가 변경되거나 제거되지 않도록 합니다.
예를 들어, 블록체인의 주어진 블록은 해시가 다음 블록에 기록되기 때문에 자체적으로 변경할 수 없습니다. 블록을 변경하면 후속 블록의 값이 변경되어 그 다음 블록의 해시가 무효화되는 식입니다. 달리 말하자면, 모든 변경을 하려면 블록체인의 나머지 대부분을 변경해야 합니다. 이러한 변경이 발생하기는 하지만, 지원 네트워크의 광범위한 합의가 필요하며 리소스 집약적입니다.
여러 면에서, 이러한 점 때문에 Web3가 Web 2.0보다 더 안전하게 됩니다. 참여하는 클라이언트는 정확한 데이터를 요청하여 받을 수 있으며, 요청된 데이터는 변경되거나 악의적인 것으로 대체될 수 없습니다. 클라이언트는 중앙 집중식 공급자를 신뢰할 필요가 없습니다. 묵시적 신뢰가 블록체인에 내장되어 있기 때문입니다.
기업에서 Web3의 가능성을 탐색하는 방법에는 분산형 애플리케이션 아키텍처에서 보다 탄력적인 파일 저장 방법에 이르기까지 여러 가지가 있습니다.
블록체인은 분산 네트워크에서 데이터의 시간순 블록으로 트랜잭션을 기록하는 방법입니다. 블록체인에 기록된 데이터는 변경할 수 없습니다.
블록체인에 대해 가장 널리 알려진 애플리케이션 중 하나는 오늘날 사용되는 분산 금융(DeFi) 서비스의 중요한 구성 요소인 암호화폐입니다. 그러나 개발자는 블록체인을 사용하여 실행하는 분산 애플리케이션(DApp)을 작성할 수도 있습니다(대체불가토큰, 즉 NFT 포함).
스마트 계약은 DApp의 로직입니다. 스마트 계약은 특정 기능을 수행하도록 설계된 코드입니다. 다른 프로그래밍 가능한 기능과 마찬가지로 스마트 계약은 호출되면 실행됩니다. 스마트 계약은 블록체인 네트워크에서 생성되고 저장됩니다.
개발 관점에서 DApp은 애플리케이션을 지원하는 데 필요한 전체 백엔드 인프라를 관리하고 유지 관리할 필요가 없다는 이점을 기업에 제공합니다. 스마트 계약은 블록체인에 저장되며 자율적으로 작동합니다. DApp을 배포하는 조직에서는 일반적으로 백엔드의 스마트 계약에 대한 API 쿼리를 만들기 위해 중개 서비스를 사용하여 사용자 인터페이스도 배포하고 유지 관리해야 합니다.
DApp은 방대한 피어 투 피어 네트워크에서 실행되므로 신뢰할 수 있는 반면, 지원 인프라가 다운되면 중앙 집중식 앱이 다운됩니다.
금융은 DApp의 주요 사용 사례 중 하나이며, 예를 들어 암호화폐에서 지갑, 분산화 거래소에 이르기까지 다양합니다.또한 개발자는 DApp 웹 브라우저, 게임, 소셜 네트워크 등의 서비스도 구축했습니다.
분산 금융(DeFi)은 은행과 같은 중앙 집중식 기관에 의존하지 않고 금융 서비스를 받을 수 있는 방법의 모음입니다. DeFi 사용자는 대출해주기 및 대출받기, 암호화폐 구매, 판매 및 교환, 이자 수익 얻기 등 금융 서비스 부문과 관련된 작업을 모두 분산 플랫폼을 사용하여 수행할 수 있습니다. DeFi는 주로 스마트 계약(Ethereum 블록체인에서 지원)을 기반으로 구축됩니다. 중앙 집중식 거래소는 DeFi(코인베이스와 같은)를 지원하지만, DeFi 프로토콜은 본질적으로 분산되어 있습니다.
블록 체인의 분산 트랜잭션 스토리지는 Web3의 핵심 구성 요소가 되지만, 기업에서 실험하고 있는 유일한 유형의 아키텍처는 아닙니다. 분산형 파일 시스템(IPFS)은 Web3 원칙을 구현하기 위한 또 다른(비-블록체인) 프로토콜입니다. IPFS는 분산 파일 시스템에 데이터를 저장합니다. IPFS를 통해 제공되는 콘텐츠의 주소는 변경할 수 없으며, 업데이트하면 새롭고 고유한 콘텐츠 주소가 생성됩니다. 또한 IPFS의 분산 아키텍처는 중앙 집중식 스토리지 방법보다 탄력적이고 안정적입니다.
기업에서는 신뢰할 수 있는 방식으로 사용자에게 콘텐츠를 제공하기 위해 IPFS에 의존할 수 있습니다. 또한 IPFS를 사용하면 사용자가 자신의 환경에서 자신의 콘텐츠를 쉽게 게시할 수 있습니다.
Web3는 기본 원칙 덕분에 어떤 면에서는 Web 2.0보다 더 안전하지만, 다른 기술과 마찬가지로 나름의 보안 위험을 초래합니다. 일부 보안 격차는 Web3 및 Web 2.0 아키텍처가 상호 작용하는 방식에서 비롯됩니다. 다른 보안 격차는 블록체인 및 IPFS와 같은 프로토콜이 작동하는 방식에 내재되어 있습니다. 그리고 Web3가 네트워크 합의에 의존하므로 이러한 결함과 기타 결함을 패치하는 프로세스가 느려질 수 있습니다.
주요 보안 위험에는 다음이 포함됩니다.
사람들은 대부분 확인되지 않은 요청자에게 개인 정보를 제공해서는 안 된다는 것을 알고 있습니다. 그러나 Web3 애플리케이션은 연결의 양쪽 끝을 인증하지 않는 API 호출 및 응답에 의존하는 경우가 많습니다.
이론적으로, Web3는 완전히 분산되어 있으며 네트워크의 연결된 모든 노드는 저장된 데이터와 직접 접속할 수 있습니다. 실제로 Web3 애플리케이션 프런트 엔드는 여전히 사용자 엔드포인트가 쉽게 상호 작용할 수 있는 Web 2.0 기술에 의존해야 합니다. 대부분의 Web3 앱 프런트 엔드는 비즈니스 로직 및 데이터 저장을 위해 Web3 백엔드에 대한 API 쿼리를 사용합니다.
현재 많은 Web3 API 쿼리는 암호화되어 서명되지 않았습니다. 사용자가 데이터 유출 및 경로상 공격에 취약해지는 것처럼, 암호화되지 않고 서명되지 않은 HTTP Web 2.0 앱을 사용하면 경로상 공격, 데이터 가로채기 등의 공격에 취약합니다. 달리 말하자면, 위에서 설명한 "묵시적 신뢰" 개념에도 불구하고 Web3 애플리케이션 데이터가 올바른 소스에서 왔다는 보장이 없는 경우가 많습니다.
다른 코드와 마찬가지로 스마트 계약에는 사용자 데이터 또는(종종 그렇듯이) 자금을 위험에 빠뜨리는 주요 보안 결함이 포함될 수 있습니다. 2019년 연구에 따르면 잘못 코딩된 Ethereum 스마트 계약으로 인해 400만 달러의 Ethereum이 위험에 처한 것으로 나타났습니다. 이 문제는 시간이 지나도 개선되지 않았습니다. 2021년 12월, 결함이 있는 스마트 계약을 통해 공격자는 약 3,100만 달러의 디지털 통화를 훔칠 수 있었습니다. 그리고 2022년 5월, 결함이 있는 알고리즘으로 인해 TerraUSD 암호화폐가 약 500억 달러의 손실을 입었습니다.
블록체인의 데이터는 데이터베이스에 대한 액세스가 매우 제한될 수 있는 Web 2.0 모델과 달리 연결된 모든 노드에 저장하고 액세스할 수 있습니다. 이로 인해 저장된 데이터에 따라 여러 보안 및 개인 정보 보호 문제가 발생합니다. 저장 중에 익명으로 처리되더라도 연구에 따르면 진정으로 익명인 데이터는 없습니다.
언론 매체는 암호화폐 또는 NFT 지갑에 대한 공격에 관한 이야기로 넘쳐납니다. 대부분의 경우 이러한 공격은 공격자가 사용자의 개인 키에 액세스하거나 사용자를 속여 피싱을 통해 개인 키를 넘겨주도록 하여 발생합니다. 실제로 이러한 개인 키가 사용자의 장치에 로컬로 저장되면 물리적 도난에 취약해집니다.
지금까지는 암호화폐가 일반적으로 DApp 및 Web3의 주요 용도이므로 대부분의 공격은 디지털 통화를 표적으로 삼았습니다. 그러나 Web3 기술의 다른 애플리케이션에 미치는 영향도 똑같이 부담스러울 수 있습니다.
모든 Web3가 블록체인에 직접 구축되는 것은 아닙니다.인터넷이 서로 위에 구축된 계층( OSI 모델에 따르면 7개)으로 구성된 것처럼 블록체인에는 그 위에 구축된 프로토콜이 있습니다.한 가지 예를 들면 한 블록체인에서 다른 블록체인으로 전송할 수 있는 프로토콜인 "브리지"에 대한 광범위한 의존이 있습니다.
이러한 프로토콜도 공격받을 수 있습니다. 예를 들어, 절도범들이 2022년 2월에 웜홀 브리지를 악용하여 약 3억 2천만 달러의 암호화폐를 훔쳤습니다.
Web3에서는 보안 문제가 식별되면 수정 사항을 발행하기 어렵게 됩니다. Web3는 분산 네트워크 합의를 기반으로 구축되므로 모든 변경 사항은 네트워크 전체의 승인을 받아야 합니다.
이것이 아마도 Web3의 가장 큰 보안 문제일 것입니다. 완전히 안전한 애플리케이션을 구축하는 것은 인간의 능력으로는 불가능하며, 결함을 신속하게 수정할 수 있는 능력이 부족하면 보안 결함이 발견된 후에도 더 오래 활성화되므로 더 큰 영향을 미칠 수 있습니다.
사용자 자격 증명 도난에서 교차 사이트 스크립팅에 이르기까지 Web3 프런트 엔드에는 Web3 백엔드에도 불구하고 Web 2.0 프런트 엔드와 동일한 취약점이 여전히 많이 있습니다. 코드 주입, 봇, API 기반 공격 등의 위협 벡터 때문에 애플리케이션과 사용자가 위험에 처할 수 있습니다.
HTTP 요청 및 응답에 전송 계층 보안(TLS)이 널리 사용되면서 Web 2.0의 보안이 크게 향상되었습니다. 마찬가지로 Web3 DApp에 대한 API 쿼리 및 응답의 암호화 및 디지털 서명을 적용하는 것은 애플리케이션 데이터를 보호하는 데 중요합니다.
이 시점에서 기업들은 Web 2.0 보안 취약점에 수십 년 간 대응해온 경험을 지니고 있습니다.그렇다고 해서 이러한 취약점의 심각성이 줄어들지는 않지만, 여러 공격 중에서도 사용자 계정을 보호하고, 코드 삽입을 방지하며, 사이트 간 스크립팅을 차단하는 방법을 오랫동안 사용할 수 있었습니다.웹 애플리케이션 방화벽(WAF),봇 관리, API 보안 조치로는 애플리케이션 프런트 엔드에 대한 광범위한 공격 벡터를 차단할 수 있습니다.
이 조치는 Web 2.0에서도 중요했지만, 많은 조직(대부분은 아닐지라도)에서는 신속하게 출시하고 반복한다는 명목으로 이 단계를 건너뛰거나 서둘러 진행합니다. 결국 새로 출시된 기능이나 제품의 보안 결함은 다음 버전에서야 수정될 수 있습니다.
그러나 Web3에서는 그렇게 간단하지 않습니다. 분산 앱에 대한 업데이트 및 추가는 전체 분산 네트워크의 합의가 필요하므로 Web 1.0 및 Web 2.0보다 훨씬 더 오래 걸립니다. 보안 취약점을 식별할 수 있는 적절한 시기는 사후가 아니라 사전입니다. 그러한 시나리오에서는 코드 감사의 중요성이 두 배로 커집니다.
기업에서는 Web3를 알아보고 상호 작용하기 시작할 때 계속해서 보안을 최우선으로 염두에 두어야 합니다. 보안 허점이 있으면 비즈니스에 손상을 입거나 평판이 하락할 수 있습니다. 그리고 Web3 애플리케이션은 Web 2.0 스타일 프런트엔드에 의존하기 때문에 기업에서는 Web 2.0 및 Web3 보안 위험으로부터 동시에 보호해야 합니다.
Cloudflare는 온프레미스 네트워크 보호에서 클라우드로 마이그레이션하는 조직, Web3 등의 최첨단 모델을 이용하는 조직에 이르기까지 모든 상황에서 조직의 보안 결함을 방지하는 데 도움이 됩니다. Web3의 경우 Cloudflare는 프런트엔드와 백엔드를 모두 보호하는 동시에 Web3와 쉽게 접속하는 게이트웨이를 제공할 수 있습니다.
Cloudflare는 Web3 인프라에 대한 연결을 관리하고 보호하므로 기업에서는 사용자에게 필요한 최첨단 제품 및 필요한 서비스를 구축하는 데 집중할 수 있습니다.
이 글은 오늘날의 기술 의사 결정자에 영향을 주는 최신 동향 및 주제에 대한 시리즈 중 일부입니다.
이 글을 읽고 나면 다음을 이해할 수 있습니다.
Web3가 이전 웹 기술과 다른 점
기업에서 제품 및 운영에 Web3를 적용하는 방법
Web3의 일반적인 보안 위험
이러한 보안 위험을 완화하는 방법