WO2006016407A1 - Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置 - Google Patents
Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置 Download PDFInfo
- Publication number
- WO2006016407A1 WO2006016407A1 PCT/JP2004/011590 JP2004011590W WO2006016407A1 WO 2006016407 A1 WO2006016407 A1 WO 2006016407A1 JP 2004011590 W JP2004011590 W JP 2004011590W WO 2006016407 A1 WO2006016407 A1 WO 2006016407A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- jar file
- program
- identity confirmation
- information
- confirmation information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Definitions
- Java applet JAR file generation method, JAR file generation program, JAR file generation device
- the present invention relates to a Java ablet, and more particularly to a technique for preventing abuse of a Java ablet.
- ava bullets (hereinafter referred to as “abbrets”) downloaded via telecommunication lines, etc. are implemented in web applications (web browsers, etc.) on client terminals, etc., and executed by RE (Java Runtime Environment), and the client terminal Technology is provided for processing in
- FIG. 21 is a conceptual diagram for explaining normal processing when an applet without an electronic signature is executed.
- the case where an attacker tries to gain unauthorized access to the protected system resources (data, personal information, etc.) 13 in the client terminal C by using an unauthorized JAR file evil.jar91 is shown.
- the JAR file evil.jar91 is not digitally signed.
- the Web browser 11 requests the applet activation unit 12a of JRE 12 to activate the unauthorized applet (S72).
- the applet activation unit 12a loads the JAR file evil.jar91 based on the request (S73).
- the illegal JAR file evil.jar91 is not digitally signed to guarantee its origin. It is considered unreliable because it is not. Therefore, an access request (S74) to the protected system resource 13 by an unauthorized JAR file evil.jar91 (an unauthorized applet) is prohibited by the security manager 12b (S75).
- the protected system resource 13 cannot be accessed using an unguaranteed applet, and the user may be damaged. Absent.
- the access restriction as described above may be an obstacle to developing a Web application.
- the user may need to apply an electronic signature to an application form using information stored in the local device at the client terminal C.
- access to the local device on the client terminal side using an abbret is usually prohibited, and the system as described above cannot be realized.
- FIG. 22 is a conceptual diagram for explaining processing when a signed ablet is executed.
- the case where it is deployed with foo.jar93 and bar.jar92 force S and HTM L file “goodj.html” as a signed applet is shown.
- what is surrounded by a double-lined frame means that a signature has been applied.
- the Web browser 11 requests the ablet activation unit 12a of the JRE 12 to activate the ablet (S82). Based on the request, the ablet starting unit 12a loads the JAR files bar.jar92 and foo.jar93 (383;).
- the applet activation unit 12a verifies the contents of the signature. Then, a dialog for allowing the user to confirm the verification result is displayed (S84). If the user confirms the verification result using the dialog and determines that there is no problem, the security manager 12b considers the JAR files bar.jar92 and foo.jar93 to be reliable.
- a signed ablet is composed of reusable parts such as a signed JAR file. Therefore, the attacker can combine these signed JAR files with the attacker's own parts (incorrect 3 ⁇ 4 [AR file) and call the methods of the classes included in the signed JAR file or modify the fields. It is possible to attempt to use the signed JAR file for an illegal purpose different from the original intention of the person who created the signed JAR file (so-called illegal reconstruction attack).
- FIG. 23 is a diagram for explaining an example of the unauthorized reconstruction attack as described above.
- the attacker obtains the JAR file foo.j ar 93 with an electronic signature, illegally reconfigures the JAR file with the electronic signature and the malicious 3 ⁇ 4 [AR file evil.jar91, It shows the case of deploying along with the HTML finale “evil2.html”.
- the web browser 11 requests the applet activation unit 12a of the JRE 12 to activate the applet based on the applet tag included in “evil2.html” (S92).
- the applet activation unit 12a loads the JAR files evil.jar91 and foo.jar93 based on the request (S93).
- the ablet activation unit 12a verifies the contents of the signature and confirms the verification result to the user.
- a dialog for making it appear is displayed (S94). If the user confirms the verification result in the dialog and determines that there is no problem, the security manager 12b considers the JAR file foo.jar93 to be reliable. On the other hand, it is regarded as an unreliable copy of the signature file, the JAR file evil.jar91.
- the AR file foo.jar93 which is considered to be reliable, can perform operations that are normally prohibited for applets.
- an access request is issued to the protected system resource 13 using evil.jar91 force o.jar93 (S95), and the protected system resource 13 may be accessed via foo.jar93.
- S95 evil.jar91 force o.jar93
- S96 foo.jar93
- Unauthorized reconfiguration as described above may involve misuse of "privileged code", which is a mechanism for providing a function that a trusted program has to its own responsibility to an untrusted program, or the main logic.
- privileged code is a mechanism for providing a function that a trusted program has to its own responsibility to an untrusted program, or the main logic.
- the present invention has been made to solve the above-described problems, and an object thereof is to easily and reliably prevent an electronic signature and ava bullets from being illegally reused. Means for solving the problem
- the Java applet according to the present invention is a Java applet that causes a computer to execute a plurality of predetermined Java applet programs, and the ⁇ ava applet is used to guarantee the origin.
- the deployment information is an electronic signature and is based on the identity confirmation information for detecting falsification of the deployment information that defines the location of each of the plurality of predetermined Java ablet programs.
- the identity confirmation information includes a hash value of the deployment information or a part or all of the data of the deployment information.
- the identity confirmation information includes a hash value of each of the plurality of predetermined Java applet programs or the plurality of locations.
- the alteration detection step detects alteration of each of the plurality of predetermined Java tablet programs based on the identity confirmation information. It can also be configured.
- the deployment information is confirmed.
- Multiple predetermined Java applet programs can be loaded, and this ava applet and other predetermined Java applet programs have been altered to deviate from the intention of the author of the ava applet. This prevents the tablet program from being loaded.
- the method call processing based on the call request is performed.
- the method further includes a delegation step of delegating to a method corresponding to the called method in the plurality of predetermined Java applet programs.
- Java A method call process based on a method call request using a script can be performed for these predetermined Java applet programs.
- the applet stub set for the ava applet is used for a plurality of predetermined Java applet programs loaded in the loading step. It is assumed that the configuration has an applet stub setting step.
- the plurality of predetermined Java applet programs can be normally operated.
- a JAR file generation method is a Java client that causes a computer to execute a plurality of predetermined Java applet programs.
- the identity confirmation information for detecting falsification of the deployment information is defined as a class file in a predetermined package
- the electronic signature is applied to the current AR file
- the “same-package-same-signer” mechanism can prevent unauthorized alteration of the identity verification information.
- the identity confirmation information preferably includes a hash value of the deployment information or a part or all of the data of the deployment information.
- the front SJAR file generation step includes the deployment information, the identity confirmation information, and the information based on the deployment information and the identity confirmation information.
- a JAR file including a loading program for loading a plurality of predetermined Java ablet programs and a booting program for starting the loading program, the identity confirmation information, the loading program and the booting It can also be configured to generate a JAR file in which the program for the program is defined as a class file in the same package.
- the loading program for loading a plurality of predetermined Java applet programs into the JAR file generated in the JAR file generation step and the starting for starting the loading program By including the program for
- the front SJAR file generation step includes the plurality of the predetermined Java ablet programs, the deployment information, and the identity confirmation information.
- a JAR file including the predetermined Java ablet program, the deployment information and the identity confirmation information, and the JAR file in which the identity confirmation information is defined as a class file in the prescribed package may be generated. preferable.
- the JAR file generated in the JAR file generation step includes the plurality of predetermined Java ablet programs, the deployment information, and the identity confirmation information. Thanks To the terminal that downloads the AR file, multiple predetermined Java applet programs can be safely loaded simply by downloading this JAR file, without having to load multiple predetermined Java applet programs from the outside.
- the identity confirmation information includes a hash value of each of the plurality of predetermined Java ablet programs or data of each of the plurality of predetermined Java ablet programs. It can be configured to include part or all.
- the front SJAR file generation step is based on the plurality of predetermined Java ablet programs, the deployment information, and the identity confirmation information. , Launching the plurality of predetermined Java ablet programs, the distribution information, the identity confirmation information, the loading program for loading the plurality of predetermined Java ablet programs, and the loading program It is desirable to generate a JAR file including a startup program for defining the identity confirmation information, the loading program, and the startup program as class files in the same package. Les.
- a JAR file generation program is a JAR file generation program that causes a computer to execute a process of generating a JAR file including a Java applet that causes a computer to execute a plurality of predetermined Java applet programs.
- An identity confirmation information generating step for generating identity confirmation information for detecting falsification of the deployment information based on the deployment information that defines the location of each of the plurality of predetermined Java ablet programs; Based on the deployment information and the identity confirmation information, the JAR file includes the deployment information and the identity confirmation information, and the identity confirmation information is defined as a class file in a predetermined package.
- the JAR file generation step to generate the JAR file The shall be the feature.
- the identity confirmation information preferably includes a hash value of the deployment information or a part or all of the data of the deployment information.
- the front SJAR finale generation step includes the deployment information, the identity confirmation information, the information based on the deployment information and the identity confirmation information, A JAR file including a loading program for loading a plurality of predetermined Java ablet programs and a starting program for starting the loading program, the identity confirmation information, the loading program and
- the startup program may be configured to generate a JAR file that is defined as a class file in the same package.
- the predecessor file generation step is based on the plurality of predetermined Java ablet programs, the deployment information, and the identity confirmation information. It is desirable to generate a JAR file that includes a Java ablet program, the deployment information, and identity confirmation information, and the identity confirmation information is defined as a class file in a predetermined package.
- the identity confirmation information may be a hash value or a hash value of each of the plurality of predetermined Java ablet programs.
- the data of each of the plurality of predetermined Java ablet programs is included.
- the front file generation step includes a plurality of the plurality of predetermined Java ablet programs, the deployment information, and the identity confirmation information.
- a JAR containing a predetermined Java ablet program, the deployment information, identity confirmation information, a loading program for loading the plurality of predetermined Java ablet programs, and a starting program for starting the loading program A JAR file in which the identity confirmation information, the loading program, and the startup program are defined as class files in the same package may be generated.
- the JAR file generation apparatus is a JAR file generation apparatus that generates a JAR file including a Java applet that causes a computer to execute a plurality of predetermined Java applet programs. Based on the deployment information that defines the location of each Java ablet program, an identity confirmation information generation unit that generates identity confirmation information, and the deployment information based on the deployment information and the identity confirmation information And a JAR file that includes identity verification information, and a JAR file generation unit that generates a JAR file in which the identity verification information is defined as a class file in a predetermined package. And
- the identity confirmation information includes a hash value of the deployment information or a part or all of the data of the deployment information.
- the AR file generation unit described above based on the deployment information and the identity confirmation information, the deployment information, the identity confirmation information, the plurality of the plurality of information
- a JAR file including a loading program for loading a predetermined Java applet program and a starting program for starting the loading program, and the identity confirmation information, the loading program, and the starting program are the same. It can be configured to generate a JAR file defined as a class file in a package.
- the front SJAR file generation unit is configured to perform the above-described determination based on the plurality of predetermined Java ablet programs, the deployment information, and the identity confirmation information.
- a JAR file including a plurality of predetermined Java ablet programs, the deployment information and the identity confirmation information, and the JAR file in which the identity confirmation information is defined as a class file in a predetermined package may be generated. desirable.
- the identity confirmation information includes a hash value of each of the plurality of predetermined Java applet programs or the plurality of predetermined Java applet programs. It can be configured to include some or all of each data.
- the outpost dJAR file generation unit based on the plurality of predetermined Java ablet programs, the deployment information, and the identity confirmation information, A JAR including a predetermined Java ablet program, the deployment information, identity confirmation information, a loading program for loading the plurality of predetermined Java ablet programs, and a starting program for starting the loading program It is preferable to generate a JAR file that is a file and the identity confirmation information, the load program, and the startup program are defined as class files in the same package.
- the above-described AVA applet and JAR file generation program can be executed by a computer by being stored in a computer-readable recording medium.
- the computer-readable recording medium includes portable storage media such as a CD-ROM, a flexible disk, a DVD disk, a magneto-optical disk, an IC card, and other semiconductor storage devices, and a computer mounted on a computer.
- a fixed storage device such as M, RAM, or a magnetic recording device, a database holding a computer program, or a database includes another computer and its database, and further a transmission medium on a line.
- FIG. 1 is a conceptual diagram for explaining prevention of unauthorized use of an electronically signed ablet in the present embodiment.
- FIG. 2 is a diagram showing an example of a specific configuration for preventing unauthorized use of the digitally signed ablet shown in FIG.
- FIG. 3 is a diagram for explaining details of the internal configuration of the special form 3 ⁇ 4 JAR file 2.
- FIG. 4 is a diagram for explaining a special applet program 24.
- FIG. 5 A diagram showing a special form of the configuration shown in FIG.
- FIG. 6 is a diagram showing a configuration example of a JAR file T.
- FIG. 7 is a diagram showing the configuration of a JAR (descriptor, jar) D.
- FIG. 8 A diagram showing details of the deployment descriptor (cozilet.properties).
- FIG. 11 is a flowchart from when a special applet is activated until the replacement to the target applet is completed.
- FIG. 12 This is a diagram for explaining the JAR file (target.jar) T as a special form 3 ⁇ 4 a JAR file that is not included in the JAR file.
- FIG. 13 is a diagram for explaining a configuration in which a part of an applet or the like is downloaded by an external force of the client terminal C and the rest is deployed in advance in the client terminal C
- FIG. 14 is a diagram showing details of a special form 3 ⁇ 4 JAR file 202.
- the figure shows a configuration that includes CoziletData.class24c and JAR file (descriptor.jar) D.
- FIG. 17 is a diagram showing an example of the source code of the Cozilet class that has been implemented to disable serialization.
- FIG. 18 is a diagram for explaining a JAR file generation device for generating a special form 3 ⁇ 4 JAR file.
- FIG. 19 is a flowchart for explaining the flow of processing in the JAR file generation device.
- FIG. 20 is a diagram for explaining a configuration in which other ablets and the like are previously deployed in the client terminal C.
- FIG. 21 is a conceptual diagram for explaining normal processing when an ablet without an electronic signature is executed.
- FIG. 22 is a conceptual diagram for explaining processing when a signed ablet is executed.
- FIG. 23 is a diagram for explaining an example of an unauthorized reconfiguration attack.
- FIG. 1 is a conceptual diagram for explaining prevention of unauthorized use of an electronically signed applet in the present embodiment.
- parts that are the same as those already shown in FIG. 23 are given the same reference numerals, and descriptions thereof are omitted.
- JRE12 causes the applet program to be executed only in a regular configuration.
- the function 12c is provided. As a result, it is illegally reconfigured when it is loaded by SJRE12 (for example, a reconfiguration file of signed JAR file foo.jar93 and illegal JAR file evil.jar91) (S 11)
- SJRE12 for example, a reconfiguration file of signed JAR file foo.jar93 and illegal JAR file evil.jar91
- S 11 the function 12c for executing the applet program only with a correct configuration, the processing permitted for the signed ablet is not abused (S12).
- the main configuration example for having the function 12c for causing the JRE 12 in the client terminal C to execute the applet program only in a regular configuration is as follows: (1) To realize the function 1 2c (Applets and related data) are downloaded from the outside of client terminal C and activated by JRE12. (2) Part of the applet program that implements function 12c Configuration that downloads from outside C and deploys the rest in client terminal C in advance, (3) Among the ablet programs that realize the function 12c, it should be deployed outside client terminal C There are three configurations in which only the data is deployed externally, and the other tablet programs are deployed in advance inside client terminal C.
- FIG. 2 is a diagram showing an example of a specific configuration for preventing unauthorized use of the electronically signed applet shown in FIG. Also in this figure, the same parts as those already shown in FIG. 23 are denoted by the same reference numerals and description thereof is omitted.
- the special form 3 ⁇ 4JAR file 2 is a deployment descriptor (deployment) that defines the location of the target applet programs (bar.jar21 and foo.jar22) and the target applet programs (multiple predetermined Java applet programs). And the special applet program 24.
- the target applet programs bar.jar21 and foo.jar22
- the target applet programs multiple predetermined Java applet programs.
- the special applet program 24 are not individually digitally signed.
- the entire JAR file including program 24 is digitally signed.
- the client terminal C has the same configuration as the conventional client terminal shown in FIG.
- the special ablet 12d that is activated in this way (corresponding to the activation program) is an ablet based on the deployment descriptor 23 loaded in JRE12 in the form of special form 3 ⁇ 4JAR file 2. It has a special ablet starter 12e (corresponding to a loading program) that has the function of loading only with a regular configuration.
- JRE 12 is provided with a function for executing the ablet program only in a normal configuration, and the digitally signed ablet is prevented from being reused illegally.
- the special form 8 shaku file 2 has a structure including the special applet program 24,] 8 1 file & 61 ⁇ jar and JAR file (descriptor, jar) D. It has become.
- the special applet program 24 is a special applet program that has the function of replacing the target applet during execution.
- FIG. 5 is a diagram showing a special-type JAR file 2 having the configuration shown in FIG.
- the JAR file (target.jar) T included in the special form 3 ⁇ 4JAR file 2 is explained.
- Figure 6 shows an example of the structure of JAR file T.
- the target applet refers to the class file group and resource file group necessary for executing the target applet, and the JAR file group for storing them.
- the JAR file T includes JAR file groups targetl.jar and target2.jar which are target applet programs.
- f AR file (target.jar) T is a JAR file without signature.
- the target applet program included in the JAR file (target.jar) T is loaded only by the special class loader (loading program) when the special applet program 24 is executed. Do not be de. Therefore, it is possible to prevent the targeted ablet program from being misused by attackers.
- JAR file (descriptor.jar) D included in the special AR file 2 will be described.
- Figure 7 shows the structure of JAR file (descriptor.jar) D.
- JAR file (descriptor.jar) D includes Java standard property file cozilet.properties23 (see Fig. 3).
- the deployment descriptor cozilet.properties23 corresponds to the deployment information of the target applet program.
- JAR file D is an unsigned JAR file.
- JAR file D (corresponding to deployment information) is always included in special file 1 file 2.
- FIG. 8 shows details of the deployment descriptor (cozilet. Properties) 23.
- the class property is the name of the main class of the target ablet.
- the special applet executes the target applet program based on the properties.
- class The path property is a list of URLs where the target applet programs that are not included in the special-type eight shaku file are deployed. In the example in the figure, the URL of outerl.jar deployed on a trusted site and the path of outer2.jar installed in advance on the user's oral disk are described.
- the special class loader loads the target applet program based on the properties. In order to prevent exploitation by attackers, it is desirable to set a location other than those where these UR and RE can be loaded as standard (such as an entertainment directory).
- the library_path property is a list of paths in the target applet program where native libraries necessary for executing the native method are deployed. Since the native library needs to be installed on the local disk, specify the path on the local disk instead of the URL in the properties. Special class loader is native based on properties Load libraries. In order to prevent attackers from exploiting them, it is desirable to keep these paths in a location other than the standard JRE loadable location (such as the system directory).
- the tmsted_url property is a list of URLs of trusted sites where HTML documents containing special applets should be deployed.
- a special applet is embedded in a trusted site immediately after execution by acquiring the URL that is embedded in the HTML document and comparing it with the URL included in the property. It is possible to check whether or not it is included in the HTML document.
- the exclusive_mode property is a flag that determines whether to enable the function to prevent untrusted applet execution during execution of a special applet. If the property value is ⁇ N, the special ablet enables the above function. On the other hand, if the property value is ff, this function is disabled.
- CoziletData.class 24c included in the special applet program 24 will be described.
- CoziletData.class24c is a class file that contains identity confirmation information for detecting falsification of target applet programs and deployment descriptors.
- Figure 9 shows the source code CoziletData.java for the class CoziletData in which the SHA1 hash value H of the target applet program and deployment descriptor is embedded as constant confirmation information.
- CoziletData.class24c can be generated by compiling this source code.
- the CoziletData class contains three constant fields: inner—hash, outer—hash, descriptor—hash.
- inner—hash contains the SHA1 hash value of target.jarT.
- outer_hash contains the SHA1 hash of the entire target applet program deployed at the URL specified in the class_path property.
- descriptor_hash contains the SHA1 hash value of descriptor.jar D.
- the CoziletData class belongs to the same package com.aaa.labs.sec.cozilet as other special applet program class files.
- the special-form JAR file is signed with the same-package-same -Unauthorized replacement by attackers can be prevented by the signer mechanism.
- target.jarT and descriptor.jarD included in the special form AR file are Since it is a resource file rather than a resource file, it may be illegally replaced by an attacker. Therefore, when the special class loader loads these resource files, the resource file is altered by comparing the SHA1 hash value of the loaded resource with the SHA1 hash value H included in the constant field of the CoziletData class. Can detect whether or not.
- CoziletData.class24c is configured to include the S HA1 hash value H of target.jarT and descriptor.jarD
- the data of target.jarT and descriptor.jarD is not limited to this. It may be configured to include a constant field that includes part or all of.
- Figure 10 shows an example of CoziletData.class24c source code that includes a constant field descriptor_value that includes descriptor.jarD itself. In this case, the special AR file 2 does not need to include descriptor.jarD. When executing the special applet program 24, the value of descriptor.jarD can be extracted from the constant final descriptor_value.
- the special format file 1 is deployed on a server, for example, and loaded by the JRE via a web browser or the like, so that it is executed by the special applet program 24 SJRE.
- a plurality of predetermined Java ablet programs are, for example,
- Applet coae jp.example.bomeApplet
- Applet coae com.aaa.laDs.sec.cozilet.uoziiet
- the Cozilet class 24a is loaded in the JRE and an instance is generated (S22).
- Cozilet class is included in special form 3 ⁇ 4JAR file 2 in static initializer
- this instance is called a cozilet deployment descriptor.
- the alteration of the deployment information is detected based on the identity confirmation information for detecting the alteration of the deployment information defined for the location of each of the plurality of predetermined Java applet programs.
- the JRE calls init () of the Cozilet class (S26).
- the Cozilet class can be trusted compared to the list of URLs included in the value of the trusted url property of the cozilet deployment descriptor in the URL power of the site where the HTML document of its embedding source is deployed. It is checked whether or not (S27).
- the URL of the site where the loading HTML document is deployed can be obtained by getDocumentBaseO of the java.applet.Applet class.
- it can also be set as the structure which compares URL by front matching. If it does not match any URL included in the trusted_url property (S27, cannot be executed), the execution is forcibly terminated (S29).
- the Cozilet class 24a is used as a loading program for loading a plurality of predetermined Java applet programs.
- CoziletClassLoader class 24b is generated (load program start step) (S28).
- the CoziletClassLoader class 24b is the target.jarT included in the special form AR file 2, the URL specified by the class_path property of the cozilet deployment descriptor, and the target address that exists in the path specified by the library_path property of the cozilet deployment descriptor. Make the bullet program loadable. If
- the Cozilet class 24a is called by passing the name of the main class of the target applet that can be obtained from the main—class property of the cozilet deployment descriptor as an argument to the loadClassO of the CoziletClassLoader class 24b. P). That is, when no alteration is detected in the alteration detection step, a plurality of predetermined Java applet programs are loaded into the loading program based on the distribution information. Then, the class instance constructor is called by the Java reflection mechanism to obtain the main class instance of the target ablet (S2c)
- Applet records and some processing are delegated to the applet stub
- the applet stub is initially set to a special applet.
- Cozilet class calls setStubO of the target applet with its own applet stub And set (S2d).
- the ablet stub is necessary for the target ablet to execute normally.
- the applet stub is stored as a private field of the java.applet.Applet class, and the Cozilet class 24a cannot access that field.
- the parent panel of the special applet where the instance of the Cozilet class is registered has the function of the applet stub, the instance of the parent panel cannot be obtained from the Cozilet class. Since it is easy, the instance is set as the applet stub in the target bullet (S2d).
- the applet is registered in the parent panel, so that it can be displayed on the browser and handle GUI events. Since a special applet is initially registered in the parent panel, the Cozilet class 24a deletes its own instance registered in the parent panel, so that GUI events sent from the JRE are sent to the special applet 24. Instead, the target tablet is notified, and the target tablet can operate normally as an tablet.
- the Cozilet class 24a calls init () of the main class of the target applet (S2f).
- the target ablet will operate as an ablet instead of the special ablet, and the replacement of the ablet is completed (S2g).
- the caller is checked by stack detection at the beginning of each method. Specifically, at the beginning of each method, call checkPermissionO of java.security.AccessController and pass an instance of the java.security.AUPermission class as an argument. As a result, the class, that is, the attacker's class, that does not have the access right AllPermission can be used. In particular, public methods of applets cannot be called.
- the access right passed to checkPermissionO is not necessarily AllPermission, but may be sufficient to prevent an attacker from calling.
- the special AR file 2 described above includes Cozilet.class24a as a startup program, CoziletClassLoader.class24b as a loading program, CoziletData.class24c as identity confirmation information, JAR finale (target .jar) T and JAR finale (descriptor.jar) force S (see Figure 3), including but not limited to, D.
- target.jarT is not necessarily included in special AR file 2 I don't need it. If the JAR file (target.jar) T is not included in the special form 3 ⁇ 4JAR file as shown in Fig. 12, the JAR file (target.jar) Tf Must be deployed in a loadable location.
- a function for executing the applet only in a regular configuration 1 part of the applet or the like for realizing 2c is downloaded by the external force of the client terminal C, and the rest It can also be configured to be pre-deployed inside client terminal C (see Fig. 13).
- the special form AR file 202 is used as the identity confirmation information.
- FIG. 14 is a diagram showing details of the configuration of the special-form eight-scale file 202.
- CoziletData.class24c and JAR file (descriptor.jar) D can also be included (see Figure 15).
- Cozilet.class24a as the start program and CoziletClassLoader.class24b as the load program are stored in advance in the storage area of the client terminal equipped with JRE and can be loaded with the JAR file (target.jar) It is necessary to be deployed in various places.
- Fig. 15 the power that can be divided into various formats As a result, all of the divided components are loaded into the JRE as a result, regardless of the special format AR file mentioned above. 11 is common in that each step shown in FIG. 11 is executed.
- the GUI event is normally notified. Therefore, the method related to the GUI-related target applet is executed normally by ⁇ O RE.
- the target applet methods that are not related to the GUI are not executed correctly by the JRE because the target applet is not registered in the list of active applets held internally by the JRE. Will be executed. Therefore, for these methods, in each special applet method, the method call from JRE is delegated to the corresponding method of the target applet.
- a wrapper method group having the same signature as the method signature group input as the target ablet deployment information is added to the main class of the special applet, and the wrapper one method group strength S method to itself
- the call process is delegated to a method with the same signature in the main class of the target applet.
- Figure 16 shows an example of the source code of the Cozilet class (equivalent to the startup program) to which a wrapper method is added.
- a wrapper method By compiling this source code, you can generate Cozilet.class with added wrapper method power.
- a Rano method with the same signature as the method signature doSomething (java.lang.String) input as deployment information is added, and the method of the main class of the target applet with the same signature in the wrapper method is added. Sod is called using the Java reflection mechanism.
- Cozilet.class24a disables its own serialization by implementing the method related to serialization so that an exception is forcibly generated.
- Figure 17 shows an example of the source code of the Cozilet class that has been implemented to disable serialization.
- the JAR file generation device 5 for generating the special-type AR file (FIGS. 3, 12, 13, and 15) configured as described above will be described with reference to FIG.
- This device has a function to generate a JAR file including a Java applet that allows a computer to execute a plurality of predetermined Java applet programs.
- the target ablet program is Convert to special form eight shaku file
- the JAR file generation device 5 includes an identity confirmation information generation unit 51, a JAR file generation unit 52, a storage unit 53, a CPU 54, and a special applet generation unit 55. Yes.
- the identity confirmation information generation unit 51 is the same for detecting falsification of the deployment information based on the deployment information that defines the location of each of the target ablet programs (plurality of predetermined Java tablet programs). It has a role of generating sex confirmation information.
- the JAR file generation unit 52 generates a plurality of predetermined Java applet programs, deployment information, and the same information based on a plurality of predetermined Java applet programs, deployment information, and identity confirmation information.
- a JAR file that contains information for checking the identity, a loading program for loading a plurality of predetermined Java applet programs, and a startup program for starting the loading program.
- the JAR file generation unit 52 digitally signs the generated JAR file. It has a function to apply.
- the special applet generation unit 55 has a role of generating Cozilet.class24a as a startup program and CoziletClassLoader.class24b as a load program.
- the storage unit (computer-readable recording medium) 53 is configured with a storage area such as RAM and ROM, and has a role of storing programs executed in the JAR file generation device 5, various applets, and the like. Have it.
- the CPU (computer) 54 has a role of executing a program stored in the storage unit 53 in order to perform various processes in the JAR file generating apparatus 5.
- FIG. 19 is a flowchart for explaining the process flow (the JAR file generation method) in the JAR file generation apparatus 5 as described above.
- the JAR file generation method the JAR file generation method
- the target applet program is used as input data.
- the identity confirmation information generation unit 51 based on the acquired deployment information, a JAR file (descriptor.jar) as identity confirmation information for detecting falsification of the deployment information. D is generated (identity confirmation information generation step) (S62). Specifically, the identity confirmation information generation unit 51 uses the hash value or target of each of the target applet program and the JAR file including the hash value of the deployment information or part or all of the data of the deployment information as the identity confirmation information. It is possible to generate a JAR file that includes a part or all of the data of each applet program, a hash value of both the deployment information and the target ablet program, or a JAR file that includes a part or all of each data.
- the JAR file generation unit 52 determines that the target applet program, the deployment information, and the same are based on the target applet program (bar.jar21 and foo.jar22), the deployment information, and the identity confirmation information. Includes information for checking sex, loading program for loading the target applet program, and startup program for starting the loading program Generate a JAR file. At this time, the identity confirmation information, the loading program, and the startup program are defined as class files in the same package in the generated JAR file, as shown in FIG. 3) (S63) .
- the generated JAR file includes a loading program for loading a plurality of predetermined Java applet programs and a starting program for starting the loading program. Even if you do not install a program that implements the function to load multiple predetermined Java applet programs in the terminal that downloads the AR file, you can download multiple predetermined Java applets just by downloading this JAR file. The program can be safely read. In other words, it is possible to easily and reliably prevent the digitally signed ava ablet from being illegally reused without loading any changes to the JRE that is loaded and executed.
- the AR file generated as described above is digitally signed by the JAR file generation unit 52 as necessary and output (S64).
- Each step in the above-described JAR file generation method is stored in the storage unit 53. This is realized by causing the CPU 54 to execute the AR file generation program.
- a special file such as the class file group that is a special ablet program, the target ablet program, and deployment information as shown in Fig. 3 can be generated.
- the JAR file generation unit 52 stores class files (loading program, startup program, etc.) that are special ablet programs included in the special form 3 ⁇ 4 JAR file in the data stored in the storage unit 53 in advance. You can choose from.
- the special applet generated by the special applet generation unit 55 can be generated as a class finale group included in the special form AR file.
- the JAR file generation unit 52 performs the special format AR file 2 in the data format shown in FIG. As in 01, the target applet program can be generated without being included in the special form AR file.
- the JAR file generation unit 52 activates the loading program and the loading program for loading the deployment information, the identity confirmation information, and the target ablet program based on the deployment information and the identity confirmation information.
- the JAR file generation unit 52 converts the special applet program (loading program, startup program, etc.) into a special type 3 ⁇ 4JAR file, as in the special type AR file 202 of the data format shown in FIG. It is also possible to generate without including.
- the JAR file generation unit 52 generates a JAR file including the target ablet program, the deployment information, and the identity confirmation information based on the target ablet program, the deployment information, and the identity confirmation information.
- the JAR file generation unit 52 defines the identity confirmation information as a class file in a predetermined package.
- the JAR file generation unit 52 can also generate the special data format of the data format shown in Fig. 15 without including it in the special format 8 shaku file.
- the JAR file generation unit 52 generates a JAR file including the deployment information and the identity confirmation information based on the deployment information and the identity confirmation information.
- the JAR file generation unit 52 defines the identity confirmation information as a class file in a predetermined package.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006531090A JP4745238B2 (ja) | 2004-08-12 | 2004-08-12 | Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置 |
| PCT/JP2004/011590 WO2006016407A1 (ja) | 2004-08-12 | 2004-08-12 | Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置 |
| AU2004322201A AU2004322201B2 (en) | 2004-08-12 | 2004-08-12 | Java applet, jar file creating method, jar file creating program, and jar file creating device |
| EP04771565A EP1783580A4 (en) | 2004-08-12 | 2004-08-12 | JAVA APPLET, JAR FILE GENERATION PROCESS, JAR FILE GENERATION PROGRAM, AND JAR FILE GENERATION DEVICE |
| US11/651,801 US8479005B2 (en) | 2004-08-12 | 2007-01-09 | Applet, archive file generation method, archive file generation program, and archive file generation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2004/011590 WO2006016407A1 (ja) | 2004-08-12 | 2004-08-12 | Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/651,801 Continuation US8479005B2 (en) | 2004-08-12 | 2007-01-09 | Applet, archive file generation method, archive file generation program, and archive file generation device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2006016407A1 true WO2006016407A1 (ja) | 2006-02-16 |
Family
ID=35839184
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2004/011590 Ceased WO2006016407A1 (ja) | 2004-08-12 | 2004-08-12 | Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8479005B2 (ja) |
| EP (1) | EP1783580A4 (ja) |
| JP (1) | JP4745238B2 (ja) |
| AU (1) | AU2004322201B2 (ja) |
| WO (1) | WO2006016407A1 (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5056995B1 (ja) * | 2012-04-24 | 2012-10-24 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
| JP2012533823A (ja) * | 2009-07-20 | 2012-12-27 | フェイスブック,インク. | ローカルマシンに関する情報をブラウザアプリケーションに通信すること |
| JP5126447B1 (ja) * | 2012-08-31 | 2013-01-23 | 大日本印刷株式会社 | アプリケーションプログラムの実行方法 |
| JP5182445B1 (ja) * | 2012-09-18 | 2013-04-17 | 大日本印刷株式会社 | アプリケーションプログラムの改竄検知方法 |
| WO2013161974A1 (ja) * | 2012-04-24 | 2013-10-31 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
| CN110888740A (zh) * | 2019-11-22 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 小程序的增量内存确定方法、装置、设备及存储介质 |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ES2352556T3 (es) * | 2000-09-21 | 2011-02-21 | Research In Motion Limited | Sistema y método de firma mediante código por software. |
| US8352911B2 (en) * | 2007-11-21 | 2013-01-08 | Teradata Us, Inc. | Techniques for constructing and using run-time JAVA archives (JAR) for JAVA Stored Procedures (JSPS) |
| CN100478897C (zh) * | 2007-12-04 | 2009-04-15 | 腾讯科技(深圳)有限公司 | 实现在游戏运行过程中自动验证支付的方法、装置和系统 |
| US8863119B2 (en) | 2010-05-27 | 2014-10-14 | Salesforce.Com, Inc. | Methods and systems for generating a dynamic workflow in a multi-tenant database environment |
| US8745598B2 (en) * | 2010-12-14 | 2014-06-03 | Bmc Software, Inc. | Running injected code prior to execution of an application |
| US9195479B2 (en) * | 2011-10-17 | 2015-11-24 | Google Inc. | Selective notification of native applications |
| US9448782B1 (en) | 2012-08-27 | 2016-09-20 | Amazon Technologies, Inc. | Reducing a size of an application package |
| US9288058B2 (en) * | 2013-09-03 | 2016-03-15 | Red Hat, Inc. | Executing compliance verification or remediation scripts |
| US9772828B2 (en) * | 2014-04-22 | 2017-09-26 | Oracle International Corporation | Structural identification of dynamically generated, pattern-instantiation, generated classes |
| US9606855B1 (en) | 2016-01-06 | 2017-03-28 | International Business Machines Corporation | Caller protected stack return address in a hardware managed stack architecture |
| US9495237B1 (en) | 2016-01-06 | 2016-11-15 | International Business Machines Corporation | Detection of corruption of call stacks |
| US10120745B2 (en) | 2016-01-06 | 2018-11-06 | International Business Machines Corporation | Providing instructions to protect stack return addresses in a hardware managed stack architecture |
| US10228992B2 (en) | 2016-01-06 | 2019-03-12 | International Business Machines Corporation | Providing instructions to facilitate detection of corrupt stacks |
| US9582274B1 (en) | 2016-01-06 | 2017-02-28 | International Business Machines Corporation | Architected store and verify guard word instructions |
| US9576128B1 (en) | 2016-01-06 | 2017-02-21 | International Business Machines Corporation | Interlinking routines with differing protections using stack indicators |
| US9514301B1 (en) | 2016-01-06 | 2016-12-06 | International Business Machines Corporation | Interlinking modules with differing protections using stack indicators |
| CN111885082B (zh) * | 2017-09-06 | 2023-08-01 | 创新先进技术有限公司 | 一种web应用包处理方法、装置及设备 |
| US11736466B2 (en) * | 2019-09-18 | 2023-08-22 | Bioconnect Inc. | Access control system |
| CN111427856B (zh) * | 2020-03-11 | 2023-06-02 | 北京明略软件系统有限公司 | 一种Java数据的处理方法和装置 |
| CN112698839B (zh) * | 2020-12-30 | 2024-04-12 | 深圳前海微众银行股份有限公司 | 数据中心节点部署方法、装置、系统及计算机存储介质 |
| CN114357387B (zh) * | 2021-12-29 | 2025-02-21 | 杭州涂鸦信息技术有限公司 | java应用程序防篡改的判断方法、编译方法及设备 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000331088A (ja) * | 1999-03-12 | 2000-11-30 | Mitsubishi Electric Corp | 認定マーク管理システムおよび認定マーク管理方法 |
| JP2003283494A (ja) * | 2002-03-27 | 2003-10-03 | Ntt Docomo Inc | 通信端末のアクセス制御方法、認定プログラム提供装置、管理装置および通信端末 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5958051A (en) * | 1996-11-27 | 1999-09-28 | Sun Microsystems, Inc. | Implementing digital signatures for data streams and data archives |
| US5892904A (en) * | 1996-12-06 | 1999-04-06 | Microsoft Corporation | Code certification for network transmission |
| US6317742B1 (en) * | 1997-01-09 | 2001-11-13 | Sun Microsystems, Inc. | Method and apparatus for controlling software access to system resources |
| US6807632B1 (en) * | 1999-01-21 | 2004-10-19 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
| DE69941142D1 (de) * | 1998-05-06 | 2009-09-03 | Sun Microsystems Inc | Verarbeitungsmaschine und verarbeitungsverfahren |
| US6694434B1 (en) * | 1998-12-23 | 2004-02-17 | Entrust Technologies Limited | Method and apparatus for controlling program execution and program distribution |
| US6430608B1 (en) * | 1999-02-09 | 2002-08-06 | Marimba, Inc. | Method and apparatus for accepting and rejecting files according to a manifest |
| US6718364B2 (en) * | 1999-08-10 | 2004-04-06 | Sun Microsystems, Inc. | Method and apparatus for expedited file downloads in an applet environment |
| US6976165B1 (en) * | 1999-09-07 | 2005-12-13 | Emc Corporation | System and method for secure storage, transfer and retrieval of content addressable information |
| US6766353B1 (en) * | 2000-07-11 | 2004-07-20 | Motorola, Inc. | Method for authenticating a JAVA archive (JAR) for portable devices |
| GB0024918D0 (en) * | 2000-10-11 | 2000-11-22 | Sealedmedia Ltd | Method of providing java tamperproofing |
| US6910128B1 (en) * | 2000-11-21 | 2005-06-21 | International Business Machines Corporation | Method and computer program product for processing signed applets |
| US7308717B2 (en) * | 2001-02-23 | 2007-12-11 | International Business Machines Corporation | System and method for supporting digital rights management in an enhanced Java™ 2 runtime environment |
| US7003672B2 (en) * | 2001-09-25 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Authentication and verification for use of software |
| CA2469633C (en) * | 2001-12-13 | 2011-06-14 | Japan Science And Technology Agency | Software safety execution system |
| EP1491996B1 (en) * | 2002-04-03 | 2014-02-12 | NTT DoCoMo, Inc. | Distribution method, distribution system, and terminal device |
| US7107592B2 (en) * | 2002-07-25 | 2006-09-12 | Sun Microsystems, Inc. | Method, system, and program for making objects available for access to a client over a network |
| US20040123270A1 (en) * | 2002-12-23 | 2004-06-24 | Motorola, Inc. | Method and apparatus for shared libraries on mobile devices |
| JP4176533B2 (ja) * | 2003-03-31 | 2008-11-05 | 株式会社エヌ・ティ・ティ・ドコモ | 端末装置及びプログラム |
| US7814484B2 (en) * | 2004-05-14 | 2010-10-12 | Bea Systems, Inc. | System and method for web application extensibility |
-
2004
- 2004-08-12 EP EP04771565A patent/EP1783580A4/en not_active Withdrawn
- 2004-08-12 AU AU2004322201A patent/AU2004322201B2/en not_active Ceased
- 2004-08-12 WO PCT/JP2004/011590 patent/WO2006016407A1/ja not_active Ceased
- 2004-08-12 JP JP2006531090A patent/JP4745238B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-09 US US11/651,801 patent/US8479005B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000331088A (ja) * | 1999-03-12 | 2000-11-30 | Mitsubishi Electric Corp | 認定マーク管理システムおよび認定マーク管理方法 |
| JP2003283494A (ja) * | 2002-03-27 | 2003-10-03 | Ntt Docomo Inc | 通信端末のアクセス制御方法、認定プログラム提供装置、管理装置および通信端末 |
Non-Patent Citations (3)
| Title |
|---|
| KOJIMA N. ET AL: "Java Packege System no Security", COMPUTER SECURITY SYMPOSIUM '98, 29 October 1998 (1998-10-29), pages 171 - 176, XP002995624 * |
| MARUYAMA H. ET AL: "Omoni Java Oyobi ActiveX ni Okeru Code Shomei no Anzensei ni Kansuru Kosatsu", COMPUTER SOFTWARE, vol. 16, no. 4, 15 July 1999 (1999-07-15), pages 23 - 32, XP002995625 * |
| See also references of EP1783580A4 * |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012533823A (ja) * | 2009-07-20 | 2012-12-27 | フェイスブック,インク. | ローカルマシンに関する情報をブラウザアプリケーションに通信すること |
| US9471554B2 (en) | 2009-07-20 | 2016-10-18 | Facebook, Inc. | Communicating information about a local machine to a browser application |
| JP5056995B1 (ja) * | 2012-04-24 | 2012-10-24 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
| WO2013161974A1 (ja) * | 2012-04-24 | 2013-10-31 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
| JP5126447B1 (ja) * | 2012-08-31 | 2013-01-23 | 大日本印刷株式会社 | アプリケーションプログラムの実行方法 |
| JP5182445B1 (ja) * | 2012-09-18 | 2013-04-17 | 大日本印刷株式会社 | アプリケーションプログラムの改竄検知方法 |
| CN110888740A (zh) * | 2019-11-22 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 小程序的增量内存确定方法、装置、设备及存储介质 |
| CN110888740B (zh) * | 2019-11-22 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 小程序的增量内存确定方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2006016407A1 (ja) | 2008-05-01 |
| AU2004322201B2 (en) | 2008-10-30 |
| EP1783580A4 (en) | 2011-03-23 |
| AU2004322201A1 (en) | 2006-02-16 |
| JP4745238B2 (ja) | 2011-08-10 |
| EP1783580A1 (en) | 2007-05-09 |
| US20070169041A1 (en) | 2007-07-19 |
| US8479005B2 (en) | 2013-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4745238B2 (ja) | Javaアプレット、JARファイル生成方法、JARファイル生成プログラム、JARファイル生成装置 | |
| US11514159B2 (en) | Method and system for preventing and detecting security threats | |
| Sun et al. | Android rooting: Methods, detection, and evasion | |
| US20030135746A1 (en) | Software verification system, method and computer program element | |
| EP1512060B1 (en) | Tamper evident removable media storing executable code | |
| Raffetseder et al. | Building anti-phishing browser plug-ins: An experience report | |
| JP4754299B2 (ja) | 情報処理装置 | |
| Hwang et al. | All about activity injection: Threats, semantics, detection, and defense | |
| KR100839296B1 (ko) | Java 애플릿을 기록한 기록 매체, JAR 파일 생성 방법, JAR 파일 생성 프로그램을 기록한 기록매체, JAR 파일 생성 장치 | |
| Merlo et al. | Android vs. SEAndroid: An empirical assessment | |
| JP2004118433A (ja) | 外部プログラムの動作制御方法、動作制御プログラム、動作制御装置、及び、動作制御プログラム提供装置 | |
| Kim et al. | Linux based unauthorized process control | |
| Bruschi et al. | How to unwittingly sign non-repudiable documents with Java applications | |
| Zhang | Java security: Issues and implications for library and archival systems | |
| Cuadros Casta | Android rooting: methods, detection, and evasion | |
| KR20110119159A (ko) | 백도어 방지 장치 및 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2006531090 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020067024096 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 11651801 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2004771565 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2004322201 Country of ref document: AU |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 1020067024096 Country of ref document: KR |
|
| ENP | Entry into the national phase |
Ref document number: 2004322201 Country of ref document: AU Date of ref document: 20040812 Kind code of ref document: A |
|
| WWP | Wipo information: published in national office |
Ref document number: 2004322201 Country of ref document: AU |
|
| WWP | Wipo information: published in national office |
Ref document number: 2004771565 Country of ref document: EP |
|
| WWP | Wipo information: published in national office |
Ref document number: 11651801 Country of ref document: US |