[기고] 보안 설계의 완성도를 결정하는 코드 품질
상태바
[기고] 보안 설계의 완성도를 결정하는 코드 품질
  • CCTV뉴스 편집부 기자
  • 승인 2022.08.05 17:24
  • 댓글 0
이 기사를 공유합니다

최상의 보안을 위한 실무

[글=클리브 와츠(Clive Watts) | IAR 시스템즈 임베디드 보안 솔루션 부문 제품 관리 담당 이사]

보안의 모든 것은 코드의 품질과 연결되어 있다. 이것은 아무리 강조해도 지나침이 없고 진리와 같다고 할 수 있다. 그렇다면 소프트웨어 코더, 그리고 개발자가 제품의 보안을 확보하기 위해 실무에서 사용할 수 있는 방법에는 무엇이 있을까?

이와 관련해 영국 디지털 문화 미디어 스포츠부(DCMS)에서 제정한 소비자용 IoT 보안을 위한 실무 지침(Code of Practice for Consumer IoT Security)의 내용을 하나씩 짚어 보겠다. 전체 13개의 항목으로 구성된 본 지침은 이후 전 세계 여러 나라에서 비슷한 지침을 제정하는 데 기준이 되기도 했다.

여기서는 지적 재산권을 보호하고, 악성코드의 유입을 방지하기 위한 여러 핵심 보안 개념의 기초를 제공함으로써, 전체 라이프사이클에서 이러한 실무 지침을 통해 얻을 수 있는 것은 무엇인지를 살펴보겠다.

IoT 디바이스의 보안을 위한 실무 지침

IoT 디바이스의 보안을 위한 실무 지침에서 지향하는 바는 IoT(사물인터넷) 제품의 개발, 생산, 유지보수 단계로 구분되는 전체 라이프사이클에 걸친 보안성 확보 방법에 관한 지침을 제공하는 것이다. 실무 지침에서는 IoT 분야에서 모범 사례로 널리 알려진 여러 기법들을 나열했다.

본 실무 지침 및 안내에서는 보안 기기 부팅, 암호화 기기의 아이덴티티, Root of Trust, 운영체제, 로그인 정보 관리 및 암호화를 위한 소프트웨어, 소프트웨어 업데이트 정책의 보안성 확보 등 관련 요소 일체를 종합적으로 다루고 있다.

보안 법규의 목적은 단순히 무적으로 적용되어야 하는 절차적 규정을 정의하는 것뿐 아니라, 사용자가 자발적으로 적용할 수 있도록 하는 데 있다. 다양한 기관과 정부에서 이러한 지침을 작성하기 위해 많은 노력을 기울이고 있다.

이러한 규칙을 따르게 되면 최종 사용자에게 도움을 줄 뿐 아니라 IoT 제품을 개발하는 기업의 부담도 줄일 수가 있다. 소비자와 IoT 개발 기업은 보안 규정을 항상 준수함으로써 악성코드 억제, 보안 아이덴티티, IP 보호, 생산 관리 및 표준 준수 관리 등의 이득이 본다.

13대 지침의 주요 내용

1. 기본 패스워드 사용 금지

너무도 당연한 말로 들리지만, 이것을 실제로 실현하는 것은 매우 어렵다. 기본 패스워드는 기기 자체에서 추출되거나, 기기에 주입되는 것이 일반적이다. 여기서 생각해 볼 수 있는 한 가지 방법은 일련번호의 엔트로피가 높지 않은 기기의 경우 패스워드를 기기 고유의 암호화 알고리즘을 통해 생성하는 것이다. 또, 해시 기반의 알고리즘인 SHA-256과 같은 방식을 사용해 패스워드를 생성하는 것 역시 좋은 방법이 된다.

2. 취약성 공개 정책의 시행

취약성 공개 정책은 한 마디로 기업의 공개 정책과 맞닿아 있는 것으로, 별도의 전담 임원을 두어 고객 관리 활동 및 취약성 전달을 담당하게 하는 것이다.

3. 소프트웨어 업데이트 철저히

조직 내에서 IoT 기기의 사용량이 증가함에 따라, 기기의 업데이트 상태를 유지하는 데에는 어려움이 따를 수 있다. IoT 소프트웨어 개발 초기부터 업데이트 전략을 수립하는 것이 용이하며, 출시 후 업데이트는 적시에 이루어져야 한다. 당연히 기기의 기능에 간섭을 일으켜서는 안 된다.

업데이트 정책에서는 롤백 방지 장치를 두어, 구 버전이 해커의 공격 수단이 되지 않도록 관리해야 한다. 소프트웨어 업데이트 지침에서는 제품의 업데이트 종결 정책을 포함하여, 업데이트가 지정된 기간 동안 제품을 대상으로 공급 및 전송되도록 해야 한다.

4. 로그인 정보 및 보안 민감 데이터 보관 시 철저한 보안 필요

본 지침 조항에서는 모든 로그인 정보를 안전한 서비스 및 기기 상에 저장할 것을 요구하고 있다. 디바이스 소프트웨어에서 패스워드나 은행 계좌 정보와 같이 하드 코딩된 로그인 정보를 사용하는 행위는 용납되지 않는다. MCU의 기기별 보안 기능 및 메모리 관리를 항상 모두 활성화시켜 보안 민감 데이터를 보호할 수 있도록 해야 한다.

5. 통신 시 보안 준수

IoT 기기는 TLS(Transport Layer Security) 또는 LWC(Lightweight Cryptography) 방식에 기반한 보안 통신을 사용해야 하며, 항상 이들 기술의 최신 버전을 적용해야 한다. 이는 보안 민감 데이터는 전송 시 반드시 암호화해야 하며, 키의 보안 관리도 철저히 해야 함을 의미한다.

전체 기사를 보시려면 로그인 필요

로그인 또는 회원가입을 해주세요. (회원만 열람가능)

로그인 회원가입


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.