
http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
문제 기술서에서 NLP와 온톨로지를 이용한 요구사항 구조화
문제 기술서에서 NLP와 온톨로지를 이용한 요구사항 구조화 단국대학교 대학원 컴퓨터과학과 소프트웨어학전공 백 영 윤 지도교수: 박 용 범 요구 분석은 소프트웨어 개발에 있어서 핵심 활동이며 소프트웨어 개발 주기에 전체에 큰 영향을 미친다. 따라서 요구 분석은 소프트웨어 개발에서 사용자가 원하는 소프트웨어를 만드는 데 있어서 중요한 과정이다. 요구 분 석이 중요하지만, 요구사항 분석은 여전히 어렵고 복잡하며 분석하는 사람마 다 각각의 분석 내용을 만들어 낸다. 또한 자연어 요구사항 분석은 자동화되 지 않고 시간과 노력이 많이 사용되며 오류 발생의 문제가 있다. 따라서 부 족한 요구사항 분석과 자동화되지 않은 요구사항 분석 시스템은 소프트웨어 개발에서 많은 문제를 만들어 낸다. 이러한 문제를 해결하기 위해서 본 논문 에서는 요구사항 문제 기술서에서 ChatGPT 기반의 요구사항 구조화 분석 프로그램을 만들고 자연어 처리와 거시구조 개념을 적용하여서 요구사항 분 석을 가능하게 하고 이를 온톨로지로 구조화하여서 유즈케이스 다이어그램 과 유즈케이스 스펙을 만들었다. 이를 통해 자연어 요구사항 문서 분석을 가 능하게 하고 자동화된 시스템을 제공하여서 요구사항 분석 결과를 분석할 수 있는 구조화 방법을 제안한다. 주제어: 요구 분석, 요구사항, ChatGPT, 온톨로지
6LoWPAN 기반 IoT 환경에서 탈중앙 데이터 공유를 지원하는 안전한 Publish-Subscribe 시스템 연구
6LoWPAN 기반 IoT 환경에서 탈중앙 데이터 공유를 지원하는 안전한 Publish-Subscribe 시스템 연구 단국대학교 대학원 컴퓨터학과 소프트웨어학전공 박 왕 석 지도교수: 박 창 섭 사물인터넷(Internet of Things(IoT))은 우리 주변에 위치한 사물이 인터넷을 통해 연결되어 정보를 주고받는 기술을 통칭한다. 사물인터넷은 디바이스 제 어 및 디바이스에서 제공된 데이터에 대한 분석 및 활용을 통해 Smart Home, Smart City, Smart Healthcare, Smart Factory, 환경 모니터링, 교통 및 운송 분야, 공급망 관리 등에 적용되고 있다. 산업 분야에서는 수집된 데이 터를 분석하여 생산성을 향상시키고 에너지 및 자원 효율성을 개선하여 비 용 절감 및 환경 보호와 같은 효과를 가져올 수 있다. 또한 수집된 데이터를 기반으로 맞춤형 서비스 제공 등과 같은 새로운 비즈니스 모델 창출이 가능 하다. 사물인터넷 환경은 주로 무선 통신을 이용해 자원 제약적 디바이스로 구성되는 경우가 많다. 또한 센서와 같은 디바이스는 특별한 관리 없이 장기 간 운영되는 경우가 많아 보안에 취약하며 전력망, 의료 시스템 및 산업 환 경의 주요 인프라에 적용된 사물인터넷 환경에서 발생하는 사이버 공격은 개인정보 유출, 사고 발생 및 시스템 중단은 물론 인명 손실에 이르는 치명 적인 결과를 초래할 수 있다. 본 연구에서는 사물인터넷 운영 환경을 디바이스 및 네트워크의 전반적인 운영 및 구성을 담당하는 control plane과 데이터 전송 서비스 제공을 담당하 는 data plane으로 구분하여 각 plane의 주요 프로토콜에 대한 동작 방식 및 주요 기능에 관해 서술한다. 또한 사물인터넷 환경에서 기존에 진행된 보안 연구 동향에 대해 정리 및 분석을 진행하였다. 본 연구의 Control plane 보안 연구는 IEEE 802.15.4 기반의 안전한 6LoWPAN Neighbor Discover 프로토콜 을 제안하여 디바이스의 안전한 IPv6 주소 할당 기법과 hop 간 안전한 통신 을 위해 사용되는 link key 생성 및 공유 기법에 대해 설명한다. 또한 data plane 보안 연구는 Publish-Subscribe 모델의 대표적 프로토콜인 MQTT-SN을 이용하여 보안성과 데이터 안정성을 향상시킨 안전한 MQTT-SN 프로토콜을 제안한다. 제안 프로토콜은 기존 MQTT-SN에 Service Manager를 추가하여 Publisher, Subscriber, Broker와 Topic의 정보를 등록하고 이를 이용하여 Topic 별 접근제어 리스트(ACL)와 inner/outer secure channel을 생성함으로 써 종단간 보안과 제어 메시지 무결성 보장 및 Topic 별 접근제어 기능을 제 공하여 MQTT-SN의 보안 요구사항을 만족시킨다. MQTT-SN은 데이터 전송 안정성을 위해 3단계 QoS 기법을 제공하고 있으나 높은 단계의 QoS 적용시 QoS 보장을 위한 패킷으로 인한 네트워크 부하와 클라이언트 연결에 대한 상태 정보 및 데이터 저장으로 인한 Broker의 부하가 높아지는 단점을 가지 고 있다. 또한 MQTT-SN은 Subscriber가 서비스 가입 이전 또는 오프라인 상 태 등으로 인해 수신하지 못한 데이터를 획득하기 어렵다. 본 연구에서는 탈 중앙화 분산 파일시스템인 Private Interplanetary File System(IPFS)을 사용하 여 Subscriber가 구독한 데이터를 안전하게 공유함으로써 권한이 있는 Subscriber가 서비스 가입 이전 또는 오프라인 상태 등으로 인해 수신하지 못한 데이터를 안전하게 제공받을 수 있도록 한다. 해당 기능은 MQTT-SN의 QoS 단계를 낮게 설정하여 서비스 제공이 가능하게 하여 네트워크 및 Broker의 부하를 줄일 수 있고 MQTT-SN을 통해 서비스되는 데이터의 안정 성을 향상시킨다. 본 연구에서는 제안 기법에 대해 기존 MQTT-SN에서 고려 해야 할 공격 모델에 대한 안전성 평가와 다양한 실험을 통한 성능 평가를 진행하여 결과를 제시한다. 본 연구를 통해 사물인터넷 환경에 대한 이해와 보안 연구에 대한 기반을 제공하고, 사물인터넷 환경에서 안전하고 효율적인 서비스 제공을 위한 프로토콜 연구에 바탕이 될 것으로 기대한다. 주제어: IoT Security, IEEE 802.15.4, 6LoWPAN, MQTT/MQTT-SN, IPFS
기계학습을 이용한 IoT 사이버 공격 탐지와 데이터 가치 분석
IoT(Internet of Things) 장치는 취약한 아이디/비밀번호 사용, 인증되지 않은 펌웨어 업데이트 등 많은 보안 취약점을 보여 사이버 공격의 대상이 되고 있다. 그러나 CPU 구조의 다양성과 연산 자원의 제약으로 인해 사이버 공격 분석 환경 설정과 특징 설계에 어려움이 있다. 본 논문에서는 IoT 장치의 제약성을 고려한 기계학습 기반 IoT 악성코드 탐지와 네트워크 이상 탐지 방법을 제안한다. 또한 데이터 샤플리(data Shapley) 이론을 이용한 학습 데이터 가치 평가를 통해 인스턴스 선택과 이상치 탐지를 수행한다. IoT 악성코드 탐지를 위해 실행 파일 바이트 시퀀스의 엔트로피를 계산하고 선형 보간법을 적용시켜 고정 길이의 훈련 특징 표현이 제안된다. 제안 특징은 CPU 구조에 무관한 특징 표현이 가능하며 저차원이다. 한편, 네트워크 이상 탐지에 적용 시 통신 프로토콜과 무관한 트래픽 특징을 추출이 가능하다. 비교 실험에서 k-NN이 16 길이의 엔트로피 패턴을 학습했을 때 가장 높은 탐지 성능을 보였으며, 네트워크 이상 탐지의 경우 OCSVM 모델의 성능이 우수했다. 데이터 가치 분석은 인스턴스 선택 방법과 이상치 탐지 방법을 이용한다. 두 분류 문제에서 모델 성능에 대한 훈련 데이터의 기여도를 정량화시켜 데이터 가치가 분석된다. 인스턴스 선택은 모델 학습에서 낮은 기여도를 갖는 훈련 데이터를 제외시킨다. IoT 악성코드 탐지에서 k-NN, 의사결정트리, 랜덤포레스트는 인스턴스 선택에 따라 성능 향상을 보였지만, 순환신경망 모델은 성능이 감소했다. 네트워크 이상 탐지에서 훈련 데이터 내 이상치 데이터의 가치는 정상 데이터에 비해 낮게 분포되어 변별력이 보장된다. 그러므로 제안 방법은 IoT 네트워크 이상 분석에 이용될 수 있다.
uC/OS-II 시스템 보안을 위한 코드 무결성 검증 기법
IoT 기술 발전에 따라 네트워크에 연결된 임베디드 장치의 사용이 증가하고 있다. Micrium의 임베디드 시스템용 uC/OS-II 실시간 커널은 자동차, 전화기, 공장 자동화, 모터제어 등과 같이 다양한 시스템에서 사용되고 있고 네트워크에 연결되고 있다. 네트워크에 연결된 임베디드 장치가 여러 분야에서 중요 단말 역할을 수행함에 따라 점차적으로 사이버 공격의 대상이 되고 있다. 임베디드 장치를 대상으로 한 사이버 공격으로 인한 산업 시설의 가동중단 및 오작동 등으로 큰 피해가 야기될 수 있다. 따라서 네트워크에 연결된 임베디드 시스템에 대한 보안성을 강화하는 연구가 필요하다. 임베디드 시스템의 보안을 위해, 시스템의 코드가 불법으로 위변조되었는 지를 탐지하는 코드 무결성 검증 기법들이 많이 연구되어 왔다. 코드 무결성을 검증하기 위한 기존 연구로는 로컬 기반 프로그램 검증 기법과 원격 기반 프로그램 검증 기법이 존재한다. 로컬 기반 프로그램 검증 기법에는 체크섬(checksum)기반 위변조 검증 기법, secure boot를 통한 펌웨어 위변조 검증 기법, 난독화를 적용한 위변조 방지기법 등이 존재한다. 원격 기반 프로그램 검증 기법에는 소프트웨어 기반 방식과 하드웨어 기반 방식으로 분류할 수 있다. 그 외에 안전한 펌웨어 업데이트 기법을 적용하여 프로그램 위변조를 방지하고자 하는 연구가 수행되었다. 본 논문에서는 uC/OS-II 실시간 커널 수준에서 소프트웨어 기반으로 코드 무결성을 검증하는 2가지 기법을 제안하였다. 첫 번째, 임베디드 시스템 내에서 코드 무결성을 검증하는 기법은 프로그램 메모리의 일부 중요영역을 설정하여 주기적으로 MD5 해시연산을 통해 위변조가 발생하였는지를 확인한다. 이 기법은 프로그램 메모리의 일부만 검증하기 때문에 비교적 실행 오버헤드가 적어 실행 주기가 짧다. 두 번째 기법은 challenge-response 기법을 기반으로 외부 장치를 통해 코드 무결성을 검증한다. 외부 검증 장치에서 임의 값을 임베디드 시스템에 전송하면 임베디드 시스템은 전송받은 임의 값(nonce)을 이용해 의사 난수 생성을 수행한다. 생성된 난수 기반으로 프로그램 메모리 블록 접근 순서가 정해지고, 그 순서대로 블록들의 해시 값을 누적 계산하여 외부 검증장치에 전달한다. 외부 검증장치는 전달받은 최종 해시가 유효한 값인지를 확인하여 임베디드 시스템의 프로그램 메모리의 무결성을 검증한다. 이는 임베디드 시스템이 펌웨어 변조공격으로 프로그램이 변조될 경우, 효과적으로 변조 여부를 검증할 수 있다. 본 논문에서 제안한 두 기법을 uC/OS-II 상에 태스크로 구현하고 평가하여 유효성을 검증하였다. With the development of IoT technology, embedded devices become more connected to the internet. In addition, Micrium's uC/OS-II real-time kernel is used in a variety of embedded systems such as automobiles, telephones, factory automation, and motor control, and is connected to the network. As embedded devices with connectivity to a local network or internet play a critical role in many areas, they are becoming attractive targets for cyber attackers. The cyberattacks on the embedded devices can be a big threat to industrial control systems (ICS) and cause great damage to critical infrastructure. Therefore, it is very important to make embedded devices and their systems secure. As one approach to incorporating security in embedded systems, many research groups have studied on verifying code integrity on embedded systems. The integrity of program code can be verified locally or remotely. As code integrity check on the local machine, there are checksum-based forgery verification techniques, firmware forgery verification based on secure boot, and forgery prevention techniques using obfuscation. Remote-code integrity verification techniques can be classified in software-based and hardware-based method. Other studies have been conducted to prevent program tampering by applying secure firmware update techniques. This thesis proposes two techniques for verifying the integrity of program code at uC/OS-II real-time kernel level without any hardware change. The first technique for code integrity verification is operated inside the system, sets some important area of the program memory and periodically checks whether the code is modified by attackers through MD5 hash calculation. Since this technique verifies only a part of the program memory, the execution cycle is short because of a relatively low execution overhead. The second technique verifies code integrity using an external device based on a challenge-response protocol. When an external verification device transmits an arbitrary value (nonce) to the embedded system, the embedded system generates pseudorandom numbers using the arbitrary value transmitted. The memory block access sequence is determined based on the generated random numbers. Then the hash values of the blocks are cumulatively calculated in that sequence and the final hash value is transmitted to the external verification device. The external verification device verifies the integrity of the memory of the embedded system by checking whether the final hash value received is a valid value. The proposed techniques allow the embedded system to effectively check if the program code is modified by firmware tampering attacks. The effectiveness of the proposed techniques have been validated by implementing the techniques as each task on uC/OS-II and performing experiments.
PhoneGap 프레임워크로 작성된 안드로이드 앱의 정적 및 동적 분석
PhoneGap은 JavaScript를 이용하여 안드로이드, iOS, Windows Phone 등의 플랫폼에서 동작 가능한 앱을 쉽게 개발할 수 있도록 지원하는 대표적 크로스 플랫폼(cross-platform) 개발 도구이다. 앱 개발자뿐만 아니라, 악성코드 제작자들도 다양한 플랫폼에서 동작 가능한 악성 앱을 보다 쉽게 제작하기 위해 PhoneGap을 사용하기도 한다. 따라서 PhoneGap으로 제작된 악성 앱을 효과적으로 분석할 수 있는 기법이 필요해졌다. 본 논문에서는 PhoneGap으로 작성된 안드로이드 앱을 대상으로 정적 및 동적 분석을 수행할 수 있는 기법을 제안한다. 제안하는 분석기법에 대한 검증을 수행하기 위하여 PhoneGap 개발도구를 이용해 악성 앱을 제작하였다. 제작한 악성 앱을 대상으로 안드로이드 네이티브 앱(native app)과 PhoneGap 앱의 구조적 차이를 보이고, PhoneGap 앱에 대한 정적 및 동적 분석 기법을 제시한다. 또한 PhoneGap 앱의 빌드방식인 디버그 모드(Debug mode)와 배포판 모드(Release mode)에 따른 앱 분석 방식의 차이에 대해서도 기술한다. 정적 분석에서는 JavaScript 코드를 대상으로 가장 많이 적용되는 난독화 기법인 Minification, eval() 함수를 통한 코드 실행, 그리고 JavaScript Obfuscator를 통한 난독화에 대해서 각 난독화 별 역난독화 기법을 제시한다. 동적 분석에서는 먼저 PhoneGap으로 작성된 안드로이드 앱 내부에 위치하는 웹 루트를 단말기 내부에 수정 가능한 디렉토리에 복사한다. 이후 앱이 실행되는 과정에서 참조하는 웹 루트를 동적 인스트루멘테이션(Dynamic Instrumentation) 기법을 이용하여 중간에 변경한다. 마지막으로 배포판 모드로 빌드된 앱에 디버거가 정상적으로 연결될 수 있도록 웹뷰 디버깅에 관한 플래그를 동적으로 변경한다. 악성 앱 분석가는 본 논문에서 제안된 기법을 이용하여 크롬 원격 디버거를 통해 기존에는 지원되지 않던 배포판 모드로 빌드된 PhoneGap 앱을 디버깅할 수 있으며, 크롬 원격 디버거가 JavaScript 코드를 대상으로 지원하는 기능들을 활용할 수 있다. 또한 악성 앱이 분석 당하지 않기 위해 앱 재패키징 탐지 방법을 사용하기도 하는데, 이러한 경우에도 제안 기법은 악성 앱을 분석할 수 있다는 장점이 있다.
악성코드 분석을 위한 히스토그램 시각화와 프로토타입 선택 알고리즘
악성코드 개발자들은 안티 바이러스의 탐지를 회피하기 위해서 신종 또는 변종 기술을 적용한 악성코드를 끊임없이 개발하고 있으며, 그 결과 매년 악성코드의 양이 꾸준히 증가하고 있다. 이러한 이유로 서명 기반 탐지는 미리 수집되지 못한 신종 및 변종 악성코드 탐지에 한계가 있다. 이상 행위 탐지는 악성코드의 행위를 지속적으로 모니터링하기 때문에 신변종 악성코드의 탐지가 가능하다. 그러나 가상 환경의 구성과 악성 행위 탐지에 많은 시간을 요구한다. 본 논문에서는 엔트로피를 이용한 히스토그램 특징 추출 및 프로토타입 선택 알고리즘을 제안한다. 엔트로피 히스토그램 특징은 슬라이딩 윈도우 기법을 적용하고, 각 윈도우에서 나타나는 바이트의 비율을 반영하는 엔트로피를 계산한다. 파라미터 L에 따라 256×L 크기의 특징 벡터가 생성되며, 악성코드 분석에 이용하기 위해 특징의 구조적인 차이를 시각적 표현이 가능하다. 제안하는 프로토타입 선택 알고리즘은 초월 사각형 영역 내 서로 다른 클래스 데이터를 포함하지 않고, 클래스 영역을 분할한다. 초월 사각형의 중간 값은 프로토타입이 되어 새로운 훈련 데이터를 구성한다. 최소의 프로토타입 선택을 위한 집합 덮개 최적화 알고리즘을 설계한다. 초월 사각형을 이용하는 프로토타입 선택 알고리즘은 대용량의 악성코드 데이터로부터 클래스 영역을 대표하는 최소 데이터를 선택하여 낮은 학습 시간 및 저장 공간을 보장하는 장점을 제공한다. 실험 데이터 집합은 Kapsersky 분류를 기준으로 이진 분류 문제와 다중 분류 문제로 구성한다. 제안 방법의 실험 결과는 nearest neighbor, ensemble algorithm, 그리고 deep learning 알고리즘 등과 비교 분석된다. 엔트로피 히스토그램은 실행 파일 크기에 영향을 받지 않는 저 차원의 고정 길이를 갖는 악성코드의 특징화가 가능하다. 또한, 제안하는 프로토타입 선택 알고리즘을 이용한 다중 분류 문제로부터 약 48.0% 이하의 새로운 훈련 데이터를 구성시킬 수 있다. 그러므로 데이터 저장 공간과 학습 시간의 감소와 동시에 기존과 유사한 분류 성능을 보인다. 실험분석에서는 이진 분류 문제의 경우 최대 96.0%, 다중 분류 문제는 최대 91.0%의 분류 성능을 보인다. Malware developers are constantly developing malware through new or modified technologies to evade anti-virus detection. For this reason, signature-based detection has limitations in detecting new and modified malware that has not been collected in advance. Anomaly detection continuously detects the behavior of malicious code, so it is possible to detect new malware. However, it takes a lot of time to construct a virtual environment and detect malicious behavior. In this paper, we propose an entropy-based histogram feature extraction and a prototype selection algorithm. The entropy histogram feature applies a sliding window technique and calculates entropy that reflects the percentage of bytes that appear in each window. A feature vector of size 256 × L is generated according to the parameter L, and the structural differences of the features can be visually represented for use in malware analysis. The proposed prototype selection algorithm does not contain different class data in hyper-rectangular region, but splits the class region. The median value within a hyper-rectangle becomes a member of the new training set. We design a set cover optimization algorithm for minimal prototype selection. The prototype selection algorithms using hyper-rectangles offers the advantage of low learning time and storage space by selecting the smallest number of data from a large amount of malware. The experimental dataset consists of binary classification and multi-classification problems according to Kapsersky classification. Experimental results of the proposed method are compared with nearest neighbor, ensemble algorithm, and deep learning algorithm. Entropy histograms can characterize low-level and fixed-length malware that is not affected by executable file size. In addition, We can construct a new training set with less than 48.0% of training data from multiple classification problems using the proposed prototype selection algorithm. Therefore, the data storage space and learning time are reduced, and similar classification performance is shown. The experimental result shows that the classification performance is up to 96.0% for binary classification problems and 91.0% for multiple classification problems.
안드로이드 어플리케이션은 주로 자바 언어로 작성되어 바이트 코드로 이루어져 있다. 바이트 코드는 특성상 역공학 공격에 취약한 단점이 있어 많은 안드로이드 어플리케이션들의 저작권 침해 및 악성코드 삽입 등의 문제가 발생하고 있다. 안드로이드 어플리케이션을 역공학 공격으로부터 방어하기 위해 난독화 기법, 패킹, 암호화, 난독화 등의 정적 역공학 방지 기법들이 연구되고 있다. 하지만 이러한 정적 역공학 방지 기법들은 메모리 덤프, 실시간 디버깅 등과 같은 동적 역공학에 무력화된다. 또한, 동적 역공학 방지 기법으로는 주로 에뮬레이터 환경 탐지 연구들이 진행되고 있다. 하지만 최근 실기기 기반의 동적 역공학 기법들이 공개되어 에뮬레이터 기반 연구만으로는 한계점을 지닌다. 따라서 본 논문에서는, 안드로이드 어플리케이션에 대해 실기기 기반의 동적 역공학 방지 기법을 제안한다. 제안 기법을 안드로이드 어플리케이션에 적용하기 위해서 스텁 DEX 파일을 생성한다. 생성한 스텁 DEX파일의 기능은 동적 역공학 방지를 위해 어플리케이션이 실행되고 있는 환경이 루팅된 디바이스인지 검사를 진행하고, 어플리케이션에 대해 디버깅이 진행되고 있는지 검사를 진행한다. 검사 결과 루팅된 환경 혹은 디버깅 진행시 어플리케이션을 강제 종료하게 된다. 그리고 탐지 기법에 대한 우회 공격을 방어하기 위해 호출 스택 기반의 우회 공격 탐지를 진행한다. 본 제안 기법은 소스코드가 없는 어플리케이션에 적용이 가능한 장점을 갖고 있다. 구글 플레이 스토어에 등록된 어플리케이션 중 루팅 및 디버깅 탐지를 하지 않는 앱을 대상으로 제안 기법을 구현하였다. 실험 결과, 제안 기법이 호출 스택 트레이스 기반으로 최신 우회 공격까지 고려하면서, 루팅된 환경과 디버깅 시도를 효과적으로 탐지하는 것을 확인하였다. 제안 기법의 추가 시간 오버헤드는 평균 1953.2ms였다. Reverse engineering of Android applications is easy because the applications are written in the high level but simple byte code language. Due to malicious reverse engineering attacks, many Android applications are tampered and repackaged into malicious applications. To protect Android applications from reverse engineering, many researches have been conducted to develop anti-reverse engineering techniques such as obfuscation, packing (packed executable), encryption, and anti-debugging. Obfuscation, packing and encryption are the defense techniques against static reverse engineering, which cannot prevent dynamic reverse engineering like memory dumping and runtime debugging. On the other hand, the existing defense techniques against dynamic reverse engineering have usually tried to protect applications by determining whether they are being executed on an emulation-based analysis environment and stopping their execution on the emulator. However, these techniques based on detecting the emulators become ineffective because attackers recently make dynamic reverse engineering directly on real mobile devices. This thesis proposes a new protection scheme for Android applications against dynamic reverse engineering which is used for real mobile devices. The proposed scheme aims to check if a device on which the application is running is rooted and detect whether the application is being debugged. If the mobile device is rooted or the application is being executed in debug mode, the scheme stops the execution of the application. The proposed scheme can effectively protect Android applications against dynamic reverse engineering by investigating the generated call stack traces. The strength of the proposed scheme is that it can be applied to Android applications whose source code is not available. The proposed scheme can be implemented on the Android applications which do not detect a rooted device as well as whether a debugger is being used. Experimental results show that the scheme works very well using call stack traces under the situation that the latest existing detection techniques can be bypassed. The total time overhead incurred by the scheme is about 1.95 seconds on average.
TeaVisor: 네트워크 가상화에서의 대역폭 고립 기법
SDN은 네트워크 관리를 중앙에서 수행하는 기술로, 5G, 클라우드 등 다양한 네트워크 시스템의 기반 기술이 되고 있다. 또한 네트워크 시스템에서 단일 물리 네트워크를 복수 사용자가 이용하기 위한 네트워크 가상화가 사용되는데, SDN을 활용하여 사용자가 직접 제어 가능하도록 네트워크를 가상화하는 네트워크 하이퍼바이저 기술이 주목받고 있다. 하지만 기존 연구들은 성능, 특히 대역폭에 대한 고립은 제공하지 않는다. 단일 네트워크를 복수 사용자가 공유하는 환경에서는 사용자 간 네트워크 대역폭 간섭이 발생하므로, 각 사용자에게 일정한 대역폭을 제공하기 위한 기술이 필수적이다. 이에 본 논문은 대역폭을 고립하는 TeaVisor를 제안한다. TeaVisor는 Path virtualization 및 Dynamic bandwidth adaptation 이라는 새로운 개념을 도입하여, SDN 네트워크 하이퍼바이저 최초로 대역폭 고립을 제공한다. 실험 결과, TeaVisor는 복수 사용자의 대역폭을 고립하여 각 사용자의 대역폭 요구량을 충족시킨다. 또한TeaVisor는 기존 네트워크 하이퍼바이저 대비 대역폭 요구 충족량을 최대 4.7배 개선한다.
토르 익명네트워크 패시브 핑거프린팅을 위한 트리기반 앙상블 학습
일반 브라우저는 전송되는 데이터의 경로가 노출되어 도청에 대한 위험 성이 높게 나타난다. 도청 위험에 따른 개인의 익명성 및 보안 문제의 취약점을 보완하기 위해 토르 네트워크와 같은 익명 서비스를 사용한다. 토르 네트워크는 사용자가 자발적으로 참여하는 중계 노드를 통해 보안성과 익명성을 유지하는 익명 네트워크 서비스이다. 하지만 토르 네트워크에서 제공하는 익명 서비스를 악의적, 불법적 목적으로 활용하는 사용자가 존재한다. 이러한 악의적 사용자를 탐지하기 위해 웹사이트 핑거프린팅이 연구 되었다. 웹사이트 핑거프린팅은 네트워크 통신과정에서 발생하는 정보를 이용해 웹사이트의 고유특성을 추출하는 기술로, 트래픽 데이터,HTML 등의 정보를 분석하여 클라이언트의 통신 대상을 실명화하는 것을 목표로 한다. 분류 문제에 적합한 데이터 수집을 위해 wget 데이터와 TBB 데이터 수집 환경을 설계하고, 데이터 비교를 통해 엑티브 핑거 프린팅에 적합한 데이터를 구성했다. 기존의 웹사이트 핑거 프린팅 문제는 시간 변화에 따른 분류 문제와 히든 서비스에 취약하다는 단점이 존재한다. 이러한 문제점을 해결하기 위해 본 논문에서는 앙상블 모델의 특징 중요도를 이용하여 히든 서비스 분류 문제에 적합한 특징을 제안 하고, 기존 히든 서비스에 사용된 학습 모델과 웹사이트 핑거프린팅 분류 성능을 비교 분석했다. 사용된 학습 데이터는 일반 브라우저, 히든 서비스, 카테고리의 다중 분류 문제를 사용했다. 세가지 분류 문제에 대해서 extra trees 알고리즘에서 가장 높은 성능을 보이고, 기존의 특징과 특징 중요도 기반의 특징을 비교했을 경우 일반 브라우저에서 2%, 히든 서비스에서 7%의 정확도 향상을 나타냈다. 히든 서비스에서 기존에 연구된 특징을 사용한 CUMUL 모델보다 최대 7.9% 높은 정확도를 보였다. 카테고리 데이터는 누적되는 데이터의 양을 고려하여 분류 정확도와 시간 비교를 통해 알고리즘을 선정했다. 알고리즘 선정을 위해 학습데이터가 가장 많은 히든 서비스를 대상으로 하였으면 extra trees 알고리즘이 가장 좋은 성능을 보였다. 수집된 카테고리 데이터의 최초의 학습모델과 30일 동안 지속적으로 학습된 데이터를 비교했을 경우 분류 정확도가 10% 가 감소하였고, CUMUL 모델과 비교했을 때, 약 15.3% 높은 정확도를 나타냈다.
소프트웨어 범주화란 다른 그룹에 있는 프로그램들보다 서로가 유사한 프로그램들을 하나의 프로그램 집합으로 그룹화하는 작업을 말한다. 소프트웨어 범주화는 인터넷을 통해 배포된 불법 프로그램을 식별하고 차단하는 소프트웨어 필터링 시스템의 검색 범위를 줄일 수 있다. 최악의 경우, 소프트웨어 필터링 시스템은 의심스러운 프로그램이 합법적인 앱인가를 판단하기 위해 마켓에 있는 모든 합법 프로그램들과 비교를 할 필요가 있다. 따라서, 소프트웨어 필터링 작업 이전에, 적절한 클러스터링 작업을 수행하여 비교 횟수를 줄일 필요가 있다. 효율적이고 효과적인 관리를 위해 소프트웨어를 웹 브라우저, 메신저, 파일 압축 유틸리티, 미디어 플레이어, 이미지 뷰어, 텍스트 편집기 등과 같은 인기 있는 카테고리로 나누었다. 하지만, 이러한 카테고리가 소프트웨어 필터링 시스템을 위해 제일 적합한 것인가는 명확하지 않다. 본 논문은 소프트웨어 애플리케이션의 바이너리 실행파일을 분류하기 위해 새로운 접근 방식을 제안한다. 제안된 기법은 TF-IDF와 API 정보를 기반으로 K-평균 알고리즘을 사용하여 소프트웨어 애플리케이션을 자동으로 분류한다. 제안 기법의 유효성을 검증하기 위해, 마이크로소프트 윈도우 실행파일 495개를 대상으로 실험하였다. 실험 결과, 윈도우 바이너리 실행파일을 정확하게 분류하는 측면에서, 제안 기법에 의해 선택된 카테고리가 기존 카테고리보다 좋은 분류 결과를 보였다.