IoT에서 오픈소스 소프트웨어 보안: 소프트웨어 위험 완화
전 세계에 70억 IoT 디바이스가 있습니다. CAST의 레브 레소킨(Lev Lesokhin)은 2025년까지 이 수가 3배로 늘어 215억 대에 달할 것으로 예측합니다. 급속한 성장은 제조사들이 소프트웨어 품질을 희생하며 제품을 그 어느 때보다 빠르게 출시하도록 부추겼습니다.
시장 출시 시간을 단축하기 위해 많은 기업이 깃허브(GitHub), 아파치(Apache) 등 오픈소스 커뮤니티의 기성 패키지에 의존합니다. 그러나 CAST의 2018 소프트웨어 인텔리전스 리포트에서 알 수 있듯, 이들 프로젝트 상당수가 보안 규정 준수에 미달합니다.
오픈소스 코드는 견고한 내장 보안을 갖추지 못하는 경우가 많습니다. 출하 급급함에 기업은 철저한 보안 검토를 생략할 수 있으며, 이로 인해 70억 대 모든 디바이스가 공격자에게 취약해집니다.
엔터프라이즈급 트랜잭션 시스템과 달리, 많은 IoT 펌웨어는 기능보다 데이터 보호를 주안점으로 두지 않는 임베디드 소프트웨어 엔지니어로부터 나옵니다. 이 불일치로 많은 개발자가 민감 데이터를 보호하는 데 필요한 전문 기술을 갖추지 못합니다.
누구나 오픈소스에 기여할 수 있으므로 보안과 품질 표준이 준수되도록 보장하는 것은 본질적으로 어렵습니다. 비효율적, 엉성하거나 악의적인 코드가 눈에 띄지 않게 통과할 수 있습니다.
구매자는 이러한 약점을 거의 인지하지 못합니다. IoT 디바이스를 비즈니스 효율성 도구로 볼 뿐, 소유자를 공격하는 무기로 무기화될 잠재적 벡터로는 보지 않습니다.
세상의 눈이 당신의 코드를 주시한다
독점적 사내 코드에도 결함이 있을 수 있지만, 일반적으로 계약된 개발자만 봅니다. 독점 소스는 비공개이며 외부의 시선에서 차단됩니다. 반면 오픈소스는 공개적으로 접근 가능합니다. 잠재적 공격자를 포함해 누구나 채택 전에 코드를 검토할 수 있습니다.
2013년 타겟(Target)은 기후 제어 시스템의 결함을 악용한 공격으로 2억 2천만 달러(약 1,940억 원) 규모의 신용카드 유출 사고를 겪었습니다. 공급업체 자격증명이 도난당했고 배포 시 변경되지 않은 채로 남아 설치된 모든 장치가 노출되었습니다.
자신을 점검하지 않으면 망한다
취약성을 완전히 제거할 수는 없지만, 다음 세 가지 핵심 단계를 따르면 발생 가능성을 줄일 수 있습니다.
1. 소프트웨어 혈통을 이해하라. 제조사는 정확히 어떤 코드를 출하하는지 알아야 합니다. 책임 있게 사용하면 오픈소스는 귀중하지만, 그 출처를 소스까지 추적하고 알려진 취약성과 대조해야 합니다.
2. 보안에 충분한 시간을 할당하라. 제조 후 수정은 비용이 많이 들고 종종 효과가 없습니다. 타겟 사례는 기기가 현장에 나간 후 잔존 결함을 공격자가 얼마나 쉽게 악용할 수 있는지 보여줍니다.
3. 엔드투엔드 분석을 수행하라. 전체 코드베이스를 스캔하고, 강조된 약점을 신속히 해결하며, 기술 부채를 제거합니다. 목표는 수년간 최종 사용자를 보호하는 회복탄력성 있는 시스템을 만드는 것입니다.
결국 타겟의 기후 제어 공급업체는 여전히 조사 중이며, 지속 비용이 약 1,850만 달러(약 163억 원)에 달합니다. 이러한 값비싼 실수는 피할 수 있었고, 피해야 했습니다.
본 블로그 저자는 CAST의 전략 및 분석 담당 EVP 레브 레소킨(Lev Lesokhin)입니다.