[포럼] 5G 보안기준, 최악 상황에 맞춰야

염흥열 순천향대 정보보호학과 교수

  •  
  • 입력: 2019-06-27 18:20
  • 프린트
  • 페이스북
  • 트위터
  • 카카오스토리
[포럼] 5G 보안기준, 최악 상황에 맞춰야
염흥열 순천향대 정보보호학과 교수
5G 이동통신망에서 융통성 있는 망 구성을 가능하게 하는 '네트워크 기능 가상화'(NFV)는 범용 하드웨어 서버에 서로 다른 소프트웨어를 설치해 방화벽, 라우터 등 여러 가상화 장치를 구현하게 한다. 최근 정보통신기술(ICT) 장치나 시스템에서 이같은 소프트웨어가 차지하는 비중은 점점 증가하고 있다. ICT 장치나 시스템이 의도한대로 동작하기 위해서는 소프트웨어가 필요하다. 소프트웨어는 특정 응용, 플랫폼, 네트워크 응용계층, 전송계층, 패킷 계층 또는 데이터링크 계층 등 여러 다양한 곳에 설치되어 운영된다. 소프트웨어 생명주기는 소프트웨어 개발사에 의한 분석·설계·개발·시험 과정, 판매자에 의해 이용자로 소프트웨어를 배포하는 과정, 이용자 장치나 시스템에 소프트웨어를 설치하고 운영 및 유지·보수하는 과정, 수명을 다한 소프트웨어를 폐기하는 과정 등으로 구성된다. 안전한 ICT 장치를 위해서 소프트웨어 보안이 요구되며, 이는 소프트웨어의 안전한 설계, 구현, 배포, 운영, 폐기를 요구한다.

운영되는 소프트웨어에 취약점이 존재하면 이 취약점은 사이버 공격에 이용된다. 소프트웨어 보안을 유지하기 위해서는 소프트웨어 전체 생명주기 동안 보안성이 유지되어야 한다. 개발사에 의해 안전하게 설계 구현되고, 안전하게 배포 설치되며, 안전하게 운영되어야 한다. 소프트웨어 보안은 소프트웨어 전체 생명주기 동안 소프트웨어에서 취약점을 발생을 최소화하기 위해서 안전하게 소프트웨어를 설계하고 구현하는 노력이다.공격자는 그 소프트웨어가 갖고 있는 취약점을 먼저 찾아 그 취약점을 악용해 사이버 공격을 시작한다.

배포되는 소프트웨어에 백도어(일명 뒷문)가 있다면, 누군가가 필요시 추가로 악성 소프트웨어를 다운로드 받아, 그 장치나 단말을 통과하는 국가나 민간의 민감 정보를 훔칠 수 있게 된다. 백도어는 통상 의도치 않게 설치되는 경우도 있다.

개발자가 프로그램 개발의 편리성을 위해 개발 과정 동안에만 시스템에 손쉽게 들어갈 수 있도록 백도어를 만들어 사용하는 경우다. 통상 이러한 개발자가 만들어 놓은 백도어는 제품 구현이 완료되는 단계에서 삭제되지만, 개발자의 부주의로 삭제되지 않고 남아있을 가능성도 존재한다.

국가 소프트웨어 보안을 강화하기 위해서는 다음의 사항을 고려해야 한다.

첫째, 개발 단계에서 잠재적인 취약점이 없는 강건한 소프트웨어를 만들고 보안을 고려하여 소프트웨어 기능을 설계 및 구현하는 것이다. 소위 개발자가 지켜야 할 일련의 보안 활동인 소프트웨어 개발 보안 원칙을 지키는 것이다. 국내 공공 영역에서 2012년부터 공공 분야 소프트웨어의 개발 시에는 ICT 제품에서 취약점이 최소화 되도록 반드시 소프트웨어 개발 보안 기준에 입각해 소프트웨어를 제작하고 소프트웨어 제품 인수 시에 이를 점검하도록 의무화하고 있다. 이러한 노력은 더욱 확대되고 강화되어야 한다. 최근 공공과 민간을 망라한 소프트웨어 개발보안을 지키도록 의무화하는 소프트웨어산업진흥법 개정안이 박선숙의원에 의해 발의된 바 있어 주목된다.



둘째, 운영 중인 소프트웨어에서 취약점이 발견되면 조기에 탐지해 이 취약점을 메꾸는 노력이 필요하다. 이는 자동화된 소프트웨어 업데이트 기능을 통해 달성된다. 취약성 신고의 활성화 환경이 조성되어야 하고, 신고된 취약성에 대해 조속한 패치가 이루질 수 있는 체계 마련과 취약성 공유 체계가 활성화되어야 한다.

셋째, 개발자가 의도적으로나 부주의하게 숨겨 놓은 백도어를 찾아내는 노력도 필요하지만, 백도어를 해당 시스템에서 찾는 것은 기술적으로 거의 불가능하다. 만약 개발사가 의도적으로 이를 여러 곳에 숨기려하거나, 탐지를 어렵게 하는 난독화 등 기법을 이용하면, 이를 찾는 것은 바닷가 모래사장에 떨어드린 바늘을 찾는 것과 비슷하다. 따라서 통신망에 백도어가 있을 수 있다고 가정하고, 잠재적인 위험을 평가하고 이를 최소화할 수 있는 국가 사이버보안 체계의 개선이 필요하다.

넷째, 소프트웨어가 침입자단시스템 등 정보보호제품에서 사용되는 경우 적절한 개발 환경에서 보안 기능이 적절히 구현되는지를 평가할 필요가 있다. 이는 통상 '공통평가 기준'(CC) 인증이라고 불리며, 국제표준 (ISO/IEC 15408) 에 근거하고 있다. 이 평가는 정보보호 제품의 보안기능이 적절하게 구현되어 있는지를 평가하는 게 목적이다. 평가의 등급 (EAL)은 7 등급이며, 평가 등급 4 이상인 경우 개발사나 평가 대상은 제품의 소프트웨어 소스 프로그램을 평가기관에 제공해야 한다. 그러나 이 공통평가의 목적은 소프트웨어에서 백도어를 찾는 것이 주목적이 아님을 주목할 필요가 있다. 우리나라 공공기관이 정보보호 기능이 탐재된 ICT 제품을 구입하는 경우 공통평가 인증을 받는 제품만을 사용하도록 요구하고 있다.

다섯째, 소프트웨어 개발자나 판매자에서 이용자로 소프트웨어 또는 패치의 배포를 위한 공급자 체인상의 위험도 식별하고 이에 적절한 보호대책을 수립할 필요가 있다.

ICT에서 핵심적 역할을 하는 소프트웨어의 보안 강화는 개발자와 이용자 등의 주요 주체간의 신뢰 조성에서 시작되어야 한다. 신뢰는 소프트웨어가 원래 의도된 대로 동작되고, 취약점이 최소화되도록 구현되며, 신속히 취약점을 메꾸는 조치를 취하는 데에서 나온다.

여러 가능한 최악 조건에서 안전한 정보의 전달을 가능케 하는 단편적이 아닌 다면적인 국가 소프트웨어 보안 대책의 수립과 집행이 요구되는 시점이다.

[저작권자 ⓒ디지털타임스 무단 전재-재배포 금지]

추천기사