>> 연구실 연구 환경 소개 <<

[Current Research] Intelligent Security

 

딥러닝 기법을 활용하는 보안 연구 (Intelligent security)

지난 10년 간 사람의 인지 및 분석이 중요했던 보안 문제 (스팸 탐지, 새로운 악성코드 유형의 탐지, 방대한 네트워크 트래픽 내에서 악성 이벤트 분류, 소프트웨어 취약점 탐지, 피싱 사이트 차단, 사기거래 예방 등) 에서는 분석이나 보안 설정을 담당하는 보안전문가/보안관리자의 부담을 줄이기 위해 기계학습을 도입하려는 다양한 시도가 있어 왔으나 대부분 학계에서만 조금 관심을 보이는 연구주제 정도의 선에서 그쳤다. 하지만 현재 딥러닝 기법의 부상으로 학계뿐 아니라 산업계에서도 큰 관심을 보이고 있으며, 앞다투어 딥러닝 기법을 도입한 보안 솔루션의 개발이 이루어지고 있다. 본 연구실에서는 이와 관련하여 새로운 악성코드 유형의 탐지, 소프트웨어 취약점 탐지, 네트워크 트래픽 내에서 악성 이벤트 분류를 하기 위한 딥러닝 기법에 대한 연구를 진행하고 있다.


Intrusion Detection System for IoT environments (Sunwoo Ahn, Hyunjun Kim)

intrusiondetection.png

IoT 시스템은 일반 시스템과 다른 몇 가지 특성을 가지고 있다. 먼저, IoT 시스템은 독립적인 하나의 기기가 아니라, 네트워크로 연결되어 기기간의 상호작용이 중요 요소이다. 따라서, IoT 시스템을 위한 침입 탐지 시스템은 네트워크 통신과 기기 내의 행위로 이원화된 정보를 모두 고려한 모델이 필요하다. 다각화된 정보의 모델링은 매우 복잡하여 인간의 분석에 의존하기 보다는 AI 모델을 활용할 수 있다. 한편, 이러한 정보의 선택은 정확도 측면 뿐만 아니라, 기기의 자원 측면과 연결하여 생각 가능하다. IoT 시스템 내의 개체들은 연산 및 메모리 자원이 한정되어 있기 때문에, 이러한 환경에서 침입 탐지 시스템을 동작 가능하게 만들기 위해서는 효율적인 연산이 필수적이다. 따라서, 알맞은 입력 정보의 선택, AI 모델을 환경에 맞춰 디자인하거나, 연산량 자체를 줄이는 등 효율성을 극대화하면서도 정확도를 잃지 않는 것이 중요하다. 본 연구에서는 IoT 시스템에 특성에 맞는 효율적인 침입 탐지 시스템 개발을 위해 AI를 활용한 연구를 진행하고 있다.

Symbolic Execution with Neural Networks (Sunwoo Ahn, Whoi Ree Ha)

symbolicexecution.png

일반적으로 프로그램에 대한 버그나 에러를 일으키는 공격은 공격자가 특정 입력값 생성을 통해 프로그램의 특정 위치에 도달해서 해당 코드가 비정상적인 행위나 결과를 초래하는 방식으로 일어난다. 따라서 개발자들은 이러한 잠재적 공격으로부터 자신들의 프로그램을 안전하게 만들기 위해서 개발 단계에서 이런 입력값이 존재하는지 미리 알아내는 것에 노력을 기울이고 있다. 하지만 프로그램이 점차 복잡해지면서 입력으로 받는 변수의 수가 증가해 무수히 많은 입력값을 실행해보아야 하므로 그 특정 입력값을 알아내는 것은 해변에서 바늘 찾기처럼 어려워졌다. 과거엔 brute-force 한 방법으로 입력값들을 생성해 에러가 일어나는지 확인했지만, 점차 AI 기술을 적용하여 입력값과 비정상적인 행위 사이의 복잡한 관계를 학습해 스마트하게 입력값을 찾아내는 방법이 연구되고 있다. 이에 따라 본 연구에서는 Symbolic execution에 AI 기술을 접목해 에러를 일으키는 특정 입력값을 찾는 연구를 진행한다.

Program behavior modeling with Input Data Analysis (Sunwoo Ahn, Yohan Kim)

programbehavior.png

프로그램의 실행은 한 실행 상태에서 다른 실행 상태로의 전환을 일으키는 연산의 연속으로 볼 수 있다. 프로그램 실행을 모델링 하는 많은 연구에서 상대적으로 모델링이 쉬운 연산에 대한 정보에 집중하고, 모델링이 어려운 실행 상태에 대한 정보는 누락하고 있다. 실행 상태를 모델링 하는 것이 어려운 이유는 실행 상태에 대한 정보를 담고 있는 데이터가 정형화되어 있지 않으며, 그 양이 엄청나기 때문이다. 따라서, 정확하게 프로그램 실행을 모델링 하기 위해서는 실행 상태에 대한 정보를 분석하기 쉬운 형태인 벡터 형태로 가공하는 기술이 필요하다. 본 연구에서는 실행 상태에 대한 정보의 가공 및 해당 정보를 활용한 정확한 프로그램 실행 모델링을 목표로 한다.

0
0

Research

연구실 출신 타대학 연구실들과의 공동 연구 네트워크



링크: 경북대학교 / 순천대학교 / 영남대학교 / 한양대학교 / UNIST / 부산대학교