IoT, 5G, AI, 클라우드·엣지 산업에 CI/CD가 빠르게 적용될 것.
RICS-V가 도약하고, 보안의 중요성 강화되는 한 해 될 것

[테크월드뉴스=김경한 기자] 최근 임베디드 시스템 개발에서 업무 프로세스를 자동화해주는 지속적인 통합(Continuous Integration, 이하 CI)과 지속적인 제공(Continous Deployment, 이하 CD)의 중요성이 대두되고 있다. 개발 팀은 업데이트된 소프트웨어를 관리하는 과정에서 이전보다 빠른 프로세스를 제공하고 있다. 이것은 잠재적인 결함으로부터 코드 품질을 엄격히 관리할 수 있는 툴과 소프트웨어 사양에 부합하는 자동화된 테스트 툴에 기반한다. 코드 품질을 체크하고 코드 빌드, 테스트, 배포를 지속적으로 가능하게 함으로써 말이다.

[그림 1] CI(좌측)와 CD(우측)의 개념도
[그림 1] CI(좌측)와 CD(우측)의 개념도

[그림 1]의 왼쪽은 CI, 오른쪽은 CD의 개념을 나타낸다. Code – Develop, Commit –Build, Build – Test, Test – Deliver, Notify – Monitor 단계의 쌍으로 존재한다. 코드를 개발하고, 형상 관리 툴에 Commit(업로드)한 후 Build(빌드)를 진행한다. 이것이 배포돼 테스트 팀에서 테스트를 진행 한 후, 문제점을 Notify(보고)하고 개발자는 다시 이것을 Monitoring(점검)해 문제점을 수정하는 절차가 지금까지는 수동으로 이뤄져 왔다. 하지만 CI/CD 프로세스, 즉 자동화된 프로세스에 따르면 이런 절차는 각 단계에 속하는 툴이 그것을 대신해 자동화된다.

[그림 2] 기존의 개발 과정
[그림 2] 기존의 개발 과정
[그림 3] CI/CD가 적용된 개발 과정
[그림 3] CI/CD가 적용된 개발 과정

[그림 2]는 기존의 CI/CD가 적용되기 전의 개발 프로세스를 의미한다. 개발된 소프트웨어를 빌드 과정을 거쳐 타깃 보드에서 테스트한 후 배포되는 과정이다. [그림 3]은 CI/CD가 적용된 개발 프로세스로써 개발자는 개발이 완료된 코드를 깃랩(Gillab)에 업로드한다. 그 다음 프로젝트 매니저에게 보고됨과 동시에 빌드 서버에서 IAR 빌드 툴(Build Tool)인 BXARM에 의해서 컴파일되고, 그 결과는 다시 프로젝트 매너저에게 보고된다. 이 때 다수의 개발자에 의해 코드가 업로드될 경우, 지속적으로 통합이 이뤄져 컴파일된 결과에는 문제가 없는지, 다수의 개발자에 의해 수정된 코드 간 충돌은 없는 지 자동적으로 빌드와 검사가 이뤄진다. 빌드 후에 IAR의 정·동적 검사 툴인 C-STAT, C-RUN을 연계하면, 코드가 깃랩에 업로드되기 전에 기본적인 코드의 결합을 찾고 품질을 높일 수 있다.

CI/CD의 필요성을 정리하자면, ▲소스 코드를 통합하는 과정에서 불필요하고 반복적인 수작업을 줄일 수 있고, ▲다수의 개발자가 하나의 프로젝트에 참여하는 환경에서 동시에 여러 변경 사항의 충돌을 미연에 방지할 수 있으며, ▲코드 개발에서부터 배포까지 신속하게 진행될 수 있다. 4) 또한 정/동적 툴인 C-STAT, C-RUN과 같은 툴과 연동하면 개발 초기 코드 품질을 높일 수 있다.

이로써 빠르게 성장하고 있는 IoT, 5G, AI 그리고 클라우드·엣지 컴퓨팅 분야에서 개발 코드의 사이즈는 커져가고 다자 간의 협업 개발이 요구되는 분야에서 CI/CD의 적용은 필수적인 요소로 자리잡고 있다. 

RISC-V의 도약

RISC-V ISA(개방형 명령어 집합) 프로젝트는 캘리포니아 대학교 버클리에서 2010년에 시작돼 현재 임베디드 업계의 화두로 떠오르고 있다. 이 ISA의 개발 취지는 누가 어떤 목적으로든 자유롭게 사용할 수 있으며, 누구든 RISC-V칩과 소프트웨어를 설계, 제조, 판매할 수 있게 허가돼 있다는 것이다. 현재 RISC-V의 강점은 소형, 성능, 전력 효율성 모두를 고려해 설계하고 있고, 그에 따라 이 세 요소가 중요시되는 여러 IoT 기기들의 설계에 RISC-V 칩 적용이 검토되고 있다.

RISC-V 연구를 후원하고 있는 기업으로는 구글, IBM, 퀄컴, 삼성, 소니, IAR 시스템즈, 엔비디아, 멘토, ST마이크로일렉트로닉스, 마이크로칩, NXP 등 CPU 제조와 설계 분야에서 쟁쟁한 기업들이 많이 포진해 있다. 특히 구글 안드로이드나 애플 iOS가 RISC-V를 지원하기 시작한다면, 현재의 스마트폰 시장에서의 ARM의 독점적 위치를 위협하게 될 가능성이 높다.

2021년 1월에는 PLCT 랩에서 64비트 RISC-V 코어에 안드로이드 10을 포팅해 부팅하는 데 성공한 이력이 있다. 연구팀은 깃허브(GitHub)에서 ‘AOSP(Android Open Source Project) for RISC-V’라는 프로젝트를 시작했으며, 아직 AOSP를 교차 컴파일하고 GUI를 부팅하는 초기 단계에 있다. 하지만 이것은 오픈 하드웨어 커뮤니티를 위한 흥미진진한 발전이다. RISC-V는 자유롭고 개방적인 ISA이기 때문에 자체 칩을 설계하려는 신규 기업들에게는 진입 장벽을 크게 낮출 수 있다. 저렴한 IoT 제품을 제작하려는 벤더는 RISC-V를 활용해 저가 칩을 개발할 수 있게 되고, 경쟁업체나 외국기업에 대한 의존도를 낮출 수 있다. 엔비디아가 ARM을 인수하는 과정에서 RISC-V에 대한 관심도는 더욱 올라갈 것이다.

 

보안, 소프트웨어 지적재산권(IP) 보호

IoT 산업이 증가함에 따라 앞으로 수십 년간 많은 클라우드 기반 제품들이 설계, 제조, 사용될 것으로 기대된다. 이러한 제품들이 해킹에 노출됨에 따라 보안의 중요성이 더해가고 있다. 제조사들은 모조상품과 복제로 인해 오랜 기간의 이슈와 고민거리를 안고 있다. 그러나 세계적인 IoT 제품들은 모조된 제품(검은 시장)의 지속화로 인해 시장과 브랜드 가치, 그리고 제품의 안전성에 대한 잠재적 유해요소를 지니고 있다.

IoT는 비즈니스의 진행과정 개선, 운영 효율화, 시스템다운 최소화와 같은 관점에서 명백히 유용하다. 그러나 인터넷을 통해 연결된 장비들은 네트워크에 있는 여러 장비들에게 다른 악영향을 줄 수 있다.

이것은 제조사들이 공급망에 있는 장비와 제품의 진위여부를 확인할 수 있는 충분한 식견을 갖추지 못할 때 위험요소로 작용할 수 있다. 2018년 39개국의 조달담당 리더 500인의 디로이트 조사에 따르면, 그들의 65%에 해당하는 응답자가 1차 협력자 제품의 공급망 투명성에 대해 제한적 식견을 갖고 있거나 또는 그 식견이 없는 것으로 집계됐다.

 

모조 부품은 안정성의 위해요소

더불어 모조 부품은 안전성의 위해요소다. 이것은 최종 제품의 소프트웨어가 해킹되거나 변경되지 않음을 보증할 수 없다는 것을 의미한다. 이는 기본적인 하드웨어가 OEM에서 정한 신뢰성을 보증하지 못하는 것을 뜻한다. 모조된 소프트웨어는 부정한 방법으로 수정될 수 있으며, 은밀하게 다른 채널을 통해 유통될 수 있다. 불온전함으로 수정된 소프트웨어가 자동차와 같이 안전성이 중요시되는 시스템에 잠재적으로 침범할 수 있다. 만약 복제된 제품이 도입돼 그 제품이 본래의 사양을 충족하지 못한다면, 그 시스템은 결국 주요 동작 사양을 충족하지 못하게 된다. 

이런 구성품이 탑재된 시스템이나 응용 애플리케이션에 따라 의도치 않았지만 매우 중요한 결함을 일으킬 수도 있다. 차량을 예로 들면, 자율주행 시스템에서 안전성의 중요한 기능에 치명적인 오류가 발생하게 된다. 이런 문제점들은 사고를 피해야 할 필수적인 환경 변수나 오차를 제대로 모니터링하지 못하는 데에서 기인한다. 

다른 분야로는 헬스케어 분야가 있다. 만약 우리 몸의 여러 데이터를 정확히 측정해야 하는 장치가 약 복용량을부정확하게 처방한다면, 환자는 심각한 상태에 이르거나 수정된 소프트웨어로 인해 죽음에까지 이를 수 있다.

일반적으로 분산망은 소프트웨어 IP가 해커에 의해 갈취돼 악의적인 코드로 변경될 수 있다는 점을 감안한다면 시사하는 바가 크다[그림 4]. 

[그림 4] 해커는 보호되지 않는 소프트웨어를 공격·수정할 수 있다
[그림 4] 해커는 보호되지 않는 소프트웨어를 공격·수정할 수 있다

기능안전과 IP 보호

IAR 솔루션인 C-Trust 제품은 최신 암호화 기술을 이용해 효과적인 소프트웨어 IP보호 기능을 가진다. 디지털 전자서명은 시큐어씽즈(Secure Thingz) 제품에서 제공되는 Secure Boot Manger(SBM)가 내재된 펌웨어의 적합성과 진위 여부를 보증한다. 이 SBM은 칩 하드웨어 변경으로부터 자체적으로 보호되고, 적합성을 체크하며, 펌웨어의 진위여부를 검사하는 공용키로 개인화(Personalize)된다. 

신뢰성 보호 메커니즘은 안전 지향적인 펌웨어를 암호화하는 기능으로 추가 가능하다. 이것은 역설계(Reverse Engineering)와 소프트웨어 IP 도용을 차단한다. 왜냐하면 C-Trust를 사용하면 소프트웨어는 처음부터 끝까지(개발환경부터 소프트웨어가 부팅되고 실행되기까지) 암호화되기 때문이다[그림 5]. 

[그림 5] 해커로부터의 효과적인 방어책은 소프트웨어를 디지털 서명화하는 것이다
[그림 5] 해커로부터의 효과적인 방어책은 소프트웨어를 디지털 서명화하는 것이다

C-Trust를 이용한 IP 보호

암호화 키를 생성하는 C-Trust의 주요 기능은 개발 프로세스를 간소화한다. IP 보호기능을 개발 중인 애플리케이션에 추가하는 과정은 엔지니어에게 암호화의 전문적인 지식이나 암호화 키를 다루는 기술을 요하지 않는다. IAR만의 특별한 마법사 프로그램을 통해 간단한 과정을 통해 IP 보호 기능을 설정할 수 있다. ‘Basic signature checking’과 같은 IP 보호 설정이 가능하다. 이 IP 보호 설정은 펌웨어 수정으로부터 IP를 보호하고 오직 진위 판별된 펌웨어만 부팅되도록 한다.

이 기능은 해당 펌웨어의 ‘Full encryption’을 선택함으로써 가능해진다. 이 기능은 역설계와 IP 도용을 차단하는 추가적인 보호기능을 활성화한다[그림 6].    

[그림 6] IP 보호를 위한 설정: 진위·무결성(Basic signature checking), 또는 기밀성 보호(Full encryption)
[그림 6] IP 보호를 위한 설정: 진위·무결성(Basic signature checking), 또는 기밀성 보호(Full encryption)

더 나아가, 추가적인 설정 옵션은 이전 버전의 펌웨어 다운로딩을 막는 것이다. ‘Version number check’ 설정은 취약한 보안 기능을 갖는 기존 버전의 업데이트를 차단한다. 또한 이 설정은 보안 결함이 있는 기존 버전의 취약점을 노리는 공격자로부터 보호한다[그림 7].

[그림 7] ‘Version number checking’ 설정: 하위 버전의 펌웨어에 의한 공격으로부터의 보호
[그림 7] ‘Version number checking’ 설정: 하위 버전의 펌웨어에 의한 공격으로부터의 보호

소프트웨어 지적재산권을 보호하는 방법에 대해 많은 회사들이 비지니스에서 중요한 이슈로 검토하고 있다. 종종 임베디드 응용 프로그램 개발은 중대한 투자로 인식되고 양산 전까지 수 년간의 개발 리소스와 노력이 필요할 수 있다. 이런 환경에서 기업은 C-Trust를 이용해 쉽게 투자된 리소스의 보호 기능을 증강시킬 수 있다. 코드 기반으로 전자서명과 암호화하고 펌웨어의 다운그레이드(Downgrade)를 막는 기능으로써 말이다.

 

맺음말

소프트웨어 형상 관리 툴이 적용될 때를 생각해보면 이제 CI/CD를 적용한 업무 프로세스는 사내 업무 효율성과 코드 품질을 위해 반드시 필요한 요소로 자리 매김하고 있다. 또한 수많은 IoT 제품이 시장에 나오고 인터넷에 연결되면서 소프트웨어 IP를 보호하기 위한 보안 솔루션도 선택이 아닌, 필수요소로 인식되고 있다. 더불어 RISC-V의 도약을 비춰 볼 때, 앞으로 임베디드 업계의 트렌트에 대한 면밀한 분석과 고찰이 요구된다. 


[참고자료]
1.    https://www.gov.uk/government/publications/code-of-practice-for-consumer-iot-security
2.    https://www.iotsecurityfoundation.org/
3.    https://www.gartner.com/en/newsroom/press-releases/2020-09-01-gartner-predicts-75--of-ceos-will-be-personally-liabl
4.    https://quasarzone.com/bbs/qn_hardware/views/829500
5.    https://namu.wiki/w/RISC-V

 

[ 글: 오재준 IAR 시스템즈(IAR Systems) 매니저 ]

[ 자료제공: IAR 시스템즈 ]

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