Computer systems may comprise multiple storage devices, some of which may be non-volatile storage devices, such as hard disk drives. The non-volatile storage devices may store sensitive information, such as an organization's confidential communications. When sensitive data on a non-volatile storage device is no longer needed, the storage device may be erased. In some computer systems, erasing data off of a storage device refers to marking the data as “deleted.” As such, the storage space associated with the “deleted” data is made available for reuse, but the deleted data remains on the device until overwritten. Securely and permanently erasing a non-volatile storage device may require software that permanently removes all of the data stored on the device. Unfortunately, such software may need to be loaded onto the computer system through a bootable media, such as a bootable CD-ROM. In addition, the developer of the software may be an untrusted third-party, thereby introducing uncertainty over the effectiveness of the removal procedure.
At least some of these issues are addressed by a computer-implemented method and system for erasing a non-volatile storage device. In some embodiments, the system comprises a processor, a non-volatile storage device coupled to the processor, a read-only memory (ROM) coupled to the processor and to the non-volatile storage device, and software stored in the ROM. The software is executable by the processor and configured to erase the non-volatile storage device by overwriting substantially all of the addressable locations of the non-volatile storage device while boot firmware is controlling the system.
For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . . ” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
In addition, the term “read-only memory” (ROM) is intended to encompass all types of read-only memory, such as programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable read-only memory (EEPROM), and flash EEPROM.
The following discussion is directed to various embodiments of the invention. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be exemplary of that embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.
The BIOS 202 also contains executable code 204 that comprises removal software 204. When executed by the processor 110, the removal software 204 is capable of erasing a non-volatile storage device, such as the hard disk drive 120. The removal software 204 erases the non-volatile storage device by overwriting all or substantially all of the addressable locations of the device. For example, in some embodiments the removal software 204 may overwrite 95% or more of the non-volatile storage device. By overwriting the addressable locations, the probability of retrieving the original data is reduced. The removal software 204 may be written in a low-level programming language, such as assembly, or any other suitable programming language. The removal software 204 is integrated with, and acts as a part of, the BIOS 202. Thus, any privileges granted to the BIOS 202, such as direct access to hardware components, are also granted to the removal software 204. The removal software may utilize the software routines of the BIOS 202, or native routines provided as part of the removal software 204, to erase a non-volatile storage device.
In all configurations (e.g.,
The removal software 204 erases a non-volatile storage device in accordance with at least two removal methods. The first removal method may “clear” the selected device by overwriting all addressable locations with a single arbitrary character. The second removal method may “sanitize” the selected device by overwriting all addressable locations on the drive with a character, the complement of the character, and then a random character. The second method may also verify that the sanitation completed successfully. The first and second removal methods are compliant with the Department of Defense (DoD) 5220.22-M standard, entitled “National Industrial Security Manual Operating Manual,” and incorporated herein by reference. As such, the terms “clear” and “sanitize” encompass the corresponding procedures and definitions as defined in the 5220.22-M standard and explained above.
Depending upon the non-volatile storage device selected to be erased (block 306), the computer system may or may not be able to properly boot. If the selected storage device contains critical operating system files, such as those stored in the boot partition, the computer system may not boot properly if the device is erased. As such, the removal software 204 may detect if the selected storage device contains operating system critical files. If the storage device does, the removal software 204 may prompt the user with a warming message of the possible impacts of the removal procedure.
Embodiments of the invention provide an efficient mechanism to securely erase a non-volatile storage device. No additional third-party software is needed, although such can be used as desired, and the non-volatile storage device is erased while the boot firmware, such as the BIOS or EFI, has control of the computer system. The removal methods may be fully compliant with the DoD 5220.22-M standard, and the removal software may be integrated with the boot firmware, being a permanent part of a manufactured computer system.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. For example, the removal software may erase one or more or all of a plurality of non-volatile storage devices. The removal software may function in a batch mode to erase the selected devices. It is intended that the following claims be interpreted to embrace all such variations and modifications.