Arm 취약점 완화 조치: IoT 기기 보안을 위한 필수 단계
회사 IRnewsroom.arm.com (미 동부 01:38)수정 AI 번역·요약원문 보기 ↗기사 중요도 높음
AI 요약 · 핵심 3줄
- ARM은 개발자들이 보안 코드를 작성하도록 지원하며, 이는 ARM 기반 기기의 보안성을 높여 잠재적 공격으로부터 보호하는 데 중요한 역할을 합니다.
Arm 기술, 우리 삶 깊숙이… 보안 취약점은 ‘치명적 약점’
스마트폰, 스마트워치, 자동차 인포테인먼트 시스템, 심지어 가정용 라우터까지. 우리가 일상에서 사용하는 수많은 기기에 Arm의 기술이 탑재되어 있습니다. 사물인터넷(IoT) 기기부터 엣지 서버, 슈퍼컴퓨터에 이르기까지 Arm은 짧은 시간 안에 컴퓨팅 시장 전반으로 영향력을 확대했습니다. 하지만 Arm 기술의 보편화는 곧 보안에 대한 책임감 증대를 의미합니다. Arm 기반 기기가 많아질수록 악의적인 공격자들의 표적이 될 가능성도 커지기 때문입니다.
Arm은 이러한 보안 위협에 대응하기 위해 개발자들에게 Arm 기반 하드웨어, 컴파일러, 운영체제에서 작성된 코드가 최대한 안전하도록 만드는 방법에 대한 심층적인 지식을 제공하는 데 힘쓰고 있습니다. 이는 ‘아무리 강력한 네트워크라도 가장 약한 고리 하나 때문에 전체가 무너질 수 있다’는 보안 격언과 맥을 같이 합니다. 특히 여러 IoT 기기가 연결된 현대 가정에서는 취약한 기기를 통한 외부 침입을 막는 것이 그 어느 때보다 중요합니다. 기업 역시 선택한 IoT 하드웨어가 내부 네트워크를 공격에 노출시키지 않을 것이라는 확신이 필요합니다.
다행히 Arm은 소프트웨어 개발자들이 Arm 하드웨어, 컴파일러, 운영체제를 최대한 안전하게 유지할 수 있도록 돕는 강력한 보안 대책들을 제공합니다. 이러한 대책들은 ‘Arm 익스플로잇 완화(Arm exploit mitigation)’라는 이름으로, 대부분 빌드 스크립트에서 몇 가지 명령줄 옵션만으로 적용 가능합니다. 적은 노력으로도 기기 제조사들은 Arm 익스플로잇 완화 기술을 활용하여 새롭게 출시되는 수십억 개의 기기를 보호하는 데 기여할 수 있습니다.
**Arm 익스플로잇 완화 기술의 배포: 왜 중요하며 어떻게 작동하는가**
Azeria Labs 블로그는 처음부터 IoT 기기에 대한 저수준(바이너리 수준) 연구를 시작하려는 보안 연구원들에게 자료를 제공하는 데 초점을 맞췄습니다. 하지만 시간이 지나면서 IoT 기기의 취약점 자체뿐만 아니라, 최신 IoT 기기에서 보안 기능이 제대로 활성화되지 않는다는 점이 큰 문제임을 깨달았습니다. 이러한 완화 기술들이 접근하기 쉽고 중요함에도 불구하고, 실제로는 널리 활성화되지 않고 있다는 사실은 안타까운 현실입니다. 심지어 유명 브랜드의 소비자 및 IoT 기기에서도 수년간 존재해 온 기본적인 Arm 익스플로잇 완화 기술이 구현되지 않은 경우가 많습니다.
2018년, Cisco의 Talos 사이버 보안 부서는 한 선도적인 스마트 홈 허브 제조사의 기기에서 20가지의 취약점을 발견했습니다. 이 중 단 하나의 취약점만으로도 해커는 홈 카메라, 스마트 도어록, 온도 조절 장치, 가정용 경보 시스템 등 허브에 연결된 모든 기기를 제어할 수 있었습니다. 이러한 이유로 필자는 Arm과 협력하여 Arm 익스플로잇 완화 기술이 어떻게 작동하는지, 무엇을 방지하는지, Arm 기기에서 어떻게 활성화할 수 있는지, 그리고 이들을 결합하는 것의 중요성에 대해 개발자들을 교육하고 있습니다.
먼저, ‘취약점’이란 무엇이며 악의적인 공격자는 이를 어떻게 악용할 수 있는지 살펴보겠습니다.
**취약점의 다양한 형태와 메모리 손상**
취약점은 다양한 형태로 나타납니다. 많은 취약점은 오랫동안 알려져 온 안전하지 않은 함수 사용에서 비롯됩니다. 대표적인 예로 C 언어의 `strcpy()` 함수를 들 수 있습니다. 이 함수는 문자열을 한 메모리 위치에서 다른 위치로 복사합니다. 하지만 공격자가 제공하는 문자열이 대상 버퍼보다 클 경우 ‘버퍼 오버플로우’가 발생하며, 공격자는 프로그램 흐름을 장악할 수 있습니다. `strcpy()`는 앞서 언급한 스마트 홈 허브에서 발견된 20가지 취약점 중 하나였습니다.
버퍼 오버플로우는 ‘메모리 손상(memory corruption)’ 취약점이라는 소프트웨어 결함의 한 종류입니다. 이는 새로운 문제가 아니며, 1988년의 Morris Worm이 초기 메모리 버퍼 악용 사례 중 하나입니다. 안타깝게도 30년 이상이 지난 지금도 메모리 손상 문제는 사라지지 않았습니다. 최근 전 세계를 강타한 WannaCry 랜섬웨어 공격 역시 파일 및 장치 공유 프로토콜인 SMB의 메모리 손상 취약점에서 비롯되었습니다.
해커들은 메모리 손상 취약점을 이용해 취약한 기기를 제어하는 익스플로잇을 만듭니다. 일단 침투에 성공하면 해커는 권한을 상승시켜 기기를 완전히 장악할 수 있습니다. 민감한 데이터를 추출하거나, 랜섬웨어를 설치하거나, 기기에 지속적인 스파이웨어를 심거나, 연결된 회사 네트워크를 공격하는 데 사용될 수 있습니다. 2016년 Dyn에 대한 분산 서비스 거부(DDoS) 공격 당시 발생했던 Mirai 봇넷처럼, 기기가 글로벌 봇넷에 편입되어 다른 사이트를 공격하는 데 사용될 수도 있습니다. 당시 이 공격으로 Amazon, PayPal, Netflix, Twitter 등이 일시적으로 서비스 중단되기도 했습니다.
**취약점 제거: 어려운 과제, 그러나 불가능은 아니다**
개발자들이 취약한 코드를 작성하지 않도록 더욱 주의를 기울여야 한다고 말하기 쉽습니다. 하지만 오래된 코드베이스와 수백만 줄의 코드로 이루어진 서드파티 구성 요소 때문에 이는 말처럼 쉽지 않습니다. 또한, 개발자가 안전하지 않은 함수를 더 안전한 버전으로 교체하더라도 해당 수정을 잘못 구현할 경우 실수는 여전히 발생할 수 있습니다. 예를 들어, `strcpy()`를 더 안전한 `strlcpy()` 함수로 교체하더라도, 대상 버퍼 크기를 추적하는 `size` 매개변수가 잘못 지정될 수 있습니다. 단 한 번의 실수가 전체 시스템을 무너뜨릴 수 있습니다.
소프트웨어에서 모든 메모리 손상 취약점을 제거하는 것이 어렵다는 것은 분명하지만, 희망이 없는 것은 아닙니다. 공격자가 이러한 취약점을 악용하기 훨씬 어렵게 만드는 도구와 기술이 존재합니다.
**Arm 익스플로잇 완화: 해킹을 어렵게 만드는 방패**
Arm 익스플로잇 완화 기술은 컴파일러, 프로세서, 운영체제 수준에서 구현됩니다. 이러한 기술이 취약점 자체를 제거하지는 않지만, 많은 종류의 소프트웨어 취약점을 악용하는 난이도를 극적으로 높일 수 있습니다.
예를 들어, ‘주소 공간 배치 무작위화(Address Space Layout Randomization, ASLR)’ 완화 기술은 기기 메모리에서 주요 코드와 데이터의 위치를 무작위로 변경하여, 공격자가 익스플로잇을 만드는 데 사용할 구성 요소의 주소를 예측하기 어렵게 만듭니다.
개별적인 완화 기술만으로는 해킹을 약간 어렵게 만드는 정도입니다. 하지만 이러한 기술들을 결합하면 메모리 손상 취약점을 악용하는 전체적인 난이도가 극적으로 증가하여, 공격자는 성공적인 악용을 위해 훨씬 더 창의적이거나 더 많은 버그를 찾아야 합니다.
어떤 경우에는 이러한 기술들의 결합이 필수적입니다. Arm의 ‘실행 금지(Execute Never, XN)’ 익스플로잇 완화 기술은 메모리 영역을 실행 가능한 코드를 포함하지 않는 것으로 태그를 지정하여, 수십 년간 해커들이 사용해 온 가장 단순한 악용 기법을 방지합니다. 이 기술은 널리 사용되지만, 안타깝게도 해커들은 이를 우회하는 기법을 개발해 왔습니다. 하지만 다른 Arm 익스플로잇 완화 기술과 결합하면 여전히 공격에 유용한 도구가 될 수 있습니다.
**개발자 여러분께: 보안은 선택이 아닌 필수**
모든 개발자가 스스로 보안 전문가가 될 수는 없으며, 그렇게 기대해서도 안 됩니다. 많은 개발자가 직면하는 시간 및 예산 제약을 고려하는 것이 중요합니다. 문제는 많은 기업이 기능 구현에만 집중하고 보안 기능 구현을 개발의 부차적인 문제로 취급한다는 것입니다.
수년간 필자는 Arm 익스플로잇 완화 기술의 존재와 목적을 모르거나, 자신들의 기기가 기업 네트워크와 가정을 얼마나 심각한 위험에 노출시킬 수 있는지, 그리고 기기가 악용되어 내년 가장 큰 봇넷의 일부가 되었을 때 회사에 미칠 파장을 고려하지 않은 많은 개발자들을 만나왔습니다. 일부 개발자들은 잠재적인 성능 영향에 대해 우려하기도 합니다. 대부분의 완화 기술은 미미한 오버헤드를 발생시킵니다. 물론 예외도 있습니다. Spectre 패치의 일부 완화 기술은 상당한 성능 저하를 초래했습니다. 하지만 대부분의 보안 기능은 성능 영향을 최소화하고 버퍼 오버플로우 및 관련 익스플로잇 범주에 대한 진입 장벽을 크게 높이도록 최적화되어 있습니다. ASLR 및 Arm의 포인터 인증(Pointer Authentication)의 반환 주소 서명과 같은 기술은 0.5% 미만의 오버헤드를 가집니다.
어떤 Arm 익스플로잇 완화 기술을 어떻게, 그리고 무엇을 활성화해야 할지 확신이 없는 개발자라면, ‘PSA Certified’를 좋은 시작점으로 삼을 수 있습니다. 이는 Arm이 만든 프레임워크(Platform Security Architecture 기반)로, 개발자들이 복잡한 보안 설계 세계를 탐색하고, 시스템에 대한 위협을 식별하며, 구현해야 할 완화 조치를 추천 및 설명하고, 구현을 독립적으로 평가하도록 안내합니다. 예를 들어, 소프트웨어 보안 조치는 보안 펌웨어와 개인 정보를 애플리케이션의 나머지 부분과 분리해야 한다고 명시합니다.
Azeria Labs의 주요 사업은 컨설팅 및 기술 기업과 정부를 대상으로 리버스 엔지니어링 및 보안 관련 교육을 제공하는 것이지만, 필자는 취약점과 Arm 익스플로잇 완화 기술을 배우고 싶어 하는 개발자들을 위한 워크숍에 정기적으로 자원봉사하고 있습니다. 또한, 제 워크숍에 참석할 수 없는 많은 사람들도 있다는 것을 알고 있습니다. 필자의 다가오는 책 시리즈는 보안 연구원과 개발자 모두에게 바이너리 분석, 취약점 분석, Arm 익스플로잇 완화를 위한 Arm 어셈블리 내부 구조에 대한 심층적인 이해를 제공할 것입니다.
AI 분석 · 긍정/부정 요인 펼치기
주요 사실
- IoT 기기 보안 강화 기술 제공
- ARM 기술의 광범위한 보급
- 개발자 대상 보안 코딩 지원
- ARM 기반 기기 보안성 향상
AI 분석 근거근거 충분성: 충분
이 섹션은 현재 저장된 출처, 요약, 요인, 하이라이트를 기준으로 AI 분석이 무엇에 기대고 있는지 보여줍니다. 정보 제공용이며 정확성 보장, 투자 자문, 매수·매도 추천이 아닙니다. 중요한 판단 전 원문과 최신 공시를 확인하세요.
사용된 요인
- •주요 사실 — IoT 기기 보안 강화 기술 제공
- •주요 사실 — ARM 기술의 광범위한 보급
- •주요 사실 — 개발자 대상 보안 코딩 지원
저장된 하이라이트
- “보안 강화
- “광범위한 보급
참고 문맥
Arm 기술, 우리 삶 깊숙이… 보안 취약점은 ‘치명적 약점’ 스마트폰, 스마트워치, 자동차 인포테인먼트 시스템, 심지어 가정용 라우터까지. 우리가 일상에서 사용하는 수많은 기기에 Arm의 기술이 탑재되어 있습니다. 사물인터넷(IoT) 기기부터 엣지 서버, 슈퍼컴퓨터에 이르기까지 Arm은 짧은 시간 안에 컴퓨팅 시장 전반으로 영향력을 확대했습니다. 하지만 Arm 기술의 보편화는 곧 보안에 대…