The present invention relates to a secure data storage apparatus and a secure IO apparatus.
Write prohibition and read prohibition of data are generally implemented by software such as the OS or application program. However, because various vulnerabilities exist in complicated software, malware may enter from a network and infect the software. Consequently, the case where unauthorized data access is overlooked often occurs.
Hardware data protection means is implemented by a write prohibition switch which is attached to an SD card, floppy disk, encased magnetic tape medium, or the like. Also, apparatuses that prohibit writing when being connected to a hard disk are commercially available. However, these means each prohibit writing on a medium-by-medium basis. However, these means are unable to prohibit writing, to prohibit reading, and to request the user for access permission for a given number of pieces of data or data of a given size. Also, apparatuses that perform processing of secure data in cooperation with various IO ports as well as a storage are not yet commercially available.
A protection-function-equipped storage apparatus is implemented which is capable of specifying security such as write prohibition/write inquiry/read prohibition/read inquiry for data of a given size or a given number of pieces of data and which makes it impossible for the OS or application program that utilizes the storage apparatus to perform control such as changing of protection-target data, changing of protected content, or on/off of the protection function.
A display, touch panel, or the like can also be prepared separately from an ordinary PC in order to implement an access violation notification and an access permission inquiry to the user; however, this makes the apparatus larger and makes it difficult to downsize the apparatus.
The present invention has been proposed in view of the issues described above. Specifically, an object is to provide a secure data storage apparatus capable of independently holding security information within a hardware apparatus of the storage apparatus and of implementing write prohibition and read prohibition of data.
To achieve the aforementioned object, a secure data storage apparatus according to the present invention is characterized in that the secure data storage apparatus is capable of setting a specified data area to be a write-prohibited data area, and in a case where there is a write request for the write-prohibited data area, does not perform writing in the area, and that information about the request is recorded and a user is notified that the request has been prohibited.
The secure data storage apparatus according to the present invention is characterized in that the secure data storage apparatus is capable of setting a specified data area to be a read-prohibited data area, and in a case where there is a read request for the read-prohibited data area, does not perform reading in the area, and that dummy data is returned, information about the request is recorded, and a user is notified that the request has been prohibited.
The secure data storage apparatus according to the present invention is characterized in that the secure data storage apparatus is capable of setting a specified data area to be subjected to a write inquiry or read inquiry, and has a function of making an inquiry to a user as to whether or not to permit writing or reading in a case where there is a write request or read request for the data area, and of performing writing or reading only in a case where permission is returned.
The secure data storage apparatus according to the present invention includes, as means for specifying security of write prohibition/write inquiry/read prohibition/read inquiry for a given number of storage areas or a storage area of a given size, a storage component for holding security information in addition to a storage component for holding data, and is characterized in that, for each unit of storage of the storage component for holding data, corresponding security information is held in the storage component for holding security information, and in a case where a request to access the data occurs, the secure data storage apparatus refers to the security information corresponding to a storage area for storing the data and operates in accordance with the security information.
The secure data storage apparatus according to the present invention is characterized in that the storage component for holding data is also used as the storage component for holding security information, a portion of a storage area of the storage component for holding data is an area that is not used as a data area and is invisible from an OS or application program on a PC, and the security information is held in the area.
A secure IO apparatus according to the present invention is characterized in that various IO ports are directly controlled by hardware so that the control is not sensed from an OS or application program on a PC and IO of data is performed in a secure manner.
The secure data storage apparatus and the secure IO apparatus according to the present invention are configured in the above-described manner. With this configuration, security information can be independently held within a hardware apparatus of the storage apparatus and write prohibition and read prohibition of data can be implemented. Also, because the protection function cannot be controlled from the OS or application program at all, the data is secure.
Next, embodiments of the present invention will be described based on the drawings.
Present major social infrastructures such as production systems of factories, plants, or the like, railway/traffic systems, wireless communication networks for mobile phones or the like, various information services such as computer networks or clouds using the networks are constructed on a foundation of control systems. Hitherto, damage has often been caused by phishing, computer viruses, cyber-attacks, and so on, and measures thereagainst have been taken in information systems. However, attacks on control systems of factories, communication networks, and so on have rarely occurred, and measures against such attacks have not been considered to be important. A reason for this is that attacks on control systems are hardly related to personal profits. Also, another reason is that, because many control systems have adopted their unique OS or their unique communication protocols, all tools for the attack are not available and it is difficult to make an attack readily.
However, the presence of malware called Stuxnet, which had kept many centrifuges used for uranium enrichment out of order in a certain nuclear facility for a long time, has been revealed, and vulnerabilities of industrial control devices have been recognized. This is a serious threat to the social infrastructures such those of industry, military, transport, and electric power. In Japan, attacks by malware have been discovered, and it has become an urgent necessity to take measures against them.
<Characteristics of Control System>
A general configuration of a control system is illustrated in
In order to improve security of the control system, security measures for these control-information-network devices are mainly needed. Characteristics of the control-information-network devices are as follows:
Importance is placed on availability (operation should not be stopped)
Importance is placed on response time (real-time processing)
Processing requiring a heavy load is difficult (because of resources of the devices or real-time processing)
Update of a program is difficult (because of availability, real-time processing, and resources)
The devices are used for a long time (10 years to 20 years)
A unique OS or a unique protocol is used
A general-purpose PC or open standard is adopted in the controller.
Damage caused at the time of a system failure is large
The devices may be subjected to highly targeted attacks
Malware may break into the control network constituted by the PLC (Programmable Logic Controller), the engineering PC through which programming is performed in the PLC, and the like from an external network or USB memory that is connected for maintenance or the like. Nevertheless, vulnerabilities such as backdoors, insufficient encryption or authentication, or weak passwords have been found in PLCs in Japan, the United States, and Europe, and it has become an urgent necessity to take measures against them (US ICS-CERT and IPA, “Alerts on vulnerabilities of control devices”, Feb. 29, 2012). However, to take actions against vulnerabilities by updating the OS or application program of the device constituting the control network is not easy because of the device's limited processing ability and a difficulty in verification of operation of the already-installed control system. The threats of highly targeted attacks on control systems, notably the one by Stuxnet, are increasing, and measures against attacks, such as zero-day attacks, to vulnerabilities that are yet to be dealt with are also desired.
The present invention that solves the issues described above provides an apparatus (add-on apparatus for security=security barrier device (SBD)) that is easily applicable to existing control systems. The SBD is connected to devices on the control network and interconnects IO ports of the devices, whereby any extra load is not put on the devices and the performance is maintained. The SBD is a hardware device that serves as a security protective barrier that overcomes the vulnerabilities described above.
The SBD can be connected to the PLC and the engineering PC through which programming is performed in the PLC without installation of software regardless of whether the software is the OS or application program, and interconnects IO ports based on Ethernet, USB, SATA, HDMI, or the like. At interconnections of IO ports, security of communication is enhanced using authentication and encryption, and access to important files stored in a USB or SATA storage is recorded or controlled. The SBD has a function for requesting the user to make a confirmation via a display, keyboard, or the like when needed. These functions of the SBD can prevent unauthorized apparatuses from being connected to the control network. Also, the SBD has a function for preventing malware from infecting authorized apparatuses and for enhancing security of the control network (see
<Access Control in Units of Areas>
An HDD/SSD/USB memory or the like is assumed as the storage device. All of these are block devices, and their unit of access is 512 B which is the ATA sector size. Accordingly, by providing access control information on a sector-by-sector basis (in an additional disk or the like as described before), access control in units of sectors is implemented. Therefore, access control in units of partitions of a disk is easily implemented, and adjustment at the OS side at that time involves a few issues. Data or system files that should not be rewritten are collected in a write-prohibited partition, or data that should not usually be read out is collected in a read-prohibited partition. If there is unauthorized access to these partitions, such access is detected, and a log is recorded by the SBD and is utilized to detect an unauthorized operation or malware.
<Overview of Access Control in Units of Files>
The aforementioned access control in units of areas requires organization of data on a partition-by-partition basis. In contrast, if access control in units of files can be done, the original storage can be made secure without any additional processing. Control devices based on the EXT series (such as Linux), the NTFS (such as Windows series, USB memory), and the FAT series (such as old Windows, MS-DOS, VxWorks, USB memory) are mainly used. Among these, devices based on the EXT2, the NTFS, and the FAT32 are dominant. The SBD aims to support these control devices.
All of these control devices have a tree directory structure, and a file is composed of a directory entry and a data block. The data block is larger than the sector in size. Accordingly, access control involves no problem. On the other hand, the directory entry (and a data structure involving it) is smaller than the sector in size, and thus the resolution of access control needs to be improved.
An improvement in the resolution of access control is implemented in the following procedure. Specifically, in this procedure, a required resolution is recorded in security information corresponding to a sector having been read, and access control information is read out in unit of the resolution (if the access control information cannot be stored in the additional disk without any processing, the access control information may be developed separately in another area). When the sector is written in the storage, processing of access control is performed in unit of the resolution (specifically, in the case of write prohibition, writing is performed using the data portion read out from the storage so as not to change the data stored in the sector).
As for write prohibition of a file, write prohibition needs to be set also for the path (route) from the root. This is because a file can be uniquely identified only when the path is included.
<Example of Access Control in EXT2 File System>
An example of access control performed by the SBD in EXT2 is illustrated in
<Considerations on Effective Access Control by SBD>
In the case of file access, the OS performs access control using a file attribute, it is not so difficult to modify the OS to receive access control information of a file from the storage device, and it is considered that this is one direction of making the OS more secure. Simpler measures will do for a simple OS which does not perform caching to a memory and reading of a bitmap.
Possible operations in file access control performed by the SBD device without modifying the OS irrespective of the sophistication level of the OS are summarized below.
[Bottom line]: (The OS of the protection-target device is not affected)
It is possible to notify the system administrator of occurrence of a prohibited access operation via the SBD.
Means for disconnecting the network in the case of occurrence of access control violation is prepared.
(Applications) A log regarding all IO ports is recorded in response to access control violation, and this record can be used to detect malware, determine the infection path, and so on.
[In the case of read prohibition]:
A dummy value is returned.
The OS at least does not operate erroneously if the name of a read-prohibited file within a directory is correctly shown and data is set to be a dummy value.
The name of a read-prohibited file within a directory is not displayed. Likewise, the OS does not operate erroneously.
If a read-prohibition bit is set (that is, access to a directory is prohibited), file names and pointers other than those of the target and its parent are not shown when a directory is accessed.
An IO error is returned. The OS may handle the error as a sector error.
No IO is returned. The storage device may be unmounted or the OS may freeze.
[In the case of write prohibition]:
Successful writing is returned. Inconsistency between data in the memory and data in the storage may occur, and consequently the issues described before may occur.
An IO error is returned. The OS may handle the error as a sector error.
No IO error is returned. The storage device may be unmounted or the OS may freeze.
There may be circumstances where freezing would be preferably permitted rather than have malware taking control of the engineering PC through which programming is performed in the PLC or the like.
<Configuration of SBD>
The SBD is, for example, a dedicated FPGA board having the following specs. An FPGA is used in order to perform processing of many ports with a small delay. In order to implement handling of a file system and a user interface, the SBD can be connected to a SBD control (host) PC by pci-e. Within a range that the board size permits, many ports for protection targets are mounted. A conceivable connection example is illustrated in
Board size: PCI Express card shape
FPGA chip: Xilinx Kintex-7 676 pins (XC7K325T)
Flash ROM for configuration: For writing a circuit to the FPGA at the time of power-on
Memory I/F: DDR3 SODIMM×1
Video input: HDMI×1 (without copy control HDCP)
Video output: HDMI×1 (without copy control HDCP)
Storage I/F: SATA (7 pins)×4/5 (SATA 3.0)
Communication I/F: 1 G/100 M-bit Ethernet (RJ-45)×2
General-purpose I/F: USB (Type A)×6 (USB 2.0)
SBD control PC I/F: PCI Express×1
The following is a summary of the embodiment of the present invention described above.
As means for specifying security such as write prohibition/write inquiry/read prohibition/read inquiry for data of a given size and a given number of pieces of data, a storage component for holding security information is prepared in addition to a storage component for holding data. For each unit of storage of the storage component for holding data, corresponding security information is held in the storage component for security information. In response to occurrence of a request to access data, security information corresponding to a storage area for holding the data is referred to, and an operation is performed in accordance with the security information. Alternatively, as another implementation method, the storage component for holding data is also used as the storage component for holding security information instead of preparing the storage component for holding security information separately from the storage component for holding data. Specifically, a portion of a storage area of the storage component for holding data is not used as a data area and is set as an area invisible from the user, and the security information may be held in the area.
As for an access violation notification and an access permission inquiry to the user, IO ports used therefor are connected to the PC via a unique apparatus of the present invention, just like the storage. This allows the apparatus to directly make a notification or inquiry regarding IO of secure data using a display or touch panel usually used, independently of the PC side. Accordingly, no additional IO devices are needed.
As an example of a data-protection-function-equipped storage apparatus (secure data storage apparatus) according to a first embodiment of the present invention, the case where a storage such as a hard disk that performs access in units of sectors is used as the storage component and the data area and the security information area are allocated in the same storage is illustrated in
As an expansion example of a data-protection-function-equipped storage apparatus (secure data storage apparatus) according to a second embodiment of the present invention, a method for implementing secure access to a display, a touch panel, and a network as well as the storage is illustrated in
While the embodiments of the present invention have been described in detail above, the present invention is not limited to the embodiments above. Various design alterations can be made to the present invention as long as such alterations do not deviate from matters described in the claims. Because the SBD is a hardware device, the SBD is not detectable by malware. By analyzing the TO log in response to detection of unauthorized access to data, the SBD is useful to discover malware of new type. A storage rollback function can also be implemented. Communication security can also be implemented. Further, applications in various circumstances, such as an experiment of a display device of new type, are expected.
Number | Date | Country | Kind |
---|---|---|---|
2013-185766 | Sep 2013 | JP | national |