KR102403014B1 - 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법 - Google Patents

클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법 Download PDF

Info

Publication number
KR102403014B1
KR102403014B1 KR1020210153672A KR20210153672A KR102403014B1 KR 102403014 B1 KR102403014 B1 KR 102403014B1 KR 1020210153672 A KR1020210153672 A KR 1020210153672A KR 20210153672 A KR20210153672 A KR 20210153672A KR 102403014 B1 KR102403014 B1 KR 102403014B1
Authority
KR
South Korea
Prior art keywords
image
server
vulnerability
signature
present
Prior art date
Application number
KR1020210153672A
Other languages
English (en)
Inventor
김보
이관수
장보금
Original Assignee
인트인 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인트인 주식회사 filed Critical 인트인 주식회사
Priority to KR1020210153672A priority Critical patent/KR102403014B1/ko
Application granted granted Critical
Publication of KR102403014B1 publication Critical patent/KR102403014B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 클라우드 컨테이너 이미지의 보안 방법에 관한 것으로, 서버에서 클라이언트 단말로부터 이미지를 수신하는 단계; 상기 수신한 이미지에 대하여 암호화를 수행하는 단계; 상기 암호화된 이미지를 서명 서버에 전송하는 단계; 및 상기 서명 서버로부터 서명된 이미지를 수신하여 저장하는 단계;를 포함한다.

Description

클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법{METHOD FOR PREVENTING FORGERY OF CLOULD CONTAINER IMAGE AND CHECKING VULNERABILITY DIAGNOSIS}
본 발명은 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법에 관한 것으로서, 보다 상세하게는 클라우드 컨테이너 이미지의 OS, 환경 파일, 프로그램 소스 등에 대한 위·변조 방지를 위해 RSA 알고리즘을 이용하고, CVE를 활용한 취약점 진단 후 취약 부분에 대한 제어 기능을 통시에 진단하는 컨테이너 이미지 보안 프레임워크 방법에 관한 것이다.
컨테이너(Container), 특히 퍼블릭 클라우드에서 운영하는 컨테이너는 보편화되고 있다. 셀프 컨테이너 방식의 가벼운 소프트웨어 패키지는 자체 런타임 환경을 포함하고 있어 여러 플랫폼을 옮겨 다니며 이식할 수 있다.
일반적으로 이 과정에서는 코드를 크게 수정할 필요도 없다. 실제로 컨테이너에는 어플리케이션은 물론 그 어플리케이션을 독립적으로 실행하는 데 필요한 라이브러리 및 오래된 바이너리, 설정 파일 등이 모두 포함되어 있다.
컨테이너는 가장 널리 사용하는 어플리케이션 개발 방법 중 하나이다. 컨테이너 내에 이미 존재하는 어플리케이션의 래핑도 지원한다. 문제는 컨테이너에 내재한 결점과 보안 취약점이다. 이는 곧 클라우드 보안 전문가에게 가장 두려운 것이고, 동시에 사이버 범죄자가 선호하는 공격 경로이기도 하다.
컨테이너 보안 취약점 문제의 핵심은 클라우드로 컨테이너를 공개하는 순간 컨테이너와 연결된 다른 시스템과 어플리케이션, 데이터 등이 함께 노출될 수 있다는 사실이다. 이들 컴포넌트를 식별할 수 있다는 것은 공격자에게 시스템 제어권은 물론 이 시스템이 다루는 민감한 데이터에 대한 통제권이 넘어갈 수 있다는 의미이기도 하다.
이러한 문제점을 해결하는 방식으로, 첫번째로 취약점을 스캔하는 방식과 두번째로 취약점을 피하는 개발 방식이 있다.
먼저, 스캐닝은 가장 일반적인 보안 취약점 검출 방법이다. 지속적 통합 및 지속적 배포(CI/CD) 파이프라인에 포함된 과정이기도 하다. 스캐닝을 통해 코드를 만들어 테스트하고 리뷰하고 배치하는 것은 물론 운영할 때에도 보안 문제를 찾을 수 있다. 자동화된 스캐닝 과정을 이용하여 보안 취약점을 식별할 수 있고, 경우에 따라서는 개발자의 개입 없이도 자동으로 수정까지 할 수 있다.
레지스트링 스캐닝 또는 여러 리포지토리 전체를 컬링하면 한번에 많은 컨테이너 이미지를 확인할 수 있다. 클라우드이든 아니든 무관하게 레지스트리에 프로덕션 시스템으로 배포할 때 이런 과정을 통해 실행 중인 컨테이너를 점검할 수 있다. 런타임 환경 스캐닝은 일반적인 스캐닝과 조금 다르다. 보안 측면에서 실행 중인 컨테이너를 스캐닝하는 모든 과정을 가리킨다.
두번째는 보안 취약점을 피하는 개발 방법이다. 예를 들면 신뢰할 수 없는 소스에서 구한 베이스 이미지를 사용하지 않는 것이다. 확인된 레거시 코드만 사용하고, 개발자가 보안 컨테이너를 만들 때 올바른 선택을 할 수 있도록 가이드를 제공하는 것이 필요하다.
따라서, 본 발명에서는 클라우드 컨테이너 이미지의 위·변조 여부를 체크하고, 악성 코드 등에 대한 취약점 진단을 동시에 수행하는 방법에 대하여 개시하기로 한다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 사용자가 생성한 이미지에 대한 신뢰성과 안정성을 획득할 수 있다.
또한, 서버는 신뢰할 수 있는 이미지를 수신할 수 있다.
또한, 서버는 클라우드 컨테이너 이미지의 위·변조 여부를 체크하고, 악성 코드 등에 대한 취약점 진단을 동시에 수행할 수 있다.
본 발명의 일 실시예는 클라우드 컨테이너 이미지의 보안 방법에 관한 것으로, 서버에서 클라이언트 단말로부터 이미지를 수신하는 단계; 상기 수신한 이미지에 대하여 암호화를 수행하는 단계; 상기 암호화된 이미지를 서명 서버에 전송하는 단계; 및 상기 서명 서버로부터 서명된 이미지를 수신하여 저장하는 단계;를 포함한다.
또한, 상기 서버에서 클라이언트 단말로부터 이미지를 수신하는 단계는, CVE(Common Vulnerabilities and Exposures) 목록에 기초하여 스캔하여 취약점이 있는지 여부를 점검하는 단계를 포함할 수 있다.
또한, 상기 점검하는 단계는, 상기 서버에서 취약점이 있다고 판단한 경우, 공통 취약점 등급 시스템(CVSS)에 기초하여 취약점에 대한 등급을 결정하고, 취약점 보완에 대한 우선순위를 지정하는 단계를 더 포함할 수 있다.
또한, 상기 서버에서 이미지에 대한 암호화를 수행하는 단계는, RSA 알고리즘을 이용하여 서명을 수행하고, 상기 서명은, 공개 키 및 개인 키를 생성하여 이미지를 해쉬 함수를 통하여 고정된 길이의 출력값으로 변환할 수 있다.
또한, 상기 암호화된 이미지를 상기 서명 서버에 전송하는 단계는, 상기 서버에서 서명된 이미지를 저장하고, 검증이 완료된 이미지에 대한 메타데이터를 전송하여 상기 서명 서버에 상기 메타데이터에 대한 서명 요청하는 단계를 포함할 수 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 사용자가 생성한 이미지에 대한 신뢰성과 안정성을 획득할 수 있다.
또한, 서버는 신뢰할 수 있는 이미지를 수신할 수 있다.
또한, 서버는 클라우드 컨테이너 이미지의 위·변조 여부를 체크하고, 악성 코드 등에 대한 취약점 진단을 동시에 수행할 수 있다.
본 발명에 따를 때, 취약점 점검과 동시에 세부 개선 사항을 실시간으로 자동 조치할 수 있다.
도 1은 본 발명의 일 예에 따르는 보안 시스템을 나타낸 도면이다.
도 2는 본 발명의 일 예에 따르는 보안 과정을 나타낸 도면이다.
도 3은 본 발명의 일 예에 따르는 서버의 구조를 개념적으로 나타낸 블록도이다.
도 4는 본 발명의 일 예에 따르는 취약점 점검 및 위·변조 방지 과정을 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), LTE(Long Term Evolution) 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, “네트워크”는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
도 1은 본 발명의 일 예에 따르는 보안 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 위·변조 방지 및 취약점 진단 시스템은 서버(100), 클라이언트(200) 및 서명 서버(300)를 포함할 수 있다.
클라우드의 구상은 컨테이너 이미지 저장소의 사용뿐만 아니라 컨테이너의 사용도 증가시켰다. 그러나 컨테이너 이미지 저장소는 사용자가 액세스하는 이미지 종류에 따라 모든 것이 달라진다. 컨테이너 이미지 저장소는 컨테이너와 PaaS 환경을 이용하는 개발 및 배치 관행의 필요 요소로 널리 간주된다. 많은 개발, 운영 및 DevOps 팀은 컨테이너를 쉽게 사용하고 있으며, 수많은 소스에서 다양한 컨테이너 이미지를 끌어낼 것으로 예상하고 있다.
대부분의 주요 클라우드 제공업체는 아마존의 Elastic Container Registry, 마이크로소프트의 Azure Container Registry, 구글의 Container Registry 등 클라우드 서비스 환경의 일부로 사용할 수 있는 내부 Registry 등록부를 보유하고 있다. 조직이 클라우드 개발 및 구축 파이프라인 내에 이미지 전용 레지스트리를 생성하고 구성하면 기존 보안 정책 및 표준에 따라 쉽게 제한 및 모니터링할 수 있다.
그러나 많은 보안 팀들은 Docker Hub와 같이 보다 개방적이고 커뮤니티에 초점을 맞춘 Registry 또는 Quay 및 Sonatype Nexus와 같은 타사 Registry로부터 컨테이너 이미지를 획득한다. 이러한 Registry는 커뮤니티 내 조직 및 개인으로부터 받은 컨테이너 이미지를 호스팅하며, 모든 것이 보안 취약성을 확인하는 것은 아니다.
따라서 보안 팀은 여러 가지 이유로 팀이 사용하는 컨테이너 이미지를 더 잘 이해하고 이러한 이미지를 호스트할 수 있는 여러 가지 옵션도 살펴볼 필요가 있다. 대부분의 어플리케이션 라이프사이클에서 개발자 및 QA 테스터는 다양한 기능 요구사항에 대해 많은 이미지를 테스트하고 사용해야 한다.
최근 몇 년 동안 일부 레지스트리에서는 이미지 호스트가 호스팅하는 공식 컨테이너 이미지에 대한 암호 서명뿐만 아니라 취약점 검색을 시작하였다. 도커 허브에서 호스팅되는 모든 공식 이미지에 대하여 도커 보안 검색이 출시되었으며, 개인 도커 리포지토리의 애드온으로 취득할 수 있다.
보안 팀은 컨테이너 이미지 저장소에 대한 옵션에 대하여 연구를 하여야 하며 보안 및 사용 편의성의 최상의 균형을 제공하는 방법을 이하에서 설명하기로 한다.
본 발명에 따르는 서버(100)는 크게 취약점 점검과 위·변조 방지를 수행한다. 서버(100)는 취약점 점검 모듈을 통해서 클라이언트(200)에서 서버(100)로 전송되는 이미지의 취약점이 있는지 여부를 점검한다. 또한 서버(100)는 암호화 수행 모듈을 통해서 이미지의 암호화를 수행하며 메타데이터 생성 모듈에서 메타데이터를 생성한다.
본 발명에 따르는 클라이언트(사용자 단말,200)는 데스크탑(210), 노트북(220), 스마트폰(230), 태블릿, PDA(Personal Digital Assistant), 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 사용자는 클라이언트(200)를 통하여 이미지를 서버(100)에 전송할 수 있다.
본 발명에 따르는 서명 서버(300)는 서버(100)로부터 수신한 이미지를 암호화 수행하며, 함께 수신한 메타데이터에 대한 암호화를 수행한다.
네트워크(300)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
도 2는 본 발명의 일 예에 따르는 보안 과정을 나타낸 도면이다.
도 2를 참고하면, 서버는 클라이언트로부터 클라우드 컨테이너 이미지를 수신한다(S210). 사용자는 사용자가 생성한 이미지에 대하여 클라우드 서버에 전송할 수 있다.
서버는 수신한 이미지에 대하여 암호화를 수행한다(S220). 서버는 클라우드 컨테이너 이미지의 신뢰도를 보증하기 위하여 이미지에 해쉬(hash) 함수를 이용하여 전자 서명 기술을 통해 위·변조 여부를 검증한다.
서버는 이미지를 서명하기 이전에, 서버에서 수신한 이미지를 CVE(Common Vulnerabilities and Exposures) 목록에 기초하여 스캔하여 취약점 점검을 수행한다. 서버는 취약점이 발견된 경우, 해당 취약점에 대한 상세 사항 및 공통 취약점 등급 시스템(Common Vulnerability Scoring System; CVSS)에 기초하여 취약점에 대한 등급을 결정하고, 취약점 보완에 대한 우선순위를 지정한다.
서버는 RSA 알고리즘을 이용하여 전자 서명을 수행한다. RSA 알고리즘은 공개 키 및 비공개키(개인 키) 조합을 발생시키는 방법으로 암호화하는 것으로, 암호문을 생성하는 데에는 공개 키를 이용하고, 생성된 암호문을 해독하는 과정에는 비공개키를 이용하는 방식이다.
이때, 서버는 공개 키 및 개인 키를 이용하여 이미지를 고정된 길이의 출력값으로 변환하고 출력값을 개인키로 암호화한다. 이 과정을 서명(sign)이라고 부를 수 있다. 서명된 이미지가 서버에 업로드되면 서버는 클라이언트가 생성한 공개 키로 암호화된 출력값을 복호화한다. 이렇게 복호화된 값 및 원본 이미지의 해쉬 값을 대조하여 전자서명을 검증한다.
서버는 암호화된 이미지를 서명 서버에 전송한다(S230). 이 과정에서 서버는 검증이 완료된 이미지에 대한 메타데이터를 생성하여 이미지와 함께 서명 서버에 전송한다. 서명 서버(signer)는 서명된 메타데이터에 대하여 서명을 수행한다.
서버는 서명 서버로부터 서명된 이미지를 수신하여 저장한다(S240). 이로써 이미지에 대한 신뢰성 및 안전성을 확보할 수 있다.
도 3은 본 발명의 일 예에 따르는 서버의 구조를 개념적으로 나타낸 블록도이다.
도 3에 도시된 바와 같이 본 발명의 일 예에 따르는 서버(100)는 취약점 점검 모듈(110), 암호화 수행 모듈(120), 메타데이터 생성 모듈(130) 및 제어부(140)를 포함한다. 도 3에는 미도시하였지만, 통신부, 전원부, 저장부, 입출력부 등 서버(100)의 원활한 동작에 필요한 요소를 더 포함할 수 있다.
본 발명의 일 예에 따르는 취약점 점검 모듈(110)은 클라이언트에서 서버로 전송되는 이미지의 신뢰도를 보증하기 위하여 이미지의 서명 전에 수행된다. 이미지를 CVE 목록에 기초하여 스캔하여 취약점 점검을 수행한다.
취약점 점검 모듈(110)은 취약점이 발견되는 경우, 해당 취약점에 대한 상세 사항 및 공통 취약점 등급 시스템(CVSS)에 기초하여 취약점에 대한 등급을 결정하고, 보완에 대한 우선순위를 지정한다.
예를 들어, 취약점의 수준은 critical, high, medium 및 low와 같은 등급으로 결정할 수 있다. 또한 이러한 취약점의 수준과 함께 증명이 생성될 수 있으며, 항상 증명이 생성되거나(allow all) 또는 취약점이 식별되면 증명이 생성되지 않을 수도 있다(block all).
취약점 점검 모듈(110)은 취약점 별 조치 방안을 클라이언트에 제공하고, 사용자는 조치 방안에 대하여 수용하거나 거부할 수도 있다.
본 발명의 일 예에 따르는 암호화 수행 모듈(120)은 위·변조 여부를 검증하는 과정으로 RSA 알고리즘을 이용하여 암호화를 수행한다. 이를 위하여 암호화 수행 모듈(120)는 클라이언트가 생성한 공개키로 암호화된 출력값을 복호화한다. 이렇게 복호화된 값과 원본 이미지의 해쉬값을 비교하여 전자서명을 검증하게 된다.
본 발명의 일 예에 따르는 메타데이터 생성 모듈(130)은, 암호화되는 클라우드 컨테이너 이미지에 대한 메타데이터를 생성한다. 이 때에 생성되는 메타데이터는 서명 서버에서 개인 키와 함께 암호화하는데 이용된다.
본 발명의 일 예에 따르는 제어부(140)는 취약점 점검 모듈(110), 암호화 수행 모듈(120) 및 메타데이터 생성 모듈(130)이 서버(100)에서 원활하게 동작할 수 있도록 제어한다.
본 발명의 일 예에 따르는 제어부(140)는 취약점 개선 사항 실시간 자동 반영 조치를 수행할 수 있으며, 이미지 승인 반영 기능을 수행할 수 있다.
도 4는 본 발명의 일 예에 따르는 취약점 점검 및 위·변조 방지 과정을 나타낸 도면이다.
도 4에 도시된 바와 같이, 클라이언트(200)는 서버(100)에 클라우드 컨테이너 이미지를 전송한다(S410).
클라우드 컨테이너 이미지의 관리는 매우 중요한 역할이다. 이미지로 인한 취약점, 구성 결함 및 악성 코드 삽입 등으로부터 보안 이슈가 발생할 수 있기 때문이다. 이미지는 어플리케이션을 실행하는데 필요한 모든 구성 요소가 포함된 정적 파일이기 때문에 보안 업데이트가 누락됐거나 지원되지 않는 구성 요소가 있을 경우 취약점이 발생할 수 있다.
이미지 취약점이 없더라도 구성이 올바르지 않으면 공격에 노출될 수 있다. 불필요한 계정을 가지고 있거나 쓸데없이 네트워크에 노출되는 서비스가 있는 경우에 구성 결함이 발생할 가능성이 있다. 또한, 컨테이너에 주입된 어플리케이션에 악성 코드가 포함되는 경우도 배포 환경 내 다른 컨테이너나 호스트를 공격할 수 있기 때문에 위험하다. 이를 방지하기 위해서는 사용하는 이미지가 보안이 검증된 것인지 확인해야 하며, OS 패치가 지속적으로 적용되어야 한다. 또한 컨테이너 이미지 자체에 대한 스캔을 하도록 앵커(anchore)나 클레어(clair)와 같은 오픈소스 SW를 사용하여 데브섹옵스(DevSecOps) 파이프라인을 구성할 수 있다.
서버(100)는 수신된 이미지의 암호화를 수행하고, 이미지의 메타데이터를 생성한다(S420).
서버는 암호화된 이미지 및 메타데이터를 서명 서버(300)에 전송하고(S430). 서명 서버(signer)는 메타데이터 및 개인 키를 이용하여 암호화를 수행하고, 메타데이터에 대하여 서명을 수행한다(S440).
서버(100)는 서명 서버(300)로부터 암호화된 이미지 및 메타데이터 정보를 수신하며(S450), 이를 데이터베이스에 저장하는 것으로 취약점 점검 및 위·변조 방지를 수행한다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 서버
200: 클라이언트
300: 서명 서버

Claims (5)

  1. 클라우드 컨테이너 이미지의 보안 방법에 있어서,
    서버에서 클라이언트 단말로부터 이미지를 수신하는 단계;
    상기 수신한 이미지에 대하여 암호화를 수행하는 단계;
    상기 암호화된 이미지를 서명 서버에 전송하는 단계; 및
    상기 서명 서버로부터 서명된 이미지를 수신하여 저장하는 단계;
    를 포함하고,
    상기 서버에서 클라이언트 단말로부터 이미지를 수신하는 단계는,
    CVE(Common Vulnerabilities and Exposures) 목록에 기초하여 스캔하여 취약점이 있는지 여부를 점검하는 단계를 포함하되,
    상기 서버에서 취약점이 있다고 판단한 경우, 취약점을 개선하는 조치를 수행하는 것을 특징으로 하는, 보안 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 점검하는 단계는,
    상기 서버에서 취약점이 있다고 판단한 경우, 공통 취약점 등급 시스템(CVSS)에 기초하여 취약점에 대한 등급을 결정하고, 취약점 보완에 대한 우선순위를 지정하는 단계를 더 포함하는 것을 특징으로 하는, 보안 방법.
  4. 제1항에 있어서,
    상기 서버에서 이미지에 대한 암호화를 수행하는 단계는,
    RSA 알고리즘을 이용하여 서명을 수행하고,
    상기 서명은, 공개 키 및 개인 키를 생성하여 이미지를 해쉬 함수를 통하여 고정된 길이의 출력값으로 변환하는 것을 포함하는, 보안 방법.
  5. 제1항에 있어서,
    상기 암호화된 이미지를 상기 서명 서버에 전송하는 단계는,
    상기 서버에서 서명된 이미지를 저장하고, 검증이 완료된 이미지에 대한 메타데이터를 전송하여 상기 서명 서버에 상기 메타데이터에 대한 서명 요청하는 단계를 포함하는 것을 특징으로 하는, 보안 방법.
KR1020210153672A 2021-11-10 2021-11-10 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법 KR102403014B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210153672A KR102403014B1 (ko) 2021-11-10 2021-11-10 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210153672A KR102403014B1 (ko) 2021-11-10 2021-11-10 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법

Publications (1)

Publication Number Publication Date
KR102403014B1 true KR102403014B1 (ko) 2022-05-30

Family

ID=81800013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210153672A KR102403014B1 (ko) 2021-11-10 2021-11-10 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법

Country Status (1)

Country Link
KR (1) KR102403014B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210165876A1 (en) * 2017-11-22 2021-06-03 Aqua Security Software, Ltd. System for securing software containers with embedded agent

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101881271B1 (ko) * 2017-11-15 2018-07-25 한국인터넷진흥원 취약점 정보를 수집하는 장치 및 그 방법
US20180309747A1 (en) * 2011-08-09 2018-10-25 CloudPassage, Inc. Systems and methods for providing container security
KR20200069034A (ko) * 2018-12-06 2020-06-16 한국과학기술연구원 위변조 데이터가 네트워크에 저장되는 것을 방지하는 방법 및 상기 방법을 수행하는 시스템
US20210173935A1 (en) * 2019-12-09 2021-06-10 Accenture Global Solutions Limited Method and system for automatically identifying and correcting security vulnerabilities in containers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180309747A1 (en) * 2011-08-09 2018-10-25 CloudPassage, Inc. Systems and methods for providing container security
KR101881271B1 (ko) * 2017-11-15 2018-07-25 한국인터넷진흥원 취약점 정보를 수집하는 장치 및 그 방법
KR20200069034A (ko) * 2018-12-06 2020-06-16 한국과학기술연구원 위변조 데이터가 네트워크에 저장되는 것을 방지하는 방법 및 상기 방법을 수행하는 시스템
US20210173935A1 (en) * 2019-12-09 2021-06-10 Accenture Global Solutions Limited Method and system for automatically identifying and correcting security vulnerabilities in containers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210165876A1 (en) * 2017-11-22 2021-06-03 Aqua Security Software, Ltd. System for securing software containers with embedded agent
US11762986B2 (en) * 2017-11-22 2023-09-19 Aqua Security Software, Ltd. System for securing software containers with embedded agent

Similar Documents

Publication Publication Date Title
US10924517B2 (en) Processing network traffic based on assessed security weaknesses
US9015845B2 (en) Transit control for data
US9582668B2 (en) Quantifying the risks of applications for mobile devices
US20180254898A1 (en) Device enrollment protocol
Regenscheid et al. Recommendations of the national institute of standards and technology
US8572692B2 (en) Method and system for a platform-based trust verifying service for multi-party verification
US10547626B1 (en) Detecting repackaged applications based on file format fingerprints
Falsina et al. Grab'n run: Secure and practical dynamic code loading for android applications
US20190245870A1 (en) Mitigating communication and control attempts
Wong et al. On the security of containers: Threat modeling, attack analysis, and mitigation strategies
Blázquez et al. Trouble over-the-air: An analysis of fota apps in the android ecosystem
Wong et al. Threat modeling and security analysis of containers: A survey
Liu et al. $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud
Gallery et al. Trusted computing: Security and applications
Yankson et al. Security assessment for Zenbo robot using Drozer and mobSF frameworks
KR102403014B1 (ko) 클라우드 컨테이너 이미지의 위·변조 방지 및 취약점 진단 동시 체크 방법
CN113704211A (zh) 数据查询方法及装置、电子设备、存储介质
Muñoz et al. ICITPM: integrity validation of software in iterative continuous integration through the use of Trusted Platform Module (TPM)
Tedeschi et al. Information security and threats in mobile appliances
Park et al. TGVisor: A tiny hypervisor-based trusted geolocation framework for mobile cloud clients
US11138319B2 (en) Light-weight context tracking and repair for preventing integrity and confidentiality violations
Busch et al. Make Remote Forensic Investigations Forensic Again: Increasing the Evidential Value of Remote Forensic Investigations
Cho et al. A strengthened android signature management method
Regenscheid et al. BIOS Integrity Measurement Guidelines (Draft)
Dietzel Porting and improving an Android sandbox for automated assessment of malware

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant