The document discusses testing for big data systems. It introduces John Heintz and his background and goals for the presentation, which are to demystify test automation for big data and provide executable examples. The presentation will include code examples for testing Hadoop and Riak using simple Java and configuration. It will also discuss related concepts like MapReduce, CAP theorem, and the big data ecosystem. The document suggests using a CI/DevOps environment with virtualization to test on a realistic cluster.
This document contains conceptual exercises and programming problems related to security for a SimpleWebServer application.
The conceptual exercises ask about the relationship between authentication and authorization and about threats posed by allowing file uploads.
The programming problems involve modifying the application to include file storage and logging functionality, mounting an attack to deface a home page, and mounting another attack to gain root access on the system running the server while covering tracks in the web log.
This document discusses how providing feedback is important for building high-performing agile teams. It provides an example of how team members can give each other feedback in a constructive way, focusing on specific behaviors and their impacts rather than making generalizations, and asking for joint problem solving. The feedback discussed occurred between two team members and was meant to privately address an issue before it negatively impacted the team. Providing feedback helps teams retain respect among members and allows for self-correction of issues.
Test design problems investigation taixiaomei 20120807drewz lin
This document summarizes a test design problems investigation report. It discusses several core problems with test analysis and design, including lack of principles around test case detail, abnormal cases, and sufficient coverage. It also notes an imbalance between designing many test cases and having time to execute them all. The document advocates for risk-based strategies and focusing test design on the most critical parts of the product to help address these issues.
The document discusses risk management for large agile projects. It defines risk management and describes how agile implicitly manages risk through feedback cycles, co-located teams, and continuous delivery. However, it notes limitations of agile and traditional risk management approaches for complex projects. The document proposes identifying risk drivers, conducting agile risk assessments against those drivers, and integrating risk management into the project workflow to better handle uncertainty and interdependencies at scale.
The document discusses testing for big data systems. It introduces John Heintz and his background and goals for the presentation, which are to demystify test automation for big data and provide executable examples. The presentation will include code examples for testing Hadoop and Riak using simple Java and configuration. It will also discuss related concepts like MapReduce, CAP theorem, and the big data ecosystem. The document suggests using a CI/DevOps environment with virtualization to test on a realistic cluster.
This document contains conceptual exercises and programming problems related to security for a SimpleWebServer application.
The conceptual exercises ask about the relationship between authentication and authorization and about threats posed by allowing file uploads.
The programming problems involve modifying the application to include file storage and logging functionality, mounting an attack to deface a home page, and mounting another attack to gain root access on the system running the server while covering tracks in the web log.
This document discusses how providing feedback is important for building high-performing agile teams. It provides an example of how team members can give each other feedback in a constructive way, focusing on specific behaviors and their impacts rather than making generalizations, and asking for joint problem solving. The feedback discussed occurred between two team members and was meant to privately address an issue before it negatively impacted the team. Providing feedback helps teams retain respect among members and allows for self-correction of issues.
Test design problems investigation taixiaomei 20120807drewz lin
This document summarizes a test design problems investigation report. It discusses several core problems with test analysis and design, including lack of principles around test case detail, abnormal cases, and sufficient coverage. It also notes an imbalance between designing many test cases and having time to execute them all. The document advocates for risk-based strategies and focusing test design on the most critical parts of the product to help address these issues.
The document discusses risk management for large agile projects. It defines risk management and describes how agile implicitly manages risk through feedback cycles, co-located teams, and continuous delivery. However, it notes limitations of agile and traditional risk management approaches for complex projects. The document proposes identifying risk drivers, conducting agile risk assessments against those drivers, and integrating risk management into the project workflow to better handle uncertainty and interdependencies at scale.
Soundararajan arthurbalci agile2012_handout_v1_0drewz lin
The document discusses Agile methods and strategies for assessing an organization's adoption of Agile principles and practices. It begins by introducing the Agile Assessment Framework (AAF) which includes objectives, principles, and strategies taken from the AAF. It then provides 3 approaches for assessing Agile methods - identification, solution approach, and benefits to organizations. The approaches analyze the objectives, development process, and execution of the adopted Agile method. The document concludes by stating the benefits of Agile assessment include guiding improvements and enhancing an organization's Agile method and development environment.
The document provides an agenda and overview of an introduction to agile methodology presented by Damon Poole. It covers topics such as an overview of agile, cross-functional self-organized teams, user stories, agile planning, agile flow, and includes a Q&A section.
The document discusses message authentication codes (MACs), digital signatures, and their application in SSL/TLS. MACs use symmetric cryptography and hash functions to authenticate messages between parties that share a secret key. Digital signatures allow any party to verify a message's sender using public key cryptography. SSL/TLS establishes encrypted and authenticated connections using both symmetric MACs and asymmetric digital signatures, with the latter sometimes involving certificate authorities.
Simple methods for_reliable_user_involvementdrewz lin
The document discusses simple methods for involving real users in product design and development through contextual design. It recommends conducting field studies to understand what users actually do and care about. Contextual design involves contextual inquiry, interpretation sessions, work models, affinity diagramming, visioning, storyboards, interaction patterns, paper prototyping, and agile development. The goal is to design products that support and extend user intentions by embodying users' work practices discovered through contextual inquiry in the field.
The document describes "The Mega Framework", an additional framework developed by UOL R&D to scale Scrum across multiple teams working on a large product backlog. Key aspects of the framework include using feature teams, a prioritized mega backlog, growing teams before splitting, and additional synchronization meetings like Mega Planning and Mega Stand-ups to coordinate multiple Scrum teams. The framework helped scale Scrum from 2 initial teams in 2010 to 10 teams currently working together through practices focused on transparency, commitment and teamwork.
This document summarizes password security concepts and provides code examples for implementing password hashing and salting. It discusses how storing passwords in plaintext is insecure and how hashing passwords with a salt adds security against dictionary attacks. The code example shows a MiniPasswordManager class that initially stored passwords in plaintext but is modified to hash passwords and add salts for increased security.
Agile 2012 - leadership agility workshop slides -- final.pptxdrewz lin
At the Expert level, I would focus on fixing specific problems through proven practices.
At the Achiever level, I would emphasize process improvements and team motivation.
At the Catalyst level, I would step back to understand broader organizational challenges impacting agility.
Asymmetric key cryptography uses two keys - a public key that can be shared publicly and a private key that is kept secret. This allows two parties who have never shared secrets before, like Alice and Bob, to communicate securely by encrypting messages with each other's public keys. Common asymmetric algorithms discussed are RSA, which uses prime number factorization, and ECC, which is based on elliptic curve discrete logarithms. A public key infrastructure (PKI) with certificate authorities (CAs) is required to authenticate users and manage public keys.
Soundararajan arthurbalci agile2012_handout_v1_0drewz lin
The document discusses Agile methods and strategies for assessing an organization's adoption of Agile principles and practices. It begins by introducing the Agile Assessment Framework (AAF) which includes objectives, principles, and strategies taken from the AAF. It then provides 3 approaches for assessing Agile methods - identification, solution approach, and benefits to organizations. The approaches analyze the objectives, development process, and execution of the adopted Agile method. The document concludes by stating the benefits of Agile assessment include guiding improvements and enhancing an organization's Agile method and development environment.
The document provides an agenda and overview of an introduction to agile methodology presented by Damon Poole. It covers topics such as an overview of agile, cross-functional self-organized teams, user stories, agile planning, agile flow, and includes a Q&A section.
The document discusses message authentication codes (MACs), digital signatures, and their application in SSL/TLS. MACs use symmetric cryptography and hash functions to authenticate messages between parties that share a secret key. Digital signatures allow any party to verify a message's sender using public key cryptography. SSL/TLS establishes encrypted and authenticated connections using both symmetric MACs and asymmetric digital signatures, with the latter sometimes involving certificate authorities.
Simple methods for_reliable_user_involvementdrewz lin
The document discusses simple methods for involving real users in product design and development through contextual design. It recommends conducting field studies to understand what users actually do and care about. Contextual design involves contextual inquiry, interpretation sessions, work models, affinity diagramming, visioning, storyboards, interaction patterns, paper prototyping, and agile development. The goal is to design products that support and extend user intentions by embodying users' work practices discovered through contextual inquiry in the field.
The document describes "The Mega Framework", an additional framework developed by UOL R&D to scale Scrum across multiple teams working on a large product backlog. Key aspects of the framework include using feature teams, a prioritized mega backlog, growing teams before splitting, and additional synchronization meetings like Mega Planning and Mega Stand-ups to coordinate multiple Scrum teams. The framework helped scale Scrum from 2 initial teams in 2010 to 10 teams currently working together through practices focused on transparency, commitment and teamwork.
This document summarizes password security concepts and provides code examples for implementing password hashing and salting. It discusses how storing passwords in plaintext is insecure and how hashing passwords with a salt adds security against dictionary attacks. The code example shows a MiniPasswordManager class that initially stored passwords in plaintext but is modified to hash passwords and add salts for increased security.
Agile 2012 - leadership agility workshop slides -- final.pptxdrewz lin
At the Expert level, I would focus on fixing specific problems through proven practices.
At the Achiever level, I would emphasize process improvements and team motivation.
At the Catalyst level, I would step back to understand broader organizational challenges impacting agility.
Asymmetric key cryptography uses two keys - a public key that can be shared publicly and a private key that is kept secret. This allows two parties who have never shared secrets before, like Alice and Bob, to communicate securely by encrypting messages with each other's public keys. Common asymmetric algorithms discussed are RSA, which uses prime number factorization, and ECC, which is based on elliptic curve discrete logarithms. A public key infrastructure (PKI) with certificate authorities (CAs) is required to authenticate users and manage public keys.
Web security-–-everything-we-know-is-wrong-eoin-kearydrewz lin
1) Web application security is often approached incorrectly, focusing too much on annual penetration tests and compliance, rather than ongoing monitoring and prevention through the development process.
2) Many vulnerabilities are introduced through third party libraries and dependencies, which are not properly tested or managed. Continuous testing across the full software supply chain is needed.
3) Not all vulnerabilities are equal - context is important. A risk-based approach should prioritize the most critical issues based on factors like impact, likelihood, and the development environment. Compliance alone does not ensure real security.
This document summarizes a presentation about the mobile security Linux distribution Santoku Linux. It discusses how Santoku Linux was created by modifying Lubuntu to include mobile forensic and security tools from the company viaForensics. Some key tools discussed include AFLogical OSE for Android logical acquisitions, iPhone Backup Analyzer, and utilities for analyzing mobile malware samples. Real-world examples of analyzing the Any.DO task manager app and Korean banking malware are also provided.
This document discusses sandboxing untrusted JavaScript from third parties to improve security. It proposes a two-tier sandbox architecture that uses JavaScript libraries and wrappers, without requiring browser modifications. Untrusted code is executed in an isolated environment defined by policy code, and can only access approved APIs. This approach aims to mediate access between code and the browser securely and efficiently while maintaining compatibility with existing third-party scripts.
This document discusses how HTML5 features can be used for authentication purposes and addresses some security challenges. It describes APIs like local storage, canvas, geolocation, and notifications that could be leveraged for authentication factors like passwords, patterns, and one-time passwords. However, it also notes risks like storing sensitive data on devices, spoofing locations, and notifications not being reliable. The document advocates using HTML5 responsibly and understanding privacy and user behavior when designing authentication solutions.
Owasp advanced mobile-application-code-review-techniques-v0.2drewz lin
The document discusses code review techniques for advanced mobile applications. It begins with an overview of why mobile security is important given the rise in mobile usage. It then discusses different mobile application types and architectures that can be code reviewed, including native, hybrid, and HTML5 applications. The document outlines the goals of mobile application code reviews, such as understanding the application and finding security vulnerabilities. It provides the methodology for conducting code reviews, which includes gaining access to source code, understanding the technology, threat modeling, analyzing the code, and creating automation scripts. Finally, it discusses specific vulnerabilities that may be found in Windows Phone, hybrid, Android, and iOS applications.
The document discusses research conducted by Gregg Ganley and Gavin Black at MITRE in FY13-14 on iOS mobile application security. It describes their work on a tool called iMAS (iOS Mobile Application Security) which aims to provide additional security controls and containment for native iOS applications. iMAS addresses vulnerabilities related to runtime access, device access, application access, data at rest, and threats from app stores/malware. It utilizes techniques like encrypted code modules, forced inlining, secure MDM and more to raise security levels above standard iOS but below a fully customized/rooted mobile device environment. The document outlines the motivation, capabilities and future research directions for the iMAS project.
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfdrewz lin
This document discusses how to defeat cross-site scripting (XSS) and cross-site request forgery (XSRF) when using JavaServer Faces (JSF) frameworks. It covers validating user input, encoding output, and protecting view states to prevent XSS, as well as configuring JSF implementations to protect against XSRF by encrypting view states and adding tokens to URLs. The presentation emphasizes testing validation, encoding, and protection in specific JSF implementations since behaviors can differ.
This document summarizes a presentation on defending against CSRF (cross-site request forgery) attacks. It discusses four main design patterns for CSRF defenses: the synchronizer token pattern, double submit cookies, challenge-response systems, and checking the referrer header. It then provides details on implementing these patterns, specifically looking at libraries and features in .NET, .NET MVC, Anticsrf, CSRFGuard, and HDIV that can help implement CSRF tokens and validation. The document covers the tradeoffs of different approaches and considerations for using them effectively on the code and server level.
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21drewz lin
This document provides an overview of the OWASP Broken Web Applications (OWASP BWA) project. It discusses the background and motivation for the project, describes the current status including what applications are included in the virtual machine, outlines future plans, and solicits feedback to help guide and expand the project. The goal of OWASP BWA is to provide a free, open-source virtual machine containing a variety of intentionally vulnerable web applications to aid in testing tools and techniques for finding and addressing security issues.
This document provides a summary of a presentation by Robert Hansen on the future of browser security. Hansen argues that while browser developers want to improve security and privacy, their companies' business models focused on advertising revenue prohibit them from doing so. He outlines various techniques used by advertisers and browser companies to track users against their preferences. Hansen advocates for technical controls that allow users to opt out of tracking through a "can not track" approach, rather than relying on ineffective "do not track" policies. He concludes by discussing WhiteHat Security's focus on privacy and their plans to add more security and privacy features to their Aviator browser.
Appsec usa2013 js_libinsecurity_stefanodipaoladrewz lin
This document summarizes Stefano di Paola's talk on security issues with JavaScript libraries. It discusses how jQuery's $() method can be considered a "sink" that executes HTML passed to it, including examples of XSS via jQuery selectors and AJAX calls. It also covers problems with JSON parsing regular expressions, AngularJS expression injection, and credentials exposed in URLs. Solutions proposed include validating all input, auditing third-party libraries, and moving away from approaches like eval() that execute untrusted code.
Appsec2013 presentation-dickson final-with_all_final_editsdrewz lin
(1) A study surveyed 600 software developers and found that most did not have a basic understanding of software security concepts, with 73% failing an initial survey and the average score being 59% before training. (2) However, after training, developers' understanding of key concepts increased, with some areas like cross-site scripting seeing a 20 percentage point gain. (3) The study concluded that targeted security training can improve developers' knowledge in the short-term, though retention of this knowledge may require refresher training over time.
This document summarizes Bruno Gonçalves de Oliveira's talk on hacking web file servers for iOS. It introduces Bruno and his background in offensive security and discusses how iOS devices store a lot of information and mobile applications are often poorly designed and vulnerable. It provides examples of vulnerable file storage apps, outlines features and vulnerabilities like lack of encryption, authentication, XSS issues, and path traversal flaws. The document demonstrates exploits like unauthorized access to file systems on jailbroken devices and how to find vulnerable systems through mDNS queries. It concludes that mobile apps are the future but designers still do not prioritize security and there are too many apps for users to vet carefully.
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsdrewz lin
This document discusses forensic investigations of web exploitations. It presents a scenario where a web server in a DMZ zone was exploited but logs are unavailable, so network traffic must be analyzed. Wireshark will be used to analyze a PCAP file of recorded traffic to determine what happened and find any traces of commands or malware. The document also provides information on the costs of different types of cyber attacks, how to decode HTTP requests, and discusses tools that can be used for network forensics investigations like Wireshark, tcpdump, and Xplico.
Appsec2013 assurance tagging-robert martindrewz lin
The document discusses engineering software systems to be more secure against attacks. It notes that reducing a system's attack surface alone is not enough, as software and networks are too complex and it is impossible to know all vulnerabilities. It then discusses characteristics of advanced persistent threats, including that the initial attack may go unnoticed and adversaries cannot be fully kept out. Finally, it argues that taking a threat-driven perspective beyond just operational defense can help balance mitigation with detection and response.
The document summarizes a presentation on vulnerabilities found in SCADA systems between 2009-2013. It analyzed vulnerabilities by component, with the majority (66%) found in communication components like Modbus and DNP3 protocols. Examples of vulnerabilities are described for several devices. Real-world issues with SCADA systems are discussed like lack of authentication and patching. Recommendations are provided like auditing SCADA networks, implementing secure protocols and password policies, and keeping systems updated.
This 3-page document discusses the real-world challenges of implementing an agile software development lifecycle (SDLC) approach from the perspectives of Chris Eng and Ryan O'Boyle. It was presented at the OWASP AppSec USA conference on November 20, 2013 and focuses on practical lessons learned and best practices for incorporating security throughout an agile SDLC.
This document outlines a presentation given by Simón Roses Femerling on software security verification tools. It discusses BinSecSweeper, an open source tool created by VulnEx to scan binaries and check that security best practices were followed in development. The presentation covers using BinSecSweeper to verify in-house software, assess a company's software security posture, and compare the security of popular browsers. Examples of plugin checks and reports generated by BinSecSweeper are also provided.