DNS query analysis for detection of malicious software

US9875355B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9875355-B1
Application numberUS-201314029608-A
CountryUS
Kind codeB1
Filing dateSep 17, 2013
Priority dateSep 17, 2013
Publication dateJan 23, 2018
Grant dateJan 23, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and system are disclosed for detecting malicious software on host server computers or instances running on the host server computers. A pattern of behavior of how the malicious software makes Domain Name System (DNS) requests and/or responses can be used to detect the malicious software. The pattern of behavior can be based on actions that the tenants take in order to make the DNS requests, such as repeating the same requests at fixed time intervals, or requesting a plurality of DNS requests in batches, wherein at least a threshold percentage of which are not resolvable, or using statistically random domain names with the requests. The pattern of behavior can also be associated with responses to the DNS requests, such as when the response includes a text message, and the text message includes encrypted or statistically random data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of detecting malicious software, comprising: monitoring a plurality of Domain Name System (DNS) requests from host server computers in a multi-tenant environment; using a monitoring server computer in the multi-tenant environment, identifying a first common pattern of behavior of the DNS requests across multiple of the host server computers, the first common pattern of behavior that is independent of domain lookup including correlating at least two of the multiple host server computers to determine if they are making a plurality of same DNS requests at periodic intervals, which is indicative of malicious software being present on the host server computers and attempting to contact a command-and-control server; for DNS requests that have the identified first common pattern of behavior that is independent of domain lookup, detecting at least a second pattern of behavior associated with the DNS requests, wherein the detecting the second pattern of behavior includes analyzing each domain name for statistical probability of randomness including an analysis of how numbers are placed within the domain names; and generating a confidence level output associated, at least in part, with the detection of the at least second pattern of behavior as a weighted parameter, which is indicative of DNS requests being generated from malicious software. 2. The method of claim 1 , wherein the first common pattern of behavior is independent of known names associated with the malicious software. 3. The method of claim 1 , wherein the detecting the second pattern of behavior further includes analyzing that a threshold percentage of DNS requests are unresolved. 4. The method of claim 1 , wherein the first common pattern of behavior and the second pattern includes at least one of the following: the DNS requests are for a same domain name at regular intervals, or the second pattern includes a threshold percentage of DNS requests that are unresolved. 5. A computer-readable storage, which is nonvolatile storage, including instructions thereon for executing a method of detecting that malicious software is present on host server computers, comprising: obtaining, using a monitoring server computer, Domain Name System (DNS) traffic data between a DNS server and a plurality of host server computers; correlating the DNS traffic data across the host server computers or virtual machines on the same host server computer for at least one common pattern of behavior of transmitting DNS requests that is independent of domain lookup; and for the correlated DNS traffic data that is independent of domain lookup, determining if the at least one common pattern of behavior is indicative of malicious software, wherein correlating includes a first-level determination of identifying that a frequency of DNS requests occurs at regular intervals and, wherein determining includes a second-level determination including a weighted calculation using a percentage of unresolved lookups and a probability of statistically random domain names, which includes a determination of how numbers are placed throughout the domain names. 6. The computer-readable storage of claim 5 , wherein correlating the frequency includes storing a first time associated with a first DNS request from a first host server computer, storing a second time associated with a second DNS request from the first host server computer, and calculating a difference between the first and second time to obtain a frequency. 7. The computer-readable storage of claim 5 , wherein the weighted calculation includes a parameter associated with whether the domain name is on a predetermined list of domain names. 8. The computer-readable storage of claim 5 , wherein the weighted calculation includes a parameter associated with whether a predetermined percentage of DNS lookups are not resolved. 9. The computer-readable storage of claim 5 , further including analyzing a response of the DNS requests to determine if the response includes a text message and determining whether the text message is statistically random. 10. The computer-readable storage of claim 5 , further including generating a confidence level output indicating the detected pattern across the DNS requests has been determined. 11. The computer-readable storage of claim 5 , wherein the plurality of host computers are in a multi-tenant environment, and wherein determining if the common pattern is indicative of malicious software includes determining if the pattern occurs from at least two different tenants. 12. The computer-readable storage of claim 5 , wherein obtaining DNS traffic data includes retrieving the DNS traffic data from a monitoring service, which obtains the DNS traffic data at fixed intervals. 13. The computer-readable storage of claim 5 , wherein the determining if the pattern is indicative of malicious software includes determining if the same domain name is a statistically random name. 14. The computer-readable storage of claim 13 , further including receiving weights into an engine that determines if the domain name is statistically random. 15. A computer-readable storage, which is nonvolatile, including instructions thereon for executing a method of detecting that malicious software is present on host server computers, comprising: monitoring a plurality of Domain Name System (DNS) requests from the host server computers in a multi-tenant environment; correlating DNS requests across tenants or across software instances from a same tenant by determining if the DNS requests have a same time frequency in which they re-occur; for correlated DNS requests that have the same frequency, determining whether the DNS requests have one or more of the following characteristics: the DNS requests are statistically random, the DNS requests include a domain name that is on a blacklist of known corrupted DNS domain names; or the DNS requests exceed a predetermined percentage of requests that are not resolvable; and for responses to the DNS requests, determining if at least one response includes a text message and analyzing whether the text message is statistically random, which includes analyzing how numbers are placed throughout the domain name. 16. The computer-readable storage of claim 15 , further including generating a confidence level output associated, at least in part, with the determining that the at least one response includes the text message, which is indicative of DNS requests being generated from malicious software. 17. The computer-readable storage of claim 15 , wherein correlating DNS requests includes identifying multiple tenants or multiple instances in the same tenant that are making a same DNS request. 18. A system for detecting malicious software present on one or more computers, comprising: two or more host computers for executing virtual machines in a multi-tenant environment; a Domain Name System (DNS) server computer coupled to the two or more host computers; a DNS-analysis engine coupled to the DNS server for correlating patterns of behavior associated with DNS requests from the two or more host computers indicative of malicious software; and the DNS-analysis engine further for analyzing a response to at least one of the DNS requests to determine if the response includes a text message that is statistically random, wherein the determination of whether the response includes a text message that is statistically random includes determining how numbers are placed through the text message.

Assignees

Inventors

Classifications

  • Detection or countermeasures against botnets · CPC title

  • by monitoring network traffic (monitoring network traffic per se H04L43/00) · CPC title

  • G06F21/56Primary

    Computer malware detection or handling, e.g. anti-virus arrangements · CPC title

  • involving long-term monitoring or reporting · CPC title

  • using domain name system [DNS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9875355B1 cover?
A method and system are disclosed for detecting malicious software on host server computers or instances running on the host server computers. A pattern of behavior of how the malicious software makes Domain Name System (DNS) requests and/or responses can be used to detect the malicious software. The pattern of behavior can be based on actions that the tenants take in order to make the DNS requ…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/56. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 23 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).