Information processing device, information processing method, program, and user terminal device
Patent Information
- Application Number
- JP2025058608
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2026-10-14
Smart Images

Figure 2026165943000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing device, an information processing method, a program, and a user terminal device.
Background Art
[0002] Conventionally, in anti-phishing technologies, obfuscation technologies that intentionally make identification information and detection mechanisms obscure are known to make analysis and evasion of attacks by phishing attackers difficult. For example, Patent Document 1 discloses a program obfuscation method with improved safety against dynamic analysis.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of Invention
Problems to be Solved by the Invention
[0004] Here, in the obfuscation technology as described above, when determining a terminal device that makes an access request to a server, there is a case where it is determined whether the access is abnormal by analyzing a UserAgent. However, the UserAgent can be easily spoofed, and phishing attackers may sometimes slip past the countermeasures of security managers.
[0005] The present invention has been made in consideration of such circumstances, and an object thereof is to provide an information processing device, an information processing method, a program, and a user terminal device that are capable of estimating a terminal device.
Means for Solving the Problems
[0006] (1) One aspect of the present invention is an information processing device comprising: an acquisition unit that acquires a computer program having a part that is designed to always cause an error when executed and a part that transmits an error stack generated in conjunction with the occurrence of the error from a device inside or outside the device; a transmission unit that transmits the acquired computer program to a user terminal device; a receiving unit that receives the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program; and an estimation unit that estimates the user terminal device based on the received error stack.
[0007] (2) In addition, in one aspect of the present invention, in the information processing device described in (1) above, the estimation unit estimates the type of web browser installed on the user terminal device.
[0008] (3) In addition, in one aspect of the present invention, in the information processing apparatus described in (1) or (2) above, the estimation unit estimates the user terminal device based on the result of comparing the trend of the error stack obtained as a result of transmitting the computer program to the user terminal device in the past with the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program.
[0009] (4) In addition, in one aspect of the present invention, in any of the information processing devices described in (1) to (3) above, the acquisition unit acquires a plurality of computer programs, the transmission unit transmits one of the plurality of computer programs to the user terminal device, and the estimation unit estimates the user terminal device based on the result of comparing the error stack received by the receiving unit with a template corresponding to the computer program transmitted to the user terminal device.
[0010] (5) In addition, one aspect of the present invention further comprises an information processing device according to any of (1) to (4) described above, which further includes a control unit that controls the user terminal device to display a display screen corresponding to the result estimated by the estimation unit.
[0011] (6) In addition, in one aspect of the present invention, in any of the information processing devices described in (1) to (5) above, the estimation result of the user terminal device performed by the estimation unit is used for authentication of the user terminal device.
[0012] (7) Another aspect of the present invention is an information processing method performed using a computer, comprising: an acquisition step of acquiring a computer program from an internal or external device of the device, the computer program having a portion that is designed to always cause an error when executed and a portion that transmits an error stack generated in conjunction with the occurrence of the error; a transmission step of transmitting the acquired computer program to a user terminal device; a receiving step of receiving the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program; and an estimation step of estimating the user terminal device based on the received error stack.
[0013] (8) Another aspect of the present invention is a program that causes a computer to perform the following steps: an acquisition step of acquiring a computer program from an internal or external device, the computer program having a portion that is designed to always cause an error when executed and a portion that transmits an error stack generated in conjunction with the occurrence of the error; a transmission step of transmitting the acquired computer program to a user terminal device; a receiving step of receiving the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program; and an estimation step of performing an estimation of the user terminal device based on the received error stack.
[0014] (9) Another aspect of the present invention is a user terminal device comprising at least a processor and memory, which acquires a computer program from an information processing device having a portion that is designed to always cause an error when executed and a portion that transmits an error stack generated in conjunction with the occurrence of the error, executes the acquired computer program, and transmits information based on the error stack obtained as a result of executing the computer program to the information processing device.
[0015] (10) In another aspect of the present invention, in the user terminal device described in (9) above, terminal estimation is performed based on the error stack obtained as a result of executing the computer program, and the information based on the error stack obtained as a result of executing the computer program is the information obtained as a result of performing terminal estimation.
[0016] (11) In addition, in the user terminal device described in (10) above, terminal information relating to a plurality of user terminal devices is stored, the stored terminal information is compared with the result of terminal estimation, and the information based on the error stack obtained as a result of executing the computer program is the stored terminal information and the information obtained as a result of terminal estimation. [Effects of the Invention]
[0017] According to the present invention, it is possible to provide an information processing device, an information processing method, a program, and a user terminal device that are capable of estimating terminal devices. [Brief explanation of the drawing]
[0018] [Figure 1] This is a diagram illustrating the overview of the information processing system according to this embodiment. [Figure 2] This is a functional configuration diagram showing an example of the functional configuration of the information processing device according to this embodiment. [Figure 3]This is a sequence diagram showing a series of flows of the information processing method according to the present embodiment. [Figure 4] This is a sequence diagram showing an example of the flow after estimation by the user terminal device, regarding the series of flows of the information processing method according to the present embodiment. [Figure 5] This is a sequence diagram showing a modified example of the flow after estimation by the user terminal device, regarding the series of flows of the information processing method according to the present embodiment. [Figure 6] This is a block diagram showing an example of the internal configuration of the information processing device according to the present embodiment. [Mode for Carrying Out the Invention]
[0019] [Embodiment] The information processing device, information processing method, program, and user terminal device according to aspects of the present invention will be described in detail below by referring to the attached drawings, with preferred embodiments set forth. Note that the aspects of the present invention are not limited to these embodiments, and include those with various modifications or improvements. That is, the constituent elements described below include those that can be easily assumed by a person skilled in the art and those that are substantially the same, and the constituent elements described below can be appropriately combined. In addition, various omissions, substitutions, or alterations of the constituent elements can be made without departing from the gist of the present invention. In addition, in the following drawings, the scale, number, and the like of each structure may be made different from the scale, number, and the like of the actual structure in order to make each configuration easy to understand.
[0020] Figure 1 is a diagram for explaining the outline of the information processing system according to the present embodiment. First, the information processing system 1 will be described with reference to the figure. The information processing system 1 is configured to include an information processing apparatus 10 and user terminal apparatuses 30. The information processing apparatus 10 and the user terminal apparatuses 30 perform information communication with each other via a predetermined information communication network NW. In the illustrated example, the information processing apparatus 10 and a plurality of user terminal apparatuses 30 are connected to each other via the predetermined information communication network NW. In the illustrated example, as specific examples of the plurality of user terminal apparatuses 30, a user terminal apparatus 30-1, a user terminal apparatus 30-2, ..., and a user terminal apparatus 30-n (n is a natural number of 1 or more) are shown.
[0021] The predetermined information communication network NW is a communication network configured using communication lines. As a specific example of the predetermined information communication network NW, the Internet can be cited. The predetermined information communication network NW is an open network, and apparatuses connected to the information communication network NW can mutually perform information communication using a predetermined protocol. More specifically, in the Internet layer of the information communication network NW, communication using the Internet Protocol (IP) or the like may be performed.
[0022] The information processing apparatus 10 is installed in a server. The information processing apparatus 10 transmits information to the user terminal apparatus 30, and estimates the user terminal apparatus 30 based on the returned result. The estimation of the user terminal apparatus 30 may be estimation of model information (for example, manufacturer and model number) of the user terminal apparatus 30, or may be estimation of the type and version of the web browser used by the user terminal apparatus 30. Further, the estimation of the user terminal apparatus 30 may be estimation for determining whether the user terminal apparatus 30 belongs to a malicious user. The information processing apparatus 10 may perform predetermined processing such as terminal authentication based on the estimated result.
[0023] The user terminal device 30 performs information communication via a predetermined information communication network NW. Specifically, the user terminal device 30 may be a smartphone, tablet terminal, wearable device, etc.
[0024] Figure 2 is a functional configuration diagram showing an example of the functional configuration of the information processing device according to this embodiment. An example of the functional configuration of the information processing device 10 will be described with reference to the figure. The information processing device 10 comprises an acquisition unit 11, a communication unit 12, an estimation unit 13, and a control unit 14. Each of these functional units is implemented, for example, using an electronic circuit. Each functional unit may also be equipped with internal storage means such as semiconductor memory or a magnetic hard disk drive, as needed. Furthermore, each function may be implemented by a computer having a CPU (Central Processing Unit) and software. In addition, all or part of each functional unit may be implemented using hardware such as an ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), or FPGA (Field-Programmable Gate Array). Furthermore, all or part of each functional unit may be implemented by a combination of software and hardware.
[0025] The acquisition unit 11 acquires an error program. In this embodiment, an error program is a computer program designed to generate an error when executed. Specifically, the error program includes a part designed to always generate an error when executed, and a part that returns the error stack generated when the error occurs to the source. In the illustrated example, the acquisition unit 11 acquires the error program from the storage unit 50. In the illustrated example, the storage unit 50 is shown as an external component of the information processing device 10, but the storage unit 50 may be included in the information processing device 10, or it may be located in a network-connected location such as the cloud. That is, the acquisition unit 11 may acquire the error program by reading information from an internal memory such as ROM, or it may acquire the error program from an externally provided component.
[0026] The example shown in the figure illustrates a case where a pre-generated error program is obtained from the storage unit 50, but this embodiment is not limited to this example. For example, the acquisition unit 11 may dynamically generate an error program based on a predetermined algorithm. The error program may differ depending on external information such as the time, and the user terminal device 30 to which the error program is sent.
[0027] The communication unit 12 communicates information with the user terminal device 30. Specifically, the communication unit 12 comprises a transmitting unit 12A and a receiving unit 12B. The communication unit 12 communicates information with the user terminal device 30 via a predetermined information communication network NW.
[0028] The transmission unit 12A transmits the error program acquired by the acquisition unit 11 to the user terminal device 30.
[0029] When the user terminal device 30 receives an error program from the information processing device 10, it executes the error program. When the user terminal device 30 executes the error program, some kind of error inevitably occurs. The user terminal device 30 then sends the error stack generated as a result of the error to the information processing device 10, which is the source of the error program.
[0030] The receiving unit 12B receives the error stack obtained as a result of executing the error program from the user terminal device 30 that sent the error program.
[0031] Here, the error stack generated by executing the error program will differ depending on the model of the user terminal device 30 and the web browser used by the user terminal device 30. A specific example is given below.
[0032] First, here is an example of an error stack:
[0033] Error at http: / / localhost / abc / def:5:971 at window.xyz (http: / / localhost / abc / def:33:7273) at http: / / localhost / efg / hij:1:564 at onload (http: / / localhost / efg / hij:1:1924)
[0034] As you can see in the first example, the function name separated by "at" is followed by the source code file name enclosed in parentheses.
[0035] Furthermore, a second example of the error stack is as follows. Note that the second example is assumed to be output from a different user terminal device 30 than the user terminal device 30 that outputs the first example.
[0036] @https: / / localhost / abc / def:22:1398 @https: / / localhost / abc / def:22:1701 @https: / / localhost / efg / hij:1:299 @https: / / localhost / efg / hij:1:1506
[0037] The error stack generated will differ depending on the type (or program) of the user terminal device 30 being executed. Furthermore, the error stack will also differ depending on where the error occurs.
[0038] The estimation unit 13 estimates the user terminal device 30 based on the error stack received by the receiving unit 12B. Specifically, the estimation unit 13 may estimate the user terminal device 30 based on the output format of the error stack received by the receiving unit 12B. Here, the estimation of the user terminal device 30 may be, for example, the estimation of the model information of the user terminal device 30, or the estimation of the type of web browser installed on the user terminal device 30. Any estimation method can be applied as long as it is based on at least the obtained error stack.
[0039] Specifically, the estimation unit 13 may estimate the user terminal device 30 based on the trend of the error stack obtained as a result of sending an error program to the user terminal device 30 in the past. In this case, it is preferable to send an error program to a known user terminal device 30 (i.e., a user terminal device 30 whose model information and the web browser used are known), accumulate the resulting error stack, and grasp the trend. The estimation unit 13 estimates the user terminal device 30 based on the result of comparing the trend of the error stack obtained as a result of sending an error program to the user terminal device 30 in the past with the error stack actually obtained (the error stack obtained from the user terminal device 30 to be estimated).
[0040] The control unit 14 performs overall control of the information processing device 10. Specifically, the control unit 14 causes the computer to perform the functions described above by executing a predetermined information processing program. In addition to performing the functions described above, the control unit 14 may also perform post-estimation processing. Several post-estimation processing options are possible, but one example will be described below.
[0041] First, as an example of post-estimation processing, a display screen switching process can be exemplified. For example, if the user terminal device 30 is an older model, it may not be able to display the latest display screen. According to this embodiment, since it is possible to estimate the user terminal device 30, it becomes possible to display a display screen suitable for the user terminal device 30. In other words, the control unit 14 can control the user terminal device 30 to display a display screen corresponding to the result estimated by the estimation unit 13.
[0042] Furthermore, as an example of post-estimation processing, authentication can be used. For example, by applying this embodiment, if it is determined that a user is malicious, authentication can be bypassed, making it possible to authenticate only good-faith users. Specifically, in the case of a malicious user, the error stack may return null (empty string), false, or an error stack that a normal good-faith user would not return. Therefore, if such a response is obtained, it can be determined that the user is malicious. In this case, the estimation result of the user terminal device 30 performed by the estimation unit 13 can be used for authentication of the user terminal device 30.
[0043] Furthermore, the error program according to this embodiment only needs to include, at a minimum, a part that is designed to always generate an error when executed, and a part that returns the error stack generated when the error occurs to the sender. Therefore, it can be easily generated and the computer program size is small. Thus, it is possible to easily prepare multiple types of error programs. Moreover, the error stack output by the user terminal device 30 will differ depending on the type of error program.
[0044] If multiple types of error programs are used, a malicious user (attacker) would need to be able to handle multiple types of error programs in order to circumvent the estimation method according to this embodiment. However, since multiple types of error programs according to this embodiment can be easily prepared with slight differences in detail, it is not easy for an attacker to circumvent them.
[0045] In this case, the acquisition unit 11 acquires multiple error programs. These multiple error programs may be pre-generated and stored in the storage unit 50, or they may be dynamically generated by the acquisition unit 11. The transmission unit 12A transmits one of the multiple error programs to the user terminal device 30. The type of error program to transmit may be appropriately determined depending on external factors such as the time and the type of user terminal device 30. The user terminal device 30 generates an error stack corresponding to the type of error program transmitted and transmits the error stack to the information processing device 10. The estimation unit 13 makes an estimation of the user terminal device 30 based on the result of comparing the error stack received by the receiving unit 12B with a template corresponding to the error program transmitted to the user terminal device 30. The template is prepared according to the transmitted error program and represents the result that should be obtained as a result of a good-faith user executing the error program.
[0046] Figure 3 is a sequence diagram showing a series of steps in the information processing method according to this embodiment. Referring to this figure, an example of an information processing method implemented using the information processing device 10 described above will be explained.
[0047] (Step S11) First, the information processing device 10 acquires an error program. This process may be described as an acquisition process or acquisition step.
[0048] (Step S12) Next, the information processing device 10 transmits the acquired error program to the user terminal device 30. This process may be described as a transmission process or a transmission step.
[0049] (Step S13) When the user terminal device 30 receives an error program, it executes the received error program. When the error program is executed, an error always occurs and an error stack is generated. The user terminal device 30 transmits the generated error stack to the information processing device 10. Note that this transmission process is embedded within the error program.
[0050] (Step S14) Next, the information processing device 10 obtains the error stack from the user terminal device 30 that sent the error program in step S12. This process may be described as the receiving process or receiving step.
[0051] (Step S15) The information processing device 10 makes an estimation of the user terminal device 30 based on the received error stack. This process may be described as an estimation process or estimation step.
[0052] Figure 4 is a sequence diagram showing an example of the flow of the information processing method according to this embodiment, after estimation of the user terminal device. The process shown in the figure is an example of a process performed after the process shown in Figure 3. In the illustrated example, the information processing device 10 controls the display screen to be displayed on the user terminal device 30. In the example shown in Figure 4, processes that have already been explained with reference to Figure 3 are denoted by the same reference numerals and their explanation is omitted. Specifically, steps S11 to S15 have already been explained with reference to Figure 3 and are therefore omitted from the explanation.
[0053] (Step S21) The information processing device 10 controls the display screen for the user terminal device 30. For example, if the user terminal device 30 is an older model or a model that has been specified in advance, a specific display screen may be displayed.
[0054] Figure 5 is a sequence diagram showing a modified example of the flow of the information processing method according to this embodiment, specifically the flow after estimation of the user terminal device. The process shown in the figure is an example of a process performed after the process shown in Figure 3. In the illustrated example, the information processing device 10 controls the display screen to be displayed on the user terminal device 30. In the example shown in Figure 5, processes that have already been explained with reference to Figure 3 are denoted by the same reference numerals and their explanation is omitted. Specifically, steps S11 to S15 have already been explained with reference to Figure 3, so their explanation is omitted.
[0055] (Step S31) The information processing device 10 authenticates the terminal. Specifically, the information processing device 10 determines whether the user is malicious based on the error stack sent from the user terminal device 30 to the information processing device 10 in step S14. For example, if the error stack sent from the user terminal device 30 to the information processing device 10 in step S14 is null (empty string), false, or any other information that a normal, good-faith user would not return, the information processing device 10 determines that the user terminal device 30 is a malicious user.
[0056] (Step S33) The information processing device 10 then performs processing according to the authentication result. For example, the information processing device 10 may send the authentication result to the user terminal device 30.
[0057] Figure 6 is a block diagram showing an example of the internal configuration of an information processing device according to this embodiment. At least some of the functions of the network 30 or terminal device 50 can be realized using a computer. As shown in the figure, the computer consists of a central processing unit (processor) 901, RAM 902, input / output ports 903, input / output devices 904 and 905, etc., and a bus 906. The computer itself can be realized using existing technology. The central processing unit 901 executes instructions contained in programs read from RAM 902, etc. The central processing unit 901 writes data to RAM 902, reads data from RAM 902, and performs arithmetic and logical operations according to each instruction. RAM 902 stores data and programs. Each element contained in RAM 902 has an address and can be accessed using that address. RAM stands for "Random Access Memory". Input / output ports 903 are ports for the central processing unit 901 to exchange data with external input / output devices, etc. Input / output devices 904 and 905 are input / output devices. Input / output devices 904 and 905 exchange data with the central processing unit 901 via input / output port 903. Bus 906 is a common communication channel used within the computer. For example, the central processing unit 901 reads and writes data to RAM 902 via bus 906. Also, for example, the central processing unit 901 accesses input / output ports via bus 906. Furthermore, all or part of each functional unit of the information processing device 10 may be implemented using hardware such as ASIC, PLD, or FPGA. Furthermore, all or part of each functional unit may be implemented by a combination of software and hardware.
[0058] [Example 1] In the embodiment described above, an example was described in which the user terminal device 30 transmits a stack trace to the information processing device 10, and the information processing device 10 (i.e., the server) performs terminal estimation. However, as described above, this embodiment is not limited to the example in which terminal estimation is performed on the server side. For example, terminal estimation may be performed on the terminal side. In this case, the user terminal device 30 performs its own terminal estimation based on the stack trace and transmits the result to the information processing device 10. The user terminal device 30 may also compare the result of its own terminal estimation with terminal information previously obtained from the information processing device 10 or the like.
[0059] [Differentiation 2] Furthermore, as a further variation of the above-described variation 1, the user terminal device 30 may perform terminal estimation on the terminal side based on the stack trace, compare it with terminal information obtained by other methods, and transmit the comparison result to the information processing recognition 10. In addition, the above-described embodiments and variations may be implemented in combination or by selecting any one of the methods depending on the situation.
[0060] The user terminal device 30 that implements the above-described modifications 1 and 2 first requires, as a prerequisite, that it be equipped with at least a processor and memory. The user terminal device 30 has a function to acquire a computer program from the information processing device 10, which has a part that is designed to always generate an error when executed and a part that transmits the error stack generated when the error occurs. The user terminal device 30 also has a function to execute the acquired computer program and to estimate its own terminal based on the error stack obtained as a result of the execution.
[0061] Furthermore, the user terminal device 30 may perform other processing based on the results of terminal estimation. One example of such other processing is comparing the results of terminal estimation with terminal information from multiple devices. In this case, the information from multiple terminal devices is stored in the user terminal device 30 in advance.
[0062] The user terminal device 30 transmits some information to the information processing device 10 based on the error stack obtained as a result of executing the computer program. This information may be the error stack itself, the result of terminal estimation based on the error stack, or the result of comparing the terminal estimation result with other terminal information.
[0063] [Summary of Embodiments] According to the embodiment described above, the information processing device 10 comprises an acquisition unit 11, a transmission unit 12A, a receiving unit 12B, and an estimation unit 13. The acquisition unit 11 acquires an error program, which is a computer program having a part that is designed to always cause an error when executed, and a part that transmits an error stack generated when the error occurs. The transmission unit 12A transmits the acquired error program to the user terminal device 30. The receiving unit 12B receives the error stack obtained as a result of executing the error program from the user terminal device 30 that transmitted the error program. The estimation unit 13 estimates the user terminal device 30 based on the received error stack. By adopting such a configuration, according to this embodiment, the user terminal device 30 can be easily estimated.
[0064] Sending a stack trace to the server when an error occurs is a common practice, not limited to this embodiment. In this embodiment, since the stack trace is used to estimate the user terminal device 30, it is not obvious that the stack trace is being used for attack detection. Therefore, according to this embodiment, the user terminal device 30 can be estimated without the attacker knowing that the user terminal device 30 is being estimated.
[0065] Furthermore, the stack trace generated by the user terminal device 30 differs depending on the program being executed. Therefore, it is difficult for an attacker to know what kind of stack trace will be output when a program sent from the server is executed on the "user terminal device 30 to be impersonated". On the other hand, the server can easily find out what values the terminal is sending by actually collecting the stack trace from the terminal. Therefore, according to this embodiment, it is possible to preferably estimate the user terminal device 30.
[0066] Furthermore, any method can be used to determine what values a device sends. For example, by recording and linking it to the User-Agent, it is easy to know what values a device sends.
[0067] Furthermore, since the error program used in this embodiment can be any computer program that does not function correctly, it is easy to prepare a large number of error programs. For example, the information processing device 10 can increase the strength of its judgment by using an automatically generated program.
[0068] Furthermore, according to the embodiment described above, the estimation unit 13 estimates the type of web browser installed on the user terminal device 30. This is particularly useful when the user terminal device 30 is old, making estimation difficult. This embodiment is an effective method even for such old user terminal devices 30.
[0069] Furthermore, according to the embodiment described above, the estimation unit 13 estimates the user terminal device 30 based on a comparison between the trend of the error stack obtained as a result of sending an error program to the user terminal device 30 in the past and the error stack obtained as a result of executing the error program from the user terminal device 30 that sent the error program. According to this embodiment, since the estimation of the user terminal device 30 is performed based on the trend of the error stack obtained as a result of actually sending an error program to the user terminal device 30 in the past, it is possible to determine with high accuracy whether or not the user is malicious.
[0070] Furthermore, the above-described embodiment makes it possible to estimate, for example, a terminal device connected to a predetermined information and communication network NW. Based on the estimation result of the terminal device, authentication can be performed, or processing can be carried out according to the terminal processing (for example, displaying a suitable display screen). Therefore, according to this embodiment, it is possible to contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), "Build resilient infrastructure, promote sustainable industrialization and expand innovation."
[0071] Although embodiments of the present invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments, and design modifications and the like are also included within the scope of the gist of the present invention.
[0072] Alternatively, computer programs for realizing the functions of each of the above-mentioned devices may be recorded on a computer-readable recording medium, and the programs recorded on this recording medium may be loaded into a computer system and executed. Note that the term "computer system" here may include hardware such as an operating system and peripheral devices. Furthermore, "computer-readable recording media" refers to writable non-volatile memory such as flexible disks, magneto-optical disks, ROMs, and flash memory, portable media such as DVDs (Digital Versatile Discs), and storage devices such as hard disks built into computer systems.
[0073] Furthermore, "computer-readable recording media" also includes volatile memory (e.g., DRAM (Dynamic Random Access Memory)) within a computer system that acts as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line, which retains the program for a certain period of time. In addition, the above program may be transmitted from the computer system that stores the program in a storage device, etc., to another computer system via a transmission medium or by transmission waves within the transmission medium. Here, the "transmission medium" for transmitting the program refers to a medium that has the function of transmitting information, such as a network such as the Internet or a communication line such as a telephone line. Furthermore, the above program may be for the purpose of realizing a part of the above-mentioned functions. Moreover, it may be a so-called differential file (differential program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system. [Explanation of Symbols]
[0074] 1... Information processing system, 10... Information processing device, 30... User terminal device, 11... Acquisition unit, 12... Communication unit, 12A... Transmission unit, 12B... Receiving unit, 13... Estimation unit, 14... Control unit, 50... Storage unit
Claims
1. An acquisition unit that acquires a computer program from an internal or external device, the program having a part that is designed to always produce an error when executed, and a part that transmits the error stack generated when the error occurs, A transmission unit that transmits the acquired computer program to a user terminal device, A receiving unit receives the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program, An estimation unit that performs estimation of the user terminal device based on the received error stack, An information processing device equipped with the following features.
2. The estimation unit estimates the type of web browser installed on the user terminal device. The information processing apparatus according to claim 1.
3. The estimation unit estimates the user terminal device based on a comparison of the error stack trends obtained as a result of transmitting the computer program to the user terminal device in the past and the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program. The information processing apparatus according to claim 1 or claim 2.
4. The acquisition unit acquires a plurality of computer programs, The transmission unit transmits one of the multiple computer programs to the user terminal device. The estimation unit performs estimation of the user terminal device based on the result of comparing the error stack received by the receiving unit with the template corresponding to the computer program transmitted to the user terminal device. The information processing apparatus according to claim 1 or claim 2.
5. The system further includes a control unit that controls the user terminal device to display a display screen corresponding to the result estimated by the estimation unit. The information processing apparatus according to claim 1 or claim 2.
6. The estimation result of the user terminal device performed by the estimation unit is used for authentication of the user terminal device. The information processing apparatus according to claim 1 or claim 2.
7. A method of information processing performed using a computer, A computer program having a part that is designed to always produce an error when executed, and a part that transmits the error stack generated when the error occurs, is acquired from an internal or external device of the device; A transmission step of sending the acquired computer program to a user terminal device, A receiving step of receiving the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program, An estimation step is performed to estimate the user terminal device based on the received error stack, An information processing method having
8. On the computer, A computer program having a part that is designed to always produce an error when executed, and a part that transmits the error stack generated when the error occurs, is acquired from an internal or external device of the device, A transmission step of sending the acquired computer program to a user terminal device, A receiving step of receiving the error stack obtained as a result of executing the computer program from the user terminal device that transmitted the computer program, An estimation step is performed to estimate the user terminal device based on the received error stack, A program that executes the command.
9. A user terminal device comprising at least a processor and memory, A computer program having a section designed to always produce an error when executed, and a section that transmits the error stack generated when the error occurs, is obtained from an information processing device. Execute the acquired computer program, The information based on the error stack obtained as a result of executing the computer program is transmitted to the information processing device. User terminal device.
10. Based on the error stack obtained as a result of executing the aforementioned computer program, the terminal itself is estimated, The information based on the error stack obtained as a result of executing the aforementioned computer program is the information obtained as a result of performing the terminal estimation. The user terminal device according to claim 9.
11. Stores terminal information for multiple user terminal devices, The stored terminal information is compared with the result of the terminal estimation, The information obtained as a result of executing the computer program, based on the error stack, consists of the stored terminal information and the information obtained as a result of terminal estimation. The user terminal device according to claim 10.
Citation Information
Patent Citations
Program obfuscation device and program
JP2011018119A