A non-transitory computer readable recording medium having stored thereon a data management program and a driverware program for an electronic computer, the driverware program which operates in a kernel mode in which all commands of an operating system operating the electronic computer are executed and which serves to provide a common interface for communications between device drivers for directly controlling devices connected to the electronic computer or for communications between the device drivers and an application program running on the electronic computer, the driverware program, further comprising:
- an application program interface code that receives first data including commands and data which are output by the application program and transmits second data including a result of executing the commands and reception data which are received from the device drivers to the application program;
- a device driver control code that transmits third data including the commands and the data to the device drivers and receives fourth data including the result of executing the commands and the reception data from the device drivers;
- and
- a control code that processes the first data and the fourth data, generates the second data and the third data, and controls the first to fourth data,
- wherein the driverware program causes the electronic computer to execute steps of:
- reading a process control list stored in an external storage device which is built into or connected to the electronic computer, the process control list determining whether to permit or deny the reading of an execution file of the application program or a process of the execution file from the external storage device or writing of the execution file or the process to the external storage device;
- detecting connection of a storage device storing user data when the storage device is connected to the electronic computer;
- turning ON a control mode by making settings to deny all access to read from the external storage device comprising the storage device or write to the external storage device;
- monitoring the access;
- receiving, when the application program starts up, one or more control data selected from among a file name of the execution file, a file path of the execution file, a process name of the process, and a process ID of the process;
- comparing the acquired control data with values of the process control list;
- granting permission in accordance with the process control list in cases where the control data match the values of the process control list in the comparison step, and denying permission in cases where the control data do not match the values of the process control list;
- wherein the data management program further comprises an application platform program which runs in a user mode of the operating system and which serves to provide a user interface with a file system of the operating system, and
- the application platform program causes the electronic computer to execute steps of:
- causing the process to operate in a suspend mode;
- acquiring a handle of the process operating in the suspend mode, the process name, and the process ID;
- and
- transmitting the process name and the process ID to the application program interface code,
- wherein the device driver control code further includes a file system control code that controls the file system of the operating system,
- the file system control code receives an access request for the access by the application program to the external storage device and transmits the received access request to the control code,
- the control code further receives the access request, acquires the control data from the access request, and transmits the acquired control data to the file system control code, and
- the file system control code further receives the control data transmitted by the control code, compares the received control data with values of the process control list, permits the access in accordance with the process control list in cases where the control data match the values of the process control list, and denies the access in cases where the control data do not match the values of the process control list;
- wherein the driverware program further includes an interface control code that controls a physical connector interface driver of the electronic computer and a network control code that controls a network driver;
- and
- wherein the control code awaits an end event of the application program, acquires the process ID when the end event has occurred, sets a prohibition for file access based on the process having the process ID by the file system control code, cancels a communication prohibition setting for the interface control code, and cancels a communication prohibition setting for the network control code.