KR102658239B1 - Computing device to prevent disabling software - Google Patents
Computing device to prevent disabling software Download PDFInfo
- Publication number
- KR102658239B1 KR102658239B1 KR1020210190671A KR20210190671A KR102658239B1 KR 102658239 B1 KR102658239 B1 KR 102658239B1 KR 1020210190671 A KR1020210190671 A KR 1020210190671A KR 20210190671 A KR20210190671 A KR 20210190671A KR 102658239 B1 KR102658239 B1 KR 102658239B1
- Authority
- KR
- South Korea
- Prior art keywords
- control program
- firmware
- computing device
- toggle signal
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/84—Protecting input, output or interconnection devices output devices, e.g. displays or monitors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명의 일 실시예에 따른 소프트웨어 무력화 방지하기 위한 컴퓨팅 장치는 보호 대상 응용 프로그램과 보호 대상 응용 프로그램의 설치 여부를 모니터링하는 관제 프로그램이 설치된 메모리; 보호 대상 응용 프로그램과 관제 프로그램을 실행하는 프로세서 및 관제 프로그램으로부터 토글신호를 전송받는 메인보드의 펌웨어를 포함한다. 이때, 관제 프로그램은 보호 대상 응용 프로그램의 설치가 확인된 경우 펌웨어로 주기적으로 토글신호를 전송하고, 펌웨어는 관제 프로그램으로부터 주기적으로토글 신호를 수신하지 못하는 경우, 컴퓨팅 장치에 포함된 하드웨어의 성능을 제한한다.A computing device for preventing software incapacitation according to an embodiment of the present invention includes a memory in which a protected application and a control program for monitoring whether the protected application is installed are installed; It includes the processor that runs the protected application and control program, and the firmware of the main board that receives toggle signals from the control program. At this time, the control program periodically transmits a toggle signal to the firmware when the installation of the application to be protected is confirmed, and if the firmware does not receive a toggle signal periodically from the control program, it limits the performance of the hardware included in the computing device. do.
Description
본 발명은 소프트웨어 무력화를 방지하기 위한 컴퓨팅 장치에 관한 것이다.The present invention relates to a computing device for preventing software defeat.
포스(POS : Point Of Sales - 판매시점 정보관리)기기는 일반적인 도소매업 매장에서 고객의 상품구매에 따른 결제가 이루어지고 이루어진 결제에 대해 재고관리나 매출관리 등을 수행할 수 있는 기기이다.POS (Point Of Sales - Point of Sale Information Management) devices are devices that allow customers to make payments for product purchases in general wholesale and retail stores and perform inventory management and sales management for the payments made.
특히, 오프라인 매장에서 사용되는 포스기는 단순 결제뿐만 아니라 재고관리나 매출관리, 사용자의 정보관리 등을 총괄하여 관리하는 하나의 시스템을 구성하고 있기 때문에, 사용자는 매장에서 포스기에 대한 의존도가 높아지고 있는 실정이다.In particular, the POSgi used in offline stores constitutes a system that manages not only simple payments but also inventory management, sales management, and user information management, so users are increasingly relying on POSgi in stores. am.
오프라인 매장에서 사용되는 포스기의 기초적인 구조는 입출력부, 결제부, 제어부 및 저장부로 이루어질 수 있다. 여기서 입출력부는 결제정보나 재고관리 등을 외부로 출력하고 사용자가 결제금액 등을 입력할 수 있는 수단이고, 결제부는 사용자가 소비자의 결제수단을 통해 결제를 진행할 수 있는 수단이다. 또한, 제어부는 입출력부와 결제부, 저장부를 제어하여 정보를 송수신함과 동시에 정보를 제어할 수 있는 수단이고, 저장부는 포스기 내부에서 처리되는 정보를 저장할 수 있는 수단이다.The basic structure of a POS machine used in offline stores may consist of an input/output unit, a payment unit, a control unit, and a storage unit. Here, the input/output unit is a means that outputs payment information or inventory management to the outside and allows users to input payment amounts, etc., and the payment unit is a means that allows users to make payments using the consumer's payment method. In addition, the control unit is a means that can transmit and receive information and control information at the same time by controlling the input/output unit, payment unit, and storage unit, and the storage unit is a means that can store information processed inside the POS machine.
일반적으로, 포스기를 판매하는 업체는 저렴한 가격으로 포스기를 판매하는 대신 결제 프로그램을 사용료, 프로그램 업데이트 비용을 통해 비용을 충당하는 실정이다.In general, companies that sell POS machines cover their costs through payment program usage fees and program update costs instead of selling POS machines at low prices.
하지만, 이러한 장치들은 사용자의 의도에 의해서 응용 프로그램을 삭제하고 다른 용도로 사용하는 일이 빈번하게 발생하고 있다.However, these devices frequently delete application programs and use them for other purposes due to the user's intention.
이를 방지하기 위해, 기존에는 컴퓨터 단말에 삭제 방지 프로그램 등을 설치하여, 응용 프로그램이 삭제되는 것을 방지하려 하였으나, 컴퓨터 단말를 복원하거나 OS를 다시 설치하는 경우, 응용 프로그램과 삭제 방지 프로그램이 삭제되어 확인이 불가능한 문제점이 있다.To prevent this, it was previously attempted to prevent applications from being deleted by installing a deletion prevention program on the computer terminal. However, when the computer terminal is restored or the OS is reinstalled, the application and the deletion prevention program are deleted and cannot be confirmed. There is an impossible problem.
본 발명의 일 과제는, 보호 대상 응용 프로그램이 삭제되는 것을 방지하기 위한 소프트웨어 무력화 방지를 위한 컴퓨터 단말을 제공하는 것을 목적으로 한다.One object of the present invention is to provide a computer terminal for preventing software disabling in order to prevent a protected application program from being deleted.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenges that this embodiment aims to achieve are not limited to the technical challenges described above, and other technical challenges may exist.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제1 측면에 따른 소프트웨어 무력화 방지하기 위한 컴퓨팅 장치는 보호 대상 응용 프로그램과 보호 대상 응용 프로그램의 설치 여부를 모니터링하는 관제 프로그램이 설치된 메모리; 보호 대상 응용 프로그램과 관제 프로그램을 실행하는 프로세서 및 관제 프로그램으로부터 토글신호를 전송받는 메인보드의 펌웨어를 포함한다. 이때, 관제 프로그램은 보호 대상 응용 프로그램의 설치가 확인된 경우 펌웨어로 주기적으로 토글신호를 전송하고, 펌웨어는 관제 프로그램으로부터 주기적으로 토글 신호를 수신하지 못하는 경우, 컴퓨팅 장치에 포함된 하드웨어의 성능을 제한한다.As a technical means for achieving the above-described technical problem, a computing device for preventing software incapacitation according to the first aspect of the present invention includes a memory in which a protected application and a control program for monitoring whether the protected application is installed are installed; It includes the processor that runs the protected application and control program, and the firmware of the main board that receives toggle signals from the control program. At this time, the control program periodically transmits a toggle signal to the firmware when the installation of the application to be protected is confirmed, and if the firmware does not periodically receive a toggle signal from the control program, it limits the performance of the hardware included in the computing device. do.
또한, 본 발명의 제2 측면에 따른 소프트웨어 무력화 방지 방법은 관제 프로그램에 의해 보호 대상 응용 프로그램의 설치여부를 확인하는 단계; 보호 대상 응용 프로그램의 설치가 확인되면 관제 프로그램에서 메인보드의 펌웨어에 토글 신호를 전송하는 단계; 펌웨어가 관제 프로그램으로부터 토글 신호를 주기적으로 수신하는지 여부를 판단하는 단계; 및 토글 신호가 주기적으로 수신되지 않는 경우, 하드웨어 성능을 저하시키는 단계를 포함한다.In addition, a method for preventing software incapacitation according to a second aspect of the present invention includes the steps of checking whether an application to be protected is installed by a control program; When the installation of the application to be protected is confirmed, the control program transmits a toggle signal to the firmware of the motherboard; Determining whether the firmware periodically receives a toggle signal from the control program; and degrading hardware performance when the toggle signal is not received periodically.
전술한 본 발명의 과제 해결 수단에 의하면, 컴퓨팅 장치에 보호 대상 응용 프로그램이 삭제될 경우 이를 감지하고, 하드웨어의 성능을 감소시켜 사용자에게 불편함을 주어 다른 용도로 컴퓨팅 장치를 사용하는 것을 방지할 수 있는 효과가 있다.According to the means for solving the problem of the present invention described above, it is possible to detect when a protected application is deleted from a computing device and reduce hardware performance to prevent the user from using the computing device for other purposes by causing inconvenience to the user. There is an effect.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 무력화 방지하기 위한 컴퓨팅 장치를 도시한 블록도이다.
도 2은 본 발명의 일 실시예에 따른 소프트웨어 무력화 방지 방법을 도시한 순서도이다.1 is a block diagram illustrating a computing device for preventing software disabling according to an embodiment of the present invention.
Figure 2 is a flow chart illustrating a method for preventing software disabling according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present application will be described in detail so that those skilled in the art can easily implement them. However, the present application may be implemented in various different forms and is not limited to the embodiments described herein. In order to clearly explain the present application in the drawings, parts that are not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. Throughout this specification, when a part is said to be “connected” to another part, this includes not only the case where it is “directly connected,” but also the case where it is “electrically connected” with another element in between. do.
본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification of the present application, when a member is said to be located “on” another member, this includes not only the case where the member is in contact with the other member, but also the case where another member exists between the two members.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.Throughout the specification of the present application, when a part is said to “include” a certain element, this means that it may further include other elements rather than excluding other elements, unless specifically stated to the contrary. As used throughout the specification, the terms “about,” “substantially,” and the like are used to mean at or close to a numerical value when manufacturing and material tolerances inherent in the stated meaning are given, and are used to convey the understanding of the present application. Precise or absolute figures are used to assist in preventing unscrupulous infringers from taking unfair advantage of stated disclosures. The term “step of” or “step of” as used throughout the specification does not mean “step for.”
본 명세서에 있어서 '부(部)'란, 하드웨어 또는 소프트웨어에 의해 실현되는 유닛(unit), 양방을 이용하여 실현되는 유닛을 포함하며, 하나의 유닛이 둘 이상의 하드웨어를 이용하여 실현되어도 되고, 둘 이상의 유닛이 하나의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다.In this specification, 'part' includes a unit realized by hardware or software, and a unit realized using both, and one unit may be realized using two or more hardware, and may be implemented using two or more hardware. The above units may be realized by one hardware. Meanwhile, '~ part' is not limited to software or hardware, and '~ part' may be configured to reside in an addressable storage medium or may be configured to reproduce one or more processors. Therefore, as an example, '~ part' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or may be further separated into additional components and 'parts'.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.Network refers to a connection structure that allows information exchange between nodes such as terminals and servers, including Local Area Network (LAN), Wide Area Network (WAN), and World Wide Area Network (WWW). Wide Web), wired and wireless data communication networks, telephone networks, and wired and wireless television communication networks. Examples of wireless data communication networks include 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), Wi-Fi, Bluetooth communication, infrared communication, and ultrasound. This includes, but is not limited to, communication, Visible Light Communication (VLC), LiFi, etc.
이하, 첨부한 도면들 및 후술되어 있는 내용을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 그러나, 본 발명은 여기서 설명되어지는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings and the following description. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. Like reference numerals refer to like elements throughout the specification.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 무력화 방지하기 위한 컴퓨팅 장치(100)의 구성을 도시한 블록도이다.Figure 1 is a block diagram showing the configuration of a computing device 100 for preventing software incapacitation according to an embodiment of the present invention.
본 발명의 컴퓨팅 장치(100)는 메모리(120), 프로세서(130) 및 펌웨어(142)를 포함하며, 통신 모듈(110)을 더 포함할 수 있다. 예시적으로, 컴퓨팅 장치(100)는 판매자가 고객에게 물품이나 서비스와 같은 상품을 판매한 후 판매자와 고객 사이의 결제를 처리하는 POS(Point of Sale) 장치일 수 있으나, 이에 한하지는 않는다.The computing device 100 of the present invention includes a memory 120, a processor 130, and firmware 142, and may further include a communication module 110. By way of example, the computing device 100 may be a Point of Sale (POS) device that processes payments between the seller and the customer after the seller sells a product, such as a product or service, to the customer, but is not limited thereto.
컴퓨팅 장치(100)는 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 각종 스마트폰, 태블릿 PC, 스마트 워치 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.The computing device 100 may be implemented as a computer or portable terminal that can connect to a server or other terminal through a network. Here, the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser, and the portable terminal is, for example, a wireless communication device that guarantees portability and mobility. , may include all types of handheld-based wireless communication devices such as various smartphones, tablet PCs, smart watches, etc.
메모리(120)는 보호 대상 응용 프로그램(122)과 보호 대상 응용 프로그램(122)의 설치여부를 모니터링하는 관제 프로그램(124)을 포함한다. 이때, 보호 대상 응용 프로그램(122)은 판매자가 고객에게 물품이나 서비스와 같은 상품을 판매한 후 판매자와 고객 사이의 결제를 처리하는 프로그램일 수 있으나, 이에 한하지는 않는다. 또한, 관제 프로그램(124)은 보호 대상 응용 프로그램(122)의 설치여부를 모니터링하고, 보호 대상 응용 프로그램(122)이 설치가 확인된 경우 펌웨어(142)로 주기적으로 토글신호를 전송한다.The memory 120 includes a protected application 122 and a control program 124 that monitors whether the protected application 122 is installed. At this time, the protected application 122 may be a program that processes payments between the seller and the customer after the seller sells a product such as a product or service to the customer, but is not limited to this. Additionally, the control program 124 monitors whether the application to be protected 122 is installed, and periodically transmits a toggle signal to the firmware 142 when the application to be protected 122 is confirmed to be installed.
이때, 메모리(120)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력을 필요로 하는 휘발성 저장장치를 통칭하는 것으로 해석되어야 한다. 메모리(120)는 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 메모리(120)는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치 외에 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.At this time, the memory 120 should be interpreted as a general term for non-volatile storage devices that continue to maintain stored information even when power is not supplied and volatile storage devices that require power to maintain stored information. The memory 120 may perform the function of temporarily or permanently storing data processed by the processor 130. The memory 120 may include magnetic storage media or flash storage media in addition to volatile storage devices that require power to maintain stored information, but the scope of the present invention is not limited thereto. no.
프로세서(130)는 메모리(120)에 저장된 보호 대상 응용 프로그램(122)과 관제 프로그램(124)을 실행한다. 일 예에서, 프로세서(130)는 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 형태로 구현될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The processor 130 executes the application program 122 and the control program 124 to be protected stored in the memory 120. In one example, the processor 130 may include a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), or an FPGA ( It may be implemented in the form of a field programmable gate array, etc., but the scope of the present invention is not limited thereto.
펌웨어(142)는 메인보드(140)에 설치되며, 관제 프로그램(124)으로부터 토글신호를 전송받을 수 있다. 예시적으로, 펌웨어(142)는 롬(ROM, Read Only Memory)에 기록된 하드웨어를 제어하는 마이크로프로그램의 집합을 의미할 수 있다. 다시 말해, 펌웨어(142)는 메인보드(140)의 롬에 저장되는 읽기 전용(read-only)으로서 사용자가 임의로 삭제 또는 수정할 수 없는 것을 특징으로 한다.The firmware 142 is installed on the main board 140 and can receive a toggle signal from the control program 124. By way of example, the firmware 142 may refer to a set of microprograms that control hardware recorded in ROM (Read Only Memory). In other words, the firmware 142 is read-only stored in the ROM of the motherboard 140 and cannot be arbitrarily deleted or modified by the user.
펌웨어(142)는 관제 프로그램(124)으로부터 주기적으로 토글 신호를 수신하지 못하는 경우, 하드웨어 성능을 제한할 수 있다. 다시 말해, 펌웨어(142)는 보호 대상 응용 프로그램(122)이 삭제되어 관제 프로그램(124)이 토글 신호를 전송하지 못하는 경우 또는 관제 프로그램(124)이 삭제되어 토글 신호를 전송하지 못하는 경우, 하드웨어의 성능을 제한할 수 있다. 예시적으로, 펌웨어(142)는 컴퓨팅 장치(100)에 포함된 디스플레이의 밝기를 어둡게 조절하거나, 디스플레이 화면의 온/오프를 반복하여 출력하여 깜빡이거나, 컴퓨팅 장치에 포함된 스피커를 통해 경고음을 출력할 수 있다. 그 밖에 다양한 형태의 하드웨어 성능 제한이 가능하다.If the firmware 142 fails to periodically receive a toggle signal from the control program 124, it may limit hardware performance. In other words, the firmware 142 is the hardware's This may limit performance. For example, the firmware 142 dims the brightness of the display included in the computing device 100, repeatedly turns the display screen on and off to blink, or outputs a warning sound through a speaker included in the computing device. can do. In addition, various types of hardware performance limitations are possible.
관제 프로그램(124)은 외부 인증 서버(20)와 통신하여, 인증 서버(20)로부터 사용 승인 데이터를 수신할 경우, 펌웨어(142)로 주기적으로 토글 신호를 전송할 수 있다. 이때, 관제 프로그램(124)은 통신 모듈(110)을 통해 인증 서버(20)와 통신할 수 있다. 통신 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치를 포함할 수 있다The control program 124 may communicate with the external authentication server 20 and periodically transmit a toggle signal to the firmware 142 when receiving use approval data from the authentication server 20. At this time, the control program 124 may communicate with the authentication server 20 through the communication module 110. The communication module 110 may include a device including hardware and software necessary to transmit and receive signals such as control signals or data signals through wired or wireless connections with other network devices.
예시적으로, 관리자는 보호 대상 응용 프로그램(122)을 설치시, 보호 대상 응용 프로그램(122)을 판매처마다 다른 고유 식별 번호를 부여하고, 관제 프로그램(124)은 보호 대상 응용 프로그램(122)의 고유 식별 번호를 인증 서버(20)로 전송하여, 보호 대상 응용 프로그램(122)을 사용할 수 있도록 사용 승인 요청을 할 수 있다. 이때, 인증 서버(20)는 전송된 고유 식별 번호와 서버에 저장된 식별 번호를 비교한 후, 사용 승인 데이터를 관제 프로그램(124)으로 전송할 수 있다.As an example, when installing the application to be protected (122), the administrator assigns the application to be protected (122) a unique identification number that is different for each vendor, and the control program (124) is unique to the application to be protected (122). By transmitting the identification number to the authentication server 20, a request for approval to use the protected application 122 can be made. At this time, the authentication server 20 may compare the transmitted unique identification number with the identification number stored in the server and then transmit the use approval data to the control program 124.
다시 말해, 관제 프로그램(124)은 보호 대상 응용 프로그램(122)이 설치된 것을 확인한 후, 인증 서버(20)로 사용 승인 요청을 전송하며, 인증 서버(20)로부터 사용 승인 데이터를 전송받을 경우, 펌웨어(142)로 주기적으로 토글 신호를 전송할 수 있다. 만약, 인증 서버(20)로부터 사용 승인 데이터를 수신하지 못한 경우, 펌웨어(142)는 토글 신호를 주기적으로 토글 신호를 수신하지 못하며, 컴퓨팅 장치(100)에 포함된 하드웨어의 성능을 제한할 수 있다.In other words, the control program 124 confirms that the application to be protected 122 is installed and then transmits a request for use approval to the authentication server 20. When the control program 124 receives use approval data from the authentication server 20, the firmware A toggle signal can be periodically transmitted to (142). If use authorization data is not received from the authentication server 20, the firmware 142 cannot periodically receive the toggle signal, which may limit the performance of the hardware included in the computing device 100. .
이하, 도 2를 참조하여, 본 발명의 일 실시예에 따른 소프트웨어 무력화 방지 방법에 대해서 설명한다.Hereinafter, with reference to FIG. 2, a method for preventing software neutralization according to an embodiment of the present invention will be described.
먼저, 관제 프로그램(124)에 의해 보호 대상 응용 프로그램(122)의 설치여부를 확인한다(S210).First, it is checked whether the application to be protected (122) is installed by the control program (124) (S210).
단계(S210)의 이전 단계에서 관제 프로그램(124)이 인증 서버(20)로부터 사용 승인 데이터를 수신하는 단계를 더 포함할 수 있다. 관제 프로그램(124)은 인증 서버(20)로부터 사용 승인 데이터를 수신할 경우, 펌웨어(142)로 주기적으로 토글 신호를 전송할 수 있다.In the step preceding step S210, the control program 124 may further include receiving use approval data from the authentication server 20. When the control program 124 receives use approval data from the authentication server 20, it may periodically transmit a toggle signal to the firmware 142.
다음으로, 보호 대상 응용 프로그램(122)이 확인되면 관제 프로그램(124)에서 메인보드(140)의 펌웨어(142)에 토글 신호를 전송한다(S220).Next, when the application to be protected 122 is confirmed, the control program 124 transmits a toggle signal to the firmware 142 of the main board 140 (S220).
다음으로, 펌웨어(142)에서 관제 프로그램(124)으로부터 토글 신호가 주기적으로 수신되는지 판단한다(S230).Next, the firmware 142 determines whether a toggle signal is periodically received from the control program 124 (S230).
다음으로, 펌웨어(142)는 토글 신호가 주기적으로 수신되지 않는 경우, 하드웨어 성능을 저하시킨다(S240).Next, the firmware 142 degrades hardware performance when the toggle signal is not received periodically (S240).
다시 말해, 펌웨어(142)는 보호 대상 응용 프로그램(122)이 삭제되어 관제 프로그램(124)이 토글 신호를 전송하지 못하는 경우 또는 관제 프로그램(124)이 삭제되어 토글 신호를 전송하지 못하는 경우, 하드웨어의 성능을 제한할 수 있다. 예시적으로, 펌웨어(142)는 컴퓨팅 장치(100)에 포함된 디스플레이의 밝기를 어둡게 조절하거나, 디스플레이 화면의 온/오프를 반복하여 출력하여 깜빡이거나, 컴퓨팅 장치에 포함된 스피커를 통해 경고음을 출력할 수 있다.In other words, the firmware 142 is the hardware's This may limit performance. For example, the firmware 142 dims the brightness of the display included in the computing device 100, repeatedly turns the display screen on and off to blink, or outputs a warning sound through a speaker included in the computing device. can do.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. One embodiment of the present invention may also be implemented in the form of a recording medium containing instructions executable by a computer, such as program modules executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. Additionally, computer-readable media may include computer storage media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described with respect to specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the present invention described above is for illustrative purposes, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical idea or essential features of the present invention. will be. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as single may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.
100 : 컴퓨팅 장치
110 : 통신 모듈
120 : 메모리
122 : 응용 프로그램
124 : 관제 프로그램
130 : 프로세서
140 : 메인보드
142 : 펌웨어
20 : 인증 서버100: computing device
110: communication module
120: memory
122: Application
124: Control program
130: processor
140: main board
142: firmware
20: Authentication server
Claims (10)
보호 대상 응용 프로그램과 상기 보호 대상 응용 프로그램의 설치 여부를 모니터링하는 관제 프로그램이 설치된 메모리;
상기 보호 대상 응용 프로그램과 관제 프로그램을 실행하는 프로세서 및
상기 관제 프로그램으로부터 토글신호를 전송받는 메인보드의 펌웨어;를 포함하고,
상기 관제 프로그램은 상기 보호 대상 응용 프로그램의 설치가 확인된 경우 상기 펌웨어로 주기적으로 토글신호를 전송하고,
상기 펌웨어는 상기 관제 프로그램으로부터 주기적으로 토글 신호를 수신하지 못하는 경우, 상기 컴퓨팅 장치에 포함된 디스플레이의 밝기를 어둡게 조절하거나, 상기 디스플레이의 화면의 온/오프를 반복하여 출력을 깜빡임에 따라 상기 컴퓨팅 장치에 포함된 하드웨어의 성능을 제한하는 것인, 컴퓨팅 장치.In a computing device for preventing software neutralization,
A memory in which a protection target application and a control program that monitors whether the protection target application is installed are installed;
A processor that executes the protected application and control program, and
It includes firmware of the main board that receives a toggle signal from the control program,
The control program periodically transmits a toggle signal to the firmware when installation of the application to be protected is confirmed,
When the firmware does not periodically receive a toggle signal from the control program, the firmware dims the brightness of the display included in the computing device, or repeatedly turns the screen of the display on and off to blink the output, thereby controlling the computing device. A computing device that limits the performance of hardware included in a computing device.
상기 펌웨어는 읽기 전용(read-only)으로서 사용자가 임의로 삭제 또는 수정할 수 없는 것을 특징으로하는 것인, 컴퓨팅 장치.According to paragraph 1,
A computing device, wherein the firmware is read-only and cannot be arbitrarily deleted or modified by a user.
상기 펌웨어는 상기 보호 대상 응용 프로그램이 삭제되어 상기 관제 프로그램이 토글 신호를 전송하지 못하는 경우 또는 상기 관제 프로그램이 삭제되어 상기 토글 신호를 전송하지 못하는 경우, 상기 하드웨어의 성능을 제한하는 것인, 컴퓨팅 장치.According to paragraph 1,
The firmware is a computing device that limits the performance of the hardware when the control program fails to transmit the toggle signal because the application to be protected is deleted or when the control program is deleted and the toggle signal cannot be transmitted. .
상기 펌웨어는 상기 컴퓨팅 장치에 포함된 스피커를 통해 경고음을 출력하여, 상기 하드웨어의 성능을 제한하는 것인, 컴퓨팅 장치.According to paragraph 1,
The firmware outputs a warning sound through a speaker included in the computing device, thereby limiting the performance of the hardware.
상기 관제 프로그램은 외부 인증 서버와 통신하여, 상기 인증 서버로부터 사용 승인 데이터를 수신할 경우, 상기 펌웨어로 주기적으로 토글 신호를 전송하는 것인, 컴퓨팅 장치.According to paragraph 1,
The control program communicates with an external authentication server and periodically transmits a toggle signal to the firmware when receiving use approval data from the authentication server.
(a) 관제 프로그램에 의해 보호 대상 응용 프로그램의 설치여부를 확인하는 단계;
(b) 보호 대상 응용 프로그램의 설치가 확인되면 상기 관제 프로그램에서 메인보드의 펌웨어에 토글 신호를 전송하는 단계;
(c) 상기 펌웨어가 상기 관제 프로그램으로부터 토글 신호를 주기적으로 수신하는지 여부를 판단하는 단계; 및
(d) 상기 토글 신호가 주기적으로 수신되지 않는 경우, 하드웨어 성능을 제한하기 위해 상기 컴퓨팅 장치에 포함된 디스플레이의 밝기를 어둡게 조절하거나, 상기 디스플레이의 화면의 온/오프를 반복하여 출력을 깜빡이는 단계;를 포함하는, 소프트웨어 무력화 방지 방법In a method of preventing software disabling of a computing device,
(a) Checking whether the application to be protected is installed by the control program;
(b) transmitting a toggle signal from the control program to the firmware of the motherboard when installation of the application to be protected is confirmed;
(c) determining whether the firmware periodically receives a toggle signal from the control program; and
(d) If the toggle signal is not received periodically, dimming the brightness of the display included in the computing device to limit hardware performance, or blinking the output by repeatedly turning the screen of the display on and off Methods for preventing software disabling, including ;
상기 관제 프로그램이 인증서버로부터 사용 승인 데이터를 수신하는 단계;를 더 포함하고,
상기 관제 프로그램은 인증 서버로부터 사용 승인 데이터를 수신할 경우, 상기 펌웨어로 주기적으로 토글 신호를 전송하는 것인, 소프트웨어 무력화 방지 방법.According to clause 6,
It further includes a step of the control program receiving usage approval data from the authentication server,
A method for preventing software incapacitation, wherein the control program periodically transmits a toggle signal to the firmware when it receives use approval data from the authentication server.
상기 (d) 단계는 상기 보호 대상 응용 프로그램이 삭제되어 상기 관제 프로그램이 토글 신호를 전송하지 못하는 경우 또는 상기 관제 프로그램이 삭제되어 상기 토글 신호를 전송하지 못하는 경우, 상기 하드웨어의 성능을 제한하는 것인, 소프트웨어 무력화 방지 방법.According to clause 6,
The step (d) limits the performance of the hardware when the control program cannot transmit the toggle signal because the application to be protected is deleted or when the control program cannot transmit the toggle signal because the application is deleted. , how to prevent software from being disabled.
상기 (d) 단계는 펌웨어는 상기 하드웨어의 성능을 제한하기 위해 상기 컴퓨팅 장치에 포함된 스피커를 통해 경고음을 출력하는 것인, 소프트웨어 무력화 방지 방법.According to clause 6,
In step (d), the firmware outputs a warning sound through a speaker included in the computing device to limit the performance of the hardware.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210190671A KR102658239B1 (en) | 2021-12-29 | 2021-12-29 | Computing device to prevent disabling software |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210190671A KR102658239B1 (en) | 2021-12-29 | 2021-12-29 | Computing device to prevent disabling software |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20230100964A KR20230100964A (en) | 2023-07-06 |
| KR102658239B1 true KR102658239B1 (en) | 2024-04-18 |
Family
ID=87185667
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020210190671A Active KR102658239B1 (en) | 2021-12-29 | 2021-12-29 | Computing device to prevent disabling software |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102658239B1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101008939B1 (en) * | 2010-08-09 | 2011-01-18 | 올플러스주식회사 | Firmware-based data deletion prevention system and method |
| KR101586991B1 (en) * | 2014-10-23 | 2016-01-20 | 플러스기술주식회사 | Method, control server and computer recording readable medium for preventing from deleting embedded mobile application |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6983375B2 (en) * | 2001-04-13 | 2006-01-03 | Ge Medical Technology Services, Inc. | Method and system to grant indefinite use of software options resident on a device |
| KR20120067136A (en) | 2010-12-15 | 2012-06-25 | 삼성전자주식회사 | Electronic device and method for prevent deleting file |
| KR101753810B1 (en) * | 2015-11-23 | 2017-07-05 | (주)케이사인 | Control apparatus for mobile apparatus and control system having the control apparatus |
-
2021
- 2021-12-29 KR KR1020210190671A patent/KR102658239B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101008939B1 (en) * | 2010-08-09 | 2011-01-18 | 올플러스주식회사 | Firmware-based data deletion prevention system and method |
| KR101586991B1 (en) * | 2014-10-23 | 2016-01-20 | 플러스기술주식회사 | Method, control server and computer recording readable medium for preventing from deleting embedded mobile application |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20230100964A (en) | 2023-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12450630B2 (en) | Multi-mode point-of-sale device | |
| US12061930B2 (en) | Software defined silicon feature licensing | |
| US11321754B2 (en) | Configuring an electronic device based on a transaction | |
| US20150199882A1 (en) | Multi-mode point-of-sale device | |
| CN102984215A (en) | Technique to apply and share remote policies on mobile devices | |
| Medwed | Iot security challenges and ways forward | |
| US20150220736A1 (en) | Continuous Memory Tamper Detection Through System Management Mode Integrity Verification | |
| US20180041344A1 (en) | Systems and methods for storing administrator secrets in management controller-owned cryptoprocessor | |
| US20160065375A1 (en) | Dynamic integrity validation of a high level operating system | |
| US20080136605A1 (en) | Communication and filtering of events among peer controllers in the same spatial region of a sensor network | |
| US10019577B2 (en) | Hardware hardened advanced threat protection | |
| US9659171B2 (en) | Systems and methods for detecting tampering of an information handling system | |
| KR0166654B1 (en) | Copyright management system of computer program | |
| KR102658239B1 (en) | Computing device to prevent disabling software | |
| US10872132B2 (en) | Systems and methods for distinguishing information handling system provider-supported information handling resource via system license | |
| US20180039797A1 (en) | Systems and methods for dynamic external input/output port screening | |
| US20160239285A1 (en) | Systems and methods for download and installation of drivers for unmanaged information handling resources | |
| US20220222349A1 (en) | Information handling system host to management controller attestation service channel | |
| US9667659B2 (en) | Determining security factors associated with an operating environment | |
| US12306784B2 (en) | Systems and methods for conditional enablement and host visibility for hot-addable and hot-pluggable devices | |
| US20230020605A1 (en) | Method and system for in-store purchase of security-tagged items while avoiding the point of sale | |
| US11989565B2 (en) | System and method to provide a single device type in customized products | |
| US20140047133A1 (en) | Method and System for Late Binding of Features | |
| US12474934B2 (en) | System context-controlled third-party firmware display and configuration by parsing pre-boot firmware application based on virtual forms representation (VFR) | |
| US20180012001A1 (en) | Mobile device security systems and methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |