IT Solutions

[보안동향] 일상 속에 스며든 ‘블록체인’, 안전하게 도입하려면? 1편

2021. 12. 2. 09:30

 

‘블록체인(혹은 분산원장기술)’이라는 용어는 이제 ICT(Information and Communication Technology, 정보통신기술) 분야에서 일상적인 단어가 됐습니다. 많은 전문가가 블록체인 기술을 더욱 발전시키며, 다양한 사업 분야에서 블록체인 기술을 적용하기 위해 다각적인 방법을 모색하고 있죠. 미래의 산업 분야에서 블록체인 기술이 발전하기 위해서는 안전성과 신뢰성을 보장하는 것이 매우 중요하다고 생각되는데요. 적절한 보안 방안이 이러한 안전성과 신뢰성을 보장한다고 판단됩니다.

하지만, 블록체인 기술의 보안성에 대한 과도한 기대치가 안전성 및 신뢰성에 대한 부정적인 영향으로 이어졌습니다. 사람들은 블록체인 기술이 암호화 기반의 기술이므로 자체적으로 보안을 해결한다고 믿었죠. 그 결과, 블록체인의 안전성과 신뢰성 보장에 필요한 보안 조치(Security Control)를 구현하지 못했습니다. 또한, 암호자산 시장에서의 보안 위반 및 변동성(암호자산 지갑 해킹 사건, 암호화폐 가격 변동성)이 블록체인 기업의 브랜드에 부정적인 영향을 미쳤습니다.

이를 통해 현실적으로 블록체인 기술이 보안의 새로운 패러다임을 가져왔지만, 여전히 전통적 정보 보안 방안을 기반으로 구축해야 할 필요는 있다는 것을 알 수 있습니다.

이번 글에서는
첫째, 블록체인 기술의 보안 이슈, 그리고 블록체인과 보안이 왜 그렇게 밀접하게 연관되어 있는지 알아보겠습니다.


둘째, 블록체인 기술 도입에서 사이버 보안의 역할에 대해 알아보겠습니다.  사이버 보안의 주요 개념이 블록체인 기술 사용에서 안전성과 신뢰성을 어떻게 보장할 수 있는지에 대해 살펴보겠습니다.


셋째, 새로운 보안 패러다임에서 필요한 새로운 구성요소를 조명하기 위해 블록체인 기술 스택을 살펴보겠습니다.

블록체인에 사이버 보안이 필요한가에 대한 논쟁은 양극화돼 있습니다. 한쪽 끝에서는 블록체인 기술은 본질적으로 안전하지 않고 개인정보보호가 필요한 대부분 사례에 적합하지 않은 것으로 인식되는데요. 다른 쪽에서는 암호화 기반이므로 해킹할 수 없는 기술로 간주합니다. 하지만, 진실은 그 중간 어디쯤 있습니다. 

블록체인 보안 논쟁이 양극화되는 데에는 근거가 있습니다. 암호화폐 및 비트코인을 거래할 수 있는 디지털 거래소 같은 다양한 블록체인 사용 사례에서 보안 이슈가 정리됐죠. 보안 침해사고는 암호화폐나 기업의 사용 사례와는 상관없이 일반적으로 블록체인 기술에 부정적인 영향을 미쳤습니다.
 

 

그러나 이러한 공격 중 블록체인 기술의 기본원리를 대상으로 한 것은 없었는데요. 오히려 그들은 블록체인 기술의 주변 환경에 집중했습니다. 예를 들면, 소프트웨어 지갑, 스마트 계약 코드, 디지털 거래소, 암호화폐 기업 웹사이트와 같은 것이죠.

 

블록체인 기술에는 적절한 보안 방안이 필요합니다

블록체인 기술과 블록체인 기반의 솔루션은 오류가 없는 안전한 기술입니다. 하지만 다른 기술과 마찬가지로 보안과 관련된 장단점이 존재하며, 적절한 보안 조치가 취해지지 않으면 해킹될 수 있습니다. 따라서 조직이 적절한 보안 조치(Security Control) 없이 민감한 정보를 블록체인에 저장하지 않는 것이 중요합니다.

 

블록체인 기술에 영향을 미치는 보안 이슈는 대부분 기존의 보안 이슈이며, 매일 발생하는 전 세계 수천 건의 사이버 공격 중 소수에 해당합니다. 블록체인 기술과 관련된 보안 관련 사고 뉴스의 대부분은 위험 자산의 가치 하락과 분실 시 상환 제한에 관한 것이죠. 현재 블록체인 기술은 상당히 안전한 것으로 간주됩니다. 아직 검증이 완전히 끝난 것은 아니지만, 많은 알고리즘과 기술은 취약점이 발견될 때까지 여러 해 동안 안전한 것으로 간주합니다.

 

전통적인 정보 기술 원칙 적용 – TradeLens 사례

블록체인 기술은 전통적인 정보 기술을 기반으로 한다는 논리에 따라 Maersk와 IBM이 개발한 플랫폼인 TradeLens는 ISO/IEC 27000 시리즈의 정보 보안 인증을 획득했습니다. 

* TradeLens – 블록체인 기술 기반의 컨테이너 물류 솔루션

 

이처럼, 현재까지 보고된 블록체인 보안 이슈의 대부분은 블록체인 고유의 기술적 결함보다는 기존 정보 보안 이슈와 더 깊은 관련이 있는데요. 따라서 블록체인 기술이 본질적으로 안전하지 않다는 의견은 받아들이기 어렵습니다. 

한편, 다른 한쪽에서 기업의 대다수 이상은 블록체인 기술이 자체적인 보안성을 보장한다고 믿습니다. 하지만, 이러한 믿음은 정확한 실사(Due Diligence)의 부족으로 이어질 수 있기 때문에 똑같이 문제가 되죠. 블록체인의 보안 위험을 보면 사이버 보안 실사의 중요성을 알 수 있습니다.

다른 사례에서 한 디지털 자산 거래소는 수천억 원의 암호화 자산을 관리했지만, 비즈니스 연속성 원칙(business continuity principles)을 구현하지 못했는데요. 그래서 CEO가 갑자기 세상을 떠났을 때 아무도 이 자금을 회수할 수 없었습니다. 블록체인 기술 보안에 대한 과도한 믿음이 중요 군사 시스템 및 물류 시스템 등에 영향을 미치고 이것이 잘못된 비즈니스 관행으로 이어진다면 어떻게 될지 생각해 볼 필요가 있습니다. 

그렇다고 블록체인이 보안상의 이점을 제공하지 않는다는 것은 아닙니다. 그러나 암호화 기반이 보안의 만병통치약은 아닙니다. 장점이 있지만, 보안은 항상 절충(trade-off)의 문제이며 블록체인 기술은 광범위한 디지털화 툴킷 내에서 하나의 도구로 평가되어야 합니다.

 

블록체인은 디지털 혁신을 지원합니다

블록체인 기술은 정보 보안에 대한 영향이 커지고, 정보 보안 프레임워크가 더 넓은 영역으로 확장되도록 돕는데요. 이는 변경된 청구서나 잘못 기록한 물류 도착 시각과 같은 정보 변조로부터 보호하는 데 도움이 될 수 있습니다. 국제적 공급망 분쟁이 발생하면 회사는 큰 벌금을 지불해야 할 수 있습니다. 예를 들어, 국제 공급망의 물류 행위자가 컨테이너의 늦은 배송에 책임이 있고 터미널 입고 마감 시간을 놓치면 화물 도착 날짜가 몇 주 뒤로 밀리게 되는데요. 당사자는 항공 운임 또는 기타 벌금에 대한 책임을 질 수 있습니다. 이때, 블록체인을 검증할 수 있고 안전한 정보의 단일 소스로 사용하면 실제 터미널 입고 시간과 지연에 대한 책임이 있는 당사자를 알아야 하는 경우 분쟁 해결에 도움이 될 수 있습니다.

[그림 1] 다양한 블록체인 유형 간의 절충점 (Trade-offs)

 

사이버 보안은 사이버 공격으로부터 사이버 공간 사용을 보호하거나 방어하는 능력으로 정의됩니다. 블록체인 도입 시 관련성이 높은 사이버 보안 개념은 다음의 6개입니다.

개념 1: 기밀성(Confidentiality)
기밀성은 정보에 접근할 수 있는 권한이 있는 사용자만 접근할 수 있도록 보장하는 것입니다. 다양한 방식의 블록체인 구현은 다양한 수준의 기밀성을 제공하지만, 일반적으로 블록체인은 기존 데이터베이스와 동일한 수준의 기밀성을 제공할 수 있습니다. 퍼블릭 블록체인은 일반적으로 상대적으로 낮은 기밀성을 제공합니다.

개념 2: 무결성(Integrity)
무결성은 정보를 신뢰할 수 있고 정확성을 보장하는 것입니다. 분장원장 기술(Distributed Ledger Technology, DLT)은 무결성을 보장하도록 설계됐지만, 입력 데이터의 품질에 따라 결과가 달라집니다. 예를 들어, 화물이 운송되는 동안 원양 운송업체가 수입업자에게 제공하는 이정표 업데이트를 가져옵니다. 블록체인 안에 있다고 해도 예상 도착 시간(ETA)의 정확성을 블록체인이 보장하지 않습니다. 무결성은 여전히 입력 소스에 달린 것이죠. IoT 디바이스 위치 추적 데이터의 정확성이 또 다른 사례가 될 수 있습니다.

개념 3: 가용성(Availability)
가용성은 필요할 때 데이터를 사용할 수 있도록 보장하는 것입니다. 블록체인의 분산 구조로 인해 블록체인은 결함 내성(fault-tolerance)의 특성을 가지는데요. 이러한 특성을 통해 가용성의 이점을 얻을 수 있습니다. 하지만, 실시간 관리를 요구하는 서비스는 블록체인 구성으로 가용성을 달성하기 어려울 수 있습니다.

개념 4: CIA Triad
CIA Triad는 기밀성, 무결성, 가용성의 조합입니다. 세 가지 보안 목표를 모두 달성하는 것은 매우 어렵습니다. 이것은 정보 보안이 세 가지 목표를 해결할 수 없다는 것을 말하는 것은 아닙니다. 다만, 세 가지 보안 목표가 적절한 보안 통제를 통해 개선되어야 한다는 것을 의미합니다. 

앞의 사례에서 예상도착시간(ETA) 이벤트의 데이터 무결성과 가용성을 높이기 위해 항구, 터미널 및 트럭 운전사와 같은 더 많은 당사자가 데이터에 액세스하고 확인할 수 있도록 하는 것이 도움이 된다고 말씀드렸습니다. 그러나 이 접근 방식은 더 많은 당사자가 데이터에 액세스할 수 있으므로 데이터 기밀성에 부정적인 영향을 미칠 수 있습니다(그림 1 참조).

개념 5: 계층화된 접근 방식 (심층 방어)
17세기 프랑스의 군사 건축가는 요새화된 진지의 방어를 개선하기 위한 방어 시스템을 개발했는데요. 이러한 방어 시스템으로부터 영감을 받은 보안 방안으로 계층화된 접근 방식을 적용하고 있죠. 계층화된 접근 방식을 통해 시스템의 코어가 손상되기 훨씬 전에 비인가 접근을 감지할 수 있는데요. 그 결과는 보안 통제입니다. 긴밀한 보안망을 만들기 위해 각각의 요소를 결합한 조치입니다.

블록체인 관점에서 계층화된 접근 방식은 여러 단계의 통제로 해석됩니다. 개발에서 도입 및 단계적 폐지에 이르기까지의 단계인데요. 블록체인 노드에서 스마트 계약 및 액세스 포인트까지의 여러 계층을 의미합니다.

 

 

개념 6: 전체론적 보안(Holistic Security)
보안 통제는 전체 시스템의 관점에서 바라볼 필요가 있습니다. 기술적 융합이나 표준이 부재할 경우, 블록체인 시스템 설계를 어렵게 만들고 보안 기능이 서로 상쇄될 위험이 있는 요소를 결합할 가능성이 큽니다. 이는 보안 거버넌스가 더욱 중요해지는 이유입니다.

개념 7: 설계에 의한 보안, 디폴트에 의한 보안(Security-by-design and by default)
전체론적 보안(Holistic Security)의 자연스러운 확장. 설계에 의한 보안은 보안이 시스템 토대에 들어 있고 최종 사용자가 선택하는 것이 아닌, 기본적으로 활성화됨을 의미합니다.

업데이트 기능이나 킬 스위치를 스마트 계약에 포함하는 것부터, 솔루션의 라이프 사이클 시작에 보안을 고려하도록 하는 것까지 블록체인에는 수많은 의미가 있습니다. 예를 들어, 개념 증명(proof-of-concept)과 같이 도입 초기 단계에서 주요 위험에 대한 사고 대응의 일부를 테스트할 수 있죠. 이를 통해 필요한 보안 메커니즘과 필수적인 비즈니스 운영을 요구합니다.

개념 8: 프로세스로서의 보안(Security as a process)
보안은 최종 목적지가 아니라 프로세스입니다. 공격자는 지속적해서 기술을 향상하고, 보안연구원은 새로운 취약점을 발견하죠. 최종 사용자의 일상이 바뀌고 기술 스펙트럼이 증가함에 따라 지속적인 관심이 필요합니다.

블록체인과 같은 초기 기술의 대부분의 취약성은 아직 발견되지 않았는데요. DLT의 인기가 증가함에 따라 해커의 관심도 커질 것으로 예상됩니다. 꾸준한 시스템 모니터링 및 보안 위험 관리는 블록체인 보안에 필수적인 요소입니다.

개념 9: 투명성을 통한 보안(Security through transparency)
수 세기 동안 비밀은 은폐(Obscurity)를 통한 보안이라는 개념으로 보호됐습니다. 이러한 아이디어는 보안 시스템의 로직을 숨기면 공격자의 해킹을 막을 수 있다는 것이었는데요. 이러한 사례는 산업 통신 또는 저작권 보호 미디어와 같은 정보 보호를 위한 암호화 메커니즘에 해당합니다. 하지만, 전문가와 사용자는 투명성과 오픈 소스 기술의 이점에 대해 더 많이 이해하고 있습니다.

현대 보안은 시스템이 투명할수록(정보보호 방식에 대한 내부 로직이 공개적일수록) 더 좋다고 생각합니다. 블록체인에 사용되는 암호화 알고리즘은 오픈 소스인데요. 이 알고리즘은 많은 산업 분야에서 광범위하게 테스트되고 사용됩니다.

개념 10: 단순 보안(Simple security)
복잡함은 보안의 적입니다. 복잡한 환경에서 운영되고, 복잡한 구성요소로 구성된 시스템을 보호하는 것이 더 어렵기 때문입니다. 

한 암호화폐 블록체인은 복수의 마이닝 알고리즘을 혼합해 구현했습니다. 이러한 추가적인 복잡성으로 인해 효과적인 보안 조치를 취하기가 더 어려워졌는데요. 이로 인해 공격자가 51%의 공격을 수행하게 됐습니다. 즉, 다른 알고리즘 대비 한 알고리즘을 사용해 전체 네트워크의 과반수를 점유하게 된 것이죠.

상호 작용하는 여러 구성요소가 있는 복잡한 블록체인 솔루션을 관리하는 것은 보안 책임자(CISO)에게 어려운 일입니다. 결과적으로 어떤 솔루션을 도입하든 복잡성을 추가하기보다는 운영을 단순화해야 합니다. 레거시 시스템과의 통합은 특별한 주의가 필요한 복잡성 요인입니다.

이번에는 보안 관점에서 블록체인의 중요 개념을 알아보겠습니다.

 

 

개념 1: 탈중앙화(Decentralization)
탈중앙화는 권한이 중앙집중화를 벗어나 소규모 단위로 분산화하고 이전하는 것입니다. 보안 거버넌스는 전통적으로 중앙집중식 프로세스였으므로 중요한 상황에서 의사 결정을 신속하게 실행할 수 있었습니다. 하지만 분산형 거버넌스는 블록체인으로 전환하는 조직이 다루어야 하는 패러다임의 전환입니다.

탈중앙화의 결과로 시스템의 통제와 관리 감소뿐 아니라 물리적 보안을 보장하고 시스템을 종료하는 데 어려움이 발생할 수 있습니다. 예를 들어, 조직에서 어느 노드가 분산 인프라의 일부인지조차 모른다면 블록체인 노드의 보안을 보장하는 것이 어려울 수 있기 때문이죠.

조직의 통제력을 줄이는 것 외에도 탈중앙화는 원장의 공격 표면을 증가시킵니다. 대부분의 블록체인 유형에서 모든 노드가 동일한 버전의 원장을 보유한다는 가정에서 그렇습니다. 따라서, 분산 보안은 사소한 일이 아니며 이러한 공동 책임(shared responsibility)은 때로 실사(due diligence) 부재로 이어질 수 있습니다.

 

Oracles, 신뢰할 수 있는 데이터 소스

오라클은 시스템에 데이터를 공급하는 블록체인 외부의 주체(entity)입니다. 오라클은 블록체인 기반 프로토콜의 무신뢰(trustless)와 탈중앙화 특성과 모순되는 신뢰 수준을 요구합니다. 예를 들어, 컨테이너에 사용되는 추적 장치나 추적 정보를 제공하는 GPS를 보호하는 것은 누구의 책임일까요?

 

개념 2: 합의(Consensus)
합의 알고리즘을 통해 최종적으로 데이터 기록을 원장에 추가할 수 있는데요. 확장성, 담합방지(Collusion resistance), 계산 비용 및 실시간성 등에 걸쳐 복잡한 절충안(trade-offs)을 해결하려는 여러 가지 합의 메커니즘이 있습니다. (그림 2 참조)

 

합의 알고리즘의 취약점은 원장의 무결성을 손상하고 결과적으로 시스템에 대한 신뢰를 손상할 수 있다는 것입니다. 합의 알고리즘의 복잡성은 관심 있게 봐야 하는데요. 서로 다른 합의 알고리즘은 서로 다른 요구 사항과 보안 수준으로 이어지기 때문입니다. 일부 블록체인은 합의에 도달하기 위해 여러 알고리즘을 사용합니다. 이 경우 취약점이 증폭될 수 있으므로 보안 요구사항 역시 이러한 요소를 함께 고려해야 합니다.

 

취약한 합의 시스템 설계

어느 암호화폐 블록체인 해킹은 해당 암호화폐가 사용하고 있던 합의 알고리즘 중 어느 하나의 취약점을 이용하지 않고 오히려 시스템 자체의 취약점을 악용했습니다. 합의 알고리즘을 차례로 하나씩 추가해 여러 합의 알고리즘을 구성했기 때문입니다. 올바른 시스템 설계의 부재가 이 사례의 원인이었습니다.

 

[그림 2] 합의 알고리즘의 여러 유형

 

개념 3: 스마트 계약(Smart contracts)
스마트 계약은 사전 정의된 조건이 충족되면 블록체인에서 계약 조건을 자동으로 실행하는 컴퓨터화된 프로토콜입니다.

스마트 계약은 양날의 검이라 할 수 있습니다. 콘텐츠는 블록체인의 모든 구성원이 볼 수 있으므로 해커가 자유롭게 취약점을 검색할 수 있죠. 또한, 관련 주체(entity)가 변경할 수 없고 공개적으로 읽을 수 있는 스마트 계약에 동의하는 블록체인의 경우에는 스마트 계약의 취약점 악용이 정상 행위로 간주할 수 있습니다. 스마트 계약 패치는 기존 소프트웨어 패치만큼 간단하지 않기 때문에 시큐어 코딩 및 감사가 필요합니다. 

개념 4: 엔드포인트 및 키 관리
엔드포인트는 블록체인에 액세스하는 데 사용되는 하드웨어 및 소프트웨어 요소입니다. 엔드포인트가 블록체인에 국한된 것은 아니지만, 해당 소프트웨어 기술은 블록체인을 안전하게 사용할 수 있게 하는 중요한 기술입니다.

블록체인 기술은 암호화 알고리즘을 사용하기 때문에 블록체인 사용자는 일반적으로 암호화 키를 생성하고 관리해야 합니다. 암호화 키는 트랜잭션을 인증하고 레코드가 합법적인 데이터 입력 단말장치와 연결되도록 하는 데 사용되는데요. 암호화 키가 손상되면 사용자는 조작된 레코드를 사용할 수 있습니다. 또는 도난당한 비밀 키를 사용하여 데이터를 조작할 수도 있죠. 결론적으로 사용자 모두는 암호화 키를 사용하므로 암호화 키에 대한 보안화는 블록체인 전반에 걸쳐 가장 중요하다 할 수 있습니다.

지금까지 설명한 내용을 요약하겠습니다.
– 블록체인은 해킹이 불가능하지도 않고 본질적으로 보안이 안전하지도 않습니다. 과거에 나타난 위험에 대응하는 우수한 보안 구현을 위해 노력하고 있습니다. (섹션 1 참조)
– 특별히 블록체인과 관련된 보안 개념 및 설계 접근 방식이 있습니다. 예를 들면, 심층 방어, 전체론적 보안 및 프로세스로서의 보안입니다. (섹션 2 참조)
– 보안 설계에서 설명해야 하는 고유한 블록체인 개념도 있습니다. 예를 들면, 탈중앙화, 합의, 스마트 계약 및 엔드포인트가 있습니다. (섹션 3 참조)

다음 글에서는 안전한 블록체인 도입을 위한 10단계 프로세스에 대해 알아보겠습니다.

 

[출처]

1. Inclusive Deployment of Blockchain for Supply Chains: Part 1 – Introduction, www.weforum.org
2. Inclusive Deployment of Blockchain for Supply Chains Part 5 – A Framework for Blockchain Cybersecurity, www.weforum.org
3. 나재훈, 블록체인 ID, 보안 및 개인정보보호, 2018. 5

 

 

글 ㅣ 사이버시큐리티팀 이상천 책임

 

*해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.
*해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

 

Posted by LG CNS

댓글을 달아 주세요

위로