Secure Web Programming

Size: px
Start display at page:

Download "Secure Web Programming"

Transcription

1 Module IV. Web Security (II) Chapter 10 Secure Web Programming Web Security: Theory & Applications School of Software, Sun Yat-sen University

2 Outline 10.1 Introduction to Web Programming Tools for Web Development Designing CGI Implementing Web Services Accessing Database Through Web Web Security : Theory And Applications 2 / 128

3 Outline 10.2 Learning Secure Web Programming With Examples Introduction to Gruyere Codelab Brief Introduction to Python Cross-Site Scripting (XSS) Client-State Manipulation Cross-Site Request Forgery (XSRF) Cross Site Script Inclusion (XSSI) Path Traversal Denial of Service (DoS) Arbitrary Code Execution Configuration Vulnerabilities AJAX vulnerabilities Web Security : Theory And Applications 3 / 128

4 10.1 Introduction to Web Programming Tools for Web Development Designing CGI Implementing Web Services Accessing Database Through Web Web Security : Theory And Applications 4 / 128

5 10.1 Introduction to Web Programming Tools for Web Development Aptana Studio Dreamweaver Eclipse Flash Builder/Flex Builder IntelliJ IDEA NetBeans PhpDesigner Visual Studio Visual Web Developer Zend Studio Web Security : Theory And Applications 5 / 128

6 10.1 Introduction to Web Programming Aptana Studio Aptana Studio is an open source integrated development environment (IDE) for building Ajax web applications. It includes support for JavaScript, HTML, DOM, and CSS with code-completion, outlining, JavaScript debugging, error and warning notification and integrated documentation. Additional plugins allow Aptana Studio to be extended to support Ruby on Rails, PHP, Python, Perl, Adobe AIR, Apple iphone and Nokia WRT (Web Runtime). Web Security : Theory And Applications 6 / 128

7 10.1 Introduction to Web Programming Adobe Dreamweaver Adobe Dreamweaver (formerly, Macromedia Dreamweaver) is a web development application originally created by Macromedia, and is now developed by Adobe System, which acquired Macromedia in Web Security : Theory And Applications 7 / 128

8 10.1 Introduction to Web Programming Dreamweaver allows users to preview websites in locally installed web browsers. It provides transfer and synchronization features, the ability to find and replace lines of text or code by search terms and regular expressions across the entire site, and a templating feature that allows single-source update of shared code and layout across entire sites without server-side includes or scripting. The behaviors panel also enables use of basic JavaScript without any coding knowledge, and integration with Adobe's Spry Ajax framework offers easy access to dynamically-generated content and interfaces. Web Security : Theory And Applications 8 / 128

9 10.1 Introduction to Web Programming Eclipse Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, R. Ruby (including Ruby on Rails framework), Scala, Clojure, and Scheme. It can also be used to develop packages for the software Mathematica. The IDE is often called Eclipse ADT (Ada Development Toolkit) for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP. Web Security : Theory And Applications 9 / 128

10 10.1 Introduction to Web Programming Adobe Flash Builder Adobe Flash Builder (previously known as Adobe Flex Builder) is an integrated development environment (IDE) built on the Eclipse platform that speeds development of rich Internet applications (RIAs) and cross-platform desktop applications, particularly for the Adobe Flash platform. Web Security : Theory And Applications 10 / 128

11 10.1 Introduction to Web Programming Adobe Flex Adobe Flex is a software development kit (SDK) released by Adobe System for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform. Flex applications can be written using Adobe Flash Builder or by using the freely available Flex compiler from Adobe. Web Security : Theory And Applications 11 / 128

12 10.1 Introduction to Web Programming IntelliJ IDEA IntelliJ IDEA is a commercial Java IDE by JetBrains. It is often simply referred to as "IDEA" or "IntelliJ". The latest version of IDEA (10.0) includes UML-like class diagrams, visual Hibernate modeling, Spring 3.0 support, Dependency and Data Flow Analysis, Apache Maven support as well as a lot of other features and technologies. Web Security : Theory And Applications 12 / 128

13 10.1 Introduction to Web Programming NetBeans NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, and others. The NetBeans IDE is written in Java and can run anywhere a JVM is installed, including Windows, Mac OS, Linux, and Solaris. The NetBeans platform allows applications to be developed from a set of modular software components called modules. Applications based on the NetBeans platform (including the NetBeans IDE) can be extended by third party developers. Web Security : Theory And Applications 13 / 128

14 10.1 Introduction to Web Programming PhpDesigner The latest version of PhpDesigner is phpdesigner 7. PhpDesigner 7 is more than just a powerful and lightning fast PHP IDE and PHP EDITOR - it's also a full-featured HTML-, CSS- and JavaScript editor boosted with features so you can get your work done.it can assists you with everything from editing, analyzing, debugging to publishing websites powered by PHP, HTML, CSS to JavaScript plus other languages. PhpDesigner 7 supports not only working with your favorite PHP frameworks but also popular JavaScript frameworks jquery, Ext JS, YUI, Dojo, MooTools and Prototype. Web Security : Theory And Applications 14 / 128

15 10.1 Introduction to Web Programming Microsoft Visual Studio Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft Windows, Windows Mobile, Windows CE,.NET Framework,.NET Compact Framework and Microsoft Silverlight. Web Security : Theory And Applications 15 / 128

16 10.1 Introduction to Web Programming Visual Web Developer Express Visual Web Developer Express is a freeware web development tool that allows developers to evaluate the web development and editing capabilities of the other Visual Studio 2008 editions at no charge. Its main function is to create ASP.NET websites. It has a WYSIWYG interface, drag-and-drop user interface designer, enhanced HTML and code editors, a (limited) database explorer, support for other web technologies (e.g., CSS, JavaScript, XML), and integrated, designtime validation for standards including XHTML 1.0/1.1 and CSS 2.1. Web Security : Theory And Applications 16 / 128

17 10.1 Introduction to Web Programming Zend Studio Zend Studio is a commercial, proprietary integrated development environment (IDE) for PHP developed by Zend Technologies, based on the PHP Development Tools (PDT) plugin for the Eclipse platform (the PDT project is led by Zend). Web Security : Theory And Applications 17 / 128

18 10.1 Introduction to Web Programming Designing CGI Introduction Comparisons with Other Scripting Techniques Requirements for CGI Scripting Running CGI Scripts CGI Variables Advantages Disadvantages Alternatives Web Security : Theory And Applications 18 / 128

19 10.1 Introduction to Web Programming Introduction CGI: Common Gateway Interface Commonly known as CGI scripts receives and process browser input returns the results to the users CGI scripts can be ANYTHING EXECUTABLE batch compiled executables Unix/Linux shell scripts C Java Visual Basic Perl - most commonly used Web Security : Theory And Applications 19 / 128

20 10.1 Introduction to Web Programming Comparisons with other scripting techniques Web Security : Theory And Applications 20 / 128

21 10.1 Introduction to Web Programming Comparisons with Other Scripting Techniques Do I have the capability of running my own CGI scripts? A Web server - NOT a FTP or Gopher server Properly configuration - directory: cgi-bin/ Prepare for possible large payloads Does my CGI capability include support for SSI (Server Side Includes)? SSI: commands to the Web server to include some information the server has in the displayed Web page A common use: to display the current date and time on a Web page Web Security : Theory And Applications 21 / 128

22 10.1 Introduction to Web Programming Running CGI Scripts CGI in the server system Web Security : Theory And Applications 22 / 128

23 10.1 Introduction to Web Programming Web files locations (on Apache) htdocs/:.html,.php, etc. cgi-bin/: CGI scripts Extensions: anything (.sh,.cgi), or none logs/: log files are helpful Permissions: r & x at least Web Security : Theory And Applications 23 / 128

24 10.1 Introduction to Web Programming CGI Variables Data is passed into the program using environment variables User-submitted data is provided to the program via the standard input Server specific variables: SERVER_SOFTWARE name/version of HTTP server. SERVER_NAME host name of the server, may be dot-decimal IP address. GATEWAY_INTERFACE CGI/version. Web Security : Theory And Applications 24 / 128

25 10.1 Introduction to Web Programming Request specific variables: SERVER_PROTOCOL HTTP/version SERVER_PORT TCP port (decimal) REQUEST_METHOD name of HTTP method (see above) PATH_INFO path suffix, if appended to URL after program name and a slash PATH_TRANSLATED corresponding full path as supposed by server, if PATH_INFO is present SCRIPT_NAME relative path to the program, like /cgibin/script.cgi QUERY_STRING the part of URL after? character. May be composed of *name=value pairs separated with ampersands (such as var1=val1&var2=val2 ) when used to submit form data transferred via GET method as defined by HTML application/x-www-form-urlencoded Web Security : Theory And Applications 25 / 128

26 10.1 Introduction to Web Programming Request specific variables (continued): REMOTE_HOST host name of the client, unset if server did not perform such lookup REMOTE_ADDR IP address of the client (dot-decimal) AUTH_TYPE identification type, if applicable REMOTE_USER used for certain AUTH_TYPEs REMOTE_IDENT see ident, only if server performed such lookup CONTENT_TYPE MIME type of input data if PUT or POST method are used, as provided via HTTP header CONTENT_LENGTH similarly, size of input data (decimal, in octets) if provided via HTTP header Web Security : Theory And Applications 26 / 128

27 10.1 Introduction to Web Programming Advantages Scripts are stored in files Thousands of freely available scripts on the Internet Bestdam Website Visitor Logger: Web Security : Theory And Applications 27 / 128

28 10.1 Introduction to Web Programming Disadvantages Each execution: invocation of a newly created process Worse if scripts need to be interpreted or compiled Server may be overwhelmed Web Security : Theory And Applications 28 / 128

29 10.1 Introduction to Web Programming Alternatives Use compiled CGI programs Apache modules, Netscape NSAPI plug-ins, IIS ISAPI plug-ins: own extension mechanisms developed by popular Web servers that allow third-party software to run inside the web server itself SCGI: Simple Common Gateway Interface FastCGI A single, long-running process to handle more than one user request while keeping close to the CGI programming model Independent of the web server Java Platform, Enterprise Edition (Java EE): replacement architecture Generates and destroys threads Servlet Libraries Web Security : Theory And Applications 29 / 128

30 10.1 Introduction to Web Programming Implementing Web Services Introduction Purposes Web Services Platform Elements Architecture Agents and Services How Does It Work WSD/WSDL Semantics The Service Registry Interactions Styles of Use Drawbacks Web Security : Theory And Applications 30 / 128

31 10.1 Introduction to Web Programming Introduction Web services: software systems designed to support interoperable ( 互 操 作 ) machine-to-machine interaction over a network. They are application components communicate using open protocols are self-contained and self-describing can be discovered using UDDI can be used by other applications are based on XML Examples Google Maps API Web Services itunes Store Web Service Search API Documents for developers Web Security : Theory And Applications 31 / 128

32 10.1 Introduction to Web Programming Purposes Web services can convert your application into a Web application, which can publish its function or message to the rest of the world Web services themselves do not provide the user with a GUI, but instead share business logic, data and processes through a programmatic interface across a network Developers can then add the Web service to a GUI (such as a Web page or an executable program) to offer specific functionality to users Web services allow different applications from different sources to communicate with each other without timeconsuming custom coding Java can talk with Perl; Windows applications can talk with UNIX applications; etc. Web Security : Theory And Applications 32 / 128

33 10.1 Introduction to Web Programming Web Services Platform Elements SOAP (Simple Object Access Protocol): a protocol specification for exchanging structured information in the implementation of Web Services in computer networks Nothing to do with SOA (Service-oriented Architecture) UDDI (Universal Description, Discovery and Integration): a platform-independent, Extensible Markup Language (XML)-based registry for businesses worldwide to list themselves on the Internet and a mechanism to register and locate web service applications WSDL (Web Services Description Language): an XMLbased language that provides a model for describing Web services Web Security : Theory And Applications 33 / 128

34 10.1 Introduction to Web Programming Web services architecture Web Security : Theory And Applications 34 / 128

35 10.1 Introduction to Web Programming Agents and Services Agent: the concrete piece of software or hardware that sends and receives messages Service: the resource characterized by the abstract set of functionality that is provided Although the agent may have changed, the Web service remains the same Web Security : Theory And Applications 35 / 128

36 10.1 Introduction to Web Programming How Does It Work The general process of engaging a Web service Web Security : Theory And Applications 36 / 128

37 10.1 Introduction to Web Programming WSD/WSDL In order for message exchange to be successful, the requester entity and the provider entity must first agree on both the semantics and the mechanics of the message exchange The mechanics of this message exchange are documented in a Web Service Description (WSD) The WSD is a machine-processable specification of the Web service's interface WSD is written in WSDL (L: language) Web Security : Theory And Applications 37 / 128

38 10.1 Introduction to Web Programming Semantics WSD: a contract governing the mechanics of interacting with a particular service Semantics: a contract governing the meaning and purpose of that interaction Web Security : Theory And Applications 38 / 128

39 10.1 Introduction to Web Programming The Service Registry The service registry is a central location where service providers can publish their service descriptions, and where service requesters can find those service descriptions Web Security : Theory And Applications 39 / 128

40 10.1 Introduction to Web Programming Interactions Web services components and interactions Web Security : Theory And Applications 40 / 128

41 10.1 Introduction to Web Programming The interactions between the service provider, service requester, and service registry involve the following operations Publish: When a service registry is used, a service provider publishes its service description in a service registry for the service requester to find Find: When a service registry is used, a service requester finds the service description in the registry Bind: The service requester uses the service description to bind with the service provider and interact with the Web service implementation Web Security : Theory And Applications 41 / 128

42 10.1 Introduction to Web Programming Styles of Use RPC: Remote Procedure Calls Present a distributed function (or method) call interface that is familiar to many developers Early adopted, widely deployed and supported Criticized for not being loosely coupled ( 松 耦 合 ) SOA: Service-Oriented Architecture Basic unit of communication is a message, rather than an operation Supported by most major software vendors Loose coupling is more likely: focused on the "contract" that WSDL provides, not implementation details. Web Security : Theory And Applications 42 / 128

43 10.1 Introduction to Web Programming REST: REpresentational State Transfer ( 表 述 性 状 态 转 移 ) Describes architectures that use HTTP or similar protocols by constraining the interface to a set of well-known, standard operations (like GET, POST, PUT, DELETE for HTTP) Focused on interacting with stateful resources, not messages or operations Support for this specification is still poor in software development kits Ref to Web Security : Theory And Applications 43 / 128

44 10.1 Introduction to Web Programming Drawbacks Composite Web services: Not reliable: the service provider may remove, change or update their services without giving notice to users. Reliability and fault tolerance not well supported: faults may happen during the execution; exception handling is still an open research issue Non-RESTful Web services: too complex and based upon large software vendors or integrators, rather than typical open source implementations REST Web services: A minor change on the server (even an upgrade of the SOAP stack) can result in different WSDL and a different service interface Web Security : Theory And Applications 44 / 128

45 10.1 Introduction to Web Programming Accessing Database Through Web Introduction API s Web Security : Theory And Applications 45 / 128

46 10.1 Introduction to Web Programming Introduction Database connection: a facility that allows client software to communicate with database server software Can happen on the same machine or not Required to send commands and receive answers A key concept in data-centric programming Connection pooling: Improves performance Connection string: a way of addressing a specific database or server and instance as well as user authentication credentials An example: Server=sql_box; Database=Common; User ID=uid; Pwd=password; Web Security : Theory And Applications 46 / 128

47 10.1 Introduction to Web Programming Concurrency Some only allow one operation to be performed at a time on each connection, like PostgreSQL Others do not impose this limitation, like SQL Server 2005 (and later), but usually incur far more overhead. ( 导 致 过 高 的 管 理 耗 费 ) Web Security : Theory And Applications 47 / 128

48 10.1 Introduction to Web Programming API s ODBC: Open Database Connectivity ADO: Microsoft's ActiveX Data Objects OLE DB: Object Linking and Embedding, Database JDBC: Java DataBase Connectivity Other Specific API's e.g. OCI (Oracle Call Interface): php Oracle Web Security : Theory And Applications 48 / 128

49 Outline 10.1 Introduction to Web Programming 10.2 Learning Secure Web Programming With Examples Introduction to Gruyere Codelab Brief Introduction to Python Path Traversal Denial of Service (DoS) Cross-Site Scripting (XSS) Client-State Manipulation Cross-Site Request Forgery (XSRF) Cross Site Script Inclusion (XSSI) Arbitrary Code Execution Configuration Vulnerabilities AJAX vulnerabilities Other Vulnerabilities Web Security : Theory And Applications 49 / 128

50 Introduction to Gruyere Codelab What Is It & What Is It For Requirements How to Use Web Security : Theory And Applications 50 / 128

51 What Is It Its website: A small, cheesy web application designed of insecure conceptions It has so many bugs ranging from XSS and request forgery, to information disclosure, denial of service, and remote code execution. What Is It For You can do experiments on this codelab. This codelab guide you through discovering these bug and finding the ways to defend and fix them both in Gruyere and in general. Web Security : Theory And Applications 51 / 128

52 Requirements Some familiarity with how a web application works (e.g., general knowledge of HTML, templates, cookies, AJAX, etc.) Try to use a proxy, VPN, or IPV6. How to Use It has a tutorial for its use, including the description of each vulnerability, tasks to find and fix that. Ways to test and hack: Black Box White Box In real life, security researchers use both hacking methods for their jobs. Web Security : Theory And Applications 52 / 128

53 Brief Introduction to Python Basic Idea and Rudimentary Syntax Setting Environment for Python Programming Learn Python Web Security : Theory And Applications 53 / 128

54 Basic Idea and Rudimentary Syntax What's Python: Python is a programming language that lets you work more quickly and integrate your systems more effectively. Syntax: Similar to C/C++/JAVA in many keywords and arithmetic operators. Indentation and newline take part in deciding program syntax as well. Web Security : Theory And Applications 54 / 128

55 Setting Environment for Python Programming Setup: First get your computer setup to run Python. IDE: There are copious IDEs for python programming, such as ActivePython, Komodo, Python-mode for Emacs and Eclipse for Python, etc. Learn Python Read books. For beginners, LearnPythonTheHardWay is recommended. Practice more. Try to program something more practical in life. Web Security : Theory And Applications 55 / 128

56 Path Traversal A Path Traversal attack aims to access files and directories that are stored outside the web root folder. How to Avoid Path Traversal Vulnerabilities How to Test for Path Traversal Vulnerabilities Web Security : Theory And Applications 56 / 128

57 How to Avoid Path Traversal Vulnerabilities Identify if you are vulnerable. Be sure you understand how the underlying operating system will process filenames handed off to it. (OS 如 何 处 理 移 交 给 它 的 文 件 名 ) Don't store sensitive configuration files inside the web root. Protect yourself Prefer working without user input when using file system call. Validate the user s input by only accepting known good do not sanitize the data. Web Security : Theory And Applications 57 / 128

58 How to Test for Path Traversal Vulnerabilities Input Vectors Enumeration: a systematic evaluation of each input vector Testing Techniques: a methodical evaluation of each attack technique used by an attacker to exploit the vulnerability Web Security : Theory And Applications 58 / 128

59 Denial of Service (DoS) Types of DoS Attacks Defending against Smurf and Fraggle Defending against SYN Flood Web Security : Theory And Applications 59 / 128

60 Types of DoS Attacks Bandwidth Consumption: This kind of attack usually consumes all available bandwidth in a variety of insidious ways. What's dangerous is that it can amplify itself. Example: Smurf and fraggle. Resource Starvation: This kind of attack differs from the bandwidth consumption in that it consumes system resources rather than network resources. Generally, this involves consuming system resources such as CPU utilization, memory, file-system quotas, or other system process. Example: SYN flood. Web Security : Theory And Applications 60 / 128

61 Programming Flaws: Programming flaws are failures of an application, operating system, or embedded logic chip to handle exceptional conditions. Attackers will use bugs in your applications and take full advantage of crashing critical parts and sensitive systems. Example: IP fragmentation, Windows NT Spool Leak. Routing and DNS Attacks: A routing-based DoS attack involves attackers manipulating routing table entries to deny service to legitimate systems or networks. The same situation occurs to DNS where DoS attacks convince server to cache bogus address information. Besides, DNS packets are also a major tools for amplifying use. Example: Routing and DNS attacks. Web Security : Theory And Applications 61 / 128

62 Defending against Smurf and Fraggle No Responding: Configure individual hosts and routers not to respond to ping requests or broadcasts. No Directed Broadcast: Configure routers not to forward packets directed to broadcast addresses. Filtering Spoofed Address: Network Ingress Filtering which rejects the attacking packets on the basis of the forged source address. Web Security : Theory And Applications 62 / 128

63 Rate Limit: Attacks using particular packet types, such as ICMP floods or UDP floods to diagnostic services, can be throttled by imposing limits on the rate at which these packets will be accepted. Trace Back: By systematically reviewing each router starting with the amplifying site and working upstream, it is possible to trace the attack back to the attacking network. Example: MCI s dostracker (Dos Tracker) Web Security : Theory And Applications 63 / 128

64 Contingency Strategy ( 意 外 响 应 策 略 ): To respond successfully to a DoS attack, a good incident response plan is needed. Detection: When a DoS attack is detected, it's very important and emergent to identify the type of attack and hence best approach to defend against it. Backup: Switch to alternate backup servers, or to rapidly commission new servers at a new site with new addresses, in order to restore service. Future Handling: Analyze the attack, gain benefit from the experience and improve future handling. Human Intervention ( 人 工 干 预 ): Web Security : Theory And Applications 64 / 128

65 Defending against SYN Flood Check SYN_RECV: To determine if you are under attack, you can issue the netstat command if it is supported by your operating system. If you see many connections in a SYN_RECV state, it may indicate that a SYN attack is in progress. Fix in the queue: Obviously it's the connection queue that is the weakness. There are 2 countermeasures which can do some mending on the hole: 1. Increase the size of the connection queue; 2. Decrease the connection establishment time-out period ; While each countermeasure has pros and cons (for and against, 利 和 弊 ), they can be used to help reduce the effects of a focused SYN attack. Web Security : Theory And Applications 65 / 128

66 SYN Cookies : It is possible to specifically defend against the SYN spoofing attack by using a modified version of the TCP connection handling code. Instead of saving the connection details on the server, critical information about the requested connection is cryptographically encoded in a cookie that is sent as the server's initial sequence number. Network IDPS (IDS/IPS): Detection and prevention are always the important tasks in security against attack. Web Security : Theory And Applications 66 / 128

67 Leave no space for XSS Brief introduction to XSS Methods effective to avert XSS Questions you may have Web Security : Theory And Applications 67 / 128

68 Brief introduction: We have already gone through in chapter 9. So, let me see. XSS is alert(1)? Oh, I got it. XSS is short for Cross-site Scriping. Web Security : Theory And Applications 68 / 128

69 Cross-site scripting (XSS) is a type of computer security vulnerability typically found in web applications that enables attackers to inject client-side script into web pages viewed by other users. Injection is an attack that involves breaking out of a data context and switching into a code context through the use of special characters that are significant in the interpreter being used. Code Injection: the exploitation of a computer bug caused by processing invalid data. Code injection can be used by an attacker to introduce (or "inject") code into a computer program to change the course of execution. Web Security : Theory And Applications 69 / 128

70 Example: Try to inject code (like alert( XSS )): 1.<div>YourInput</div> 2.<td bgcolor=yourinput>abc</td> 3.<iframe src=youruploadfile/> So if all above has been done, check your answer. 1.</div><script>alert( XSS );</script><div> 2. #F00 ><script>alert( XSS );</script></td><td 3.Just upload a file contents: <script>alert( XSS );</script> Suggestions Keep on thinking about how XSS works. And you ll find the key hold by hackers. If you ve already designed some web pages, try to find out the vulnerabilities they have. Web Security : Theory And Applications 70 / 128

71 Effective Methods It s hard to say which method can do everything for you, because your asset has been nailed by different kinds of bad guys (e.g. thieves, robbers or trickers ). So, let s get started to arm ourselves now. Use Whitelist Model HTML is just like a template with slots where a developer is allowed to put untrusted data. What can we do with these slots that will exposed to attacker? And what appears in your mind immediately? Calm down and have a brainstorm WHITELIST! Web Security : Theory And Applications 71 / 128

72 Whitelist model is a kind of positive prevention model. In this model, the slots are defined and a few examples of each are provided. Developers should not put data into any other slots without a very careful analysis to ensure that what they are doing is safe. Browser parsing is extremely tricky and many innocuous looking characters can be significant in the right context. Web Security : Theory And Applications 72 / 128

73 Imagine this: You want to create a page whose background color can be changed by users. Emm.. Will an <input> tag be right <select name= Bgcolor > for receiving users <option value= #F00 >red</option> <option value= #0F0 >green</option> input? Like this. <option Cheers! value= #00F >blue</option> I m </select> gonna design my first web page. <input type= text name= Bgcolor /> A <select> tag works better indeed, though the choices are limited. Web Security : Theory And Applications 73 / 128

74 Escaping Escaping is a technique used to ensure that characters are treated as data, not as characters that are relevant to the interpreter s parser. You see that if we treat users input as string or some other type of data instead of characters that can be parsed by the interpreter, the code injection seems to be kept away from our website. Example: The plain input : <script> After escaping: &ltscript&gt As we know, &lt equals < and &gt equals > in HTML, just like \\ means \ in C. Web Security : Theory And Applications 74 / 128

75 Note: There re a lot of escaping functions in programming language, like PHP s htmlspecialchars() function and so on. But do remember that javascript also has a function called escape(), but it only makes a string portable not for security. Escaping is the primary means to make sure that untrusted data can t be used to convey an injection attack. There is no harm in escaping data properly it will still render in the browser properly. Escaping simply lets the interpreter know that the data is not intended to be executed, and therefore prevents attacks from working. Web Security : Theory And Applications 75 / 128

76 You Need a Security Encoding Library OWASP recommends using a security-focused encoding library to make sure these rules are properly implemented. The OWASP ESAPI project has created an escaping library in a variety of languages including Java,.NET, PHP, Classic ASP, Cold Fusion, Python, and Haskell. The ESAPI library can be used for escaping as described here and also for decoding (aka canonicalization), which is critical for input validation. Microsoft provides an encoding library named AntiXSS. Web Security : Theory And Applications 76 / 128

77 Give Your Own Rules The following rules are intended to prevent all XSS in your application. They should cover the vast majority of common use cases. (You do not have to allow all the rules in your organization) RULE #0 - Never Insert Untrusted Data Except in Allowed Locations RULE #1 - HTML Escape Before Inserting Untrusted Data into HTML Element Content RULE #2 - Attribute Escape Before Inserting Untrusted Data into HTML Common Attributes RULE #3 - JavaScript Escape Before Inserting Untrusted Data into HTML JavaScript Data Values RULE #4 - CSS Escape Before Inserting Untrusted Data into HTML Style Property Values Web Security : Theory And Applications 77 / 128

78 RULE #5 - URL Escape Before Inserting Untrusted Data into HTML URL Parameter Values RULE #6 - Use an HTML Policy engine to validate or clean user-driven HTML in an outbound way RULE #7 - Prevent DOM-based XSS Many organizations may find that allowing only Rule #1 and Rule #2 are sufficient for their needs. Web Security : Theory And Applications 78 / 128

79 CSRF & XSSI Brief Introduction to XSRF & XSSI Methods effective to avert XSRF & XSSI Questions you may have Web Security : Theory And Applications 79 / 128

80 Brief Introduction to CSRF & XSSI Cross-Site Request Forgery (CSRF) is a type of attack that occurs when a malicious Web site, , blog, instant message, or program causes a user s Web browser to perform an unwanted action on a trusted site for which the user is currently authenticated. Web Security : Theory And Applications 80 / 128

81 Cross Site Script Inclusion (XSSI): Browsers prevent pages of one domain from reading pages in other domains. But they do not prevent pages of a domain from referencing resources in other domains. In particular, they allow images to be rendered from other domains and scripts to be executed from other domains. An included script doesn't have its own security context. It runs in the security context of the page that included it. Web Security : Theory And Applications 81 / 128

82 A CSRF diagram Web Security : Theory And Applications 82 / 128

83 So that s really terrible if the XSRF or XSSI attack works. Do you have some effective measures in mind to prevent your web pages from them? Before we learning the measures, let s have a look at some measures which do not work and discuss why. 1. Using a Secret Cookie 2. Only Accepting POST Requests 3. Multi-Step Transactions 4. URL Rewriting Web Security : Theory And Applications 83 / 128

84 Effective Methods Synchronizer Token Pattern Checking Referer Header Client/User Prevention No Cross-Site Scripting (XSS) Vulnerabilities Web Security : Theory And Applications 84 / 128

85 Synchronizer Token Pattern When a Web application formulates a request, the application should include a hidden input parameter with a common name such as "CSRF Token". Like this <form> <input type= hidden id= CSRFToken value= values Hackers cannot get > </form> Web Security : Theory And Applications 85 / 128

86 The synchronizer token pattern requires the generating of random "challenge" tokens that are associated with the user's current session. These challenge tokens are the inserted within the HTML forms and links associated with sensitive serverside operations. When the user wishes to invoke these sensitive operations, the HTTP request should include this challenge token. Checking Referer Header This method is desirable for securing embedded network hardware such as modems, routers, and printers because it does not increase memory requirements. Web Security : Theory And Applications 86 / 128

87 Client/User Prevention Logoff immediately after using a Web application Do not allow your browser to save username/passwords, and do not allow sites to remember your login Do not use the same browser to access sensitive applications and to surf the Internet freely (tabbed browsing). The use of plugins such as No-Script makes POST based CSRF vulnerabilities difficult to exploit. This is because JavaScript is used to automatically submit the form when the exploit is loaded. Without JavaScript the attacker would have to trick the user into submitting the form manually. Web Security : Theory And Applications 87 / 128

88 No XSS Vulnerabilities Cross-Site Scripting is not necessary for CSRF to work. However, all stored cross-site scripting attacks and special case reflected cross-site scripting attacks can be used to defeat token based CSRF defenses, since a malicious XSS script can simply read the site generated token from the response, and include that token with a forged request. Web Security : Theory And Applications 88 / 128

89 Arbitrary Code Execution Introduction Severity Causes Defenses Experiments Web Security : Theory And Applications 89 / 128

90 Introduction Arbitrary code execution: an attacker's ability to execute any commands of the attacker's choice on a target machine or in a target process Most allow the execution of machine code Most inject and execute shellcode to give an attacker an easy way to manually run arbitrary commands Web Security : Theory And Applications 90 / 128

91 Severity Usually GAME OVER Attackers may be able to take control over the running program What s worse, they may break out the process to open a new shell on the computer From here, it's usually not hard to compromise the entire machine the server is running on There is often an attempt at a privilege escalation exploit in order to gain additional control Web Security : Theory And Applications 91 / 128

92 Causes Malware Control over the program counter (instruction pointer) of a running process Control over which instruction is executed next Inject code into the process Change the instruction pointer to have it point to the injected code Von Neumann architecture computers: do not make a general distinction between code and data Many newer CPUs have mechanisms to make this harder, such as a no-execute bit Web Security : Theory And Applications 92 / 128

93 Defenses No recipe or specific defense to prevent remote code execution A short list of some preventative measures Least Privilege: always run your application with the least privileges it needs Application Level Checks: avoid passing user input directly into commands that evaluate arbitrary code, like eval() or system(). Instead, use the user input as a switch to choose from a set of developer controlled commands Bounds Checks: implement proper bounds checks for non-safe languages like C++. Avoid unsafe string functions. Keep in mind that even safe languages like Python and Java use native libraries Web Security : Theory And Applications 93 / 128

94 Configuration Vulnerabilities Introduction Causes Severity Vulnerabilities Examples Defenses Experiments Web Security : Theory And Applications 94 / 128

95 Introduction Good security requires having a secure configuration defined and deployed for the application, frameworks, application server, web server, database server, and platform All these settings should be defined, implemented, and maintained as many are not shipped with secure defaults This includes keeping all software up to date, including all code libraries used by the application Web Security : Theory And Applications 95 / 128

96 Security misconfiguration in OWASP Top 10 Web Security : Theory And Applications 96 / 128

97 Causes Default settings: attackers can use them to attack your third party software, because they have easy access to a copy of it and they know the default account names and passwords Features that increase attack surface ( 表 面 积 ): a common example is a feature that is on by default but you are not using, so you didn't configure it and the default configuration is vulnerable Web Security : Theory And Applications 97 / 128

98 Severity Incorrect configurations can open Web sites to application security holes such as session hijacking, Cross-Site Scripting attacks, and even allow the disclosure of private data to attackers Web Security : Theory And Applications 98 / 128

99 Vulnerabilities Examples Early versions of the fingerd service finger: displays information about the system users In servicing a query finger user, this program needs to read a file named.plan in the home directory of user The fingerd service runs with root privileges, and in the earlier versions of UNIX used to open the.plan as root User u could symbolically link a file f as his/her.plan even if u has no read access to f User u can then read f by simply running finger u Web Security : Theory And Applications 99 / 128

100 Defenses Strategies Overview Default Passwords Secure Connection Strings Secure Network Transmission Encrypted Data Database Security Model-Based Analysis of Configuration Vulnerabilities Error Handling Web Security : Theory And Applications 100 / 128

101 Strategies Overview Turn off all unnecessary features by default Ensure that all switches and configuration for every feature is configured initially to be the safest possible choice Inspect the design to see if the less safe choices could be designed in another way e.g., password reset systems are intrinsically unsound from a security point of view. If you do not ship this component, your application s users will be safer Do not configure anything in preparation for an optionally deployable feature Web Security : Theory And Applications 101 / 128

102 Default Passwords Problems Applications often ship with well-known passwords Example: in a particularly excellent effort, NGS Software determined that Oracle s Unbreakable database server contained 168 default passwords out of the box Defenses Do not ship the product with any configured accounts Do not hard code any backdoor accounts or special access mechanisms Web Security : Theory And Applications 102 / 128

103 Secure Connection Strings Problem: connection strings to the database are rarely encrypted Defenses: Sometimes, no password is just as good as a clear text password Develop a method to obfuscate the password in some form, such as encrypting the name using the hostname or similar within code in a nonobvious way Ask the database developer to provide a library which allows remote connections using a password hash instead of a clear text credential Web Security : Theory And Applications 103 / 128

104 Secure Network Transmission Problem: by default, no unencrypted data should transit the network Defense: Use SSL, SSH and other forms of encryption (such as encrypted database connections) to prevent data from being intercepted or interfered with over the wire Web Security : Theory And Applications 104 / 128

105 Encrypted Data Problems: Some information security policies and standards require the database on-disk data to be encrypted But this is essentially useless if the database connection allows clear text access to the data Web Security : Theory And Applications 105 / 128

106 Defenses Passwords should only be stored in a nonreversible format, such as SHA-256 or similar Sensitive data like credit cards should be carefully considered do they have to be stored at all? Encrypted data should not have the key on the database server The encryption key should be able to be changed on a regular basis, and the algorithm should be sufficient to protect the data in a temporal timeframe Web Security : Theory And Applications 106 / 128

107 Database Security Problems Data obtained from the user needs to be stored securely Data shouldn t be obtained from the database itself Defenses The application should connect to the database using as low privilege user as is possible The application should connect to the database with different credentials for every trust distinction (e.g., user, read-only user, guest, administrators) and permissions applied to those tables and databases to prevent unauthorized access and modification The application should prefer safer constructs, such as stored procedures which do not require direct table access. Once all access is through stored procedures, access to the tables should be revoked Web Security : Theory And Applications 107 / 128

108 Defenses (continued) * For highly protected applications: The database should be on another host, which should be locked down with all current patches deployed and latest database software in use The application should connect to the database using an encrypted link. If not, the application server and database server must reside in a restricted network with minimal other hosts Do not deploy the database server in the main office network Web Security : Theory And Applications 108 / 128

109 Model-Based Analysis of Configuration Vulnerabilities: a method for automated and systematic analysis of system misconfiguration, from a paper with the same name, by C.R. Ramakrishnan and R. Sekar Main points Construction of high-level models of system components Formal statement of desired security-relevant properties of the composite system Automated analysis of system model to check deviation from desired security properties Web Security : Theory And Applications 109 / 128

110 Error Handling An important aspect of secure application development is to prevent information leakage. Error messages give an attacker great insight into the inner workings of an application Defenses Checked exceptions: the compiler shall complain if an exception for a particular API call is not caught. Java and C# are good examples of this, though not all types of error are checked; languages like C++ and C do not provide this safety When an exception or error is thrown we also need to log this occurrence Web Security : Theory And Applications 110 / 128

111 AJAX vulnerabilities Introduction How Does It Work AJAX Example Attacks and Vulnerabilities Defenses AJAX Security Tools Experiments Web Security : Theory And Applications 111 / 128

112 Introduction AJAX = Asynchronous JavaScript and XML AJAX is a technique for creating fast and dynamic web pages AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the whole page. But classic web pages, (which do not use AJAX) must reload the entire page if the content should change Examples of applications using AJAX: Google Maps, Gmail, Youtube, and Facebook tabs Web Security : Theory And Applications 112 / 128

113 How Does It Work Here is a figure demonstrating how AJAX works Web Security : Theory And Applications 113 / 128

114 AJAX is based on internet standards, and uses a combination of XMLHttpRequest object: to exchange data asynchronously with a server JavaScript/DOM: to display/interact with the information CSS (to style the data) XML/JSON (JavaScript Object Notation): the format for transferring data Browser-and-platform-independent Web Security : Theory And Applications 114 / 128

115 Attacks and Vulnerabilities Vulnerabilities Overview XMLHttpRequest Vulnerabilities Increased Attack Surface SQL Injection XSS Client Side Injection Threats AJAX Bridging CSRF DoS Browser Based Attacks Web Security : Theory And Applications 115 / 128

116 Vulnerabilities Overview Increased attack surface with many more inputs to secure Exposed internal functions of the application Client access to third-party resources with no built-in security and encoding mechanisms Failure to protect authentication information and sessions Blurred line between client-side and server-side code Web Security : Theory And Applications 116 / 128

117 Defenses Philosophies Overview: You must start with good planning. Efforts should be focused on reducing and simplifying the AJAX calls, and creating a standard format for responses that follows convention (ideally XML) where possible Follow best practice from sites such as the OWASP. This especially includes checking for Access Control and Input Validation flaws, whilst ensuring sensitive information travels over SSL rather than in the clear Never assume that browser side AJAX checks for access control or user input validation will replace the need for final rechecking at the Server. Adding AJAX controls will never reduce your validation workload, they will only increase it Web Security : Theory And Applications 117 / 128

118 Philosophies Overview (continued): Never assume that Client Side obfuscation (making the JavaScript difficult to read or decode) will protect your most important commercial secrets. Using JavaScript is a poor way to hide programming tricks and advances from your competitors Finally, you must be prepared to exercise a tight reign over your development team. Wonderful ideas using AJAX may sound compelling, but you should consider saving them for version 2, whilst you focus on building a rock-solid version Web Security : Theory And Applications 118 / 128

119 AJAX Security Tools Hardening tools assl HTMLProtector Acunetix Web Vulnerability Scanner Free Edition AjaxDNS Tools Despoof 2. Firefox tools Setting your master password Setting privacy options 3. Firefox add-ons Session Manager Homeland Security Threat Levels WiKID Web Security : Theory And Applications 119 / 128

120 Example: MySpace Attack What happened Samy (also known as JS.Spacehero) was an XSS worm developed to propagate across the MySpace social-networking site Carried a payload that would display the string "but most of all, Samy is my hero" on a victim's profile When a user viewed that profile, they would have the payload planted on their page. Within just 20 hours of its October 4, 2005 release, over one million users had run the payload, making Samy one of the fastest spreading viruses of all time Execution of the payload resulted in a friend request automatically being made to the author of the virus and in messages containing the payload being left on the profiles of the friends of the victim Web Security : Theory And Applications 120 / 128

121 Attacking method A combination of XSS tricks and lax security in certain Web browsers Trick: not <script>..</script>, but <div style="background:url('javascript:alert(1)')"> Browser fault: java<newline>script Trick: eval () Also utilized XMLHTTPRequest - a JavaScript object used in AJAX Web Security : Theory And Applications 121 / 128

122 Example: Yahoo! Mail Attack In June 2006, the Yamanner worm infected Yahoo's mail service The worm, using XSS and AJAX, took advantage of a vulnerability in Yahoo Mail's onload event handling When an infected was opened, the worm code executed its JavaScript, sending a copy of itself to all the Yahoo contacts of the infected user The infected carried a spoofed 'From' address picked randomly from the infected system, which made it look like an from a known user. Web Security : Theory And Applications 122 / 128

123 References / _3.html Web Security : Theory And Applications 123 / 128

124 References %2Fcom.ibm.cics.ts.webservices.doc%2Fconcepts%2Fdfhws_definit ion.html code_execution Web Security : Theory And Applications 124 / 128

125 References 27. C.R. Ramakrishnan and R. Sekar, Model-Based Analysis of Configuration Vulnerabilities ment IG-006) (OWASP-AJ-001) Web Security : Theory And Applications 125 / 128

126 References MySpace/ ajax_vulnerabilities Web Security : Theory And Applications 126 / 128

127 References _Web_Developer_Express Web Security : Theory And Applications 127 / 128

128 Thank you! Web Security : Theory And Applications 128 / 128

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not

More information

What is Web Security? Motivation

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

More information

Sitefinity Security and Best Practices

Sitefinity Security and Best Practices Sitefinity Security and Best Practices Table of Contents Overview The Ten Most Critical Web Application Security Risks Injection Cross-Site-Scripting (XSS) Broken Authentication and Session Management

More information

Web-Application Security

Web-Application Security Web-Application Security Kristian Beilke Arbeitsgruppe Sichere Identität Fachbereich Mathematik und Informatik Freie Universität Berlin 29. Juni 2011 Overview Web Applications SQL Injection XSS Bad Practice

More information

Where every interaction matters.

Where every interaction matters. Where every interaction matters. Peer 1 Vigilant Web Application Firewall Powered by Alert Logic The Open Web Application Security Project (OWASP) Top Ten Web Security Risks and Countermeasures White Paper

More information

Last update: February 23, 2004

Last update: February 23, 2004 Last update: February 23, 2004 Web Security Glossary The Web Security Glossary is an alphabetical index of terms and terminology relating to web application security. The purpose of the Glossary is to

More information

elearning for Secure Application Development

elearning for Secure Application Development elearning for Secure Application Development Curriculum Application Security Awareness Series 1-2 Secure Software Development Series 2-8 Secure Architectures and Threat Modeling Series 9 Application Security

More information

Security features of ZK Framework

Security features of ZK Framework 1 Security features of ZK Framework This document provides a brief overview of security concerns related to JavaScript powered enterprise web application in general and how ZK built-in features secures

More information

Chapter 1 Web Application (In)security 1

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

More information

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

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

More information

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications 1. Introduction 2. Web Application 3. Components 4. Common Vulnerabilities 5. Improving security in Web applications 2 What does World Wide Web security mean? Webmasters=> confidence that their site won

More information

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY www.alliancetechpartners.com WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY More than 70% of all websites have vulnerabilities

More information

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top

More information

ANNEXURE-1 TO THE TENDER ENQUIRY NO.: DPS/AMPU/MIC/1896. Network Security Software Nessus- Technical Details

ANNEXURE-1 TO THE TENDER ENQUIRY NO.: DPS/AMPU/MIC/1896. Network Security Software Nessus- Technical Details Sub: Supply, Installation, setup and testing of Tenable Network Security Nessus vulnerability scanner professional version 6 or latest for scanning the LAN, VLAN, VPN and IPs with 3 years License/Subscription

More information

Web Application Security

Web Application Security E-SPIN PROFESSIONAL BOOK Vulnerability Management Web Application Security ALL THE PRACTICAL KNOW HOW AND HOW TO RELATED TO THE SUBJECT MATTERS. COMBATING THE WEB VULNERABILITY THREAT Editor s Summary

More information

Enterprise Application Security Workshop Series

Enterprise Application Security Workshop Series Enterprise Application Security Workshop Series Phone 877-697-2434 fax 877-697-2434 www.thesagegrp.com Defending JAVA Applications (3 Days) In The Sage Group s Defending JAVA Applications workshop, participants

More information

Criteria for web application security check. Version 2015.1

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-

More information

Ruby on Rails Secure Coding Recommendations

Ruby on Rails Secure Coding Recommendations Introduction Altius IT s list of Ruby on Rails Secure Coding Recommendations is based upon security best practices. This list may not be complete and Altius IT recommends this list be augmented with additional

More information

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering How to break in Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering Time Agenda Agenda Item 9:30 10:00 Introduction 10:00 10:45 Web Application Penetration

More information

Cross Site Scripting Prevention

Cross Site Scripting Prevention Project Report CS 649 : Network Security Cross Site Scripting Prevention Under Guidance of Prof. Bernard Menezes Submitted By Neelamadhav (09305045) Raju Chinthala (09305056) Kiran Akipogu (09305074) Vijaya

More information

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities Thomas Moyer Spring 2010 1 Web Applications What has changed with web applications? Traditional applications

More information

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION External Vulnerability Assessment -Technical Summary- Prepared for: ABC ORGANIZATI On March 9, 2008 Prepared by: AOS Security Solutions 1 of 13 Table of Contents Executive Summary... 3 Discovered Security

More information

10. Java Servelet. Introduction

10. Java Servelet. Introduction Chapter 10 Java Servlets 227 10. Java Servelet Introduction Java TM Servlet provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing

More information

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability WWW Based upon HTTP and HTML Runs in TCP s application layer Runs on top of the Internet Used to exchange

More information

Web Application Guidelines

Web Application Guidelines Web Application Guidelines Web applications have become one of the most important topics in the security field. This is for several reasons: It can be simple for anyone to create working code without security

More information

Magento Security and Vulnerabilities. Roman Stepanov

Magento Security and Vulnerabilities. Roman Stepanov Magento Security and Vulnerabilities Roman Stepanov http://ice.eltrino.com/ Table of contents Introduction Open Web Application Security Project OWASP TOP 10 List Common issues in Magento A1 Injection

More information

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 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

More information

ArcGIS Server Security Threats & Best Practices 2014. David Cordes Michael Young

ArcGIS Server Security Threats & Best Practices 2014. David Cordes Michael Young ArcGIS Server Security Threats & Best Practices 2014 David Cordes Michael Young Agenda Introduction Threats Best practice - ArcGIS Server settings - Infrastructure settings - Processes Summary Introduction

More information

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com SAINT Integrated Network Vulnerability Scanning and Penetration Testing www.saintcorporation.com Introduction While network vulnerability scanning is an important tool in proactive network security, penetration

More information

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 Web Application Hacking (Penetration Testing) 5-day Hands-On Course Course Description Our web sites are under attack on a daily basis

More information

Web Application Security

Web Application Security Web Application Security Prof. Sukumar Nandi Indian Institute of Technology Guwahati Agenda Web Application basics Web Network Security Web Host Security Web Application Security Best Practices Questions?

More information

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair dave.wichers@owasp.

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair dave.wichers@owasp. and Top 10 (2007 Update) Dave Wichers The Foundation Conferences Chair [email protected] COO, Aspect Security [email protected] Copyright 2007 - The Foundation This work is available

More information

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP

More information

The Top Web Application Attacks: Are you vulnerable?

The Top Web Application Attacks: Are you vulnerable? QM07 The Top Web Application Attacks: Are you vulnerable? John Burroughs, CISSP Sr Security Architect, Watchfire Solutions [email protected] Agenda Current State of Web Application Security Understanding

More information

Top Ten Web Attacks. Saumil Shah Net-Square. BlackHat Asia 2002, Singapore

Top Ten Web Attacks. Saumil Shah Net-Square. BlackHat Asia 2002, Singapore Top Ten Web Attacks Saumil Shah Net-Square BlackHat Asia 2002, Singapore TodayÕs battleground Ð the Web Web sites and web applications rapidly growing. Complex business applications are now delivered over

More information

FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES Purpose: The Department of Information Technology (DoIT) is committed to developing secure applications. DoIT s System Development Methodology (SDM) and Application Development requirements ensure that

More information

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus ASP.NET MVC Secure Coding 4-Day hands on Course Course Syllabus Course description ASP.NET MVC Secure Coding 4-Day hands on Course Secure programming is the best defense against hackers. This multilayered

More information

Nuclear Regulatory Commission Computer Security Office Computer Security Standard

Nuclear Regulatory Commission Computer Security Office Computer Security Standard Nuclear Regulatory Commission Computer Security Office Computer Security Standard Office Instruction: Office Instruction Title: CSO-STD-1108 Web Application Standard Revision Number: 1.0 Effective Date:

More information

Adobe Systems Incorporated

Adobe Systems Incorporated Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...

More information

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Detecting Web Application Vulnerabilities Using Open Source Means OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Kostas Papapanagiotou Committee Member OWASP Greek Chapter [email protected]

More information

Learn Ethical Hacking, Become a Pentester

Learn Ethical Hacking, Become a Pentester Learn Ethical Hacking, Become a Pentester Course Syllabus & Certification Program DOCUMENT CLASSIFICATION: PUBLIC Copyrighted Material No part of this publication, in whole or in part, may be reproduced,

More information

Project 2: Web Security Pitfalls

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

More information

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek ([email protected])

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek (cjjarabe@ucalgary.ca) 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.

More information

FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE

FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE Purpose: This procedure identifies what is required to ensure the development of a secure application. Procedure: The five basic areas covered by this document include: Standards for Privacy and Security

More information

SY0-201. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

SY0-201. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users. From a high-level standpoint, attacks on computer systems and networks can be grouped

More information

Last Updated: July 2011. STATISTICA Enterprise Server Security

Last Updated: July 2011. STATISTICA Enterprise Server Security Last Updated: July 2011 STATISTICA Enterprise Server Security STATISTICA Enterprise Server Security Page 2 of 10 Table of Contents Executive Summary... 3 Introduction to STATISTICA Enterprise Server...

More information

Secure Web Development Teaching Modules 1. Security Testing. 1.1 Security Practices for Software Verification

Secure Web Development Teaching Modules 1. Security Testing. 1.1 Security Practices for Software Verification Secure Web Development Teaching Modules 1 Security Testing Contents 1 Concepts... 1 1.1 Security Practices for Software Verification... 1 1.2 Software Security Testing... 2 2 Labs Objectives... 2 3 Lab

More information

(WAPT) Web Application Penetration Testing

(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:

More information

Introduction. Two levels of security vulnerabilities:

Introduction. Two levels of security vulnerabilities: Introduction Two levels of security vulnerabilities: Project level (cyphers, standard protocols, BAN logic, etc.) Implementation level (bugs, unhandled inputs, misconfigurations, etc.) There are two levels

More information

University of Wisconsin Platteville SE411. Senior Seminar. Web System Attacks. Maxwell Friederichs. April 18, 2013

University of Wisconsin Platteville SE411. Senior Seminar. Web System Attacks. Maxwell Friederichs. April 18, 2013 University of Wisconsin Platteville SE411 Senior Seminar Web System Attacks Maxwell Friederichs April 18, 2013 Abstract 1 Data driven web applications are at the cutting edge of technology, and changing

More information

Introduction: 1. Daily 360 Website Scanning for Malware

Introduction: 1. Daily 360 Website Scanning for Malware Introduction: SiteLock scans your website to find and fix any existing malware and vulnerabilities followed by using the protective TrueShield firewall to keep the harmful traffic away for good. Moreover

More information

Introduction to Computer Security

Introduction to Computer Security Introduction to Computer Security Web Application Security Pavel Laskov Wilhelm Schickard Institute for Computer Science Modern threat landscape The majority of modern vulnerabilities are found in web

More information

Secure Software Programming and Vulnerability Analysis

Secure Software Programming and Vulnerability Analysis Secure Software Programming and Vulnerability Analysis Christopher Kruegel [email protected] http://www.auto.tuwien.ac.at/~chris Operations and Denial of Service Secure Software Programming 2 Overview

More information

Lecture 11 Web Application Security (part 1)

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)

More information

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs Why Network Security? Keep the bad guys out. (1) Closed networks

More information

Basic & Advanced Administration for Citrix NetScaler 9.2

Basic & Advanced Administration for Citrix NetScaler 9.2 Basic & Advanced Administration for Citrix NetScaler 9.2 Day One Introducing and deploying Citrix NetScaler Key - Brief Introduction to the NetScaler system Planning a NetScaler deployment Deployment scenarios

More information

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011 Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011 Agenda Evolving Threats Operating System Application User Generated Content JPL s Application Security Program Securing

More information

Web application security

Web application security Web application security Sebastian Lopienski CERN Computer Security Team openlab and summer lectures 2010 (non-web question) Is this OK? int set_non_root_uid(int uid) { // making sure that uid is not 0

More information

Web Application Penetration Testing

Web Application Penetration Testing Web Application Penetration Testing 2010 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Will Bechtel [email protected]

More information

Web App Security Audit Services

Web App Security Audit Services locuz.com Professional Services Web App Security Audit Services The unsecured world today Today, over 80% of attacks against a company s network come at the Application Layer not the Network or System

More information

Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers

Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers The Website can be developed under Windows or Linux Platform. Windows Development should be use: ASP, ASP.NET 1.1/ 2.0, and

More information

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure Vulnerabilities, Weakness and Countermeasures Massimo Cotelli CISSP Secure : Goal of This Talk Security awareness purpose Know the Web Application vulnerabilities Understand the impacts and consequences

More information

WEB SECURITY. Oriana Kondakciu 0054118 Software Engineering 4C03 Project

WEB SECURITY. Oriana Kondakciu 0054118 Software Engineering 4C03 Project WEB SECURITY Oriana Kondakciu 0054118 Software Engineering 4C03 Project The Internet is a collection of networks, in which the web servers construct autonomous systems. The data routing infrastructure

More information

OWASP Top Ten Tools and Tactics

OWASP Top Ten Tools and Tactics OWASP Top Ten Tools and Tactics Russ McRee Copyright 2012 HolisticInfoSec.org SANSFIRE 2012 10 JULY Welcome Manager, Security Analytics for Microsoft Online Services Security & Compliance Writer (toolsmith),

More information

Web Application Security Assessment and Vulnerability Mitigation Tests

Web Application Security Assessment and Vulnerability Mitigation Tests White paper BMC Remedy Action Request System 7.6.04 Web Application Security Assessment and Vulnerability Mitigation Tests January 2011 www.bmc.com Contacting BMC Software You can access the BMC Software

More information

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6 WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL Ensuring Compliance for PCI DSS 6.5 and 6.6 CONTENTS 04 04 06 08 11 12 13 Overview Payment Card Industry Data Security Standard PCI Compliance for Web Applications

More information

Top Ten Web Application Vulnerabilities in J2EE. Vincent Partington and Eelco Klaver Xebia

Top Ten Web Application Vulnerabilities in J2EE. Vincent Partington and Eelco Klaver Xebia Top Ten Web Application Vulnerabilities in J2EE Vincent Partington and Eelco Klaver Xebia Introduction Open Web Application Security Project is an open project aimed at identifying and preventing causes

More information

Locking down a Hitachi ID Suite server

Locking down a Hitachi ID Suite server Locking down a Hitachi ID Suite server 2016 Hitachi ID Systems, Inc. All rights reserved. Organizations deploying Hitachi ID Identity and Access Management Suite need to understand how to secure its runtime

More information

N-CAP Users Guide Everything You Need to Know About Using the Internet! How Firewalls Work

N-CAP Users Guide Everything You Need to Know About Using the Internet! How Firewalls Work N-CAP Users Guide Everything You Need to Know About Using the Internet! How Firewalls Work How Firewalls Work By: Jeff Tyson If you have been using the internet for any length of time, and especially if

More information

Columbia University Web Security Standards and Practices. Objective and Scope

Columbia University Web Security Standards and Practices. Objective and Scope Columbia University Web Security Standards and Practices Objective and Scope Effective Date: January 2011 This Web Security Standards and Practices document establishes a baseline of security related requirements

More information

WEB APPLICATION HACKING. Part 2: Tools of the Trade (and how to use them)

WEB APPLICATION HACKING. Part 2: Tools of the Trade (and how to use them) WEB APPLICATION HACKING Part 2: Tools of the Trade (and how to use them) Jonathan Eddy September 27, 2013 Last Updated September 27, 2013 MAPPING THE APPLICATION 4 2 ENUMERATING CONTENT AND FUNCTIONALITY

More information

Check list for web developers

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

More information

Ethical Hacking as a Professional Penetration Testing Technique

Ethical Hacking as a Professional Penetration Testing Technique Ethical Hacking as a Professional Penetration Testing Technique Rochester ISSA Chapter Rochester OWASP Chapter - Durkee Consulting, Inc. [email protected] 2 Background Founder of Durkee Consulting since 1996

More information

CatDV Pro Workgroup Serve r

CatDV Pro Workgroup Serve r Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability

More information

REDCap General Security Overview

REDCap General Security Overview REDCap General Security Overview Introduction REDCap is a web application for building and managing online surveys and databases, and thus proper security practices must instituted on the network and server(s)

More information

Recommended Practice Case Study: Cross-Site Scripting. February 2007

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

More information

Web Application Vulnerability Testing with Nessus

Web Application Vulnerability Testing with Nessus The OWASP Foundation http://www.owasp.org Web Application Vulnerability Testing with Nessus Rïk A. Jones, CISSP [email protected] Rïk A. Jones Web developer since 1995 (16+ years) Involved with information

More information

Essential IT Security Testing

Essential IT Security Testing Essential IT Security Testing Application Security Testing for System Testers By Andrew Muller Director of Ionize Who is this guy? IT Security consultant to the stars Member of OWASP Member of IT-012-04

More information

Members of the UK cyber security forum. Soteria Health Check. A Cyber Security Health Check for SAP systems

Members of the UK cyber security forum. Soteria Health Check. A Cyber Security Health Check for SAP systems Soteria Health Check A Cyber Security Health Check for SAP systems Soteria Cyber Security are staffed by SAP certified consultants. We are CISSP qualified, and members of the UK Cyber Security Forum. Security

More information

Frequent Denial of Service Attacks

Frequent Denial of Service Attacks Frequent Denial of Service Attacks Aditya Vutukuri Science Department University of Auckland E-mail:[email protected] Abstract Denial of Service is a well known term in network security world as

More information

WHITE PAPER. FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6

WHITE PAPER. FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6 WHITE PAPER FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6 Ensuring compliance for PCI DSS 6.5 and 6.6 Page 2 Overview Web applications and the elements surrounding them

More information

CS 356 Lecture 16 Denial of Service. Spring 2013

CS 356 Lecture 16 Denial of Service. Spring 2013 CS 356 Lecture 16 Denial of Service Spring 2013 Review Chapter 1: Basic Concepts and Terminology Chapter 2: Basic Cryptographic Tools Chapter 3 User Authentication Chapter 4 Access Control Lists Chapter

More information

CS5008: Internet Computing

CS5008: Internet Computing CS5008: Internet Computing Lecture 22: Internet Security A. O Riordan, 2009, latest revision 2015 Internet Security When a computer connects to the Internet and begins communicating with others, it is

More information

IJMIE Volume 2, Issue 9 ISSN: 2249-0558

IJMIE Volume 2, Issue 9 ISSN: 2249-0558 Survey on Web Application Vulnerabilities Prevention Tools Student, Nilesh Khochare* Student,Satish Chalurkar* Professor, Dr.B.B.Meshram* Abstract There are many commercial software security assurance

More information

ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST

ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST Performed Between Testing start date and end date By SSL247 Limited SSL247 Limited 63, Lisson Street Marylebone London

More information

How To Protect A Web Application From Attack From A Trusted Environment

How To Protect A Web Application From Attack From A Trusted Environment Standard: Version: Date: Requirement: Author: PCI Data Security Standard (PCI DSS) 1.2 October 2008 6.6 PCI Security Standards Council Information Supplement: Application Reviews and Web Application Firewalls

More information

National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research

National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research National Information Security Group The Top Web Application Hack Attacks Danny Allan Director, Security Research 1 Agenda Web Application Security Background What are the Top 10 Web Application Attacks?

More information

A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith

A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications Slides by Connor Schnaith Cross-Site Request Forgery One-click attack, session riding Recorded since 2001 Fourth out of top 25 most

More information

GFI White Paper PCI-DSS compliance and GFI Software products

GFI White Paper PCI-DSS compliance and GFI Software products White Paper PCI-DSS compliance and Software products The Payment Card Industry Data Standard () compliance is a set of specific security standards developed by the payment brands* to help promote the adoption

More information

Implementation of Web Application Firewall

Implementation of Web Application Firewall Implementation of Web Application Firewall OuTian 1 Introduction Abstract Web 層 應 用 程 式 之 攻 擊 日 趨 嚴 重, 而 國 內 多 數 企 業 仍 不 知 該 如 何 以 資 安 設 備 阻 擋, 仍 在 採 購 傳 統 的 Firewall/IPS,

More information

White Paper BMC Remedy Action Request System Security

White Paper BMC Remedy Action Request System Security White Paper BMC Remedy Action Request System Security June 2008 www.bmc.com Contacting BMC Software You can access the BMC Software website at http://www.bmc.com. From this website, you can obtain information

More information

Threat Modeling/ Security Testing. Tarun Banga, Adobe 1. Agenda

Threat Modeling/ Security Testing. Tarun Banga, Adobe 1. Agenda Threat Modeling/ Security Testing Presented by: Tarun Banga Sr. Manager Quality Engineering, Adobe Quality Leader (India) Adobe Systems India Pvt. Ltd. Agenda Security Principles Why Security Testing Security

More information

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet March 8, 2012 Stephen Kost Chief Technology Officer Integrigy Corporation Phil Reimann Director of Business Development

More information

JVA-122. Secure Java Web Development

JVA-122. Secure Java Web Development JVA-122. Secure Java Web Development Version 7.0 This comprehensive course shows experienced developers of Java EE applications how to secure those applications and to apply best practices with regard

More information

Workday Mobile Security FAQ

Workday Mobile Security FAQ Workday Mobile Security FAQ Workday Mobile Security FAQ Contents The Workday Approach 2 Authentication 3 Session 3 Mobile Device Management (MDM) 3 Workday Applications 4 Web 4 Transport Security 5 Privacy

More information

Question Name C 1.1 Do all users and administrators have a unique ID and password? Yes

Question Name C 1.1 Do all users and administrators have a unique ID and password? Yes Category Question Name Question Text C 1.1 Do all users and administrators have a unique ID and password? C 1.1.1 Passwords are required to have ( # of ) characters: 5 or less 6-7 8-9 Answer 10 or more

More information

Barracuda Web Application Firewall vs. Intrusion Prevention Systems (IPS) Whitepaper

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

More information

Secure Web Development Teaching Modules 1. Threat Assessment

Secure Web Development Teaching Modules 1. Threat Assessment Secure Web Development Teaching Modules 1 Threat Assessment Contents 1 Concepts... 1 1.1 Software Assurance Maturity Model... 1 1.2 Security practices for construction... 3 1.3 Web application security

More information