[Green Shoe Garage=마이클 파크스(Mike Parks)] 임베디드 시스템은 처리 성능이 서버나 최신 개인용 컴퓨터보다 떨어지는 경향이 있지만, 그 수가 크게 증가하면서 악의적인 행위자들이 불법적인 봇넷을 실행해 암호 화폐 채굴에 사용하려고 노리는 표적이 되고 있다.

2016년에 있었던 네스트 온도조절기에 대한 봇넷 공격은 임베디드 시스템 설계자에게 경종을 울리는 최초의 주요 보안 관련 공격의 하나였다. 특정 사물 인터넷(IoT)의 일반 소비자를 대상으로 하는 특성과 더불어 개인 정보와 보안에 점점 더 민감해짐에 따라 네스트 봇넷 공격은 많은 논란을 가져왔다. 특히 기업이 저가형 IoT 제품에 어떻게 보안을 구축할 것인가 하는 문제와 소비자가 가정과 회사에서 장치를 안전하게 작동할 수 있는 방법에 초점이 모아졌다.

사이버 공격의 위협이 증가함에 따라 개발자는 반드시 설계 과정 전반에 걸쳐 보안 고려사항을 염두에 두어야 한다. 몇 가지 실용적인 팁과 권장사항을 따른다면 개발자는 광범위한 공격 시나리오로부터 시스템을 안전하게 지킬 수 있다. 임베디드 설계에서 개발자가 사용할 수 있는 보안 조치를 간략히 살펴본다.

[사진=게티이미지뱅크]
[사진=게티이미지뱅크]

◆ 보안 구축

수많은 칩 아키텍처, 운영 시스템 및 통신 프로토콜이 있다. 많은 IoT 기기들은 주로 Arm 기반 아키텍처를 중심으로 구축되며, OS를 실행하는 경우 리눅스 배포판을 사용하는 경우가 많다. 이러한 공통점은 비용을 낮추고 개발 시간을 단축하는 등 여러 가지 점에서 유리하지만, 동시에 부정적인 측면도 많다. 공격 벡터는 특히 리눅스 기반 OS를 실행하는 장치에서 광범위하게 이뤄지는 경향이 있다. 공통 아키텍처를 공유하는 광범위한 장치와 관련된 위협을 완화하려면 개발자들은 ‘빠른 성과’를 가져오는 보안 설계원칙을 구현해야 한다. 보안 설계 원칙은 다음과 같다.

- 패스워드를 펌웨어 내부에 하드코딩 하지 않는다. 또한 모든 장치에 공통된 디폴트 패스워드를 사용하지 않는다. 사용자가 장치를 초기화하는 중에 사용자 지정 사용자 이름과 패스워드를 생성하도록 한다.

- HTTP, FTP 또는 텔넷과 같은 안전하지 않은 프로토콜을 디폴트로 사용하지 않는다. 유선 또는 무선 프로토콜을 통해 장치에서 나가는 데이터는 강력하게 암호화돼야 한다. ‘자체 제작한’ 암호화 솔루션은 사용하지 않는다.

- 장치는 가능한 가장 제한적인 구성으로 출하하고 최종 사용자가 사전 결정에서 보안 관련 설정을 줄일 수 있도록 한다.

- 장치에 액세스하는 데 사용되는 모든 메커니즘은 인증과 권한부여 제어를 필요로 한다. 가능한 경우 2단계 인증(2FA)을 사용한다.

- 인젝션 공격을 피하려면 모든 사용자측 입력을 필터링해야 한다.

- 최종 사용자를 위한 보안 장치 관리 인터페이스를 구현해 최종 사용자가 자산을 관리하고, 장치를 업데이트 및 모니터링하고, 수명 종료(EOL)에 이른 장치를 안전하게 작동 중단시킬 수 있도록 한다.

- 무선(OTA) 업데이트 메커니즘은 장치에서 검증돼야 한다. 장치로 보내는 업데이트 파일은 암호화돼 전송돼야 한다. 마지막으로, 장치가 이전의 안전하지 않은 펌웨어로 되돌아가는 것을 방지하는 롤백 방지 기능을 둔다.

- 장치 설계에 다른 제조사 소프트웨어 라이브러리를 사용하는 경우 지속적으로 모니터링해 타사 업데이트를 통합해 유지보수가 중단되지 않도록 보장해야 한다. 방치된 소프트웨어 프로젝트는 장치에 심각한 취약점이 될 수 있다. 프로젝트에 커밋하기 전에 다른 제조사 소프트웨어의 디폴트 패스워드를 변경한다.

- 장치에 저장해야 하는 민감한 데이터를 제한한다. 이러한 정보는 보안구역에만 저장한다.

- 사물 인터넷에서 임베디드 시스템은 더 큰 생태계의 한 부분일 뿐이라는 점을 기억하라. 클라우드, 데스크톱, 모바일 애플리케이션에도 보안을 구축해야 한다. 생태계 보안은 가장 약한 링크만큼만 강하다.

- 최종 사용자와 보안 연구원이 찾아낸 결함을 안전하고 책임있는 방식으로 신고하도록 장려하는 버그 바운티 프로그램의 운영을 고려한다.

장치에 대한 물리적 액세스를 통한 공격은 손을 쓸 수 없는 상황을 만든다. 다만 장치를 물리적으로 악용하는 것을 더 어렵게 만들기 위해 할 수 있는 일이 없는 것은 아니다. 회로 보드와 관련 인클로저의 변조 방지에 관해 쓰여진 책들을 볼 수 있지만, 몇 가지 “빠른 성과"를 얻기 위해 장치를 강화하는 다음과 같은 물리적 설계 규칙을 고려한다.

- JTAG 및 UART와 같은 디버깅 포트를 위한 핀은 장치를 개발하고 테스트할 때 매우 유용하다. 동시에 이러한 포트는 악의적인 의도로 장치를 리버스엔지니어링하려는 사람들에게 매력적인 표적이기도 하다. 이러한 핀을 난독화하거나 생산 유닛의 헤더 핀을 제거하는 것이 좋다. 이렇게 할 경우 현장에 배치되면 문제 해결은 더 어려워진다는 점에 유의한다. 설계자는 보안과 유지관리 사이의 균형을 고려해야 한다.

- 접착제, 초음파 웰딩 또는 특수 보안 나사를 사용하면 장치를 여는 것을 더 어렵게 만들 수 있다.

- 민감한 구성요소에 비전도성 에폭시를 적용하면 구성요소의 신원과 목적을 알아내기 어려워질 수 있다.

- 취약성이 있을 수 있는 이전 구성요소를 사용하고 싶을 수 있다. 마찬가지로 위조 부품도 주의해야 한다. 진짜라고 믿기에는 너무 좋은 거래라면, 아마도 그럴 것이다. 보안과 시장 출시 기간의 균형을 맞추는 것은 가볍게 다룰 결정이 아니다.

- 멀티레이어 보드는 보드가 어떻게 작동하는지 알아내기 어렵게 만드는 방식으로 트레이스를 라우팅하는 데 사용할 수 있다.

권장 사항 중 일부는 소비자 등급 IoT 장치에는 다소 과하다고 느껴질 수 있다. 그러나 나중에 자세히 살펴보겠지만 산업용 제어 시스템과 방어 시스템은 다음과 같은 보다 강력한 물리적 보안 조치로부터 이점을 누릴 수 있다.

- 보드 자체에 보안 기능을 구축한다. 보드가 의도치 않게 취급되거나 열리는지 탐지할 수 있는 자기 스위치나 마이크로스위치, 수은 스위치 등을 탑재한다. 니크롬선 또는 광섬유도 사용할 수 있다. 장치를 조작하려는 누군가에 의해 니크롬선이나 광섬유에 부정적인 영향이 미치면, 니크롬선의 전류 흐름이나 광섬유를 통과하는 광자의 특성에 탐지 가능한 변화가 발생한다.

- 사이드 채널 또는 글리칭 공격은 일반적이지는 않지만, 장치에 물리적 법칙이 사용되기 때문에 탐지할 수는 있지만 방지하기가 매우 어렵다는 점에서 적에게 고유한 이점을 제공한다. 타이밍을 공격하거나 CPU로의 전자의 흐름을 제한함으로써 장치가 의도하지 않은 방식으로 동작해 보안 기능을 무력화할 수 있다. 전압 및 전류 센서를 회로 보드에 온보드로 구현하면 오탐의 가능성이 있지만 글리칭이 발생할 경우 탐지할 수 있다.

- 심각한 적들은 엑스레이 기계를 사용해 마이크로칩을 들여다보고 트랜지스터의 토포그래피를 발견해 기능과 그 밖의 여러 가지를 파악할 수 있다. 엑스레이는 적이 유용한 정보를 추출하는 것을 막을 수는 없지만 조작을 탐지하기 위해 추가할 수 있다.

보안과 개방성 패러다임 사이에는 상당한 이분법적 요소가 있다는 점에 유의해야 한다. 보안은 난독화를 중시하는 반면, 오픈 하드웨어는 이해를 중요시한다. 그럼에도 자물쇠는 정직한 사람만 정직하게 만든다는 오래된 격언이 있다. 이는 전반적인 보안에도 해당된다.

[사진=게티이미지뱅크]
[사진=게티이미지뱅크]

◆ 보안 운영

제조업체가 제품에 최고의 보안 설계 원칙을 모두 구현해도 최종 사용자가 장치를 안전한 방식으로 운영하지 않는다면 대부분 무용지물이 될 것이다.

- 디폴트 라우터 이름, 라우터 패스워드, 네트워크 이름(SSID) 및 네트워크 암호화 키를 변경한다. 강력한 패스워드 원칙을 사용하고 두 네트워크에 동일한 패스워드를 사용하지 않는다.

- 홈 네트워크를 두 개의 "가상" 네트워크로 분할해 데스크톱 컴퓨터, NAS(Network Attached Storage) 장치 등에서 사물 인터넷 장치를 '볼 수’ 없도록 한다. 이를 빠르고 쉽게 수행하려면 사물 인터넷 네트워크에 게스트 네트워크 기능을 사용한다.

- 대부분 사물 인터넷 장치는 스마트폰 앱에 의존해 장치를 제어한다. 앱을 최신 상태로 유지하고, 사용 가능한 경우 로그인에 2단계 인증(2FA)을 사용한다.

- 사용할 의도가 없는 사물 인터넷 장치의 모든 기능을 비활성화한다.

- 라우터와 사물 인터넷 장치의 펌웨어를 모두 정기적으로 업데이트한다.

- 사물 인터넷 장치가 수명이 다해 더 이상 업데이트를 받지 못하는 경우 새로운 모델로 교체하는 것을 고려한다.

◆ 산업용 강도의 보안

소비자들 대상의 사물 인터넷 제품은 매우 많지만, 산업 제어 시스템(Industrial Control Systems, ICS)으로 통칭되는 이에 대응하는 산업용 제품은 매우 중요하고 잠재적으로 위험한 수많은 프로세스를 관리한다. 에너지 생산에서 공장에 이르기까지 모든 것은 임베디드 디지털 기술(운영 기술 OT라고 하며, 사무실 중심의 정보 기술 IT와 대조됨)을 사용해 다양한 프로세스 수행을 담당하는 시설 및 관련 기계를 제어한다. ICS 환경은 엄격한 IT 환경과 충분히 다르므로 OT 장치와 ICS 네트워크를 강화하기 위한 특별한 고려사항이 필요하다. 가장 기본적인 원칙은 ICS가 인터넷에 연결되지 않아야 한다는 것이다. 이는 당연한 것처럼 보이지만, 이러한 기본 원칙이 얼마나 자주 위반되는지 놀랍다. ICS 네트워크와 장치를 안전하게 보호하는 방법에 대한 자세한 내용은 ICS용 MITRE ATT&CK 및 기업용 MITRE ATT&CK의 두 가지 보안 프레임워크를 검토한다.

ICS 시스템이 일반적으로 사용되는 장소(환경적, 화학적 또는 기타 위험한 영역)의 특성은 ICS가 기밀성보다 시스템의 가용성을 우선하도록 설계되었음을 의미한다. 긍정적인 관점에서 이는 보통 리던던트 시스템이 존재하며, 그러한 시스템은 고장이 나더라도 안전하도록 설계되었다는 것을 의미한다. 그러나 ICS 시스템은 수십 년 동안 운영되면서 항상 최신 상태로 유지되지 않을 수 있다. 또한 많은 프로토콜이 오래되고, 보안을 염두에 두는 대신 효율을 위주로 구축되었다고 볼 수 있다. 결론적으로, ICS 또는 IIoT 영역의 보안은 고유한 어려움이 있으며, 최상의 관행을 구현하기 어려울 수 있다. 그러나 이러한 기계의 임베디드 개발자는 설계 관행을 현대화하고 향후 설계에 보안을 통합해야 할 필요성을 인식해야 하며, 보안을 사후 고려 사항으로 취급해서는 안 된다.

제공: 마우저 일렉트로닉스(Mouser Electronics)

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지