CA2123001A1 - Computer memory protection - Google Patents
Computer memory protectionInfo
- Publication number
- CA2123001A1 CA2123001A1 CA 2123001 CA2123001A CA2123001A1 CA 2123001 A1 CA2123001 A1 CA 2123001A1 CA 2123001 CA2123001 CA 2123001 CA 2123001 A CA2123001 A CA 2123001A CA 2123001 A1 CA2123001 A1 CA 2123001A1
- Authority
- CA
- Canada
- Prior art keywords
- write
- controller
- address
- memory
- disabling
- 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.)
- Abandoned
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
A write protection device (10) prevents data from being written to selected portions of the hard disc of a computer. The write protection device is connected between the CPU of the computer and the controller for the hard drive. The write protection device monitors the read/write commands from the CPU to the controller. The address of each write command is compared with preselected address(es) stored in registers (12, 15) corresponding to the partition area and boot sector, and/or any other preselected address listed in a look-up table (160). In the event of a positive comparison, the write command is prevented from reaching the controller.
Individual sectors of the disc can be write protected while still permitting writing to other sectors, even within the same cylinder. Low level format commands can be detected and disabled separately from write commands.
Individual sectors of the disc can be write protected while still permitting writing to other sectors, even within the same cylinder. Low level format commands can be detected and disabled separately from write commands.
Description
2:~23 ~ ~1 ~93/Og495 PCT/AU92/OOS94 "COMPUTER MEMORY PROTECTION"
THIS INVENTION relates to computer security.
In particular, the invention is directed to a method and apparatus for preventing the unauthorised writlng of data , 5 to selected portions of a memory device, such as a hard disc of a computer. The invention ls particularly useful for preventing "virus" programmes becoming resident in a computer memory device.
BACKGROUND OF THE INVENTION
So-called "virus" computer programmes, or more simply "viruse~", are unwanted programmes which are designed to interfere with the normal or intended operation of a computer. Although some viruses may only be misohievous in their operation, many viruses are written with malicious intent to cause serious damage, for example by destroying valuable data on a hard disc or otherwise rendering such data irretrievable. The damage aaused by such computer viruses can be catastrophic.
Any virus, regardle~s of its effect, is a threat to the security of a computer system. Slgnificant costs and downtime are incurred in searching for, and eradlcating, virus programme~ which may have ~ound their way into a computer memory, and replacing lost data and programmes. With the increasing prevalence and variety of virus programmes in recent years, viruses pose a serlous threat to all computer systems, large or small.
Various virus detection techniques have been -~ propo ed r ' Such techniques are normalIy software-based.
~Typically, an anti-virus programme attempts to detect the prese~ce of a virus in a computer memory, such as a hard di~c, by searching for a characteristic string of binary digits which identifies the virus. However, such so~tware techniques are not effect~ve for all known viruses. Further, some virus programmes are known to "mutate" and alter their characteristic string,- thereby making such programmes ~irtually undetectable using conventional software techniques.
',~
':" .-', :
W093/09495 2 1 2 3 O O 1 PCT/AU92/0059~ 3 Another known anti-virus pro~ramme seeks to foil the intended operation of the virus by trapping interrupt commands. Howsver, this known programme is not always effective against some viruses, and completely ineffective against others.
U.S. patent no. 5,144,660 (and its equivalent Australian patent application no. 40095/89) describes a method of securing a computer against undesired write operations to, or raad operations from, a hard disc o~
the computer in order to protect the computer against vlruses. This method involves interposin~ logic circuitry between the disc controller and the read/write head(s) of the disc drive, decoding control signals between the controller and the disc drive and, in response to such decoding, controlling the write or read operations from the disc drive.
However, the protection technique tau~ht by U.S. E)atent no. 5,144,660 has several inherent disadvantages. First, since the logic c~rcuitry is interposed between the aontroller and the hard disc, it ls only possible to read or write protect whole cylinders on the disc. That is, it is not possible to differentiate between sectors within a particular cyl~nder on the disc. For example, cylinder 0 head 0 sector 1 of the disc normally contains a partition table and~the rest of the sectors are not used. The prior art system requires that all sectors on the cylinder be protected ev~n though only one sector is required to be ,, protected as a precaution against virus programm~s.
Further, cylinder 0 head 1 sector 1 is normally allocated to the master DOS boot record, while cylinder 0 head 1 sector 2 is normally the file allocation table. Although - it may be desired to protect the master DOS boot record but not the file allocation table, the prior art method and apparatus does not permit such differentiation within a cylinder. ~ -~
Secondly, the prior art method and apparatus ;~
~ .
:
~b g3/094g5 2 ~ 2 3 ~ O 1 PCTJAU92/00594 are not suitable for computer systems in which the disc controller and the read/write head(s) are formed as a single uni~.
Thirdly, since separate oables are provided for control and data signals, the protection apparatus of U.S. patent no. 5,144,660 requires a counter to track the particular cylinder being addr~ssed.
Fourthly, the prior art protection apparatus cannot differentiate between signals sent by the CPU to the disc controller, e.g. between write commands and "low level" format commands. As the write protection device was positioned between the controller and the disc, it was impossible to tell whether the controller was writing data or doing a low level format command as both give the same signals leav~ng the controller.
It is an obJect of the present invention to provlde improved apparatus and method for prè,venting unwanted information, data or programmes, such as viruses, being written to a data storage device of a computer.
SUMMARY OF THE INVENTION
In one broad form, the present lnvention provides apparatus for preventing the unwanted writing of data to selected portion(s) of a memory device of a computer havlng a CPU and a controller for the memory device, the apparatus comprising a write protectlon device having memory means containing the address(es) of selected portion(s) of the memory to which data ~ is not intended to be wrltten;
decoding means for reading the address of any write command to the memory device: -comparator means for comparing the write ~-~
address wlth the address~es) of the selected portion(s) and disabling means respons~ve to the output of the comparator means for disabling the write WOg3/09495 2l23aol P~/AU92/0059~l 4 :
command, ~ characterised in that the write protection device is $ connected between the CPU and the controller.
Preferably, the deaoding means also detects low S level format commands and these are stopped in the same manner as write command~ to protected sectors.
In another form, the present invention provides a method of preventing unwanted writing of data to selected portion(s) of a memory device of a computer having a CPU and a controller for the memory device, comprising the steps of (a) selec~ing the portion(s) of the memory device to which data iæ not lntended to be written and storing the address(es) of the portion(s), (b) reading the address of any write command :~
from th~ CPU to the controller, ;::~
(c) comparing the write address with the stored address(es) of the preselected portion(s), and -~
(d) disabling those write commands having an address correspondlng to the preselected portion(s), ;: ::
characterlsed in that staps (b)-(d3 are p~rformed by a write protection device connected between the CPU and the controller.
Preferably, low level format commands are also detected and disabled.
The term "data" is intended to include any . in~ormation or program which may be stored in electronic ~ :
or magnetic format in the memory device.
~ Typically, the~memory device is the hard disc of a computer, but may be any other sectored or -~
addressable non-volatile;~memory device, such as a laser disc, floppy disc, RAM, etc. A; "~'~
: :- As the memory is write protected by hardware means, the security system cannot be overwritten or circumvented by software~
By using hardware to -physically prevent the writing of data to preselected portions of the memory ~ g3/09495 21.~ 3 0 ~1 PCTtAU92/00594 device, those portions of the memory device effectively become read-only-memory, permitting data to be read but Yl not written thereto. Slnce all data will be prevented from being written to the preselected portions of the storage device, viruses will be thwarted, regardless of their particular composition or mode of operat~on, aæ
such viruses will not be able to become resident in the L preselected portions of the memory device.
A particular advantage of the present invention is that individual portions of the memory device corresponding to specific addresses can be- protected separat;ely. Thus, if the memory device i~ a hard disc, indiviclual sectors in a particular cylinder can be protect;ed. The logic circuitry detects ny attempt to write a par~icular sector by decoding the write address and comparing it with stored addresses of sectors to be write protected. If an attempt is made to write to a "protec:ted" sector, the write command wi~l be disabled, i.e. the write command will be prevented from reaching the controller or otherwise rendered ineffective.
¦ However, if an attempt i8 made to write to a seator which is not protected, the write command will be permitted to ~1 be executed even though that sector may be in the same cylinder as a protected sector.
A virus programme normally is transferred to the boot sector of a hard disc of the computer, typically ~ when the computer is switched on with a floppy disc ¦ (having the virus programme) inserted in a disc drive of the machine. In the preferred embodiment of this invention, the boot sector, and all the sectors in the partition area, are parmanently write barred. That is, these portions of the hard disc o* the computer would normally always be selected to prevent the writing of any data or programme thereto.
j 35 If other portions of the memory devlce are to be write barred, the addresses of these portions can be stored in a look-up table, e.g. in non-volatile memory.
J
,:
W093/09495 212 3 0 01 PCT/AU92/0059 ~
The address of any write command can then be compared also with the addresseæ in the look-up table to ascertain whether the write command will ~e carried out.
Since the write protection devioe of this invention is inserted between the CPU and the controller, ] it has the advantage of being able to selectively prevent other commands, such as low level format commands from being executed.
~ In order that the invention may be more fully ; 10 understood and put into practice, a preferred embodiment thereof will now be described with reference to the accompanying drawings.
~RIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a circuit diagram illustrating the write protection circuit of an embodiment of this invention connected to a computer ystem;
Fig. 2 is a clrcuit diagram of part of the write protection circuit of Fig. 1 for fixed memory portions; and Fig. 3 is a circuit diagram of part of the write protection device of Fig. 1 for selectable memory portions.
DESCRIPTION OF PREFERRED EMBODIMENT
The write protection circuit of the illustrated embodiment monitors all commands sent to the controller for the memory or storage device, Ly~ically a hard disc.
~These ~co ~ ands will move the read/write head or other mechanlsm to a partlcular portion of the storage device, e.g. to a particular sector of the hard disc. In particular, the write protection device detects write and format commands.
The write protection device tracks these sec~or commands and compares the write addresses with preselected addresses and/or addresses in a look-up table to determine whether a write command is permissible. If the write address corresponds to a preset sector or a sector listed in the look-up table, the write protection I ~g3/~9495 2 i 2 ~ O O 1 PCT/AU92/~0594 circuit disables the write command, e.g. by not pe~mitting the command to reach the storage device. Low level ormat commands are also disabled. All read ; commands however, are unaffected.
As illustrated in the drawings, particularly Fig. 1, the write protection device 10 can be mounted on a card and interconnected between the CPU and the aontroller of the hard d~sc (or other storage device) of a computer. Plug-in and/or piggy-back connections connected to the lnput and output of the card allow quick and simple in~tallatlon in the computer.
The wrlte protection device taps into the memory data bus to monitor the commands from the CPU to the controller for the hard disc. ~hese commands may include read, write, format, recalibrate, verify, reset and identify commands. The recalibrate, write, format and reset commands are detected. A sector within the hard disc is selected by writing values to registers in the hard drive controller to select a particular read/write head, a track or cylinder, and the required qector on that cylinder.
As shown more speaifically ~n Fig. 2, the commands on the data bus are tracked by an instruction decoder 11 which detects any write or low level format 2S commands and provides the appropriate output. The ~ commands are also fed to registers 12-15 which have been ; ~ preset to~detect preselected values. In the illustrated embodiment,~these values correspond to all æectors in the partitlon area, and the boot sector, of the hard disc.
(The partition area is cylinder 0, head 0 and all the æectors on that cylinder/head. The boot sector is I ~ ~
; cylinder 0, head 1, sector 1).
If the sector o~ the command address fed to registers 12-15 corresponds to one of the preset sector addresses representing the partition area or boot sector, the output of AND gate 2 or AND gate 3 will be high, and hence the output of OR gate 4 will also be high. The `:~
W093/09495 212 3 0 01 PCT/AU92/OOS~
output of th~ OR gate 4 is ANDed with the WRITE command output ~rom the instruction decoder 11 by AND gate 5.
The output of AND gate 5 is inverted by inverter 9, and ANDed with the system write command by ~ND gate 6, the output (HDIOW) of which is fed to the device controller. Thus, if the command address corresponds to one of the preset addresses in latches 12-15, the write command will be prevented from reaching the device controller~
If the output of AND gate 5 goes high, an alarm 8 is triggered by flip-flop 7 indicating that an attempt has been made to write to a protected area of the disc.
Once the alarm 8 has been triggered the output Q of flip-flop 7 is latched low and all write commands are stopped by AND gate 6 regardless of their drive or sector. This acts as a fail safe to prevent further damage once the proteated sectors are threatened.
Jumper switch J2 is connected to the input of AND gate 5 to effectively short out the write protection mechanism, e.g. lf lt is desired to write to the protected areas. The ~umper switch J2 may suitably be key operated.
~f other sectors of the hard disc are to be write barred, the head/cylinder/sector addregses of such sectors can be stored in a look-up table in non-volatile memory, such as an EPROM, EEPROM, or static RAM with battery backup, connected to the OR gate 4 via ~umper - switch Jl. - As il}ustrated in Fig. 3, a one Mbyte EEPROM
160 is provided ~to store the locations of the sectors to be write protected. These sectors can be varied by reprogramming the EEPROM 160.
Each command address is compared with the -addresses of the preselected sectors using suitable comparator means, such as a programmable logic array.
` 35 The output of the comparison is fed via J1 to the input of OR gate 4. Thus, if the command address correspo~ds to either the part~tion area or boot sector or any other i ~`~g3/09495 2 ~ 2 ~ O O ~ P~T/AV92/~05g4 :: g preselected addre-~s listed in the look-up table 160, the output of AND gate 5 will be high and the output of AND
gate 6 (to the controller) will be low, and hence the write command (IOW) from the CPU will be effectively ~ 5prevented from reaching the device controller.
; Bo~h the output of ~ND gate 5 and the FORMAT
;, C~MMAND output of decoder 11 are connected to OR gate 10, the output of which is connected to invert 9 and the alarm 8. In this manner, any low level format co,mmand to , 10any physical drive connected to the controller will be prevented from reaching the hard disc controller, and will also trigger the alarm 8. The write protection device of the illustrated embodiment can therefore protect against low level forma~ commands while still allowing write commands.
In summary, the write protection device of the illustrated embodiment monitors the read/write commands in parallel with the hard disc controller and will normally allow all commands to reach the controller.
However, when a write command is issued, and the read/write heads have been positioned to the restricted sectors, the write command will be prevented from I reaching the controller, thereby preventing writing to 3 the protected sectors. Low level format commands can 25also be blocked separately from write commands.
A particular advantags of the write protection - system is that as there is no overhead in time required il to check the validity of the write co,~mand~ there is no degradation in performance.
30As the write protection device is based wholly ,j on hardware, it can be adapted to any software opera~ing system.
The foregoing describes only one e,mbodiment of ~ the invention, and modifications which are obvious to 1 35those skilled in the art may be made thereto without departing from the scope of the invention as defined in the following claims. For example, although the write , ,' :i W093/09495 2 ~ ~ 3 0 ~ 1 PCT/~U92/O~g4~
. . ' ~1 protection device has been described with particular ;', reference to a hard disc, it can be used to protect any . ~emory system based on a seator type format.
;~ The decoder 11 can also be modified to detect :
~ 5 other selected commands to be disabled. ~ -'.., ' ~
: .: ., '',.'.' .
' ~"
. ~.
: , :
' : :
:
~: , ~: ,
THIS INVENTION relates to computer security.
In particular, the invention is directed to a method and apparatus for preventing the unauthorised writlng of data , 5 to selected portions of a memory device, such as a hard disc of a computer. The invention ls particularly useful for preventing "virus" programmes becoming resident in a computer memory device.
BACKGROUND OF THE INVENTION
So-called "virus" computer programmes, or more simply "viruse~", are unwanted programmes which are designed to interfere with the normal or intended operation of a computer. Although some viruses may only be misohievous in their operation, many viruses are written with malicious intent to cause serious damage, for example by destroying valuable data on a hard disc or otherwise rendering such data irretrievable. The damage aaused by such computer viruses can be catastrophic.
Any virus, regardle~s of its effect, is a threat to the security of a computer system. Slgnificant costs and downtime are incurred in searching for, and eradlcating, virus programme~ which may have ~ound their way into a computer memory, and replacing lost data and programmes. With the increasing prevalence and variety of virus programmes in recent years, viruses pose a serlous threat to all computer systems, large or small.
Various virus detection techniques have been -~ propo ed r ' Such techniques are normalIy software-based.
~Typically, an anti-virus programme attempts to detect the prese~ce of a virus in a computer memory, such as a hard di~c, by searching for a characteristic string of binary digits which identifies the virus. However, such so~tware techniques are not effect~ve for all known viruses. Further, some virus programmes are known to "mutate" and alter their characteristic string,- thereby making such programmes ~irtually undetectable using conventional software techniques.
',~
':" .-', :
W093/09495 2 1 2 3 O O 1 PCT/AU92/0059~ 3 Another known anti-virus pro~ramme seeks to foil the intended operation of the virus by trapping interrupt commands. Howsver, this known programme is not always effective against some viruses, and completely ineffective against others.
U.S. patent no. 5,144,660 (and its equivalent Australian patent application no. 40095/89) describes a method of securing a computer against undesired write operations to, or raad operations from, a hard disc o~
the computer in order to protect the computer against vlruses. This method involves interposin~ logic circuitry between the disc controller and the read/write head(s) of the disc drive, decoding control signals between the controller and the disc drive and, in response to such decoding, controlling the write or read operations from the disc drive.
However, the protection technique tau~ht by U.S. E)atent no. 5,144,660 has several inherent disadvantages. First, since the logic c~rcuitry is interposed between the aontroller and the hard disc, it ls only possible to read or write protect whole cylinders on the disc. That is, it is not possible to differentiate between sectors within a particular cyl~nder on the disc. For example, cylinder 0 head 0 sector 1 of the disc normally contains a partition table and~the rest of the sectors are not used. The prior art system requires that all sectors on the cylinder be protected ev~n though only one sector is required to be ,, protected as a precaution against virus programm~s.
Further, cylinder 0 head 1 sector 1 is normally allocated to the master DOS boot record, while cylinder 0 head 1 sector 2 is normally the file allocation table. Although - it may be desired to protect the master DOS boot record but not the file allocation table, the prior art method and apparatus does not permit such differentiation within a cylinder. ~ -~
Secondly, the prior art method and apparatus ;~
~ .
:
~b g3/094g5 2 ~ 2 3 ~ O 1 PCTJAU92/00594 are not suitable for computer systems in which the disc controller and the read/write head(s) are formed as a single uni~.
Thirdly, since separate oables are provided for control and data signals, the protection apparatus of U.S. patent no. 5,144,660 requires a counter to track the particular cylinder being addr~ssed.
Fourthly, the prior art protection apparatus cannot differentiate between signals sent by the CPU to the disc controller, e.g. between write commands and "low level" format commands. As the write protection device was positioned between the controller and the disc, it was impossible to tell whether the controller was writing data or doing a low level format command as both give the same signals leav~ng the controller.
It is an obJect of the present invention to provlde improved apparatus and method for prè,venting unwanted information, data or programmes, such as viruses, being written to a data storage device of a computer.
SUMMARY OF THE INVENTION
In one broad form, the present lnvention provides apparatus for preventing the unwanted writing of data to selected portion(s) of a memory device of a computer havlng a CPU and a controller for the memory device, the apparatus comprising a write protectlon device having memory means containing the address(es) of selected portion(s) of the memory to which data ~ is not intended to be wrltten;
decoding means for reading the address of any write command to the memory device: -comparator means for comparing the write ~-~
address wlth the address~es) of the selected portion(s) and disabling means respons~ve to the output of the comparator means for disabling the write WOg3/09495 2l23aol P~/AU92/0059~l 4 :
command, ~ characterised in that the write protection device is $ connected between the CPU and the controller.
Preferably, the deaoding means also detects low S level format commands and these are stopped in the same manner as write command~ to protected sectors.
In another form, the present invention provides a method of preventing unwanted writing of data to selected portion(s) of a memory device of a computer having a CPU and a controller for the memory device, comprising the steps of (a) selec~ing the portion(s) of the memory device to which data iæ not lntended to be written and storing the address(es) of the portion(s), (b) reading the address of any write command :~
from th~ CPU to the controller, ;::~
(c) comparing the write address with the stored address(es) of the preselected portion(s), and -~
(d) disabling those write commands having an address correspondlng to the preselected portion(s), ;: ::
characterlsed in that staps (b)-(d3 are p~rformed by a write protection device connected between the CPU and the controller.
Preferably, low level format commands are also detected and disabled.
The term "data" is intended to include any . in~ormation or program which may be stored in electronic ~ :
or magnetic format in the memory device.
~ Typically, the~memory device is the hard disc of a computer, but may be any other sectored or -~
addressable non-volatile;~memory device, such as a laser disc, floppy disc, RAM, etc. A; "~'~
: :- As the memory is write protected by hardware means, the security system cannot be overwritten or circumvented by software~
By using hardware to -physically prevent the writing of data to preselected portions of the memory ~ g3/09495 21.~ 3 0 ~1 PCTtAU92/00594 device, those portions of the memory device effectively become read-only-memory, permitting data to be read but Yl not written thereto. Slnce all data will be prevented from being written to the preselected portions of the storage device, viruses will be thwarted, regardless of their particular composition or mode of operat~on, aæ
such viruses will not be able to become resident in the L preselected portions of the memory device.
A particular advantage of the present invention is that individual portions of the memory device corresponding to specific addresses can be- protected separat;ely. Thus, if the memory device i~ a hard disc, indiviclual sectors in a particular cylinder can be protect;ed. The logic circuitry detects ny attempt to write a par~icular sector by decoding the write address and comparing it with stored addresses of sectors to be write protected. If an attempt is made to write to a "protec:ted" sector, the write command wi~l be disabled, i.e. the write command will be prevented from reaching the controller or otherwise rendered ineffective.
¦ However, if an attempt i8 made to write to a seator which is not protected, the write command will be permitted to ~1 be executed even though that sector may be in the same cylinder as a protected sector.
A virus programme normally is transferred to the boot sector of a hard disc of the computer, typically ~ when the computer is switched on with a floppy disc ¦ (having the virus programme) inserted in a disc drive of the machine. In the preferred embodiment of this invention, the boot sector, and all the sectors in the partition area, are parmanently write barred. That is, these portions of the hard disc o* the computer would normally always be selected to prevent the writing of any data or programme thereto.
j 35 If other portions of the memory devlce are to be write barred, the addresses of these portions can be stored in a look-up table, e.g. in non-volatile memory.
J
,:
W093/09495 212 3 0 01 PCT/AU92/0059 ~
The address of any write command can then be compared also with the addresseæ in the look-up table to ascertain whether the write command will ~e carried out.
Since the write protection devioe of this invention is inserted between the CPU and the controller, ] it has the advantage of being able to selectively prevent other commands, such as low level format commands from being executed.
~ In order that the invention may be more fully ; 10 understood and put into practice, a preferred embodiment thereof will now be described with reference to the accompanying drawings.
~RIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a circuit diagram illustrating the write protection circuit of an embodiment of this invention connected to a computer ystem;
Fig. 2 is a clrcuit diagram of part of the write protection circuit of Fig. 1 for fixed memory portions; and Fig. 3 is a circuit diagram of part of the write protection device of Fig. 1 for selectable memory portions.
DESCRIPTION OF PREFERRED EMBODIMENT
The write protection circuit of the illustrated embodiment monitors all commands sent to the controller for the memory or storage device, Ly~ically a hard disc.
~These ~co ~ ands will move the read/write head or other mechanlsm to a partlcular portion of the storage device, e.g. to a particular sector of the hard disc. In particular, the write protection device detects write and format commands.
The write protection device tracks these sec~or commands and compares the write addresses with preselected addresses and/or addresses in a look-up table to determine whether a write command is permissible. If the write address corresponds to a preset sector or a sector listed in the look-up table, the write protection I ~g3/~9495 2 i 2 ~ O O 1 PCT/AU92/~0594 circuit disables the write command, e.g. by not pe~mitting the command to reach the storage device. Low level ormat commands are also disabled. All read ; commands however, are unaffected.
As illustrated in the drawings, particularly Fig. 1, the write protection device 10 can be mounted on a card and interconnected between the CPU and the aontroller of the hard d~sc (or other storage device) of a computer. Plug-in and/or piggy-back connections connected to the lnput and output of the card allow quick and simple in~tallatlon in the computer.
The wrlte protection device taps into the memory data bus to monitor the commands from the CPU to the controller for the hard disc. ~hese commands may include read, write, format, recalibrate, verify, reset and identify commands. The recalibrate, write, format and reset commands are detected. A sector within the hard disc is selected by writing values to registers in the hard drive controller to select a particular read/write head, a track or cylinder, and the required qector on that cylinder.
As shown more speaifically ~n Fig. 2, the commands on the data bus are tracked by an instruction decoder 11 which detects any write or low level format 2S commands and provides the appropriate output. The ~ commands are also fed to registers 12-15 which have been ; ~ preset to~detect preselected values. In the illustrated embodiment,~these values correspond to all æectors in the partitlon area, and the boot sector, of the hard disc.
(The partition area is cylinder 0, head 0 and all the æectors on that cylinder/head. The boot sector is I ~ ~
; cylinder 0, head 1, sector 1).
If the sector o~ the command address fed to registers 12-15 corresponds to one of the preset sector addresses representing the partition area or boot sector, the output of AND gate 2 or AND gate 3 will be high, and hence the output of OR gate 4 will also be high. The `:~
W093/09495 212 3 0 01 PCT/AU92/OOS~
output of th~ OR gate 4 is ANDed with the WRITE command output ~rom the instruction decoder 11 by AND gate 5.
The output of AND gate 5 is inverted by inverter 9, and ANDed with the system write command by ~ND gate 6, the output (HDIOW) of which is fed to the device controller. Thus, if the command address corresponds to one of the preset addresses in latches 12-15, the write command will be prevented from reaching the device controller~
If the output of AND gate 5 goes high, an alarm 8 is triggered by flip-flop 7 indicating that an attempt has been made to write to a protected area of the disc.
Once the alarm 8 has been triggered the output Q of flip-flop 7 is latched low and all write commands are stopped by AND gate 6 regardless of their drive or sector. This acts as a fail safe to prevent further damage once the proteated sectors are threatened.
Jumper switch J2 is connected to the input of AND gate 5 to effectively short out the write protection mechanism, e.g. lf lt is desired to write to the protected areas. The ~umper switch J2 may suitably be key operated.
~f other sectors of the hard disc are to be write barred, the head/cylinder/sector addregses of such sectors can be stored in a look-up table in non-volatile memory, such as an EPROM, EEPROM, or static RAM with battery backup, connected to the OR gate 4 via ~umper - switch Jl. - As il}ustrated in Fig. 3, a one Mbyte EEPROM
160 is provided ~to store the locations of the sectors to be write protected. These sectors can be varied by reprogramming the EEPROM 160.
Each command address is compared with the -addresses of the preselected sectors using suitable comparator means, such as a programmable logic array.
` 35 The output of the comparison is fed via J1 to the input of OR gate 4. Thus, if the command address correspo~ds to either the part~tion area or boot sector or any other i ~`~g3/09495 2 ~ 2 ~ O O ~ P~T/AV92/~05g4 :: g preselected addre-~s listed in the look-up table 160, the output of AND gate 5 will be high and the output of AND
gate 6 (to the controller) will be low, and hence the write command (IOW) from the CPU will be effectively ~ 5prevented from reaching the device controller.
; Bo~h the output of ~ND gate 5 and the FORMAT
;, C~MMAND output of decoder 11 are connected to OR gate 10, the output of which is connected to invert 9 and the alarm 8. In this manner, any low level format co,mmand to , 10any physical drive connected to the controller will be prevented from reaching the hard disc controller, and will also trigger the alarm 8. The write protection device of the illustrated embodiment can therefore protect against low level forma~ commands while still allowing write commands.
In summary, the write protection device of the illustrated embodiment monitors the read/write commands in parallel with the hard disc controller and will normally allow all commands to reach the controller.
However, when a write command is issued, and the read/write heads have been positioned to the restricted sectors, the write command will be prevented from I reaching the controller, thereby preventing writing to 3 the protected sectors. Low level format commands can 25also be blocked separately from write commands.
A particular advantags of the write protection - system is that as there is no overhead in time required il to check the validity of the write co,~mand~ there is no degradation in performance.
30As the write protection device is based wholly ,j on hardware, it can be adapted to any software opera~ing system.
The foregoing describes only one e,mbodiment of ~ the invention, and modifications which are obvious to 1 35those skilled in the art may be made thereto without departing from the scope of the invention as defined in the following claims. For example, although the write , ,' :i W093/09495 2 ~ ~ 3 0 ~ 1 PCT/~U92/O~g4~
. . ' ~1 protection device has been described with particular ;', reference to a hard disc, it can be used to protect any . ~emory system based on a seator type format.
;~ The decoder 11 can also be modified to detect :
~ 5 other selected commands to be disabled. ~ -'.., ' ~
: .: ., '',.'.' .
' ~"
. ~.
: , :
' : :
:
~: , ~: ,
Claims (14)
1. Apparatus for preventing the unwanted writing of data to selected portion(s) of a memory device of a computer having a CPU and a controller for the memory device, the apparatus comprising a write protection device having memory means containing the address(es) of selected portion(s) of the memory to which data is not intended to be written;
decoding means for reading the address of any write command to the memory device;
comparator means for comparing the write address with the address(es) of the selected portion(s) and disabling means responsive to the output of the comparator means for disabling the write command, characterised in that the write protection device is connected between the CPU and the controller.
decoding means for reading the address of any write command to the memory device;
comparator means for comparing the write address with the address(es) of the selected portion(s) and disabling means responsive to the output of the comparator means for disabling the write command, characterised in that the write protection device is connected between the CPU and the controller.
2. Apparatus as claimed in claim 1, wherein the memory device is a hard disc drive.
3. Apparatus as claimed in claim 2, wherein the addresses of the partition area and the boot sector of the hard disc are preset in the memory means.
4. Apparatus as claimed in claim 3, wherein the memory means further comprises a look-up table and the addresses of further portions of the hard disc which are to be write protected are stored in the look-up table.
5. Apparatus as claimed in claim 1 wherein the decoding means also detects any format command and provides an output to the disabling means to render the command ineffective.
6. Apparatus as claimed in claim 1, wherein the write protection device further comprises alarm means responsive to the comparator means for signalling an attempt to write to a write protected portion of the memory device.
7. Apparatus as claimed in claim 6 wherein the alarm means is also triggered by the detection of a format command by the decoding means.
8. Apparatus as claimed in claim 1, further comprising user-operated means for disabling the operation of the write protection device.
9. Apparatus as claimed in claim 1, wherein the disabling means includes logic switch means for preventing the write command from reaching the controller.
10. A write protection circuit for use with a computer having a CPU, a memory, and controller means for the memory, the write protection circuit comprising means for disabling write commands to the controller means which are addressed to preselected portions of the memory, characterised in that the write protection circuit is adapted to be connected between the CPU and the controller means.
11. A write protection circuit as claimed in claim 10, comprising decoding means for reading the address of any write command from the CPU to the controller of the memory; comparator means for comparing the write address with stored address(es) corresponding to portion(s) of the memory intended to be write protected; and disabling means responsive to the output of the comparator means for disabling write commands addressed to the stored address(es).
12. A write protection circuit as claimed in claim further comprising means for disabling format commands.
13. A method of preventing unwanted writing of data to selected portion(s) of a memory device of a computer having a CPU and a controller for the memory device, comprising the steps of (a) selecting the portion(s) of the memory device to which data is not intended to be written and storing the address(es) of the portion(s), (b) reading the address of any write command from the CPU to the controller, (c) comparing the write address with the stored address(es) of the preselected portion(s), and (d) disabling those write commands having an address corresponding to the preselected portion(s), characterised in that steps (b)-(d) are performed by a write protection device connected between the CPU and the controller.
14. A method as claimed in claim 13 further comprising the steps of detecting and disabling a format command to the controller.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPK929791 | 1991-11-05 | ||
AUPK9297 | 1991-11-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2123001A1 true CA2123001A1 (en) | 1993-05-13 |
Family
ID=3775801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 2123001 Abandoned CA2123001A1 (en) | 1991-11-05 | 1992-11-05 | Computer memory protection |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0614553A4 (en) |
JP (1) | JPH07500935A (en) |
CA (1) | CA2123001A1 (en) |
WO (1) | WO1993009495A1 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5483649A (en) * | 1994-07-01 | 1996-01-09 | Ybm Technologies, Inc. | Personal computer security system |
GB9605338D0 (en) * | 1996-03-13 | 1996-05-15 | Arendee Ltd | Improvements in or relating to computer systems |
EP1063589A1 (en) * | 1999-06-25 | 2000-12-27 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Device for processing data and corresponding method |
GB2367386A (en) * | 2000-05-11 | 2002-04-03 | Time Computers Ltd | Security system for a hard disk |
US6629184B1 (en) * | 2000-05-18 | 2003-09-30 | Igt | Method and apparatus for inhibiting a selected IDE command |
US6738879B2 (en) | 2000-05-22 | 2004-05-18 | Seagate Technology Llc | Advanced technology attachment compatible disc drive write protection scheme |
US6813682B2 (en) * | 2000-09-29 | 2004-11-02 | Steven Bress | Write protection for computer long-term memory devices |
KR100880185B1 (en) | 2001-06-29 | 2009-01-28 | 시큐어 시스템스 리미티드 | Security system and method for computers |
US7165137B2 (en) | 2001-08-06 | 2007-01-16 | Sandisk Corporation | System and method for booting from a non-volatile application and file storage device |
DE10239975A1 (en) * | 2002-07-09 | 2004-01-22 | Pütter, Paul Stefan, Dr. | Fixed disk controller for a personal computer partitions a fixed disk into isolated areas, each assigned to a 'sub-personal computer' and fitted with its own operating system, programs and data |
US7082525B2 (en) | 2002-10-02 | 2006-07-25 | Sandisk Corporation | Booting from non-linear memory |
US7072211B2 (en) * | 2004-05-19 | 2006-07-04 | L-3 Integrated Systems Company | Systems and methods for write protection of non-volatile memory devices |
DE102005043043A1 (en) * | 2005-09-09 | 2007-03-22 | Fujitsu Siemens Computers Gmbh | A computer having at least one removable storage media attachment and a method for starting and operating a removable media computer |
WO2007104092A1 (en) * | 2006-03-15 | 2007-09-20 | Stargames Corporation Pty Limited | A method and arrangement for providing write protection for a storage device |
US7730253B2 (en) * | 2006-11-27 | 2010-06-01 | Research In Motion Limited | System and method for controlling access to a memory device of an electronic device |
EP1926037A1 (en) * | 2006-11-27 | 2008-05-28 | Research In Motion Limited | System and Method for Controlling Access to a Memory Device of an Electronic Device |
US8090904B2 (en) | 2008-02-01 | 2012-01-03 | Cru Acquisition Group, Llc | Reduced hard-drive-capacity detection device |
CN101996671B (en) * | 2010-11-25 | 2013-09-04 | 研祥智能科技股份有限公司 | Disc protection method, apparatus and device |
CN112148201A (en) * | 2019-06-26 | 2020-12-29 | 龙芯中科技术有限公司 | Data writing method, device and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2222899B (en) * | 1988-08-31 | 1993-04-14 | Anthony Morris Rose | Securing a computer against undesired write operations or from a mass storage device |
DE3901457A1 (en) * | 1989-01-19 | 1990-08-02 | Strahlen Umweltforsch Gmbh | METHOD FOR ADDRESS AREA MONITORING IN REAL-TIME DATA PROCESSING DEVICES |
GB2230881A (en) * | 1989-04-28 | 1990-10-31 | Christopher William Cowsley | Data storage protection |
GB9003890D0 (en) * | 1990-02-21 | 1990-04-18 | Rodime Plc | Method and apparatus for controlling access to and corruption of information in computer systems |
-
1992
- 1992-11-05 CA CA 2123001 patent/CA2123001A1/en not_active Abandoned
- 1992-11-05 JP JP5508045A patent/JPH07500935A/en active Pending
- 1992-11-05 WO PCT/AU1992/000594 patent/WO1993009495A1/en not_active Application Discontinuation
- 1992-11-05 EP EP19920923327 patent/EP0614553A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0614553A1 (en) | 1994-09-14 |
WO1993009495A1 (en) | 1993-05-13 |
JPH07500935A (en) | 1995-01-26 |
EP0614553A4 (en) | 1994-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2123001A1 (en) | Computer memory protection | |
US5144660A (en) | Securing a computer against undesired write operations to or read operations from a mass storage device | |
US6330648B1 (en) | Computer memory with anti-virus and anti-overwrite protection apparatus | |
US5657473A (en) | Method and apparatus for controlling access to and corruption of information in computer systems | |
US4947318A (en) | Data processing security system for automatically transferring software protection data from removable store into internal memory upon mounting of stores | |
US6684310B2 (en) | Access control method and storage device using same | |
CN107066311B (en) | Kernel data access control method and system | |
US5542044A (en) | Security device for a computer, and methods of constructing and utilizing same | |
JPH06266624A (en) | Protective device of memory and generation method of address | |
WO1999059049A1 (en) | Protected storage device for computer system | |
EP0436365B1 (en) | Method and system for securing terminals | |
US20040010702A1 (en) | Secure system firmware by disabling read access to firmware ROM | |
EP0695986B1 (en) | System and method for providing access protection on media storage devices | |
US20030233562A1 (en) | Data-protection circuit and method | |
EP0560277A1 (en) | Method and apparatus for controlling read and write of microcomputer hard disk | |
US5584029A (en) | Data protecting system for an echangeable storage medium comprising power supply control means, medium detection means and medium identifying means | |
GB2231418A (en) | Computer viruses | |
CN1053507C (en) | Method and device for controlling read and write of hard disc in computer | |
AU2923392A (en) | Computer memory protection | |
US20030131112A1 (en) | Computer firewall system | |
EP2883185B1 (en) | Apparatus and method for protection of stored data | |
JPS63317975A (en) | Right protecting mechanism for magnetic disk device | |
JP2020140689A (en) | Computer, operating system, and method | |
CN116910768B (en) | Attack defending method, system, device and medium | |
US20060112281A1 (en) | Anti virus device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Dead |