Field of the Invention
The invention described herein relates to information security and in particular relates to detecting access to memory media.
Background Art
Hard disk drives are found in most modern computers. Such devices are capable of storing enormous amounts of data including, inter alia, sensitive, proprietary, confidential or otherwise non-public information. Loss of hard disks or computers containing these devices can occur as a result of theft or negligence. Such loss can expose the hard drive data to unauthorized people or processes. This risk is particularly significant with respect to laptop, notebook, tablet and other forms of portable computers.
In the event that a lost or stolen computer containing a hard drive is subsequently recovered, it may be desirable to know whether the hard drive had been accessed while it was out of the owner's control. Such access may be indicative of a security breach. This information would be particularly relevant in highly sensitive contexts (e.g. government intelligence work or corporate intellectual property development).
Access may be detected if the hard drive was accessed by the computer in which it was installed (i.e., the host computer). Boot processes of current hard drives change file system metadata and record a variety of additional data, such as the date and time of the last shut down. Such events (e.g., start up, boot processing, and shut down) are detectable using widely available digital forensic tools and techniques. Currently, however, there is no forensic method available to detect whether or not a hard drive has been accessed using a read-only connection to the hard drive. Such access would leave no indication on the hard drive that it had been accessed after the last shut down is recorded.
There is a need, therefore, for a system and method that allow analysis to be performed on the activity of a hard disk drive in order to assess whether the hard disk has been accessed through a read-only connection.
Further embodiments, features, and advantages of the present invention, as well as the operation of the various embodiments of the present invention, are described below with reference to the accompanying drawings.
A preferred embodiment of the present invention is now described with reference to the figures, where like reference numbers indicate identical or functionally similar elements. Also in the figures, the leftmost digit of each reference number corresponds to the figure in which the reference number is first used. While specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the relevant art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the invention. It will be apparent to a person skilled in the relevant art that this invention can also be employed in a variety of other systems and applications.
The invention described herein can be used to determine whether a hard drive or other I/O device or port has been accessed through a read-only connection after the last recorded shut-down of the host computer in which the hard drive was last installed. In the case of an external hard drive, the invention can be used to determine whether the external hard drive has been accessed since its last known shut down.
An embodiment of the invention takes advantage of technology that detects events at a hard disk drive and compiles this information into activity information. One example of such a technology is a suite of drive diagnostic programs, or tools, called Self-Monitoring Analysis and Reporting Technology (SMART). This suite has been incorporated into the firmware of almost every hard drive manufactured since the late 1990s. Hard drive manufacturers incorporated this logic into their drives to act as an early warning system for impending drive problems. On a drive with SMART installed, the hard drive's integrated controller works with various sensors to monitor different aspects of the drive's performance, and uses this information to determine whether or not the drive is behaving normally. Both operating system developers and basic input output system (BIOS) developers include software that reads and interacts with the SMART data.
SMART includes a variety of diagnostic programs. Two of the diagnostic tools incorporated into SMART generate the Time Powered On and Power Cycle Count statistics, respectively. Similar to an odometer on an automobile, the Time Powered On is a running total of time that the hard drive has been powered on since origination of the drive. The Power Cycle Count represents a record of the number of times a hard drive has been powered on and off. The hard drive itself uses the SMART data to monitor the ‘health’ of the hard drive and makes the information available to the host upon request. For any actions beyond self-monitoring, it is up the host to request and analyze the data, and typically up to the user to take appropriate action. A program such as Symantec Corporation's Norton Utilities, for example, may initiate a SMART request, utilize the SMART data, and then notify the user of any potential problems.
An embodiment of the invention exploits SMART outputs, such as the Time Powered On and Power Cycle Count data, to provide both software and hardware manufacturers with the ability to produce tamper-evident products. Additional data generated by SMART may also be exploited to aid in determining evidence of tampering. Examples include the Power-Off Retract Count, which shows a count of the number of times the drive was powered down; the Start/Stop Count, which is a count of hard disk spindle start/stop cycles; and the Loaded Hours, which shows loading on a magnetic head's actuator caused by the general operating time counted while the actuator is in the operating position. Since the SMART specifications allow for manufacturer-specific attributes to be developed and stored, potentially many other factors may be brought to bear in determining evidence of tampering.
Note that in the illustrations and in the following text, an embodiment of the invention is described in which SMART is used to track and compile event information from a hard disk drive. Such an embodiment is exemplary in nature. In alternative embodiments, any technology that is functionally similar to SMART may be used. Moreover, the invention is not limited to analysis of hard drive activity. Other memory devices and other I/O devices or ports may alternatively be analyzed by embodiments of the invention.
Operation of an embodiment of the invention is illustrated generally in
SMART logic 130 then compiles event data 120 to create more usable information that is shown as compiled activity data 140. Compiled activity data 140 represents summary statistical information that is created by considering some or all of event data 120. Examples of compiled activity data 140 include the Time Powered On and Power Cycle Count. Both are derived from event data 120, which includes the time(s) at which the hard disk drive 110 is powered on and powered off, for example. Other examples of compiled activity data 140 can include the Power-Off Retract Count, the Start/Stop Count, and the Loaded Hours, all discussed above.
Compiled activity data 140 is made available to and read by collection logic 150. In an embodiment of the invention, collection logic 150 would, for example, read the Time Powered On and the Power Cycle Count from SMART logic 130. Collection logic 150 can be implemented as part of the microcode of hard disk drive 110. Alternatively, collection logic 150 can be implemented in complementary metallic oxide semiconductor (CMOS) in system code such as the BIOS or the extensible firmware interface (EFI).
Collection logic 150 then writes the compiled activity data 140 to a memory medium. The memory medium can be a reserved area of system memory, for example. In an alternative embodiment of the invention, the memory medium can be a location on hard disk drive 110 itself. In this latter case, the compiled activity data 140 could be stored, for example, in a reserved location of hard disk drive 110 and/or protected using a protective coding scheme such as encryption. In an embodiment of the invention, the compiled activity data could be logged in more than one of these locations, e.g., in both system memory and in a reserved hard drive location, for purposes of operational redundancy or security.
In an embodiment of the invention, the compiled activity data 140 is written to one or more log files 170 in the memory medium. An analyst 180 could then read data 140 from log file(s) 170 by performing access 190.
Note that analyst 180 is a human analyst in an embodiment of the invention. In an alternative embodiment, analyst 180 could be a computer program running on a programmable processor. One example of such as a program would be an inference engine coded a programming language. Such an embodiment could use, for example, an artificial intelligence language to embody the inference engine. Alternatively, assessment may be performed cooperatively by both a human analyst and an automated process.
Processing of the invention is illustrated in greater detail in
In step 240, the SMART logic compiles the event data into summary level information, referred to herein as activity data. Examples of activity data include the Time Powered On and the Power Cycle Count, as well as the Power-Off Retract Count, the Start/Stop Count, and the Loaded Hours. In step 250, the activity data is read and logged by the collection logic. The collection logic 150, illustrated in
In step 260, an analyst can access the log file(s). In step 270, the analyst uses the activity data written therein to assess whether the hard disk drive has been accessed in read-only mode since the last recorded shut down. In an embodiment of the invention, the analyst is human; alternatively, the analyst can be an automated process. Alternatively, assessment may be performed cooperatively by both a human analyst and an automated process. In step 280, the analyst produces and outputs an indication of the assessment, e.g., whether the hard disk drive was accessed, and/or the likelihood thereof. The process concludes at step 290.
Moreover, in an embodiment of the invention, collection logic 150 would poll device clocks in addition to the SMART output (i.e., activity data) at startup and at shutdown, to read and log both the activity data and device date/times. It can be helpful to the analyst to know the system(s) or device(s) to which the hard disk drive was connected, and when the connection(s) were active. This allows the analyst to know the system context in which the hard disk drive was operating, e.g., whether the drive was accessed by an authorized or an unauthorized host. The determination of what system(s) or device(s) were connected to the hard disk drive can be made using a polling process in an embodiment of the invention. As discussed above, this data can be logged in one or more locations (e.g. in a hidden hard drive partition or partition available only to the manufacturer, in the system BIOS, or in a file viewable from within the operating system).
An embodiment of such a polling process is illustrated in
In step 350, any attached systems or devices are queried for identifying information. In step 360, a determination is made as to whether identifying information was found. If not, then the absence of identifying information is written to the log file in step 370, and the polling continues at step 320. If identifying information is found, then this information is written to the log file in step 380, and the polling continues at step 320.
In an embodiment of the invention, collection logic that interacts with SMART from the CMOS/BIOS/EFI will perform the polling and storage of the same values of, say, the Time Powered On and the Power Cycle Count in either a reserved area of the system/device memory or on the hard drive itself using a protective coding scheme such as encryption and/or reserved locations on the drive. The same would be true for the collection logic interacting with SMART from an operating system installed on the system/device.
Since the log files will contain activity data and connectivity information, the files can then be checked by an analyst for anomalies. For example, if a laptop is stolen and recovered, the analyst can look at the logs to see if, when, and for how long the hard drive was accessed. Further, time gaps or inconsistencies in the log could indicate that a drive was removed and accessed in read-only mode, or through the use of external hardware and software.
In one example, according to an embodiment of the invention, if the log file shows a one hour gap between the last recorded powered down time and the next recorded powered on time, an analyst will be alerted that the drive was turned on for an hour while the operating system was not running. The analyst could then review the BIOS and hard drive-level logs to determine the time the drive was accessed, yielding a start in discovering an otherwise potentially undetectable culprit. Because the invention can be implemented at the hard drive, hardware interface, and operating system levels, tampering with any one log helps alert an analyst to potential data theft.
In an alternative embodiment of the invention, the relevant event data 120 is compiled each time the hard disk 110 stops, and the compiled activity data is stored on the hard drive and on the host computer. An identifier is also created on the basis of the compiled activity data, and stored with the compiled activity data at both locations. The identifiers can be compared at a later time, such as boot-up. A mismatch of identifiers would imply that the hard disk may have been accessed since the hard disk drive was last known to have stopped.
An embodiment of this process is illustrated in
At each boot event the identifiers are compared (step 465). If they are found not to match in step 485, this is an indication that the hard disk drive has been removed and accessed. The identifiers would not match, for example, if the hard disk drive was turned on outside of the host computer, resulting in a situation where the SMART data identifier that was created while the hard disk drive was outside the host computer does not match the identifier last stored on the host. In step 475, an indication of possible compromise is output if the identifiers fail to match.
Embodiments of the invention can work with software, hardware, and/or operating system implementations other than those described herein. Any software, hardware, and operating system implementations suitable for performing the functions described herein can be used.
In an embodiment of the present invention, the system and components of the present invention described herein are implemented with respect to a hard disk drive normally used in a computer, such as computer 500 shown in
The computer 500 includes one or more processors (also called central processing units, or CPUs), such as a processor 504. The processor 504 is connected to a communication bus 506. The computer 500 also includes a main or primary memory 508, such as random access memory (RAM). The primary memory 508 has stored therein control logic (computer software), and data.
The computer 500 also includes one or more secondary storage devices 510. The secondary storage devices 510 include, for example, the hard disk drive 110 and/or a removable storage device or drive 514. As discussed above, SMART logic 130 can be implemented in the firmware of hard disk drive 110. The removable storage drive 514 represents one or more of a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc. for interaction with a corresponding removable storage unit 518. An interface 520 may also be provided for connection to another removable storage unit 518.
A removable storage unit 518 includes a computer useable or readable storage medium having stored therein computer software (control logic) and/or data. Removable storage unit 518 represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other removable computer data storage device. The removable storage drive 514 reads from and/or writes to the removable storage unit 518 in a well known manner.
The computer 500 may also include input/output/display device 530, such as a monitor, keyboard, pointing device, etc., connected to communications infrastructure 506 via I/O interface 502.
The computer 500 may further include a communication or network interface 524. The network interface 524 enables the computer 500 to communicate with remote devices. For example, the network interface 524 allows the computer 500 to communicate over communication networks or media 526 (representing a form of a computer useable or readable medium), such as LANs, WANs, the Internet, etc. The network interface 524 may interface with remote sites or networks via wired or wireless connections.
Control logic may be transmitted to and from the computer 500 via the communication medium 526. More particularly, the computer 500 may receive and transmit carrier waves (electromagnetic signals) modulated with control logic via the communication medium 526.
Any apparatus or manufacture comprising a computer useable or readable medium having control logic (software) stored therein is referred to herein as a computer program product or program storage device. This includes, but is not limited to, the computer 500, the main memory 508, the hard disk 110, and the removable storage unit 518. Carrier waves can also be modulated with control logic and received via communication medium 526. Such computer program products and carrier waves, having control logic stored therein that, when executed by one or more data processing devices, cause such data processing devices to operate as described herein, represent embodiments of the invention.
The collection logic 150 can be implemented in the microcode of hard disk drive 110 in an embodiment of the invention. Alternatively, collection logic 150 can be implemented in operating system code executed from main memory 508, or in system code implemented in CMOS/BIOS/EFI (not shown in
Log file(s) 170 may be implemented as a file viewable from within the operating system, in a partition of hard disk drive 110, or in system BIOS.
Note that the embodiments described above take advantage of SMART as this technology as currently configured. Alternative embodiments can analogously use future versions and variations of SMART, or any similar technology. The invention can be implemented using any logic that captures event data from a hard disk drive and compiles the event data into activity data.
Nor is the invention limited to capturing and analyzing activity of the hard drive only. Alternative embodiments of the invention can capture and analyze activity at other memory devices and I/O devices and ports. Forensic analysis of a computer system might benefit from knowing when a flash drive was accessed, for example, or when a communications port was active and for how long. Such activity could be tracked and logged by an embodiment of the invention.
While some embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only and are not meant to limit the invention. It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Thus, the breadth and scope of the present invention should not be limited by the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
It is to be appreciated that the Detailed Description section, and not the Abstract section, is intended to be used to interpret the claims. The Abstract section may set forth one or more but not all exemplary embodiments of the present invention as contemplated by the inventor, and thus are not intended to limit the present invention and the appended claims in any way.
The present invention has been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.
This patent application is a continuation of U.S. patent application Ser. No. 11/882,105, filed Jul. 30, 2007, which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5297265 | Frank | Mar 1994 | A |
5551006 | Kulkarni | Aug 1996 | A |
5889952 | Hunnicutt | Mar 1999 | A |
5896496 | Suzuki | Apr 1999 | A |
6003121 | Wirt | Dec 1999 | A |
6216178 | Stracovsky | Apr 2001 | B1 |
6230223 | Olarig | May 2001 | B1 |
6347367 | Dell | Feb 2002 | B1 |
6587909 | Olarig | Jul 2003 | B1 |
6600614 | Lenny et al. | Jul 2003 | B2 |
6625732 | Weirauch et al. | Sep 2003 | B1 |
7302698 | Proudler et al. | Nov 2007 | B1 |
7313611 | Jacobs | Dec 2007 | B1 |
7406545 | Rothberg et al. | Jul 2008 | B1 |
9229747 | Berke | Jan 2016 | B2 |
20020032640 | LaFore | Mar 2002 | A1 |
20020144071 | Williams | Oct 2002 | A1 |
20020162026 | Neuman et al. | Oct 2002 | A1 |
20020178382 | Mukai et al. | Nov 2002 | A1 |
20030023868 | Parent | Jan 2003 | A1 |
20030063524 | Niemiec | Apr 2003 | A1 |
20030145215 | Dohi | Jul 2003 | A1 |
20030165230 | Reuss | Sep 2003 | A1 |
20040117581 | Lee | Jun 2004 | A1 |
20050005045 | Kim | Jan 2005 | A1 |
20050015624 | Ginter et al. | Jan 2005 | A1 |
20050066178 | Rowe et al. | Mar 2005 | A1 |
20050138164 | Burton et al. | Jun 2005 | A1 |
20050138617 | Friedman | Jun 2005 | A1 |
20050154850 | Collins | Jul 2005 | A1 |
20050273860 | Chess et al. | Dec 2005 | A1 |
20060026432 | Weirauch et al. | Feb 2006 | A1 |
20060031476 | Mathes et al. | Feb 2006 | A1 |
20060053354 | Kliewer | Mar 2006 | A1 |
20060095569 | O'Sullivan | May 2006 | A1 |
20060095570 | O'Sullivan | May 2006 | A1 |
20060112427 | Shahbazi | May 2006 | A1 |
20060123190 | Weirauch et al. | Jun 2006 | A1 |
20060143670 | Kosha | Jun 2006 | A1 |
20060179325 | Debiez | Aug 2006 | A1 |
20060208092 | Winkler | Sep 2006 | A1 |
20060242356 | Mogi et al. | Oct 2006 | A1 |
20060253905 | Mansel | Nov 2006 | A1 |
20070101164 | Ando et al. | May 2007 | A1 |
20070157290 | Crawford | Jul 2007 | A1 |
20070266144 | Bollen et al. | Nov 2007 | A1 |
20070299631 | Macbeth et al. | Dec 2007 | A1 |
20080022018 | Konno et al. | Jan 2008 | A1 |
20080092237 | Yoon et al. | Apr 2008 | A1 |
20080144531 | Fisher et al. | Jun 2008 | A1 |
20080184110 | Barsness et al. | Jul 2008 | A1 |
20080250190 | Johnson | Oct 2008 | A1 |
20090037654 | Allison | Feb 2009 | A1 |
20090150721 | Kochar | Jun 2009 | A1 |
20100058008 | Sakada | Mar 2010 | A1 |
20130121093 | Morimoto | May 2013 | A1 |
20150254192 | Linstadt | Sep 2015 | A1 |
Number | Date | Country |
---|---|---|
07074840 | Mar 1995 | JP |
Entry |
---|
Hatfield, J., “List of Public Smart Attributes,” T13 Technical Committee, Seagate, Oct. 18, 2005, (retrieved Oct. 17, 2008), retrieved from: <URL: http://www.t13.org/Documents/UploadedDocuments/docs2005/e05173r0-ACS-SMARTAttributes_List.pdf >; 3 pages. |
International Search Report with Written Opinion of the International Searching Authority issued in Int'l Patent Application No. PCT/US08/09128, prepared Oct. 17, 2008 and dated Oct. 30, 2008, 9 pages. |
Allen, B., “Monitoring Hard Disks with Smart.” Linux Journal 117 (2004): 74-77. |
Lonvick, C., “RFC 3164: The BSD Syslog Protocol.” Network Working Group, (May 9, 2001); 23 pages. |
“Out Smart Your Hard Drive” (Retrieved May 19, 2010), retrieved from: <URL: http://www.prefetch.net/articles/diskdrives.smart.hmtl>; 5 pages. |
Number | Date | Country | |
---|---|---|---|
20160070500 A1 | Mar 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11882105 | Jul 2007 | US |
Child | 14943565 | US |