Caffeine Monkey: Automated Collection, Detection and Analysis of Malicious JavaScript
|
|
|
- Rafe Fleming
- 10 years ago
- Views:
Transcription
1 Caffeine Monkey: Automated Collection, Detection and Analysis of Malicious JavaScript Ben Feinstein, CISSP Daniel Peck {bfeinstein, SecureWorks, Inc. Introduction In recent years, the web browser has likely become the single most ubiquitous computing application. Web browsers can be found everywhere, from being embedded in video game consoles and handheld devices to being installed on large servers supporting the enterprise. As with any widely deployed type of software, web browsers have become an increasingly popular target for attack. This trend will only continue. Today s browsers represent a complex application stack foisted atop the Operating System s (OS) stack. Putting aside the complexity of achieving robust, crossbrowser compatibility, web developers are essentially coding to the browser s stack, with the goal of portability across both browsers and OS platforms. The growth in popularity of Web 2.0 sites that leverage the most advanced capabilities of the browser stack has contributed to blurring the distinction between data and executable code. This is especially apparent when considering support for dynamically interpreted scripting, in particular JavaScript. Due to the nature of dynamic script interpretation in the browser, it is difficult for many widely adopted security technologies to mitigate the client-side browser attack vector. In our research, we examined the current state of JavaScript obfuscation and evasion techniques, approaches for collecting JavaScript samples from the wild, and methods for analyzing the collected scripts. We developed a suite of tools for collecting and indexing JavaScript, interpreting the scripting in a sandboxed environment, and performing functional analysis for manual, as well as automated detection mechanisms. At the outset, we believed that investigating new approaches was warranted. Current methods tend to fall into two large categories: fully automated client honeypot systems or manual human analysis. Client honeypot technology offers a powerful way to actively identify sites attempting to exploit the browser, and has reportedly been used to find a number of zero-day attacks. However there are significant drawbacks to typical, high-interaction client honeypots, as they tend to result in a lot of overhead. In general, a client honeypot requires heavy-weight processing in order to detect exploits and recreate the virtual machine after each completed test. These systems usually produce very good results, but may not be feasible for the independent researcher or small organization to deploy and maintain. Additional processing is still required to move beyond elementary behavioral analysis. For example, if a malicious JavaScript
2 sample only affects a particular version of Internet Explorer which is not being tested against, a previously unknown exploit could go undetected. On the other side of the spectrum is the manual analysis performed by human researchers. These tedious techniques include walking through each layer of obfuscation, wrapping the sample script in a <textarea> HTML tag, or replacing document.write() with alert(). Some of the more recently crafted malicious scripts are explicitly designed to bypass these manual analysis techniques. Using these techniques can be both labor intensive and dangerous. With the increasing number of browser attacks, analysts run the risk of being exploited themselves. While these methods still have a useful place in the analyst s toolbox, we felt that a hybrid approach might prove to be more valuable. Thus was born the Caffeine Monkey system. The core JavaScript engine, a safe JavaScript deobfuscator, logger and profiler, is based on extensions to the open source SpiderMonkey JavaScript implementation. The Monkey was hungry and needed to be fed, so we deployed an open source web crawling solution. A MySQL database served to organize the crawls, the retrieved documents, and our analysis results. The other assorted processing tasks were handled by a collection of custom Python, Perl, and shell scripting. The source code and documentation for the Caffeine Monkey system will be made available during Black Hat USA 2007 at All code will be released under an asyet-to-be-determined OSI approved open source license. This paper will explore the predominant obfuscation techniques and how Caffeine Monkey can find them, dissect them, and reveal their true functionality. We will also share our thoughts for future research in this area. JavaScript Obfuscation & Evasion Techniques To begin, we will examine some of the basic forms of obfuscation, going from the least effective, and most easily detected, to the most effective. While we are looking at these techniques in the context of the JavaScript language, in many case these same concepts are applicable to other scripting languages. Whitespace randomization is likely the simplest obfuscation technique to implement. Taking advantage of the fact that JavaScript ignores whitespace, an attacker can strategically scatter whitespace characters throughout their code. Without changing the semantics of the JavaScript, this technique will yield large changes in the script s on-thewire binary representation. It is trivial at runtime to determine the behavior of a script. However, many security technologies rely on content matching for detection and would be blinded by this obfuscation technique. Whitespace randomization is demonstrated by the following scripting: Feinstein & Peck 2 Black Hat USA 2007
3 ASCII: var i = foooo ; Hex: d f6f 6f6f 223b 0a ASCII: var i = foooo ; Hex: d f 6f6f 6f22 3b Figure 1 As you can see, the on-the-wire binary representation is significantly different but the semantics of the scripts are identical. Another basic evasion technique involves the addition of random comments and the manipulation of existing comments in scripting. Just like whitespace, comments are ignored by JavaScript. This is very similar to whitespace randomization, in that the actual code remains unchanged while the on-the-wire binary representation is dramatically altered. Manipulation of comments can also be effective in confusing an analyst. Just as in the case of whitespace randomization, runtime analysis of the script s behavior is straightforward. However, content matching would have difficulty determining the runtime behavior. Other, more sophisticated obfuscation techniques exist offering even better abilities of evasion. String obfuscation usually involves a custom decoder, anywhere from a simple XOR function to a more complex Caesar cipher or even more elaborate methods. Although this technique is normally not needed to bypass detection mechanisms, it can make analysis much more difficult for the researcher and help maintain the script s effectiveness over a longer period of time. This technique can also be as simple as splitting the string into multiple variables and concatenating them later in the script, perhaps using the document.write() method in combination with String.fromCharCode(). These strings can also be encoded using various hexadecimal and Unicode representations. The following example shows several ways in which the string we ve got a problem can be represented. we%27ve%20got%20a%20problem %77%65%27%76%65%20%67%6F%74%20%61%20%70%72%6F%62%6C%65%6D \x77\x65\x27\x76\x65\x20\x67\x6f + \x74\x20\x61\x20\x70\x72\x6f\x62\x6c\x65\x6d %u0077\u0065\x27%76%65%20\x67%6f%74\u0020%61%20%70%72%u006f%62\x6c%65\x 6D Figure 2 As you can see, there are many ways to represent this textual phrase, making purely signature based detection impractical due to the large number of different variations. With just the example string and the few encoding forms we ve mentioned there are more than 5 19 possible combinations! Feinstein & Peck 3 Black Hat USA 2007
4 Another obfuscation technique is variable name randomization and function pointer reassignment. A variable or function can be reassigned to another variable or function, potentially misleading analysts trying to decipher the code. This technique has also proved effective at bypassing a variety of security technologies. Short of keeping track of all the variable and function assignments at runtime, a security device would have no assurance that a function named unescape() is actually the function defined in by JavaScript specification as unescape(). With most security devices suffering from upper-bound requirements on space and time complexity this task becomes increasingly infeasible. For example: randomfunctionname = unescape; function2 = eval; var A1 = randomfunctionname( %61%6c%65%72%74%28%22%77%65%27%72%65%20%67%6f%74%2 0%61%20%70%72%6f%62%6c%65%6d%20%58%65%72%65%22%29 ); function2(a1); Figure 3 As shown above, detection is becoming more and more difficult. Integer obfuscation is yet another technique used for evasion. Suppose a certain memory address was needed by a script, but the presence of this memory location in the code could be flagged as suspicious by a variety of detection mechanisms. Using integer obfuscation we can generate the same number with simple mathematical functions. For instance, 0x could be expressed as 16,777,216 * 42, or any number of other ways. One of the most sophisticated obfuscation techniques is block randomization. This involves structurally changing a script s statements and code paths to be functionally identical but syntactically different. Typically a script s if/else block and while/for loops are restructured, however other constructs can also be altered. while, for, and do-while loops can be transformed in a number of ways: for (i = 0; i < 100; i++) { /* for loop */ } while (i < 100) { i++; /* while loop */ } do { i++; /* do..while loop */ } while (i < 100) Figure 4 Used alone, each of these techniques can be effective at obfuscating the true functionality of a script. Combined together, they clearly make the job of effective detection very difficult. Feinstein & Peck 4 Black Hat USA 2007
5 Along Came a Spider Of course, without evidence of these techniques being actively used in the wild our research would be purely theoretical. With this in mind we set out to crawl selected portions of the web, focusing on sites with a large amount of user created content. Intuitively, we thought that a crawl originating from would yield an interesting sample of JavaScript. Not wanting to reinvent the wheel, the open source Heritrix software package was employed. Heritrix is an Internet-scale web crawler developed by the Internet Archive for their own use. Setup was straight forward for those with experience using Java, and before we knew it we were collecting JavaScript from the wild. Heritrix is designed around the concepts of Profiles and Jobs. A Profile is used to define all aspects of web crawler configuration. A Job is based on a Profile and can override configuration options inherited from the Profile. A Job specifies the seed URIs which are the initial starting points of the web crawl. Jobs are queued for processing and will be picked up by an idle crawler thread. The overall state of a web crawl is maintained internally as a Frontier. Jobs can be paused and resumed by recovering the Job state from a previously saved Frontier. Heritrix supports custom workflows through the use of the Crawl Operator, Crawl Organization, and Crawl Job Recipient properties. Fine-grained control is given over search strategies (e.g. Deep, Broad ) and the rules used to select or reject URIs to pursue. Several policies for respecting site robots.txt files are configurable. Extensive configuration options to limit resource consumption are available. Before being able to run a Job using the default Profile we were forced to modify the values of the User-Agent and From HTTP headers to meet Heritrix s restrictive criteria. The User-Agent is required to follow a form like Mozilla/5.0 (compatible; heritrix/ PROJECT_URL_HERE) and the From header must contain a valid address. We created a new profile named Caffeine Monkey that was based on the default Profile but defined our particular values for the User-Agent and From headers. Being the good Internet citizens that we are, we configured our crawler to identify itself as belonging to SecureWorks Research. Using a single seed of we collected approximately 225,000 web documents over a continuous period of about three and a half days, with a total yield of 7.9 GB. Of these, 364 documents (4.5 MB) were of Content-Type application/xjavascript or text/javascript, comprising about 0.2% of the total. This comprised our sample. Pre-processing and Indexing Heritrix saves the content it collects in an archival file format referred to by its three character file extension, ARC. By default each archive file grows to about 100MB and can contain thousands of spidered documents. We needed a way to efficiently pull the Feinstein & Peck 5 Black Hat USA 2007
6 JavaScript documents out of the archive files in order to subsequently analyze them using the Caffeine Monkey engine. Fortunately an individual at the University of Michigan had already written a rough collection of Perl scripts for working with Heritrix archive files. One of these scripts was designed to index a collection of archive files into a MySQL database containing a single table. We extended the rudimentary database schema to encompass two new tables: the first representing the Heritrix Jobs that collect the archives, and the second for storing the results from analyzing the JavaScript samples. The existing Perl scripting was modified, adding support for the concept of Heritrix Jobs and the new job database table, as well fixing several bugs. The relevant details of each URI that was retrieved were stored in the database. These included: URI Heritrix Job the URI was retrieved as a part of MIME Content-Type 3-digit HTTP response code received from the server providing the URI ARC file containing the retrieved document Index into the ARC file of the start of the retrieved document Content-Length, used along with the file index to extract the retrieved document Timestamp Analysis and Reporting With all the archive files from our MySpace crawl indexed in our database, it was relatively straight forward to retrieve all the JavaScript documents for analysis. Several Python classes were created to automate the process of analyzing the collected scripts. Each JavaScript sample was run through the Caffeine Monkey engine and its runtime log was analyzed. Statistics on runtime execution were generated from the log and stored in the database. The Caffeine Monkey engine hooks a number of interesting functions. For each script run through the engine, function call statistics were captured. At the time of this writing, we had not identified any malicious JavaScripts among the 364 samples collected through our MySpace web crawl. In order to get samples of known malicious scripts we sent requests to several other security researchers. In all, we received four good samples which we labeled Monkey Chow #1 through #4. Feinstein & Peck 6 Black Hat USA 2007
7 Function Call Analysis of "Bad" Scripts object_instance element_instance escape eval string_instance/50 document_write Chow #1 Chow #2 Chow #3 Chow #4 Note that the numbers for string instantiations are scaled by a factor of 1 / 50 in order to yield better chart scaling. There are orders of magnitude more string instantiations than the other categories because string concatenation is a popular operator, and because string concatenation creates three new string instances for each use of the + operator. What is important to look at is not the absolute number of times each function is called, but rather the ratios of the function call counts to one another. For three out of the four samples above, the ratios between the count of object instantiations, element instantiations, calls to eval(), and string instantiations are strikingly similar. Future research might involve analyzing larger samples of malicious JavaScript to see if these trends hold. Based on the results of our MySpace web crawl, we grouped the collected JavaScript URIs by their domain name fragment. We then sorted the domain names by the number of JavaScript documents retrieved from each. Myspace.com was the top domain by the number of JavaScript documents collected, yielding a sample size of twenty-seven. Grouping the domains by the top six counts of JavaScript documents yielded nine domains because of ties. hillaryclinton.com rounded out the top nine, with five JavaScripts collected from the domain. For each of the top domains we generated aggregate statistics and charted the results is the same fashion as our Monkey Chow samples. Feinstein & Peck 7 Black Hat USA 2007
8 Function Call Analysis of Top JS Sites object_instance element_instance escape eval string_instance/50 document_write myspace.com fastclick.net evite.com muchmusic.com photofile.ru youtube.com frightcatalog.com store.yahoo.net hillaryclinton.com Again, the absolute magnitudes of the function call counts are not as important as the ratios between them. There does appear to be similar ratios of function calls across the nine domains sampled. At this point we charted our monkey chow samples against our analysis of the top JavaScript domains from our MySpace crawl. Feinstein & Peck 8 Black Hat USA 2007
9 Function Call Analysis (Combined) object_instance element_instance escape eval string_instance/50 document_write Chow #1 (8x) Chow #2 (8x) Chow #3 (8x) Chow #4 (8x) myspace.com fastclick.net evite.com muchmusic.com photofile.ru youtube.com frightcatalog.com store.yahoo.net hillaryclinton.com There are clear differences between the malicious JavaScript samples and the benign JavaScripts collected during the MySpace crawl. The monkey chow statistics were scaled by a factor of 8. We anticipated a difference in the scales of the function call counts between the malicious samples and the benign samples. The four malicious samples were short script fragments; however, the benign samples tended to be large featurerich scripts. Larger scripts will tend to have higher function call counts simply because they have more lines of code. It appears that benign scripts make significantly more use of the document.write() method while malicious scripts make relatively more use of string instantiation. Our small sample of malicious scripting also instantiates relatively more objects than our samples of benign JavaScript. Malicious scripts tended to programmatically create DOM elements more frequently than the benign scripts. Use of the eval() function is also relatively more common in the benign scripts than in our sample of malicious scripts. Caffeine Monkey at Work In order to illustrate the utility of the Caffeine Monkey engine, we will now analyze a sample of obfuscated JavaScript found in the wild. This sample of JavaScript isn t truly destructive, but offers a useful overview of the time consuming, error prone, and potentially dangerous process of manual human analysis. Feinstein & Peck 9 Black Hat USA 2007
10 function ^O1N{W#XtKq4F&xV+jbRAi9g';}var R;var TB='';for(var e=0;e<mk.length;e+=arguments.callee.tostring().replace(/\s/g,'').length- 535){R=(G.indexOf(mK.charAt(e))&255)<<18 (G.indexOf(mK.charAt(e+1))&255) <<12 (G.indexOf(mK.charAt(e+2))&255)<<(arguments.callee.toString().repla ce(/\s/g,'').length- 533) G.indexOf(mK.charAt(e+3))&255;TB+=String.fromCharCode((R& )> >16,(R&65280)>>8,R&255);}eval(TB.substring(0,TB.length- (arguments.callee.tostring().replace(/\s/g,'').length- 537)));}I('friHMU&E6- uxpq:cafnyuosqb;),b;),b;),bm),b;'); Figure 4 Such a script can appear more than a little intimidating at first glance. Considerable manual analysis of this sample would be required to determine the scripts functionality. Function I() is defined as taking two arguments, mk and G. I() performs lots of bitshifting and substitution before assigning the result of a call to String.fromCharCode() to the variable TB. The whole mess is then passed to the eval() function. The details of how this was accomplished are left as an exercise for the reader, but it all boils down to a single function call. eval( document.write('<script LANGUAGE="Javascript" SRC=" '); ); Figure 5 Requesting this URI returns an even uglier piece of obfuscated JavaScript. The gory details of decoding this sample are outside the scope of this document, but clearly it would present a challenge to either a novice analyst or a time conscious veteran. Automating the deobfuscation process allows human analysts to examine the evasion techniques being used by attackers, but also yields some additional wisdom that could be leveraged in a heuristics based detection system. Low-interaction client honeypots could use the Caffeine Monkey engine to rapidly analyze large collections of JavaScript. Using the GNU tool chain s philosophy, the engine can easily be tied together with other utilities to automate the analyst s workflow. Caffeine Monkey JavaScript Engine We began developing the Caffeine Monkey engine using the code base of the Mozilla SpiderMonkey (JavaScript-C) Engine, an embeddable open source JavaScript engine Feinstein & Peck 10 Black Hat USA 2007
11 implemented in the C language. The initial code base offered a rudimentary interpreter and had an architecture allowing for easy extensibility. We internally hooked the functions we thought most likely to be used in obfuscation and added runtime logging output. Runtime logging allowed us to observe the flow of execution without getting into interactive script debugging. One of the first methods we wrapped and logged was eval(). By hooking into the execution path at the interpreter level, obfuscation is completely avoided as we log the actual string passed to eval() and where in the script s execution the call is made. We hooked the string concatenation method, allowing not only a final view of the string, but also creating a record of the order and timing of when string concatenations occurred during execution. This feature is potentially useful for script fingerprinting, as particular obfuscation tools tend to use a similar method to obfuscate the strings each time that are run. After instrumenting only these two basic functions we were able to produce a very informative log. The log served to reduce the obfuscation example above down to a handful of log lines that are easily readable by both human and machine. For the sake of disclosure, the example above sets a known spyware cookie in the browser and redirect the browser to a niche online dating site. A full implementation of Document Object Model (DOM) logging is in development at the time of this writing, as the original SpiderMonkey code base only provided the basic JavaScript methods and objects. A more in depth discussion of the Caffeine Monkey engine s functionality is outside the scope of this paper. Documentation will be made available along with the source code to our tools. The example above makes it clear that an automated analysis tool working at the interpreter level offers the potential to increase efficiency when analyzing scripts using common obfuscation and evasion techniques. Directions for Future Research There are many areas for improvements and extensions to these tools. The core engine could be leveraged in an application proxy setting, removing or flagging potentially dangerous JavaScript. With further optimization, Caffeine Monkey and its analytical results could be used within Network Intrusion Detection or Prevention Systems. The tool can also be simply used as a command-line utility by attackers testing their obfuscation schemes or by security analysts working to reverse the efforts of the attackers. Feinstein & Peck 11 Black Hat USA 2007
12 References Mozilla SpiderMonkey (JavaScript-C) Engine Seifert, C., Welch, I. and Komisarczuk, P., Taxonomy of Honeypots, Victoria University of Wellington, Wellington, Heritrix web crawler Baker, N., Archiving Websites, HOWTO, University of Michigan, School of Information, February Japanese language site apparently discussing malicious JavaScript samples The Strider HoneyMonkey Project MITRE Honeyclient Project Wang, K., Using Honeyclients to Detect New Attacks, ToorCon HoneyC The Low-Interaction Client Honeypot / Honeyclient Caswell, B. and HD Moore, Thermoptic Camouflage Total IDS Evasion, Black Hat USA ECMAScript Specification (ECMA-262) Month of Browser Bugs evade O Matic Module for Metasploit Feinstein & Peck 12 Black Hat USA 2007
Sandy. The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis. Garage4Hackers
Sandy The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis About Me! I work as a Researcher for a Global Threat Research firm.! Spoke at the few security
CS 558 Internet Systems and Technologies
CS 558 Internet Systems and Technologies Dimitris Deyannis [email protected] 881 Heat seeking Honeypots: Design and Experience Abstract Compromised Web servers are used to perform many malicious activities.
Automatic Detection for JavaScript Obfuscation Attacks in Web Pages through String Pattern Analysis
International Journal of Security and Its s Applications Automatic Detection for JavaScript Obfuscation Attacks in Web Pages through String Pattern Analysis YoungHan Choi, TaeGhyoon Kim, SeokJin Choi The
LASTLINE WHITEPAPER. Why Anti-Virus Solutions Based on Static Signatures Are Easy to Evade
LASTLINE WHITEPAPER Why Anti-Virus Solutions Based on Static Signatures Are Easy to Evade Abstract Malicious code is an increasingly important problem that threatens the security of computer systems. The
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
RIA SECURITY TECHNOLOGY
RIA SECURITY TECHNOLOGY Ulysses Wang Security Researcher, Websense Hermes Li Security Researcher, Websense 2009 Websense, Inc. All rights reserved. Agenda RIA Introduction Flash Security Attack Vectors
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
Detecting client-side e-banking fraud using a heuristic model
Detecting client-side e-banking fraud using a heuristic model Tim Timmermans [email protected] Jurgen Kloosterman [email protected] University of Amsterdam July 4, 2013 Tim Timmermans, Jurgen
3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management
What is an? s Ten Most Critical Web Application Security Vulnerabilities Anthony LAI, CISSP, CISA Chapter Leader (Hong Kong) [email protected] Open Web Application Security Project http://www.owasp.org
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.
CENTER FOR ADVANCED SECURITY TRAINING 619 Advanced SQLi Attacks and Countermeasures Make The Difference About Center of Advanced Security Training () The rapidly evolving information security landscape
CORPORATE AV / EPP COMPARATIVE ANALYSIS
CORPORATE AV / EPP COMPARATIVE ANALYSIS Exploit Evasion Defenses 2013 Randy Abrams, Dipti Ghimire, Joshua Smith Tested Vendors AVG, ESET, F- Secure, Kaspersky, McAfee, Microsoft, Norman, Panda, Sophos,
Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek ([email protected])
Bug Report Date: March 19, 2011 Reporter: Chris Jarabek ([email protected]) Software: Kimai Version: 0.9.1.1205 Website: http://www.kimai.org Description: Kimai is a web based time-tracking application.
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
LASTLINE WHITEPAPER. Large-Scale Detection of Malicious Web Pages
LASTLINE WHITEPAPER Large-Scale Detection of Malicious Web Pages Abstract Malicious web pages that host drive-by-download exploits have become a popular means for compromising hosts on the Internet and,
Security Assessment of Waratek AppSecurity for Java. Executive Summary
Security Assessment of Waratek AppSecurity for Java Executive Summary ExecutiveSummary Security Assessment of Waratek AppSecurity for Java! Introduction! Between September and November 2014 BCC Risk Advisory
Playing with Web Application Firewalls
Playing with Web Application Firewalls DEFCON 16, August 8-10, 2008, Las Vegas, NV, USA Who is Wendel Guglielmetti Henrique? Penetration Test analyst at SecurityLabs - Intruders Tiger Team Security division
Secure Authentication and Session. State Management for Web Services
Lehman 0 Secure Authentication and Session State Management for Web Services Clay Lehman CSC 499: Honors Thesis Supervised by: Dr. R. Michael Young Lehman 1 1. Introduction Web services are a relatively
7 Why Use Perl for CGI?
7 Why Use Perl for CGI? Perl is the de facto standard for CGI programming for a number of reasons, but perhaps the most important are: Socket Support: Perl makes it easy to create programs that interface
Project 2: Web Security Pitfalls
EECS 388 September 19, 2014 Intro to Computer Security Project 2: Web Security Pitfalls Project 2: Web Security Pitfalls This project is due on Thursday, October 9 at 6 p.m. and counts for 8% of your course
PhoneyC: A Virtual Client Honeypot
PhoneyC: A Virtual Client Honeypot Jose Nazario [email protected] April 1, 2009 Abstract The number of client-side attacks has grown significantly in the past few years, shifting focus away from defendable
A White Paper from AccessData Group. Cerberus. Malware Triage and Analysis
A White Paper from AccessData Group Cerberus Malware Triage and Analysis What is Cerberus? Cerberus is the first-ever automated reverse engineering tool designed to show a security analyst precisely what
MITRE Baseline Configuration System Implementation Plan
MITRE Baseline Configuration System Implementation Plan FINAL REVISION, October 8, 2008 Purdue University, CS 307, Fall 2008 Team MITRE: Catherine Brown Michael Dunn Mark Nowicki David Tittle TABLE OF
Check list for web developers
Check list for web developers Requirement Yes No Remarks 1. Input Validation 1.1) Have you done input validation for all the user inputs using white listing and/or sanitization? 1.2) Does the input validation
Risks with web programming technologies. Steve Branigan Lucent Technologies
Risks with web programming technologies Steve Branigan Lucent Technologies Risks with web programming technologies Abstract Java applets and their kind are bringing new life to the World Wide Web. Through
Web Application Attacks And WAF Evasion
Web Application Attacks And WAF Evasion Ahmed ALaa (EG-CERT) 19 March 2013 What Are We Going To Talk About? - introduction to web attacks - OWASP organization - OWASP frameworks - Crawling & info. gathering
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
Taxonomy of Hybrid Honeypots
2011 International Conference on Network and Electronics Engineering IPCSIT vol.11 (2011) (2011) IACSIT Press, Singapore Taxonomy of Hybrid Honeypots Hamid Mohammadzadeh.e.n 1, Masood Mansoori 2 and Roza
Analyzing HTTP/HTTPS Traffic Logs
Advanced Threat Protection Automatic Traffic Log Analysis APTs, advanced malware and zero-day attacks are designed to evade conventional perimeter security defenses. Today, there is wide agreement that
Cross-Site Scripting
Cross-Site Scripting (XSS) Computer and Network Security Seminar Fabrice Bodmer ([email protected]) UNIFR - Winter Semester 2006-2007 XSS: Table of contents What is Cross-Site Scripting (XSS)? Some
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence 2. Web Servers Introduction Web content lives on Web servers Web servers speak the platform independent HyperText Transfer Protocol (HTTP) (so
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK John T Lounsbury Vice President Professional Services, Asia Pacific INTEGRALIS Session ID: MBS-W01 Session Classification: Advanced
Testing Web Applications for SQL Injection Sam Shober [email protected]
Testing Web Applications for SQL Injection Sam Shober [email protected] Abstract: This paper discusses the SQL injection vulnerability, its impact on web applications, methods for pre-deployment and
Banking Security using Honeypot
Banking Security using Honeypot Sandeep Chaware D.J.Sanghvi College of Engineering, Mumbai [email protected] Abstract New threats are constantly emerging to the security of organization s information
PHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery
PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code
The Pentester s Guide to Akamai
An NCC Group Publication The Pentester s Guide to Akamai Prepared by: Darren McDonald 8 th March 2013 Contents 1 Introduction... 3 2 Caveats... 3 3 Basic Akamai Setup... 4 4 Bypassing Akamai by Attacking
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Bypassing Web Application Firewalls (WAFs) Ing. Pavol Lupták, CISSP, CEH Lead Security Consultant
Bypassing Web Application Firewalls (WAFs) Ing. Pavol Lupták, CISSP, CEH Lead Security Consultant Nethemba All About Security Highly experienced certified IT security experts (CISSP, C EH, SCSecA) Core
Communicating access and usage policies to crawlers using extensions to the Robots Exclusion Protocol Part 1: Extension of robots.
Communicating access and usage policies to crawlers using extensions to the Robots Exclusion Protocol Part 1: Extension of robots.txt file format A component of the ACAP Technical Framework Implementation
Android Developer Fundamental 1
Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility
Client vs. Server Implementations of Mitigating XSS Security Threats on Web Applications
Journal of Basic and Applied Engineering Research pp. 50-54 Krishi Sanskriti Publications http://www.krishisanskriti.org/jbaer.html Client vs. Server Implementations of Mitigating XSS Security Threats
Lecture 11 Web Application Security (part 1)
Lecture 11 Web Application Security (part 1) Computer and Network Security 4th of January 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 11, Web Application Security (part 1)
The New PCI Requirement: Application Firewall vs. Code Review
The New PCI Requirement: Application Firewall vs. Code Review The Imperva SecureSphere Web Application Firewall meets the new PCI requirement for an application layer firewall. With the highest security
HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology
HTTP Internet Engineering Fall 2015 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Questions Q1) How do web server and client browser talk to each other? Q1.1) What is the common
Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON
Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, [email protected] Writing a custom web
Protecting Web Applications and Users
Protecting Web Applications and Users Technical guidance for improving web application security through implementing web browser based mitigations. Defence Signals Directorate February 2012 Contents 1
White Paper. No Signature Required: The Power of Emulation in Preventing Malware
No Signature Required: The Power of Emulation in Preventing Malware Table of Contents Emerging Threats Require a New Approach to Protection....3 Real-Time Behavior Emulation of Web Content...3 Use Case
AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence
AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence Corey Benninger The AJAX Storage Dilemna AJAX (Asynchronous JavaScript and XML) applications are constantly looking for ways to increase
Internet Explorer turns your personal computer into a publicfile Server
Internet Explorer turns your personal computer into a publicfile Server Black Hat DC 2010 Jorge Luis Alvarez Medina 1 Jorge Luis Alvarez Medina CORE Security Technologies February 2010 Outline Attack results
How to hack a website with Metasploit
How to hack a website with Metasploit By Sumedt Jitpukdebodin Normally, Penetration Tester or a Hacker use Metasploit to exploit vulnerability services in the target server or to create a payload to make
SAS Data Set Encryption Options
Technical Paper SAS Data Set Encryption Options SAS product interaction with encrypted data storage Table of Contents Introduction: What Is Encryption?... 1 Test Configuration... 1 Data... 1 Code... 2
Automating Linux Malware Analysis Using Limon Sandbox Monnappa K A [email protected]
Automating Linux Malware Analysis Using Limon Sandbox Monnappa K A [email protected] A number of devices are running Linux due to its flexibility and open source nature. This has made Linux platform
Shellshock. Oz Elisyan & Maxim Zavodchik
Shellshock By Oz Elisyan & Maxim Zavodchik INTRODUCTION Once a high profile vulnerability is released to the public, there will be a lot of people who will use the opportunity to take advantage on vulnerable
DRIVE-BY DOWNLOAD WHAT IS DRIVE-BY DOWNLOAD? A Typical Attack Scenario
DRIVE-BY DOWNLOAD WHAT IS DRIVE-BY DOWNLOAD? Drive-by Downloads are a common technique used by attackers to silently install malware on a victim s computer. Once a target website has been weaponized with
Intrusion Detection Systems
Intrusion Detection Systems Assessment of the operation and usefulness of informatics tools for the detection of on-going computer attacks André Matos Luís Machado Work Topics 1. Definition 2. Characteristics
Email Electronic Mail
Email Electronic Mail Electronic mail paradigm Most heavily used application on any network Electronic version of paper-based office memo Quick, low-overhead written communication Dates back to time-sharing
The evolution of virtual endpoint security. Comparing vsentry with traditional endpoint virtualization security solutions
The evolution of virtual endpoint security Comparing vsentry with traditional endpoint virtualization security solutions Executive Summary First generation endpoint virtualization based security solutions
(WAPT) Web Application Penetration Testing
(WAPT) Web Application Penetration Testing Module 0: Introduction 1. Introduction to the course. 2. How to get most out of the course 3. Resources you will need for the course 4. What is WAPT? Module 1:
Acunetix Website Audit. 5 November, 2014. Developer Report. Generated by Acunetix WVS Reporter (v8.0 Build 20120808)
Acunetix Website Audit 5 November, 2014 Developer Report Generated by Acunetix WVS Reporter (v8.0 Build 20120808) Scan of http://filesbi.go.id:80/ Scan details Scan information Starttime 05/11/2014 14:44:06
Chapter 1 Web Application (In)security 1
Introduction xxiii Chapter 1 Web Application (In)security 1 The Evolution of Web Applications 2 Common Web Application Functions 4 Benefits of Web Applications 5 Web Application Security 6 "This Site Is
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
JAVASCRIPT AND COOKIES
JAVASCRIPT AND COOKIES http://www.tutorialspoint.com/javascript/javascript_cookies.htm Copyright tutorialspoint.com What are Cookies? Web Browsers and Servers use HTTP protocol to communicate and HTTP
10CS73:Web Programming
10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server
Michael Seltzer COMP 116: Security Final Paper. Client Side Encryption in the Web Browser Mentor: Ming Chow
Michael Seltzer COMP 116: Security Final Paper Client Side Encryption in the Web Browser Mentor: Ming Chow 1 Abstract Web service providers generally look to encryption as a means of ensuring data privacy
<Insert Picture Here> Oracle Web Cache 11g Overview
Oracle Web Cache 11g Overview Oracle Web Cache Oracle Web Cache is a secure reverse proxy cache and a compression engine deployed between Browser and HTTP server Browser and Content
Introduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
EVILSEED: A Guided Approach to Finding Malicious Web Pages
+ EVILSEED: A Guided Approach to Finding Malicious Web Pages Presented by: Alaa Hassan Supervised by: Dr. Tom Chothia + Outline Introduction Introducing EVILSEED. EVILSEED Architecture. Effectiveness of
EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke
EVALUATING COMMERCIAL WEB APPLICATION SECURITY By Aaron Parke Outline Project background What and why? Targeted sites Testing process Burp s findings Technical talk My findings and thoughts Questions Project
Practical Exploitation Using A Malicious Service Set Identifier (SSID)
Practical Exploitation Using A Malicious Service Set Identifier (SSID) Deral Heiland Senior Security Engineer CDW Advanced Technology Services Mike Belton Technical Lead CDW Advanced Technology Services
Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert [email protected]
Application Security Testing Erez Metula (CISSP), Founder Application Security Expert [email protected] Agenda The most common security vulnerabilities you should test for Understanding the problems
VISA SECURITY ALERT December 2015 KUHOOK POINT OF SALE MALWARE. Summary. Distribution and Installation
VISA SECURITY ALERT December 2015 KUHOOK POINT OF SALE MALWARE Distribution: Merchants, Acquirers Who should read this: Information security, incident response, cyber intelligence staff Summary Kuhook
Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH [email protected] January 17, 2014 2014 Mega Conference
Cracking the Perimeter via Web Application Hacking Zach Grace, CISSP, CEH [email protected] January 17, 2014 2014 Mega Conference About 403 Labs 403 Labs is a full-service information security and compliance
Application Layer Encryption: Protecting against Application Logic and Session Theft Attacks. Whitepaper
Application Layer Encryption: Protecting against Application Logic and Session Theft Attacks Whitepaper The security industry has extensively focused on protecting against malicious injection attacks like
Barracuda Web Application Firewall vs. Intrusion Prevention Systems (IPS) Whitepaper
Barracuda Web Application Firewall vs. Intrusion Prevention Systems (IPS) Whitepaper Securing Web Applications As hackers moved from attacking the network to attacking the deployed applications, a category
Recommended Practice Case Study: Cross-Site Scripting. February 2007
Recommended Practice Case Study: Cross-Site Scripting February 2007 iii ACKNOWLEDGEMENT This document was developed for the U.S. Department of Homeland Security to provide guidance for control system cyber
INTRUSION DECEPTION CZYLI BAW SIĘ W CIUCIUBABKĘ Z NAMI
INTRUSION DECEPTION CZYLI BAW SIĘ W CIUCIUBABKĘ Z NAMI Na przykładzie Junos WebApp Secure Edmund Asare INCONVENIENT STATISTICS 70% of ALL threats are at the Web application layer. Gartner 73% of organizations
Certified Secure Web Application Secure Development Checklist
www.certifiedsecure.com [email protected] Tel.: +31 (0)70 310 13 40 Loire 128-A 2491 AJ The Hague The Netherlands About Certified Secure Checklist Certified Secure exists to encourage and fulfill
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
Jonathan Worthington Scarborough Linux User Group
Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.
Phishing by data URI
Phishing by data URI Henning Klevjer [email protected] October 22, 2012 1 Abstract Historically, phishing web pages have been hosted by web servers that are either compromised or owned by the attacker.
Divide and Conquer Real World Distributed Port Scanning
Divide and Conquer Real World Distributed Port Scanning Ofer Maor CTO Hacktics 16 Feb 2006 Hackers & Threats I, 3:25PM (HT1-302) Introduction Divide and Conquer: Real World Distributed Port Scanning reviews
Internationalization and Web Services
Internationalization and Web Services 25 th Internationalization and Unicode Conference Presented by Addison P. Phillips Director, Globalization Architecture webmethods, Inc. 25 th Internationalization
Index. AdWords, 182 AJAX Cart, 129 Attribution, 174
Index A AdWords, 182 AJAX Cart, 129 Attribution, 174 B BigQuery, Big Data Analysis create reports, 238 GA-BigQuery integration, 238 GA data, 241 hierarchy structure, 238 query language (see also Data selection,
Web Application Hacking (Penetration Testing) 5-day Hands-On Course
Web Application Hacking (Penetration Testing) 5-day Hands-On Course Web Application Hacking (Penetration Testing) 5-day Hands-On Course Course Description Our web sites are under attack on a daily basis
The Power of Obfuscation Techniques in Malicious JavaScript Code: A Measurement Study
The Power of Obfuscation Techniques in Malicious JavaScript Code: A Measurement Study Wei Xu, Fangfang Zhang and Sencun Zhu Department of Computer Science and Engineering The Pennsylvania State University,
StriderCD Book. Release 1.4. Niall O Higgins
StriderCD Book Release 1.4 Niall O Higgins August 22, 2015 Contents 1 Introduction 3 1.1 What Is Strider.............................................. 3 1.2 What Is Continuous Integration.....................................
A Tale of the Weaknesses of Current Client-Side XSS Filtering
Call To Arms: A Tale of the Weaknesses of Current Client-Side XSS Filtering Martin Johns, Ben Stock, Sebastian Lekies About us Martin Johns, Ben Stock, Sebastian Lekies Security Researchers at SAP, Uni
The Advantages of Block-Based Protocol Analysis for Security Testing
The Advantages of Block-Based Protocol Analysis for Security Testing Dave Aitel Immunity,Inc. 111 E. 7 th St. Suite 64, NY NY 10009, USA [email protected] February, 4 2002 Abstract. This paper describes
Advancements in Botnet Attacks and Malware Distribution
Advancements in Botnet Attacks and Malware Distribution HOPE Conference, New York, July 2012 Aditya K Sood Rohit Bansal Richard J Enbody SecNiche Security Department of Computer Science and Engineering
Cyber Security Challenge Australia 2014
Cyber Security Challenge Australia 2014 www.cyberchallenge.com.au CySCA2014 Web Penetration Testing Writeup Background: Pentest the web server that is hosted in the environment at www.fortcerts.cysca Web
The Prevalence of Flash Vulnerabilities on the Web
TECHNICAL BRIEF FLASH FLOODING The Prevalence of Flash Vulnerabilities on the Web Adobe Flash Player is a cross-platform, browser plugin that provides uncompromised viewing of expressive applications,
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)
1 cse879-03 2010-03-29 17:23 Kyung-Goo Doh Chapter 3. Web Application Technologies reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1. The HTTP Protocol. HTTP = HyperText
Cyber Security Workshop Ethical Web Hacking
Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp
