Improving Application Security with Data Flow Assertions

Total Page:16

File Type:pdf, Size:1020Kb

Improving Application Security with Data Flow Assertions Improving Application Security with Data Flow Assertions Alexander Yip, Xi Wang, Nickolai Zeldovich, and M. Frans Kaashoek Massachusetts Institute of Technology – Computer Science and Artificial Intelligence Laboratory ABSTRACT miss some, which can lead to exploits. For example, one popular Web application, phpMyAdmin [38], requires sanitizing user input RESIN is a new language runtime that helps prevent security vulner- abilities, by allowing programmers to specify application-level data in 1,409 places. Not surprisingly, phpMyAdmin has suffered 60 vulnerabilities because some of these calls were forgotten [41]. flow assertions. RESIN provides policy objects, which programmers use to specify assertion code and metadata; data tracking, which This paper presents RESIN, a system that allows programmers allows programmers to associate assertions with application data, to make their plan for correct data flow explicit using data flow and to keep track of assertions as the data flow through the appli- assertions. Programmers can write a data flow assertion in one cation; and filter objects, which programmers use to define data place to capture the application’s high-level data flow invariant, and RESIN checks the assertion in all relevant places, even places where flow boundaries at which assertions are checked. RESIN’s runtime checks data flow assertions by propagating policy objects along with the programmer might have otherwise forgotten to check. data, as that data moves through the application, and then invoking RESIN operates within a language runtime, such as the Python or filter objects when data crosses a data flow boundary, such as when PHP interpreter. RESIN tracks application data as it flows through writing data to the network or a file. the application, and checks data flow assertions on every executed path. RESIN uses runtime mechanisms because they can capture Using RESIN, Web application programmers can prevent a range of problems, from SQL injection and cross-site scripting, to inadver- dynamic properties, like user-defined access control lists, while tent password disclosure and missing access control checks. Adding integration with the language allows programmers to reuse the ap- plication’s existing code in an assertion. RESIN is designed to help a RESIN assertion to an application requires few changes to the existing application code, and an assertion can reuse existing code programmers gain confidence in the correctness of their application, and data structures. For instance, 23 lines of code detect and prevent and is not designed to handle malicious code. three previously-unknown missing access control vulnerabilities in A key challenge facing RESIN is knowing when to verify a data phpBB, a popular Web forum application. Other assertions compris- flow assertion. Consider the assertion that a user’s password can ing tens of lines of code prevent a range of vulnerabilities in Python flow only to the user herself. There are many different ways that an adversary might violate this assertion, and extract someone’s and PHP applications. A prototype of RESIN incurs a 33% CPU overhead running the HotCRP conference management application. password from the system. The adversary might trick the application into emailing the password; the adversary might use a SQL injection attack to query the passwords from the database; or the adversary Categories and Subject Descriptors might fetch the password file from the server using a directory D.2.4 [Software Engineering]: Software Verification—Assertion traversal attack. RESIN needs to cover every one of these paths to checkers; D.4.6 [Operating Systems]: Security and Protection prevent password disclosure. A second challenge is to design a generic mechanism that makes General Terms it easy to express data flow assertions, including common assertions like cross-site scripting avoidance, as well as application-specific Security, Languages, Design assertions. For example, HotCRP [26], a conference management application, has its own data flow rules relating to password disclo- 1. INTRODUCTION sure and reviewer conflicts of interest, among others. Can a single assertion API allow for succinct assertions for cross-site scripting Software developers often have a plan for correct data flow within avoidance as well as HotCRP’s unique data flow rules? their applications. For example, a user u’s password may flow out The final challenge is to make data flow assertions coexist with of a Web site only via an email to user u’s email address. As another each other and with the application code. A single application may example, user inputs must always flow through a sanitizing function have many different data flow assertions, and it must be easy to before flowing into a SQL query or HTML, to avoid SQL injection add an additional assertion if a new data flow rule arises, without or cross-site scripting vulnerabilities. Unfortunately, today these having to change existing assertions. Moreover, applications are plans are implemented implicitly: programmers try to insert code often written by many different programmers. One programmer in all the appropriate places to ensure correct flow, but it is easy to may work on one part of the application and lack understanding of the application’s overall data flow plan. RESIN should be able to enforce data flow assertions without all the programmers being Permission to make digital or hard copies of all or part of this work for aware of the assertions. personal or classroom use is granted without fee provided that copies are RESIN addresses these challenges using three ideas: policy ob- not made or distributed for profit or commercial advantage and that copies jects, data tracking, and filter objects. Programmers explicitly an- bear this notice and the full citation on the first page. To copy otherwise, to notate data, such as strings, with policy objects, which encapsulate republish, to post on servers or to redistribute to lists, requires prior specific the assertion functionality that is specific to that data. Program- permission and/or a fee. mers write policy objects in the same language that the rest of the SOSP’09, October 11–14, 2009, Big Sky, Montana, USA. Copyright 2009 ACM 978-1-60558-752-3/09/10 ...$10.00. application is written in, and can reuse existing code and data struc- Vulnerability Count Percentage Vulnerable sites SQL injection 1176 20.4% Vulnerability among those surveyed Cross-site scripting 805 14.0% Cross-site scripting 31.5% Denial of service 661 11.5% Information leakage 23.3% Buffer overflow 550 9.5% Predictable resource location 10.2% Directory traversal 379 6.6% SQL injection 7.9% Server-side script injection 287 5.0% Insufficient access control 1.5% Missing access checks 263 4.6% HTTP response splitting 0.8% Other vulnerabilities 1647 28.6% Total 5768 100% Table 2: Top Web site vulnerabilities of 2007 [48]. Table 1: Top CVE security vulnerabilities of 2008 [41]. or HTML. In practice this is difficult to accomplish because there are many data flow paths to keep track of, and some of them are tures, which simplifies writing application-specific assertions. The non-intuitive. For example, in one cross-site scripting vulnerability, RESIN runtime then tracks these policy objects as the data propa- phpBB queried a malicious whois server, and then incorporated the gates through the application. When the data is about to leave the response into HTML without first sanitizing the response. A survey control of RESIN, such as being sent over the network, RESIN in- of Web applications [48] summarized in Table 2 illustrates how vokes filter objects to check the data flow assertions with assistance common these bugs are with cross-site scripting affecting more than from the data’s policy objects. 31% of applications, and SQL injection affecting almost 8%. We evaluate RESIN in the context of application security by show- If there were a tool that could enforce a data flow assertion on ing how these three mechanisms can prevent a wide range of vul- an entire application, a programmer could write an assertion to nerabilities in real Web applications, while requiring programmers catch these bugs and prevent an adversary from exploiting them. to write only tens of lines of code. One application, the MoinMoin For example, an assertion to prevent SQL injection exploits would wiki [31], required only 8 lines of code to catch the same access verify that: control bugs that required 2,000 lines in Flume [28], although Flume provides stronger guarantees. HotCRP can use RESIN to uphold DATA FLOW ASSERTION 1. Any user input data must flow through its data flow rules, by adding data flow assertions that control who a sanitization function before it flows into a SQL query. may read a paper’s reviews, and to whom HotCRP can email a pass- RESIN aims to be such a tool. word reminder. Data flow assertions also help prevent a range of other previously-unknown vulnerabilities in Python and PHP Web Directory Traversal applications. A prototype RESIN runtime for PHP has acceptable performance overhead, amounting to 33% for HotCRP. Directory traversal is another common vulnerability that accounts The contributions of this work are the idea of an application-level for 6.6% of the vulnerabilities in Table 1. In a directory traversal data flow assertion, and a technique for implementing data flow attack, a vulnerable application allows the user to enter a file name, assertions using filter objects, policy objects, and data tracking. Ex- but neglects to limit the directories available to the user. To exploit periments with several real applications further show that data flow this vulnerability, an adversary typically inserts the “..” string as part assertions are concise, effective at preventing many security vulner- of the file name which allows the adversary to gain unauthorized abilities, and incrementally deployable in existing applications. access to read, or write files in the server’s file system.
Recommended publications
  • Table of Contents
    TABLE OF CONTENTS I. EXECUTIVE SUMMARY ...............................................................................................3 A. Recommendations ..............................................................................................................................................3 1. Future Governance board ................................................................................................................................3 2. Integration Models ..........................................................................................................................................3 3. CCIS and JIS Review by Infinity Software Development Inc. .......................................................................4 4. Catalog of Common Data Elements................................................................................................................4 5. Data Exchange Standards and Protocol...........................................................................................................4 6. Infrastructure and Network Standards and Protocol........................................................................................4 7. Security and Access Standards and Protocol...................................................................................................5 8. Unified Statute Table ......................................................................................................................................6 9. Minimum Data Elements for Policy Oversight ...............................................................................................6
    [Show full text]
  • Resin 3.2 Reference
    Contents 1 Overview 3 1.1 Features - Resin and Resin Professional . .3 2 Installation 11 2.1 Resin Installation Quick Start . 11 2.2 Resin Installation . 16 2.3 Resin Web Server . 16 2.4 Resin with Apache . 22 2.5 Resin with IIS . 34 2.6 How the Plugins Dispatch to Resin . 44 3 Command-Line 47 3.1 Command-Line Configuration . 47 4 Admin Guide 51 4.1 User Guide: Administration . 51 5 Watchdog 63 5.1 Resin Watchdog . 63 6 Virtual Hosts 73 6.1 Virtual Hosting . 73 7 Clustering 89 7.1 Resin Clustering . 89 8 Web Applications 109 8.1 An Overview of Web Applications . 109 9 Logging 137 9.1 Log . 137 10 Administration 163 10.1 Resin Administration . 163 1 CONTENTS 11 Deployment 177 11.1 Packaging/Deployment . 177 12 Proxy Caching 181 12.1 Server Caching . 181 13 Quercus 193 13.1 Quercus: PHP in Java . 193 14 Security 217 14.1 Resin Security . 217 15 Inversion of Control 271 15.1 Resin IoC . 271 15.2 Scheduled Task . 308 16 Amber 327 16.1 Amber . 327 17 Embedding Resin 355 17.1 Embedding Resin . 355 18 Filters 367 18.1 Filters . 367 19 BAM 379 19.1 BAM . 379 20 Comet 405 20.1 Comet/Server-Push Servlet . 405 21 Remoting 411 21.1 Resin Remoting . 411 21.2 Hessian . 417 22 Messaging 423 22.1 Resin Messaging . 423 23 JSF - Java Server Faces 435 23.1 JSF - Java Server Faces . 435 24 Configuration Tags 445 24.1 cluster: Cluster tag configuration .
    [Show full text]
  • Revize Installation Guide
    INSTALLATION GUIDE © 2001-2003 Idetix Software Systems Revize Installation Guide TABLE OF CONTENTS Installation Guide ...........................................................1 Table of Contents ..........................................................2 1 Overview.................................................................5 1.1 Assumptions....................................................5 1.2 Typographic Conventions................................6 2 System Requirements ............................................7 2.1 Server Hardware Requirements......................7 2.2 Operating System Requirements ....................8 2.3 Database Requirements..................................9 2.4 Web Server Requirements ..............................9 2.5 Web Browser Requirements .........................10 3 Stand-Alone installation........................................11 3.1 System Requirements ...................................11 3.2 Installation Steps ...........................................11 © 2001-2003 Idetix Software Systems Page 2 Revize Installation Guide 4 Network Installation ............................................. 22 4.1 Windows NT 4.0 / 2000 ................................ 22 4.2 Redhat Linux / Solaris 8 (Sparc)................... 22 4.2.1 Redhat 6.2/Solaris 8 Installation (GUI).. 23 4.2.2 Solaris 8/Redhat 6.2 Console Installation 24 4.2.3 Redhat Linux 7.2 (and later) Installation 25 5 Installation Verification......................................... 27 5.1 Administration Center ..................................
    [Show full text]
  • Next Generation Web Scanning Presentation
    Next generation web scanning New Zealand: A case study First presented at KIWICON III 2009 By Andrew Horton aka urbanadventurer NZ Web Recon Goal: To scan all of New Zealand's web-space to see what's there. Requirements: – Targets – Scanning – Analysis Sounds easy, right? urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets What does 'NZ web-space' mean? It could mean: •Geographically within NZ regardless of the TLD •The .nz TLD hosted anywhere •All of the above For this scan it means, IPs geographically within NZ urbanadventurer (Andrew Horton) www.morningstarsecurity.com Finding Targets We need creative methods to find targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com DNS Zone Transfer urbanadventurer (Andrew Horton) www.morningstarsecurity.com Find IP addresses on IRC and by resolving lots of NZ websites 58.*.*.* 60.*.*.* 65.*.*.* 91.*.*.* 110.*.*.* 111.*.*.* 113.*.*.* 114.*.*.* 115.*.*.* 116.*.*.* 117.*.*.* 118.*.*.* 119.*.*.* 120.*.*.* 121.*.*.* 122.*.*.* 123.*.*.* 124.*.*.* 125.*.*.* 130.*.*.* 131.*.*.* 132.*.*.* 138.*.*.* 139.*.*.* 143.*.*.* 144.*.*.* 146.*.*.* 150.*.*.* 153.*.*.* 156.*.*.* 161.*.*.* 162.*.*.* 163.*.*.* 165.*.*.* 166.*.*.* 167.*.*.* 192.*.*.* 198.*.*.* 202.*.*.* 203.*.*.* 210.*.*.* 218.*.*.* 219.*.*.* 222.*.*.* 729,580,500 IPs. More than we want to try. urbanadventurer (Andrew Horton) www.morningstarsecurity.com IP address blocks in the IANA IPv4 Address Space Registry Prefix Designation Date Whois Status [1] -----
    [Show full text]
  • Pfc6168.Pdf (438.8Kb)
    ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD POLITÉCNICA DE CARTAGENA Proyecto Fin de Carrera TÍTULO: Iphone Bookshelf AUTOR: David Zamora Gutiérrez DIRECTOR: Francesc Burrull i Mestres Febrero / 2015 INDEX IPhone application………………………………………………………………... o Tools……………………………………………………………………… . Iphone…………………………………………………………….. Objective-C……………………………………………………….. o Code………………………………………………………………………. Web site…………………………………………………………………………... o Tools……………………………………………………………………… . Codeigniter……………………………………………………….. Php………………………………………………………………... Http……………………………………………………………….. Html………………………………………………………………. Mysql……………………………………………………………... Apache……………………………………………………………. CSS……………………………………………………………….. E-books…………………………………………………………… o Code………………………………………………………………………. References……………………………………………………………………....... IPHONE APPLICATION TOOLS IPHONE The iPhone is a line of Internet- and multimedia-enabled smartphones designed and marketed by Apple Inc. The first iPhone was unveiled by Apple CEO Steve Jobs on January 9, 2007, and released on June 29, 2007. An iPhone can function as a video camera (video recording was not a standard feature until the iPhone 3GS was released), a camera phone, can send texts and receive visual voicemail, a portable media player, and an Internet client with email and web browsing capabilities, and both Wi-Fi and 3G connectivity. The user interface is built around the device's multi-touch screen, including a virtual keyboard rather than a physical one. Third-party as well as Apple application software is available from the App Store, which launched in mid-2008 and now has over 350,000 "apps" approved by Apple. These apps have diverse functionalities, including games, reference, GPS navigation, social networking, e-books... To create applications for this device it’s use the APPLE SDK. APPLE SDK The SDK basically consists of a set of tools that Apple provides to build, debug and test our developments. It contains the following programs: - XCODE: Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS.
    [Show full text]
  • 2Nd USENIX Conference on Web Application Development (Webapps ’11)
    conference proceedings Proceedings of the 2nd USENIX Conference Application on Web Development 2nd USENIX Conference on Web Application Development (WebApps ’11) Portland, OR, USA Portland, OR, USA June 15–16, 2011 Sponsored by June 15–16, 2011 © 2011 by The USENIX Association All Rights Reserved This volume is published as a collective work. Rights to individual papers remain with the author or the author’s employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. Permission is granted to print, primarily for one person’s exclusive use, a single copy of these Proceedings. USENIX acknowledges all trademarks herein. ISBN 978-931971-86-7 USENIX Association Proceedings of the 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Conference Organizers Program Chair Armando Fox, University of California, Berkeley Program Committee Adam Barth, Google Inc. Abdur Chowdhury, Twitter Jon Howell, Microsoft Research Collin Jackson, Carnegie Mellon University Bobby Johnson, Facebook Emre Kıcıman, Microsoft Research Michael E. Maximilien, IBM Research Owen O’Malley, Yahoo! Research John Ousterhout, Stanford University Swami Sivasubramanian, Amazon Web Services Geoffrey M. Voelker, University of California, San Diego Nickolai Zeldovich, Massachusetts Institute of Technology The USENIX Association Staff WebApps ’11: 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Message from the Program Chair . v Wednesday, June 15 10:30–Noon GuardRails: A Data-Centric Web Application Security Framework . 1 Jonathan Burket, Patrick Mutchler, Michael Weaver, Muzzammil Zaveri, and David Evans, University of Virginia PHP Aspis: Using Partial Taint Tracking to Protect Against Injection Attacks .
    [Show full text]
  • The Power of Appdynamics End User Monitoring
    Datasheet EUM The Power of AppDynamics End User Monitoring In today’s world, applications ARE the business. Key Benefits Understanding the performance and stability of these – Trace a transaction from the browser applications is critical to protecting your revenue to the backend database – Monitor end user experience by and your reputation. Monitoring the applications geographic region, device and on the server side is a good start, but it’s not the browser type – Get visibility into transactions, pages, complete picture. You need to measure application AJAX requests and iFrames performance starting with the end user, no matter – See all JavaScript errors down to the line of code level where he or she may be. – Understand the impact on page performance by network connectivity, browser processing, app server time, and 3rd party requests – Rest easy knowing that AppDynamics baselines and alerts on web performance KPIs Why AppDynamics – Designed for extreme scalability – up to billions of devices and user sessions – Easy to install and use – Fully integrated APM solution with visibility into browser, app server and database With AppDynamics End User Monitoring you will see exactly how your end users experience your application starting at the first byte time. AppDynamics EUM offers AppDynamics Pro customers the ability to understand application performance at the browser level with granular browser response time snapshots broken down by device, geographic region, browser type and more. In addition, customers can drill down from a browser snapshot to the corresponding call stack trace in the application server, giving you complete visibility from the browser to the application server to the database.
    [Show full text]
  • Comparison of Web Server Software from Wikipedia, the Free Encyclopedia
    Create account Log in Article Talk Read Edit ViewM ohrisetory Search Comparison of web server software From Wikipedia, the free encyclopedia Main page This article is a comparison of web server software. Contents Featured content Contents [hide] Current events 1 Overview Random article 2 Features Donate to Wikipedia 3 Operating system support Wikimedia Shop 4 See also Interaction 5 References Help 6 External links About Wikipedia Community portal Recent changes Overview [edit] Contact page Tools Server Developed by Software license Last stable version Latest release date What links here AOLserver NaviSoft Mozilla 4.5.2 2012-09-19 Related changes Apache HTTP Server Apache Software Foundation Apache 2.4.10 2014-07-21 Upload file Special pages Apache Tomcat Apache Software Foundation Apache 7.0.53 2014-03-30 Permanent link Boa Paul Phillips GPL 0.94.13 2002-07-30 Page information Caudium The Caudium Group GPL 1.4.18 2012-02-24 Wikidata item Cite this page Cherokee HTTP Server Álvaro López Ortega GPL 1.2.103 2013-04-21 Hiawatha HTTP Server Hugo Leisink GPLv2 9.6 2014-06-01 Print/export Create a book HFS Rejetto GPL 2.2f 2009-02-17 Download as PDF IBM HTTP Server IBM Non-free proprietary 8.5.5 2013-06-14 Printable version Internet Information Services Microsoft Non-free proprietary 8.5 2013-09-09 Languages Jetty Eclipse Foundation Apache 9.1.4 2014-04-01 Čeština Jexus Bing Liu Non-free proprietary 5.5.2 2014-04-27 Galego Nederlands lighttpd Jan Kneschke (Incremental) BSD variant 1.4.35 2014-03-12 Português LiteSpeed Web Server LiteSpeed Technologies Non-free proprietary 4.2.3 2013-05-22 Русский Mongoose Cesanta Software GPLv2 / commercial 5.5 2014-10-28 中文 Edit links Monkey HTTP Server Monkey Software LGPLv2 1.5.1 2014-06-10 NaviServer Various Mozilla 1.1 4.99.6 2014-06-29 NCSA HTTPd Robert McCool Non-free proprietary 1.5.2a 1996 Nginx NGINX, Inc.
    [Show full text]
  • Real-World Comet-Based Applications
    Real-World Comet-Based Applications Jean-Francois Arcand, Sun Microsystems, Inc. Greg Wilkins, Webtide Alex Russel, DOJO Foundation TS-6807 2007 JavaOneSM Conference | Session TS-6807 | Goal of This Talk What You Will Gain This session will introduce Comet technologies. Comet (sometimes called request polling, HTTP streaming, or continuation) is a programming technique that enables web servers to send data to the client without any need for the client to request it. It allows creation of event-driven web applications. 2007 JavaOneSM Conference | Session 6807 | 2 Agenda Introduction Introduction to Comet The need for standards Bayeux The Open Ajax Alliance Available solutions Q&A 2007 JavaOneSM Conference | Session 6807 | 3 Agenda Introduction Introduction to Comet The need for standards Bayeux The Open Ajax Alliance Available solutions Q&A 2007 JavaOneSM Conference | Session 6807 | 4 Introduction Who we are.... ● Jean-Francois Arcand, Senior Staff Engineer ● Main developer of the Project Grizzly NIO framework and Project GlassFish™ WebContainer ● Greg Wilkins, CTO, Webtide ● Main developer of the Jetty HTTP server and servlet container ● Alex Russell—Director of R&D at SitePen 2007 JavaOneSM Conference | Session 6807 | 5 Agenda Introduction Introduction to Comet The need for standards Bayeux The Open Ajax Alliance Available solutions Q&A 2007 JavaOneSM Conference | Session 6807 | 6 Introduction to Comet ● Comet is: ● Programming technique for long-running connections over HTTP ● Allows creation of event-driven, interactive web apps 2007
    [Show full text]
  • The Definitive Guide to HTML5 Websocket // Example Websocket Server
    For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance Foreword ���������������������������������������������������������������������������������������� xiii About the Authors ���������������������������������������������������������������������������� xv About the Technical Reviewer ������������������������������������������������������� xvii Acknowledgments �������������������������������������������������������������������������� xix ■ Chapter 1: Introduction to HTML5 WebSocket �������������������������������� 1 ■ Chapter 2: The WebSocket API ����������������������������������������������������� 13 ■ Chapter 3: The WebSocket Protocol ��������������������������������������������� 33 ■ Chapter 4: Building Instant Messaging and Chat over WebSocket with XMPP ��������������������������������������������������������� 61 ■ Chapter 5: Using Messaging over WebSocket with STOMP ���������� 85 ■ Chapter 6: VNC with the Remote Framebuffer Protocol ������������� 109 ■ Chapter 7: WebSocket Security �������������������������������������������������� 129 ■ Chapter 8: Deployment Considerations �������������������������������������� 149 ■ Appendix A: Inspecting WebSocket Traffic ��������������������������������� 163 ■ Appendix B: WebSocket Resources �������������������������������������������� 177 Index ���������������������������������������������������������������������������������������������� 183 v CHAPTER 1 Introduction
    [Show full text]
  • Amélioration De La Sécurité Par La Conception Des Logiciels Web Theodoor Scholte
    Amélioration de la sécurité par la conception des logiciels web Theodoor Scholte To cite this version: Theodoor Scholte. Amélioration de la sécurité par la conception des logiciels web. Web. Télécom ParisTech, 2012. Français. NNT : 2012ENST0024. tel-01225776 HAL Id: tel-01225776 https://pastel.archives-ouvertes.fr/tel-01225776 Submitted on 6 Nov 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. 2012-ENST-024 EDITE - ED 130 Doctorat ParisTech T H È S E pour obtenir le grade de docteur délivré par TELECOM ParisTech Spécialité « Réseaux et Sécurité » présentée et soutenue publiquement par Theodoor SCHOLTE le 11/5/2012 Securing Web Applications by Design Directeur de thèse : Prof. Engin KIRDA Jury Thorsten HOLZ , Professeur, Ruhr-Universit at Bochum, Germany Rapporteur Martin JOHNS , Senior Researcher, SAP AG, Germany Rapporteur Davide BALZAROTTI , Professeur, Institut EURECOM, France Examinateur Angelos KEROMYTIS , Professeur, Columbia University, USA Examinateur Thorsten STRUFE , Professeur, Technische Universit at Darmstadt, Germany Examinateur TELECOM ParisTech école de l’Institut Télécom - membre de ParisTech Acknowledgements This dissertation would not have been possible without the support of many people. First, I would like to thank my parents. They have thaught and are teaching me every day a lot.
    [Show full text]
  • Application Performance Management
    Application Performance Management AppDynamics Pro Documentation Version 4.1.7 Page 1 Instrument Applications . 7 Install and Administer Agents . 7 Connect the Controller and Agents . 8 Business Application, Tier, and Node Naming . 11 Metrics Limits . 12 Manage App Agents . 14 Historical and Disconnected Nodes . 16 Agent Log Files . 18 Request Agent Log Files . 24 App Agent Node Properties . 26 App Agent Node Properties Reference . 31 Dynamic Language Agent Proxy . 58 Instrument Java Applications . 61 Java Supported Environments . 64 Install the Java Agent . 78 Java Agent Configuration Properties . 83 Instrument JVMs in a Dynamic Environment . 95 Use System Properties for Java Agent Settings . 96 Use Environment Variables for Java Agent Settings . 98 Instrument JVMs Started by Batch or Cron Jobs . 99 Instrument JVMs in Restricted Environments . 100 Automate Java Agent Deployment . 101 Instrument Apple WebObjects Applications . 101 Java Server-Specific Installation Settings . 102 Apache Cassandra Startup Settings . 102 Apache Tomcat Startup Settings . 103 Coherence Startup Settings . 105 GlassFish Startup Settings . 105 IBM WebSphere and InfoSphere Startup Settings . 107 JBoss and Wildfly Startup Settings . 111 Jetty Startup Settings . 120 Mule ESB Startup Settings . 121 Oracle WebLogic Startup Settings . 122 OSGi Infrastructure Configuration . 125 Resin Startup Settings . 127 Solr Startup Settings . 129 Standalone JVM Startup Settings . 129 Tanuki Service Wrapper Settings . 130 Tibco ActiveMatrix BusinessWorks Service Engine Settings . 130 webMethods Startup Settings . 131 Sensitive Data Filters . 132 IBM Java Agent . 133 Enable SSL for Java . 134 Java Agent Directory Structure . 137 Moving Java Nodes Between Applications or Tiers . 139 Upgrade the Java Agent . 139 Uninstall the Java Agent . 141 Tune Java Agent Performance .
    [Show full text]