BACKGROUND

The present invention generally relates to computer systems, and more specifically, to data scanning and removal for a removable storage device for use in conjunction with a computer system.

Removable storage devices, such as universal serial bus (USB) drives, are widely used for carrying and transferring data between computers. A removable storage device may even be used as a primary storage. Thus, many types of data are stored on removable storage devices, and some of the data may be critical. A user of a removable storage device may also use a removable storage device as backup storage. Any kind of documents, programs and applications may be stored in a removable storage device. Confidential information in removable storage devices may be protected by disk passwords and/or cryptographic approaches. However, a removable storage device may not provide an embedded access control. The type of file system that is used on a removable storage device may be are determined by an operating system of an attached host computer. Some examples of file system types include FAT (File Allocation Table), FAT32, New Technology File System (NTFS), ext2 (Second Extended File System), ext3 (Third Extended File System), etc. Some of these file systems do not support access control, such as FAT32. While some other file systems can provide an access control function, when a removable storage device with such a file system is mounted to another computer, a privileged user of the new host may access any data of the removable storage device.

There may be other security concerns regarding removable storage devices. The portability of removable storage devices allows data to be processed by computer systems that are not connected to a computer network. For example, some legacy computer systems, such as scientific instruments and computers, may be either unable to connect to a network, or may be restricted from network connectivity due to security vulnerabilities that may be present in some older systems. Some such systems may not be capable of supporting applications that are needed to connect to remote network data storage such as cloud services. These systems may require removable storage devices to transfer information to or from the host system via a physical interface (e.g., a USB port) for processing. For example, waveform and screen captures of signals on an oscilloscope may be stored on a removable storage device for transfer to a different, more powerful computer for analysis. However, data that is transferred to an from such a computer system may be critical or sensitive data.

SUMMARY

According to an embodiment described herein, a system can include a removable storage device including an embedded processor configured to boot from an embedded read-only memory (ROM) of the removable storage device. The embedded processor can also scan an internal storage of the removable storage device to identify a first file in the internal storage that matches removal criteria defined in the embedded ROM. The embedded processor can also remove the identified first file from the internal storage of the removable storage device.

According to another embodiment described herein, a method can include booting an embedded processor of a removable storage device from an embedded read-only memory (ROM) of the removable storage device. The method can also include scanning an internal storage of the removable storage device to identify a first file in the internal storage that matches removal criteria defined in the embedded ROM. The method can also include removing the identified first file from the internal storage of the removable storage device.

According to another embodiment described herein, a computer program product can include a computer readable storage medium having program instructions embodied therewith, the program instructions executable by an embedded processor of a removable storage device to cause the embedded processor to perform a method including booting from an embedded read-only memory (ROM) of the removable storage device. The method can also include scanning an internal storage of the removable storage device to identify a first file in the internal storage that matches removal criteria defined in the embedded ROM. The method can also include removing the identified first file from the internal storage of the removable storage device.

According to an embodiment described herein, a system, method, or computer program product can include a removable storage device including a location-based erase module configured to, based on receiving a signal from a scanner, reset an erase timer. The location-based erase module can also, based on expiration of the erase timer, trigger an embedded processor of the removable storage device to perform a full erase of an internal storage of the removable storage device.

According to an embodiment described herein, a system, method, or computer program product can include a removable storage device including a location-based erase module configured to determine a location of the removable storage device based on a global positioning system (GPS) module. The location-based erase module can also compare the determined location to a predetermined area. The location-based erase module can also, based on the determined location being outside of the predetermined area, trigger an embedded processor of the removable storage device to perform a full erase of an internal storage of the removable storage device.

According to another embodiment described herein, a device can include an embedded processor that boots from an embedded read-only memory (ROM) of the device. The embedded processor can also scan an internal storage of the device to identify a first file in the internal storage that matches removal criteria defined in the embedded ROM. The embedded processor can also remove the identified first file from the internal storage of the device.

