IoT 공격, 각 영역별 맞춤형 대응방안이 필요하다

SK인포섹, IoT 4개 영역으로 분류해 각 영역별 보안위협 대응방안 제시

2019-04-10     이승윤 기자

[CCTV뉴스=이승윤 기자] 사물인터넷(IoT)는 네트워크를 통해 인간과 디바이스, 디바이스와 디바이스 간 유기적으로 연결되기 때문에 IoT 공격에서 안전한 환경을 구성하기 위해서는 기업 보안처럼 하나의 보안 플랫폼을 갖추는 것이 아닌 각 IoT 영역별 맞춤 대응 방안이 필요하다. 국내 정보보안 기업 SK 인포섹은 ‘사물인터넷(IoT) 보안 가이드’를 통해 IoT 보안을 4가지 영역으로 분류하고 각영역 맞춤형 대응방안을 제시하고 있다. 그렇다면 SK인포섹이 제시하는 대응방은 무엇일까? SK인포섹이 발표한 가이드를 중심으로 IoT 영역별 대응방안에 대해 알아보자.

SK인포섹이 발표한 ‘사물인터넷(IoT) 보안 가이드’에서는 IoT를 디바이스, 운영체제, 네트워크, 어플리케이션 총 4개 영역으로 분류하고 각 영역의 보안 고려상황을 항목화 해 대응방안을 제시하고 있다. 이 4개 영역은 오픈소스 웹 애플리케이션 보안 프로젝트(OWASP),SANS(SysAdmin, Audit, Network and Security), 한국인터넷진흥원(KISA)이 권고하는 보안 요건을 기반으로 IoT 보안상 문제점을 주축으로 수립했다.

IoT 디바이스, 보안 위협 차단 위해 인증과 암호화 필수!

IoT는 네트워크와 연결된 디바이스들이 사람의 개입 없이 알아서 정보를 주고받으며 데이터를 처리하기 때문에 만약 디바이스 자체에 보안이 고려되지 않는다면, 사이버 공격자로 인해 통제권 상실, 정보 유출 등의 보안 위협이 발생할 수 있어 안전한 IoT 활용을 위해서는 디바이스 보안이 중요하다.

SK인포섹은 IoT 디바이스 보안 고려사항으로 ▲취약한 보안설정 ▲접근제어 ▲인증관리 ▲계정관리 ▲통신구간 보호 ▲메모리 보호 ▲펌웨어 보호 ▲디바이스 보호 등 총 7가지를 제시했다. 7가지 IoT 디바이스 고려사항 중 주요하게 봐야하는 것은 취약한 보안설정과 펌웨어 보호이다.

먼저 취약한 디바이스 보안설정으로 인해 디바이스 내 개발용으로 사용된 물리적/논리적 포트와 데몬(Daemon)들이 활성화되어 있을 경우, 디바이스 내 시스템 정보 노출과 2차 공격에 활용되는 보안 위협이 발생할 수 있다. 또한, 취약한 바이오스(BIOS) 설정으로 디바이스 내 환경을 설정할 수 있는 부트로더 등이 활성화되어 있을 경우 부트 옵션 환경 값 조작을 통해 시스템 정보 노출과 침입 등의 보안 위협이 발생할 수 있다.

SK인포섹은 취약한 보안설정으로 인해 발생할 수 있는 보안위협의 대응방안으로 개발과 테스트 용도로 사용한 FTP, Telnet, SSH 등의 포트와 불필요한 데몬은 반드시 제거해야 하고, 불가피하게 사용해야 될 경우에는 반드시 사용자 인증을 통해 접근하도록 구현해야 한다고 권고했다. 또한, 취약한 바이오스 설정으로 나타나는 보안위협에 대해서는 디바이스에 설정된 부트로더를 사용할 수 없도록 구현해야 하며, 사용해야 될 경우에는 반드시 인증을 통해 접근하도록 구현해야 한다고 설명했다.

IoT 디바이스는 안정적인 통신과 새로운 기능을 활용하기 위해서는 지속적인 펌웨어 업데이트가 필요하다. 그러나, 펌웨어 파일은 바이너리 분석을 통해 수정이 가능해 무결성 검증이 존재하지 않을 경우 수정된 펌웨어 파일을 배포하거나 디바이스에 설치하는 보안위협이 발생할 수 있다. 또한, 펌웨어 파일에 대한 자체 암호화 및 보호 기능이 없을 경우, 공격자는 파일을 추출하고 구조를 분석해 시스템 정보, 개인 정보 등 민감한 정보 등을 탈취할 수 있다.

SK인포섹은 펌웨어 보호를 위해 업데이트 서버와 IoT 장치 사이에 상호 인증 기능을 제공해 위장 서버나 중간자 공격 등의 취약점에 대응해야 하고 펌웨어 내 Data는 압축해제를 통해 쉽게 확인 가능하기 때문에 계정정보, 시스템 접속 정보, 암호화 키 등의 주요한 값은 노출되지 않도록 해야 한다고 권고했다. 또한, 디바이스는 장치를 떼어내 쉽게 정보를 획득할 수 있는 만큼 개인정보나 금융정보 등 중요 정보의 탈취를 예방하기 위해서는 암호화 기술을 사용해 보호가 필요하다고 설명했다.

IoT 운영체제, 무결성 확보와 메모리 보호기법 중요

운영체제(OS)는 시스템 하드웨어 관리와 함께 응용 소프트웨어를 실행하기 위해 반드시 필요한 시스템 소프트웨어로, 보안 관리가 미숙할 경우 응용 소프트웨어 사용 중단, 주요 정보 변조 등의 피해가 발생할 수 있어 보안 솔루션 적용과 지속적인 관리가 필요하다. 특히 IoT 운영체제의 경우 다양한 디바이스가 네트워크를 통해 연동해 운영되기 때문에 제대로 된 보안 관리가 이뤄지지 않을 경우, OS 불법사용, 계정 탈취 등의 문제가 발생할 수 있어 지속적인 보안관리가 필요한 영역이다.

SK인포섹은 IoT 운영체제 보안 세부 항목으로 ▲취약한 응용프로그램 설정 ▲접근제어 ▲인증관리 ▲계정관리 ▲데이터 전송 ▲데이터 저장 ▲입·출입 Data 검증 총 7가지를 제시했다. 이 중 주요하게 봐야하는 것은 인증관리 항목이다.

운영체제 인증관리의 취약한 보안으로 인해 발생할 수 있는 보안 위협으로는 일반적으로 OS나 패키지(Package) 설치 시 인증정보를 하드코딩해 내부 인증에 사용하거나, 외부 디바이스 또는 게이트웨이와 통신하는 경우가 많아 이로 인해 정보가 노출되는 보안 위협이 발생할 수 있다. 또한, OS를 실행하지 않고 메모리에서 직접 읽어오는 경우, 인증정보의 재사용과 고정된 인증값 사용으로 인해 비 인가된 사용자에게 주요 정보가 노출돼 인증정보와 자격증명 값 등의 정보가 탈취되면 타 사용자로 위장, 권한 상승 등 OS불법 사용되는 문제가 발생할 수 있다. 이와함께 OS에 대한 인증관리 절차가 없을 경우, 디바이스 분실·등록·초기화 등을 통해 도용·불법사용 등이 나타날 수 있다.

SK인포섹은 IoT 운영체제 보안 위협 대응방안으로 계정정보, 서명값, OS 접속정보, 암호화 키 등의 중요한 값은 노출되지 않도록 하고, 불가피하게 OS나 패키지(Package) 설치 시 중요한 값이 포함되어야 한다면 암호화 또는 메모리 보호기법을 사용해 확인할 수 없도록 해야 한다고 권고했다. 또한, OS에 대한 인증 시 등록·초기화·분실 액세스 절차를 검증해야 하고, 다중 요소 인증이 옵션으로 제공될 경우 필요시 활성화해 설정해야 한다고 설명했다. 이와함께 다중 사용자로 구성되는 서비스 환경에서는 최소한의 권한으로 초기 설정해서 사용해야한다고 제시했다.

IoT 네트워크, 암호화된 소켓통신 적용해 데이터 안정성 확보

IoT는 기본적으로 네트워크를 통해 각 디바이스를 연결해서 운영되기 때문에 만약 네트워크 보안 사고가 발생하면, IoT 서비스 장애, DDoS 공격 등이 발생할 수 있어 IoT 지속 운영을 위해서는 네트워크 보안이 기반돼야 한다. SK 인포섹 지속 운영을 위해 우선적으로 확인이 필요한 IoT 네트워크 세부 항목으로 ▲취약한 보안설정 ▲접근제어 ▲통신구간 보호 ▲Data 검증 등 총 4가지를 제시했다.

이 중 주목해야 할 항목은 통신구간 보호 항목이다. 통신구간 보호는 장거리와 근거리로 나눌 수 있는데, 먼저 장거리 통신 구간에서는 디바이스와 IoT 서버 간 통신 시 로그인 폼이나 서비스 계정, 과금정보 등과 같은 인증·식별 등과 같은 주요 정보에 대해 SSL이 적용되어 있지 않고 평문으로 전송할 경우, 공격자가 네트워크 스니핑과 같은 방법으로 사용자의 개인정보를 쉽게 탈취하거나 변조되는 보안위협이 발생할 수 있다.

또한, 어플리케이션이 사용하는 파라미터 값은 언제든지 사용자가 확인할 수 있는 값이기 때문에 파라미터 값에 디렉토리, 파일구조, 개인정보, 결제정보 등과 같은 주요한 값이 포함돼 있을 경우, 개인고객 정보 또는 서버설정정보 등이 노출되는 보안위협이 발생할 수 있다.

근거리 통신 구간의 경우 대표적인 근거리 통신 프로토콜인 블루투스, 지그비(ZigBee), Z-웨이브(Z-Wave)를 취약한 인증 방식 및 연결 방식을 사용할 경우, IoT 제품에서 전송되는 중요 데이터를 제 3자가 도청과 위/변조 등의 보안위협이 발생할 수 있다.

SK인포섹은 이런 IoT 통신 구간의 보안을 위해 ID, 패스워드와 같은 개인의 주요 정보 전송 시 SSL과 암호화된 소켓통신 등을 적용해 데이터의 안정성을 확보해야 하고, SSL 적용을 한 경우에도 공격자가 자신의 디바이스에서 발생하는 파라미터 위·변조를 통한 인증도용, 권한우회 등이 가능하기 때문에 디바이스와 IoT 서버 간 통신 시 중요한 값에 대해 암호화 또는 마스킹 처리된 값 사용을 권고했다. 또한, 공개된 SSL(Secure Socket Layer), IPSec(Internet

Protocol Security protocol) 표준 암호화 프로토콜 등을 이용해 ‘IPSec VPN’과 ‘SSL VPN’을 활용한 센서와 게이트웨이 간 또는 센서와 서버 간 통신을 암호화해 스니핑 등의 공격 등을 방어할 수 있도록 구현해야 한다고 설명했다.

IoT 어플리케이션, 최소한 사용권한과 암호화 통해 안정성 강화

IoT의 안전한 보안을 위해서는 디바이스, 운영체제, 네트워크도 중요하지만, 실제 IoT 기기를 실행시키고, 운영하기 위해 필요한 IoT 어플리케이션에 보안 사고가 발생하면 IoT 서비스 자체를 사용하지 못하는 것은 물론, 악성 코드에 감염돼 봇·좀비 디바이스로 활용되는 치명적인 피해가 발생할 수 있다. 그래서, IoT 어플리케이션 보안은 다른 IoT 보안 영역 보다 더 많은 보안 관리가 필요하다.

SK인포섹은 IoT 영역 중 중요한 부분을 차지하고 있는 어플리케이션 보안을 위한 세부 항목으로 ▲권한-접근제어 ▲인증-취약한 보안설정 ▲기밀성-Data 전송 ▲기밀성-Data 저장 ▲무결성-입·출

력 Data 검증 ▲무결성-Application 보호 등 총 6가지를 제시했다. 이 중 주목해야 할 항목은 권한-접근제어 항목이다. IoT 어플리케이션 권한-접근제어의 취약한 보안으로 발생할 수 있는 보안위협으로는 사용자·디바이스 설정 서비스가 동일 인터페이스에 존재할 경우, 디바이스의 중요 설정, 제어설정 등의 일반 사용자가 접근 시도하는 보안위협이 발생할 수 있다. 암호화되지 않은 펌웨어의 경우 펌웨어 분석 툴인 ‘binwalk’, ‘fmk’ 등을 통해 추출 후 바이너리 분석할 수 있어 계정정보, 시스템 접속 정보 등의 주요 정보가 포함돼 있을 경우 유출과 악용되는 보안사고가 발생할 수 있다.

SK인포섹은 이런 보안 IoT 어플리케이션 보안위협 대응방안으로 일반 사용자 서비스와 관리자 서비스는 분리돼 있어야 하고, 별도의 포트와 특정 조건에서만 동작할 수 있도록 관리해야 한다고 권고했다. 또한, 일반 사용자의 경우 중요기능 설정에 접근할 수 없도록 최소한의 사용 권한만 허용해야 한다고 설명했다. 이와함께 펌웨어 보안위협의 경우 펌웨어의 포함된 주요 정보를 분석할 수없도록 전체와 주요 정보를 암호화 또는 난독화해야 한다고 제시했다.