본 연구과제의 최종 목표는 안전한 WebAssembly (Wasm) 기반 서버리스 환경을 위한 보안 계층을 설계 및 구현하는 것이다. 이를 달성하기 위해 다음의 세부 목표를 설정하였다.1. Wasm 환경에서 발생할 수 있는 다양한 취약점을 분석하고, 그에 따른 공격 시나리오를 제시한다.2. 제시된 공격 시나리오를 탐지하고 차단할 수 있는 보안 계층을 설계 ...
클라우드 보안
서버리스 컴퓨팅
웹어셈블리
2
주관|
2022년 8월-2024년 2월
|31,461,000원
분산 SDN 컨트롤러에서 취약점을 찾기 위한 모델 기반 테스팅 시스템 설계
본 연구과제가 목표로하는 시스템은 크게 다음의 3가지 부분으로 구성되어 있다.
가. 컨트롤러 모델
취약점을 효과적으로 발견하기 위해서 컨트롤러 모델 기반 공격 시나리오 생성 기법을 사용하고자 한다. 이는 기존에 소프트웨어 취약점을 효율적으로 찾기 위해 활용되었던 방법 중 하나로, 모델에 기반하여 유효한 공격 시나리오를 찾는 방법이다. 공격 시나리오 생성을 위한 컨트롤러 모델은 (1) 사용자가 직접 모델을 테스터에 제공하거나, (2) 분산 컨트롤러에 대한 모델을 자동으로 학습하는 두 가지 방법을 모두 고려하고자 한다. 전자는 분산 컨트롤러의 행위가 복잡하지 않을 경우 적용 가능하며, 후자는 분산 컨트롤러의 행위가 복잡하나 사용하는 프로토콜들의 설계 명세가 명확할 경우 적용 가능하다.
특히 후자의 컨트롤러 모델을 자동으로 학습하기 위해서 오토마타 학습법(Automata Learning)을 이용하고자 한다. 이는 타겟 시스템의 유한 상태 기계(Finite State Machine, FSM)를 학습하는 방법이며 보안 학계에서 타겟 프로토콜의 취약점을 찾기 위해 채용되는 방법 중 하나이다. 예를 들어 암호화 프로토콜인 TLS를 사용하는 여러 구현체(예: OpenSSL, GnuTLS)에 가능한 TLS 메시지를 오토마타 학습 알고리즘(예: L-Star)에 따라 전송하고, 응답에 따라 상태 기계를 추론하는 것이다. 같은 프로토콜이더라도 시스템이 구현한 방식에 따라 다르게 동작하거나 다른 상태를 가질 수 있으므로, 이러한 모델을 보고 구현체의 이상행위를 발견할 수 있다.
오토마타 학습법은 다음과 같은 순서로 동작한다. (1) 학습기가 프로토콜 메시지의 심볼인 입력 알파벳을 전송하면, (2) 변환기가 이를 구체적인 프로토콜 입력 메시지로 변환하고 타겟 시스템에 전송한다. 3) 타겟 시스템은 이에 따른 출력 메시지를 반환하고, (4) 다시 변환기가 이를 출력 알파벳으로 변환한다. (5) 학습기는 출력 알파벳을 보고 상태를 학습한다.
나. 공격 시나리오 생성
공격 시나리오는 본 시스템이 분산 SDN 컨트롤러 클러스터에 전송하는 일련의 메시지들의 고유한 순서(Sequence)를 의미한다. 본 연구과제에서 컨트롤러 모델을 바탕으로 효과적인 공격 시나리오를 생성하기 위해 그래프 순회 알고리즘을 고안하고자 한다. 입력된 모델을 하나의 그래프로 가정하고, 그래프 출발지 노드로부터 모든 상태 노드까지 도달하면서 여러 가지 공격 시나리오를 생성하기 위해 깊이 우선 탐색(Depth First Search), 너비 우선 탐색(Breadth First Search) 등을 이용할 수 있다. 가능한 그래프 순회 알고리즘을 모두 이용해보면서 어떤 것이 더 효율적으로 공격 시나리오를 생성하는지 비교해보도록 한다.
다. 클러스터 모니터링
본 시스템은 생성된 공격 시나리오가 유효한지 검증하고 실제 취약점을 발견하기 위해서 지속적으로 분산 컨트롤러를 모니터링하도록 한다. 이 때 컨트롤러가 이상행위에 빠지는 지를 알아내기 위해 기존 SDN 보안 및 분산 시스템 관련 논문들을 참고하여 몇 가지 탐지 기준을 체계적으로 정하도록 한다. 예를 들어 (1) 컨트롤러 셧다운, (2) 컨트롤러 내부 스토리지 오염, (3) 컨트롤러 제어권 탈취 등을 들 수 있다.