Device, method for controlling the same, and program
The device suppresses server functions by identifying and managing applications that declare port numbers, enhancing security in LAN-less environments by preventing unauthorized access.
Patent Information
- Application Number
- JP2024014306
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-01
- Publication Date
- 2025-08-14
AI Technical Summary
Applications installed on devices in a LAN-less environment may continue to provide server functionality despite the device configuration, posing a security risk.
A device with a network interface and execution means that suppresses server functions by identifying and stopping or prohibiting applications that declare a port number for server functions, based on user instructions.
Effectively prevents unauthorized access by suppressing server functions through network interfaces, reducing the risk of attacks in LAN-less environments.
Smart Images

Figure 2025119424000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a device, a control method thereof, and a program. [Background technology]
[0002] There is a growing trend to replace business systems built in-house with cloud services. When using cloud services, in-house devices may be connected to an external network without going through the in-house network. Such an environment in which devices are connected to an external network without going through the in-house network is called a "LAN-less environment." Devices deployed in a LAN-less environment are at risk of being attacked via the external network. As a countermeasure against such attacks, the server functions of the devices are restricted. Patent Document 1 describes a method of restricting server functions using a network filter function for a communication interface. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-154832 Summary of the Invention [Problem to be solved by the invention]
[0004] An application that supports a LAN-less environment stops providing server functionality when a device is configured to be used in a LAN-less environment. However, applications that do not support a LAN-less environment may also be installed on a device. Such applications may continue to provide server functionality regardless of the device configuration. Some aspects of the present invention aim to provide a technique for appropriately suppressing the provision of server functionality. [Means for solving the problem]
[0005] According to some embodiments, a device is provided that includes a network interface, an execution means for executing one or more applications, and an acquisition means for acquiring an instruction to prohibit the provision of server functions through the network interface, wherein the execution means, when the provision of server functions through the network interface is prohibited, suppresses the provision of server functions by an application, among the one or more applications, that declares a port number to be used for the server function. [Effects of the Invention]
[0006] According to the above embodiment, provision of the server function can be appropriately suppressed. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram illustrating an example of the hardware arrangement of an image processing apparatus according to a first embodiment. [Figure 2] FIG. 2 is a block diagram illustrating an example of the software architecture of the image processing apparatus according to the first embodiment. [Figure 3] FIG. 2 is a schematic diagram illustrating an example of the configuration of a program file according to the first embodiment. [Figure 4] FIG. 3 is a schematic diagram illustrating an example of a screen according to the first embodiment. [Figure 5] FIG. 3 is a schematic diagram illustrating an example of settings according to the first embodiment. [Figure 6] FIG. 3 is a flowchart illustrating an example of the operation of the image processing apparatus according to the first embodiment. [Figure 7] FIG. 3 is a flowchart illustrating an example of the operation of the image processing apparatus according to the first embodiment. [Figure 8] FIG. 10 is a schematic diagram illustrating an example of port settings according to the second embodiment. [Figure 9] FIG. 10 is a flowchart illustrating an example of the operation of the image processing apparatus according to the second embodiment. [Figure 10] FIG. 10 is a flowchart illustrating an example of the operation of the image processing apparatus according to the second embodiment. [Figure 11]FIG. 11 is a schematic diagram illustrating an example of the configuration of a program file according to the third embodiment. [Figure 12] FIG. 10 is a flowchart illustrating an example of the operation of the image processing apparatus according to the third embodiment. [Figure 13] FIG. 10 is a flowchart illustrating an example of the operation of the image processing apparatus according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.
[0009] First Embodiment An example of the hardware configuration of an image processing device 100 according to the first embodiment and an example of the environment in which the image processing device 100 is placed will be described with reference to Fig. 1. The following describes an example in which the technology described in this specification is applied to the image processing device 100. The technology described in this specification can also be applied to other devices (for example, smartphones, personal computers, sensor devices, home appliances, audio devices, etc.).
[0010] The image processing device 100 includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a secondary storage device 104, an input / output device 105, a print engine 106, and network interfaces 107 and 108. These components are interconnected by a bus 109. The image processing device 100 may not include some of these components, or may include components different from these components. In the example of FIG. 1, the image processing device 100 has two network interfaces 107 and 108. Alternatively, the image processing device 100 may have only one network interface, or three or more network interfaces. The number of other components of the image processing device 100 may also be one or more.
[0011] The CPU 101 is a processor that controls the overall operation of the image processing device 100. The ROM 102 is a non-volatile memory that stores programs and data used by the image processing device 100. The RAM 103 is a volatile memory that is used as a work area for the CPU 101 to execute programs. The secondary storage device 104 is a non-volatile storage device that stores programs and data used by the image processing device 100. The secondary storage device 104 may be, for example, a hard disk drive (HDD) or a solid state drive (SDD). The secondary storage device 104 may also be called an external storage device. The operation of the image processing device 100 may be performed by the CPU 101 reading a program stored in the ROM 102 or the secondary storage device 104 into the RAM 103 and executing it. Alternatively, at least a part of the operation of the image processing device 100 may be performed by a dedicated integrated circuit such as an application specific integrated circuit (ASIC).
[0012] The input / output device 105 is a device for obtaining input from a user of the image processing device 100 and providing output to the user of the image processing device 100. For example, the input / output device 105 may be a liquid crystal touch panel or a combination of a liquid crystal panel and hard keys.
[0013] The print engine 106 is a device that executes printing. Since the image processing device 100 has the print engine 106, it may also be called an image forming device or a printer. The image processing device 100 may have a scanner instead of or in addition to the print engine 106. An image processing device 100 that has multiple main functions, such as a printing function and a scanning function, may also be called an MFP (Multifunction Peripheral).
[0014] The network interface 107 is a device for connecting the image processing device 100 to an external network. The network interface 107 may be connected to the external network wirelessly or via a wire. When the network interface 107 is connected to the external network wirelessly, the network interface 107 may include an antenna for transmitting and receiving radio waves and a signal processing circuit for processing signals transmitted and received by the antenna. When the network interface 107 is connected to the external network via a wire, the network interface 107 may include a connector for connecting a cable and a signal processing circuit for processing signals transmitted and received through the connector. The network interface 108 may also have a configuration similar to that of the network interface 107.
[0015] The network interface 107 is connected to a network 110. A client device 111 and an in-house server 112 are also connected to the network 110. The image processing device 100 can communicate with other devices connected to the network 110 (e.g., the client device 111 and the in-house server 112) via the network interface 107. The network 110 may be an in-house local area network (LAN). The network 110 may be connected to the Internet 120 via a gateway 113. The gateway 113 may have a firewall function. In this case, the gateway 113 may block access from the Internet 120 to devices connected to the network 110 (e.g., the image processing device 100 and the in-house server 112). The network 110 may be a closed network not connected to the Internet 120.
[0016] The in-house server 112 may have a file server function. In this case, the image processing device 100 may upload data generated by scanning an original to the in-house server 112. The in-house server 112 may have a print server function. In this case, the image processing device 100 may execute printing in accordance with a print job notified from the in-house server 112. The in-house server 112 may have a mail server function. In this case, the image processing device 100 may send and receive mail using the in-house server 112.
[0017] The client device 111 may be a client that uses a server function provided by the image processing device 100. For example, the image processing device 100 may provide a web server function, and the client device 111 may have a web browser that uses this web server function. The client device 111 may change the settings of the image processing device 100 or submit jobs to the image processing device 100 through the web browser.
[0018] A configuration in which devices (e.g., image processing device 100, client device 111, in-house server 112) and a network (e.g., network 110) are owned and operated by a company may be called on-premise. An environment operated by a company may be called an on-premise environment. In the example of FIG. 1, image processing device 100 is included in the on-premise environment.
[0019] The network interface 108 is not connected to the network 110, but is connected to the Internet 120 via another LAN or a mobile communication network. The image processing device 100 can communicate with a cloud server 121 via the network interface 108 and the Internet 120. An environment made up of devices connected to the Internet 120 can be called a cloud environment. In the example of Fig. 1, the image processing device 100 is also included in the cloud environment.
[0020] In the following description, it is assumed that the network interface 107 is connected to a wired LAN and the network interface 108 is connected to a wireless LAN. Alternatively, the network interface 107 may be connected to a wireless LAN and the network interface 108 may be connected to a wired LAN. Furthermore, the image processing device 100 may not include the network interface 107 and may not be connected to the network 110. The image processing device 100 may not include the network interface 108 and may be connected only to the network 110. One network interface of the image processing device 100 may be connected to either the network 110 or the Internet 120 by switching between them.
[0021] An example of the software architecture of the image processing device 100 will be described with reference to Fig. 2. An operating system 202, application management software 203, and multiple applications 204 to 207 are installed on hardware 201 of the image processing device 100. The hardware 201 of the image processing device 100 may be hardware such as the CPU 101 described with reference to Fig. 1. The software shown in Fig. 2 runs on the hardware 201. That is, the software shown in Fig. 2 is read from the ROM 102 or the secondary storage device 104 to the RAM 103 and executed by the CPU 101.
[0022] The operating system 202 is software that runs on the hardware 201. The operating system 202 provides basic operations of the image processing device 100, such as management of the hardware resources of the image processing device 100. The application management software 203 is software that runs on the operating system 202. The application management software 203 manages and executes one or more applications included in the image processing device 100. Details of the operation of the application management software 203 will be described later. Each of the multiple applications 204 to 207 is software that runs on the application management software 203. Each of the multiple applications 204 to 207 provides a unique function. For example, the applications 204 to 207 may include an application for configuring a device, an application for printing, etc.
[0023] The operating system 202 and the application management software 203 may be installed when the image processing device 100 is shipped (i.e., they may be pre-installed). The multiple applications 204 to 207 may include pre-installed applications, or may include applications installed after the image processing device 100 is shipped. Applications installed after the image processing device 100 is shipped may be called later-installed applications. In the example of FIG. 2, any of the multiple applications 204 to 207 may be pre-installed applications or later-installed applications.
[0024] The multiple applications 204 to 207 may include an application with a server function, or may include an application without a server function. The server function may be a function that provides a service in response to a request sent from a client to a specific port number. In the example of FIG. 2, applications 204, 206, and 207 do not have a server function, and application 205 does have a server function. A server socket 208 is generated for application 205. Application 205 receives requests from clients connected to the Internet 120 and client devices 111 connected to the network 110 via server socket 208.
[0025] In the example of FIG. 2, the image processing device 100 includes multiple applications 204-207. Alternatively, the image processing device 100 may include only one application. The image processing device 100 may or may not include a pre-installed application. The image processing device 100 may or may not include a later-installed application. The image processing device 100 may or may not include an application with server functionality. The image processing device 100 may or may not include an application without server functionality. In the above example, the applications 204-207 are executed by the application management software 203. Alternatively, at least one of the applications 204-207 may be executed by the operating system 202 or directly by the hardware 201.
[0026] An example of a program file 300 of an application installed in the image processing device 100 will be described with reference to Fig. 3. The program file 300 may include a manifest file 301 and program code 302. The manifest file 301 may be a file that describes information about the application (e.g., settings and resources used in the operation of the application). The program code 302 may be a file that describes the processing to be executed by the application in a specific programming language.
[0027] The manifest file 301 of an application with server functionality includes an attribute 303 that declares the port number used by the server functionality. The port number declared in the attribute 303 is opened in the server socket 208. The attribute 303 includes a name for identifying the attribute 303 ("ListeningPorts" in the example of FIG. 3) and a value for the attribute 303 ("9000" in the example of FIG. 3). The value of the attribute 303 indicates the port number used by the server functionality. The value of the attribute 303 may be a single port number or multiple port numbers. The manifest file 301 of an application without server functionality may not include the attribute 303, or may include the attribute 303 with a value (e.g., blank or null) indicating that the server functionality is not used. In the following description, the declaration of the port number used by the server functionality is referred to as a port declaration. A manifest file 301 that includes an attribute 303 that specifies a specific port number includes a port declaration. On the other hand, a manifest file 301 that does not include an attribute 303 and a manifest file 301 that includes an attribute 303 that does not specify a specific port number do not include a port declaration.
[0028] With reference to FIG. 4, an example of a screen for configuring settings related to the network interface 108 (connected to a wireless LAN as described above) of the image processing device 100 will be described. Each screen in FIG. 4 is displayed on the input / output device 105 of the image processing device 100, and provides a graphical user interface. Each screen in FIG. 4 may be generated by one of the applications of the image processing device 100. Each screen in FIG. 4 may include graphic objects (hereinafter simply referred to as objects) as shown in FIG. 4, may not include some of the objects shown in FIG. 4, or may include other objects.
[0029] Screen 400 is a screen for configuring settings related to the network interface 108. Button 401 is an object for acquiring an instruction from the user to transition to a screen (not shown) for configuring settings related to an IP (Internet Protocol) address. On this screen, settings such as an IP address to be assigned to the network interface 108, a subnet mask, and a default gateway are acquired from the user. Button 402 is an object for acquiring an instruction from the user to transition to screen 410 for configuring LAN-less settings. LAN-less settings may refer to settings related to placing the image processing device 100 in a LAN-less environment. Button 403 is an object for acquiring an instruction from the user to cancel processing on screen 400.
[0030] In response to a user pressing a button 402 on the screen 400, the image processing device 100 displays a screen 410 on the input / output device 105. A radio button 411 is an object for acquiring an instruction from the user as to whether to enable or disable the LAN-less setting. The user may enable the LAN-less setting using the radio button 411 when deploying the image processing device 100 in a LAN-less environment. When the LAN-less setting is enabled, the image processing device 100 suppresses the provision of server functions through the network interface 108. Therefore, an instruction to enable the LAN-less setting can be considered an instruction to prohibit the provision of server functions through the network interface 108. The user may disable the LAN-less setting using the radio button 411 when deploying the image processing device 100 in a LAN-less environment. When the LAN-less setting is disabled, the image processing device 100 allows the provision of server functions through the network interface 108. Therefore, an instruction to disable the LAN-less setting can be considered an instruction to allow the provision of server functions through the network interface 108.
[0031] The button 412 is an object for acquiring, from the user, an instruction to reflect the selection made with the radio button 411. In response to the button 412 being pressed, the image processing device 100 enables or disables the LAN-less setting in accordance with the selection made with the radio button 411. The button 413 is an object for acquiring, from the user, an instruction to cancel the processing of the screen 410.
[0032] Settings related to the network interface 107 of the image processing device 100 (which is connected to a wired LAN as described above) may also be made using screens similar to screens 400 and 410. In this way, when the image processing device 100 has multiple network interfaces, the image processing device 100 may acquire instructions to prohibit or permit provision of the server function for each of the multiple network interfaces. Alternatively or in addition to this, when the image processing device 100 has multiple network interfaces, the image processing device 100 may acquire instructions to prohibit or permit provision of the server function for the multiple network interfaces all at once.
[0033] An example of the settings of the image processing device 100 will be described with reference to Fig. 5. The settings of the image processing device 100 may be stored in, for example, the secondary storage device 104 and read into the RAM 103 by the CPU 101 for use. The settings of the image processing device 100 may include IP address settings 501 and LAN-less settings 502. The settings of the image processing device 100 may also include settings not shown in Fig. 5.
[0034] The IP address setting 501 indicates the IP addresses set for each of the network interfaces 107 and 108. The image processing device 100 stores the IP address specified by the user in the IP address setting 501 and uses it in subsequent processing. The LAN-less setting 502 indicates the LAN-less setting set for each of the network interfaces 107 and 108. "ON" indicates that the LAN-less setting is enabled, and "OFF" indicates that the LAN-less setting is disabled. The image processing device 100 stores the LAN-less setting specified by the user (for example, using the screen 410) in the LAN-less setting 502 and uses it in subsequent processing. When the LAN-less setting is enabled for a network interface, provision of a server function through this network interface is prohibited. When the LAN-less setting is disabled for a network interface, provision of a server function through this network interface is not prohibited (i.e., is permitted).
[0035] An example of the operation of the image processing device 100 will be described with reference to Fig. 6. Each step in Fig. 6 may be executed by the application management software 203. The application management software 203 may start the operation in Fig. 6 in response to an update of the LAN-less setting 502. As described above, the LAN-less setting 502 may be updated in response to the user pressing the button 412 on the screen 410.
[0036] In S601, the application management software 203 acquires the LAN-less setting 502 stored in the secondary storage device 104. In S602, the application management software 203 determines whether the LAN-less setting is enabled ("ON") for any of the network interfaces. If the application management software 203 determines that the LAN-less setting is enabled for any of the network interfaces ("YES" in S602), it transitions the process to S603, and otherwise ("NO" in S602) it terminates the process. If the LAN-less setting is disabled for all network interfaces, there is no need to suppress the provision of the server function of the application.
[0037] In S603, the application management software 203 selects one application that has not yet been processed from among one or more applications that are to be processed in the subsequent steps S604 to S606. The one or more applications that are to be processed in S604 to S606 may be all applications installed in the image processing device 100. Alternatively, the one or more applications that are to be processed in S604 to S606 may be all applications installed after the image processing device 100 is shipped. For example, applications pre-installed in the image processing device 100 may support the LAN-less setting. An application that supports the LAN-less setting may be an application that can stop providing its own server function by referring to the LAN-less setting 502 or in response to an instruction from the application management software 203. If the applications pre-installed in the image processing device 100 support the LAN-less setting, it is sufficient to subject only the later-installed applications to the processing in S604 to S606.
[0038] The one or more applications that are the targets of the processes of S604 to S606 may be managed in a list, and this list may be stored in the secondary storage device 104. The application management software 203 may update this list every time an application is installed or uninstalled.
[0039] In S604, the application management software 203 determines whether the selected application is running. If it is determined that the selected application is running ("YES" in S604), the application management software 203 transitions the process to S605; otherwise ("NO" in S604), the application management software 203 transitions the process to S607. If the selected application is not running (i.e., is in a stopped state), this application is not providing a server function. Therefore, the application management software 203 does not need to prevent the selected application from providing a server function at this point. As will be described later, the application management software 203 may prevent the launch of such an application.
[0040] In S605, the application management software 203 determines whether the selected application is an application that declares a port number to be used by the server function. If the application management software 203 determines that the selected application is such an application ("YES" in S605), it transitions the process to S606; otherwise ("NO" in S605), it transitions the process to S607. For example, the application management software 203 may acquire the manifest file 301 of the selected application and, based on the fact that the manifest file 301 includes a port declaration, determine that the selected application is an application that declares a port number to be used by the server function. The manifest file 301 of the selected application may be stored in the secondary storage device 104 when the application is installed. The application management software 203 may also determine that the selected application is an application that declares a port number to be used by the server function by other methods.
[0041] Step S606 is executed when it is determined that the selected application is running and that this application declares the port number used by the server function. In step S606, the application management software 203 stops the selected running application. This prevents this application from providing the server function.
[0042] In S607, the application management software 203 determines whether the processes of S604 to S606 have been executed for all of the one or more applications that are the targets of the processes of S604 to S606. If it is determined that the processes have been executed for all applications ("YES" in S607), the application management software 203 ends the process, and otherwise ("NO" in S607), the process returns to S603.
[0043] In the method of Fig. 6, by executing S602 before S603 to S607, when the LAN-less setting is disabled for all network interfaces, it is not necessary to determine the operating state of each application. This speeds up the execution of the method of Fig. 6. Alternatively, S602 may be omitted.
[0044] 6, an application that provides a server function through a network interface for which the LAN-less setting is enabled is stopped, which prevents clients from connecting to the image processing device 100 through this network interface, thereby reducing the risk of the image processing device 100 being attacked.
[0045] An example of the operation of the image processing device 100 will be described with reference to Fig. 7. Each step in Fig. 7 may be executed by the application management software 203. The application management software 203 may start the operation in Fig. 7 in response to the image processing device 100 starting up and the application management software 203 starting up accordingly. At the start of the operation in Fig. 7, all applications are in a stopped state. When an application is started individually, the application management software 203 may execute the processes of S703 to S705 for this application.
[0046] In S701, the application management software 203 acquires the LAN-less settings 502 stored in the secondary storage device 104. In S702, the application management software 203 selects one application that has not yet undergone the processing of the subsequent steps S703 to S705 from among the one or more applications that are to be processed. The one or more applications that are to be processed may be the same as those described in S603.
[0047] In S703, the application management software 203 determines whether the LAN-less setting is enabled ("ON") for any of the network interfaces. If it is determined that the LAN-less setting is enabled for any of the network interfaces ("YES" in S703), the application management software 203 transitions the process to S704, and otherwise ("NO" in S703), the application management software 203 transitions the process to S705. If the LAN-less setting is disabled for all network interfaces, there is no need to suppress the provision of the server function of the application. Therefore, in S705, the application management software 203 launches the selected application. Specifically, the application management software 203 reads the selected application from the secondary storage device 104 to the RAM 103 and starts executing the selected application.
[0048] In S704, the application management software 203 determines whether the selected application is an application that declares a port number used by the server function. If the application management software 203 determines that the selected application is such an application ("YES" in S704), it transitions the process to S705, and otherwise ("NO" in S704), it transitions the process to S706. Identifying whether the selected application is an application that declares a port number used by the server function may be performed in the same manner as in S605. If the selected application does not declare a port number, this application does not require server function, and therefore there is no need to suppress the provision of the server function of the application. Therefore, in S705, the application management software 203 launches the selected application.
[0049] On the other hand, if the LAN-less setting is enabled for any of the network interfaces and the selected application declares a port number, the application management software 203 does not execute S705 for this application and suppresses the startup of this application, thereby suppressing the provision of server functions by this application.
[0050] In S706, the application management software 203 determines whether the processes of S703 to S705 have been executed for all of the one or more applications that are the target of the processes of S703 to S705. If it is determined that the processes have been executed for all applications ("YES" in S706), the application management software 203 ends the process, and otherwise ("NO" in S706), the process returns to S702.
[0051] 7, an application that provides a server function through a network interface for which the LAN-less setting is enabled is not started, which prevents clients from connecting to the image processing device 100 through this network interface, thereby reducing the risk of the image processing device 100 being attacked.
[0052] <Second embodiment> An image processing device 100 according to the second embodiment will be described with reference to Figures 8 to 10. Differences from the image processing device 100 according to the first embodiment will be described below. Points in the second embodiment that will not be described may be the same as those in the first embodiment.
[0053] In the first embodiment, the provision of the server function is inhibited by stopping the application that provides the server function. In the second embodiment, the provision of the server function is inhibited by prohibiting the application from using the port number declared by the application. Therefore, the application itself can be executed. Furthermore, in the second embodiment, the application is prohibited or permitted from using the port number declared by the application for each of multiple network interfaces.
[0054] An example of setting the authority to use a port number will be described with reference to FIG. 8. The authority may be granted for each application. Authority 801 specifies that a connection to port number "9000" for a network interface assigned IP address "10.10.10.10" (e.g., network interface 107 connected to a wired LAN) is permitted, and other connections are prohibited. An application granted authority 801 provides server functionality for requests sent to port number "9000" of IP address "10.10.10.10," but does not provide server functionality for requests sent to other port numbers of IP address "10.10.10.10" or other IP addresses. For example, it does not provide server functionality for requests made through a network interface assigned IP address "1.1.1.1" (e.g., network interface 107 connected to a wireless LAN). Authority 802 specifies that a connection to all port numbers for all network interfaces is permitted.
[0055] An example of the operation of the image processing device 100 will be described with reference to Fig. 9. Each step in Fig. 9 may be executed by the application management software 203. The application management software 203 may start the operation in Fig. 9 in response to an update of the LAN-less setting 502. As described above, the LAN-less setting 502 may be updated in response to the user pressing the button 412 on the screen 410.
[0056] S601 and S603 to S605 may be the same as those in the first embodiment shown in Fig. 6, and therefore redundant explanations will be omitted. If the application management software 203 determines that the selected application is such an application ("YES" in S605), it transitions the process to S901, and otherwise ("NO" in S605), it transitions the process to S607.
[0057] In S901, the application management software 203 determines whether the LAN-less setting is enabled ("ON") for any of the network interfaces. If it is determined that the LAN-less setting is enabled for any of the network interfaces ("YES" in S901), the application management software 203 transitions the process to S903; otherwise ("NO" in S901), the application management software 203 transitions the process to S902. If the LAN-less setting is disabled for all network interfaces, there is no need to suppress the provision of the server function of the application. Therefore, in S902, the application management software 203 grants the selected application the authority to use the declared port number on all network interfaces. For example, the application management software 203 grants the selected application authority 802.
[0058] In S903, the application management software 203 selects one of the one or more network interfaces that are to be subjected to the subsequent processing of S904 to S905, on which these processing has not yet been performed. The one or more network interfaces that are to be subjected to the processing of S904 to S905 may be all network interfaces of the image processing device 100. Alternatively, the one or more network interfaces that are to be subjected to the subsequent processing of S904 to S905 may be network interfaces designated by the administrator of the image processing device 100.
[0059] The one or more network interfaces that are the targets of the processing of S904 to S905 may be managed in a list, and this list may be stored in the secondary storage device 104. The application management software 203 may update this list every time a network interface is added or removed.
[0060] In S904, the application management software 203 determines whether the LAN-less setting is enabled ("ON") for the selected network interface. If it is determined that the LAN-less setting is enabled for the selected network interface ("YES" in S904), the application management software 203 transitions the process to S906; otherwise ("NO" in S904), the application management software 203 transitions the process to S905. If the LAN-less setting is disabled for the selected network interface, provision of the server function of the application through this network interface is not prohibited. Therefore, in S905, the application management software 203 grants the selected application the authority to use the declared port number on the selected network interface. For example, the application management software 203 grants the selected application authority 801. As a result, the selected application is permitted to provide the server function through the selected network interface.
[0061] On the other hand, if the LAN-less setting is enabled for the selected network interface, the application is prohibited from providing server functions through this network interface. Therefore, the application management software 203 does not grant the selected application the authority to use the declared port number on the selected network interface. As a result, the selected application is prohibited from providing server functions through the selected network interface.
[0062] In S906, the application management software 203 determines whether the processing of S904 to S905 has been executed for all of the one or more network interfaces that are the target of the processing of S904 to S905. If it is determined that the processing has been executed for all network interfaces ("YES" in S906), the application management software 203 transitions the processing to S607, and otherwise ("NO" in S906), transitions the processing to S903.
[0063] An example of the operation of the image processing device 100 will be described with reference to Fig. 10. Each step in Fig. 10 may be executed by the application management software 203. The application management software 203 may start the operation in Fig. 10 in response to the image processing device 100 starting up and the application management software 203 starting up accordingly. At the start of the operation in Fig. 10, all applications are in a stopped state.
[0064] 10 differs from the method of FIG. 9 in that it does not include S604 but does include S1001, but may be similar in other respects. S1001 is executed after a "NO" determination is made in S605, after S902, and after a "YES" determination is made in S906. At the time of execution of S1001, the application selected in S603 has been granted authority according to the LAN-less setting 502. Therefore, in S1001, the application management software 203 launches the selected application. Specifically, the application management software 203 reads the selected application from the secondary storage device 104 to the RAM 103 and starts execution of the selected application.
[0065] In the second embodiment, a client cannot connect to the image processing device 100 through a network interface that prohibits the use of a declared port number, thereby reducing the risk of attack on the image processing device 100. Furthermore, in the second embodiment, authority is individually granted for each network interface, so that the image processing device 100 can provide a server function to clients connected to the network 110, for example, but not provide services to clients connected to the Internet 120.
[0066] <Third embodiment> An image processing device 100 according to the third embodiment will be described with reference to Figs. 11 to 13. Differences from the image processing device 100 according to the first embodiment will be described below. Points that will not be described in the third embodiment may be the same as those in the first embodiment. Furthermore, differences between the first and second embodiments may be applied to the third embodiment.
[0067] An example of a program file 300 of an application installed in the image processing device 100 will be described with reference to FIG. 11. The manifest file 301 of the application includes an attribute 1103 that declares whether or not the application supports the LAN-less setting. As described above, supporting the LAN-less setting may mean supporting the prohibition of providing a server function. The attribute 1103 includes a name for identifying the attribute 1103 ("LANLessCompliant" in the example of FIG. 11) and a value of the attribute 1103 ("true" in the example of FIG. 3). The value of the attribute 1103 is "true" when the application declares that it supports the LAN-less setting, and is "false" when the application declares that it does not support the LAN-less setting. In the following description, a declaration of support for the LAN-less setting will be referred to as a support declaration.
[0068] An example of the operation of the image processing device 100 will be described with reference to Fig. 12. Each step in Fig. 12 may be executed by the application management software 203. The application management software 203 may start the operation in Fig. 12 in response to an update of the LAN-less setting 502. As described above, the LAN-less setting 502 may be updated in response to the user pressing the button 412 on the screen 410.
[0069] The method of FIG. 12 differs from the method of FIG. 6 in that it includes S1201, but may be similar in other respects. S1201 is executed after a determination of "YES" is made in S605. In S1201, the application management software 203 determines whether the selected application is an application that declares that it supports the LAN-less setting. If the application management software 203 determines that the selected application is such an application ("YES" in S1201), the process proceeds to S607. Otherwise ("NO" in S1201), the process proceeds to S606. For example, the application management software 203 may obtain the manifest file 301 of the selected application and, based on whether the manifest file 301 includes "support," determine that the selected application is an application that declares that it supports the LAN-less setting. Because an application that supports the LAN-less setting can stop its server function by itself, the application management software 203 does not suppress the provision of the server function of this application (i.e., does not stop this application). On the other hand, the application management software 203 suppresses the provision of the server function of an application that does not declare that it supports the LAN-less setting (that is, stops this application).
[0070] An example of the operation of the image processing device 100 will be described with reference to Fig. 13. Each step in Fig. 13 may be executed by the application management software 203. The application management software 203 may start the operation in Fig. 13 in response to the image processing device 100 starting up and the application management software 203 starting up accordingly. At the start of the operation in Fig. 13, all applications are in a stopped state.
[0071] The method of FIG. 13 differs from the method of FIG. 7 in that it includes S1301, but may be similar in other respects. S1301 is executed after a determination of "YES" is made in S704. In S1301, the application management software 203 determines whether the selected application is an application that declares support for the LAN-less setting. If the application management software 203 determines that the selected application is such an application ("YES" in S1301), the process proceeds to S705. Otherwise ("NO" in S1301), the process proceeds to S706. For example, the application management software 203 may obtain the manifest file 301 of the selected application and, based on whether the manifest file 301 includes "support," determine that the selected application is an application that declares support for the LAN-less setting. Because an application that supports the LAN-less setting can stop its server function by itself, the application management software 203 does not suppress the provision of the server function of this application (i.e., launches this application). On the other hand, the application management software 203 suppresses the provision of the server function of an application that does not declare that it supports the LAN-less setting (that is, does not start this application).
[0072] In the third embodiment, a client cannot connect to the image processing device 100 through a network interface that prohibits the use of a declared port number, thereby reducing the risk of attacking the image processing device 100. Furthermore, in the third embodiment, the provision of server functions of applications that support LAN-less settings is not restricted, so the applications can perform operations other than the server functions.
[0073] <Summary of the embodiment> [Item 1] A device, A network interface; execution means for executing one or more applications; an acquisition means for acquiring an instruction to prohibit provision of a server function through the network interface, The execution means of the device suppresses the provision of server functions by an application among the one or more applications that declares a port number to be used for the server function when the provision of server functions through the network interface is prohibited. [Item 2] The device according to item 1, wherein the execution means identifies an application that declares a port number to be used by the server function based on the fact that the manifest file contains an attribute indicating a port number to be used by the server function. [Item 3] 3. The device according to item 1 or 2, wherein suppressing the provision of the server function by the application includes stopping the application if the application is running. [Item 4] 4. The device according to any one of items 1 to 3, wherein suppressing the provision of a server function by the application includes suppressing the launch of the application. [Item 5] 3. The device according to item 1 or 2, wherein suppressing the provision of a server function by the application includes prohibiting the application from using a port number declared by the application. [Item 6] the device includes a plurality of network interfaces; 6. The device according to any one of items 1 to 5, wherein the acquisition means acquires an instruction to prohibit provision of a server function for each of the plurality of network interfaces. [Item 7] The execution means suppressing provision of a server function through a network interface that is prohibited from providing a server function among the plurality of network interfaces; 7. The device according to item 6, wherein the device permits provision of a server function through a network interface among the plurality of network interfaces that is not prohibited from providing a server function. [Item 8] When provision of a server function through the network interface is prohibited, the execution means among the one or more applications, restricting provision of the server function by an application that declares a port number to be used for the server function and does not declare support for prohibition of provision of the server function; A device according to any one of items 1 to 7, wherein the device does not restrict the provision of server functions by an application among the one or more applications that declares a port number to be used for server functions and that declares that it supports the prohibition of providing server functions. [Item 9] 9. The device of any one of claims 1 to 8, wherein the one or more applications include applications installed after the device is shipped. [Item 10] 10. The device according to any one of items 1 to 9, wherein the device is an image processing device. [Item 11] A program for causing a computer to function as each means of the device described in any one of items 1 to 10. [Item 12] A method for controlling a device equipped with a network interface, comprising: an execution step in which an execution means executes one or more applications; an acquisition step in which an acquisition means acquires an instruction to prohibit provision of a server function through the network interface; A control method comprising: a suppression step in which, when the provision of server functions through the network interface is prohibited, the execution means suppresses the provision of server functions by an application among the one or more applications that declares a port number to be used for the server function.
[0074] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]
[0075] 100 Image processing device, 203 Application management software, 301 Manifest file
Claims
1. A device, A network interface; execution means for executing one or more applications; an acquisition means for acquiring an instruction to prohibit provision of a server function through the network interface, The execution means of the device suppresses the provision of server functions by an application among the one or more applications that declares a port number to be used for the server function when the provision of server functions through the network interface is prohibited.
2. The device according to claim 1 , wherein the execution means identifies an application that declares a port number to be used by a server function based on the fact that a manifest file contains an attribute indicating a port number to be used by the server function.
3. The device of claim 1 , wherein inhibiting the application from providing the server function includes stopping the application if the application is running.
4. The device of claim 1 , wherein inhibiting the application from providing a server function includes inhibiting the application from launching.
5. The device of claim 1 , wherein inhibiting the application from providing a server function includes prohibiting the application from using a port number declared by the application.
6. the device includes a plurality of network interfaces; The device according to claim 1 , wherein the acquisition means acquires an instruction to prohibit provision of a server function for each of the plurality of network interfaces.
7. The execution means suppressing provision of a server function through a network interface that is prohibited from providing a server function among the plurality of network interfaces; The device according to claim 6 , wherein the device permits provision of a server function through a network interface that is not prohibited from providing a server function, among the plurality of network interfaces.
8. When provision of a server function through the network interface is prohibited, the execution means suppressing provision of the server function by an application among the one or more applications that declares a port number to be used by the server function and does not declare support for prohibition of provision of the server function; The device according to claim 1 , wherein the device does not inhibit provision of the server function by an application that declares a port number to be used for a server function and that declares support for prohibiting provision of the server function, among the one or more applications.
9. The device of claim 1 , wherein the one or more applications include applications installed after shipment of the device.
10. The device of claim 1 , wherein the device is an image processing device.
11. A program for causing a computer to function as each of the means of the device according to any one of claims 1 to 10.
12. A method for controlling a device equipped with a network interface, comprising: an execution step in which an execution means executes one or more applications; an acquisition step in which an acquisition means acquires an instruction to prohibit provision of a server function through the network interface; A control method comprising: a suppression step in which, when the provision of server functions through the network interface is prohibited, the execution means suppresses the provision of server functions by an application among the one or more applications that declares a port number to be used for the server function.
Citation Information
Patent Citations
Information processor, method for controlling the same, and program
JP2020154832A