This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2021-7397, filed on Jan. 20, 2021, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a computer-readable recording medium storing an information processing program, an information processing method, and an information processing apparatus.
In recent years, attackers with various purposes have made cyberattacks, and general users have been daily exposed to threats of the cyberattacks on the Internet. Malicious attackers may exploit an infrastructure such as the Domain Name System (DNS) on the Internet in the same way as legitimate business operators may use it. For example, an attacker exploits the DNS by using a scheme such as Fast-Flux or domain-generation algorithms (DGAs) so that the location of a command & control (C&C) server for transmitting instructions to malware may not be found on the DNS. Meanwhile, researchers on the defending side have been improving methods for detecting such exploits, and have been accumulating many findings.
Example of the related art include as follow: Japanese Laid-open Patent Publication No. 2015-177434; and Japanese Laid-open Patent Publication No. 2020-14061.
According to an aspect of the embodiments, a computer-implemented method includes: collecting transaction data concerning a specific virtual currency address from a blockchain; decrypting address information based on transaction details specified in the collected transaction data; collecting threat information concerning the address information based on the decrypted address information; and detecting a change in an attack scheme of a cyberattack using the virtual currency address, based on a time-series change in at least one item included in the transaction details specified in the collected transaction data and the collected threat information.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
Without having any particular reason to persist in exploiting the DNS, attackers who make cyberattacks may use a blockchain as another channel for concealing C&C communication. In order to conceal the C&C communication using the blockchain, the attacker uses a transaction of a virtual currency (may be referred to as “cryptcurrency”, “cryptocurrency”, or “crypto-currency”) such as bitcoin (also referred to as crypto assets) using a public distributed ledger called a blockchain. Such concealment of the C&C communication using the blockchain is an attack scheme (may be referred to as “attack strategy”) that is still under development for attackers, and the attackers have been modifying and advancing the attack scheme by trial and error.
However, the related art described above is intended to detect the attack scheme using the DNS, and has a problem of having difficulty in detecting a change in the attack scheme using a blockchain.
In one aspect, an object is to provide an information processing program, an information processing method, and an information processing apparatus that are capable of detecting a change in an attack scheme of a cyberattack.
Hereinafter, an information processing program, an information processing method, and an information processing apparatus according to the embodiments will be described with reference to the drawings. In the embodiments, components having the same functions will be denoted by the same reference signs, and redundant description thereof will be omitted. The information processing program, the information processing method, and the information processing apparatus described in the following embodiments are just for exemplary purposes, and do not limit other embodiments. Any two or more of the following embodiments may be appropriately combined as long as they will not have inconsistency.
The information processing apparatus 1 includes a bitcoin transaction information collection unit 10, a C&C IP decryption unit 11, a Geo IP conversion unit 12, a malware information collection unit 13, an attack scheme change detection unit 14, and an output unit 15.
The bitcoin transaction information collection unit 10 is a processing unit that performs transaction collection for collecting transaction data 22 specifying transactions of the virtual currency from the bitcoin blockchain 21. For example, the bitcoin transaction information collection unit 10 uses, as an input, a bitcoin address 20 for the virtual currency which is reported to be exploited in threat information such as cyber threat intelligence (CTI), and performs transaction collections for transactions originating with the bitcoin address 20 from the bitcoin blockchain 21. Next, the bitcoin transaction information collection unit 10 outputs the collected data as the transaction data 22.
As illustrated in
For example, at most 50 transactions may be collected in blockcyper.com.
For each transaction, as illustrated in
In the “inputs” area 35, an “output_value” area 35a specifies the amount of bitcoins sent in terms of the minimum unit (satoshi). An “addresses” area 35b specifies the bitcoin address on the sender side.
In the “outputs” area 36, “value” areas 36a and 36c specify the amounts of bitcoins received in terms of the minimum unit (satoshi). Then, “addresses” areas 36b and 36d specify bitcoin addresses on the receiver side.
Referring back to
The C&C IP decryption unit 11 is a processing unit that uses, as an input, the transaction data 22 collected by the bitcoin transaction information collection unit 10 and decrypts, based on transaction details specified in the transaction data 22, address information (for example, C&C IP) concealed in the transaction details.
In the transaction 40b, 15,661 satoshi are remitted at 4:24 on Aug. 3, 2020, and these bitcoins actually conceal IP information of 45.61. For example, 15,661 is converted into a hexadecimal number (3D2D), 3D2D is then divided into (3D and 2D), which are then converted into decimal numbers (61 and 45). Next, when these decimal numbers are put in the reverse order and concatenated, the IP information of 45.61 is obtained.
Similarly, in the transaction 40a, 4,235 satoshi are remitted at 4:29 on Aug. 3, 2020. When 4,235 is converted in the same procedure as above, IP information of 139.16 is obtained. These numbers are concatenated to obtain 45.61.139.16. Every time a new transaction is added to the transaction data 22, the C&C IP decryption unit 11 decrypts the C&C IP based on the above conversion procedure and outputs the decrypted C&C IP to the malware information collection unit 13.
Referring back to
Next, the Geo IP conversion unit 12 refers to a provider (autonomous system) and a country having a C&C IP in the Geo IP DB 25.
As the Geo IP DB 25, for example, GeoLite 2 (Registered Trademark) provided by MaxMind Company or the like is used. The Geo IP conversion unit 12 stores the provider and the country obtained by reference into a “PROVIDER” column and a “COUNTRY” column, respectively.
Referring back to
Referring back to
The parameter information 27 is information on parameters used to detect a time-series change in at least one item included in the collected transaction details and the collected threat information 23. For example, the parameter information 27 includes T_shift that is a parameter for detecting a shift of the transaction time. The parameter information 27 includes T_var that is a parameter for controlling a variance in the transaction time. The parameter information 27 includes W_recent that is a parameter for controlling the latest period. The parameter information 27 includes W_previous that is a parameter for controlling a period immediately preceding W_recent. The parameter information 27 includes δ_up that is a parameter for detecting a short-term sharp rise, and δ_down that is a parameter for detecting a short-term sharp fall. The parameter information 27 also includes δ_up_tendency that is a parameter for detecting a rising tendency during a certain period, and δ_down_tendency that is a parameter for detecting a falling tendency during the certain period.
Here, W_recent is basically set to a period in the unit of about one to two weeks, but may be set to a period longer or shorter than that. Since the transaction time is stored in the format such as hh:mm:ss (hh: hour, mm: minute, and ss: second), the attack scheme change detection unit 14 normalizes the transaction times in the units of hours and calculates the average and the variance.
Next, the attack scheme change detection unit 14 calculates an average (Ave_previous) and a variance (Var_previous) of the approval times of the transactions in W_previous input as the period immediately preceding W_recent (S12). W_previous is set to, for example, a one- to two-week period preceding W_recent without overlapping W_recent.
Next, the attack scheme change detection unit 14 determines whether |Ave_recent−Ave_previous| is larger than T_shift and whether Var_recent is smaller than T_var (S13). When |Ave_recent−Ave_previous| is larger than T_shift and Var_recent is smaller than T_var (S13: YES), the attack scheme change detection unit 14 outputs a detection result indicating a change in the transaction time slot (S14) and terminates the process. When the negative determination (No) is made in S13, the attack scheme change detection unit 14 terminates the process without outputting any detection result.
As described above, in the transaction time slot change detection process (S1), the attack scheme change detection unit 14 detects a case where the bitcoin transaction time slot of the attacker changed to a specific time slot, and outputs, as a detection result, information indicating from which time slot to which time slot the transaction time of the attacker changed.
In the example of the detection result R1 in
Thus, the user of the information processing apparatus 1 may significantly efficiently perform works for the detection.
Then, the attack scheme change detection unit 14 determines whether the latest transaction fee change is larger than δ_up (>1.0) (S21). When the latest transaction fee change is larger than δ_up (S21: Yes), the attack scheme change detection unit 14 outputs a fee sharp rise as an attack scheme change (S22), and advances the process to S25. When the latest transaction fee change is not larger than δ_up (S21: No), the attack scheme change detection unit 14 advances the process to S23.
In S23, the attack scheme change detection unit 14 determines whether the latest transaction fee change is smaller than δ_down (0<δ_down <1.0). When the latest transaction fee change is smaller than δ_down (S23: Yes), the attack scheme change detection unit 14 outputs a fee sharp fall as an attack scheme change (S24) and advances the process to S25. When the latest transaction fee change is not smaller than δ_down (S23: No), the attack scheme change detection unit 14 advances the process to S25.
In S25, the attack scheme change detection unit 14 calculates a fee average of the transactions in W_recent and a fee average of the transactions in W_previous. Then, the attack scheme change detection unit 14 calculates the ratio between these averages (the fee average of the transactions in W_recent/the fee average of the transactions in W_previous). Then, the attack scheme change detection unit 14 determines whether the ratio between the fee averages of W_recent and W_previous is larger than δ_up_tendency (>1.0).
When the ratio between the fee averages of W_recent and W_previous is larger than δ_up_tendency (S25: Yes), the attack scheme change detection unit 14 outputs a fee rising tendency as an attack scheme change
(S26), and terminates the process. When the ratio between the fee averages of W_recent and W_previous is not larger than δ_up_tendency (S25: No), the attack scheme change detection unit 14 advances the process to S27.
In S27, the attack scheme change detection unit 14 determines whether the ratio between the fee averages of W_recent and W_previous is smaller than δ_down_tendency (0<δ_down_tendency<1.0). When determining in S27 that the ratio is smaller than δ_down_tendency (S27: Yes), the attack scheme change detection unit 14 outputs a fee falling tendency as an attack scheme change (S28), and terminates the process. When determining in S27 that the ratio is not smaller than the threshold (S27: No), the attack scheme change detection unit 14 just terminates the process.
As described above, the fee change detection process (S2) detects a fee change from two angles, whether the attacker received a temporary influence of a fee sharp rise or the like in the bitcoin market and whether the set fees were increased as a part of the strategy of the attack scheme, and outputs the detected change as a detection result.
In behaviors by the attacker actually observed in the detection result R2, phenomena were observed in which high fees were attempted for only several weeks and very high fees had to be set due to the influence of bitcoin halving. The user of the information processing apparatus 1 is enabled to check the detection result R2 to recognize the behaviors by the attacker, and thereby significantly efficiently perform works for the detection.
When an API not existing in the exploited APIs is observed (S31: Yes), the attack scheme change detection unit 14 adds the API to the exploited API data, outputs a detection of the new API (S32), and advances the process to the S34.
When the API not existing in the exploited APIs is not observed (S31: No), the attack scheme change detection unit 14 updates the last observation of each API observed among the existing APIs (S33) and advances the process to S34.
In S34, the attack scheme change detection unit 14 determines whether an address not existing in the API communication bitcoin address data is observed in the input data. When an address not existing in the API communication bitcoin address data is observed (S34: Yes), the attack scheme change detection unit 14 adds the address to the API communication bitcoin address data, outputs a detection of the new communication address (S35), and terminates the process.
When an address not existing in the API communication bitcoin address data is not observed (S34: No), the attack scheme change detection unit 14 updates the last observation of each bitcoin address observed among the existing bitcoin addresses (S36), and terminates the process.
In API communication bitcoin address data 42, “BITCOIN ADDRESS” stores each bitcoin address accessed by malware by way of an API. “FIRST OBSERVATION” and “LAST OBSERVATION” store the same data (the dates and times of the first and last observations) as in the exploited API data 41.
In the newly-exploited API and new communication bitcoin address data 43, “NEWLY-EXPLOITED API” stores “API 3” and “NEW COMMUNICATION BITCOIN ADDRESS” stores “Addr 3”.
Also in an actual operation by the attacker observed in the newly-exploited API and new communication bitcoin address data 43, it was observed that the attacker took an action to set multiple APIs or add an API, because when the API of the blockchain becomes unusable, the malware has no way to obtain any information based on which the C&C communication is performed. An action to change the bitcoin address 20 to be accessed was also observed.
When the exploited provider of the new C&C IP is absent in the C&C IP provider data (S41: Yes), the attack scheme change detection unit 14 adds the provider to the C&C IP provider data, outputs the newly-exploited provider (S42), and advances the process to S44.
When the exploited provider of the new C&C IP exists in the C&C IP provider data (S41: No), the attack scheme change detection unit 14 updates the last observation of each exploited provider observed among the existing exploited providers (S43), and advances the process to S44.
In S44, the attack scheme change detection unit 14 determines whether the number of providers lastly observed in W_recent is two or more and whether the number of providers lastly observed in W_previous is one. When the affirmative determination is made in S44 (S44: Yes), the attack scheme change detection unit 14 outputs a detection of a change to distributed exploits of the providers of the C&C IPs (S45), and terminates the process. When the negative determination is made in S44 (S44: No), the attack scheme change detection unit 14 advances the process to S46.
In S46, the attack scheme change detection unit 14 determines whether the number of providers lastly observed in W_recent is one and the number of providers lastly observed in W_previous is two or more. When the affirmative determination is made in S46 (S46: Yes), the attack scheme change detection unit 14 outputs a detection of a change to a concentrated exploit of the provider of the C&C IP (S47), and terminates the process. When the negative determination is made in S46 (S46: No), the attack scheme change detection unit 14 just terminates the process.
In an actual operation by the attacker observed in the C&C IP provider exploit change detection data 45, observed was an action of changing the C&C IP provider(s) at a certain time point from a concentrated exploit of a specific provider to distributed exploits of various providers.
When the country of the new C&C IP is absent in the C&C IP country data (S51: Yes), the attack scheme change detection unit 14 adds the country to the C&C IP country data, outputs the newly detected country (S52), and advances the process to S54.
When the country of the new C&C IP exists in the C&C IP country data (S51: No), the attack scheme change detection unit 14 updates the last observation of each country observed among the existing countries (S53), and advances the process to S54.
In S54, the attack scheme change detection unit 14 determines whether the number of countries lastly observed in W_recent is two or more and whether the number of countries lastly observed in W_previous is one. When the affirmative determination is made in S54 (S54: Yes), the attack scheme change detection unit 14 outputs a detection of a change to distributed exploits of the countries of the C&C IPs (S55), and terminates the process. When the negative determination is made in S54 (S54: No), the attack scheme change detection unit 14 advances the process to S56.
In S56, the attack scheme change detection unit 14 determines whether the number of countries lastly observed in W_recent is one and the number of countries lastly observed in W_previous is two or more. When the affirmative determination is made in the S56 (S56: Yes), the attack scheme change detection unit 14 outputs a detection of a change to a concentrated exploit of the country of the C&C IP (S57), and terminates the process. When the negative determination is made in S56 (S56: No), the attack scheme change detection unit 14 just terminates the process.
In an actual operation by the attacker observed in the detection result R3, a change regarding the C&C IP countries was observed from a concentrated operation using IPs of a specific county to a distributed operation using IPs of various countries as is the case with the providers.
When the two transactions were confirmed in the same block (S61: Yes), the attack scheme change detection unit 14 advances the process to S64. When the two transactions were not approved in the same block (S61: No), the attack scheme change detection unit 14 advances the process to S62.
In S62, the attack scheme change detection unit 14 determines whether two transactions involving the immediately preceding C&C IP were confirmed in the same block. When the affirmative determination is made in S62 (S62: Yes), the attack scheme change detection unit 14 outputs a change to the transactions in the different blocks (S63), and terminates the process. When the negative determination is made in S62 (S62: No), the attack scheme change detection unit 14 just terminates the process.
In S64, the attack scheme change detection unit 14 determines whether two transactions involving the immediately preceding C&C IP were confirmed in different blocks. When the affirmative determination is made in S64 (S64: Yes), the attack scheme change detection unit 14 outputs a change to the transactions in the same block (S65), and terminates the process. When the negative determination is made in S64 (S64: No), the attack scheme change detection unit 14 just terminates the process.
In an actual operation by the attacker observed in the detection result R4, an operation of causing a first transaction to be confirmed first and then causing a second transaction to be confirmed and an operation of causing two transactions to be confirmed in the same block were attempted, and trial and error of the two strategies were observed.
Referring back to
As described above, the information processing apparatus 1 collects transaction data (transaction data 22) concerning a specific virtual currency address (bitcoin address 20) from the blockchain (bitcoin blockchain 21). The information processing apparatus 1 decrypts the address information (for example, C&C IP) based on the transaction details specified in the collected transaction data 22. Based on the decrypted C&C IP, the information processing apparatus 1 collects the threat information 23 concerning the C&C IP. The information processing apparatus 1 detects a change in an attack scheme of a cyberattack using the bitcoin address 20 based on a time-series change in at least one item included in the transaction details specified in the collected transaction data 22 and the collected threat information 23.
Thus, the information processing apparatus 1 is able to detect a time-series change in an attack scheme of a cyberattack in which address information involved in C&C communication is concealed using the blockchain.
Based on the detection result of the information processing apparatus 1, the user of the information processing apparatus 1 (for example, a researcher on the defending side) is enabled to advance investigation of a strategy change in the cyberattack using the blockchain.
The information processing apparatus 1 detects a change in the transaction time slot for the bitcoin address 20 based on a time-series change in the transaction time included in the transaction details specified in the transaction data 22 concerning the bitcoin address 20. Thus, the user of the information processing apparatus 1 is enabled to easily find out a change in the attack strategy, such as a change in the transaction time related to the bitcoin address 20 to be used for concealing the address information for the C&C communication.
The information processing apparatus 1 detects a change in the fees related to the cyberattack based on a time-series change in the fees included in the transaction details specified in the transaction data 22 concerning the bitcoin address 20. Thus, the user of the information processing apparatus 1 is enabled to easily find out a phenomenon of a change in the attack strategy such as a change in the transaction fees related to the bitcoin address 20 to be used to conceal the address information for the C&C communication.
The information processing apparatus 1 detects a change in the API involved in the cyberattack based on a time-series change in the API information included in the threat information 23. Thus, the user of the information processing apparatus 1 is enabled to easily find out a phenomenon of a change in the attack strategy such as a change in the transaction fees related to the bitcoin address 20 to be used to conceal the address information for the C&C communication.
The information processing apparatus 1 detects a change in the provider or country of the C&C server related to the cyberattack based on a time-series change in the C&C IP decrypted based on the transaction details specified in the collected transaction data 22. Thus, the user of the information processing apparatus 1 is enabled to easily find out a change in the attack strategy due to a change in the provider or country of the C&C server involved in a cyberattack, for example.
The information processing apparatus 1 detects a change regarding whether to make a notification of a C&C IP involved in a cyberattack by using multiple blocks or using a single block, based on one or more blocks in which the approvals were made in the bitcoin blockchain 21 and which are included in the transaction details used to decrypt the C&C IP. Thus, the user of the information processing apparatus 1 is enabled to easily find out a change in the attack strategy, for example, a change regarding whether to make the notification of the C&C IP involved in the cyberattack by using multiple blocks or using a single block in the bitcoin blockchain 21.
It is noted that the components of the apparatuses illustrated in the drawings are not necessarily physically configured as illustrated in the drawings. For example, a specific form of the distribution or integration in each apparatus are is limited to those illustrated in the drawings. The entirety or part of the apparatus may be configured by being functionally or physically distributed or integrated into any units depending on various loads, usage situations, and the like.
All or certain some of the various processing functions to be executed by the information processing apparatus 1 may be executed by a central processing unit (CPU) (or a microcomputer such as a microprocessor unit (MPU) or a micro controller unit (MCU)). All or certain some of the various processing functions may be executed on a program analyzed and executed by the CPU (or the microcomputer such as the MPU or the MCU) or may be executed on hardware using wired logic. The various processing functions to be executed by the information processing apparatus 1 may be executed by cloud computing in which multiple computers collaborate with each other.
The various processes described in the above embodiments may be implemented by the computer executing a program prepared in advance. Hereinafter, an example of a computer configuration (hardware) that executes the program having the same functions as in the above-described embodiments will be described.
As illustrated in
The hard disk device 209 stores a program 211 for executing the various processes in the functional configurations described in the above embodiments (for example, the bitcoin transaction information collection unit 10, the C&C IP decryption unit 11, the Geo IP conversion unit 12, the malware information collection unit 13, the attack scheme change detection unit 14, and the output unit 15). The hard disk device 209 also stores various types of data 212 to be referred to by the program 211. The input device 202 receives, for example, inputs of operation information from an operator. The monitor 203 displays, for example, various screens to be operated by the operator. For example, a printer or the like is coupled to the interface device 206. The communication device 207 is coupled to a communication network such as a local area network (LAN) and exchanges various types of information with the external apparatus via the communication network.
The CPU 201 reads the program 211 stored in the hard disk device 209, loads the program 211 into the RAM 208, and executes the program 211 to perform the various processes for the above-described functional configurations (for example, the bitcoin transaction information collection unit 10, the C&C IP decryption unit 11, the Geo IP conversion unit 12, the malware information collection unit 13, the attack scheme change detection unit 14, and the output unit 15). The program 211 does not have to be stored in the hard disk device 209. For example, the program 211 stored in a storage medium readable by the computer 200 may be read and executed. For example, as the storage medium readable by the computer 200, a portable storage medium such as a compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), or a Universal Serial Bus (USB) memory, a semiconductor memory such as a flash memory, a hard disk drive, or the like may be used. The program 211 may be stored in a device coupled to a public network, the Internet, a LAN, or the like, and the computer 200 may read and execute the program 211 from the device.
Regarding the embodiments above, the following appendices will be further disclosed.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2021-007397 | Jan 2021 | JP | national |