SCW 아이콘
영웅 배경, 구분선 없음
블로그

좋은 마이크로웨이브가 나빠질 때: 임베디드 시스템 보안이 개발자들의 다음 보스전이 되는 이유

마티아스 마두, Ph.
게시됨 Aug 30, 2021
마지막 업데이트: 2026년 3월 8일

대중문화에는 반역적인 인공지능과 로봇, 인간 주인에게 반기를 드는 장치들에 대한 암시가 많습니다. 이는 공상과학의 재미와 환상에 깊이 스며들어 있지만, 사물인터넷과 가정 내 연결된 기기들이 점점 더 중요해짐에 따라 사이버 보안과 안전에 대한 논의도 함께 이루어져야 합니다. 소프트웨어는 우리 주변 어디에나 존재하며, 혁신과 편의를 제공하는 모든 지능형 기능을 수행하기 위해 우리가 얼마나 많은 코드 줄에 의존하는지 잊기 쉽습니다. 웹 기반 소프트웨어, API, 모바일 기기와 마찬가지로 임베디드 시스템의 취약한 코드도 공격자가 발견할 경우 악용될 수 있습니다.

비록 마이크로파 군대가 인류를 노예화할 가능성은 희박하지만( 테슬라봇은 다소 우려스럽긴 해도), 사이버 공격의 결과로 악의적인 사이버 사건이 여전히 발생할 수 있습니다. 일부 자동차, 항공기 및 의료 기기는 중요한 작업을 수행하는 데 복잡한 임베디드 시스템 코드에 의존하고 있습니다. 이러한 대상들이 침해당할 가능성은 단순히 경각심을 불러일으키는 수준을 넘어 잠재적으로 생명을 위협할 수 있습니다.

다른 모든 소프트웨어와 마찬가지로 개발자들은 제작 단계 초기에 코드를 직접 다루는 첫 번째 주체들입니다. 그리고 다른 모든 소프트웨어와 마찬가지로 이는 제품 출시 전까지 발견되지 않을 수 있는 교묘하고 빈번하게 발생하는 보안 취약점의 온상이 될 수 있습니다.

개발자는 보안 전문가가 아니며, 기업도 그들이 그 역할을 수행할 것을 기대해서는 안 됩니다. 그러나 개발자에게는 자신들에게 관련된 위협 유형을 방어할 수 있는 훨씬 더 강력한 도구들을 제공할 수 있습니다. 우리의 기술적 요구사항이 지속적으로 발전함에 따라, 일반적으로 C 및 C++로 작성된 임베디드 시스템의 사용은 점점 더 보편화될 것입니다. 따라서 해당 환경의 도구에 대한 개발자 대상 맞춤형 보안 교육은 필수적입니다.

폭발하는 에어프라이어, 악당 차량... 우리는 쉬운 먹잇감인가?

전체적인 안전한 개발을 위한 몇 가지 표준과 규정이 존재하지만, 우리를 보호하기 위해서는 모든 종류의 소프트웨어 보안 분야에서 훨씬 더 정밀하고 의미 있는 진전을 이뤄야 합니다. 누군가가 에어프라이어를 해킹하여 발생할 수 있는 문제를 상상하는 것은 터무니없어 보일 수 있지만, 원격 코드 실행 공격(위협 행위자가 온도를 위험한 수준으로 높일 수 있게 하는) 형태로 실제로 발생했습니다. 차량 장악으로 이어지는 보안 취약점 역시 마찬가지입니다.

특히 차량은 여러 내장 시스템이 탑재되어 있어 매우 복잡합니다. 각 시스템은 자동 와이퍼부터 엔진 및 제동 기능에 이르기까지 미세 기능을 담당합니다. 연결된 차량은 와이파이, 블루투스, GPS 등 지속적으로 증가하는 통신 기술과 얽혀 있으며, 수많은 공격 경로에 노출된 복잡한 디지털 인프라를 형성합니다. 2023년까지 전 세계적으로 약 7,630만 대의 연결 차량이 도로를 주행할 것으로 예상되며, 이는 진정한 보안을 보장하기 위한 방어 기반의 거대한 구조물을 의미합니다.

MISRA는 임베디드 시스템의 위협에 적극적으로 대응하고, 임베디드 시스템 관련 코드의 안전성, 이식성 및 신뢰성을 촉진하기 위한 지침을 개발한 중요한 기관입니다. 이러한 지침은 모든 기업이 임베디드 시스템 프로젝트에서 추구해야 할 표준의 핵심 요소입니다.

그러나 이 최고 기준에 부합하는 코드를 작성하고 실행하려면, 보안에 민감한 것은 물론이고 해당 도구에 능숙한 임베디드 시스템 엔지니어가 필요합니다.

임베디드 시스템의 보안 강화가 왜 그렇게 특정한가?

C 및 C++ 프로그래밍 언어는 오늘날의 기준으로 볼 때 노후화되었지만 여전히 널리 사용되고 있습니다. 이 언어들은 임베디드 시스템 코드베이스의 핵심을 이루며, 네트워크 연결 기기 세계의 일부로서 임베디드 C/C++는 현대적인 활력을 유지하고 있습니다.

이러한 언어들은 상당히 오래된 기원을 가지고 있으며, 주입 오류나 버퍼 오버플로우와 같은 흔히 발생하는 문제에 대해 유사한 보안 특성을 보이지만, 임베디드 시스템의 보안 취약점을 진정으로 효과적으로 해결하기 위해서는 개발자들이 작업 환경을 모방한 코드에 대한 실질적인 경험을 쌓아야 합니다. 일반적인 보안 관행에 대한 일반적인 C 교육은 임베디드 C 환경에서 작업하는 데 추가적인 시간과 주의를 기울이는 것만큼 효과적이고 기억에 남지 않을 것입니다.

현대식 차량에는 12개에서 100개가 넘는 임베디드 시스템이 탑재되어 있으므로, 개발자가 IDE 내에서 직접 주의해야 할 사항과 문제 해결 방법을 정확히 교육받는 것이 필수적입니다.

임베디드 C/C++에서 비즈니스 로직의 오류는 어떻게 보일까요? 주변을 둘러보고 전문가처럼 오류를 식별하고 수정할 수 있는지 확인해 보세요.

지상층부터 시작된 임베디드 시스템의 보호는 모두의 책임입니다.

많은 조직에서 현 상태는 개발 속도가 보안보다 중요하다는 점입니다. 적어도 개발자의 책임 측면에서는 그렇습니다. 개발자들은 안전한 코드를 작성하는 능력으로 평가받는 경우는 드물지만, 훌륭한 기능을 빠르게 개발하는 것이 최고의 기준으로 여겨집니다. 소프트웨어에 대한 수요는 계속 증가할 것이지만, 이러한 문화는 보안 취약점과 그로 인한 사이버 공격과의 싸움에서 우리가 필연적으로 패배할 수밖에 없는 상황을 만들어 왔습니다.

개발자가 교육을 받지 못했다면 그건 개발자의 잘못이 아니며, 이는 앱 보안 팀의 누군가가 전체 개발자 커뮤니티에 적합하고 접근 가능하며(평가 가능한 것은 말할 것도 없이) 적절한 교육 프로그램을 추천함으로써 메워야 할 공백입니다. 소프트웨어 개발 프로젝트 초기 단계부터 보안은 최우선 순위가 되어야 하며, 모든 구성원—특히 개발자—는 자신의 역할을 수행하는 데 필요한 사항을 반드시 인지해야 합니다.

임베디드 시스템의 보안 문제에 대한 실용적 접근법

버퍼 오버플로, 주입 오류 및 비즈니스 로직 오류는 모두 임베디드 시스템 개발 시 흔히 발생하는 함정입니다. 단일 차량이나 장치 내 마이크로컨트롤러의 복잡한 구조 깊숙이 묻혀 있을 경우, 이는 안전상의 이유로 재앙을 초래할 수 있습니다.

버퍼 오버플로는 특히 흔한 오류이며, 앞서 언급한 에어프라이어가 어떻게 이 오류로 인해 취약해져 원격 코드 실행이 가능해졌는지 자세히 알고 싶다면 CVE-2020-28592에 대한 이 보고서를 참고하세요.

이제 실제 임베디드 C/C++ 코드에서 버퍼 오버플로 취약점을 구현해 볼 때입니다. 이 도전을 수행하여 이 교활한 결함으로 이어진 나쁜 코딩 패턴을 찾아내고, 식별하고, 수정할 수 있는지 확인해 보세요:

버퍼 오버플로우의 경로를 생성하십시오.



어떻게 지냈나요? 정확하고 효과적인 임베디드 시스템 보안 교육을 원하시면 www.securecodewarrior.com 를 방문하세요.

리소스 보기
리소스 보기

웹 기반 소프트웨어, API 및 모바일 기기와 마찬가지로, 임베디드 시스템의 취약한 코드는 공격자가 실제 환경에서 이를 발견할 경우 악용될 수 있습니다.

더 알고 싶으신가요?

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

더 알아보세요

Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

데모 예약하기
공유하기:
링크드인 브랜드사회적x 로고
저자
마티아스 마두, Ph.
게시됨 Aug 30, 2021

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

Matias는 15년 이상의 소프트웨어 보안 경험을 가진 연구원이자 개발자입니다. 그는 Fortify 소프트웨어와 같은 회사와 자신의 회사를 위한 솔루션을 개발했습니다. Sensei 안전. 그의 경력을 통해, Matias는 상용 제품으로 주도하고 자신의 벨트 아래 10 개 이상의 특허를 자랑하는 여러 응용 프로그램 보안 연구 프로젝트를 주도하고있다. 마티아스는 책상에서 떨어져 있을 때 고급 응용 프로그램 보안 교육을 위한 강사로 일했습니다. courses RSA 컨퍼런스, 블랙 햇, 데프콘, BSIMM, OWASP AppSec 및 브루콘을 포함한 글로벌 컨퍼런스에서 정기적으로 강연합니다.

마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 프로그램 난독화를 통해 응용 프로그램 보안을 연구하여 응용 프로그램의 내부 작동을 숨깁니다.

공유하기:
링크드인 브랜드사회적x 로고

대중문화에는 반역적인 인공지능과 로봇, 인간 주인에게 반기를 드는 장치들에 대한 암시가 많습니다. 이는 공상과학의 재미와 환상에 깊이 스며들어 있지만, 사물인터넷과 가정 내 연결된 기기들이 점점 더 중요해짐에 따라 사이버 보안과 안전에 대한 논의도 함께 이루어져야 합니다. 소프트웨어는 우리 주변 어디에나 존재하며, 혁신과 편의를 제공하는 모든 지능형 기능을 수행하기 위해 우리가 얼마나 많은 코드 줄에 의존하는지 잊기 쉽습니다. 웹 기반 소프트웨어, API, 모바일 기기와 마찬가지로 임베디드 시스템의 취약한 코드도 공격자가 발견할 경우 악용될 수 있습니다.

비록 마이크로파 군대가 인류를 노예화할 가능성은 희박하지만( 테슬라봇은 다소 우려스럽긴 해도), 사이버 공격의 결과로 악의적인 사이버 사건이 여전히 발생할 수 있습니다. 일부 자동차, 항공기 및 의료 기기는 중요한 작업을 수행하는 데 복잡한 임베디드 시스템 코드에 의존하고 있습니다. 이러한 대상들이 침해당할 가능성은 단순히 경각심을 불러일으키는 수준을 넘어 잠재적으로 생명을 위협할 수 있습니다.

다른 모든 소프트웨어와 마찬가지로 개발자들은 제작 단계 초기에 코드를 직접 다루는 첫 번째 주체들입니다. 그리고 다른 모든 소프트웨어와 마찬가지로 이는 제품 출시 전까지 발견되지 않을 수 있는 교묘하고 빈번하게 발생하는 보안 취약점의 온상이 될 수 있습니다.

개발자는 보안 전문가가 아니며, 기업도 그들이 그 역할을 수행할 것을 기대해서는 안 됩니다. 그러나 개발자에게는 자신들에게 관련된 위협 유형을 방어할 수 있는 훨씬 더 강력한 도구들을 제공할 수 있습니다. 우리의 기술적 요구사항이 지속적으로 발전함에 따라, 일반적으로 C 및 C++로 작성된 임베디드 시스템의 사용은 점점 더 보편화될 것입니다. 따라서 해당 환경의 도구에 대한 개발자 대상 맞춤형 보안 교육은 필수적입니다.

폭발하는 에어프라이어, 악당 차량... 우리는 쉬운 먹잇감인가?

전체적인 안전한 개발을 위한 몇 가지 표준과 규정이 존재하지만, 우리를 보호하기 위해서는 모든 종류의 소프트웨어 보안 분야에서 훨씬 더 정밀하고 의미 있는 진전을 이뤄야 합니다. 누군가가 에어프라이어를 해킹하여 발생할 수 있는 문제를 상상하는 것은 터무니없어 보일 수 있지만, 원격 코드 실행 공격(위협 행위자가 온도를 위험한 수준으로 높일 수 있게 하는) 형태로 실제로 발생했습니다. 차량 장악으로 이어지는 보안 취약점 역시 마찬가지입니다.

특히 차량은 여러 내장 시스템이 탑재되어 있어 매우 복잡합니다. 각 시스템은 자동 와이퍼부터 엔진 및 제동 기능에 이르기까지 미세 기능을 담당합니다. 연결된 차량은 와이파이, 블루투스, GPS 등 지속적으로 증가하는 통신 기술과 얽혀 있으며, 수많은 공격 경로에 노출된 복잡한 디지털 인프라를 형성합니다. 2023년까지 전 세계적으로 약 7,630만 대의 연결 차량이 도로를 주행할 것으로 예상되며, 이는 진정한 보안을 보장하기 위한 방어 기반의 거대한 구조물을 의미합니다.

MISRA는 임베디드 시스템의 위협에 적극적으로 대응하고, 임베디드 시스템 관련 코드의 안전성, 이식성 및 신뢰성을 촉진하기 위한 지침을 개발한 중요한 기관입니다. 이러한 지침은 모든 기업이 임베디드 시스템 프로젝트에서 추구해야 할 표준의 핵심 요소입니다.

그러나 이 최고 기준에 부합하는 코드를 작성하고 실행하려면, 보안에 민감한 것은 물론이고 해당 도구에 능숙한 임베디드 시스템 엔지니어가 필요합니다.

임베디드 시스템의 보안 강화가 왜 그렇게 특정한가?

C 및 C++ 프로그래밍 언어는 오늘날의 기준으로 볼 때 노후화되었지만 여전히 널리 사용되고 있습니다. 이 언어들은 임베디드 시스템 코드베이스의 핵심을 이루며, 네트워크 연결 기기 세계의 일부로서 임베디드 C/C++는 현대적인 활력을 유지하고 있습니다.

이러한 언어들은 상당히 오래된 기원을 가지고 있으며, 주입 오류나 버퍼 오버플로우와 같은 흔히 발생하는 문제에 대해 유사한 보안 특성을 보이지만, 임베디드 시스템의 보안 취약점을 진정으로 효과적으로 해결하기 위해서는 개발자들이 작업 환경을 모방한 코드에 대한 실질적인 경험을 쌓아야 합니다. 일반적인 보안 관행에 대한 일반적인 C 교육은 임베디드 C 환경에서 작업하는 데 추가적인 시간과 주의를 기울이는 것만큼 효과적이고 기억에 남지 않을 것입니다.

현대식 차량에는 12개에서 100개가 넘는 임베디드 시스템이 탑재되어 있으므로, 개발자가 IDE 내에서 직접 주의해야 할 사항과 문제 해결 방법을 정확히 교육받는 것이 필수적입니다.

임베디드 C/C++에서 비즈니스 로직의 오류는 어떻게 보일까요? 주변을 둘러보고 전문가처럼 오류를 식별하고 수정할 수 있는지 확인해 보세요.

지상층부터 시작된 임베디드 시스템의 보호는 모두의 책임입니다.

많은 조직에서 현 상태는 개발 속도가 보안보다 중요하다는 점입니다. 적어도 개발자의 책임 측면에서는 그렇습니다. 개발자들은 안전한 코드를 작성하는 능력으로 평가받는 경우는 드물지만, 훌륭한 기능을 빠르게 개발하는 것이 최고의 기준으로 여겨집니다. 소프트웨어에 대한 수요는 계속 증가할 것이지만, 이러한 문화는 보안 취약점과 그로 인한 사이버 공격과의 싸움에서 우리가 필연적으로 패배할 수밖에 없는 상황을 만들어 왔습니다.

개발자가 교육을 받지 못했다면 그건 개발자의 잘못이 아니며, 이는 앱 보안 팀의 누군가가 전체 개발자 커뮤니티에 적합하고 접근 가능하며(평가 가능한 것은 말할 것도 없이) 적절한 교육 프로그램을 추천함으로써 메워야 할 공백입니다. 소프트웨어 개발 프로젝트 초기 단계부터 보안은 최우선 순위가 되어야 하며, 모든 구성원—특히 개발자—는 자신의 역할을 수행하는 데 필요한 사항을 반드시 인지해야 합니다.

임베디드 시스템의 보안 문제에 대한 실용적 접근법

버퍼 오버플로, 주입 오류 및 비즈니스 로직 오류는 모두 임베디드 시스템 개발 시 흔히 발생하는 함정입니다. 단일 차량이나 장치 내 마이크로컨트롤러의 복잡한 구조 깊숙이 묻혀 있을 경우, 이는 안전상의 이유로 재앙을 초래할 수 있습니다.

버퍼 오버플로는 특히 흔한 오류이며, 앞서 언급한 에어프라이어가 어떻게 이 오류로 인해 취약해져 원격 코드 실행이 가능해졌는지 자세히 알고 싶다면 CVE-2020-28592에 대한 이 보고서를 참고하세요.

이제 실제 임베디드 C/C++ 코드에서 버퍼 오버플로 취약점을 구현해 볼 때입니다. 이 도전을 수행하여 이 교활한 결함으로 이어진 나쁜 코딩 패턴을 찾아내고, 식별하고, 수정할 수 있는지 확인해 보세요:

버퍼 오버플로우의 경로를 생성하십시오.



어떻게 지냈나요? 정확하고 효과적인 임베디드 시스템 보안 교육을 원하시면 www.securecodewarrior.com 를 방문하세요.

리소스 보기
리소스 보기

아래 양식을 작성하여 보고서를 다운로드하십시오.

귀하의 허락을 받아 당사 제품 및 안전한 코딩과 관련된 주제에 대한 정보를 보내드리고자 합니다. 당사는 귀하의 개인정보를 항상 세심하게 처리하며, 마케팅 목적으로 타사에 판매하지 않습니다.

제출
scw 성공 아이콘
scw 오류 아이콘
양식을 제출하려면 '분석' 쿠키를 활성화해 주십시오. 완료 후에는 언제든지 다시 비활성화할 수 있습니다.

대중문화에는 반역적인 인공지능과 로봇, 인간 주인에게 반기를 드는 장치들에 대한 암시가 많습니다. 이는 공상과학의 재미와 환상에 깊이 스며들어 있지만, 사물인터넷과 가정 내 연결된 기기들이 점점 더 중요해짐에 따라 사이버 보안과 안전에 대한 논의도 함께 이루어져야 합니다. 소프트웨어는 우리 주변 어디에나 존재하며, 혁신과 편의를 제공하는 모든 지능형 기능을 수행하기 위해 우리가 얼마나 많은 코드 줄에 의존하는지 잊기 쉽습니다. 웹 기반 소프트웨어, API, 모바일 기기와 마찬가지로 임베디드 시스템의 취약한 코드도 공격자가 발견할 경우 악용될 수 있습니다.

비록 마이크로파 군대가 인류를 노예화할 가능성은 희박하지만( 테슬라봇은 다소 우려스럽긴 해도), 사이버 공격의 결과로 악의적인 사이버 사건이 여전히 발생할 수 있습니다. 일부 자동차, 항공기 및 의료 기기는 중요한 작업을 수행하는 데 복잡한 임베디드 시스템 코드에 의존하고 있습니다. 이러한 대상들이 침해당할 가능성은 단순히 경각심을 불러일으키는 수준을 넘어 잠재적으로 생명을 위협할 수 있습니다.

다른 모든 소프트웨어와 마찬가지로 개발자들은 제작 단계 초기에 코드를 직접 다루는 첫 번째 주체들입니다. 그리고 다른 모든 소프트웨어와 마찬가지로 이는 제품 출시 전까지 발견되지 않을 수 있는 교묘하고 빈번하게 발생하는 보안 취약점의 온상이 될 수 있습니다.

개발자는 보안 전문가가 아니며, 기업도 그들이 그 역할을 수행할 것을 기대해서는 안 됩니다. 그러나 개발자에게는 자신들에게 관련된 위협 유형을 방어할 수 있는 훨씬 더 강력한 도구들을 제공할 수 있습니다. 우리의 기술적 요구사항이 지속적으로 발전함에 따라, 일반적으로 C 및 C++로 작성된 임베디드 시스템의 사용은 점점 더 보편화될 것입니다. 따라서 해당 환경의 도구에 대한 개발자 대상 맞춤형 보안 교육은 필수적입니다.

폭발하는 에어프라이어, 악당 차량... 우리는 쉬운 먹잇감인가?

전체적인 안전한 개발을 위한 몇 가지 표준과 규정이 존재하지만, 우리를 보호하기 위해서는 모든 종류의 소프트웨어 보안 분야에서 훨씬 더 정밀하고 의미 있는 진전을 이뤄야 합니다. 누군가가 에어프라이어를 해킹하여 발생할 수 있는 문제를 상상하는 것은 터무니없어 보일 수 있지만, 원격 코드 실행 공격(위협 행위자가 온도를 위험한 수준으로 높일 수 있게 하는) 형태로 실제로 발생했습니다. 차량 장악으로 이어지는 보안 취약점 역시 마찬가지입니다.

특히 차량은 여러 내장 시스템이 탑재되어 있어 매우 복잡합니다. 각 시스템은 자동 와이퍼부터 엔진 및 제동 기능에 이르기까지 미세 기능을 담당합니다. 연결된 차량은 와이파이, 블루투스, GPS 등 지속적으로 증가하는 통신 기술과 얽혀 있으며, 수많은 공격 경로에 노출된 복잡한 디지털 인프라를 형성합니다. 2023년까지 전 세계적으로 약 7,630만 대의 연결 차량이 도로를 주행할 것으로 예상되며, 이는 진정한 보안을 보장하기 위한 방어 기반의 거대한 구조물을 의미합니다.

MISRA는 임베디드 시스템의 위협에 적극적으로 대응하고, 임베디드 시스템 관련 코드의 안전성, 이식성 및 신뢰성을 촉진하기 위한 지침을 개발한 중요한 기관입니다. 이러한 지침은 모든 기업이 임베디드 시스템 프로젝트에서 추구해야 할 표준의 핵심 요소입니다.

그러나 이 최고 기준에 부합하는 코드를 작성하고 실행하려면, 보안에 민감한 것은 물론이고 해당 도구에 능숙한 임베디드 시스템 엔지니어가 필요합니다.

임베디드 시스템의 보안 강화가 왜 그렇게 특정한가?

C 및 C++ 프로그래밍 언어는 오늘날의 기준으로 볼 때 노후화되었지만 여전히 널리 사용되고 있습니다. 이 언어들은 임베디드 시스템 코드베이스의 핵심을 이루며, 네트워크 연결 기기 세계의 일부로서 임베디드 C/C++는 현대적인 활력을 유지하고 있습니다.

이러한 언어들은 상당히 오래된 기원을 가지고 있으며, 주입 오류나 버퍼 오버플로우와 같은 흔히 발생하는 문제에 대해 유사한 보안 특성을 보이지만, 임베디드 시스템의 보안 취약점을 진정으로 효과적으로 해결하기 위해서는 개발자들이 작업 환경을 모방한 코드에 대한 실질적인 경험을 쌓아야 합니다. 일반적인 보안 관행에 대한 일반적인 C 교육은 임베디드 C 환경에서 작업하는 데 추가적인 시간과 주의를 기울이는 것만큼 효과적이고 기억에 남지 않을 것입니다.

현대식 차량에는 12개에서 100개가 넘는 임베디드 시스템이 탑재되어 있으므로, 개발자가 IDE 내에서 직접 주의해야 할 사항과 문제 해결 방법을 정확히 교육받는 것이 필수적입니다.

임베디드 C/C++에서 비즈니스 로직의 오류는 어떻게 보일까요? 주변을 둘러보고 전문가처럼 오류를 식별하고 수정할 수 있는지 확인해 보세요.

지상층부터 시작된 임베디드 시스템의 보호는 모두의 책임입니다.

많은 조직에서 현 상태는 개발 속도가 보안보다 중요하다는 점입니다. 적어도 개발자의 책임 측면에서는 그렇습니다. 개발자들은 안전한 코드를 작성하는 능력으로 평가받는 경우는 드물지만, 훌륭한 기능을 빠르게 개발하는 것이 최고의 기준으로 여겨집니다. 소프트웨어에 대한 수요는 계속 증가할 것이지만, 이러한 문화는 보안 취약점과 그로 인한 사이버 공격과의 싸움에서 우리가 필연적으로 패배할 수밖에 없는 상황을 만들어 왔습니다.

개발자가 교육을 받지 못했다면 그건 개발자의 잘못이 아니며, 이는 앱 보안 팀의 누군가가 전체 개발자 커뮤니티에 적합하고 접근 가능하며(평가 가능한 것은 말할 것도 없이) 적절한 교육 프로그램을 추천함으로써 메워야 할 공백입니다. 소프트웨어 개발 프로젝트 초기 단계부터 보안은 최우선 순위가 되어야 하며, 모든 구성원—특히 개발자—는 자신의 역할을 수행하는 데 필요한 사항을 반드시 인지해야 합니다.

임베디드 시스템의 보안 문제에 대한 실용적 접근법

버퍼 오버플로, 주입 오류 및 비즈니스 로직 오류는 모두 임베디드 시스템 개발 시 흔히 발생하는 함정입니다. 단일 차량이나 장치 내 마이크로컨트롤러의 복잡한 구조 깊숙이 묻혀 있을 경우, 이는 안전상의 이유로 재앙을 초래할 수 있습니다.

버퍼 오버플로는 특히 흔한 오류이며, 앞서 언급한 에어프라이어가 어떻게 이 오류로 인해 취약해져 원격 코드 실행이 가능해졌는지 자세히 알고 싶다면 CVE-2020-28592에 대한 이 보고서를 참고하세요.

이제 실제 임베디드 C/C++ 코드에서 버퍼 오버플로 취약점을 구현해 볼 때입니다. 이 도전을 수행하여 이 교활한 결함으로 이어진 나쁜 코딩 패턴을 찾아내고, 식별하고, 수정할 수 있는지 확인해 보세요:

버퍼 오버플로우의 경로를 생성하십시오.



어떻게 지냈나요? 정확하고 효과적인 임베디드 시스템 보안 교육을 원하시면 www.securecodewarrior.com 를 방문하세요.

웨비나 시청하기
시작하세요
더 알아보세요

아래 링크를 클릭하여 이 자료의 PDF를 다운로드하십시오.

Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

보고서 보기데모 예약하기
리소스 보기
공유하기:
링크드인 브랜드사회적x 로고
더 알고 싶으신가요?

공유하기:
링크드인 브랜드사회적x 로고
저자
마티아스 마두, Ph.
게시됨 Aug 30, 2021

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

Matias는 15년 이상의 소프트웨어 보안 경험을 가진 연구원이자 개발자입니다. 그는 Fortify 소프트웨어와 같은 회사와 자신의 회사를 위한 솔루션을 개발했습니다. Sensei 안전. 그의 경력을 통해, Matias는 상용 제품으로 주도하고 자신의 벨트 아래 10 개 이상의 특허를 자랑하는 여러 응용 프로그램 보안 연구 프로젝트를 주도하고있다. 마티아스는 책상에서 떨어져 있을 때 고급 응용 프로그램 보안 교육을 위한 강사로 일했습니다. courses RSA 컨퍼런스, 블랙 햇, 데프콘, BSIMM, OWASP AppSec 및 브루콘을 포함한 글로벌 컨퍼런스에서 정기적으로 강연합니다.

마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 프로그램 난독화를 통해 응용 프로그램 보안을 연구하여 응용 프로그램의 내부 작동을 숨깁니다.

공유하기:
링크드인 브랜드사회적x 로고

대중문화에는 반역적인 인공지능과 로봇, 인간 주인에게 반기를 드는 장치들에 대한 암시가 많습니다. 이는 공상과학의 재미와 환상에 깊이 스며들어 있지만, 사물인터넷과 가정 내 연결된 기기들이 점점 더 중요해짐에 따라 사이버 보안과 안전에 대한 논의도 함께 이루어져야 합니다. 소프트웨어는 우리 주변 어디에나 존재하며, 혁신과 편의를 제공하는 모든 지능형 기능을 수행하기 위해 우리가 얼마나 많은 코드 줄에 의존하는지 잊기 쉽습니다. 웹 기반 소프트웨어, API, 모바일 기기와 마찬가지로 임베디드 시스템의 취약한 코드도 공격자가 발견할 경우 악용될 수 있습니다.

비록 마이크로파 군대가 인류를 노예화할 가능성은 희박하지만( 테슬라봇은 다소 우려스럽긴 해도), 사이버 공격의 결과로 악의적인 사이버 사건이 여전히 발생할 수 있습니다. 일부 자동차, 항공기 및 의료 기기는 중요한 작업을 수행하는 데 복잡한 임베디드 시스템 코드에 의존하고 있습니다. 이러한 대상들이 침해당할 가능성은 단순히 경각심을 불러일으키는 수준을 넘어 잠재적으로 생명을 위협할 수 있습니다.

다른 모든 소프트웨어와 마찬가지로 개발자들은 제작 단계 초기에 코드를 직접 다루는 첫 번째 주체들입니다. 그리고 다른 모든 소프트웨어와 마찬가지로 이는 제품 출시 전까지 발견되지 않을 수 있는 교묘하고 빈번하게 발생하는 보안 취약점의 온상이 될 수 있습니다.

개발자는 보안 전문가가 아니며, 기업도 그들이 그 역할을 수행할 것을 기대해서는 안 됩니다. 그러나 개발자에게는 자신들에게 관련된 위협 유형을 방어할 수 있는 훨씬 더 강력한 도구들을 제공할 수 있습니다. 우리의 기술적 요구사항이 지속적으로 발전함에 따라, 일반적으로 C 및 C++로 작성된 임베디드 시스템의 사용은 점점 더 보편화될 것입니다. 따라서 해당 환경의 도구에 대한 개발자 대상 맞춤형 보안 교육은 필수적입니다.

폭발하는 에어프라이어, 악당 차량... 우리는 쉬운 먹잇감인가?

전체적인 안전한 개발을 위한 몇 가지 표준과 규정이 존재하지만, 우리를 보호하기 위해서는 모든 종류의 소프트웨어 보안 분야에서 훨씬 더 정밀하고 의미 있는 진전을 이뤄야 합니다. 누군가가 에어프라이어를 해킹하여 발생할 수 있는 문제를 상상하는 것은 터무니없어 보일 수 있지만, 원격 코드 실행 공격(위협 행위자가 온도를 위험한 수준으로 높일 수 있게 하는) 형태로 실제로 발생했습니다. 차량 장악으로 이어지는 보안 취약점 역시 마찬가지입니다.

특히 차량은 여러 내장 시스템이 탑재되어 있어 매우 복잡합니다. 각 시스템은 자동 와이퍼부터 엔진 및 제동 기능에 이르기까지 미세 기능을 담당합니다. 연결된 차량은 와이파이, 블루투스, GPS 등 지속적으로 증가하는 통신 기술과 얽혀 있으며, 수많은 공격 경로에 노출된 복잡한 디지털 인프라를 형성합니다. 2023년까지 전 세계적으로 약 7,630만 대의 연결 차량이 도로를 주행할 것으로 예상되며, 이는 진정한 보안을 보장하기 위한 방어 기반의 거대한 구조물을 의미합니다.

MISRA는 임베디드 시스템의 위협에 적극적으로 대응하고, 임베디드 시스템 관련 코드의 안전성, 이식성 및 신뢰성을 촉진하기 위한 지침을 개발한 중요한 기관입니다. 이러한 지침은 모든 기업이 임베디드 시스템 프로젝트에서 추구해야 할 표준의 핵심 요소입니다.

그러나 이 최고 기준에 부합하는 코드를 작성하고 실행하려면, 보안에 민감한 것은 물론이고 해당 도구에 능숙한 임베디드 시스템 엔지니어가 필요합니다.

임베디드 시스템의 보안 강화가 왜 그렇게 특정한가?

C 및 C++ 프로그래밍 언어는 오늘날의 기준으로 볼 때 노후화되었지만 여전히 널리 사용되고 있습니다. 이 언어들은 임베디드 시스템 코드베이스의 핵심을 이루며, 네트워크 연결 기기 세계의 일부로서 임베디드 C/C++는 현대적인 활력을 유지하고 있습니다.

이러한 언어들은 상당히 오래된 기원을 가지고 있으며, 주입 오류나 버퍼 오버플로우와 같은 흔히 발생하는 문제에 대해 유사한 보안 특성을 보이지만, 임베디드 시스템의 보안 취약점을 진정으로 효과적으로 해결하기 위해서는 개발자들이 작업 환경을 모방한 코드에 대한 실질적인 경험을 쌓아야 합니다. 일반적인 보안 관행에 대한 일반적인 C 교육은 임베디드 C 환경에서 작업하는 데 추가적인 시간과 주의를 기울이는 것만큼 효과적이고 기억에 남지 않을 것입니다.

현대식 차량에는 12개에서 100개가 넘는 임베디드 시스템이 탑재되어 있으므로, 개발자가 IDE 내에서 직접 주의해야 할 사항과 문제 해결 방법을 정확히 교육받는 것이 필수적입니다.

임베디드 C/C++에서 비즈니스 로직의 오류는 어떻게 보일까요? 주변을 둘러보고 전문가처럼 오류를 식별하고 수정할 수 있는지 확인해 보세요.

지상층부터 시작된 임베디드 시스템의 보호는 모두의 책임입니다.

많은 조직에서 현 상태는 개발 속도가 보안보다 중요하다는 점입니다. 적어도 개발자의 책임 측면에서는 그렇습니다. 개발자들은 안전한 코드를 작성하는 능력으로 평가받는 경우는 드물지만, 훌륭한 기능을 빠르게 개발하는 것이 최고의 기준으로 여겨집니다. 소프트웨어에 대한 수요는 계속 증가할 것이지만, 이러한 문화는 보안 취약점과 그로 인한 사이버 공격과의 싸움에서 우리가 필연적으로 패배할 수밖에 없는 상황을 만들어 왔습니다.

개발자가 교육을 받지 못했다면 그건 개발자의 잘못이 아니며, 이는 앱 보안 팀의 누군가가 전체 개발자 커뮤니티에 적합하고 접근 가능하며(평가 가능한 것은 말할 것도 없이) 적절한 교육 프로그램을 추천함으로써 메워야 할 공백입니다. 소프트웨어 개발 프로젝트 초기 단계부터 보안은 최우선 순위가 되어야 하며, 모든 구성원—특히 개발자—는 자신의 역할을 수행하는 데 필요한 사항을 반드시 인지해야 합니다.

임베디드 시스템의 보안 문제에 대한 실용적 접근법

버퍼 오버플로, 주입 오류 및 비즈니스 로직 오류는 모두 임베디드 시스템 개발 시 흔히 발생하는 함정입니다. 단일 차량이나 장치 내 마이크로컨트롤러의 복잡한 구조 깊숙이 묻혀 있을 경우, 이는 안전상의 이유로 재앙을 초래할 수 있습니다.

버퍼 오버플로는 특히 흔한 오류이며, 앞서 언급한 에어프라이어가 어떻게 이 오류로 인해 취약해져 원격 코드 실행이 가능해졌는지 자세히 알고 싶다면 CVE-2020-28592에 대한 이 보고서를 참고하세요.

이제 실제 임베디드 C/C++ 코드에서 버퍼 오버플로 취약점을 구현해 볼 때입니다. 이 도전을 수행하여 이 교활한 결함으로 이어진 나쁜 코딩 패턴을 찾아내고, 식별하고, 수정할 수 있는지 확인해 보세요:

버퍼 오버플로우의 경로를 생성하십시오.



어떻게 지냈나요? 정확하고 효과적인 임베디드 시스템 보안 교육을 원하시면 www.securecodewarrior.com 를 방문하세요.

목차

PDF 다운로드
리소스 보기
더 알고 싶으신가요?

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

더 알아보세요

Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

데모 예약하기다운로드
공유하기:
링크드인 브랜드사회적x 로고
자원 허브

시작을 위한 자료

더 많은 글
자원 허브

시작을 위한 자료

더 많은 글