WO2017130583A1 - 処理システム、処理方法及びプログラム - Google Patents

処理システム、処理方法及びプログラム Download PDF

Info

Publication number
WO2017130583A1
WO2017130583A1 PCT/JP2016/086962 JP2016086962W WO2017130583A1 WO 2017130583 A1 WO2017130583 A1 WO 2017130583A1 JP 2016086962 W JP2016086962 W JP 2016086962W WO 2017130583 A1 WO2017130583 A1 WO 2017130583A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
code
unit
processing
gate component
Prior art date
Application number
PCT/JP2016/086962
Other languages
English (en)
French (fr)
Inventor
優太 竹田
Original Assignee
優太 竹田
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 優太 竹田 filed Critical 優太 竹田
Priority to CN201680079009.3A priority Critical patent/CN108475315A/zh
Priority to US15/765,568 priority patent/US10754944B2/en
Priority to JP2017563732A priority patent/JP6472545B2/ja
Publication of WO2017130583A1 publication Critical patent/WO2017130583A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/54Monitoring 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 adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Definitions

  • the present invention relates to a processing system for processing a program transmitted from the outside via a wired or wireless network.
  • Patent Document 1 An example of this security is described in Patent Document 1, for example.
  • a specific script part (code part) of a program developed by a program developer is extracted, and this is normalized to give identification information.
  • This identification information is linked to the origin information.
  • This origin information is compared with the origin information stored in the database created in advance, and if it is not stored in the database, the script (code) Restrict execution.
  • a method for preventing access to a phishing site or an unauthorized site is described by incorporating such a program into information obtained from an external server.
  • Patent Document 1 recognizes the code as a character string. Therefore, when a code is camouflaged, a specific code is not extracted in the first place, and identification information is not given, so that processing that is harmful to the user cannot be restricted. Further, since there are an infinite number of code impersonation methods, it is impossible to envisage all the impersonation methods, and the method of Patent Document 1 cannot reliably prevent an attack from a program developer.
  • the present invention has been made in view of the above-described problems, and a processing system, a processing method, and a program that can reliably protect a user or a system when a program created by a malicious developer exists. It is about.
  • the processing system of the present invention is a processing system for processing a program transmitted from the outside via a wired or wireless network, and a receiving unit that receives the program, and attacks the user or the system on the program.
  • a code including a process that may attack a user or a system is created using a predetermined keyword or syntax. Therefore, in the processing system of the present invention, the reference destination of the code having the specific keyword or syntax is uniformly rewritten to the gate component. Therefore, when a program is executed, all processes executed by code having a specific keyword or syntax go through a gate component, and the gate component executes a process that attacks a user or a system when the program is executed. Restrict. For this reason, even if the code that performs processing that causes harm to the user is impersonated, even the predetermined keyword or syntax cannot be changed, and the reference destination of the impersonated code is changed to the gate component. When the program is executed, processing that causes harm to the user and the system in the gate component is limited. Therefore, it is possible to reliably prevent an attack from a program developer regardless of code disguise, and to reliably protect a user or a system.
  • the processing system further comprises an analysis unit that analyzes the code having the predetermined keyword or syntax included in the program, and the additional unit receives the analysis result of the analysis unit,
  • an analysis unit that analyzes the code having the predetermined keyword or syntax included in the program
  • the additional unit receives the analysis result of the analysis unit
  • the analysis unit analyzes the code having a predetermined keyword or syntax included in the program and receives the analysis result specifying the processing included in the program, and the additional unit corresponds to the processing included in the program. Therefore, a gate component corresponding to each program can be created, and the processing time can be shortened by optimizing the program.
  • the processing method of the processing system described above is a processing method for processing a program transmitted from the outside via a wired or wireless network, and includes a first step in which the receiving unit receives the program, and A second step of adding a gate component that restricts a predetermined process to the program; and a rewriting unit rewriting a code having a predetermined keyword or syntax in the program, so that the predetermined keyword or A code having a syntax may be changed to a reference destination of the gate component.
  • the program for executing the above-described processing system is a program for processing a program transmitted from the outside via a wired or wireless network, and the computer is transmitted from the outside via a wired or wireless network.
  • a code having a predetermined keyword or syntax may be rewritten to change a reference destination of the code having the predetermined keyword or syntax to the gate component.
  • the processing system of the present invention when a program created by a malicious developer exists, the user and the system can be reliably protected.
  • the block diagram of the processing system in 1st Embodiment An example showing a program sent from a developer. An example which shows the program which passed through the rewriting part. The block diagram which shows the modification of the processing system in 1st Embodiment. The block diagram of the processing system in 2nd Embodiment.
  • the processing system of the present invention provides content obtained by synthesizing a program developed by a program developer to information acquired from an external server via a website.
  • a game content created by synthesizing a game program developed by a program developer with map information acquired from an external server is provided to a user through a website.
  • the processing system of the present invention will be described using a game as an example, but the processing system of the present invention is not limited to this example.
  • the processing system 1 of the present invention is connected to an external server 100, a developer terminal 200 of a program developer, and a user terminal 300 of a user via a wired or wireless network. Is connected to the Internet via a proxy server or the like (not shown).
  • the external server 100 transmits information requested from the user terminal 300.
  • the number of external servers 100 is one, but there may be a plurality, and the user terminal 300 may request information from each of the plurality of external servers 100.
  • the developer terminal 200 is a smartphone, tablet terminal, PC, or the like that includes a CPU, a memory, a communication port, a network interface, etc. (not shown), and creates a program using source code such as JavaScript (registered trademark) and TypeScript. Is.
  • the user terminal 300 is, for example, a smartphone, a tablet terminal, a PC, or the like that includes a CPU, a memory, a communication port, a network interface, and the like (not shown).
  • an application programming interface hereinafter referred to as API
  • the program developer develops a program to be executed on the user terminal 300 using this API.
  • the program code is described using JavaScript (registered trademark).
  • the processing system 1 is a server including a CPU, a memory, an A / D converter, a communication port, a network interface, and the like.
  • the receiving unit 2 receives the program sent from the developer terminal 200 and transmits it to the analyzing unit 3, the rewriting unit 5, and the rewriting unit 9.
  • This program is a program developed using the above-described API. As an example of this, there may be mentioned a treasure hunting game program in which a treasure appears if a certain condition is satisfied, and an escape game program that solves a mystery and escapes to form an element of game content.
  • the analysis unit 3 analyzes the program sent from the reception unit 2 and detects a portion where a predetermined keyword or syntax for performing a process capable of attacking the user or the system is described.
  • FIG. 2 shows a code description example when an HTTP request for requesting communication processing to an external site is described using a window object in a program sent from the receiving unit 2 below. .
  • communication processing to an external site it is possible to harm the user when the communication destination site is a phishing site or the like.
  • the following codes are all included in one program.
  • window object is represented using the open function as a global variable open (“http://malicioaaaaaasite.com/”, “welcome to maliaciaoaasite”);
  • the analysis unit 3 identifies a predetermined keyword or syntax from codes written by various methods as described in the above example, and transmits data indicating the analysis result to the rewriting unit 5.
  • a syntax having a keyword “window” and a function indicating a window object (for example, an open function) is specified, and data indicating the analysis result is transmitted to the rewriting unit 5.
  • the adding unit 4 adds a gate component that restricts a process of performing an attack on the user or the system to the program received by the receiving unit 2.
  • programs P2 and P3 that are gate components are added to the program received by the receiving unit 2.
  • the processing restricted by the gate component includes, for example, processing to communicate with the external server 100 and the site, processing to read a file, loop processing, logout, login automatic operation processing, linking processing to other sites that do not pass the confirmation screen, and cookie. Read processing, upload / download processing of executable files, continuous execution processing of processing that significantly restricts browser processing, plug-in call processing, long data definition and long arithmetic processing, and the like.
  • the processing for communicating with the external server 100 and the site, the processing for reading a file, and the loop processing will be described more specifically among the processing described above.
  • the process is interrupted if the URL of the access destination is other than a domain whose safety has been confirmed in advance.
  • the file process is interrupted if the referenced file is a file prohibited in advance (for example, a file containing customer information or personal information).
  • the loop processing is interrupted when the number of loops described in the code exceeds a predetermined upper limit.
  • the rewrite unit 5 receives the analysis result of the analysis unit 3, rewrites a code having a predetermined keyword or syntax for performing file reading processing, communication processing to the external server 100 or the site, loop processing, etc., or adds code Thus, the reference destination of the code having the predetermined keyword or syntax is changed to the gate component.
  • the keyword “fakewindow” is added and rewritten so that the reference destination of the code is surely the gate component.
  • the rewriting unit 5 creates the program P1 in which the reference destination of the code having a predetermined keyword or syntax is changed to the gate component.
  • the creating unit 6 acquires the program P1, the program P2, and the program P3 created through the adding unit 4 and the rewriting unit 5, and converts the program X including the program P1, the program P2, and the program P3 into a standard program that has been created in advance.
  • Create an embedded initial program The initial program functions on the user terminal 300 and requests to acquire information held by the external server 100 and instructs to create new content.
  • the initial program when generating the initial program, only the program P1 created through the rewriting unit 5 is incorporated, but a plurality of programs rewritten by the rewriting unit 5 can be incorporated.
  • the recording unit 7 records the initial program.
  • the initial program may be recorded in association with, for example, time information when the program is received by the receiving unit 2 or information related to the name of the program at the time of recording.
  • the transmission unit 8 receives a request for an initial program from the user terminal 300, extracts the initial program from the recording unit 7, and transmits the initial program to the user terminal 300.
  • the initial program transmitted from the transmission unit 8 is executed, a request for acquiring information is sent to the external server 100, and this information is transmitted from the external server 100.
  • a new content is generated by synthesizing the program X and the standard program with this information. This content is obtained, for example, by acquiring map information from the external server 100, placing treasure at a predetermined point on the map, and various traps associated with the position information between the current position of the user and the predetermined point. Is a new content related to a so-called real game in which a user can actually move to that position and unlock a trap to acquire a treasure.
  • the reference destination of the code including the processing that may be harmful to the user is uniformly rewritten to the gate component. Therefore, when a program is executed, all processes executed by code having a specific keyword or syntax go through the gate component, and the gate component executes a predetermined process that causes harm to the user when the program is executed. Limit. For this reason, even if the code that performs processing that harms the user is camouflaged, the reference destination of the camouflaged code is changed to the gate component. The processing to make is limited. Therefore, it is possible to reliably prevent an attack from a program developer regardless of code disguise.
  • the gate component interrupts the process and the user is Can be protected.
  • a malicious developer obtains personal information stored in the user terminal and performs a read process on a file containing personal information, a file that prohibits reading a file containing personal information in advance If the reference file corresponds to the prohibited file when executing the process, the process is interrupted to prevent personal information from being acquired, and the user is protected.
  • a malicious developer includes a loop process to put a load on the user terminal, if the number of loops of this loop process exceeds a predetermined number of times, the loop process is interrupted to the user terminal. Can be reduced.
  • the adding unit 4 acquires the analysis data created by the analysis unit 3 and creates a gate component corresponding to the process included in the analysis data. Also good.
  • the gate component can be customized in accordance with the program, so that the processing time can be optimized and the processing time can be shortened.
  • the reference unit of the code having a predetermined keyword or syntax is changed to the gate component in the rewriting unit, but the processing in the rewriting unit is performed. You may comprise so that a gate component may be added later by an addition part. Further, the creation unit may be configured to add a gate component.
  • the processing system according to the second embodiment is different from the first embodiment in that a program is executed on the processing system side.
  • symbol as 1st Embodiment is attached
  • the processing system includes a control unit 9 that executes a program in addition to the receiving unit 2, the analyzing unit 3, the adding unit 4, the rewriting unit 5, the creating unit 6, and the recording unit 7. And a transmission / reception unit 10 that communicates with the user terminal 300.
  • Travel reservation sites are generally broadly divided into search screens for entering and searching for user-desired conditions such as date and time, destination location, cost, etc., selection screen for selecting desired plans by displaying search results, desired In this plan, a reservation screen for completing the reservation by inputting the number of people, room type, etc. is provided.
  • the program developer creates a plurality of programs corresponding to each screen.
  • the receiving unit 2 acquires these programs and sends them to the analyzing unit 3 and the adding unit 4, and the rewriting unit 5 adds the gate component in the adding unit 4 based on the analysis data obtained from the analyzing unit 3. Rewrite the program.
  • a program developed by a developer includes the following code for performing a file reading process.
  • fakeRequest indicates the gate component
  • the reference destination of this code is changed to the gate component.
  • fakeRequest indicates the gate component, the reference destination of this code is changed to the gate component.
  • the creation unit 6 incorporates the program that has passed through the rewriting unit 5 into the standard program.
  • a plurality of fixed programs are input in advance, and a program that has passed through the rewriting unit 5 is incorporated into one of the fixed programs.
  • a configuration may be adopted in which a plurality of programs that have passed through the rewriting unit 5 are embedded.
  • the first fixed program that configures the search screen is each incorporated with a program that has undergone the rewriting unit 5, It is assumed that the first program, the second program, and the third program have been created.
  • the control unit 9 receives a request from the user terminal 300, extracts and executes one of the first program, the second program, and the third program recorded in the recording unit 7, and indicates the execution result.
  • the data is displayed on the user terminal 300 via the transmission / reception unit 10.
  • control unit 9 receives an access request from the user terminal 300 that has accessed the travel site via the transmission / reception unit 10, and selects a first program from among a plurality of programs recorded in the recording unit 7.
  • the data (search screen) indicating the execution result is displayed on the display or the like of the user terminal 300 via the transmission / reception unit 10.
  • the control unit 9 accepts this request via the transmission / reception unit 10 and extracts the second program from the recording unit 7.
  • the data (selection screen) indicating the execution result is displayed on the display or the like of the user terminal 300 via the transmission / reception unit 10.
  • the control unit 9 receives this request via the transmission / reception unit 10, extracts and executes the third program from the recording unit 7, and data indicating the execution result (Reservation screen) is displayed on the display or the like of the user terminal 300 via the transmission / reception unit 10.
  • the travel reservation is completed when the user inputs predetermined information on the reservation screen.
  • a request from the user terminal 300 is received and a plurality of programs are executed on the system side. Even if a malicious code developed by the developer is included in this program, In the rewriting unit 5, the reference destination of the code is uniformly changed to a gate component in the code. For this reason, when the program is executed, the gate component restricts processing that causes harm to the system, so that the system can be reliably protected.
  • the gate component acquires customer information stored in the system by a malicious developer. Therefore, when the reading process in which customer information is accommodated is performed, the file in which the customer information is accommodated is determined as a file that is prohibited from being read in advance, and the file reference destination when executing the process is the prohibited file. If so, interrupt the process to protect the system. Also, if a malicious developer included loop processing to put a load on the system, if the number of loop processing loops exceeds a predetermined number, the loop processing is interrupted and the load on the system The process of reducing is performed.
  • the processing system of the present invention is not limited to the above embodiment.
  • the program is created using JavaScript (registered trademark), but may be created using a program language such as Ruby or PHP.
  • the program developed by the developer is incorporated in all programs, but there may be a fixed program that does not include the developer's program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】悪意ある開発者が作成したプログラムが存在していた場合に、ユーザやシステムを確実に保護することを目的とする。 【解決手段】有線又は無線のネットワークを介して外部から送信されたプログラムを処理するシステムであって、前記プログラムを受信する受信部と、前記プログラムに、ユーザ又はシステムへの攻撃を行う処理を制限するゲートコンポーネントを追加する追加部と、前記プログラムにおいて、所定のキーワード又は構文を有するコードを書き換えて、前記所定のキーワード又は構文を有するコードの参照先を前記ゲートコンポーネントに変更する書き換え部とを備えることを特徴とする処理システム。

Description

処理システム、処理方法及びプログラム
 本発明は、有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理システム等に関するものである。
 現在、外部サーバに存在する情報とプログラム開発者が開発したプログラムとを組み合わせた新規コンテンツを、ウェブサイトを通じてユーザに提供するシステムがある。この一例としては、Googleから提供される地図情報と、該地図上に存在するお店の写真や動画等の情報とを組み合わせて、地域を紹介する新規コンテンツを提供するもの等が挙げられる。
 ところで、上述の例において、写真や動画等の情報に加えて、例えばお店の口コミ情報を随時更新するプログラムを組み合わせることも考えられる。しかし、プログラム開発者に悪意があると、予めプログラムに例えばフィッシングサイトやウイルスに感染させるための不正サイトへと導くコードを組み込んで、ウェブサイトにアクセスしたユーザをこれらのサイトへと誘導して害を及ぼす場合がある。また、システムに保管されている秘密情報(例えば、顧客情報等)を盗むプログラムが組み込まれていた場合には、システム自体が攻撃される場合もある。そのため、プログラムを組み込むには、ユーザやシステムを保護するためにより強固なセキュリティが必要となる。
 このセキュリティの一例として、例えば特許文献1に記載されたものがある。この特許文献1では、プログラム開発者が開発したプログラムの特定のスクリプト部分(コード部分)を抽出し、これを正規化して識別情報を付与する。この識別情報はオリジン情報に紐付けられており、このオリジン情報と予め作成したデータベースに保存されたオリジン情報とを比較して、該データベースに保存されていないものであれば、スクリプト(コード)の実行を制限する。そして、このようなプログラムを外部サーバから得られる情報に組み込むことで、フィッシングサイトや不正サイトへのアクセスを防止する方法が記載されている。
特許第4395178号
 しかしながら、特許文献1の方法では文字列としてコードを認識している。そのため、コードが偽装された場合には、そもそも特定のコードが抽出されず、識別情報が付与されないのでユーザに害をなす処理を制限することができない。また、コードの偽装方法は無数にあるので、この偽装方法を全て想定することは不可能であり、特許文献1の方法では確実にプログラム開発者からの攻撃を防ぐことはできない。
 本発明は上述した問題に鑑みてなされたものであって、悪意ある開発者が作成したプログラムが存在していた場合に、ユーザ又はシステムを確実に保護することができる処理システム、処理方法及びプログラムに関するものである。
 本発明の処理システムは、有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理システムであって、前記プログラムを受信する受信部と、前記プログラムに、ユーザ又はシステムへの攻撃を行う処理を制限するゲートコンポーネントを追加する追加部と、前記プログラムにおいて、所定のキーワード又は構文を有するコードを書き換えて、前記所定のキーワード又は構文を有するコードの参照先を前記ゲートコンポーネントに変更する書き換え部とを備えることを特徴とする。
 開発者が開発したプログラムにおいて、ユーザやシステムに攻撃を行う可能性がある処理が含まれるコードは、所定のキーワード又は構文を用いて作成されている。そこで、本発明の処理システムでは、この特定のキーワード又は構文を有するコードの参照先を一律にゲートコンポーネントに書き換える。そのため、プログラムが実行されると、特定のキーワード又は構文を有するコードによって実行される処理は、全てゲートコンポーネントを経ることとなり、ゲートコンポーネントが、プログラム実行時にユーザやシステムに攻撃を行う処理の実行を制限する。そのため、ユーザに害を及ぼす処理を行うコードが偽装された場合であっても、所定のキーワード又は構文までも変更することはできず、偽装されたコードの参照先はゲートコンポーネントに変更されるので、プログラムが実行されると、ゲートコンポーネントにおいてユーザやシステムに害をなす処理が制限される。したがって、コードの偽装に関わらず、プログラム開発者からの攻撃を確実に防ぐことができ、ユーザ又はシステムを確実に保護することができる。
 本発明の処理システムの一実施形態としては、前記プログラムに含まれる前記所定のキーワード又は構文を有するコードを解析する解析部をさらに備え、前記追加部が、前記解析部の解析結果を受けて、予め入力された特定の処理を行うコードを組み合わせて前記ゲートコンポーネントを作成するものを挙げることができる。
 これにより、解析部がプログラムに含まれる所定のキーワード又は構文を有するコードを解析してプログラムに含まれる処理を特定した解析結果を受けて、追加部がこのプログラムに含まれる処理に対応したゲートコンポーネントを作成するので、プログラム毎に応じたゲートコンポーネントを作成することができ、プログラムを最適化して処理時間を短縮することができる。
 また、上述した処理システムの処理方法としては、有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理方法であって、受信部が前記プログラムを受信する第1のステップと、追加部が、前記プログラムに、予め定めた処理を制限するゲートコンポーネントを追加する第2のステップと、書き換え部が、前記プログラムにおいて、所定のキーワード又は構文を有するコードを書き換えて、前記所定のキーワード又は構文を有するコードの参照先を前記ゲートコンポーネントに変更するものを挙げることができる。
 さらに、上述した処理システムを実行するプログラムとしては、有線又は無線のネットワークを介して外部から送信されたプログラムを処理するプログラムであって、コンピュータを、有線又は無線のネットワークを介して外部から送信されたプログラムを解析し、受信部が前記プログラムを受信する第1のステップと、追加部が、前記プログラムに、予め定めた処理を制限するゲートコンポーネントを追加する第2のステップと、書き換え部が、前記プログラムにおいて、所定のキーワード又は構文を有するコードを書き換えて、前記所定のキーワード又は構文を有するコードの参照先を前記ゲートコンポーネントに変更するものを挙げることができる。
 本発明の処理システムによれば、悪意ある開発者が作成したプログラムが存在していた場合に、ユーザやシステムを確実に保護することができる。
第1実施形態における処理システムのブロック図。 開発者から送られてきたプログラムを示す一例。 書き換え部を経たプログラムを示す一例。 第1実施形態における処理システムの変形例を示すブロック図。 第2実施形態における処理システムのブロック図。
 本発明の処理システムの一実施形態について以下に図面を用いて説明する。
<第1実施形態>
 本発明の処理システムは、外部サーバから取得した情報に、プログラム開発者が開発したプログラムを合成したコンテンツを、ウェブサイトを介してユーザに提供するものである。この一例としては、外部サーバから取得した地図情報に、プログラム開発者が開発したゲームプログラムを合成して作成したゲームコンテンツを、ウェブサイトを通じてユーザに提供するものが挙げられる。なお、以下ではゲームを例に本発明の処理システムを説明するが、本発明の処理システムはこの例に限ったものではない。
 本発明の処理システム1は、図1に示すように、外部サーバ100、プログラム開発者の開発者端末200、ユーザのユーザ端末300とそれぞれ有線又は無線のネットワークを介して接続されるとともに、このネットワークは図示しないプロキシサーバ等を介してインターネットに接続されている。
 外部サーバ100は、ユーザ端末300から要求された情報を送信するものである。なお、本実施形態では外部サーバ100は、一つであるが複数あってもよく、ユーザ端末300が複数の外部サーバ100のそれぞれに情報を要求してもよい。
 開発者端末200は、図示しないCPU、メモリ、通信ポート、ネットワークインターフェイス等を備える例えばスマートフォン、タブレット端末、PC等であって、JavaScript(登録商標)、TypeScript等のソースコードを用いてプログラムを作成するものである。
 ユーザ端末300は、図示しないCPU、メモリ、通信ポート、ネットワークインターフェイス等を備える例えばスマートフォン、タブレット端末、PC等である。ところで、このユーザ端末300では、ユーザ端末自体に予め入力されたプログラムの機能やユーザ端末が管理するデータ等を呼び出すための規約であるアプリケーションプログラミングインターフェース(以下APIという)が開示されている。そのため、プログラム開発者は、このAPIを用いて、ユーザ端末300で実行されるプログラムを開発する。なお、本実施形態ではプログラムのコードが、JavaScript(登録商標)を用いて記載されているものとする。
 第1実施形態における処理システム1の構成について、以下に詳述する。
 この処理システム1は、CPU、メモリ、A/Dコンバータ、通信ポート、ネットワークインターフェイス等からなるサーバであって、メモリに所定のプログラムをインストールすることによって、図1に示す記録部5、受信部2、解析部3、追加部4、書き換え部5、作成部6、記録部7、送信部8としての機能を担うものである。
 受信部2は、開発者端末200から送られてきたプログラムを受信して、解析部3、書き換え部5及び書き換え部9へと送信する。このプログラムは、上述したAPIを用いて開発されたプログラムである。この一例としては、一定の条件を満たせば宝が現れる宝探しゲームのプログラムや、謎を解いて脱出を図る脱出ゲームのプログラム等、ゲームコンテンツの一要素をなすものを挙げることができる。
 解析部3は、受信部2から送られてきたプログラムを解析して、ユーザやシステムに攻撃を行うことが可能な処理を行う所定のキーワードや構文が記載された箇所を検出する。
 説明のため、以下に受信部2から送られてきたプログラムにおいて、外部サイトへの通信処理を要求するHTTPリクエストが、ウィンドウオブジェクトを用いて記載されている場合のコードの記載例を図2に示す。外部サイトへの通信処理では、その通信先のサイトがフィッシングサイト等の場合にユーザに害をなすことが可能である。なお、本実施形態では説明のため、以下のコードが全て1つのプログラムの中に含まれているとする。
・ウィンドウオブジェクトがopen関数を用いて記載されている場合
 window.open(“http://maliciousaaaasite.com/”,“welcome to maliciousaaaa site”);
・ウィンドウオブジェクトが別変数として記載されている場合
 var w=window;
 w.open(“http://maliciousaaaasite.com/”, 
 “welcome to maliciousaaaa site”);
・open関数が文字列として扱われている場合
 var o=“open”;
 window[o](“http://maliciousaaaasite.com/”, “welcome to maliciousaaaa site”);
・ウィンドウオブジェクトが、ウィンドウというワードを用いずにthisで参照されている場合
 this.open(“http://maliciousaaaasite.com/”,“welcome to maliciousaaaa site”);
・ウィンドウオブジェクトが、グローバル変数としてopen関数を用いて表されている場合
 open(“http://maliciousaaaasite.com/”, “welcome to maliciouaaaas site”);
・上述の例を組み合わせて記載されている場合
 var w=window;
 var o=“open”;
 var url=“http://maliciousaaaasite.com/”;
 var msg=“welcome to maliciousaaaa site”;
 w[o](url,msg);
 次に、受信部2から送られてきたプログラムにおいて、外部サイトへの通信処理を要求するHTTPリクエストがDOMオブジェクトを用いて記載された場合について説明する。
 この一例としては、DOMにinnerHTMLを用いてscriptタグを注入したコードで記載したものが挙げられる。
var dom=window.document.createElement(“div”);
 dom.innerHTML=‘<script>open(http://maliciousaaaasite.com/)</script>’;
 また、上述した例に加えて、例えばダミーコードを挟んで記載する場合も考えられる。
 解析部3は、上述の例に挙げた様に種々の方法で記載されたコードの中から所定のキーワードや構文を特定し、その解析結果を示すデータを書き換え部5へと送信する。上述の例であれば、「window」というキーワードやウィンドウオブジェクトを示す関数(例えばopen関数等)を有する構文を特定し、その解析結果を示すデータを書き換え部5へと送信する。
 追加部4は、受信部2が受信したプログラムに、ユーザ又はシステムへの攻撃を行う処理を制限するゲートコンポーネントを追加する。本実施形態においては、図3に示すように受信部2が受信したプログラムにゲートコンポーネントとなるプログラムP2、P3を追加する。
 このゲートコンポーネントが制限する処理は、例えば、外部サーバ100やサイトへ通信する処理、ファイルを読み込む処理、ループ処理、ログアウト、ログインの自動操作処理、確認画面を通さない他サイトへのリンク処理、Cookieの読み取り処理、実行ファイルのアップロード・ダウンロード処理、プラウザの処理を著しく制限する処理の連続実行処理、プラグインの呼出し処理、長いデータの定義や長い演算処理等である。
 ここでは、上述した処理のうち外部サーバ100やサイトへ通信する処理、ファイルを読み込む処理、ループ処理についてより具体的に説明する。まず、外部サーバ100やサイトへ通信する処理であれば、アクセス先のURLが予め安全性を確認されたドメイン以外の場合には、処理を中断する。次に、ファイルを読み込む処理であれば、その参照先のファイルが予め禁止したファイル(例えば、顧客情報や個人情報が収容されたファイル等)であれば、ファイル処理を中断する。最後にループ処理であれば、そのコードに記載されたループ回数が予め定めた上限を上回る場合にループ処理を中断する。
 書き換え部5は、解析部3の解析結果を受けて、ファイルの読み込み処理、外部サーバ100やサイトへの通信処理、ループ処理等を行う所定のキーワード又は構文を有するコードを書き換えたり、コードを追加したりして、これら所定のキーワード又は構文を有するコードの参照先をゲートコンポーネントに変更する。
 具体的には、上述した受信部2から送られてきたプログラムにおいて、外部サイトへの通信処理を要求するHTTPリクエストが、ウィンドウオブジェクトを用いて記載されている場合であれば、図3に示すように、window部分をfakeWindowに書き換えることが挙げられる。このfakewindowは、ゲートコンポーネントのことを示す。
 また、windowというキーワードを用いずにウィンドウオブジェクトを表す部分については、fakewindowというキーワードを追加して、確実にコードの参照先がゲートコンポーネントとなるように書き換える。
 上述の処理を行うことで、書き換え部5は所定のキーワード又は構文を有するコードの参照先をゲートコンポーネントに変更したプログラムP1を作成する。
 作成部6は、追加部4及び書き換え部5を経て作成されたプログラムP1、プログラムP2、プログラムP3を取得して、これらプログラムP1、プログラムP2、プログラムP3からなるプログラムXを予め作成した定型プログラムに埋め込んだ初期プログラムを作成する。この初期プログラムとは、ユーザ端末300で機能するものであって、外部サーバ100が有する情報を取得する要求を行うとともに、新規コンテンツを作成するように命令するものである。なお、本実施形態では、初期プログラムを生成する際に、書き換え部5を経て作成されたプログラムP1のみを組み込んでいるが、書き換え部5で書き換えられた複数のプログラムを組み込むことも可能である。
 記録部7は、初期プログラムを記録する。なお、記録時に例えばプログラムを受信部2で受け付けた時間情報や、プログラムの名称に関する情報等に紐付けて初期プログラムを記録してもよい。
 送信部8は、ユーザ端末300からの初期プログラムの要求を受け付けて、初期プログラムを記録部7から抽出してユーザ端末300に送信するものである。
 ユーザ端末300では、送信部8から送信された初期プログラムが実行され、外部サーバ100に情報を取得する要求を行い、外部サーバ100からこの情報が送信される。ユーザ端末300では、この情報にプログラムXや定型プログラムを合成して新規コンテンツを生成する。このコンテンツは、例えば外部サーバ100から地図情報を取得し、地図上の所定の地点に宝を配置するとともに、ユーザの現在位置からその所定の地点までの間に位置情報に紐付けた様々なトラップを仕掛け、ユーザが実際にその位置に移動してトラップを解いていくことによって宝を獲得できるとした所謂リアルゲームに関する新規コンテンツである。
 上述した第1実施形態の処理システムによれば、開発者が開発したプログラムにおいて、ユーザに害をなす可能性がある処理が含まれるコードの参照先を一律にゲートコンポーネントに書き換える。そのため、プログラムが実行されると、特定のキーワード又は構文を有するコードによって実行される処理は、全てゲートコンポーネントを経ることとなり、ゲートコンポーネントが、プログラム実行時にユーザに害をなす予め定めた処理の実行を制限する。そのため、ユーザに害を及ぼす処理を行うコードが偽装された場合であっても、偽装されたコードの参照先はゲートコンポーネントに変更されるので、プログラムが実行されると、ゲートコンポーネントにおいてユーザに害をなす処理が制限される。したがって、コードの偽装に関わらず、プログラム開発者からの攻撃を確実に防ぐことができる。
 具体的にゲートコンポーネントは、悪意ある開発者がプログラムの中に、フィッシングサイトや不正サイトへと導くウェブブラウザへの通信処理を含ませていた場合、ゲートコンポーネントにおいてその処理を中断して、ユーザを保護することができる。また、悪意ある開発者がユーザ端末に保存された個人情報を取得するため、個人情報が収容されたファイルへの読み込み処理を行った場合、個人情報が収容されたファイルを予め読み込みを禁止するファイルに定めておき、処理を実行する際に参照先のファイルが禁止ファイルに該当すれば、処理を中断して個人情報が取得されることを防止し、ユーザを保護する。さらに、悪意ある開発者がユーザ端末に負荷をかけるためにループ処理を含んでいた場合、このループ処理のループ回数が予め定めた所定回数を超えていると、ループ処理を中断してユーザ端末への負荷を低減することができる。
 なお、第1実施形態の変形例として、図4に示すように追加部4が、解析部3が作成した解析データを取得して、解析データに含まれる処理に対応したゲートコンポーネントを作成してもよい。このように構成すれば、ゲートコンポーネントをプログラムに合わせてカスタマイズできるので、処理を最適化して処理時間を短縮化することができる。
 また、第1実施形態ではゲートコンポーネントを追加する追加部を経た後に書き換え部において、所定のキーワードまたは構文を有するコードの参照先をゲートコンポーネントに変更していたが、書き換え部での処理を行った後に、追加部でゲートコンポーネントを追加するように構成してもよい。さらに、作成部でゲートコンポーネントを追加するように構成してもよい。
<第2実施形態>
 次に第2実施形態における本発明の処理システムについて説明する。
 第2実施形態における処理システムは、処理システム側でプログラムが実行される点が第1実施形態と異なっている。なお、第1実施形態とは同様の符号を付し、説明を省略する。
 第2実施形態における処理システムは、図5に示すように、受信部2、解析部3、追加部4、書き換え部5、作成部6、記録部7に加えて、プログラムを実行する制御部9及びユーザ端末300との通信を行う送受信部10をさらに備える。
 第2実施形態における処理システムの具体例を、旅行の予約サイトを例に挙げて説明する。
 旅行の予約サイトは一般的に大きく分けて、日時、目的場所、費用等のユーザの所望する条件を入力して検索する検索画面、検索結果を表示して所望のプランを選択する選択画面、所望のプランにおいて人数や部屋タイプ等が入力して予約を完了する予約画面が設けられている。
 このような予約サイトにおいて、よりユーザが使いやすいように画面をカスタマイズするため、プログラム開発者がそれぞれ各画面に応じた複数のプログラムを作成する。
 受信部2はこれらのプログラムを取得して解析部3、追加部4へと送り、書き換え部5は解析部3から得られた解析データをもとに、追加部4でゲートコンポーネントが追加されたプログラムを書き換える。
 ここで、開発者が開発したプログラムにファイルの読み込み処理を行う以下のコードが含まれていたとする。
 function showFile(err, txt){
 console.log(“err:” + err);
 console.log(“txt:” + txt);
}
var fs = require(“fs”);
fs.readFile(“test.txt”, “utf-8”, showFile);
 この場合、書き換え部5は以下のようにコードを変更する。
 function showFile(err, txt){
 console.log(“err:” + err);
 console.log(“txt:” + txt);
 }
 var fs = fakeRequire(“fs”);
 fs.readFile(“test.txt”, “utf-8”, showFile);
 ここで、fakeRequireがゲートコンポーネントを示すので、このコードの参照先がゲートコンポーネントに変更される。
 また、ファイルの読み込み処理を行うコードが以下のように記載されていたとする。
 function showFile(err, txt){
 var a = require(“fs”);
 var b = “readFile”;
 var c = “test.txt”;
 var d = “utf-8”;
 var e = showFile;
 a〔b〕(c, d, e);
}
 この場合には、以下のようにコードを変更してこのコードの参照先をゲートコンポーネントに変更する。
 var a = fakeRequire(“fs”);
 var b = “readFile”;
 var c = “test.txt”;
 var d = “utf-8”;
 var e = showFile;
 a〔b〕(c, d, e);
 ここで、fakeRequireがゲートコンポーネントを示すので、このコードの参照先がゲートコンポーネントに変更される。
 作成部6は書き換え部5を経たプログラムを定型プログラムに組み込む。ここで、本実施形態では複数の定型プログラムが予め入力されており、この定型プログラムのいずれかに書き換え部5を経たプログラムを組み込む。このとき、書き換え部5を経たプログラムを複数埋め込む構成であってもよい。
 本実施形態では説明のため、検索画面を構成する第1定型プログラム、選択画面を構成する第2定型プログラム、予約画面を構成する第3定型プログラムに書き換え部5を経たプログラムがそれぞれ組み込まれて、第1プログラム、第2プログラム、第3プログラムが作成されたものとする。
 これら第1プログラム、第2プログラム、第3プログラムはそれぞれ記録部7に記録される。
 制御部9は、ユーザ端末300からの要求を受け付けて、記録部7に記録された第1プログラム、第2プログラム、第3プログラムのうちの一つを抽出して実行し、その実行結果を示すデータを、送受信部10を介してユーザ端末300に表示する。
 具体的に制御部9は、旅行サイトにアクセスしたユーザ端末300からのアクセス要求を送受信部10を介して受け付けて、記録部7に記録された複数のプログラムのうちの第1プログラムを選択して実行し、その実行結果を示すデータ(検索画面)を、送受信部10を介してユーザ端末300のディスプレイ等に表示する。
 次に、ユーザが検索画面において、所望の日時や場所等を入力して検索ボタンを押すと、制御部9が送受信部10を介してこの要求を受け付けて、記録部7から第2プログラムを抽出して実行し、実行結果を示すデータ(選択画面)を、送受信部10を介してユーザ端末300のディスプレイ等に表示する。
 最後に、ユーザが選択画面から所望のプランを選択すると、制御部9が送受信部10を介してこの要求を受け付けて、記録部7から第3プログラムを抽出して実行し、実行結果を示すデータ(予約画面)を、送受信部10を介してユーザ端末300のディスプレイ等に表示する。この予約画面にユーザが所定の情報を入力することにより旅行の予約が完了する。
 第2実施形態の処理システムでは、ユーザ端末300からの要求を受け付けてシステム側で複数のプログラムが実行されるが、このプログラムに開発者が開発した悪意あるコードが含まれていたとしても、このコードは書き換え部5において、そのコードの参照先を一律にゲートコンポーネントに変更されている。そのため、プログラム実行時に、ゲートコンポーネントがシステムに害を及ぼす処理を制限するので、システムを確実に保護することができる。
 なお、ゲートコンポーネントが制限する処理については第1実施形態と同様であるため、ここでは説明を省略するが、具体的にゲートコンポーネントは、悪意ある開発者がシステムに保存された顧客情報等を取得するため、顧客情報が収容された読み込み処理をおこなった場合、この顧客情報が収容されたファイルを予め読み込みを禁止するファイルに定めておき、処理を実行する際のファイルの参照先が禁止ファイルであれば、処理を中断してシステムを保護する。また、悪意ある開発者がシステムに負荷をかけるためにループ処理を含んでいた場合、このループ処理のループ回数が予め定めた所定回数を超えていると、ループ処理を中断してシステムへの負荷を低減する等の処理を行う。
 本発明の処理システムは上記実施形態に限られたものではない。
 例えば、上記実施形態ではプログラムがJavaScript(登録商標)を用いて作成されたものであったが、RubyやPHP等のプログラム言語を用いて作成されたものであってもよい。
 また、第2実施形態では全てのプログラムに開発者が開発したプログラムが組み込まれていたが、開発者のプログラムが含まれない定型プログラムがあってもよい。
 本発明は、その趣旨に反しない範囲で様々な変形が可能である。
1・・・処理システム
2・・・受信部
3・・・解析部
4・・・作成部
5・・・書き換え部

 

Claims (4)

  1.  有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理システムであって、
     前記プログラムを受信する受信部と、
     前記プログラムに、ユーザ又はシステムへの攻撃を行う処理を制限するゲートコンポーネントを追加する追加部と、
     前記プログラムにおいて、所定のキーワード又は構文を有するコードを書き換えて、前記所定のキーワード又は構文を有するコードの参照先を前記ゲートコンポーネントに変更する書き換え部とを備えることを特徴とする処理システム。
  2.  前記プログラムに含まれる前記所定のキーワード又は構文を有するコードを解析する解析部をさらに備え、
     前記追加部が、前記解析部の解析結果を受けて、予め入力された特定の処理を行うコードを組み合わせて前記ゲートコンポーネントを作成することを特徴とする請求項1記載の処理システム。
  3.  有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理方法であって、
     受信部が前記プログラムを受信する第1のステップと、
     追加部が、前記プログラムに、ユーザ又はシステムへの攻撃を行う処理を制限するゲートコンポーネントを追加する第2のステップと、
     書き換え部が、前記プログラムにおいて、所定のキーワード又は構文を有するコードを書き換えて、前記所定のキーワード又は構文を有するコードの参照先を前記ゲートコンポーネントに変更することを特徴とする処理方法。
  4.  有線又は無線のネットワークを介して外部から送信されたプログラムを処理するプログラムであって、
     コンピュータを、
     有線又は無線のネットワークを介して外部から送信されたプログラムを解析し、受信部が前記プログラムを受信する第1のステップと、
     追加部が、前記プログラムに、ユーザ又はシステムへの攻撃を行う処理を制限するゲートコンポーネントを追加する第2のステップと、
     書き換え部が、前記プログラムにおいて、所定のキーワード又は構文を有するコードを書き換えて、前記所定のキーワード又は構文を有するコードの参照先を前記ゲートコンポーネントに変更することを特徴とするプログラム。

     
PCT/JP2016/086962 2016-01-27 2016-12-13 処理システム、処理方法及びプログラム WO2017130583A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201680079009.3A CN108475315A (zh) 2016-01-27 2016-12-13 处理系统、处理方法及程序
US15/765,568 US10754944B2 (en) 2016-01-27 2016-12-13 Processing system, and processing method and program
JP2017563732A JP6472545B2 (ja) 2016-01-27 2016-12-13 処理システム、処理方法及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-013880 2016-01-27
JP2016013880 2016-01-27

Publications (1)

Publication Number Publication Date
WO2017130583A1 true WO2017130583A1 (ja) 2017-08-03

Family

ID=59397903

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/086962 WO2017130583A1 (ja) 2016-01-27 2016-12-13 処理システム、処理方法及びプログラム

Country Status (4)

Country Link
US (1) US10754944B2 (ja)
JP (1) JP6472545B2 (ja)
CN (1) CN108475315A (ja)
WO (1) WO2017130583A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015501961A (ja) * 2011-11-07 2015-01-19 クアルコム,インコーポレイテッド 情報の流れを把握するための値内のラベルの符号化
JP2015534690A (ja) * 2012-10-19 2015-12-03 マカフィー, インコーポレイテッド モバイル・アプリケーション管理
JP2016009405A (ja) * 2014-06-25 2016-01-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃コード検出装置、攻撃コード検出方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287166B1 (en) * 1999-09-03 2007-10-23 Purdue Research Foundation Guards for application in software tamperproofing
US6654751B1 (en) * 2001-10-18 2003-11-25 Networks Associates Technology, Inc. Method and apparatus for a virus information patrol
US8510571B1 (en) * 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
US9465591B2 (en) * 2012-12-17 2016-10-11 Unisys Corporation Syntax language generator for compiler validation
KR101623174B1 (ko) * 2014-08-27 2016-05-20 주식회사 파수닷컴 소스 코드 분석 장치, 이를 위한 컴퓨터 프로그램, 그 기록매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015501961A (ja) * 2011-11-07 2015-01-19 クアルコム,インコーポレイテッド 情報の流れを把握するための値内のラベルの符号化
JP2015534690A (ja) * 2012-10-19 2015-12-03 マカフィー, インコーポレイテッド モバイル・アプリケーション管理
JP2016009405A (ja) * 2014-06-25 2016-01-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃コード検出装置、攻撃コード検出方法、及びプログラム

Also Published As

Publication number Publication date
JP6472545B2 (ja) 2019-02-20
CN108475315A (zh) 2018-08-31
JPWO2017130583A1 (ja) 2018-08-09
US20190080083A1 (en) 2019-03-14
US10754944B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
JP4395178B2 (ja) コンテンツ処理システム、方法及びプログラム
KR101672791B1 (ko) 모바일 웹 애플리케이션 환경에서의 취약점 탐지 방법 및 시스템
US20180077160A1 (en) Client/server security by executing instructions and rendering client application instructions
US8464318B1 (en) System and method for protecting web clients and web-based applications
US9460292B2 (en) Dynamic rendering of a document object model
US9635041B1 (en) Distributed split browser content inspection and analysis
KR101514984B1 (ko) 홈페이지 악성코드 유포 탐지 시스템 및 방법
US9348980B2 (en) Methods, systems and application programmable interface for verifying the security level of universal resource identifiers embedded within a mobile application
US8578482B1 (en) Cross-site script detection and prevention
US20100037317A1 (en) Mehtod and system for security monitoring of the interface between a browser and an external browser module
ES2882125T3 (es) Sistema y procedimiento para identificar ataques en Internet
WO2016164036A1 (en) Modifying web page code to include code to protect output
WO2009032765A2 (en) Proxy engine for custom handling of web content
De Ryck et al. A security analysis of next generation web standards
Bao et al. Cross-site scripting attacks on android hybrid applications
Hamon Malicious URI resolving in PDF documents
US8484232B2 (en) Method, computer arrangement, computer program and computer program product for checking for the presence of control statements in a data value
Felt et al. Talking to strangers without taking their candy: isolating proxied content
JP6472545B2 (ja) 処理システム、処理方法及びプログラム
Golubovic Attacking browser extensions
JP5682181B2 (ja) 通信制御機能を有する通信装置、方法、プログラム
KR102513460B1 (ko) 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템
KR101234592B1 (ko) 안드로이드가 탑재된 휴대 단말기에서의 웹브라우저 백신 구동 방법
KR101024444B1 (ko) 단말에서의 웹어플리케이션 플랫폼 및 웹어플리케이션 플랫폼 동작 방법
US20160378982A1 (en) Local environment protection method and protection system of terminal responding to malicious code in link information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16888167

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017563732

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16888167

Country of ref document: EP

Kind code of ref document: A1