블록체인, 탈중앙화 프로토콜 및 애플리케이션에서 DevSecOps의 중요성

F5 에코시스템 | 2022년 10월 26일

보안은 언제나 정보 기술에서 가장 중요한 요소 중 하나였으며, 오늘날 많은 조직과 개발자는 애플리케이션을 구축할 때 보안을 최우선으로 고려하는 사고방식을 채택하고 있습니다. 이러한 원칙과 활동은 흔히 애플리케이션 보안의 전반적인 문화와 접근 방식을 아우르는 ‘DevSecOps’로 통칭됩니다. DevSecOps는 개발(Development), 보안(Security), 운영(Operations)을 의미합니다. 이는 정보 기술과 인프라의 모든 측면에 보안 우선 사고방식을 내재화하는 것을 목표로 합니다.

정보 기술 분야에서 비교적 최근에 등장한 가장 흥미로운 영역 중 하나는 블록체인입니다. 블록체인은 탈중앙화 프로토콜과 애플리케이션으로 이루어진 거대한 생태계를 기반으로 하며, 많은 이들이 Web3라고 부르는 새로운 버전의 웹으로 우리를 이끄는 것을 목표로 합니다.

Web3란 무엇이며, 탈중앙화 애플리케이션이란 정확히 무엇인가요?

Web3라는 용어는 애플리케이션 아키텍처와 사용자 경험의 여러 측면에 초점을 맞춘 다양한 개념을 포괄합니다:

  • 탈중앙화
  • 개방성
  • 불변성
  • 프로그래밍 가능성
  • 투명성

이러한 핵심 개념은 공개 키 암호화를 통해 사용자가 자신의 신원에 대한 통제권을 되찾도록 하고, 다양한 블록체인 메커니즘과 프로토콜을 통해 P2P 경제의 도입을 확대하는 것을 목표로 합니다. 많은 블록체인과 관련 프로토콜은 격리된 가상화 환경에서 실행되는 스마트 계약을 사용하여 고급 트랜잭션을 처리하고 상태를 관리할 수 있습니다.

그런 다음 합의 알고리즘이라는 메커니즘을 통해 네트워크의 모든 노드에서 동기화됩니다. 이 메커니즘을 사용하면 일부 참여자에게 장애가 발생하더라도 분산 환경에서 사용자 또는 노드가 서로 조율하여 시스템의 모든 노드가 단일 정보 출처에 합의하도록 할 수 있습니다. 또한 많은 블록체인은 프로토콜을 개방형 무허가 방식으로 유지하여 검열에 저항할 수 있도록 운영됩니다.

현재 상황은 어떤가요?

블록체인 기반 아키텍처에는 추가적인 위험이 존재합니다. 네트워크의 근간이 일반적으로 디지털 토큰 기반 암호화폐로 구동되며, 대개 금전적 가치를 지니기 때문입니다. 이러한 토큰은 주소에 보관되며, 일반적으로 외부 소유 계정이나 스마트 계약 내에 저장됩니다. 또한 공개 키 암호화를 통해 신뢰 역시 분산되므로, 네트워크의 각 주소는 공격에 노출될 수 있습니다.

각 계정의 잔액은 누구나 볼 수 있는 이른바 공개 원장을 통해 네트워크 전체에 분산되어 있으므로, 해커가 특정 사용자나 계약을 표적으로 삼을 여지가 생깁니다. 이 때문에 개인정보 보호와 익명성은 블록체인에서 특히 중요한 요소입니다. 이러한 계정을 관리하는 사람은 공격의 표적이 되거나 자신의 지위를 이용해 불법 행위를 저지를 수 있으며, 관련 위협은 다음과 같습니다:

  • 사회 공학
  • 신뢰 관계 또는 키 관리 미흡
  • 횡령 및 사기
  • 사기

또한 이러한 다양한 블록체인 기술, 프로토콜 및 탈중앙화 애플리케이션의 기술적 영향 범위는 이미 광범위하며 빠르게 확대되고 있습니다. 따라서 급성장하는 이 생태계가 보안에 미치는 영향을 고려하는 것이 중요합니다. 탈중앙화를 핵심 개념으로 구축된 모든 것은 공격 표면이 더 넓어지므로, 신중하게 분석하고 보호해야 할 공격 지점도 더 많아집니다.

탈중앙화 애플리케이션과 기술 인프라의 보안을 감사할 때 고려할 만한 몇 가지 주제는 다음과 같습니다:

  • 레이어 1 블록체인(Bitcoin 및 Ethereum)
  • 레이어 2 블록체인(사이드체인 및 롤업)
  • 스마트 계약
  • 컴파일러
  • 소프트웨어 지갑
  • 하드웨어 지갑
  • 블록체인 클라이언트(채굴자 및 검증자)
  • 수탁형 거래소(중앙화)
  • DeFi 거래소(탈중앙화)
  • 제공업체
  • 마켓플레이스(NFT)

스마트 계약의 일반적인 공격 벡터

애플리케이션 개발 수명 주기에서 DevSecOps를 이야기할 때는 일반적으로 보안 중심 개발을 의미합니다. 이는 흔히 보안을 왼쪽으로 이동시키는 것, 즉 개발 초기 단계부터 보안을 고려하는 것으로도 알려져 있습니다. 개발자가 보안을 코드의 일부로 인식하는 데서 시작되므로 DevSecOps 문화에서 가장 중요한 요소 중 하나입니다. 블록체인 기반 스마트 계약은 가치를 저장하고 은행과 같은 역할을 할 수 있기 때문에 내부 코드가 공격에 특히 취약하며, 엄격한 보안 원칙을 염두에 두고 작성해야 합니다.

업계에서는 스마트 계약의 취약점을 노린 여러 해킹 사건이 발생했으며, 대개 코드의 허점을 악용하는 방식이었습니다. 역사상 최대 규모의 해킹 사건 중 하나는 지난해 발생했습니다. 크로스체인 프로토콜인 Poly Network는 공격자가 스마트 계약을 해킹해 다양한 자산을 해커가 관리하는 외부 지갑 주소로 옮기는 방식으로 미화 6억 1천만 달러 상당을 탈취했다고 밝혔습니다.

스마트 계약 개발에는 다양한 취약점이 존재하지만, 가장 빈번한 공격 유형은 다음과 같습니다:

  • 언더플로 및 오버플로 – 일반적으로 산술 연산으로 인해 부호 없는 정수가 최대 바이트 크기에 도달할 때 발생합니다. 이 경우 값이 최솟값 또는 최댓값으로 순환하여 애플리케이션의 비즈니스 로직에서 예기치 않은 동작을 일으킬 수 있습니다.
  • 컨트랙트 재진입성 – 컨트랙트에 반복적으로 재진입하여 악용하는 행위로, 일반적으로 공격자가 허용된 금액보다 더 많은 자금을 인출합니다.
  • 트랜잭션 선행매매 – 기술 또는 시장에서의 우위를 이용해 예정된 트랜잭션에 관한 정보를 미리 파악하는 행위를 말합니다.
  • 제대로 관리되지 않은 비밀 정보.
  • 제대로 구현되지 않은 액세스 제어.

공정한 경쟁 환경을 조성하려면 무엇을 할 수 있을까요?

  • 보안을 최우선으로 하는 문화를 구축하세요. DevSecOps 개념은 보안 중심 문화를 구축하려는 조직에 훌륭한 출발점이 됩니다.
  • 감사를 수행하세요. 감사는 애플리케이션 로직과 운영 프로세스를 새로운 관점에서 살펴볼 수 있게 하고, 코드의 취약점을 발견하는 데 도움을 주며, 애플리케이션 사용자에게 신뢰를 심어 줍니다. MythX와 Slither는 Ethereum 스마트 계약을 감사하는 데 유용한 도구입니다.
  • 버그 바운티를 제공하고 크라우드소싱 방식의 모의 침투 테스트를 수행하세요. 크라우드소싱 보안은 보안 태세를 강화하는 데 도움이 되는 검증된 방법입니다. 회사를 버그 바운티 프로그램에 참여시키고 애플리케이션과 인프라에 대한 침투 테스트를 수행하면 취약점과 해킹 위협에 선제적으로 대응할 수 있습니다.
  • 오픈 소스 전략을 도입하세요. 블록체인과 같은 기술에서는 애플리케이션의 투명성이 중요합니다. 참여자가 코드 검증 및 감사 결과를 바탕으로 참여 여부를 결정할 수 있기 때문입니다. 또한 일부 구성 요소를 오픈 소스로 공개하면 커뮤니티 내에서 프로젝트의 책임성을 더욱 높일 수 있습니다.
  • 관리 작업에 다중 서명을 구현하세요. 소유권 및 자금 이전과 기타 중요 작업 같은 관리 기능에 다중 서명 아키텍처를 적용한 스마트 계약을 구현하면 애플리케이션의 보안을 한층 더 강화할 수 있습니다.

결론

블록체인과 탈중앙화 애플리케이션, 그리고 이를 둘러싼 다양한 프로토콜은 빠르게 성장하고 있습니다. 새롭고 흥미로운 이러한 애플리케이션 배포 방식은 여러 산업에 혁신적인 변화를 가져올 잠재력을 지니고 있습니다. 하지만 보안을 최우선으로 고려하는 사고방식에 집중하고, 가능한 모든 곳에 DevSecOps 문화를 정착시키는 것이 필수적입니다.

추가 자료

블록체인을 알아가는 여정에서 좋은 첫걸음은 개발 기반으로 삼고 있는 프로토콜의 관련 백서를 읽는 것입니다:

다음으로, 과거의 해킹 사례와 취약점을 연구하고, 개발 환경에서 해당 해킹을 재현해 보는 단계까지 나아가세요.

이더리움 보안을 직접 체험하며 학습하려면, 보안의 기초를 익힐 수 있도록 의도적으로 취약하게 만든 프로그램이나 웹사이트에 취약점 또는 ‘플래그’를 숨겨 놓은 다음 CTF(Capture the Flag) 프로그램을 추천합니다.

공유
태그: 2022

작성자 소개

관련 블로그 게시물

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5 에코시스템 | 2023. 07. 13.

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A

F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.

TLS 검사에서 피터 파커 원칙 다루기
F5 에코시스템 | 2019. 12. 09.

TLS 검사에서 피터 파커 원칙 다루기

“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.

Venafi와 F5를 통한 머신 아이덴티티 보호
F5 에코시스템 | 2018. 12. 11.

Venafi와 F5를 통한 머신 아이덴티티 보호

‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
F5 에코시스템 | 2018. 07. 23.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다

물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...

내 클라우드에서 나가!
F5 에코시스템 | 2016. 10. 12.

내 클라우드에서 나가!

F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.

Shift(웹 앱) 보안 레터
F5 에코시스템 | 2015. 07. 06.

Shift(웹 앱) 보안 레터

웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.