IoT 현황
Gartner는 2020년까지 전 세계적으로 208억 대의 기기가 연결될 것으로 전망합니다. 사물 인터넷(IoT)에 연결되는 기기가 늘어나면서 서비스 제공업체는 새로운 수익원을 창출할 기회를 얻게 됩니다. 최종 사용자에게 IoT는 보안, 의료, 교육을 비롯한 다양한 분야에서 생산성과 품질을 획기적으로 향상할 수 있는 솔루션을 제공할 잠재력이 있습니다. 이러한 기회를 활용하려면 서비스 제공업체는 철저한 데이터 보호와 개인정보 보호, 사용자 안전을 보장하는 동시에 최적의 고객 경험을 제공해야 합니다.
그러나 이렇게 다양한 기기가 대규모로 연결되면 네트워크의 취약성도 커지며, 많은 기기가 해커와 서비스 거부 공격의 표적이 될 수 있습니다. IoT 기기는 메모리, 저장 공간, 컴퓨팅 리소스가 제한적인 경우가 많습니다. 복잡하고 지속적으로 발전하는 보안 알고리즘은 적은 CPU 사이클로 더 높은 처리 성능을 요구하므로, 이러한 제약으로 인해 이를 지원하기가 어렵습니다. 또한 연결된 기기의 수명이 암호화 기술의 유효 기간보다 길 수 있습니다.
2016년 2월에 실시된 설문조사와 보고서 『모바일 서비스 제공의 미래』에서 Heavy Reading의 수석 애널리스트인 짐 호지스는 서비스 제공업체가 가장 우려하는 보안 문제는 분산 서비스 거부(DDoS) 및 봇넷 공격으로 인한 서비스 중단이라고 지적했습니다. 그다음으로 우려되는 것은 외부 공격자가 사용자의 신원을 도용하면서 트래픽을 조작하는 시스템 무결성 관련 위협입니다.

IoT 보안에는 ID, 인증, 권한 부여라는 세 가지 개념이 핵심적입니다. ID는 클라이언트에 이름을 부여하고 권한을 제공하는 것과 관련됩니다. 인증은 클라이언트의 신원을 증명하는 것을 의미하며, 권한 부여는 클라이언트에 부여된 권한을 관리하는 것을 뜻합니다. 또한 실시간 인텔리전스 분석을 위한 디바이스 데이터 수집을 더욱 원활하게 하려면 IoT 통신 프로토콜에 대한 합의도 이루어져야 합니다.
IoT 메시지 프로토콜에는 다음과 같은 상위 수준의 기능이 포함되어야 합니다:
- 메시지 프로토콜 검증 및 DDoS 완화
- 다양한 IoT 프로토콜 변환을 지원하는 프로토콜 중재
- IoT 메시지 프로토콜 상호 운용성
- IoT 시그널링 폭주 탐지 및 방지
오늘날 널리 사용되는 대표적인 IoT 메시지 프로토콜은 MQTT(Message Queue Telemetry Transport)입니다. MQTT는 제조, 운송/자산 추적, 에너지, 커넥티드 홈 등 다양한 산업 분야에서 주요 전송 프로토콜로 사용됩니다. IBM, Microsoft, Amazon Web Services, Facebook Messenger 등의 기업과 서비스는 빠른 메시지 전송과 기기의 배터리 수명 절감을 위해 모두 MQTT를 사용합니다.
프로토콜 보안
MQTT 기본 사항
MQTT와 같은 IoT 프로토콜은 기기 간의 안전하고 신뢰할 수 있는 통신에 사용됩니다. MQTT는 전송 제어 프로토콜(TCP)을 기반으로 하며 전송 계층 보안(TLS)을 통해 보안을 강화할 수 있습니다. MQTT 프로토콜은 컴퓨팅 성능과 메모리 요구 사항이 낮도록 설계되었으며, 특정 IoT 애플리케이션에서 HTTP보다 훨씬 단순하고 작은 패킷 크기에 최적화되어 있습니다.
MQTT는 원래 원격 센서용으로 1999년에 개발되었지만, 발행-구독 모델을 기반으로 하는 다양한 IoT 애플리케이션에 활용되면서 새롭게 주목받고 있습니다. 디바이스/센서는 IoT 플랫폼(브로커)에 데이터를 ‘발행’하고, IoT 애플리케이션은 해당 사용 사례와 관련된 데이터를 ‘구독’합니다. 이렇게 발행되고 구독되는 데이터를 ‘토픽’이라고 하며, 사용 사례와 데이터 유형의 범주에 따라 계층 구조로 구성할 수 있습니다. 디바이스와 플랫폼 간의 연결 및 통신 방식은 각 사용 사례에 필요한 부하, 제어 및 보안에 영향을 미칩니다.
리소스가 제한된 IoT 장치에서 프로토콜을 최대한 경량으로 유지하기 위해 MQTT는 TCP 외에는 최소한의 보안 기능만 제공합니다. MQTT는 추가적인 인증 수준이 필요한 애플리케이션에 TLS 프로토콜을 사용할 것을 권장할 뿐입니다. 따라서 TCP에만 의존하는 MQTT 통신은 암호화되지 않으며 중간자 공격에 취약합니다.
MQTT 취약점
MQTT 프로토콜에는 여러 잠재적 취약점이 있습니다. 예를 들어, 개방된 포트는 네트워크와 장치 전반에 걸쳐 서비스 거부(DoS) 공격과 버퍼 오버플로 공격을 실행하는 데 악용될 수 있습니다. 연결된 IoT 장치 수와 지원되는 사용 사례에 따라 ‘토픽’ 구조가 매우 복잡해져 확장성 문제가 발생할 수 있습니다. MQTT 메시지 페이로드는 바이너리로 인코딩되므로 관련 애플리케이션 및 장치 유형 간에 상호 운용이 가능해야 합니다. 또한 MQTT 메시지의 사용자 이름과 비밀번호가 일반 텍스트로 전송된다는 점도 문제입니다.
MQTT 사양에 명시적으로 포함된 사항은 아니지만, IoT 플랫폼 브로커가 SSL/TLS 클라이언트 측 인증서를 사용한 클라이언트 인증을 지원하는 것이 일반적인 관행으로 자리 잡았습니다. SSL 및 TLS를 통한 전송 암호화는 올바르게 구현할 경우 데이터를 보호할 수 있습니다. 위협으로부터 보호하려면 사용자 ID, 비밀번호 및 기타 모든 유형의 자격 증명을 비롯한 민감한 데이터를 항상 암호화해야 합니다.
TLS, SSL 및 기타 암호화 방식을 사용할 때의 단점은 상당한 오버헤드가 발생할 수 있다는 것입니다. 하지만 TLS 세션 재개와 같은 기법을 사용하면 TLS 연결에 드는 비용을 어느 정도 줄일 수 있습니다. 하드웨어 가속도 암호화로 인한 크기 증가 부담을 줄이는 또 다른 방법입니다. 리소스가 제한된 장치에서 복잡한 애플리케이션을 실행하는 경우 최적화된 암호화 라이브러리가 매우 유용할 수 있습니다. 애플리케이션 코드가 큰 경우 암호화 라이브러리를 사용하면 처리에 필요한 메모리를 줄이고 성능을 높일 수 있습니다.
MQTT 아키텍처는 브로커의 고가용성에 의존합니다. 많은 클라이언트가 데이터베이스 조회나 웹 서비스 호출과 같은 브로커 서비스를 사용하려고 할 때, 클라이언트 인증에 X.509 인증서를 사용하면 브로커 측 리소스를 절약할 수 있습니다. MQTT를 TLS와 같은 최신 보안 표준과 결합하고 X.509 인증서를 사용하면 보안과 성능을 개선하는 데에도 도움이 됩니다.
엔드투엔드 IoT 애플리케이션 보안
IoT는 서비스 제공업체에 중요한 새로운 비즈니스 기회를 제공합니다. MQTT 메시징 프로토콜을 TLS로 보호하는 것은 중요한 보안 고려 사항이지만, 이 밖에도 악용될 수 있는 다양한 공격 경로가 존재합니다. 서비스 제공업체는 강력한 기기 인증과 권한 부여, 통신 경로 접근에 대한 네트워크 차원의 정책 적용을 통해 엔드투엔드 보안을 보장해야 합니다. 또한 안전과 개인정보 보호를 위한 데이터 암호화는 최적의 고객 경험을 제공하고 서비스 제공업체의 수익원을 확보하는 데 매우 중요합니다.

작성자 소개
관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.