Detecting Obfuscated JavaScript Malware Using Sequences of Internal Function Calls

Size: px
Start display at page:

Download "Detecting Obfuscated JavaScript Malware Using Sequences of Internal Function Calls"

Transcription

1 Detecting Obfuscated JavaScript Malware Using Sequences of Internal Function Calls Alireza Gorji Tarbiat Modares University Tehran, Iran Mahdi Abadi Tarbiat Modares University Tehran, Iran ABSTRACT Web browsers are often used as a popular means for compromising Internet hosts. An attacker may inject a JavaScript malware into a web page. When a victim visits this page, the malware is executed and attempts to exploit a specific browser vulnerability or download an unwanted program. Obfuscated JavaScript malware can easily evade signature-based detection by changing the appearance of JavaScript code. To address this problem, some previous studies have used static analysis in which some features are extracted from both benign and malicious web pages, and then a classifier is trained to distinguish between them. Because nowadays benign JavaScript code is often obfuscated, static analysis techniques generate many false alarms. In this paper, we use dynamic analysis to monitor a web page for detecting obfuscated JavaScript malware. We first load a set of malicious web pages in a real web browser and collect a sequence of predictive function calls using internal function debugging for each of them. We then group similar sequences into the same cluster based on the normalized Levenshtein distance (NLD) metric and generate a so-called behavioral signature for each cluster. A web page is detected as malicious only if the sequence of its intercepted function calls is matched with at least one generated behavioral signature. Our evaluation results show that the generated behavioral signatures are able to detect obfuscated JavaScript malware with a low false alarm rate. Categories and Subject Descriptors D.4.6 [Security and Protection]: Invasive software General Terms Security Keywords JavaScript Malware, Obfuscation, Internal Function Call, Behavioral Signature. 1. INTRODUCTION Malicious web pages are one of the most common ways to compromise Internet hosts. These pages usually host drive-bydownload attacks that exploit vulnerabilities in the victim's web browser or one of its plugins. Therefore, protecting users from Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org. ACM SE '14, March 28 29, 2014, Kennesaw, GA, USA. Copyright 2014 ACM /14/03 $ visiting malicious websites is the main concern of many researchers in the malware analysis field. JavaScript is an ideal language for malware writers, because it is a built-in part of almost every web browser and can be used as a powerful tool to make unintended downloads and redirects. Static signatures are heavily used in malware protection systems to match known patterns that are commonly found in malicious web pages. User is warned when trying to visit a compromised web page. Although signature-based detection is currently the most commonly used technique for malware detection, it is unable to detect zero-day JavaScript malware. Attackers often use obfuscation to evade signature-based detectors and make JavaScript code difficult to understand and analyze. Choosing different types of obfuscation techniques and combining them together makes it even more resistant to analysis. Several studies have focused on static analysis for detecting both obfuscated and non-obfuscated JavaScript malware [2, 11, 12, 13]. This analysis takes into account discriminative features derived from the HTML contents, JavaScript code, and corresponding URL of web pages. A detection model is then built from these features based on machine learning techniques. Nowadays benign JavaScript code is often minimized, optimized, or obfuscated, hence static analysis techniques suffer from high false alarm rates that make them ineffective for using in a malware protection system. In this paper, we focus on dynamic analysis for detecting obfuscated JavaScript malware. To this end, we use internal function debugging and map the JavaScript behavior of a web page to a sequence of internal function calls, which enables us to generate a behavioral signature for each JavaScript malware family. The rest of this paper is organized as follows: Section 2 describes the most popular JavaScript obfuscation techniques. Section 3 reviews some related work and Section 4 introduces internal function debugging. Section 5 gives basic definitions. Section 6 presents our approach for detecting obfuscated JavaScript malware and Section 7 reports experimental results. Finally, Section 8 draws some conclusions. 2. OBFUSCATION TECHNIQUES Obfuscation techniques are heavily used in JavaScript malware to evade the detection of malware protection systems and to hide their malicious intent. In the following subsections, we briefly describe the major categories of obfuscation techniques being used in wild [7, 20]. 2.1 Randomization Obfuscation JavaScript malware may be obfuscated by randomly inserting or changing some elements of code without changing the semantics at all. Variable and function name randomization, whitespace ran-

2 domization, and comment randomization are common techniques in this category. Variable and function name randomization replaces variable names and function names by random strings. This makes the code analysis too complex. Whitespace randomization randomly inserts whitespace characters including space, tab, line feed, and carriage return. The rationale behind it is that the Java- Script interpreter ignores whitespace characters. Figure 1 gives a demonstration of these two techniques. function myfunc(str) { document.write(str); var mystr = "My Code"; myfunc(mystr); (a) Original code function msfrt23kjgty(zs12mnjy) { document.write(zs12mnjy); var nbuqmazsuikh = "My Code"; msfrt23kjgty(nbuqmazsuikh); (b) Obfuscated code Figure 1. An example of randomization obfuscation 2.2 Data Obfuscation Data obfuscation is as simple as splitting a string into multiple variables or substrings and concatenating them later, perhaps by using the document.write or eval functions. An attacker may also change the order of variables to make the code even harder to analyze (see Figure 2). var mystr = "document.write('my String')"; eval(mystr); (a) Original code var yq = "ing')"; var sq = "doc"; var sm = "ument"; var kw = "('My Str"; var mystr = sq + sm + ".write" + kw + yq; eval(mystr); (b) Obfuscated code Figure 2. An example of string splitting 2.3 Encoding Obfuscation In general, there are two techniques for encoding obfuscation. The first technique is to convert characters into their ASCII or Unicode values. Figure 3 shows an example of using Unicode values to obfuscate the string "<iframe src = ' iframe>". document.write( "\u003c\u0069\u0066\u0072\u0061\u006d\u0065\u0020\u0073\u00 72\u0063\u0020\u003D\u0020\u0027\u0068\u0074\u0074\u0070\u0 03A\u002F\u002F\u0077\u0077\u0077\u002E\u0064\u0065\u0076\u 0069\u006C\u002E\u0063\u006F\u006D\u0027\u003E\u003C\u002F\ u0069\u0066\u0072\u0061\u006d\u0065\u003e"); Figure 3. An example of using Unicode values function encrypt(str, key) { var result = ""; for (var i = 0; i < str.length; i++) { result += String.fromCharCode (str.charcodeat(i) + key); return result; var encstr = encrypt("document. write('my Code')", 5); document.write(encstr); (a) Original code function decrypt(str, key) { var result = ""; for (var i = 0; i < str.length; i++) { result += String.fromCharCode (str.charcodeat(i) key); return result; var decstr = decrypt("ithzrjsy3% w nyj,r~%htij,.", 5); eval(decstr); (b) Obfuscated code Figure 4. An example of custom encryption The second technique uses customized encryption. In this technique, an attacker writes an encryption function to encrypt a given string and attaches a decryption function to decrypt it during execution. Figure 4 shows an example of using custom encryption in which the Unicode value of each character is increased by the value of the parameter key, where the string "document.write('my Code')" is encrypted into "ithzrjsy3% wnyj-,r~%htij,.". 2.4 Logic Structure Obfuscation An attacker may manipulate the execution path of the JavaScript code by changing its logic structure. An example is inserting dead code which is a piece of code that will never run during the execution. 3. RELATED WORK Several recent studies have focused on the detection of malicious web pages. Since 2004, web browser based high interaction client honeypots have become an attractive tool to detect malware attacks on clients [15, 17]. They typically detect the attacks by loading suspicious web pages in a vulnerable web browser and monitoring changes in files, registry, and processes. Some other works try to detect malicious content before it reaches the victim's web browser in network layers or through a crawler. Cova et al. [3] presented a tool, called JSAND, which combines anomaly detection with emulation to identify JavaScript malware. JSAND uses a number of features and machine-learning techniques to establish profiles of normal JavaScript code. It is able to identify anomalous JavaScript code by emulating its behavior and comparing it to the established profiles. They made JSAND available as part of an online service, called Wepawet [19], where users can submit URLs that are automatically analyzed. Rieck et al. [16] presented CUJO, a system that combines static analysis with dynamic analysis to detect drive-by-download attacks. The static analysis component extracts lexical tokens from the JavaScript code of a web page and generates a static analysis report. The dynamic analysis component loads the web page in an enhanced version of ADSandbox [5] and generates a dynamic analysis report containing all monitored operations of the Java- Script code. These reports are then processed and two detection models are generated based on support vector machines. CUJO uses JavaScript emulation instead of loading the web page in a real web browser. But our approach differs from CUJO in that it uses the browser's JavaScript engine without requiring emulation. Canali et al. [2] introduced Prophiler, a filtering system that uses static analysis to distinguish between malicious and benign web pages. It uses some features derived from the HTML contents, associated JavaScript code, and URL of each web page to build detection models using supervised machine-learning techniques. Web pages that are found to be likely malicious are then analyzed with an analysis tool, such as Wepawet [19]. The drawback is that few features focus on the JavaScript obfuscation; hence Prophiler cannot effectively detect obfuscated JavaScript malware. Curtsinger et al. [4] proposed ZOZZLE, a static JavaScript malware detector. ZOZZLE hooks JavaScript functions, such as document. write and eval, to obtain deobfuscated JavaScript code and pass it to a naïve Bayesian classifier that is trained using features of the JavaScript AST (abstract syntax tree). However, they simply rely on the assumption that JavaScript malware has to be deobfuscated at last. Kim et al. [10] presented JSSandBox, a framework that monitors and analyzes the behavior of JavaScript malware using internal function hooking (IFH). Similar to our approach, they attach a debugger to a real web browser to intercept internal func-

3 tion calls. However, they make a simple model for detecting the behavior of JavaScript malware that can be easily evaded by different obfuscation techniques. All of these works are different from the approach discussed in this paper. 4. INTERNAL FUNCTION DEBUGGING API hooking is a powerful technique for analyzing the behavior of programs running on Microsoft Windows. It changes the execution flow of a program into an arbitrary flow and monitor the input and output parameters of function calls. However, its main drawback is that it incurs additional overhead to the monitoring process. In this paper, we refer to all exported and non-exported functions in a DLL as internal functions and use internal function debugging to intercept specific internal function calls when a web page is loaded into a web browser. In general, debugging information includes function names, local and global variables, register values, call stack, and so on. A Windows debugger needs debug symbols that are the name and starting address of functions and global variables. Microsoft provides debug symbols for the Windows DLLs including jscript.dll which is the JavaScript engine of Internet Explorer. Internet Explorer uses several DLLs for loading web pages, including jscript.dll (JavaScript engine) and mshtml.dll (HTML parser). Each JavaScript function is implemented by a number of internal functions in jscript.dll. For example, the JavaScript functions eval and unescape are implemented as the internal functions JsEval and JsUnescape, respectively. Also, each HTML tag is implemented as a class in mshtml.dll. For example, the HTML tag SCRIPT is implemented as the class CScriptElement. We use WinDbg [14] to trace internal function calls in jscript.dll and mshtml.dll when a web page is loaded into Internet Explorer. WinDbg is a multipurpose debugger for Microsoft Windows that can be attached to a running process to intercept internal function calls and view debugging information. WinDbg supports built-in commands for various debugging purposes. To be notified when specific internal functions are getting called, we send a sequence of commands to the WinDbg engine (dbgeng.dll). 5. BASIC DEFINITIONS In this section, we give some basic definitions which are used throughout the paper. DEFINITION 5.1 ( -SEQUENCE). Let be a set of internal function calls. An ordered list of internal function calls in is called an -sequence:,,,,,,, where, is an internal function call and is the length of. DEFINITION 5.2 ( -VECTOR). Let be a set of internal function calls and be an -sequence. A vector whose elements are the number of internal function calls in is called the -vector of :,,,,,,, where, is the frequency of an internal function call in and is the total number of internal function calls. DEFINITION 5.3 (NORMALIZED LEVENSHTEIN DISTANCE). The normalized Levenshtein distance (NLD) between two -sequences is defined as the Levenshtein distance between those -sequences divided by their maximum length. More formally, given two sequences and, the normalized Levenshtein distance between them, denoted by,, is defined as,, (3) max,, where, is the Levenshtein distance between and, i.e., the minimum number of edits needed to convert into or vice versa, with the edit operations of insertion, deletion, or substitution of function calls. DEFINITION 5.4 (FIXED-WIDTH CLUSTER). A fixed-width cluster is a set of -sequences whose maximum normalized Levenshtein distances from the cluster s centroid is less than a fixed radius. DEFINITION 5.5 (CLUSTER REPRESENTATIVE). Let be a fixedwidth cluster. The representative of, denoted by, is defined as the average of all -vectors in : 1. DEFINITION 5.6 (BEHAVIORAL DISTANCE). The behavioral distance of an -sequence from a fixed-width cluster, denoted by,, is defined as the distance between and :,, where is the norm of a vector. DEFINITION 5.7 ( -SUBSTRING). An -substring of an -sequence,,,, is an -sequence,,,,, where 0 and. DEFINITION 5.8 ( -TOKEN). Given a set of -sequences, an sequence is called an -token for iff is a common substring of all -sequences in. DEFINITION 5.9 ( -SIGNATURE). Given two sets and of sequences, is called an -signature for iff each -sequence in is an -token for. DEFINITION 5.10 (REDUNDANT -TOKEN). Let be a set of sequences and be an -signature for. An -token in is redundant iff there exists an -token in such that is an substring of and. DEFINITION 5.11 (MINIMAL -SIGNATURE). An -signature is minimal iff it contains no redundant -token. EXAMPLE 5.1. Consider two sets and of -sequences: A, A, A, B, C, A, B, H, H, H, A, C, C, D, A, B, B, A, A, H, H, H, A, C, E, D, A, B, C, H, H, A, B, A, B, C, H, H, H, A. is an -signature for. The -token, in is redundant, because there exists an -token,, such that, is an substring of it. A minimal -signature for is the set A, B, C, H, H, H, A. 6. OUR APPROACH In this section, we present an approach to detect obfuscated Java- Script malware by monitoring and analyzing the behavior of suspicious web pages in a real web browser. As previously mentioned, every standard web browser has a JavaScript engine that interprets and executes JavaScript code embedded in web pages. This engine is basically implemented in some DLLs. When a web page is loaded into the browser, a sequence of internal function calls is made. We are interested in the function calls which are made by obfuscated JavaScript malware. (4) (5)

4 Malicious and Benign Web Pages Intercepting All Internal Function Calls Identifying Predictive Function Calls Predictive Function Calls Malicious Web Pages Intercepting Predictive Function Calls Sequencebased Clustering Generating Behavioral Signatures Behavioral Signatures Figure 5. Selecting predictive function calls and generating behavioral Patterns For the purpose of intercepting function calls, we select Microsoft Internet Explorer as the browser. However, our approach is not browser-dependent that means it can be applied to any other browser. We analyzed through reverse engineering and found that there are more than 3200 internal functions inside jscript.dll, which may be called during a page load. If we want to take all these functions into account, then monitoring and analyzing a simple page would take a long time. To address this problem, we first intercept all internal function calls of both malicious and benign web pages and identify predictive function calls among them. We then intercept these function calls for malicious web pages and create a sequence of predictive function calls, so-called -sequence, for each of them. We next give the set of -sequences to a fixed-width sequence-based clustering algorithm in which similar -sequences are grouped into the same cluster based on the normalized Levenshtein distance metric. Finally, we generate a minimal -signature for each cluster. A given web page is detected as malicious if its corresponding -sequence is matched with all -tokens of at least one generated minimal -signature. Figure 5 shows the major steps of our approach. We claim our approach is able to detect both obfuscated and nonobfuscated JavaScript malware with high detection rate and low false alarm rate. The reason is that different variants of the same JavaScript malware family often share common behavioral patterns when executing in a web browser, therefore we can detect new variants by the behavioral patterns of their malware family. 6.1 Identifying Predictive Function Calls As previously mentioned, intercepting all internal function calls of the JavaScript engine incurs an unreasonable time. Hence, we identify the most predictive subset of function calls from the whole set of internal function calls. For this purpose, we first intercept all internal function calls of both malicious and benign web pages and use the test with one degree of freedom to identify predictive function calls among them. We then include only those function calls whose presence is correlated with malicious web pages. The correlation between an internal function call and malicious web pages is calculated as follows:, (6) where and are the number of malicious web pages with and without, respectively. and are the number of benign web pages with and without, respectively. The higher the value of, the more the correlation between and malicious web pages. We select top 15 most predictive internal function calls of jscript. dll and mshtml.dll, as listed in Table 1. For ease of exposition, we map each of them to an English alphabet letter. Table 1. Selected predictive internal functions Letter Function Library A JsEval jscript B CScriptRuntime::InitEval jscript C CDocument::Write mshtml D COleScript::ChangeType jscript E StringFncObj::EnsureBuiltin jscript F ErrorFncObj::EnsureBuiltin jscript G NameTbl::Call jscript H NatFncObj::Create jscript I CScriptRuntime::SetNextStatement jscript J StringFncObj::StringFncObj jscript K StringFncObj::Create jscript L ThreadGlobals::ThreadGlobals jscript M DexCaller::QueryService jscript N CScriptRuntime::RecordErrorContext jscript O CScriptRuntime::GetCodeContext jscript 6.2 Sequence-based Clustering To identify malicious web pages with similar behavior, we use a fixed-width sequence-based clustering algorithm, called. The algorithm takes a set of -sequences of malicious web pages as the input and groups them into a set of fixed-width clusters based on the normalized Levenshtein distance metric. For each sequence, if is empty, it creates a new cluster with as its centroid (Lines 3 6). Otherwise, it adds to the nearest cluster and updates the cluster centroid, only if the normalized Levenshtein distance between and is less than a fixed radius (Lines 8 11) and otherwise, it creates a new cluster with as its centroid (Lines 12 16). The pseudocode of is shown in Figure Signature Generation At the moment, we have a set of clusters created from malicious web pages. The next step is to generate a set of minimal signatures for all clusters in. Although generating a set of signatures, each of which consists of only the longest -token for a cluster in, will achieve a high detection rate, but it may also result in a high false alarm rate. In addition to that, an attacker may insert benign pieces of code between malicious JavaScript code to evade signature-based matching, decreasing the detection rate. These facts motivates us to define more accurate -signatures that match with -sequences of different variants of malicious web pages as much as possible and, at the same time, do not match with -sequences of benign web pages. For this purpose, we define an -signature to be the set of all -tokens with a minimum length for a cluster. There are well-known algorithms to find all common substrings of a set of strings in linear time [8, 9]. We can slightly modify them to find a set of all non-redundant tokens with a minimum length for each cluster in, which gives us the set of minimal -signatures. To increase the probability of matching an -signature with -sequences of similar malicious

5 Algorithm input: : set of -sequences of malicious web pages : fixed cluster radius output: : set of clusters for each do 3. if is empty then else 8. argmin, 9. if, then argmin, 12. else end if 17. end if 18. end for 19. return Figure 6. The pseudo-code of web pages, we implement each -token in as a regular expression. For example, the -token B,A,H,H,H,H,C,H,H,H,D,D,A is implemented as the regular expression "BAH CH D A". The plus sign in the regular expression shows that the internal function calls H and D are made more than once. In general, the number of occurrences of a repeated internal function call may not be the same in different variants of a JavaScript malware. Therefore, we generalize -tokens with implementing them as regular expressions. Our evaluation shows that this conversion does not affect the false alarm rate that much. Also, some minimal -signatures in may be incorrectly matched with -sequences of benign web pages, increasing the false alarm rate. Therefore, we prune these so-called noisy -signatures from. For this purpose, we remove every minimal -signature that matches with more than percent of benign web pages in a validation dataset. 7. EVALUATION In this section, we evaluate the performance of our approach using a dataset of benign and malicious web pages. For this purpose, we collected more than 1000 malicious web pages, compromised through iframe injection attack, from urlquery [18] which is a service for detecting and analyzing web-based malware. We manually analyzed all malicious web pages to ensure that obfuscation techniques are applied in their JavaScript code and selected 300 malicious web pages among them. The iframe injection has become an incredibly common attack these days. It hijacks the victim website's traffic to serve malware to visitors. The attacker injects one or more iframe tags into a web page's content; hence if a usual visitor of that web page opens it, the malicious content will be loaded into its web browser. We also collected a set of 3,000 benign web pages from top 3,000 Alexa web sites [1]. We assume that these well-known websites are not compromised, as they are visited daily by millions of visitors and frequently analyzed by experts and anti-virus tools. We used 175 malicious web pages to generate minimal -signatures, 1000 benign web pages to prune noisy -signatures. We also used 2000 benign and 125 malicious web pages to evaluate the performance of our approach. To create an -sequence for each web page, we loaded it into Internet Explorer and intercepted predictive internal function calls for 60 seconds. We believe this time is sufficient for a web page to execute all its JavaScript code. In all experiments, we set the pruning threshold to Some generated minimal -signatures are listed in Table 2. Table 2. Some generated minimal -signatures {LEFGIJBACH+DHE+BACH+DEHIH+QH+Q+E+BAH+ {IH+IH+, E+H+, H+DH+, BACH+DH+, H+CH+DH+, H+FGJE+, H+I+, FGH We use the detection rate (DR) and false alarm rate (FAR) to measure the quality of generated minimal -signatures. Figure 7 shows the effect of different values of the cluster radius, ranging from 0.4 to 0.7, and pruning threshold on the performance of our approach. Clearly, we can make a trade-off between the detection and false alarm rates by choosing 0.55 and Detection Rate (%) False Alarm Rate (%) Cluster Radius (ρ) = 0.05 = = Cluster Radius (ρ) = 0.05 = = 0.01 Figure 7. Effect of and on the performance of our approach Table 3 shows the number of minimal -signatures,, for different values of, ranging from 0.4 to 0.7. The higher the value of, the less the number of minimal -signatures. Table 3. Effect of on the number of minimal -signatures

6 Table 4. Detection rate comparison of our approach with Wepawet and NOD32's WAP Our Approach 85.07% Wepawet [19] 19.51% NOD32's WAP [6] 52.43% Table 4 shows a comparison of the detection rate of our approach with that of Wepawet [19] and NOD32's Web Access Protection (WAP) [6] on the dataset of malicious web pages. As we can see, the detection rate of Wepawet is relatively low. This may be due to new techniques used by attackers to evade the detection tools. For example, some malicious web pages respond with a 404 error while serving the user with malicious content in the response. Other attackers may employ obfuscation techniques to dynamically include the malicious payload when a web page is loaded. 8. CONCLUSION In this paper, we presented a dynamic approach to detect obfuscated JavaScript malware by analyzing the behavior of suspicious web pages in a real web browser. We performed several experiments using a dataset of benign and malicious web pages to evaluate the performance of our approach. The malicious web pages were compromised through iframe injection attack. The evaluation results demonstrated that by choosing the fixed cluster radius 0.55 and the pruning threshold 0.01, we can achieve a relatively high detection rate of 85.07% with a low false alarm rate of 0.26% which is less than 1%. In future work, we will generate minimal -signatures for JavaScript malware other than those using the iframe injection attack and we will also generate minimal -signatures from internal function calls of other web browsers, such as Mozilla Firefox, Google Chrome, and so on. 9. REFERENCES [1] Alexa. [2] Canali, D., Cova, M., Vigna, G., and Kruegel, C Prophiler: A fast filter for the large-scale detection of malicious web pages. In Proceedings of the 20th International Conference on World Wide Web (Hyderabad, India, March 28 - April 1, 2011). WWW '11. ACM, New York, NY, USA, pp [3] Cova, M., Kruegel, C., and Vigna, G Detection and analysis of drive-by-download attacks and malicious JavaScript code. In Proceedings of the 19th International Conference on World Wide Web (Raleigh, NC, USA, April 26-30, 2010). WWW '10. ACM, New York, NY, USA, pp [4] Curtsinger, C., Livshits, B., Zorn, B. G., and Seifert, C ZOZZLE: Fast and precise in-browser JavaScript malware detection. In Proceedings of the 20th USENIX Security Symposium (San Francisco, CA, USA, August 8-12, 2011). Security '11. USENIX Association, Berkeley, CA, USA, pp [5] Dewald, A., Holz, T., and Freiling, F. C ADSandbox: Sandboxing JavaScript to fight malicious websites. In Proceedings of the 2010 ACM Symposium on Applied Computing (Sierre, Switzerland, March 22-26, 2010). SAC '10. ACM, New York, NY, USA, pp [6] ESET NOD32 Antivirus. [7] Feinstein, B. and Peck, D Caffeine Monkey: Automated collection, detection and analysis of malicious JavaScript. In Proceedings of the Black Hat Security Conference (Las Vegas, NV, USA, July 28 - August 2, 2007). pp [8] Gusfield, D Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. Cambridge University Press, New York, NY, USA. [9] Hui, L Color set size problem with applications to string matching. In Apostolico, A., Crochemore, M., Galil, Z., Manber, U. (Eds.) Combinatorial Pattern Matching. LNCS 644, Springer, Berlin, Heidelberg, 1992, pp [10] Kim, H. C., Choi, Y. H., and Lee, D. H JsSandbox: A framework for analyzing the behavior of malicious JavaScript code using internal function hooking. KSII T. Internet Info. Syst. 6, 2 (Feb. 2012), pp [11] Karanth, S., Laxman, S., Naldurg, P., Venkatesan, R., Lambert, J., and Shin, J Pattern Mining for Future Attacks. Technical Report. Microsoft Research. [12] Likarish, P., Jung, E., and Jo, I Obfuscated malicious JavaScript detection using classification techniques. In Proceedings of the th International Conference on Malicious and Unwanted Software (Montréal, Quebec, Canada, October 13-14, 2009). MALWARE '09. IEEE Computer Society, Washington, DC, USA, pp [13] Ma, J., Saul, L. K., Savage, S., and Voelker, G. M Beyond blacklists: Learning to detect malicious web sites from suspicious URLs. In Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (Paris, France, June 28 - July 1, 2009). KDD '09. ACM, New York, NY, USA, pp [14] Microsoft Corporation. Debugging Tools for Windows. [15] Moshchuk, A., Bragin, T., Deville, D., Gribble, S. D., and Levy, H. M SpyProxy: Execution-based detection of malicious web content. In Proceedings of the 16th USENIX Security Symposium (Boston, MA, USA, August 06-10, 2007). Security '07. USENIX Association, Berkeley, CA, USA, pp [16] Rieck, K., Krueger, T., and Dewald, A Cujo: Efficient detection and prevention of drive-by-download attacks. In Proceedings of the 26th Annual Computer Security Applications Conference (Austin, Texas, USA, December 06-10, 2010). ACSAC '10. ACM, New York, NY, USA, pp [17] Stuurman, T. and Verduin, A Honeyclients - Low Interaction Detection Methods. Technical Report. University of Amsterdam. [18] urlquery. [19] Wepawet. [20] Xu, W., Zhang F., and Zhu, S The power of obfuscation techniques in malicious JavaScript code: A measurement study. In Proceedings of the th International Conference on Malicious and Unwanted Software (Fajardo, PR, USA, October 16-18, 2012). MALWARE '12. IEEE Computer Society, Washington, DC, USA, pp

JSObfusDetector: A Binary PSO-based One-Class Classifier Ensemble to Detect Obfuscated JavaScript Code

JSObfusDetector: A Binary PSO-based One-Class Classifier Ensemble to Detect Obfuscated JavaScript Code 2015 International Symposium on Artificial Intelligence and Signal Processing (AISP) JSObfusDetector: A Binary PSO-based One-Class Classifier Ensemble to Detect Obfuscated JavaScript Code Mehran Jodavi,

More information

Detection of Cross Site Scripting Attack and Malicious Obfuscated Javascript Code

Detection of Cross Site Scripting Attack and Malicious Obfuscated Javascript Code International Journal of Engineering Research in Computer Science and Engineering Detection of Cross Site Scripting Attack and Malicious Obfuscated Javascript Code [1] Vrushali S. Bari [2] Prof. Nitin

More information

Hybrid Obfuscated Javascript Strength Analysis System for Detection of Malicious Websites

Hybrid Obfuscated Javascript Strength Analysis System for Detection of Malicious Websites Hybrid Obfuscated Javascript Strength Analysis System for Detection of Malicious Websites R. Krishnaveni, C. Chellappan, and R. Dhanalakshmi Department of Computer Science & Engineering, Anna University,

More information

Self-Learning Systems for Network Intrusion Detection

Self-Learning Systems for Network Intrusion Detection Self-Learning Systems for Network Intrusion Detection Konrad Rieck Computer Security Group University of Göttingen GEORG-AUGUST-UNIVERSITÄT GÖTTINGEN About Me» Junior Professor for Computer Security» Research

More information

Malicious Web Page Detection Based on Anomaly Behavior

Malicious Web Page Detection Based on Anomaly Behavior Malicious Web Page Detection Based on Anomaly Behavior Chia-Mei Chen Department of Information Management, National Sun Yat-Sen University, Taiwan 2009/7/28 1 Outline 1 Introductions 2 The Proposed Approach

More information

Malicious JavaScript Detection using Statistical Language Model

Malicious JavaScript Detection using Statistical Language Model San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Spring 5-25-2016 Malicious JavaScript Detection using Statistical Language Model Anumeha Shah San Jose

More information

Detecting Malicious Web Links and Identifying Their Attack Types

Detecting Malicious Web Links and Identifying Their Attack Types Detecting Malicious Web Links and Identifying Their Attack Types Anti-Spam Team Cellopoint July 3, 2013 Introduction References A great effort has been directed towards detection of malicious URLs Blacklisting

More information

JsSandbox: A Framework for Analyzing the Behavior of Malicious JavaScript Code using Internal Function Hooking

JsSandbox: A Framework for Analyzing the Behavior of Malicious JavaScript Code using Internal Function Hooking KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS VOL. 6, NO. 2, Feb 2012 766 Copyright c 2012 KSII JsSandbox: A Framework for Analyzing the Behavior of Malicious JavaScript Code using Internal Function

More information

BotCatch: Botnet Detection Based on Coordinated Group Activities of Compromised Hosts

BotCatch: Botnet Detection Based on Coordinated Group Activities of Compromised Hosts 2014 7th International Symposium on Telecommunications (IST'2014) BotCatch: Botnet Based on Coordinated Group Activities of Compromised Hosts Mosa Yahyazadeh and Mahdi Abadi Faculty of Electrical and Computer

More information

Atomizer: Fast, Scalable and Lightweight Heap Analyzer for Virtual Machines in a Cloud Environment

Atomizer: Fast, Scalable and Lightweight Heap Analyzer for Virtual Machines in a Cloud Environment Atomizer: Fast, Scalable and Lightweight Heap Analyzer for Virtual Machines in a Cloud Environment Salman Javaid Aleksandar Zoranic Irfan Ahmed Golden G. Richard III University of New Orleans Greater New

More information

[Rajebhosale*, 5(4): April, 2016] ISSN: (I2OR), Publication Impact Factor: 3.785

[Rajebhosale*, 5(4): April, 2016] ISSN: (I2OR), Publication Impact Factor: 3.785 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY A FILTER FOR ANALYSIS AND DETECTION OF MALICIOUS WEB PAGES Prof. SagarRajebhosale*, Mr.Abhimanyu Bhor, Ms.Tejashree Desai, Ms.

More information

Identification of Malicious Web Pages with Static Heuristics

Identification of Malicious Web Pages with Static Heuristics Identification of Malicious Web Pages with Static Heuristics Christian Seifert, Ian Welch, Peter Komisarczuk Victoria University of Wellington P. O. Box 600 Wellington 6140, New Zealand Email: {cseifert,ian,peterk}@mcs.vuw.ac.nz

More information

Malicious Web Pages Detection Based on Abnormal Visibility Recognition

Malicious Web Pages Detection Based on Abnormal Visibility Recognition Malicious Web Pages Detection Based on Abnormal Visibility Recognition Bin Liang 1 2, Jianjun Huang 1, Fang Liu 1, Dawei Wang 1, Daxiang Dong 1, Zhaohui Liang 1 2 1. School of Information, Renmin University

More information

MALICIOUS URL DETECTION AND PREVENTION AT BROWSER LEVEL FRAMEWORK

MALICIOUS URL DETECTION AND PREVENTION AT BROWSER LEVEL FRAMEWORK International Journal of Mechanical Engineering and Technology (IJMET) Volume 8, Issue 12, December 2017, pp. 536 541, Article ID: IJMET_08_12_054 Available online at http://www.iaeme.com/ijmet/issues.asp?jtype=ijmet&vtype=8&itype=12

More information

Malicious Drive-By-Download Website Classification Using JavaScript Features. Sam Wang. B.Sc., University of Victoria, 2014

Malicious Drive-By-Download Website Classification Using JavaScript Features. Sam Wang. B.Sc., University of Victoria, 2014 Malicious Drive-By-Download Website Classification Using JavaScript Features by Sam Wang B.Sc., University of Victoria, 2014 An Industrial Project Submitted in Partial Fulfillment of the Requirements for

More information

McPAD and HMM-Web: two different approaches for the detection of attacks against Web applications

McPAD and HMM-Web: two different approaches for the detection of attacks against Web applications McPAD and HMM-Web: two different approaches for the detection of attacks against Web applications Davide Ariu, Igino Corona, Giorgio Giacinto, Fabio Roli University of Cagliari, Dept. of Electrical and

More information

CSI5387: Data Mining Project

CSI5387: Data Mining Project CSI5387: Data Mining Project Terri Oda April 14, 2008 1 Introduction Web pages have become more like applications that documents. Not only do they provide dynamic content, they also allow users to play

More information

Practical Techniques for Regeneration and Immunization of COTS Applications

Practical Techniques for Regeneration and Immunization of COTS Applications Practical Techniques for Regeneration and Immunization of COTS Applications Lixin Li Mark R.Cornwell E.Hultman James E. Just R. Sekar Stony Brook University Global InfoTek, Inc (Research supported by DARPA,

More information

Zozzle: Low-overhead Mostly Static JavaScript Malware Detection

Zozzle: Low-overhead Mostly Static JavaScript Malware Detection Zozzle: Low-overhead Mostly Static JavaScript Malware Detection Charles Curtsinger Benjamin Livshits and Benjamin Zorn Christian Seifert UMass at Amherst Microsoft Research Microsoft Microsoft Research

More information

deseo: Combating Search-Result Poisoning Yu USF

deseo: Combating Search-Result Poisoning Yu USF deseo: Combating Search-Result Poisoning Yu Jin @MSCS USF Your Google is not SAFE! SEO Poisoning - A new way to spread malware! Why choose SE? 22.4% of Google searches in the top 100 results > 50% for

More information

Validation of Web Alteration Detection using Link Change State in Web Page

Validation of Web Alteration Detection using Link Change State in Web Page Web 182-8585 1 5-1 m-shouta@uec.ac.jp,zetaka@computer.org Web Web URL Web Alexa Top 100 Web Validation of Web Alteration Detection using Link Change State in Web Page Shouta Mochizuki Tetsuji Takada The

More information

SentinelOne Technical Brief

SentinelOne Technical Brief SentinelOne Technical Brief SentinelOne unifies prevention, detection and response in a fundamentally new approach to endpoint protection, driven by machine learning and intelligent automation. By rethinking

More information

A Review on Identifying the Main Content From Web Pages

A Review on Identifying the Main Content From Web Pages A Review on Identifying the Main Content From Web Pages Madhura R. Kaddu 1, Dr. R. B. Kulkarni 2 1, 2 Department of Computer Scienece and Engineering, Walchand Institute of Technology, Solapur University,

More information

Sandboxing JavaScript. Lieven Desmet iminds-distrinet, KU Leuven OWASP BeNeLux Days 2012 (29/11/2012, Leuven) DistriNet

Sandboxing JavaScript. Lieven Desmet iminds-distrinet, KU Leuven OWASP BeNeLux Days 2012 (29/11/2012, Leuven) DistriNet Sandboxing JavaScript Lieven Desmet iminds-distrinet, KU Leuven Lieven.Desmet@cs.kuleuven.be OWASP BeNeLux Days 2012 (29/11/2012, Leuven) DistriNet About myself Lieven Desmet @lieven_desmet Research manager

More information

Ms. Jevitha. K. P Assistant Professor

Ms. Jevitha. K. P Assistant Professor Prediction of Cross-Site Scripting Attack Using Machine Learning Algorithms Vishnu. B. A PG Student Amrita School of Engineering Amrita Vishwa Vidyapeetham (University) Coimbatore vishnuba89@gmail.com

More information

Author: Tonny Rabjerg Version: Company Presentation WSF 4.0 WSF 4.0

Author: Tonny Rabjerg Version: Company Presentation WSF 4.0 WSF 4.0 Author: Tonny Rabjerg Version: 20150730 Company Presentation WSF 4.0 WSF 4.0 Cybercrime is a growth industry. The returns are great, and the risks are low. We estimate that the likely annual cost to the

More information

Web Security Vulnerabilities: Challenges and Solutions

Web Security Vulnerabilities: Challenges and Solutions Web Security Vulnerabilities: Challenges and Solutions A Tutorial Proposal for ACM SAC 2018 by Dr. Hossain Shahriar Department of Information Technology Kennesaw State University Kennesaw, GA 30144, USA

More information

SentinelOne Technical Brief

SentinelOne Technical Brief SentinelOne Technical Brief SentinelOne unifies prevention, detection and response in a fundamentally new approach to endpoint protection, driven by behavior-based threat detection and intelligent automation.

More information

Automated Signature Generation: Overview and the NoAH Approach. Bernhard Tellenbach

Automated Signature Generation: Overview and the NoAH Approach. Bernhard Tellenbach Automated Signature Generation: Overview and the NoAH Approach Structure Motivation: The speed of insecurity Overview Building Blocks and Techniques The NoAH approach 2 The speed of insecurity Source:

More information

Identifying Stepping Stone Attack using Trace Back Based Detection Approach

Identifying Stepping Stone Attack using Trace Back Based Detection Approach International Journal of Security Technology for Smart Device Vol.3, No.1 (2016), pp.15-20 http://dx.doi.org/10.21742/ijstsd.2016.3.1.03 Identifying Stepping Stone Attack using Trace Back Based Detection

More information

Browser Exploits? Grab em by the Collar! Presented By: Debasish Mandal

Browser Exploits? Grab em by the Collar! Presented By: Debasish Mandal Browser Exploits? Grab em by the Collar! Presented By: Debasish Mandal (@debasishm89) About Me Security researcher, currently working in McAfee IPS Vulnerability Research Team. Working in information security

More information

Digital Forensics Lecture 02B Analyzing PDFs. Akbar S. Namin Texas Tech University Spring 2017

Digital Forensics Lecture 02B Analyzing PDFs. Akbar S. Namin Texas Tech University Spring 2017 Digital Forensics Lecture 02B Analyzing PDFs Akbar S. Namin Texas Tech University Spring 2017 PDF Format and Structure Tools used Text editor (e.g., vi) ClamAV antivirus (http://www.clamav.net/lang/en/download/

More information

C1: Define Security Requirements

C1: Define Security Requirements OWASP Top 10 Proactive Controls IEEE Top 10 Software Security Design Flaws OWASP Top 10 Vulnerabilities Mitigated OWASP Mobile Top 10 Vulnerabilities Mitigated C1: Define Security Requirements A security

More information

SSL Automated Signatures

SSL Automated Signatures SSL Automated Signatures WilliamWilsonandJugalKalita DepartmentofComputerScience UniversityofColorado ColoradoSprings,CO80920USA wjwilson057@gmail.com and kalita@eas.uccs.edu Abstract In the last few years

More information

ID: Sample Name: maintools.js Cookbook: default.jbs Time: 15:43:35 Date: 17/02/2018 Version:

ID: Sample Name: maintools.js Cookbook: default.jbs Time: 15:43:35 Date: 17/02/2018 Version: ID: 48 Sample Name: maintools.js Cookbook: default.jbs Time: 1:43:3 Date: 1/02/2018 Version: 21.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence

More information

Data Mining for Computer Security 2

Data Mining for Computer Security 2 Data Mining for Computer Security 2 Konrad Rieck Technische Universität Braunschweig, Germany Machine Learning for Threat Detection Application of machine learning for threat detection Let computers learn

More information

EXPLOIT KITS. Tech Talk - Fall Josh Stroschein - Dakota State University

EXPLOIT KITS. Tech Talk - Fall Josh Stroschein - Dakota State University EXPLOIT KITS Tech Talk - Fall 2016 Josh Stroschein - Dakota State University Delivery Methods Spam/Spear-phishing Delivery Methods Spam/Spear-phishing Office Documents Generally refer to MS office suite

More information

CLOAK OF VISIBILITY : DETECTING WHEN MACHINES BROWSE A DIFFERENT WEB

CLOAK OF VISIBILITY : DETECTING WHEN MACHINES BROWSE A DIFFERENT WEB CLOAK OF VISIBILITY : DETECTING WHEN MACHINES BROWSE A DIFFERENT WEB CIS 601: Graduate Seminar Prof. S. S. Chung Presented By:- Amol Chaudhari CSU ID 2682329 AGENDA About Introduction Contributions Background

More information

Client-Side Detection of SQL Injection Attack

Client-Side Detection of SQL Injection Attack Client-Side Detection of SQL Injection Attack Hossain Shahriar, Sarah North, and Wei-Chuen Chen Department of Computer Science Kennesaw State University Georgia, 30144, USA {hshahria,snorth}@kennesaw.edu,

More information

ID: Sample Name: ff2c8cadaa0fd8da6138cce6fce37e001f53a5d9ceccd67945b15ae273f4d751.evaljs.js Cookbook: default.jbs Time: 16:44:00 Date:

ID: Sample Name: ff2c8cadaa0fd8da6138cce6fce37e001f53a5d9ceccd67945b15ae273f4d751.evaljs.js Cookbook: default.jbs Time: 16:44:00 Date: ID: 33355 Sample Name: ff2c8cadaa0fd8da138ccefce3e001f53a5dceccd45b15ae23f4d51.evaljs.js Cookbook: default.jbs Time: 1:44:00 Date: 04//201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report

More information

OWASP AppSec Research The OWASP Foundation New Insights into Clickjacking

OWASP AppSec Research The OWASP Foundation  New Insights into Clickjacking New Insights into Clickjacking Marco `embyte` Balduzzi iseclab @ EURECOM embyte@iseclab.org AppSec Research 2010 Joint work with Egele, Kirda, Balzarotti and Kruegel Copyright The Foundation Permission

More information

Content Security Policy

Content Security Policy About Tim Content Security Policy New Tools for Fighting XSS Pentester > 10 years Web Applications Network Security Products Exploit Research Founded Blindspot Security in 2014 Pentesting Developer Training

More information

Polygraph: Automatically Generating Signatures for Polymorphic Worms

Polygraph: Automatically Generating Signatures for Polymorphic Worms Polygraph: Automatically Generating Signatures for Polymorphic Worms James Newsome Brad Karp Dawn Song Presented by: Jeffrey Kirby Overview Motivation Polygraph Signature Generation Algorithm Evaluation

More information

Detection of Malicious JavaScript Code in Web Pages

Detection of Malicious JavaScript Code in Web Pages Indian Journal of Science and Technology, Vol 10(19), DOI: 10.17485/ijst/2017/v10i19/114828, May 2017 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Detection of Malicious JavaScript Code in Web Pages

More information

Fighting Spam, Phishing and Malware With Recurrent Pattern Detection

Fighting Spam, Phishing and Malware With Recurrent Pattern Detection Fighting Spam, Phishing and Malware With Recurrent Pattern Detection White Paper September 2017 www.cyren.com 1 White Paper September 2017 Fighting Spam, Phishing and Malware With Recurrent Pattern Detection

More information

How is state managed in HTTP sessions. Web basics: HTTP cookies. Hidden fields (2) The principle. Disadvantage of this approach

How is state managed in HTTP sessions. Web basics: HTTP cookies. Hidden fields (2) The principle. Disadvantage of this approach Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh March 30, 2015 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the server sends

More information

ID: Sample Name: quzpecasrh Cookbook: default.jbs Time: 16:55:54 Date: 07/10/2017 Version:

ID: Sample Name: quzpecasrh Cookbook: default.jbs Time: 16:55:54 Date: 07/10/2017 Version: ID: 3393 Sample Name: quzpecasrh Cookbook: default.jbs Time: 1:55:54 Date: 0//201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence Classification

More information

CS 161 Computer Security

CS 161 Computer Security Paxson Spring 2017 CS 161 Computer Security Discussion 12 Week of April 24, 2017 Question 1 Detection strategies (20 min) Suppose you are responsible for detecting attacks on the UC Berkeley network, and

More information

J-FORCE: FORCED EXECUTION ON JAVASCRIPT

J-FORCE: FORCED EXECUTION ON JAVASCRIPT J-FORCE: FORCED EXECUTION ON JAVASCRIPT Kyungtae Kim 1, I Luk Kim 1, Chung-Hwan Kim 1, Yonghwi Kwon 1, Yunhui Zheng 2, Xiangyu Zhang 1, Dongyan Xu 1 1 Department of Computer Science, Purdue University

More information

Leveraging Transitive Relations for Crowdsourced Joins*

Leveraging Transitive Relations for Crowdsourced Joins* Leveraging Transitive Relations for Crowdsourced Joins* Jiannan Wang #, Guoliang Li #, Tim Kraska, Michael J. Franklin, Jianhua Feng # # Department of Computer Science, Tsinghua University, Brown University,

More information

A General Sign Bit Error Correction Scheme for Approximate Adders

A General Sign Bit Error Correction Scheme for Approximate Adders A General Sign Bit Error Correction Scheme for Approximate Adders Rui Zhou and Weikang Qian University of Michigan-Shanghai Jiao Tong University Joint Institute Shanghai Jiao Tong University, Shanghai,

More information

JSOD: JavaScript obfuscation detector

JSOD: JavaScript obfuscation detector SECURITY AND COMMUNICATION NETWORKS Security Comm. Networks 2015; 8:1092 1107 Published online 1 July 2014 in Wiley Online Library (wileyonlinelibrary.com)..1064 RESEARCH ARTICLE JSOD: JavaScript obfuscation

More information

ID: Sample Name: 5GeZNwROcB.bin Cookbook: default.jbs Time: 15:22:54 Date: 30/11/2017 Version:

ID: Sample Name: 5GeZNwROcB.bin Cookbook: default.jbs Time: 15:22:54 Date: 30/11/2017 Version: ID: 82 Sample Name: GeZNwROcB.bin Cookbook: default.jbs Time: 1:22:4 Date: 0/11/201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence

More information

Mechanisms for Database Intrusion Detection and Response. Michael Sintim - Koree SE 521 March 6, 2013.

Mechanisms for Database Intrusion Detection and Response. Michael Sintim - Koree SE 521 March 6, 2013. Mechanisms for Database Intrusion Detection and Response Michael Sintim - Koree SE 521 March 6, 2013. Article Title: Mechanisms for Database Intrusion Detection and Response Authors: Ashish Kamra, Elisa

More information

Application Layer Attacks. Application Layer Attacks. Application Layer. Application Layer. Internet Protocols. Application Layer.

Application Layer Attacks. Application Layer Attacks. Application Layer. Application Layer. Internet Protocols. Application Layer. Application Layer Attacks Application Layer Attacks Week 2 Part 2 Attacks Against Programs Application Layer Application Layer Attacks come in many forms and can target each of the 5 network protocol layers

More information

ID: Sample Name: dronefly.apk Cookbook: default.jbs Time: 10:24:54 Date: 07/06/2018 Version:

ID: Sample Name: dronefly.apk Cookbook: default.jbs Time: 10:24:54 Date: 07/06/2018 Version: ID: 001 Sample Name: dronefly.apk Cookbook: default.jbs Time: 10:24:4 Date: 0/0/201 Version: 22.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence

More information

Finding the Linchpins of the Dark Web: A Study on Topologically Dedicated Hosts on Malicious Web Infrastructures

Finding the Linchpins of the Dark Web: A Study on Topologically Dedicated Hosts on Malicious Web Infrastructures Finding the Linchpins of the Dark Web: A Study on Topologically Dedicated Hosts on Malicious Web Infrastructures Zhou Li, Indiana University Bloomington Sumayah Alrwais, Indiana University Bloomington

More information

Caffeine Monkey. Automated Collection, Detection and Analysis of Malicious JavaScript. Ben Feinstein, CISSP Daniel Peck SecureWorks, Inc.

Caffeine Monkey. Automated Collection, Detection and Analysis of Malicious JavaScript. Ben Feinstein, CISSP Daniel Peck SecureWorks, Inc. Caffeine Monkey Automated Collection, Detection and Analysis of Malicious JavaScript Ben Feinstein, CISSP Daniel Peck SecureWorks, Inc. Feinstein & Peck Black Hat USA 2007 1 Introductions Welcome to Black

More information

Detecting Drive-by-Download Attacks based on HTTP Context-Types Ryo Kiire, Shigeki Goto Waseda University

Detecting Drive-by-Download Attacks based on HTTP Context-Types Ryo Kiire, Shigeki Goto Waseda University Detecting Drive-by-Download Attacks based on HTTP Context-Types Ryo Kiire, Shigeki Goto Waseda University 1 Outline Background Related Work Purpose Method Experiment Results Conclusion & Future Work 2

More information

Security Analysis of Top Visited Arabic Web Sites

Security Analysis of Top Visited Arabic Web Sites Security Analysis of Top Visited Arabic Web Sites Abdulrahman Alarifi, Mansour Alsaleh Computer Research Institute, King Abdulaziz City for and Technology, Riyadh, KSA {aarifi, maalsaleh}@kacst.edu.sa

More information

Web basics: HTTP cookies

Web basics: HTTP cookies Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh February 11, 2016 1 / 27 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the

More information

Automatic Simplification of Obfuscated JavaScript Code: A Semantics-Based Approach

Automatic Simplification of Obfuscated JavaScript Code: A Semantics-Based Approach Automatic Simplification of Obfuscated JavaScript Code: A Semantics-Based Approach Gen Lu Saumya Debray Department of Computer Science The University of Arizona Tucson, AZ 85721, USA Email: {genlu, debray}@cs.arizona.edu

More information

Copyright 2014 NTT corp. All Rights Reserved.

Copyright 2014 NTT corp. All Rights Reserved. Credential Honeytoken for Tracking Web-based Attack Cycle Mitsuaki Akiyama (akiama.mitsuaki@lab.ntt.co.jp) NTT Secure Platform Laboratories / NTT-CERT Who I am Mitsuaki Akiyama Security Researcher (Ph.D)

More information

Is Browsing Safe? Web Browser Security. Subverting the Browser. Browser Security Model. XSS / Script Injection. 1. XSS / Script Injection

Is Browsing Safe? Web Browser Security. Subverting the Browser. Browser Security Model. XSS / Script Injection. 1. XSS / Script Injection Is Browsing Safe? Web Browser Security Charlie Reis Guest Lecture - CSE 490K - 5/24/2007 Send Spam Search Results Change Address? Install Malware Web Mail Movie Rentals 2 Browser Security Model Pages are

More information

Zozzle: Finding Malware on a Web Scale

Zozzle: Finding Malware on a Web Scale Zozzle: Finding Malware on a Web Scale Ben Livshits Microsoft Research Redmond, WA with Ben Zorn, Christian Seifert, Charlie Curtsinger Blacklisting Malware in Search Results 2 Drive-by Malware Detection

More information

PlatPal: Detecting Malicious Documents with Platform Diversity

PlatPal: Detecting Malicious Documents with Platform Diversity PlatPal: Detecting Malicious Documents with Platform Diversity Meng Xu and Taesoo Kim Georgia Institute of Technology 1 Malicious Documents On the Rise 2 3 4 Adobe Components Exploited Element parser JavaScript

More information

Web Page Classification using FP Growth Algorithm Akansha Garg,Computer Science Department Swami Vivekanad Subharti University,Meerut, India

Web Page Classification using FP Growth Algorithm Akansha Garg,Computer Science Department Swami Vivekanad Subharti University,Meerut, India Web Page Classification using FP Growth Algorithm Akansha Garg,Computer Science Department Swami Vivekanad Subharti University,Meerut, India Abstract - The primary goal of the web site is to provide the

More information

How to Identify Advanced Persistent, Targeted Malware Threats with Multidimensional Analysis

How to Identify Advanced Persistent, Targeted Malware Threats with Multidimensional Analysis White paper How to Identify Advanced Persistent, Targeted Malware Threats with Multidimensional Analysis AhnLab, Inc. Table of Contents Introduction... 1 Multidimensional Analysis... 1 Cloud-based Analysis...

More information

Coordinated Disclosure of Vulnerabilities in AVG Antivirus Free Android

Coordinated Disclosure of Vulnerabilities in AVG Antivirus Free Android Coordinated Disclosure of Vulnerabilities in AVG Antivirus Free Android 5.9.4.1 1 Executive summary Researchers of MRG Effitas tested the AVG AntiVirus Free Android application. During use, we came across

More information

Web basics: HTTP cookies

Web basics: HTTP cookies Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh November 20, 2017 1 / 32 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the

More information

Lecture Overview. IN5290 Ethical Hacking

Lecture Overview. IN5290 Ethical Hacking Lecture Overview IN5290 Ethical Hacking Lecture 6: Web hacking 2, Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), Session related attacks Universitetet i Oslo Laszlo Erdödi How to use Burp

More information

Lecture 6: Web hacking 2, Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), Session related attacks

Lecture 6: Web hacking 2, Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), Session related attacks IN5290 Ethical Hacking Lecture 6: Web hacking 2, Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), Session related attacks Universitetet i Oslo Laszlo Erdödi Lecture Overview How to use Burp

More information

Coordinated Disclosure of Vulnerabilities in McAfee Security Android

Coordinated Disclosure of Vulnerabilities in McAfee Security Android Coordinated Disclosure of Vulnerabilities in McAfee Security Android 4.8.0.370 1 Executive summary Researchers of MRG Effitas tested the McAfee Security Android application. During use, we came across

More information

ID: Sample Name: Unconfirmed crdownload Cookbook: default.jbs Time: 22:58:07 Date: 08/11/2017 Version:

ID: Sample Name: Unconfirmed crdownload Cookbook: default.jbs Time: 22:58:07 Date: 08/11/2017 Version: ID: 80 Sample Name: Unconfirmed.crdownload Cookbook: default.jbs Time: 22:8:0 Date: 08/11/201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection

More information

CNIT 129S: Securing Web Applications. Ch 12: Attacking Users: Cross-Site Scripting (XSS) Part 2

CNIT 129S: Securing Web Applications. Ch 12: Attacking Users: Cross-Site Scripting (XSS) Part 2 CNIT 129S: Securing Web Applications Ch 12: Attacking Users: Cross-Site Scripting (XSS) Part 2 Finding and Exploiting XSS Vunerabilities Basic Approach Inject this string into every parameter on every

More information

Unsupervised Clustering of Web Sessions to Detect Malicious and Non-malicious Website Users

Unsupervised Clustering of Web Sessions to Detect Malicious and Non-malicious Website Users Unsupervised Clustering of Web Sessions to Detect Malicious and Non-malicious Website Users ANT 2011 Dusan Stevanovic York University, Toronto, Canada September 19 th, 2011 Outline Denial-of-Service and

More information

MRG Effitas Online Banking Browser Security Assessment Project Q Q1 2014

MRG Effitas Online Banking Browser Security Assessment Project Q Q1 2014 MRG Effitas Online Banking Browser Security Assessment Project Q3 2013 - Q1 2014 1 Contents Introduction... 3 The Purpose of this Report... 3 Tests Employed... 3 Security Applications Tested... 4 Methodology

More information

Handling Web and Database Requests Using Fuzzy Rules for Anomaly Intrusion Detection

Handling Web and Database Requests Using Fuzzy Rules for Anomaly Intrusion Detection Journal of Computer Science 7 (2): 255-261, 2011 ISSN 1549-3636 2011 Science Publications Handling Web and Database Requests Using Fuzzy Rules for Anomaly Intrusion Detection Selvamani Kadirvelu and Kannan

More information

Prevention Of Cross-Site Scripting Attacks (XSS) On Web Applications In The Client Side

Prevention Of Cross-Site Scripting Attacks (XSS) On Web Applications In The Client Side www.ijcsi.org 650 Prevention Of Cross-Site Scripting Attacks (XSS) On Web Applications In The Client Side S.SHALINI 1, S.USHA 2 1 Department of Computer and Communication, Sri Sairam Engineering College,

More information

ID: Sample Name: vlaue.exe Cookbook: default.jbs Time: 18:54:49 Date: 26/01/2018 Version:

ID: Sample Name: vlaue.exe Cookbook: default.jbs Time: 18:54:49 Date: 26/01/2018 Version: ID: 44024 Sample Name: vlaue.exe Cookbook: default.jbs Time: 18:4:49 Date: 2/01/2018 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence

More information

Unknown Malicious Code Detection Based on Bayesian

Unknown Malicious Code Detection Based on Bayesian Available online at www.sciencedirect.com Procedia Engineering 15 (2011) 3836 3842 Advanced in Control Engineering and Information Science Unknown Malicious Code Detection Based on Bayesian Yingxu Lai

More information

ANALYSIS OF MODERN ATTACKS ON ANTIVIRUSES

ANALYSIS OF MODERN ATTACKS ON ANTIVIRUSES ANALYSIS OF MODERN ATTACKS ON ANTIVIRUSES 1 SILNOV DMITRY SERGEEVICH, 2 TARAKANOV OLEG VLADIMIROVICH Department of Information Systems and Technologies, National Research Nuclear University MEPhI (Moscow

More information

PhishEye: Live Monitoring of Sandboxed Phishing Kits. Xiao Han Nizar Kheir Davide Balzarotti

PhishEye: Live Monitoring of Sandboxed Phishing Kits. Xiao Han Nizar Kheir Davide Balzarotti PhishEye: Live Monitoring of Sandboxed Phishing Kits Xiao Han Nizar Kheir Davide Balzarotti Summary Motivation Sandboxed phishing kits Implementation Results [APWG Phishing Activity Trends Report 2 nd

More information

ID: Sample Name: test Cookbook: default.jbs Time: 09:46:13 Date: 21/05/2018 Version:

ID: Sample Name: test Cookbook: default.jbs Time: 09:46:13 Date: 21/05/2018 Version: ID: 042 Sample Name: test Cookbook: default.jbs Time: 09:4:1 Date: 21/0/201 Version: 22.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence Classification

More information

White Paper. New Gateway Anti-Malware Technology Sets the Bar for Web Threat Protection

White Paper. New Gateway Anti-Malware Technology Sets the Bar for Web Threat Protection White Paper New Gateway Anti-Malware Technology Sets the Bar for Web Threat Protection The latest version of the flagship McAfee Gateway Anti-Malware technology adapts to new threats and plans for future

More information

ID: Sample Name: MacKeeper.dmg Cookbook: default.jbs Time: 11:09:32 Date: 02/06/2018 Version:

ID: Sample Name: MacKeeper.dmg Cookbook: default.jbs Time: 11:09:32 Date: 02/06/2018 Version: ID: 22 Sample Name: MacKeeper.dmg Cookbook: default.jbs Time: 11:0:2 Date: 02/0/201 Version: 22.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence

More information

RKN 2015 Application Layer Short Summary

RKN 2015 Application Layer Short Summary RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,

More information

ID: Sample Name: faktury_pdf.rar Cookbook: default.jbs Time: 12:24:33 Date: 15/12/2017 Version:

ID: Sample Name: faktury_pdf.rar Cookbook: default.jbs Time: 12:24:33 Date: 15/12/2017 Version: ID: 4019 Sample Name: faktury_pdf.rar Cookbook: default.jbs Time: 12:24: Date: 1/12/201 Version: 20.0.0 Table of Contents Table of Contents Analysis Report Overview General Information Detection Confidence

More information

Detecting Mobile Malicious Webpages in Real Time

Detecting Mobile Malicious Webpages in Real Time Detecting Mobile Malicious Webpages in Real Time Chaitrali Amrutkar, Young Seuk Kim, and Patrick Traynor, Senior Member, IEEE 1 Abstract Mobile specific webpages differ significantly from their desktop

More information

Ranking Vulnerability for Web Application based on Severity Ratings Analysis

Ranking Vulnerability for Web Application based on Severity Ratings Analysis Ranking Vulnerability for Web Application based on Severity Ratings Analysis Nitish Kumar #1, Kumar Rajnish #2 Anil Kumar #3 1,2,3 Department of Computer Science & Engineering, Birla Institute of Technology,

More information

APatternRecognitionSystem for Malicious PDF Files Detection

APatternRecognitionSystem for Malicious PDF Files Detection APatternRecognitionSystem for Malicious PDF Files Detection Davide Maiorca, Giorgio Giacinto, and Igino Corona Department of Electrical and Electronic Engineering (DIEE), University of Cagliari, Piazza

More information

Polymorphic Blending Attacks. Slides by Jelena Mirkovic

Polymorphic Blending Attacks. Slides by Jelena Mirkovic Polymorphic Blending Attacks Slides by Jelena Mirkovic 1 Motivation! Polymorphism is used by malicious code to evade signature-based IDSs Anomaly-based IDSs detect polymorphic attacks because their byte

More information

Finding Vulnerabilities in Web Applications

Finding Vulnerabilities in Web Applications Finding Vulnerabilities in Web Applications Christopher Kruegel, Technical University Vienna Evolving Networks, Evolving Threats The past few years have witnessed a significant increase in the number of

More information

Detection of Malicious Scripting Code through Discriminant and Adversary-Aware API Analysis

Detection of Malicious Scripting Code through Discriminant and Adversary-Aware API Analysis Detection of Malicious Scripting Code through Discriminant and Adversary-Aware API Analysis Davide Maiorca 1, Paolo Russu 1, Igino Corona 1, Battista Biggio 1, and Giorgio Giacinto 1 Department of Electrical

More information

ID: Sample Name: tesseract-ocrsetup exe. Cookbook: default.jbs Time: 16:44:15 Date: 12/02/2018 Version:

ID: Sample Name: tesseract-ocrsetup exe. Cookbook: default.jbs Time: 16:44:15 Date: 12/02/2018 Version: ID: 46161 Sample Name: tesseract-ocrsetup-3.05.01.exe Cookbook: default.jbs Time: 16:44:15 Date: 12/02/2018 Version: 20.0.0 Table of Contents Analysis Report Overview General Information Detection Confidence

More information

TreeRegex: An Extension to Regular Expressions for Matching and Manipulating Tree-Structured Text (Technical Report)

TreeRegex: An Extension to Regular Expressions for Matching and Manipulating Tree-Structured Text (Technical Report) TreeRegex: An Extension to Regular Expressions for Matching and Manipulating Tree-Structured Text (Technical Report) Benjamin Mehne Electrical Engineering and Computer Sciences University of California

More information

CS 161 Computer Security

CS 161 Computer Security Raluca Ada Popa Spring 2018 CS 161 Computer Security Discussion 9 Week of March 19, 2018 Question 1 Warmup: SOP (15 min) The Same Origin Policy (SOP) helps browsers maintain a sandboxed model by preventing

More information

X-Secure: protecting users from big bad wolves

X-Secure: protecting users from big bad wolves Abertay University From the SelectedWorks of xavier bellekens Summer October, 2016 X-Secure: protecting users from big bad wolves xavier bellekens, Abertay University Available at: https://works.bepress.com/xavier-bellekens/9/

More information

Evading Network Anomaly Detection Sytems - Fogla,Lee. Divya Muthukumaran

Evading Network Anomaly Detection Sytems - Fogla,Lee. Divya Muthukumaran Evading Network Anomaly Detection Sytems - Fogla,Lee Divya Muthukumaran Intrusion detection Systems Signature Based IDS Monitor packets on the network Compare them against database of signatures/attributes

More information

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 3 Protecting Systems

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 3 Protecting Systems Security+ Guide to Network Security Fundamentals, Third Edition Chapter 3 Protecting Systems Objectives Explain how to harden operating systems List ways to prevent attacks through a Web browser Define

More information