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

Cslab
이동: 둘러보기, 검색
(Computer Security Laboratory (컴퓨터 보안 연구실))
(Computer Security Laboratory (컴퓨터 보안 연구실))
 
(같은 사용자의 중간 판 39개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{|border="0" width="100%"  
+
{|border="1" width="100%"  
 
||
 
||
 
== Computer Security Laboratory (컴퓨터 보안 연구실) ==
 
== Computer Security Laboratory (컴퓨터 보안 연구실) ==
|}
 
 
컴퓨터 보안 연구실에 오신 것을 환영합니다. 본 연구실은 컴퓨터 시스템 및 인터넷 시스템에서 발생할 수 있는 보안 사고 및 문제를 분석하고 어떻게 하면 보안 문제를 미연에 방지하거나 조속히 탐지할 수 있는 방안을 연구합니다. 본 연구실에서 다루는 주요 연구 분야는 다음과 같습니다.
 
 
 
{|border="1" width="100%"
 
||
 
'''바이너리 코드 분석 (Binary code analysis) '''
 
 
바이너리 코드는
 
리버스 엔지니어링(영어: reverse engineering, RE) 또는 역공학(逆工學)은 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 이것은 종종 대상(기계 장치, 전자 부품, 소프트웨어 프로그램 등)을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다. 리버스 엔지니어링의 기원은 상업적 또는 군사적으로 하드웨어를 분석한 것에서 시작되었다. 목적은 원본 생산의 절차에 관한 지식이 거의 없는 상태에서, 최종 제품을 가지고 디자인 결정과정을 추론하는 것이다. 같은 기술이 레거시 소프트웨어 시스템을 응용하기 위해 현재 연구되고 있는데, 산업이나 국방이 아니고, 오류, 미완성, 접근 불가인 문서를 수정하기 위함이다.
 
 
'''취약점 (자동) 분석 (Exploit analysis) '''
 
  
바이너리 코드는
+
컴퓨터 보안 연구실에 오신 것을 환영합니다. 본 연구실은 컴퓨터 시스템 및 인터넷 시스템에서 발생할 수 있는 보안 사고 및 관련 문제를 분석하고 어떻게 하면 보안 문제를 미연에 방지하거나 조속히 탐지할 수 있는 방안을 연구합니다. 본 연구실에서 다루는 주요 연구 분야는 다음과 같습니다.
리버스 엔지니어링(영어: reverse engineering, RE) 또는 역공학(逆工學)은 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 이것은 종종 대상(기계 장치, 전자 부품, 소프트웨어 프로그램 등)을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다. 리버스 엔지니어링의 기원은 상업적 또는 군사적으로 하드웨어를 분석한 것에서 시작되었다. 목적은 원본 생산의 절차에 관한 지식이 거의 없는 상태에서, 최종 제품을 가지고 디자인 결정과정을 추론하는 것이다. 같은 기술이 레거시 소프트웨어 시스템을 응용하기 위해 현재 연구되고 있는데, 산업이나 국방이 아니고, 오류, 미완성, 접근 불가인 문서를 수정하기 위함이다.
 
  
  
''' 악성 코드 분석 (Malware Analysis) '''
+
{|
 +
||[[Image:binary.jpg|70px|binary]]
 +
||'''바이너리 코드 분석 (Binary code analysis) ''' : 바이너리 코드는 마이크로소프트, 어도비 사 등의 상용 프로그램, 운영 체제 및 라이브러리 코드 등이 대표적인 예이며, 통상 저작권 보호를 위해서 회사들은 바이너리 코드 만을 배포합니다. 소프트웨어에 관한 리버스 엔지니어링 (reverse engineering) 또는 역공학(逆工學)은 바이너리 코드 만을 가지고 소프트웨어 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정입니다. 통상 해커들이 시리얼 코드 등 저작권 체크를 우회하기 위해서, 혹은 취약점을 발견하기 위하여 바이너리 코드를 분석해왔습니다. 한편, 보안 연구자들은 레거시 소프트웨어 시스템을 분석하기 위해서 혹은 악성 코드를 분석하기 위해 바이너리 코드 분석 기술을 연구하고 있습니다. 저희는 디버거/디스어셈블러 및 BAP, BitBlaze, Valgrind, Pin, DynamoRIO 등의 다양한 툴을 기반으로 정적/동적 프로그램 분석 기술을 통해 바이너리 코드를 보다 쉽고 간편하게 분석하는 기술을 연구하고 있습니다. <br /><br />
 +
|-
  
최근 증가되고 있는 악성코드에 의한 사용자의 데이터 유출 및 개인정보 유출, 분산서비스거부(DDoS) 공격등의 다양한 침해사례가 증가하고 있다. 이러한 악성코드에 의한 피해들은 개인적 뿐만아니라 국가적인 손실을 초례하게 되었다. 악성코드의 정적 분석은 실제 악성코드를 직접 실행하지 않고 디버깅하거나 코드를 분석하는 방법으로 컨트롤 플로우 그래프를 이용하는 방법, 명령어 빈도수를 이용하는 방법, 함수 호출 그래프를 이용하는 방법등의 연구가 활발히 진행이 되고 있다. 동적 분석은 제한된 실행 환경 내에서 직접 실행을 해봄으로써 동작과정 및 시스템 내에서의 행위를 모니터링 하는 방법으로, 악성행위 API 콜 순차 패턴을 이용한 방법, 악성 행위 기반 마이닝을 이용한 방법등이 제안되었다
+
|[[Image:Exploit.jpg|70px|exploit]]
 +
|'''취약점 (자동) 분석 (Exploit analysis) ''' : 프로그램의 크기가 커지고 복잡해짐에 따라, 예상치 못한 버그의 발생 가능성 또한 나날이 커지고 있습니다. 다양한 버그 중에서 가장 시급히 찾아야할 버그는 보안 취약성 버그인데, 공격자가 이 버그를 찾게 되면 프로그램을 사용하는 컴퓨터 시스템을 (원격으로) 공격하여 마음대로 제어할 수 있기 때문입니다. 본 연구실에서는 소스 코드가 있는 프로그램 혹은 바이너리 코드만 존재하는 프로그램에 대하여 정적 분석 및 퍼즈 테스팅, 심볼릭 수행 기술 등 다양한 분석 및 테스팅 기술을 적용하여 버퍼 오버플로우, 힙 오버플로우 등의 보안 취약점을 보다 간편하게 찾을 수 있는 취약점 (자동) 분석 기술을 연구하고 있습니다. <br /><br />
 +
|-
 +
|[[Image:Malware.jpg|70px|malware]]
 +
|''' 악성 코드 분석 (Malware Analysis) ''' : 최근 악성 코드에 의한 피해 사례가 나날이 늘어가고 있습니다. 악성 코드는 사용자의 패스워드 등 개인 정보를 빼갈 뿐만 아니라, 봇넷을 형성하여 특정 네트워크/사이트에 대하여 분산 서비스 거부(DDoS) 공격 등을 하는 등 개인적 뿐만 아니라 국가적인 손실을 초례하고 있습니다. (변종) 악성 코드를 생성하는 방법은 대단히 쉬운 반면, 악성코드를 분석하기 위해서는 바이너리 분석 기술, 언패킹, 안티 리버싱 회피 기술, 루트킷 탐지, 유사 악성 코드 클러스터링 등 다양한 지식을 필요로 하면서도 많은 시간과 노력이 필요합니다. 이에, 본 연구실에서는 악성코드에 대한 자동 분석 기술을 연구하고 있습니다. <br /><br />
 +
|-
 +
|[[Image:Web.png|70px|web]]
 +
|''' 웹 취약점 테스팅 침투 분석 (Penetration Testing and Vulnerability Analysis - Web Hacking) ''' : 인터넷에서 웹 시스템은 매우 중요한 부분을 차지합니다. 해커들은 SQL injection, Cross-site scripting, CRSF 등의 다양한 방법을 통하여 웹 시스템을 공격하여 시스템 권한을 탈취하고 개인 정보를 탈취하고 있습니다. 통상 웹 시스템에 관한 공격 및 방어 기술은 바이너리 코드에 관한 기술과는 취약성 및 공격 방법이 다릅니다. 본 연구실에서는 웹 취약점 테스팅 침투 분석, 이를 효과적으로 방어할 수 있는 방법에 관한 연구를 수행하고 있습니다.<br /><br />
 +
|-
  
''' 웹 취약점 테스팅 및 침투 분석 (Penetration Testing and Vulnerability Analysis - Web Hacking) '''
+
|[[Image:Androidmalware.jpg|70px|web]]
 +
|''' 안드로이드 보안 (Android Security) ''' :  리패키징 및 난독화(obfuscation)기술은 코드 분석을 어렵게 만드는 기술로 이  기술이 적용된 악성코드의 경우 분석에 대한 소요시간 및 인력이 불가피하게 증가합니다. 이에, 본 연구실에서는 악성행위 루틴 자동 추출 및 리패키징된 악성 애플리케이션간의 유사도 비교 등을 통하여 악성코드 분석에 효과적인 방안을 연구하고 있습니다. <br /><br />
 +
|-
  
RFID 태그의 통신을 위하여, EPCglobal 사에서 제정한 Class 1 Gen 2 Revision 표준 프로토콜이 통상 널리 사용되고 있다. 하지만 효율성에만 중점을 둔 나머지 보안에 매우 취약하다. 공격자는 통신을 도청하여 Tag impersonation, Reader impersonation 등 다양한 취약점이 존재한다. 본 연구실에서는 RFID 프로토콜 보안성 강화를 위한 연구를 진행한다.
 
 
|}
 
|}
  
33번째 줄: 31번째 줄:
 
| class="MainPageBG" style="width:100%; border:1px solid #999999; background:#eeeeee; vertical-align:top; color:#000;" align="right"|
 
| class="MainPageBG" style="width:100%; border:1px solid #999999; background:#eeeeee; vertical-align:top; color:#000;" align="right"|
 
Computer Security Laboratory
 
Computer Security Laboratory
801 IT/BT Center<br/> Hanyang University
+
R#808 IT/BT Center<br/> Hanyang University
 
17 Haengdang-dong, Seongdong-gu, Seoul, Korea
 
17 Haengdang-dong, Seongdong-gu, Seoul, Korea
 
133-791
 
133-791

2016년 11월 7일 (월) 20:34 기준 최신판

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

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


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

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

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

web 웹 취약점 테스팅 및 침투 분석 (Penetration Testing and Vulnerability Analysis - Web Hacking)  : 인터넷에서 웹 시스템은 매우 중요한 부분을 차지합니다. 해커들은 SQL injection, Cross-site scripting, CRSF 등의 다양한 방법을 통하여 웹 시스템을 공격하여 시스템 권한을 탈취하고 개인 정보를 탈취하고 있습니다. 통상 웹 시스템에 관한 공격 및 방어 기술은 바이너리 코드에 관한 기술과는 취약성 및 공격 방법이 다릅니다. 본 연구실에서는 웹 취약점 테스팅 및 침투 분석, 이를 효과적으로 방어할 수 있는 방법에 관한 연구를 수행하고 있습니다.

web 안드로이드 보안 (Android Security)  : 리패키징 및 난독화(obfuscation)기술은 코드 분석을 어렵게 만드는 기술로 이 기술이 적용된 악성코드의 경우 분석에 대한 소요시간 및 인력이 불가피하게 증가합니다. 이에, 본 연구실에서는 악성행위 루틴 자동 추출 및 리패키징된 악성 애플리케이션간의 유사도 비교 등을 통하여 악성코드 분석에 효과적인 방안을 연구하고 있습니다.

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