IoT 사이버 보안 지침 내용과 활용 방법

IoT 사이버 보안 지침 내용과 활용 방법
Cozy CodingPosted On Jul 9, 202410 min read

이 글은 ACM FSE 2024(PACSME)에서 발표된 연구 논문 "IoT 사이버 보안 가이드라인의 내용과 유용성에 관한 연구"에 대한 간략한 설명입니다. 본 연구는 Jesse Chen이 이끈 연구로, 아리조나 대학(첸, 라만)과 퍼듀 대학(아난다유바라지, 데이비스)의 협력을 대표합니다. 전체 논문은 여기에서 확인할 수 있습니다.

요약

사물인터넷(IoT) 시스템은 스마트 커피 머신이나 건조기와 같은 소규모 시스템부터 스마트 신호등과 댐과 같은 대규모 시스템까지 제어합니다. 이러한 필요성을 인식하여 많은 다양한 기관들이 IoT 장치의 사이버 보안을 향상시키는 방법에 대한 가이드라인을 발표했습니다. "IoT 사이버 보안을 위한 가이드라인"과 같은 제목의 100개 이상의 공식 문서가 있습니다. 이러한 문서들은 그들의 주장을 뒷받침할 증거를 제공하지 않습니다. 그들의 내용과 가치가 비판적으로 조사되지 않았습니다. 이러한 문서들이 어떤 주제와 권고사항을 다루는지, 현실 세계의 IoT 실패를 미리 방지하는 데 효과적인지 알 수 없습니다.

이러한 문서 안에 어떤 내용이 있는지 이해하고 엔지니어들이 이를 주목해야 하는지 알아보기 위해 142개의 IoT 사이버 보안 가이드라인을 수집한 후 무작위로 샘플을 조사했습니다. 대부분의 가이드라인은 구체적인 충고를 제공합니다: 87.2%의 권고사항이 실행 가능하며 38.7%의 권고사항이 특정 위협을 방지할 수 있습니다. 우리는 958개의 고유한 권고사항을 식별했습니다. 각 가이드라인을 비교해보면, 각 가이드라인은 주제 커버리지와 종합성에 결함이 있습니다. 우리는 뉴스 매체와 사이버 보안 보고서에서 주요 IoT 실패 몇 가지를 "수동 검증"하고, (1) 우리의 뉴스 기사 코퍼스의 17가지 실패에 대해 가이드라인의 합이 모두 완화되었음을 발견했고, (2) 21%의 CVE가 가이드라인을 회피하고, (3) 개별적으로는 특정 가이드라인의 성능이 특히 우수하지는 않았습니다. 요약하자면, 우리는 각 가이드라인의 깊이와 폭에 상당한 결점을 발견했지만, 전체적으로는 주요 보안 문제에 대처할 수 있습니다.

배경

IoT: 정의 및 엔지니어링 영향

인터넷 물건(Internet of Things, IoT) 시스템은 당신의 일상 속에 어디에나 있습니다. 우리는 이러한 시스템을 이전에 "임베디드 시스템"이라고 불렀고, 그 후 인터넷에 연결하기 시작했습니다. 이러한 시스템은 우리의 가정(냉장고, 오븐, 세탁기), 비즈니스(출입 카드 시스템, 근로시간 기록부), 교통(신호등, 동적 속도 제한 표지판), 전력 생산(댐) 등을 제어합니다. IoT 시스템을 개발하는 엔지니어들은 경제적 발전과 안전에 책임이 있습니다. IoT 시스템에 내장된 지능의 많음은 소프트웨어 기반입니다. 디바이스가 센서를 읽고 결과를 처리하며 서로 또는 클라우드 내부의 원격 지능과 통신할 수 있는 기능을 제공하려면 하드웨어가 필요합니다. 그러나 그들이 하는 것은 소프트웨어로 결정됩니다. (개인적인 측면에서, 이것이 제가 처음으로 소프트웨어 엔지니어링을 시작한 이유입니다!)

소프트웨어 산업은 정확성과 사이버 보안의 좋은 업적을 갖고 있지 않습니다. 일반적으로 속도를 내고 문제를 해결하라는 말이 있지만, 이것은 결과물에 영향이 작을 때에만 윤리적입니다(예: 게임이 작동을 멈춤). 그러나 결과물에 큰 영향을 미칠 때 — 세탁기가 불에 타거나, 댐 모니터링이 실패하거나, 신호등이 모두 초록색을 보일 때 — 우리는 천천히 진행하고 사람을 죽이지 않아야 합니다.

IoT 보안 지침

IoT는 전통적인 임베디드 시스템을 인터넷에 연결하기 때문에, 본 논문에서는 임베디드 시스템 전문가들이 안전을 유지하는 방법을 이미 알고 있다고 가정합니다. 대신에 보안에 집중합니다 — 인터넷 연결로 인해 신뢰되지 않는 사람들이 기기를 볼 수 있고, 부적절하게 상호 작용하거나 제어할 수 없도록 보장해야 합니다.

IoT 보안을 촉진하기 위해 많은 조직이 IoT 보안 지침을 발표했습니다. 이러한 조직에는 정부 기관인 NIST, 상업 회사인 Microsoft, 비영리 무역 단체인 Cloud Security Alliance (CSA), 그리고 전기전자기기공학회 (IEEE)와 같은 전문 기관이 포함됩니다.

본 논문에서 IoT 보안 지침을 "최상의 실천" 권장 사항으로 정의했습니다. 즉, 제품 보호 및 사용을 보장하기 위한 보안 기능과 보안을 위한 공학 및 운영 프로세스를 포함합니다. 이러한 지침은 일반적이거나 도메인별일 수 있습니다 (예: 의료). 도메인별 지침은 일반적인 지침을 보완합니다. 이러한 일반적인 지침은 IoT를 일련의 기기가 어떤 네트워크를 통해 연결된 장치 또는 시스템으로 정의합니다 (예: 인터넷, 블루투스). 따라서 그들의 위협 모델은 비슷하며, 네트워크 위협 (예: 중간자 공격)과 기기 위협 (예: 무단 접속)으로 구성됩니다.

다양한 정부가 이러한 지침을 의무화하기 위해 움직이고 있습니다. 미국에서는 주당 입법(예: 캘리포니아, 오리건, 버진아주)과 IoT 보안을 규제하기 위한 국가 단위의 입법이 있었습니다. 영국, 싱가포르, 그리고 유럽 연합과 같은 다른 국가들도 IoT 보안을 규제하기 위한 입법을 시행했습니다. 또한, 개별 기업들도 특정 지침을 채택하고 있습니다. 예를 들어, 2023년에 GE Gas Power는 NIST Framework for Improving Critical Infrastructure Cybersecurity를 채택했습니다.

우리가 알고 싶은 것은?

IoT 사이버 보안 지침은 널리 채택되고 있지만, 그것들을 비판적으로 검토한 연구는 많지 않습니다. 이전 연구들은 그 내용(다루는 주제와 세부 수준)이나 실제 IoT 보안 실패의 완화에 대한 유용성을 완전히 설명하지 않습니다.

본 연구에서는 특히 일반적인 지침을 살펴보았으며, 다음 네 가지 질문을 제기했습니다:

테마 I: 가이드라인 내용.

  • 개별 IoT 가이드라인은 얼마나 포괄적인가요? (커버하는 범위와 심도)
  • 전체적으로 어떤 주제가 다루어지나요? 발행자 유형에 따라 커버리지가 어떻게 다를까요?
  • 권장 사항이 구체적으로 실행 가능하고, 특정 보안 위협, 취약점 또는 공격 표면을 다루기 충분히 명확한가요?
  • 이러한 가이드라인이 실제 보안 문제를 예방할 정도로 충분한가요?

접근 방법

다음 그림은 우리가 가이드라인 내용을 이해하는 방법을 보여줍니다. 왼쪽에서 시작해 IoT 사이버보안 가이드라인 다량이 있습니다. 이제 뭘 해야 할까요?

  • 142개의 지침 문서 더미나, 3,804 페이지의 콘텐츠가 쌓여 있었습니다. 당연히 우리는 그 모두를 읽을 수 없었죠!
  • 우리가 연구를 수행한 당시에는 대규모 언어 모델(Large Language Models, LLMs)이 아직 개발되지 않았기 때문에 그것을 활용하여 자동화하려고 시도할 수 없었습니다.
  • 그래서 우리는 반복적으로 하나를 선택하여 그것이 하는 권고사항을 추출하고, 이를 지식 트리에 삽입하기로 결정했습니다.
  • 우리는 한 번에 한 가지씩 진행하다가 새로운 권고사항을 더 이상 보지 못할 때까지 중단했습니다. 이 방법은 포화가 될 때까지 샘플링하는 방식이라고 합니다.

이미지1

작업을 마치면, 우리는 다음 그림과 같은 지식 트리를 얻었습니다.

이미지2

전체 트리를 만들어 모든 다양한 지침들이 동등한 용어와 구조를 사용하도록 했습니다. 전체 트리는 모든 지침을 통해 모든 반복이 제거된 완전한 콘텐츠를 보여줍니다. 분석한 각 지침은 이 트리의 하위 트리를 포함하고 있으며, 모든 지침은 IoT 보안 권장사항을 포함하고 있습니다. 일부는 조직적 프로세스를 설명하고, 그 일부는 IoT 인프라를 위한 프로세스를 설명하며, 또 그 일부는 네트워크 구성에 대해 이야기합니다.

지침은 얼마나 체계적인가요?

따라서 각 지침별 지식 트리를 통합된 버전과 비교함으로써, 각 지침의 강점과 약점을 이해할 수 있습니다. 또한 여러 지침을 읽는 이점을 고려해볼 수 있습니다 (모두 같은 내용을 말하는 건가요?).

그런 다음 전체 트리를 고려하면, 특정 실패 사례 (뉴스 기사 및 사이버 보안 보고서에서)를 살펴보고, 해당 실패의 원인이 엔지니어들이 트리의 전체 권장사항을 따랐다면 완화될 수 있는지 확인해 볼 수 있습니다.

대부분의 가이드라인은 다양한 카테고리를 다루지 않으며 세부사항에 대해 자세히 다루지 않는 경향이 있습니다. 그러나 이러한 가이드라인들은 많은 주제를 다루고 있으며, 이를 모두 종합하면 꽤 유용한 지식을 얻을 수 있습니다! 이것은 우리가 통합된 지식 트리를 다루면서, 우리의 통합된 지식 트리가 개별 가이드라인보다 훨씬 넓고 깊다는 것을 보여주는 다음 도표에서 나타납니다.

Unified Tree of Knowledge

기억해 주세요. 우리는 새로운 지식을 추가한 것이 아니라 기존 지식을 조직화했습니다. 따라서 우리의 트리가 개별 트리보다 훨씬 깊고 넓다는 사실은 그 안에 많은 지식이 있다는 것을 보여줍니다. 단지 누군가(아흠)가 그것을 정리하는 데 애를 쓴다면 말이죠.

얼마나 잘 실패를 예방할 수 있을까요?

과거 사건을 분석함으로써 이에 대한 답을 찾을 수 있습니다. 회고적 연구는 전망적 연구를 실시하는 것이 불가능하거나 불필요한 경우 다른 많은 연구 분야 (예: 헬스케어, 의학, 심리학 등) 에서 사용되는 관측 연구의 한 형태입니다. 이 작업에서는 과거 사건들이 '공통 취약점 및 노출' (CVEs)에 기록된 보안 취약성과 뉴스 매체에서 보고된 현실 실패들을 살펴봅니다. 각 CVE 또는 실패에 대해 해당 사건을 사전에 예방할 수 있는 우리의 지식 트리에서 권장 사항을 찾습니다.

몇 가지 CVE가 필요합니다

우리는 IoT 관련 사이버 보안 실패(CVE라고 함)가 우리의 지식 트리의 권장 사항을 따르면 방지될 수 있었는지 이해하고 싶었습니다. 이를 추정하는 것이 약간 까다로웠습니다. 우리는 사람들이 절대로 실수를 하지 않는다고 가정하고 싶지 않기 때문입니다. 사이버 보안 취약성이 엔지니어들이 잘못된 계획을 가지고 있었기 때문인지(설계 오류) 아니면 제대로된 계획을 가지고 있었지만 실수를 한 것인지(구현 오류) 여부로 인해 발생했는지에 대해 생각해 보았습니다.

  • 우리는 버퍼 오버플로 같은 구현 단계에서의 실수로 인한 CVE는 정적 분석 수행이나 안전한 프로그래밍 언어 사용과 같은 권장 사항을 따를지라도 완전히 피할 수 없고 최소화할 수만 있다고 생각합니다.
  • 반면에, 하드 코딩된 시스템 암호를 포함하는 장치와 같은 설계 결함으로 인한 CVE는 해당 권장 사항이 존재한다면 방지할 수 있습니다.

그래서 우리는 디자인 결함에만 집중하기로 했습니다. 이를 위해 한 명의 저자가 각 CVE를 독립적으로 디자인 오류 또는 실행 오류로 분류하고, 그런 다음 다른 저자와 함께 레이블을 논의하여 합의했습니다. 우리는 158개의 CVE로 시작했고, 61개의 실행 오류를 걸러내어 97개의 디자인 오류 CVE를 남겼습니다.

뉴스에서 몇 가지 실패 사례가 필요합니다

이것은 더 쉬웠습니다. Google 뉴스에서 키워드 검색을 사용하여 IoT 시스템의 사이버 보안 실패에 대한 자세한 내용을 갖춘 기사를 선정했습니다. 우리는 17개의 뉴스 기사를 찾았습니다 (13개는 Wired에서, 4개는 뉴욕 타임스에서). 이 17개의 기사에서는 33개의 실패 원인과 29개의 보수 권고사항이 나왔습니다. 대부분의 기사는 여러 실패 원인과 여러 보수 권고사항을 나열했습니다. 이러한 기사는 보통 디자인 오류와 실행 오류를 구별할 수있을만큼 충분한 세부 정보를 제공하지는 않습니다. 반면, 이는 프로세스 수준의 오류를 포함하고 있지만, CVE는 기술적 측면만을 논의합니다.

결과

저희 방법론은 과거 사례를 분석하여, 특정 CVE 또는 뉴스 기사가 공학자들이 우리의 지식 체계를 따를 경우 방지될 수 있는 원인을 설명하는지 확인하려고 합니다. 각 주제에 대해, 우리는 해당 주제와 가장 관련된 범주를 선택하여 추천 사항(잎 노드)에 도달할 때까지 순회합니다. 이 단계는 가장 관련 있는 추천 사항 세트를 찾는 데 도움을 줍니다. 해당하는 범주가 없는 경우 해당하는 추천 사항이 없다는 점을 유의하십시오. 디바이스 권장 사항은 디자인 실수 CVE에만 매칭되고, 뉴스에는 디바이스 및 프로세스 권장 사항 모두가 매치됩니다.

CVE에 대해서, 우리는 지식 트리의 하나 이상의 권장 사항을 97개의 디자인 오류 CVE 중 77개 또는 79%에 매칭했습니다.

  • 매칭된 CVE의 예: CVE-2021-33218을 고려해 보십시오: "...쉘 액세스를 제공하는 하드 코딩된 시스템 비밀번호가 있습니다.". 이 CVE는 다음 권장 사항에 의해 완화될 수 있었습니다: "보안 매개변수 및 비밀번호는 소스 코드에 하드 코딩되거나 로컬 파일에 저장되지 않아야 합니다.".
  • 매칭되지 않은 CVE의 예: CVE-2021-27943을 고려해 보십시오: "...브루트 포스 공격에 취약한 쌍을 만드는 절차가 있으며(단지 10000가지 가능성에 대한), 위협자가 기기를 강제적으로 쌍을 맺고 TV 설정 및 구성을 원격으로 제어할 수 있습니다.". 브루트 포스 계정 로그인을 방지하는 추천 사항이 있었지만, 기기 쌍 만드는 데 브루트 포스를 방지하는 추천 사항은 없었습니다. 모든 IoT 기기가 반드시 해당 쌍 만들기 기능이 필요한 것은 아니지만, 네트워크에 연결하는 방법 중 하나이며, 이는 정의상 모든 IoT 기기가 갖춘 능력입니다.

우리의 지식 트리는 잘 작동했지만, 개별 지침은 그렇지 않았습니다. 대부분의 지침(24/25)은 개별 CVE 커버리지가 40% 미만이었으며, 가장 성능이 좋은 것도 62%의 커버리지를 가지고 있었습니다.

각 뉴스 기사마다 연구된 17개 기사의 모두를 완화하거나 방지했을 것으로 추측되는 권고사항을 적어도 하나 발견했습니다.

  • 다룬 기사의 예시: 와이어드(Wired) 기사에서는 iTrack와 ProTrack 두 GPS 추적 앱의 보안 취약점을 다루었습니다. 이러한 앱들은 Concox사의 GT06N 같은 GPS 추적장치를 장착한 차량들을 추적하는 데 사용됩니다. 기사에 따르면 이러한 앱들은 수천 대의 차량에 불법 접근을 통해 무단 접속을 가능하게 했습니다. 이 취약점으로 인해 차량의 안전에 중요한 역할을 하는 기능들에 접속이 노출되었습니다. 이 기사에서는 두 가지 실패 요인을 설명했습니다: (1) 기본 암호가 모든 계정에서 활성화되었고, (2) GPS 추적 장치 접근이 안전에 중요한 기능(엔진 가동/정지)과 격리되지 않았습니다. 우리는 이 실패 요인들을 완화할 수 있는 8가지 권고사항을 찾았습니다. 이들은 인증(Authentication) 및 네트워크 분할(Network Segmentation) 범주에서 나왔습니다. 이 중에서 인증(Authentication)에서는 "각 장치마다 고유한 기본 암호를 가져야 합니다"라는 것이 있었고, 네트워크 분할(Network Segmentation)에서는 "[네트워크 요소를 분리하여] 보안 침해를 격리하고 전반적인 위험을 최소화하기 위해 네트워크 요소를 분리"하라는 것이 있었습니다.

우리의 지식 트리는 잘 작동했지만, 개별 지침은 좋지 않았습니다. 25개 중 19개가 40%의 커버리지를 보였으며, 25개 중 6개는 0%의 커버리지를 보였습니다. 최상의 성과는 60% 미만이었습니다.

우리는 처절한가? ("토론")

여기서 배운 것들을 정리해보겠습니다:

  • IoT는 한 가지 지침으로는 충분히 아우르기 힘들다: 우리의 종합 분석 결과, 대부분의 IoT 지침에는 약점이 드러났습니다. 심지어 모든 지침을 통합한 후에도 우리의 유용성 분석 결과, 우리가 보유한 취약점(CVE)의 21%를 완화하지 못한다는 것을 보여줍니다. 우리는 IoT 기술이 너무 다양하여 일반적인 IoT 정의로는 제대로 포착하기 어렵다고 제안합니다. 예를 들어, 6가지의 지침이 IoT를 인터넷이나 네트워크에 연결되어 물리 세계와 데이터와 상호작용하는 모든 것으로 정의합니다. 우리는 개별적인 지침이 심지어 비밀번호와 같은 일반 주제에 대해서도 충분하지 않다는 것을 발견했습니다. 따라서 우리는 지침 발행자들이 기술적인 범위가 더 넓은 도메인별 지침을 개발하도록 제안합니다. 보안을 정의하는 것은 맥락이 필요합니다. 보안 지침은 실행 가능한 수준의 맥락을 정의해야 합니다.
  • 지침 작성자는 기업이 우선순위를 정할 수 있도록 도와야 합니다: 보안 엔지니어링은 무료가 아닙니다. 보안 권고사항을 따르는 것은 관련 비용 때문에 어려워지고 있습니다. 우리의 통합된 지식 트리에는 958개의 고유한 권고사항이 포함되어 있습니다. 기업이 이러한 많은 권고사항을 추적하는 것은 쉬운 일이 아닙니다. 그렇기에 우리는 지침 제공자가 중요성에 기반한 권고사항에 대한 우선순위 점수를 포함시키는 것을 제안합니다. IOTSF-2021과 IIC-2019만이 특정 보안 상태 충족을 위해 따를 권고사항에 대한 측정 항목을 제공했으므로 우선순위를 암시했습니다. 더 명확한 우선순위 설정은 제한된 규정 준수 예산을 갖고 있는 기업들에게 더 나은 비용 대비 안전성 교역을 용이하게 할 것입니다.
  • 입법자는 이러한 가이드라인이 좋은 것으로 가정해서는 안됩니다: 앞서 언급한 바와 같이, 입법자들은 IoT 엔지니어링 및 특히 IoT 사이버 보안을 규제하는 법률을 고려하고 있습니다. 입법자들이 검토하는 가이드라인은 법률의 포괄성을 결정할 수 있습니다! 우리가 조사한 가이드라인 중에는 합리적으로 포괄적인 것이 25개 중 4개뿐이고, 25개 중 19개의 가이드라인이 40% 미만의 커버리지로 새로운 이슈를 사전에 예방하지 못하는 것을 감안할 때, 현재의 현실은 우리에게 토대를 제공합니다.
  • 실무자들은 다수의 가이드라인을 참고해야 합니다: 대부분의 가이드라인이 충분하지 않기 때문에, 실무자들은 자신의 보안 우선순위에 따라 다수의 가이드라인을 참고해야 합니다. 일반적으로 가장 포괄적인 가이드라인은 정부와 산업 비영리 단체가 제공하는 것이므로 실무자들은 다른 출판사들보다 이러한 가이드라인을 우선시할 수 있습니다. 포괄성은 권고사항의 수와 페이지 수와 상관관계가 있습니다. 엔지니어들은 또한 현재 가이드라인이 이에 대해 도움이 되지 못한다는 것을 고려하여 어떤 보안 기능이나 프로세스가 그들에게 가장 영향을 미칠 것인지를 평가해야 합니다.

읽어 주셔서 감사합니다!

전문은 여기에서 확인하실 수 있습니다: 전문 보기. 지식 트리에 대해 더 알고 싶으시면 알려주시기 바랍니다. 웹에 올리기 위해 노력 중입니다!