KR20080030909A - 소프트웨어 모듈 모니터링 방법 및 소프트웨어 모듈 실행후 시스템을 복원하는 방법 - Google Patents
소프트웨어 모듈 모니터링 방법 및 소프트웨어 모듈 실행후 시스템을 복원하는 방법 Download PDFInfo
- Publication number
- KR20080030909A KR20080030909A KR1020070019207A KR20070019207A KR20080030909A KR 20080030909 A KR20080030909 A KR 20080030909A KR 1020070019207 A KR1020070019207 A KR 1020070019207A KR 20070019207 A KR20070019207 A KR 20070019207A KR 20080030909 A KR20080030909 A KR 20080030909A
- Authority
- KR
- South Korea
- Prior art keywords
- software module
- information
- monitoring
- program
- interface
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 실행되는 소프트웨어 모듈의 세부적인 실행 과정을 모니터링하는 방법 및 모니터링 결과 소프트웨어 모듈이 시스템에 악영향을 끼치는 경우 소프트웨어 모듈 실행 전 시점으로 시스템을 복원하는 방법에 관한 것으로서, 본 발명의 소프트웨어 모듈 모니터링 방법은, 웹 브라우저를 통해서 설치되어 웹과 응용 프로그램을 연결하는 소프트웨어 모듈을 다운로드 및 모니터링 프로그램에 등록하는 단계; 상기 웹 브라우저의 로직이 상기 소프트웨어 모듈을 상기 모니터링 프로그램을 통해 간접적으로 호출하여 실행시키는 단계; 상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 변경되는 시스템 변화에 대한 복원 정보를 생성하는 단계; 및 상기 모니터링 프로그램의 복원 정보를 근거로 상기 시스템 변화를 복원하는 단계를 포함하는 것을 특징으로 한다.
소프트웨어 모듈, ActiveX Control, Java Applet, 웹 브라우저
Description
도 1은 웹 브라우저를 통해 ActiveX Control이 설치되는 과정을 나타내는 흐름도.
도 2는 설치된 ActiveX Control이 실행되는 과정을 나타내는 블록도.
도 3은 OLE POS의 시스템 구성을 나타내는 블록도.
도 4은 본 발명의 바람직한 제 1실시예에 따른 ActiveX Control 설치 과정을 나타내는 흐름도.
도 5는 본 발명의 바람직한 제 1실시예에 따른 ActiveX Control의 실행 및 모니터링 과정을 나타내는 블록도.
도 6은 본 발명의 바람직한 제 1실시예에 따른 ActiveX Control의 실행 및 모니터링 과정을 나타내는 흐름도.
도 7은 본 발명의 바람직한 제 2실시예에 따른 ActiveX Control 실행 후 시스템 복원 방법을 나타내는 흐름도.
도 8은 본 발명의 바람직한 제 3실시예에 따른 ActiveX Control 실행 후 시스템 복원 방법을 나타내는 흐름도.
도 9는 본 발명의 바람직한 제 4실시예에 따른 OLE POS 시스템의 구성을 보인 블록도.
도 10은 본 발명의 바람직한 제 5실시예에 따른 OLE POS 시스템의 구성을 보인 블록도.
본 발명은 소프트웨어 모듈 모니터링 방법 및 소프트웨어 모듈 실행 전 시점으로 시스템을 복원하는 방법에 관한 것으로서, 더욱 자세하게는 실행되는 소프트웨어 모듈의 세부적인 실행 과정을 모니터링하는 방법 및 모니터링 결과 소프트웨어 모듈이 시스템에 악영향을 끼치는 경우 소프트웨어 모듈 실행 전 시점으로 시스템을 복원하는 방법에 관한 것이다.
일반적으로 인터넷을 이용하기 위해 웹 브라우저가 사용된다. 즉, 사용자는 웹 브라우저를 통하여 각종 웹 사이트가 제공하는 컨텐츠나 서비스를 검색하고 이용할 수 있다. 일반적으로 각종 웹 사이트가 제공하는 컨텐츠나 서비스는 HTML 형식으로 제공되는데, 이 경우 단순히 웹 페이지의 내용만을 전달하며 사용자의 요구에 동적으로 반응할 수 없는 문제가 있다.
이러한 HTML의 한계를 극복하고 사용자에게 다양한 컨텐츠 또는 서비스를 제공하기 위하여 "ActiveX Control"이나 "Java Applet"과 같이 웹 브라우저를 통하여 자동으로 다운받아 설치, 실행되어 웹과 응용 프로그램을 연결시켜 주는 소프트웨 어 모듈이 사용된다. 즉 상기 "ActiveX Control"이나 "Java Applet"과 같은 소프트웨어 모듈은 기존의 응용 프로그램으로 작성된 문서 등을 웹과 연결시켜 그대로 사용할 수 있게 함으로써, 사용자에게 다양한 컨텐츠 또는 서비스를 제공할 수 있게 한다.
"ActiveX Control"이나 "Java Applet"과 같은 소프트웨어 모듈은 사용자의 PC에서 제공하는 거의 모든 기능을 활용함으로써 사용자에게 풍부한 서비스를 제공할 수 있게 하는 장점이 있으나, 일반 응용 프로그램과 동일한 권한으로 실행되므로 사용자의 PC의 보안에 악영향을 끼칠 수 있다.
그런데 상기한 바와 같이 "ActiveX Control"이나 "Java Applet"과 같은 소프트웨어 모듈은 웹 브라우저를 통하여 설치되고 실행되므로, 사용자는 사용자의 PC에 설치되는 소프트웨어 모듈이 자신의 PC에 어떠한 영향을 끼치는지 또는 해당 영향으로부터 PC의 시스템을 방어하거나 복구하는 방법에 대한 어떠한 정보도 제공받지 못하고 있다.
도 1은 웹 브라우저를 통하여 ActiveX Control이 설치되어 실행되는 과정을 나타내는 흐름도이다. 상기 도 1을 참조하면, 먼저 웹 브라우저를 통하여 해당 웹 사이트에 웹 페이지를 요청하고(S101), 이에 따라 상기 웹 페이지가 사용자의 PC에 다운로드된다(S102).
다음으로 해당 웹 페이지에 ActiveX Control이 사용되었는지 여부를 판단하여(S103), ActiveX Control이 필요한 경우 필요한 ActiveX Control을 사용자의 PC에 다운로드한다(S104). 만약 해당 웹 페이지에 ActiveX Control이 사용되지 않았 으면 해당 웹 페이지를 바로 보여주게 된다(S108).
ActiveX Control을 다운로드 받게 되는 경우, ActiveX Control에 삽입된 게시자 정보를 통해 사용자는 자신의 PC에 해당 ActiveX Control을 설치할 것인지를 판단하게 된다(S105). 사용자가 설치를 원하는 경우, 해당 ActiveX Control이 사용자의 PC에 설치되어 실행된다(S106, S107). 이에 따라 해당 웹 페이지에 명시된 내용으로 사용자의 PC에 웹 페이지를 표시하게 된다(S108).
한편, 사용자가 해당 ActiveX Control의 설치를 원하지 않는 경우에는 해당 ActiveX Control을 제외한 웹 페이지를 사용자의 PC에 표시하게 된다(S108).
도 2는 설치된 ActiveX Control의 실행 과정을 나타내는 블록도이다. 상기 도 2를 참조하면, 웹 브라우저(200)의 내장 로직(202)이 ActiveX Control(201)이 제공하는 ActiveX 인터페이스(204)를 호출하여 상기 ActiveX Control(201)의 내장 로직(203)을 실행시킨다.
상기 ActiveX Control(201)의 내장 로직(203)은 자신이 제공하는 기능뿐만 아니라, 사용자 PC에서 제공하는 다양한 시스템 API(Application Programming Interface) DLL(Dynamic Linking Library)(220)을 사용할 수 있다.
또한 상기 ActiveX Control(201)의 내장 로직(203)은 상기 시스템 API DLL(220)이 제공하는 모든 API(210)를 호출할 수 있고, 이렇게 호출된 API 기능은 OS(Operating System)(230)를 통하여 수행된다.
상술한 바와 같이, 웹 브라우저를 통하여 설치된 ActiveX Control이 일단 실행되면, 시스템의 아무런 저항 없이 사용자 PC 시스템에서 제공하는 거의 모든 기 능을 사용함으로써 악의적인 실행이나 잘못된 실행으로 인해 사용자의 PC에 중대한 피해를 야기할 수 있다. 상기 도 1 및 도 2에서는 ActiveX Control을 예로 들어 설명하였지만, Java Applet을 포함한 웹 브라우저를 통하여 설치, 실행되어 웹과 응용 프로그램을 연결시키는 소프트웨어 모듈은 마찬가지의 문제점을 가진다.
또한, 상기 웹 브라우저의 성능을 개선하기 위해서 별도의 응용 프로그램 모듈(Active X, Java Applet 등)을 이용할 경우 상기 응용 프로그램이 미치는 악영향이나 상기 응용 프로그램의 동작을 모니터링할 수 없기 때문에 발생되는 문제점을 조금 더 넓은 개념으로 보면, 특정한 응용 프로그램 모듈의 동작에 의한 결과나, 상기 응용 프로그램 모듈의 동작 중에 발생되는 잘못된 내용들에 대한 검증이 보편적으로 어렵기 때문에, 특정한 기능을 수행하기 위한 관리 프로그램과, 상기 관리 프로그램을 지원하기 위한 어플리케이션 모듈들로 결합된 시스템의 경우, 상기 범용적으로 구성된 단위 어플리케이션 모듈의 동작을 범용적인 수단을 통해 모니터링할 수 없기 때문에, 상기 단위 어플리케이션 모듈에서 발생되는 각종 오류들을 검증할 수단이 없었다.
예를 들어, 도 3에 도시한 OLE(Object Linking and Embedding) POS(Point Of Sales) 시스템(240)은 실질적인 POS 동작을 관리하는 POS 응용 프로그램부(241)와, 업계 표준에 따른 소프트웨어 모듈로 구성되어 상기 POS 응용 프로그램부(241)와 POS 관련 정보를 주고 받는 OLE POS부(242)와, 상기 OLE POS부(242)에 의해 제어되어 각각 특정 디바이스를 제어하는 업계 표준에 따른 프로그램 모듈인 OLE POS 디 바이스(243)로 이루어지며, 상기 OLE POS 디바이스(243)는 각각 제어 대상인 특정 디바이스(250)와 연결된다.
이 경우, POS 응용 프로그램부(241)와 OLE POS부(242)와의 관계는 전술한 웹 브라우저와 소프트웨어 모듈(Active X 등)과의 관계와 유사하다. 즉, 상기 POS 응용 프로그램부(241)는 업계 표준에 따라 구성된 OLE POS부(242)를 동작시키고, 해당 OLE POS부(242)가 제공하는 정보를 수신하여 처리하게 되는데, 상기 OLE POS부(242)의 동작을 상기 POS 응용 프로그램(241) 외에 모니터링 할 수 있는 수단이 없어 상기 POS 응용 프로그램(24)에 구성된 기능만을 이용해야 한다. 특히, 상기 POS 응용 프로그램(24)은 일반적으로 비 실시간적으로 데이터 정보를 관리하며, 자신만의 정보로 관리하기 때문에 해당 정보는 재가공 특성이 취약하다.
만일, 특정한 모니터링 기능(실시간 데이터 관리, 재가공이 가능한 정보 관리 등)을 상기 POS 응용 프로그램(24)에 추가하기 위해서는 상기 POS 응용 프로그램(241)을 변경해야 하며, 블랙박스 상태인 상기 OLE POS부(242)에서 상기 POS 응용 프로그램(241)에 규정된 경로로 제공하는 정보가 아닌 정보들은 상기 POS 응용 프로그램(241)을 변경하더라도 모니터링이 불가능하게 된다. 특히, 상기 OLE POS부(242)는 전용 인터페이스를 가지는 POS 응용 프로그램(24)과 연계되기 때문에 특별한 이유로 인해 상기 OLE POS부(242)를 설계한 업체에서 사용자가 원하는 특정한 모니터링 동작이 가능한 모니터링 프로그램을 구현한다 할지라도 이는 다른 종류의 OLE POS부를 사용하는 시스템에는 그대로 적용할 수 없고, 인터페이스나 디바이스에 관련된 코드를 특정 시스템에 맞추어 변형해야만 한다.
따라서, 전술한 바와 같이 웹 브라우저나 POS 응용 프로그램과 같은 특정한 사용자 환경을 조성하기 위한 관리 프로그램에 연동되지만 그 내용을 알 수 없는 독립적인 프로그램 모듈을 효과적으로 모니터링하면서 해당 모듈의 동작을 확인하거나 그 동작에 의한 결과를 복구할 수 있도록 하는 장치나 방법의 필요성이 높아지고 있다.
본 발명은 상기한 바와 같은 소프트웨어 모듈의 실행상의 문제점을 해소하기 위한 것으로서, 웹 브라우저를 통하여 설치 실행되는 소프트웨어 모듈을 모니터링하는 방법을 제공하는 것을 목적으로 한다.
나아가 상기 모니터링 결과 해당 소프트웨어 모듈이 사용자 PC의 특정 파일을 변경 또는 삭제하거나 레지스트리와 같은 시스템 속성을 변경하는 경우, 모니터링된 데이터의 수집을 통해 해당 소프트웨어 모듈의 실행 이전 시점으로 시스템을 복원하는 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 관리 프로그램에 연동되는 소프트웨어 모듈의 동작을 범용적으로 모니터링하여 해당 소프트웨어 모듈의 동작을 실시간 확인하고, 해당 동작이 특정한 조건에 일치될 경우 그에 대한 조치를 취할 수 있도록 한 소프트웨어 모듈 모니터링 방법을 제공하는 것을 목적으로 한다.
나아가 상기 소프트웨어 모듈의 종류나 인터페이스나 디바이스를 포함하는 환경에 독립적으로 적용될 수 있는 모니터링 프로그램을 제공하는 것을 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 소프트웨어 모듈 모니터링 방법은, 웹 브라우저를 통해서 설치되어 웹과 응용 프로그램을 연결하는 소프트웨어 모듈을 다운로드 및 모니터링 프로그램에 등록하는 단계; 상기 웹 브라우저의 로직이 상기 소프트웨어 모듈을 상기 모니터링 프로그램을 통해 간접적으로 호출하여 실행시키는 단계; 상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 변경되는 시스템 변화에 대한 복원 정보를 생성하는 단계; 및 상기 모니터링 프로그램의 복원 정보를 근거로 상기 시스템 변화를 복원하는 단계를 포함하는 것을 특징으로 한다.
상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 변경되는 시스템 변화에 대한 복원 정보를 생성하는 단계는, 상기 모니터링 프로그램이 상기 소프트웨어 모듈과 시스템 API(Application Programmig Interface) DLL(Dynamic Linking Library) 사이를 인터페이스하여 상기 소프트웨어 모듈이 실행한 시스템 API DLL의 동작을 모두 감시하는 단계를 더 포함하는 것을 특징으로 한다.
또한 상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 변경되는 시스템 변화에 대한 복원 정보를 생성하는 단계는, 상기 소프트웨어 모듈의 로직이 위험군으로 분류된 API(Application Programmig Interface)를 호출하는지 여부를 상기 위험군으로 분류된 API(Application Programmig Interface)에 대한 목록을 구비한 모니터링 프로그램이 판단하는 단계; 상기 판단 결과 상기 위험군으로 분류된 API(Application Programmig Interface)를 호출하는 경우, 상기 모니터링 프로그램이 제공하는 감시 인터페이스를 호출하여, 상기 감시 인터페이스를 통하여 상기 위험군으로 분류된 API(Application Programmig Interface)에 연결시키는 단계; 및 상기 API(Application Programmig Interface)의 동작에 대한 복원 정보를 생성하는 단계를 포함하는 것을 특징으로 한다.
상기한 목적을 달성하기 위한 본 발명의 시스템 복원 방법은, 웹 브라우저를 통하여 설치된 소프트웨어 모듈 실행 후, 시스템을 복원하는 방법에 있어서, 웹 브라우저의 사용 중에 상기 소프트웨어 모듈에 대한 호출과 실행에 대한 인터페이스를 제공하는 모니터링 프로그램이 상기 소프트웨어 모듈의 실행에 따른 시스템 변화를 복구하기 위한 복원 정보를 생성하는 단계; 상기 웹 브라우저의 종료 요청에 따라 상기 모니터링 프로그램이 사용자의 설정 또는 지시에 따라 상기 시스템 변화를 복원하고 상기 웹 브라우저를 종료하는 단계를 포함하는 것을 특징으로 한다.
한편 상기한 목적을 달성하기 위한 본 발명의 또 다른 시스템 복원 방법은, 웹 브라우저를 통하여 설치된 소프트웨어 모듈 실행 후, 시스템을 복원하는 방법에 있어서, 웹 브라우저의 사용 중에 상기 소프트웨어 모듈에 대한 호출과 실행에 대한 인터페이스를 제공하는 모니터링 프로그램이 상기 소프트웨어 모듈의 실행에 따른 시스템 변화를 복구하기 위한 복원 정보를 생성하는 단계; 사용자의 시스템 복원 요청에 따라 복원 프로그램이 실행되는 단계; 상기 복원 프로그램 실행 후, 복 원 방법 및 복원 영역이 선택되는 단계; 및 상기 선택된 복원 방법 및 복원 영역에 따라 상기 복원 프로그램이 동작하여 상기 시스템이 복원되는 단계를 포함하는 것을 특징으로 한다.
또한, 상기한 목적을 달성하기 위한 본 발명의 다른 소프트웨어 모듈 모니터링 방법은 특정 작업 환경과 사용자 인터페이스를 제공하는 관리 프로그램과, 상기 관리 프로그램에 연동되면서 수행되지만 그 내용이 공개되지 않은 소프트웨어 모듈을 포함하는 시스템에서 상기 소프트웨어 모듈을 모니터링하는 방법에 있어서, 상기 관리 프로그램 및 소프트웨어 모듈에 독립적인 모니터링 프로그램을 설치하는 제 1단계; 상기 모니터링 프로그램에 상기 소프트웨어 모듈을 등록하는 제 2단계; 상기 관리 프로그램이 상기 소프트웨어 모듈을 상기 모니터링 프로그램을 통해 간접적으로 호출하여 실행시키는 제 3단계; 상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 상기 관리 프로그램과 상기 소프트웨어 모듈이 주고 받는 정보 및 상기 소프트웨어 모듈이 제공하는 정보를 관리하는 제 4단계; 및 상기 모니터링 프로그램이 별도 관리하는 정보 중에서 특정 조건에 부합되는 정보가 검출될 경우 해당 정보들은 별도로 취급하여 관리하는 제 5단계를 포함하는 것을 특징으로 한다.
본 발명은 모니터링 프로그램을 이용하여 웹 브라우저를 통하여 설치, 실행되는 소프트웨어 모듈을 모니터링하고, 모니터링된 복원 정보에 따라 소프트웨어 모듈의 실행 이전 시점으로 시스템을 복원하는 방법에 대하여 개시한다.
또한, 상기 소프트웨어 모듈을 모니터링하는 방법을 좀 더 일반화하여 관리 프로그램과 연동하면서 독립적으로 동작되는 소프트웨어 모듈에 대한 직접적인 접근이 불가능할 경우라도 상기 관리 프로그램 및 다른 소프트웨어 모듈과 정보를 주고 받는 상기 소프트웨어 모듈의 송수신 정보를 범용 모니터링 소프트웨어를 이용하여 모니터링 하도록 함으로써, 실시간으로 해당 소프트웨어 모듈의 동작 정보를 관리하고, 특정한 동작이 검출될 경우 적절한 대응을 실시할 수 있도록 하는 소프트웨어 모듈 모니터링 방법에 대하여 개시한다.
이하 본 발명의 바람직한 실시예들에 따른 소프트웨어 모듈 모니터링 방법 및 소프트웨어 모듈 실행 후 시스템 복원 방법을 첨부한 도면을 참조하여 상세히 설명한다. 하기에는 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
이하의 도 4 내지 도 9에서는 본 발명의 바람직한 일 실시예로서, 웹 브라우저를 통하여 설치, 실행되어 웹과 응용 프로그램을 연결시키는 소프트웨어 모듈이 ActiveX Control인 경우를 설명하였지만, Java Applet, OCX 등을 포함한 다른 소프트웨어 모듈에도 적용 가능함은 이 기술분야에서 통상의 지식을 가진 자에게 자명하다고 할 것이다. 또한, 사용자에게 특정한 환경을 제공하기 위해 하나 이상의 소프트웨어 모듈을 동작시키는 관리 프로그램은 상기 웹 브라우저를 포함하는 일반적인 응용 프로그램일 수도 있음 역시 이 기술분야에서 통상의 지식을 가진 자에게 자명하다고 할 것이다.
도 4는 본 발명의 바람직한 제 1실시예에 따른 웹 브라우저를 통한 ActiveX Control의 설치 과정을 나타내는 흐름도이다. 상기 도 4를 참조하면, 먼저 웹 브라우저를 통하여 해당 웹 사이트에 웹 페이지를 요청하고(S301), 이에 따라 상기 웹 페이지가 사용자의 PC에 다운로드된다(S302).
다음으로 해당 웹 페이지에 ActiveX Control이 사용되었는지 여부를 판단하여(S303), ActiveX Control이 필요한 경우 필요한 ActiveX Control을 사용자의 PC에 다운로드한다(S304). 만약 해당 웹 페이지에 ActiveX Control이 사용되지 않았으면 해당 웹 페이지를 바로 보여주게 된다(S309).
ActiveX Control을 다운로드 받게 되는 경우, ActiveX Control에 삽입된 게시자 정보를 통해 사용자는 자신의 PC에 해당 ActiveX Control을 설치할 것인지를 판단하게 된다(S305). 사용자가 설치를 원하는 경우, 해당 ActiveX Control이 ActiveX Control 모니터링 프로그램에 등록된다(S306). 상기 등록 후 상기 ActiveX Control은 사용자의 PC에 설치되어 실행된다(S307, S308). 이에 따라 해당 웹 페이지에 명시된 내용으로 사용자의 PC에 웹 페이지를 표시하게 된다(S309).
한편, 사용자가 해당 ActiveX Control의 설치를 원하지 않는 경우에는 해당 ActiveX Control을 제외한 웹 페이지를 사용자의 PC에 표시하게 된다(S309).
도 5 및 도 6은 본 발명의 바람직한 제 1실시예에 따른 ActiveX Control의 실행 및 모니터링 과정을 나타내는 블록도 및 흐름도이다. 상기 도 5 및 도 6을 참조하면, 먼저 웹 브라우저(200)를 통하여 설치된 ActiveX Control(201)은 모니터링 프로그램(205)에 등록되어 내부화된다(S401).
상기 ActiveX Control(201)이 상기 모니터링 프로그램(205)에 등록되어 내부화 된다는 의미는 이후 웹 브라우저(200)가 상기 ActiveX Control(201)을 호출하는 경우 상기 모니터링 프로그램(205)을 인터페이스로 하여 상기 ActiveX Control(201)이 간접적으로 호출되게 설정함으로써 상기 모니터링 프로그램(205)이 상기 ActiveX Control(201)의 호출을 알 수 있도록 하고, 상기와 같이 간접적으로 호출된 ActiveX Control(201)이 특정한 기능을 수행하기 위해서 시스템 API DLL(220)을 호출할 경우 적어도 일부 기능들은 상기 모니터링 프로그램(205)이 제공하는 특정한 인터페이스를 통해 간접적으로 실행되도록 함으로써, 상기 모니터링 프로그램(205)이 상기 ActiveX Control(201)이 호출하여 사용하는 시스템 API DLL(220)의 기능을 모니터링 할 수 있도록 한다는 것을 의미한다. 즉 상기 ActiveX Control(201)이 상기 모니터링 프로그램(205)을 인터페이스로 하여 웹 브라우저(200)와 상기 시스템 API DLL(220)과 연결되게 되어 그 동작 방식이 마치 상기 ActiveX Control(201)이 상기 모니터링 프로그램(205)의 내부에 존재하는 것처럼 간주된다는 의미이다.
이때 상기 모니터링 프로그램(205)은 시스템 API DLL(220)이 제공하는 인터페이스를 시스템에 영향을 미치는 수준에 따라 분류하여 시스템의 안정성에 문제가 되거나 사용자 정보를 침해할 우려가 있는 위험한 API(211) 목록과 시스템의 안정성이나 사용자 정보를 침해할 우려가 없는 안전한 API(212) 목록을 이용할 수 있다. 상기 목록은 상기 모니터링 프로그램 구성시 결정되거나 사용자가 지정하는 등 의 다양한 방식으로 구성될 수 있으나, 적어도 시스템의 환경을 변화시키기 위한 파일의 조작이나 레지스트리의 조작 등과 같은 기능을 수행할 수 있는 API 목록은 위험군으로 분류되어야 한다.
한편, 상기 위험군으로 분류된 API(211)에 대해서는 별도의 감시 인터페이스(207)를 생성함으로써, 후술하는 상기 ActiveX Control(201)의 로직(203)이 상기 위험군으로 분류된 API(211)를 호출하고자 하는 경우, 상기 모니터링 프로그램(205)이 제공하는 감시 인터페이스(207)를 경유하도록 한다.
다음으로 상기 웹 브라우저(200)의 로직(202)이 상기 ActiveX Control(201)을 실행시키기 위하여 ActiveX 인터페이스(204)를 호출하게 된다(S402). 이때 상기 ActiveX 인터페이스(204) 호출은 상기 모니터링 프로그램(205)이 제공하는 인터페이스(206)를 통하여 가능하게 된다.
즉 상기 ActiveX Control(201)이 제공하는 인터페이스(204)는 상기 모니터링 프로그램(205)에 의하여 상기 모니터링 프로그램(205)이 제공하는 인터페이스(206)로 변경되므로, 상기 웹 브라우저(200)의 로직(202)은 별도의 로직 변경이나 통보 없이 상기 모니터링 프로그램(205)이 제공하는 인터페이스(206)를 통하여 간접적으로 상기 ActiveX 인터페이스(204)를 호출하게 된다.
상기 모니터링 프로그램(205)이 제공하는 인터페이스(206)의 호출에 의하여 상기 웹 브라우저(200)의 로직(202)은 간접적으로 상기 ActiveX Control(205)의 로직(203)에 연결되고, 이에 따라 상기 ActiveX Control(201)이 실행된다(S403).
상기 ActiveX Control(201)이 실행되면, 상기 모니터링 프로그램(205)은 상 기 상기 ActiveX Control(201)과 상기 시스템 API DLL(220) 사이를 인터페이스하여 상기 ActiveX Control(201)이 실행한 상기 시스템 API DLL(220)의 동작을 모두 감시하여, 상기 ActiveX Control(201)이 상기 시스템 API DLL(220)의 기 구분된 일부 기능을 실행할 경우 해당 기능의 실행에 따른 시스템 변화에 대한 복원 정보를 생성하게 된다.
구체적으로 상기 ActiveX Control(201)의 로직(203)은 자체 로직을 수행하기 위하여 시스템 API DLL(220) 파일이 제공하는 인터페이스를 통해 시스템이 제공하는 기능을 사용하려고 한다. 이때 상기 위험군으로 분류된 API(211)에 대한 목록을 구비한 상기 모니터링 프로그램(205)은 상기 ActiveX Control(201)의 로직(203)이 상기 위험군으로 분류된 API(211)를 호출하는지 여부를 판단한다(S404).
상기 판단 결과 상기 ActiveX Control(201)의 로직(203)이 상기 위험군으로 분류된 API(211)를 호출하는 경우, 상기 모니터링 프로그램(205)이 제공하는 감시 인터페이스(207)를 호출하여(S405), 상기 감시 인터페이스(207)를 통하여 상기 위험군으로 분류된 API(211)에 연결되도록 한다(S406).
상기 ActiveX Control(201)의 로직(203)이 상기 위험군으로 분류된 API(211)에 연결된 후, 상기 모니터링 프로그램(205)은 상기 위험군으로 분류된 API(211)의 동작에 대한 복원 정보를 생성하고(S407), 상기 생성된 복원 정보에 따라 사용자의 시스템 변화를 복원하게 된다(S408)상기 ActiveX Control(201)의 로직(203)에 의하여 사용된 API와 관련된 정보를 수집, 분석하여 상기 ActiveX Control(201)의 실행에 대한 복원 정보를 생성한다(S407).
사용자의 OS(Operating System)가 Microsoft사가 제공하는 OS인 경우를 예를 들어 설명하면 다음과 같다.
상기 ActiveX Control(201)이 사용자의 시스템 내의 특정 파일을 삭제하기 위해 OS(Operating System)(230)에 존재하는 "Kernel32.dll"(도 5의 220에 해당)의 "DeleteFile"(도 5의 211에 해당)이라는 인터페이스를 호출하면, 상기 모니터링 프로그램(205)은 실제 "Kernel32.dll"의 "DeleteFile"이 호출되기 이전에 상기 ActiveX Control(201)의 로직(203)이 삭제하고자 하는 대상 파일을 다른 저장소로 복사하여 보관한 후, 상기 "DeleteFile"이 호출되도록 하여 파일 삭제가 수행되도록 한다. 따라서 상기 ActiveX Control(201)의 실행에 따른 상기 특정 파일의 삭제가 시스템에 악영향을 끼치는 경우, 상기 ActiveX Control(201)의 실행 전 상태로 시스템을 복원할 수 있다.
도 7은 본 발명의 바람직한 제 2실시예에 따른 ActiveX Control 실행 후 시스템 복원 방법을 나타낸 흐름도이다. 본 발명의 제 2실시예에서는 웹 브라우저의 사용 중에 상기 웹 브라우저를 통하여 설치, 실행되는 ActiveX Control을 모니터링하여 복원 정보를 생성하고, 웹 브라우저의 종료시에 상기 ActiveX Control 실행 이전의 상태로 시스템을 복원하는 방법에 대하여 개시한다.
상기 도 7을 참조하면, 먼저 웹 브라우저(200)의 사용 중에 상기 ActiveX Control(201)에 대한 호출과 실행에 대한 인터페이스를 제공하는 모니터링 프로그램(205)이 상기 웹 브라우저(200)를 통해 설치, 실행된 ActiveX Control(201)을 모 니터링하여, 상기 ActiveX Control(201)의 실행에 따른 시스템 변화를 복구하기 위한 복원 정보를 생성한다(S501). 상기 ActiveX Control(201)의 모니터링 및 복원 정보 생성은 일례로 상술한 본 발명의 제 1실시예에 기재된 방법으로 수행될 수 있다.
상기 웹 브라우저(200)의 사용 후 사용자로부터 웹 브라우저 종료 요청이 있으면(S502), 상기 모니터링 프로그램(205)은 사용자가 미리 설정해 둔 복원 설정 정보가 있는지를 판단하여(S503), 사용자가 미리 설정해 둔 복원 설정 정보가 있는 경우, 사용자가 미리 설정해 둔 복원 설정 정보를 기초로 상기 ActiveX Control 실행 이전 시점으로 시스템을 자동 복원하고 웹 브라우저를 종료한다(S504, S506).
한편 상기 판단 결과 사용자가 미리 설정해 둔 복원 설정 정보가 없으면, 사용자에게 시스템 복원 여부를 문의하고(S505), 사용자가 시스템 복원을 선택하는 경우, 상기 복원 정보에 따라 상기 ActiveX Control 실행 이전 시점으로 시스템을 복원하고 웹 브라우저를 종료한다(S504, S506). 사용자가 시스템 복원을 선택하지 않은 경우에는 웹 브라우저를 종료한다(S506).
도 8은 본 발명의 바람직한 제 3실시예에 따른 ActiveX Control 실행 후 시스템 복원 방법을 나타내는 흐름도이다. 본 발명의 제 3실시예에서는 웹 브라우저의 사용 중에 상기 웹 브라우저를 통하여 설치, 실행되는 ActiveX Control을 모니터링하여 복원 정보를 생성하고, 사용자가 원하는 임의의 시점에 시스템 복원을 위한 프로그램을 실행하여 상기 ActiveX Control 실행 이전의 상태로 시스템을 복원 하는 방법에 대하여 개시한다.
상기 도 8을 참조하면, 먼저 웹 브라우저(200)의 사용 중에 상기 ActiveX Control(201)에 대한 호출과 실행에 대한 인터페이스를 제공하는 모니터링 프로그램(205)이 상기 웹 브라우저(200)를 통해 설치, 실행된 ActiveX Control(201)을 모니터링하여, 상기 ActiveX Control(201)의 실행에 따른 시스템 변화를 복구하기 위한 복원 정보를 생성한다(S601). 상기 ActiveX Control(201)의 모니터링 및 복원 정보 생성은 일례로 상술한 본 발명의 제 1실시예에 기재된 방법으로 수행될 수 있다.
다음으로 사용자가 원하는 임의의 시점에 시스템 복원 요청이 있으면(S602), 시스템 복원을 위한 프로그램이 실행된다(S603).
상기 복원 프로그램 실행 후, 사용자에 의하여 복원 방법 및 복원 영역이 선택되고(S604), 선택된 복원 방법 및 복원 영역에 따라 상기 프로그램이 동작하여 상기 복원 정보를 기초로 상기 ActiveX Control 실행 이전 시점으로 시스템을 복원하게 된다(S605).
이상에서는 본 발명의 구체적인 일 실시예에 관하여 설명하였으나, 상기 실시예에 적용된 기술적 사상인 모니터링 프로그램 및 그 동작들은 더 넓은 개념으로의 일반화가 가능하다. 예를 들어, 상기 웹 브라우저와 소프트웨어 모듈(ActiveX, JAVA applet, OCX 등)의 구성을 상위 개념으로 정리하면, 사용자에게 특정 작업 환경과 사용자 인터페이스를 제공하는 관리 프로그램과 상기 관리 프로그램에 연동되 면서 수행되지만 그 내용이 공개되지 않은 소프트웨어 모듈을 포함하는 시스템이라 할 수 있다. 따라서, 상기 관리 프로그램은 규격화되어 내부를 알기 어려운 소프트웨어 모듈들을 관리하는 일반 응용프로그램이 될 수 있다. 즉, 상기 모니터링 프로그램이나 모니터링 방법은 관리 프로그램과 소프트웨어 모듈로 이루어진 시스템에서, 상기 소프트웨어 모듈에 대한 직접적인 접근이 어려울 경우라도 상기 소프트웨어 모듈에 대한 송수신 정보와, 상기 소프트웨어 모듈이 실시하는 송수신 정보를 모니터링하여 상기 소프트웨어 모듈의 동작을 실시간 감시하며, 상기 관리 프로그램이나 모니터링 프로그램을 변경하지 않더라도 상기 소프트웨어 모듈의 동작을 효과적으로 관리할 수 있게 된다. 상기 관리는 전술한 바와 같은 상기 소프트웨어 모듈의 동작에 의해 변경된 시스템 정보를 복원하는 것이 될 수 있고, 상기 소프트웨어 모듈의 동작을 로그 정보로 관리(데이터 베이스 기록)하거나 해당 정보를 의미가 있는 정보로 처리하여 상기 관리 프로그램이 제공하지 않는 기능을 부가 제공하기 위한 수단으로도 활용할 수 있다. 예를 들어, 특정한 기준에 따른 정보들의 무결성을 검사한다거나, 특정한 분류에 따른 정보를 별도 저장하여 필요한 정보를 취합할 수 있도록 하는 등의 추가적인 기능을 독립적이고 범용적인 방식으로 제공할 수 있게 되는 것이다. 또한, 상기 정보들을 모니터링 프로그램을 통해 원격지로 송신하여 복수 시스템들에 대한 동작 상태를 통합 관리할 수도 있다.
그러면, 상기 관리 프로그램으로 일반적인 운영체제(예를 들어, 윈도우즈 계열 운영체제)에서 동작하는 응용 프로그램이 적용되고, 상기 소프트웨어 모듈로서 업계 표준을 따르는 캡슐화된 모듈이 적용된 예를 살펴보도록 한다.
도 9는 본 발명의 제 4실시예에 따른 OLE(Object Linking and Embedding) POS(Point Of Sales) 시스템의 구성을 보인 것으로, 도시한 바와 같이 OLE POS 시스템(700)은 실질적인 POS 동작에 대한 사용자 인터페이스를 제공하는 POS 응용 프로그램부(710)와, 업계 표준에 따른 (제조사 외에는 내용을 알 수 없는)프로그램 모듈로 구성되어 상기 POS 응용 프로그램부(710)와 POS 관련 정보를 주고 받는 OLE POS부(730)와, 상기 OLE POS부(730)에 의해 제어되어 각각 특정 디바이스를 제어하는 업계 표준에 따른 프로그램 모듈인 OLE POS 디바이스(740)으로 이루어지며, 상기 OLE POS 디바이스(740)는 각각 제어 대상인 특정 디바이스(750)와 연결된다.
여기서, 상기 OLE POS부(730)는 일반적으로 직접 POS 응용 프로그램부(710)와 OLE POS 디바이스(740)에 연결되지만, 본 실시예에서는 범용적으로 구성된 모니터링 프로그램(720)에 의해 상기 OLE POS부(730)가 상기 POS 응용 프로그램부(710) 및 OLE 디바이스(740)와 간접적으로 정보를 주고 받게 된다. 즉, 상기 모니터링 프로그램(720)을 추가한 후 상기 OLE POS 시스템(700)의 동작 기반이 되는 운영체제에서 동작시키고, 상기 OLE POS부(730)를 등록시키면, 상기 모니터링 프로그램(720)은 상기 POS 응용 프로그램부(710)가 상기 OLE POS부(730)에 제공하는 요청들을 상기 모니터링 프로그램(720)이 제공하는 감시 인터페이스(721)를 통해 간접적으로 상기 OLE POS부(730)에 제공되도록 하고, 상기 OLE POS부(730)가 제공하는 정보 역시 상기 감시 인터페이스(721)를 통해 간접적으로 상기 POS 응용 프로그램부(710)에 제공되도록 한다. 그에 따라, 상기 모니터링 프로그램(720)은 상기 POS 응용 프로그램부(710)나 OLE POS부(730)를 수정하지 않고서도 정보의 송수신 내용 을 상기 감시 인터페이스(721)를 통해 확인할 수 있게 된다. 또한, 상기 OLE POS부(730)와 상기 OLE 디바이스들(740)간의 정보 교환 역시 감시 인터페이스(722)를 통해 간접적으로 이루어지도록 하여 그 정보의 송수신 내용을 확인할 수 있게 된다. 즉 상기 OLE POS부(730)가 상기 모니터링 프로그램(720)에 내부화되는 것이다.
따라서, 상기 모니터링 프로그램(720)은 실질적인 사용자 인터페이스와 정보 관리를 실시하는 상기 POS 응용 프로그램(710)을 변경하지 않고서도 상기 POS 응용 프로그램(710)이 제공하지 않는 서비스나 기능을 추가적으로 제공하도록 할 수 있다.
일반적으로 상기 POS 응용 프로그램(710)은 주기적, 혹은 비주기적으로 데이터 정보를 관리하며, 자신만의 고유한 규격 정보로 관리하기 때문에 해당 정보는 재가공 특성이 취약하며 실시간 특성이 낮다. 하지만, 상기 모니터링 프로그램(720)을 적용할 경우 특정한 모니터링 기능(실시간 데이터 관리, 재가공이 가능한 정보 관리 등)을 수행하는 별도 어플리케이션에 관련된 정보들을 실시간 제공할 수 있으며, 필요한 경우 상기 별도 어플리케이션이 수행하는 기능을 상기 모니터링 프로그램(720)이 구비할 수 있어, 상기 POS 응용 프로그램(710)을 변경하지 않고서도 필요한 기능들을 더 부가할 수 있게 된다. 또한, 상기 모니터링 프로그램(720)에 통신 인터페이스를 통해 원격지에 규격화된 형태로 가공한 정보를 제공하도록 하는 수단을 부가할 수 있기 때문에 원격지에서 상기 OLE POS 시스템(240)의 동작을 모니터링 하거나 정보 단위 동작을 확인할 수 있으며, 특정한 기준에 해당하는 정보들에 대한 무결성 검사나 이를 근거로 하는 대응 처리도 가능하게 된다.
예를 들어, 상기 OLE POS를 다루는 계산원의 실수나 부정을 감지하기 위한 목적으로 상기 구성을 이용할 경우, 상기 모니터링 프로그램(720)은 상기 OLE POS부(730)를 통해 입출력되는 모든 정보들을 관리(로컬 데이터베이스 저장, 원격 데이터베이스 저장, 원격 관리 등)할 수 있고, 이 중에서 거래 정보등과 같이 중요한 정보들을 구분하여 관리할 수 있으며, 상기 정보들 중에서 비정상적이거나 예외적인 정보가 포함된 경우 상기 모니터링 프로그램(720)은 해당 정보에 인덱스를 추가하는 등의 과정을 통해 해당 특정 조건에 일치되는 정보가 일반 정보와 구분되도록 할 수 있다. 따라서 상기 모니터링 프로그램(720)을 이용할 경우 이러한 구분된 정보들을 이용하여 예외적이거나 비정상적인 상황 발생 정보를 획득하고 그에 대응할 수 있게 된다. 특히, 상기 정보를 근거로, POS 응용 프로그램(241)의 조작을 통한 거래 정보의 변경이나 상품 정보의 수정에 의한 오류, 혹은 고의적 횡령 등을 검증할 수 있게 된다. 또한, 이러한 비정상 정보를 얻는 경우 활용이 가능한 다른 정보들(예를 들어 감시 카메라가 있는 경우 해당 카메라의 영상 정보, 해당 비정상 정보가 발생 된 시간이나 해당 시간의 계산원 정보 등)을 추가적으로 검색하여 상기 비정상 정보와 함께 저장하고, 그 사실을 관리자에게 통보하는 등의 서비스도 제공할 수 있다.
특히, 상기 모니터링 프로그램(720)은 상기 OLE POS 시스템에 관한 고유의 디바이스 정보나 구체적인 사용자 인터페이스 구성을 모르더라도 적용할 수 있어 특정한 기능이 없는 OLE POS 시스템에 특정한 기능을 부가하기 위한, 일종의 업그레이드 수단으로 활용될 수 있으며, 이러한 업그레이드에 대한 시간적, 비용적 부 담은 상기 모니터링 프로그램(720)의 구성을 변경하는 경우에 비해 상대적으로 낮아지게 된다. 즉, 상기 모니터링 프로그램(720)을 이용한 모니터링 방법 및 모니터링 프로그램(720)은 디바이스나 인터페이스에 독립적이기 때문에 특정한 인터페이스나 디바이스에 따른 소스 코드 변경 없이도 상이한 구성을 가지는 임의의 OLE POS 시스템에 공통적으로 적용될 수 있다.
도 10은 본 발명 제 5실시예에 따른 OLE POS 시스템의 구성을 보인 것으로, 기본적인 구성은 도 9와 같이 POS 응용 프로그램(810), OLE POS부(830), OLE 디바이스(840)로 이루어지며, 상기 OLE 디바이스(840)는 각각 제어 대상이 되는 특정 디바이스(850)와 연결된다. 이때, 상기 OLE POS부(830)는 상기 POS 응용프로그램(810)과 모니터링 프로그램(820)을 매개로 하여 간접적으로 연결되며, 상기 POS 응용 프로그램(810)과 상기 OLE POS부(830) 간에 교환되는 정보를 확인할 수 있다. 즉, 상기 POC 응용 프로그램(810)에 없는 새로운 기능을 부가하거나 상기 교환 정보를 별도 관리하여 상기 POS 응용 프로그램(810)의 조작에 따른 오류를 확인할 수도 있으며, 상기 전술한 각종 응용들이 가능해진다.
본 발명에 의하면, 사용자는 웹 브라우저를 통하여 설치, 실행되어 웹과 응용 프로그램을 연결하는 소프트웨어 모듈이 자신의 PC에 어떠한 영향을 끼치는지 또는 해당 영향으로부터 PC의 시스템을 방어하거나 복구하는 방법에 대한 어떠한 정보도 제공받지 못하는 데 대한 심리적 부담감을 줄일 수 있다.
또한 상기 소프트웨어 모듈의 악의적인 실행이나 잘못된 실행으로 인한 피해를 방지할 수 있다.
그리고, 본 발명의 소프트웨어 모듈 모니터링 방법은 관리 프로그램에 연동되는 소프트웨어 모듈의 동작을 범용적으로 모니터링하여 해당 소프트웨어 모듈의 동작을 실시간 확인하고, 해당 동작이 특정한 조건에 일치될 경우 그에 대한 조치를 취할 수 있도록 함으로써, 상기 모니터링 수단의 범용성에 의해 임의의 소프트웨어 모듈에 적용되어 상기 관리 프로그램이 제공할 수 없는 기능들을 용이하게 확장하여 제공할 수 있으며, 상기 모니터링 정보를 근거로 실제 관리 프로그램의 정보를 중복 확인하여 오류를 검증하고 고의적 과실을 파악할 수 있다.
Claims (11)
- 웹 브라우저를 통해서 설치되어 웹과 응용 프로그램을 연결하는 소프트웨어 모듈을 다운로드 및 모니터링 프로그램에 등록하는 단계;상기 웹 브라우저의 로직이 상기 소프트웨어 모듈을 상기 모니터링 프로그램을 통해 간접적으로 호출하여 실행시키는 단계;상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 변경되는 시스템 변화에 대한 복원 정보를 생성하는 단계; 및상기 모니터링 프로그램의 복원 정보를 근거로 상기 시스템 변화를 복원하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 제 1항에 있어서,상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 변경되는 시스템 변화에 대한 복원 정보를 생성하는 단계는, 상기 모니터링 프로그램이 상기 소프트웨어 모듈과 시스템 API(Application Programmig Interface) DLL(Dynamic Linking Library) 사이를 인터페이스하여 상기 소프트웨어 모듈이 실행한 시스템 API DLL의 동작을 모두 감시하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 제 1항 또는 제 2항에 있어서,상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 변경되는 시스템 변화에 대한 복원 정보를 생성하는 단계는,상기 소프트웨어 모듈의 로직이 위험군으로 분류된 API(Application Programmig Interface)를 호출하는지 여부를 상기 위험군으로 분류된 API에 대한 목록을 구비한 모니터링 프로그램이 판단하는 단계;상기 판단 결과 상기 위험군으로 분류된 API(Application Programmig Interface)를 호출하는 경우, 상기 모니터링 프로그램이 제공하는 감시 인터페이스를 호출하여, 상기 감시 인터페이스를 통하여 상기 위험군으로 분류된 API(Application Programmig Interface)에 연결시키는 단계; 및상기 API(Application Programmig Interface)의 동작에 대한 복원 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 웹 브라우저를 통하여 설치된 소프트웨어 모듈 실행 후, 시스템을 복원하는 방법에 있어서,웹 브라우저의 사용 중에 상기 소프트웨어 모듈에 대한 호출과 실행에 대한 인터페이스를 제공하는 모니터링 프로그램이 상기 소프트웨어 모듈의 실행에 따른 시스템 변화를 복구하기 위한 복원 정보를 생성하는 단계;상기 웹 브라우저의 종료 요청에 따라 상기 모니터링 프로그램이 사용자의 설정 또는 지시에 따라 상기 시스템 변화를 복원하고 상기 웹 브라우저를 종료하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 모듈 실행 후 시스템 복원 방법.
- 웹 브라우저를 통하여 설치된 소프트웨어 모듈 실행 후, 시스템을 복원하는 방법에 있어서,웹 브라우저의 사용 중에 상기 소프트웨어 모듈에 대한 호출과 실행에 대한 인터페이스를 제공하는 모니터링 프로그램이 상기 소프트웨어 모듈의 실행에 따른 시스템 변화를 복구하기 위한 복원 정보를 생성하는 단계;사용자의 시스템 복원 요청에 따라 복원 프로그램이 실행되는 단계;상기 복원 프로그램 실행 후, 복원 방법 및 복원 영역이 선택되는 단계; 및상기 선택된 복원 방법 및 복원 영역에 따라 상기 복원 프로그램이 동작하여 상기 시스템이 복원되는 단계를 포함하는 것을 특징으로 하는 소프트웨어 모듈 실행 후 시스템 복원 방법.
- 특정 작업 환경과 사용자 인터페이스를 제공하는 관리 프로그램과, 상기 관리 프로그램에 연동되면서 수행되지만 그 내용이 공개되지 않은 소프트웨어 모듈을 포함하는 시스템에서 상기 소프트웨어 모듈을 모니터링하는 방법에 있어서,상기 관리 프로그램 및 소프트웨어 모듈에 독립적인 모니터링 프로그램을 설치하는 제 1단계;상기 모니터링 프로그램에 상기 소프트웨어 모듈을 등록하는 제 2단계;상기 관리 프로그램이 상기 소프트웨어 모듈을 상기 모니터링 프로그램을 통해 간접적으로 호출하여 실행시키는 제 3단계;상기 모니터링 프로그램이 상기 소프트웨어 모듈의 실행을 감시하여 그 실행에 의해 상기 관리 프로그램과 상기 소프트웨어 모듈이 주고 받는 정보 및 상기 소프트웨어 모듈이 제공하는 정보를 관리하는 제 4단계; 및상기 모니터링 프로그램이 별도 관리하는 정보 중에서 특정 조건에 부합되는 정보가 검출될 경우 해당 정보들은 별도로 취급하여 관리하는 제 5단계를 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 제 6항에 있어서, 상기 제 4단계는 상기 정보를 별도의 외부 인터페이스를 통해 외부 통신망으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 제 6항에 있어서, 상기 제 4단계는 상기 정보를 재사용이 가능한 범용 정보 구성 방식을 이용하여 단위 정보 혹은 정보군을 관리하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 제 6항에 있어서, 상기 제 5단계의 상기 특정 조건은 시스템 변경에 따른 정보가 검출되거나, 특정한 조건의 정보들이 상호 일치하지 않은 경우 중 적어도 하나를 포함하며, 상기 제 5단계는 상기 정보를 유발하는 상황의 이전 상태를 복원 정보로 저장하거나, 상기 정보를 유발하는 상황에 대한 부가적인 정보를 획득하거나, 또는 상기 정보에 특정 인덱스를 부여하여 관리하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 제 6항에 있어서, 상기 관리 프로그램은 OLE POS 응용 프로그램이고, 상기 소프트웨어 모듈은 표준 OLE POS 모듈인 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
- 제 10항에 있어서, 상기 제 4단계는 상기 모니터링 모듈이 관리하는 정보를 범용 정보 규격으로 통신 인터페이스를 통해 외부로 출력하는 단계를 더 포함하며, 상기 제 5단계는 상기 모니터링 모듈이 별도 취급하여 관리하는 정보를 특정하여 상기 통신 인터페이스를 통해 외부로 출력하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 모듈 모니터링 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20060097020 | 2006-10-02 | ||
KR1020060097020 | 2006-10-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080030909A true KR20080030909A (ko) | 2008-04-07 |
Family
ID=39532780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070019207A KR20080030909A (ko) | 2006-10-02 | 2007-02-26 | 소프트웨어 모듈 모니터링 방법 및 소프트웨어 모듈 실행후 시스템을 복원하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080030909A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110084775A (ko) * | 2010-01-18 | 2011-07-26 | 삼성전자주식회사 | 동적 링크 라이브러리 삽입 공격을 방지하는 컴퓨터 시스템 및 방법 |
CN105302654A (zh) * | 2014-07-25 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种修复浏览器内核的方法和装置 |
-
2007
- 2007-02-26 KR KR1020070019207A patent/KR20080030909A/ko not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110084775A (ko) * | 2010-01-18 | 2011-07-26 | 삼성전자주식회사 | 동적 링크 라이브러리 삽입 공격을 방지하는 컴퓨터 시스템 및 방법 |
CN105302654A (zh) * | 2014-07-25 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种修复浏览器内核的方法和装置 |
CN105302654B (zh) * | 2014-07-25 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种修复浏览器内核的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101691245B1 (ko) | 웹 서비스 모니터링 시스템 및 방법 | |
US8832680B2 (en) | Installation event counting apparatus and package creation method | |
CN111695156A (zh) | 业务平台的访问方法、装置、设备及存储介质 | |
EP1768044A2 (en) | Security vulnerability information aggregation | |
US8353043B2 (en) | Web firewall and method for automatically checking web server for vulnerabilities | |
CN102663274B (zh) | 一种检测远程入侵计算机行为的方法及系统 | |
US7716527B2 (en) | Repair system | |
CN101156156A (zh) | 补救不希望有的应用程序的影响 | |
CN100492300C (zh) | 在微处理器实现的设备上执行进程的系统和方法 | |
CN110309476B (zh) | 网页浏览器调用本地应用程序的方法及装置 | |
JP2006155583A (ja) | デバイス管理装置、デバイス及びデバイス管理方法 | |
CN111614624B (zh) | 风险检测方法、装置、系统及存储介质 | |
CN102045390A (zh) | 计算机专用软件更新的自动配置 | |
CN102592086B (zh) | 在沙箱中浏览网页方法及装置 | |
US8046757B2 (en) | Method for installing ActiveX control | |
CN106557669A (zh) | 一种应用程序安装过程的权限控制方法及装置 | |
CN110442502B (zh) | 一种埋点的方法、装置、设备及存储介质 | |
CN105631312A (zh) | 恶意程序的处理方法及系统 | |
CN105094921A (zh) | 一种跨浏览器调用外设的方法及装置 | |
KR101233934B1 (ko) | 지능형 통합 보안 관리 시스템 및 방법 | |
JP2012190345A (ja) | ログ情報自動採取装置及びログ情報自動採取方法 | |
KR20080030909A (ko) | 소프트웨어 모듈 모니터링 방법 및 소프트웨어 모듈 실행후 시스템을 복원하는 방법 | |
US10831883B1 (en) | Preventing application installation using system-level messages | |
CN104598812A (zh) | 在沙箱中浏览网页方法及装置 | |
CN112583891B (zh) | 接口文档获取方法、装置和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |