"틀:Introduction"의 두 판 사이의 차이

Cslab
이동: 둘러보기, 검색
(Computer Security Laboratory (컴퓨터 보안 연구실))
(Computer Security Laboratory (컴퓨터 보안 연구실))
11번째 줄: 11번째 줄:
 
'''바이너리 코드 분석 (Binary code analysis) '''
 
'''바이너리 코드 분석 (Binary code analysis) '''
  
바이너리 코드는  
+
바이너리 코드는 마이크로소프트, 어도비 사 등의 상용 프로그램, 운영 체제 및 라이브러리 코드 등이 대표적인 예이며, 통상 저작권 보호를 위해서 회사들은 바이너리 코드 만을 배포합니다. 소프트웨어에 관한 리버스 엔지니어링 (reverse engineering) 또는 역공학(逆工學)은 바이너리 코드 만을 가지고 소프트웨어 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정입니다. 통상 해커들이 시리얼 코드 저작권 체크를 우회하기 위해서 혹은 취약점을 발견하기 위하여 바이너리 코드를 분석해왔습니다. 한편, 보안 연구자들은 레거시 소프트웨어 시스템을 분석하기 위해서 혹은 악성 코드를 분석하기 위해 바이너리 코드 분석 기술을 연구하고 있습니다. 저희는 디버거/디스어셈블러 및 BAP (Binary Analysis Platform), BitBlaze, Valgrind, Pin, DynamoRIO 등의 다양한 툴을 기반으로 정적/동적 프로그램 분석 기술을 통해 바이너리 코드를 보다 쉽고 간편하게 분석하는 기술을 연구하고 있습니다.  
리버스 엔지니어링(영어: reverse engineering, RE) 또는 역공학(逆工學)은 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 이것은 종종 대상(기계 장치, 전자 부품, 소프트웨어 프로그램 )을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다. 리버스 엔지니어링의 기원은 상업적 또는 군사적으로 하드웨어를 분석한 것에서 시작되었다. 목적은 원본 생산의 절차에 관한 지식이 거의 없는 상태에서, 최종 제품을 가지고 디자인 결정과정을 추론하는 것이다. 같은 기술이 레거시 소프트웨어 시스템을 응용하기 위해 현재 연구되고 있는데, 산업이나 국방이 아니고, 오류, 미완성, 접근 불가인 문서를 수정하기 위함이다.
 
  
  
 
'''취약점 (자동) 분석 (Exploit analysis) '''
 
'''취약점 (자동) 분석 (Exploit analysis) '''
  
바이너리 코드는
+
프로그램의 크기가 커지고 복잡해짐에 따라, 예상치 못한 버그의 발생 가능성 또한 나날이 커지고 있습니다. 다양한 버그 중에서 가장 시급히 찾아야할 버그는 보안 취약성 버그인데, 공격자가 이 버그를 찾게 되면 프로그램을 사용하는 컴퓨터 시스템을 (원격으로) 공격하여 마음대로 제어할 수 있기 때문입니다. 본 연구실에서는 소스 코드가 있는 프로그램 혹은 바이너리 코드만 존재하는 프로그램에 대하여 분석 기술을 적용하여 버퍼 오버플로우, 힙 오버플로우 등의 보안 취약점을 보다 간편하게 찾을 수 있는 취약점 (자동) 분석 기술을 연구하고 있습니다.  
리버스 엔지니어링(영어: reverse engineering, RE) 또는 역공학(逆工學)은 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 이것은 종종 대상(기계 장치, 전자 부품, 소프트웨어 프로그램 등)을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다. 리버스 엔지니어링의 기원은 상업적 또는 군사적으로 하드웨어를 분석한 것에서 시작되었다. 목적은 원본 생산의 절차에 관한 지식이 거의 없는 상태에서, 최종 제품을 가지고 디자인 결정과정을 추론하는 것이다. 같은 기술이 레거시 소프트웨어 시스템을 응용하기 위해 현재 연구되고 있는데, 산업이나 국방이 아니고, 오류, 미완성, 접근 불가인 문서를 수정하기 위함이다.
 
  
  
 
''' 악성 코드 분석 (Malware Analysis) '''
 
''' 악성 코드 분석 (Malware Analysis) '''
  
최근 증가되고 있는 악성코드에 의한 사용자의 데이터 유출 및 개인정보 유출, 분산서비스거부(DDoS) 공격등의 다양한 침해사례가 증가하고 있다. 이러한 악성코드에 의한 피해들은 개인적 뿐만아니라 국가적인 손실을 초례하게 되었다. 악성코드의 정적 분석은 실제 악성코드를 직접 실행하지 않고 디버깅하거나 코드를 분석하는 방법으로 컨트롤 플로우 그래프를 이용하는 방법, 명령어 빈도수를 이용하는 방법, 함수 호출 그래프를 이용하는 방법등의 연구가 활발히 진행이 되고 있다. 동적 분석은 제한된 실행 환경 내에서 직접 실행을 해봄으로써 동작과정 및 시스템 내에서의 행위를 모니터링 하는 방법으로, 악성행위 및 API 콜 순차 패턴을 이용한 방법, 악성 행위 기반 마이닝을 이용한 방법등이 제안되었다
+
최근 악성 코드에 의한 피해 사례가 나날이 늘어가고 있습니다. 악성 코드는 사용자의 패스워드 등 개인 정보를 빼갈 뿐만 아니라, 봇넷을 형성하여 특정 네트워크/사이트에 대하여 분산 서비스 거부(DDoS) 공격 등을 하는 등 개인적 뿐만아니라 국가적인 손실을 초례하고 있습니다. (변종) 악성 코드를 생성하는 방법은 대단히 쉬운 반면, 악성코드를 분석하기 위해서는 바이너리 분석 기술, 언패킹, 안티 리버싱 회피 기술, 루트킷 탐지, 유사 악성 코드 클러스터링 등 다양한 지식을 필요로 하면서도 많은 시간과 노력이 필요합니다. 이에, 본 연구실에서는 악성코드에 대한 자동 분석 기술을 연구하고 있습니다.
  
  

2011년 7월 5일 (화) 20:06 판

Computer Security Laboratory (컴퓨터 보안 연구실)

컴퓨터 보안 연구실에 오신 것을 환영합니다. 본 연구실은 컴퓨터 시스템 및 인터넷 시스템에서 발생할 수 있는 보안 사고 및 문제를 분석하고 어떻게 하면 보안 문제를 미연에 방지하거나 조속히 탐지할 수 있는 방안을 연구합니다. 본 연구실에서 다루는 주요 연구 분야는 다음과 같습니다.


바이너리 코드 분석 (Binary code analysis)

바이너리 코드는 마이크로소프트, 어도비 사 등의 상용 프로그램, 운영 체제 및 라이브러리 코드 등이 대표적인 예이며, 통상 저작권 보호를 위해서 회사들은 바이너리 코드 만을 배포합니다. 소프트웨어에 관한 리버스 엔지니어링 (reverse engineering) 또는 역공학(逆工學)은 바이너리 코드 만을 가지고 소프트웨어 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정입니다. 통상 해커들이 시리얼 코드 등 저작권 체크를 우회하기 위해서 혹은 취약점을 발견하기 위하여 바이너리 코드를 분석해왔습니다. 한편, 보안 연구자들은 레거시 소프트웨어 시스템을 분석하기 위해서 혹은 악성 코드를 분석하기 위해 바이너리 코드 분석 기술을 연구하고 있습니다. 저희는 디버거/디스어셈블러 및 BAP (Binary Analysis Platform), BitBlaze, Valgrind, Pin, DynamoRIO 등의 다양한 툴을 기반으로 정적/동적 프로그램 분석 기술을 통해 바이너리 코드를 보다 쉽고 간편하게 분석하는 기술을 연구하고 있습니다.


취약점 (자동) 분석 (Exploit analysis)

프로그램의 크기가 커지고 복잡해짐에 따라, 예상치 못한 버그의 발생 가능성 또한 나날이 커지고 있습니다. 다양한 버그 중에서 가장 시급히 찾아야할 버그는 보안 취약성 버그인데, 공격자가 이 버그를 찾게 되면 프로그램을 사용하는 컴퓨터 시스템을 (원격으로) 공격하여 마음대로 제어할 수 있기 때문입니다. 본 연구실에서는 소스 코드가 있는 프로그램 혹은 바이너리 코드만 존재하는 프로그램에 대하여 분석 기술을 적용하여 버퍼 오버플로우, 힙 오버플로우 등의 보안 취약점을 보다 간편하게 찾을 수 있는 취약점 (자동) 분석 기술을 연구하고 있습니다.


악성 코드 분석 (Malware Analysis)

최근 악성 코드에 의한 피해 사례가 나날이 늘어가고 있습니다. 악성 코드는 사용자의 패스워드 등 개인 정보를 빼갈 뿐만 아니라, 봇넷을 형성하여 특정 네트워크/사이트에 대하여 분산 서비스 거부(DDoS) 공격 등을 하는 등 개인적 뿐만아니라 국가적인 손실을 초례하고 있습니다. (변종) 악성 코드를 생성하는 방법은 대단히 쉬운 반면, 악성코드를 분석하기 위해서는 바이너리 분석 기술, 언패킹, 안티 리버싱 회피 기술, 루트킷 탐지, 유사 악성 코드 클러스터링 등 다양한 지식을 필요로 하면서도 많은 시간과 노력이 필요합니다. 이에, 본 연구실에서는 악성코드에 대한 자동 분석 기술을 연구하고 있습니다.


웹 취약점 테스팅 및 침투 분석 (Penetration Testing and Vulnerability Analysis - Web Hacking)

RFID 태그의 통신을 위하여, EPCglobal 사에서 제정한 Class 1 Gen 2 Revision 표준 프로토콜이 통상 널리 사용되고 있다. 하지만 효율성에만 중점을 둔 나머지 보안에 매우 취약하다. 공격자는 통신을 도청하여 Tag impersonation, Reader impersonation 등 다양한 취약점이 존재한다. 본 연구실에서는 RFID 프로토콜 보안성 강화를 위한 연구를 진행한다.

Computer Security Laboratory 801 IT/BT Center
Hanyang University 17 Haengdang-dong, Seongdong-gu, Seoul, Korea 133-791
Tel: +82-2-2299-0356 Fax: +82-2-2299-7820