text:
|Publication number
|Publication type
|Application number
|Publication date
|Feb 3, 2009
|Filing date
|Jul 30, 2002
|Priority date
|Jul 30, 2001
|Fee status
|Also published as
|Publication number
|Matthew G. Schultz, Eleazar Eskin, Erez Zadok, Manasi Bhattacharyya, Stolfo J. Salvatore
|Original Assignee
|The Trustees Of Columbia University In The City Of New York
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (18), Non-Patent Citations (13), Referenced by (72), Classifications (8), Legal Events (6)
|External Links: USPTO, USPTO Assignment, Espacenet
This application claims the benefit of U.S. Provisional Patent Application Ser. Nos. 60/308,622, filed on Jul. 30, 2001, entitled "Data Mining Methods for Detection of New Malicious Executables" and 60/308,623, filed on Jul. 30, 2001, entitled "Malicious Email Filter," which are hereby incorporated by reference in their entirety herein.
The present invention was made in part with support from the United States Defense Advanced Research Projects Agency (DARPA) grant nos. FAS-526617 and SRTSC-CU019-7950-1. Accordingly, the United States Government may have certain rights to this invention.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
This invention relates to systems and methods for detecting malicious executable programs, and more particularly to the use of data mining techniques to detect such malicious executables in email attachments.
2. Background
A malicious executable is a program that performs a malicious function, such as compromising a system's security, damaging a system or obtaining sensitive information without the user's permission. One serious security risk is the propagation of these malicious executables through e-mail attachments. Malicious executables are used as attacks for many types of intrusions. For example, there have been some high profile incidents with malicious email attachments such as the ILOVEYOU virus and its clones. These malicious attachments are capable of causing significant damage in a short time.
Current virus scanner technology has two parts: a signature-based detector and a heuristic classifier that detects new viruses. The classic signature-based detection algorithm relies on signatures (unique telltale strings) of known malicious executables to generate detection models. Signature-based methods create a unique tag for each malicious program so that future examples of it can be correctly classified with a small error rate. These methods do not generalize well to detect new malicious binaries because they are created to give a false positive rate as close to zero as possible. Whenever a detection method generalizes to new instances, the tradeoff is for a higher false positive rate.
Unfortunately, traditional signature-based methods may not detect a new malicious executable. In an attempt to solve this problem, the anti-virus industry generates heuristic classifiers by hand. This process can be even more costly than generating signatures, so finding an automatic method to generate classifiers has been the subject of research in the anti-virus community. To solve this problem, different IBM researchers applied Artificial Neural Networks (ANNs) to the problem of detecting boot sector malicious binaries. (The method of detection is disclosed in G. Tesauro et al., "Neural Networks for Computer Virus Recognition, IEE Expert, 11(4): 5-6, August 1996, which is incorporated by reference in its entirety herein.) An ANN is a classifier that models neural networks explored in human cognition. Because of the limitations of the implementation of their classifier, they were unable to analyze anything other than small boot sector viruses which comprise about 5% of all malicious binaries.
Using an ANN classifier with all bytes from the boot sector malicious executables as input, IBM researchers were able to identify 80-85% of unknown boot sector malicious executables successfully with a low false positive rate (<1%). They were unable to find a way to apply ANNs to the other 95% of computer malicious binaries.
In similar work, Arnold and Tesauro applied the same techniques to Win32 binaries, but because of limitations of the ANN classifier they were unable to have the comparable accuracy over new Win32 binaries. (This technique is described in Arnold et al., :Automatically Generated Win 32 Heuristic Virus Detection," Proceedings of the 2000 International Virus Bulletin Conference, 2000, which is incorporated by reference in its entirety herein.)
The methods described above have the shortcoming that they are not applicable to the entire set of malicious executables, but rather only boot-sector viruses, or only Win32 binaries.
The technique is similar to data mining techniques that have already been applied to Intrusion Detection Systems by Lee et al. Their methods were applied to system calls and network data to learn how to detect new intrusions. They reported good detection rates as a result of applying data mining to the problem of IDS. A similar framework is applied to the problem of detecting new malicious executables. (The techniques are described in W. Lee et al., "Learning Patterns From UNIX Processes Execution Traces for Intrusion Detection, AAAI Workshop in AI Approaches to Fraud Detection and Risk Management, 1997, pages 50-56, and W. Lee et al., "A Data Mining Framework for Building Intrusion Detection Models," IEEE Symposium on Security and Privacy, 1999, both of which are incorporated by reference in their entirety herein.)
Procmail is a mail processing utility which runs under UNIX, and which filters email; and sorts incoming email according to sender, subject line, length of message, keywords in the message, etc. Procmail's pre-existent filter provides the capability of detecting active-content HTML tags to protect users who read their mail from a web browser or HTML-enabled mail client. Also, if the attachment is labeled as malicious, the system "mangles" the attachment name to prevent the mail client from automatically executing the attachment. It also has built in security filters such as long filenames in attachments, and long MIME headers, which may crash or allow exploits of some clients.
However, this filter lacks the ability to automatically update its list of known malicious executables, which may leave the system vulnerable to attacks by new and unknown viruses. Furthermore, its evaluation of an attachment is based solely on the name of the executable and not the contents of the attachment itself.
Accordingly, there exists a need in the art for a technique which is not limited to particular types of files, such as boot-sector viruses, or only Win32 binaries, and which provides the ability to detect new, previously unseen files.
An object of the present invention is to provide a technique for predicting a classification of an executable file as malicious or benign which is not dependent upon the format of the executable.
Another object of the present invention is to provide a data mining technique which examines the entire file, rather than a portion of the file, such as a header, to classify the executable as malicious or benign.
A further object of the present invention is to provide an email filter which can detect executables that are borderline, i.e., executables having features indicative of both malicious and benign executables, which may be detrimental to the model if misclassified.
These and other objects of the invention, which will become apparent with reference to the disclosure herein, are accomplished by a system and methods for classifying an executable attachment in an email received by an email processing application or program, which includes filtering the executable attachment from said email. The email processing application may be executed at an email server or a client or host email application. A byte sequence feature is subsequently extracted from the executable attachment. The executable attachment is classified by comparing said byte sequence feature of the executable attachment with a classification rule set derived from byte sequence features of a set of executables having a predetermined class in a set of classes.
According to a preferred embodiment, extracting the byte sequence feature from said executable attachment comprises extracting static properties of the executable attachment, which are properties that do not require the executable to be run in order to discern. Extracting the byte sequence feature from the executable attachment may comprise converting the executable attachment from binary format to hexadecimal format. According to another embodiment, extracting the byte sequence features from the executable attachment may comprise creating a byte string representative of resources referenced by said executable attachment.
Advantageously, classifying the executable attachment may comprise predicting the classification of the executable attachment as one class in a set of classes consisting of malicious and benign. The set of classes may also include a borderline class. Classifying the executable attachment may comprise determining a probability or likelihood that the executable attachment is a member of each class in said set of classes based on said byte sequence feature. In one embodiment, this probability is determined by use of a Naive Bayes algorithm. In another embodiment, the probability may be determined by use of a Multi-Naive Bayes algorithm. The determination of the probability may be divided into a plurality of processing steps. These processing steps may then be performed in parallel. The executable attachment is classified as malicious if the probability that the executable attachment is malicious is greater than said probability that the executable attachment is benign. The executable attachment is classified as benign if the probability that the executable attachment is benign is greater than said probability that said executable attachment is malicious. The executable attachment is classified as borderline if a difference between the probability the executable attachment is benign and the probability the executable attachment is malicious is within a predetermined threshold.
A further step in accordance with the method may include logging the class of the executable attachment. The step of logging the class of the executable attachment may further include incrementing a count of the executable attachments classified as borderline. If the count of executable attachments classified as borderline exceeds a predetermined threshold, the system may provide a notification that the threshold has been exceeded.
In accordance with the invention, the objects as described above have been met, and the need in the art for a technique which can analyze previously unseen malicious executables, without regard to the type of file, has been satisfied.
Further objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying figures showing illustrative embodiments of the invention, in which:
Throughout the figures, the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components or portions of the illustrated embodiments. Moreover, while the subject invention will now be described in detail with reference to the figures, it is done so in connection with the illustrative embodiments. It is intended that changes and modifications can be made to the described embodiments without departing from the true scope and spirit of the subject invention as defined by the appended claims.
This invention will be further understood in view of the following detailed description.
An exemplary system and methods for detecting malicious email attachments was implemented in UNIX with respect to Sendmail (a message transfer agent (MTA) which ensures messages get from source message servers to destination message servers for recipients to access their email, as produced by Sendmail, Inc. or Emeryville, Calif.), using Procmail (a publicly available program that processes e-mail messages received by the server, as further described in Stephen R. van den Berg and Philip Guenther, "Procmail," online publication as viewed on http://www.procmail.org, 2001). This system and methods uses data mining methods in order to create the detection model. The data mining methods are used to create classifiers to detect the malicious executables. A classifier is a classification rule set, or detection model, generated by the data mining algorithm that was trained over, i.e., derived from. a given set of training data.
In accordance with the exemplary embodiment, a data mining-based filter integrates with Procmail's pre-existent security filter to detect malicious executable attachments. The filter uses a scoring system based on a data mining classifier to determine whether or not an attachment may be malicious. If an attachment's score is above a certain threshold it is considered malicious. The data mining classifier provides the ability to detect both the set of known malicious executables and a set of previously unseen, but similar malicious executables.
A flowchart illustrating the process 10 of creating of the classification rule set is illustrated in
In a subsequent stage, each data item, or executable, is labeled by class (step 16). The learning problem in the exemplary embodiment is defined with two classes, e.g., malicious and benign. As discussed above, a malicious executable is defined to be a program that performs a malicious function, such as compromising a system's security, damaging a system, or obtaining sensitive information without the user's permission. A benign program does not perform such malicious functions. Thus, the data set was divided into two groups: (1) malicious and (2) benign executables. In order to train the classification rule set, the classes of the executables must be known in advance. Of the 4,031 programs used in the data set, 3,301 were malicious executables and 1,000 were benign executables. The malicious executables consisted of viruses, Trojans, and cracker/network tools. There were no duplicate programs in the data set To standardize the data-set, an updated MacAfee's virus scanner, produced by McAfee.com Corporation of Sunnyvale, Calif., was used to label the programs as either malicious or benign executables. All labels were assumed to be correct for purposes of the analysis.
Another step, which may be performed concurrently with or subsequent to the above step, is to divide the dataset into two subsets which include a training set and a test set (step 18). The data mining algorithms use the training set to generate the classification rule sets. After training, a test set may be used to test the accuracy of the classifiers on a set of unseen examples. It is understood that testing the detection model is an optional step to determine the accuracy of the detection model, and, as such, may be omitted from the process.
The next step of the method is to extract features from each executable (Step 20). Features in a data mining framework are defined as properties extracted from each example program in the data set, e.g., byte sequences, that a classifier uses to generate detection models. (Signatures, as distinguished from features, typically refer to a specific feature value, while a feature is a property or attribute of data (such as "byte sequence feature") which may take on a set of values. Signature based methods are methods that inspect and test data to determine whether a specific feature value is present in that data, and then classify or alarm accordingly.) In the present invention, the presence of specific feature values is used by the learning algorithms to calculate a probability or likelihood of classification of the data. The features which are extracted in the exemplary embodiment are static properties, which are properties that do not require executing the binary in order to be detected or extracted.
In the exemplary embodiment, hexdump was used in the feature extraction step. Hexdump, as is known in the art (Peter Miller, "Hexdump," on line publication 2000, http://gd.tuwien.ac.at/softeng/Aegis/hexdump.html which is incorporated by reference in its entirety herein), is an open source tool that transforms binary files into hexadecimal files. The byte sequence feature is informative because it represents the machine code in an executable. After the "hexdumps" are created, features are produced in the form illustrated in
Many additional methods of feature extraction are also useful to carry out step 20, above, and are described herein. For example, octale encoding may be used rather than hexadecimal encoding. According to another approach to feature extraction is to extract resource information from the binary that provides insight to its behavior, which is also referred to herein as "binary profiling." According to this approach, a subset of the data may be examined which is in Portable Executable (PE) format (which is described in "Portable Executable Format," online publication as viewed on, http://support.microsoft.com/support/kb/articles/Q121/4/60.asp, 1999, which is incorporated by reference in its entirety herein.) For instance, an executable in a standard Windows user interface may normally call the User Interfaces Dynamically Linked Library (USER32.DLL). This approach assumes that if an executable being evaluated does not call USER32.DLL, then the program does not have the standard Windows user interface. To extract resource information from Windows executables, GNU's Bin-Utils may be used (as described in "GNU Binutils Cygwin, online publication as viewed on http://sourceware.cygnus.com/cygwin, 1999, which is incorporated by reference in its entirety herein). GNU's Bin-Utils suite of tools can analyze PE binaries within Windows. In PE, or Common Object File Format (COFF), program headers are composed of a COFF header, an Optional header, at MS-DOS stub, and a file signature. All of the information about the binary is obtained from the program header without executing the unknown program but by examining the static properties of the binary, using libBFD, which is a library within Bin-Utils, to extract information in object format. Object format for a PE binary gives the file size, the names of DLLs, and the names of function calls within those DLLs and Relocation Tables. From the object format, it is possible to extract a set of features to compose a feature vector, or string, for each binary representative of resources referenced by the binary.
Three types of features may be analyzed to determine how resources affect a binary's behavior:
1. The list of DLLs used by the binary
2. The list of DLL function calls made by the binary
3. The number of different function calls within each DLL
A first approach to binary profiling used the DLLs loaded by the binary as features. Data can be modeled by extracting a feature or a set of features, and each set of features may be represented as a vector of feature values. The feature vector comprised of a number of boolean values, e.g., 30, representing whether or not a binary used a DLL. Typically, not every DLL was used in all of the binaries, but a majority of the binaries called the same resource. For example, almost every binary called GDI32.DLL, which is the Windows NT Graphics Device Interface and is a core component of WinNT. The example vector given in
A second approach to binary profiling uses DLLs and their function calls as features. This approach is similar to the first, described above, but with added function call information. The feature vector is composed of a greater number, e.g., 2,229, of boolean values. Because some of the DLL's had the same function names it was important to record which DLL the function came from. The example vector given in
A third approach to binary profiling counts the number of different function calls used within each DLL, and uses such counts as features. The feature vector included several, e.g., 30, integer values. This profile provides an approximate measure of how heavily a DLL is used within a specific binary. This is a macro-resource usage model because the number of calls to each resource is counted instead of detailing referenced functions. For example, if a program only called the recv( ) and send( ) functions of WSOCK32.DLL, then the count would be 2. It should be noted that this third approach does not count the number of times those functions might have been called. The example vector given in
Another method useful for feature extraction (step 20) does not require PE format for the executables, and therefore is applicable to Non-PE executables. Headers in PE format are in plain text, which allows extraction of the same information from the PE executables by extracting the plain text headers. Non-PE executables also have strings encoded in them. This information is used to classify the entire data set, rather than being limited only to the subset of data including libBFD, described above. To extract features from the data set according to this third method, the GNU strings program was used. The strings program extracts consecutive printable characters from any file. Typically there are many printable strings in binary files. Some common strings found in the dataset are illustrated in Table 1.
Through testing it was observed that similar strings were present in malicious executables that distinguished them from benign programs, and similar strings in benign programs that distinguished them from malicious executables. According to this technique, each string in the binary was used as a feature for the classifier.
Once the features were extracted using hexdump, or any other feature extraction method, such as those described herein, a classifier was trained to label a program as malicious or benign (Step 22). The classifier computes the probability or likelihood that a program is a member of a certain classification given the features or byte strings that are contained in that program. (Throughout the description herein, the term "probability" will generally refer to probability or likelihood, except where specified.)
In the exemplary embodiment, the classifier was a Naive Bayes classifier that was incorporated into Procmail, as will be described in greater detail herein. A Naive Bayes classifier is one exemplary machine learning algorithm that computes a model of a set of labeled training data and subsequently may use that model to predict the classification of other data. Its output is a likelihood (based on mathematical probability theory) associated with each classification possible for the other data. The Naive Bayes algorithm computes the likelihood that a program is a member each classification, e.g., malicious and benign, given the features or byte strings that are contained in that program. For instance, if a program contained a significant number of malicious byte sequences and a few or no benign sequences, then it labels that binary as malicious. Likewise, a binary that was composed of many benign features and a smaller number of malicious features is labeled benign by the system. In accordance with the invention, the assumption was made that there were similar byte sequences in malicious executables that differentiated them from benign programs, and the class of benign programs had similar sequences that differentiated them from the malicious executables.
In particular, the Naive Bayes algorithm first computes (a) the probability that a given feature is malicious and (b) the probability that the feature is benign, by computing statistics on the set of training data. Then to predict whether a binary, or collection of hex strings, was malicious or benign, those probabilities were computed for each hex string in the binary, and then the Naive Bayes independence assumption was used. The independence assumption was applied in order to efficiently compute the probability that a binary was malicious and the probability that the binary was benign.
Specifically, the Naive Bayes algorithm computes the class C of a program, given that the program contains a set of features F. (The Naive Bayes algorithm is described, for example, in T. Mitchell, "Naive Bayes Classifier," Machine Learning, McGraw-Hill, 1997, pp. 177-180, which is incorporated by reference in its entirety herein.) The term C is defined as a random variable over the set of classes: benign and malicious executables. That is, the classifier computes P(C|F), the probability that a program is in a certain class C given the program contains the set of features F. According to the Bayes rule, the probability is expressed in equation (1):
To use the Naive Bayes rule, it is assumed that the features occur independently from one another. If a program F include the features F1, F2, F3, . . . , Fn, then equation (1) may be re-written as equation (2). (In this description, subscripted features Fx refers to a set of code strings.)
Each P(F1|C) is the frequency that feature string F1 occurs in a program of class C. P(C) is the proportion of the class C in the entire set of programs.
The output of the classifier is the highest probability class for a given set of strings. Since the denominator of equation (1) is the same for all classes, the maximum class is taken over all classes C of the probability of each class computed in (2) to get equation (3):
In equation (3), the term maxc denotes the function that returns the class with the highest probability. "Most Likely Class" is the class in C with the highest probability and hence the most likely classification of the example with features F.
To train the classifier, a record was made for how many programs in each class contained each unique feature. This information was used to classify a new program into an appropriate class. Feature extraction, as described above, was used to determine the features contained in the program. Then, equation (3) was applied to compute the most likely class for the program.
The Naive Bayes method is a highly effective technique, but also requires significant amounts of main memory, such as RAM, e.g., greater than 1 gigabyte, to generate a detection model when the data or the set of features it analyzes is very large. To make the algorithm more efficient, the problem may be divided into smaller pieces that would fit in memory and generate a classifier for each of the subproblems. For example, the subproblem was to classify based on 16 subsets of the data organized according to the first letter of the hex string. This data mining algorithm is referred to as "Multi-Naive Bayes." This algorithm was essentially a collection of Naive Bayes algorithms that voted on an overall classification for an example. The Multi-Naive Bayes calculations are advantageously executed in a parallel and distributed computing system for increased speed.
According to this approach, several Naive Bayes classifiers may be trained so that all hex strings are trained on. For example, one classifier is trained on all hex strings starting with an "A", and another on all hex strings starting with an "0". This is done 16 times and then a voting algorithm is used to combine their outputs. Each Naive Bayes algorithm classified the examples in the test set as malicious or benign, and this counted as a vote. The votes are combined by the Multi-Naive Bayes algorithm to output a final classification for all the Naive Bayes.
According to the exemplary embodiment, the data may be divided evenly into several sets, e.g. six sets, by putting each ith line in the binary into the (i mod n)th set where n is the number of sets. For each set, a Naive Bayes classifier is trained. The prediction for a binary is the product of the predictions of the n classifiers. In the exemplary embodiment, 6 classifiers (n=6) were used.
More formally, the Multi-Naive Bayes promotes a vote of confidence between all of the underlying Naive Bayes classifiers. Each classifier determines a probability of a class C given a set of bytes F which the Multi-Naive Bayes uses to generate a probability for class C given features F over all the classifiers.
The likelihood of a class C given feature F and the probabilities learned by each classifier NaiveBayesi are determined. In equation (4) the likelihood LNB(C|F) of class C given a set of feature F was computed:
where NBi is a Naive Bayes classifier and NB is the set of all combined Naive Bayes classifiers (in this case 6). PNBi(C|F) (generated from equation (2)) is the probability for class C computed by the classifier NaiveBayesi given F divided by the probability of class C computed by NaiveBayesi. Each PNBi(C|F) was divided by PNBi(C) to remove the redundant probabilities. All the terms were multiplied together to compute LNB(C|F), the final likelihood of C given F. |NB| is the size of the set NB such that NBi∈NB.
The output of the multi-classifier given a set of bytes F is the class of highest probability over the classes given LNB(C|F) and PNB(C) the prior probability of a given class, which is represented by equation (5), below.
Most Likely Class=C max(P NB(C)*L NB(C|F)) (5)
Most Likely Class is the class in C with the highest probability hence the most likely classification of the example with features F, and maxc returns the class with the highest likelihood.
Additional embodiments of classifiers are described herein, which are also useful to classify an executable as benign or malicious. Alternatively, inductive rule learners may be used as classifiers. Another algorithm, RIPPER, is an inductive rule learner (RIPPER is described in W. Cohen, "Learning Trees and Rules with Set-Valued Features," American Association for Artificial Intelligence, 1996, which is incorporated by reference in its entirety herein). This algorithm generates a detection model composed of resource rules that was built to detect future examples of malicious executables. RIPPER is a rule-based learner that builds a set of rules that identify the classes while minimizing the amount of error. The error is defined by the number of training examples misclassified by the rules. This algorithm may be used with libBFD information as features, which were described above.
As is known in the art, an inductive algorithm learns what a malicious executable is, given a set of training examples. Another useful algorithm for building a set of rules is Find-S. Find-S finds the most specific hypothesis that is consistent with the training examples. For a positive training example the algorithm replaces any feature in the hypothesis that is inconsistent with the training example with a more general feature. For example, four features seen in Table 2 are:
"Does it have a GUI?"
"Does it perform a malicious function?"
"Does it compromise system security?"
"Does it delete files?"
and finally the classification label "Is it malicious?"
Is it
Has a GUI?
The defining property of any inductive learner is that no a priori assumptions have been made regarding the final concept. The inductive learning algorithm makes as its primary assumption that the data trained over is similar in some way to the unseen data.
A hypothesis generated by an inductive learning algorithm for this learning problem has four features. Each feature will have one of these values:
2. a value, either yes, or no, is needed in this position, or
3. a ⊥, falsity, indicating that no value is acceptable for this position.
For example, the hypothesis <
Of all the hypotheses, values 1 is more general than 2, and 2 is more general than 3. For a negative example, the algorithm does nothing. Positive examples in this problem are defined to be the malicious executables and negative examples are the benign programs.
The initial hypothesis that Find-S starts with is <⊥, ⊥, ⊥, ⊥>. This hypothesis is the most specific because it is true over the fewest possible examples, none. Examining the first positive example in Table 2, <yes, yes, yes, no>, the algorithm chooses the next most specific hypothesis <yes, yes, yes, no>. The next positive example, <no, no, no, yes>, is inconsistent with the hypothesis in its first and fourth attribute ("Does it have a GUI?" and "Does it delete files?") and those attributes in the hypothesis get replaced with the next most general attribute,
The resulting hypothesis after two positive examples is <
RIPPER looks at both positive and negative examples to generate a set of hypotheses that more closely approximate the target concept while Find-S generates one hypothesis that approximates the target concept.
Each of the data mining algorithms generated its own classification rule set 24 to evaluate new examples. The classification rule sets are incorporated in the filter to detect malicious executables, as will be described below in the exemplary embodiment. For purposes herein, a classification rule set is considered to have the standard meaning in data mining terminology, i.e., a set of hypotheses that predict the classification, e.g., malicious or benign, of an example, i.e., an executable, given the existence of certain features. The Naive Bayes rules take the form of P(F|C), the probability of an feature F given a class C. The probability for a string occurring in a class is the total number of times it occurred in that class's training set divided by the total number of times that the string occurred over the entire training set. An example of such hypotheses are illustrated in
This approach compensates for those instances where a feature, e.g., a hex string, occurs in only one class in the training data. When this occurs, the probability is arbitrarily increased from 0/n, where n is the number of occurrences, to 1/n. For example, a string (e.g. "AAAA") may occur in only one set, e.g., in the malicious executables. The probability of "AAAA" occurring in any future benign example is predicted to be 0, but this is an incorrect assumption. If a program was written to print out "AAAA" it will always be tagged a malicious executable even if it has other strings in it that would have labeled it benign. In
The rule sets generated by the Multi-Naive Bayes algorithm are the collection of the rules generated by each of the component Naive Bayes classifiers. For each classifier, there is a rule set such as the one in
RIPPER's rules were built to generalize over unseen examples so the rule set was more compact than the signature-based methods. For the data set that contained 3,301 malicious executables the RIPPER rule set contained the five rules in
Here, a malicious executable was consistent with one of four hypotheses:
1. it did not call user32.EndDialog( ) but it did call kernel32.EnumCalendarInfoA( )
2. it did not call user32.LoadIconA( ), kernel32.GetTempPathA( ), or any function in advapi32.dll
3. it called shell32.ExtractAssociatedIconA( ),
4. it called any function in msvbbm.dll, the Microsoft Visual Basic Library
A binary is labeled benign if it is inconsistent with all of the malicious binary hypotheses in
Each data mining algorithm generated its own rule set 24 to evaluate new examples. The detection models are stored for subsequent application to classify previously unseen examples, as will be described below. An optional next step is to test the classification rule set 24 against the test data (step 26). This step is described in greater detail below.
The process 100 of detecting malicious emails in accordance with the invention is illustrated in
Subsequently, the emails are filtered to extract attachments or other components from the email (step 104). The executable attachments may then be saved to a file. In the exemplary embodiment, html_trap.procmail, a commonly-available routine, has been modified to include a call to a novel routine, parser3, which performs the functions of filtering attachments. The routine parser3 includes a call to the routine extractAttachments, for example, which extracts executable attachments and other items of the email and saves them to a file, e.g., $files_full_ref, and also provides a string containing a directory of where the executable attachments are saved, e.g., $dir, and a reference to an array containing a list of the file names, e.g., $files_ref.
Features in the executable attachment are extracted (step 106), and those features are subsequently analyzed and used to classify the executable attachment as malicious or benign. In the exemplary embodiment, the routine parser3 also includes a call to the routine scanAttachments, which in turn calls the routine hexScan, which performs the feature extraction of step 106. In particular, hexScan includes a function call to hexdump, a commonly-available routine which transforms the binary files in the attachment into a byte sequence of hexadecimal characters, as described above and illustrated in
The features extracted from the attachment in step 106 are evaluated using the classification rule set as described above, and the attachment is classified as malicious or benign (step 108). In the exemplary embodiment, the routine hexScan subsequently calls the routine senb, which calculates "scores" associated with the attachments. (As will be described below, such scores are representative of whether a binary is malicious or benign.) The routine senb evaluates the features, e.g., the hexadecimal string "/tmp/$$.hex" produced by hexdump against the rules in the Classification Rule Set, e.g., "/etc/procmail/senb/aids_model.txt," and returns with a first score associated with the probability that the string is malicious and a second score associated with the probability that the string is benign. In order to obtain these scores, the routine senb invokes the routine check_file, which performs the Naive Bayes analysis on the features as described above in equation (1)-(5), and calculates scores associated with the probability that the program is malicious and benign. Where the Multi-Naive Bayes algorithm is used, the data is partitioned into components which are processed in parallel to increase processing speed. The routine hexScan then determines which of the scores is greater, e.g., malicious or benign. In other embodiments, a different classification algorithm may be implemented, such as a function call to the RIPPER algorithm which will evaluate the features extracted in step 106 to determine whether they are malicious or benign.
A further step may be to identify the programs as borderline (step 110). Borderline executables are defined herein as programs that have similar probabilities of being benign and malicious (e.g., 50% chance it is malicious, and 50% chance it is benign; 60% chance malicious and 40% chance benign; 45% chance malicious and 55% chance benign, etc.). Due to the similar probabilities, borderline executables are likely to be mislabeled as either malicious or benign. Since borderline cases could potentially lower the detection and accuracy rates by being misclassified, it is desirable to identify these borderline cases, properly classify them as malicious or benign, and update the classification rule set to provide increased accuracy to the detection of malicious executables. The larger the data set that is used to generate models, then the more accurate the detection models will be. To execute this process, the system identifies programs as borderline using the criteria described below, and archives the borderline cases. At periodic intervals, the system sends the collection of these borderline cases to a central server, by the system administrator. Once at a central repository, such as data repository 244, these binaries can then be analyzed by experts to determine whether they are malicious or not, and subsequently included in the future versions of the detection models. Preferably, any binary that is determined to be a borderline case will be forwarded to the repository and wrapped with a warning as though it were a malicious attachment.
A exemplary metric to identify borderline cases, which may be implemented in hexScan or a similar routine is to define a borderline case to be a case where the difference between the probability, or score, that the program is malicious and the probability, or score, it is benign is below a threshold. This threshold may be set based on the policies of the host. For example, in a secure setting, the threshold could be set relatively high, e.g., 20%. In this case, all binaries that have a 60/40 split are labeled as borderline. In other words, binaries with a 40-60% chance (according to the model) of being malicious and 40-60% chance of being benign would be labeled borderline. This setting can be determined by the system administrator. An exemplary default setting of 51.25/48.75 may be used with a threshold of 2.5%, which was derived from testing.
The routine scanAttachments receives the output of hexScan which is a determination of whether the program is malicious or benign, and assigns the string a boolean "0" or "1." (Where the probabilities of being malicious and of being benign are similar, it may be labeled borderline, as discussed above.) Subsequently, scanAttachments invokes the routine md5log to associate a unique identifier for each attachment in by using the MD5 algorithm, (as described in R. Rivest, "The MD5 Message Digest Algorithm," Internet RFC1321, Paril 1992, which is incorporated by reference in its entirety herein.) The input to MD5 is the hexadecimal representation of the binary. These identifiers are than kept in a log along with other information such as whether the attachment was malicious, benign, or borderline and with what certainty the system made those predictions (Step 112).
The results of this analysis are sent from parser3 to html-trap.procmail, which inserts warnings that the file may be malicious and may quarantine the attachment. The routine html-trap.procmail reintegrates filtered email back into normal email traffic.
An exemplary system 200 in accordance with the invention is illustrated in
The malicious email detector may include an email filter 222, a feature extractor 224, a rule repository 226, a rule evaluator 230, and an email interface 232. In the exemplary embodiment, the email filter 222 may include the routine Parser3 which filters attachments from the emails as described above. Parser3 calls the routine extractAttachments, for example, which extracts attachments and other items of the email. The email filter 222 may also filter out updated classification rules sent by the model generator 240, and forward them to the rule repository 226.
The feature extractor 224 receives the executable attachments and extracts those byte sequence features which will be analyzed and used to classify the program as malicious or benign. In the exemplary embodiment, the routine scanAttachments calls the routine hexScan, which performs the function of the feature extractor 224. In particular, hexScan includes a function call to hexdump, which transforms the binary files into hexadecimal strings. The rule repository 226 may be a database which contains the classification rule set generated by a data mining model in a process such as that illustrated in
In the exemplary embodiment, the routine hexScan calls the routine senb, which performs the function of rule evaluator 230. The routine senb evaluates the byte sequence features, e.g., the hexadecimal string against the classification rule set in the rule repository 26, e.g., "/etc/procmail/senb/aids_model.txt," and returns with a score that the string is malicious and a score that the string is benign. The rule evaluator 230 may also provide an indication that the string is borderline.
The results of this analysis may be sent to the email interface 232, which reintegrates filtered email back into normal email traffic 300, and which may send the model generator 240 (described below) each attachment to be analyzed further. If the program was considered malicious by the rule evaluator 230, the email interface 232 may add warnings to the email or quarantine the email. In the exemplary embodiment, the routine html-trap.procmail performs this function.
The classification rule set may require updates periodically. For example, after a number of borderline cases have been identified by the rule evaluator 230, it may be desirable to generate a new detection model, and subsequently distribute the updated models. This embodiment of the system 300, which is illustrated in
A new classification rule set is generated at the model generator 240 by running the data mining algorithm on the new data set that contains the borderline cases along with their correct classification (as determined by expert analysis), and the existing training data set. As described herein, the data mining algorithm may be a Naive Bayes or a Multi-Naive Bayes algorithm, or any other appropriate algorithm for calculating the probability or likelihood that a feature is a member of a class. When the Multi-Naive Bayes analysis is used herein, the data is partitioned into several components and all the components may be processed in parallel to increase speed. This updated model may then be distributed to the malicious email detector 220. The filter interface 242 may receive copies of all attachments from the email interface 232. In the exemplary embodiment, the routine senb may perform the function of the filter interface 242. The data repository 244 receives copies of attachments from the filter interface 42, and stores the attachments. In the exemplary embodiment, the attachments may be stored as a datafile.
The feature extractor 246 accesses attachments stored in the data repository 244, and then extracts features from the attachments. This function may be performed by invoking the hexdump routine, as described above. The learning algorithm executor 248 receives features from the feature extractor 246 and executes learning algorithms on the features extracted from the attachments to generate an updated classification rule set. In the exemplary embodiment, the routine senb calls the routine test_table, which in turn invokes test_class. Test_class invokes test_file, which performs the function of creating the updated classification rule set, including performing the Naive Bayes calculations, described above in equations (1)-(5).
In an exemplary embodiment, the filter interface 242 receives the classification model rule set from the learning algorithm executor 248 and transmits the classification model rule set to the malicious email detector 220, where it is used to update the classification rule set stored in the rule depository 226. According to the exemplary embodiment, portions of the classification model rule set that have changed may be distributed, rather than the entire classification model rule set, to improve efficiency. In order to avoid constantly sending a large model from the model generator 240 to the malicious email detector 220, the administrator is provided with the option of receiving this smaller file. Using the update algorithm, the older model can then be updated. The full model will also be available to provide additional options for the system administrator. Efficient update of the model is possible because the underlying representation of the models is probabilistic. Thus, the model is a count of the number of times that each byte string appears in a malicious program versus the number of times that it appears in a benign program. An update model can then be easily summed with the older model to create a new model. From these counts the algorithm computes the probability that an attachment is malicious in a method described above. In order to combine the models, the counts of the old model are summed with the new information.
As shown in Table 3, in model A, the old detection model, a byte string occurred 99 times in the malicious class, and one time in the benign class. In model B, the update model, the same byte string was found three times in the malicious class and four times in the benign class. The combination of models A and B would state that the byte string occurred 102 times in the malicious class and five times in the benign class. The combination of A and B would be the new detection model after the update.
Model A (old)
The byte string occurred in 99 malicious executables
The byte string occurred in 1 benign executable
Model B (new)
The byte string occurred in 3 malicious executables
The byte string occurred in 4 benign executables.
Model C (update)
The byte string occurred in 102 malicious executables
The byte string occurred in 5 benign executables.
To compare the results of the methods and system described herein with traditional methods, a prior art signature-based method was implemented (step 26, of
The virus scanner that was used to label the data set (step 16, above) contained signatures for every malicious example in the data set, so it was necessary to implement a similar signature-based method. This was done to compare the two algorithms' accuracy in detecting new malicious executables. In the tests, the signature-based algorithm was only allowed to generate signatures for the same set of training data that the data mining method used. This allowed the two methods to be fairly compared. The comparison was made by testing the two methods on a set of binaries not contained in the training set.
To quantify the performance of the method described herein, statistics were computed on the performance of the data mining-based method, tables 4 and 5 are included herein which include counts for true positives, true negatives, false positives and false negatives. A true positive, TP, is a malicious example that is correctly classified as malicious, and a true negative, TN, is a benign example that is correctly classified as benign. A false positive, FP, is a benign program that has been mislabeled by an algorithm as malicious, while a false negative, FN, is a malicious executable that has been mis-classified as a benign program.
The overall accuracy of the algorithm is calculated as the number of programs the system classified correctly divided by the total number of binaries tested. The detection rate is the number of malicious binaries correctly classified divided by the total number of malicious programs tested.
The results were estimated over new executables by using 5-fold cross validation technique, as described in R. Kohavi, "A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection," IJCAI, 1995. Cross-validation, as is known in the art, is the standard method to estimate the performance of predictions over unseen data in Data Mining. For each set of binary profiles the data was partitioned into five equal size partitions. Four of the partitions were used for training a model and then evaluating that model on the remaining partition. Then the process was repeated five times leaving out a different partition for testing each time. This provided a measure of the method's accuracy on unseen data. The results of these five tests were averaged to obtain a measure of how the algorithm performs over the entire set.
To evaluate the algorithms over new executables, the algorithms generated their detection models over the set of training data and then tested their models over the set of test data. This was done five times in accordance with cross fold validation.
Tables 4 displays the results. The data mining algorithm had the highest detection rate, 97.76%, compared with the signature-based method's detection rate of 33.96%. Along with the higher detection rate the data mining method had a higher overall accuracy, 96.88% vs. 49.31%. The false positive rate of 6.01% though was higher than the signature-based method, 0%.
Profile Type
Detection Rate
False Positive Rate
Overall Accuracy
Data Mining
The performance of the models in detecting known executables was also evaluated. For this task, the algorithms generated detection models for the entire set of data. Their performance was then evaluated by testing the models on the same training set.
As shown in Table 5, both methods detected over 99% of known executables. The data mining algorithm detected 99.87% of the malicious examples and misclassified 2% of the benign binaries as malicious. However, the signatures for the binaries that the data mining algorithm misclassified were identified, and the algorithm can include those signatures in the detection model without lowering accuracy of the algorithm in detecting unknown binaries. After the signatures for the executables that were misclassified during training had been generated and included in the detection model, the data mining model had a 100% accuracy rate when tested on known executables.
Profile Type
Detection Rate
False Positive Rate
Overall Accuracy
Data Mining
In order for the data mining algorithm to quickly generate the models, it is advantageous for all calculations to be done in memory. The algorithm consumed space in excess of a gigabyte of RAM. By splitting the data into smaller pieces, the algorithm was done in memory with no loss in accuracy. In addition, the calculations may be performed in parallel. The training of a classifier took 2 hours 59 minutes and 49 seconds running on Pentium III 600 Linux machine with 1 GB of RAM. The classifier took on average 2 minutes and 28 seconds for each of the 4,301 binaries in the data set. The amount of system resources taken for using a model are equivalent to the requirements for training a model. So on a Pentium III 600 Linux box with 1 GB of RAM it would take on average 2 minutes 28 seconds per attachment. Another advantageous of splitting the data into smaller partitions (in connection with the Multi-Naive Bayes analysis) is that the Naive Bayes algorithm is executed on each partition on parallel hardware, which reduces the total training time from 2 hours and 59 minutes, to 2 minutes and 28 seconds if each piece is concurrently executed.
It will be understood that the foregoing is only illustrative of the principles of the invention, and that various modifications can be made by those skilled in the art without departing from the scope and spirit of the invention.
|Cited Patent
|Filing date
|Publication date
|Apr 14, 1995
|Sep 19, 1995
|International Business Machines Corporation
|Methods and apparatus for evaluating and extracting signatures of computer viruses and other undesirable software entities
|Nov 21, 1994
|Jan 16, 1996
|International Business Machines Corporation
|Automatic analysis of a computer virus structure and means of attachment to its hosts
|May 13, 1994
|Oct 7, 1997
|International Business Machines Corporation
|Adaptive statistical regression and classification of data strings, with application to the generic detection of computer viruses
|Dec 13, 1996
|Jun 9, 1998
|Minolta Camera Kabushiki Kaisha
|Electronic mail processing system and electronic mail processing method
|Sep 5, 1996
|Nov 3, 1998
|Cheyenne Software International Sales Corp.
|Anti-virus agent for use with databases and mail servers
|Jul 10, 1997
|Jan 18, 2000
|International Business Machines Corporation
|Efficient detection of computer viruses and other data traits
|Jun 23, 1998
|Dec 12, 2000
|Microsoft Corporation
|Technique which utilizes a probabilistic classifier to detect "junk" e-mail by automatically updating a training and re-training the classifier based on the updated training set
|Jul 24, 1998
|Aug 14, 2001
|Siemens Information And Communication Networks, Inc.
|Method and system for management of message attachments
|May 2, 2000
|Jul 22, 2003
|Openshark, Inc.
|Method and apparatus for electronically communicating an electronic message having an electronic attachment
|Aug 31, 2001
|Aug 17, 2004
|Attenex Corporation
|System and method for efficiently generating cluster groupings in a multi-dimensional concept space
|Jul 25, 2003
|Nov 16, 2004
|Attenex Corporation
|System and method for evaluating a structured message store for message redundancy
|Mar 31, 2000
|Nov 30, 2004
|Tumbleweed Communications Corp.
|Policy enforcement in a secure data file delivery system
|Aug 31, 2001
|May 3, 2005
|Attenex Corporation
|System and method for generating a visualized data representation preserving independent variable geometric relationships
|Aug 31, 2001
|Dec 20, 2005
|Attenex Corporation
|System and method for dynamically evaluating latent concepts in unstructured documents
|Oct 13, 2004
|Apr 25, 2006
|Attenex Corporation
|System and method for evaluating a structured message store for message redundancy
|Nov 28, 2000
|Jul 18, 2006
|Attenex Corporation
|System and method for efficiently drafting a legal document using an authenticated clause table
|Jun 14, 2001
|May 16, 2002
|Takeo Katsuda
|Apparatus, portable terminal unit, and system for controlling E-mail, and its method, computer-readable recording medium and program product for processing E-mail
|Nov 30, 2000
|May 30, 2002
|Malik Dale W.
|Method and apparatus for minimizing storage of common attachment files in an e-mail communications server
|Eleazar Eskin et al. "System and Methods for Intrusion Detection with Dynamic Window Sizes," filed Jul. 30, 2000, U.S. Appl. No. 10/208,402.
|Jeffrey O. Kephart and William C. Arnold, "Automatic Extraction of Computer Virus Signatures," 4th Virus Bulletin International Conference, pp. 178-184, 1994.
|R Kohavi, "A study of cross-validation and boot-strap for accuracy estimation and model selection," IJCAI, 1995.
|Ronald L. Rivest. "The MD5 Message Digest Algorithm." published as Internet RFC 1321, Apr. 1992. http://www.freesoft.org/CIE/RFC/1321/.
|Stephen R. van den Berg and Philip Guenther, "Procmail." online publication, 2001. http://www.procmail.org.
|Steve R. White, Morton Swimmer, Edward J. Pring, William C. Arnold, David M. Chess, and John F. Morar, "Anatomy of a Commercial-Grade Immune System," IBM Research White Paper, 1999.
|U.S. Appl. No. 10/222,632, filed Aug. 16, 2002 claiming priority to U.S. Appl. No. 60/312,703, filed Aug. 16, 2001 and U.S. Appl. No. 60/340,197, filed Dec. 14, 2001, entitled "System And Methods For Detecting Malicious Email Transmission" of Salvatore J. Stolfo, Eleazar Eskin, Manasi Bhattacharyya and Matthew G. Schultz.
|U.S. Appl. No. 10/269,694, filed Oct. 11, 2002 claiming priority to U.S. Appl. No. 60/328,682, filed Oct. 11, 2001 and U.S. Appl. No. 60/339,952, filed Dec. 13, 2001, entitled "System And Methods For Anomaly Detection And Adaptive Learning" of Wei Fan, Salvatore J. Stolfo.
|U.S. Appl. No. 10/269,718, filed Oct. 11, 2002 claiming priority to U.S. Appl. No. 60/328,682, filed Oct. 11, 2001 and U.S. Appl. No. 60/340,198, filed Dec. 14, 2001, entitled "Methods For Cost-Sensitive Modeling For Intrusion Detection" of Dec. 14, 2001, entitled "Methods For Cost-Sensitive Modeling For Intrusion Detection" of Salvatore J. Stolfo, Wenke Lee, Wei Fan and Matthew Miller.
|U.S. Appl. No. 10/320,259, filed Dec. 16, 2002 claiming priority to U.S. Appl. No. 60/328,682, filed Oct. 11, 2001 and U.S. Appl. No. 60/352,894, filed Jan. 29, 2002, entitled "Methods of Unsupervised Anomaly Detection Using A Geometric Framework" of Eleazar Eskin, Salvatore J. Stolfo and Leonid Portnoy.
|U.S. Appl. No. 10/327,811, filed Dec. 19, 2002 claiming priority to U.S. Appl. No. 60/342,872, filed Dec. 20, 2001, entitled "System And Methods for Detecting A Denial-Of-Service Attack On A Computer System" of Salvatore J. Stolfo, Shlomo Hershkop, Rahul Bhan, Suhail Mohiuddin and Eleazar Eskin.
|U.S. Appl. No. 10/352,342, filed Jan. 27, 2003 claiming priority to U.S. Appl. No. 60/351,913, filed Jan. 25, 2002, entitled "Data Warehouse Architecture For Adaptive Model Generation Capability In Systems For Detecting Intrusion In Computer Systems," of Salvatore J. Stolfo, Eleazar Eskin, Matthew Miller, Juxin Zhang and Zhi-Da Zhong.
|U.S. Appl. No. 10/352,343, filed Jan. 27, 2003 claiming priority to P34981 (070050.1936) U.S. Appl. No. 60/351,857, filed Jan. 25, 2001, entitled "Behavior Based Anomaly Detection For Host-Based Systems For Detection Of Intrusion In Computer Systems," of Frank Apap, Andrew Honig, Shlomo Hershkop, Eleazar Eskin and Salvatore J. Stolfo.
|Citing Patent
|Filing date
|Publication date
|May 27, 2005
|Jul 14, 2009
|International Business Machines Corporation
|Method and apparatus for processing a parseable document
|Nov 1, 2004
|Feb 9, 2010
|Nec Corporation
|Dynamic model detecting apparatus
|Sep 11, 2006
|Jan 11, 2011
|Fujian Eastern Micropoint Info-Tech Co., Ltd
|Antivirus protection system and method for computers
|Jan 9, 2007
|Mar 22, 2011
|Walter Mason Stewart
|Computer network virus protection system and method
|Feb 25, 2009
|Jul 12, 2011
|Intellectual Ventures I Llc
|Computer virus protection
|Aug 12, 2005
|Oct 11, 2011
|Georgetown University
|System and method for detecting malicious executable code
|Nov 14, 2007
|Oct 11, 2011
|Bank Of America Corporation
|Risk scoring system for the prevention of malware
|Mar 31, 2008
|May 8, 2012
|International Business Machines Corporation
|Method and apparatus for processing a parseable document
|Dec 15, 2009
|Oct 2, 2012
|At&T Intellectual Property I, L.P.
|Preventing execution of programs that are embedded in email messages
|Mar 20, 2009
|Oct 16, 2012
|Symantec Corporation
|Systems and methods for byte-level context diversity-based automatic malware signature generation
|Mar 28, 2011
|Mar 5, 2013
|Mcafee, Inc.
|System, method and computer program product for context-driven behavioral heuristics
|Dec 8, 2009
|May 14, 2013
|The Trustees Of Columbia University In The City Of New York
|System and methods for detecting malicious email transmission
|Jan 14, 2011
|Oct 1, 2013
|The United States Of America As Represented By The Secretary Of The Air Force
|Classifying portable executable files as malware or whiteware
|Oct 3, 2006
|Oct 22, 2013
|Georgia Tech Research Corporation
|Method and system for detecting and responding to attacking networks
|Jan 5, 2011
|Nov 5, 2013
|Damballa, Inc.
|Method and system for detecting malware
|Jan 25, 2012
|Jan 14, 2014
|Damballa, Inc.
|Method and system for detecting malicious domain names at an upper DNS hierarchy
|Sep 5, 2013
|Feb 18, 2014
|Yahoo! Inc.
|Evaluating performance of click fraud detection systems
|Apr 3, 2012
|Jun 17, 2014
|The United States Of America As Represented By The Secretary Of The Air Force
|Malware target recognition
|May 26, 2011
|Jul 1, 2014
|Intellectual Ventures I Llc
|Computer virus protection
|Jun 17, 2011
|Aug 5, 2014
|Microsoft Corporation
|Graph-based malware classification based on file relationships
|Jan 18, 2011
|Sep 2, 2014
|Damballa, Inc.
|Method and system for network-based detecting of malware from behavioral clustering
|Nov 30, 2011
|Oct 28, 2014
|Cisco Technology, Inc.
|Method and apparatus for detecting malicious software using machine learning techniques
|Sep 10, 2012
|Nov 11, 2014
|The Trustees Of Columbia University In The City Of New York
|System and methods for adaptive model generation for detecting intrusion in computer systems
|May 25, 2007
|Nov 18, 2014
|The Trustees Of Columbia University In The City Of New York
|Systems and methods for adaptive model generation for detecting intrusions in computer systems
|Mar 21, 2013
|Jan 6, 2015
|The Trustees Of Columbia University In The City Of New York
|System and methods for detecting malicious email transmission
|Jun 16, 2008
|Jan 27, 2015
|Axway Inc.
|Method and system for filtering communication
|Nov 30, 2011
|Jul 21, 2015
|Cisco Technology, Inc.
|Method and apparatus for detecting malicious software through contextual convictions, generic signatures and machine learning techniques
|Sep 30, 2013
|Sep 8, 2015
|The United States Of America As Represented By The Secretary Of The Air Force
|Classifying computer files as malware or whiteware
|Feb 22, 2013
|Sep 22, 2015
|The Trustees Of Columbia University In The City Of New York
|Systems, methods, and media protecting a digital data processing device from attack
|Aug 30, 2013
|Oct 20, 2015
|Damballa, Inc.
|Automation discovery to identify malicious activity
|Oct 3, 2014
|Dec 1, 2015
|Cisco Technology, Inc.
|Method and apparatus for detecting malicious software using machine learning techniques
|Nov 30, 2011
|Dec 22, 2015
|Cisco Technology, Inc.
|Method and apparatus for detecting malicious software through contextual convictions
|Sep 26, 2013
|Mar 22, 2016
|Northrop Grumman Systems Corporation
|System and method for automated machine-learning, zero-day malware detection
|May 6, 2015
|Mar 29, 2016
|The United States Of America, As Represented By The Secretary Of The Air Force
|Classifying computer files as malware or whiteware
|Aug 20, 2013
|Apr 5, 2016
|The Trustees Of Columbia University In The City Of New York
|Methods of unsupervised anomaly detection using a geometric framework
|Aug 30, 2013
|Apr 5, 2016
|Georgia Tech Research Corporation
|Method and systems for detecting compromised networks and/or computers
|Oct 1, 2012
|Aug 30, 2016
|At&T Intellectual Property I, L.P.
|Preventing execution of programs that are embedded in email messages
|Dec 19, 2014
|Sep 13, 2016
|Axway Inc.
|Method and system for filtering communication
|Feb 20, 2014
|Sep 20, 2016
|The Trustees Of Columbia University In The City Of New York
|Methods, media, and systems for detecting an anomalous sequence of function calls
|Sep 17, 2012
|Nov 15, 2016
|The Trustees Of Columbia University In The City Of New York
|Detecting return-oriented programming payloads by evaluating data for a gadget address space address and determining whether operations associated with instructions beginning at the address indicate a return-oriented programming payload
|Oct 8, 2014
|Nov 15, 2016
|The Trustees Of Columbia University In The City Of New York
|System and methods for adaptive model generation for detecting intrusion in computer systems
|Aug 9, 2011
|Dec 6, 2016
|Damballa, Inc.
|Method and system for determining whether domain names are legitimate or malicious
|Sep 30, 2013
|Dec 20, 2016
|Damballa, Inc.
|Method and system for detecting malware
|Aug 31, 2015
|Jan 10, 2017
|The Trustees Of Columbia University In The City Of New York
|Systems, methods, and media protecting a digital data processing device from attack
|Jul 17, 2014
|Jan 24, 2017
|Hrl Laboratories, Llc
|Method and apparatus for an action selection system based on a combination of neuromodulatory and prefrontal cortex area models
|Mar 21, 2016
|May 30, 2017
|Bluvector, Inc.
|System and method for automated machine-learning, zero-day malware detection
|Aug 30, 2013
|Jun 13, 2017
|Damballa, Inc.
|Historical analysis to identify malicious activity
|Dec 4, 2013
|Jun 20, 2017
|Damballa, Inc.
|Method and system for detecting malicious domain names at an upper DNS hierarchy
|Nov 1, 2004
|May 12, 2005
|Yuko Maruyama
|Dynamic model detecting apparatus
|Jun 10, 2004
|Dec 15, 2005
|International Business Machines Corporation
|System and method for intrusion decision-making in autonomic computing environments
|Aug 12, 2005
|Feb 16, 2006
|Georgetown University
|System and method for detecting malicious executable code
|Feb 9, 2006
|Jun 15, 2006
|Anand Vaijayanthimala K
|Adaptive intrusion detection for autonomic systems
|May 27, 2005
|Nov 30, 2006
|International Business Machines Corporation
|Method and apparatus for processing a parseable document
|May 25, 2007
|Oct 11, 2007
|Andrew Honig
|Systems and methods for adaptive model generation for detecting intrusions in computer systems
|Oct 3, 2006
|Jan 31, 2008
|Damballa, Inc.
|Method and system for detecting and responding to attacking networks
|Sep 11, 2006
|Mar 13, 2008
|Fujian Eastern Micropoint Info-Tech Co., Ltd.
|Antivirus protection system and method for computers
|Mar 31, 2008
|Jul 31, 2008
|International Business Machines Corporation
|Method and Apparatus for Processing a Parseable Document
|Jan 9, 2008
|Sep 18, 2008
|G. K. Webb Services Llc
|Computer Network Virus Protection System and Method
|Jun 16, 2008
|Oct 9, 2008
|Tumbleweed Communications Corp.
|Method and system for filtering communication
|Nov 14, 2007
|May 14, 2009
|Bank Of America Corporation
|Risk Scoring System For The Prevention of Malware
|Feb 25, 2009
|Jun 25, 2009
|G.K. Webb Services Llc
|Computer Virus Protection
|Aug 10, 2009
|Feb 11, 2010
|Perdisci Roberto
|Method and system for detecting malicious and/or botnet-related domain names
|Aug 28, 2008
|Mar 4, 2010
|International Business Machines Corporation
|Efficiency of active content filtering using cached ruleset metadata
|Dec 15, 2009
|Apr 8, 2010
|At&T Intellectual Property I, L.P.
|Preventing Execution of Programs that are Embedded in Email Messages
|Dec 8, 2009
|Jul 1, 2010
|Stolfo Salvatore J
|System and methods for detecting malicious email transmission
|Jan 5, 2011
|Jul 7, 2011
|Antonakakis Emmanouil
|Method and system for detecting malware
|Mar 28, 2011
|Jul 21, 2011
|Mcafee, Inc., A Delaware Corporation
|System, method and computer program product for context-driven behavioral heuristics
|May 26, 2011
|Sep 22, 2011
|Intellectual Ventures I Llc
|Computer Virus Protection
|Nov 30, 2011
|Sep 6, 2012
|Immunet Corporation
|Method and apparatus for detecting malicious software using machine learning techniques
|Oct 3, 2014
|Jan 22, 2015
|Cisco Technology, Inc.
|Method and Apparatus for Detecting Malicious Software Using Machine Learning Techniques
|Apr 22, 2014
|Aug 13, 2014
|Mail classification method and device
|Apr 22, 2014
|Apr 12, 2017
|U.S. Classification
|726/24, 713/188
|International Classification
|Cooperative Classification
|European Classification
|Oct 28, 2002
Owner name: TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHULZ, MATTHEW G.;ESKIN, ELEAZAR;ZADOK, EREZ;AND OTHERS;REEL/FRAME:013425/0768;SIGNING DATES FROM 20020924 TO 20021002
|Aug 3, 2012
|Fee payment
Year of fee payment: 4
|Feb 10, 2015
|Aia trial proceeding filed before the patent and appeal board: inter partes review
Free format text: TRIAL NO: IPR2015-00370
Opponent name: SYMANTEC CORPORATION
Effective date: 20141205
|Sep 16, 2016
|Maintenance fee reminder mailed
|Jan 31, 2017
|Fee payment
Year of fee payment: 8
|Jan 31, 2017
|Surcharge for late payment
Year of fee payment: 7


text: United Parcel Service Company Profile (NYSE:UPS) Company Profile Analyst Ratings Earnings History Earnings Estimates Dividend History Insider Trade Headlines Social Media Chart About United Parcel Service (NYSE:UPS) United Parcel Service, Inc. (UPS) is a package delivery company. The Company is a provider of global supply chain management solutions. The Company operates through three segments: U.S. Domestic Package operations, International Package operations, and Supply Chain & Freight operations. As of December 31, 2016, the Company delivered packages in over 220 countries and territories. The Company offers a spectrum of the United States domestic guaranteed ground and air package transportation services. The International Package segment includes the small package operations in Europe, Asia-Pacific, Canada and Latin America, the Indian sub-continent, the Middle East and Africa. The Supply Chain & Freight segment includes its forwarding and logistics services, truckload freight brokerage, UPS Freight and its financial offerings through UPS Capital. The Company serves the global market for logistics services, which include transportation, distribution, contract logistics and ground freight. Industry, Sector and Symbol: Sector: Transportation Industry: Air Freight & Logistics Sub-Industry: Air Freight & Logistics Symbol: NYSE:UPS CUSIP: 91131210 Web: www.ups.com Capitalization:Market Cap: $103.4139 billionOutstanding Shares: 865,968,000Average Prices:50 Day Moving Avg: $117.75200 Day Moving Avg: $111.2252 Week Range: $102.12 - $120.80 P/E:Trailing P/E Ratio: 29.45Foreward P/E Ratio: 18.65P/E Growth: 2.35Sales & Book Value:Annual Revenue: $62.92 billionPrice / Sales: 1.65Book Value: $1.44 per sharePrice / Book: 83.17Dividend:Annual Dividend: $3.32Dividend Yield: 2.8% Profitability:EBITDA: $7.85 billionNet Margins: 5.68%Return on Equity: 417.18%Return on Assets: 13.38%Debt:Debt-to-Equity Ratio: 11.19%Current Ratio: 1.12%Quick Ratio: 1.12%Misc:Average Volume: 2.29 million shs.Beta: 0.9Short Ratio: 3.47 Frequently Asked Questions for United Parcel Service (NYSE:UPS) What is United Parcel Service's stock symbol? United Parcel Service trades on the New York Stock Exchange (NYSE) under the ticker symbol "UPS." How often does United Parcel Service pay dividends? What is the dividend yield for United Parcel Service? United Parcel Service declared a quarterly dividend on Thursday, August 3rd. Shareholders of record on Monday, August 14th will be given a dividend of $0.83 per share on Wednesday, August 30th. This represents a $3.32 dividend on an annualized basis and a yield of 2.77%. The ex-dividend date of this dividend is Thursday, August 10th. View United Parcel Service's Dividend History. How were United Parcel Service's earnings last quarter? United Parcel Service, Inc. (NYSE:UPS) issued its earnings results on Thursday, July, 27th. The company reported $1.58 EPS for the quarter, beating the Thomson Reuters' consensus estimate of $1.46 by $0.12. The business had revenue of $15.75 billion for the quarter, compared to the consensus estimate of $15.49 billion. United Parcel Service had a net margin of 5.68% and a return on equity of 417.18%. The company's revenue was up 7.7% on a year-over-year basis. During the same quarter last year, the firm earned $1.43 earnings per share. View United Parcel Service's Earnings History. When will United Parcel Service make its next earnings announcement? United Parcel Service is scheduled to release their next quarterly earnings announcement on Thursday, October, 26th 2017. View Earnings Estimates for United Parcel Service. What guidance has United Parcel Service issued on next quarter's earnings? United Parcel Service updated its FY17 earnings guidance on Thursday, July, 27th. The company provided earnings per share guidance of $5.86-6.10 for the period, compared to the Thomson Reuters consensus estimate of $5.96. Where is United Parcel Service's stock going? Where will United Parcel Service's stock price be in 2017? 15 brokers have issued 12-month target prices for United Parcel Service's stock. Their forecasts range from $77.00 to $128.00. On average, they expect United Parcel Service's stock price to reach $116.07 in the next year. View Analyst Ratings for United Parcel Service. What are analysts saying about United Parcel Service stock? Here are some recent quotes from research analysts about United Parcel Service stock: 1. According to Zacks Investment Research, "United Parcel Service's shares have outperformed its industry as well as rival FedEx over the last three months. While the stock has gained 7.1%, the industry has advanced 5.3%. Shares of FedEx have gained only 1.5% in the period. In fact, UPS is leaving no stone unturned to perform well in the upcoming holiday season. It expects to benefit from the growth in ecommerce. Meanwhile, growth in export shipments continues to boost UPS. Additionally, the company's efforts to reward its shareholders seem to be encouraging. Earlier this year, it hiked quarterly dividend by 6.4%. Furthermore, UPS' expansion efforts raise investors' optimism. However, adverse foreign currency movements and high costs might hurt results in the third quarter of 2017. Results are scheduled to be revealed on Oct 26." (10/6/2017) 2. BMO Capital Markets analysts commented, "UPS' management outlined the company's financial targets through F2019 at an investor conference in New York on February 21, 2017. Overall revenue and EPS growth targets are in line with our projections but capex is a little higher than expected. Investments in network expansion/modernization and forex headwinds are expected to weigh on near-term performance, with gradual improvement in the latter part of 2017-2019 time frame. We rate UPS Market Perform." (2/22/2017) 3. Aegis analysts commented, "We are upgrading our investment opinion to BUY from HOLD on UPS shares, on the basis of valuation. Our price target remains $120 on discounted 2018 fundamentals, which implies almost a 16% total return from current levels when taking into account the company's 2.9% dividend yield. UPS shares have declined by 10% since the company's EPS release last week. At current levels, UPS shares are now trading at a market multiple, which is about 10% lower than the shares normal valuation. While we are lowering our 2017e EPS estimate from $6.40 to $5.97, much of this has more to do with removing 350bp of tax reform we previously assumed in our 2017e estimates ($0.32), as well as a slower expected share repurchase level $(0.05), and also factoring for about $0.14 of incremental FX headwinds, offsetting about $0.07 in improved volume and margin assumptions." (2/8/2017) Who are some of United Parcel Service's key competitors? Some companies that are related to United Parcel Service include Union Pacific Corporation (UNP), Canadian National Railway Company (CNI), FedEx Corporation (FDX), Deutsche Post AG (DPSGY), CSX Corporation (CSX), Norfolk Souther Corporation (NSC), Delta Air Lines (DAL), Southwest Airlines Company (LUV), Canadian Pacific Railway Limited (CP), Ryanair Holdings PLC (RYAAY), American Airlines Group (AAL), Gol Linhas Aereas Inteligentes S.A. (GOL), A P MOLLAR-MRSK (AMKBY), International Consoltd Airlns Grp SA (ICAGY), United Continental Holdings (UAL), Deutsche Lufthansa AG (DLAKY), ANA Holdings (ALNPY) and J.B. Hunt Transport Services (JBHT). Who are United Parcel Service's key executives? United Parcel Service's management team includes the folowing people: David P. Abney, Chairman of the Board, Chief Executive Officer and DirectorRichard N. Peretz, Chief Financial Officer, Senior Vice President, TreasurerTeri Plummer McClure J.D., Chief Human Resource Officer, Senior Vice President, Labor RelationsAlan Gershenhorn, Executive Vice President and Chief Commercial OfficerJuan Q. Perez, Senior Vice President, Chief Information OfficerTeresa M. Finley, Senior Vice President, Chief Marketing and Business Services OfficerNorman M. Brothers Jr., Senior Vice President, General Counsel, SecretaryKathleen M. Gutmann, Senior Vice President - Worldwide Sales and SolutionsJames Jay Barber Jr., Senior Vice President, President - UPS InternationalMyron A. Gray, Senior Vice President , President, United States Operations Who owns United Parcel Service stock? United Parcel Service's stock is owned by a variety of of retail and institutional investors. Top institutional shareholders include Cacti Asset Management LLC (0.05%), PGGM Investments (0.03%), APG Asset Management N.V. (0.03%), Shell Asset Management Co. (0.03%), State Treasurer State of Michigan (0.03%) and Sabal Trust CO (0.03%). Company insiders that own United Parcel Service stock include Alan Gershenhorn, D Scott Davis, David A Barnes, James J Barber, Kathleen M Gutmann and Teri P Mcclure. View Institutional Ownership Trends for United Parcel Service. Who sold United Parcel Service stock? Who is selling United Parcel Service stock? United Parcel Service's stock was sold by a variety of institutional investors in the last quarter, including State Treasurer State of Michigan, PGGM Investments, Lynch & Associates IN, Sit Investment Associates Inc., Bridges Investment Counsel Inc., Foster & Motley Inc., Douglas Lane & Associates LLC and LS Investment Advisors LLC. Company insiders that have sold United Parcel Service stock in the last year include Alan Gershenhorn, James J Barber, Kathleen M Gutmann and Teri P Mcclure. View Insider Buying and Selling for United Parcel Service. Who bought United Parcel Service stock? Who is buying United Parcel Service stock? United Parcel Service's stock was purchased by a variety of institutional investors in the last quarter, including Shell Asset Management Co., Cacti Asset Management LLC, Assenagon Asset Management S.A., APG Asset Management N.V., Exane Derivatives, Heritage Way Advisors LLC, Bristlecone Advisors LLC and Rockefeller Financial Services Inc.. View Insider Buying and Selling for United Parcel Service. How do I buy United Parcel Service stock? Shares of United Parcel Service can be purchased through any online brokerage account. Popular online brokerages include Vanguard Brokerage Services, TD Ameritrade, E*TRADE, Scottrade, Fidelity and Charles Schwab. What is United Parcel Service's stock price today? One share of United Parcel Service stock can currently be purchased for approximately $119.76. MarketBeat Community Rating for United Parcel Service (NYSE UPS)Community Ranking: 2.4 out of 5 ( )Outperform Votes: 423 (Vote Outperform)Underperform Votes: 468 (Vote Underperform)Total Votes: 891MarketBeat's community ratings are surveys of what our community members think about United Parcel Service and other stocks. Vote "Outperform" if you believe the stock will outperform the S&P 500 over the long term. Vote "Underperform" if you believe the stock will underperform the S&P 500 over the long term. You may vote once every thirty days. Analyst Ratings Consensus Ratings for United Parcel Service (NYSE:UPS) (How are Consensus Ratings Calculated?) MarketBeat calculates consensus ratings using the most recent rating from each brokerage that has rated a stock within the last twelve months. Since brokers often use different ratings systems, each rating is normalized to a standardized rating score of 1 (sell), 2 (hold), 3 (buy) or 4 (strong buy). Consensus ratings scores are calculated using the mean average of the number of normalized sell, hold, buy and strong buy ratings. Each stock's consensus rating is derived from its calculated consensus ratings score (0-1.5 = Sell, 1.5-2.5 = Hold, 2.5-3.5 = Buy, >3.5 = Strong Buy). MarketBeat's consensus price targets are a mean average of the most recent available price targets set by each analyst that has set a price target for the stock in the last twelve months.MarketBeat will no longer include ratings and price target data in its consensus calculation if a broker drops coverage and MarketBeat has received a report that coverage was dropped. Ratings from certain research firms that issue ratings using purely quantitative methods (such as Zacks, Vetr and ValuEngine) are not included in consensus calculations. MarketBeat's consensus ratings and consensus price targets may differ from those calculated by other firms due to differences in methodology and available data.Ratings Breakdown: 11 Hold Ratings, 4 Buy RatingsConsensus Rating:Hold (Score: 2.27)Consensus Price Target: $116.07 (3.08% downside)Consensus Price Target History for United Parcel Service (NYSE:UPS) Analysts' Ratings History for United Parcel Service (NYSE:UPS) Show: Only the Most Recent Rating From Each Brokerage All Ratings For This Stock DateFirmActionRatingPrice TargetImpact on Share PriceDetails10/12/2017J P Morgan Chase & CoBoost Price TargetNeutral$113.00 -> $114.00N/A10/12/2017Credit Suisse GroupReiterated RatingHold$108.00 -> $116.00N/A10/6/2017Bank of America CorporationReiterated RatingNeutral$117.00 -> $124.00N/A10/1/2017Robert W. BairdReiterated RatingHold$118.00Low9/26/2017Cowen and CompanyReiterated RatingHoldLow9/20/2017Oppenheimer Holdings, Inc.Reiterated RatingBuy$116.00 -> $123.00Low8/8/2017Citigroup Inc.UpgradeNeutral -> Buy$115.00 -> $128.00Medium7/3/2017Sanford C. BernsteinReiterated RatingOutperform$127.00Low6/6/2017Seaport Global SecuritiesInitiated CoverageNeutralLow3/13/2017Wells Fargo & CompanyInitiated CoverageMarket Perform -> Market Perform$115.00Low2/23/2017AegisReiterated RatingBuyN/A2/22/2017BMO Capital MarketsReiterated RatingMarket Perform$115.00N/A2/22/2017Morgan StanleyLower Price Target$77.00N/A2/7/2017Loop CapitalReiterated RatingHold$124.00 -> $116.00N/A2/1/2017Barclays PLCLower Price TargetEqual Weight$122.00 -> $115.00N/A11/2/2016Deutsche Bank AGInitiated CoverageHold$117.00N/A9/13/2016William BlairReiterated RatingOutperformN/A8/2/2016ArgusBoost Price TargetBuy$115.00 -> $125.00N/A10/28/2015MacquarieReiterated RatingHoldN/A(Data available from 10/21/2015 forward) Earnings Earnings History for United Parcel Service (NYSE:UPS)Earnings History by Quarter for United Parcel Service (NYSE UPS)DateQuarterConsensus EstimateActual EPSRevenue EstimateActual RevenueRelease LinkConference CallDetails10/26/2017$1.47N/A7/27/2017Q2 2017$1.46$1.58$15.49 billion$15.75 billionViewN/A4/27/2017Q1 2017$1.29$1.32$15.19 billion$15.32 billionViewN/A1/31/2017Q416$1.69$1.63$17.01 billion$16.98 billionViewListen10/27/2016Q316$1.44$1.44$14.72 billion$14.93 billionViewListen7/29/2016Q216$1.43$1.43$14.65 billion$14.60 billionViewListen4/28/2016Q116$1.22$1.27$14.57 billion$14.40 billionViewListen2/2/2016Q415$1.42$1.57$16.28 billion$16.10 billionViewListen10/27/2015Q315$1.37$1.39$14.43 billion$14.20 billionViewListen7/28/2015Q215$1.27$1.35$14.54 billion$14.10 billionViewListen4/28/2015Q1$1.09$1.12$14.30 billion$14.00 billionViewListen2/3/2015Q414$1.25$1.25$15.77 billion$15.90 billionViewListen10/24/2014Q314$1.28$1.32$14.20 billion$14.29 billionViewListen7/29/2014Q214$1.25$1.21$14.10 billion$14.27 billionViewListen4/24/2014Q114$1.08$0.98$13.91 billion$13.78 billionViewListen1/30/2014Q413$1.27$1.25$15.20 billion$14.97 billionViewListen10/25/2013Q313$1.15$1.16$13.61 billion$13.52 billionViewListen7/23/2013Q2 2013$1.13$1.13$13.59 billion$13.51 billionViewListen4/25/2013Q1 2013$1.01$1.04$13.47 billion$13.43 billionViewN/A1/31/2013Q4 2012$1.38$1.32$14.44 billion$14.57 billionViewListen10/23/2012$1.06$1.06ViewN/A7/24/2012$1.17$1.15ViewN/A4/26/2012$1.02$1.00ViewN/A1/31/2012$1.25$1.28ViewN/A10/25/2011$1.05$1.06ViewN/A7/26/2011$1.04$1.05ViewN/A4/26/2011$0.85$0.88ViewN/A2/1/2011$1.05$1.08ViewN/A(Data available from 1/1/2011 forward) Estimates Earnings Estimates for United Parcel Service (NYSE:UPS)2017 EPS Consensus Estimate: $5.932018 EPS Consensus Estimate: $6.38QuarterNumber of EstimatesLow EstimateHigh EstimateAverage EstimateQ1 20172$1.28$1.33$1.31Q2 20173$1.44$1.53$1.47Q3 20173$1.40$1.53$1.46Q4 20173$1.66$1.76$1.70Q1 20181$1.42$1.42$1.42Q2 20181$1.56$1.56$1.56Q3 20181$1.57$1.57$1.57Q4 20181$1.83$1.83$1.83(Data provided by Zacks Investment Research) Dividends Current Dividend Information for United Parcel Service (NYSE:UPS)Most Recent Dividend:8/30/2017Annual Dividend:$3.32Dividend Yield:2.77%Dividend Growth:8.00% (3 Year Average)Payout Ratio:81.57% (Trailing 12 Months of Earnings) 55.33% (Based on This Year's Estimates)51.71% (Based on Next Year's Estimates)Track Record:7 Years of Consecutive Dividend GrowthDividend History by Quarter for United Parcel Service (NYSE UPS)AnnouncedPeriodAmountYieldEx-Dividend DateRecord DatePayable Date8/3/2017quarterly$0.832.96%8/10/20178/14/20178/30/20175/4/2017quarterly$0.833.09%5/11/20175/15/20175/31/20172/8/2017quarterly$0.833.12%2/16/20172/21/20173/8/201711/3/2016quarterly$0.782.92%11/9/201611/14/201611/30/20168/5/2016quarterly$0.782.86%8/12/20168/16/20168/31/20165/5/2016quarterly$0.783.06%5/12/20165/16/20166/1/20162/10/2016quarterly$0.783.28%2/18/20162/22/20163/9/201611/5/2015quarterly$0.732.81%11/12/201511/16/201512/2/20158/6/2015quarterly$0.732.86%8/13/20158/17/20159/1/20155/7/2015quarterly$0.732.91%5/14/20155/18/20156/3/20152/11/2015quarterly$0.732.88%2/19/20152/23/20153/10/201511/6/2014quarterly$0.672.47%11/13/201411/17/201412/3/20148/7/2014quarterly$0.672.79%8/14/20148/18/20149/3/20145/9/2014quarterly$0.675/15/20145/19/20146/4/20145/8/2014quarterly$0.672.69%5/15/20145/19/20146/6/20142/13/2014quarterly$0.672.76%2/20/20142/24/20143/11/201411/8/2013quarterly$0.622.49%11/14/201311/18/201312/4/20138/8/2013quarterly$0.622.82%8/15/20138/19/20139/4/20135/2/2013quarterly$0.622.88%5/9/20135/13/20135/29/20132/14/2013quarterly$0.622.97%2/21/20132/25/20133/12/2013(Data available from 1/1/2013 forward) Insider Trades Insider Trading and Institutional Ownership History for United Parcel Service (NYSE:UPS)Insider Ownership Percentage: 0.59%Institutional Ownership Percentage: 52.86%Insider Trades by Quarter for United Parcel Service (NYSE:UPS)Transaction DateInsider NameTitleBuy/SellNumber of SharesAverage Share PriceTotal TransactionDetails8/22/2017Alan GershenhornEVPSell17,699$114.10$2,019,455.90 7/31/2017James J. BarberInsiderSell3,556$110.85$394,182.60 6/5/2017Kathleen M. GutmannSVPSell2,000$107.49$214,980.00 2/24/2017Teri P. McclureSVPSell4,500$104.85$471,825.00 8/12/2016James J BarberInsiderSell2,268$109.79$249,003.72 5/25/2016David A BarnesSVPSell11,712$102.47$1,200,128.64 2/26/2016Teri P McclureSVPSell4,500$97.85$440,325.00 2/18/2016D Scott DavisDirectorSell33,713$97.57$3,289,377.41 8/31/2015Kurt P KuehnSVPSell10,338$98.14$1,014,571.32 5/11/2015D Scott DavisChairmanSell30,000$100.44$3,013,200.00 2/27/2015Teri P McclureSVPSell8,000$101.81$814,480.00 11/24/2014D Scott DavisChairmanSell40,000$107.66$4,306,400.00 11/21/2014Kurt P KuehnCFOSell4,098$107.47$440,412.06 7/30/2014Mitchell R NicholsSVPSell4,525$99.40$449,785.00 5/30/2014Teri P McclureSVPSell4,000$104.00$416,000.00 5/27/2014James J BarberSVPSell3,455$102.96$355,726.80 4/30/2014John McdevittSVPSell10,353$98.19$1,016,561.07 4/25/2014Alan GershenhornSVPSell11,650$98.20$1,144,030.00 2/18/2014Carol TomeDirectorSell1,343$96.93$130,176.99 2/3/2014Michael EskewDirectorSell12,366$94.89$1,173,409.74 12/2/2013Michael EskewDirectorSell6,183$102.27$632,335.41 11/26/2013David BarnesSVPSell8,475$102.10$865,297.50 11/22/2013Ann LivermoreDirectorSell1,343$101.88$136,824.84 11/1/2013Michael L EskewDirectorSell6,183$98.45$608,716.35 9/3/2013Michael EskewDirectorSell6,182$86.25$533,197.50 8/29/2013Christine OwensSVPSell13,017$85.92$1,118,420.64 8/20/2013James BarberSVPSell4,133$86.46$357,339.18 8/1/2013Michael L EskewDirectorSell6,182$87.46$540,677.72 7/24/2013Michael L EskewDirectorSell6,182$87.85$543,088.70 6/3/2013Michael L EskewDirectorSell6,180$85.85$530,553.00 5/31/2013Teri P McclureSVPSell3,500$86.24$301,840.00 5/21/2013Alan GershenhornSVPSell21,240$89.04$1,891,209.60 5/8/2013D Scott DavisInsiderSell25,848$87.93$2,272,814.64 (Data available from 1/1/2013 forward) Headlines Headline Trends for United Parcel Service (NYSE:UPS) Latest Headlines for United Parcel Service (NYSE:UPS) Source: All Sources Trusted Sources MarketBeat.com Bloomberg MarketWatch Motley Fool NASDAQ Reuters Seeking Alpha The Street The Wall Street Journal Yahoo Finance DateHeadlineNoteworthy ETF Inflows: IYJ, UNP, UPS, CAT - Nasdaq.com - Nasdaqwww.nasdaq.com - October 21 at 2:16 AMUPS's safest driver ever goes 55 years without an accident - Atlanta Business Chroniclewww.bizjournals.com - October 21 at 2:16 AMAnemic Earnings Growth Penalizes United Parcel Service (UPS) Rating - Investorplace.cominvestorplace.com - October 21 at 2:16 AMAmazon's new lockers help control package overloadsfinance.yahoo.com - October 20 at 4:13 PMUPS's safest driver ever goes 55 years without an accidentfinance.yahoo.com - October 20 at 9:44 AMUPS Is Likely to Strengthen Its Wide Economic Moatfinance.yahoo.com - October 20 at 9:44 AMUnited Parcel Service, Inc. (UPS) Scheduled to Post Quarterly Earnings on Thursdaywww.americanbankingnews.com - October 19 at 2:32 AMNotable Wednesday Option Activity: UAL, ADBE, UPS - Nasdaqwww.nasdaq.com - October 18 at 3:29 PMAnemic Earnings Growth Penalizes United Parcel Service (UPS) Rating - Investorplace.com (blog)www.investorplace.com - October 18 at 3:29 PMUPS CEO says updated NAFTA better for economy than no trade treatyfinance.yahoo.com - October 18 at 3:29 PMMEDIA ADVISORY - Livonia Event to Honor UPS's Safest Driver Everfinance.yahoo.com - October 18 at 10:04 AM55 Years Without An Accident: UPS Driver Tom Camp Sets Company Safety Recordfinance.yahoo.com - October 18 at 10:04 AMAnemic Earnings Growth Penalizes United Parcel Service (UPS) Ratinginvestorplace.com - October 18 at 9:36 AMETFs with exposure to United Parcel Service, Inc. : October 16, 2017finance.yahoo.com - October 17 at 8:35 AMUPS To Release 3rd Quarter Results On Thursday, October 26, 2017finance.yahoo.com - October 17 at 8:35 AMUnited Parcel Service, Inc. (UPS) Stock Rating Reaffirmed by Credit Suisse Groupwww.americanbankingnews.com - October 15 at 12:34 AMJ P Morgan Chase & Co Raises United Parcel Service, Inc. (UPS) Price Target to $114.00www.americanbankingnews.com - October 12 at 10:54 AMUPS, teamsters begin new 5-year collective bargaining talkswww.bizjournals.com - October 11 at 9:28 PMThe UPS Store Steps Up to Help Small Businesses Close the Deal on Small Business Saturdayfinance.yahoo.com - October 11 at 4:27 PMUPDATE: UPS, teamsters begin new 5-year collective bargaining talks - Atlanta Business Chroniclewww.bizjournals.com - October 11 at 9:10 AMUPS And The International Brotherhood Of Teamsters Begin Contract Negotiationsfinance.yahoo.com - October 10 at 7:55 AMAmazon Absolutely Needs Its Own Delivery Serviceseekingalpha.com - October 9 at 8:59 AMUPS testing largest U.S.-made jumbo jet in Louisvillewww.bizjournals.com - October 9 at 8:59 AMThe Zacks Analyst Blog Highlights: HSBC, United Parcel Service, General Motors, Netflix and Monsantofinance.yahoo.com - October 9 at 8:59 AMUnited Parcel Service Sees Unusually High Options Volume (UPS)www.americanbankingnews.com - October 8 at 2:08 AMUPS aims to solve mystery surrounding its business plans - ABC News - ABC Newsabcnews.go.com - October 7 at 9:37 AMHold Recommendation on United Parcel Service (UPS) Shares Extended - Investorplace.cominvestorplace.com - October 7 at 9:37 AMTraders Purchase Large Volume of United Parcel Service Put Options (UPS)www.americanbankingnews.com - October 7 at 2:22 AMUnited Parcel Service, Inc. (UPS) Earns Neutral Rating from Bank of America Corporationwww.americanbankingnews.com - October 6 at 6:02 PMDecember 15th Options Now Available For United Parcel Service (UPS)www.nasdaq.com - October 6 at 12:13 PMIs Amazon in Too Many Businesses?finance.yahoo.com - October 6 at 12:12 PMTo Understand Amazon's Delivery Ambitions, Consider the Long Gamefinance.yahoo.com - October 6 at 12:12 PMToday's Research Reports on Stocks to Watch: United Parcel Service and FedEx Corporationfinance.yahoo.com - October 6 at 12:12 PMFedEx, UPS Stocks Drop After Amazon Delivery Initiativefinance.yahoo.com - October 6 at 12:12 PMUnited Parcel Service, Inc. (UPS) Upgraded at Zacks Investment Researchwww.americanbankingnews.com - October 6 at 9:36 AMUnited Parcel Service, Inc. (UPS) Cut to "Hold" at Zacks Investment Researchwww.americanbankingnews.com - October 6 at 12:34 AMHold Recommendation on United Parcel Service (UPS) Shares Extendedinvestorplace.com - October 4 at 1:48 PMHead-To-Head Review: United Parcel Service (UPS) versus XPO Intermodal (PACR)www.americanbankingnews.com - October 4 at 9:12 AMUPS Technology Speeds Training For Holiday Workersfinance.yahoo.com - October 4 at 9:07 AMPolonez Parcel Services and UPS Announce Innovative Agreement to Make Shipping to Poland Even Easier for Customersfinance.yahoo.com - October 4 at 9:06 AM3 Reasons to Sell FedEx Corporation Stock - Motley Foolwww.fool.com - October 3 at 7:18 PMBridges Investment Management Inc Buys Union Pacific Corp, US Bancorp, United Technologies ...www.nasdaq.com - October 3 at 2:14 PMUPS sues company pilots for leaking strategic plans for company's aircraftwww.bizjournals.com - October 3 at 2:13 PMETFs with exposure to United Parcel Service, Inc. : October 2, 2017finance.yahoo.com - October 3 at 2:13 PMContrasting United Parcel Service (UPS) & XPO Intermodal (PACR)www.americanbankingnews.com - October 1 at 2:20 PMUnited Parcel Service, Inc. (UPS) Given "Hold" Rating at Robert W. Bairdwww.americanbankingnews.com - October 1 at 7:56 AMUnited Parcel Service, Inc. (UPS) Given Consensus Recommendation of "Hold" by Brokerageswww.americanbankingnews.com - September 30 at 10:58 PMChina regulator OKs joint venture of UPS, SF Holding - Reuterswww.reuters.com - September 30 at 8:03 PMChina regulator OKs joint venture of UPS, SF Holdingwww.reuters.com - September 29 at 1:19 PMUnited Parcel Service, Inc. (UPS) Stock Delivers Dollars to Your Doorinvestorplace.com - September 26 at 12:37 PM Social Chart United Parcel Service (UPS) Chart for Saturday, October, 21, 2017 This page was last updated on 10/21/2017 by MarketBeat.com Staff

subset: commoncrawl


text:
You decide! Which business email address, below, gives a more professional and credible impression?
You've seen business cards with email addresses like "firstname.lastname@example.com." At Identity Creative, we won't design or print anything with a gmail, yahoo, or any-thing-other-than-your-own-custom-URL email address. Sound harsh? Friends who care will tell you the truth. We want you to stand out as a credible business and we'll tell you the harsh reality because it matters.
Marty Neumeier, in The Brand Gap, makes it clear, "Trust is the greatest shortcut to a buying decision, and the bedrock of modern branding."
Your business card is an opportunity to build trust with a credible brand presentation. We meet solo-preneurs and start-up owners who don't recognize the damage they're doing to their credibility with the impression a generic business email creates.
Why let this happen, when it's SO EASY to purchase a custom domain name and set up an email for your business. Here it is in five steps:
1. Choose a hosting company. We use Hostgator because in all the years we've hosted with them, their customer service reps have proven to be knowledgeable, patient, and NOT condescending.
2. Purchase a hosting package. For most small businesses and start-ups, their "Hatchling" plan is more than sufficient.
3. Select a domain name, (if you already have one, you'll just need to direct it to your new Hostgator account. If you have a question about this, comment below. You can search and purchase a domain at any registrar, like dotster.com, or right on Hostgator.
4. Follow their easy video tutorial to set up your email account.
5. One more step will configure the email to the provider you use, Gmail, Apple, Microsoft, etc.
It's that easy. Now, let's get back to business!