펌웨어 보안 (Firmware Security)
쉽게 풀면
펌웨어는 기기가 켜지자마자 가장 먼저 실행되는, 하드웨어와 가장 가까운 곳에 자리한 프로그램입니다. 건물로 치면 골조와 배관에 해당하는 부분이라, 여기가 뚫리면 그 위에 아무리 좋은 보안 장치를 올려도 소용이 없습니다. 펌웨어 보안은 이 기초 소프트웨어가 출고 이후 몰래 바뀌지 않았는지, 정상적인 절차로만 갱신되는지를 확인하고 지키는 일입니다. 눈에 잘 띄지 않는 곳이지만 시스템 전체 신뢰의 출발점이라 할 수 있습니다.
왜 중요한가
펌웨어는 운영체제보다 먼저 실행되기 때문에, 펌웨어 수준에서 공격이 성공하면 그 위의 어떤 보안 소프트웨어로도 탐지하거나 막기 어렵습니다. 또한 라우터, IoT 기기, 산업 장비 등 다양한 제품이 공통 펌웨어를 재사용하는 경우가 많아 한 취약점의 파급 효과가 크다는 특징도 있습니다. 이 때문에 정보보안학에서는 부팅 신뢰 체계와 펌웨어 업데이트 검증을 핵심 연구 주제로 다룹니다.
논문에서는 이렇게 쓰입니다
제품에 아무 검증 없이 조작된 펌웨어를 심을 수 있는 허점을 찾아냈다는 의미입니다.
부팅 과정에서 서명을 검증해 허가받지 않은 코드가 실행되지 못하도록 막는 방법을 제안했다는 뜻입니다.
조금 더 깊게 보면
펌웨어 보안의 핵심 기법으로는 부팅 단계마다 이전 단계의 무결성을 검증하는 신뢰 체인, 디지털 서명을 통한 업데이트 인증, 하드웨어 기반 신뢰 루트 등이 있습니다. 최근에는 펌웨어 이미지를 정적으로 분석해 알려진 취약점이나 하드코딩된 인증정보를 자동으로 찾아내는 연구도 활발히 진행되고 있습니다.
주의할 점
펌웨어는 한 번 배포되면 다시 접근해 업데이트하기 어려운 기기가 많아, 취약점이 발견되어도 신속한 패치가 이루어지지 않을 수 있습니다. 소프트웨어 보안과 별개로 하드웨어 설계 단계부터 고려해야 실효성이 높아집니다.