DOI QR코드

DOI QR Code

Development of Software-Defined Perimeter-based Access Control System for Security of Cloud and IoT System

Cloud 및 IoT 시스템의 보안을 위한 소프트웨어 정의 경계기반의 접근제어시스템 개발

  • 박승규 (남서울대학교 전자공학과)
  • Received : 2021.01.06
  • Accepted : 2021.02.05
  • Published : 2021.04.30

Abstract

Recently, as the introduction of cloud, mobile, and IoT has become active, there is a growing need for technology development that can supplement the limitations of traditional security solutions based on fixed perimeters such as firewalls and Network Access Control (NAC). In response to this, SDP (Software Defined Perimeter) has recently emerged as a new base technology. Unlike existing security technologies, SDP can sets security boundaries (install Gateway S/W) regardless of the location of the protected resources (servers, IoT gateways, etc.) and neutralize most of the network-based hacking attacks that are becoming increasingly sofiscated. In particular, SDP is regarded as a security technology suitable for the cloud and IoT fields. In this study, a new access control system was proposed by combining SDP and hash tree-based large-scale data high-speed signature technology. Through the process authentication function using large-scale data high-speed signature technology, it prevents the threat of unknown malware intruding into the endpoint in advance, and implements a kernel-level security technology that makes it impossible for user-level attacks during the backup and recovery of major data. As a result, endpoint security, which is a weak part of SDP, has been strengthened. The proposed system was developed as a prototype, and the performance test was completed through a test of an authorized testing agency (TTA V&V Test). The SDP-based access control solution is a technology with high potential that can be used in smart car security.

최근 클라우드, 모바일, IoT의 도입이 활성화되면서 방화벽이나 NAC(Network Access Control) 등의 고정 경계(Fixed Perimeter) 기반의 기존 보안 솔루션들의 한계를 보완할 수 있는 기술 개발의 필요성이 커지고 있다. 이에 대응하여 새로운 기반 기술로써 최근 등장한 것이 SDP(Software Defined Perimeter) 이다. 이 기술은 기존 보안 기술들과 달리 보호 대상 자원(서버, IoT 게이트웨이 등)의 위치에 상관없이 보안 경계를 유연하게 설정(Gateway S/W를 설치)하여, 날로 다양화·고도화되고 있는 네트워크 기반 해킹 공격을 대부분 무력화할 수 있으며 특히, Cloud 및 IoT 분야에 적합한 보안 기술로 부각 되고 있다. 본 연구에서는 SDP와 해시 트리 기반의 대규모 데이터 고속 서명 기술을 결합하여 새로운 접근제어시스템을 제안하였다. 대규모 데이터 고속 서명 기술에 의한 프로세스 인증기능을 통해 엔드포인트에 침입한 미지의 멀웨어들의 위협을 사전에 차단하고, 주요 데이터의 백업, 복구과정에서 유저 레벨의 공격이 불가능한 커널 레벨의 보안 기술을 구현하였고 그 결과 SDP의 취약 부분인 엔드포인트 보안을 강화하였다. 제안된 시스템을 시제품으로 개발하고 공인시험기관의 테스트(TTA V&V Test)로 성능시험을 완료하였다. SDP 기반 접근제어 솔루션은 스마트 자동차 보안 등에서도 활용될 수 있는 향후 잠재력이 매우 높은 기술이다.

Keywords

Ⅰ. 서론

전 세계적으로 클라우드 도입이 증가하고 있고 특히, 우리나라는 클라우드 컴퓨팅 발전법 제정, 제1차 및 2차 클라우드 발전 기본계획 수립 등을 통해 클라우드 확산을 정책적으로 장려하고 있다. 그러나 2016년 기준으로 기업의 클라우드 컴퓨팅 도입률이 OECD 33개 국가 중 27위로 활성화가 여전히 미흡한 상황이다[1]. 이와 같은 현상의 주원인 인프라 공유와 가상화가 특징인 클라우드 환경의 특성상 보안 이슈가 기존 On-Premise 환경에서보다 더 문제가 되고 있고, 클라우드 환경에서 기존 보안기법으로는 보안 문제 해결에 한계를 드러내고 있기 때문이다[9][10].

기존 보안 기술들은 기업의 모든 전산 자원들이 방화벽, NAC(Network Access Control) 장비 등에 의해 분리되는 일정한 경계 내에 있다고 전제하는 기술들로서 이를 고정 경계(Fixed Perimeter) 기법이라 한다. 그런데 클라우드 환경이 도입되면서 기업의 전산 자원들이 더는 정해진 경계 내에만 존재하는 것이 아니게 되었고 더구나, 기업 업무에 모바일 기기의 활용이 보편화되면서 고정 경계 기반의 기존 보안 기술의 한계가 더욱 명확해 지고 있다. 이같이 변화되고 있는 기업 IT 환경을 반영하여, 기업 정보 자원이 어디에 있든(조직 내부, 외부 IDC, 클라우드) 유연하게 보안 경계를 설정하고 보안을 유지할 수 있는 기술이 필요하게 되었다[6].

또 하나 주목할 것은 IoT(Internet of Things) 발전에 따른 신규 보안 기술의 필요성이다. 시스코 사가 최근에 발간한 백서 ‘Annual Internet Report(2018-2023)’에 의하면 2023년까지 전 세계의 네트워킹 기기는 약 293 억 개에 달할 것으로 전망되는 등 엄청나게 많고 다양한 장치들이 인터넷에 접속되고 있고, 그에 따른 보안 사고도 점점 증가하며 심각해져 가는 추세이다[2]. 일반 전산기기에서와 마찬가지로 IoT 대상의 해킹 역시 네트워크스캐닝을 통해 공격대상을 선정하는 것으로 시작된다. 가령, 2018년 Mirai Botnet의 경우 랜덤하게 생성된 IP 주소를 스캐닝하여 ID/PW 기본 설정값을 변경하지 않은 IoT 장비에 사전식 전사공격을 시도하는 방식을 사용하였다[4]. 따라서 해커가 네트워크 스캐닝을 하더라도 장비(서버, 게이트웨이, 디바이스 등)의 존재가 보이지 않는 보안 기술을 개발하면 네트워크 기반의 다양한 보안공격을 사전에 방지할 수 있을 것이다[7][8].

마지막으로 내부자에 의한 정보유출 문제 따른 신규보안 기술 필요성 등장하고 있다. 해외 리서치 기관의 보고서에 따르면 보안 사고의 39% 이상이 내부자에 의해 일어나는 등 최근 악의적인 내부 직원이나 외부 용역인력 인한 내부 정보유출 문제가 잦아지고 있다[5]. 조직 내부 직원이라도 자신의 업무에 필요한 전산 자원들에만 접속할 수 있도록 하고 기타 자원들은 존재 자체를 인식하지 못하도록 은닉할 수 있는 기술을 도입한다면 내부자에 의한 정보유출 문제를 완화할 수 있을 것이다.

이와 같은 필요성에 대응하여 새로운 기반 기술로써 최근 등장한 기술이 SDP(Software Defined Perimeter) 이다. SDP는 미국 정부 기관에서 사용하던 기술을 상용화한 것으로 CSA(Cloud Security Alliance: 클라우드컴퓨팅의 안정성 증진 및 사용자 교육을 목적으로 2008년 미국에서 설립된 비영리 기관)에서 표준화를 추진하고 있는 접근제어 차세대 프레임워크이다. 이 기술은 방화벽 등 기존 보안 기술들과 달리 보호 대상 자원(서버, IoT 게이트웨이 등)의 위치에 상관없이 보안 경계를 유연하게 설정(Gateway S/W를 설치)할 수 있으며, 보호대상 전산 자원들의 경우 해커는 물론 인가되지 않은 내부 유저들에게 자원에 관한 어떠한 정보도 보이지 않도록 은닉할 수 있다. 그밖에도 접속을 요청하는 유저 및 단말기에 대한 강력한 인증기능, 제어와 데이터의 분리, 통신 채널 암호화 등을 통해 날로 다양화·고도화되고 있는 네트워크 기반 해킹 공격을 대부분 무력화할 수 있는 기술로 평가되고 있으며 특히, Cloud 및 IoT 분야에 적합한 보안 기술로 부각 되고 있다[3].

표준 SDP는 컨트롤러, 게이트웨이, 클라이언트로 구성되며, 허가된 유저는 사전에 등록한 단말기에 클라이언트 모듈을 설치하고 서비스별로 지정된 어플리케이션만을 사용해서 접속 가능한 서버의 허가된 서비스를 받을 수 있는 구조이다[3]. 표준 SDP 구조에서 보안상 가장 취약한 부분이 클라이언트 즉, 엔트포인트 부분일 것이라는 것을 쉽게 알 수 있으며 실제로 표준 SDP는 클라이언트가 설치된 단말기를 통한 우회 공격에 대해서는 의외로 약점이 있다. 즉, 단말기에 설치된 클라이언트 모듈과 서비스 어플리케이션을 해킹하여 변조하는 경우에 대해서는 별다른 대비책이 없는 실정이다. 본 연구에서는 이같은 약점을 보완하기 위하여 Park이 [4][5]에서 제안한 고속 대용량 서명 기법을 적용한 SDP 기반의 새로운 접근제어시스템을 제안하였다.

본 논문의 구성은 다음과 같다. Ⅱ장에서 관련 연구로 기존 접근제어 기술의 대안으로 등장한 SDP 기술의 개념과 이 기술의 보안 약점을 보완하기 위한 고속 대용량 서명 기법을 설명한다. Ⅲ장에서는 본 연구에서 제안하는 SDP 기반의 새로운 접근제어 솔루션을 설명하고, Ⅳ장에서 개발된 시스템 성능평가 결과를 설명한다. 마지막 Ⅴ장에서 결론을 기술한다.

Ⅱ. 관련 연구 및 기술

1. SDP(Software Defined Perimeter) 개요

가. SDP 아키텍쳐

‘블랙 클라우드(Black Cloud)’라고도 불리는 SDP는 미국 정부 기관인 DISA(Defense Information Systems Agency)에서 수행한 컴퓨터 보안 접근방식이 발전·변형된 형태이다. SDP는 컨트롤러, 게이트웨이, 클라이언트로 구성되어 클라우드 환경에서 모호해진 보안 경계를 유연하게 설정할 수 있으며, 이를 기반으로 네트워크 접근 및 통제를 효율적으로 수행할 수 있다[3]. 그림 1에 SDP의 아키텍쳐와 데이터 흐름이 보여져 있다.

OTNBBE_2021_v21n2_15_f0001.png 이미지

그림 1. SDP 아키텍처와 데이터 흐름

Fig. 1. SDP Architecture and Data Flow

(1) SDP Client

SDP 클라이언트는 사용자의 단말기(PC or 모바일 기기)에 설치되는 모듈로, 사용자는 반드시 지정된 단말기에 설치된 클라이언트를 통해서만 컨트롤러에 접속요청을 해야 한다. 단말기가 다를 경우 등록된 사용자라도 접속은 차단된다.

(2) SDP Controller

SDP 컨트롤러는 전체시스템을 관리하는 역할을 한다. 수신된 접속요청을 분석하여 사용자와 단말기가 정당한 경우 사용자에게 허가된 서비스 서버의 정보를 전달해주고 해당 서버에 접속 예정인 사용자 정보를 전달해 준다.

(3) SDP Gateway

SDP 게이트웨이는 방어선의 역할을 하는 것으로 컨트롤러로부터 사전에 정보를 전달받은 상대로부터 수신한 경우를 제외한 모든 접속요청 패킷을 DROP(상대에게 어떠한 Response도 주지 수신 패킷을 무시) 한다. 따라서 컨트롤러에게 인증 받지 못한 사용자나 해커는 네트워크 스캐닝을 하더라도 상대 쪽에 서버가 존재하는지조차 파악할 수 없게 된다.

나. SDP 동작(워크플로우)

기본적인 워크플로우를 정리하면 다음과 같다.

• 최초 Client가 SDP Controller에 SPA(Single Packet Authorization) 패킷을 전송하여 인증 요청

• SDP Controller는 SPA 패킷을 검증 후 문제가 없으면 Client를 인증하고 Client 정보를 접속대상 SDP Gateway에 전달

• Client에게 접속할 SDP Gateway에 대한 정보와 Client가 받을 수 있는 서비스 정보를 전달

• 그 후 Client와 접속대상 SDP Gateway간 암호화 된 데이터 통신 채널(mutual TLS channel)을 형성

• Client에서 서비스 사용이 허가된 응용 프로그램은 Client와 SDP Gateway간 형성된 암호화 채널을 이용하여 서비스를 사용

다. SDP의 특징

SDP의 주요 특징을 정리하면 다음과 같다.

(1) 선 인증, 후 연결

SDP의 가장 큰 특징은 ‘선 인증, 후 연결’이라 개념이다(그림 2).

OTNBBE_2021_v21n2_15_f0002.png 이미지

그림 2. SDP 서비스 접속 모델

Fig. 2. SDP Service Connection Model

기존 TCP/IP 통신의 개방성(선 연결, 후 인증)이 초래한 보안상의 허점을 보완한 것으로, 인증된 사용자가 아니면 상대방에게 어떠한 정보도 주지 않음으로써 노출되는 공격 면(Surface of Attack)을 최소화한다는 전략인 것이다. 그 결과, 인증받지 못한 사용자 및 어플리케이션은 네트워크 상에서 상대 자원의 존재 여부조차 확인할 수 없게 된다.

(2) IP 기반이 아닌 신원 중심 액세스 제어 제공

5 tuple이 아닌 ‘인증된 사용자’ 및 ‘허가된 단말기’ 등과 같이 신원과 상태에 의한 정책 수립 및 운용이 가능하다.

(3) 동적 정책관리 제공

새로운 자원, 서버, 애플리케이션 등이 생성되면 신원 및 상태에 따라 적절한 접근이 허가 되거나 거부된다. 접근 요청자 및 접근대상의 컨텍스트(시간, 위치, 장치 상태 등)에 따라 변경할 수 있다.

(4) 단순 및 일관성

접근제어 정책을 쉽게 수립할 수 있으며 기본적으로 S/W인 게이트웨이 설치를 통하여 보호대상 자원의 위치가 내부 네트워크이든 IDC이든 클라우드이든 상관없이 정책을 일관성 있게 적용할 수 있다.

라. SDP의 약점

앞에서 언급한 SDP 기술적 특징으로 해커가 서버를 직접 공격대상으로 하는 경우 거의 모든 네트워크 기반의 공격을 막을 수 있다고 평가되고 있다. 다만. SDP의 구조를 보면 가장 약한 고리(Weak Link)가 단말기 즉, 엔드 포인트라는 것을 쉽게 알 수 있고 따라서, 보안 공격의 주 대상은 엔드 포인트의 클라이언트와 어플리케이션이 될 것이라 유추할 수 있다. 즉, 사용자 단말기에 멀웨어를 침투시켜 클라이언트나 서비스 접속에 지정된 어플리케이션을 변조한 후 우회 공격하는 것이다.

OTNBBE_2021_v21n2_15_f0003.png 이미지

그림 3. SDP 클라언트 말웨어 보안 공격

Fig. 3. SDP Client Attack by Malwares

표준 SDP에서는 엔드 포인트 보호를 위해 서버단 서비스에 접속할 수 있는 어플리케이션을 사전에 지정해두고 서버에 접속할 때마다 이 어플리케이션과 SDP 클라이언트를 통해서만 서버 서비스를 호출할 수 있게 하는 어플리케이션 바인딩 기능을 두어 엔드 포인트에 침투한 말웨어들이나 지정되지 않은 일반 어플리케이션들이 네트워크 드라이버를 통해 SDP 서비스 서버에 직접 접속하지 못하도록 하고 있으나 정작 지정된 어플리케이션이나 클라이언트가 침해된 경우에 대해서는 대비책이 없는 실정이다[3].

최근 랜섬웨어나 APT 공격의 사례에서 보듯 엔드 포인트를 통한 보안 공격은 날이 갈수록 그 빈도와 복잡성이 증가하고 있다[15][16][17]. 따라서, 여러 경로를 통해 엔드 포인트에 멀웨어가 침투하더라도 아예 실행조차 되지 못하도록 원천적으로 차단할 수 있는 예방기법의 적용된다면 이와 같은 보안상의 약점을 보완할 수 있을 것이다.

2. 대규모 데이터 고속 서명기술을 이용한 말웨어 위협의 사전 예방

Park[5]은 해시 트리 기반의 대규모 데이터 고속 서명기술을 활용한 프로세스 인증을 통하여 미지의 랜섬웨어들의 위협을 사전에 차단하고, 주요 데이터의 백업, 복구과정에서 유저 레벨의 공격이 불가능한 커널 레벨의 보안 기법을 제안하였다. 랜섬웨어는 기본적으로 멀웨어의 한 부류이고 따라서 동일한 기법을 일반적인 멀웨어에 적용할 수 있다[12][13].

그림 4는 미지의 멀웨어 공격의 실시간 예방 및 사후복구 보안을 위한 보안시스템의 전체 개요이다.

OTNBBE_2021_v21n2_15_f0004.png 이미지

그림 4. 멀웨어 예방 시스템 개요

Fig. 4. Malware Protection System overview

해시함수와 해시 트리를 기반으로 동시에 대규모 데이터 서명을 할 수 있는 서명기술을 이용하여 사용자 시스템에 존재하는 모든 실행 이미지들(운영체제와 사용자 어플리케이션들에 포함된 모든 실행 파일들)에 위조 불가능한 서명을 사전에 부여한다. 이는 그림 5에서 보는 바와 같이 사용자 시스템의 운영체제와 어플리케이션에 포함된 모든 실행 이미지들의 해시값을 계산하여 이 값들을 리프 노드로 하는 이진 트리를 구성한 후 최상위 루트 노드에 공개키 서명하는 방식으로 서명을 부여한다. 대량의 데이터를 묶어서 동시에 서명함으로써 서명의 생성과 검증과정을 고속화할 수 있다.

OTNBBE_2021_v21n2_15_f0005.png 이미지

그림 5. 해시 트리

Fig. 5. Hash Tree

해당 이미지들이 운영체제의 커널에 실행을 위한 허가요청 때, 서명 값을 먼저 검증하게 하여 그 결과에 따라 실행을 허가 또는 차단하게 함으로써 미지 랜섬웨어의 위협을 차단한다. 또한, 서명 데이터 및 사용자가 지정하는 중요 자료들을 유저 레벨에서 접근이 불가한 커널 레벨의 스토리지에 암호화하여 저장하는 커널 레벨 백업기능을 추가하여 최종적으로 말웨어 등 사용자 시스템에 대해 발생 가능한 모든 미지의 위협에 대한 사전 방지 및 주요 데이터의 백업, 보관, 복구과정에서 사용자 레벨의 공격이 불가능한 커널 레벨의 엔드 포인트 보안시스템을 개발하였다.

Ⅲ. 제안된 SDP 기반 접근제어시스템

Ⅱ장에서 설명한 SDP와 엔드 포인트 보안시스템을 결합하여 새로운 접근제어시스템을 제안하였다(그림 6).

OTNBBE_2021_v21n2_15_f0006.png 이미지

그림 6. 제안된 SDP 기반 접근제어시스템 개요

Fig. 6. Proposed SDP Based Security System Overview

1. SPA(Single Packet Authentication) 기반 Dynamic Firewall 개발

Dynamic Firewall은 기본적으로 모든 수신 패킷을 거부(Deny All)하며, 합당한 패킷이 수신되었을 때만 포트를 열어 연결을 진행하도록 함으로써, 모든 악의적 혹은 비권한 접근 시도들로부터 서비스 서버들을 네트워크상에서 은닉(Hiding)하여 보호할 수 있게 하는 것이다. SDP 클라이언트가 컨트롤러에 접속하고자 할 경우 먼저 단일 패킷을 송신하여 인증을 받는 SPA(Single Packet Authentication)를 사용하며 이때, 단일 패킷의 구조는 다음과 같다(그림 7).

OTNBBE_2021_v21n2_15_f0016.png 이미지

그림 7. SPA 패킷 구조

Fig. 7. SPA Packet Structure

각 필드의 정의는 다음과 같다.

※ 요청코드 : 인증 요청에 대한 코드(솔루션 버전 변경에 따른 패킷 구분을 위한 코드)

※ 사용자 식별자 : 사용자별로 부여되는 고유 식별자. 사용자 식별자는 컨트롤러에서 관리자만이 생성할 수 있으며, 각 사용자에게 생성된 식별자를 배포할 수 있음. 안전하게 시스템을 이용하기 위해서 사용자 식별자와 관련된 모든 관리 기능은 컨트롤러의 관리자에 의해 관리되어야 함

※ OTP : 사용자의 패스워드를 기반으로 단방향 해시함수를 이용하여 생성되는 2차 암호

※ Device Fingerprint : 서버에 인증받기 위한 장치에 대한 암호키

※ 메타 데이터 : 인증에 필요한 부가정보를 추가하기 위한 예비 영역

사용자는 이러한 정보의 데이터를 암호화하여 컨트롤러에 송신한다. 전체 SPA 진행 메카니즘은 아래와 같다 (그림 8).

OTNBBE_2021_v21n2_15_f0007.png 이미지

그림 8. SPA 인증 프로토콜

Fig. 8. SPA Authentication Protocol

SPA 메커니즘에서는 인증을 받기 위한 사용자가 인증을 위한 단일 패킷(Single Packet)을 생성하고 사전에 공유되어 있는 비밀키로 암호화하여 컨트롤러에 송신한다. 컨트롤러에서는 SPA 패킷을 수신하여 복호화 후 사용자 식별자, OTP 및 Device Fingerprint 값의 유효성을 분석하여 인증의 성공 여부를 판단한다. 유효성 여부는 서버에 등록된 값과 수신된 값의 일치 여부로 판정한다. 유효하지 않은 패킷의 경우 응답 없이 패킷을 폐기 (Packet Drop)한다. 유효한 패킷일 경우 인증에 성공사실을 클라이언트에 통보하고 mutual TLS 수립을 위한 보안 정책 기능을 제어한다.

2. Device Fingerprint 생성 및 검증 기능 개발

Device Fingerprint 는 SPA 패킷에서 이용되는 일부 기능으로 개발되었으며, 컨트롤러 서버에 인증받기 위한 장치에 대한 고유 암호키이다. 컨트롤러 서버에서는 사용자와 사용자의 장치를 우선적으로 IP 주소에 기반하여 식별한다. 다만, IP는 위조가 용이하기 때문에 사용자와 해당 사용자가 사용할 장치들을 각각 식별할 수 있도록 등록하는 절차를 밟아야 한다. 이 때 각 사용자 장치에서는 각 장치의 하드웨어 정보를 기반으로 하여 단방향 해시함수를 이용한 메시지 인증 코드로 생성되는 장치에 대한 고유 암호키를 생성하여 등록한다. Device Fingerprint를 생성하기 위해서,

- CPU 고유식별자

- CPU 특성 정보

- 메모리 크기

- 고정 저장장치 할당 문자

- 고정 저장장치 크기

- 고정 저장장치 식별자

- 네트워크 어댑터의 MAC 주소

- 그래픽 가속기 고유 식별자

- 그래픽 가속기 메모리 크기

등과 같은 장치에 종속된 기계적 특징 데이터에 대해 SHA-256 기반의 메시지 인증코드를 이용하여 축약하여 생성한다. 구체적 내용은 다음과 같다.

• 최초 클라이언트 장치에 종속된 기계적 특징 데이터들 중 적용할 특징 데이터 조합 D를 선정하고, 이 정보를 서버에 등록

• 클라이언트는 서비스 서버에 접속이 필요한 시점에 다음과 같은 과정을 거쳐 Device Fingerprint 값을 계산하여 SPA 패킷의 일부로 인증 서버로 전달

Step 1: D와 카운터 값을 조합하여 DC 생성

Step 2: HS = HMAC-SHA-2(K, DC) 계산, HS는 32-byte string

Step 3: 4-byte string (Dynamic Truncation)를아래에 따라 생성

1) Sbits = DT(HS) = DT(String), String = String[0]...String[31]

2) OffsetBits를 low-order 4 bits of String [31]라 할 때, Offset = StToNum(Offset Bits), 0≦ OffSet ≦15

3) P = String[OffSet]...String[OffSet+5] 일 때, P의 마지막 128 bits를 반환

• 인증 서버는 클라이언트의 인증 기록을 통해 카운터 값을 계산

• 계산된 카운터 값, 사용자의 비밀 키(사용자 고유패스워드) 및 등록되어 있는 D 정보를 활용하여 위의 Step 1~3과 동일한 과정을 거쳐 Device Fingerprint 값을 계산

• 계산된 값이 클라이언트 측으로부터 수신된 값과 일치하는지 파악한 후 인증 여부 결정

일반적으로 다중요소 인증(MFA: Multi-Factor Authentication)이라 하면 지식, 소유, 속성 중 적어도 두 가지 이상의 분류에 해당하는 별도의 증거를 인증 메커니즘에 성공적으로 제시한 경우에만 사용자에게 접근권한이 주어지는 컴퓨터 접근 제어 방식을 의미한다. 본 연구에서는 Device Fingerprint, 인증서를 통해 접근단말에 대한 엄격한 다중요소 인증을 수행 한다.

3. SDP 통신 관련 모듈 개발

가. mutual TLS 기능 모듈 개발

OTNBBE_2021_v21n2_15_f0008.png 이미지

그림 9. SDP 클라이언트-컨트롤러 시큐어 채널 성립을 위한인증 프로토콜

Fig. 9. SDP Client-Controller Authentication Protocol for Secure Channel

Mutual TLS 기능은 SDP 통신(클라이언트, 컨트롤러, 게이트웨이 상호간 암호된 통신)의 기반 모듈로서 개발되었으며, 수립 과정은 다음과 같다.

• 접속요청 : 클라이언트는 컨트롤러와 상호인증 시큐어 채널을 성립하기 위해 제일 먼저 접속 요청. 컨트롤러에서는 해당 클라이언트의 인증서가 존재하는지를 확인하고, 해당 인증서의 유효성을 검증을 통하여 해당 클라이언트가 현재 접속 가능한 사용자인지, 해당 사용자가 접속 가능한 단말 장치인지, 해당 클라이언트가 정상적인 클라이언트인지 등을 확인하여 인증 프로토콜을 실행 여부를 결정

• 인증도전 : PKI 기반의 인증서를 이용하여 인증하기 위한 ECDH(Elliptic Curve Diffie-Hellman) 기반의 인증도전 패킷을 컨트롤러의 비밀키를 이용하여 생성하고 송신

• 인증도전응답 : 클라이언트는 사용자의 비밀키를 이용하여 ECDH 기반의 인증도전 응답 패킷을 생성하여 송신

• 인증결과 : ECDH 기반의 인증 성공 여부를 송신. 인증이 실패한 경우, 접속을 종료

• 클라이언트와 컨트롤러가 상호인증에 성공하면, 키교환을 통해 시큐어 채널을 성립하고 상호 필요한정보를 교환

나. SDP 클라이언트와 컨트롤러간 통신

SPA에 성공한 후 컨트롤러는 클라이언트에 인증서를 전송하고, 클라이언트와 컨트롤러간 데이터 통신을 위한 상호인증 시큐어 채널을 수립한다(상호 인증하여 시큐어 채널을 성립하는 프로토콜은 “가. mutual TLS 기능 모듈 개발”에서 설명).

클라이언트가 컨트롤러와 상호인증에 성공하면, 성립된 시큐어 채널을 통해 클라이언트는 사용자가 접속 가능한 서비스 목록을 다음의 프로토콜을 이용하여 갱신한다.

OTNBBE_2021_v21n2_15_f0009.png 이미지

그림 10. 접속 가능 서비스 목록 전송 프로토콜

Fig. 10. Available Service List Transfer Protocol

• 서비스 목록 요청 : 현재 사용자가 접속 가능한 서비스의 목록을 요청

• 서비스 목록 : 컨트롤러에서 해당 사용자가 접속 가능한 서비스 목록을 기록하여 송신

다. SDP 클라이언트와 게이트웨이간 통신

사용자가 컨트롤러에서 제공하는 서비스 목록에 포함되어 있는 서비스에 접속하기 위해서는 다음과 같은 인증과정을 거쳐야 한다.

OTNBBE_2021_v21n2_15_f0010.png 이미지

그림 11. 사용자의 서비스 접속 프로토콜

Fig. 11. User Service Access Protocol

• 서비스 접속 요청 : 클라이언트를 통해 서비스 요청을 할 수 있는 지정 어플리케이션, 예를 들면 웹브라우저, FTP 클라이언트, SSH 클라이언트 등을 이용하여 접속하는 경우에 발생

• 서비스 주소 요청 : 클라이언트는 서비스 접속 요청이 들어온 서비스에 대해서 실제로 접속해야 하는 서비스의 게이트웨이 서버 주소를 컨트롤러에 요청. 클라이언트는 서비스에 대해서 어디로 접속해야 하는지의 주소 정보는 보관하지 않으므로, 컨트롤러는 언제나 정책에 의해 서비스에 연관되어 있는 게이트웨이의 서버 주소를 제어할 수 있게 됨

• 클라이언트 허용 요청 : 서비스 주소를 요청한 클라이언트에 접속한 사용자, 그리고 사용자의 장치가 해당 서비스에 접속 가능한 권한을 갖고 있는 경우에만 수행. 권한이 없는 경우 해당 서비스 주소 요청에 대한 처리는 수행되지 않음. 컨트롤러는 게이트웨이 서버에 앞으로 접속하게 될 클라이언트의접속 허용 폴리시를 송신함. 접속 허용 폴리시에는 접속 허용 폴리시에는 해당 클라이언트가 접속 가능한 서비스에 대한 폴리시를 포함

• 서비스 주소 : 컨트롤러에서 해당 클라이언트에 대한 권한에 따라 접속 대상 서비스의 게이트웨이 서버에게 접속허용 폴리시를 성공적으로 송신하여 게이트웨이 서버에 접속허용 폴리시가 적용되고 나면, 해당 게이트웨이 서버에 접속하도록 유도하기 위하여 게이트웨이 서버의 주소와 공개키를 클라이언트에 전송

• 상호 인증 : 컨트롤러는 지금까지의 과정에서 클라이언트에는 게이트웨이의 공개키를, 게이트웨이에는 클라이언트의 공개키를 전달하였으므로 이제는 클라이언트와 게이트웨이가 해당 공개키를 이용하여 상호 인증을 수행할 수 있음(단, 이때도 클라이언트는 사전에 SPA를 통해 게이트웨이에 접속). 해당 상호 인증은 공개키에 대응하는 비밀키를 각각 소유하고 있어야만 성공할 수 있음. 이와 같이 상호인증에 필요한 공개키를 모두 컨트롤러가 제어하고 있으므로, 해당 공개키-비밀키쌍에 대한 생성과 유통, 폐기 등의 라이프 사이클 관리를 일원화 하여 수행할 수 있음

• 서비스 접속 요청 : 클라이언트는 상호 인증한 게이트웨이에 대해 서비스에 대한 접속을 요청함. 게이트웨이에서는 해당 클라이언트에게 해당 서비스에 대한 접속 권한이 있는지를 확인하여 권한이 있는 경우에만 다음 과정을 수행

• 서비스 접속 : 게이트웨이가 실제로 서비스에 접속을 수행

• 서비스 접속 결과 : 게이트웨이가 실제로 서비스에 접속 가능하여, 앞으로 사용자와 서비스 서버 사이에 이루어지는 통신을 중개할 것임을 알리는 접속결과를 송신함

상기 프로토콜을 성공적으로 수행하게 되면, 사용자는 서비스 서버에 대해 클라이언트와 게이트웨이 서버를 경유하는 시큐어 채널을 통해 안전하게 데이터를 송수신할 수 있게 된다.

4. End Point Protection 기능

가. Data Signature Based Malware Protection

보호 대상은 SDP 클라이언트 프로그램 자체와 이를 통해 서비스 서버에 접속하는 지정 어플리케이션들이며 이 프로그램들이 외부 말웨어에 의해 위변조되는 경우를 감지하여 사전에 차단하도록 하는 기능이다. 이를 위한 구체적 방안은 아래와 같다.

• 엔드포인트의 모든(운영체제, 사용자 어플리케이션) 실행 이미지(exe, dll)에 전자서명을 발행

• 실행 이미지들이 운영체제 커널에 실행을 요청하는시 점에 전자서명을 실시간으로 검증하여 허가 또는 거부

- 외부에서 유입된 모든 멀웨어들은 전자서명이 부여되어 있지 않으므로 실행조차 되지 못함 ⇒ 예방효과

- 외부 공격뿐만 아니라 인가받지 않은(서명이 부여되지 않은) 내부 사용자 소프트웨어의 실행도 원천차단

- 전자서명 데이터 등 중요 보호 대상 파일을 시스템만이 접근 가능한 커널 레벨 보안 스토리지 영역에 백업 ⇒ 최악의 경우 OS 자체에 존재할 수 있는 미지의 취약점에 의해 멀웨어가 실행 성공하여도 피해의 사후 복구 가능

상기 과정은 운영체제의 커널 레벨에서 관리자 권한으로 해킹이 수행되지 않는 이상 외부로부터 간섭받을 수 없다.

나. Application-Binding

SDP 클라이언트를 통해 서비스 요청을 하기 위해 이용할 수 있는 사용자 어플리케이션을 지정할 수 있다. 구체적인 절차는 다음과 같다.

• 컨트롤러의 관리자는 각 사용자가 이용 가능한 사용자 프로그램의 목록을 작성. 이렇게 작성된 프로그램의 목록에 따라 컨트롤러는 각 클라이언트가 서비스에 접속 시에 이용하는 응용 프로그램을 제한함

• 클라이언트가 서비스에 접속하기 위해서는 서비스 접속에 이용되고 있는 어플리케이션을 찾아 해당 프로그램의 코드를 컨트롤러에 제출

• 해당 코드가 허용된 어플리케이션의 코드일 경우만 컨트롤러는 해당 서비스의 이용을 허용

5. PKI 기반 인증서 관련 기능

SDP 컨트롤러는 mutual TLS 등에 필요한 PKI 기반인증서를 생성하고 검증하고 폐기에 이르는 라이프 사이클을 관리한다. PKI 기반 인증서라고 하면 일반적으로 비대칭 암호 알고리즘에 이용되는 매개변수와 공개키 및 해당 정보에 대한 다른 인증기관의 전자서명을 지칭한다. 해당 인증서의 관리는 비대칭 암호 알고리즘에서 이용하기 위한 공개키와 비밀키 쌍을 생성하여 비밀키를 사용자에게 전달하고, 해당 비밀키를 유효기간이 지나거나, 임의의 시점에서 이용하지 못하도록 하는 폐기과정을 포함함. 인증서 관리가 가능함은 공개키/비밀키의 라이프 사이클 전체에서 필요로 하는 관리 메커니즘의 실행 가능함을 의미한다.

본 연구에서는 타원곡선 기반의 비대칭 암호를 이용하였다. 매개변수는 보안강도 128비트로 사전에 정의된 SECP256K1 곡선과 SECP256R1 곡선을 임의로 선택하여 사용 가능하다. 전자서명에는 ECDSA(Elliptic Curve Digital Signature Algorithm) Scheme이 이용되었으며, 상호인증 및 키공유에는 Full MQV(Menezes-Qu- Vanstone) C(2e, 2s, ECC MQV) Scheme이 이용되었다. 난수 생성과 키생성을 위해서 시스템 엔트로피를 엔트로피 소스로 이용하는 해시함수 기반 DRBG(Deter- ministic Random Bit Generator) Scheme을 이용한다.

Ⅳ. 시스템 성능 분석

제안된 SDP 기반 접근제어 시스템의 성능평가를 위하여 테스트 환경을 그림 12와 표 1과 같이 구성하였다. 성능 지표와 목표치는 업계 전문가들의 의견과 동종 솔루션 벤치마킹 데이터를 기반으로 설정되었다. 목표달성의 객관적 검증을 위해 공인된 시험기관의 테스트(TTA Verification & Validation Test)를 시행하였다.

OTNBBE_2021_v21n2_15_f0011.png 이미지

그림 12. 시험환경구성도

Fig. 12. Test Environment

표 1. 테스트 환경 세부 사양

Table 1. Test Environment Specification

OTNBBE_2021_v21n2_15_t0001.png 이미지

1. 시스템 테스트 환경

개발된 시스템의 성능평가를 위한 테스트환경을 그림 8과 같이 구축하였다. 표 1에는 구축된 환경의 세부사양이 정리되어 있다.

[서버]

 [1]번 서버에 설치한 프로그램

- 하이퍼바이저 : Oracle VirtualBox 6.0.2 r133895-SDP

• [1-1]번 서버에 설치한 프로그램

- 컨트롤러 서버: sdp_controller version 1

- SDP Gateway : sdp_router version 1

- 보호 대상 서버 : test_echo_server version 1 [클라이언트]

• [2]번 클라이언트에 설치한 프로그램

- 하이퍼바이저 : Oracle VirtualBox 6.0.2 r128162

• [2-1]번 클라이언트에 설치한 프로그램

- SDP 클라이언트 : sdp_node version 1 [PC]

• [3]번 PC에 설치한 프로그램

- 터미날 프로그램 : Apple Inc. 터미날 2.9.5 [네트워크]

• 1, 000Mbps 스위칭 허브

2. 시스템 성능 분석

가. 무작위 부정 인증 시도 차단

해커 외부 공격 차단기능을 테스트하기 위하여, 등록되지 않은 단말기로부터 증시도 패킷을 무작위로 생성하여 SDP Gateway로 전송하였을 때 인증 성공 여부를 측정하였다.

OTNBBE_2021_v21n2_15_f0012.png 이미지

그림 13. 무작위 인증시도 차단

Fig. 13. Random Authorization Packet Blocking

테스크 결과 SDP Gateway에서 전송한 무작위 인증시도 패킷 100건 모두 실패하여 목표를 달성하였다.

나. 비권한 접근 시도 차단

정당한 유저나 단말기로부터 보호 대상 서버로 권한없는 접근 시도를 했을 경우(가령, 등록된 유저가 비등록 단말기의 클라이언트로 접근 시도를 하거나 지정되지 않은 어플리케이션으로 접근 시도를 하는 경우)의 차단 여부를 테스트 하였다.

OTNBBE_2021_v21n2_15_f0013.png 이미지

그림 14. 허가된 클라이언트의 비권한 접근 시도 차단

Fig. 14. Unauthorized Access Blocking

테스트 결과 보호 대상 서버에 대한 비권한 접근 시도 100건을 모두 차단하여 목표를 달성하였다.

다. 엔드 포인트 공격을 통한 접근 차단

악성코드 수집 사이트(marc0de.com)에서 수집된 실제 멀웨어를 시료로 하여 엔드 포인트에 멀웨어를 설치후 실행 여부를 테스트하였다.

표 2. 멀웨어 차단

Table 2. Blocking Malwares

OTNBBE_2021_v21n2_15_t0002.png 이미지

테스트한 결과 100개의 시료를 멀웨어 모두 실행에실패(FAILURE)하였다.

라. 동시 접속자 수

시험 프로그램을 이용하여 SDP Client와 SDP Gateway 및 SDP Controller간 동일 시점에 접속되어있는 동시 접속자 수(mutual TLS수) 측정하였다.

OTNBBE_2021_v21n2_15_f0014.png 이미지

그림 15. 동시 접속자 수

Fig. 15. Concurrent User number

부하 발생기를 이용하여 테스트한 결과 동시 접속자수 10, 240명을 달성하여 목표(10, 000명 이상)를 달성하였다.

마. mutual TLS tunnel 전송속도

서비스 퍼포먼스 측정을 위하여, Client와 SDP Gateway간 mutual TLS setup 후 시험 프로그램을 사용하여 Client와 서비스 서버 간 평균 mutual TLS tunnel 전송속도를 측정하였다.

OTNBBE_2021_v21n2_15_f0015.png 이미지

그림 16. mutual TLS tunnel 전송속도

Fig. 16. mutual TLS Transfer Speed

테스트 결과 mutual TLS tunnel 전송속도 49.4Mbps 을 달성하여 목표(20Mbps 이상)를 달성하였다.

Ⅴ. 결론

최근 클라우드, 모바일, IoT 등의 도입이 활성화되면서 고정 경계 기반의 기존 보안 솔루션들의 한계를 보완할 수 있는 기술 개발의 필요성이 커지고 있다. SDP는방화벽 등 기존 보안 기술들과 달리 보호 대상 자원(서버, IoT 게이트웨이, 디바이스 등)별로 물리적 위치에 상관없이 보안 방어선을 유연하게 설치(Gateway S/W를설치)할 수 있는 기술로써, N/W 상의 보호 대상 자원들을 인가되지 않은 접속 시도로부터 보호해 주는 은닉 기능과, 접속을 요청하는 유저 및 단말에 대한 강력한 인증기능, 제어와 데이터의 분리, 통신 채널의 암호화 등을 통해 다양한 N/W 기반 해킹 공격을 대부분 무력화할 수 있는 기술이다.

본 연구에서는 SDP와 해시 트리 기반의 대규모 데이터 고속 서명 기술을 결합하여 새로운 접근제어시스템을 제안하였다. 대규모 데이터 고속 서명 기술에 의한 프로세스 인증기능을 통해 엔드포인트에 침입한 미지의 멀웨어들의 위협을 사전에 차단하고, 주요 데이터의 백업, 복구과정에서 유저 레벨의 공격이 불가능한 커널 레벨의 보안 기술을 구현하였고 그 결과 SDP의 취약 부분인 엔드포인트 보안을 강화하였다. 제안된 시스템을 시제품으로 개발하고 공인시험기관의 테스트(TTA V&V Test)로 성능시험을 완료하였다.

SDP 기반 접근제어 솔루션은 국내외 시장 모두에서 향후 확대 잠재력이 매우 높은 기술이라 전망된다. 향후, UI 및 편의 기능 개선, 윈도 및 안드로이드, iOS 등 운영체제의 다양성 확보 등 솔루션의 상품성 제고와 더불어 스마트 자동차 보안, 자동 검침 보안 등 신규 응용 분야의 진출도 구체화해 나갈 계획이다.

※ 이 논문은 2020년도 남서울대학교 학술연구비 지원에 의해 연구되었음.

References

  1. Information and Communication Strategy Committee, "Cloud Computing Execution (ACT) Strategy for Experiencing the 4th Industrial revolution", 2018.
  2. CISCO, "Cisco Annual Internet Report (2018-2023) White Paper", 2020.
  3. Juanita Koilpillai, Nya Alison Murray, "Software Defined Perimeter(SDP) and Zero Trust", Cloud Security Alliance, pp. 1-24, 2020.
  4. Seung Kyu Park, "Development of Prevention and Post-recovery System against the Ransomwares Attacks using the Technique of Massively Data Signing and Kernel Level Backup", Journal of the Institute of Electronics and Information Engineers, Vol. 57, No. 3, pp. 56-73, March 2020. DOI: https://doi.org/10.5573/ieie.2020.57.3.57
  5. Seung Kyu Park, et al. "Implementation of the Large-scale Data Signature System Using Hash Tree Replication Approach", Journal of the Institute of Electronics and Information Engineers, Vol. 55, pp. 43-50, May 2018. DOI : 10.5573/ieie.2018.55.5.43
  6. Musa Abubakar Muhammad, Aladdin Ayesh, Pooneh Bagheri Zadeh, "Developing an Intelligent Filtering Technique for Bring Your Own Device Network Access Control", The International Conference on Future Networks and Distributed System, No. 46, 2017. DOI : 10.1145/3102304.3105573.
  7. Jung Yoon-soo, Han Gun-hee, "Effective access control techniques between different IoT devices in the cloud environment", Journal 9 of the Korean Convergence Society, Vol. 9, pp. 57-63, 2018. DOI : 10.15207/JKCS.2018.9.4.057
  8. Kang Yong-hyuk, Kim Moon-jung, Han Moon -seok, "A study on the intrusion detection technique using software-defined networking techniques in wireless sensor networks", Journal 8 of the Korean Convergence Society, Vol. 8, pp. 51-57, 2017. DOI : 10.15207/JKCS.2017.8.8.051
  9. Ashish Singh & Kakali Chatterjee, "Cloud security issues and challenges: A survey", Journal of Network and Computer Applications, Vol. 79, pp. 88-115, 2017. DOI : 10.1016/j.jnca.2016.11.027.
  10. Miss. Shakeeba S & Khan, Miss. Sakshi S. Deshmukh., "Security in Cloud Computing Using Cryptographic Algorithms", Journal of Computer Science and Mobile Computing, Vol. 3, pp. 517-525, 2017. DOI: 10.15680/ijircce.2015.0301035
  11. Cho Young-Ju, et al. "Operating principle and preventive measures of Ransomware", Proceedings of the Korea Contents Association Conference, pp. 91-92, May 12, 2017.
  12. Dong Ryeol, Hwang, "A Study on the Response System of Ransomware(Master thesis)", The Graduate School of Hanseo University, pp. 34-38, August 2018.
  13. Forrester, "Global Business Technographics ® Security Survey", 2015.
  14. Mark Stamp, "Information Security Principles and Practice 2nd Edition", John Wiley & Sons, ch.11-13, 2011.
  15. Eun-Sub Lee, Young-Kon Kim, "A Study on Effective Countermeasures against E-mail Propagation of Intelligent Malware," The Journal of The Institute of Internet, Broadcasting and Communication (JIIBC), Vol. 20, No. 3, pp. 189-194, 2020. DOI : 10.7236/JIIBC.2020.20.3.189
  16. Yong-Sun Ko, Jae-Pyo Park, "A Study on the Ransomware Detection System Based on User Requirements Analysis for Data Restoration," Journal of the Korea Academia-Industrial cooperation Society (JKAIS), Vol. 20, No. 4, pp. 50-55, 2019. DOI : 10.5762/KAIS.2019.20.4.50
  17. Sung-Min Kim, Hae-Sun Jung, Yong-Woo Lee, "Smart City Cyber Security Based on Information Security Industry ," The Journal of KIIT, Vol. 18, No. 4, pp. 129-136, 2020. DOI : 10.14801/jkiit.2020.18.4.129