WO2014007786A1 - System for monitoring an operating system startup - Google Patents

System for monitoring an operating system startup Download PDF

Info

Publication number
WO2014007786A1
WO2014007786A1 PCT/UA2012/000075 UA2012000075W WO2014007786A1 WO 2014007786 A1 WO2014007786 A1 WO 2014007786A1 UA 2012000075 W UA2012000075 W UA 2012000075W WO 2014007786 A1 WO2014007786 A1 WO 2014007786A1
Authority
WO
WIPO (PCT)
Prior art keywords
components
control
monitoring
startup
loading
Prior art date
Application number
PCT/UA2012/000075
Other languages
French (fr)
Russian (ru)
Inventor
Володымыр Евгэновыч ЦВИГУН
Original Assignee
Tsvihun Volodymyr Yevhenovych
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsvihun Volodymyr Yevhenovych filed Critical Tsvihun Volodymyr Yevhenovych
Publication of WO2014007786A1 publication Critical patent/WO2014007786A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • the proposed utility model relates to security systems of computer systems and, specifically, to systems for checking the operating system (OS) for the presence of malicious, potentially dangerous and undesirable components and is intended to solve the problem of efficient and prompt detection and elimination of facts of the presence of extraneous components in the OS.
  • OS operating system
  • computer technology is becoming increasingly common. It is becoming more accessible, functional, mobile, and users are becoming more experienced in working with computer equipment.
  • Such a high level of development can also create a number of threats associated, for example, with a weak level of security of digital data and the OS.
  • anti-rootkits and act as a defender. All known Detectors installed in the OS and playing the role of defender should be installed in the OS, which already possibly has installed third-party components. These components can be rootkits (from the English Rootkit), which can "hide” their presence in the OS. Under
  • rootkit means a set of utilities or a special kernel module, which includes a variety of functions to "trace" invasion of the system.
  • the rootkit is fixed in the operating system and hides the traces of its presence, hiding files, processes and the presence of the rootkit in the system. Thus, he can hide not only from the user, but also from the Detector. There is also the possibility that, having received more privileged rights, the rootkit may somehow damage the Detector itself and thereby spoil its performance.
  • the prior art method of protecting computers from the effects of virus programs (Ukrainian patent jNb 22370, MP G06F 11/00, publ. 04.25.2007, bull. ⁇ "5), which includes monitoring and identification of non-system applications, which additionally operations were introduced to select a strategy and establish a monitoring mode, scan the device’s disks and display the scan results with their subsequent analysis.
  • the disadvantage of this method is the use of a specially designed application that functions and scans the device’s drives for virus programs only in the Symbian OS 7.0 environment.
  • a well-known hardware antivirus (RF Patent N ° 92217, IPC G06N 99/00, published March 10, 2010) that prevents the spread of malware components (software) located between a personal computer and an information storage device containing at least two interfaces, one of which are connected to the system bus of the computer, and the other is connected to the storage medium, while being a transparent filter that provides data transfer between interfaces, the mentioned data is filtered by the central antivirus processor, which uses a random access memory, while the main work of the antivirus is to filter incoming data from the storage medium, and if a malware component is detected in them, then data is blocked, otherwise the data is transmitted to an interface that is connected to the system bus.
  • the disadvantage of this antivirus is that it only prevents the spread of malicious software components in computer systems, and does not check the operating system for malicious and unwanted components.
  • the well-known system for detecting and treating rootkits contains: a tool for creating the first image for the selected files of the operating system and registry, while this tool is executed with the ability to create the first image after loading the boot drivers, but before loading all the other drivers; means for permanently storing the first image obtained by said means for creating the first image; means for creating a second image for the selected files of the operating system and registry, which is created after loading all the remaining drivers; means for comparing the first image obtained from said permanent storage means and the second image obtained from the means for creating the second image; means for issuing a message to a user about a rootkit infection of a computer according to the comparison results received from said means of comparison, while the means for issuing a message is configured to issue this message in case of inequality of the first and second images.
  • This utility model is used only to detect rootkits, and not from all malicious programs that are already loaded into the operating system of a computer system, i
  • the utility model is based on the task of creating an operating system boot control system that provides full programmatic control of the launch of all OS components, including those that are not components of the operating system, and detects malicious, potentially dangerous, and undesirable components in the OS.
  • control tool designed to control the start-up of the execution of system components when loading the OS, while monitoring is based on lists of system components and their digital signatures and a list of trusted components and their SHA1 hashes; - a management tool associated with a control tool and designed to analyze the received data during the OS boot process and generate lists of trusted components, and also configured to dump file lists and their descriptors, dump dumps from the registry and to compare received dumps, in addition, a control tool it is additionally designed to search for components in the file system both by S.HA1 hash and by the component name template, and at the same time, the control tool is additionally designed for queries on the Internet t about the component.
  • the described utility model allows guaranteed control of the entire process of loading the OS, starting with the very first possible non-system component, comparing it with a list of system components and their digital signatures. This is achieved by two step loading of the OS. It should be noted that these steps are independent of each other, so they can be performed or not performed, or repeated as many times as necessary to determine the state of the OS on a computer system.
  • this module checks the boot sector of the MBR of the hard disk, the VBR / I.PL sectors of the file system, the boot loader of the OS, the digital signatures of the OS kernel, the initial boot of the Controller 2 module (Control Tool), the presence of the Controller 2 module and generates a final report of the results.
  • This report may have positive results or negative results. For example, when a warning is issued that the main boot record MBR (English master boot record, MBR) of the hard drive is unknown, then before continuing to boot the OS, you need to eliminate this problem. To do this, there are both utilities from the manufacturer of the OS, and other manufacturers with which this problem is solved. Or if the user himself installed a non-standard bootloader, then this warning can be ignored.
  • MBR English master boot record
  • Controller 1 detects that the registration of the boot primacy of Controller 2 is violated, then it itself corrects these deviations and registers this event in the report.
  • This step uniquely ensures that when you turn on the computer system from the moment you receive control from the BIOS (this is the first program that the computer uses immediately after switching on and has the task of recognizing devices on the computer system (processor, memory, disks, video, etc.) , check their health, initiate and transfer control to the OS loader (the OS loader, in turn, loads the OS kernel and modules (drivers) with the boot type into memory and transfers control to the OS kernel.
  • the OS kernel starts to work (initiate) previously loaded modules (drivers) with the boot type “boot”, and in this list to start the operation of Controller 2 is always the first and before the start of the operation of Controller 2 no outsider will get control.
  • Controller 1 ends with a reboot of the computer system for subsequent loading of the main OS, if there are no errors in the report, or if there are errors, then using auxiliary utilities of other manufacturers or the manufacturer of the OS, with which they eliminate errors.
  • the prompt “Press any key to boot from CD or DVD” appears again, but this time you do not need to press any button, so after 5 seconds.
  • the system will transfer control to boot from the hard drive.
  • a list of possible OS boot options appears. If one OS is installed on the computer system, then such a list is not displayed, but if you press the F8 button in the initial interval after turning on the computer system, this list will also be displayed. In our case, the list will be displayed in any case, because, even if there was only one entry, then the second such record will be created by the installer of the utility model - “OS Boot Control Systems” when installing it on a computer system.
  • This entry is different in that it has a name as the main operating system in which the claimed system is installed, but it has a specific substring in its name indicating that only when this OS boot option is selected, the second stage will be performed.
  • This choice allows you to more flexibly and safely analyze the main OS.
  • the main OS there are two boot options, this is the usual one, in which Controller 2 is inactive and does not perform any work. And the option is when Controller 2 is turned on and is actively doing its job.
  • Controller 2 upon detecting deviations, “emulates” (artificially reproduces) the presence of the necessary information in such keys, while noting such cases in the log file. The user has the opportunity to enter the correct data into such a key and restart the OS in normal mode and verify the correctness of his actions;
  • Controller 2 In our case, choosing the boot option with a specific substring in the name, we actually activate the second stage of the utility model, i.e. the activation of Controller 2 is carried out.
  • the first stage provides the first step in obtaining control from the kernel of the OS by Controller 2. So, Controller 2 is always loaded first in the list and, starting from this moment, compares all the components that are loaded onto the list with the list of OS components and their digital signatures, while rejecting all who are not on this list or who are not on the trusted list.
  • Controller 2 registers all the work done in a log file, which indicates the component itself, its size, access rights to it, its registration in the OS, if any. If the component belongs to the OS and it has a digital signature, then it also falls into this list, but its launch is not rejected, since in this case the computer system may interrupt its download and “freeze or fall into the blue screen”. Subsequently, such a component should be replaced with the original one from the OS distribution.
  • Controller 2 in the course of its work, keeps a log of events in which it registers all important events, from its point of view.
  • a log of events in which it registers all important events, from its point of view.
  • the table of events is reflected dynamically in the Console, and in turn, you can perform various actions in it for quick analysis, i.e. set filters to columns, sort by column, write to file, etc.
  • the second stage can be completed in two ways. The first
  • the second is when we add to the trusted list of the Console all the components that are used by the user on the computer system and remain in this mode.
  • OS components or components of trusted user programs For example, via the Internet using a previously unknown utzcroft ⁇ -day vulnerability that was not closed by updates to OS components or trusted user components.
  • Such a vulnerability cannot be “fixed” in the OS for presence in the system at the next OS reboots, since the proposed OS loading control system in any case prohibits everyone from creating / changing executable components, even if the system itself initiates changes.
  • the proposed OS load control system allows you to quickly solve several important problems:
  • Unwanted objects in a computer system are any module that is not an object of the system or a substituted object of the system, but it is not such in reality;

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

The claimed invention relates to computer system security systems and is intended to provide effective, swift identification and removal of unauthorized OS components. The system for monitoring an operating system startup comprises: a checking means for identifying the state of computer system components participating prior to commencement of an OS startup and subsequently transferring control upon commencement of the OS startup; a monitoring means for monitoring booting for the execution of system components during the OS startup, wherein monitoring is carried out based on lists of system components and the digital signatures thereof and on a list of trusted components and the SHA1 hashes thereof; and a control means, connected to the monitoring means and intended for analyzing data received in the process of the OS startup, for forming lists of trusted components, and also configured to create dumps of file lists and file descriptors and dumps from a catalog and to compare resulting dumps, wherein the control means is also intended for searching for components in a file system according to an SHA1 hash and to a component name template, and, in addition, the control means is also intended to inquire over the Internet about a component.

Description

Система контроля загрузки операционной системы  Operating system load control system
Предлагаемая полезная модель относится к системам безопасности компьютерных систем и, конкретно, к системам проверки операционной системы (ОС) на наличие вредоносных, потенциально опасных и нежелательных компонентов и предназначена для решения проблемы эффективного и оперативного выявления и устранения фактов присутствии посторонних компонентов в ОС. В современном мире компьютерная техника получает все большую распространенность. Она становится все более доступной, функциональной, мобильной, а пользователи становятся опытнее в работе с компьютерной техникой. Такой высокий уровень развития может создавать также и ряд угроз, связанных, например, со слабым уровнем защищенности цифровых данных и ОС. The proposed utility model relates to security systems of computer systems and, specifically, to systems for checking the operating system (OS) for the presence of malicious, potentially dangerous and undesirable components and is intended to solve the problem of efficient and prompt detection and elimination of facts of the presence of extraneous components in the OS. In the modern world, computer technology is becoming increasingly common. It is becoming more accessible, functional, mobile, and users are becoming more experienced in working with computer equipment. Such a high level of development can also create a number of threats associated, for example, with a weak level of security of digital data and the OS.
Безопасность данных на персональных компьютерах, мобильной технике, промышленных компьютерах является актуальной проблемой. Ежедневно появляется большое количество новых вредоносных программ, способных стать причиной компьютерных сбоев, потери и кражи персональных данных. Многие вредоносных программы модифицируются для того, чтобы их было сложнее обнаружить и обезвредить. Сейчас существует много различных программ (антивирусы, антируткит и др.) (Далее Детекторы), которые устанавливаются в ОС Data security on personal computers, mobile equipment, industrial computers is an urgent problem. Every day a large number of new malicious programs appear that can cause computer crashes, loss and theft of personal data. Many malicious programs are modified to make it more difficult to detect and neutralize. Now there are many different programs (antiviruses, anti-rootkit, etc.) (Further Detectors) that are installed in the OS
антируткиты и выполняют роль защитника. Все известные Детекторы, установленные в ОС и исполняющие роль защитника должны быть установлены в ОС, которая уже возможно имеет установленные сторонние компоненты. Этими компонентами могут быть руткиты (от англ. Rootkit), которые умеют «прятать» свое присутствие в ОС. Под anti-rootkits and act as a defender. All known Detectors installed in the OS and playing the role of defender should be installed in the OS, which already possibly has installed third-party components. These components can be rootkits (from the English Rootkit), which can "hide" their presence in the OS. Under
руткитом подразумевают набор утилит или специальный модуль ядра, который включает в себя разнообразные функции по «заметанию следов» вторжения в систему. Руткит закрепляется в операционной системе и скрывает следы своего пребывания, скрывая файлы, процессы и присутствие самого руткита в системе. Таким образом, он может спрятаться не только от пользователя, но и от Детектора. Существует также вероятность того, что, получив более привилегированные права, руткит может каким-то образом повредить сам Детектор и тем самым испортить его работоспособность. rootkit means a set of utilities or a special kernel module, which includes a variety of functions to "trace" invasion of the system. The rootkit is fixed in the operating system and hides the traces of its presence, hiding files, processes and the presence of the rootkit in the system. Thus, he can hide not only from the user, but also from the Detector. There is also the possibility that, having received more privileged rights, the rootkit may somehow damage the Detector itself and thereby spoil its performance.
Также, бывают случаи, что в ОС установлены сторонние компоненты, которые не являются опасными с точки зрения Детекторов, или вследствие действий самого пользователя был случайно установлен сторонний компонент, и Детектору было указано, что установленная программа легальна. Also, there are cases when third-party components are installed in the OS that are not dangerous from the point of view of the Detectors, or as a result of user actions, a third-party component was accidentally installed, and the Detector was told that the installed program was legal.
При этом с каждым годом все больше увеличиваются объемы жестких дисков, и для полной проверки ОС может уходить много времени - часы, а то и десятки часов. Таким образом, нужно решение, которое было бы лишено недостатков Детекторов и позволило бы в любой момент времени проверить ОС на наличие посторонних компонентов. Такое решение, не является заменителем Детекторов, а только ликвидирует их перечисленные выше недостатки, используя для этого другие решения и позволяет определить насколько повреждена компьютерная система, чтобы сделать вывод, нужно «лечить» компьютерную систему или восстановить ее с предыдущей резервной копии (если она есть) или устанавливать ОС на компьютерную систему заново. At the same time, the volume of hard disks is increasing more and more every year, and it can take a lot of time to complete an OS check - hours, or even tens of hours. Thus, a solution is needed that would be devoid of the shortcomings of the Detectors and would allow at any time to check the OS for the presence of extraneous components. Such a solution is not a substitute for Detectors, but only eliminates their shortcomings listed above, using other solutions and allows you to determine how damaged the computer system is, to make a conclusion, you need to "treat" the computer system or restore it from a previous backup (if there is one) ) or install the OS on a computer system again.
С уровня техники известен способ защиты компьютеров от воздействия программ-вирусов (патент Украины jNb 22370, МП G06F 11/00, опубл. 25.04.2007, бюл. Ν» 5), включающий в свой состав контроль и выявление несистемных приложений, в котором дополнительно введено операции по выбору стратегии и установлению режима мониторинга, сканированию дисков устройства и отражению результатов сканирования с последующим их анализом. Недостатком данного способа есть использование специально разработанного приложения, которое функционирует и сканирует диски устройства на наличие программ-вирусов только в среде ОС Symbian OS 7.0.  The prior art method of protecting computers from the effects of virus programs (Ukrainian patent jNb 22370, MP G06F 11/00, publ. 04.25.2007, bull. Ν "5), which includes monitoring and identification of non-system applications, which additionally operations were introduced to select a strategy and establish a monitoring mode, scan the device’s disks and display the scan results with their subsequent analysis. The disadvantage of this method is the use of a specially designed application that functions and scans the device’s drives for virus programs only in the Symbian OS 7.0 environment.
Известный аппаратный антивирус (Патент РФ N°92217, МПК G06N 99/00, опубл. 10.03.2010 г.), предотвращающий распространение компонентов вредоносного программного обеспечения (ПО), расположенный между персональным компьютером и накопителем информации, содержащий минимум два интерфейса, один из которых подключают к системной шине компьютера, а другой подключают к носителю информации, являющийся при этом прозрачным фильтром, обеспечивающим передачу данных между интерфейсами, фильтрация упомянутых данных осуществляется центральным процессором антивируса, который использует оперативное запоминающее устройство, при этом основная работа антивируса заключается в фильтрации поступающих данных с носителя информации, и если в них обнаружен компонент вредоносного ПО, то данные блокируют, иначе данные передают на интерфейс, который подключен к системной шине. Недостатком данного антивируса есть то, что он только предотвращает распространение компонентов вредоносного программного обеспечения в компьютерных системах, а не осуществляет проверку операционной системы на наличие вредоносных и нежелательных компонентов. A well-known hardware antivirus (RF Patent N ° 92217, IPC G06N 99/00, published March 10, 2010) that prevents the spread of malware components (software) located between a personal computer and an information storage device containing at least two interfaces, one of which are connected to the system bus of the computer, and the other is connected to the storage medium, while being a transparent filter that provides data transfer between interfaces, the mentioned data is filtered by the central antivirus processor, which uses a random access memory, while the main work of the antivirus is to filter incoming data from the storage medium, and if a malware component is detected in them, then data is blocked, otherwise the data is transmitted to an interface that is connected to the system bus. The disadvantage of this antivirus is that it only prevents the spread of malicious software components in computer systems, and does not check the operating system for malicious and unwanted components.
Известная система выявления и лечения руткитов (Патент РФ JN°77472, МПК G06F2 1 /22, опубл. 20. 10.2008 г.), которая содержит: средство для создания первого образа для выделенных файлов операционной системы и реестра, при этом это средство выполнено с возможностью создания первого образа после загрузки загрузочных драйверов, но до загрузки всех остальных драйверов; средство для постоянного хранения первого образа, полученного упомянутым средством для создания первого образа; средство для создания второго образа для выделенных файлов операционной системы и реестра, который создается после загрузки всех оставшихся драйверов; средство для сравнения первого образа, полученного из упомянутого средства постоянного хранения, и второго образа, полученного от средства создания второго образа; средство для выдачи сообщения пользователю о заражении руткитом компьютера по результатам сравнения, полученным от упомянутого средства сравнения, при этом средство для выдачи сообщения выполнено с возможностью выдачи этого сообщения в случае неравенства первого и второго образов. Данная полезная модель используется только для обнаружения руткитов, а не от всех вредоносных программ, которые уже загружены в операционную систему компьютерной системы, т.е. ее использование не позволяет проконтролировать именно загрузку загрузочных драйверов, выявить вредные, потенциально опасные и нежелательные компоненты в ОС. The well-known system for detecting and treating rootkits (RF Patent JN ° 77472, IPC G06F2 1/22, publ. 20. 10.2008), which contains: a tool for creating the first image for the selected files of the operating system and registry, while this tool is executed with the ability to create the first image after loading the boot drivers, but before loading all the other drivers; means for permanently storing the first image obtained by said means for creating the first image; means for creating a second image for the selected files of the operating system and registry, which is created after loading all the remaining drivers; means for comparing the first image obtained from said permanent storage means and the second image obtained from the means for creating the second image; means for issuing a message to a user about a rootkit infection of a computer according to the comparison results received from said means of comparison, while the means for issuing a message is configured to issue this message in case of inequality of the first and second images. This utility model is used only to detect rootkits, and not from all malicious programs that are already loaded into the operating system of a computer system, i.e. its use does not allow to control the loading of boot drivers, to identify harmful, potentially dangerous and undesirable components in the OS.
Наиболее близкого технического решения предложенной полезной модели в публичном доступе не обнаружено. The closest technical solution to the proposed utility model in public domain is not found.
В основу полезной модели поставлена задача создания системы контроля загрузки операционной системы, которая осуществляет полный программный контроль запуска всех компонентов ОС, включая те, которые не являются составными компонентами операционной системы, и обнаруживает вредоносные, потенциально опасные и нежелательные компоненты в ОС.  The utility model is based on the task of creating an operating system boot control system that provides full programmatic control of the launch of all OS components, including those that are not components of the operating system, and detects malicious, potentially dangerous, and undesirable components in the OS.
Поставленная задача решается тем, что предложена система The problem is solved by the fact that the proposed system
контроля загрузки операционной системы, которая содержит: control the loading of an operating system that contains:
- средство проверки, предназначенное для выяснения состояния компонентов компьютерной системы, участвующих до начала загрузки ОС и впоследствии, передающие управление на начало загрузки ОС;  - a verification tool designed to determine the status of computer system components involved prior to the start of OS loading and subsequently transferring control to the beginning of OS loading;
- средство контроля, предназначенное для выполнения контроля запуска на выполнение системных компонентов при загрузке ОС, при этом контроль осуществляется на основании списков системных компонентов и их цифровых подписей и списка доверенных компонентов и их хешей SHA1 ; - средство управления, связанное со средством контроля и предназначенное для анализа полученных данных в процессе загрузки ОС и формирование списков доверенных компонентов, и также настроенное для создания дампов списков файлов и их описателей, дампов из реестра и для сравнения полученных дампов, кроме того, средство управления дополнительно предназначено для поиска компонентов в файловой системе как по хешу S.HA1, так и по шаблону имени компонента и вместе с тем, средство управления дополнительно предназначено для запросов в сети Интернет о компоненте. - a control tool designed to control the start-up of the execution of system components when loading the OS, while monitoring is based on lists of system components and their digital signatures and a list of trusted components and their SHA1 hashes; - a management tool associated with a control tool and designed to analyze the received data during the OS boot process and generate lists of trusted components, and also configured to dump file lists and their descriptors, dump dumps from the registry and to compare received dumps, in addition, a control tool it is additionally designed to search for components in the file system both by S.HA1 hash and by the component name template, and at the same time, the control tool is additionally designed for queries on the Internet t about the component.
Описанная полезная модель позволяет гарантированно контролировать весь процесс загрузки ОС, начиная с самого первого возможного не системного компонента, сверяя его со списком системных компонентов и их цифровых подписей. Это достигается двух этапной загрузкой ОС. Следует отметить, что эти этапы независимые друг от друга, поэтому их можно выполнять или не выполнять, или повторять столько раз, сколько необходимо для определения состояния ОС на компьютерной системе.  The described utility model allows guaranteed control of the entire process of loading the OS, starting with the very first possible non-system component, comparing it with a list of system components and their digital signatures. This is achieved by two step loading of the OS. It should be noted that these steps are independent of each other, so they can be performed or not performed, or repeated as many times as necessary to determine the state of the OS on a computer system.
В описании полезной модели введены следующие определения: «Средство проверки» это Контроллер 1, «Средство контроля» - Контроллер 2, «Средство управления» - Консоль.  The following definitions are introduced in the description of the utility model: “Verification Tool” is Controller 1, “Means of Control” - Controller 2, “Management Tool” - Console.
Работа предложенной системы, после установки ее на компьютерную систему персонального компьютера, реализуется следующим образом. The work of the proposed system, after installing it on the computer system of a personal computer, is implemented as follows.
Первый этап. При включении компьютерной системы загрузка выполняется с загрузочного образа минимальных размеров, содержащего модуль Контроллер 1 (Средство проверки). Для этого подготавливают сменный носитель (например, диск CD, DVD или флешка), на который записывают загрузочный образ, внутри которого содержится модуль Контроллер 1 и указывают в настройках BIOS, что загрузку нужно выполнять в первую очередь со сменного носителя, если он во время загрузки подключен к компьютеру. Таким образом, если при включении компьютерной системы сменный носитель подключен и на экране выведено приглашение «Press any key to boot from CD or DVD», то нажимая любую кнопку фактически выполняем опцию «Загрузить со сменного носителя». Загрузившись, этот модуль сверяет загрузочный сектор MBR жесткого диска, сектора VBR/I.PL файловой системы, бут-загрузчик ОС, цифровые подписи ядра ОС, первичность загрузки модуля Контроллера 2 (Средство контроля), наличие модуля Контроллера 2 и выдает итоговый отчет результатов. First step. When you turn on the computer system, the download is performed from the boot image of the minimum size containing the module Controller 1 (Means of verification). To do this, prepare removable media (for example, a CD, DVD or flash drive) onto which the boot image is recorded, inside which the Controller 1 module is contained and indicate in the BIOS settings that the boot should be performed primarily from removable media if it is connected to the computer during boot. Thus, if when the computer system is turned on, removable media is connected and the prompt “Press any key to boot from CD or DVD” is displayed, then by pressing any button we actually execute the option “Download from removable media”. Once loaded, this module checks the boot sector of the MBR of the hard disk, the VBR / I.PL sectors of the file system, the boot loader of the OS, the digital signatures of the OS kernel, the initial boot of the Controller 2 module (Control Tool), the presence of the Controller 2 module and generates a final report of the results.
В этом отчете могут быть положительные результаты, так и отрицательные результаты. Например, когда выдается предупреждение, что главная загрузочная MBR запись (англ. master boot record, MBR) жесткого диска неизвестна, то прежде чем продолжить загрузку ОС, нужно ликвидировать эту проблему. Для этого существуют как утилиты от производителя ОС, так и других продуцентов, с помощью которых эта проблема решается. Или если пользователь сам установил не стандартный загрузчик, тогда это предупреждение можно игнорировать. This report may have positive results or negative results. For example, when a warning is issued that the main boot record MBR (English master boot record, MBR) of the hard drive is unknown, then before continuing to boot the OS, you need to eliminate this problem. To do this, there are both utilities from the manufacturer of the OS, and other manufacturers with which this problem is solved. Or if the user himself installed a non-standard bootloader, then this warning can be ignored.
В случае если Контроллер 1 при проверке обнаруживает, что нарушена регистрация первичности загрузки Контроллера 2, тогда он сам исправляет эти отклонения и регистрирует это событие в отчете. Этот этап однозначно гарантирует, что при включении компьютерной системы с момента получения управления от BIOS (это первая программа, которую компьютер использует сразу же после включения, и имеющая задачу - распознать устройства на компьютерной системе (процессор, память, диски, видео и др.), проверить их исправность, инициировать и передать управление загрузчику ОС (загрузчик ОС в свою очередь загружает в память ядро ОС и модули (драйвера) с типом загрузки «boot» и передает управление ядру ОС. Ядро ОС в свою очередь начинает запускать в работу (инициировать) загруженные ранее модули (драйвера) с типом загрузки «boot», и в этом списке на запуск в работу Контроллер 2 всегда первый и до начала работы Контроллера 2 никто посторонний не получит управление. If, during verification, Controller 1 detects that the registration of the boot primacy of Controller 2 is violated, then it itself corrects these deviations and registers this event in the report. This step uniquely ensures that when you turn on the computer system from the moment you receive control from the BIOS (this is the first program that the computer uses immediately after switching on and has the task of recognizing devices on the computer system (processor, memory, disks, video, etc.) , check their health, initiate and transfer control to the OS loader (the OS loader, in turn, loads the OS kernel and modules (drivers) with the boot type into memory and transfers control to the OS kernel. The OS kernel, in turn, starts to work (initiate) previously loaded modules (drivers) with the boot type “boot”, and in this list to start the operation of Controller 2 is always the first and before the start of the operation of Controller 2 no outsider will get control.
Работа Контроллера 1 завершается перезагрузкой компьютерной системы для последующей загрузки основной ОС, если нет ошибок в отчете, или, если есть ошибки, тогда используя вспомогательные утилиты других продуцентов или производителя ОС, с помощью которых устраняют ошибки.  The operation of Controller 1 ends with a reboot of the computer system for subsequent loading of the main OS, if there are no errors in the report, or if there are errors, then using auxiliary utilities of other manufacturers or the manufacturer of the OS, with which they eliminate errors.
Второй этап. При загрузке компьютерной системы снова возникнет приглашение «Press any key to boot from CD or DVD», но на этот раз не нужно нажимать любую кнопку, так через 5 сек. ожидания система передаст управление на загрузку с жесткого диска. На этом этапе появляется список возможных вариантов загрузки ОС. Если на компьютерной системе установлена одна ОС, то такой список не отображается, но если на начальном промежутке после включения компьютерной системы нажимать кнопку F8, то этот список также будет отображен. В нашем случае список отображаться будет в любом случае, потому что, даже если была только одна запись, то вторую такую запись создаст инсталлятор полезной модели — «Системы контроля загрузки ОС» при установке ее на компьютерную систему. Эта запись отличается тем, что имеет название как основная операционная система, в которую установлено заявленную систему, но имеет в своем названии специфическую подстроку, указывающую, что только при выборе этого варианта загрузки ОС будет выполняться второй этап. Такой выбор позволяет более гибко и безопасно анализировать основную ОС. Фактически для основной ОС есть два варианта загрузки, это обычный, при котором Контроллер 2 не активен и не выполняет никакой работы. И вариант, когда Контроллер 2 включен и активно выполняет свою работу. Second phase. When the computer system boots up, the prompt “Press any key to boot from CD or DVD” appears again, but this time you do not need to press any button, so after 5 seconds. The system will transfer control to boot from the hard drive. At this point, a list of possible OS boot options appears. If one OS is installed on the computer system, then such a list is not displayed, but if you press the F8 button in the initial interval after turning on the computer system, this list will also be displayed. In our case, the list will be displayed in any case, because, even if there was only one entry, then the second such record will be created by the installer of the utility model - “OS Boot Control Systems” when installing it on a computer system. This entry is different in that it has a name as the main operating system in which the claimed system is installed, but it has a specific substring in its name indicating that only when this OS boot option is selected, the second stage will be performed. This choice allows you to more flexibly and safely analyze the main OS. In fact, for the main OS there are two boot options, this is the usual one, in which Controller 2 is inactive and does not perform any work. And the option is when Controller 2 is turned on and is actively doing its job.
Такой выбор дает возможность: This choice makes it possible:
• использовать второй этап не постоянно, а по необходимости, например, когда возникают подозрения на наличие несвойственного поведения ОС;  • use the second stage not constantly, but if necessary, for example, when there are suspicions of the presence of unusual behavior of the OS;
• сравнивать работу ОС без работы Контроллера 2 и с ним, в случае, если выполняется «лечение» ОС, например, когда загружается • compare the operation of the OS without the operation of Controller 2 and with it, if the OS is “disinfected”, for example, when it is loaded
ОС, ей нужно чтобы в определенных ключах реестр имел «стандартные» значения обязательные для дальнейшей успешной загрузки. В таких случаях Контроллер 2 обнаружив отклонения «эмулирует» (искусственно воспроизводит) наличие необходимой информации в таких ключах, при этом отмечая такие случаи в лог- файл. Пользователь имеет возможность внести правильные данные в такой ключ и перезагрузить ОС в обычном режиме и проверить правильность своих действий; OS, it needs the registry to have “standard” values in certain keys that are required for further successful loading. In such cases, Controller 2, upon detecting deviations, “emulates” (artificially reproduces) the presence of the necessary information in such keys, while noting such cases in the log file. The user has the opportunity to enter the correct data into such a key and restart the OS in normal mode and verify the correctness of his actions;
• удалить установленную полезную модель - «Систему контроля загрузки ОС» с компьютерной системы, если в этом возникает необходимость. Хотя это можно сделать и при загрузке с включенным Контроллером 2, но в этом случае в Консоли нужно использовать опцию, которая позволила бы отключить работу Контроллера 2 и тогда можно обычными средствами ОС удалить заявленную систему с компьютерной системы. • remove the installed utility model - “OS loading control system” from the computer system, if this occurs necessity. Although this can be done when booting with Controller 2 turned on, in this case you need to use the option in the Console that would disable the operation of Controller 2 and then you can remove the claimed system from the computer system using the usual OS tools.
В нашем случае, избравши вариант загрузки со специфической подстрокой в названии, мы фактически активируем выполнение второго этапа полезной модели, т.е. осуществляется активация Контроллера 2. Как было сказано ранее, первый этап обеспечивает первичность получения управления от ядра ОС Контроллером 2. Итак, Контроллер 2 всегда загружается в списке первым и, начиная с этого момента, сверяет всех загружаемых на выполнение компонент со списком компонент ОС и их цифровыми подписями, при этом, отвергая всех кто не входит в этот список или кого нет в доверенном списке.  In our case, choosing the boot option with a specific substring in the name, we actually activate the second stage of the utility model, i.e. the activation of Controller 2 is carried out. As mentioned earlier, the first stage provides the first step in obtaining control from the kernel of the OS by Controller 2. So, Controller 2 is always loaded first in the list and, starting from this moment, compares all the components that are loaded onto the list with the list of OS components and their digital signatures, while rejecting all who are not on this list or who are not on the trusted list.
Всю проделанную работу Контроллер 2 регистрирует в лог-файл, в котором указывается сам компонент, его размеры, права доступа к нему, его регистрация в ОС, если таковая имеется. Если компонент принадлежит ОС и у него нарушена цифровая подпись, тогда он также попадает в этот список, но запуск его не отклоняется, так как в этом случае компьютерная система может прервать свою загрузку и «зависнуть или выпасть в синий экран». Впоследствии, такой компонент, должен быть заменен на оригинальный из дистрибутива ОС.  Controller 2 registers all the work done in a log file, which indicates the component itself, its size, access rights to it, its registration in the OS, if any. If the component belongs to the OS and it has a digital signature, then it also falls into this list, but its launch is not rejected, since in this case the computer system may interrupt its download and “freeze or fall into the blue screen”. Subsequently, such a component should be replaced with the original one from the OS distribution.
После загрузки ОС, с помощью средства управления (Консоли) можно пересмотреть лог работы Контроллера 2 и выполнить манипуляции с этими результатами. То есть, добавить отклоненные компоненты в доверенный список, проверить в Интернете их на опасность, если есть неуверенность в них, и если они вредны, то сначала, используя значения хеш SHA1 этого компонента, найти все такие же подобные компоненты (независимо, какие они будут иметь имена, но они все являются копиями искомого компонента) по всей компьютерной системе и только тогда удалить или переместить их в нужное место. Все действия в Консоли выполняются быстро и интуитивно понятно. Например, для внесения отклоненных компонентов в доверенный список, достаточно открыть список отклоненных компонентов, выделить те компоненты, которые хотим внести в доверенный список и через меню выбрать команду внесения компонентов в доверенный список. Соответственно, если перейдем в Консоли в список доверенных компонентов, то сможем увидеть эти компоненты. Теперь, если совершить перезагрузку ОС, то эти компоненты будут легитимными и соответственно будут загружены и выполнены. After loading the OS, using the management tool (Console), you can review the log of the work of Controller 2 and perform manipulations with these results. That is, add the rejected components to the trusted list, check them on the Internet for danger, if there is uncertainty in them, and if they are harmful, then first, using the SHA1 hash values of this component, find all the same similar components (regardless of what names they will have, but they are all copies of the component you are looking for) throughout the computer system and only then remove or move them to the right place. All actions in the Console are performed quickly and intuitively. For example, to add rejected components to a trusted list, simply open the list of rejected components, select the components that you want to add to the trusted list and select the command to add components to the trusted list through the menu. Accordingly, if we go to the Console in the list of trusted components, we can see these components. Now, if you reboot the OS, then these components will be legitimate and will accordingly be loaded and executed.
Также Контроллер 2 в процессе своей работы ведет лог событий, в котором регистрирует все важные, с его точки зрения события. Такие, как:  Also, Controller 2, in the course of its work, keeps a log of events in which it registers all important events, from its point of view. Such as:
- Изменение MBR IPL/VBR;  - Change MBR IPL / VBR;
- Запуск процесса; - Starting the process;
- Запуск на выполнение компонента процесса;  - Launching a process component;
- Остановка процесса;  - Stopping the process;
- Нарушение цифровой подписи компонента;  - Violation of the digital signature of the component;
- Попытка модификации выполняемого компонента;  - An attempt to modify the component being executed;
- Попытка удаления выполняемого компонента; - Attempting to delete an executable component;
- Попытка выполнения компонента с другого компонента;  - An attempt to execute a component from another component;
Запуск на выполнение компонента, который возможно зашифрован; - Запуск потока, который создан не стандартно; Starting a component that is possibly encrypted; - Launching a thread that is not standard created;
- Наличие, возможно, лишних записей в файле Hosts;  - The presence of possibly extra entries in the Hosts file;
- Наличие различий в параметрах регистрации стандартных сервисов/приложений ОС в реестре;  - The presence of differences in the registration parameters of standard OS services / applications in the registry;
- Наличие в реестре регистрации отладчика на запускаемое приложение в ключе «Image File Execution Options»; - The presence in the registry of the debugger registration for the launched application in the key "Image File Execution Options";
- Отсутствие системного файла запрашиваемого системой на запуск, а его физически нет;  - The absence of a system file requested by the system to run, but it is physically not;
- Наличие загрузки системного модуля, который в действительности не является таковым, а подменяет реальный системный, подменяя некоторый функционал системного модуля, а остальной функционал переправляет на настоящий системный, но переименованный файл; - The presence of loading a system module, which in reality is not such, but replaces the real system one, replacing some functionality of the system module, and redirects the rest of the functionality to a real system, but renamed file;
- Наличие у загруженных компонентов подписки на получение уведомлений о запуске процессов/загрузки исполняемых образов и/или создания потоков и/или изменениях реестра; - The presence of downloaded components subscription to receive notifications of the start of processes / loading of executable images and / or creation of threads and / or registry changes;
- Наличие изменения системного значения по умолчанию адреса функции lofCallDriverRoutine;  - The presence of a change in the system default value of the address of the function lofCallDriverRoutine;
- Наличие изменения системного значения по умолчанию адреса функции IofCompleteRequest.  - The presence of a change in the system default value of the address of the IofCompleteRequest function.
Все эти события значительно упрощают понимание того, что происходит в компьютерной системе и в совокупности с другой информацией позволяют точно очертить круг «подозрительных» компонентов, которые требуют пристального исследования своей деятельности. Таблица событий отражается динамично в Консоли, и в ней в свою очередь можно выполнять различные действия для быстрого анализа, т.е. устанавливать фильтры на колонки, сортировать по колонке, записать в файл и т.д. Работа второго этапа может завершаться двумя вариантами. ПервыйAll these events greatly simplify the understanding of what is happening in the computer system and, in combination with other information, make it possible to accurately outline the circle of “suspicious” components that require close examination of their activities. The table of events is reflected dynamically in the Console, and in turn, you can perform various actions in it for quick analysis, i.e. set filters to columns, sort by column, write to file, etc. The second stage can be completed in two ways. The first
- это когда было проверено загрузку ОС, выполнены действия по безопасности согласно предоставленной информации в Консоли и перезапуска ОС для последующего входа в основную ОС в обычном режиме, когда Контроллер 2 не активен. - this is when the OS boot was checked, security actions were performed according to the information provided in the Console and restarting the OS for subsequent login to the main OS in normal mode, when Controller 2 is not active.
Второй - это когда заносим в доверенный список Консоли все компоненты, которые используются пользователем на компьютерной системе и остаемся работать в таком режиме. В этом варианте скомпрометировать компоненты ОС или компоненты доверенных программ пользователя крайне сложно. Например, через Интернет с помощью какой-либо ранее неизвестной Ν-дня уязвимостью, которая не была закрыта обновлениями компонентов ОС или доверенных компонентов пользователя. Такая уязвимость не сможет «закрепиться» в ОС для присутствия в системе при следующих перезагрузках ОС, так как предложенная система контроля загрузки ОС в любом случае запрещает создавать/изменять исполняемые компоненты всем, даже если изменения будут инициировать сама система. За исключением, если внести в доверенный список компонент и ему указать, что он может выполнить «Изменение выполняемого компонента» и/или «Удаление исполняемого компонента». Даже если система была скомпрометирована только через память, без обращения на жесткий диск, то, достаточно перегрузить ОС и она опять будет без «уязвимостей».  The second is when we add to the trusted list of the Console all the components that are used by the user on the computer system and remain in this mode. In this option, it is extremely difficult to compromise OS components or components of trusted user programs. For example, via the Internet using a previously unknown дня-day vulnerability that was not closed by updates to OS components or trusted user components. Such a vulnerability cannot be “fixed” in the OS for presence in the system at the next OS reboots, since the proposed OS loading control system in any case prohibits everyone from creating / changing executable components, even if the system itself initiates changes. Except, if you add a component to the trusted list and indicate to it that it can perform “Change the executable component” and / or “Delete the executable component”. Even if the system was compromised only through memory, without accessing the hard drive, then it is enough to reboot the OS and it will again be without “vulnerabilities”.
Предлагаемая система контроля загрузки ОС позволяет быстро решать несколько важных задач: The proposed OS load control system allows you to quickly solve several important problems:
- Находить и блокировать в компьютерной системе нежелательные объекты. Нежелательные объекты компьютерной системы - это любой модуль, который не является объектом системы или подмененный объект системы, но он не является таковым в действительности; - Find and block unwanted objects in the computer system. Unwanted objects in a computer system are any module that is not an object of the system or a substituted object of the system, but it is not such in reality;
- Быстро оценить нанесенный ущерб компьютерной системе, для определения объема работ, что проще: лечить компьютерную систему или переустановить ее или восстановить из резервной опии.  - Quickly assess the damage to the computer system, to determine the amount of work, which is easier: treat the computer system or reinstall it or restore it from the backup option.

Claims

Формула Formula
Система контроля загрузки операционной системы (ОС), которая содержит: The control system for loading the operating system (OS), which contains:
- средство проверки, предназначенное для выяснения состояния компонентов компьютерной системы, участвующих до начала загрузки ОС и впоследствии, передающие управление на начало загрузки ОС;  - a verification tool designed to determine the status of computer system components involved prior to the start of OS loading and subsequently transferring control to the beginning of OS loading;
- средство контроля, предназначенное для выполнения контроля запуска на выполнение системных компонентов при загрузке ОС, при этом контроль осуществляется на основании списков системных компонентов и их цифровых подписей и списка доверенных компонентов и их хешей SHA1 ;  - a control tool designed to control the start-up of the execution of system components when loading the OS, while monitoring is based on lists of system components and their digital signatures and a list of trusted components and their SHA1 hashes;
- средство управления, связанное со средством контроля и предназначенное для анализа полученных данных в процессе загрузки ОС и формирование списков доверенных компонентов, и также настроенное для создания дампов списков файлов и их описателей, дампов из реестра и для сравнения полученных дампов, кроме того, средство управления дополнительно предназначено для поиска компонентов в файловой системе как по хешу SHA1 , так и по шаблону имени компонента и вместе с тем, средство управления дополнительно предназначено для запросов в сети Интернет о компоненте.  - a management tool associated with a control tool and designed to analyze the received data during the OS boot process and generate lists of trusted components, and also configured to dump file lists and their descriptors, dump dumps from the registry and to compare received dumps, in addition, a control tool it is additionally designed to search for components in the file system both by the SHA1 hash and by the template of the component name, and at the same time, the control tool is additionally designed for queries on the Internet t about the component.
PCT/UA2012/000075 2012-07-04 2012-08-09 System for monitoring an operating system startup WO2014007786A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
UAU201208196U UA76687U (en) 2012-07-04 2012-07-04 System for controlling operational system load
UAU201208196 2012-07-04

Publications (1)

Publication Number Publication Date
WO2014007786A1 true WO2014007786A1 (en) 2014-01-09

Family

ID=49882368

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/UA2012/000075 WO2014007786A1 (en) 2012-07-04 2012-08-09 System for monitoring an operating system startup

Country Status (2)

Country Link
UA (1) UA76687U (en)
WO (1) WO2014007786A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1679632A2 (en) * 2005-01-07 2006-07-12 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1679632A2 (en) * 2005-01-07 2006-07-12 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Trusted Computing.", PART II-CONCEPTS AND MECHANISMS., 2 July 2006 (2006-07-02) *
"UEFI Networking and Pre-OS Security.", INTEL TECHNOLOGY JOURNAL, vol. 15, no. 1, 2011 *

Also Published As

Publication number Publication date
UA76687U (en) 2013-01-10

Similar Documents

Publication Publication Date Title
KR102307534B1 (en) Systems and methods for tracking malicious behavior across multiple software entities
EP3039608B1 (en) Hardware and software execution profiling
US11782790B2 (en) Methods and systems for recognizing unintended file system changes
RU2691187C1 (en) System and methods for auditing a virtual machine
US7627898B2 (en) Method and system for detecting infection of an operating system
KR101647487B1 (en) Analysis system and method for patch file
US7669059B2 (en) Method and apparatus for detection of hostile software
US7921461B1 (en) System and method for rootkit detection and cure
US20130117006A1 (en) Simulated boot process to detect introduction of unauthorized information
US20070113062A1 (en) Bootable computer system circumventing compromised instructions
US8910283B1 (en) Firmware-level security agent supporting operating system-level security in computer system
US9396329B2 (en) Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage
US8495741B1 (en) Remediating malware infections through obfuscation
JP2014038596A (en) Method for identifying malicious executable
TW201506788A (en) Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware
KR101064164B1 (en) Kernel integrity inspection and the recovery method on linux kernel based smart platform
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
KR100745639B1 (en) Method for protecting file system and registry and apparatus thereof
US7620983B1 (en) Behavior profiling
RU2583714C2 (en) Security agent, operating at embedded software level with support of operating system security level
KR101311367B1 (en) Method and apparatus for diagnosing attack that bypass the memory protection
US8572742B1 (en) Detecting and repairing master boot record infections
Mahapatra et al. An online cross view difference and behavior based kernel rootkit detector
US9342694B2 (en) Security method and apparatus
Rutkowska Detecting windows server compromises with patchfinder 2

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12880351

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12880351

Country of ref document: EP

Kind code of ref document: A1