DE4225345A1 - Computer virus and sabotage program detecting method - using sequence of tests to identify if request for operation is valid and provides blocking and warning indication if not - Google Patents
Computer virus and sabotage program detecting method - using sequence of tests to identify if request for operation is valid and provides blocking and warning indication if notInfo
- Publication number
- DE4225345A1 DE4225345A1 DE19924225345 DE4225345A DE4225345A1 DE 4225345 A1 DE4225345 A1 DE 4225345A1 DE 19924225345 DE19924225345 DE 19924225345 DE 4225345 A DE4225345 A DE 4225345A DE 4225345 A1 DE4225345 A1 DE 4225345A1
- Authority
- DE
- Germany
- Prior art keywords
- warning
- sabotage
- result
- request
- function
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Abstract
Description
Im Hinblick auf die massive Verbreitung von Virus- und Sabotageprogrammen aller Art gewinnt die Tatsache an Bedeutung, daß die Systembereiche von Datenträgern, insbesondere Festplatten und Disketten, beim Betriebssystem MS-DOS gegen eine mutwillige Zerstörung nicht geschützt sind. Die bekannten Anti-Virus-Verfahren beschränken sich auf die Erkennung sogenannter Virus-Signaturen in Form bestimmter Zeichenketten in den Dateien und im Speicher. Der große Nachteil solcher Verfahren besteht darin, daß sie sich naturgemäß auf die schon bekannten Viren beschränken müssen. Insbesondere können sie das Anrichten von Schäden nicht verhindern, falls ein unbekannter Virus aktiv wird. Das Erkennen der Virus-Signaturen ist auch noch dadurch schwieriger geworden, daß inzwischen polymorphe Viren auftreten, also solche Viren, die ihre Signatur selbst ändern können.In view of the massive spread of virus and Sabotage programs of all kinds are gaining the fact Meaning that the system areas of data carriers, especially hard disks and floppy disks, in the operating system MS-DOS are not protected against deliberate destruction. The known anti-virus methods are limited to Detection of so-called virus signatures in the form of certain Strings in files and in memory. The great The disadvantage of such methods is that they are naturally have to be limited to the already known viruses. In particular, they cannot do damage prevent if an unknown virus becomes active. The Recognizing the virus signatures is another way of doing this become more difficult that now polymorphic viruses viruses that change their signature themselves can.
Zur Verdeutlichung der Gefahren, die das ungeschützte MS-DOS- System bedrohen, sei erläutert, daß bereits kurze Programmfragmente mit einer Gesamtlänge von beispielsweise 8 Bytes und einer Ausführungszeit von nur wenigen Millisekunden jeden Zugriff zur Festplatte eines Rechners und sogar das Hochziehen (Booten) des Betriebssystems verhindern können. Eine Restaurierung der auf diese Weise zerstörten Festplatte ist, wenn überhaupt, nur von Experten in mühevoller und zeitraubender Handarbeit möglich. To clarify the dangers that the unprotected MS-DOS System threat, it should be explained that already short Program fragments with a total length of, for example 8 bytes and an execution time of just a few Milliseconds each access to a computer hard drive and even prevent the operating system from pulling up (booting) can. A restoration of the destroyed in this way Hard drive, if any, is only made by experts in laborious and time-consuming manual work possible.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, ein Verfahren anzugeben, das Betriebssystem MS-DOS so zu schützen, daß Sabotageversuche auch mit unbekannten Virussignaturen zwar nicht verhindert werden, aber bei der Aktivierung keinen Schaden anrichten, insbesondere keine vitalen Systembereiche der Datenträger überschreiben und dadurch zerstören können. Die Lösung der Aufgabe ist im Patentanspruch 1 angegeben.The invention is accordingly based on the object Procedures to specify the MS-DOS operating system protect that attempts at sabotage even with unknown Virus signatures can not be prevented, but at Do no harm to activation, especially none overwrite vital system areas of the data carrier and can destroy it. The solution to the problem is in Claim 1 specified.
Der Erfindung liegt das Prinzip zugrunde, vor der Ausführung von potentiell gefährlichen Zugriffen auf Systembereiche von Datenträgern, die bisher vom Betriebssystem MS-DOS ohne jede Sicherheitsprüfung durchgeführt wurden, den Anwender zu warnen, falls keine offensichtlich systembedingte Notwendigkeit für einen solchen Zugriff besteht. Zur näheren Erläuterung des erfindungsgemäßen Verfahrens soll zunächst das MS-DOS-Betriebssystem im hier interessierenden Zusammenhang kurz erläutert werden.The invention is based on the principle, before execution of potentially dangerous access to system areas of Disks previously used by the MS-DOS operating system without any Security check have been carried out to the user warn if not obviously system-related There is a need for such access. To the closer Explanation of the method according to the invention should first the MS-DOS operating system in the one of interest here Context will be briefly explained.
MS-DOS bietet grundsätzlich zwei Gruppen von Programmierfunktionen, die der Manipulation von Datenträgern, also Festplatten oder Disketten, dienen können, nämlich dateiorientierte und sektororientierte Funktionen. Da ein Anwendungsprogramm im Normalfall ausschließlich dateiorientierte Operationen ausführen darf und ein Datenträger nur aus einzelnen Sektoren, Zylindern und Köpfen besteht, sorgt der MS-DOS-Kern bei jeder dateiorientierten Operation für die transparente Umsetzung des logischen Begriffs "Datei" in die physikalischen Werte "Sektor", "Zylinder" usw. Darüber hinaus muß der Kern bei jeder dateiorientierten Operation ebenfalls transparent auch den Systembereich verwalten. MS-DOS basically offers two groups of Programming functions that manipulate data carriers, so hard drives or floppy disks can serve, namely file-oriented and sector-oriented functions. There a Application program normally only may perform file-oriented operations and a Disks only from individual sectors, cylinders and heads exists, the MS-DOS core takes care of every file-oriented Operation for the transparent implementation of the logical Term "file" in the physical values "sector", "Cylinder" etc. In addition, the core must be in everyone file-oriented operation is also transparent Manage system area.
Ein Datenträger besteht, vereinfacht dargestellt, aus dem Systembereich und dem Datenbereich. Der Systembereich einer typischen Festplatte enthält, wiederum schematisch, einen Partition-Sektor, einen Boot-Sektor und zwei Kopien einer Dateizuordnungstabelle FAT (von File Allocation Table). Zum Systembereich lassen sich auch noch das Wurzel-(Root)- Verzeichnis sowie die drei zum Booten notwendigen Dateien IO.SYS, MSDOS.SYS und COMMAND.COM hinzurechnen. Unter dem Aspekt der Sicherheit ist folgendes zum Systembereich wichtig: Der Systembereich ist unabdingbar für die richtige Funktion des Systems, er ist relativ klein im Vergleich zum Datenbereich, und er sollte nur vom MS-DOS-Kern verwaltet und modifiziert werden. Die letzte Bedingung wird von MS-DOS selbst verletzt, da einige Systemfunktionen, z. B. das Formatieren von Datenträgern, das-Anlegen einer Partition usw. , vom Kern in externe Dienstprogramme verlegt wurden. Diese Dienstprogramme sind zwar formal Bestandteil von MS- DOS, nicht aber vom Kern, der also deren Aktivitäten nicht überwachen und kontrollieren kann. Der MS-DOS-Kern bietet deshalb einige sektororientierte Funktionen, um diesen Dienstprogrammen den Zugriff zum Systembereich zu ermöglichen. Im wesentlichen handelt es sich dabei um die Funktionen "Absolute Disk Read" und "Absolute Disk Write", d. h. die Interrupts 25 und 26 (in hexadezimaler Schreibweise).To put it simply, a data carrier consists of System area and the data area. The system area of a typical hard disk contains, again schematically, one Partition sector, a boot sector and two copies of one File allocation table FAT (from File Allocation Table). To the System area can also be the root Directory and the three files necessary for booting Add IO.SYS, MSDOS.SYS and COMMAND.COM. Under the The security aspect is the following about the system area important: The system area is essential for the right one Function of the system, it is relatively small compared to Data area, and it should only be managed and managed by the MS-DOS core be modified. The last condition is from MS-DOS hurt themselves because some system functions, e.g. B. that Formatting disks, creating a partition etc. have been moved from the core to external utilities. These utilities are formally part of MS DOS, but not from the core, so its activities are not can monitor and control. The MS-DOS core offers therefore some sectoral functions to this Utilities access to the system area too enable. Essentially, this is the "Absolute Disk Read" and "Absolute Disk Write" functions, d. H. Interrupts 25 and 26 (in hexadecimal Spelling).
Bei alleiniger Verwendung von dateiorientierten Funktionen lassen sich Schäden kaum anrichten. Ein Sabotageprogramm hat auf diese Weise keinen Zugriff zum Systembereich und könnte höchstens Dateien überschreiben oder löschen. Da dem Sabotageprogramm die Namen von Dateien und Verzeichnissen in der Regel unbekannt sind, müßte sich das Sabotageprogramm blind durch die Dateien hindurcharbeiten. Das wäre zeitaufwendig und auffällig. Außerdem könnte der geschädigte Anwender gelöschte Dateien sofort wiederherstellen, z. B. durch das Dienstprogramm "UNDELETE".If only file-oriented functions are used damage can hardly be caused. Has a sabotage program in this way no access to the system area and could at most overwrite or delete files. Because of that Sabotage program the names of files and directories in are generally unknown, the sabotage program would have to work blindly through the files. That would time consuming and eye-catching. In addition, the victim could User to restore deleted files immediately, e.g. B. through the "UNDELETE" utility.
Einen echten und nicht wiederherstellbaren Schaden kann ein Sabotageprogramm allein durch die sektororientierten Funktionen anrichten. Daher findet die Prüfung gemäß Merkmal a) im Anspruch 1 für diese Funktionen statt.Real and irreparable damage can be a Sabotage program solely through the sector-oriented Arrange functions. Therefore, the test takes place according to characteristic a) held in claim 1 for these functions.
Jeder Versuch, eine sektororientierte Funktion aufzurufen, ist sabotageverdächtig, sofern der Aufruf nicht von MS-DOS selbst, also vom Kern oder von bestimmten, zugelassenen Dienstprogrammen stammt, sondern von einem Applikationsprogramm. Daher die Prüfungen gemäß Verfahrensschritt a) und c) im Anspruch 1.Any attempt to call a sectoral function is suspected of sabotage, unless the call is from MS-DOS itself, i.e. from the core or from certain, approved Utilities comes from one Application program. Hence the tests according to Process steps a) and c) in claim 1.
Insgesamt gibt es bei den sektororientierten Funktionen nur sechs mögliche Angriffspunkte für Sabotageprogramme, nämlichOverall, there is only one sector-oriented function six possible targets for sabotage programs, namely
- a) durch Aufruf der Funktion "ABSOLUTE DISK WRITE" (Interrupt 26),a) by calling the "ABSOLUTE DISK WRITE" function (Interrupt 26),
- b) durch Aufruf von Festplatten- oder Disketten- Gerätetreibern,b) by calling up hard disk or floppy disk Device drivers,
- c) durch Aufruf der Funktion "EXECUTE DEVICE DRIVER REQUEST" (Interrupt 2f, Funktion 0802),c) by calling the function "EXECUTE DEVICE DRIVER REQUEST" (Interrupt 2f, function 0802),
- d) durch Aufruf der Funktion "GENERIC BLOCK DEVICE REQUEST" (Interrupt 21, Funktion 440d),d) by calling the "GENERIC BLOCK DEVICE REQUEST" function (Interrupt 21, function 440d),
- e) durch Aufruf der Funktion "ROM-BIOS Fixed Disk" (Interrupt 13) e) by calling the "ROM-BIOS Fixed Disk" function (Interrupt 13)
- f) durch direkten Sprung zur ursprünglichen ROM-Adresse von der Funktion "ROM-BIOS Fixed Disk", feststellbar durch die Funktion "SET DISK INTERRUPT HANDLER" (Interrupt 2f, Funktion 13).f) by jumping directly to the original ROM address of the "ROM-BIOS Fixed Disk" function, which can be determined by the "SET DISK INTERRUPT HANDLER" function (interrupt 2f, Function 13).
Diese möglichen Angriffspunkte, die eine vollständige Aufstellung darstellen, sind auch Gegenstand von Weiterbildungen der Erfindung.These possible points of attack that a complete Representation are also the subject of Developments of the invention.
Zur Durchführung des Verfahrensschrittes c) wird zunächst der Name des aufrufenden Programms festgestellt, beispielsweise bei zugelassenen Programmen "FORMAT" oder "FDISK". Da aber ein Sabotageprogramm ziemlich leicht auch den Programmnamen in der Programmumgebung modifizieren könnte, um ein erlaubtes Programm vorzutäuschen, wird mit Vorteil bei Aufrufen der Funktion "LOAD AND EXECUTE A PROGRAM", auch EXEC-Funktion genannt, der Name des auszuführenden Programms abgespeichert und mit dem Namen des aufrufenden Programms verglichen. Die beiden Namen müssen übereinstimmen, sonst wird die Warnung ausgegeben.To carry out process step c), the Name of the calling program determined, for example for approved programs "FORMAT" or "FDISK". Here but a sabotage program fairly easily also the program name in the program environment could modify to an allowed Pretending the program is advantageous when calling the "LOAD AND EXECUTE A PROGRAM" function, also EXEC function called, the name of the program to be executed saved and compared with the name of the calling program. The both names must match, otherwise the warning spent.
Bei Aufruf der Funktionen "ABSOLUTE DISK WRITE", "GENERIC BLOCK DEVICE REQUEST" und "ROM-BIOS FIXED-DISK" wird jeweils der zugehörige Interrupt, beispielsweise Interrupt 26 für "ABSOLUTE DISK WRITE" während der Initialisierungsphase umgeleitet, der Name des aufrufenden Programms geprüft und dann zum ursprünglichen Interrupt zurückgekehrt.When calling the functions "ABSOLUTE DISK WRITE", "GENERIC BLOCK DEVICE REQUEST "and" ROM-BIOS FIXED-DISK "will each the associated interrupt, for example interrupt 26 for "ABSOLUTE DISK WRITE" during the initialization phase redirected, the name of the calling program checked and then returned to the original interrupt.
Beim Aufruf eines Plattentreibers wird zunächst festgestellt, ob es sich um einen Schreibzugriff auf den Systembereich handelt. Um dann zu prüfen, ob der Zugriff vom Kern kommt, wird festgestellt, ob zur Zeit eine MS-DOS-Funktion ausgeführt wird und ob sich die Transferadresse, also die Adresse, aus der die Daten auf die Platte geschrieben werden sollen, auf einen Kern-Datenpuffer bezieht. Zur Durchführung wird dazu der Plattentreiberaufruf dadurch umgeleitet, daß bei der Initialisierung ein neuer Plattentreiber angelegt wird, der die Prüfungen ausführt und bei positivem Ausgang den bisherigen Plattentreiber zur Ausführung des Zugriffs aufruft.When calling up a disk driver, it is first determined whether it is write access to the system area acts. Then to check if the access comes from the core, it is determined whether there is currently an MS-DOS function is executed and whether the transfer address, i.e. the Address from which the data is written to the disk should refer to a core data buffer. To carry out the disk driver call is redirected to that by a new disk driver was created during initialization who carries out the tests and if the outcome is positive the previous disk driver for access calls.
Die Ausgabe einer Warnung umfaßt zweckmäßig die Ausgabe eines optisch auffallenden Warnfensters auf dem Bildschirm des Rechners. Dabei gibt das Warnfenster jeweils die Ursache für die Warnung und gegebenenfalls weitere Einzelheiten für Diagnosezwecke, beispielsweise den vollen Pfadnamen des Verursachers, die physikalische Adresse des beanstandeten Aufrufs, die Registerinhalte, den System- und den Anwender- Stack, usw. Außerdem kann das Warnfenster ein Menü enthalten, das dem Benutzer mehrere Möglichkeiten für die Reaktion auf die Warnung einschließlich einer Sperrung der jeweils ausgeführten Funktion gibt. Die Sperrung kann dabei einmalig für die gerade ausgeführte Funktion oder auch für die Dauer des gerade laufenden Programms erfolgen. Andererseits kann der Benutzer trotz der Warnung die jeweils ausgeführte Funktion einmalig oder auf Dauer zulassen.The output of a warning expediently includes the output of a optically striking warning window on the screen of the Calculator. The warning window gives the cause for the warning and, if necessary, further details for Diagnostic purposes, for example the full path name of the Causer, the physical address of the complaint Call, the register contents, the system and the user Stack, etc. In addition, the warning window can be a menu included, which gives the user several options for the Response to the warning including a blockage of the function performed there. The block can be once for the function currently being carried out or for the duration of the currently running program. On the other hand, the user can despite the warning Allow the function to be executed once or permanently.
Die für die Ausführung der Prüfung gemäß Verfahrensschritt c) zugelassenen Dienstprogramme stehen zweckmäßig in einer Liste zugelassener Programme wie folgt:The for the execution of the test according to procedural step c) approved utilities are conveniently on a list approved programs as follows:
CHKDSK, DEBUG, DISKCOPY, FDISK, FORMAT, MIRROR, RECOVER, REPLACE, SYS, UNDELETE, UNFORMAT.CHKDSK, DEBUG, DISKCOPY, FDISK, FORMAT, MIRROR, RECOVER, REPLACE, SYS, UNDELETE, UNFORMAT.
Zusätzlich hat der Benutzer die Möglichkeit, weitere Programme, die er für zuverlässig hält, in die Liste einzugeben, und zwar solche Programme, die ebenfalls einen sektororientierten Zugriff auf Systembereiche benötigen, beispielsweise das bekannte Programm "PC TOOLS".In addition, the user has the option of more Programs that he believes to be reliable are included in the list to enter, namely programs that also have a need sector-oriented access to system areas, for example the well-known program "PC TOOLS".
Claims (9)
- a) bei Aufruf von sektororientierten Funktionen wird geprüft, ob der Aufruf vom Kern des Betriebssystems ausgeht,
- b) bei positivem Ergebnis der Prüfung gemäß Schritt a) wird der Aufruf zugelassen,
- c) bei negativem Ergebnis der Prüfung gemäß Schritt a) wird geprüft, ob der Aufruf von einem zugelassenen Dienstprogramm kommt,
- d) bei positivem Ergebnis der Prüfung gemäß Schritt c) wird der Aufruf zugelassen,
- e) bei negativem Ergebnis der Prüfung gemäß Schritt c) wird die Ausführung gesperrt und dem Rechnerbenutzer eine Warnung ausgegeben.
- a) when calling sector-oriented functions, it is checked whether the call originates from the core of the operating system,
- b) if the result of the test in step a) is positive, the call is permitted,
- c) if the result of the test according to step a) is negative, it is checked whether the call comes from an approved utility,
- d) if the result of the test in step c) is positive, the call is permitted,
- e) if the result of the test in step c) is negative, execution is blocked and a warning is issued to the computer user.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19924225345 DE4225345A1 (en) | 1992-07-31 | 1992-07-31 | Computer virus and sabotage program detecting method - using sequence of tests to identify if request for operation is valid and provides blocking and warning indication if not |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19924225345 DE4225345A1 (en) | 1992-07-31 | 1992-07-31 | Computer virus and sabotage program detecting method - using sequence of tests to identify if request for operation is valid and provides blocking and warning indication if not |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4225345A1 true DE4225345A1 (en) | 1994-02-03 |
Family
ID=6464564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19924225345 Withdrawn DE4225345A1 (en) | 1992-07-31 | 1992-07-31 | Computer virus and sabotage program detecting method - using sequence of tests to identify if request for operation is valid and provides blocking and warning indication if not |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4225345A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7047369B1 (en) | 1997-09-25 | 2006-05-16 | Aladdin Knowledge Systems Ltd. | Software application environment |
-
1992
- 1992-07-31 DE DE19924225345 patent/DE4225345A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7047369B1 (en) | 1997-09-25 | 2006-05-16 | Aladdin Knowledge Systems Ltd. | Software application environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8065728B2 (en) | Malware prevention system monitoring kernel events | |
EP3274825B1 (en) | Method and execution environment for the secure execution of program instructions | |
US10664596B2 (en) | Method of malware detection and system thereof | |
CN101414341B (en) | Software self-protection method | |
DE69533005T2 (en) | Byte code program interpreter, method and arrangement with pretest of data type restrictions | |
US11507663B2 (en) | Method of remediating operations performed by a program and system thereof | |
DE60037606T2 (en) | Calculator with bootable safe program | |
DE69534867T2 (en) | Method and system for providing protected device drivers | |
DE112011103048B4 (en) | A method of authenticating a variety of data processing systems | |
DE60102555T2 (en) | PREVENTING MAP-ENABLED MODULAR MASKER ATTACKS | |
DE10225664A1 (en) | System and method for checking polling events with polling wrappers | |
DE102007046475A1 (en) | Monitor an execution pattern of a target agent on a VT-enabled system | |
EP1933248A1 (en) | Method for secure data processing on a computer system | |
US20090183261A1 (en) | Malware detection with taint tracking | |
DE202011111121U1 (en) | System for capturing complex malware | |
DE69914595T2 (en) | PROTECTED STORAGE MEDIUM FOR A COMPUTER SYSTEM | |
DE19635204A1 (en) | Exception security device for processor | |
DE112005001739T5 (en) | Tracking protected storage areas to speed up antivirus programs | |
CN106897121B (en) | It is a kind of based on virtualization technology without proxy client process protection method | |
DE10297433T5 (en) | Memory management system and method for providing memory access security based on a linear address | |
DE112013002012B4 (en) | Method of detecting malware in an operating system kernel | |
WO2017064710A1 (en) | Method of remediating a program and system thereof by undoing operations | |
DE19847677A1 (en) | Method and system for preventing unauthorized access to a computer program | |
DE10297686B4 (en) | A system and method for controlling access between individual devices within a computer system | |
DE602004008847T2 (en) | Detection and blocking of drive distribution worms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |