블로그

전자레인지의 배신: 개발자가 마주할 차세대 보안 과제, 임베디드 시스템 보안

August 30, 2021
마티아스 마두(Matias Madou) 박사
야간에 대시보드 조명이 켜진 메르세데스 차량을 운전하는 모습과 차량 밖으로 보이는 화려한 빛의 궤적.

대중문화 속에는 인공지능(AI)이나 로봇이 인간을 배신하거나 가전제품이 주인을 공격하는 이야기가 자주 등장합니다. 이는 공상과학 영화나 판타지 속의 흥미로운 소재일 뿐이지만, IoT와 커넥티드 기기가 가정 내에 보편화됨에 따라 사이버 보안과 안전에 대한 논의도 그만큼 중요해져야 합니다. 우리 주변은 온통 소프트웨어로 둘러싸여 있으며, 우리가 누리는 혁신과 편리함이 수많은 코드 라인에 의존하고 있다는 사실을 잊기 쉽습니다. 웹 기반 소프트웨어, API, 모바일 기기와 마찬가지로 임베디드 시스템의 취약한 코드 역시 공격자에게 발견될 경우 악용될 수 있습니다.

사이버 공격으로 인해 전자레인지 군단이 인류를 노예로 삼을 가능성은 낮지만(테슬라 봇은 다소 우려스럽긴 합니다), 악의적인 사이버 사건은 충분히 발생할 수 있습니다. 자동차, 비행기, 의료 기기 등도 핵심 기능을 수행하기 위해 복잡한 임베디드 시스템 코드를 사용하며, 이러한 기기들이 해킹당할 가능성은 우려를 넘어 생명을 위협하는 문제가 될 수 있습니다.

다른 모든 소프트웨어와 마찬가지로, 개발자는 생성 단계의 가장 초기부터 코드에 관여하는 첫 번째 사람들입니다. 또한 다른 소프트웨어와 마찬가지로, 이 단계는 제품이 출시되기 전에 발견되지 않은 채 방치될 수 있는 교묘하고 흔한 취약점들이 자라나는 온상이 될 수 있습니다.

개발자는 보안 전문가가 아니며, 기업이 개발자에게 그런 역할을 기대해서도 안 됩니다. 하지만 개발자들에게 그들이 직면한 위협에 대처할 수 있는 훨씬 강력한 무기를 제공할 수는 있습니다. 기술적 요구사항이 진화함에 따라 C 및 C++로 작성되는 임베디드 시스템의 사용 빈도는 더욱 높아질 것이며, 이 환경에서 사용되는 도구에 대한 개발자 대상의 전문적인 보안 교육은 필수적입니다.

폭발하는 에어프라이어, 제멋대로 움직이는 자동차… 우리는 무방비 상태인가요?

우리를 안전하게 지키기 위한 일부 표준과 규정이 존재하지만, 모든 유형의 소프트웨어 보안을 위해 훨씬 더 정밀하고 의미 있는 진전을 이루어야 합니다. 에어프라이어 해킹으로 인한 문제를 생각하는 것이 비현실적으로 보일 수 있지만, 실제로 발생한 사례가 있습니다. 원격 코드 실행 공격을 통해 온도를 위험 수준까지 높이는 방식이었으며, 차량 제어권을 탈취하는 취약점 사례도 있었습니다.

특히 자동차는 매우 복잡하며, 자동 와이퍼부터 엔진 및 제동 기능에 이르기까지 미세한 기능을 담당하는 여러 임베디드 시스템이 탑재되어 있습니다. Wi-Fi, 블루투스, GPS와 같은 통신 기술이 점점 더 많이 결합되면서 커넥티드 차량은 다양한 공격 경로에 노출된 복잡한 디지털 인프라가 되었습니다. 2023년까지 전 세계적으로 7,630만 대의 커넥티드 차량이 도로를 달릴 것으로 예상되는 가운데, 이는 진정한 안전을 위해 구축해야 할 방어 기반이 거대함을 의미합니다.

MISRA는 임베디드 시스템 위협에 맞서 싸우는 핵심 조직으로, 임베디드 시스템 환경에서 코드의 안전성, 보안성, 이식성 및 신뢰성을 높이기 위한 가이드라인을 개발했습니다. 이 가이드라인은 모든 기업이 임베디드 시스템 프로젝트에서 지향해야 할 표준의 북극성과 같습니다.

하지만 이 골드 스탠다드를 준수하는 코드를 작성하고 실행하려면 보안 의식을 갖춘 숙련된 임베디드 시스템 엔지니어가 필요합니다.

임베디드 시스템 보안 역량 강화가 특별히 중요한 이유는 무엇일까요?

C와 C++ 프로그래밍 언어는 오늘날의 기준으로 보면 고령에 가깝지만 여전히 널리 사용되고 있습니다. 이 언어들은 임베디드 시스템 코드베이스의 핵심 기능을 형성하며, 임베디드 C/C++는 커넥디드 기기 세계의 일부로서 현대적인 생명력을 유지하고 있습니다.

이 언어들이 매우 오래된 뿌리를 가지고 있고 주입 결함이나 버퍼 오버플로우와 같은 공통적인 취약점 문제를 공유함에도 불구하고, 개발자가 임베디드 시스템의 보안 버그를 성공적으로 완화하려면 자신이 작업하는 환경을 모방한 코드에서 직접 실습해야 합니다. 일반적인 보안 관행을 다루는 범용 C 교육은 임베디드 C 환경에서 추가적인 시간과 노력을 들여 실습하는 것만큼 효과적이거나 기억에 남지 않을 것입니다.

최신 차량에는 12개에서 100개가 넘는 임베디드 시스템이 탑재되어 있으므로, 개발자가 IDE 내에서 무엇을 찾아야 하고 어떻게 수정해야 하는지에 대한 정밀한 교육을 받는 것이 필수적입니다.
‍

임베디드 C/C++에서 비즈니스 로직 결함은 어떤 모습일까요? 직접 확인해 보고 전문가처럼 식별하고 수정할 수 있는지 살펴보세요.

기초부터 임베디드 시스템을 보호하는 것은 모두의 책임입니다

많은 조직에서 개발 속도가 보안보다 우선시되는 것이 현실이며, 적어도 개발자의 책임 측면에서는 더욱 그렇습니다. 개발자가 안전한 코드를 작성하는 능력으로 평가받는 경우는 드물고, 멋진 기능을 빠르게 개발하는 것이 최고의 가치로 여겨집니다. 소프트웨어에 대한 수요는 계속 증가하겠지만, 이러한 문화는 취약점과 그로 인한 사이버 공격에 맞서 싸우는 데 불리한 환경을 조성하고 있습니다.

개발자가 교육받지 못한 것은 그들의 잘못이 아니며, 이는 AppSec 팀이 전체 개발 커뮤니티를 위해 적절하고 접근 가능하며 평가 가능한 역량 강화 프로그램을 추천함으로써 해결해야 할 문제입니다. 소프트웨어 개발 프로젝트의 시작 단계부터 보안을 최우선 고려 사항으로 삼고, 모든 사람, 특히 개발자가 자신의 역할을 수행하는 데 필요한 지원을 받아야 합니다.

임베디드 시스템 보안 문제 직접 다뤄보기

버퍼 오버플로우, 주입 결함, 비즈니스 로직 버그는 모두 임베디드 시스템 개발에서 흔히 발생하는 함정입니다. 단일 차량이나 기기 내의 수많은 마이크로컨트롤러 미로 속에 깊이 숨겨져 있을 경우, 보안 관점에서 재앙을 초래할 수 있습니다.

버퍼 오버플로우는 특히 빈번하게 발생하며, 앞서 언급한 에어프라이어 해킹(원격 코드 실행 허용)에 어떻게 악용되었는지 자세히 알고 싶다면 이 보고서의 CVE-2020-28592를 확인해 보세요.

이제 실제 임베디드 C/C++ 코드에서 버퍼 오버플로우 취약점을 직접 다뤄볼 시간입니다. 이 챌린지를 통해 이 교묘한 버그를 유발하는 잘못된 코딩 패턴을 찾아내고 식별하며 수정할 수 있는지 확인해 보세요.
‍

Secure Code Warrior logo with text: Squash dangerous embedded systems bugs and a red Play Now button.
버퍼 오버플로우를 과거의 일로 만드세요.

‍

결과는 어떠셨나요? www.securecodewarrior.com을 방문하여 임베디드 시스템 보안에 관한 정밀하고 효과적인 교육을 받아보세요.

태그라인

배포 전 AI 기반 개발 거버넌스 확보

AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.

데모 예약하기
리소스 라이브러리

더 많은 블로그 살펴보기

보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.

전체 보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

하나의 보안 문화: Sage는 어떻게 챔피언 프로그램을 구축했는가

Sage가 유연하고 관계 중심적인 접근 방식을 통해 보안을 강화하고, 200명 이상의 보안 챔피언을 양성하며 실질적인 위험 감소를 달성한 사례를 확인해 보세요.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

2026년 사이버 보안 인식의 달: 기업 방어의 핵심, AI 보안 이해하기

주요 AI 기업 대부분이 안전 가이드라인이 마련될 때까지 AI 개발 속도를 전 세계적으로 늦춰야 한다고 공개적으로 촉구하는 시점에 이르렀지만, 사실 심각한 보안 문제는 이미 현실화되었습니다. 이로 인해 AI 도입에 따른 금전적 비용과 위험 부담이 계속 쌓이면서 수많은 보안 책임자와 경영진이 절박한 상황에 놓였습니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

인에이블러 8: 프로그램 브랜딩

성공적인 보안 코딩 프로그램을 위해서는 훌륭한 콘텐츠 그 이상의 것이 필요합니다. 인에이블러 8에서는 브랜딩을 통해 참여를 누구나 선망하는 위상 중심의 경험으로 바꾸는 방법을 알아봅니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

이제 모든 직원이 AI 사이버 보안의 최전선에 있습니다

엔터프라이즈 기술 환경은 너무 늦기 전까지는 아무도 예상하지 못한 속도로 변화하고 있습니다. 우리는 공식적으로 사람이 직접 작성한 코드와 기본적인 코파일럿 지원의 시대를 지나 '에이전트 기반 개발 수명 주기(ADLC)'의 시대로 진입했습니다. 자율형 AI 에이전트는 여러 기능 전반에 걸쳐 전례 없는 효율성을 약속하지만, 동시에 완전히 새로운 차원의 보안 및 규제 위험을 야기합니다.

더 알아보기

배포 전 AI 기반 개발 보안 확보

소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.

데모 예약하기
항목이 없습니다.