의견.png

"에뮬레이터"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
잔글
1번째 줄: 1번째 줄:
'''에뮬레이터'''(emulator)는 다른 장치의 특성을 복사하거나 똑가팅 실행하도록 설계된 장치이다.<ref>〈[https://terms.naver.com/entry.naver?docId=797248&cid=42347&categoryId=42347 에뮬레이터]〉, 《네이버 지식백과》</ref>
+
'''에뮬레이터'''(emulator)는 다른 장치의 특성을 복사하거나 똑같이 실행하도록 설계된 장치이다.<ref>〈[https://terms.naver.com/entry.naver?docId=797248&cid=42347&categoryId=42347 에뮬레이터]〉, 《네이버 지식백과》</ref>  
  
 
== 개요 ==
 
== 개요 ==
어떤 [[컴퓨터]]의 [[기계어]] [[프로그램]]그대로 다른 컴퓨터에서도 연산 처리를 할 수 있도록 하는 하드웨어적인 기능. 모방 시스템이 피모방 시스템과 똑같이 동일 [[데이터]]를 받아들여 동일한 컴퓨터 프로그램을 실행하고, 동일한 결과를 얻도록 어떤 [[시스템]]을 모방하는 장치나 컴퓨터 프로그램이다. 어떤 컴퓨터가 다른 컴퓨터용으로 작성된 프로그램을 특별한 기구나 [[프로그래밍]] 기법을 이용하여 그대로 실행할 있도록 하는 것을 가리킨다.이것은 오랫동안 축적되어 온 방대한 양의 프로그램을 다시 만드는 것은 쉽지 않기 때문에 낡은 프로그램은 그대로 두고 어떤 방법으로 주행 가능하게 하는 것을 생각해내었다. 그 하나의 방법이 에뮬레이터이다.
+
에뮬레이터는 한 시스템에서 다른 시스템을 복제한다. 두 번째 시스템이 첫 번째 시스템을 따라 행동하는 것이다. 외부의 행동에 대해 똑같이 따라하려고 하는 이 관점은 시뮬레이션과는 정 반대이다. 왜냐하면, 시뮬레이션은 자주 내부 상태와 관련하여, 흉내내는 시스템의 추상적인 모델과 관계가 있기 때문이다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%97%90%EB%AE%AC%EB%A0%88%EC%9D%B4%ED%84%B0 에뮬레이터]〉, 《위키백과》</ref>
 +
즉, 지원되지 않는 하드웨어에서 소프트웨어를 실행하기 위한 목적으로 널리 쓰인다.
 +
 
 +
== 활용 ==
 +
=== 전자기록 장기보존 ===
 +
디지털 정보를 생산한 시점에서 사용된 하드웨어, 매체, 운영체제, 소프트웨어의 운용을 그대로 흉내 내어 그 내용을 읽어내는 프로그램을 통하여 재현하는 보존 전략이다. 에뮬레이션을 통한 장기보존 전략의 특징으로는 새로운 기술이 출현할 때마다 이전의 프로그램 소스코드를 입수가능하고, 프로그램 기능 명세 문서만으로 이전 프로그램을 구현해낼 수 있다. 또한 최신버전과 이전 버전 프로그램의 호환을 돕는 연계 소프트웨어가 존재한다.<ref name="전자기록">〈[https://wikidocs.net/25478 전자기록의 장기보존]〉, 《위키독스》</ref>
 +
* 장점 : 비트 스트림을 그대로 두는 전략이므로 영구기록물관리기관의 경우 장기보존 대상 전자기록의 양은 해마다 증가하는데 [[컴퓨팅]] 변화에 따라 주기적으로 포맷변환을 하는 노력을 없앨 수 있다.<ref name="전자기록"></ref>
 +
* 한계
 +
# 시간이 흐를수록 에뮬레이터가 복잡해지고 제작이 난해해진다. 새로운 포맷이 지속적으로 추가되고, 이 모든 포맷을 에뮬레이션해야 해야 한다.<ref name="전자기록"></ref>
 +
# 지속적으로 변화하는 컴퓨팅 환경에서 에뮬레이션을 통해 과거의 모습 그대로 재현한다는 보장을 할 수 없다.<ref name="전자기록"></ref>
 +
=== 바이러스 탐지 ===
 +
에뮬레이터(emulator)는 사전적의미로 대리 실행기라는 의미를 가지고 있다.대리 실행기 라는 의미에서와 같이 에뮬레이터는 실제 [[컴퓨터]] [[시스템]] 상에서 실행 파일을 직접적으로 실행하는 것이 아니라 실제 컴퓨터 시스템에 가상의 환경이나 가상의 [[하드웨어]] 이미지를 생성하여 해당 가상 하드웨어를 통하여 간접적으로 실행하는 것을 의미한다. 즉, 의심파일을 사용자 컴퓨터에서 실제로 실행해 보기 전에 가상화 기반에서 먼저 실행함으로써 실제 사용자환경을 보호한다.<ref name="나침판"> 나침판, 〈[https://jianna6.tistory.com/entry/%EC%95%85%EC%84%B1%EC%BD%94%EB%93%9C 악성코드 탐지 방법들]〉, 《티스토리》, 2014-01-11 </ref>
 +
이러한 의미로 인해 일부에서는 에큘레이터를 이용한 탐지 기법을 코드 [[에뮬레이션]](Code Emulation) 또는 CPU 에뮬레이션(CPU Emulation) 이라고도 이야기 한다. 이런 방법을 이용해서 바이러스를 탐지한다면 알려지지 않은 악성 코드를 탐지하기 위한 부분에서는 상당히 강력한 방법이라고 할 있다.<ref> 장영준, 〈[https://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?curPage=1&seq=9531 [악성코드 탐지-3] 에뮬레이터와 샌드박스]〉, 《안랩》, 2007-03-13 </ref>
 +
* 장점 : 가상 하드웨어에서 간접적으로 동작하므로 실제 시스템에는 영향을 끼치지 않는다.
 +
* 단점 : 시스템 자원에 대한 소모가 크다.
 +
== DENSE ==
 +
DENSE(Deep Emulator Network
 +
 
  
== 예시 ==
 
  
  
10번째 줄: 26번째 줄:
  
 
== 참고자료 ==
 
== 참고자료 ==
*
+
* 〈[https://terms.naver.com/entry.naver?docId=797248&cid=42347&categoryId=42347 에뮬레이터]〉, 《네이버 지식백과》
 
+
* 〈[https://ko.wikipedia.org/wiki/%EC%97%90%EB%AE%AC%EB%A0%88%EC%9D%B4%ED%84%B0 에뮬레이터]〉, 《위키백과》
 +
* 나침판, 〈[https://jianna6.tistory.com/entry/%EC%95%85%EC%84%B1%EC%BD%94%EB%93%9C 악성코드 탐지 방법들]〉, 《티스토리》, 2014-01-11
 +
* 장영준, 〈[https://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?curPage=1&seq=9531 [악성코드 탐지-3] 에뮬레이터와 샌드박스]〉, 《안랩》, 2007-03-13
 +
* [https://wikidocs.net/25478 전자기록의 장기보존]〉, 《위키독스》
 
== 같이 보기 ==
 
== 같이 보기 ==
 
* [[에뮬레이션]]
 
* [[에뮬레이션]]
  
 
{{소프트웨어|토막글}}
 
{{소프트웨어|토막글}}

2021년 8월 4일 (수) 12:01 판

에뮬레이터(emulator)는 다른 장치의 특성을 복사하거나 똑같이 실행하도록 설계된 장치이다.[1]

개요

에뮬레이터는 한 시스템에서 다른 시스템을 복제한다. 두 번째 시스템이 첫 번째 시스템을 따라 행동하는 것이다. 외부의 행동에 대해 똑같이 따라하려고 하는 이 관점은 시뮬레이션과는 정 반대이다. 왜냐하면, 시뮬레이션은 자주 내부 상태와 관련하여, 흉내내는 시스템의 추상적인 모델과 관계가 있기 때문이다.[2] 즉, 지원되지 않는 하드웨어에서 소프트웨어를 실행하기 위한 목적으로 널리 쓰인다.

활용

전자기록 장기보존

디지털 정보를 생산한 시점에서 사용된 하드웨어, 매체, 운영체제, 소프트웨어의 운용을 그대로 흉내 내어 그 내용을 읽어내는 프로그램을 통하여 재현하는 보존 전략이다. 에뮬레이션을 통한 장기보존 전략의 특징으로는 새로운 기술이 출현할 때마다 이전의 프로그램 소스코드를 입수가능하고, 프로그램 기능 명세 문서만으로 이전 프로그램을 구현해낼 수 있다. 또한 최신버전과 이전 버전 프로그램의 호환을 돕는 연계 소프트웨어가 존재한다.[3]

  • 장점 : 비트 스트림을 그대로 두는 전략이므로 영구기록물관리기관의 경우 장기보존 대상 전자기록의 양은 해마다 증가하는데 컴퓨팅 변화에 따라 주기적으로 포맷변환을 하는 노력을 없앨 수 있다.[3]
  • 한계
  1. 시간이 흐를수록 에뮬레이터가 복잡해지고 제작이 난해해진다. 새로운 포맷이 지속적으로 추가되고, 이 모든 포맷을 에뮬레이션해야 해야 한다.[3]
  2. 지속적으로 변화하는 컴퓨팅 환경에서 에뮬레이션을 통해 과거의 모습 그대로 재현한다는 보장을 할 수 없다.[3]

바이러스 탐지

에뮬레이터(emulator)는 사전적의미로 대리 실행기라는 의미를 가지고 있다.대리 실행기 라는 의미에서와 같이 에뮬레이터는 실제 컴퓨터 시스템 상에서 실행 파일을 직접적으로 실행하는 것이 아니라 실제 컴퓨터 시스템에 가상의 환경이나 가상의 하드웨어 이미지를 생성하여 해당 가상 하드웨어를 통하여 간접적으로 실행하는 것을 의미한다. 즉, 의심파일을 사용자 컴퓨터에서 실제로 실행해 보기 전에 가상화 기반에서 먼저 실행함으로써 실제 사용자환경을 보호한다.[4] 이러한 의미로 인해 일부에서는 에큘레이터를 이용한 탐지 기법을 코드 에뮬레이션(Code Emulation) 또는 CPU 에뮬레이션(CPU Emulation) 이라고도 이야기 한다. 이런 방법을 이용해서 바이러스를 탐지한다면 알려지지 않은 악성 코드를 탐지하기 위한 부분에서는 상당히 강력한 방법이라고 할 수 있다.[5]

  • 장점 : 가상 하드웨어에서 간접적으로 동작하므로 실제 시스템에는 영향을 끼치지 않는다.
  • 단점 : 시스템 자원에 대한 소모가 크다.

DENSE

DENSE(Deep Emulator Network



각주

  1. 에뮬레이터〉, 《네이버 지식백과》
  2. 에뮬레이터〉, 《위키백과》
  3. 3.0 3.1 3.2 3.3 전자기록의 장기보존〉, 《위키독스》
  4. 나침판, 〈악성코드 탐지 방법들〉, 《티스토리》, 2014-01-11
  5. 장영준, 〈[악성코드 탐지-3 에뮬레이터와 샌드박스]〉, 《안랩》, 2007-03-13

참고자료

같이 보기


  의견.png 이 에뮬레이터 문서는 소프트웨어에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.