<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jack+Mannino</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jack+Mannino"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Jack_Mannino"/>
		<updated>2026-05-02T16:06:27Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192287</id>
		<title>Virginia</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192287"/>
				<updated>2015-03-26T20:51:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== About  ====&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-nova.JPG|right|275px|Owasp-nova.JPG]]The '''OWASP Northern VA Local Chapter''' meetings are FREE and OPEN to anyone interested in learning more about application security. We encourage individuals to provide knowledge transfer via hands-on training and presentations of specific OWASP projects and research topics and sharing SDLC knowledge. &lt;br /&gt;
&lt;br /&gt;
We the encourage vendor-agnostic presentations to utilize the OWASP Powerpoint template when applicable and individual volunteerism to enable perpetual growth. As a 501(3)c non-profit association donations of meeting space or refreshments sponsorship is encouraged, simply contact the local chapter leaders listed on this page to discuss. Prior to participating with OWASP please review the Chapter Rules. &lt;br /&gt;
&lt;br /&gt;
The chapter is committed to providing an engaging experience for a variety of audience types ranging from local students and those beginning in app-sec, to those experienced and accomplished professionals who are looking for competent collaborators for OWASP-related projects. To this end, we will continue to conduct both monthly chapter meetings as well as out-of-band curricula, on application security topics. &lt;br /&gt;
&lt;br /&gt;
{{Chapter Template|chaptername=Virginia|extra =Come see us at a chapter meeting, jump on our Google Group, or email any of us directly.&lt;br /&gt;
&lt;br /&gt;
=== 2015 Chapter Election Candidates ===&lt;br /&gt;
*Mike McCabe - Board Chair&lt;br /&gt;
**OWASP Membership ID: 020000901&lt;br /&gt;
**Endorsement - Jack Mannino, Current Board Chair&lt;br /&gt;
**Full Disclosure: Mike reports directly to me at our day job.&lt;br /&gt;
**Mike is one of the most ethical, hard working, and analytical people I've had the pleasure to meet. In his previous two years serving on the OWASP NoVa board, Mike has been instrumental in keeping a healthy pipeline of interesting speakers as well as helping carve out new initiatives based on chapter feedback. I fully vouch for both his character and his ability to run the chapter in an ethical, high quality manner.&lt;br /&gt;
*Akshay Sivananda&lt;br /&gt;
**OWASP Membership ID:  020000050&lt;br /&gt;
**Endorsement - Ping Ning, Chapter Member&lt;br /&gt;
**Akshay is a seasoned information security professional, with broad experience in secure SDLC, vulnerability management, and software security initiative. I worked with Akshay before and enjoyed working with him. He was very supportive and always ready to provide a helping hand. He always has an open mind and respects various opinions. I think Akshay is a great candidate for the Owasp NoVA board and believe he will make significant contribution to the chapter. As a regular member of Owasp, I wholeheartedly endorse Akshay for the Owasp NoVA chapter board.&lt;br /&gt;
*Abdullah Munawar&lt;br /&gt;
**OWASP Membership ID: 020000037&lt;br /&gt;
**Endorsement - Jon Callahan, Chapter Member&lt;br /&gt;
**I worked with Abdullah for about a year and can personally attest to not only his knowledge but also his passion and drive to further himself in the security field. When committing to something, you'll know he will follow through and because of this, was my goto guy until we parted ways. Add on the 8 years worth of involvement with OWASP and you get someone who understands exactly how this chapter works and is willing to put the time in to keep it as great as it's been. &lt;br /&gt;
&lt;br /&gt;
=== Chapter Board ===&lt;br /&gt;
Previously having had a Chapter Leader, then a Chapter &amp;quot;Program Committee&amp;quot;, the chapter is now run by a full board (alphabetical order):&lt;br /&gt;
* Jack Mannino - Board Chair&lt;br /&gt;
* Jeremy Long&lt;br /&gt;
* Michael McCabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board member responsibilities include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;   * Providing governance for chapter and member activities in terms chapter mission and OWASP code of ethics&lt;br /&gt;
   * Recruiting OWASP membership&lt;br /&gt;
   * Driving OWASP NoVA Chapter attendance and involvement&lt;br /&gt;
   * Deferring to, facilitating, and supporting the activities and projects of chapter membership&lt;br /&gt;
   * Eliciting, scheduling, and coordinating chapter panels, speakers, and other sessions&lt;br /&gt;
   * Scouting, clearing, and scheduling chapter meeting venues and catering&lt;br /&gt;
   * Identifying opportunities for collaboration between chapter membership, OWASP global committees, and other organizations&lt;br /&gt;
   * Collecting and auditing use of chapter funds&lt;br /&gt;
   * Voting on chapter matters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more information on how the board was elected and what it's responsibilities are, please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;amp;authkey=CIS9zFM Chapter Board Election] |mailinglistsite=https://groups.google.com/forum/#!forum/owasp-nova|emailarchives=https://groups.google.com/forum/#!forum/owasp-nova}}&lt;br /&gt;
&lt;br /&gt;
You may also want to follow [http://twitter.com/OWASPNoVA/ @OWASPNoVA] on Twitter. &lt;br /&gt;
&lt;br /&gt;
=== Schedule  ===&lt;br /&gt;
&lt;br /&gt;
Meetings are (generally) held the first Thursday of the month.&lt;br /&gt;
&lt;br /&gt;
Note: We need speakers and topics! If you want to present, please contact [mailto:Jeremy.Long@owasp.org Jeremy] or [mailto:jack.mannino@owasp.org Jack]. We're very open to hearing from all our members.  &lt;br /&gt;
&lt;br /&gt;
== Next Meeting  ==&lt;br /&gt;
&lt;br /&gt;
For latest news check the meetup page here: [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/ Meetup].&lt;br /&gt;
&lt;br /&gt;
===October 2014===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' October 9th, 2014 @ 6:00pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' Uber Offices Tysons Corner, 1751 Pinnacle Drive, McLean, VA (1/2 mile from tysons corner metro)&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/205582912 Meetup]&lt;br /&gt;
&lt;br /&gt;
'''Agenda:''' &lt;br /&gt;
Join us for our Hack Night. We're switching the format up this month to include breakout sessions and collaborating on open source projects. Whether you're a builder, breaker, developer, or manager, come out to learn and collaborate.&lt;br /&gt;
&lt;br /&gt;
'''---&amp;gt; Special Notice: &amp;lt;---'''&lt;br /&gt;
&lt;br /&gt;
Please note that for this month, we will be moving the Meetup to Uber offices in Tyson's, as the space is configured extremely well for a &amp;quot;Hack Night&amp;quot; meetup (whiteboards, tables, etc). It is also Metro accessible.&lt;br /&gt;
&lt;br /&gt;
'''''Please bring your laptop!'''''&lt;br /&gt;
&lt;br /&gt;
== Past meetings ==&lt;br /&gt;
&lt;br /&gt;
===September 2014===&lt;br /&gt;
'''Date/Time:''' September 4th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/200805882/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will cover some chapter business then go straight into a session covering Ruby on Rails Security.&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
The World of Ruby on Rails Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Take a quick trip through the world of Ruby on Rails security! The journey will start with an overview of security features offered by the popular web framework, then detour through dangerous pitfalls and unsafe defaults, and finally end with suggestions for improving security in Rails apps and integrating improvements into the development process.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Justin Collins is a member of the application security team at Twitter and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===July 2014===&lt;br /&gt;
'''Date/Time:''' July 10th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/191678702/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will have a technical presentation on OAuth, and we will have an open forum on some upcoming changes to the chapter's format that we want feedback on before we move ahead with them. Our goal is to make OWASP NoVa a group that not only spreads education, but produces material for the broader application security community. Please join us and have your say in the way OWASP NoVa runs in the future!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
OAuth 1.0 Authorization and Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
OAuth 1.0 is an authorization standard based on the idea of a “valet key”. This presentation will provide an overview of the OAuth 1.0 authorization model, how it may fit in the enterprise environment, and some security implications for designers and security analyzers. OAuth 2.0 framework, the proposed standard to replace OAuth 1.0, will also be briefly discussed.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Ping Ning is a senior consultant at Cigital with 20 years of development and security experiences. He is practicing many software security services for clients, including architecture risk analysis, security architecture and design, secure code review, penetration testing, building security programs, and tools deployment and training.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===February 2013===&lt;br /&gt;
'''Date/Time:''' February 7th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/101839862/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Jeffrey Walton - &amp;quot;Securing Wireless Channels in the Mobile Space&amp;quot;, [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Securing Wireless Channels in the Mobile Space&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Secure channels are a cornerstone to individuals and employees on the go. The mobile environment adds additional pressures to securely delivering content to users - irregardless of whether its an email service delivering personal messages to a user, an organization providing company secrets to a mobile workforce, or a content provider streaming protected media to a subscriber. This talk will discuss the mobile environment, challenges to securely delivering content, examine past failures, offer remediation for issues in the environment, provide sample code for Android, iOS, .Net, OpenSSL, and discuss initiatives to address known issues.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Jeff has nearly 15 years of experience in a variety of roles including Systems Engineer, System Administrator, Developer, Security Engineer and Security Architect. He has worked with a number of Federal agencies and private institutions, including the Treasury Department, Social Security Administration, State Department, Diplomatic Security Service, financial institutions, and defense contractors. He has designed mobile solutions; developed secure containers; implemented secure channels; integrated management functions such as password lockouts and remote wipes; performed code reviews; and integrated security libraries such as Microsoft CAPI, Certicom Security Builder, OpenSSL and Crypto++. Jeff has also overseen and performed certification and accreditation audits, secure code reviews, and architectural risk assessments on traditional and mobile systems of varying code base sizes (primarily Objective C, C/C++ with Java, .Net).&lt;br /&gt;
&lt;br /&gt;
'''Downloads:'''&lt;br /&gt;
[[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]], [[Media:pubkey-pin-supplement.pdf|Supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===January 2013===&lt;br /&gt;
'''Date/Time:''' January 10th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/5106285036 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Upcoming chapter elections and 2013 plans&lt;br /&gt;
 * Talk: &amp;quot;Automating (Some) Android Security Testing&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Automating (Some) Android Security Testing&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Dynamically assessing an Android application for security issues requires examining many different layers. Some areas are extremely feasible to automate, while some areas may lend themselves better to manual analysis or semi-automated analysis. This presentation will present a more semi-automated approach to assessing applications rather than 'fire and forget' testing. We'll also look at some of the prerequisites for performing Android testing as well as some of the essentials for things you'll want in your testing environment (such as coffee and Red Bull).&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[https://www.owasp.org/index.php/User:Jack_Mannino Jack Mannino]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===October 2012===&lt;br /&gt;
'''Date/Time:''' October 4th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/4430947082 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/Dan_Cornell Dan Cornell] - &amp;quot;Benchmarking Web Application Scanners for YOUR Organization&amp;quot;, [https://www.owasp.org/images/7/73/OWASP_BenchmarkingWebApplicationScannersForYourOrganization_Content-1.pptx Presentation Slides]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Benchmarking Web Application Scanners for YOUR Organization&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Web applications pose significant risks for organizations. The selection of an appropriate scanning product or service can be challenging because every organization develops their web applications differently and decisions made by developers can cause wide swings in the value of different scanning technologies. To make a solid, informed decision, organizations need to create development team- and organization-specific benchmarks for the effectiveness of potential scanning technologies. This involves creating a comprehensive model of false positives, false negatives and other factors prior to mandating analysis technologies and making decisions about application risk management. This presentation provides a model for evaluating application analysis technologies, introduces an open source tool for benchmarking and comparing tool effectiveness, and outlines a process for making organization-specific decisions about analysis technology selection.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Dan Cornell has over 15 years experience architecting and developing web-based software systems. As CTO, he leads Denim Group's security research team in investigating the application of secure coding and development techniques to improve web-based software development methodologies. He also heads the Denim Group security research team, investigating the application of secure coding and development techniques to the improvement of web-based software development methodologies. Dan currently serves as the OWASP San Antonio chapter leader, member of the OWASP Global Membership Committee and co-lead of the OWASP Open Review Project. Dan has spoken at numerous security conferences, such as RSA in San Francisco, OWASP EU Research in Athens and OWASP AppSec USA in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2012 ===&lt;br /&gt;
'''Date/Time:''' July 12th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/John_Steven| John Steven] - &amp;quot;Password Storage Security&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;Password Storage Security&amp;quot; [[Media:PSM_-_Problem_Definition.pdf|Password Storage Security.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
During the June meeting we discussed the LinkedIn password theft which was just beginning its the news cycle. We'll use the July chapter meeting to discuss issues around password hashing and a solution. While wholly different schemes for protecting passwords at rest are preferable, it's instructive to look at hashing passwords as a threat modeling exercise and take the time to follow through to a fix. &lt;br /&gt;
&lt;br /&gt;
To read up on the issue, look at my latest blog post on the topic: [http://goo.gl/sGyi8|Justice League Blog - Securing Password Storage]&lt;br /&gt;
&lt;br /&gt;
For those who were sufficiently intrigued, mystified, or inspired by the presentation on password protection at the last chapter meeting, Coursera is offering a free 6-week Stanford course on cryptography that begins on August 27th (&amp;quot;Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!&amp;quot;): [https://www.coursera.org/course/crypto|Crypto Course] &lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
See  [https://www.owasp.org/index.php/John_Steven| John Steven Bio]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2012 ===&lt;br /&gt;
'''Date/Time:''' June 7th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Ken Johnson (LivingSocial) - &amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot; [https://www.owasp.org/images/e/e9/Ken_Johnson_July_2012.pptx AppSec, Ritalin, and Failing Fast Presentation] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
In early April Ken Johnson and Matt Ahrens presented a high-level overview of building an Application Security program at LivingSocial. This talk will differ in that it will focus on the granular aspects involved with introducing security into an incredibly intense development environment. The discussion will be compromised of experiences in:&lt;br /&gt;
* Developing technical solutions to solving difficult challenges&lt;br /&gt;
* Remaining proactive with an increased workload&lt;br /&gt;
* What it means to innovate&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
Ken Johnson is the Application Security Manager for LivingSocial.com. Prior to joining LivingSocial.com, Ken worked in various application security consulting roles. Ken is the primary developer of the Web Exploitation Framework (wXf) and enjoys contributing to other open source projects as often as time permits. Ken has spoken at AppSec DC 2010 &amp;amp; 2012, OWASP DC and Phoenix chapters and is a member of the Attack Research Team.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2012 ===&lt;br /&gt;
'''Date/Time:''' May 3rd, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * &amp;quot;Chill Out&amp;quot; conversations (formal talked pushed back due to logistical issues)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2012 ===&lt;br /&gt;
'''Date/Time:''' April 16th, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Food Sponsor:''' Jeremy Long - jeremy.long[at]owasp.org&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot; by Masha Khainson (Cigital)&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
 * ISSA NoVA Social @Champps!  :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Malicious Code Detection or BRIC Breaking Through Static Analysis: As organizations outsource development to less trustworthy providers malware becomes as much a problem as introduction of honest vulnerability by one's own development shop. Assessment practices currently look for vulnerability within source code and a running systems but these are but a few of windows of opportunity for malware introduction. This presentation demonstrates an approach for augmenting an existing security practice with the capability to detect potentially malicious code through secure code review. First, we show how to break malicious intent--often quite subtle--into concrete patterns we can reliably detect. The framework then demonstrates how to build suspicion around reliance of particular patterns' use in concert which, increasingly, imply malicious intent. These techniques will be explained through a demonstration in a real world application.&lt;br /&gt;
&lt;br /&gt;
'''Bio'''&lt;br /&gt;
Masha (a.k.a Marina) has dreamed of becoming a security consultant before she ever knew what a ballerina was, and that's a good thing - because she does not intend her talk to be a ballet recital. Having been in software security for over seven years, Ms. Khainson has delivered Architecture Risk Assessment, Secure Code Review, and Ethical Hacking on many architectures, platforms and technologies. Marina has also developed training materials for clients and led remediation assistance teams.&lt;br /&gt;
&lt;br /&gt;
Prior to joining Cigital, Marina was a member of a research team at a leading security research provider, where using disassembly as well as protocol and source code analysis, she provided key information on newly released vulnerabilities. Before that, Marina assisted the same research team in producing detailed reports on critical malware and spyware threats, as well as developing and testing content for network security devices from some of the top providers of intrusion detection and prevention technologies.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:MCD-OWASPNoVA.pdf|Malicious Code Detection or BRIC Breaking Through Static Analysis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2011 ===&lt;br /&gt;
'''Date/Time:''' November 3rd, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://www.qinetiq.com/ QinetiQ], 2677 Prosperity Ave Fairfax, VA 22031&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 # News / Updates&lt;br /&gt;
 # Talk: &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot; by Ryan Barnett (Trustwave SpiderLabs)&lt;br /&gt;
 # Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
How effective are blacklist filters vs. SQL Injection attacks?  What is the failure rate vs. automated scanning or manual testing?  Are there any &amp;quot;Time-to-Bypass&amp;quot; metrics?  In an attempt to answer these questions, Trustwave SpiderLabs' Research Team (the development team behind the ModSecurity WAF and the OWASP ModSecurity Core Rule Set) held a community &amp;quot;SQL Injection Challenge&amp;quot; to test the effectiveness of the OWASP ModSecurity Core Rule Set protections.  This presentation will provide an overview of the challenge, a step-by-step walk-through of the bypass tactics used by the winners, as well as, present a new approach to attack detection using ModSecurity's Lua API to perform Bayesian analysis.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[mailto:ryan.barnett@owasp.org Ryan C. Barnett] (Twitter: [http://twitter.com/#!/ryancbarnett @ryancbarnett]) is a senior security researcher on Trustwave's SpiderLabs Team. He is a SANS Institute certified instructor and a member of both the Top 20 Vulnerabilities and CWE/SANS Top 25 Most Dangerous Programming Errors teams. In addition to working with SANS, he is also a WASC Member where he leads the Web Hacking Incidents Database (WHID) and Distributed Web Honeypots Projects and is also the OWASP ModSecurity Core Rule Set (CRS) project leader. Mr. Barnett has also authored a Web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2011 ===&lt;br /&gt;
'''Date/Time:''' October 6th, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location/Food Sponsor:''' [http://www.cigital.com/ Cigital], 21351 Ridgetop Circle, Suite 400, Sterling, VA 20166 &lt;br /&gt;
&lt;br /&gt;
'''AGENDA:'''&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * AppSec USA 2011 Recap&lt;br /&gt;
 * Talk: Jack Mannino: [http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks &amp;quot;OWASP Top 10 Mobile Risks&amp;quot;]&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
=== September 2011 ===&lt;br /&gt;
&lt;br /&gt;
The September meeting was cancelled due to inclement weather (flash flooding).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== August 2011  ===&lt;br /&gt;
&lt;br /&gt;
We held a &amp;quot;social&amp;quot; event at Sweetwater Tavern in Sterling, VA. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' July 7th, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.cigital.com Cigital], Suite 400 21351 Ridgetop Circle, Dulles, VA, 20166&amp;lt;br&amp;gt; '''Food Sponsor:'''&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: iGoat - Ken Van Wyk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' June 9th, 2011 @ 6pm (*Note: 2nd Thursday of June!)&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://about.collegeboard.org/ The College Board], 11955 Democracy Drive Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' The College Board&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: [https://www.owasp.org/index.php/Top_10_2010-A4 A4 &amp;quot;Insecure Direct Object References&amp;quot;]&lt;br /&gt;
 * College Board Speaker: &amp;quot;Attack-in-Depth:  Exploits of the OWASP Top Ten in Action&amp;quot;&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 - Jack Mannino: &amp;quot;Android Security 101&amp;quot;&lt;br /&gt;
 - Others!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' Cinco de Mayo (May 5th), 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset Hills Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' Akamai&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election (voice vote on the entire slate)&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A3 A3 &amp;quot;Broken Authentication and Session Management&amp;quot;]&lt;br /&gt;
 * Speaker: Steve Witmer on A3 from the &amp;quot;breakers&amp;quot; perspective&lt;br /&gt;
 * Speaker: ??? on A3 from the &amp;quot;fixers/defenders&amp;quot; perspective&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 * '''Update:''' All election candidates were elected by voice vote. &lt;br /&gt;
    * Please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;authkey=CIS9zFM '11 Chapter Board Election Material]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' April 7, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.reversespace.com/ ReverseSpace], 13505 Dulles Technology Dr, Suite 3, Herndon, VA 20171 &amp;lt;br&amp;gt; '''Food Sponsor:''' [https://www.cigital.com Cigital]&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A2 A2 &amp;quot;Cross-Site Scripting (XSS)&amp;quot;]&lt;br /&gt;
 * Preso:&amp;quot;Cross-Site Scripting is Not Your Friend: XSS and the Facebook Platform&amp;quot; by Joey Tyson ([https://www.owasp.org/images/9/92/Xssnotfriend-edited.pptx PPTX] or [https://www.owasp.org/images/0/06/Xssnotfriend-edited.pdf PDF])&lt;br /&gt;
 * Preso:“XSS Remediation” by Cassia Martin ([https://www.owasp.org/images/6/66/XSS_Remediation.ppt PPT])&lt;br /&gt;
 * Preso:&amp;quot;Growing the secure application developer community through expanded curricula&amp;quot; by Tony Gottlieb&lt;br /&gt;
 * FireTalks (bring it!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== March 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' March 3, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.boozallen.com/ Booz Allen Hamilton], 13200 Woodland Park Road, Herndon, VA 20171 &amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011] In Review&lt;br /&gt;
  * Preso: [http://www.owasp.org/index.php/Top_10_2010-A1-Injection A1 &amp;quot;Injection&amp;quot;]&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' February 3, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset HIlls Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * Feedback for [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011]&lt;br /&gt;
  * Preso: Intro to [http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Top 10] + 2&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== December 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' December 2, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://hackerspaces.org/wiki/Reverse_Space ReverseSpace], 13505 Dulles Technology Drive, Herndon, VA&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
   * 2011 Planning Session (Schedule, Volunteers, Speakers, Topics)&lt;br /&gt;
  * Lightning Talks!! (Bring an idea, a question, a topic, whatever - 5-10 minute talks max!)&lt;br /&gt;
  * Social / Networking (BYOB!)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' November 4, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' Akamai, 11111 Sunset Hills Rd, Suite #250, Reston, VA&amp;lt;br&amp;gt; '''Speaker:''' Ben Tomhave&amp;lt;br&amp;gt; '''Title:''' The Unintended Consequences of Beating Users with Carrot Sticks: Radical Thoughts on Security Reform&amp;lt;br&amp;gt; '''Description:''' What we're doing today is not working and isn't sustainable. The fundamental culture of the average business does not encourage making good security decisions. Software shops continue to focus on functionality and timelines, neglecting information security. In spite of regulations like PCI and HIPAA+HITECH, which are levying fines against organizations for their security failures, the tipping point has clearly not been reached to cause meaningful change. Much of this problem can be attributed to the excessive use of negative incentives (sticks) instead of providing positive incentives (carrots) that inspire better decision making and motivate true change. Fortunately, it's not too late to change tactics and start achieving demonstrable success.&amp;lt;br&amp;gt; '''Speaker Bio:''' Ben Tomhave is a Senior Security Analyst with Gemini Security Solutions in Chantilly, VA, specializing in solutions architecture, security planning, program development and management, and other strategic security solutions. He holds a MS in Engineering Management with an Information Security Management concentration from The George Washington University and is a CISSP. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, June 3rd, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER''': Alex Hutton, Verizon Business and http://www.newschoolsecurity.com/&amp;lt;br&amp;gt; '''TOPIC''': Risk Management - Time to blow it up and start over?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
A redux of the presentation that Alex delivered at B-Sides San Francisco during RSA 2010. &amp;quot;Now that the industry is trying to formalize the concept of risk management into neat little compartments like standards (ISO 27005/31000), certifications (CRISC) and products (GRC) guess what? We're doing it wrong. Fundamentally wrong. This talk will discuss why all this current risk management stuff is goofy and what sort of alternatives we have that might help us understand our ability to protect, our tendency towards failure, and how to match that up with what management will stomach.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Slides are available from: [http://www.slideshare.net/BSides/risk-management-time-to-blow-it-up-and-start-over-alex-hutton Risk Management - Time to blow it up and start over?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SPECIAL SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/tiffanyrad Tiffany Rad] provided an overview and update on [http://twitter.com/reversespace Reverse Space] in Herndon, VA. For more information, or to help out, please join the [http://groups.google.com/group/ReverseSpace Reverse Space Google Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Tuesday, May 18th, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER'''': Jeff Ennis, Senior Solutions Architect, Veracode&amp;lt;br&amp;gt; '''TITLE''': State of Software Security ([[Media:State of Software Security-Ennis.ppsx.zip]])&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
A discussion of the current state of software security based on the compiled findings by Veracode from the dynamic and static code analysis they have performed for customers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== September 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 17, 2009. 6:00pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': 22260 Pacific blvd, Sterling, VA. 20166&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Fortify 360&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Erik Klein (Fortify Software), Eric Dalci (Cigital)&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
We're pleased to invite you to our next week's OWASP Session (Thursday September 17th). We will be hosting a presentation, demo and hands on session of Fortify 360 (http://www.fortify.com). Fortify 360 includes Fortify SCA (Source Code Analyzer) and the Fortify 360 Server which is Fortify's solution for an enterprise deployment of SCA. The session will start with a presentation by Fortify engineers, followed by a demo and finally a hands on session where the audience will be free to install Fortify SCA on the machine and try it the SCA tool on a sample application that we will provide. The audience will also be introduced with the Fortify 360 Server and try some of the enterprise level features such as collaborative code review, metrics and so on. Bring your laptop if you want to try Fortify 360! &lt;br /&gt;
&lt;br /&gt;
The target audience is anyone interested in Secure Code Review with a Static Analysis tool at the desktop level and/or enterprise level. We will need to register visitors before hand...please email wade.woolwine@owasp.org for registration and confirm attendance. Pizza and refreshments will be served. &lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 3, 2009. 6:00pm.&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Conducting Application Assessment&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Jeremy Epstein, SRI&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
After the 2000 election, many states launched headlong into electronic voting systems to avoid the problems with &amp;quot;hanging chads&amp;quot;. Once problems with those systems started appearing, many localities started moving to optical scan, which was used by a majority of US voters in the 2008 election. There are other technologies in use around the country, including lever machines, vote-by-mail, vote-by-phone, and Internet voting. What are the tradeoffs among these technologies? Particularly relevant to OWASP, what are the security issues associated with different types of equipment, and what measures do vendors of voting equipment use to try to address the security problems? Are software security problems important, or can non-technical measures protect against them? In this talk, we'll discuss a wide variety of voting technologies, and their pros and cons from both a technical and societal perspective. &lt;br /&gt;
&lt;br /&gt;
'''ABOUT THE SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
Jeremy Epstein is Senior Computer Scientist at SRI International. His background includes more than 20 years experience in computer security research, product development, and consulting. Prior to joining SRI International, he was Principal Consultant with Cigital, and before that spent nine years as Senior Director of Product Security at Software AG, an international business software company. Within the area of voting systems, Jeremy has been involved for over five years in voting technology and advocacy, both as an employee and as an independent consultant. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': July 9th 6pm-9pm EST&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Ounce's 02&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER(S)''': Dinis Cruz, OWASP, Ounce Labs.&amp;lt;br&amp;gt; '''DESCRIPTION''': So what is O2? &lt;br /&gt;
&lt;br /&gt;
Well in my mind O2 is a combination of advanced tools (Technology) which are designed to be used on a particular way (Process) by knowledgeable Individuals (People) &lt;br /&gt;
&lt;br /&gt;
Think about it as a Fighter Jet who is able to go very fast, has tons of controls, needs to be piloted by somebody who knows what they are doing and needs to have a purpose (i.e. mission). &lt;br /&gt;
&lt;br /&gt;
Basically what I did with O2 was to automate the workflow that I have when I'm engaged on a source-code security review. &lt;br /&gt;
&lt;br /&gt;
Now, here is the catch, this version is NOT for the faint-of-heart. I designed this to suit my needs, which although are the same as most other security consultants, have its own particularities :) &lt;br /&gt;
&lt;br /&gt;
The whole model of O2 development is based around the concept of automating a security consultant’s brain, so I basically ensure that the main O2 Developer (Dinis Cruz) has a very good understanding of the feature requirements of the targeted Security Consultant (Dinis Cruz) :) . And this proved (even to my surprise) spectacularly productive, since suddenly I (i.e. the security consultant) didn't had to wait months for new features to be added to its toolkit. If there was something that needed to be added, it would just be added in days or hours. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Gary McGraw, Cigital Inc.'':''Building Security In Maturity Model''&amp;lt;br&amp;gt; Later, an interview: ''Jim Routh, formerly of DTCC'':''The Economic Advantages of a Resilient Supply Chain- Software Security'' ''&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Gary McGraw talked about the experience he, Sammy Migues, and Brian Chess gained conducting a survey of some of America's top Software Security groups. Study results are available under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Share Alike license] at [http://www.bsi-mm.com www.bsi-mm.com]. Gary described the common structural elements and activities of successful software security programs, present the maturity model that resulted from survey data, and discuss lessons learned from listening to those leading these groups. &lt;br /&gt;
&lt;br /&gt;
Jim Routh gave an incredibly insightful interview regarding his own experiences crafting their security group. &lt;br /&gt;
&lt;br /&gt;
Download presentation notes at: [http://www.owasp.org/images/0/03/JMR-Economics_of_Security_Goups.ppt The Economic Advantages of a Resilient Supply Chain- Software Security] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Eric Dalci, Cigital Inc.'':''Introduction to Static Analysis''&amp;lt;br&amp;gt; Later, a panel: &lt;br /&gt;
&lt;br /&gt;
*Steven Lavenhar, Booz Allen Hamilton; &lt;br /&gt;
*Eric Dalci, Cigital Inc.&lt;br /&gt;
&lt;br /&gt;
Panel moderated by John Steven &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This session is an introductory to Static Analysis. This session presents the different types of analysis used by today's Static Analysis tools. Examples of direct application to find vulnerabilities will be shown (ex: Data Flow Analysis, Semantic, Control Flow, etc.). Current limitations of Static Analysis will also be exposed. This session is tool agnostic, but will cover the approach taken by various leading commercial (as well as open-source) tools. &lt;br /&gt;
&lt;br /&gt;
Download: [http://www.owasp.org/images/e/ea/OWASP_Virginia_Edalci_May09.pdf Intro to Static Analysis] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Jeremiah Grossman, Whitehat Security'': '''Top 10 Web Hacking Techniques 2008'''&amp;lt;br&amp;gt; Jeremiah Spoke on (what he and colleagues determined were the) top ten web hacking techniques of 2008. This talk was a preview of his RSA '09 talk.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Download http://www.whitehatsec.com/home/assets/presentations/09PPT/PPT_OWASPNoVA04082008.pdf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Later, &lt;br /&gt;
&lt;br /&gt;
*Nate Miller, Stratum Security; &lt;br /&gt;
*Jeremiah Grossman, Whitehat Security; &lt;br /&gt;
*Tom Brennan, Whitehat Security; and &lt;br /&gt;
*Wade Woolwine, AOL&lt;br /&gt;
&lt;br /&gt;
served as penetration testing panels answering questions posed and moderated by Ken Van Wyk. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Ryan C. Barnett, Breach Security'': '''Patching Challenge: Securing WebGoat with ModSecurity''' &lt;br /&gt;
&lt;br /&gt;
Identification of web application vulnerabilities is only half the battle with remediation efforts as the other. Let's face the facts, there are many real world business scenarios where it is not possible to update web application code in either a timely manner or at all. This is where the tactical use-case of implementing a web application firewall to address identified issues proves its worth. &lt;br /&gt;
&lt;br /&gt;
This talk will provide an overview of the recommended practices for utilizing a web application firewall for virtual patching. After discussing the framework to use, we will then present a very interesting OWASP Summer of Code Project where the challenge was to attempt to mitigate as many of the OWASP WebGoat vulnerabilities as possible using the open source ModSecurity web application firewall. During the talk, we will discuss both WebGoat and ModSecurity and provide in-depth walk-throughs of some of the complex fixes. Examples will include addressing not only attacks but the underlying vulnerabilities, using data persistence for multiple-step processes, content injection and even examples of the new LUA programming language API. The goal of this talk is to both highlight cutting edge mitigation options using a web application firewall and to show how it can effectively be used by security consultants who traditionally could only offer source code fixes. &lt;br /&gt;
&lt;br /&gt;
Ryan C. Barnett is the Director of Application Security Research at Breach Security and leads Breach Security Labs. He is also a Faculty Member for the SANS Institute, Team Lead for the Center for Internet Security Apache Benchmark Project and a Member of the Web Application Security Consortium where he leads the Distributed Open Proxy Honeypot Project. Mr. Barnett has also authored a web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
(This talk is a preview of Ryan's talk at Blackhat Federal the following week - see https://www.blackhat.com/html/bh-dc-09/bh-dc-09-speakers.html#Barnett ) &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip|WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity]] &lt;br /&gt;
&lt;br /&gt;
''John Steven, Cigital'': '''Moving Beyond Top N Lists''' &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Moving_Beyond_Top_N_Lists.ppt.zip|Moving Beyond Top N Lists]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Cigital published an article: The Top 11 Reasons Why Top 10 (or 25) Lists Don’t Work. Yet, these lists are a staple of conference abstracts, industry best practice lists, and the like. Are they good or bad? We’ll explore how to get beyond the Top 10 (or 25) list in making your software security effort real. &lt;br /&gt;
&lt;br /&gt;
John is Senior Director, Advanced Technology Consulting at Cigital. His experience includes research in static code analysis and hands-on architecture and implementation of high-performance, scalable Java EE systems. John has provided security consulting services to a broad variety of commercial clients including two of the largest trading platforms in the world and has advised America's largest internet provider in the Midwest on security and forensics. John led the development of Cigital's architectural analysis methodology and its approach to deploying enterprise software security frameworks. He has demonstrated success in building Cigital's intellectual property for providing cutting-edge security. He brings this experience and a track record of effective strategic innovation to clients seeking to change, whether to adopt more cutting-edge approaches, or to solidify ROI. John currently chairs the SD Best Practices security track and co-edits the building security in department of IEEE's Security and Privacy magazine. John has served on numerous conference panels regarding software security, wireless security and Java EE system development. He holds a B.S. in Computer Engineering and an M.S. in Computer Science from Case Western Reserve University. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== January 2009  ===&lt;br /&gt;
&lt;br /&gt;
To kick off 2009, our January meeting featured a discussion of the relationship between application security and CMMI, and an overview of the OWASP ASVS project. &lt;br /&gt;
&lt;br /&gt;
''Michele Moss, Booz Allen Hamilton'': '''Evolutions In The Relationship Between Application Security And The CMMI''' &lt;br /&gt;
&lt;br /&gt;
Addressing new and complex threats and IT security challenges requires repeatable, reliable, rapid, and cost effective solutions. To implement these solutions, organizations have begun to align their security improvement efforts with their system and software development practices. During a “Birds of a Feather” at the March 2007 SEPG, a group of industry representatives initiated an effort which led to the definition of assurance practices that can be applied in the context of the CMMI. This presentation will provide an understanding how applying the assurance practices in the context of security contribute to the overall increased quality of products and services, illustrate how the a focus on assurance in the context of CMMI practices is related to application security practices, and present and approach to evaluate and improve the repeatability and reliability of assurance practices. &lt;br /&gt;
&lt;br /&gt;
Michele Moss, CISSP, is a security engineer with more than 12 years of experience in process improvement. She specializes in integrating assurance processes and practices into project lifecycles. Michele is the Co-Chair of the DHS Software Assurance Working Group on Processes &amp;amp;amp; Practices. She has assisted numerous organizations with maturing their information technology, information assurance, project management, and support practices through the use of the capability maturity models including the CMMI, and the SSE-CMM. She is one of the key contributors in an effort to apply an assurance focus to CMMI. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:Moss-AppSecurityAndCMMI.pdf|Evolutions In The Relationship Between Application Security And The CMMI]] &lt;br /&gt;
&lt;br /&gt;
''Mike Boberski, Booz Allen Hamilton'': '''About OWASP ASVS''' &lt;br /&gt;
&lt;br /&gt;
The primary aim of the OWASP ASVS Project is to normalize the range of coverage and level of rigor available in the market when it comes to performing application-level security verification. The goal is to create a set of commercially-workable open standards that are tailored to specific web-based technologies. &lt;br /&gt;
&lt;br /&gt;
Mike Boberski works at Booz Allen Hamilton. He has a background in application security and the use of cryptography by applications. He is experienced in trusted product evaluation, security-related software development and integration, and cryptomodule testing. For OWASP, he is the project lead and a co-author of the OWASP Application Security Verification Standard, the first OWASP standard. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:About_OWASP_ASVS_Web_Edition.ppt|About OWASP ASVS]] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our November 2008 meeting, we had two great presentations on software assurance and security testing. &lt;br /&gt;
&lt;br /&gt;
''Nadya Bartol, Booz Allen Hamilton'': '''Framework for Software Assurance''' &lt;br /&gt;
&lt;br /&gt;
Nadya's presentation will provide an update on the Software Assurance Forum efforts to establish a comprehensive framework for software assurance (SwA) and security measurement. The Framework addresses measuring achievement of SwA goals and objectives within the context of individual projects, programs, or enterprises. It targets a variety of audiences including executives, developers, vendors, suppliers, and buyers. The Framework leverages existing measurement methodologies, including Practical Software and System Measurement (PSM); CMMI Goal, Question, Indicator, Measure (GQ(I)M); NIST SP 800-55 Rev1; and ISO/IEC 27004 and identifies commonalities among the methodologies to help organizations integrate SwA measurement in their overall measurement efforts cost-effectively and as seamlessly as possible, rather than establish a standalone SwA measurement effort within an organization. The presentation will provide an update on the SwA Forum Measurement Working Group work, present the current version of the Framework and underlying measures development and implementation processes, and propose example SwA measures applicable to a variety of SwA stakeholders. The presentation will update the group on the latest NIST and ISO standards on information security measurement that are being integrated into the Framework as the standards are being developed. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Bartol-MeasurementForOWASP11-13-08.pdf Framework for Software Assurance]&lt;br /&gt;
&lt;br /&gt;
''Paco Hope, Cigital'': '''The Web Security Testing Cookbook''' &lt;br /&gt;
&lt;br /&gt;
The Web Security Testing Cookbook (O'Reilly &amp;amp;amp; Associates, October 2008) gives developers and testers the tools they need to make security testing a regular part of their development lifecycle. Its recipe style approach covers manual, exploratory testing as well automated techniques that you can make part of your unit tests or regression cycle. The recipes cover the basics like observing messages between clients and servers, to multi-phase tests that script the login and execution of web application features. This book complements many of the security texts in the market that tell you what a vulnerability is, but not how to systematically test it day in and day out. Leverage the recipes in this book to add significant security coverage to your testing without adding significant time and cost to your effort. &lt;br /&gt;
&lt;br /&gt;
Congratulations to Tim Bond who won an autographed copy of Paco's book. Get your copy here [[http://www.amazon.com/Security-Testing-Cookbook-Paco-Hope/dp/0596514832]] &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/PacoHope-WebSecCookbook.pdf The Web Security Testing Cookbook]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our October 2008 meeting, we had two fascinating talks relating to forensics. &lt;br /&gt;
&lt;br /&gt;
''Dave Merkel, Mandiant'': '''Enterprise Grade Incident Management - Responding to Persistent Threats''' &lt;br /&gt;
&lt;br /&gt;
Dave Merkel is Vice President of Products at Mandiant, a leading provider of information security services, education and products. Mr. Merkel has worked in the information security and incident response industry for over 10 years. His background includes service as a federal agent in the US Air Force and over 7 years experience directing security operations at America Online. He currently oversees the product business at Mandiant, and is in charge of building Mandiant Intelligent Response - an enterprise incident response solution. But no, he won't be selling you anything today. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Mandiant-EnterpriseIRandAPTpresentation.pdf Enterprise Grade Incident Management - Responding to Persistent Threats] &lt;br /&gt;
&lt;br /&gt;
''Inno Eroraha, NetSecurity'': '''Responding to the Digital Crime Scene: Gathering Volatile Data''' &lt;br /&gt;
&lt;br /&gt;
Inno Eroraha is the founder and chief strategist of NetSecurity Corporation, a company that provides digital forensics, hands-on security consulting, and Hands-on How-To® training solutions that are high-quality, timely, and customer-focused. In this role, Mr. Eroraha helps clients plan, formulate, and execute the best security and forensics strategy that aligns with their business goals and priorities. He has consulted with Fortune 500 companies, IRS, DHS, VA, DoD, and other entities. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/NetSecurity-RespondingToTheDigitalCrimeScene-GatheringVolatileData-TechnoForensics-102908.pdf Responding to the Digital Crime Scene: Gathering Volatile Data] &lt;br /&gt;
&lt;br /&gt;
=== History  ===&lt;br /&gt;
&lt;br /&gt;
The original DC Chapter was founded in June 2004 by [mailto:jeff.williams@owasp.org Jeff Williams] and has had members from Virginia to Delaware. In April 2005 a new chapter, OWASP Washington VA Local Chapter, was formed and the DC Chapter was renamed to DC-Maryland. The two are sister chapters and include common members and shared discourse. The chapters meet in opposite halves of the month to facilitate this relationship. &lt;br /&gt;
&lt;br /&gt;
==== Chapter Groups  ====&lt;br /&gt;
&lt;br /&gt;
Within the chapter, various common interests spring up. We've created Google groups to manage collaboration amongst participants for these topics. Feel free to join and participate in: &lt;br /&gt;
&lt;br /&gt;
*[http://groups.google.com/group/novaowasp_threatmodeling Threat Modeling] &lt;br /&gt;
*[http://groups.google.com/group/novaowasp_mobile Mobile]&lt;br /&gt;
&lt;br /&gt;
=== OWASP NoVa Members On Twitter  ===&lt;br /&gt;
&lt;br /&gt;
John Steven [http://twitter.com/m1splacedsoul http://twitter.com/m1splacedsoul] &lt;br /&gt;
&lt;br /&gt;
Jack Mannino [http://twitter.com/jack_mannino http://twitter.com/jack_mannino] &lt;br /&gt;
&lt;br /&gt;
Ben Tomhave [http://twitter.com/falconsview http://twitter.com/falconsview] &lt;br /&gt;
&lt;br /&gt;
Ken Johnson [http://twitter.com/cktricky http://twitter.com/cktricky] &lt;br /&gt;
&lt;br /&gt;
Mike Smith [http://twitter.com/rybolov http://twitter.com/rybolov] &lt;br /&gt;
&lt;br /&gt;
Trevor Hawthorn [http://twitter.com/packetwerks http://twitter.com/packetwerks] &lt;br /&gt;
&lt;br /&gt;
Jeremy Long [http://twitter.com/ctxt http://twitter.com/ctxt] &lt;br /&gt;
&lt;br /&gt;
Ari Elias-Bachrach [http://twitter.com/angelofsecurity http://twitter.com/angelofsecurity] &lt;br /&gt;
&lt;br /&gt;
Venkat Sundaram [http://twitter.com/Vnk3889 http://twitter.com/Vnk3889] &lt;br /&gt;
&lt;br /&gt;
==== Knowledge  ====&lt;br /&gt;
&lt;br /&gt;
The Northern Virginia (NoVA) chapter is committed to compiling resources on interesting and valuable topic areas. We hope that this structure helps you access information pertinent to your tasks at hand as you move through a secure application development life cycle. Currently, our topic areas of focus include activities such as: &lt;br /&gt;
&lt;br /&gt;
*Threat Modeling &lt;br /&gt;
*[[Code Review and Static Analysis with tools]] &lt;br /&gt;
*Penetration Testing and Dynamic Analysis tools &lt;br /&gt;
*Monitoring/Dynamic patching (WAFs)&lt;br /&gt;
&lt;br /&gt;
Certain projects our members are involved in cross-cut these activities, providing value throughout. They include: &lt;br /&gt;
&lt;br /&gt;
*ASVS&lt;br /&gt;
&lt;br /&gt;
=== Static Analysis Curriculum  ===&lt;br /&gt;
&lt;br /&gt;
*For an introduction to the OWASP Static Analysis (SA) Track goals, objectives, and session roadmap, please see [http://www.owasp.org/index.php/Image:OWASP_NoVA_SA_Track_Final_20090408.ppt this presentation].&lt;br /&gt;
&lt;br /&gt;
The following is the agenda of the OWASP Static Analysis track roadmap for the [http://www.owasp.org/index.php/Virginia_(Northern_Virginia) Northern Virginia Chapter]. &lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp SAtrack plan.png|OWASP Static Analysis Roadmap - Northern Virginia Chapter 2009]] &lt;br /&gt;
&lt;br /&gt;
'''Contacts'''&amp;lt;br&amp;gt; Questions related to this curriculum should be sent to [mailto:John.Steven@owasp.org John Steven], who is the Northern Virginia chapter leader. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Flash Talk Resources  ===&lt;br /&gt;
&lt;br /&gt;
Chandu Ketkar on OFS. Download: [http://www.owasp.org/images/1/1c/OFS.pptx OFS Presentation.] &amp;lt;br&amp;gt; [http://jack-mannino.blogspot.com/ Jack Mannino] on Google and Searching for Personal Information &amp;lt;br&amp;gt; Jesse Ou on XML Bombs. Download: [http://www.owasp.org/images/1/18/OWASP_JOU_XML_DTD_Attacks.pptx XML DTD Presentation] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;paypal&amp;gt;Northern Virginia&amp;lt;/paypal&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Virginia]] [[Category:Washington,_DC]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192286</id>
		<title>Virginia</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192286"/>
				<updated>2015-03-26T20:36:56Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== About  ====&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-nova.JPG|right|275px|Owasp-nova.JPG]]The '''OWASP Northern VA Local Chapter''' meetings are FREE and OPEN to anyone interested in learning more about application security. We encourage individuals to provide knowledge transfer via hands-on training and presentations of specific OWASP projects and research topics and sharing SDLC knowledge. &lt;br /&gt;
&lt;br /&gt;
We the encourage vendor-agnostic presentations to utilize the OWASP Powerpoint template when applicable and individual volunteerism to enable perpetual growth. As a 501(3)c non-profit association donations of meeting space or refreshments sponsorship is encouraged, simply contact the local chapter leaders listed on this page to discuss. Prior to participating with OWASP please review the Chapter Rules. &lt;br /&gt;
&lt;br /&gt;
The chapter is committed to providing an engaging experience for a variety of audience types ranging from local students and those beginning in app-sec, to those experienced and accomplished professionals who are looking for competent collaborators for OWASP-related projects. To this end, we will continue to conduct both monthly chapter meetings as well as out-of-band curricula, on application security topics. &lt;br /&gt;
&lt;br /&gt;
{{Chapter Template|chaptername=Virginia|extra =Come see us at a chapter meeting, jump on our Google Group, or email any of us directly.&lt;br /&gt;
&lt;br /&gt;
=== 2015 Chapter Election Candidates ===&lt;br /&gt;
*Mike McCabe - Board Chair&lt;br /&gt;
**Endorsement - Jack Mannino, Current Board Chair&lt;br /&gt;
**Full Disclosure: Mike reports directly to me at our day job.&lt;br /&gt;
**Mike is one of the most ethical, hard working, and analytical people I've had the pleasure to meet. In his previous two years serving on the OWASP NoVa board, Mike has been instrumental in keeping a healthy pipeline of interesting speakers as well as helping carve out new initiatives based on chapter feedback. I fully vouch for both his character and his ability to run the chapter in an ethical, high quality manner.&lt;br /&gt;
*Akshay Sivananda&lt;br /&gt;
**OWASP Membership ID:  020000050&lt;br /&gt;
**Endorsement - Ping Ning, Chapter Member&lt;br /&gt;
**Akshay is a seasoned information security professional, with broad experience in secure SDLC, vulnerability management, and software security initiative. I worked with Akshay before and enjoyed working with him. He was very supportive and always ready to provide a helping hand. He always has an open mind and respects various opinions. I think Akshay is a great candidate for the Owasp NoVA board and believe he will make significant contribution to the chapter. As a regular member of Owasp, I wholeheartedly endorse Akshay for the Owasp NoVA chapter board.&lt;br /&gt;
*Abdullah Munawar&lt;br /&gt;
**OWASP Membership ID: 020000037&lt;br /&gt;
**Endorsement - Jon Callahan, Chapter Member&lt;br /&gt;
**I worked with Abdullah for about a year and can personally attest to not only his knowledge but also his passion and drive to further himself in the security field. When committing to something, you'll know he will follow through and because of this, was my goto guy until we parted ways. Add on the 8 years worth of involvement with OWASP and you get someone who understands exactly how this chapter works and is willing to put the time in to keep it as great as it's been. &lt;br /&gt;
&lt;br /&gt;
=== Chapter Board ===&lt;br /&gt;
Previously having had a Chapter Leader, then a Chapter &amp;quot;Program Committee&amp;quot;, the chapter is now run by a full board (alphabetical order):&lt;br /&gt;
* Jack Mannino - Board Chair&lt;br /&gt;
* Jeremy Long&lt;br /&gt;
* Michael McCabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board member responsibilities include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;   * Providing governance for chapter and member activities in terms chapter mission and OWASP code of ethics&lt;br /&gt;
   * Recruiting OWASP membership&lt;br /&gt;
   * Driving OWASP NoVA Chapter attendance and involvement&lt;br /&gt;
   * Deferring to, facilitating, and supporting the activities and projects of chapter membership&lt;br /&gt;
   * Eliciting, scheduling, and coordinating chapter panels, speakers, and other sessions&lt;br /&gt;
   * Scouting, clearing, and scheduling chapter meeting venues and catering&lt;br /&gt;
   * Identifying opportunities for collaboration between chapter membership, OWASP global committees, and other organizations&lt;br /&gt;
   * Collecting and auditing use of chapter funds&lt;br /&gt;
   * Voting on chapter matters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more information on how the board was elected and what it's responsibilities are, please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;amp;authkey=CIS9zFM Chapter Board Election] |mailinglistsite=https://groups.google.com/forum/#!forum/owasp-nova|emailarchives=https://groups.google.com/forum/#!forum/owasp-nova}}&lt;br /&gt;
&lt;br /&gt;
You may also want to follow [http://twitter.com/OWASPNoVA/ @OWASPNoVA] on Twitter. &lt;br /&gt;
&lt;br /&gt;
=== Schedule  ===&lt;br /&gt;
&lt;br /&gt;
Meetings are (generally) held the first Thursday of the month.&lt;br /&gt;
&lt;br /&gt;
Note: We need speakers and topics! If you want to present, please contact [mailto:Jeremy.Long@owasp.org Jeremy] or [mailto:jack.mannino@owasp.org Jack]. We're very open to hearing from all our members.  &lt;br /&gt;
&lt;br /&gt;
== Next Meeting  ==&lt;br /&gt;
&lt;br /&gt;
For latest news check the meetup page here: [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/ Meetup].&lt;br /&gt;
&lt;br /&gt;
===October 2014===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' October 9th, 2014 @ 6:00pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' Uber Offices Tysons Corner, 1751 Pinnacle Drive, McLean, VA (1/2 mile from tysons corner metro)&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/205582912 Meetup]&lt;br /&gt;
&lt;br /&gt;
'''Agenda:''' &lt;br /&gt;
Join us for our Hack Night. We're switching the format up this month to include breakout sessions and collaborating on open source projects. Whether you're a builder, breaker, developer, or manager, come out to learn and collaborate.&lt;br /&gt;
&lt;br /&gt;
'''---&amp;gt; Special Notice: &amp;lt;---'''&lt;br /&gt;
&lt;br /&gt;
Please note that for this month, we will be moving the Meetup to Uber offices in Tyson's, as the space is configured extremely well for a &amp;quot;Hack Night&amp;quot; meetup (whiteboards, tables, etc). It is also Metro accessible.&lt;br /&gt;
&lt;br /&gt;
'''''Please bring your laptop!'''''&lt;br /&gt;
&lt;br /&gt;
== Past meetings ==&lt;br /&gt;
&lt;br /&gt;
===September 2014===&lt;br /&gt;
'''Date/Time:''' September 4th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/200805882/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will cover some chapter business then go straight into a session covering Ruby on Rails Security.&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
The World of Ruby on Rails Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Take a quick trip through the world of Ruby on Rails security! The journey will start with an overview of security features offered by the popular web framework, then detour through dangerous pitfalls and unsafe defaults, and finally end with suggestions for improving security in Rails apps and integrating improvements into the development process.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Justin Collins is a member of the application security team at Twitter and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===July 2014===&lt;br /&gt;
'''Date/Time:''' July 10th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/191678702/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will have a technical presentation on OAuth, and we will have an open forum on some upcoming changes to the chapter's format that we want feedback on before we move ahead with them. Our goal is to make OWASP NoVa a group that not only spreads education, but produces material for the broader application security community. Please join us and have your say in the way OWASP NoVa runs in the future!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
OAuth 1.0 Authorization and Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
OAuth 1.0 is an authorization standard based on the idea of a “valet key”. This presentation will provide an overview of the OAuth 1.0 authorization model, how it may fit in the enterprise environment, and some security implications for designers and security analyzers. OAuth 2.0 framework, the proposed standard to replace OAuth 1.0, will also be briefly discussed.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Ping Ning is a senior consultant at Cigital with 20 years of development and security experiences. He is practicing many software security services for clients, including architecture risk analysis, security architecture and design, secure code review, penetration testing, building security programs, and tools deployment and training.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===February 2013===&lt;br /&gt;
'''Date/Time:''' February 7th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/101839862/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Jeffrey Walton - &amp;quot;Securing Wireless Channels in the Mobile Space&amp;quot;, [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Securing Wireless Channels in the Mobile Space&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Secure channels are a cornerstone to individuals and employees on the go. The mobile environment adds additional pressures to securely delivering content to users - irregardless of whether its an email service delivering personal messages to a user, an organization providing company secrets to a mobile workforce, or a content provider streaming protected media to a subscriber. This talk will discuss the mobile environment, challenges to securely delivering content, examine past failures, offer remediation for issues in the environment, provide sample code for Android, iOS, .Net, OpenSSL, and discuss initiatives to address known issues.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Jeff has nearly 15 years of experience in a variety of roles including Systems Engineer, System Administrator, Developer, Security Engineer and Security Architect. He has worked with a number of Federal agencies and private institutions, including the Treasury Department, Social Security Administration, State Department, Diplomatic Security Service, financial institutions, and defense contractors. He has designed mobile solutions; developed secure containers; implemented secure channels; integrated management functions such as password lockouts and remote wipes; performed code reviews; and integrated security libraries such as Microsoft CAPI, Certicom Security Builder, OpenSSL and Crypto++. Jeff has also overseen and performed certification and accreditation audits, secure code reviews, and architectural risk assessments on traditional and mobile systems of varying code base sizes (primarily Objective C, C/C++ with Java, .Net).&lt;br /&gt;
&lt;br /&gt;
'''Downloads:'''&lt;br /&gt;
[[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]], [[Media:pubkey-pin-supplement.pdf|Supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===January 2013===&lt;br /&gt;
'''Date/Time:''' January 10th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/5106285036 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Upcoming chapter elections and 2013 plans&lt;br /&gt;
 * Talk: &amp;quot;Automating (Some) Android Security Testing&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Automating (Some) Android Security Testing&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Dynamically assessing an Android application for security issues requires examining many different layers. Some areas are extremely feasible to automate, while some areas may lend themselves better to manual analysis or semi-automated analysis. This presentation will present a more semi-automated approach to assessing applications rather than 'fire and forget' testing. We'll also look at some of the prerequisites for performing Android testing as well as some of the essentials for things you'll want in your testing environment (such as coffee and Red Bull).&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[https://www.owasp.org/index.php/User:Jack_Mannino Jack Mannino]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===October 2012===&lt;br /&gt;
'''Date/Time:''' October 4th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/4430947082 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/Dan_Cornell Dan Cornell] - &amp;quot;Benchmarking Web Application Scanners for YOUR Organization&amp;quot;, [https://www.owasp.org/images/7/73/OWASP_BenchmarkingWebApplicationScannersForYourOrganization_Content-1.pptx Presentation Slides]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Benchmarking Web Application Scanners for YOUR Organization&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Web applications pose significant risks for organizations. The selection of an appropriate scanning product or service can be challenging because every organization develops their web applications differently and decisions made by developers can cause wide swings in the value of different scanning technologies. To make a solid, informed decision, organizations need to create development team- and organization-specific benchmarks for the effectiveness of potential scanning technologies. This involves creating a comprehensive model of false positives, false negatives and other factors prior to mandating analysis technologies and making decisions about application risk management. This presentation provides a model for evaluating application analysis technologies, introduces an open source tool for benchmarking and comparing tool effectiveness, and outlines a process for making organization-specific decisions about analysis technology selection.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Dan Cornell has over 15 years experience architecting and developing web-based software systems. As CTO, he leads Denim Group's security research team in investigating the application of secure coding and development techniques to improve web-based software development methodologies. He also heads the Denim Group security research team, investigating the application of secure coding and development techniques to the improvement of web-based software development methodologies. Dan currently serves as the OWASP San Antonio chapter leader, member of the OWASP Global Membership Committee and co-lead of the OWASP Open Review Project. Dan has spoken at numerous security conferences, such as RSA in San Francisco, OWASP EU Research in Athens and OWASP AppSec USA in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2012 ===&lt;br /&gt;
'''Date/Time:''' July 12th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/John_Steven| John Steven] - &amp;quot;Password Storage Security&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;Password Storage Security&amp;quot; [[Media:PSM_-_Problem_Definition.pdf|Password Storage Security.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
During the June meeting we discussed the LinkedIn password theft which was just beginning its the news cycle. We'll use the July chapter meeting to discuss issues around password hashing and a solution. While wholly different schemes for protecting passwords at rest are preferable, it's instructive to look at hashing passwords as a threat modeling exercise and take the time to follow through to a fix. &lt;br /&gt;
&lt;br /&gt;
To read up on the issue, look at my latest blog post on the topic: [http://goo.gl/sGyi8|Justice League Blog - Securing Password Storage]&lt;br /&gt;
&lt;br /&gt;
For those who were sufficiently intrigued, mystified, or inspired by the presentation on password protection at the last chapter meeting, Coursera is offering a free 6-week Stanford course on cryptography that begins on August 27th (&amp;quot;Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!&amp;quot;): [https://www.coursera.org/course/crypto|Crypto Course] &lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
See  [https://www.owasp.org/index.php/John_Steven| John Steven Bio]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2012 ===&lt;br /&gt;
'''Date/Time:''' June 7th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Ken Johnson (LivingSocial) - &amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot; [https://www.owasp.org/images/e/e9/Ken_Johnson_July_2012.pptx AppSec, Ritalin, and Failing Fast Presentation] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
In early April Ken Johnson and Matt Ahrens presented a high-level overview of building an Application Security program at LivingSocial. This talk will differ in that it will focus on the granular aspects involved with introducing security into an incredibly intense development environment. The discussion will be compromised of experiences in:&lt;br /&gt;
* Developing technical solutions to solving difficult challenges&lt;br /&gt;
* Remaining proactive with an increased workload&lt;br /&gt;
* What it means to innovate&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
Ken Johnson is the Application Security Manager for LivingSocial.com. Prior to joining LivingSocial.com, Ken worked in various application security consulting roles. Ken is the primary developer of the Web Exploitation Framework (wXf) and enjoys contributing to other open source projects as often as time permits. Ken has spoken at AppSec DC 2010 &amp;amp; 2012, OWASP DC and Phoenix chapters and is a member of the Attack Research Team.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2012 ===&lt;br /&gt;
'''Date/Time:''' May 3rd, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * &amp;quot;Chill Out&amp;quot; conversations (formal talked pushed back due to logistical issues)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2012 ===&lt;br /&gt;
'''Date/Time:''' April 16th, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Food Sponsor:''' Jeremy Long - jeremy.long[at]owasp.org&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot; by Masha Khainson (Cigital)&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
 * ISSA NoVA Social @Champps!  :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Malicious Code Detection or BRIC Breaking Through Static Analysis: As organizations outsource development to less trustworthy providers malware becomes as much a problem as introduction of honest vulnerability by one's own development shop. Assessment practices currently look for vulnerability within source code and a running systems but these are but a few of windows of opportunity for malware introduction. This presentation demonstrates an approach for augmenting an existing security practice with the capability to detect potentially malicious code through secure code review. First, we show how to break malicious intent--often quite subtle--into concrete patterns we can reliably detect. The framework then demonstrates how to build suspicion around reliance of particular patterns' use in concert which, increasingly, imply malicious intent. These techniques will be explained through a demonstration in a real world application.&lt;br /&gt;
&lt;br /&gt;
'''Bio'''&lt;br /&gt;
Masha (a.k.a Marina) has dreamed of becoming a security consultant before she ever knew what a ballerina was, and that's a good thing - because she does not intend her talk to be a ballet recital. Having been in software security for over seven years, Ms. Khainson has delivered Architecture Risk Assessment, Secure Code Review, and Ethical Hacking on many architectures, platforms and technologies. Marina has also developed training materials for clients and led remediation assistance teams.&lt;br /&gt;
&lt;br /&gt;
Prior to joining Cigital, Marina was a member of a research team at a leading security research provider, where using disassembly as well as protocol and source code analysis, she provided key information on newly released vulnerabilities. Before that, Marina assisted the same research team in producing detailed reports on critical malware and spyware threats, as well as developing and testing content for network security devices from some of the top providers of intrusion detection and prevention technologies.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:MCD-OWASPNoVA.pdf|Malicious Code Detection or BRIC Breaking Through Static Analysis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2011 ===&lt;br /&gt;
'''Date/Time:''' November 3rd, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://www.qinetiq.com/ QinetiQ], 2677 Prosperity Ave Fairfax, VA 22031&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 # News / Updates&lt;br /&gt;
 # Talk: &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot; by Ryan Barnett (Trustwave SpiderLabs)&lt;br /&gt;
 # Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
How effective are blacklist filters vs. SQL Injection attacks?  What is the failure rate vs. automated scanning or manual testing?  Are there any &amp;quot;Time-to-Bypass&amp;quot; metrics?  In an attempt to answer these questions, Trustwave SpiderLabs' Research Team (the development team behind the ModSecurity WAF and the OWASP ModSecurity Core Rule Set) held a community &amp;quot;SQL Injection Challenge&amp;quot; to test the effectiveness of the OWASP ModSecurity Core Rule Set protections.  This presentation will provide an overview of the challenge, a step-by-step walk-through of the bypass tactics used by the winners, as well as, present a new approach to attack detection using ModSecurity's Lua API to perform Bayesian analysis.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[mailto:ryan.barnett@owasp.org Ryan C. Barnett] (Twitter: [http://twitter.com/#!/ryancbarnett @ryancbarnett]) is a senior security researcher on Trustwave's SpiderLabs Team. He is a SANS Institute certified instructor and a member of both the Top 20 Vulnerabilities and CWE/SANS Top 25 Most Dangerous Programming Errors teams. In addition to working with SANS, he is also a WASC Member where he leads the Web Hacking Incidents Database (WHID) and Distributed Web Honeypots Projects and is also the OWASP ModSecurity Core Rule Set (CRS) project leader. Mr. Barnett has also authored a Web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2011 ===&lt;br /&gt;
'''Date/Time:''' October 6th, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location/Food Sponsor:''' [http://www.cigital.com/ Cigital], 21351 Ridgetop Circle, Suite 400, Sterling, VA 20166 &lt;br /&gt;
&lt;br /&gt;
'''AGENDA:'''&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * AppSec USA 2011 Recap&lt;br /&gt;
 * Talk: Jack Mannino: [http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks &amp;quot;OWASP Top 10 Mobile Risks&amp;quot;]&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
=== September 2011 ===&lt;br /&gt;
&lt;br /&gt;
The September meeting was cancelled due to inclement weather (flash flooding).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== August 2011  ===&lt;br /&gt;
&lt;br /&gt;
We held a &amp;quot;social&amp;quot; event at Sweetwater Tavern in Sterling, VA. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' July 7th, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.cigital.com Cigital], Suite 400 21351 Ridgetop Circle, Dulles, VA, 20166&amp;lt;br&amp;gt; '''Food Sponsor:'''&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: iGoat - Ken Van Wyk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' June 9th, 2011 @ 6pm (*Note: 2nd Thursday of June!)&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://about.collegeboard.org/ The College Board], 11955 Democracy Drive Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' The College Board&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: [https://www.owasp.org/index.php/Top_10_2010-A4 A4 &amp;quot;Insecure Direct Object References&amp;quot;]&lt;br /&gt;
 * College Board Speaker: &amp;quot;Attack-in-Depth:  Exploits of the OWASP Top Ten in Action&amp;quot;&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 - Jack Mannino: &amp;quot;Android Security 101&amp;quot;&lt;br /&gt;
 - Others!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' Cinco de Mayo (May 5th), 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset Hills Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' Akamai&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election (voice vote on the entire slate)&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A3 A3 &amp;quot;Broken Authentication and Session Management&amp;quot;]&lt;br /&gt;
 * Speaker: Steve Witmer on A3 from the &amp;quot;breakers&amp;quot; perspective&lt;br /&gt;
 * Speaker: ??? on A3 from the &amp;quot;fixers/defenders&amp;quot; perspective&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 * '''Update:''' All election candidates were elected by voice vote. &lt;br /&gt;
    * Please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;authkey=CIS9zFM '11 Chapter Board Election Material]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' April 7, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.reversespace.com/ ReverseSpace], 13505 Dulles Technology Dr, Suite 3, Herndon, VA 20171 &amp;lt;br&amp;gt; '''Food Sponsor:''' [https://www.cigital.com Cigital]&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A2 A2 &amp;quot;Cross-Site Scripting (XSS)&amp;quot;]&lt;br /&gt;
 * Preso:&amp;quot;Cross-Site Scripting is Not Your Friend: XSS and the Facebook Platform&amp;quot; by Joey Tyson ([https://www.owasp.org/images/9/92/Xssnotfriend-edited.pptx PPTX] or [https://www.owasp.org/images/0/06/Xssnotfriend-edited.pdf PDF])&lt;br /&gt;
 * Preso:“XSS Remediation” by Cassia Martin ([https://www.owasp.org/images/6/66/XSS_Remediation.ppt PPT])&lt;br /&gt;
 * Preso:&amp;quot;Growing the secure application developer community through expanded curricula&amp;quot; by Tony Gottlieb&lt;br /&gt;
 * FireTalks (bring it!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== March 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' March 3, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.boozallen.com/ Booz Allen Hamilton], 13200 Woodland Park Road, Herndon, VA 20171 &amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011] In Review&lt;br /&gt;
  * Preso: [http://www.owasp.org/index.php/Top_10_2010-A1-Injection A1 &amp;quot;Injection&amp;quot;]&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' February 3, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset HIlls Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * Feedback for [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011]&lt;br /&gt;
  * Preso: Intro to [http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Top 10] + 2&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== December 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' December 2, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://hackerspaces.org/wiki/Reverse_Space ReverseSpace], 13505 Dulles Technology Drive, Herndon, VA&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
   * 2011 Planning Session (Schedule, Volunteers, Speakers, Topics)&lt;br /&gt;
  * Lightning Talks!! (Bring an idea, a question, a topic, whatever - 5-10 minute talks max!)&lt;br /&gt;
  * Social / Networking (BYOB!)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' November 4, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' Akamai, 11111 Sunset Hills Rd, Suite #250, Reston, VA&amp;lt;br&amp;gt; '''Speaker:''' Ben Tomhave&amp;lt;br&amp;gt; '''Title:''' The Unintended Consequences of Beating Users with Carrot Sticks: Radical Thoughts on Security Reform&amp;lt;br&amp;gt; '''Description:''' What we're doing today is not working and isn't sustainable. The fundamental culture of the average business does not encourage making good security decisions. Software shops continue to focus on functionality and timelines, neglecting information security. In spite of regulations like PCI and HIPAA+HITECH, which are levying fines against organizations for their security failures, the tipping point has clearly not been reached to cause meaningful change. Much of this problem can be attributed to the excessive use of negative incentives (sticks) instead of providing positive incentives (carrots) that inspire better decision making and motivate true change. Fortunately, it's not too late to change tactics and start achieving demonstrable success.&amp;lt;br&amp;gt; '''Speaker Bio:''' Ben Tomhave is a Senior Security Analyst with Gemini Security Solutions in Chantilly, VA, specializing in solutions architecture, security planning, program development and management, and other strategic security solutions. He holds a MS in Engineering Management with an Information Security Management concentration from The George Washington University and is a CISSP. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, June 3rd, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER''': Alex Hutton, Verizon Business and http://www.newschoolsecurity.com/&amp;lt;br&amp;gt; '''TOPIC''': Risk Management - Time to blow it up and start over?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
A redux of the presentation that Alex delivered at B-Sides San Francisco during RSA 2010. &amp;quot;Now that the industry is trying to formalize the concept of risk management into neat little compartments like standards (ISO 27005/31000), certifications (CRISC) and products (GRC) guess what? We're doing it wrong. Fundamentally wrong. This talk will discuss why all this current risk management stuff is goofy and what sort of alternatives we have that might help us understand our ability to protect, our tendency towards failure, and how to match that up with what management will stomach.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Slides are available from: [http://www.slideshare.net/BSides/risk-management-time-to-blow-it-up-and-start-over-alex-hutton Risk Management - Time to blow it up and start over?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SPECIAL SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/tiffanyrad Tiffany Rad] provided an overview and update on [http://twitter.com/reversespace Reverse Space] in Herndon, VA. For more information, or to help out, please join the [http://groups.google.com/group/ReverseSpace Reverse Space Google Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Tuesday, May 18th, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER'''': Jeff Ennis, Senior Solutions Architect, Veracode&amp;lt;br&amp;gt; '''TITLE''': State of Software Security ([[Media:State of Software Security-Ennis.ppsx.zip]])&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
A discussion of the current state of software security based on the compiled findings by Veracode from the dynamic and static code analysis they have performed for customers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== September 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 17, 2009. 6:00pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': 22260 Pacific blvd, Sterling, VA. 20166&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Fortify 360&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Erik Klein (Fortify Software), Eric Dalci (Cigital)&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
We're pleased to invite you to our next week's OWASP Session (Thursday September 17th). We will be hosting a presentation, demo and hands on session of Fortify 360 (http://www.fortify.com). Fortify 360 includes Fortify SCA (Source Code Analyzer) and the Fortify 360 Server which is Fortify's solution for an enterprise deployment of SCA. The session will start with a presentation by Fortify engineers, followed by a demo and finally a hands on session where the audience will be free to install Fortify SCA on the machine and try it the SCA tool on a sample application that we will provide. The audience will also be introduced with the Fortify 360 Server and try some of the enterprise level features such as collaborative code review, metrics and so on. Bring your laptop if you want to try Fortify 360! &lt;br /&gt;
&lt;br /&gt;
The target audience is anyone interested in Secure Code Review with a Static Analysis tool at the desktop level and/or enterprise level. We will need to register visitors before hand...please email wade.woolwine@owasp.org for registration and confirm attendance. Pizza and refreshments will be served. &lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 3, 2009. 6:00pm.&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Conducting Application Assessment&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Jeremy Epstein, SRI&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
After the 2000 election, many states launched headlong into electronic voting systems to avoid the problems with &amp;quot;hanging chads&amp;quot;. Once problems with those systems started appearing, many localities started moving to optical scan, which was used by a majority of US voters in the 2008 election. There are other technologies in use around the country, including lever machines, vote-by-mail, vote-by-phone, and Internet voting. What are the tradeoffs among these technologies? Particularly relevant to OWASP, what are the security issues associated with different types of equipment, and what measures do vendors of voting equipment use to try to address the security problems? Are software security problems important, or can non-technical measures protect against them? In this talk, we'll discuss a wide variety of voting technologies, and their pros and cons from both a technical and societal perspective. &lt;br /&gt;
&lt;br /&gt;
'''ABOUT THE SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
Jeremy Epstein is Senior Computer Scientist at SRI International. His background includes more than 20 years experience in computer security research, product development, and consulting. Prior to joining SRI International, he was Principal Consultant with Cigital, and before that spent nine years as Senior Director of Product Security at Software AG, an international business software company. Within the area of voting systems, Jeremy has been involved for over five years in voting technology and advocacy, both as an employee and as an independent consultant. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': July 9th 6pm-9pm EST&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Ounce's 02&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER(S)''': Dinis Cruz, OWASP, Ounce Labs.&amp;lt;br&amp;gt; '''DESCRIPTION''': So what is O2? &lt;br /&gt;
&lt;br /&gt;
Well in my mind O2 is a combination of advanced tools (Technology) which are designed to be used on a particular way (Process) by knowledgeable Individuals (People) &lt;br /&gt;
&lt;br /&gt;
Think about it as a Fighter Jet who is able to go very fast, has tons of controls, needs to be piloted by somebody who knows what they are doing and needs to have a purpose (i.e. mission). &lt;br /&gt;
&lt;br /&gt;
Basically what I did with O2 was to automate the workflow that I have when I'm engaged on a source-code security review. &lt;br /&gt;
&lt;br /&gt;
Now, here is the catch, this version is NOT for the faint-of-heart. I designed this to suit my needs, which although are the same as most other security consultants, have its own particularities :) &lt;br /&gt;
&lt;br /&gt;
The whole model of O2 development is based around the concept of automating a security consultant’s brain, so I basically ensure that the main O2 Developer (Dinis Cruz) has a very good understanding of the feature requirements of the targeted Security Consultant (Dinis Cruz) :) . And this proved (even to my surprise) spectacularly productive, since suddenly I (i.e. the security consultant) didn't had to wait months for new features to be added to its toolkit. If there was something that needed to be added, it would just be added in days or hours. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Gary McGraw, Cigital Inc.'':''Building Security In Maturity Model''&amp;lt;br&amp;gt; Later, an interview: ''Jim Routh, formerly of DTCC'':''The Economic Advantages of a Resilient Supply Chain- Software Security'' ''&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Gary McGraw talked about the experience he, Sammy Migues, and Brian Chess gained conducting a survey of some of America's top Software Security groups. Study results are available under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Share Alike license] at [http://www.bsi-mm.com www.bsi-mm.com]. Gary described the common structural elements and activities of successful software security programs, present the maturity model that resulted from survey data, and discuss lessons learned from listening to those leading these groups. &lt;br /&gt;
&lt;br /&gt;
Jim Routh gave an incredibly insightful interview regarding his own experiences crafting their security group. &lt;br /&gt;
&lt;br /&gt;
Download presentation notes at: [http://www.owasp.org/images/0/03/JMR-Economics_of_Security_Goups.ppt The Economic Advantages of a Resilient Supply Chain- Software Security] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Eric Dalci, Cigital Inc.'':''Introduction to Static Analysis''&amp;lt;br&amp;gt; Later, a panel: &lt;br /&gt;
&lt;br /&gt;
*Steven Lavenhar, Booz Allen Hamilton; &lt;br /&gt;
*Eric Dalci, Cigital Inc.&lt;br /&gt;
&lt;br /&gt;
Panel moderated by John Steven &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This session is an introductory to Static Analysis. This session presents the different types of analysis used by today's Static Analysis tools. Examples of direct application to find vulnerabilities will be shown (ex: Data Flow Analysis, Semantic, Control Flow, etc.). Current limitations of Static Analysis will also be exposed. This session is tool agnostic, but will cover the approach taken by various leading commercial (as well as open-source) tools. &lt;br /&gt;
&lt;br /&gt;
Download: [http://www.owasp.org/images/e/ea/OWASP_Virginia_Edalci_May09.pdf Intro to Static Analysis] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Jeremiah Grossman, Whitehat Security'': '''Top 10 Web Hacking Techniques 2008'''&amp;lt;br&amp;gt; Jeremiah Spoke on (what he and colleagues determined were the) top ten web hacking techniques of 2008. This talk was a preview of his RSA '09 talk.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Download http://www.whitehatsec.com/home/assets/presentations/09PPT/PPT_OWASPNoVA04082008.pdf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Later, &lt;br /&gt;
&lt;br /&gt;
*Nate Miller, Stratum Security; &lt;br /&gt;
*Jeremiah Grossman, Whitehat Security; &lt;br /&gt;
*Tom Brennan, Whitehat Security; and &lt;br /&gt;
*Wade Woolwine, AOL&lt;br /&gt;
&lt;br /&gt;
served as penetration testing panels answering questions posed and moderated by Ken Van Wyk. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Ryan C. Barnett, Breach Security'': '''Patching Challenge: Securing WebGoat with ModSecurity''' &lt;br /&gt;
&lt;br /&gt;
Identification of web application vulnerabilities is only half the battle with remediation efforts as the other. Let's face the facts, there are many real world business scenarios where it is not possible to update web application code in either a timely manner or at all. This is where the tactical use-case of implementing a web application firewall to address identified issues proves its worth. &lt;br /&gt;
&lt;br /&gt;
This talk will provide an overview of the recommended practices for utilizing a web application firewall for virtual patching. After discussing the framework to use, we will then present a very interesting OWASP Summer of Code Project where the challenge was to attempt to mitigate as many of the OWASP WebGoat vulnerabilities as possible using the open source ModSecurity web application firewall. During the talk, we will discuss both WebGoat and ModSecurity and provide in-depth walk-throughs of some of the complex fixes. Examples will include addressing not only attacks but the underlying vulnerabilities, using data persistence for multiple-step processes, content injection and even examples of the new LUA programming language API. The goal of this talk is to both highlight cutting edge mitigation options using a web application firewall and to show how it can effectively be used by security consultants who traditionally could only offer source code fixes. &lt;br /&gt;
&lt;br /&gt;
Ryan C. Barnett is the Director of Application Security Research at Breach Security and leads Breach Security Labs. He is also a Faculty Member for the SANS Institute, Team Lead for the Center for Internet Security Apache Benchmark Project and a Member of the Web Application Security Consortium where he leads the Distributed Open Proxy Honeypot Project. Mr. Barnett has also authored a web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
(This talk is a preview of Ryan's talk at Blackhat Federal the following week - see https://www.blackhat.com/html/bh-dc-09/bh-dc-09-speakers.html#Barnett ) &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip|WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity]] &lt;br /&gt;
&lt;br /&gt;
''John Steven, Cigital'': '''Moving Beyond Top N Lists''' &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Moving_Beyond_Top_N_Lists.ppt.zip|Moving Beyond Top N Lists]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Cigital published an article: The Top 11 Reasons Why Top 10 (or 25) Lists Don’t Work. Yet, these lists are a staple of conference abstracts, industry best practice lists, and the like. Are they good or bad? We’ll explore how to get beyond the Top 10 (or 25) list in making your software security effort real. &lt;br /&gt;
&lt;br /&gt;
John is Senior Director, Advanced Technology Consulting at Cigital. His experience includes research in static code analysis and hands-on architecture and implementation of high-performance, scalable Java EE systems. John has provided security consulting services to a broad variety of commercial clients including two of the largest trading platforms in the world and has advised America's largest internet provider in the Midwest on security and forensics. John led the development of Cigital's architectural analysis methodology and its approach to deploying enterprise software security frameworks. He has demonstrated success in building Cigital's intellectual property for providing cutting-edge security. He brings this experience and a track record of effective strategic innovation to clients seeking to change, whether to adopt more cutting-edge approaches, or to solidify ROI. John currently chairs the SD Best Practices security track and co-edits the building security in department of IEEE's Security and Privacy magazine. John has served on numerous conference panels regarding software security, wireless security and Java EE system development. He holds a B.S. in Computer Engineering and an M.S. in Computer Science from Case Western Reserve University. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== January 2009  ===&lt;br /&gt;
&lt;br /&gt;
To kick off 2009, our January meeting featured a discussion of the relationship between application security and CMMI, and an overview of the OWASP ASVS project. &lt;br /&gt;
&lt;br /&gt;
''Michele Moss, Booz Allen Hamilton'': '''Evolutions In The Relationship Between Application Security And The CMMI''' &lt;br /&gt;
&lt;br /&gt;
Addressing new and complex threats and IT security challenges requires repeatable, reliable, rapid, and cost effective solutions. To implement these solutions, organizations have begun to align their security improvement efforts with their system and software development practices. During a “Birds of a Feather” at the March 2007 SEPG, a group of industry representatives initiated an effort which led to the definition of assurance practices that can be applied in the context of the CMMI. This presentation will provide an understanding how applying the assurance practices in the context of security contribute to the overall increased quality of products and services, illustrate how the a focus on assurance in the context of CMMI practices is related to application security practices, and present and approach to evaluate and improve the repeatability and reliability of assurance practices. &lt;br /&gt;
&lt;br /&gt;
Michele Moss, CISSP, is a security engineer with more than 12 years of experience in process improvement. She specializes in integrating assurance processes and practices into project lifecycles. Michele is the Co-Chair of the DHS Software Assurance Working Group on Processes &amp;amp;amp; Practices. She has assisted numerous organizations with maturing their information technology, information assurance, project management, and support practices through the use of the capability maturity models including the CMMI, and the SSE-CMM. She is one of the key contributors in an effort to apply an assurance focus to CMMI. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:Moss-AppSecurityAndCMMI.pdf|Evolutions In The Relationship Between Application Security And The CMMI]] &lt;br /&gt;
&lt;br /&gt;
''Mike Boberski, Booz Allen Hamilton'': '''About OWASP ASVS''' &lt;br /&gt;
&lt;br /&gt;
The primary aim of the OWASP ASVS Project is to normalize the range of coverage and level of rigor available in the market when it comes to performing application-level security verification. The goal is to create a set of commercially-workable open standards that are tailored to specific web-based technologies. &lt;br /&gt;
&lt;br /&gt;
Mike Boberski works at Booz Allen Hamilton. He has a background in application security and the use of cryptography by applications. He is experienced in trusted product evaluation, security-related software development and integration, and cryptomodule testing. For OWASP, he is the project lead and a co-author of the OWASP Application Security Verification Standard, the first OWASP standard. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:About_OWASP_ASVS_Web_Edition.ppt|About OWASP ASVS]] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our November 2008 meeting, we had two great presentations on software assurance and security testing. &lt;br /&gt;
&lt;br /&gt;
''Nadya Bartol, Booz Allen Hamilton'': '''Framework for Software Assurance''' &lt;br /&gt;
&lt;br /&gt;
Nadya's presentation will provide an update on the Software Assurance Forum efforts to establish a comprehensive framework for software assurance (SwA) and security measurement. The Framework addresses measuring achievement of SwA goals and objectives within the context of individual projects, programs, or enterprises. It targets a variety of audiences including executives, developers, vendors, suppliers, and buyers. The Framework leverages existing measurement methodologies, including Practical Software and System Measurement (PSM); CMMI Goal, Question, Indicator, Measure (GQ(I)M); NIST SP 800-55 Rev1; and ISO/IEC 27004 and identifies commonalities among the methodologies to help organizations integrate SwA measurement in their overall measurement efforts cost-effectively and as seamlessly as possible, rather than establish a standalone SwA measurement effort within an organization. The presentation will provide an update on the SwA Forum Measurement Working Group work, present the current version of the Framework and underlying measures development and implementation processes, and propose example SwA measures applicable to a variety of SwA stakeholders. The presentation will update the group on the latest NIST and ISO standards on information security measurement that are being integrated into the Framework as the standards are being developed. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Bartol-MeasurementForOWASP11-13-08.pdf Framework for Software Assurance]&lt;br /&gt;
&lt;br /&gt;
''Paco Hope, Cigital'': '''The Web Security Testing Cookbook''' &lt;br /&gt;
&lt;br /&gt;
The Web Security Testing Cookbook (O'Reilly &amp;amp;amp; Associates, October 2008) gives developers and testers the tools they need to make security testing a regular part of their development lifecycle. Its recipe style approach covers manual, exploratory testing as well automated techniques that you can make part of your unit tests or regression cycle. The recipes cover the basics like observing messages between clients and servers, to multi-phase tests that script the login and execution of web application features. This book complements many of the security texts in the market that tell you what a vulnerability is, but not how to systematically test it day in and day out. Leverage the recipes in this book to add significant security coverage to your testing without adding significant time and cost to your effort. &lt;br /&gt;
&lt;br /&gt;
Congratulations to Tim Bond who won an autographed copy of Paco's book. Get your copy here [[http://www.amazon.com/Security-Testing-Cookbook-Paco-Hope/dp/0596514832]] &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/PacoHope-WebSecCookbook.pdf The Web Security Testing Cookbook]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our October 2008 meeting, we had two fascinating talks relating to forensics. &lt;br /&gt;
&lt;br /&gt;
''Dave Merkel, Mandiant'': '''Enterprise Grade Incident Management - Responding to Persistent Threats''' &lt;br /&gt;
&lt;br /&gt;
Dave Merkel is Vice President of Products at Mandiant, a leading provider of information security services, education and products. Mr. Merkel has worked in the information security and incident response industry for over 10 years. His background includes service as a federal agent in the US Air Force and over 7 years experience directing security operations at America Online. He currently oversees the product business at Mandiant, and is in charge of building Mandiant Intelligent Response - an enterprise incident response solution. But no, he won't be selling you anything today. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Mandiant-EnterpriseIRandAPTpresentation.pdf Enterprise Grade Incident Management - Responding to Persistent Threats] &lt;br /&gt;
&lt;br /&gt;
''Inno Eroraha, NetSecurity'': '''Responding to the Digital Crime Scene: Gathering Volatile Data''' &lt;br /&gt;
&lt;br /&gt;
Inno Eroraha is the founder and chief strategist of NetSecurity Corporation, a company that provides digital forensics, hands-on security consulting, and Hands-on How-To® training solutions that are high-quality, timely, and customer-focused. In this role, Mr. Eroraha helps clients plan, formulate, and execute the best security and forensics strategy that aligns with their business goals and priorities. He has consulted with Fortune 500 companies, IRS, DHS, VA, DoD, and other entities. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/NetSecurity-RespondingToTheDigitalCrimeScene-GatheringVolatileData-TechnoForensics-102908.pdf Responding to the Digital Crime Scene: Gathering Volatile Data] &lt;br /&gt;
&lt;br /&gt;
=== History  ===&lt;br /&gt;
&lt;br /&gt;
The original DC Chapter was founded in June 2004 by [mailto:jeff.williams@owasp.org Jeff Williams] and has had members from Virginia to Delaware. In April 2005 a new chapter, OWASP Washington VA Local Chapter, was formed and the DC Chapter was renamed to DC-Maryland. The two are sister chapters and include common members and shared discourse. The chapters meet in opposite halves of the month to facilitate this relationship. &lt;br /&gt;
&lt;br /&gt;
==== Chapter Groups  ====&lt;br /&gt;
&lt;br /&gt;
Within the chapter, various common interests spring up. We've created Google groups to manage collaboration amongst participants for these topics. Feel free to join and participate in: &lt;br /&gt;
&lt;br /&gt;
*[http://groups.google.com/group/novaowasp_threatmodeling Threat Modeling] &lt;br /&gt;
*[http://groups.google.com/group/novaowasp_mobile Mobile]&lt;br /&gt;
&lt;br /&gt;
=== OWASP NoVa Members On Twitter  ===&lt;br /&gt;
&lt;br /&gt;
John Steven [http://twitter.com/m1splacedsoul http://twitter.com/m1splacedsoul] &lt;br /&gt;
&lt;br /&gt;
Jack Mannino [http://twitter.com/jack_mannino http://twitter.com/jack_mannino] &lt;br /&gt;
&lt;br /&gt;
Ben Tomhave [http://twitter.com/falconsview http://twitter.com/falconsview] &lt;br /&gt;
&lt;br /&gt;
Ken Johnson [http://twitter.com/cktricky http://twitter.com/cktricky] &lt;br /&gt;
&lt;br /&gt;
Mike Smith [http://twitter.com/rybolov http://twitter.com/rybolov] &lt;br /&gt;
&lt;br /&gt;
Trevor Hawthorn [http://twitter.com/packetwerks http://twitter.com/packetwerks] &lt;br /&gt;
&lt;br /&gt;
Jeremy Long [http://twitter.com/ctxt http://twitter.com/ctxt] &lt;br /&gt;
&lt;br /&gt;
Ari Elias-Bachrach [http://twitter.com/angelofsecurity http://twitter.com/angelofsecurity] &lt;br /&gt;
&lt;br /&gt;
Venkat Sundaram [http://twitter.com/Vnk3889 http://twitter.com/Vnk3889] &lt;br /&gt;
&lt;br /&gt;
==== Knowledge  ====&lt;br /&gt;
&lt;br /&gt;
The Northern Virginia (NoVA) chapter is committed to compiling resources on interesting and valuable topic areas. We hope that this structure helps you access information pertinent to your tasks at hand as you move through a secure application development life cycle. Currently, our topic areas of focus include activities such as: &lt;br /&gt;
&lt;br /&gt;
*Threat Modeling &lt;br /&gt;
*[[Code Review and Static Analysis with tools]] &lt;br /&gt;
*Penetration Testing and Dynamic Analysis tools &lt;br /&gt;
*Monitoring/Dynamic patching (WAFs)&lt;br /&gt;
&lt;br /&gt;
Certain projects our members are involved in cross-cut these activities, providing value throughout. They include: &lt;br /&gt;
&lt;br /&gt;
*ASVS&lt;br /&gt;
&lt;br /&gt;
=== Static Analysis Curriculum  ===&lt;br /&gt;
&lt;br /&gt;
*For an introduction to the OWASP Static Analysis (SA) Track goals, objectives, and session roadmap, please see [http://www.owasp.org/index.php/Image:OWASP_NoVA_SA_Track_Final_20090408.ppt this presentation].&lt;br /&gt;
&lt;br /&gt;
The following is the agenda of the OWASP Static Analysis track roadmap for the [http://www.owasp.org/index.php/Virginia_(Northern_Virginia) Northern Virginia Chapter]. &lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp SAtrack plan.png|OWASP Static Analysis Roadmap - Northern Virginia Chapter 2009]] &lt;br /&gt;
&lt;br /&gt;
'''Contacts'''&amp;lt;br&amp;gt; Questions related to this curriculum should be sent to [mailto:John.Steven@owasp.org John Steven], who is the Northern Virginia chapter leader. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Flash Talk Resources  ===&lt;br /&gt;
&lt;br /&gt;
Chandu Ketkar on OFS. Download: [http://www.owasp.org/images/1/1c/OFS.pptx OFS Presentation.] &amp;lt;br&amp;gt; [http://jack-mannino.blogspot.com/ Jack Mannino] on Google and Searching for Personal Information &amp;lt;br&amp;gt; Jesse Ou on XML Bombs. Download: [http://www.owasp.org/images/1/18/OWASP_JOU_XML_DTD_Attacks.pptx XML DTD Presentation] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;paypal&amp;gt;Northern Virginia&amp;lt;/paypal&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Virginia]] [[Category:Washington,_DC]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192285</id>
		<title>Virginia</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192285"/>
				<updated>2015-03-26T20:34:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== About  ====&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-nova.JPG|right|275px|Owasp-nova.JPG]]The '''OWASP Northern VA Local Chapter''' meetings are FREE and OPEN to anyone interested in learning more about application security. We encourage individuals to provide knowledge transfer via hands-on training and presentations of specific OWASP projects and research topics and sharing SDLC knowledge. &lt;br /&gt;
&lt;br /&gt;
We the encourage vendor-agnostic presentations to utilize the OWASP Powerpoint template when applicable and individual volunteerism to enable perpetual growth. As a 501(3)c non-profit association donations of meeting space or refreshments sponsorship is encouraged, simply contact the local chapter leaders listed on this page to discuss. Prior to participating with OWASP please review the Chapter Rules. &lt;br /&gt;
&lt;br /&gt;
The chapter is committed to providing an engaging experience for a variety of audience types ranging from local students and those beginning in app-sec, to those experienced and accomplished professionals who are looking for competent collaborators for OWASP-related projects. To this end, we will continue to conduct both monthly chapter meetings as well as out-of-band curricula, on application security topics. &lt;br /&gt;
&lt;br /&gt;
{{Chapter Template|chaptername=Virginia|extra =Come see us at a chapter meeting, jump on our Google Group, or email any of us directly.&lt;br /&gt;
&lt;br /&gt;
=== 2015 Chapter Election Candidates ===&lt;br /&gt;
*Mike McCabe - Board Chair&lt;br /&gt;
**Endorsement - Jack Mannino, Current Board Chair&lt;br /&gt;
**Full Disclosure: Mike reports directly to me at our day job.&lt;br /&gt;
**Mike is one of the most ethical, hard working, and analytical people I've had the pleasure to meet. In his previous two years serving on the OWASP NoVa board, Mike has been instrumental in keeping a healthy pipeline of interesting speakers as well as helping carve out new initiatives based on chapter feedback. I fully vouch for both his character and his ability to run the chapter in an ethical, high quality manner.&lt;br /&gt;
*Akshay Sivananda&lt;br /&gt;
**OWASP Membership ID:  020000050&lt;br /&gt;
**Endorsement - Ping Ning, Chapter Member&lt;br /&gt;
**Akshay is a seasoned information security professional, with broad experience in secure SDLC, vulnerability management, and software security initiative. I worked with Akshay before and enjoyed working with him. He was very supportive and always ready to provide a helping hand. He always has an open mind and respects various opinions. I think Akshay is a great candidate for the Owasp NoVA board and believe he will make significant contribution to the chapter. As a regular member of Owasp, I wholeheartedly endorse Akshay for the Owasp NoVA chapter board.&lt;br /&gt;
*Abdullah Munawar&lt;br /&gt;
**Endorsement - Jon Callahan, Chapter Member&lt;br /&gt;
**I worked with Abdullah for about a year and can personally attest to not only his knowledge but also his passion and drive to further himself in the security field. When committing to something, you'll know he will follow through and because of this, was my goto guy until we parted ways. Add on the 8 years worth of involvement with OWASP and you get someone who understands exactly how this chapter works and is willing to put the time in to keep it as great as it's been. &lt;br /&gt;
&lt;br /&gt;
=== Chapter Board ===&lt;br /&gt;
Previously having had a Chapter Leader, then a Chapter &amp;quot;Program Committee&amp;quot;, the chapter is now run by a full board (alphabetical order):&lt;br /&gt;
* Jack Mannino - Board Chair&lt;br /&gt;
* Jeremy Long&lt;br /&gt;
* Michael McCabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board member responsibilities include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;   * Providing governance for chapter and member activities in terms chapter mission and OWASP code of ethics&lt;br /&gt;
   * Recruiting OWASP membership&lt;br /&gt;
   * Driving OWASP NoVA Chapter attendance and involvement&lt;br /&gt;
   * Deferring to, facilitating, and supporting the activities and projects of chapter membership&lt;br /&gt;
   * Eliciting, scheduling, and coordinating chapter panels, speakers, and other sessions&lt;br /&gt;
   * Scouting, clearing, and scheduling chapter meeting venues and catering&lt;br /&gt;
   * Identifying opportunities for collaboration between chapter membership, OWASP global committees, and other organizations&lt;br /&gt;
   * Collecting and auditing use of chapter funds&lt;br /&gt;
   * Voting on chapter matters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more information on how the board was elected and what it's responsibilities are, please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;amp;authkey=CIS9zFM Chapter Board Election] |mailinglistsite=https://groups.google.com/forum/#!forum/owasp-nova|emailarchives=https://groups.google.com/forum/#!forum/owasp-nova}}&lt;br /&gt;
&lt;br /&gt;
You may also want to follow [http://twitter.com/OWASPNoVA/ @OWASPNoVA] on Twitter. &lt;br /&gt;
&lt;br /&gt;
=== Schedule  ===&lt;br /&gt;
&lt;br /&gt;
Meetings are (generally) held the first Thursday of the month.&lt;br /&gt;
&lt;br /&gt;
Note: We need speakers and topics! If you want to present, please contact [mailto:Jeremy.Long@owasp.org Jeremy] or [mailto:jack.mannino@owasp.org Jack]. We're very open to hearing from all our members.  &lt;br /&gt;
&lt;br /&gt;
== Next Meeting  ==&lt;br /&gt;
&lt;br /&gt;
For latest news check the meetup page here: [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/ Meetup].&lt;br /&gt;
&lt;br /&gt;
===October 2014===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' October 9th, 2014 @ 6:00pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' Uber Offices Tysons Corner, 1751 Pinnacle Drive, McLean, VA (1/2 mile from tysons corner metro)&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/205582912 Meetup]&lt;br /&gt;
&lt;br /&gt;
'''Agenda:''' &lt;br /&gt;
Join us for our Hack Night. We're switching the format up this month to include breakout sessions and collaborating on open source projects. Whether you're a builder, breaker, developer, or manager, come out to learn and collaborate.&lt;br /&gt;
&lt;br /&gt;
'''---&amp;gt; Special Notice: &amp;lt;---'''&lt;br /&gt;
&lt;br /&gt;
Please note that for this month, we will be moving the Meetup to Uber offices in Tyson's, as the space is configured extremely well for a &amp;quot;Hack Night&amp;quot; meetup (whiteboards, tables, etc). It is also Metro accessible.&lt;br /&gt;
&lt;br /&gt;
'''''Please bring your laptop!'''''&lt;br /&gt;
&lt;br /&gt;
== Past meetings ==&lt;br /&gt;
&lt;br /&gt;
===September 2014===&lt;br /&gt;
'''Date/Time:''' September 4th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/200805882/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will cover some chapter business then go straight into a session covering Ruby on Rails Security.&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
The World of Ruby on Rails Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Take a quick trip through the world of Ruby on Rails security! The journey will start with an overview of security features offered by the popular web framework, then detour through dangerous pitfalls and unsafe defaults, and finally end with suggestions for improving security in Rails apps and integrating improvements into the development process.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Justin Collins is a member of the application security team at Twitter and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===July 2014===&lt;br /&gt;
'''Date/Time:''' July 10th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/191678702/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will have a technical presentation on OAuth, and we will have an open forum on some upcoming changes to the chapter's format that we want feedback on before we move ahead with them. Our goal is to make OWASP NoVa a group that not only spreads education, but produces material for the broader application security community. Please join us and have your say in the way OWASP NoVa runs in the future!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
OAuth 1.0 Authorization and Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
OAuth 1.0 is an authorization standard based on the idea of a “valet key”. This presentation will provide an overview of the OAuth 1.0 authorization model, how it may fit in the enterprise environment, and some security implications for designers and security analyzers. OAuth 2.0 framework, the proposed standard to replace OAuth 1.0, will also be briefly discussed.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Ping Ning is a senior consultant at Cigital with 20 years of development and security experiences. He is practicing many software security services for clients, including architecture risk analysis, security architecture and design, secure code review, penetration testing, building security programs, and tools deployment and training.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===February 2013===&lt;br /&gt;
'''Date/Time:''' February 7th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/101839862/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Jeffrey Walton - &amp;quot;Securing Wireless Channels in the Mobile Space&amp;quot;, [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Securing Wireless Channels in the Mobile Space&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Secure channels are a cornerstone to individuals and employees on the go. The mobile environment adds additional pressures to securely delivering content to users - irregardless of whether its an email service delivering personal messages to a user, an organization providing company secrets to a mobile workforce, or a content provider streaming protected media to a subscriber. This talk will discuss the mobile environment, challenges to securely delivering content, examine past failures, offer remediation for issues in the environment, provide sample code for Android, iOS, .Net, OpenSSL, and discuss initiatives to address known issues.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Jeff has nearly 15 years of experience in a variety of roles including Systems Engineer, System Administrator, Developer, Security Engineer and Security Architect. He has worked with a number of Federal agencies and private institutions, including the Treasury Department, Social Security Administration, State Department, Diplomatic Security Service, financial institutions, and defense contractors. He has designed mobile solutions; developed secure containers; implemented secure channels; integrated management functions such as password lockouts and remote wipes; performed code reviews; and integrated security libraries such as Microsoft CAPI, Certicom Security Builder, OpenSSL and Crypto++. Jeff has also overseen and performed certification and accreditation audits, secure code reviews, and architectural risk assessments on traditional and mobile systems of varying code base sizes (primarily Objective C, C/C++ with Java, .Net).&lt;br /&gt;
&lt;br /&gt;
'''Downloads:'''&lt;br /&gt;
[[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]], [[Media:pubkey-pin-supplement.pdf|Supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===January 2013===&lt;br /&gt;
'''Date/Time:''' January 10th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/5106285036 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Upcoming chapter elections and 2013 plans&lt;br /&gt;
 * Talk: &amp;quot;Automating (Some) Android Security Testing&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Automating (Some) Android Security Testing&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Dynamically assessing an Android application for security issues requires examining many different layers. Some areas are extremely feasible to automate, while some areas may lend themselves better to manual analysis or semi-automated analysis. This presentation will present a more semi-automated approach to assessing applications rather than 'fire and forget' testing. We'll also look at some of the prerequisites for performing Android testing as well as some of the essentials for things you'll want in your testing environment (such as coffee and Red Bull).&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[https://www.owasp.org/index.php/User:Jack_Mannino Jack Mannino]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===October 2012===&lt;br /&gt;
'''Date/Time:''' October 4th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/4430947082 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/Dan_Cornell Dan Cornell] - &amp;quot;Benchmarking Web Application Scanners for YOUR Organization&amp;quot;, [https://www.owasp.org/images/7/73/OWASP_BenchmarkingWebApplicationScannersForYourOrganization_Content-1.pptx Presentation Slides]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Benchmarking Web Application Scanners for YOUR Organization&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Web applications pose significant risks for organizations. The selection of an appropriate scanning product or service can be challenging because every organization develops their web applications differently and decisions made by developers can cause wide swings in the value of different scanning technologies. To make a solid, informed decision, organizations need to create development team- and organization-specific benchmarks for the effectiveness of potential scanning technologies. This involves creating a comprehensive model of false positives, false negatives and other factors prior to mandating analysis technologies and making decisions about application risk management. This presentation provides a model for evaluating application analysis technologies, introduces an open source tool for benchmarking and comparing tool effectiveness, and outlines a process for making organization-specific decisions about analysis technology selection.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Dan Cornell has over 15 years experience architecting and developing web-based software systems. As CTO, he leads Denim Group's security research team in investigating the application of secure coding and development techniques to improve web-based software development methodologies. He also heads the Denim Group security research team, investigating the application of secure coding and development techniques to the improvement of web-based software development methodologies. Dan currently serves as the OWASP San Antonio chapter leader, member of the OWASP Global Membership Committee and co-lead of the OWASP Open Review Project. Dan has spoken at numerous security conferences, such as RSA in San Francisco, OWASP EU Research in Athens and OWASP AppSec USA in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2012 ===&lt;br /&gt;
'''Date/Time:''' July 12th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/John_Steven| John Steven] - &amp;quot;Password Storage Security&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;Password Storage Security&amp;quot; [[Media:PSM_-_Problem_Definition.pdf|Password Storage Security.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
During the June meeting we discussed the LinkedIn password theft which was just beginning its the news cycle. We'll use the July chapter meeting to discuss issues around password hashing and a solution. While wholly different schemes for protecting passwords at rest are preferable, it's instructive to look at hashing passwords as a threat modeling exercise and take the time to follow through to a fix. &lt;br /&gt;
&lt;br /&gt;
To read up on the issue, look at my latest blog post on the topic: [http://goo.gl/sGyi8|Justice League Blog - Securing Password Storage]&lt;br /&gt;
&lt;br /&gt;
For those who were sufficiently intrigued, mystified, or inspired by the presentation on password protection at the last chapter meeting, Coursera is offering a free 6-week Stanford course on cryptography that begins on August 27th (&amp;quot;Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!&amp;quot;): [https://www.coursera.org/course/crypto|Crypto Course] &lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
See  [https://www.owasp.org/index.php/John_Steven| John Steven Bio]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2012 ===&lt;br /&gt;
'''Date/Time:''' June 7th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Ken Johnson (LivingSocial) - &amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot; [https://www.owasp.org/images/e/e9/Ken_Johnson_July_2012.pptx AppSec, Ritalin, and Failing Fast Presentation] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
In early April Ken Johnson and Matt Ahrens presented a high-level overview of building an Application Security program at LivingSocial. This talk will differ in that it will focus on the granular aspects involved with introducing security into an incredibly intense development environment. The discussion will be compromised of experiences in:&lt;br /&gt;
* Developing technical solutions to solving difficult challenges&lt;br /&gt;
* Remaining proactive with an increased workload&lt;br /&gt;
* What it means to innovate&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
Ken Johnson is the Application Security Manager for LivingSocial.com. Prior to joining LivingSocial.com, Ken worked in various application security consulting roles. Ken is the primary developer of the Web Exploitation Framework (wXf) and enjoys contributing to other open source projects as often as time permits. Ken has spoken at AppSec DC 2010 &amp;amp; 2012, OWASP DC and Phoenix chapters and is a member of the Attack Research Team.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2012 ===&lt;br /&gt;
'''Date/Time:''' May 3rd, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * &amp;quot;Chill Out&amp;quot; conversations (formal talked pushed back due to logistical issues)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2012 ===&lt;br /&gt;
'''Date/Time:''' April 16th, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Food Sponsor:''' Jeremy Long - jeremy.long[at]owasp.org&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot; by Masha Khainson (Cigital)&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
 * ISSA NoVA Social @Champps!  :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Malicious Code Detection or BRIC Breaking Through Static Analysis: As organizations outsource development to less trustworthy providers malware becomes as much a problem as introduction of honest vulnerability by one's own development shop. Assessment practices currently look for vulnerability within source code and a running systems but these are but a few of windows of opportunity for malware introduction. This presentation demonstrates an approach for augmenting an existing security practice with the capability to detect potentially malicious code through secure code review. First, we show how to break malicious intent--often quite subtle--into concrete patterns we can reliably detect. The framework then demonstrates how to build suspicion around reliance of particular patterns' use in concert which, increasingly, imply malicious intent. These techniques will be explained through a demonstration in a real world application.&lt;br /&gt;
&lt;br /&gt;
'''Bio'''&lt;br /&gt;
Masha (a.k.a Marina) has dreamed of becoming a security consultant before she ever knew what a ballerina was, and that's a good thing - because she does not intend her talk to be a ballet recital. Having been in software security for over seven years, Ms. Khainson has delivered Architecture Risk Assessment, Secure Code Review, and Ethical Hacking on many architectures, platforms and technologies. Marina has also developed training materials for clients and led remediation assistance teams.&lt;br /&gt;
&lt;br /&gt;
Prior to joining Cigital, Marina was a member of a research team at a leading security research provider, where using disassembly as well as protocol and source code analysis, she provided key information on newly released vulnerabilities. Before that, Marina assisted the same research team in producing detailed reports on critical malware and spyware threats, as well as developing and testing content for network security devices from some of the top providers of intrusion detection and prevention technologies.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:MCD-OWASPNoVA.pdf|Malicious Code Detection or BRIC Breaking Through Static Analysis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2011 ===&lt;br /&gt;
'''Date/Time:''' November 3rd, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://www.qinetiq.com/ QinetiQ], 2677 Prosperity Ave Fairfax, VA 22031&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 # News / Updates&lt;br /&gt;
 # Talk: &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot; by Ryan Barnett (Trustwave SpiderLabs)&lt;br /&gt;
 # Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
How effective are blacklist filters vs. SQL Injection attacks?  What is the failure rate vs. automated scanning or manual testing?  Are there any &amp;quot;Time-to-Bypass&amp;quot; metrics?  In an attempt to answer these questions, Trustwave SpiderLabs' Research Team (the development team behind the ModSecurity WAF and the OWASP ModSecurity Core Rule Set) held a community &amp;quot;SQL Injection Challenge&amp;quot; to test the effectiveness of the OWASP ModSecurity Core Rule Set protections.  This presentation will provide an overview of the challenge, a step-by-step walk-through of the bypass tactics used by the winners, as well as, present a new approach to attack detection using ModSecurity's Lua API to perform Bayesian analysis.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[mailto:ryan.barnett@owasp.org Ryan C. Barnett] (Twitter: [http://twitter.com/#!/ryancbarnett @ryancbarnett]) is a senior security researcher on Trustwave's SpiderLabs Team. He is a SANS Institute certified instructor and a member of both the Top 20 Vulnerabilities and CWE/SANS Top 25 Most Dangerous Programming Errors teams. In addition to working with SANS, he is also a WASC Member where he leads the Web Hacking Incidents Database (WHID) and Distributed Web Honeypots Projects and is also the OWASP ModSecurity Core Rule Set (CRS) project leader. Mr. Barnett has also authored a Web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2011 ===&lt;br /&gt;
'''Date/Time:''' October 6th, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location/Food Sponsor:''' [http://www.cigital.com/ Cigital], 21351 Ridgetop Circle, Suite 400, Sterling, VA 20166 &lt;br /&gt;
&lt;br /&gt;
'''AGENDA:'''&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * AppSec USA 2011 Recap&lt;br /&gt;
 * Talk: Jack Mannino: [http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks &amp;quot;OWASP Top 10 Mobile Risks&amp;quot;]&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
=== September 2011 ===&lt;br /&gt;
&lt;br /&gt;
The September meeting was cancelled due to inclement weather (flash flooding).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== August 2011  ===&lt;br /&gt;
&lt;br /&gt;
We held a &amp;quot;social&amp;quot; event at Sweetwater Tavern in Sterling, VA. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' July 7th, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.cigital.com Cigital], Suite 400 21351 Ridgetop Circle, Dulles, VA, 20166&amp;lt;br&amp;gt; '''Food Sponsor:'''&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: iGoat - Ken Van Wyk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' June 9th, 2011 @ 6pm (*Note: 2nd Thursday of June!)&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://about.collegeboard.org/ The College Board], 11955 Democracy Drive Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' The College Board&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: [https://www.owasp.org/index.php/Top_10_2010-A4 A4 &amp;quot;Insecure Direct Object References&amp;quot;]&lt;br /&gt;
 * College Board Speaker: &amp;quot;Attack-in-Depth:  Exploits of the OWASP Top Ten in Action&amp;quot;&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 - Jack Mannino: &amp;quot;Android Security 101&amp;quot;&lt;br /&gt;
 - Others!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' Cinco de Mayo (May 5th), 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset Hills Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' Akamai&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election (voice vote on the entire slate)&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A3 A3 &amp;quot;Broken Authentication and Session Management&amp;quot;]&lt;br /&gt;
 * Speaker: Steve Witmer on A3 from the &amp;quot;breakers&amp;quot; perspective&lt;br /&gt;
 * Speaker: ??? on A3 from the &amp;quot;fixers/defenders&amp;quot; perspective&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 * '''Update:''' All election candidates were elected by voice vote. &lt;br /&gt;
    * Please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;authkey=CIS9zFM '11 Chapter Board Election Material]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' April 7, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.reversespace.com/ ReverseSpace], 13505 Dulles Technology Dr, Suite 3, Herndon, VA 20171 &amp;lt;br&amp;gt; '''Food Sponsor:''' [https://www.cigital.com Cigital]&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A2 A2 &amp;quot;Cross-Site Scripting (XSS)&amp;quot;]&lt;br /&gt;
 * Preso:&amp;quot;Cross-Site Scripting is Not Your Friend: XSS and the Facebook Platform&amp;quot; by Joey Tyson ([https://www.owasp.org/images/9/92/Xssnotfriend-edited.pptx PPTX] or [https://www.owasp.org/images/0/06/Xssnotfriend-edited.pdf PDF])&lt;br /&gt;
 * Preso:“XSS Remediation” by Cassia Martin ([https://www.owasp.org/images/6/66/XSS_Remediation.ppt PPT])&lt;br /&gt;
 * Preso:&amp;quot;Growing the secure application developer community through expanded curricula&amp;quot; by Tony Gottlieb&lt;br /&gt;
 * FireTalks (bring it!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== March 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' March 3, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.boozallen.com/ Booz Allen Hamilton], 13200 Woodland Park Road, Herndon, VA 20171 &amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011] In Review&lt;br /&gt;
  * Preso: [http://www.owasp.org/index.php/Top_10_2010-A1-Injection A1 &amp;quot;Injection&amp;quot;]&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' February 3, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset HIlls Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * Feedback for [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011]&lt;br /&gt;
  * Preso: Intro to [http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Top 10] + 2&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== December 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' December 2, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://hackerspaces.org/wiki/Reverse_Space ReverseSpace], 13505 Dulles Technology Drive, Herndon, VA&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
   * 2011 Planning Session (Schedule, Volunteers, Speakers, Topics)&lt;br /&gt;
  * Lightning Talks!! (Bring an idea, a question, a topic, whatever - 5-10 minute talks max!)&lt;br /&gt;
  * Social / Networking (BYOB!)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' November 4, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' Akamai, 11111 Sunset Hills Rd, Suite #250, Reston, VA&amp;lt;br&amp;gt; '''Speaker:''' Ben Tomhave&amp;lt;br&amp;gt; '''Title:''' The Unintended Consequences of Beating Users with Carrot Sticks: Radical Thoughts on Security Reform&amp;lt;br&amp;gt; '''Description:''' What we're doing today is not working and isn't sustainable. The fundamental culture of the average business does not encourage making good security decisions. Software shops continue to focus on functionality and timelines, neglecting information security. In spite of regulations like PCI and HIPAA+HITECH, which are levying fines against organizations for their security failures, the tipping point has clearly not been reached to cause meaningful change. Much of this problem can be attributed to the excessive use of negative incentives (sticks) instead of providing positive incentives (carrots) that inspire better decision making and motivate true change. Fortunately, it's not too late to change tactics and start achieving demonstrable success.&amp;lt;br&amp;gt; '''Speaker Bio:''' Ben Tomhave is a Senior Security Analyst with Gemini Security Solutions in Chantilly, VA, specializing in solutions architecture, security planning, program development and management, and other strategic security solutions. He holds a MS in Engineering Management with an Information Security Management concentration from The George Washington University and is a CISSP. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, June 3rd, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER''': Alex Hutton, Verizon Business and http://www.newschoolsecurity.com/&amp;lt;br&amp;gt; '''TOPIC''': Risk Management - Time to blow it up and start over?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
A redux of the presentation that Alex delivered at B-Sides San Francisco during RSA 2010. &amp;quot;Now that the industry is trying to formalize the concept of risk management into neat little compartments like standards (ISO 27005/31000), certifications (CRISC) and products (GRC) guess what? We're doing it wrong. Fundamentally wrong. This talk will discuss why all this current risk management stuff is goofy and what sort of alternatives we have that might help us understand our ability to protect, our tendency towards failure, and how to match that up with what management will stomach.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Slides are available from: [http://www.slideshare.net/BSides/risk-management-time-to-blow-it-up-and-start-over-alex-hutton Risk Management - Time to blow it up and start over?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SPECIAL SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/tiffanyrad Tiffany Rad] provided an overview and update on [http://twitter.com/reversespace Reverse Space] in Herndon, VA. For more information, or to help out, please join the [http://groups.google.com/group/ReverseSpace Reverse Space Google Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Tuesday, May 18th, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER'''': Jeff Ennis, Senior Solutions Architect, Veracode&amp;lt;br&amp;gt; '''TITLE''': State of Software Security ([[Media:State of Software Security-Ennis.ppsx.zip]])&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
A discussion of the current state of software security based on the compiled findings by Veracode from the dynamic and static code analysis they have performed for customers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== September 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 17, 2009. 6:00pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': 22260 Pacific blvd, Sterling, VA. 20166&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Fortify 360&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Erik Klein (Fortify Software), Eric Dalci (Cigital)&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
We're pleased to invite you to our next week's OWASP Session (Thursday September 17th). We will be hosting a presentation, demo and hands on session of Fortify 360 (http://www.fortify.com). Fortify 360 includes Fortify SCA (Source Code Analyzer) and the Fortify 360 Server which is Fortify's solution for an enterprise deployment of SCA. The session will start with a presentation by Fortify engineers, followed by a demo and finally a hands on session where the audience will be free to install Fortify SCA on the machine and try it the SCA tool on a sample application that we will provide. The audience will also be introduced with the Fortify 360 Server and try some of the enterprise level features such as collaborative code review, metrics and so on. Bring your laptop if you want to try Fortify 360! &lt;br /&gt;
&lt;br /&gt;
The target audience is anyone interested in Secure Code Review with a Static Analysis tool at the desktop level and/or enterprise level. We will need to register visitors before hand...please email wade.woolwine@owasp.org for registration and confirm attendance. Pizza and refreshments will be served. &lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 3, 2009. 6:00pm.&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Conducting Application Assessment&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Jeremy Epstein, SRI&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
After the 2000 election, many states launched headlong into electronic voting systems to avoid the problems with &amp;quot;hanging chads&amp;quot;. Once problems with those systems started appearing, many localities started moving to optical scan, which was used by a majority of US voters in the 2008 election. There are other technologies in use around the country, including lever machines, vote-by-mail, vote-by-phone, and Internet voting. What are the tradeoffs among these technologies? Particularly relevant to OWASP, what are the security issues associated with different types of equipment, and what measures do vendors of voting equipment use to try to address the security problems? Are software security problems important, or can non-technical measures protect against them? In this talk, we'll discuss a wide variety of voting technologies, and their pros and cons from both a technical and societal perspective. &lt;br /&gt;
&lt;br /&gt;
'''ABOUT THE SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
Jeremy Epstein is Senior Computer Scientist at SRI International. His background includes more than 20 years experience in computer security research, product development, and consulting. Prior to joining SRI International, he was Principal Consultant with Cigital, and before that spent nine years as Senior Director of Product Security at Software AG, an international business software company. Within the area of voting systems, Jeremy has been involved for over five years in voting technology and advocacy, both as an employee and as an independent consultant. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': July 9th 6pm-9pm EST&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Ounce's 02&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER(S)''': Dinis Cruz, OWASP, Ounce Labs.&amp;lt;br&amp;gt; '''DESCRIPTION''': So what is O2? &lt;br /&gt;
&lt;br /&gt;
Well in my mind O2 is a combination of advanced tools (Technology) which are designed to be used on a particular way (Process) by knowledgeable Individuals (People) &lt;br /&gt;
&lt;br /&gt;
Think about it as a Fighter Jet who is able to go very fast, has tons of controls, needs to be piloted by somebody who knows what they are doing and needs to have a purpose (i.e. mission). &lt;br /&gt;
&lt;br /&gt;
Basically what I did with O2 was to automate the workflow that I have when I'm engaged on a source-code security review. &lt;br /&gt;
&lt;br /&gt;
Now, here is the catch, this version is NOT for the faint-of-heart. I designed this to suit my needs, which although are the same as most other security consultants, have its own particularities :) &lt;br /&gt;
&lt;br /&gt;
The whole model of O2 development is based around the concept of automating a security consultant’s brain, so I basically ensure that the main O2 Developer (Dinis Cruz) has a very good understanding of the feature requirements of the targeted Security Consultant (Dinis Cruz) :) . And this proved (even to my surprise) spectacularly productive, since suddenly I (i.e. the security consultant) didn't had to wait months for new features to be added to its toolkit. If there was something that needed to be added, it would just be added in days or hours. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Gary McGraw, Cigital Inc.'':''Building Security In Maturity Model''&amp;lt;br&amp;gt; Later, an interview: ''Jim Routh, formerly of DTCC'':''The Economic Advantages of a Resilient Supply Chain- Software Security'' ''&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Gary McGraw talked about the experience he, Sammy Migues, and Brian Chess gained conducting a survey of some of America's top Software Security groups. Study results are available under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Share Alike license] at [http://www.bsi-mm.com www.bsi-mm.com]. Gary described the common structural elements and activities of successful software security programs, present the maturity model that resulted from survey data, and discuss lessons learned from listening to those leading these groups. &lt;br /&gt;
&lt;br /&gt;
Jim Routh gave an incredibly insightful interview regarding his own experiences crafting their security group. &lt;br /&gt;
&lt;br /&gt;
Download presentation notes at: [http://www.owasp.org/images/0/03/JMR-Economics_of_Security_Goups.ppt The Economic Advantages of a Resilient Supply Chain- Software Security] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Eric Dalci, Cigital Inc.'':''Introduction to Static Analysis''&amp;lt;br&amp;gt; Later, a panel: &lt;br /&gt;
&lt;br /&gt;
*Steven Lavenhar, Booz Allen Hamilton; &lt;br /&gt;
*Eric Dalci, Cigital Inc.&lt;br /&gt;
&lt;br /&gt;
Panel moderated by John Steven &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This session is an introductory to Static Analysis. This session presents the different types of analysis used by today's Static Analysis tools. Examples of direct application to find vulnerabilities will be shown (ex: Data Flow Analysis, Semantic, Control Flow, etc.). Current limitations of Static Analysis will also be exposed. This session is tool agnostic, but will cover the approach taken by various leading commercial (as well as open-source) tools. &lt;br /&gt;
&lt;br /&gt;
Download: [http://www.owasp.org/images/e/ea/OWASP_Virginia_Edalci_May09.pdf Intro to Static Analysis] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Jeremiah Grossman, Whitehat Security'': '''Top 10 Web Hacking Techniques 2008'''&amp;lt;br&amp;gt; Jeremiah Spoke on (what he and colleagues determined were the) top ten web hacking techniques of 2008. This talk was a preview of his RSA '09 talk.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Download http://www.whitehatsec.com/home/assets/presentations/09PPT/PPT_OWASPNoVA04082008.pdf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Later, &lt;br /&gt;
&lt;br /&gt;
*Nate Miller, Stratum Security; &lt;br /&gt;
*Jeremiah Grossman, Whitehat Security; &lt;br /&gt;
*Tom Brennan, Whitehat Security; and &lt;br /&gt;
*Wade Woolwine, AOL&lt;br /&gt;
&lt;br /&gt;
served as penetration testing panels answering questions posed and moderated by Ken Van Wyk. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Ryan C. Barnett, Breach Security'': '''Patching Challenge: Securing WebGoat with ModSecurity''' &lt;br /&gt;
&lt;br /&gt;
Identification of web application vulnerabilities is only half the battle with remediation efforts as the other. Let's face the facts, there are many real world business scenarios where it is not possible to update web application code in either a timely manner or at all. This is where the tactical use-case of implementing a web application firewall to address identified issues proves its worth. &lt;br /&gt;
&lt;br /&gt;
This talk will provide an overview of the recommended practices for utilizing a web application firewall for virtual patching. After discussing the framework to use, we will then present a very interesting OWASP Summer of Code Project where the challenge was to attempt to mitigate as many of the OWASP WebGoat vulnerabilities as possible using the open source ModSecurity web application firewall. During the talk, we will discuss both WebGoat and ModSecurity and provide in-depth walk-throughs of some of the complex fixes. Examples will include addressing not only attacks but the underlying vulnerabilities, using data persistence for multiple-step processes, content injection and even examples of the new LUA programming language API. The goal of this talk is to both highlight cutting edge mitigation options using a web application firewall and to show how it can effectively be used by security consultants who traditionally could only offer source code fixes. &lt;br /&gt;
&lt;br /&gt;
Ryan C. Barnett is the Director of Application Security Research at Breach Security and leads Breach Security Labs. He is also a Faculty Member for the SANS Institute, Team Lead for the Center for Internet Security Apache Benchmark Project and a Member of the Web Application Security Consortium where he leads the Distributed Open Proxy Honeypot Project. Mr. Barnett has also authored a web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
(This talk is a preview of Ryan's talk at Blackhat Federal the following week - see https://www.blackhat.com/html/bh-dc-09/bh-dc-09-speakers.html#Barnett ) &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip|WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity]] &lt;br /&gt;
&lt;br /&gt;
''John Steven, Cigital'': '''Moving Beyond Top N Lists''' &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Moving_Beyond_Top_N_Lists.ppt.zip|Moving Beyond Top N Lists]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Cigital published an article: The Top 11 Reasons Why Top 10 (or 25) Lists Don’t Work. Yet, these lists are a staple of conference abstracts, industry best practice lists, and the like. Are they good or bad? We’ll explore how to get beyond the Top 10 (or 25) list in making your software security effort real. &lt;br /&gt;
&lt;br /&gt;
John is Senior Director, Advanced Technology Consulting at Cigital. His experience includes research in static code analysis and hands-on architecture and implementation of high-performance, scalable Java EE systems. John has provided security consulting services to a broad variety of commercial clients including two of the largest trading platforms in the world and has advised America's largest internet provider in the Midwest on security and forensics. John led the development of Cigital's architectural analysis methodology and its approach to deploying enterprise software security frameworks. He has demonstrated success in building Cigital's intellectual property for providing cutting-edge security. He brings this experience and a track record of effective strategic innovation to clients seeking to change, whether to adopt more cutting-edge approaches, or to solidify ROI. John currently chairs the SD Best Practices security track and co-edits the building security in department of IEEE's Security and Privacy magazine. John has served on numerous conference panels regarding software security, wireless security and Java EE system development. He holds a B.S. in Computer Engineering and an M.S. in Computer Science from Case Western Reserve University. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== January 2009  ===&lt;br /&gt;
&lt;br /&gt;
To kick off 2009, our January meeting featured a discussion of the relationship between application security and CMMI, and an overview of the OWASP ASVS project. &lt;br /&gt;
&lt;br /&gt;
''Michele Moss, Booz Allen Hamilton'': '''Evolutions In The Relationship Between Application Security And The CMMI''' &lt;br /&gt;
&lt;br /&gt;
Addressing new and complex threats and IT security challenges requires repeatable, reliable, rapid, and cost effective solutions. To implement these solutions, organizations have begun to align their security improvement efforts with their system and software development practices. During a “Birds of a Feather” at the March 2007 SEPG, a group of industry representatives initiated an effort which led to the definition of assurance practices that can be applied in the context of the CMMI. This presentation will provide an understanding how applying the assurance practices in the context of security contribute to the overall increased quality of products and services, illustrate how the a focus on assurance in the context of CMMI practices is related to application security practices, and present and approach to evaluate and improve the repeatability and reliability of assurance practices. &lt;br /&gt;
&lt;br /&gt;
Michele Moss, CISSP, is a security engineer with more than 12 years of experience in process improvement. She specializes in integrating assurance processes and practices into project lifecycles. Michele is the Co-Chair of the DHS Software Assurance Working Group on Processes &amp;amp;amp; Practices. She has assisted numerous organizations with maturing their information technology, information assurance, project management, and support practices through the use of the capability maturity models including the CMMI, and the SSE-CMM. She is one of the key contributors in an effort to apply an assurance focus to CMMI. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:Moss-AppSecurityAndCMMI.pdf|Evolutions In The Relationship Between Application Security And The CMMI]] &lt;br /&gt;
&lt;br /&gt;
''Mike Boberski, Booz Allen Hamilton'': '''About OWASP ASVS''' &lt;br /&gt;
&lt;br /&gt;
The primary aim of the OWASP ASVS Project is to normalize the range of coverage and level of rigor available in the market when it comes to performing application-level security verification. The goal is to create a set of commercially-workable open standards that are tailored to specific web-based technologies. &lt;br /&gt;
&lt;br /&gt;
Mike Boberski works at Booz Allen Hamilton. He has a background in application security and the use of cryptography by applications. He is experienced in trusted product evaluation, security-related software development and integration, and cryptomodule testing. For OWASP, he is the project lead and a co-author of the OWASP Application Security Verification Standard, the first OWASP standard. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:About_OWASP_ASVS_Web_Edition.ppt|About OWASP ASVS]] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our November 2008 meeting, we had two great presentations on software assurance and security testing. &lt;br /&gt;
&lt;br /&gt;
''Nadya Bartol, Booz Allen Hamilton'': '''Framework for Software Assurance''' &lt;br /&gt;
&lt;br /&gt;
Nadya's presentation will provide an update on the Software Assurance Forum efforts to establish a comprehensive framework for software assurance (SwA) and security measurement. The Framework addresses measuring achievement of SwA goals and objectives within the context of individual projects, programs, or enterprises. It targets a variety of audiences including executives, developers, vendors, suppliers, and buyers. The Framework leverages existing measurement methodologies, including Practical Software and System Measurement (PSM); CMMI Goal, Question, Indicator, Measure (GQ(I)M); NIST SP 800-55 Rev1; and ISO/IEC 27004 and identifies commonalities among the methodologies to help organizations integrate SwA measurement in their overall measurement efforts cost-effectively and as seamlessly as possible, rather than establish a standalone SwA measurement effort within an organization. The presentation will provide an update on the SwA Forum Measurement Working Group work, present the current version of the Framework and underlying measures development and implementation processes, and propose example SwA measures applicable to a variety of SwA stakeholders. The presentation will update the group on the latest NIST and ISO standards on information security measurement that are being integrated into the Framework as the standards are being developed. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Bartol-MeasurementForOWASP11-13-08.pdf Framework for Software Assurance]&lt;br /&gt;
&lt;br /&gt;
''Paco Hope, Cigital'': '''The Web Security Testing Cookbook''' &lt;br /&gt;
&lt;br /&gt;
The Web Security Testing Cookbook (O'Reilly &amp;amp;amp; Associates, October 2008) gives developers and testers the tools they need to make security testing a regular part of their development lifecycle. Its recipe style approach covers manual, exploratory testing as well automated techniques that you can make part of your unit tests or regression cycle. The recipes cover the basics like observing messages between clients and servers, to multi-phase tests that script the login and execution of web application features. This book complements many of the security texts in the market that tell you what a vulnerability is, but not how to systematically test it day in and day out. Leverage the recipes in this book to add significant security coverage to your testing without adding significant time and cost to your effort. &lt;br /&gt;
&lt;br /&gt;
Congratulations to Tim Bond who won an autographed copy of Paco's book. Get your copy here [[http://www.amazon.com/Security-Testing-Cookbook-Paco-Hope/dp/0596514832]] &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/PacoHope-WebSecCookbook.pdf The Web Security Testing Cookbook]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our October 2008 meeting, we had two fascinating talks relating to forensics. &lt;br /&gt;
&lt;br /&gt;
''Dave Merkel, Mandiant'': '''Enterprise Grade Incident Management - Responding to Persistent Threats''' &lt;br /&gt;
&lt;br /&gt;
Dave Merkel is Vice President of Products at Mandiant, a leading provider of information security services, education and products. Mr. Merkel has worked in the information security and incident response industry for over 10 years. His background includes service as a federal agent in the US Air Force and over 7 years experience directing security operations at America Online. He currently oversees the product business at Mandiant, and is in charge of building Mandiant Intelligent Response - an enterprise incident response solution. But no, he won't be selling you anything today. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Mandiant-EnterpriseIRandAPTpresentation.pdf Enterprise Grade Incident Management - Responding to Persistent Threats] &lt;br /&gt;
&lt;br /&gt;
''Inno Eroraha, NetSecurity'': '''Responding to the Digital Crime Scene: Gathering Volatile Data''' &lt;br /&gt;
&lt;br /&gt;
Inno Eroraha is the founder and chief strategist of NetSecurity Corporation, a company that provides digital forensics, hands-on security consulting, and Hands-on How-To® training solutions that are high-quality, timely, and customer-focused. In this role, Mr. Eroraha helps clients plan, formulate, and execute the best security and forensics strategy that aligns with their business goals and priorities. He has consulted with Fortune 500 companies, IRS, DHS, VA, DoD, and other entities. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/NetSecurity-RespondingToTheDigitalCrimeScene-GatheringVolatileData-TechnoForensics-102908.pdf Responding to the Digital Crime Scene: Gathering Volatile Data] &lt;br /&gt;
&lt;br /&gt;
=== History  ===&lt;br /&gt;
&lt;br /&gt;
The original DC Chapter was founded in June 2004 by [mailto:jeff.williams@owasp.org Jeff Williams] and has had members from Virginia to Delaware. In April 2005 a new chapter, OWASP Washington VA Local Chapter, was formed and the DC Chapter was renamed to DC-Maryland. The two are sister chapters and include common members and shared discourse. The chapters meet in opposite halves of the month to facilitate this relationship. &lt;br /&gt;
&lt;br /&gt;
==== Chapter Groups  ====&lt;br /&gt;
&lt;br /&gt;
Within the chapter, various common interests spring up. We've created Google groups to manage collaboration amongst participants for these topics. Feel free to join and participate in: &lt;br /&gt;
&lt;br /&gt;
*[http://groups.google.com/group/novaowasp_threatmodeling Threat Modeling] &lt;br /&gt;
*[http://groups.google.com/group/novaowasp_mobile Mobile]&lt;br /&gt;
&lt;br /&gt;
=== OWASP NoVa Members On Twitter  ===&lt;br /&gt;
&lt;br /&gt;
John Steven [http://twitter.com/m1splacedsoul http://twitter.com/m1splacedsoul] &lt;br /&gt;
&lt;br /&gt;
Jack Mannino [http://twitter.com/jack_mannino http://twitter.com/jack_mannino] &lt;br /&gt;
&lt;br /&gt;
Ben Tomhave [http://twitter.com/falconsview http://twitter.com/falconsview] &lt;br /&gt;
&lt;br /&gt;
Ken Johnson [http://twitter.com/cktricky http://twitter.com/cktricky] &lt;br /&gt;
&lt;br /&gt;
Mike Smith [http://twitter.com/rybolov http://twitter.com/rybolov] &lt;br /&gt;
&lt;br /&gt;
Trevor Hawthorn [http://twitter.com/packetwerks http://twitter.com/packetwerks] &lt;br /&gt;
&lt;br /&gt;
Jeremy Long [http://twitter.com/ctxt http://twitter.com/ctxt] &lt;br /&gt;
&lt;br /&gt;
Ari Elias-Bachrach [http://twitter.com/angelofsecurity http://twitter.com/angelofsecurity] &lt;br /&gt;
&lt;br /&gt;
Venkat Sundaram [http://twitter.com/Vnk3889 http://twitter.com/Vnk3889] &lt;br /&gt;
&lt;br /&gt;
==== Knowledge  ====&lt;br /&gt;
&lt;br /&gt;
The Northern Virginia (NoVA) chapter is committed to compiling resources on interesting and valuable topic areas. We hope that this structure helps you access information pertinent to your tasks at hand as you move through a secure application development life cycle. Currently, our topic areas of focus include activities such as: &lt;br /&gt;
&lt;br /&gt;
*Threat Modeling &lt;br /&gt;
*[[Code Review and Static Analysis with tools]] &lt;br /&gt;
*Penetration Testing and Dynamic Analysis tools &lt;br /&gt;
*Monitoring/Dynamic patching (WAFs)&lt;br /&gt;
&lt;br /&gt;
Certain projects our members are involved in cross-cut these activities, providing value throughout. They include: &lt;br /&gt;
&lt;br /&gt;
*ASVS&lt;br /&gt;
&lt;br /&gt;
=== Static Analysis Curriculum  ===&lt;br /&gt;
&lt;br /&gt;
*For an introduction to the OWASP Static Analysis (SA) Track goals, objectives, and session roadmap, please see [http://www.owasp.org/index.php/Image:OWASP_NoVA_SA_Track_Final_20090408.ppt this presentation].&lt;br /&gt;
&lt;br /&gt;
The following is the agenda of the OWASP Static Analysis track roadmap for the [http://www.owasp.org/index.php/Virginia_(Northern_Virginia) Northern Virginia Chapter]. &lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp SAtrack plan.png|OWASP Static Analysis Roadmap - Northern Virginia Chapter 2009]] &lt;br /&gt;
&lt;br /&gt;
'''Contacts'''&amp;lt;br&amp;gt; Questions related to this curriculum should be sent to [mailto:John.Steven@owasp.org John Steven], who is the Northern Virginia chapter leader. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Flash Talk Resources  ===&lt;br /&gt;
&lt;br /&gt;
Chandu Ketkar on OFS. Download: [http://www.owasp.org/images/1/1c/OFS.pptx OFS Presentation.] &amp;lt;br&amp;gt; [http://jack-mannino.blogspot.com/ Jack Mannino] on Google and Searching for Personal Information &amp;lt;br&amp;gt; Jesse Ou on XML Bombs. Download: [http://www.owasp.org/images/1/18/OWASP_JOU_XML_DTD_Attacks.pptx XML DTD Presentation] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;paypal&amp;gt;Northern Virginia&amp;lt;/paypal&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Virginia]] [[Category:Washington,_DC]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192284</id>
		<title>Virginia</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192284"/>
				<updated>2015-03-26T20:33:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== About  ====&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-nova.JPG|right|275px|Owasp-nova.JPG]]The '''OWASP Northern VA Local Chapter''' meetings are FREE and OPEN to anyone interested in learning more about application security. We encourage individuals to provide knowledge transfer via hands-on training and presentations of specific OWASP projects and research topics and sharing SDLC knowledge. &lt;br /&gt;
&lt;br /&gt;
We the encourage vendor-agnostic presentations to utilize the OWASP Powerpoint template when applicable and individual volunteerism to enable perpetual growth. As a 501(3)c non-profit association donations of meeting space or refreshments sponsorship is encouraged, simply contact the local chapter leaders listed on this page to discuss. Prior to participating with OWASP please review the Chapter Rules. &lt;br /&gt;
&lt;br /&gt;
The chapter is committed to providing an engaging experience for a variety of audience types ranging from local students and those beginning in app-sec, to those experienced and accomplished professionals who are looking for competent collaborators for OWASP-related projects. To this end, we will continue to conduct both monthly chapter meetings as well as out-of-band curricula, on application security topics. &lt;br /&gt;
&lt;br /&gt;
{{Chapter Template|chaptername=Virginia|extra =Come see us at a chapter meeting, jump on our Google Group, or email any of us directly.&lt;br /&gt;
&lt;br /&gt;
=== 2015 Chapter Election Candidates ===&lt;br /&gt;
*Mike McCabe - Board Chair&lt;br /&gt;
**Endorsement - Jack Mannino, Current Board Chair&lt;br /&gt;
**Full Disclosure: Mike reports directly to me at our day job.&lt;br /&gt;
**Mike is one of the most ethical, hard working, and analytical people I've had the pleasure to meet. In his previous two years serving on the OWASP NoVa board, Mike has been instrumental in keeping a healthy pipeline of interesting speakers as well as helping carve out new initiatives based on chapter feedback. I fully vouch for both his character and his ability to run the chapter in an ethical, high quality manner.&lt;br /&gt;
*Akshay Sivananda&lt;br /&gt;
**Endorsement - Ping Ning, Chapter Member&lt;br /&gt;
**Akshay is a seasoned information security professional, with broad experience in secure SDLC, vulnerability management, and software security initiative. I worked with Akshay before and enjoyed working with him. He was very supportive and always ready to provide a helping hand. He always has an open mind and respects various opinions. I think Akshay is a great candidate for the Owasp NoVA board and believe he will make significant contribution to the chapter. As a regular member of Owasp, I wholeheartedly endorse Akshay for the Owasp NoVA chapter board.&lt;br /&gt;
*Abdullah Munawar&lt;br /&gt;
**Endorsement - Jon Callahan, Chapter Member&lt;br /&gt;
**I worked with Abdullah for about a year and can personally attest to not only his knowledge but also his passion and drive to further himself in the security field. When committing to something, you'll know he will follow through and because of this, was my goto guy until we parted ways. Add on the 8 years worth of involvement with OWASP and you get someone who understands exactly how this chapter works and is willing to put the time in to keep it as great as it's been. &lt;br /&gt;
&lt;br /&gt;
=== Chapter Board ===&lt;br /&gt;
Previously having had a Chapter Leader, then a Chapter &amp;quot;Program Committee&amp;quot;, the chapter is now run by a full board (alphabetical order):&lt;br /&gt;
* Jack Mannino - Board Chair&lt;br /&gt;
* Jeremy Long&lt;br /&gt;
* Michael McCabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board member responsibilities include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;   * Providing governance for chapter and member activities in terms chapter mission and OWASP code of ethics&lt;br /&gt;
   * Recruiting OWASP membership&lt;br /&gt;
   * Driving OWASP NoVA Chapter attendance and involvement&lt;br /&gt;
   * Deferring to, facilitating, and supporting the activities and projects of chapter membership&lt;br /&gt;
   * Eliciting, scheduling, and coordinating chapter panels, speakers, and other sessions&lt;br /&gt;
   * Scouting, clearing, and scheduling chapter meeting venues and catering&lt;br /&gt;
   * Identifying opportunities for collaboration between chapter membership, OWASP global committees, and other organizations&lt;br /&gt;
   * Collecting and auditing use of chapter funds&lt;br /&gt;
   * Voting on chapter matters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more information on how the board was elected and what it's responsibilities are, please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;amp;authkey=CIS9zFM Chapter Board Election] |mailinglistsite=https://groups.google.com/forum/#!forum/owasp-nova|emailarchives=https://groups.google.com/forum/#!forum/owasp-nova}}&lt;br /&gt;
&lt;br /&gt;
You may also want to follow [http://twitter.com/OWASPNoVA/ @OWASPNoVA] on Twitter. &lt;br /&gt;
&lt;br /&gt;
=== Schedule  ===&lt;br /&gt;
&lt;br /&gt;
Meetings are (generally) held the first Thursday of the month.&lt;br /&gt;
&lt;br /&gt;
Note: We need speakers and topics! If you want to present, please contact [mailto:Jeremy.Long@owasp.org Jeremy] or [mailto:jack.mannino@owasp.org Jack]. We're very open to hearing from all our members.  &lt;br /&gt;
&lt;br /&gt;
== Next Meeting  ==&lt;br /&gt;
&lt;br /&gt;
For latest news check the meetup page here: [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/ Meetup].&lt;br /&gt;
&lt;br /&gt;
===October 2014===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' October 9th, 2014 @ 6:00pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' Uber Offices Tysons Corner, 1751 Pinnacle Drive, McLean, VA (1/2 mile from tysons corner metro)&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/205582912 Meetup]&lt;br /&gt;
&lt;br /&gt;
'''Agenda:''' &lt;br /&gt;
Join us for our Hack Night. We're switching the format up this month to include breakout sessions and collaborating on open source projects. Whether you're a builder, breaker, developer, or manager, come out to learn and collaborate.&lt;br /&gt;
&lt;br /&gt;
'''---&amp;gt; Special Notice: &amp;lt;---'''&lt;br /&gt;
&lt;br /&gt;
Please note that for this month, we will be moving the Meetup to Uber offices in Tyson's, as the space is configured extremely well for a &amp;quot;Hack Night&amp;quot; meetup (whiteboards, tables, etc). It is also Metro accessible.&lt;br /&gt;
&lt;br /&gt;
'''''Please bring your laptop!'''''&lt;br /&gt;
&lt;br /&gt;
== Past meetings ==&lt;br /&gt;
&lt;br /&gt;
===September 2014===&lt;br /&gt;
'''Date/Time:''' September 4th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/200805882/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will cover some chapter business then go straight into a session covering Ruby on Rails Security.&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
The World of Ruby on Rails Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Take a quick trip through the world of Ruby on Rails security! The journey will start with an overview of security features offered by the popular web framework, then detour through dangerous pitfalls and unsafe defaults, and finally end with suggestions for improving security in Rails apps and integrating improvements into the development process.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Justin Collins is a member of the application security team at Twitter and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===July 2014===&lt;br /&gt;
'''Date/Time:''' July 10th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/191678702/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will have a technical presentation on OAuth, and we will have an open forum on some upcoming changes to the chapter's format that we want feedback on before we move ahead with them. Our goal is to make OWASP NoVa a group that not only spreads education, but produces material for the broader application security community. Please join us and have your say in the way OWASP NoVa runs in the future!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
OAuth 1.0 Authorization and Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
OAuth 1.0 is an authorization standard based on the idea of a “valet key”. This presentation will provide an overview of the OAuth 1.0 authorization model, how it may fit in the enterprise environment, and some security implications for designers and security analyzers. OAuth 2.0 framework, the proposed standard to replace OAuth 1.0, will also be briefly discussed.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Ping Ning is a senior consultant at Cigital with 20 years of development and security experiences. He is practicing many software security services for clients, including architecture risk analysis, security architecture and design, secure code review, penetration testing, building security programs, and tools deployment and training.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===February 2013===&lt;br /&gt;
'''Date/Time:''' February 7th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/101839862/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Jeffrey Walton - &amp;quot;Securing Wireless Channels in the Mobile Space&amp;quot;, [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Securing Wireless Channels in the Mobile Space&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Secure channels are a cornerstone to individuals and employees on the go. The mobile environment adds additional pressures to securely delivering content to users - irregardless of whether its an email service delivering personal messages to a user, an organization providing company secrets to a mobile workforce, or a content provider streaming protected media to a subscriber. This talk will discuss the mobile environment, challenges to securely delivering content, examine past failures, offer remediation for issues in the environment, provide sample code for Android, iOS, .Net, OpenSSL, and discuss initiatives to address known issues.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Jeff has nearly 15 years of experience in a variety of roles including Systems Engineer, System Administrator, Developer, Security Engineer and Security Architect. He has worked with a number of Federal agencies and private institutions, including the Treasury Department, Social Security Administration, State Department, Diplomatic Security Service, financial institutions, and defense contractors. He has designed mobile solutions; developed secure containers; implemented secure channels; integrated management functions such as password lockouts and remote wipes; performed code reviews; and integrated security libraries such as Microsoft CAPI, Certicom Security Builder, OpenSSL and Crypto++. Jeff has also overseen and performed certification and accreditation audits, secure code reviews, and architectural risk assessments on traditional and mobile systems of varying code base sizes (primarily Objective C, C/C++ with Java, .Net).&lt;br /&gt;
&lt;br /&gt;
'''Downloads:'''&lt;br /&gt;
[[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]], [[Media:pubkey-pin-supplement.pdf|Supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===January 2013===&lt;br /&gt;
'''Date/Time:''' January 10th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/5106285036 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Upcoming chapter elections and 2013 plans&lt;br /&gt;
 * Talk: &amp;quot;Automating (Some) Android Security Testing&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Automating (Some) Android Security Testing&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Dynamically assessing an Android application for security issues requires examining many different layers. Some areas are extremely feasible to automate, while some areas may lend themselves better to manual analysis or semi-automated analysis. This presentation will present a more semi-automated approach to assessing applications rather than 'fire and forget' testing. We'll also look at some of the prerequisites for performing Android testing as well as some of the essentials for things you'll want in your testing environment (such as coffee and Red Bull).&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[https://www.owasp.org/index.php/User:Jack_Mannino Jack Mannino]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===October 2012===&lt;br /&gt;
'''Date/Time:''' October 4th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/4430947082 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/Dan_Cornell Dan Cornell] - &amp;quot;Benchmarking Web Application Scanners for YOUR Organization&amp;quot;, [https://www.owasp.org/images/7/73/OWASP_BenchmarkingWebApplicationScannersForYourOrganization_Content-1.pptx Presentation Slides]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Benchmarking Web Application Scanners for YOUR Organization&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Web applications pose significant risks for organizations. The selection of an appropriate scanning product or service can be challenging because every organization develops their web applications differently and decisions made by developers can cause wide swings in the value of different scanning technologies. To make a solid, informed decision, organizations need to create development team- and organization-specific benchmarks for the effectiveness of potential scanning technologies. This involves creating a comprehensive model of false positives, false negatives and other factors prior to mandating analysis technologies and making decisions about application risk management. This presentation provides a model for evaluating application analysis technologies, introduces an open source tool for benchmarking and comparing tool effectiveness, and outlines a process for making organization-specific decisions about analysis technology selection.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Dan Cornell has over 15 years experience architecting and developing web-based software systems. As CTO, he leads Denim Group's security research team in investigating the application of secure coding and development techniques to improve web-based software development methodologies. He also heads the Denim Group security research team, investigating the application of secure coding and development techniques to the improvement of web-based software development methodologies. Dan currently serves as the OWASP San Antonio chapter leader, member of the OWASP Global Membership Committee and co-lead of the OWASP Open Review Project. Dan has spoken at numerous security conferences, such as RSA in San Francisco, OWASP EU Research in Athens and OWASP AppSec USA in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2012 ===&lt;br /&gt;
'''Date/Time:''' July 12th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/John_Steven| John Steven] - &amp;quot;Password Storage Security&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;Password Storage Security&amp;quot; [[Media:PSM_-_Problem_Definition.pdf|Password Storage Security.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
During the June meeting we discussed the LinkedIn password theft which was just beginning its the news cycle. We'll use the July chapter meeting to discuss issues around password hashing and a solution. While wholly different schemes for protecting passwords at rest are preferable, it's instructive to look at hashing passwords as a threat modeling exercise and take the time to follow through to a fix. &lt;br /&gt;
&lt;br /&gt;
To read up on the issue, look at my latest blog post on the topic: [http://goo.gl/sGyi8|Justice League Blog - Securing Password Storage]&lt;br /&gt;
&lt;br /&gt;
For those who were sufficiently intrigued, mystified, or inspired by the presentation on password protection at the last chapter meeting, Coursera is offering a free 6-week Stanford course on cryptography that begins on August 27th (&amp;quot;Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!&amp;quot;): [https://www.coursera.org/course/crypto|Crypto Course] &lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
See  [https://www.owasp.org/index.php/John_Steven| John Steven Bio]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2012 ===&lt;br /&gt;
'''Date/Time:''' June 7th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Ken Johnson (LivingSocial) - &amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot; [https://www.owasp.org/images/e/e9/Ken_Johnson_July_2012.pptx AppSec, Ritalin, and Failing Fast Presentation] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
In early April Ken Johnson and Matt Ahrens presented a high-level overview of building an Application Security program at LivingSocial. This talk will differ in that it will focus on the granular aspects involved with introducing security into an incredibly intense development environment. The discussion will be compromised of experiences in:&lt;br /&gt;
* Developing technical solutions to solving difficult challenges&lt;br /&gt;
* Remaining proactive with an increased workload&lt;br /&gt;
* What it means to innovate&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
Ken Johnson is the Application Security Manager for LivingSocial.com. Prior to joining LivingSocial.com, Ken worked in various application security consulting roles. Ken is the primary developer of the Web Exploitation Framework (wXf) and enjoys contributing to other open source projects as often as time permits. Ken has spoken at AppSec DC 2010 &amp;amp; 2012, OWASP DC and Phoenix chapters and is a member of the Attack Research Team.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2012 ===&lt;br /&gt;
'''Date/Time:''' May 3rd, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * &amp;quot;Chill Out&amp;quot; conversations (formal talked pushed back due to logistical issues)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2012 ===&lt;br /&gt;
'''Date/Time:''' April 16th, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Food Sponsor:''' Jeremy Long - jeremy.long[at]owasp.org&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot; by Masha Khainson (Cigital)&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
 * ISSA NoVA Social @Champps!  :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Malicious Code Detection or BRIC Breaking Through Static Analysis: As organizations outsource development to less trustworthy providers malware becomes as much a problem as introduction of honest vulnerability by one's own development shop. Assessment practices currently look for vulnerability within source code and a running systems but these are but a few of windows of opportunity for malware introduction. This presentation demonstrates an approach for augmenting an existing security practice with the capability to detect potentially malicious code through secure code review. First, we show how to break malicious intent--often quite subtle--into concrete patterns we can reliably detect. The framework then demonstrates how to build suspicion around reliance of particular patterns' use in concert which, increasingly, imply malicious intent. These techniques will be explained through a demonstration in a real world application.&lt;br /&gt;
&lt;br /&gt;
'''Bio'''&lt;br /&gt;
Masha (a.k.a Marina) has dreamed of becoming a security consultant before she ever knew what a ballerina was, and that's a good thing - because she does not intend her talk to be a ballet recital. Having been in software security for over seven years, Ms. Khainson has delivered Architecture Risk Assessment, Secure Code Review, and Ethical Hacking on many architectures, platforms and technologies. Marina has also developed training materials for clients and led remediation assistance teams.&lt;br /&gt;
&lt;br /&gt;
Prior to joining Cigital, Marina was a member of a research team at a leading security research provider, where using disassembly as well as protocol and source code analysis, she provided key information on newly released vulnerabilities. Before that, Marina assisted the same research team in producing detailed reports on critical malware and spyware threats, as well as developing and testing content for network security devices from some of the top providers of intrusion detection and prevention technologies.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:MCD-OWASPNoVA.pdf|Malicious Code Detection or BRIC Breaking Through Static Analysis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2011 ===&lt;br /&gt;
'''Date/Time:''' November 3rd, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://www.qinetiq.com/ QinetiQ], 2677 Prosperity Ave Fairfax, VA 22031&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 # News / Updates&lt;br /&gt;
 # Talk: &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot; by Ryan Barnett (Trustwave SpiderLabs)&lt;br /&gt;
 # Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
How effective are blacklist filters vs. SQL Injection attacks?  What is the failure rate vs. automated scanning or manual testing?  Are there any &amp;quot;Time-to-Bypass&amp;quot; metrics?  In an attempt to answer these questions, Trustwave SpiderLabs' Research Team (the development team behind the ModSecurity WAF and the OWASP ModSecurity Core Rule Set) held a community &amp;quot;SQL Injection Challenge&amp;quot; to test the effectiveness of the OWASP ModSecurity Core Rule Set protections.  This presentation will provide an overview of the challenge, a step-by-step walk-through of the bypass tactics used by the winners, as well as, present a new approach to attack detection using ModSecurity's Lua API to perform Bayesian analysis.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[mailto:ryan.barnett@owasp.org Ryan C. Barnett] (Twitter: [http://twitter.com/#!/ryancbarnett @ryancbarnett]) is a senior security researcher on Trustwave's SpiderLabs Team. He is a SANS Institute certified instructor and a member of both the Top 20 Vulnerabilities and CWE/SANS Top 25 Most Dangerous Programming Errors teams. In addition to working with SANS, he is also a WASC Member where he leads the Web Hacking Incidents Database (WHID) and Distributed Web Honeypots Projects and is also the OWASP ModSecurity Core Rule Set (CRS) project leader. Mr. Barnett has also authored a Web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2011 ===&lt;br /&gt;
'''Date/Time:''' October 6th, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location/Food Sponsor:''' [http://www.cigital.com/ Cigital], 21351 Ridgetop Circle, Suite 400, Sterling, VA 20166 &lt;br /&gt;
&lt;br /&gt;
'''AGENDA:'''&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * AppSec USA 2011 Recap&lt;br /&gt;
 * Talk: Jack Mannino: [http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks &amp;quot;OWASP Top 10 Mobile Risks&amp;quot;]&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
=== September 2011 ===&lt;br /&gt;
&lt;br /&gt;
The September meeting was cancelled due to inclement weather (flash flooding).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== August 2011  ===&lt;br /&gt;
&lt;br /&gt;
We held a &amp;quot;social&amp;quot; event at Sweetwater Tavern in Sterling, VA. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' July 7th, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.cigital.com Cigital], Suite 400 21351 Ridgetop Circle, Dulles, VA, 20166&amp;lt;br&amp;gt; '''Food Sponsor:'''&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: iGoat - Ken Van Wyk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' June 9th, 2011 @ 6pm (*Note: 2nd Thursday of June!)&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://about.collegeboard.org/ The College Board], 11955 Democracy Drive Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' The College Board&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: [https://www.owasp.org/index.php/Top_10_2010-A4 A4 &amp;quot;Insecure Direct Object References&amp;quot;]&lt;br /&gt;
 * College Board Speaker: &amp;quot;Attack-in-Depth:  Exploits of the OWASP Top Ten in Action&amp;quot;&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 - Jack Mannino: &amp;quot;Android Security 101&amp;quot;&lt;br /&gt;
 - Others!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' Cinco de Mayo (May 5th), 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset Hills Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' Akamai&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election (voice vote on the entire slate)&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A3 A3 &amp;quot;Broken Authentication and Session Management&amp;quot;]&lt;br /&gt;
 * Speaker: Steve Witmer on A3 from the &amp;quot;breakers&amp;quot; perspective&lt;br /&gt;
 * Speaker: ??? on A3 from the &amp;quot;fixers/defenders&amp;quot; perspective&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 * '''Update:''' All election candidates were elected by voice vote. &lt;br /&gt;
    * Please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;authkey=CIS9zFM '11 Chapter Board Election Material]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' April 7, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.reversespace.com/ ReverseSpace], 13505 Dulles Technology Dr, Suite 3, Herndon, VA 20171 &amp;lt;br&amp;gt; '''Food Sponsor:''' [https://www.cigital.com Cigital]&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A2 A2 &amp;quot;Cross-Site Scripting (XSS)&amp;quot;]&lt;br /&gt;
 * Preso:&amp;quot;Cross-Site Scripting is Not Your Friend: XSS and the Facebook Platform&amp;quot; by Joey Tyson ([https://www.owasp.org/images/9/92/Xssnotfriend-edited.pptx PPTX] or [https://www.owasp.org/images/0/06/Xssnotfriend-edited.pdf PDF])&lt;br /&gt;
 * Preso:“XSS Remediation” by Cassia Martin ([https://www.owasp.org/images/6/66/XSS_Remediation.ppt PPT])&lt;br /&gt;
 * Preso:&amp;quot;Growing the secure application developer community through expanded curricula&amp;quot; by Tony Gottlieb&lt;br /&gt;
 * FireTalks (bring it!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== March 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' March 3, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.boozallen.com/ Booz Allen Hamilton], 13200 Woodland Park Road, Herndon, VA 20171 &amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011] In Review&lt;br /&gt;
  * Preso: [http://www.owasp.org/index.php/Top_10_2010-A1-Injection A1 &amp;quot;Injection&amp;quot;]&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' February 3, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset HIlls Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * Feedback for [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011]&lt;br /&gt;
  * Preso: Intro to [http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Top 10] + 2&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== December 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' December 2, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://hackerspaces.org/wiki/Reverse_Space ReverseSpace], 13505 Dulles Technology Drive, Herndon, VA&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
   * 2011 Planning Session (Schedule, Volunteers, Speakers, Topics)&lt;br /&gt;
  * Lightning Talks!! (Bring an idea, a question, a topic, whatever - 5-10 minute talks max!)&lt;br /&gt;
  * Social / Networking (BYOB!)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' November 4, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' Akamai, 11111 Sunset Hills Rd, Suite #250, Reston, VA&amp;lt;br&amp;gt; '''Speaker:''' Ben Tomhave&amp;lt;br&amp;gt; '''Title:''' The Unintended Consequences of Beating Users with Carrot Sticks: Radical Thoughts on Security Reform&amp;lt;br&amp;gt; '''Description:''' What we're doing today is not working and isn't sustainable. The fundamental culture of the average business does not encourage making good security decisions. Software shops continue to focus on functionality and timelines, neglecting information security. In spite of regulations like PCI and HIPAA+HITECH, which are levying fines against organizations for their security failures, the tipping point has clearly not been reached to cause meaningful change. Much of this problem can be attributed to the excessive use of negative incentives (sticks) instead of providing positive incentives (carrots) that inspire better decision making and motivate true change. Fortunately, it's not too late to change tactics and start achieving demonstrable success.&amp;lt;br&amp;gt; '''Speaker Bio:''' Ben Tomhave is a Senior Security Analyst with Gemini Security Solutions in Chantilly, VA, specializing in solutions architecture, security planning, program development and management, and other strategic security solutions. He holds a MS in Engineering Management with an Information Security Management concentration from The George Washington University and is a CISSP. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, June 3rd, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER''': Alex Hutton, Verizon Business and http://www.newschoolsecurity.com/&amp;lt;br&amp;gt; '''TOPIC''': Risk Management - Time to blow it up and start over?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
A redux of the presentation that Alex delivered at B-Sides San Francisco during RSA 2010. &amp;quot;Now that the industry is trying to formalize the concept of risk management into neat little compartments like standards (ISO 27005/31000), certifications (CRISC) and products (GRC) guess what? We're doing it wrong. Fundamentally wrong. This talk will discuss why all this current risk management stuff is goofy and what sort of alternatives we have that might help us understand our ability to protect, our tendency towards failure, and how to match that up with what management will stomach.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Slides are available from: [http://www.slideshare.net/BSides/risk-management-time-to-blow-it-up-and-start-over-alex-hutton Risk Management - Time to blow it up and start over?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SPECIAL SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/tiffanyrad Tiffany Rad] provided an overview and update on [http://twitter.com/reversespace Reverse Space] in Herndon, VA. For more information, or to help out, please join the [http://groups.google.com/group/ReverseSpace Reverse Space Google Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Tuesday, May 18th, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER'''': Jeff Ennis, Senior Solutions Architect, Veracode&amp;lt;br&amp;gt; '''TITLE''': State of Software Security ([[Media:State of Software Security-Ennis.ppsx.zip]])&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
A discussion of the current state of software security based on the compiled findings by Veracode from the dynamic and static code analysis they have performed for customers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== September 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 17, 2009. 6:00pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': 22260 Pacific blvd, Sterling, VA. 20166&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Fortify 360&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Erik Klein (Fortify Software), Eric Dalci (Cigital)&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
We're pleased to invite you to our next week's OWASP Session (Thursday September 17th). We will be hosting a presentation, demo and hands on session of Fortify 360 (http://www.fortify.com). Fortify 360 includes Fortify SCA (Source Code Analyzer) and the Fortify 360 Server which is Fortify's solution for an enterprise deployment of SCA. The session will start with a presentation by Fortify engineers, followed by a demo and finally a hands on session where the audience will be free to install Fortify SCA on the machine and try it the SCA tool on a sample application that we will provide. The audience will also be introduced with the Fortify 360 Server and try some of the enterprise level features such as collaborative code review, metrics and so on. Bring your laptop if you want to try Fortify 360! &lt;br /&gt;
&lt;br /&gt;
The target audience is anyone interested in Secure Code Review with a Static Analysis tool at the desktop level and/or enterprise level. We will need to register visitors before hand...please email wade.woolwine@owasp.org for registration and confirm attendance. Pizza and refreshments will be served. &lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 3, 2009. 6:00pm.&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Conducting Application Assessment&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Jeremy Epstein, SRI&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
After the 2000 election, many states launched headlong into electronic voting systems to avoid the problems with &amp;quot;hanging chads&amp;quot;. Once problems with those systems started appearing, many localities started moving to optical scan, which was used by a majority of US voters in the 2008 election. There are other technologies in use around the country, including lever machines, vote-by-mail, vote-by-phone, and Internet voting. What are the tradeoffs among these technologies? Particularly relevant to OWASP, what are the security issues associated with different types of equipment, and what measures do vendors of voting equipment use to try to address the security problems? Are software security problems important, or can non-technical measures protect against them? In this talk, we'll discuss a wide variety of voting technologies, and their pros and cons from both a technical and societal perspective. &lt;br /&gt;
&lt;br /&gt;
'''ABOUT THE SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
Jeremy Epstein is Senior Computer Scientist at SRI International. His background includes more than 20 years experience in computer security research, product development, and consulting. Prior to joining SRI International, he was Principal Consultant with Cigital, and before that spent nine years as Senior Director of Product Security at Software AG, an international business software company. Within the area of voting systems, Jeremy has been involved for over five years in voting technology and advocacy, both as an employee and as an independent consultant. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': July 9th 6pm-9pm EST&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Ounce's 02&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER(S)''': Dinis Cruz, OWASP, Ounce Labs.&amp;lt;br&amp;gt; '''DESCRIPTION''': So what is O2? &lt;br /&gt;
&lt;br /&gt;
Well in my mind O2 is a combination of advanced tools (Technology) which are designed to be used on a particular way (Process) by knowledgeable Individuals (People) &lt;br /&gt;
&lt;br /&gt;
Think about it as a Fighter Jet who is able to go very fast, has tons of controls, needs to be piloted by somebody who knows what they are doing and needs to have a purpose (i.e. mission). &lt;br /&gt;
&lt;br /&gt;
Basically what I did with O2 was to automate the workflow that I have when I'm engaged on a source-code security review. &lt;br /&gt;
&lt;br /&gt;
Now, here is the catch, this version is NOT for the faint-of-heart. I designed this to suit my needs, which although are the same as most other security consultants, have its own particularities :) &lt;br /&gt;
&lt;br /&gt;
The whole model of O2 development is based around the concept of automating a security consultant’s brain, so I basically ensure that the main O2 Developer (Dinis Cruz) has a very good understanding of the feature requirements of the targeted Security Consultant (Dinis Cruz) :) . And this proved (even to my surprise) spectacularly productive, since suddenly I (i.e. the security consultant) didn't had to wait months for new features to be added to its toolkit. If there was something that needed to be added, it would just be added in days or hours. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Gary McGraw, Cigital Inc.'':''Building Security In Maturity Model''&amp;lt;br&amp;gt; Later, an interview: ''Jim Routh, formerly of DTCC'':''The Economic Advantages of a Resilient Supply Chain- Software Security'' ''&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Gary McGraw talked about the experience he, Sammy Migues, and Brian Chess gained conducting a survey of some of America's top Software Security groups. Study results are available under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Share Alike license] at [http://www.bsi-mm.com www.bsi-mm.com]. Gary described the common structural elements and activities of successful software security programs, present the maturity model that resulted from survey data, and discuss lessons learned from listening to those leading these groups. &lt;br /&gt;
&lt;br /&gt;
Jim Routh gave an incredibly insightful interview regarding his own experiences crafting their security group. &lt;br /&gt;
&lt;br /&gt;
Download presentation notes at: [http://www.owasp.org/images/0/03/JMR-Economics_of_Security_Goups.ppt The Economic Advantages of a Resilient Supply Chain- Software Security] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Eric Dalci, Cigital Inc.'':''Introduction to Static Analysis''&amp;lt;br&amp;gt; Later, a panel: &lt;br /&gt;
&lt;br /&gt;
*Steven Lavenhar, Booz Allen Hamilton; &lt;br /&gt;
*Eric Dalci, Cigital Inc.&lt;br /&gt;
&lt;br /&gt;
Panel moderated by John Steven &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This session is an introductory to Static Analysis. This session presents the different types of analysis used by today's Static Analysis tools. Examples of direct application to find vulnerabilities will be shown (ex: Data Flow Analysis, Semantic, Control Flow, etc.). Current limitations of Static Analysis will also be exposed. This session is tool agnostic, but will cover the approach taken by various leading commercial (as well as open-source) tools. &lt;br /&gt;
&lt;br /&gt;
Download: [http://www.owasp.org/images/e/ea/OWASP_Virginia_Edalci_May09.pdf Intro to Static Analysis] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Jeremiah Grossman, Whitehat Security'': '''Top 10 Web Hacking Techniques 2008'''&amp;lt;br&amp;gt; Jeremiah Spoke on (what he and colleagues determined were the) top ten web hacking techniques of 2008. This talk was a preview of his RSA '09 talk.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Download http://www.whitehatsec.com/home/assets/presentations/09PPT/PPT_OWASPNoVA04082008.pdf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Later, &lt;br /&gt;
&lt;br /&gt;
*Nate Miller, Stratum Security; &lt;br /&gt;
*Jeremiah Grossman, Whitehat Security; &lt;br /&gt;
*Tom Brennan, Whitehat Security; and &lt;br /&gt;
*Wade Woolwine, AOL&lt;br /&gt;
&lt;br /&gt;
served as penetration testing panels answering questions posed and moderated by Ken Van Wyk. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Ryan C. Barnett, Breach Security'': '''Patching Challenge: Securing WebGoat with ModSecurity''' &lt;br /&gt;
&lt;br /&gt;
Identification of web application vulnerabilities is only half the battle with remediation efforts as the other. Let's face the facts, there are many real world business scenarios where it is not possible to update web application code in either a timely manner or at all. This is where the tactical use-case of implementing a web application firewall to address identified issues proves its worth. &lt;br /&gt;
&lt;br /&gt;
This talk will provide an overview of the recommended practices for utilizing a web application firewall for virtual patching. After discussing the framework to use, we will then present a very interesting OWASP Summer of Code Project where the challenge was to attempt to mitigate as many of the OWASP WebGoat vulnerabilities as possible using the open source ModSecurity web application firewall. During the talk, we will discuss both WebGoat and ModSecurity and provide in-depth walk-throughs of some of the complex fixes. Examples will include addressing not only attacks but the underlying vulnerabilities, using data persistence for multiple-step processes, content injection and even examples of the new LUA programming language API. The goal of this talk is to both highlight cutting edge mitigation options using a web application firewall and to show how it can effectively be used by security consultants who traditionally could only offer source code fixes. &lt;br /&gt;
&lt;br /&gt;
Ryan C. Barnett is the Director of Application Security Research at Breach Security and leads Breach Security Labs. He is also a Faculty Member for the SANS Institute, Team Lead for the Center for Internet Security Apache Benchmark Project and a Member of the Web Application Security Consortium where he leads the Distributed Open Proxy Honeypot Project. Mr. Barnett has also authored a web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
(This talk is a preview of Ryan's talk at Blackhat Federal the following week - see https://www.blackhat.com/html/bh-dc-09/bh-dc-09-speakers.html#Barnett ) &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip|WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity]] &lt;br /&gt;
&lt;br /&gt;
''John Steven, Cigital'': '''Moving Beyond Top N Lists''' &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Moving_Beyond_Top_N_Lists.ppt.zip|Moving Beyond Top N Lists]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Cigital published an article: The Top 11 Reasons Why Top 10 (or 25) Lists Don’t Work. Yet, these lists are a staple of conference abstracts, industry best practice lists, and the like. Are they good or bad? We’ll explore how to get beyond the Top 10 (or 25) list in making your software security effort real. &lt;br /&gt;
&lt;br /&gt;
John is Senior Director, Advanced Technology Consulting at Cigital. His experience includes research in static code analysis and hands-on architecture and implementation of high-performance, scalable Java EE systems. John has provided security consulting services to a broad variety of commercial clients including two of the largest trading platforms in the world and has advised America's largest internet provider in the Midwest on security and forensics. John led the development of Cigital's architectural analysis methodology and its approach to deploying enterprise software security frameworks. He has demonstrated success in building Cigital's intellectual property for providing cutting-edge security. He brings this experience and a track record of effective strategic innovation to clients seeking to change, whether to adopt more cutting-edge approaches, or to solidify ROI. John currently chairs the SD Best Practices security track and co-edits the building security in department of IEEE's Security and Privacy magazine. John has served on numerous conference panels regarding software security, wireless security and Java EE system development. He holds a B.S. in Computer Engineering and an M.S. in Computer Science from Case Western Reserve University. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== January 2009  ===&lt;br /&gt;
&lt;br /&gt;
To kick off 2009, our January meeting featured a discussion of the relationship between application security and CMMI, and an overview of the OWASP ASVS project. &lt;br /&gt;
&lt;br /&gt;
''Michele Moss, Booz Allen Hamilton'': '''Evolutions In The Relationship Between Application Security And The CMMI''' &lt;br /&gt;
&lt;br /&gt;
Addressing new and complex threats and IT security challenges requires repeatable, reliable, rapid, and cost effective solutions. To implement these solutions, organizations have begun to align their security improvement efforts with their system and software development practices. During a “Birds of a Feather” at the March 2007 SEPG, a group of industry representatives initiated an effort which led to the definition of assurance practices that can be applied in the context of the CMMI. This presentation will provide an understanding how applying the assurance practices in the context of security contribute to the overall increased quality of products and services, illustrate how the a focus on assurance in the context of CMMI practices is related to application security practices, and present and approach to evaluate and improve the repeatability and reliability of assurance practices. &lt;br /&gt;
&lt;br /&gt;
Michele Moss, CISSP, is a security engineer with more than 12 years of experience in process improvement. She specializes in integrating assurance processes and practices into project lifecycles. Michele is the Co-Chair of the DHS Software Assurance Working Group on Processes &amp;amp;amp; Practices. She has assisted numerous organizations with maturing their information technology, information assurance, project management, and support practices through the use of the capability maturity models including the CMMI, and the SSE-CMM. She is one of the key contributors in an effort to apply an assurance focus to CMMI. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:Moss-AppSecurityAndCMMI.pdf|Evolutions In The Relationship Between Application Security And The CMMI]] &lt;br /&gt;
&lt;br /&gt;
''Mike Boberski, Booz Allen Hamilton'': '''About OWASP ASVS''' &lt;br /&gt;
&lt;br /&gt;
The primary aim of the OWASP ASVS Project is to normalize the range of coverage and level of rigor available in the market when it comes to performing application-level security verification. The goal is to create a set of commercially-workable open standards that are tailored to specific web-based technologies. &lt;br /&gt;
&lt;br /&gt;
Mike Boberski works at Booz Allen Hamilton. He has a background in application security and the use of cryptography by applications. He is experienced in trusted product evaluation, security-related software development and integration, and cryptomodule testing. For OWASP, he is the project lead and a co-author of the OWASP Application Security Verification Standard, the first OWASP standard. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:About_OWASP_ASVS_Web_Edition.ppt|About OWASP ASVS]] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our November 2008 meeting, we had two great presentations on software assurance and security testing. &lt;br /&gt;
&lt;br /&gt;
''Nadya Bartol, Booz Allen Hamilton'': '''Framework for Software Assurance''' &lt;br /&gt;
&lt;br /&gt;
Nadya's presentation will provide an update on the Software Assurance Forum efforts to establish a comprehensive framework for software assurance (SwA) and security measurement. The Framework addresses measuring achievement of SwA goals and objectives within the context of individual projects, programs, or enterprises. It targets a variety of audiences including executives, developers, vendors, suppliers, and buyers. The Framework leverages existing measurement methodologies, including Practical Software and System Measurement (PSM); CMMI Goal, Question, Indicator, Measure (GQ(I)M); NIST SP 800-55 Rev1; and ISO/IEC 27004 and identifies commonalities among the methodologies to help organizations integrate SwA measurement in their overall measurement efforts cost-effectively and as seamlessly as possible, rather than establish a standalone SwA measurement effort within an organization. The presentation will provide an update on the SwA Forum Measurement Working Group work, present the current version of the Framework and underlying measures development and implementation processes, and propose example SwA measures applicable to a variety of SwA stakeholders. The presentation will update the group on the latest NIST and ISO standards on information security measurement that are being integrated into the Framework as the standards are being developed. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Bartol-MeasurementForOWASP11-13-08.pdf Framework for Software Assurance]&lt;br /&gt;
&lt;br /&gt;
''Paco Hope, Cigital'': '''The Web Security Testing Cookbook''' &lt;br /&gt;
&lt;br /&gt;
The Web Security Testing Cookbook (O'Reilly &amp;amp;amp; Associates, October 2008) gives developers and testers the tools they need to make security testing a regular part of their development lifecycle. Its recipe style approach covers manual, exploratory testing as well automated techniques that you can make part of your unit tests or regression cycle. The recipes cover the basics like observing messages between clients and servers, to multi-phase tests that script the login and execution of web application features. This book complements many of the security texts in the market that tell you what a vulnerability is, but not how to systematically test it day in and day out. Leverage the recipes in this book to add significant security coverage to your testing without adding significant time and cost to your effort. &lt;br /&gt;
&lt;br /&gt;
Congratulations to Tim Bond who won an autographed copy of Paco's book. Get your copy here [[http://www.amazon.com/Security-Testing-Cookbook-Paco-Hope/dp/0596514832]] &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/PacoHope-WebSecCookbook.pdf The Web Security Testing Cookbook]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our October 2008 meeting, we had two fascinating talks relating to forensics. &lt;br /&gt;
&lt;br /&gt;
''Dave Merkel, Mandiant'': '''Enterprise Grade Incident Management - Responding to Persistent Threats''' &lt;br /&gt;
&lt;br /&gt;
Dave Merkel is Vice President of Products at Mandiant, a leading provider of information security services, education and products. Mr. Merkel has worked in the information security and incident response industry for over 10 years. His background includes service as a federal agent in the US Air Force and over 7 years experience directing security operations at America Online. He currently oversees the product business at Mandiant, and is in charge of building Mandiant Intelligent Response - an enterprise incident response solution. But no, he won't be selling you anything today. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Mandiant-EnterpriseIRandAPTpresentation.pdf Enterprise Grade Incident Management - Responding to Persistent Threats] &lt;br /&gt;
&lt;br /&gt;
''Inno Eroraha, NetSecurity'': '''Responding to the Digital Crime Scene: Gathering Volatile Data''' &lt;br /&gt;
&lt;br /&gt;
Inno Eroraha is the founder and chief strategist of NetSecurity Corporation, a company that provides digital forensics, hands-on security consulting, and Hands-on How-To® training solutions that are high-quality, timely, and customer-focused. In this role, Mr. Eroraha helps clients plan, formulate, and execute the best security and forensics strategy that aligns with their business goals and priorities. He has consulted with Fortune 500 companies, IRS, DHS, VA, DoD, and other entities. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/NetSecurity-RespondingToTheDigitalCrimeScene-GatheringVolatileData-TechnoForensics-102908.pdf Responding to the Digital Crime Scene: Gathering Volatile Data] &lt;br /&gt;
&lt;br /&gt;
=== History  ===&lt;br /&gt;
&lt;br /&gt;
The original DC Chapter was founded in June 2004 by [mailto:jeff.williams@owasp.org Jeff Williams] and has had members from Virginia to Delaware. In April 2005 a new chapter, OWASP Washington VA Local Chapter, was formed and the DC Chapter was renamed to DC-Maryland. The two are sister chapters and include common members and shared discourse. The chapters meet in opposite halves of the month to facilitate this relationship. &lt;br /&gt;
&lt;br /&gt;
==== Chapter Groups  ====&lt;br /&gt;
&lt;br /&gt;
Within the chapter, various common interests spring up. We've created Google groups to manage collaboration amongst participants for these topics. Feel free to join and participate in: &lt;br /&gt;
&lt;br /&gt;
*[http://groups.google.com/group/novaowasp_threatmodeling Threat Modeling] &lt;br /&gt;
*[http://groups.google.com/group/novaowasp_mobile Mobile]&lt;br /&gt;
&lt;br /&gt;
=== OWASP NoVa Members On Twitter  ===&lt;br /&gt;
&lt;br /&gt;
John Steven [http://twitter.com/m1splacedsoul http://twitter.com/m1splacedsoul] &lt;br /&gt;
&lt;br /&gt;
Jack Mannino [http://twitter.com/jack_mannino http://twitter.com/jack_mannino] &lt;br /&gt;
&lt;br /&gt;
Ben Tomhave [http://twitter.com/falconsview http://twitter.com/falconsview] &lt;br /&gt;
&lt;br /&gt;
Ken Johnson [http://twitter.com/cktricky http://twitter.com/cktricky] &lt;br /&gt;
&lt;br /&gt;
Mike Smith [http://twitter.com/rybolov http://twitter.com/rybolov] &lt;br /&gt;
&lt;br /&gt;
Trevor Hawthorn [http://twitter.com/packetwerks http://twitter.com/packetwerks] &lt;br /&gt;
&lt;br /&gt;
Jeremy Long [http://twitter.com/ctxt http://twitter.com/ctxt] &lt;br /&gt;
&lt;br /&gt;
Ari Elias-Bachrach [http://twitter.com/angelofsecurity http://twitter.com/angelofsecurity] &lt;br /&gt;
&lt;br /&gt;
Venkat Sundaram [http://twitter.com/Vnk3889 http://twitter.com/Vnk3889] &lt;br /&gt;
&lt;br /&gt;
==== Knowledge  ====&lt;br /&gt;
&lt;br /&gt;
The Northern Virginia (NoVA) chapter is committed to compiling resources on interesting and valuable topic areas. We hope that this structure helps you access information pertinent to your tasks at hand as you move through a secure application development life cycle. Currently, our topic areas of focus include activities such as: &lt;br /&gt;
&lt;br /&gt;
*Threat Modeling &lt;br /&gt;
*[[Code Review and Static Analysis with tools]] &lt;br /&gt;
*Penetration Testing and Dynamic Analysis tools &lt;br /&gt;
*Monitoring/Dynamic patching (WAFs)&lt;br /&gt;
&lt;br /&gt;
Certain projects our members are involved in cross-cut these activities, providing value throughout. They include: &lt;br /&gt;
&lt;br /&gt;
*ASVS&lt;br /&gt;
&lt;br /&gt;
=== Static Analysis Curriculum  ===&lt;br /&gt;
&lt;br /&gt;
*For an introduction to the OWASP Static Analysis (SA) Track goals, objectives, and session roadmap, please see [http://www.owasp.org/index.php/Image:OWASP_NoVA_SA_Track_Final_20090408.ppt this presentation].&lt;br /&gt;
&lt;br /&gt;
The following is the agenda of the OWASP Static Analysis track roadmap for the [http://www.owasp.org/index.php/Virginia_(Northern_Virginia) Northern Virginia Chapter]. &lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp SAtrack plan.png|OWASP Static Analysis Roadmap - Northern Virginia Chapter 2009]] &lt;br /&gt;
&lt;br /&gt;
'''Contacts'''&amp;lt;br&amp;gt; Questions related to this curriculum should be sent to [mailto:John.Steven@owasp.org John Steven], who is the Northern Virginia chapter leader. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Flash Talk Resources  ===&lt;br /&gt;
&lt;br /&gt;
Chandu Ketkar on OFS. Download: [http://www.owasp.org/images/1/1c/OFS.pptx OFS Presentation.] &amp;lt;br&amp;gt; [http://jack-mannino.blogspot.com/ Jack Mannino] on Google and Searching for Personal Information &amp;lt;br&amp;gt; Jesse Ou on XML Bombs. Download: [http://www.owasp.org/images/1/18/OWASP_JOU_XML_DTD_Attacks.pptx XML DTD Presentation] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;paypal&amp;gt;Northern Virginia&amp;lt;/paypal&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Virginia]] [[Category:Washington,_DC]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192283</id>
		<title>Virginia</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192283"/>
				<updated>2015-03-26T20:32:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== About  ====&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-nova.JPG|right|275px|Owasp-nova.JPG]]The '''OWASP Northern VA Local Chapter''' meetings are FREE and OPEN to anyone interested in learning more about application security. We encourage individuals to provide knowledge transfer via hands-on training and presentations of specific OWASP projects and research topics and sharing SDLC knowledge. &lt;br /&gt;
&lt;br /&gt;
We the encourage vendor-agnostic presentations to utilize the OWASP Powerpoint template when applicable and individual volunteerism to enable perpetual growth. As a 501(3)c non-profit association donations of meeting space or refreshments sponsorship is encouraged, simply contact the local chapter leaders listed on this page to discuss. Prior to participating with OWASP please review the Chapter Rules. &lt;br /&gt;
&lt;br /&gt;
The chapter is committed to providing an engaging experience for a variety of audience types ranging from local students and those beginning in app-sec, to those experienced and accomplished professionals who are looking for competent collaborators for OWASP-related projects. To this end, we will continue to conduct both monthly chapter meetings as well as out-of-band curricula, on application security topics. &lt;br /&gt;
&lt;br /&gt;
{{Chapter Template|chaptername=Virginia|extra =Come see us at a chapter meeting, jump on our Google Group, or email any of us directly.&lt;br /&gt;
&lt;br /&gt;
=== 2015 Chapter Election Candidates ===&lt;br /&gt;
*Mike McCabe - Board Chair&lt;br /&gt;
**Endorsement - Jack Mannino, Current Board Chair&lt;br /&gt;
**Full Disclosure: Mike reports directly to me at our day job.&lt;br /&gt;
**Mike is one of the most ethical, hard working, and analytical people I've had the pleasure to meet. In his previous two years serving on the OWASP NoVa board, Mike has been instrumental in keeping a healthy pipeline of interesting speakers as well as helping carve out new initiatives based on chapter feedback. I fully vouch for both his character and his ability to run the chapter in an ethical, high quality manner.&lt;br /&gt;
*Akshay Sivananda&lt;br /&gt;
**Endorsement - Ping Ning, Chapter Member&lt;br /&gt;
**Akshay is a seasoned information security professional, with broad experience in secure SDLC, vulnerability management, and software security initiative. I worked with Akshay before and enjoyed working with him. He was very supportive and always ready to provide a helping hand. He always has an open mind and respects various opinions. I think Akshay is a great candidate for the Owasp NoVA board and believe he will make significant contribution to the chapter.&lt;br /&gt;
&lt;br /&gt;
As a regular member of Owasp, I wholeheartedly endorse Akshay for the Owasp NoVA chapter board.&lt;br /&gt;
*Abdullah Munawar&lt;br /&gt;
**Endorsement - Jon Callahan, Chapter Member&lt;br /&gt;
**I worked with Abdullah for about a year and can personally attest to not only his knowledge but also his passion and drive to further himself in the security field. When committing to something, you'll know he will follow through and because of this, was my goto guy until we parted ways. Add on the 8 years worth of involvement with OWASP and you get someone who understands exactly how this chapter works and is willing to put the time in to keep it as great as it's been. &lt;br /&gt;
&lt;br /&gt;
=== Chapter Board ===&lt;br /&gt;
Previously having had a Chapter Leader, then a Chapter &amp;quot;Program Committee&amp;quot;, the chapter is now run by a full board (alphabetical order):&lt;br /&gt;
* Jack Mannino - Board Chair&lt;br /&gt;
* Jeremy Long&lt;br /&gt;
* Michael McCabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board member responsibilities include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;   * Providing governance for chapter and member activities in terms chapter mission and OWASP code of ethics&lt;br /&gt;
   * Recruiting OWASP membership&lt;br /&gt;
   * Driving OWASP NoVA Chapter attendance and involvement&lt;br /&gt;
   * Deferring to, facilitating, and supporting the activities and projects of chapter membership&lt;br /&gt;
   * Eliciting, scheduling, and coordinating chapter panels, speakers, and other sessions&lt;br /&gt;
   * Scouting, clearing, and scheduling chapter meeting venues and catering&lt;br /&gt;
   * Identifying opportunities for collaboration between chapter membership, OWASP global committees, and other organizations&lt;br /&gt;
   * Collecting and auditing use of chapter funds&lt;br /&gt;
   * Voting on chapter matters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more information on how the board was elected and what it's responsibilities are, please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;amp;authkey=CIS9zFM Chapter Board Election] |mailinglistsite=https://groups.google.com/forum/#!forum/owasp-nova|emailarchives=https://groups.google.com/forum/#!forum/owasp-nova}}&lt;br /&gt;
&lt;br /&gt;
You may also want to follow [http://twitter.com/OWASPNoVA/ @OWASPNoVA] on Twitter. &lt;br /&gt;
&lt;br /&gt;
=== Schedule  ===&lt;br /&gt;
&lt;br /&gt;
Meetings are (generally) held the first Thursday of the month.&lt;br /&gt;
&lt;br /&gt;
Note: We need speakers and topics! If you want to present, please contact [mailto:Jeremy.Long@owasp.org Jeremy] or [mailto:jack.mannino@owasp.org Jack]. We're very open to hearing from all our members.  &lt;br /&gt;
&lt;br /&gt;
== Next Meeting  ==&lt;br /&gt;
&lt;br /&gt;
For latest news check the meetup page here: [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/ Meetup].&lt;br /&gt;
&lt;br /&gt;
===October 2014===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' October 9th, 2014 @ 6:00pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' Uber Offices Tysons Corner, 1751 Pinnacle Drive, McLean, VA (1/2 mile from tysons corner metro)&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/205582912 Meetup]&lt;br /&gt;
&lt;br /&gt;
'''Agenda:''' &lt;br /&gt;
Join us for our Hack Night. We're switching the format up this month to include breakout sessions and collaborating on open source projects. Whether you're a builder, breaker, developer, or manager, come out to learn and collaborate.&lt;br /&gt;
&lt;br /&gt;
'''---&amp;gt; Special Notice: &amp;lt;---'''&lt;br /&gt;
&lt;br /&gt;
Please note that for this month, we will be moving the Meetup to Uber offices in Tyson's, as the space is configured extremely well for a &amp;quot;Hack Night&amp;quot; meetup (whiteboards, tables, etc). It is also Metro accessible.&lt;br /&gt;
&lt;br /&gt;
'''''Please bring your laptop!'''''&lt;br /&gt;
&lt;br /&gt;
== Past meetings ==&lt;br /&gt;
&lt;br /&gt;
===September 2014===&lt;br /&gt;
'''Date/Time:''' September 4th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/200805882/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will cover some chapter business then go straight into a session covering Ruby on Rails Security.&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
The World of Ruby on Rails Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Take a quick trip through the world of Ruby on Rails security! The journey will start with an overview of security features offered by the popular web framework, then detour through dangerous pitfalls and unsafe defaults, and finally end with suggestions for improving security in Rails apps and integrating improvements into the development process.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Justin Collins is a member of the application security team at Twitter and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===July 2014===&lt;br /&gt;
'''Date/Time:''' July 10th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/191678702/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will have a technical presentation on OAuth, and we will have an open forum on some upcoming changes to the chapter's format that we want feedback on before we move ahead with them. Our goal is to make OWASP NoVa a group that not only spreads education, but produces material for the broader application security community. Please join us and have your say in the way OWASP NoVa runs in the future!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
OAuth 1.0 Authorization and Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
OAuth 1.0 is an authorization standard based on the idea of a “valet key”. This presentation will provide an overview of the OAuth 1.0 authorization model, how it may fit in the enterprise environment, and some security implications for designers and security analyzers. OAuth 2.0 framework, the proposed standard to replace OAuth 1.0, will also be briefly discussed.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Ping Ning is a senior consultant at Cigital with 20 years of development and security experiences. He is practicing many software security services for clients, including architecture risk analysis, security architecture and design, secure code review, penetration testing, building security programs, and tools deployment and training.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===February 2013===&lt;br /&gt;
'''Date/Time:''' February 7th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/101839862/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Jeffrey Walton - &amp;quot;Securing Wireless Channels in the Mobile Space&amp;quot;, [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Securing Wireless Channels in the Mobile Space&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Secure channels are a cornerstone to individuals and employees on the go. The mobile environment adds additional pressures to securely delivering content to users - irregardless of whether its an email service delivering personal messages to a user, an organization providing company secrets to a mobile workforce, or a content provider streaming protected media to a subscriber. This talk will discuss the mobile environment, challenges to securely delivering content, examine past failures, offer remediation for issues in the environment, provide sample code for Android, iOS, .Net, OpenSSL, and discuss initiatives to address known issues.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Jeff has nearly 15 years of experience in a variety of roles including Systems Engineer, System Administrator, Developer, Security Engineer and Security Architect. He has worked with a number of Federal agencies and private institutions, including the Treasury Department, Social Security Administration, State Department, Diplomatic Security Service, financial institutions, and defense contractors. He has designed mobile solutions; developed secure containers; implemented secure channels; integrated management functions such as password lockouts and remote wipes; performed code reviews; and integrated security libraries such as Microsoft CAPI, Certicom Security Builder, OpenSSL and Crypto++. Jeff has also overseen and performed certification and accreditation audits, secure code reviews, and architectural risk assessments on traditional and mobile systems of varying code base sizes (primarily Objective C, C/C++ with Java, .Net).&lt;br /&gt;
&lt;br /&gt;
'''Downloads:'''&lt;br /&gt;
[[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]], [[Media:pubkey-pin-supplement.pdf|Supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===January 2013===&lt;br /&gt;
'''Date/Time:''' January 10th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/5106285036 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Upcoming chapter elections and 2013 plans&lt;br /&gt;
 * Talk: &amp;quot;Automating (Some) Android Security Testing&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Automating (Some) Android Security Testing&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Dynamically assessing an Android application for security issues requires examining many different layers. Some areas are extremely feasible to automate, while some areas may lend themselves better to manual analysis or semi-automated analysis. This presentation will present a more semi-automated approach to assessing applications rather than 'fire and forget' testing. We'll also look at some of the prerequisites for performing Android testing as well as some of the essentials for things you'll want in your testing environment (such as coffee and Red Bull).&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[https://www.owasp.org/index.php/User:Jack_Mannino Jack Mannino]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===October 2012===&lt;br /&gt;
'''Date/Time:''' October 4th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/4430947082 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/Dan_Cornell Dan Cornell] - &amp;quot;Benchmarking Web Application Scanners for YOUR Organization&amp;quot;, [https://www.owasp.org/images/7/73/OWASP_BenchmarkingWebApplicationScannersForYourOrganization_Content-1.pptx Presentation Slides]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Benchmarking Web Application Scanners for YOUR Organization&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Web applications pose significant risks for organizations. The selection of an appropriate scanning product or service can be challenging because every organization develops their web applications differently and decisions made by developers can cause wide swings in the value of different scanning technologies. To make a solid, informed decision, organizations need to create development team- and organization-specific benchmarks for the effectiveness of potential scanning technologies. This involves creating a comprehensive model of false positives, false negatives and other factors prior to mandating analysis technologies and making decisions about application risk management. This presentation provides a model for evaluating application analysis technologies, introduces an open source tool for benchmarking and comparing tool effectiveness, and outlines a process for making organization-specific decisions about analysis technology selection.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Dan Cornell has over 15 years experience architecting and developing web-based software systems. As CTO, he leads Denim Group's security research team in investigating the application of secure coding and development techniques to improve web-based software development methodologies. He also heads the Denim Group security research team, investigating the application of secure coding and development techniques to the improvement of web-based software development methodologies. Dan currently serves as the OWASP San Antonio chapter leader, member of the OWASP Global Membership Committee and co-lead of the OWASP Open Review Project. Dan has spoken at numerous security conferences, such as RSA in San Francisco, OWASP EU Research in Athens and OWASP AppSec USA in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2012 ===&lt;br /&gt;
'''Date/Time:''' July 12th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/John_Steven| John Steven] - &amp;quot;Password Storage Security&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;Password Storage Security&amp;quot; [[Media:PSM_-_Problem_Definition.pdf|Password Storage Security.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
During the June meeting we discussed the LinkedIn password theft which was just beginning its the news cycle. We'll use the July chapter meeting to discuss issues around password hashing and a solution. While wholly different schemes for protecting passwords at rest are preferable, it's instructive to look at hashing passwords as a threat modeling exercise and take the time to follow through to a fix. &lt;br /&gt;
&lt;br /&gt;
To read up on the issue, look at my latest blog post on the topic: [http://goo.gl/sGyi8|Justice League Blog - Securing Password Storage]&lt;br /&gt;
&lt;br /&gt;
For those who were sufficiently intrigued, mystified, or inspired by the presentation on password protection at the last chapter meeting, Coursera is offering a free 6-week Stanford course on cryptography that begins on August 27th (&amp;quot;Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!&amp;quot;): [https://www.coursera.org/course/crypto|Crypto Course] &lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
See  [https://www.owasp.org/index.php/John_Steven| John Steven Bio]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2012 ===&lt;br /&gt;
'''Date/Time:''' June 7th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Ken Johnson (LivingSocial) - &amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot; [https://www.owasp.org/images/e/e9/Ken_Johnson_July_2012.pptx AppSec, Ritalin, and Failing Fast Presentation] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
In early April Ken Johnson and Matt Ahrens presented a high-level overview of building an Application Security program at LivingSocial. This talk will differ in that it will focus on the granular aspects involved with introducing security into an incredibly intense development environment. The discussion will be compromised of experiences in:&lt;br /&gt;
* Developing technical solutions to solving difficult challenges&lt;br /&gt;
* Remaining proactive with an increased workload&lt;br /&gt;
* What it means to innovate&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
Ken Johnson is the Application Security Manager for LivingSocial.com. Prior to joining LivingSocial.com, Ken worked in various application security consulting roles. Ken is the primary developer of the Web Exploitation Framework (wXf) and enjoys contributing to other open source projects as often as time permits. Ken has spoken at AppSec DC 2010 &amp;amp; 2012, OWASP DC and Phoenix chapters and is a member of the Attack Research Team.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2012 ===&lt;br /&gt;
'''Date/Time:''' May 3rd, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * &amp;quot;Chill Out&amp;quot; conversations (formal talked pushed back due to logistical issues)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2012 ===&lt;br /&gt;
'''Date/Time:''' April 16th, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Food Sponsor:''' Jeremy Long - jeremy.long[at]owasp.org&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot; by Masha Khainson (Cigital)&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
 * ISSA NoVA Social @Champps!  :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Malicious Code Detection or BRIC Breaking Through Static Analysis: As organizations outsource development to less trustworthy providers malware becomes as much a problem as introduction of honest vulnerability by one's own development shop. Assessment practices currently look for vulnerability within source code and a running systems but these are but a few of windows of opportunity for malware introduction. This presentation demonstrates an approach for augmenting an existing security practice with the capability to detect potentially malicious code through secure code review. First, we show how to break malicious intent--often quite subtle--into concrete patterns we can reliably detect. The framework then demonstrates how to build suspicion around reliance of particular patterns' use in concert which, increasingly, imply malicious intent. These techniques will be explained through a demonstration in a real world application.&lt;br /&gt;
&lt;br /&gt;
'''Bio'''&lt;br /&gt;
Masha (a.k.a Marina) has dreamed of becoming a security consultant before she ever knew what a ballerina was, and that's a good thing - because she does not intend her talk to be a ballet recital. Having been in software security for over seven years, Ms. Khainson has delivered Architecture Risk Assessment, Secure Code Review, and Ethical Hacking on many architectures, platforms and technologies. Marina has also developed training materials for clients and led remediation assistance teams.&lt;br /&gt;
&lt;br /&gt;
Prior to joining Cigital, Marina was a member of a research team at a leading security research provider, where using disassembly as well as protocol and source code analysis, she provided key information on newly released vulnerabilities. Before that, Marina assisted the same research team in producing detailed reports on critical malware and spyware threats, as well as developing and testing content for network security devices from some of the top providers of intrusion detection and prevention technologies.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:MCD-OWASPNoVA.pdf|Malicious Code Detection or BRIC Breaking Through Static Analysis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2011 ===&lt;br /&gt;
'''Date/Time:''' November 3rd, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://www.qinetiq.com/ QinetiQ], 2677 Prosperity Ave Fairfax, VA 22031&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 # News / Updates&lt;br /&gt;
 # Talk: &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot; by Ryan Barnett (Trustwave SpiderLabs)&lt;br /&gt;
 # Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
How effective are blacklist filters vs. SQL Injection attacks?  What is the failure rate vs. automated scanning or manual testing?  Are there any &amp;quot;Time-to-Bypass&amp;quot; metrics?  In an attempt to answer these questions, Trustwave SpiderLabs' Research Team (the development team behind the ModSecurity WAF and the OWASP ModSecurity Core Rule Set) held a community &amp;quot;SQL Injection Challenge&amp;quot; to test the effectiveness of the OWASP ModSecurity Core Rule Set protections.  This presentation will provide an overview of the challenge, a step-by-step walk-through of the bypass tactics used by the winners, as well as, present a new approach to attack detection using ModSecurity's Lua API to perform Bayesian analysis.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[mailto:ryan.barnett@owasp.org Ryan C. Barnett] (Twitter: [http://twitter.com/#!/ryancbarnett @ryancbarnett]) is a senior security researcher on Trustwave's SpiderLabs Team. He is a SANS Institute certified instructor and a member of both the Top 20 Vulnerabilities and CWE/SANS Top 25 Most Dangerous Programming Errors teams. In addition to working with SANS, he is also a WASC Member where he leads the Web Hacking Incidents Database (WHID) and Distributed Web Honeypots Projects and is also the OWASP ModSecurity Core Rule Set (CRS) project leader. Mr. Barnett has also authored a Web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2011 ===&lt;br /&gt;
'''Date/Time:''' October 6th, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location/Food Sponsor:''' [http://www.cigital.com/ Cigital], 21351 Ridgetop Circle, Suite 400, Sterling, VA 20166 &lt;br /&gt;
&lt;br /&gt;
'''AGENDA:'''&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * AppSec USA 2011 Recap&lt;br /&gt;
 * Talk: Jack Mannino: [http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks &amp;quot;OWASP Top 10 Mobile Risks&amp;quot;]&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
=== September 2011 ===&lt;br /&gt;
&lt;br /&gt;
The September meeting was cancelled due to inclement weather (flash flooding).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== August 2011  ===&lt;br /&gt;
&lt;br /&gt;
We held a &amp;quot;social&amp;quot; event at Sweetwater Tavern in Sterling, VA. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' July 7th, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.cigital.com Cigital], Suite 400 21351 Ridgetop Circle, Dulles, VA, 20166&amp;lt;br&amp;gt; '''Food Sponsor:'''&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: iGoat - Ken Van Wyk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' June 9th, 2011 @ 6pm (*Note: 2nd Thursday of June!)&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://about.collegeboard.org/ The College Board], 11955 Democracy Drive Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' The College Board&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: [https://www.owasp.org/index.php/Top_10_2010-A4 A4 &amp;quot;Insecure Direct Object References&amp;quot;]&lt;br /&gt;
 * College Board Speaker: &amp;quot;Attack-in-Depth:  Exploits of the OWASP Top Ten in Action&amp;quot;&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 - Jack Mannino: &amp;quot;Android Security 101&amp;quot;&lt;br /&gt;
 - Others!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' Cinco de Mayo (May 5th), 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset Hills Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' Akamai&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election (voice vote on the entire slate)&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A3 A3 &amp;quot;Broken Authentication and Session Management&amp;quot;]&lt;br /&gt;
 * Speaker: Steve Witmer on A3 from the &amp;quot;breakers&amp;quot; perspective&lt;br /&gt;
 * Speaker: ??? on A3 from the &amp;quot;fixers/defenders&amp;quot; perspective&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 * '''Update:''' All election candidates were elected by voice vote. &lt;br /&gt;
    * Please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;authkey=CIS9zFM '11 Chapter Board Election Material]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' April 7, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.reversespace.com/ ReverseSpace], 13505 Dulles Technology Dr, Suite 3, Herndon, VA 20171 &amp;lt;br&amp;gt; '''Food Sponsor:''' [https://www.cigital.com Cigital]&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A2 A2 &amp;quot;Cross-Site Scripting (XSS)&amp;quot;]&lt;br /&gt;
 * Preso:&amp;quot;Cross-Site Scripting is Not Your Friend: XSS and the Facebook Platform&amp;quot; by Joey Tyson ([https://www.owasp.org/images/9/92/Xssnotfriend-edited.pptx PPTX] or [https://www.owasp.org/images/0/06/Xssnotfriend-edited.pdf PDF])&lt;br /&gt;
 * Preso:“XSS Remediation” by Cassia Martin ([https://www.owasp.org/images/6/66/XSS_Remediation.ppt PPT])&lt;br /&gt;
 * Preso:&amp;quot;Growing the secure application developer community through expanded curricula&amp;quot; by Tony Gottlieb&lt;br /&gt;
 * FireTalks (bring it!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== March 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' March 3, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.boozallen.com/ Booz Allen Hamilton], 13200 Woodland Park Road, Herndon, VA 20171 &amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011] In Review&lt;br /&gt;
  * Preso: [http://www.owasp.org/index.php/Top_10_2010-A1-Injection A1 &amp;quot;Injection&amp;quot;]&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' February 3, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset HIlls Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * Feedback for [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011]&lt;br /&gt;
  * Preso: Intro to [http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Top 10] + 2&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== December 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' December 2, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://hackerspaces.org/wiki/Reverse_Space ReverseSpace], 13505 Dulles Technology Drive, Herndon, VA&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
   * 2011 Planning Session (Schedule, Volunteers, Speakers, Topics)&lt;br /&gt;
  * Lightning Talks!! (Bring an idea, a question, a topic, whatever - 5-10 minute talks max!)&lt;br /&gt;
  * Social / Networking (BYOB!)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' November 4, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' Akamai, 11111 Sunset Hills Rd, Suite #250, Reston, VA&amp;lt;br&amp;gt; '''Speaker:''' Ben Tomhave&amp;lt;br&amp;gt; '''Title:''' The Unintended Consequences of Beating Users with Carrot Sticks: Radical Thoughts on Security Reform&amp;lt;br&amp;gt; '''Description:''' What we're doing today is not working and isn't sustainable. The fundamental culture of the average business does not encourage making good security decisions. Software shops continue to focus on functionality and timelines, neglecting information security. In spite of regulations like PCI and HIPAA+HITECH, which are levying fines against organizations for their security failures, the tipping point has clearly not been reached to cause meaningful change. Much of this problem can be attributed to the excessive use of negative incentives (sticks) instead of providing positive incentives (carrots) that inspire better decision making and motivate true change. Fortunately, it's not too late to change tactics and start achieving demonstrable success.&amp;lt;br&amp;gt; '''Speaker Bio:''' Ben Tomhave is a Senior Security Analyst with Gemini Security Solutions in Chantilly, VA, specializing in solutions architecture, security planning, program development and management, and other strategic security solutions. He holds a MS in Engineering Management with an Information Security Management concentration from The George Washington University and is a CISSP. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, June 3rd, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER''': Alex Hutton, Verizon Business and http://www.newschoolsecurity.com/&amp;lt;br&amp;gt; '''TOPIC''': Risk Management - Time to blow it up and start over?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
A redux of the presentation that Alex delivered at B-Sides San Francisco during RSA 2010. &amp;quot;Now that the industry is trying to formalize the concept of risk management into neat little compartments like standards (ISO 27005/31000), certifications (CRISC) and products (GRC) guess what? We're doing it wrong. Fundamentally wrong. This talk will discuss why all this current risk management stuff is goofy and what sort of alternatives we have that might help us understand our ability to protect, our tendency towards failure, and how to match that up with what management will stomach.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Slides are available from: [http://www.slideshare.net/BSides/risk-management-time-to-blow-it-up-and-start-over-alex-hutton Risk Management - Time to blow it up and start over?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SPECIAL SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/tiffanyrad Tiffany Rad] provided an overview and update on [http://twitter.com/reversespace Reverse Space] in Herndon, VA. For more information, or to help out, please join the [http://groups.google.com/group/ReverseSpace Reverse Space Google Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Tuesday, May 18th, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER'''': Jeff Ennis, Senior Solutions Architect, Veracode&amp;lt;br&amp;gt; '''TITLE''': State of Software Security ([[Media:State of Software Security-Ennis.ppsx.zip]])&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
A discussion of the current state of software security based on the compiled findings by Veracode from the dynamic and static code analysis they have performed for customers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== September 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 17, 2009. 6:00pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': 22260 Pacific blvd, Sterling, VA. 20166&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Fortify 360&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Erik Klein (Fortify Software), Eric Dalci (Cigital)&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
We're pleased to invite you to our next week's OWASP Session (Thursday September 17th). We will be hosting a presentation, demo and hands on session of Fortify 360 (http://www.fortify.com). Fortify 360 includes Fortify SCA (Source Code Analyzer) and the Fortify 360 Server which is Fortify's solution for an enterprise deployment of SCA. The session will start with a presentation by Fortify engineers, followed by a demo and finally a hands on session where the audience will be free to install Fortify SCA on the machine and try it the SCA tool on a sample application that we will provide. The audience will also be introduced with the Fortify 360 Server and try some of the enterprise level features such as collaborative code review, metrics and so on. Bring your laptop if you want to try Fortify 360! &lt;br /&gt;
&lt;br /&gt;
The target audience is anyone interested in Secure Code Review with a Static Analysis tool at the desktop level and/or enterprise level. We will need to register visitors before hand...please email wade.woolwine@owasp.org for registration and confirm attendance. Pizza and refreshments will be served. &lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 3, 2009. 6:00pm.&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Conducting Application Assessment&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Jeremy Epstein, SRI&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
After the 2000 election, many states launched headlong into electronic voting systems to avoid the problems with &amp;quot;hanging chads&amp;quot;. Once problems with those systems started appearing, many localities started moving to optical scan, which was used by a majority of US voters in the 2008 election. There are other technologies in use around the country, including lever machines, vote-by-mail, vote-by-phone, and Internet voting. What are the tradeoffs among these technologies? Particularly relevant to OWASP, what are the security issues associated with different types of equipment, and what measures do vendors of voting equipment use to try to address the security problems? Are software security problems important, or can non-technical measures protect against them? In this talk, we'll discuss a wide variety of voting technologies, and their pros and cons from both a technical and societal perspective. &lt;br /&gt;
&lt;br /&gt;
'''ABOUT THE SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
Jeremy Epstein is Senior Computer Scientist at SRI International. His background includes more than 20 years experience in computer security research, product development, and consulting. Prior to joining SRI International, he was Principal Consultant with Cigital, and before that spent nine years as Senior Director of Product Security at Software AG, an international business software company. Within the area of voting systems, Jeremy has been involved for over five years in voting technology and advocacy, both as an employee and as an independent consultant. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': July 9th 6pm-9pm EST&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Ounce's 02&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER(S)''': Dinis Cruz, OWASP, Ounce Labs.&amp;lt;br&amp;gt; '''DESCRIPTION''': So what is O2? &lt;br /&gt;
&lt;br /&gt;
Well in my mind O2 is a combination of advanced tools (Technology) which are designed to be used on a particular way (Process) by knowledgeable Individuals (People) &lt;br /&gt;
&lt;br /&gt;
Think about it as a Fighter Jet who is able to go very fast, has tons of controls, needs to be piloted by somebody who knows what they are doing and needs to have a purpose (i.e. mission). &lt;br /&gt;
&lt;br /&gt;
Basically what I did with O2 was to automate the workflow that I have when I'm engaged on a source-code security review. &lt;br /&gt;
&lt;br /&gt;
Now, here is the catch, this version is NOT for the faint-of-heart. I designed this to suit my needs, which although are the same as most other security consultants, have its own particularities :) &lt;br /&gt;
&lt;br /&gt;
The whole model of O2 development is based around the concept of automating a security consultant’s brain, so I basically ensure that the main O2 Developer (Dinis Cruz) has a very good understanding of the feature requirements of the targeted Security Consultant (Dinis Cruz) :) . And this proved (even to my surprise) spectacularly productive, since suddenly I (i.e. the security consultant) didn't had to wait months for new features to be added to its toolkit. If there was something that needed to be added, it would just be added in days or hours. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Gary McGraw, Cigital Inc.'':''Building Security In Maturity Model''&amp;lt;br&amp;gt; Later, an interview: ''Jim Routh, formerly of DTCC'':''The Economic Advantages of a Resilient Supply Chain- Software Security'' ''&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Gary McGraw talked about the experience he, Sammy Migues, and Brian Chess gained conducting a survey of some of America's top Software Security groups. Study results are available under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Share Alike license] at [http://www.bsi-mm.com www.bsi-mm.com]. Gary described the common structural elements and activities of successful software security programs, present the maturity model that resulted from survey data, and discuss lessons learned from listening to those leading these groups. &lt;br /&gt;
&lt;br /&gt;
Jim Routh gave an incredibly insightful interview regarding his own experiences crafting their security group. &lt;br /&gt;
&lt;br /&gt;
Download presentation notes at: [http://www.owasp.org/images/0/03/JMR-Economics_of_Security_Goups.ppt The Economic Advantages of a Resilient Supply Chain- Software Security] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Eric Dalci, Cigital Inc.'':''Introduction to Static Analysis''&amp;lt;br&amp;gt; Later, a panel: &lt;br /&gt;
&lt;br /&gt;
*Steven Lavenhar, Booz Allen Hamilton; &lt;br /&gt;
*Eric Dalci, Cigital Inc.&lt;br /&gt;
&lt;br /&gt;
Panel moderated by John Steven &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This session is an introductory to Static Analysis. This session presents the different types of analysis used by today's Static Analysis tools. Examples of direct application to find vulnerabilities will be shown (ex: Data Flow Analysis, Semantic, Control Flow, etc.). Current limitations of Static Analysis will also be exposed. This session is tool agnostic, but will cover the approach taken by various leading commercial (as well as open-source) tools. &lt;br /&gt;
&lt;br /&gt;
Download: [http://www.owasp.org/images/e/ea/OWASP_Virginia_Edalci_May09.pdf Intro to Static Analysis] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Jeremiah Grossman, Whitehat Security'': '''Top 10 Web Hacking Techniques 2008'''&amp;lt;br&amp;gt; Jeremiah Spoke on (what he and colleagues determined were the) top ten web hacking techniques of 2008. This talk was a preview of his RSA '09 talk.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Download http://www.whitehatsec.com/home/assets/presentations/09PPT/PPT_OWASPNoVA04082008.pdf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Later, &lt;br /&gt;
&lt;br /&gt;
*Nate Miller, Stratum Security; &lt;br /&gt;
*Jeremiah Grossman, Whitehat Security; &lt;br /&gt;
*Tom Brennan, Whitehat Security; and &lt;br /&gt;
*Wade Woolwine, AOL&lt;br /&gt;
&lt;br /&gt;
served as penetration testing panels answering questions posed and moderated by Ken Van Wyk. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Ryan C. Barnett, Breach Security'': '''Patching Challenge: Securing WebGoat with ModSecurity''' &lt;br /&gt;
&lt;br /&gt;
Identification of web application vulnerabilities is only half the battle with remediation efforts as the other. Let's face the facts, there are many real world business scenarios where it is not possible to update web application code in either a timely manner or at all. This is where the tactical use-case of implementing a web application firewall to address identified issues proves its worth. &lt;br /&gt;
&lt;br /&gt;
This talk will provide an overview of the recommended practices for utilizing a web application firewall for virtual patching. After discussing the framework to use, we will then present a very interesting OWASP Summer of Code Project where the challenge was to attempt to mitigate as many of the OWASP WebGoat vulnerabilities as possible using the open source ModSecurity web application firewall. During the talk, we will discuss both WebGoat and ModSecurity and provide in-depth walk-throughs of some of the complex fixes. Examples will include addressing not only attacks but the underlying vulnerabilities, using data persistence for multiple-step processes, content injection and even examples of the new LUA programming language API. The goal of this talk is to both highlight cutting edge mitigation options using a web application firewall and to show how it can effectively be used by security consultants who traditionally could only offer source code fixes. &lt;br /&gt;
&lt;br /&gt;
Ryan C. Barnett is the Director of Application Security Research at Breach Security and leads Breach Security Labs. He is also a Faculty Member for the SANS Institute, Team Lead for the Center for Internet Security Apache Benchmark Project and a Member of the Web Application Security Consortium where he leads the Distributed Open Proxy Honeypot Project. Mr. Barnett has also authored a web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
(This talk is a preview of Ryan's talk at Blackhat Federal the following week - see https://www.blackhat.com/html/bh-dc-09/bh-dc-09-speakers.html#Barnett ) &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip|WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity]] &lt;br /&gt;
&lt;br /&gt;
''John Steven, Cigital'': '''Moving Beyond Top N Lists''' &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Moving_Beyond_Top_N_Lists.ppt.zip|Moving Beyond Top N Lists]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Cigital published an article: The Top 11 Reasons Why Top 10 (or 25) Lists Don’t Work. Yet, these lists are a staple of conference abstracts, industry best practice lists, and the like. Are they good or bad? We’ll explore how to get beyond the Top 10 (or 25) list in making your software security effort real. &lt;br /&gt;
&lt;br /&gt;
John is Senior Director, Advanced Technology Consulting at Cigital. His experience includes research in static code analysis and hands-on architecture and implementation of high-performance, scalable Java EE systems. John has provided security consulting services to a broad variety of commercial clients including two of the largest trading platforms in the world and has advised America's largest internet provider in the Midwest on security and forensics. John led the development of Cigital's architectural analysis methodology and its approach to deploying enterprise software security frameworks. He has demonstrated success in building Cigital's intellectual property for providing cutting-edge security. He brings this experience and a track record of effective strategic innovation to clients seeking to change, whether to adopt more cutting-edge approaches, or to solidify ROI. John currently chairs the SD Best Practices security track and co-edits the building security in department of IEEE's Security and Privacy magazine. John has served on numerous conference panels regarding software security, wireless security and Java EE system development. He holds a B.S. in Computer Engineering and an M.S. in Computer Science from Case Western Reserve University. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== January 2009  ===&lt;br /&gt;
&lt;br /&gt;
To kick off 2009, our January meeting featured a discussion of the relationship between application security and CMMI, and an overview of the OWASP ASVS project. &lt;br /&gt;
&lt;br /&gt;
''Michele Moss, Booz Allen Hamilton'': '''Evolutions In The Relationship Between Application Security And The CMMI''' &lt;br /&gt;
&lt;br /&gt;
Addressing new and complex threats and IT security challenges requires repeatable, reliable, rapid, and cost effective solutions. To implement these solutions, organizations have begun to align their security improvement efforts with their system and software development practices. During a “Birds of a Feather” at the March 2007 SEPG, a group of industry representatives initiated an effort which led to the definition of assurance practices that can be applied in the context of the CMMI. This presentation will provide an understanding how applying the assurance practices in the context of security contribute to the overall increased quality of products and services, illustrate how the a focus on assurance in the context of CMMI practices is related to application security practices, and present and approach to evaluate and improve the repeatability and reliability of assurance practices. &lt;br /&gt;
&lt;br /&gt;
Michele Moss, CISSP, is a security engineer with more than 12 years of experience in process improvement. She specializes in integrating assurance processes and practices into project lifecycles. Michele is the Co-Chair of the DHS Software Assurance Working Group on Processes &amp;amp;amp; Practices. She has assisted numerous organizations with maturing their information technology, information assurance, project management, and support practices through the use of the capability maturity models including the CMMI, and the SSE-CMM. She is one of the key contributors in an effort to apply an assurance focus to CMMI. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:Moss-AppSecurityAndCMMI.pdf|Evolutions In The Relationship Between Application Security And The CMMI]] &lt;br /&gt;
&lt;br /&gt;
''Mike Boberski, Booz Allen Hamilton'': '''About OWASP ASVS''' &lt;br /&gt;
&lt;br /&gt;
The primary aim of the OWASP ASVS Project is to normalize the range of coverage and level of rigor available in the market when it comes to performing application-level security verification. The goal is to create a set of commercially-workable open standards that are tailored to specific web-based technologies. &lt;br /&gt;
&lt;br /&gt;
Mike Boberski works at Booz Allen Hamilton. He has a background in application security and the use of cryptography by applications. He is experienced in trusted product evaluation, security-related software development and integration, and cryptomodule testing. For OWASP, he is the project lead and a co-author of the OWASP Application Security Verification Standard, the first OWASP standard. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:About_OWASP_ASVS_Web_Edition.ppt|About OWASP ASVS]] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our November 2008 meeting, we had two great presentations on software assurance and security testing. &lt;br /&gt;
&lt;br /&gt;
''Nadya Bartol, Booz Allen Hamilton'': '''Framework for Software Assurance''' &lt;br /&gt;
&lt;br /&gt;
Nadya's presentation will provide an update on the Software Assurance Forum efforts to establish a comprehensive framework for software assurance (SwA) and security measurement. The Framework addresses measuring achievement of SwA goals and objectives within the context of individual projects, programs, or enterprises. It targets a variety of audiences including executives, developers, vendors, suppliers, and buyers. The Framework leverages existing measurement methodologies, including Practical Software and System Measurement (PSM); CMMI Goal, Question, Indicator, Measure (GQ(I)M); NIST SP 800-55 Rev1; and ISO/IEC 27004 and identifies commonalities among the methodologies to help organizations integrate SwA measurement in their overall measurement efforts cost-effectively and as seamlessly as possible, rather than establish a standalone SwA measurement effort within an organization. The presentation will provide an update on the SwA Forum Measurement Working Group work, present the current version of the Framework and underlying measures development and implementation processes, and propose example SwA measures applicable to a variety of SwA stakeholders. The presentation will update the group on the latest NIST and ISO standards on information security measurement that are being integrated into the Framework as the standards are being developed. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Bartol-MeasurementForOWASP11-13-08.pdf Framework for Software Assurance]&lt;br /&gt;
&lt;br /&gt;
''Paco Hope, Cigital'': '''The Web Security Testing Cookbook''' &lt;br /&gt;
&lt;br /&gt;
The Web Security Testing Cookbook (O'Reilly &amp;amp;amp; Associates, October 2008) gives developers and testers the tools they need to make security testing a regular part of their development lifecycle. Its recipe style approach covers manual, exploratory testing as well automated techniques that you can make part of your unit tests or regression cycle. The recipes cover the basics like observing messages between clients and servers, to multi-phase tests that script the login and execution of web application features. This book complements many of the security texts in the market that tell you what a vulnerability is, but not how to systematically test it day in and day out. Leverage the recipes in this book to add significant security coverage to your testing without adding significant time and cost to your effort. &lt;br /&gt;
&lt;br /&gt;
Congratulations to Tim Bond who won an autographed copy of Paco's book. Get your copy here [[http://www.amazon.com/Security-Testing-Cookbook-Paco-Hope/dp/0596514832]] &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/PacoHope-WebSecCookbook.pdf The Web Security Testing Cookbook]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our October 2008 meeting, we had two fascinating talks relating to forensics. &lt;br /&gt;
&lt;br /&gt;
''Dave Merkel, Mandiant'': '''Enterprise Grade Incident Management - Responding to Persistent Threats''' &lt;br /&gt;
&lt;br /&gt;
Dave Merkel is Vice President of Products at Mandiant, a leading provider of information security services, education and products. Mr. Merkel has worked in the information security and incident response industry for over 10 years. His background includes service as a federal agent in the US Air Force and over 7 years experience directing security operations at America Online. He currently oversees the product business at Mandiant, and is in charge of building Mandiant Intelligent Response - an enterprise incident response solution. But no, he won't be selling you anything today. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Mandiant-EnterpriseIRandAPTpresentation.pdf Enterprise Grade Incident Management - Responding to Persistent Threats] &lt;br /&gt;
&lt;br /&gt;
''Inno Eroraha, NetSecurity'': '''Responding to the Digital Crime Scene: Gathering Volatile Data''' &lt;br /&gt;
&lt;br /&gt;
Inno Eroraha is the founder and chief strategist of NetSecurity Corporation, a company that provides digital forensics, hands-on security consulting, and Hands-on How-To® training solutions that are high-quality, timely, and customer-focused. In this role, Mr. Eroraha helps clients plan, formulate, and execute the best security and forensics strategy that aligns with their business goals and priorities. He has consulted with Fortune 500 companies, IRS, DHS, VA, DoD, and other entities. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/NetSecurity-RespondingToTheDigitalCrimeScene-GatheringVolatileData-TechnoForensics-102908.pdf Responding to the Digital Crime Scene: Gathering Volatile Data] &lt;br /&gt;
&lt;br /&gt;
=== History  ===&lt;br /&gt;
&lt;br /&gt;
The original DC Chapter was founded in June 2004 by [mailto:jeff.williams@owasp.org Jeff Williams] and has had members from Virginia to Delaware. In April 2005 a new chapter, OWASP Washington VA Local Chapter, was formed and the DC Chapter was renamed to DC-Maryland. The two are sister chapters and include common members and shared discourse. The chapters meet in opposite halves of the month to facilitate this relationship. &lt;br /&gt;
&lt;br /&gt;
==== Chapter Groups  ====&lt;br /&gt;
&lt;br /&gt;
Within the chapter, various common interests spring up. We've created Google groups to manage collaboration amongst participants for these topics. Feel free to join and participate in: &lt;br /&gt;
&lt;br /&gt;
*[http://groups.google.com/group/novaowasp_threatmodeling Threat Modeling] &lt;br /&gt;
*[http://groups.google.com/group/novaowasp_mobile Mobile]&lt;br /&gt;
&lt;br /&gt;
=== OWASP NoVa Members On Twitter  ===&lt;br /&gt;
&lt;br /&gt;
John Steven [http://twitter.com/m1splacedsoul http://twitter.com/m1splacedsoul] &lt;br /&gt;
&lt;br /&gt;
Jack Mannino [http://twitter.com/jack_mannino http://twitter.com/jack_mannino] &lt;br /&gt;
&lt;br /&gt;
Ben Tomhave [http://twitter.com/falconsview http://twitter.com/falconsview] &lt;br /&gt;
&lt;br /&gt;
Ken Johnson [http://twitter.com/cktricky http://twitter.com/cktricky] &lt;br /&gt;
&lt;br /&gt;
Mike Smith [http://twitter.com/rybolov http://twitter.com/rybolov] &lt;br /&gt;
&lt;br /&gt;
Trevor Hawthorn [http://twitter.com/packetwerks http://twitter.com/packetwerks] &lt;br /&gt;
&lt;br /&gt;
Jeremy Long [http://twitter.com/ctxt http://twitter.com/ctxt] &lt;br /&gt;
&lt;br /&gt;
Ari Elias-Bachrach [http://twitter.com/angelofsecurity http://twitter.com/angelofsecurity] &lt;br /&gt;
&lt;br /&gt;
Venkat Sundaram [http://twitter.com/Vnk3889 http://twitter.com/Vnk3889] &lt;br /&gt;
&lt;br /&gt;
==== Knowledge  ====&lt;br /&gt;
&lt;br /&gt;
The Northern Virginia (NoVA) chapter is committed to compiling resources on interesting and valuable topic areas. We hope that this structure helps you access information pertinent to your tasks at hand as you move through a secure application development life cycle. Currently, our topic areas of focus include activities such as: &lt;br /&gt;
&lt;br /&gt;
*Threat Modeling &lt;br /&gt;
*[[Code Review and Static Analysis with tools]] &lt;br /&gt;
*Penetration Testing and Dynamic Analysis tools &lt;br /&gt;
*Monitoring/Dynamic patching (WAFs)&lt;br /&gt;
&lt;br /&gt;
Certain projects our members are involved in cross-cut these activities, providing value throughout. They include: &lt;br /&gt;
&lt;br /&gt;
*ASVS&lt;br /&gt;
&lt;br /&gt;
=== Static Analysis Curriculum  ===&lt;br /&gt;
&lt;br /&gt;
*For an introduction to the OWASP Static Analysis (SA) Track goals, objectives, and session roadmap, please see [http://www.owasp.org/index.php/Image:OWASP_NoVA_SA_Track_Final_20090408.ppt this presentation].&lt;br /&gt;
&lt;br /&gt;
The following is the agenda of the OWASP Static Analysis track roadmap for the [http://www.owasp.org/index.php/Virginia_(Northern_Virginia) Northern Virginia Chapter]. &lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp SAtrack plan.png|OWASP Static Analysis Roadmap - Northern Virginia Chapter 2009]] &lt;br /&gt;
&lt;br /&gt;
'''Contacts'''&amp;lt;br&amp;gt; Questions related to this curriculum should be sent to [mailto:John.Steven@owasp.org John Steven], who is the Northern Virginia chapter leader. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Flash Talk Resources  ===&lt;br /&gt;
&lt;br /&gt;
Chandu Ketkar on OFS. Download: [http://www.owasp.org/images/1/1c/OFS.pptx OFS Presentation.] &amp;lt;br&amp;gt; [http://jack-mannino.blogspot.com/ Jack Mannino] on Google and Searching for Personal Information &amp;lt;br&amp;gt; Jesse Ou on XML Bombs. Download: [http://www.owasp.org/images/1/18/OWASP_JOU_XML_DTD_Attacks.pptx XML DTD Presentation] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;paypal&amp;gt;Northern Virginia&amp;lt;/paypal&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Virginia]] [[Category:Washington,_DC]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192282</id>
		<title>Virginia</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192282"/>
				<updated>2015-03-26T20:32:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== About  ====&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-nova.JPG|right|275px|Owasp-nova.JPG]]The '''OWASP Northern VA Local Chapter''' meetings are FREE and OPEN to anyone interested in learning more about application security. We encourage individuals to provide knowledge transfer via hands-on training and presentations of specific OWASP projects and research topics and sharing SDLC knowledge. &lt;br /&gt;
&lt;br /&gt;
We the encourage vendor-agnostic presentations to utilize the OWASP Powerpoint template when applicable and individual volunteerism to enable perpetual growth. As a 501(3)c non-profit association donations of meeting space or refreshments sponsorship is encouraged, simply contact the local chapter leaders listed on this page to discuss. Prior to participating with OWASP please review the Chapter Rules. &lt;br /&gt;
&lt;br /&gt;
The chapter is committed to providing an engaging experience for a variety of audience types ranging from local students and those beginning in app-sec, to those experienced and accomplished professionals who are looking for competent collaborators for OWASP-related projects. To this end, we will continue to conduct both monthly chapter meetings as well as out-of-band curricula, on application security topics. &lt;br /&gt;
&lt;br /&gt;
{{Chapter Template|chaptername=Virginia|extra =Come see us at a chapter meeting, jump on our Google Group, or email any of us directly.&lt;br /&gt;
&lt;br /&gt;
=== 2015 Chapter Election Candidates ===&lt;br /&gt;
*Mike McCabe - Board Chair&lt;br /&gt;
**Endorsement - Jack Mannino, Current Board Chair&lt;br /&gt;
**Full Disclosure: Mike reports directly to me at our day job.&lt;br /&gt;
Mike is one of the most ethical, hard working, and analytical people I've had the pleasure to meet. In his previous two years serving on the OWASP NoVa board, Mike has been instrumental in keeping a healthy pipeline of interesting speakers as well as helping carve out new initiatives based on chapter feedback. I fully vouch for both his character and his ability to run the chapter in an ethical, high quality manner.&lt;br /&gt;
*Akshay Sivananda&lt;br /&gt;
**Endorsement - Ping Ning, Chapter Member&lt;br /&gt;
**Akshay is a seasoned information security professional, with broad experience in secure SDLC, vulnerability management, and software security initiative. I worked with Akshay before and enjoyed working with him. He was very supportive and always ready to provide a helping hand. He always has an open mind and respects various opinions. I think Akshay is a great candidate for the Owasp NoVA board and believe he will make significant contribution to the chapter.&lt;br /&gt;
&lt;br /&gt;
As a regular member of Owasp, I wholeheartedly endorse Akshay for the Owasp NoVA chapter board.&lt;br /&gt;
*Abdullah Munawar&lt;br /&gt;
**Endorsement - Jon Callahan, Chapter Member&lt;br /&gt;
**I worked with Abdullah for about a year and can personally attest to not only his knowledge but also his passion and drive to further himself in the security field. When committing to something, you'll know he will follow through and because of this, was my goto guy until we parted ways. Add on the 8 years worth of involvement with OWASP and you get someone who understands exactly how this chapter works and is willing to put the time in to keep it as great as it's been. &lt;br /&gt;
&lt;br /&gt;
=== Chapter Board ===&lt;br /&gt;
Previously having had a Chapter Leader, then a Chapter &amp;quot;Program Committee&amp;quot;, the chapter is now run by a full board (alphabetical order):&lt;br /&gt;
* Jack Mannino - Board Chair&lt;br /&gt;
* Jeremy Long&lt;br /&gt;
* Michael McCabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board member responsibilities include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;   * Providing governance for chapter and member activities in terms chapter mission and OWASP code of ethics&lt;br /&gt;
   * Recruiting OWASP membership&lt;br /&gt;
   * Driving OWASP NoVA Chapter attendance and involvement&lt;br /&gt;
   * Deferring to, facilitating, and supporting the activities and projects of chapter membership&lt;br /&gt;
   * Eliciting, scheduling, and coordinating chapter panels, speakers, and other sessions&lt;br /&gt;
   * Scouting, clearing, and scheduling chapter meeting venues and catering&lt;br /&gt;
   * Identifying opportunities for collaboration between chapter membership, OWASP global committees, and other organizations&lt;br /&gt;
   * Collecting and auditing use of chapter funds&lt;br /&gt;
   * Voting on chapter matters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more information on how the board was elected and what it's responsibilities are, please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;amp;authkey=CIS9zFM Chapter Board Election] |mailinglistsite=https://groups.google.com/forum/#!forum/owasp-nova|emailarchives=https://groups.google.com/forum/#!forum/owasp-nova}}&lt;br /&gt;
&lt;br /&gt;
You may also want to follow [http://twitter.com/OWASPNoVA/ @OWASPNoVA] on Twitter. &lt;br /&gt;
&lt;br /&gt;
=== Schedule  ===&lt;br /&gt;
&lt;br /&gt;
Meetings are (generally) held the first Thursday of the month.&lt;br /&gt;
&lt;br /&gt;
Note: We need speakers and topics! If you want to present, please contact [mailto:Jeremy.Long@owasp.org Jeremy] or [mailto:jack.mannino@owasp.org Jack]. We're very open to hearing from all our members.  &lt;br /&gt;
&lt;br /&gt;
== Next Meeting  ==&lt;br /&gt;
&lt;br /&gt;
For latest news check the meetup page here: [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/ Meetup].&lt;br /&gt;
&lt;br /&gt;
===October 2014===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' October 9th, 2014 @ 6:00pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' Uber Offices Tysons Corner, 1751 Pinnacle Drive, McLean, VA (1/2 mile from tysons corner metro)&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/205582912 Meetup]&lt;br /&gt;
&lt;br /&gt;
'''Agenda:''' &lt;br /&gt;
Join us for our Hack Night. We're switching the format up this month to include breakout sessions and collaborating on open source projects. Whether you're a builder, breaker, developer, or manager, come out to learn and collaborate.&lt;br /&gt;
&lt;br /&gt;
'''---&amp;gt; Special Notice: &amp;lt;---'''&lt;br /&gt;
&lt;br /&gt;
Please note that for this month, we will be moving the Meetup to Uber offices in Tyson's, as the space is configured extremely well for a &amp;quot;Hack Night&amp;quot; meetup (whiteboards, tables, etc). It is also Metro accessible.&lt;br /&gt;
&lt;br /&gt;
'''''Please bring your laptop!'''''&lt;br /&gt;
&lt;br /&gt;
== Past meetings ==&lt;br /&gt;
&lt;br /&gt;
===September 2014===&lt;br /&gt;
'''Date/Time:''' September 4th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/200805882/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will cover some chapter business then go straight into a session covering Ruby on Rails Security.&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
The World of Ruby on Rails Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Take a quick trip through the world of Ruby on Rails security! The journey will start with an overview of security features offered by the popular web framework, then detour through dangerous pitfalls and unsafe defaults, and finally end with suggestions for improving security in Rails apps and integrating improvements into the development process.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Justin Collins is a member of the application security team at Twitter and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===July 2014===&lt;br /&gt;
'''Date/Time:''' July 10th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/191678702/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will have a technical presentation on OAuth, and we will have an open forum on some upcoming changes to the chapter's format that we want feedback on before we move ahead with them. Our goal is to make OWASP NoVa a group that not only spreads education, but produces material for the broader application security community. Please join us and have your say in the way OWASP NoVa runs in the future!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
OAuth 1.0 Authorization and Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
OAuth 1.0 is an authorization standard based on the idea of a “valet key”. This presentation will provide an overview of the OAuth 1.0 authorization model, how it may fit in the enterprise environment, and some security implications for designers and security analyzers. OAuth 2.0 framework, the proposed standard to replace OAuth 1.0, will also be briefly discussed.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Ping Ning is a senior consultant at Cigital with 20 years of development and security experiences. He is practicing many software security services for clients, including architecture risk analysis, security architecture and design, secure code review, penetration testing, building security programs, and tools deployment and training.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===February 2013===&lt;br /&gt;
'''Date/Time:''' February 7th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/101839862/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Jeffrey Walton - &amp;quot;Securing Wireless Channels in the Mobile Space&amp;quot;, [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Securing Wireless Channels in the Mobile Space&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Secure channels are a cornerstone to individuals and employees on the go. The mobile environment adds additional pressures to securely delivering content to users - irregardless of whether its an email service delivering personal messages to a user, an organization providing company secrets to a mobile workforce, or a content provider streaming protected media to a subscriber. This talk will discuss the mobile environment, challenges to securely delivering content, examine past failures, offer remediation for issues in the environment, provide sample code for Android, iOS, .Net, OpenSSL, and discuss initiatives to address known issues.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Jeff has nearly 15 years of experience in a variety of roles including Systems Engineer, System Administrator, Developer, Security Engineer and Security Architect. He has worked with a number of Federal agencies and private institutions, including the Treasury Department, Social Security Administration, State Department, Diplomatic Security Service, financial institutions, and defense contractors. He has designed mobile solutions; developed secure containers; implemented secure channels; integrated management functions such as password lockouts and remote wipes; performed code reviews; and integrated security libraries such as Microsoft CAPI, Certicom Security Builder, OpenSSL and Crypto++. Jeff has also overseen and performed certification and accreditation audits, secure code reviews, and architectural risk assessments on traditional and mobile systems of varying code base sizes (primarily Objective C, C/C++ with Java, .Net).&lt;br /&gt;
&lt;br /&gt;
'''Downloads:'''&lt;br /&gt;
[[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]], [[Media:pubkey-pin-supplement.pdf|Supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===January 2013===&lt;br /&gt;
'''Date/Time:''' January 10th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/5106285036 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Upcoming chapter elections and 2013 plans&lt;br /&gt;
 * Talk: &amp;quot;Automating (Some) Android Security Testing&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Automating (Some) Android Security Testing&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Dynamically assessing an Android application for security issues requires examining many different layers. Some areas are extremely feasible to automate, while some areas may lend themselves better to manual analysis or semi-automated analysis. This presentation will present a more semi-automated approach to assessing applications rather than 'fire and forget' testing. We'll also look at some of the prerequisites for performing Android testing as well as some of the essentials for things you'll want in your testing environment (such as coffee and Red Bull).&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[https://www.owasp.org/index.php/User:Jack_Mannino Jack Mannino]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===October 2012===&lt;br /&gt;
'''Date/Time:''' October 4th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/4430947082 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/Dan_Cornell Dan Cornell] - &amp;quot;Benchmarking Web Application Scanners for YOUR Organization&amp;quot;, [https://www.owasp.org/images/7/73/OWASP_BenchmarkingWebApplicationScannersForYourOrganization_Content-1.pptx Presentation Slides]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Benchmarking Web Application Scanners for YOUR Organization&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Web applications pose significant risks for organizations. The selection of an appropriate scanning product or service can be challenging because every organization develops their web applications differently and decisions made by developers can cause wide swings in the value of different scanning technologies. To make a solid, informed decision, organizations need to create development team- and organization-specific benchmarks for the effectiveness of potential scanning technologies. This involves creating a comprehensive model of false positives, false negatives and other factors prior to mandating analysis technologies and making decisions about application risk management. This presentation provides a model for evaluating application analysis technologies, introduces an open source tool for benchmarking and comparing tool effectiveness, and outlines a process for making organization-specific decisions about analysis technology selection.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Dan Cornell has over 15 years experience architecting and developing web-based software systems. As CTO, he leads Denim Group's security research team in investigating the application of secure coding and development techniques to improve web-based software development methodologies. He also heads the Denim Group security research team, investigating the application of secure coding and development techniques to the improvement of web-based software development methodologies. Dan currently serves as the OWASP San Antonio chapter leader, member of the OWASP Global Membership Committee and co-lead of the OWASP Open Review Project. Dan has spoken at numerous security conferences, such as RSA in San Francisco, OWASP EU Research in Athens and OWASP AppSec USA in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2012 ===&lt;br /&gt;
'''Date/Time:''' July 12th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/John_Steven| John Steven] - &amp;quot;Password Storage Security&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;Password Storage Security&amp;quot; [[Media:PSM_-_Problem_Definition.pdf|Password Storage Security.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
During the June meeting we discussed the LinkedIn password theft which was just beginning its the news cycle. We'll use the July chapter meeting to discuss issues around password hashing and a solution. While wholly different schemes for protecting passwords at rest are preferable, it's instructive to look at hashing passwords as a threat modeling exercise and take the time to follow through to a fix. &lt;br /&gt;
&lt;br /&gt;
To read up on the issue, look at my latest blog post on the topic: [http://goo.gl/sGyi8|Justice League Blog - Securing Password Storage]&lt;br /&gt;
&lt;br /&gt;
For those who were sufficiently intrigued, mystified, or inspired by the presentation on password protection at the last chapter meeting, Coursera is offering a free 6-week Stanford course on cryptography that begins on August 27th (&amp;quot;Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!&amp;quot;): [https://www.coursera.org/course/crypto|Crypto Course] &lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
See  [https://www.owasp.org/index.php/John_Steven| John Steven Bio]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2012 ===&lt;br /&gt;
'''Date/Time:''' June 7th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Ken Johnson (LivingSocial) - &amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot; [https://www.owasp.org/images/e/e9/Ken_Johnson_July_2012.pptx AppSec, Ritalin, and Failing Fast Presentation] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
In early April Ken Johnson and Matt Ahrens presented a high-level overview of building an Application Security program at LivingSocial. This talk will differ in that it will focus on the granular aspects involved with introducing security into an incredibly intense development environment. The discussion will be compromised of experiences in:&lt;br /&gt;
* Developing technical solutions to solving difficult challenges&lt;br /&gt;
* Remaining proactive with an increased workload&lt;br /&gt;
* What it means to innovate&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
Ken Johnson is the Application Security Manager for LivingSocial.com. Prior to joining LivingSocial.com, Ken worked in various application security consulting roles. Ken is the primary developer of the Web Exploitation Framework (wXf) and enjoys contributing to other open source projects as often as time permits. Ken has spoken at AppSec DC 2010 &amp;amp; 2012, OWASP DC and Phoenix chapters and is a member of the Attack Research Team.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2012 ===&lt;br /&gt;
'''Date/Time:''' May 3rd, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * &amp;quot;Chill Out&amp;quot; conversations (formal talked pushed back due to logistical issues)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2012 ===&lt;br /&gt;
'''Date/Time:''' April 16th, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Food Sponsor:''' Jeremy Long - jeremy.long[at]owasp.org&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot; by Masha Khainson (Cigital)&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
 * ISSA NoVA Social @Champps!  :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Malicious Code Detection or BRIC Breaking Through Static Analysis: As organizations outsource development to less trustworthy providers malware becomes as much a problem as introduction of honest vulnerability by one's own development shop. Assessment practices currently look for vulnerability within source code and a running systems but these are but a few of windows of opportunity for malware introduction. This presentation demonstrates an approach for augmenting an existing security practice with the capability to detect potentially malicious code through secure code review. First, we show how to break malicious intent--often quite subtle--into concrete patterns we can reliably detect. The framework then demonstrates how to build suspicion around reliance of particular patterns' use in concert which, increasingly, imply malicious intent. These techniques will be explained through a demonstration in a real world application.&lt;br /&gt;
&lt;br /&gt;
'''Bio'''&lt;br /&gt;
Masha (a.k.a Marina) has dreamed of becoming a security consultant before she ever knew what a ballerina was, and that's a good thing - because she does not intend her talk to be a ballet recital. Having been in software security for over seven years, Ms. Khainson has delivered Architecture Risk Assessment, Secure Code Review, and Ethical Hacking on many architectures, platforms and technologies. Marina has also developed training materials for clients and led remediation assistance teams.&lt;br /&gt;
&lt;br /&gt;
Prior to joining Cigital, Marina was a member of a research team at a leading security research provider, where using disassembly as well as protocol and source code analysis, she provided key information on newly released vulnerabilities. Before that, Marina assisted the same research team in producing detailed reports on critical malware and spyware threats, as well as developing and testing content for network security devices from some of the top providers of intrusion detection and prevention technologies.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:MCD-OWASPNoVA.pdf|Malicious Code Detection or BRIC Breaking Through Static Analysis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2011 ===&lt;br /&gt;
'''Date/Time:''' November 3rd, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://www.qinetiq.com/ QinetiQ], 2677 Prosperity Ave Fairfax, VA 22031&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 # News / Updates&lt;br /&gt;
 # Talk: &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot; by Ryan Barnett (Trustwave SpiderLabs)&lt;br /&gt;
 # Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
How effective are blacklist filters vs. SQL Injection attacks?  What is the failure rate vs. automated scanning or manual testing?  Are there any &amp;quot;Time-to-Bypass&amp;quot; metrics?  In an attempt to answer these questions, Trustwave SpiderLabs' Research Team (the development team behind the ModSecurity WAF and the OWASP ModSecurity Core Rule Set) held a community &amp;quot;SQL Injection Challenge&amp;quot; to test the effectiveness of the OWASP ModSecurity Core Rule Set protections.  This presentation will provide an overview of the challenge, a step-by-step walk-through of the bypass tactics used by the winners, as well as, present a new approach to attack detection using ModSecurity's Lua API to perform Bayesian analysis.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[mailto:ryan.barnett@owasp.org Ryan C. Barnett] (Twitter: [http://twitter.com/#!/ryancbarnett @ryancbarnett]) is a senior security researcher on Trustwave's SpiderLabs Team. He is a SANS Institute certified instructor and a member of both the Top 20 Vulnerabilities and CWE/SANS Top 25 Most Dangerous Programming Errors teams. In addition to working with SANS, he is also a WASC Member where he leads the Web Hacking Incidents Database (WHID) and Distributed Web Honeypots Projects and is also the OWASP ModSecurity Core Rule Set (CRS) project leader. Mr. Barnett has also authored a Web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2011 ===&lt;br /&gt;
'''Date/Time:''' October 6th, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location/Food Sponsor:''' [http://www.cigital.com/ Cigital], 21351 Ridgetop Circle, Suite 400, Sterling, VA 20166 &lt;br /&gt;
&lt;br /&gt;
'''AGENDA:'''&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * AppSec USA 2011 Recap&lt;br /&gt;
 * Talk: Jack Mannino: [http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks &amp;quot;OWASP Top 10 Mobile Risks&amp;quot;]&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
=== September 2011 ===&lt;br /&gt;
&lt;br /&gt;
The September meeting was cancelled due to inclement weather (flash flooding).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== August 2011  ===&lt;br /&gt;
&lt;br /&gt;
We held a &amp;quot;social&amp;quot; event at Sweetwater Tavern in Sterling, VA. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' July 7th, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.cigital.com Cigital], Suite 400 21351 Ridgetop Circle, Dulles, VA, 20166&amp;lt;br&amp;gt; '''Food Sponsor:'''&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: iGoat - Ken Van Wyk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' June 9th, 2011 @ 6pm (*Note: 2nd Thursday of June!)&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://about.collegeboard.org/ The College Board], 11955 Democracy Drive Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' The College Board&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: [https://www.owasp.org/index.php/Top_10_2010-A4 A4 &amp;quot;Insecure Direct Object References&amp;quot;]&lt;br /&gt;
 * College Board Speaker: &amp;quot;Attack-in-Depth:  Exploits of the OWASP Top Ten in Action&amp;quot;&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 - Jack Mannino: &amp;quot;Android Security 101&amp;quot;&lt;br /&gt;
 - Others!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' Cinco de Mayo (May 5th), 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset Hills Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' Akamai&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election (voice vote on the entire slate)&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A3 A3 &amp;quot;Broken Authentication and Session Management&amp;quot;]&lt;br /&gt;
 * Speaker: Steve Witmer on A3 from the &amp;quot;breakers&amp;quot; perspective&lt;br /&gt;
 * Speaker: ??? on A3 from the &amp;quot;fixers/defenders&amp;quot; perspective&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 * '''Update:''' All election candidates were elected by voice vote. &lt;br /&gt;
    * Please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;authkey=CIS9zFM '11 Chapter Board Election Material]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' April 7, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.reversespace.com/ ReverseSpace], 13505 Dulles Technology Dr, Suite 3, Herndon, VA 20171 &amp;lt;br&amp;gt; '''Food Sponsor:''' [https://www.cigital.com Cigital]&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A2 A2 &amp;quot;Cross-Site Scripting (XSS)&amp;quot;]&lt;br /&gt;
 * Preso:&amp;quot;Cross-Site Scripting is Not Your Friend: XSS and the Facebook Platform&amp;quot; by Joey Tyson ([https://www.owasp.org/images/9/92/Xssnotfriend-edited.pptx PPTX] or [https://www.owasp.org/images/0/06/Xssnotfriend-edited.pdf PDF])&lt;br /&gt;
 * Preso:“XSS Remediation” by Cassia Martin ([https://www.owasp.org/images/6/66/XSS_Remediation.ppt PPT])&lt;br /&gt;
 * Preso:&amp;quot;Growing the secure application developer community through expanded curricula&amp;quot; by Tony Gottlieb&lt;br /&gt;
 * FireTalks (bring it!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== March 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' March 3, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.boozallen.com/ Booz Allen Hamilton], 13200 Woodland Park Road, Herndon, VA 20171 &amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011] In Review&lt;br /&gt;
  * Preso: [http://www.owasp.org/index.php/Top_10_2010-A1-Injection A1 &amp;quot;Injection&amp;quot;]&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' February 3, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset HIlls Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * Feedback for [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011]&lt;br /&gt;
  * Preso: Intro to [http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Top 10] + 2&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== December 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' December 2, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://hackerspaces.org/wiki/Reverse_Space ReverseSpace], 13505 Dulles Technology Drive, Herndon, VA&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
   * 2011 Planning Session (Schedule, Volunteers, Speakers, Topics)&lt;br /&gt;
  * Lightning Talks!! (Bring an idea, a question, a topic, whatever - 5-10 minute talks max!)&lt;br /&gt;
  * Social / Networking (BYOB!)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' November 4, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' Akamai, 11111 Sunset Hills Rd, Suite #250, Reston, VA&amp;lt;br&amp;gt; '''Speaker:''' Ben Tomhave&amp;lt;br&amp;gt; '''Title:''' The Unintended Consequences of Beating Users with Carrot Sticks: Radical Thoughts on Security Reform&amp;lt;br&amp;gt; '''Description:''' What we're doing today is not working and isn't sustainable. The fundamental culture of the average business does not encourage making good security decisions. Software shops continue to focus on functionality and timelines, neglecting information security. In spite of regulations like PCI and HIPAA+HITECH, which are levying fines against organizations for their security failures, the tipping point has clearly not been reached to cause meaningful change. Much of this problem can be attributed to the excessive use of negative incentives (sticks) instead of providing positive incentives (carrots) that inspire better decision making and motivate true change. Fortunately, it's not too late to change tactics and start achieving demonstrable success.&amp;lt;br&amp;gt; '''Speaker Bio:''' Ben Tomhave is a Senior Security Analyst with Gemini Security Solutions in Chantilly, VA, specializing in solutions architecture, security planning, program development and management, and other strategic security solutions. He holds a MS in Engineering Management with an Information Security Management concentration from The George Washington University and is a CISSP. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, June 3rd, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER''': Alex Hutton, Verizon Business and http://www.newschoolsecurity.com/&amp;lt;br&amp;gt; '''TOPIC''': Risk Management - Time to blow it up and start over?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
A redux of the presentation that Alex delivered at B-Sides San Francisco during RSA 2010. &amp;quot;Now that the industry is trying to formalize the concept of risk management into neat little compartments like standards (ISO 27005/31000), certifications (CRISC) and products (GRC) guess what? We're doing it wrong. Fundamentally wrong. This talk will discuss why all this current risk management stuff is goofy and what sort of alternatives we have that might help us understand our ability to protect, our tendency towards failure, and how to match that up with what management will stomach.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Slides are available from: [http://www.slideshare.net/BSides/risk-management-time-to-blow-it-up-and-start-over-alex-hutton Risk Management - Time to blow it up and start over?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SPECIAL SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/tiffanyrad Tiffany Rad] provided an overview and update on [http://twitter.com/reversespace Reverse Space] in Herndon, VA. For more information, or to help out, please join the [http://groups.google.com/group/ReverseSpace Reverse Space Google Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Tuesday, May 18th, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER'''': Jeff Ennis, Senior Solutions Architect, Veracode&amp;lt;br&amp;gt; '''TITLE''': State of Software Security ([[Media:State of Software Security-Ennis.ppsx.zip]])&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
A discussion of the current state of software security based on the compiled findings by Veracode from the dynamic and static code analysis they have performed for customers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== September 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 17, 2009. 6:00pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': 22260 Pacific blvd, Sterling, VA. 20166&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Fortify 360&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Erik Klein (Fortify Software), Eric Dalci (Cigital)&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
We're pleased to invite you to our next week's OWASP Session (Thursday September 17th). We will be hosting a presentation, demo and hands on session of Fortify 360 (http://www.fortify.com). Fortify 360 includes Fortify SCA (Source Code Analyzer) and the Fortify 360 Server which is Fortify's solution for an enterprise deployment of SCA. The session will start with a presentation by Fortify engineers, followed by a demo and finally a hands on session where the audience will be free to install Fortify SCA on the machine and try it the SCA tool on a sample application that we will provide. The audience will also be introduced with the Fortify 360 Server and try some of the enterprise level features such as collaborative code review, metrics and so on. Bring your laptop if you want to try Fortify 360! &lt;br /&gt;
&lt;br /&gt;
The target audience is anyone interested in Secure Code Review with a Static Analysis tool at the desktop level and/or enterprise level. We will need to register visitors before hand...please email wade.woolwine@owasp.org for registration and confirm attendance. Pizza and refreshments will be served. &lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 3, 2009. 6:00pm.&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Conducting Application Assessment&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Jeremy Epstein, SRI&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
After the 2000 election, many states launched headlong into electronic voting systems to avoid the problems with &amp;quot;hanging chads&amp;quot;. Once problems with those systems started appearing, many localities started moving to optical scan, which was used by a majority of US voters in the 2008 election. There are other technologies in use around the country, including lever machines, vote-by-mail, vote-by-phone, and Internet voting. What are the tradeoffs among these technologies? Particularly relevant to OWASP, what are the security issues associated with different types of equipment, and what measures do vendors of voting equipment use to try to address the security problems? Are software security problems important, or can non-technical measures protect against them? In this talk, we'll discuss a wide variety of voting technologies, and their pros and cons from both a technical and societal perspective. &lt;br /&gt;
&lt;br /&gt;
'''ABOUT THE SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
Jeremy Epstein is Senior Computer Scientist at SRI International. His background includes more than 20 years experience in computer security research, product development, and consulting. Prior to joining SRI International, he was Principal Consultant with Cigital, and before that spent nine years as Senior Director of Product Security at Software AG, an international business software company. Within the area of voting systems, Jeremy has been involved for over five years in voting technology and advocacy, both as an employee and as an independent consultant. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': July 9th 6pm-9pm EST&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Ounce's 02&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER(S)''': Dinis Cruz, OWASP, Ounce Labs.&amp;lt;br&amp;gt; '''DESCRIPTION''': So what is O2? &lt;br /&gt;
&lt;br /&gt;
Well in my mind O2 is a combination of advanced tools (Technology) which are designed to be used on a particular way (Process) by knowledgeable Individuals (People) &lt;br /&gt;
&lt;br /&gt;
Think about it as a Fighter Jet who is able to go very fast, has tons of controls, needs to be piloted by somebody who knows what they are doing and needs to have a purpose (i.e. mission). &lt;br /&gt;
&lt;br /&gt;
Basically what I did with O2 was to automate the workflow that I have when I'm engaged on a source-code security review. &lt;br /&gt;
&lt;br /&gt;
Now, here is the catch, this version is NOT for the faint-of-heart. I designed this to suit my needs, which although are the same as most other security consultants, have its own particularities :) &lt;br /&gt;
&lt;br /&gt;
The whole model of O2 development is based around the concept of automating a security consultant’s brain, so I basically ensure that the main O2 Developer (Dinis Cruz) has a very good understanding of the feature requirements of the targeted Security Consultant (Dinis Cruz) :) . And this proved (even to my surprise) spectacularly productive, since suddenly I (i.e. the security consultant) didn't had to wait months for new features to be added to its toolkit. If there was something that needed to be added, it would just be added in days or hours. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Gary McGraw, Cigital Inc.'':''Building Security In Maturity Model''&amp;lt;br&amp;gt; Later, an interview: ''Jim Routh, formerly of DTCC'':''The Economic Advantages of a Resilient Supply Chain- Software Security'' ''&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Gary McGraw talked about the experience he, Sammy Migues, and Brian Chess gained conducting a survey of some of America's top Software Security groups. Study results are available under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Share Alike license] at [http://www.bsi-mm.com www.bsi-mm.com]. Gary described the common structural elements and activities of successful software security programs, present the maturity model that resulted from survey data, and discuss lessons learned from listening to those leading these groups. &lt;br /&gt;
&lt;br /&gt;
Jim Routh gave an incredibly insightful interview regarding his own experiences crafting their security group. &lt;br /&gt;
&lt;br /&gt;
Download presentation notes at: [http://www.owasp.org/images/0/03/JMR-Economics_of_Security_Goups.ppt The Economic Advantages of a Resilient Supply Chain- Software Security] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Eric Dalci, Cigital Inc.'':''Introduction to Static Analysis''&amp;lt;br&amp;gt; Later, a panel: &lt;br /&gt;
&lt;br /&gt;
*Steven Lavenhar, Booz Allen Hamilton; &lt;br /&gt;
*Eric Dalci, Cigital Inc.&lt;br /&gt;
&lt;br /&gt;
Panel moderated by John Steven &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This session is an introductory to Static Analysis. This session presents the different types of analysis used by today's Static Analysis tools. Examples of direct application to find vulnerabilities will be shown (ex: Data Flow Analysis, Semantic, Control Flow, etc.). Current limitations of Static Analysis will also be exposed. This session is tool agnostic, but will cover the approach taken by various leading commercial (as well as open-source) tools. &lt;br /&gt;
&lt;br /&gt;
Download: [http://www.owasp.org/images/e/ea/OWASP_Virginia_Edalci_May09.pdf Intro to Static Analysis] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Jeremiah Grossman, Whitehat Security'': '''Top 10 Web Hacking Techniques 2008'''&amp;lt;br&amp;gt; Jeremiah Spoke on (what he and colleagues determined were the) top ten web hacking techniques of 2008. This talk was a preview of his RSA '09 talk.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Download http://www.whitehatsec.com/home/assets/presentations/09PPT/PPT_OWASPNoVA04082008.pdf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Later, &lt;br /&gt;
&lt;br /&gt;
*Nate Miller, Stratum Security; &lt;br /&gt;
*Jeremiah Grossman, Whitehat Security; &lt;br /&gt;
*Tom Brennan, Whitehat Security; and &lt;br /&gt;
*Wade Woolwine, AOL&lt;br /&gt;
&lt;br /&gt;
served as penetration testing panels answering questions posed and moderated by Ken Van Wyk. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Ryan C. Barnett, Breach Security'': '''Patching Challenge: Securing WebGoat with ModSecurity''' &lt;br /&gt;
&lt;br /&gt;
Identification of web application vulnerabilities is only half the battle with remediation efforts as the other. Let's face the facts, there are many real world business scenarios where it is not possible to update web application code in either a timely manner or at all. This is where the tactical use-case of implementing a web application firewall to address identified issues proves its worth. &lt;br /&gt;
&lt;br /&gt;
This talk will provide an overview of the recommended practices for utilizing a web application firewall for virtual patching. After discussing the framework to use, we will then present a very interesting OWASP Summer of Code Project where the challenge was to attempt to mitigate as many of the OWASP WebGoat vulnerabilities as possible using the open source ModSecurity web application firewall. During the talk, we will discuss both WebGoat and ModSecurity and provide in-depth walk-throughs of some of the complex fixes. Examples will include addressing not only attacks but the underlying vulnerabilities, using data persistence for multiple-step processes, content injection and even examples of the new LUA programming language API. The goal of this talk is to both highlight cutting edge mitigation options using a web application firewall and to show how it can effectively be used by security consultants who traditionally could only offer source code fixes. &lt;br /&gt;
&lt;br /&gt;
Ryan C. Barnett is the Director of Application Security Research at Breach Security and leads Breach Security Labs. He is also a Faculty Member for the SANS Institute, Team Lead for the Center for Internet Security Apache Benchmark Project and a Member of the Web Application Security Consortium where he leads the Distributed Open Proxy Honeypot Project. Mr. Barnett has also authored a web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
(This talk is a preview of Ryan's talk at Blackhat Federal the following week - see https://www.blackhat.com/html/bh-dc-09/bh-dc-09-speakers.html#Barnett ) &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip|WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity]] &lt;br /&gt;
&lt;br /&gt;
''John Steven, Cigital'': '''Moving Beyond Top N Lists''' &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Moving_Beyond_Top_N_Lists.ppt.zip|Moving Beyond Top N Lists]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Cigital published an article: The Top 11 Reasons Why Top 10 (or 25) Lists Don’t Work. Yet, these lists are a staple of conference abstracts, industry best practice lists, and the like. Are they good or bad? We’ll explore how to get beyond the Top 10 (or 25) list in making your software security effort real. &lt;br /&gt;
&lt;br /&gt;
John is Senior Director, Advanced Technology Consulting at Cigital. His experience includes research in static code analysis and hands-on architecture and implementation of high-performance, scalable Java EE systems. John has provided security consulting services to a broad variety of commercial clients including two of the largest trading platforms in the world and has advised America's largest internet provider in the Midwest on security and forensics. John led the development of Cigital's architectural analysis methodology and its approach to deploying enterprise software security frameworks. He has demonstrated success in building Cigital's intellectual property for providing cutting-edge security. He brings this experience and a track record of effective strategic innovation to clients seeking to change, whether to adopt more cutting-edge approaches, or to solidify ROI. John currently chairs the SD Best Practices security track and co-edits the building security in department of IEEE's Security and Privacy magazine. John has served on numerous conference panels regarding software security, wireless security and Java EE system development. He holds a B.S. in Computer Engineering and an M.S. in Computer Science from Case Western Reserve University. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== January 2009  ===&lt;br /&gt;
&lt;br /&gt;
To kick off 2009, our January meeting featured a discussion of the relationship between application security and CMMI, and an overview of the OWASP ASVS project. &lt;br /&gt;
&lt;br /&gt;
''Michele Moss, Booz Allen Hamilton'': '''Evolutions In The Relationship Between Application Security And The CMMI''' &lt;br /&gt;
&lt;br /&gt;
Addressing new and complex threats and IT security challenges requires repeatable, reliable, rapid, and cost effective solutions. To implement these solutions, organizations have begun to align their security improvement efforts with their system and software development practices. During a “Birds of a Feather” at the March 2007 SEPG, a group of industry representatives initiated an effort which led to the definition of assurance practices that can be applied in the context of the CMMI. This presentation will provide an understanding how applying the assurance practices in the context of security contribute to the overall increased quality of products and services, illustrate how the a focus on assurance in the context of CMMI practices is related to application security practices, and present and approach to evaluate and improve the repeatability and reliability of assurance practices. &lt;br /&gt;
&lt;br /&gt;
Michele Moss, CISSP, is a security engineer with more than 12 years of experience in process improvement. She specializes in integrating assurance processes and practices into project lifecycles. Michele is the Co-Chair of the DHS Software Assurance Working Group on Processes &amp;amp;amp; Practices. She has assisted numerous organizations with maturing their information technology, information assurance, project management, and support practices through the use of the capability maturity models including the CMMI, and the SSE-CMM. She is one of the key contributors in an effort to apply an assurance focus to CMMI. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:Moss-AppSecurityAndCMMI.pdf|Evolutions In The Relationship Between Application Security And The CMMI]] &lt;br /&gt;
&lt;br /&gt;
''Mike Boberski, Booz Allen Hamilton'': '''About OWASP ASVS''' &lt;br /&gt;
&lt;br /&gt;
The primary aim of the OWASP ASVS Project is to normalize the range of coverage and level of rigor available in the market when it comes to performing application-level security verification. The goal is to create a set of commercially-workable open standards that are tailored to specific web-based technologies. &lt;br /&gt;
&lt;br /&gt;
Mike Boberski works at Booz Allen Hamilton. He has a background in application security and the use of cryptography by applications. He is experienced in trusted product evaluation, security-related software development and integration, and cryptomodule testing. For OWASP, he is the project lead and a co-author of the OWASP Application Security Verification Standard, the first OWASP standard. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:About_OWASP_ASVS_Web_Edition.ppt|About OWASP ASVS]] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our November 2008 meeting, we had two great presentations on software assurance and security testing. &lt;br /&gt;
&lt;br /&gt;
''Nadya Bartol, Booz Allen Hamilton'': '''Framework for Software Assurance''' &lt;br /&gt;
&lt;br /&gt;
Nadya's presentation will provide an update on the Software Assurance Forum efforts to establish a comprehensive framework for software assurance (SwA) and security measurement. The Framework addresses measuring achievement of SwA goals and objectives within the context of individual projects, programs, or enterprises. It targets a variety of audiences including executives, developers, vendors, suppliers, and buyers. The Framework leverages existing measurement methodologies, including Practical Software and System Measurement (PSM); CMMI Goal, Question, Indicator, Measure (GQ(I)M); NIST SP 800-55 Rev1; and ISO/IEC 27004 and identifies commonalities among the methodologies to help organizations integrate SwA measurement in their overall measurement efforts cost-effectively and as seamlessly as possible, rather than establish a standalone SwA measurement effort within an organization. The presentation will provide an update on the SwA Forum Measurement Working Group work, present the current version of the Framework and underlying measures development and implementation processes, and propose example SwA measures applicable to a variety of SwA stakeholders. The presentation will update the group on the latest NIST and ISO standards on information security measurement that are being integrated into the Framework as the standards are being developed. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Bartol-MeasurementForOWASP11-13-08.pdf Framework for Software Assurance]&lt;br /&gt;
&lt;br /&gt;
''Paco Hope, Cigital'': '''The Web Security Testing Cookbook''' &lt;br /&gt;
&lt;br /&gt;
The Web Security Testing Cookbook (O'Reilly &amp;amp;amp; Associates, October 2008) gives developers and testers the tools they need to make security testing a regular part of their development lifecycle. Its recipe style approach covers manual, exploratory testing as well automated techniques that you can make part of your unit tests or regression cycle. The recipes cover the basics like observing messages between clients and servers, to multi-phase tests that script the login and execution of web application features. This book complements many of the security texts in the market that tell you what a vulnerability is, but not how to systematically test it day in and day out. Leverage the recipes in this book to add significant security coverage to your testing without adding significant time and cost to your effort. &lt;br /&gt;
&lt;br /&gt;
Congratulations to Tim Bond who won an autographed copy of Paco's book. Get your copy here [[http://www.amazon.com/Security-Testing-Cookbook-Paco-Hope/dp/0596514832]] &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/PacoHope-WebSecCookbook.pdf The Web Security Testing Cookbook]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our October 2008 meeting, we had two fascinating talks relating to forensics. &lt;br /&gt;
&lt;br /&gt;
''Dave Merkel, Mandiant'': '''Enterprise Grade Incident Management - Responding to Persistent Threats''' &lt;br /&gt;
&lt;br /&gt;
Dave Merkel is Vice President of Products at Mandiant, a leading provider of information security services, education and products. Mr. Merkel has worked in the information security and incident response industry for over 10 years. His background includes service as a federal agent in the US Air Force and over 7 years experience directing security operations at America Online. He currently oversees the product business at Mandiant, and is in charge of building Mandiant Intelligent Response - an enterprise incident response solution. But no, he won't be selling you anything today. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Mandiant-EnterpriseIRandAPTpresentation.pdf Enterprise Grade Incident Management - Responding to Persistent Threats] &lt;br /&gt;
&lt;br /&gt;
''Inno Eroraha, NetSecurity'': '''Responding to the Digital Crime Scene: Gathering Volatile Data''' &lt;br /&gt;
&lt;br /&gt;
Inno Eroraha is the founder and chief strategist of NetSecurity Corporation, a company that provides digital forensics, hands-on security consulting, and Hands-on How-To® training solutions that are high-quality, timely, and customer-focused. In this role, Mr. Eroraha helps clients plan, formulate, and execute the best security and forensics strategy that aligns with their business goals and priorities. He has consulted with Fortune 500 companies, IRS, DHS, VA, DoD, and other entities. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/NetSecurity-RespondingToTheDigitalCrimeScene-GatheringVolatileData-TechnoForensics-102908.pdf Responding to the Digital Crime Scene: Gathering Volatile Data] &lt;br /&gt;
&lt;br /&gt;
=== History  ===&lt;br /&gt;
&lt;br /&gt;
The original DC Chapter was founded in June 2004 by [mailto:jeff.williams@owasp.org Jeff Williams] and has had members from Virginia to Delaware. In April 2005 a new chapter, OWASP Washington VA Local Chapter, was formed and the DC Chapter was renamed to DC-Maryland. The two are sister chapters and include common members and shared discourse. The chapters meet in opposite halves of the month to facilitate this relationship. &lt;br /&gt;
&lt;br /&gt;
==== Chapter Groups  ====&lt;br /&gt;
&lt;br /&gt;
Within the chapter, various common interests spring up. We've created Google groups to manage collaboration amongst participants for these topics. Feel free to join and participate in: &lt;br /&gt;
&lt;br /&gt;
*[http://groups.google.com/group/novaowasp_threatmodeling Threat Modeling] &lt;br /&gt;
*[http://groups.google.com/group/novaowasp_mobile Mobile]&lt;br /&gt;
&lt;br /&gt;
=== OWASP NoVa Members On Twitter  ===&lt;br /&gt;
&lt;br /&gt;
John Steven [http://twitter.com/m1splacedsoul http://twitter.com/m1splacedsoul] &lt;br /&gt;
&lt;br /&gt;
Jack Mannino [http://twitter.com/jack_mannino http://twitter.com/jack_mannino] &lt;br /&gt;
&lt;br /&gt;
Ben Tomhave [http://twitter.com/falconsview http://twitter.com/falconsview] &lt;br /&gt;
&lt;br /&gt;
Ken Johnson [http://twitter.com/cktricky http://twitter.com/cktricky] &lt;br /&gt;
&lt;br /&gt;
Mike Smith [http://twitter.com/rybolov http://twitter.com/rybolov] &lt;br /&gt;
&lt;br /&gt;
Trevor Hawthorn [http://twitter.com/packetwerks http://twitter.com/packetwerks] &lt;br /&gt;
&lt;br /&gt;
Jeremy Long [http://twitter.com/ctxt http://twitter.com/ctxt] &lt;br /&gt;
&lt;br /&gt;
Ari Elias-Bachrach [http://twitter.com/angelofsecurity http://twitter.com/angelofsecurity] &lt;br /&gt;
&lt;br /&gt;
Venkat Sundaram [http://twitter.com/Vnk3889 http://twitter.com/Vnk3889] &lt;br /&gt;
&lt;br /&gt;
==== Knowledge  ====&lt;br /&gt;
&lt;br /&gt;
The Northern Virginia (NoVA) chapter is committed to compiling resources on interesting and valuable topic areas. We hope that this structure helps you access information pertinent to your tasks at hand as you move through a secure application development life cycle. Currently, our topic areas of focus include activities such as: &lt;br /&gt;
&lt;br /&gt;
*Threat Modeling &lt;br /&gt;
*[[Code Review and Static Analysis with tools]] &lt;br /&gt;
*Penetration Testing and Dynamic Analysis tools &lt;br /&gt;
*Monitoring/Dynamic patching (WAFs)&lt;br /&gt;
&lt;br /&gt;
Certain projects our members are involved in cross-cut these activities, providing value throughout. They include: &lt;br /&gt;
&lt;br /&gt;
*ASVS&lt;br /&gt;
&lt;br /&gt;
=== Static Analysis Curriculum  ===&lt;br /&gt;
&lt;br /&gt;
*For an introduction to the OWASP Static Analysis (SA) Track goals, objectives, and session roadmap, please see [http://www.owasp.org/index.php/Image:OWASP_NoVA_SA_Track_Final_20090408.ppt this presentation].&lt;br /&gt;
&lt;br /&gt;
The following is the agenda of the OWASP Static Analysis track roadmap for the [http://www.owasp.org/index.php/Virginia_(Northern_Virginia) Northern Virginia Chapter]. &lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp SAtrack plan.png|OWASP Static Analysis Roadmap - Northern Virginia Chapter 2009]] &lt;br /&gt;
&lt;br /&gt;
'''Contacts'''&amp;lt;br&amp;gt; Questions related to this curriculum should be sent to [mailto:John.Steven@owasp.org John Steven], who is the Northern Virginia chapter leader. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Flash Talk Resources  ===&lt;br /&gt;
&lt;br /&gt;
Chandu Ketkar on OFS. Download: [http://www.owasp.org/images/1/1c/OFS.pptx OFS Presentation.] &amp;lt;br&amp;gt; [http://jack-mannino.blogspot.com/ Jack Mannino] on Google and Searching for Personal Information &amp;lt;br&amp;gt; Jesse Ou on XML Bombs. Download: [http://www.owasp.org/images/1/18/OWASP_JOU_XML_DTD_Attacks.pptx XML DTD Presentation] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;paypal&amp;gt;Northern Virginia&amp;lt;/paypal&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Virginia]] [[Category:Washington,_DC]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192281</id>
		<title>Virginia</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Virginia&amp;diff=192281"/>
				<updated>2015-03-26T20:31:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== About  ====&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-nova.JPG|right|275px|Owasp-nova.JPG]]The '''OWASP Northern VA Local Chapter''' meetings are FREE and OPEN to anyone interested in learning more about application security. We encourage individuals to provide knowledge transfer via hands-on training and presentations of specific OWASP projects and research topics and sharing SDLC knowledge. &lt;br /&gt;
&lt;br /&gt;
We the encourage vendor-agnostic presentations to utilize the OWASP Powerpoint template when applicable and individual volunteerism to enable perpetual growth. As a 501(3)c non-profit association donations of meeting space or refreshments sponsorship is encouraged, simply contact the local chapter leaders listed on this page to discuss. Prior to participating with OWASP please review the Chapter Rules. &lt;br /&gt;
&lt;br /&gt;
The chapter is committed to providing an engaging experience for a variety of audience types ranging from local students and those beginning in app-sec, to those experienced and accomplished professionals who are looking for competent collaborators for OWASP-related projects. To this end, we will continue to conduct both monthly chapter meetings as well as out-of-band curricula, on application security topics. &lt;br /&gt;
&lt;br /&gt;
{{Chapter Template|chaptername=Virginia|extra =Come see us at a chapter meeting, jump on our Google Group, or email any of us directly.&lt;br /&gt;
&lt;br /&gt;
=== 2015 Chapter Election Candidates ===&lt;br /&gt;
*Mike McCabe - Board Chair&lt;br /&gt;
**Endorsement - Jack Mannino, Current Board Chair&lt;br /&gt;
Full Disclosure: Mike reports directly to me at our day job.&lt;br /&gt;
Mike is one of the most ethical, hard working, and analytical people I've had the pleasure to meet. In his previous two years serving on the OWASP NoVa board, Mike has been instrumental in keeping a healthy pipeline of interesting speakers as well as helping carve out new initiatives based on chapter feedback. I fully vouch for both his character and his ability to run the chapter in an ethical, high quality manner.&lt;br /&gt;
*Akshay Sivananda&lt;br /&gt;
**Endorsement - Ping Ning, Chapter Member&lt;br /&gt;
Akshay is a seasoned information security professional, with broad experience in secure SDLC, vulnerability management, and software security initiative. I worked with Akshay before and enjoyed working with him. He was very supportive and always ready to provide a helping hand. He always has an open mind and respects various opinions. I think Akshay is a great candidate for the Owasp NoVA board and believe he will make significant contribution to the chapter.&lt;br /&gt;
&lt;br /&gt;
As a regular member of Owasp, I wholeheartedly endorse Akshay for the Owasp NoVA chapter board.&lt;br /&gt;
*Abdullah Munawar&lt;br /&gt;
**Endorsement - Jon Callahan, Chapter Member&lt;br /&gt;
I worked with Abdullah for about a year and can personally attest to not only his knowledge but also his passion and drive to further himself in the security field. When committing to something, you'll know he will follow through and because of this, was my goto guy until we parted ways. Add on the 8 years worth of involvement with OWASP and you get someone who understands exactly how this chapter works and is willing to put the time in to keep it as great as it's been. &lt;br /&gt;
&lt;br /&gt;
=== Chapter Board ===&lt;br /&gt;
Previously having had a Chapter Leader, then a Chapter &amp;quot;Program Committee&amp;quot;, the chapter is now run by a full board (alphabetical order):&lt;br /&gt;
* Jack Mannino - Board Chair&lt;br /&gt;
* Jeremy Long&lt;br /&gt;
* Michael McCabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board member responsibilities include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;   * Providing governance for chapter and member activities in terms chapter mission and OWASP code of ethics&lt;br /&gt;
   * Recruiting OWASP membership&lt;br /&gt;
   * Driving OWASP NoVA Chapter attendance and involvement&lt;br /&gt;
   * Deferring to, facilitating, and supporting the activities and projects of chapter membership&lt;br /&gt;
   * Eliciting, scheduling, and coordinating chapter panels, speakers, and other sessions&lt;br /&gt;
   * Scouting, clearing, and scheduling chapter meeting venues and catering&lt;br /&gt;
   * Identifying opportunities for collaboration between chapter membership, OWASP global committees, and other organizations&lt;br /&gt;
   * Collecting and auditing use of chapter funds&lt;br /&gt;
   * Voting on chapter matters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more information on how the board was elected and what it's responsibilities are, please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;amp;authkey=CIS9zFM Chapter Board Election] |mailinglistsite=https://groups.google.com/forum/#!forum/owasp-nova|emailarchives=https://groups.google.com/forum/#!forum/owasp-nova}}&lt;br /&gt;
&lt;br /&gt;
You may also want to follow [http://twitter.com/OWASPNoVA/ @OWASPNoVA] on Twitter. &lt;br /&gt;
&lt;br /&gt;
=== Schedule  ===&lt;br /&gt;
&lt;br /&gt;
Meetings are (generally) held the first Thursday of the month.&lt;br /&gt;
&lt;br /&gt;
Note: We need speakers and topics! If you want to present, please contact [mailto:Jeremy.Long@owasp.org Jeremy] or [mailto:jack.mannino@owasp.org Jack]. We're very open to hearing from all our members.  &lt;br /&gt;
&lt;br /&gt;
== Next Meeting  ==&lt;br /&gt;
&lt;br /&gt;
For latest news check the meetup page here: [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/ Meetup].&lt;br /&gt;
&lt;br /&gt;
===October 2014===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' October 9th, 2014 @ 6:00pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' Uber Offices Tysons Corner, 1751 Pinnacle Drive, McLean, VA (1/2 mile from tysons corner metro)&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/205582912 Meetup]&lt;br /&gt;
&lt;br /&gt;
'''Agenda:''' &lt;br /&gt;
Join us for our Hack Night. We're switching the format up this month to include breakout sessions and collaborating on open source projects. Whether you're a builder, breaker, developer, or manager, come out to learn and collaborate.&lt;br /&gt;
&lt;br /&gt;
'''---&amp;gt; Special Notice: &amp;lt;---'''&lt;br /&gt;
&lt;br /&gt;
Please note that for this month, we will be moving the Meetup to Uber offices in Tyson's, as the space is configured extremely well for a &amp;quot;Hack Night&amp;quot; meetup (whiteboards, tables, etc). It is also Metro accessible.&lt;br /&gt;
&lt;br /&gt;
'''''Please bring your laptop!'''''&lt;br /&gt;
&lt;br /&gt;
== Past meetings ==&lt;br /&gt;
&lt;br /&gt;
===September 2014===&lt;br /&gt;
'''Date/Time:''' September 4th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/200805882/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will cover some chapter business then go straight into a session covering Ruby on Rails Security.&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
The World of Ruby on Rails Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Take a quick trip through the world of Ruby on Rails security! The journey will start with an overview of security features offered by the popular web framework, then detour through dangerous pitfalls and unsafe defaults, and finally end with suggestions for improving security in Rails apps and integrating improvements into the development process.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Justin Collins is a member of the application security team at Twitter and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===July 2014===&lt;br /&gt;
'''Date/Time:''' July 10th, 2014 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/191678702/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
We will have a technical presentation on OAuth, and we will have an open forum on some upcoming changes to the chapter's format that we want feedback on before we move ahead with them. Our goal is to make OWASP NoVa a group that not only spreads education, but produces material for the broader application security community. Please join us and have your say in the way OWASP NoVa runs in the future!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
OAuth 1.0 Authorization and Security&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
OAuth 1.0 is an authorization standard based on the idea of a “valet key”. This presentation will provide an overview of the OAuth 1.0 authorization model, how it may fit in the enterprise environment, and some security implications for designers and security analyzers. OAuth 2.0 framework, the proposed standard to replace OAuth 1.0, will also be briefly discussed.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Ping Ning is a senior consultant at Cigital with 20 years of development and security experiences. He is practicing many software security services for clients, including architecture risk analysis, security architecture and design, secure code review, penetration testing, building security programs, and tools deployment and training.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===February 2013===&lt;br /&gt;
'''Date/Time:''' February 7th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.meetup.com/OWASP-Northern-Virginia-Chapter/events/101839862/ Meetup]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Jeffrey Walton - &amp;quot;Securing Wireless Channels in the Mobile Space&amp;quot;, [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Securing Wireless Channels in the Mobile Space&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Secure channels are a cornerstone to individuals and employees on the go. The mobile environment adds additional pressures to securely delivering content to users - irregardless of whether its an email service delivering personal messages to a user, an organization providing company secrets to a mobile workforce, or a content provider streaming protected media to a subscriber. This talk will discuss the mobile environment, challenges to securely delivering content, examine past failures, offer remediation for issues in the environment, provide sample code for Android, iOS, .Net, OpenSSL, and discuss initiatives to address known issues.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Jeff has nearly 15 years of experience in a variety of roles including Systems Engineer, System Administrator, Developer, Security Engineer and Security Architect. He has worked with a number of Federal agencies and private institutions, including the Treasury Department, Social Security Administration, State Department, Diplomatic Security Service, financial institutions, and defense contractors. He has designed mobile solutions; developed secure containers; implemented secure channels; integrated management functions such as password lockouts and remote wipes; performed code reviews; and integrated security libraries such as Microsoft CAPI, Certicom Security Builder, OpenSSL and Crypto++. Jeff has also overseen and performed certification and accreditation audits, secure code reviews, and architectural risk assessments on traditional and mobile systems of varying code base sizes (primarily Objective C, C/C++ with Java, .Net).&lt;br /&gt;
&lt;br /&gt;
'''Downloads:'''&lt;br /&gt;
[[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Presentation Slides]], [[Media:pubkey-pin-supplement.pdf|Supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===January 2013===&lt;br /&gt;
'''Date/Time:''' January 10th, 2013 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/5106285036 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Upcoming chapter elections and 2013 plans&lt;br /&gt;
 * Talk: &amp;quot;Automating (Some) Android Security Testing&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Automating (Some) Android Security Testing&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Dynamically assessing an Android application for security issues requires examining many different layers. Some areas are extremely feasible to automate, while some areas may lend themselves better to manual analysis or semi-automated analysis. This presentation will present a more semi-automated approach to assessing applications rather than 'fire and forget' testing. We'll also look at some of the prerequisites for performing Android testing as well as some of the essentials for things you'll want in your testing environment (such as coffee and Red Bull).&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[https://www.owasp.org/index.php/User:Jack_Mannino Jack Mannino]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===October 2012===&lt;br /&gt;
'''Date/Time:''' October 4th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Registration:''' [http://www.eventbrite.com/event/4430947082 Eventbrite]&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/Dan_Cornell Dan Cornell] - &amp;quot;Benchmarking Web Application Scanners for YOUR Organization&amp;quot;, [https://www.owasp.org/images/7/73/OWASP_BenchmarkingWebApplicationScannersForYourOrganization_Content-1.pptx Presentation Slides]&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
Benchmarking Web Application Scanners for YOUR Organization&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Web applications pose significant risks for organizations. The selection of an appropriate scanning product or service can be challenging because every organization develops their web applications differently and decisions made by developers can cause wide swings in the value of different scanning technologies. To make a solid, informed decision, organizations need to create development team- and organization-specific benchmarks for the effectiveness of potential scanning technologies. This involves creating a comprehensive model of false positives, false negatives and other factors prior to mandating analysis technologies and making decisions about application risk management. This presentation provides a model for evaluating application analysis technologies, introduces an open source tool for benchmarking and comparing tool effectiveness, and outlines a process for making organization-specific decisions about analysis technology selection.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
Dan Cornell has over 15 years experience architecting and developing web-based software systems. As CTO, he leads Denim Group's security research team in investigating the application of secure coding and development techniques to improve web-based software development methodologies. He also heads the Denim Group security research team, investigating the application of secure coding and development techniques to the improvement of web-based software development methodologies. Dan currently serves as the OWASP San Antonio chapter leader, member of the OWASP Global Membership Committee and co-lead of the OWASP Open Review Project. Dan has spoken at numerous security conferences, such as RSA in San Francisco, OWASP EU Research in Athens and OWASP AppSec USA in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2012 ===&lt;br /&gt;
'''Date/Time:''' July 12th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: [https://www.owasp.org/index.php/John_Steven| John Steven] - &amp;quot;Password Storage Security&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;Password Storage Security&amp;quot; [[Media:PSM_-_Problem_Definition.pdf|Password Storage Security.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
During the June meeting we discussed the LinkedIn password theft which was just beginning its the news cycle. We'll use the July chapter meeting to discuss issues around password hashing and a solution. While wholly different schemes for protecting passwords at rest are preferable, it's instructive to look at hashing passwords as a threat modeling exercise and take the time to follow through to a fix. &lt;br /&gt;
&lt;br /&gt;
To read up on the issue, look at my latest blog post on the topic: [http://goo.gl/sGyi8|Justice League Blog - Securing Password Storage]&lt;br /&gt;
&lt;br /&gt;
For those who were sufficiently intrigued, mystified, or inspired by the presentation on password protection at the last chapter meeting, Coursera is offering a free 6-week Stanford course on cryptography that begins on August 27th (&amp;quot;Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!&amp;quot;): [https://www.coursera.org/course/crypto|Crypto Course] &lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
See  [https://www.owasp.org/index.php/John_Steven| John Steven Bio]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2012 ===&lt;br /&gt;
'''Date/Time:''' June 7th, 2012 @ 6:30pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home LivingSocial], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: Ken Johnson (LivingSocial) - &amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot;&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:'''&lt;br /&gt;
&amp;quot;AppSec, Ritalin, and Failing Fast&amp;quot; [https://www.owasp.org/images/e/e9/Ken_Johnson_July_2012.pptx AppSec, Ritalin, and Failing Fast Presentation] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
In early April Ken Johnson and Matt Ahrens presented a high-level overview of building an Application Security program at LivingSocial. This talk will differ in that it will focus on the granular aspects involved with introducing security into an incredibly intense development environment. The discussion will be compromised of experiences in:&lt;br /&gt;
* Developing technical solutions to solving difficult challenges&lt;br /&gt;
* Remaining proactive with an increased workload&lt;br /&gt;
* What it means to innovate&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
&lt;br /&gt;
Ken Johnson is the Application Security Manager for LivingSocial.com. Prior to joining LivingSocial.com, Ken worked in various application security consulting roles. Ken is the primary developer of the Web Exploitation Framework (wXf) and enjoys contributing to other open source projects as often as time permits. Ken has spoken at AppSec DC 2010 &amp;amp; 2012, OWASP DC and Phoenix chapters and is a member of the Attack Research Team.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2012 ===&lt;br /&gt;
'''Date/Time:''' May 3rd, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * &amp;quot;Chill Out&amp;quot; conversations (formal talked pushed back due to logistical issues)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2012 ===&lt;br /&gt;
'''Date/Time:''' April 16th, 2012 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://corporate.livingsocial.com/home Living Social], 11600 Sunrise Valley Drive, Reston, VA&lt;br /&gt;
&lt;br /&gt;
'''Food Sponsor:''' Jeremy Long - jeremy.long[at]owasp.org&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Talk: &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot; by Masha Khainson (Cigital)&lt;br /&gt;
 * Firetalks!&lt;br /&gt;
 * ISSA NoVA Social @Champps!  :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Malicious Code Detection or BRIC Breaking Through Static Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
Malicious Code Detection or BRIC Breaking Through Static Analysis: As organizations outsource development to less trustworthy providers malware becomes as much a problem as introduction of honest vulnerability by one's own development shop. Assessment practices currently look for vulnerability within source code and a running systems but these are but a few of windows of opportunity for malware introduction. This presentation demonstrates an approach for augmenting an existing security practice with the capability to detect potentially malicious code through secure code review. First, we show how to break malicious intent--often quite subtle--into concrete patterns we can reliably detect. The framework then demonstrates how to build suspicion around reliance of particular patterns' use in concert which, increasingly, imply malicious intent. These techniques will be explained through a demonstration in a real world application.&lt;br /&gt;
&lt;br /&gt;
'''Bio'''&lt;br /&gt;
Masha (a.k.a Marina) has dreamed of becoming a security consultant before she ever knew what a ballerina was, and that's a good thing - because she does not intend her talk to be a ballet recital. Having been in software security for over seven years, Ms. Khainson has delivered Architecture Risk Assessment, Secure Code Review, and Ethical Hacking on many architectures, platforms and technologies. Marina has also developed training materials for clients and led remediation assistance teams.&lt;br /&gt;
&lt;br /&gt;
Prior to joining Cigital, Marina was a member of a research team at a leading security research provider, where using disassembly as well as protocol and source code analysis, she provided key information on newly released vulnerabilities. Before that, Marina assisted the same research team in producing detailed reports on critical malware and spyware threats, as well as developing and testing content for network security devices from some of the top providers of intrusion detection and prevention technologies.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:MCD-OWASPNoVA.pdf|Malicious Code Detection or BRIC Breaking Through Static Analysis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2011 ===&lt;br /&gt;
'''Date/Time:''' November 3rd, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location Sponsor:''' [http://www.qinetiq.com/ QinetiQ], 2677 Prosperity Ave Fairfax, VA 22031&lt;br /&gt;
&lt;br /&gt;
'''AGENDA:''' &lt;br /&gt;
 # News / Updates&lt;br /&gt;
 # Talk: &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot; by Ryan Barnett (Trustwave SpiderLabs)&lt;br /&gt;
 # Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
'''Presentation Title:''' &amp;quot;Lessons Learned from the SQL Injection Challenge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
How effective are blacklist filters vs. SQL Injection attacks?  What is the failure rate vs. automated scanning or manual testing?  Are there any &amp;quot;Time-to-Bypass&amp;quot; metrics?  In an attempt to answer these questions, Trustwave SpiderLabs' Research Team (the development team behind the ModSecurity WAF and the OWASP ModSecurity Core Rule Set) held a community &amp;quot;SQL Injection Challenge&amp;quot; to test the effectiveness of the OWASP ModSecurity Core Rule Set protections.  This presentation will provide an overview of the challenge, a step-by-step walk-through of the bypass tactics used by the winners, as well as, present a new approach to attack detection using ModSecurity's Lua API to perform Bayesian analysis.&lt;br /&gt;
&lt;br /&gt;
'''Speaker Bio:'''&lt;br /&gt;
[mailto:ryan.barnett@owasp.org Ryan C. Barnett] (Twitter: [http://twitter.com/#!/ryancbarnett @ryancbarnett]) is a senior security researcher on Trustwave's SpiderLabs Team. He is a SANS Institute certified instructor and a member of both the Top 20 Vulnerabilities and CWE/SANS Top 25 Most Dangerous Programming Errors teams. In addition to working with SANS, he is also a WASC Member where he leads the Web Hacking Incidents Database (WHID) and Distributed Web Honeypots Projects and is also the OWASP ModSecurity Core Rule Set (CRS) project leader. Mr. Barnett has also authored a Web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2011 ===&lt;br /&gt;
'''Date/Time:''' October 6th, 2011 @ 6pm &lt;br /&gt;
&lt;br /&gt;
'''Location/Food Sponsor:''' [http://www.cigital.com/ Cigital], 21351 Ridgetop Circle, Suite 400, Sterling, VA 20166 &lt;br /&gt;
&lt;br /&gt;
'''AGENDA:'''&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * AppSec USA 2011 Recap&lt;br /&gt;
 * Talk: Jack Mannino: [http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks &amp;quot;OWASP Top 10 Mobile Risks&amp;quot;]&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
&lt;br /&gt;
=== September 2011 ===&lt;br /&gt;
&lt;br /&gt;
The September meeting was cancelled due to inclement weather (flash flooding).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== August 2011  ===&lt;br /&gt;
&lt;br /&gt;
We held a &amp;quot;social&amp;quot; event at Sweetwater Tavern in Sterling, VA. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' July 7th, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.cigital.com Cigital], Suite 400 21351 Ridgetop Circle, Dulles, VA, 20166&amp;lt;br&amp;gt; '''Food Sponsor:'''&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: iGoat - Ken Van Wyk&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' June 9th, 2011 @ 6pm (*Note: 2nd Thursday of June!)&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://about.collegeboard.org/ The College Board], 11955 Democracy Drive Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' The College Board&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * Topic of the Month: [https://www.owasp.org/index.php/Top_10_2010-A4 A4 &amp;quot;Insecure Direct Object References&amp;quot;]&lt;br /&gt;
 * College Board Speaker: &amp;quot;Attack-in-Depth:  Exploits of the OWASP Top Ten in Action&amp;quot;&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 - Jack Mannino: &amp;quot;Android Security 101&amp;quot;&lt;br /&gt;
 - Others!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' Cinco de Mayo (May 5th), 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset Hills Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''Food Sponsor:''' Akamai&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election (voice vote on the entire slate)&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A3 A3 &amp;quot;Broken Authentication and Session Management&amp;quot;]&lt;br /&gt;
 * Speaker: Steve Witmer on A3 from the &amp;quot;breakers&amp;quot; perspective&lt;br /&gt;
 * Speaker: ??? on A3 from the &amp;quot;fixers/defenders&amp;quot; perspective&lt;br /&gt;
 * Firetalks! :)&lt;br /&gt;
 * '''Update:''' All election candidates were elected by voice vote. &lt;br /&gt;
    * Please see: [https://docs.google.com/document/d/1h8GTqsWg2xiTwWAWS-Ra6_GU4eJGt44aa1hFc9EQloU/edit?hl=en_US&amp;amp;authkey=CIS9zFM '11 Chapter Board Election Material]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' April 7, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.reversespace.com/ ReverseSpace], 13505 Dulles Technology Dr, Suite 3, Herndon, VA 20171 &amp;lt;br&amp;gt; '''Food Sponsor:''' [https://www.cigital.com Cigital]&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
 * News / Updates&lt;br /&gt;
 * 2011 Election&lt;br /&gt;
 * Topic of the Month: [http://www.owasp.org/index.php/Top_10_2010-A2 A2 &amp;quot;Cross-Site Scripting (XSS)&amp;quot;]&lt;br /&gt;
 * Preso:&amp;quot;Cross-Site Scripting is Not Your Friend: XSS and the Facebook Platform&amp;quot; by Joey Tyson ([https://www.owasp.org/images/9/92/Xssnotfriend-edited.pptx PPTX] or [https://www.owasp.org/images/0/06/Xssnotfriend-edited.pdf PDF])&lt;br /&gt;
 * Preso:“XSS Remediation” by Cassia Martin ([https://www.owasp.org/images/6/66/XSS_Remediation.ppt PPT])&lt;br /&gt;
 * Preso:&amp;quot;Growing the secure application developer community through expanded curricula&amp;quot; by Tony Gottlieb&lt;br /&gt;
 * FireTalks (bring it!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== March 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' March 3, 2011 @ 6pm &amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.boozallen.com/ Booz Allen Hamilton], 13200 Woodland Park Road, Herndon, VA 20171 &amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011] In Review&lt;br /&gt;
  * Preso: [http://www.owasp.org/index.php/Top_10_2010-A1-Injection A1 &amp;quot;Injection&amp;quot;]&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2011  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' February 3, 2011 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://www.akamai.com/ Akamai], 11111 Sunset HIlls Dr, Suite 250, Reston, VA 20190&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
  * News / Updates&lt;br /&gt;
  * Feedback for [http://www.owasp.org/index.php/OWASP_Summit_2011 OWASP Summit 2011]&lt;br /&gt;
  * Preso: Intro to [http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP Top 10] + 2&lt;br /&gt;
  * Briefing: Training/Preso Plan for the Year&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== December 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' December 2, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' [http://hackerspaces.org/wiki/Reverse_Space ReverseSpace], 13505 Dulles Technology Drive, Herndon, VA&amp;lt;br&amp;gt; '''AGENDA:''' &lt;br /&gt;
&lt;br /&gt;
   * 2011 Planning Session (Schedule, Volunteers, Speakers, Topics)&lt;br /&gt;
  * Lightning Talks!! (Bring an idea, a question, a topic, whatever - 5-10 minute talks max!)&lt;br /&gt;
  * Social / Networking (BYOB!)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''Date/Time:''' November 4, 2010 @ 6pm&amp;lt;br&amp;gt; '''Location Sponsor:''' Akamai, 11111 Sunset Hills Rd, Suite #250, Reston, VA&amp;lt;br&amp;gt; '''Speaker:''' Ben Tomhave&amp;lt;br&amp;gt; '''Title:''' The Unintended Consequences of Beating Users with Carrot Sticks: Radical Thoughts on Security Reform&amp;lt;br&amp;gt; '''Description:''' What we're doing today is not working and isn't sustainable. The fundamental culture of the average business does not encourage making good security decisions. Software shops continue to focus on functionality and timelines, neglecting information security. In spite of regulations like PCI and HIPAA+HITECH, which are levying fines against organizations for their security failures, the tipping point has clearly not been reached to cause meaningful change. Much of this problem can be attributed to the excessive use of negative incentives (sticks) instead of providing positive incentives (carrots) that inspire better decision making and motivate true change. Fortunately, it's not too late to change tactics and start achieving demonstrable success.&amp;lt;br&amp;gt; '''Speaker Bio:''' Ben Tomhave is a Senior Security Analyst with Gemini Security Solutions in Chantilly, VA, specializing in solutions architecture, security planning, program development and management, and other strategic security solutions. He holds a MS in Engineering Management with an Information Security Management concentration from The George Washington University and is a CISSP. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, June 3rd, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER''': Alex Hutton, Verizon Business and http://www.newschoolsecurity.com/&amp;lt;br&amp;gt; '''TOPIC''': Risk Management - Time to blow it up and start over?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
A redux of the presentation that Alex delivered at B-Sides San Francisco during RSA 2010. &amp;quot;Now that the industry is trying to formalize the concept of risk management into neat little compartments like standards (ISO 27005/31000), certifications (CRISC) and products (GRC) guess what? We're doing it wrong. Fundamentally wrong. This talk will discuss why all this current risk management stuff is goofy and what sort of alternatives we have that might help us understand our ability to protect, our tendency towards failure, and how to match that up with what management will stomach.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Slides are available from: [http://www.slideshare.net/BSides/risk-management-time-to-blow-it-up-and-start-over-alex-hutton Risk Management - Time to blow it up and start over?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SPECIAL SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/tiffanyrad Tiffany Rad] provided an overview and update on [http://twitter.com/reversespace Reverse Space] in Herndon, VA. For more information, or to help out, please join the [http://groups.google.com/group/ReverseSpace Reverse Space Google Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2010  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Tuesday, May 18th, 6pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': Booz Allen Hamilton - 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''SPEAKER'''': Jeff Ennis, Senior Solutions Architect, Veracode&amp;lt;br&amp;gt; '''TITLE''': State of Software Security ([[Media:State of Software Security-Ennis.ppsx.zip]])&lt;br /&gt;
'''DESCRIPTION''': &lt;br /&gt;
A discussion of the current state of software security based on the compiled findings by Veracode from the dynamic and static code analysis they have performed for customers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== September 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 17, 2009. 6:00pm Eastern Daylight Time&amp;lt;br&amp;gt; '''LOCATION''': 22260 Pacific blvd, Sterling, VA. 20166&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Fortify 360&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Erik Klein (Fortify Software), Eric Dalci (Cigital)&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
We're pleased to invite you to our next week's OWASP Session (Thursday September 17th). We will be hosting a presentation, demo and hands on session of Fortify 360 (http://www.fortify.com). Fortify 360 includes Fortify SCA (Source Code Analyzer) and the Fortify 360 Server which is Fortify's solution for an enterprise deployment of SCA. The session will start with a presentation by Fortify engineers, followed by a demo and finally a hands on session where the audience will be free to install Fortify SCA on the machine and try it the SCA tool on a sample application that we will provide. The audience will also be introduced with the Fortify 360 Server and try some of the enterprise level features such as collaborative code review, metrics and so on. Bring your laptop if you want to try Fortify 360! &lt;br /&gt;
&lt;br /&gt;
The target audience is anyone interested in Secure Code Review with a Static Analysis tool at the desktop level and/or enterprise level. We will need to register visitors before hand...please email wade.woolwine@owasp.org for registration and confirm attendance. Pizza and refreshments will be served. &lt;br /&gt;
&lt;br /&gt;
'''DATE''': Thursday, September 3, 2009. 6:00pm.&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Conducting Application Assessment&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER''': Jeremy Epstein, SRI&amp;lt;br&amp;gt; '''DESCRIPTION''': &lt;br /&gt;
&lt;br /&gt;
After the 2000 election, many states launched headlong into electronic voting systems to avoid the problems with &amp;quot;hanging chads&amp;quot;. Once problems with those systems started appearing, many localities started moving to optical scan, which was used by a majority of US voters in the 2008 election. There are other technologies in use around the country, including lever machines, vote-by-mail, vote-by-phone, and Internet voting. What are the tradeoffs among these technologies? Particularly relevant to OWASP, what are the security issues associated with different types of equipment, and what measures do vendors of voting equipment use to try to address the security problems? Are software security problems important, or can non-technical measures protect against them? In this talk, we'll discuss a wide variety of voting technologies, and their pros and cons from both a technical and societal perspective. &lt;br /&gt;
&lt;br /&gt;
'''ABOUT THE SPEAKER''': &lt;br /&gt;
&lt;br /&gt;
Jeremy Epstein is Senior Computer Scientist at SRI International. His background includes more than 20 years experience in computer security research, product development, and consulting. Prior to joining SRI International, he was Principal Consultant with Cigital, and before that spent nine years as Senior Director of Product Security at Software AG, an international business software company. Within the area of voting systems, Jeremy has been involved for over five years in voting technology and advocacy, both as an employee and as an independent consultant. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July 2009  ===&lt;br /&gt;
&lt;br /&gt;
'''DATE''': July 9th 6pm-9pm EST&amp;lt;br&amp;gt; '''LOCATION''': 13200 Woodland Park Road Herndon, VA 20171&amp;lt;br&amp;gt; '''TOPIC''': &amp;quot;Ounce's 02&amp;quot;&amp;lt;br&amp;gt; '''SPEAKER(S)''': Dinis Cruz, OWASP, Ounce Labs.&amp;lt;br&amp;gt; '''DESCRIPTION''': So what is O2? &lt;br /&gt;
&lt;br /&gt;
Well in my mind O2 is a combination of advanced tools (Technology) which are designed to be used on a particular way (Process) by knowledgeable Individuals (People) &lt;br /&gt;
&lt;br /&gt;
Think about it as a Fighter Jet who is able to go very fast, has tons of controls, needs to be piloted by somebody who knows what they are doing and needs to have a purpose (i.e. mission). &lt;br /&gt;
&lt;br /&gt;
Basically what I did with O2 was to automate the workflow that I have when I'm engaged on a source-code security review. &lt;br /&gt;
&lt;br /&gt;
Now, here is the catch, this version is NOT for the faint-of-heart. I designed this to suit my needs, which although are the same as most other security consultants, have its own particularities :) &lt;br /&gt;
&lt;br /&gt;
The whole model of O2 development is based around the concept of automating a security consultant’s brain, so I basically ensure that the main O2 Developer (Dinis Cruz) has a very good understanding of the feature requirements of the targeted Security Consultant (Dinis Cruz) :) . And this proved (even to my surprise) spectacularly productive, since suddenly I (i.e. the security consultant) didn't had to wait months for new features to be added to its toolkit. If there was something that needed to be added, it would just be added in days or hours. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== June 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Gary McGraw, Cigital Inc.'':''Building Security In Maturity Model''&amp;lt;br&amp;gt; Later, an interview: ''Jim Routh, formerly of DTCC'':''The Economic Advantages of a Resilient Supply Chain- Software Security'' ''&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Gary McGraw talked about the experience he, Sammy Migues, and Brian Chess gained conducting a survey of some of America's top Software Security groups. Study results are available under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Share Alike license] at [http://www.bsi-mm.com www.bsi-mm.com]. Gary described the common structural elements and activities of successful software security programs, present the maturity model that resulted from survey data, and discuss lessons learned from listening to those leading these groups. &lt;br /&gt;
&lt;br /&gt;
Jim Routh gave an incredibly insightful interview regarding his own experiences crafting their security group. &lt;br /&gt;
&lt;br /&gt;
Download presentation notes at: [http://www.owasp.org/images/0/03/JMR-Economics_of_Security_Goups.ppt The Economic Advantages of a Resilient Supply Chain- Software Security] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== May 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Eric Dalci, Cigital Inc.'':''Introduction to Static Analysis''&amp;lt;br&amp;gt; Later, a panel: &lt;br /&gt;
&lt;br /&gt;
*Steven Lavenhar, Booz Allen Hamilton; &lt;br /&gt;
*Eric Dalci, Cigital Inc.&lt;br /&gt;
&lt;br /&gt;
Panel moderated by John Steven &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This session is an introductory to Static Analysis. This session presents the different types of analysis used by today's Static Analysis tools. Examples of direct application to find vulnerabilities will be shown (ex: Data Flow Analysis, Semantic, Control Flow, etc.). Current limitations of Static Analysis will also be exposed. This session is tool agnostic, but will cover the approach taken by various leading commercial (as well as open-source) tools. &lt;br /&gt;
&lt;br /&gt;
Download: [http://www.owasp.org/images/e/ea/OWASP_Virginia_Edalci_May09.pdf Intro to Static Analysis] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== April 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Jeremiah Grossman, Whitehat Security'': '''Top 10 Web Hacking Techniques 2008'''&amp;lt;br&amp;gt; Jeremiah Spoke on (what he and colleagues determined were the) top ten web hacking techniques of 2008. This talk was a preview of his RSA '09 talk.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Download http://www.whitehatsec.com/home/assets/presentations/09PPT/PPT_OWASPNoVA04082008.pdf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Later, &lt;br /&gt;
&lt;br /&gt;
*Nate Miller, Stratum Security; &lt;br /&gt;
*Jeremiah Grossman, Whitehat Security; &lt;br /&gt;
*Tom Brennan, Whitehat Security; and &lt;br /&gt;
*Wade Woolwine, AOL&lt;br /&gt;
&lt;br /&gt;
served as penetration testing panels answering questions posed and moderated by Ken Van Wyk. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== February 2009  ===&lt;br /&gt;
&lt;br /&gt;
''Ryan C. Barnett, Breach Security'': '''Patching Challenge: Securing WebGoat with ModSecurity''' &lt;br /&gt;
&lt;br /&gt;
Identification of web application vulnerabilities is only half the battle with remediation efforts as the other. Let's face the facts, there are many real world business scenarios where it is not possible to update web application code in either a timely manner or at all. This is where the tactical use-case of implementing a web application firewall to address identified issues proves its worth. &lt;br /&gt;
&lt;br /&gt;
This talk will provide an overview of the recommended practices for utilizing a web application firewall for virtual patching. After discussing the framework to use, we will then present a very interesting OWASP Summer of Code Project where the challenge was to attempt to mitigate as many of the OWASP WebGoat vulnerabilities as possible using the open source ModSecurity web application firewall. During the talk, we will discuss both WebGoat and ModSecurity and provide in-depth walk-throughs of some of the complex fixes. Examples will include addressing not only attacks but the underlying vulnerabilities, using data persistence for multiple-step processes, content injection and even examples of the new LUA programming language API. The goal of this talk is to both highlight cutting edge mitigation options using a web application firewall and to show how it can effectively be used by security consultants who traditionally could only offer source code fixes. &lt;br /&gt;
&lt;br /&gt;
Ryan C. Barnett is the Director of Application Security Research at Breach Security and leads Breach Security Labs. He is also a Faculty Member for the SANS Institute, Team Lead for the Center for Internet Security Apache Benchmark Project and a Member of the Web Application Security Consortium where he leads the Distributed Open Proxy Honeypot Project. Mr. Barnett has also authored a web security book for Addison/Wesley Publishing entitled &amp;quot;Preventing Web Attacks with Apache.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
(This talk is a preview of Ryan's talk at Blackhat Federal the following week - see https://www.blackhat.com/html/bh-dc-09/bh-dc-09-speakers.html#Barnett ) &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip|WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity]] &lt;br /&gt;
&lt;br /&gt;
''John Steven, Cigital'': '''Moving Beyond Top N Lists''' &lt;br /&gt;
&lt;br /&gt;
Download [[Media:Moving_Beyond_Top_N_Lists.ppt.zip|Moving Beyond Top N Lists]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Cigital published an article: The Top 11 Reasons Why Top 10 (or 25) Lists Don’t Work. Yet, these lists are a staple of conference abstracts, industry best practice lists, and the like. Are they good or bad? We’ll explore how to get beyond the Top 10 (or 25) list in making your software security effort real. &lt;br /&gt;
&lt;br /&gt;
John is Senior Director, Advanced Technology Consulting at Cigital. His experience includes research in static code analysis and hands-on architecture and implementation of high-performance, scalable Java EE systems. John has provided security consulting services to a broad variety of commercial clients including two of the largest trading platforms in the world and has advised America's largest internet provider in the Midwest on security and forensics. John led the development of Cigital's architectural analysis methodology and its approach to deploying enterprise software security frameworks. He has demonstrated success in building Cigital's intellectual property for providing cutting-edge security. He brings this experience and a track record of effective strategic innovation to clients seeking to change, whether to adopt more cutting-edge approaches, or to solidify ROI. John currently chairs the SD Best Practices security track and co-edits the building security in department of IEEE's Security and Privacy magazine. John has served on numerous conference panels regarding software security, wireless security and Java EE system development. He holds a B.S. in Computer Engineering and an M.S. in Computer Science from Case Western Reserve University. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== January 2009  ===&lt;br /&gt;
&lt;br /&gt;
To kick off 2009, our January meeting featured a discussion of the relationship between application security and CMMI, and an overview of the OWASP ASVS project. &lt;br /&gt;
&lt;br /&gt;
''Michele Moss, Booz Allen Hamilton'': '''Evolutions In The Relationship Between Application Security And The CMMI''' &lt;br /&gt;
&lt;br /&gt;
Addressing new and complex threats and IT security challenges requires repeatable, reliable, rapid, and cost effective solutions. To implement these solutions, organizations have begun to align their security improvement efforts with their system and software development practices. During a “Birds of a Feather” at the March 2007 SEPG, a group of industry representatives initiated an effort which led to the definition of assurance practices that can be applied in the context of the CMMI. This presentation will provide an understanding how applying the assurance practices in the context of security contribute to the overall increased quality of products and services, illustrate how the a focus on assurance in the context of CMMI practices is related to application security practices, and present and approach to evaluate and improve the repeatability and reliability of assurance practices. &lt;br /&gt;
&lt;br /&gt;
Michele Moss, CISSP, is a security engineer with more than 12 years of experience in process improvement. She specializes in integrating assurance processes and practices into project lifecycles. Michele is the Co-Chair of the DHS Software Assurance Working Group on Processes &amp;amp;amp; Practices. She has assisted numerous organizations with maturing their information technology, information assurance, project management, and support practices through the use of the capability maturity models including the CMMI, and the SSE-CMM. She is one of the key contributors in an effort to apply an assurance focus to CMMI. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:Moss-AppSecurityAndCMMI.pdf|Evolutions In The Relationship Between Application Security And The CMMI]] &lt;br /&gt;
&lt;br /&gt;
''Mike Boberski, Booz Allen Hamilton'': '''About OWASP ASVS''' &lt;br /&gt;
&lt;br /&gt;
The primary aim of the OWASP ASVS Project is to normalize the range of coverage and level of rigor available in the market when it comes to performing application-level security verification. The goal is to create a set of commercially-workable open standards that are tailored to specific web-based technologies. &lt;br /&gt;
&lt;br /&gt;
Mike Boberski works at Booz Allen Hamilton. He has a background in application security and the use of cryptography by applications. He is experienced in trusted product evaluation, security-related software development and integration, and cryptomodule testing. For OWASP, he is the project lead and a co-author of the OWASP Application Security Verification Standard, the first OWASP standard. &lt;br /&gt;
&lt;br /&gt;
Slides available: [[Media:About_OWASP_ASVS_Web_Edition.ppt|About OWASP ASVS]] &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== November 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our November 2008 meeting, we had two great presentations on software assurance and security testing. &lt;br /&gt;
&lt;br /&gt;
''Nadya Bartol, Booz Allen Hamilton'': '''Framework for Software Assurance''' &lt;br /&gt;
&lt;br /&gt;
Nadya's presentation will provide an update on the Software Assurance Forum efforts to establish a comprehensive framework for software assurance (SwA) and security measurement. The Framework addresses measuring achievement of SwA goals and objectives within the context of individual projects, programs, or enterprises. It targets a variety of audiences including executives, developers, vendors, suppliers, and buyers. The Framework leverages existing measurement methodologies, including Practical Software and System Measurement (PSM); CMMI Goal, Question, Indicator, Measure (GQ(I)M); NIST SP 800-55 Rev1; and ISO/IEC 27004 and identifies commonalities among the methodologies to help organizations integrate SwA measurement in their overall measurement efforts cost-effectively and as seamlessly as possible, rather than establish a standalone SwA measurement effort within an organization. The presentation will provide an update on the SwA Forum Measurement Working Group work, present the current version of the Framework and underlying measures development and implementation processes, and propose example SwA measures applicable to a variety of SwA stakeholders. The presentation will update the group on the latest NIST and ISO standards on information security measurement that are being integrated into the Framework as the standards are being developed. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Bartol-MeasurementForOWASP11-13-08.pdf Framework for Software Assurance]&lt;br /&gt;
&lt;br /&gt;
''Paco Hope, Cigital'': '''The Web Security Testing Cookbook''' &lt;br /&gt;
&lt;br /&gt;
The Web Security Testing Cookbook (O'Reilly &amp;amp;amp; Associates, October 2008) gives developers and testers the tools they need to make security testing a regular part of their development lifecycle. Its recipe style approach covers manual, exploratory testing as well automated techniques that you can make part of your unit tests or regression cycle. The recipes cover the basics like observing messages between clients and servers, to multi-phase tests that script the login and execution of web application features. This book complements many of the security texts in the market that tell you what a vulnerability is, but not how to systematically test it day in and day out. Leverage the recipes in this book to add significant security coverage to your testing without adding significant time and cost to your effort. &lt;br /&gt;
&lt;br /&gt;
Congratulations to Tim Bond who won an autographed copy of Paco's book. Get your copy here [[http://www.amazon.com/Security-Testing-Cookbook-Paco-Hope/dp/0596514832]] &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/PacoHope-WebSecCookbook.pdf The Web Security Testing Cookbook]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== October 2008  ===&lt;br /&gt;
&lt;br /&gt;
For our October 2008 meeting, we had two fascinating talks relating to forensics. &lt;br /&gt;
&lt;br /&gt;
''Dave Merkel, Mandiant'': '''Enterprise Grade Incident Management - Responding to Persistent Threats''' &lt;br /&gt;
&lt;br /&gt;
Dave Merkel is Vice President of Products at Mandiant, a leading provider of information security services, education and products. Mr. Merkel has worked in the information security and incident response industry for over 10 years. His background includes service as a federal agent in the US Air Force and over 7 years experience directing security operations at America Online. He currently oversees the product business at Mandiant, and is in charge of building Mandiant Intelligent Response - an enterprise incident response solution. But no, he won't be selling you anything today. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/Mandiant-EnterpriseIRandAPTpresentation.pdf Enterprise Grade Incident Management - Responding to Persistent Threats] &lt;br /&gt;
&lt;br /&gt;
''Inno Eroraha, NetSecurity'': '''Responding to the Digital Crime Scene: Gathering Volatile Data''' &lt;br /&gt;
&lt;br /&gt;
Inno Eroraha is the founder and chief strategist of NetSecurity Corporation, a company that provides digital forensics, hands-on security consulting, and Hands-on How-To® training solutions that are high-quality, timely, and customer-focused. In this role, Mr. Eroraha helps clients plan, formulate, and execute the best security and forensics strategy that aligns with their business goals and priorities. He has consulted with Fortune 500 companies, IRS, DHS, VA, DoD, and other entities. &lt;br /&gt;
&lt;br /&gt;
Slides available: [http://www.epsteinmania.com/owasp/NetSecurity-RespondingToTheDigitalCrimeScene-GatheringVolatileData-TechnoForensics-102908.pdf Responding to the Digital Crime Scene: Gathering Volatile Data] &lt;br /&gt;
&lt;br /&gt;
=== History  ===&lt;br /&gt;
&lt;br /&gt;
The original DC Chapter was founded in June 2004 by [mailto:jeff.williams@owasp.org Jeff Williams] and has had members from Virginia to Delaware. In April 2005 a new chapter, OWASP Washington VA Local Chapter, was formed and the DC Chapter was renamed to DC-Maryland. The two are sister chapters and include common members and shared discourse. The chapters meet in opposite halves of the month to facilitate this relationship. &lt;br /&gt;
&lt;br /&gt;
==== Chapter Groups  ====&lt;br /&gt;
&lt;br /&gt;
Within the chapter, various common interests spring up. We've created Google groups to manage collaboration amongst participants for these topics. Feel free to join and participate in: &lt;br /&gt;
&lt;br /&gt;
*[http://groups.google.com/group/novaowasp_threatmodeling Threat Modeling] &lt;br /&gt;
*[http://groups.google.com/group/novaowasp_mobile Mobile]&lt;br /&gt;
&lt;br /&gt;
=== OWASP NoVa Members On Twitter  ===&lt;br /&gt;
&lt;br /&gt;
John Steven [http://twitter.com/m1splacedsoul http://twitter.com/m1splacedsoul] &lt;br /&gt;
&lt;br /&gt;
Jack Mannino [http://twitter.com/jack_mannino http://twitter.com/jack_mannino] &lt;br /&gt;
&lt;br /&gt;
Ben Tomhave [http://twitter.com/falconsview http://twitter.com/falconsview] &lt;br /&gt;
&lt;br /&gt;
Ken Johnson [http://twitter.com/cktricky http://twitter.com/cktricky] &lt;br /&gt;
&lt;br /&gt;
Mike Smith [http://twitter.com/rybolov http://twitter.com/rybolov] &lt;br /&gt;
&lt;br /&gt;
Trevor Hawthorn [http://twitter.com/packetwerks http://twitter.com/packetwerks] &lt;br /&gt;
&lt;br /&gt;
Jeremy Long [http://twitter.com/ctxt http://twitter.com/ctxt] &lt;br /&gt;
&lt;br /&gt;
Ari Elias-Bachrach [http://twitter.com/angelofsecurity http://twitter.com/angelofsecurity] &lt;br /&gt;
&lt;br /&gt;
Venkat Sundaram [http://twitter.com/Vnk3889 http://twitter.com/Vnk3889] &lt;br /&gt;
&lt;br /&gt;
==== Knowledge  ====&lt;br /&gt;
&lt;br /&gt;
The Northern Virginia (NoVA) chapter is committed to compiling resources on interesting and valuable topic areas. We hope that this structure helps you access information pertinent to your tasks at hand as you move through a secure application development life cycle. Currently, our topic areas of focus include activities such as: &lt;br /&gt;
&lt;br /&gt;
*Threat Modeling &lt;br /&gt;
*[[Code Review and Static Analysis with tools]] &lt;br /&gt;
*Penetration Testing and Dynamic Analysis tools &lt;br /&gt;
*Monitoring/Dynamic patching (WAFs)&lt;br /&gt;
&lt;br /&gt;
Certain projects our members are involved in cross-cut these activities, providing value throughout. They include: &lt;br /&gt;
&lt;br /&gt;
*ASVS&lt;br /&gt;
&lt;br /&gt;
=== Static Analysis Curriculum  ===&lt;br /&gt;
&lt;br /&gt;
*For an introduction to the OWASP Static Analysis (SA) Track goals, objectives, and session roadmap, please see [http://www.owasp.org/index.php/Image:OWASP_NoVA_SA_Track_Final_20090408.ppt this presentation].&lt;br /&gt;
&lt;br /&gt;
The following is the agenda of the OWASP Static Analysis track roadmap for the [http://www.owasp.org/index.php/Virginia_(Northern_Virginia) Northern Virginia Chapter]. &lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp SAtrack plan.png|OWASP Static Analysis Roadmap - Northern Virginia Chapter 2009]] &lt;br /&gt;
&lt;br /&gt;
'''Contacts'''&amp;lt;br&amp;gt; Questions related to this curriculum should be sent to [mailto:John.Steven@owasp.org John Steven], who is the Northern Virginia chapter leader. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Flash Talk Resources  ===&lt;br /&gt;
&lt;br /&gt;
Chandu Ketkar on OFS. Download: [http://www.owasp.org/images/1/1c/OFS.pptx OFS Presentation.] &amp;lt;br&amp;gt; [http://jack-mannino.blogspot.com/ Jack Mannino] on Google and Searching for Personal Information &amp;lt;br&amp;gt; Jesse Ou on XML Bombs. Download: [http://www.owasp.org/images/1/18/OWASP_JOU_XML_DTD_Attacks.pptx XML DTD Presentation] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;paypal&amp;gt;Northern Virginia&amp;lt;/paypal&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Virginia]] [[Category:Washington,_DC]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Mobile_Top_Ten_Contributions&amp;diff=184733</id>
		<title>Mobile Top Ten Contributions</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Mobile_Top_Ten_Contributions&amp;diff=184733"/>
				<updated>2014-11-05T06:41:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a work in progress. If we have omitted you, or incorrectly affiliated you, please contact us right away.&lt;br /&gt;
&lt;br /&gt;
== Project Leads ==&lt;br /&gt;
&lt;br /&gt;
* [mailto:jason.haddix@owasp.org Jason Haddix - HP Fortify]&lt;br /&gt;
* [mailto:daniel.meissler@owasp.org Daniel Miessler - HP Fortify]&lt;br /&gt;
&lt;br /&gt;
== Wiki Content ==&lt;br /&gt;
&lt;br /&gt;
* Zach Lanier&lt;br /&gt;
* Mike Zuzman&lt;br /&gt;
* [mailto:jason.haddix@owasp.org Jason Haddix - HP Fortify]&lt;br /&gt;
* [mailto:daniel.meissler@owasp.org Daniel Miessler - HP Fortify]&lt;br /&gt;
* Rahil Parikh - Gotham Digital Science&lt;br /&gt;
* Ron Gutierrez - Gotham Digital Science&lt;br /&gt;
* [mailto:jonathan.carter@owasp.org Jonathan Carter - Arxan Technologies]&lt;br /&gt;
* [mailto:chad.butler@owasp.org Chad Butler - Concur Technologies]&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
&lt;br /&gt;
* [http://www8.hp.com/us/en/software-solutions/fortify-on-demand-application-security/mobile-application-security.html HP Fortify]&lt;br /&gt;
* [https://twitter.com/andresitoath Andreas Athanasoulias &amp;amp; Syntax IT]&lt;br /&gt;
* [http://www.espheresecurity.com/ Hemil Shah and eSphere Security]&lt;br /&gt;
* [http://www.riis.com/ Godfrey Nolan and RIIS (Research Into Internet Systems)]&lt;br /&gt;
* [http://www.arxan.com/ Arxan Technologies]&lt;br /&gt;
&lt;br /&gt;
== Additional Thanks ==&lt;br /&gt;
&lt;br /&gt;
* Jim Mannico&lt;br /&gt;
* Paco Hope&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=184732</id>
		<title>OWASP Mobile Security Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=184732"/>
				<updated>2014-11-05T06:40:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: /* Project Leaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Home =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|2400x160px|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP Mobile Security Project ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications.  Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation.&lt;br /&gt;
&lt;br /&gt;
Our primary focus is at the application layer.  While we take into consideration the underlying mobile platform and carrier inherent risks when threat modeling and building controls, we are targeting the areas that the average developer can make a difference.  Additionally, we focus not only on the mobile applications deployed to end user devices, but also on the broader server-side infrastructure which the mobile apps communicate with.  We focus heavily on the integration between the mobile application, remote authentication services, and cloud platform-specific features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''We have a Google Doc where anyone who wants to be involved with the project can add their thoughts, suggestions, and take ownership of initiatives - [https://docs.google.com/document/d/1bScrvrLJLOHcSbztjBxYoN-jN3kR8bViy9tF8Nx0c08/edit Click here]. There are various tasks that people have started over the past 6 months with varying levels of quality and completeness.'''&lt;br /&gt;
&lt;br /&gt;
This project is still a work in progress. We are small group doing this work and could use more help! If you are interested, please contact one of the project leads or feel free to visit [https://groups.google.com/a/owasp.org/forum/#!forum/owasp-mobile-top-10-risks the mailing list] as well! &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Asvs-bulb.jpg]] [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Project Email List]&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
{{Template:Contact | name = Mike Zusman&lt;br /&gt;
| email = mike.zusman@owasp.org&lt;br /&gt;
| username = schmoilito }}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Tony DeLaGrange&lt;br /&gt;
| email = mobisec@secureideas.net&lt;br /&gt;
| username = Tony DeLaGrange&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Sarath Geethakumar&lt;br /&gt;
| email = sarath.geethakumar@owasp.org&lt;br /&gt;
| username =  Sarath Geethakumar&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Tom Eston&lt;br /&gt;
| email = teston@securestate.com&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Don Williams&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Jason Haddix&lt;br /&gt;
| email = jason.haddix@hp.com&lt;br /&gt;
| username =  Jason Haddix&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Zach Lanier&lt;br /&gt;
| email = zach.lanier@n0where.org&lt;br /&gt;
| username = Zach_Lanier&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Jim Manico&lt;br /&gt;
| email = jim.manico@owasp.org&lt;br /&gt;
| username = jmanico&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Ludovic Petit&lt;br /&gt;
| email = ludovic.petit@owasp.org&lt;br /&gt;
| username =  Ludovic Petit&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Swapnil Deshmukh&lt;br /&gt;
| email = sd.swapz@gmail.com&lt;br /&gt;
| username =  Swapnil Deshmukh&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Beau Woods&lt;br /&gt;
| email = owasp@beauwoods.com&lt;br /&gt;
| username =  Beau Woods&lt;br /&gt;
}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Template:Contact&lt;br /&gt;
| name = Jonathan Carter&lt;br /&gt;
| email = jonathan.carter@owasp.org&lt;br /&gt;
| username =  Jonathan Carter&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Top 10 Mobile Risks =&lt;br /&gt;
&lt;br /&gt;
== Top 10 Mobile Risks - Re-Release Candidate 2014 v1.0 ==&lt;br /&gt;
[[File:2014-01-26 20-23-29.png|right|550px]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M1|M1: Weak Server Side Controls ]] &lt;br /&gt;
*[[Mobile_Top_10_2014-M2|M2: Insecure Data Storage ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M3|M3: Insufficient Transport Layer Protection ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M4|M4: Unintended Data Leakage ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M5|M5: Poor Authorization and Authentication ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M6|M6: Broken Cryptography ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M7|M7: Client Side Injection ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M8|M8: Security Decisions Via Untrusted Inputs ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M9|M9: Improper Session Handling ]]&lt;br /&gt;
*[[Mobile_Top_10_2014-M10|M10: Lack of Binary Protections ]]&lt;br /&gt;
&lt;br /&gt;
== Project Leads, Credit, and Contributions ==&lt;br /&gt;
&lt;br /&gt;
* ''' [[Mobile_Top_Contributions|Mobile Top Ten Contributions Page ]] '''&lt;br /&gt;
&lt;br /&gt;
== Project Methodology ==&lt;br /&gt;
&lt;br /&gt;
* '''We adhered loosely to the [https://www.owasp.org/index.php/Top_10_2013/ProjectMethodology OWASP Web Top Ten Project methodology]. '''&lt;br /&gt;
&lt;br /&gt;
== Archive ==&lt;br /&gt;
* The list below is the OLD release candidate v1.0 of the OWASP Top 10 Mobile Risks. &amp;amp;nbsp;This list was initially released on September 23, 2011 at Appsec USA. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*** The original presentation can be found here:&amp;amp;nbsp;[http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks SLIDES]&amp;lt;br&amp;gt; &lt;br /&gt;
*** The corresponding video can be found here: [http://www.youtube.com/watch?v=GRvegLOrgs0 VIDEO]&lt;br /&gt;
*** [[Mobile_Top_10_2012|2011-12 Mobile Top Ten for archive purposes]]&lt;br /&gt;
== About this list  ==&lt;br /&gt;
In 2013 we polled the industry for new vulnerability statistics in the field of mobile applications. What you see here is a result of that data and a representation of the mobile application threat landscape. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2014 Roadmap ==&lt;br /&gt;
&lt;br /&gt;
* More updates to the wiki content; including cross-linking to testing guides, more visual exercises, etc.&lt;br /&gt;
* A PDF release.&lt;br /&gt;
&lt;br /&gt;
= Mobile Tools =&lt;br /&gt;
== iMAS  ==&lt;br /&gt;
&lt;br /&gt;
iMAS is a collaborative research project from the MITRE Corporation focused on open source iOS security controls. Today, iOS meets the enterprise security needs of customers, however many security experts cite critical vulnerabilities and have demonstrated exploits, which pushes enterprises to augment iOS deployments with commercial solutions. The iMAS intent is to protect iOS applications and data beyond the Apple provided security model and reduce the adversary’s ability and efficiency to perform recon, exploitation, control and execution on iOS mobile applications. iMAS will transform the effectiveness of the existing iOS security model across major vulnerability areas including the System Passcode, jailbreak, debugger / run-time, flash storage, and the system keychain. Research outcomes include an open source secure application framework, including an application container, developer and validation tools/techniques.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about iMAS Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several features that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project GoatDroid Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
iGoat is a learning tool for iOS developers (iPhone, iPad, etc.). It was inspired by the WebGoat project, and has a similar conceptual flow to it.&lt;br /&gt;
&lt;br /&gt;
As such, iGoat is a safe environment where iOS developers can learn about the major security pitfalls they face as well as how to avoid them. It is made up of a series of lessons that each teach a single (but vital) security lesson.&lt;br /&gt;
&lt;br /&gt;
The lessons are laid out in the following steps:&lt;br /&gt;
&lt;br /&gt;
# Brief introduction to the problem.&lt;br /&gt;
# Verify the problem by exploiting it.&lt;br /&gt;
# Brief description of available remediations to the problem.&lt;br /&gt;
# Fix the problem by correcting and rebuilding the iGoat program.&lt;br /&gt;
&lt;br /&gt;
Step 4 is optional, but highly recommended for all iOS developers. Assistance is available within iGoat if you don't know how to fix a specific problem.&lt;br /&gt;
&lt;br /&gt;
iGoat is free software, released under the GPLv3 license.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iGoat_Project iGoat Project Page]&lt;br /&gt;
&lt;br /&gt;
The iGoat source code is available on Google Code [http://code.google.com/p/owasp-igoat/ iGoat Source Code]&lt;br /&gt;
&lt;br /&gt;
== Damn Vulnerable iOS Application ==&lt;br /&gt;
&lt;br /&gt;
Damn Vulnerable iOS application is a project started by Prateek Gianchandani which gives mobile testers and developers an iOS application to practice attacking/defending skill sets. Each challenge area corresponds to an in-depth article designed to teach the fundamentals of mobile security on the iOS platform. Some challenge categories include multiple challenge types.&lt;br /&gt;
&lt;br /&gt;
The current challenge categories:&lt;br /&gt;
&lt;br /&gt;
* Insecure Data Storage (4 exercises)&lt;br /&gt;
* Jailbreak Detection (2 exercises)&lt;br /&gt;
* Runtime Manipulation (3 exercises)&lt;br /&gt;
* Transport Layer Security (1 exercise)&lt;br /&gt;
* Client Side Injection (1 exercise)&lt;br /&gt;
* Broken Cryptography (1 exercise)&lt;br /&gt;
* Binary Patching (4 exercises)&lt;br /&gt;
&lt;br /&gt;
[http://damnvulnerableiosapp.com DVIA Home Page]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_DVIA DVIA OWASP Project Page]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/prateek147/DVIA DVIA Github Source]&lt;br /&gt;
&lt;br /&gt;
[http://damnvulnerableiosapp.com/#learn DVIA Learning Resources]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;br /&gt;
&lt;br /&gt;
The MobiSec Live Environment Mobile Testing Framework project is a live environment for testing mobile environments, including devices, applications, and supporting infrastructure. The purpose is to provide attackers and defenders the ability to test their mobile environments to identify design weaknesses and vulnerabilities. The MobiSec Live Environment provides a single environment for testers to leverage the best of all available open source mobile testing tools, as well as the ability to install additional tools and platforms, that will aid the penetration tester through the testing process as the environment is structured and organized based on an industry­‐proven testing framework. Using a live environment provides penetration testers the ability to boot the MobiSec Live Environment on any Intel-­based system from a DVD or USB flash drive, or run the test environment within a virtual machine. &lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_MobiSec Project Page]&lt;br /&gt;
&lt;br /&gt;
MobiSec can be downloaded from Sourceforge: [http://sourceforge.net/p/mobisec/wiki/Home/ MobiSec Download Repository]&lt;br /&gt;
&lt;br /&gt;
== Androick  ==&lt;br /&gt;
&lt;br /&gt;
Androick is a collaborative research project from PHONESEC Ltd. With our tool, you can evaluate some risks on Android mobile applications.&lt;br /&gt;
Androick is a tool that allows any user to analyze an Android application. It can get the apk file, all the datas and the databases in sqlite3 and csv format. &lt;br /&gt;
Only for Pentesters or Researchers.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Androick_Project Androick Project Page]&lt;br /&gt;
== OWASP Summer of Code 2008 ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Foundation sponsored the OWASP Application Security Verification Standard Project during the OWASP Summer of Code 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Mobile Security Testing =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements or Windows Phone's WMAppManifest.xml)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**How are keys derived from i.e. a password?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**Places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**Directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**Cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**Credentials&lt;br /&gt;
***Username and/or password&lt;br /&gt;
***API keys&lt;br /&gt;
***Authentication tokens&lt;br /&gt;
**Payment information&lt;br /&gt;
**Patient data&lt;br /&gt;
**Signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log data? Is sensitive information accessible?&lt;br /&gt;
**How are the logs accessed, if so, and by which mechanism/functionality? Is log access protected?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
**Is the device identifier sent that could be used to identify the user? (i.e.UDID in Apple devices)&lt;br /&gt;
&lt;br /&gt;
*Caches&lt;br /&gt;
**Predictive text&lt;br /&gt;
**Location information&lt;br /&gt;
**Copy and paste&lt;br /&gt;
**Application snapshot&lt;br /&gt;
**Browser cache&lt;br /&gt;
**Non-standard cache locations (i.e the various SQLite databases that apps can create if they use HTML UI components)&lt;br /&gt;
&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
Review licensing requirements for any potential violations.&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Identify places where the application passes untrusted data into a web view or browser&lt;br /&gt;
**Determine if the application properly output encodes or sanitizes the data within the appropriate context&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
**Where the application permits usage of the shell, identify the entry points to manipulate or alter the commands via user input or external untrusted data&lt;br /&gt;
**Determine if an attacker can inject arbitrary commands or manipulate the intended command in any way&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
*Are insecure protocols used to send or receive sensitive information? Examples- FTP, SNMP v1, SSH v1&lt;br /&gt;
&lt;br /&gt;
*Are there any known issues with the specific libraries you are using to implement the protocol?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**The certificate has not expired&lt;br /&gt;
**The certificate was issued by a valid certificate authority&lt;br /&gt;
**The remote destination information matches the information within the certificate?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated only by the operating system or also by the application that relies on it?&lt;br /&gt;
&lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
-To do&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;br /&gt;
&lt;br /&gt;
Armed with data collected during the Information Gathering and Static Analysis phases, the tester can begin an informed vulnerability assessment of the mobile application client, server and associated services.&lt;br /&gt;
&lt;br /&gt;
Dynamic analysis is conducted against the backend services and APIs and the type of tests varies depending on mobile application type.&lt;br /&gt;
&lt;br /&gt;
=== Application Types ===&lt;br /&gt;
&lt;br /&gt;
*Native Mobile Application: Native mobile applications can be installed on to the device. This type of applications generally store most of their code on the device. Any information required can be requested to the server using the HTTP/s protocol&lt;br /&gt;
&lt;br /&gt;
*Web services for Mobile Application: Native mobile application that uses SOAP or REST based web services to communicate between client and Server&lt;br /&gt;
&lt;br /&gt;
*Mobile Browser Based Application: Web browser based applications can be accessed using device’s browsers such as Safari or Chrome. Most of the commercial applications are nowadays specifically designed and optimized for mobile browsers. These applications are no different than traditional web application and all the web application vulnerabilities apply to these apps and these should be tested as traditional web apps.&lt;br /&gt;
&lt;br /&gt;
*Mobile Hybrid Applications:Applications can leverage web browser functionality within native applications, blending the risks from both classes of applications.&lt;br /&gt;
&lt;br /&gt;
In this phase, the mobile client, backend services, and host platform is analyzed/scanned in attempt to uncover potential risks, vulnerabilities and threats. The use of an intercepting proxy tool as well as automated vulnerability scanners are core to this phase. In many cases, you will also need some type of shell access to the device.&lt;br /&gt;
&lt;br /&gt;
The following outline can be used as a “Dynamic Analysis” guide in planning a mobile assessment.&lt;br /&gt;
&lt;br /&gt;
=== Establishing a Baseline ===&lt;br /&gt;
&lt;br /&gt;
*Generate File System Baseline Fingerprint (before app installation)&lt;br /&gt;
**Application interactions with the host file system must be reviewed and analyzed at various stages of testing; starting with baseline capture. This may require a shell or GUI depending on platform and/or preference.&lt;br /&gt;
&lt;br /&gt;
*Install, Configure and Use the Application&lt;br /&gt;
**Manually inspect the file system to determine what files/databases were created, what and how data is stored. Did the application store sensitive data unencrypted or trivially protected (i.e. encoded)?&lt;br /&gt;
**Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at databases, log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
&lt;br /&gt;
*Attach a debugger to an application to step through code execution and setting breakpoints at interesting code within the application&lt;br /&gt;
&lt;br /&gt;
*Monitor logged messages and notifications generated at runtime&lt;br /&gt;
&lt;br /&gt;
*Observe interprocess communications between the target application and other applications and services running on the mobile device.&lt;br /&gt;
&lt;br /&gt;
=== Active Testing ===&lt;br /&gt;
&lt;br /&gt;
==== Local Testing ====&lt;br /&gt;
&lt;br /&gt;
*Exposed IPC interfaces&lt;br /&gt;
**Sniff&lt;br /&gt;
**Fuzz&lt;br /&gt;
**Bypass authorization checks&lt;br /&gt;
&lt;br /&gt;
===== Cryptography =====&lt;br /&gt;
&lt;br /&gt;
*Brute force attacks against keys, pins, and hashes&lt;br /&gt;
*Attempt to reconstruct encrypted data through recovery of keys, hardcoded secrets, and any other information exposed by the application&lt;br /&gt;
&lt;br /&gt;
===== Web Applications =====&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Is it possible to inject client side code (i.e. JavaScript) or HTML into the application to either modify the inner working of the application or it's user interface?&lt;br /&gt;
&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
&lt;br /&gt;
*CSRF&lt;br /&gt;
&lt;br /&gt;
*SQL Injection&lt;br /&gt;
&lt;br /&gt;
*Cookies&lt;br /&gt;
**Are cookies issued by a server secured by using the HTTP-only and Secure flag?&lt;br /&gt;
**Is there any sensitive information stored in the cookies?&lt;br /&gt;
&lt;br /&gt;
*HTML5 Storage&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*Assess the methods an application uses to authenticate peers&lt;br /&gt;
**NFC&lt;br /&gt;
**SMS&lt;br /&gt;
**Push notifications&lt;br /&gt;
**Across IPC channels (identify the calling application’s privileges and identity)&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
*Instrument, patch, or interact with application at runtime to bypass methods intended to prevent usage of privileged or premium features&lt;br /&gt;
&lt;br /&gt;
*Determine if configuration or locally stored data can be manipulated in order to elevate a user’s privileges&lt;br /&gt;
&lt;br /&gt;
*Check the filesystem permissions for any files created at runtime&lt;br /&gt;
&lt;br /&gt;
===== File System Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Assess the application’s behavior throughout it’s lifecycle to determine if special functionality is triggered to persist an application’s state when it enters different stages:&lt;br /&gt;
**Placed into the foreground&lt;br /&gt;
**Sent into the background&lt;br /&gt;
**Upon exiting the application&lt;br /&gt;
&lt;br /&gt;
*Data  storage in Cache&lt;br /&gt;
&lt;br /&gt;
*Looking for artifacts left on device&lt;br /&gt;
&lt;br /&gt;
*Unencrypted data storage on the device&lt;br /&gt;
&lt;br /&gt;
*Encryption of data in backups&lt;br /&gt;
&lt;br /&gt;
*Username/password, or app-specific unique device id stored on the device&lt;br /&gt;
&lt;br /&gt;
*Application Permissions , Privileges and Access controls on the device&lt;br /&gt;
&lt;br /&gt;
*Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information cached within the application’s UI back stack?&lt;br /&gt;
&lt;br /&gt;
*Utilize forensic tools to determine if deleted data can be recovered from the filesystem as well as within databases&lt;br /&gt;
&lt;br /&gt;
===== Memory Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Determine if sensitive information persists within memory after performing the following actions:&lt;br /&gt;
**Logging out of the application&lt;br /&gt;
**Transition between UI components&lt;br /&gt;
&lt;br /&gt;
*Is it possible to obtain encryption keys, credentials, payment information and other sensitive information by dumping device or application memory?&lt;br /&gt;
&lt;br /&gt;
==== Remote Application/Service Testing ====&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*What methods are available (3G, 4G, Wifi, etc)?&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authentication service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Assess strength of password requirements&lt;br /&gt;
&lt;br /&gt;
*Test how account lockouts are implemented&lt;br /&gt;
&lt;br /&gt;
*Analyze (monitor traffic) how each method performs authentication. Note target wifi as this is a common area where authentication can be weak. Ensure authentication is robust and not based on trivial attributes (i.e. MDN, ESN, etc).&lt;br /&gt;
&lt;br /&gt;
*Verify that authentication tokens are terminated after a user initiates a password reset&lt;br /&gt;
&lt;br /&gt;
*Single Sign On (SSO)&lt;br /&gt;
&lt;br /&gt;
*SMS Based&lt;br /&gt;
**One Time Passwords (OTP)&lt;br /&gt;
**Two Factor Authentication&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authorization handling service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Test if direct access to backend resources is possible&lt;br /&gt;
&lt;br /&gt;
*Access controls to server side resources not enforced&lt;br /&gt;
&lt;br /&gt;
*Vertical and horizontal privilege escalation&lt;br /&gt;
&lt;br /&gt;
===== Session Management =====&lt;br /&gt;
&lt;br /&gt;
*Entropy analysis&lt;br /&gt;
*Device identifier related?&lt;br /&gt;
*Are session tokens refreshed between logouts?&lt;br /&gt;
*Lifetime and expiration&lt;br /&gt;
*Handling the session token on the device (stored, in memory, etc.)&lt;br /&gt;
*Privilege Escalation&lt;br /&gt;
*Ineffective Session Termination&lt;br /&gt;
&lt;br /&gt;
===== Transport Layer Testing =====&lt;br /&gt;
*Man-in-the-middle attacks&lt;br /&gt;
*Eavesdropping&lt;br /&gt;
*SSL checks (cypher strengths/weakness etc.)&lt;br /&gt;
&lt;br /&gt;
===== Server Side Attacks =====&lt;br /&gt;
&lt;br /&gt;
*Triggering unhandled exceptions&lt;br /&gt;
*Cross-Site Scripting&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*XML Bombs&lt;br /&gt;
*Buffer overflow&lt;br /&gt;
*Unrestricted File Upload&lt;br /&gt;
*Open Redirect&lt;br /&gt;
&lt;br /&gt;
===== Server, Network &amp;amp; Application Scanning =====&lt;br /&gt;
&lt;br /&gt;
*Based on prior phases you should have 1 or more target servers (i.e. URLs) as candidates for automated vulnerability scanning. Mobile applications often leverage existing web services/applications (i.e. hybrid applications) which must be tested for security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===== Conclusion =====&lt;br /&gt;
&lt;br /&gt;
Mobile applications are continuing to mature and evolve thus to be effective, security testers must strive to advance their knowledge and skills. Please check back periodically for updates and share your feedback with us.&lt;br /&gt;
&lt;br /&gt;
= Mobile Cheat Sheet  =&lt;br /&gt;
== Mobile Cheat Sheet Series  ==&lt;br /&gt;
&lt;br /&gt;
Cheat sheets provide the information most relevant to a developer or security engineer with minimal &amp;quot;fluff&amp;quot;. The goal of the project is to build a collection of cheat sheets that provide actionable, useful, and straight to the point guidance for a plethora of mobile security issues.&lt;br /&gt;
&lt;br /&gt;
== Platform Agnostic ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Dangers_of_Jailbreaking_and_Rooting_Mobile_Devices Dangers of Jailbreaking &amp;amp; Rooting Mobile Devices]&lt;br /&gt;
&lt;br /&gt;
== Android ==&lt;br /&gt;
&lt;br /&gt;
== iOS ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[https://www.owasp.org/index.php/IOS_Developer_Cheat_Sheet iOS Developer Cheat Sheet]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[https://www.owasp.org/index.php/IOS_Application_Security_Testing_Cheat_Sheet iOS Application Security Testing Cheat Sheet]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows Phone ==&lt;br /&gt;
&lt;br /&gt;
== RIM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Secure Mobile Development =&lt;br /&gt;
== Secure Mobile Development Guidelines Objective==&lt;br /&gt;
&lt;br /&gt;
The OWASP Secure Development Guidelines will provide developers with the knowledge they need to build secure mobile applications. An extendable framework will be provided that includes the core security flaws found across nearly all mobile platforms. It will be a living reference where contributors can plug in newly exposed APIs for various platforms and provide good/bad code examples along with remediation guidance for those issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Top 10 Mobile Controls =&lt;br /&gt;
==OWASP/ENISA Collaboration==&lt;br /&gt;
&lt;br /&gt;
OWASP and the European Network and Information Security Agency (ENISA) collaborated to build a joint set of controls. ENISA has published the results of the collaborative effort as the &amp;quot;Smartphone Secure Development Guideline&amp;quot;: http://www.enisa.europa.eu/activities/application-security/smartphone-security-1/smartphone-secure-development-guidelines&lt;br /&gt;
&lt;br /&gt;
[[File:OWASP_Mobile_Top_10_Controls.jpg|center|800px]]&lt;br /&gt;
&lt;br /&gt;
==Contributors==&lt;br /&gt;
&lt;br /&gt;
This document has been jointly produced with ENISA as well as the following individuals:&lt;br /&gt;
*Vinay Bansal, Cisco Systems&lt;br /&gt;
*Nader Henein, Research in Motion&lt;br /&gt;
*Giles Hogben, ENISA&lt;br /&gt;
*Karsten Nohl, Srlabs&lt;br /&gt;
*Jack Mannino, nVisium Security&lt;br /&gt;
*Christian Papathanasiou, Royal Bank of Scotland&lt;br /&gt;
*Stefan Rueping, Infineon&lt;br /&gt;
*Beau Woods, Stratigos Security&lt;br /&gt;
&lt;br /&gt;
== Top 10 mobile controls and design principles==&lt;br /&gt;
&lt;br /&gt;
'''[[#section control_1|1. Identify and protect sensitive data on the mobile device]]'''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Unsafe sensitive data storage, attacks on decommissioned phones unintentional disclosure: Mobile devices (being mobile) have a higher risk of loss or theft. Adequate protection should be built in to minimize the loss of sensitive data on the device.&lt;br /&gt;
&lt;br /&gt;
*1.1 In the design phase, classify data storage according to sensitivity and apply controls accordingly (e.g. passwords, personal data, location, error logs, etc.). Process, store and use data according to its classification. Validate the security of API calls applied to sensitive data.&lt;br /&gt;
*1.2 Store sensitive data on the server instead of the client-end device. This is based on the assumption that secure network connectivity is sufficiently available and that protection mechanisms available to server side storage are superior. The relative security of client vs server-side security also needs to be assessed on a case-by-case basis (see ENISA cloud risk assessment (3) or the OWASP Cloud top 10 (4) for decision support).&lt;br /&gt;
*1.3 When storing data on the device, use a file encryption API provided by the OS or other trusted source. Some platforms provide file encryption APIs which use a secret key protected by the device unlock code and deleteable on remote kill. If this is available, it should be used as it increases the security of the encryption without creating extra burden on the end-user. It also makes stored data safer in the case of loss or theft. However, it should be born in mind that even when protected by the device unlock key, if data is stored on the device, its security is dependent on the security of the device unlock code if remote deletion of the key is for any reason not possible.&lt;br /&gt;
*1.4 Do not store/cache sensitive data (including keys) unless they are encrypted and if possible stored in a tamper-proof area (see control 2).&lt;br /&gt;
*1.5 Consider restricting access to sensitive data based on contextual information such as location (e.g. wallet app not usable if GPS data shows phone is outside Europe, car key not usable unless within 100m of car etc...).&lt;br /&gt;
*1.6 Do not store historical GPS/tracking or other sensitive information on the device beyond the period required by the application (see controls 1.7, 1.8).&lt;br /&gt;
*1.7 Assume that shared storage is untrusted - information may easily leak in unexpected ways through any shared storage. In particular:&lt;br /&gt;
**Be aware of caches and temporary storage as a possible leakage channel, when shared with other apps.&lt;br /&gt;
**Be aware of public shared storage such as address book, media gallery and audio files as a possible leakage channel. For example storing images with location metadata in the media-gallery allows that information to be shared in unintended ways.&lt;br /&gt;
**Do not store temp/cached data in a world readable directory.&lt;br /&gt;
*1.8 For sensitive personal data, deletion should be scheduled according to a maximum retention period, (to prevent e.g. data remaining in caches indefinitely).&lt;br /&gt;
*1.9 There is currently no standard secure deletion procedure for flash memory (unless wiping the entire medium/card). Therefore data encryption and secure key management are especially important.&lt;br /&gt;
*1.10 Consider the security of the whole data lifecycle in writing your application (collection over the wire, temporary storage, caching, backup, deletion etc)&lt;br /&gt;
*1.11 Apply the principle of minimal disclosure - only collect and disclose data which is required for business use of the application. Identify in the design phase what data is needed, its sensitivity and whether it is appropriate to collect, store and use each data type.&lt;br /&gt;
*1.12 Use non-persistent identifiers which are not shared with other apps wherever possible - e.g. do not use the device ID number as an identifier unless there is a good reason to do so (use a randomly generated number – see 4.3). Apply the same data minimization principles to app sessions as to http sessions/cookies etc.&lt;br /&gt;
*1.13 Applications on managed devices should make use of remote wipe and kill switch APIs to remove sensitive information from the device in the event of theft or loss. (A kill-switch is the term used for an OS-level or purpose-built means of remotely removing applications and/or data).&lt;br /&gt;
*1.14 Application developers may want to incorporate an application-specific &amp;quot;data kill switch&amp;quot; into their products, to allow the per-app deletion of their application's sensitive data when needed (strong authentication is required to protect misuse of such a feature).&lt;br /&gt;
&lt;br /&gt;
'''2. Handle password credentials securely on the device'''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Spyware, surveillance, financial malware. A user's credentials, if stolen, not only provide unauthorized access to the mobile backend service, they also potentially compromise many other services and accounts used by the user. The risk is increased by the widespread of reuse of passwords across different services.&lt;br /&gt;
&lt;br /&gt;
*2.1 Instead of passwords consider using longer term authorization tokens that can be securely stored on the device (as per the OAuth model). Encrypt the tokens in transit (using SSL/TLS). Tokens can be issued by the backend service after verifying&lt;br /&gt;
￼￼￼Smartphones secure development guidelines for app developers ￼the user credentials initially. The tokens should be time bounded to the specific service as well as revocable (if possible server side), thereby minimizing the damage in loss scenarios. Use the latest versions of the authorization standards (such as OAuth 2.0). Make sure that these tokens expire as frequently as practicable.&lt;br /&gt;
*2.2 In case passwords need to be stored on the device, leverage the encryption and key-store mechanisms provided by the mobile OS to securely store passwords, password equivalents and authorization tokens. Never store passwords in clear text. Do not store passwords or long term session IDs without appropriate hashing or encryption.&lt;br /&gt;
*2.3 Some devices and add-ons allow developers to use a Secure Element e.g. (5) (6) – sometimes via an SD card module - the number of devices offering this functionality is likely to increase. Developers should make use of such capabilities to store keys, credentials and other sensitive data. The use of such secure elements gives a higher level of assurance with the standard encrypted SD card certified at FIPS 140-2 Level 3. Using the SD cards as a second factor of authentication though possible, isn't recommended, however, as it becomes a pseudo-inseparable part of the device once inserted and secured.&lt;br /&gt;
*2.4 Provide the ability for the mobile user to change passwords on the device.&lt;br /&gt;
*2.5 Passwords and credentials should only be included as part of regular backups in encrypted or hashed form.&lt;br /&gt;
*2.6 Smartphones offer the possibility of using visual passwords which allow users to memorize passwords with higher entropy. These should only be used however, if sufficient entropy can be ensured. (7)&lt;br /&gt;
*2.7 Swipe-based visual passwords are vulnerable to smudge-attacks (using grease deposits on the touch screen to guess the password). Measures such as allowing repeated patterns should be introduced to foil smudge-attacks. (8)&lt;br /&gt;
*2.8 Check the entropy of all passwords, including visual ones (see 4.1 below).&lt;br /&gt;
*2.9 Ensure passwords and keys are not visible in cache or logs.&lt;br /&gt;
*2.10 Do not store any passwords or secrets in the application binary. Do not use a generic shared secret for integration with the backend (like password embedded in code). Mobile application binaries can be easily downloaded and reverse engineered.&lt;br /&gt;
&lt;br /&gt;
'''3. Ensure sensitive data is protected in transit'''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Network spoofing attacks, surveillance. The majority of smartphones are capable of using multiple network mechanisms including Wi-Fi, provider network (3G, GSM, CDMA and others), Bluetooth etc. Sensitive data passing through insecure channels could be intercepted. (9) (10)&lt;br /&gt;
&lt;br /&gt;
*3.1 Assume that the provider network layer is not secure. Modern network layer attacks can decrypt provider network encryption, and there is no guarantee that the Wi-Fi network will be appropriately encrypted.&lt;br /&gt;
*3.2 Applications should enforce the use of an end-to-end secure channel (such as SSL/TLS) when sending sensitive information over the wire/air (e.g. using Strict Transport Security - STS (11)).This includes passing user credentials, or other authentication equivalents. This provides confidentiality and integrity protection.&lt;br /&gt;
*3.3 Use strong and well-known encryption algorithms (e.g. AES) and appropriate key lengths (check current recommendations for the algorithm you use e.g. (12) page 53).&lt;br /&gt;
*3.4 Use certificates signed by trusted CA providers. Be very cautious in allowing self- signed certificates. Do not disable or ignore SSL chain validation.&lt;br /&gt;
*3.5 For sensitive data, to reduce the risk of man-in-middle attacks (like SSL proxy, SSL strip), a secure connection should only be established after verifying the identity of the remote end-point (server). This can be achieved by ensuring that SSL is only established with end-points having the trusted certificates in the key chain.&lt;br /&gt;
*3.6 The user interface should make it as easy as possible for the user to find out if a certificate is valid.&lt;br /&gt;
*3.7 SMS, MMS or notifications should not be used to send sensitive data to or from mobile end-points.&lt;br /&gt;
&lt;br /&gt;
'''Reference:''' Google vulnerability of Client Login account credentials on unprotected wifi - [http://www.google.com/url?q=http%3A%2F%2Fwww.uni-ulm.de%2Fin%2Fmi%2Fmitarbeiter%2Fkoenings%2Fcatching-authtokens.html&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFQjCNGO-Yp1KHqO8USuL0zxL1Lpwq1Usw]&lt;br /&gt;
&lt;br /&gt;
'''4. Implement user authentication,authorization and session management correctly'''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Unauthorized individuals may obtain access to sensitive data or systems by circumventing authentication systems (logins) or by reusing valid tokens or cookies. (13)&lt;br /&gt;
&lt;br /&gt;
*4.1 Require appropriate strength user authentication to the application. It may be useful to provide feedback on the strength of the password when it is being entered for the first time. The strength of the authentication mechanism used depends on the sensitivity of the data being processed by the application and its access to valuable resources (e.g. costing money).&lt;br /&gt;
*4.2 It is important to ensure that the session management is handled correctly after the initial authentication, using appropriate secure protocols. For example, require authentication credentials or tokens to be passed with any subsequent request (especially those granting privileged access or modification).&lt;br /&gt;
*4.3 Use unpredictable session identifiers with high entropy. Note that random number generators generally produce random but predictable output for a given seed (i.e. the same sequence of random numbers is produced for each seed). Therefore it is important to provide an unpredictable seed for the random number generator. The standard method of using the date and time is not secure. It can be improved, for example using a combination of the date and time, the phone temperature sensor and the current x,y and z magnetic fields. In using and combining these values, well-tested algorithms which maximise entropy should be chosen (e.g. repeated application of SHA1 may be used to combine random variables while maintaining maximum entropy – assuming a constant maximum seed length).&lt;br /&gt;
*4.4 Use context to add security to authentication - e.g. IP location, etc...&lt;br /&gt;
*4.5 Where possible, consider using additional authentication factors for applications giving access to sensitive data or interfaces where possible - e.g. voice, fingerprint (if available), who-you-know, behavioural etc.&lt;br /&gt;
*4.6 Use authentication that ties back to the end user identity (rather than the device identity).&lt;br /&gt;
&lt;br /&gt;
'''5. Keep the backend APIs (services) and the platform (server) secure''' &lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Attacks on backend systems and loss of data via cloud storage. The majority of mobile applications interact with the backend APIs using REST/Web Services or proprietary protocols. Insecure implementation of backend APIs or services, and not keeping the back-end platform hardened/patched will allow attackers to compromise data on the mobile device when transferred to the backend, or to attack the backend through the mobile application. (14)&lt;br /&gt;
&lt;br /&gt;
*5.1 Carry out a specific check of your code for sensitive data unintentionally transferred, any data transferred between the mobile device and web-server back- ends and other external interfaces - (e.g. is location or other information included within file metadata).&lt;br /&gt;
*5.2 All backend services (Web Services/REST) for mobile apps should be tested for vulnerabilities periodically, e.g. using static code analyser tools and fuzzing tools for testing and finding security flaws.&lt;br /&gt;
*5.3 Ensure that the backend platform (server) is running with a hardened configuration with the latest security patches applied to the OS, Web Server and other application components.&lt;br /&gt;
*5.4 Ensure adequate logs are retained on the backend in order to detect and respond to incidents and perform forensics (within the limits of data protection law).&lt;br /&gt;
*5.5 Employ rate limiting and throttling on a per-user/IP basis (if user identification is available) to reduce the risk from DDoS attack.&lt;br /&gt;
*5.6 Test for DoS vulnerabilities where the server may become overwhelmed by certain resource intensive application calls.&lt;br /&gt;
*5.7 Web Services, REST and APIs can have similar vulnerabilities to web applications:&lt;br /&gt;
**Perform abuse case testing, in addition to use case testing&lt;br /&gt;
**Perform testing of the backend Web Service, REST or API to determine vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
'''6. Secure data integration with third party services and applications'''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Data leakage. Users may install applications that may be malicious and can transmit personal data (or other sensitive stored data) for malicious purposes.&lt;br /&gt;
&lt;br /&gt;
*6.1 Vet the security/authenticity of any third party code/libraries used in your mobile application (e.g. making sure they come from a reliable source, with maintenance supported, no backend Trojans)&lt;br /&gt;
*6.2 Track all third party frameworks/APIs used in the mobile application for security patches. A corresponding security update must be done for the mobile applications using these third party APIs/frameworks.&lt;br /&gt;
*6.3 Pay particular attention to validating all data received from and sent to non-trusted third party apps (e.g. ad network software) before processing within the application.&lt;br /&gt;
&lt;br /&gt;
'''7. Pay specific attention to the collection and storage of consent for the collection and use of the user’s data'''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Unintentional disclosure of personal or private information, illegal data processing. In the European Union, it is mandatory to obtain user consent for the collection of personally identifiable information (PII). (15) (16)&lt;br /&gt;
&lt;br /&gt;
*7.1 Create a privacy policy covering the usage of personal data and make it available to the user especially when making consent choices.&lt;br /&gt;
*7.2 Consent may be collected in three main ways:&lt;br /&gt;
**At install time&lt;br /&gt;
**At run-time when data is sent&lt;br /&gt;
**Via “opt-out” mechanisms where a default setting is implemented and the user has to turn it off.&lt;br /&gt;
*7.3 Check whether your application is collecting PII - it may not always be obvious - for example do you use persistent unique identifiers linked to central data stores containing personal information?&lt;br /&gt;
*7.4 Audit communication mechanisms to check for unintended leaks (e.g. image metadata).&lt;br /&gt;
*7.5 Keep a record of consent to the transfer of PII. This record should be available to the user (consider also the value of keeping server-side records attached to any user data stored). Such records themselves should minimise the amount of personal data they store (e.g. using hashing).&lt;br /&gt;
*7.6 Check whether your consent collection mechanism overlaps or conflicts (e.g. in the data handling practices stated) with any other consent collection within the same stack (e.g. APP-native + webkit HTML) and resolve any conflicts.&lt;br /&gt;
&lt;br /&gt;
'''8. Implement controls to prevent unauthorized access to paid-for resources (wallet, SMS, phone calls etc.)'''&lt;br /&gt;
'''Risks:''' Smartphone apps give programmatic (automatic) access to premium rate phone calls, SMS, roaming data, NFC payments, etc. Apps with privileged access to such API’s should take particular care to prevent abuse, considering the financial impact of vulnerabilities that giveattackers access to the user’s financial resources.&lt;br /&gt;
&lt;br /&gt;
*8.1 Maintain logs of access to paid-for resources in a non-repudiable format (e.g. a signed receipt sent to a trusted server backend – with user consent) and make them available to the end-user for monitoring. Logs should be protected from unauthorised access.&lt;br /&gt;
*8.2 Check for anomalous usage patterns in paid-for resource usage and trigger re- authentication. E.g. when significant change in location occurs, user-language changes etc.&lt;br /&gt;
*8.3 Consider using a white-list model by default for paid-for resource addressing - e.g. address book only unless specifically authorised for phone calls.&lt;br /&gt;
*8.4 Authenticate all API calls to paid-for resources (e.g. using an app developer certificate).&lt;br /&gt;
*8.5 Ensure that wallet API callbacks do not pass cleartext account/pricing/ billing/item information.&lt;br /&gt;
*8.6 Warn user and obtain consent for any cost implications for app behaviour.&lt;br /&gt;
*8.7 Implement best practices such as fast dormancy (a 3GPP specification), caching, etc. to minimize signalling load on base stations.&lt;br /&gt;
&lt;br /&gt;
'''9. Ensure secure distribution/provisioning of mobile applications'''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Use of secure distribution practices is important in mitigating all risks described in the OWASP Mobile Top 10 Risks and ENISA top 10 risks.&lt;br /&gt;
*9.1 Applications must be designed and provisioned to allow updates for security patches, taking into account the requirements for approval by app-stores and the extra delay this may imply.&lt;br /&gt;
*9.2 Most app-stores monitor apps for insecure code and are able to remotely remove apps at short notice in case of an incident. Distributing apps through official app- stores therefore provides a safety-net in case of serious vulnerabilities in your app.&lt;br /&gt;
*9.3Provide feedback channels for users to report security problems with apps – e.g. a security@ email address.&lt;br /&gt;
&lt;br /&gt;
'''10. Carefully check any runtime interpretation of code for errors '''&lt;br /&gt;
&lt;br /&gt;
'''Risks:''' Runtime interpretation of code may give an opportunity for untrusted parties to provide unverified input which is interpreted as code. For example, extra levels in a game, scripts, interpreted SMS headers. This gives an opportunity for malware to circumvent walled garden controls provided by app-stores. It can lead to injection attacks leading to Data leakage, surveillance, spyware, and diallerware.&lt;br /&gt;
&lt;br /&gt;
Note that it is not always obvious that your code contains an interpreter. Look for any capabilities accessible via user-input data and use of third party API’s which may interpret user-input - e.g. JavaScript interpreters.&lt;br /&gt;
&lt;br /&gt;
*10.1 Minimize runtime interpretation and capabilities offered to runtime interpreters: run interpreters at minimal privilege levels.&lt;br /&gt;
*10.2 Define comprehensive escape syntax as appropriate.&lt;br /&gt;
*10.3 Fuzz test interpreters.&lt;br /&gt;
*10.4 Sandbox interpreters.&lt;br /&gt;
&lt;br /&gt;
''Appendix A- Relevant General Coding Best Practices'''&lt;br /&gt;
&lt;br /&gt;
Some general coding best practices are particularly relevant to mobile coding. We have listed some of the most important tips here:&lt;br /&gt;
**Perform abuse case testing, in addition to use case testing.&lt;br /&gt;
**Validate all input.&lt;br /&gt;
**Minimise lines and complexity of code. A useful metric is cyclomatic complexity (17).&lt;br /&gt;
**Use safe languages (e.g. from buffer-overflow).&lt;br /&gt;
**Implement a security report handling point (address) security@example.com&lt;br /&gt;
**Use static and binary code analysers and fuzz-testers to find security flaws.&lt;br /&gt;
**Use safe string functions, avoid buffer and integer overflow.&lt;br /&gt;
**Run apps with the minimum privilege required for the application on the operating&lt;br /&gt;
system. Be aware of privileges granted by default by APIs and disable them.&lt;br /&gt;
**Don't authorize code/app to execute with root/system administrator privilege&lt;br /&gt;
**Always perform testing as a standard as well as a privileged user&lt;br /&gt;
**Avoid opening application-specific server sockets (listener ports) on the client device.&lt;br /&gt;
Use the communication mechanisms provided by the OS.&lt;br /&gt;
**Remove all test code before releasing the application&lt;br /&gt;
**Ensure logging is done appropriately but do not record excessive logs, especially those&lt;br /&gt;
including sensitive user information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Appendix B- Enterprise Guidelines''&lt;br /&gt;
**If a business-sensitive application needs to be provisioned on a device, applications should enforce of a higher security posture on the device (such as PIN, remote management/wipe, app monitoring)&lt;br /&gt;
**Device certificates can be used for stronger device authentication.'&lt;br /&gt;
&lt;br /&gt;
''References&amp;quot;&lt;br /&gt;
*1.ENISA. Top Ten Smartphone Risks . [Online] http://www.enisa.europa.eu/act/application-security/smartphone-security-1/top-ten-risks.&lt;br /&gt;
*2. OWASP. Top 10 mobile risks. [Online] https://www.owasp.org/index.php/OWASP_Mobile_Security_Project#tab=Top_Ten_Mobile_Risks.&lt;br /&gt;
*3. Cloud Computing: Benefits, Risks and Recommendations for information security. [Online] 2009. http://www.enisa.europa.eu/act/rm/files/deliverables/cloud-computing-risk-assessment.&lt;br /&gt;
*4. OWASP Cloud Top 10. [Online] https://www.owasp.org/index.php/Category:OWASP_Cloud_%E2%80%90_10_Project.&lt;br /&gt;
*5. Blackberry developers documents. [Online] http://www.blackberry.com/developers/docs/7.0.0api/net/rim/device/api/io/nfc/se/SecureElement.h tml,.&lt;br /&gt;
*6. Google Seek For Android. [Online] http://code.google.com/p/seek-for-android/.&lt;br /&gt;
*7. Visualizing Keyboard Pattern Passwords. [Online] cs.wheatoncollege.edu/~mgousie/comp401/amos.pdf.&lt;br /&gt;
*8. Smudge Attacks on Smartphone Touch Screens. Adam J. Aviv, Katherine Gibson, Evan Mossop, Matt Blaze, and Jonathan M. Smith. s.l. : Department of Computer and Information Science – University of Pennsylvania.&lt;br /&gt;
*9. Google vulnerability of Client Login account credentials on unprotected . [Online] http://www.uni- ulm.de/in/mi/mitarbeiter/koenings/catching-authtokens.html.&lt;br /&gt;
*10. SSLSNIFF. [Online] http://blog.thoughtcrime.org/sslsniff-anniversary-edition. 11. [Online] http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-02.&lt;br /&gt;
￼￼￼￼Smartphones secure development guidelines for app developers&lt;br /&gt;
*11. [Online] http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-02.&lt;br /&gt;
￼*12. NIST Computer Security. [Online] http://csrc.nist.gov/publications/nistpubs/800-57/sp800- 57_PART3_key-management_Dec2009.pdf.&lt;br /&gt;
*13. Google's ClientLogin implementation . [Online] http://www.uni- ulm.de/in/mi/mitarbeiter/koenings/catching-authtokens.html.&lt;br /&gt;
*14. [Online] https://www.owasp.org/index.php/Web_Services.&lt;br /&gt;
*15. EU Data Protection Directive 95/46/EC. [Online] http://eur- lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31995L0046:en:HTML.&lt;br /&gt;
*16. [Online] http://democrats.energycommerce.house.gov/sites/default/files/image_uploads/Testimony_05.04.11 _Spafford.pdf.&lt;br /&gt;
*17. [Online] http://www.aivosto.com/project/help/pm-complexity.html.&lt;br /&gt;
*18. [Online] http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html.&lt;br /&gt;
**19. Google Wallet Security. [Online] http://www.google.com/wallet/how-it-works-security.htm.&lt;br /&gt;
&lt;br /&gt;
= OWASP Mobile Threat Model Project =&lt;br /&gt;
==Mobile Application Threat Model - Beta Release==&lt;br /&gt;
&lt;br /&gt;
This is the first release (February 2013) of the Mobile Application Threat Model developed by the initial project team (listed at the end of this release).  Development began mid-2011 and is being released in beta form for public comment and input.  It is by no means complete and some sections will need more contributions, details and also real world case studies.  It's the hope of the project team that others in the community can help contribute to this project to further enhance and improve this threat model.&lt;br /&gt;
&lt;br /&gt;
===Mobile Threat Model Introduction Statement===&lt;br /&gt;
Threat modeling is a systematic process that begins with a clear understanding of the system. It is necessary to define the following areas to understand possible threats to the application:&lt;br /&gt;
* '''Mobile Application Architecture''' - This area describes how the application is designed from device specific features used by the application, wireless transmission protocols, data transmission mediums, interaction with hardware components and other applications.&lt;br /&gt;
* '''Mobile Data''' - What data does the application store and process? What is the business purpose of this data and what are the data workflows?&lt;br /&gt;
* '''Threat Agent Identification''' - What are the threats to the mobile application and who are the threat agents.  This area also outlines the process for defining what threats apply to the mobile application.&lt;br /&gt;
* '''Methods of Attack''' - What are the most common attacks utilized by threat agents.  This area defines these attacks so that controls can be developed to mitigate attacks.&lt;br /&gt;
* '''Controls''' - What are the controls to prevent attacks.  This is the last area to be defined only after previous areas have been completed by the development team.&lt;br /&gt;
&lt;br /&gt;
===Target Audience for the Mobile Threat Model===&lt;br /&gt;
This model is to be used by mobile application developers and software architects as part of the “threat modeling” phase of a typical SDLC process.  The model can also be used by Information Security Professionals that need to determine what typical mobile application threats are and provide a methodology for conducting basic threat modeling.&lt;br /&gt;
&lt;br /&gt;
===How to Use the Mobile Threat Model===&lt;br /&gt;
This threat model is designed as an outline or checklist of items that need to be documented, reviewed and discussed when developing a mobile application.  Every organization that develops mobile applications will have different requirements as well as threats.  This model was designed to be as organizational and industry agnostic as possible so that any mobile application development team can use this as a guide for conducting threat modeling for their specific application. Real world case studies as examples will be integrated to this threat model in the near future.&lt;br /&gt;
&lt;br /&gt;
==Mobile Application Architecture==&lt;br /&gt;
&lt;br /&gt;
The mobile application architecture should, at the very least, describe device specific features used by the application, wireless transmission protocols, data transmission medium, interaction with hardware components and other applications. Applications can be mapped to this architecture as a preliminary attack surface assessment.&lt;br /&gt;
&lt;br /&gt;
===Architecture Considerations===&lt;br /&gt;
&lt;br /&gt;
Although mobile applications vary in function, they can be described using a generalized model as follows:&lt;br /&gt;
&lt;br /&gt;
Wireless interfaces&lt;br /&gt;
&lt;br /&gt;
Transmission Type&lt;br /&gt;
&lt;br /&gt;
Hardware Interaction&lt;br /&gt;
&lt;br /&gt;
Interaction with on device applications/services&lt;br /&gt;
&lt;br /&gt;
Interaction with off device applications/services&lt;br /&gt;
&lt;br /&gt;
Encryption Protocols&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What is the design of the architecture (network infrastructure, web services, trust boundaries, third-party APIs, etc)&lt;br /&gt;
** Carrier&lt;br /&gt;
*** Data&lt;br /&gt;
*** SMS&lt;br /&gt;
*** Voice&lt;br /&gt;
** Endpoints&lt;br /&gt;
*** Web Services&lt;br /&gt;
**** RESTful or SOAP based&lt;br /&gt;
**** Third Party (Example: Amazon)&lt;br /&gt;
*** Websites&lt;br /&gt;
**** Does the app utilize or integrate the “mobile web” version of an existing web site?&lt;br /&gt;
*** App Stores&lt;br /&gt;
**** Google Play&lt;br /&gt;
**** Apple App Store&lt;br /&gt;
**** Windows Mobile&lt;br /&gt;
**** BlackBerry App Store&lt;br /&gt;
*** Cloud Storage&lt;br /&gt;
**** Amazon/Azure&lt;br /&gt;
*** Corporate Networks (via VPN, ssh, etc.)&lt;br /&gt;
** Wireless interfaces&lt;br /&gt;
*** 802.11&lt;br /&gt;
*** NFC&lt;br /&gt;
*** Bluetooth&lt;br /&gt;
*** RFID&lt;br /&gt;
** Device&lt;br /&gt;
*** App Layer&lt;br /&gt;
*** Runtime Environment (VM, framework dependencies, etc)&lt;br /&gt;
*** OS Platform&lt;br /&gt;
** Apple iOS&lt;br /&gt;
** Android&lt;br /&gt;
** Windows Mobile&lt;br /&gt;
** BlackBerry&lt;br /&gt;
*** Baseband&lt;br /&gt;
* Common hardware components&lt;br /&gt;
** GPS&lt;br /&gt;
** Sensors (accelerometer)&lt;br /&gt;
** Cellular Radios (GSM/CDMA/LTE)&lt;br /&gt;
** Flash Memory&lt;br /&gt;
** Removable Storage (i.e.- SD)&lt;br /&gt;
** USB ports&lt;br /&gt;
** Wireless Interfaces&lt;br /&gt;
*** 802.11&lt;br /&gt;
*** Bluetooth&lt;br /&gt;
*** NFC&lt;br /&gt;
*** RFID&lt;br /&gt;
** Touch Screen&lt;br /&gt;
** Hardware Keyboard&lt;br /&gt;
** Microphone&lt;br /&gt;
** Camera&lt;br /&gt;
* Authentication&lt;br /&gt;
** Method&lt;br /&gt;
*** Knowledge based&lt;br /&gt;
*** Token based&lt;br /&gt;
*** Biometrics&lt;br /&gt;
** Input Type&lt;br /&gt;
*** Keyboard&lt;br /&gt;
*** Touch screen&lt;br /&gt;
*** Hardware peripheral&lt;br /&gt;
** Decision Process&lt;br /&gt;
*** Local (on device)&lt;br /&gt;
*** Remote (off device)&lt;br /&gt;
* Define app architecture relative to OS stack + security model&lt;br /&gt;
** What should or shouldn't the app do?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mobile Data==&lt;br /&gt;
This section defines what purpose does the app serve from a business perspective and what data the app store, transmit and receive.  It’s also important to review data flow diagrams to determine exactly how data is handled and managed by the application.&lt;br /&gt;
&lt;br /&gt;
* What is the business function of the app?&lt;br /&gt;
* What data does the application store/process (provide data flow diagram)&lt;br /&gt;
** This diagram should outline network, device file system and application data flows&lt;br /&gt;
** How is data transmitted between third party API’s and app(s)&lt;br /&gt;
** Are there different data handling requirements between different mobile platforms? (iOS/Android/Blackberry/Windows/J2ME) &lt;br /&gt;
** Does the app use cloud storage APIs (Dropbox, Google Drive, iCloud, Lookout) for device data backups&lt;br /&gt;
** Does personal data intermingle with corporate data?&lt;br /&gt;
** Is there specific business logic built into the app to process data?&lt;br /&gt;
* What does the data give you (or an attacker) access to&lt;br /&gt;
** Data at Rest&lt;br /&gt;
** Example: Do stored credentials provide authentication?&lt;br /&gt;
** Data in Transit&lt;br /&gt;
** Example: Do stored keys allow you to break crypto functions (data integrity)?&lt;br /&gt;
* Third party data, is it being stored/transmitted?&lt;br /&gt;
** What is the privacy requirements of user data&lt;br /&gt;
** Example: UDID or Geolocation on iOS transmitted to 3rd party&lt;br /&gt;
** Are there regulatory requirements to meet specific to user privacy?&lt;br /&gt;
* How does other data on the device affect the app (sandboxing restrictions enforced?)&lt;br /&gt;
** Example: Authentication credentials shared between apps&lt;br /&gt;
* What is the impact of Jailbroken/Rooted vs Non Jailbroken/Rooted device and how this affects app data (can also relate to threat agent identification)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Threat Agent Identification==&lt;br /&gt;
What are the threats to the mobile application and who are the threat agents.  This area also outlines the process for defining what threats apply to the mobile application.&lt;br /&gt;
&lt;br /&gt;
===Identifying Threat Agents===&lt;br /&gt;
&lt;br /&gt;
The process of identifying a threat agent is very simple and have been mentioned in the below steps:&lt;br /&gt;
&lt;br /&gt;
'''S1''': Take the list of all sensitive data (or information to protect) listed down from Section 2 – Mobile Data&lt;br /&gt;
&lt;br /&gt;
'''S2:''' Make a list of all the ways to access this data&lt;br /&gt;
&lt;br /&gt;
'''S3:''' The medium used to access the same listed in S3 is the Threat Agent to be identified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Threat Agent Identification Example===&lt;br /&gt;
&lt;br /&gt;
Let us understand it in a better way using an example of a Financial Application (specifically a Banking Application). Following the process as mentioned above:&lt;br /&gt;
&lt;br /&gt;
'''S1:''' Sensitive data present in the application has been listed as: Beneficiary Details stored in some form in the Phone Application Memory and User Credentials used for authentication transmitted to the server.&lt;br /&gt;
'''S2:''' List the various ways of accessing information:&lt;br /&gt;
&lt;br /&gt;
# Beneficiary Details:&lt;br /&gt;
## A device user aiming to browse through the memory card / phone memory&lt;br /&gt;
## An adversary using a jail broken phone; starts reading the content through putty/WinSCP via SSH&lt;br /&gt;
## An adversary while sniffing the WiFi, traffic sniffs the content travelling through the network&lt;br /&gt;
## Another malicious application while reading the phone memory contents, stumbles upon this data as the device is Jailbroken&lt;br /&gt;
## Another application which is sending data through SMS sends this data.&lt;br /&gt;
## A Web Application executing a script on the browser tries to get steal the phone memory and send it to its server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''S3:''' From the above points, we list down the medium used:&lt;br /&gt;
&lt;br /&gt;
# Any user who has the device (Stolen device/ friend / etc)&lt;br /&gt;
## Any malicious application (installed / Web based script)&lt;br /&gt;
## An adversary sniffing the Wifi.&lt;br /&gt;
## etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From the above example you should have a clear picture on how to identify Threat Agents. Below is list of threat agents, which were identified while analyzing various commonly used applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Listing of Threat Agents - By Category===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Human Interaction====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Stolen Device User:''' A user who obtained unauthorized access to the device aiming to get hold of the memory related sensitive information belonging to the owner of the device.&lt;br /&gt;
&lt;br /&gt;
* '''Owner of the Device:''' A user who unwillingly has installed a malicious application on his phone which gains access to the device application memory.&lt;br /&gt;
&lt;br /&gt;
* '''Common WiFi Network User­:''' This agent is aimed at any adversary intentionally or unintentionally sniffing the WiFi network used by a victim. This agent stumbles upon all the data transmitted by the victim device and may re-use it to launch further attacks.&lt;br /&gt;
&lt;br /&gt;
* '''Malicious Developer:''' A human user who has the intent of writing an application which not only provides a commonly known function like gaming / calculator / utility in the foreground but steal as much information from your device as possible in real-time and transmits it to the malicious user. This agent can also be looked at an angle from which he codes an app to perform DOS by using up all the device resources.&lt;br /&gt;
&lt;br /&gt;
* '''Organization Internal Employees:''' Any user who is part of the organization (may be a programmer / admin / user / etc). Anyone who has privileges to perform an action on the application.&lt;br /&gt;
&lt;br /&gt;
* '''App Store Approvers/Reviewers:''' Any app store which fails to review potentially dangerous code or malicious application which executes on a user’s device and performs suspicious/ malicious activities&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Automated Programs====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Malware on the device''': Any program / mobile application which performs suspicious activity. It can be an application, which is copying real time data from the user’s device and transmitting it to any server. This type of program executes parallel to all the processes running in the background and stays alive performing malicious activity all the time. E.g. Olympics App which stole text messages and browsing history:[http://venturebeat.com/2012/08/06/olympics-android-app/  ][http://venturebeat.com/2012/08/06/olympics-android-app/ http://venturebeat.com/2012/08/06/olympics-android-app/]&lt;br /&gt;
&lt;br /&gt;
* '''Scripts executing at the browser with HTML5''': Any script code written in a language similar to JavaScript having capability of accessing the device level content falls under this type of agent section. A script executing at the browser reading and transmitting browser memory data / complete device level data.&lt;br /&gt;
&lt;br /&gt;
* '''Malicious SMS''': An incoming SMS redirected to trigger any kind of suspicious activity on the mobile device. There are multiple services which keep running in the background. Each of these services have listeners which might be active to listen for the content of an incoming SMS. An SMS message may be a sort of trigger for the service to perform some suspicious activity.&lt;br /&gt;
&lt;br /&gt;
* '''Malicious App:''' Failure to detect malicious or vulnerable code and the likelihood of a compromise or attack against the app store itself, potentially turning legitimate code into hostile things including updates and new downloaded apps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a diagram illustrated to understand the Threat Agents and Threats in a visual manner:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Mobile-app-threat-agents.png|582x527px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Figure 1 : Pictorial Representation of Threats and Agents'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Methods of Attack==&lt;br /&gt;
In this section, we will observe different methods an attacker can use to reach the data. This data can be sensitive information to the device or something sensitive to the app itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Attack’s Flowchart===&lt;br /&gt;
&lt;br /&gt;
Destruction of the asset is normally classified as attack. Attack can be further categorized as a planned attack or an unplanned one. Unintended attacks are normally caused due to some form of accidental actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Mobile-app-attack-workflow.png]]&lt;br /&gt;
&lt;br /&gt;
'''Figure 2: Attack Workflow'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Attack Scenario===&lt;br /&gt;
&lt;br /&gt;
'''“Method aimed to read the local application memory”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above mentioned attack methodology is the one in which the data which is targeted is application specific memory and the method used is memory based analysis. The attacker steals any sensitive data like passwords, userid, user account information which is stored in the application memory by reading the device memory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have listed down other methods below which can be mapped with the second section in a similar fashion:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The classification of attacks based on the way data is handled:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Carrier Based Methods&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Man in the middle (MiTM) attacks which can steal data packets including SMS or voice packets&lt;br /&gt;
# Hijack wireless transmission.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Endpoints based methods&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Inject code to tamper with web application or web services&lt;br /&gt;
# Many of the OWASP Mobile Top 10/OWASP Web Application Top 10&lt;br /&gt;
# Publishing Malwares in the app store&lt;br /&gt;
# Stealing user sensitive phone contents using Malwares&lt;br /&gt;
# Cloud storage&lt;br /&gt;
# Targeting malicious corporate network. (e.g. VPN Keys, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Wireless interfaces based methods&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stealing data when its in-transit using wireless channel like 802.11, NFC based data exchange or Bluetooth based data exchange. Application Level Attacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* OS and application level methods&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Exploit the Input validation on client-side by by-passing the checks&lt;br /&gt;
# An adversary steals sensitive data by reading SD Card based stored content&lt;br /&gt;
# Exploiting vulnerabilities within an app or runtime environment. (VM, framework dependencies, etc)&lt;br /&gt;
# An adversary exploits OS level functionalities steal data from device or server&lt;br /&gt;
# Rooting or Jailbreaking the phone to access sensitive data from memory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Miscellaneous Methods&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Method used to exploit and steal GPS based signals which falls in users personal information&lt;br /&gt;
# Method used to exploit the flash memory&lt;br /&gt;
# Method used to perform “tap jacking” based attacks.&lt;br /&gt;
# Method used to steal keyboard cache or logs.&lt;br /&gt;
# Method used to steal microphone recordings of a user&lt;br /&gt;
# Method used to exploit and misuse the camera functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Controls==&lt;br /&gt;
What are the controls to prevent attacks.  This is the last area to be defined only after previous areas have been completed by the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What are the controls to prevent an attack?&lt;br /&gt;
** Defined by platform&lt;br /&gt;
*** Apple iOS&lt;br /&gt;
*** Android&lt;br /&gt;
*** Windows Mobile&lt;br /&gt;
*** BlackBerry&lt;br /&gt;
* What are the controls to detect an attack?&lt;br /&gt;
** Defined by platform&lt;br /&gt;
*** Apple iOS&lt;br /&gt;
*** Android&lt;br /&gt;
*** Windows Mobile&lt;br /&gt;
*** BlackBerry&lt;br /&gt;
* What are the controls to mitigate/minimize impact of an attack?&lt;br /&gt;
** Defined by platform&lt;br /&gt;
*** Apple iOS&lt;br /&gt;
*** Android&lt;br /&gt;
*** Windows Mobile&lt;br /&gt;
*** BlackBerry&lt;br /&gt;
* What are the controls to protect users private information (privacy controls)&lt;br /&gt;
** Example: prompts for access to address book/geolocation&lt;br /&gt;
* Create a mapping of controls to each specific method of attack (defined in Section 4 – Methods of Attack)&lt;br /&gt;
** Create level of assurance framework based on controls implemented. This would be subjective to a certain point, but it would be useful in guiding organizations who want to achieve a certain level of risk management based on the threats and vulnerabilities&lt;br /&gt;
* Case studies, control examples&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Contributors==&lt;br /&gt;
Special thanks to the following team members who contributed to the initial release of the threat model:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tom Eston (Project Lead)&lt;br /&gt;
&lt;br /&gt;
Jack Mannino&lt;br /&gt;
&lt;br /&gt;
Sreenarayan Ashokkumar&lt;br /&gt;
&lt;br /&gt;
Swapnil Deshmukh&lt;br /&gt;
&lt;br /&gt;
Brandon Knight&lt;br /&gt;
&lt;br /&gt;
Steve Jensen&lt;br /&gt;
&lt;br /&gt;
Shimon Modi&lt;br /&gt;
&lt;br /&gt;
Rodrigo Marcos&lt;br /&gt;
&lt;br /&gt;
Brandon Clark&lt;br /&gt;
&lt;br /&gt;
Yvesmarie Quemener&lt;br /&gt;
&lt;br /&gt;
Yashraj Paralikar&lt;br /&gt;
&lt;br /&gt;
Ritesh Taank&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167264</id>
		<title>Projects/OWASP GoatDroid Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167264"/>
				<updated>2014-02-03T23:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==GoatDroid==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several feature that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
	&lt;br /&gt;
Contributions will always be needed in order to keep this project moving at a pace that can support the seemingly endless new problems to tackle. If you are interested, please contact the project's leaders or send an email to the OWASP Mobile Security Project mailing list. We welcome code contributors, beta testers, new feature suggestions, and feedback always!&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
 GoatDroid is published by OWASP under the GPLv3 license. You should read and accept the LICENSE before you use, modify, and/or redistribute this software.&lt;br /&gt;
&lt;br /&gt;
== What is XXX? ==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX  provides:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Link to presentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
Jack Mannino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[OWASP_Mobile_Security_Project]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* Link to page/download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [20 Nov 2013] News 2&lt;br /&gt;
* [30 Sep 2013] News 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
This project can be purchased as a print on demand book from Lulu.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
XXX is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of XXX, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of XXX is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Example_Project_About_Page}}  &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167263</id>
		<title>Projects/OWASP GoatDroid Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167263"/>
				<updated>2014-02-03T23:03:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==GoatDroid==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several feature that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
	&lt;br /&gt;
Contributions will always be needed in order to keep this project moving at a pace that can support the seemingly endless new problems to tackle. If you are interested, please contact the project's leaders or send an email to the OWASP Mobile Security Project mailing list. We welcome code contributors, beta testers, new feature suggestions, and feedback always!&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
 GoatDroid is published by OWASP under the GPLv3 license. You should read and accept the LICENSE before you use, modify, and/or redistribute this software.&lt;br /&gt;
&lt;br /&gt;
== What is XXX? ==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX  provides:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Link to presentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
Jack Mannino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[OWASP_CISO_Survey]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* Link to page/download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [20 Nov 2013] News 2&lt;br /&gt;
* [30 Sep 2013] News 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
This project can be purchased as a print on demand book from Lulu.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
XXX is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of XXX, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of XXX is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Example_Project_About_Page}}  &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167262</id>
		<title>Projects/OWASP GoatDroid Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167262"/>
				<updated>2014-02-03T23:03:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==GoatDroid==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several feature that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
	&lt;br /&gt;
Contributions will always be needed in order to keep this project moving at a pace that can support the seemingly endless new problems to tackle. If you are interested, please contact the project's leaders or send an email to the OWASP Mobile Security Project mailing list. We welcome code contributors, beta testers, new feature suggestions, and feedback always!&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
 GoatDroid is published by OWASP under the GPLv3 license. You should read and accept the LICENSE before you use, modify, and/or redistribute this software.&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is XXX? ==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX  provides:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Link to presentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
Jack Mannino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[OWASP_CISO_Survey]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* Link to page/download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [20 Nov 2013] News 2&lt;br /&gt;
* [30 Sep 2013] News 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
This project can be purchased as a print on demand book from Lulu.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
XXX is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of XXX, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of XXX is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Example_Project_About_Page}}  &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167261</id>
		<title>Projects/OWASP GoatDroid Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167261"/>
				<updated>2014-02-03T23:01:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==GoatDroid==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several feature that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
	&lt;br /&gt;
Contributions will always be needed in order to keep this project moving at a pace that can support the seemingly endless new problems to tackle. If you are interested, please contact the project's leaders or send an email to the OWASP Mobile Security Project mailing list. We welcome code contributors, beta testers, new feature suggestions, and feedback always!&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP XXX is free to use. It is licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is XXX? ==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX  provides:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Link to presentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
Jack Mannino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[OWASP_CISO_Survey]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* Link to page/download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [20 Nov 2013] News 2&lt;br /&gt;
* [30 Sep 2013] News 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
This project can be purchased as a print on demand book from Lulu.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
XXX is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of XXX, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of XXX is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Example_Project_About_Page}}  &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167260</id>
		<title>Projects/OWASP GoatDroid Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167260"/>
				<updated>2014-02-03T23:00:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==GoatDroid==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several feature that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
	&lt;br /&gt;
Contributions will always be needed in order to keep this project moving at a pace that can support the seemingly endless new problems to tackle. If you are interested, please contact the project's leaders or send an email to the OWASP Mobile Security Project mailing list. We welcome code contributors, beta testers, new feature suggestions, and feedback always!&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP XXX is free to use. It is licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is XXX? ==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX  provides:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Link to presentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
Project leader's name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[OWASP_CISO_Survey]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* Link to page/download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [20 Nov 2013] News 2&lt;br /&gt;
* [30 Sep 2013] News 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
This project can be purchased as a print on demand book from Lulu.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
XXX is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of XXX, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of XXX is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Example_Project_About_Page}}  &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167259</id>
		<title>Projects/OWASP GoatDroid Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167259"/>
				<updated>2014-02-03T22:58:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==GoatDroid==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
*As the Android SDK provides new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on these problems. Contributors will always be needed for this project, so if you are interested please contact the project's leaders or the OWASP Mobile Security mailing list.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Write a description that is just a few paragraphs long&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP XXX is free to use. It is licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is XXX? ==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX  provides:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Link to presentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
Project leader's name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[OWASP_CISO_Survey]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* Link to page/download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [20 Nov 2013] News 2&lt;br /&gt;
* [30 Sep 2013] News 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
This project can be purchased as a print on demand book from Lulu.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
XXX is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of XXX, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of XXX is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Example_Project_About_Page}}  &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167258</id>
		<title>Projects/OWASP GoatDroid Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_GoatDroid_Project&amp;diff=167258"/>
				<updated>2014-02-03T22:57:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP XXX==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX is...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Write a short introduction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Write a description that is just a few paragraphs long&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP XXX is free to use. It is licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is XXX? ==&lt;br /&gt;
&lt;br /&gt;
OWASP XXX  provides:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Link to presentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
Project leader's name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[OWASP_CISO_Survey]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* Link to page/download&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [20 Nov 2013] News 2&lt;br /&gt;
* [30 Sep 2013] News 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
This project can be purchased as a print on demand book from Lulu.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
XXX is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of XXX, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of XXX is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Example_Project_About_Page}}  &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Jack_Mannino&amp;diff=167257</id>
		<title>User:Jack Mannino</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Jack_Mannino&amp;diff=167257"/>
				<updated>2014-02-03T22:55:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Mannino is a partner at [https://www.nvisium.com/ nVisium], a leading provider of mobile application and web application security services. At nVisium he is responsible for ensuring that all services are delivered at the highest levels of quality and with keen attention to detail. &amp;amp;nbsp;He focuses on mobile application security research (especially Android), and is the co-leader of the [http://www.owasp.org/index.php/OWASP_Mobile_Security_Project OWASP Mobile Security Project.] In addition to the Mobile Security Project, Jack is also heavily involved with the [http://www.owasp.org/index.php/Virginia OWASP Northern Virginia Chapter]&amp;amp;nbsp;where he serves as the chapter leader.&lt;br /&gt;
&lt;br /&gt;
Jack is the lead developer for the OWASP GoatDroid Project, and is a contributor to the OWASP RailsGoat Project.&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects_Summit_2013/Working_Sessions/0012&amp;diff=163467</id>
		<title>Projects Summit 2013/Working Sessions/0012</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects_Summit_2013/Working_Sessions/0012&amp;diff=163467"/>
				<updated>2013-11-17T18:55:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Projects Summit 2013 Working Sessions&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| summit_track_logo = [[Image:Working_Session.jpg]]&lt;br /&gt;
| summit_ws_logo = [[Image:Working_Session.jpg]]&lt;br /&gt;
| summit_session_name = Mobile Security Project&lt;br /&gt;
| summit_session_url = http://www.owasp.org/index.php/Projects_Summit_2013/Working_Sessions/003&lt;br /&gt;
| mailing_list = Google Groups: [https://groups.google.com/forum/#!forum/owasp-project-summit-2013 owasp-project-summit-2013]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| short_working_session_description= '''The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| related_project_name1 = OWASP Mobile Security Project &lt;br /&gt;
| related_project_url_1 = https://www.owasp.org/index.php/OWASP_Mobile_Security_Project&lt;br /&gt;
&lt;br /&gt;
| related_project_name2 = Project Assessment&lt;br /&gt;
| related_project_url_2 = https://docs.google.com/spreadsheet/ccc?key=0AllOCxlYdf1AdHVBRUphTkY4MGNYeFpLbV83OFZoNlE&amp;amp;usp=sharing&lt;br /&gt;
&lt;br /&gt;
| related_project_name3 = Active Project Inventory&lt;br /&gt;
| related_project_url_3 = https://www.owasp.org/index.php/OWASP_Project_Inventory&lt;br /&gt;
&lt;br /&gt;
| related_project_name4 = &lt;br /&gt;
| related_project_url_4 = &lt;br /&gt;
&lt;br /&gt;
| related_project_name5 = &lt;br /&gt;
| related_project_url_5 = &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| summit_session_objective_name1= The primary focus is at the application layer.&lt;br /&gt;
| summit_session_objective_name2 = Target the areas that the average developer can make a difference.&lt;br /&gt;
&lt;br /&gt;
| summit_session_objective_name3 = Focus on the mobile applications deployed to end user devices. &lt;br /&gt;
| summit_session_objective_name4 = Focus on the broader server-side infrastructure which the mobile apps communicate with.&lt;br /&gt;
&lt;br /&gt;
| summit_session_objective_name5 =  A heavy focus is placed on the integration between the mobile application, remote authentication services, and cloud platform-specific features.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| working_session_date_and_time = Monday and Tuesday: all day&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| discussion_model = participants and attendees&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| operational_resources = Projector, whiteboards, markers, Internet connectivity, power&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| working_session_additional_details = &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:NEW-PROJECTS-BANNER2.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Chair: Jack Mannino===&lt;br /&gt;
&lt;br /&gt;
Jack Mannino is a managing partner at nVisium Security, a leading provider of mobile application and web application security services. At nVisium he is responsible for ensuring that all services are delivered at the highest levels of quality and with keen attention to detail.  He focuses on mobile application security research (especially Android), and is the co-leader of the OWASP Mobile Security Project. In addition to the Mobile Security Project, Jack is also heavily involved with the OWASP Northern Virginia Chapter where he serves as the chapter leader.&lt;br /&gt;
&lt;br /&gt;
Jack is the lead developer for the OWASP GoatDroid Project, and is a contributor to the OWASP RailsGoat Project. &lt;br /&gt;
===Operational Manager:===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name1 = Top Ten Mobile Risks &lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name2 = Mobile Tools&lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name3 = Mobile Security Testing&lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name4 = Mobile Cheat Sheet Series&lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name5 = Secure Mobile Development&lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name6 = Top Ten Mobile Controls&lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name7 = OWASP Mobile Threat Model Project&lt;br /&gt;
&lt;br /&gt;
|summit_session_deliverable_name8 = &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| summit_session_leader_name1 = Jack Mannino&lt;br /&gt;
| summit_session_leader_email1 = jack.mannino@owasp.org&lt;br /&gt;
| summit_session_leader_username1 = Jack Mannino&lt;br /&gt;
&lt;br /&gt;
| summit_session_leader_name2 = Jason Haddix&lt;br /&gt;
| summit_session_leader_email2 = jason.haddix@owasp.org&lt;br /&gt;
| summit_session_leader_username2 =Jason Haddix&lt;br /&gt;
&lt;br /&gt;
| summit_session_leader_name3 = Daniel Miessler&lt;br /&gt;
| summit_session_leader_email3 = daniel.miessler@owasp.org&lt;br /&gt;
| summit_session_leader_username3 =Daniel Miessler&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| operational_leader_name1 = &lt;br /&gt;
| operational_leader_email1 =&lt;br /&gt;
| operational_leader_username1 = &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| meeting_notes = 123&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name1 = &lt;br /&gt;
| summit_session_attendee_email1 = &lt;br /&gt;
| summit_session_attendee_username1 = &lt;br /&gt;
| summit_session_attendee_company1=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed1=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name2 = &lt;br /&gt;
| summit_session_attendee_email2 = &lt;br /&gt;
| summit_session_attendee_username2 = &lt;br /&gt;
| summit_session_attendee_company2=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed2=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name3 = &lt;br /&gt;
| summit_session_attendee_email3 = &lt;br /&gt;
| summit_session_attendee_username3 = &lt;br /&gt;
| summit_session_attendee_company3= &lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed3=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name4 = &lt;br /&gt;
| summit_session_attendee_email4 = &lt;br /&gt;
| summit_session_attendee_username4 = &lt;br /&gt;
| summit_session_attendee_company4=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed4=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name5 = &lt;br /&gt;
| summit_session_attendee_email5 = &lt;br /&gt;
| summit_session_attendee_username5 = &lt;br /&gt;
| summit_session_attendee_company5= &lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed5=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name6 = &lt;br /&gt;
| summit_session_attendee_email6 = &lt;br /&gt;
| summit_session_attendee_username6 = &lt;br /&gt;
| summit_session_attendee_company6=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed6=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name7 = &lt;br /&gt;
| summit_session_attendee_email7 = &lt;br /&gt;
| summit_session_attendee_username7 = &lt;br /&gt;
| summit_session_attendee_company7=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed7=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name8 = &lt;br /&gt;
| summit_session_attendee_email8 = &lt;br /&gt;
| summit_session_attendee_username8 = &lt;br /&gt;
| summit_session_attendee_company8=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed8=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name9 = &lt;br /&gt;
| summit_session_attendee_email9 = &lt;br /&gt;
| summit_session_attendee_username9 = &lt;br /&gt;
| summit_session_attendee_company9=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed9=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name10 = &lt;br /&gt;
| summit_session_attendee_email10 = &lt;br /&gt;
| summit_session_attendee_username10 = &lt;br /&gt;
| summit_session_attendee_company10=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed10=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name11 = &lt;br /&gt;
| summit_session_attendee_email11 = &lt;br /&gt;
| summit_session_attendee_username11 = &lt;br /&gt;
| summit_session_attendee_company11=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed11=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name12 = &lt;br /&gt;
| summit_session_attendee_email12 = &lt;br /&gt;
| summit_session_attendee_username12 = &lt;br /&gt;
| summit_session_attendee_company12=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed12=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name13 = &lt;br /&gt;
| summit_session_attendee_email13 = &lt;br /&gt;
| summit_session_attendee_username13 = &lt;br /&gt;
| summit_session_attendee_company13=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed13=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name14 = &lt;br /&gt;
| summit_session_attendee_email14 = &lt;br /&gt;
| summit_session_attendee_username14 = &lt;br /&gt;
| summit_session_attendee_company14=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed14= &lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name15 = &lt;br /&gt;
| summit_session_attendee_email15 = &lt;br /&gt;
| summit_session_attendee_username15 = &lt;br /&gt;
| summit_session_attendee_company15=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed15=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name16 = &lt;br /&gt;
| summit_session_attendee_email16 = &lt;br /&gt;
| summit_session_attendee_username16 = &lt;br /&gt;
| summit_session_attendee_company16=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed16=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name17 = &lt;br /&gt;
| summit_session_attendee_email17 = &lt;br /&gt;
| summit_session_attendee_username17 = &lt;br /&gt;
| summit_session_attendee_company17=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed17=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name18 = &lt;br /&gt;
| summit_session_attendee_email18 = &lt;br /&gt;
| summit_session_attendee_username18 = &lt;br /&gt;
| summit_session_attendee_company18=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed18=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name19 = &lt;br /&gt;
| summit_session_attendee_email19 = &lt;br /&gt;
| summit_session_attendee_username19 = &lt;br /&gt;
| summit_session_attendee_company19=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed19=&lt;br /&gt;
&lt;br /&gt;
| summit_session_attendee_name20 = &lt;br /&gt;
| summit_session_attendee_email20 = &lt;br /&gt;
| summit_session_attendee_username20 = &lt;br /&gt;
| summit_session_attendee_company20=&lt;br /&gt;
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed20=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| session_name_mask = &amp;lt;!--Please replace DO NOT EDIT this string --&amp;gt; Session003&lt;br /&gt;
| session_home_page = &amp;lt;!--Please replace DO NOT EDIT this string --&amp;gt; Projects_Summit_2013/Working_Sessions/003&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153161</id>
		<title>Android Manifest Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153161"/>
				<updated>2013-06-07T18:00:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
= Manifest Structure =&lt;br /&gt;
&lt;br /&gt;
= Application Components =&lt;br /&gt;
&lt;br /&gt;
= Permissions =&lt;br /&gt;
&lt;br /&gt;
= Checklist =&lt;br /&gt;
&lt;br /&gt;
= Additional Resources =&lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors =&lt;br /&gt;
#Jack Mannino&lt;br /&gt;
##jack[at]owasp.org&lt;br /&gt;
##https://www.owasp.org/index.php/User:Jack_Mannino&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153160</id>
		<title>Android Manifest Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153160"/>
				<updated>2013-06-07T18:00:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
= Manifest Structure =&lt;br /&gt;
&lt;br /&gt;
= Application Components =&lt;br /&gt;
&lt;br /&gt;
= Permissions =&lt;br /&gt;
&lt;br /&gt;
= Checklist =&lt;br /&gt;
&lt;br /&gt;
= Additional Resources =&lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors =&lt;br /&gt;
Jack Mannino - jack[at]owasp.org&lt;br /&gt;
https://www.owasp.org/index.php/User:Jack_Mannino&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Jack_Mannino&amp;diff=153159</id>
		<title>User:Jack Mannino</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Jack_Mannino&amp;diff=153159"/>
				<updated>2013-06-07T17:59:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Mannino is a managing partner at [https://www.nvisium.com/ nVisium Security], a leading provider of mobile application and web application security services. At nVisium he is responsible for ensuring that all services are delivered at the highest levels of quality and with keen attention to detail. &amp;amp;nbsp;He focuses on mobile application security research (especially Android), and is the co-leader of the [http://www.owasp.org/index.php/OWASP_Mobile_Security_Project OWASP Mobile Security Project.] In addition to the Mobile Security Project, Jack is also heavily involved with the [http://www.owasp.org/index.php/Virginia OWASP Northern Virginia Chapter]&amp;amp;nbsp;where he serves as the chapter leader.&lt;br /&gt;
&lt;br /&gt;
Jack is the lead developer for the OWASP GoatDroid Project, and is a contributor to the OWASP RailsGoat Project.&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153158</id>
		<title>Android Manifest Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153158"/>
				<updated>2013-06-07T17:54:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
= Manifest Structure =&lt;br /&gt;
&lt;br /&gt;
= Application Components =&lt;br /&gt;
&lt;br /&gt;
= Permissions =&lt;br /&gt;
&lt;br /&gt;
= Checklist =&lt;br /&gt;
&lt;br /&gt;
= Additional Resources =&lt;br /&gt;
&lt;br /&gt;
= Contributors =&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153157</id>
		<title>Android Manifest Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153157"/>
				<updated>2013-06-07T17:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
= Manifest Structure =&lt;br /&gt;
&lt;br /&gt;
= Application Components =&lt;br /&gt;
&lt;br /&gt;
= Permissions =&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153156</id>
		<title>Android Manifest Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153156"/>
				<updated>2013-06-07T17:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Introduction&lt;br /&gt;
&lt;br /&gt;
*Manifest Structure&lt;br /&gt;
&lt;br /&gt;
*Permissions&lt;br /&gt;
&lt;br /&gt;
*Application Components&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153155</id>
		<title>Android Manifest Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Android_Manifest_Cheat_Sheet&amp;diff=153155"/>
				<updated>2013-06-07T17:52:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: Created page with &amp;quot;#Introduction  #Manifest Structure  #Permissions  #Application Components&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#Introduction&lt;br /&gt;
&lt;br /&gt;
#Manifest Structure&lt;br /&gt;
&lt;br /&gt;
#Permissions&lt;br /&gt;
&lt;br /&gt;
#Application Components&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks&amp;diff=152055</id>
		<title>Projects/OWASP Mobile Security Project - Top Ten Mobile Risks</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks&amp;diff=152055"/>
				<updated>2013-05-22T14:56:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this list  ==&lt;br /&gt;
&lt;br /&gt;
'''An effort to refresh the Top 10 for 2013 is currently underway. Details can be found here: [http://owasp.blogspot.com/2013/05/2013-owasp-mobile-top-10-call-for-data.html OWASP Mobile Top 10 Call For Data]'''&lt;br /&gt;
&lt;br /&gt;
The list below is release candidate v1.0 of the OWASP Top 10 Mobile Risks. &amp;amp;nbsp;This list was initially released on September 23, 2011 at Appsec USA. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The original presentation can be found here:&amp;amp;nbsp;[http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks SLIDES]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The corresponding video can be found here: [http://www.youtube.com/watch?v=GRvegLOrgs0 VIDEO]&lt;br /&gt;
&lt;br /&gt;
== Top 10 Mobile Risks, Release Candidate v1.0 ==&lt;br /&gt;
[[File:Topten.png|right|550px]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M1|M1: Insecure Data Storage ]] &lt;br /&gt;
*[[Mobile_Top_10_2012-M2|M2: Weak Server Side Controls ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M3|M3: Insufficient Transport Layer Protection ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M4|M4: Client Side Injection ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M5|M5: Poor Authorization and Authentication ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M6|M6: Improper Session Handling ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M7|M7: Security Decisions Via Untrusted Inputs ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M8|M8: Side Channel Data Leakage ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M9|M9: Broken Cryptography ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M10|M10: Sensitive Information Disclosure ]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks&amp;diff=152054</id>
		<title>Projects/OWASP Mobile Security Project - Top Ten Mobile Risks</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks&amp;diff=152054"/>
				<updated>2013-05-22T14:56:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this list  ==&lt;br /&gt;
&lt;br /&gt;
The list below is release candidate v1.0 of the OWASP Top 10 Mobile Risks. &amp;amp;nbsp;This list was initially released on September 23, 2011 at Appsec USA. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''An effort to refresh the Top 10 for 2013 is currently underway. Details can be found here: [http://owasp.blogspot.com/2013/05/2013-owasp-mobile-top-10-call-for-data.html OWASP Mobile Top 10 Call For Data]'''''Italic text''&lt;br /&gt;
&lt;br /&gt;
The original presentation can be found here:&amp;amp;nbsp;[http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks SLIDES]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The corresponding video can be found here: [http://www.youtube.com/watch?v=GRvegLOrgs0 VIDEO]&lt;br /&gt;
&lt;br /&gt;
== Top 10 Mobile Risks, Release Candidate v1.0 ==&lt;br /&gt;
[[File:Topten.png|right|550px]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M1|M1: Insecure Data Storage ]] &lt;br /&gt;
*[[Mobile_Top_10_2012-M2|M2: Weak Server Side Controls ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M3|M3: Insufficient Transport Layer Protection ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M4|M4: Client Side Injection ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M5|M5: Poor Authorization and Authentication ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M6|M6: Improper Session Handling ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M7|M7: Security Decisions Via Untrusted Inputs ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M8|M8: Side Channel Data Leakage ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M9|M9: Broken Cryptography ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M10|M10: Sensitive Information Disclosure ]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks&amp;diff=152053</id>
		<title>Projects/OWASP Mobile Security Project - Top Ten Mobile Risks</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks&amp;diff=152053"/>
				<updated>2013-05-22T14:55:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this list  ==&lt;br /&gt;
&lt;br /&gt;
The list below is release candidate v1.0 of the OWASP Top 10 Mobile Risks. &amp;amp;nbsp;This list was initially released on September 23, 2011 at Appsec USA. &amp;amp;nbsp;An effort to refresh the Top 10 for 2013 is currently underway. Details can be found here: [http://owasp.blogspot.com/2013/05/2013-owasp-mobile-top-10-call-for-data.html OWASP Mobile Top 10 Call For Data]&lt;br /&gt;
&lt;br /&gt;
The original presentation can be found here:&amp;amp;nbsp;[http://www.slideshare.net/JackMannino/owasp-top-10-mobile-risks SLIDES]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The corresponding video can be found here: [http://www.youtube.com/watch?v=GRvegLOrgs0 VIDEO]&lt;br /&gt;
&lt;br /&gt;
== Top 10 Mobile Risks, Release Candidate v1.0 ==&lt;br /&gt;
[[File:Topten.png|right|550px]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M1|M1: Insecure Data Storage ]] &lt;br /&gt;
*[[Mobile_Top_10_2012-M2|M2: Weak Server Side Controls ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M3|M3: Insufficient Transport Layer Protection ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M4|M4: Client Side Injection ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M5|M5: Poor Authorization and Authentication ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M6|M6: Improper Session Handling ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M7|M7: Security Decisions Via Untrusted Inputs ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M8|M8: Side Channel Data Leakage ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M9|M9: Broken Cryptography ]]&lt;br /&gt;
*[[Mobile_Top_10_2012-M10|M10: Sensitive Information Disclosure ]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152052</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152052"/>
				<updated>2013-05-22T14:53:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMAS  ==&lt;br /&gt;
&lt;br /&gt;
iMAS is a collaborative research project from the MITRE Corporation focused on open source iOS security controls. Today, iOS meets the enterprise security needs of customers, however many security experts cite critical vulnerabilities and have demonstrated exploits, which pushes enterprises to augment iOS deployments with commercial solutions. The iMAS intent is to protect iOS applications and data beyond the Apple provided security model and reduce the adversary’s ability and efficiency to perform recon, exploitation, control and execution on iOS mobile applications. iMAS will transform the effectiveness of the existing iOS security model across major vulnerability areas including the System Passcode, jailbreak, debugger / run-time, flash storage, and the system keychain. Research outcomes include an open source secure application framework, including an application container, developer and validation tools/techniques.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about iMAS Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several feature that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project GoatDroid Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
iGoat is a learning tool for iOS developers (iPhone, iPad, etc.). It was inspired by the WebGoat project, and has a similar conceptual flow to it.&lt;br /&gt;
&lt;br /&gt;
As such, iGoat is a safe environment where iOS developers can learn about the major security pitfalls they face as well as how to avoid them. It is made up of a series of lessons that each teach a single (but vital) security lesson.&lt;br /&gt;
&lt;br /&gt;
The lessons are laid out in the following steps:&lt;br /&gt;
&lt;br /&gt;
# Brief introduction to the problem.&lt;br /&gt;
# Verify the problem by exploiting it.&lt;br /&gt;
# Brief description of available remediations to the problem.&lt;br /&gt;
# Fix the problem by correcting and rebuilding the iGoat program.&lt;br /&gt;
&lt;br /&gt;
Step 4 is optional, but highly recommended for all iOS developers. Assistance is available within iGoat if you don't know how to fix a specific problem.&lt;br /&gt;
&lt;br /&gt;
iGoat is free software, released under the GPLv3 license.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iGoat_Project iGoat Project Page]&lt;br /&gt;
&lt;br /&gt;
The iGoat source code is available on Google Code [http://code.google.com/p/owasp-igoat/ iGoat Source Code]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;br /&gt;
&lt;br /&gt;
The MobiSec Live Environment Mobile Testing Framework project is a live environment for testing mobile environments, including devices, applications, and supporting infrastructure. The purpose is to provide attackers and defenders the ability to test their mobile environments to identify design weaknesses and vulnerabilities. The MobiSec Live Environment provides a single environment for testers to leverage the best of all available open source mobile testing tools, as well as the ability to install additional tools and platforms, that will aid the penetration tester through the testing process as the environment is structured and organized based on an industry­‐proven testing framework. Using a live environment provides penetration testers the ability to boot the MobiSec Live Environment on any Intel-­based system from a DVD or USB flash drive, or run the test environment within a virtual machine. &lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_MobiSec Project Page]&lt;br /&gt;
&lt;br /&gt;
MobiSec can be downloaded from Sourceforge: [http://sourceforge.net/p/mobisec/wiki/Home/ MobiSec Download Repository]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152051</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152051"/>
				<updated>2013-05-22T14:52:56Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
iMAS is a collaborative research project from the MITRE Corporation focused on open source iOS security controls. Today, iOS meets the enterprise security needs of customers, however many security experts cite critical vulnerabilities and have demonstrated exploits, which pushes enterprises to augment iOS deployments with commercial solutions. The iMAS intent is to protect iOS applications and data beyond the Apple provided security model and reduce the adversary’s ability and efficiency to perform recon, exploitation, control and execution on iOS mobile applications. iMAS will transform the effectiveness of the existing iOS security model across major vulnerability areas including the System Passcode, jailbreak, debugger / run-time, flash storage, and the system keychain. Research outcomes include an open source secure application framework, including an application container, developer and validation tools/techniques.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about iMAS Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
OWASP GoatDroid is a fully functional and self-contained training environment for educating developers and testers on Android security. GoatDroid requires minimal dependencies and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location-based social network, and Herd Financial, a mobile banking application. There are also several feature that greatly simplify usage within a training environment or for absolute beginners who want a good introduction to working with the Android platform.&lt;br /&gt;
&lt;br /&gt;
As the Android SDK introduces new features, the GoatDroid contributors will strive to implement up-to-date lessons that can educate developers and security testers on new security issues. The project currently provides coverage for most of the OWASP Top 10 Mobile Risks and also includes a bunch of other problems as well.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project GoatDroid Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
iGoat is a learning tool for iOS developers (iPhone, iPad, etc.). It was inspired by the WebGoat project, and has a similar conceptual flow to it.&lt;br /&gt;
&lt;br /&gt;
As such, iGoat is a safe environment where iOS developers can learn about the major security pitfalls they face as well as how to avoid them. It is made up of a series of lessons that each teach a single (but vital) security lesson.&lt;br /&gt;
&lt;br /&gt;
The lessons are laid out in the following steps:&lt;br /&gt;
&lt;br /&gt;
# Brief introduction to the problem.&lt;br /&gt;
# Verify the problem by exploiting it.&lt;br /&gt;
# Brief description of available remediations to the problem.&lt;br /&gt;
# Fix the problem by correcting and rebuilding the iGoat program.&lt;br /&gt;
&lt;br /&gt;
Step 4 is optional, but highly recommended for all iOS developers. Assistance is available within iGoat if you don't know how to fix a specific problem.&lt;br /&gt;
&lt;br /&gt;
iGoat is free software, released under the GPLv3 license.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iGoat_Project iGoat Project Page]&lt;br /&gt;
&lt;br /&gt;
The iGoat source code is available on Google Code [http://code.google.com/p/owasp-igoat/ iGoat Source Code]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;br /&gt;
&lt;br /&gt;
The MobiSec Live Environment Mobile Testing Framework project is a live environment for testing mobile environments, including devices, applications, and supporting infrastructure. The purpose is to provide attackers and defenders the ability to test their mobile environments to identify design weaknesses and vulnerabilities. The MobiSec Live Environment provides a single environment for testers to leverage the best of all available open source mobile testing tools, as well as the ability to install additional tools and platforms, that will aid the penetration tester through the testing process as the environment is structured and organized based on an industry­‐proven testing framework. Using a live environment provides penetration testers the ability to boot the MobiSec Live Environment on any Intel-­based system from a DVD or USB flash drive, or run the test environment within a virtual machine. &lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_MobiSec Project Page]&lt;br /&gt;
&lt;br /&gt;
MobiSec can be downloaded from Sourceforge: [http://sourceforge.net/p/mobisec/wiki/Home/ MobiSec Download Repository]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152050</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152050"/>
				<updated>2013-05-22T14:49:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
iMAS is a collaborative research project from the MITRE Corporation focused on open source iOS security controls. Today, iOS meets the enterprise security needs of customers, however many security experts cite critical vulnerabilities and have demonstrated exploits, which pushes enterprises to augment iOS deployments with commercial solutions. The iMAS intent is to protect iOS applications and data beyond the Apple provided security model and reduce the adversary’s ability and efficiency to perform recon, exploitation, control and execution on iOS mobile applications. iMAS will transform the effectiveness of the existing iOS security model across major vulnerability areas including the System Passcode, jailbreak, debugger / run-time, flash storage, and the system keychain. Research outcomes include an open source secure application framework, including an application container, developer and validation tools/techniques.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about iMAS Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project GoatDroid Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
iGoat is a learning tool for iOS developers (iPhone, iPad, etc.). It was inspired by the WebGoat project, and has a similar conceptual flow to it.&lt;br /&gt;
&lt;br /&gt;
As such, iGoat is a safe environment where iOS developers can learn about the major security pitfalls they face as well as how to avoid them. It is made up of a series of lessons that each teach a single (but vital) security lesson.&lt;br /&gt;
&lt;br /&gt;
The lessons are laid out in the following steps:&lt;br /&gt;
&lt;br /&gt;
# Brief introduction to the problem.&lt;br /&gt;
# Verify the problem by exploiting it.&lt;br /&gt;
# Brief description of available remediations to the problem.&lt;br /&gt;
# Fix the problem by correcting and rebuilding the iGoat program.&lt;br /&gt;
&lt;br /&gt;
Step 4 is optional, but highly recommended for all iOS developers. Assistance is available within iGoat if you don't know how to fix a specific problem.&lt;br /&gt;
&lt;br /&gt;
iGoat is free software, released under the GPLv3 license.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iGoat_Project iGoat Project Page]&lt;br /&gt;
&lt;br /&gt;
The iGoat source code is available on Google Code [http://code.google.com/p/owasp-igoat/ iGoat Source Code]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;br /&gt;
&lt;br /&gt;
The MobiSec Live Environment Mobile Testing Framework project is a live environment for testing mobile environments, including devices, applications, and supporting infrastructure. The purpose is to provide attackers and defenders the ability to test their mobile environments to identify design weaknesses and vulnerabilities. The MobiSec Live Environment provides a single environment for testers to leverage the best of all available open source mobile testing tools, as well as the ability to install additional tools and platforms, that will aid the penetration tester through the testing process as the environment is structured and organized based on an industry­‐proven testing framework. Using a live environment provides penetration testers the ability to boot the MobiSec Live Environment on any Intel-­based system from a DVD or USB flash drive, or run the test environment within a virtual machine. &lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_MobiSec Project Page]&lt;br /&gt;
&lt;br /&gt;
MobiSec can be downloaded from Sourceforge: [http://sourceforge.net/p/mobisec/wiki/Home/ MobiSec Download Repository]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152049</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152049"/>
				<updated>2013-05-22T14:47:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
iMAS is a collaborative research project from the MITRE Corporation focused on open source iOS security controls. Today, iOS meets the enterprise security needs of customers, however many security experts cite critical vulnerabilities and have demonstrated exploits, which pushes enterprises to augment iOS deployments with commercial solutions. The iMAS intent is to protect iOS applications and data beyond the Apple provided security model and reduce the adversary’s ability and efficiency to perform recon, exploitation, control and execution on iOS mobile applications. iMAS will transform the effectiveness of the existing iOS security model across major vulnerability areas including the System Passcode, jailbreak, debugger / run-time, flash storage, and the system keychain. Research outcomes include an open source secure application framework, including an application container, developer and validation tools/techniques.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about iMAS Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project GoatDroid Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
iGoat is a learning tool for iOS developers (iPhone, iPad, etc.). It was inspired by the WebGoat project, and has a similar conceptual flow to it.&lt;br /&gt;
&lt;br /&gt;
As such, iGoat is a safe environment where iOS developers can learn about the major security pitfalls they face as well as how to avoid them. It is made up of a series of lessons that each teach a single (but vital) security lesson.&lt;br /&gt;
&lt;br /&gt;
The lessons are laid out in the following steps:&lt;br /&gt;
&lt;br /&gt;
# Brief introduction to the problem.&lt;br /&gt;
# Verify the problem by exploiting it.&lt;br /&gt;
# Brief description of available remediations to the problem.&lt;br /&gt;
# Fix the problem by correcting and rebuilding the iGoat program.&lt;br /&gt;
&lt;br /&gt;
Step 4 is optional, but highly recommended for all iOS developers. Assistance is available within iGoat if you don't know how to fix a specific problem.&lt;br /&gt;
&lt;br /&gt;
iGoat is free software, released under the GPLv3 license.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iGoat_Project iGoat Project Page]&lt;br /&gt;
&lt;br /&gt;
The iGoat source code is available on Google Code [http://code.google.com/p/owasp-igoat/ iGoat Source Code]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152048</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152048"/>
				<updated>2013-05-22T14:44:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
iMAS is a collaborative research project from the MITRE Corporation focused on open source iOS security controls. Today, iOS meets the enterprise security needs of customers, however many security experts cite critical vulnerabilities and have demonstrated exploits, which pushes enterprises to augment iOS deployments with commercial solutions. The iMAS intent is to protect iOS applications and data beyond the Apple provided security model and reduce the adversary’s ability and efficiency to perform recon, exploitation, control and execution on iOS mobile applications. iMAS will transform the effectiveness of the existing iOS security model across major vulnerability areas including the System Passcode, jailbreak, debugger / run-time, flash storage, and the system keychain. Research outcomes include an open source secure application framework, including an application container, developer and validation tools/techniques.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
iGoat is a learning tool for iOS developers (iPhone, iPad, etc.). It was inspired by the WebGoat project, and has a similar conceptual flow to it.&lt;br /&gt;
&lt;br /&gt;
As such, iGoat is a safe environment where iOS developers can learn about the major security pitfalls they face as well as how to avoid them. It is made up of a series of lessons that each teach a single (but vital) security lesson.&lt;br /&gt;
&lt;br /&gt;
The lessons are laid out in the following steps:&lt;br /&gt;
&lt;br /&gt;
# Brief introduction to the problem.&lt;br /&gt;
# Verify the problem by exploiting it.&lt;br /&gt;
# Brief description of available remediations to the problem.&lt;br /&gt;
# Fix the problem by correcting and rebuilding the iGoat program.&lt;br /&gt;
&lt;br /&gt;
Step 4 is optional, but highly recommended for all iOS developers. Assistance is available within iGoat if you don't know how to fix a specific problem.&lt;br /&gt;
&lt;br /&gt;
iGoat is free software, released under the GPLv3 license.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Dangers_of_Jailbreaking_and_Rooting_Mobile_Devices Dangers of Jailbreaking &amp;amp; Rooting Mobile Devices]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=152047</id>
		<title>OWASP Mobile Security Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=152047"/>
				<updated>2013-05-22T14:40:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Overview=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications.  Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation. &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;We have a Google Doc up where anyone that wants to be involved with the project can add their thoughts, suggestions, and take ownership of initiatives. [https://docs.google.com/document/d/1bScrvrLJLOHcSbztjBxYoN-jN3kR8bViy9tF8Nx0c08/edit https://docs.google.com/document/d/1bScrvrLJLOHcSbztjBxYoN-jN3kR8bViy9tF8Nx0c08/edit]. There are various tasks that people have started over the past 6 months with varying levels of quality and completeness.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Top Ten Mobile Risks  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Top Ten Mobile Risks | Top Ten Mobile Risks}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Tools  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Security Testing  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Security Testing | Mobile Security Testing}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Cheat Sheet Series =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Mobile Cheat Sheets Series | Mobile Cheat Sheet Series}}&lt;br /&gt;
&lt;br /&gt;
= Secure Mobile Development =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Secure Development Guidelines | Secure Development Guidelines}}&lt;br /&gt;
&lt;br /&gt;
= Top Ten Mobile Controls  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Top Ten Mobile Controls | Top Ten Mobile Controls And Design Principles}}&lt;br /&gt;
&lt;br /&gt;
= OWASP Mobile Threat Model Project  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Mobile Threat Model | Project About}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|Mobile Security Project]] [[Category:OWASP_Document]] [[Category:OWASP_Alpha_Quality_Document|OWASP Alpha Quality Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152046</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152046"/>
				<updated>2013-05-22T14:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
iMAS is a collaborative research project from the MITRE Corporation focused on open source iOS security controls. Today, iOS meets the enterprise security needs of customers, however many security experts cite critical vulnerabilities and have demonstrated exploits, which pushes enterprises to augment iOS deployments with commercial solutions. The iMAS intent is to protect iOS applications and data beyond the Apple provided security model and reduce the adversary’s ability and efficiency to perform recon, exploitation, control and execution on iOS mobile applications. iMAS will transform the effectiveness of the existing iOS security model across major vulnerability areas including the System Passcode, jailbreak, debugger / run-time, flash storage, and the system keychain. Research outcomes include an open source secure application framework, including an application container, developer and validation tools/techniques.&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Dangers_of_Jailbreaking_and_Rooting_Mobile_Devices Dangers of Jailbreaking &amp;amp; Rooting Mobile Devices]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152045</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152045"/>
				<updated>2013-05-22T14:37:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
iMAS – iOS secure application framework to reduce iOS application vulnerabilities and information loss. iMAS and its first open source static security controls for download and use in iOS applications. Visit and browse our project to find out more; download and give it a try. Once you do, tell us what you think or better yet, get involved and participate!&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_iMAS_iOS_Mobile_Application_Security_Project iMas Project Page]&lt;br /&gt;
&lt;br /&gt;
The source code for iMAS is available on GitHub: [https://github.com/project-imas/about Source Code]&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Dangers_of_Jailbreaking_and_Rooting_Mobile_Devices Dangers of Jailbreaking &amp;amp; Rooting Mobile Devices]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152044</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152044"/>
				<updated>2013-05-22T14:35:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project Source Code]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Dangers_of_Jailbreaking_and_Rooting_Mobile_Devices Dangers of Jailbreaking &amp;amp; Rooting Mobile Devices]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152043</id>
		<title>Projects/OWASP Mobile Security Project - Mobile Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Mobile_Tools&amp;diff=152043"/>
				<updated>2013-05-22T14:35:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: Created page with &amp;quot;== iMas  ==   == GoatDroid  ==  The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.  GoatDroid requires minim...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iMas  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GoatDroid  ==&lt;br /&gt;
&lt;br /&gt;
The OWASP GoatDroid Project is a fully functional and self-contained environment for learning about Android security.&lt;br /&gt;
&lt;br /&gt;
GoatDroid requires minimal dependencies, and is ideal for both Android beginners as well as more advanced users. The project currently includes two applications: FourGoats, a location based social network, and Herd Financial, a mobile banking application.&lt;br /&gt;
&lt;br /&gt;
You can find GoatDroid on GitHub: [https://github.com/jackMannino/OWASP-GoatDroid-Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_GoatDroid_Project GoatDroid Project Page]&lt;br /&gt;
&lt;br /&gt;
== iGoat ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Dangers_of_Jailbreaking_and_Rooting_Mobile_Devices Dangers of Jailbreaking &amp;amp; Rooting Mobile Devices]&lt;br /&gt;
&lt;br /&gt;
== MobiSec ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=152042</id>
		<title>OWASP Mobile Security Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=152042"/>
				<updated>2013-05-22T14:14:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Overview=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications.  Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation. &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;We have a Google Doc up where anyone that wants to be involved with the project can add their thoughts, suggestions, and take ownership of initiatives. [https://docs.google.com/document/d/1bScrvrLJLOHcSbztjBxYoN-jN3kR8bViy9tF8Nx0c08/edit https://docs.google.com/document/d/1bScrvrLJLOHcSbztjBxYoN-jN3kR8bViy9tF8Nx0c08/edit]. There are various tasks that people have started over the past 6 months with varying levels of quality and completeness.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Top Ten Mobile Risks  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Top Ten Mobile Risks | Top Ten Mobile Risks}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Tools  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP GoatDroid Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Security Testing  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Security Testing | Mobile Security Testing}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Cheat Sheet Series =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Mobile Cheat Sheets Series | Mobile Cheat Sheet Series}}&lt;br /&gt;
&lt;br /&gt;
= Secure Mobile Development =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Secure Development Guidelines | Secure Development Guidelines}}&lt;br /&gt;
&lt;br /&gt;
= Top Ten Mobile Controls  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Top Ten Mobile Controls | Top Ten Mobile Controls And Design Principles}}&lt;br /&gt;
&lt;br /&gt;
= OWASP Mobile Threat Model Project  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Mobile Threat Model | Project About}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|Mobile Security Project]] [[Category:OWASP_Document]] [[Category:OWASP_Alpha_Quality_Document|OWASP Alpha Quality Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=152041</id>
		<title>OWASP Mobile Security Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Mobile_Security_Project&amp;diff=152041"/>
				<updated>2013-05-22T14:14:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Overview=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications.  Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation. &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;We have a Google Doc up where anyone that wants to be involved with the project can add their thoughts, suggestions, and take ownership of initiatives. [https://docs.google.com/document/d/1bScrvrLJLOHcSbztjBxYoN-jN3kR8bViy9tF8Nx0c08/edit https://docs.google.com/document/d/1bScrvrLJLOHcSbztjBxYoN-jN3kR8bViy9tF8Nx0c08/edit]. There are various tasks that people have started over the past 6 months with varying levels of quality and completeness.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Top Ten Mobile Risks  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Top Ten Mobile Risks | Top Ten Mobile Risks}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Security Testing  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Security Testing | Mobile Security Testing}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Cheat Sheet Series =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Mobile Cheat Sheets Series | Mobile Cheat Sheet Series}}&lt;br /&gt;
&lt;br /&gt;
= Secure Mobile Development =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Secure Development Guidelines | Secure Development Guidelines}}&lt;br /&gt;
&lt;br /&gt;
= Top Ten Mobile Controls  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Top Ten Mobile Controls | Top Ten Mobile Controls And Design Principles}}&lt;br /&gt;
&lt;br /&gt;
= Mobile Tools  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP GoatDroid Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
= OWASP Mobile Threat Model Project  =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP Mobile Security Project - Mobile Threat Model | Project About}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|Mobile Security Project]] [[Category:OWASP_Document]] [[Category:OWASP_Alpha_Quality_Document|OWASP Alpha Quality Document]]&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Certificate_and_Public_Key_Pinning&amp;diff=145134</id>
		<title>Certificate and Public Key Pinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Certificate_and_Public_Key_Pinning&amp;diff=145134"/>
				<updated>2013-02-20T02:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Certificate and Public Key Pinning]] is a technical guide to implementing certificate and public key pinning as discussed at the ''[https://www.owasp.org/index.php/Virginia Virginia chapter's]'' presentation [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Securing Wireless Channels in the Mobile Space]]. This guide is focused on providing clear, simple, actionable guidance for securing the channel in a hostile environment where actors could be malicious and the conference of trust a liability. Additional presentation material included [[Media:pubkey-pin-supplement.pdf|supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], and [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]].&lt;br /&gt;
&lt;br /&gt;
A cheat sheet is available at [[Pinning_Cheat_Sheet|Pinning Cheat Sheet]].&lt;br /&gt;
&lt;br /&gt;
== Introduction == &lt;br /&gt;
&lt;br /&gt;
Secure channels are a cornerstone to users and employees working remotely and on the go. Users and developers expect end-to-end security when sending and receiving data - especially sensitive data on channels protected by VPN, SSL, or TLS. While organizations which control DNS and CA have likely reduced risk to trivial levels under most threat models, users and developers subjugated to other's DNS and a public CA hierarchy are exposed to non-trivial amounts of risk. In fact, history has shown those relying on outside services have suffered chronic breaches in their secure channels.&lt;br /&gt;
&lt;br /&gt;
The pandemic abuse of trust has resulted in users, developers and applications making security related decisions on untrusted input. The situation is somewhat of a paradox: entities such as DNS and CAs are trusted and supposed to supply trusted input; yet their input cannot be trusted. Relying on untrusted input for security related decisions is not only bad karma, it violates a number of secure coding principals (see, for example, OWASP's [[Injection Theory]] and [[Data Validation]]).&lt;br /&gt;
&lt;br /&gt;
Pinning effectively removes the &amp;quot;conference of trust&amp;quot;. An application which pins a certificate or public key no longer needs to depend on others - such as DNS or CAs - when making decisions relating to a peer's identity. For those familiar with SSH, you should realize that public key pinning nearly identical to SSH's &amp;lt;tt&amp;gt;StrictHostKeyChecking&amp;lt;/tt&amp;gt; option. SSH had it right the entire time, and the rest of the world is beginning to realize the virtues of directly identifying a host or service by its public key.&lt;br /&gt;
&lt;br /&gt;
Others who actively engage in pinning include Google and its browser Chrome. Chrome was successful in detecting the DigiNotar compromise which uncovered suspected interception by the Iranian government on its citizens. The initial report of the compromise can be found at ''[https://productforums.google.com/d/topic/gmail/3J3r2JqFNTw/discussion Is This MITM Attack to Gmail's SSL?]''; and Google Security's immediate response at ''[https://googleonlinesecurity.blogspot.com/2011/08/update-on-attempted-man-in-middle.html An update on attempted man-in-the-middle attacks]''.&lt;br /&gt;
&lt;br /&gt;
== What's the problem? ==&lt;br /&gt;
&lt;br /&gt;
Users, developers, and applications expect end-to-end security on their secure channels, but some secure channels are not meeting the expectation. Specifically, channels built using well known protocols such as VPN, SSL, and TLS can be vulnerable to a number of attacks.&lt;br /&gt;
&lt;br /&gt;
Examples of past failures are listed on the discussion tab for this article. This cheat sheet does not attempt to catalogue the failures in the industry, investigate the design flaws in the scaffolding, justify the lack of accountability or liability with the providers, explain the race to the bottom in services, or demystify the collusion between, for example, Browsers and CAs. For additional reading, please visit ''[http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf PKI is Broken]'' and ''[http://blog.cryptographyengineering.com/2012/02/how-to-fix-internet.html The Internet is Broken]''.&lt;br /&gt;
&lt;br /&gt;
=== Patient 0 ===&lt;br /&gt;
&lt;br /&gt;
The original problem was the ''Key Distribution Problem''. Insecure communications can be transformed into a secure communication problem with encryption. Encrypted communications can be transformed into an identity problem with signatures. The identity problem terminates at the key distribution problem. They are the same problem.&lt;br /&gt;
&lt;br /&gt;
=== The Cures ===&lt;br /&gt;
&lt;br /&gt;
There are three cures for the key distribution problem. First is to have first hand knowledge of your partner or peer (i.e., a peer, server or service). This could be solved with SneakerNet. Unfortunately, SneakerNet does not scale and cannot be used to solve the key distribution problem.&lt;br /&gt;
&lt;br /&gt;
The second is to rely on others, and it has two variants: (1) web of trust, and (2) hierarchy of trust. Web of Trust and Hierarchy of Trust solve the key distribution problem in a sterile environment. However, Web of Trust and Hierarchy of Trust each requires us to require us to rely on others - or '''confer trust'''. In practice, trusting others is showing to be problematic.&lt;br /&gt;
&lt;br /&gt;
== What Is Pinning? ==&lt;br /&gt;
&lt;br /&gt;
Pinning is the process of associating a host with their ''expected'' X509 certificate or public key. Once a certificate or public key is known or seen for a host, the certificate or public key is associated or 'pinned' to the host. If more than one certificate or public key is acceptable, then the program holds a ''pinset'' (taking from [https://developers.google.com/events/io/sessions/gooio2012/107/ Jon Larimer and Kenny Root Google I/O talk]). In this case, the advertised identity must match one of the elements in the pinset.&lt;br /&gt;
&lt;br /&gt;
A host or service's certificate or public key can be added to an application at development time, or it can be added upon first encountering the certificate or public key. The former - adding at development time - is preferred since ''preloading'' the certificate or public key ''out of band'' usually means the attacker cannot taint the pin.&lt;br /&gt;
&lt;br /&gt;
Pinning leverages knowledge of the pre-existing relationship between the user and an organization or service to help make better security related decisions. Because you already have information on the server or service, you don't need to rely on generalized mechanisms meant to solve the ''key distribution'' problem. That is, you don't need to turn to DNS for name/address mappings or CAs for bindings and status. Once exception is revocation and it is discussed below in [[#Pinning_Gaps|Pinning Gaps]].&lt;br /&gt;
&lt;br /&gt;
=== When Do You Pin? ===&lt;br /&gt;
&lt;br /&gt;
You should pin anytime you want to be relatively certain of the remote host's identity or when operating in a hostile environment. Since one or both are almost always true, you should probably pin all the time.&lt;br /&gt;
&lt;br /&gt;
A perfect case in point: during the two weeks or so of preparation for the presentation and cheat sheet, we've observed three relevant and related failures. First was [http://gaurangkp.wordpress.com/2013/01/09/nokia-https-mitm/ Nokia/Opera willfully breaking the secure channel]; second was [http://blog.malwarebytes.org/intelligence/2013/02/digital-certificates-and-malware-a-dangerous-mix/ DigiCert issuing a code signing certificate for malware]; and third was [http://krebsonsecurity.com/2013/02/security-firm-bit9-hacked-used-to-spread-malware/ Bit9's loss of its root signing key]. The environment is not only hostile, its toxic.&lt;br /&gt;
&lt;br /&gt;
=== When Do You Whitelist? ===&lt;br /&gt;
&lt;br /&gt;
If you are working for an organization which practices &amp;quot;egress filtering&amp;quot; as part of a Data Loss Prevention (DLP) strategy, you will likely encounter ''Interception Proxies''. I like to refer to these things as '''&amp;quot;good&amp;quot; bad guys''' (as opposed to '''&amp;quot;bad&amp;quot; bad guys''') since both break end-to-end security and we can't tell them apart. In this case, '''do not''' offer to whitelist the interception proxy since it defeats your security goals. Add the interception proxy's public key to your pinset after being '''instructed''' to do so by the folks in Risk Acceptance.&lt;br /&gt;
&lt;br /&gt;
Note: if you whitelist a certificate or public key for a different host (for example, to accommodate an interception proxy), you are no longer pinning the expected certificates and keys for the host. Security and integrity on the channel could suffer, and it surely breaks end-to-end security expectations of users and organizations.&lt;br /&gt;
&lt;br /&gt;
For more reading on interception proxies, the additional risk they bestow, and how they fail, see Dr. Matthew Green's ''[http://blog.cryptographyengineering.com/2012/03/how-do-interception-proxies-fail.html How do Interception Proxies fail?]'' and Jeff Jarmoc's BlackHat talk ''[https://www.blackhat.com/html/bh-eu-12/bh-eu-12-archives.html#jarmoc SSL/TLS Interception Proxies and Transitive Trust]''.&lt;br /&gt;
&lt;br /&gt;
=== How Do You Pin? ===&lt;br /&gt;
&lt;br /&gt;
The idea is to re-use the exiting protocols and infrastructure, but use them in a hardened manner. For re-use, a program would keep doing the things it used to do when establishing a secure connection.&lt;br /&gt;
&lt;br /&gt;
To harden the channel, the program would would take advantage of the &amp;lt;tt&amp;gt;OnConnect&amp;lt;/tt&amp;gt; callback offered by a library, framework or platform. In the callback, the program would verify the remote host's identity by validating its certificate or public key. While pinning does not have to occur in an &amp;lt;tt&amp;gt;OnConnect&amp;lt;/tt&amp;gt; callback, its often most convenient because the underlying connection information is readily available.&lt;br /&gt;
&lt;br /&gt;
== What Should Be Pinned? ==&lt;br /&gt;
&lt;br /&gt;
The first thing to decide is what should be pinned. For this choice, you have two options: you can (1) pin  the certificate; or (2) pin the public key. If you choose public keys, you have two additional choices: (a) pin the &amp;lt;tt&amp;gt;subjectPublicKeyInfo&amp;lt;/tt&amp;gt;; or (b) pin one of the concrete types such as &amp;lt;tt&amp;gt;RSAPublicKey&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;DSAPublicKey&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The three choices are explained below in more detail. I would encourage you to pin the &amp;lt;tt&amp;gt;subjectPublicKeyInfo&amp;lt;/tt&amp;gt; because it has the public parameters (such as &amp;lt;tt&amp;gt;{e,n}&amp;lt;/tt&amp;gt; for an RSA public key) '''and''' contextual information such as an algorithm and OID. The context will help you keep your bearings at times, and Figure 1 below shows the additional information available.&lt;br /&gt;
&lt;br /&gt;
=== Encodings/Formats ===&lt;br /&gt;
&lt;br /&gt;
For the purposes of this article, the objects are in X509-compatible presentation format (PKCS#1 defers to X509, both of which use ASN.1). If you have a PEM encoded object (for example, &amp;lt;tt&amp;gt;-----BEGIN CERTIFICATE-----&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-----END CERTIFICATE-----&amp;lt;/tt&amp;gt;), then convert the object to DER encoding. Conversion using OpenSSL is offered below in [[#Format_Conversions|Format Conversions]].&lt;br /&gt;
&lt;br /&gt;
A certificate is an object which binds an entity (such as a person or organization) to a public key via a signature. The certificate is DER encoded, and has associated data or attributes such as ''Subject'' (who is identified or bound), ''Issuer'' (who signed it), ''Validity'' (''NotBefore'' and ''NotAfter''), and a ''Public Key''.&lt;br /&gt;
&lt;br /&gt;
A certificate has a ''subjectPublicKeyInfo''. The subjectPublicKeyInfo is a key with additional information. The ASN.1 type includes an ''Algorithm ID'', a ''Version'', and an extensible format to hold a concrete public key. Figures 1 and 2 below show different views of the same of a RSA key, which is the subjectPublicKeyInfo. The key is for the site [https://www.random.org random.org], and it is used in the sample programs and listings below.&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:random-org-der-dump.png|thumb|375px|Figure 1: subjectPublicKeyInfo dumped with dumpans1]]&lt;br /&gt;
| [[File:random-org-der-hex.png|thumb|375px|Figure 2: subjectPublicKeyInfo under a hex editor]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The concrete public key is an encoded public key. The key format will usually be specified elsewhere - for example, PKCS#1 in the case of RSA Public Keys. In the case of an RSA public key, the type is ''RSAPublicKey'' and the parameters &amp;lt;tt&amp;gt;{e,n}&amp;lt;/tt&amp;gt; will be ASN.1 encoded. Figures 1 and 2 above clearly show the modulus (''n'' at line 28) and exponent (''e'' at line 289). For DSA, the concrete type is DSAPublicKey and the ASN.1 encoded parameters would be &amp;lt;tt&amp;gt;{p,q,g,y}&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Final takeaways: (1) a certificate binds an entity to a public key; (2) a certificate has a subjectPublicKeyInfo; and (3) a subjectPublicKeyInfo has an concrete public key. For those who want to learn more, a more in-depth discussion from a programmer's perspective can be found at the Code Project's article ''[http://www.codeproject.com/Articles/25487/Cryptographic-Interoperability-Keys Cryptographic Interoperability: Keys]''.&lt;br /&gt;
&lt;br /&gt;
=== Certificate ===&lt;br /&gt;
&lt;br /&gt;
[[File:pin-cert.png|thumb|right|100px|Certificate]] The certificate is easiest to pin. You can fetch the certificate out of band for the website, have the IT folks email your company certificate to you, use &amp;lt;tt&amp;gt;openssl s_client&amp;lt;/tt&amp;gt; to retrieve the certificate etc. When the certificate expires, you would update your application. Assuming your application has no bugs or security defects, the application would be updated every year or two.&lt;br /&gt;
&lt;br /&gt;
At runtime, you retrieve the website or server's certificate in the callback. Within the callback, you compare the retrieved certificate with the certificate embedded within the program. If the comparison fails, then fail the method or function. &lt;br /&gt;
&lt;br /&gt;
There is a downside to pinning a certificate. If the site rotates its certificate on a regular basis, then your application would need to be updated regularly. For example, Google rotates its certificates, so you will need to update your application about once a month (if it depended on Google services). Even though Google rotates its certificates, the underlying public keys (within the certificate) remain static.&lt;br /&gt;
&lt;br /&gt;
=== Public Key ===&lt;br /&gt;
&lt;br /&gt;
[[File:pin-pubkey.png|thumb|right|100px|Public Key]] Public key pinning is more flexible but a little trickier due to the extra steps necessary to extract the public key from a certificate. As with a certificate, the program checks the extracted public key with its embedded copy of the public key.&lt;br /&gt;
&lt;br /&gt;
There are two downsides two public key pinning. First, its harder to work with keys (versus certificates) since you usually must extract the key from the certificate. Extraction is a minor inconvenience in Java and .Net, buts its uncomfortable in Cocoa/CocoaTouch and OpenSSL. Second, the key is static and may violate key rotation policies.&lt;br /&gt;
&lt;br /&gt;
=== Hashing ===&lt;br /&gt;
&lt;br /&gt;
While the three choices above used DER encoding, its also acceptable to use a hash of the information (or other transforms). In fact, the original sample programs were written using digested certificates and public keys. The samples were changed to allow a programmer to inspect the objects with tools like &amp;lt;tt&amp;gt;dumpasn1&amp;lt;/tt&amp;gt; and other ASN.1 decoders.&lt;br /&gt;
&lt;br /&gt;
Hashing also provides three additional benefits. First, hashing allows you to anonymize a certificate or public key. This might be important if you application is concerned about leaking information during decompilation and re-engineering.&lt;br /&gt;
&lt;br /&gt;
Second, a digested certificate fingerprint is often available as a native API for many libraries, so its convenient to use.&lt;br /&gt;
&lt;br /&gt;
Finally, an organization might want to supply a reserve (or back-up) identity in case the primary identity is compromised. Hashing ensures your adversaries do not see the reserved certificate or public key in advance of its use. In fact, Google's IETF draft ''websec-key-pinning'' uses the technique.&lt;br /&gt;
&lt;br /&gt;
== What About X509? ==&lt;br /&gt;
&lt;br /&gt;
PKI{X} and the Internet form an intersection. What Internet users expect and what they receive from CAs could vary wildly. For example, an Internet user has security goals, while a CA has revenue goals and legal goals. Many are surprised to learn that the user is often required to perform host identity verification even though the CA issued the certificate (the details are buried in CA warranties on their certificates and their Certification Practice Statement (CPS)).&lt;br /&gt;
&lt;br /&gt;
There are a number of PKI profiles available. For the Internet, &amp;quot;Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL)&amp;quot;, also known as [http://tools.ietf.org/rfc/rfc5280.txt RFC 5280], is of interest. Since a certificate is specified in the ITU's X509 standard, there are lots of mandatory and optional fields available for validation from both bodies. Because of the disjoint goals among groups, the next section provides guidance.&lt;br /&gt;
&lt;br /&gt;
=== Mandatory Checks ===&lt;br /&gt;
&lt;br /&gt;
All X509 verifications must include:&lt;br /&gt;
&lt;br /&gt;
* A path validation check. The check verifies all the signatures on certificates in the chain are valid under a given PKI. The check begins at the server or service's certificate (the leaf), and proceeds back to a trusted root certificate (the root).&lt;br /&gt;
&lt;br /&gt;
* A validity check, or the &amp;lt;tt&amp;gt;notBefore&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt; fields. The &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt; field is especially important since a CA will not warrant the certificate after the date, and it does not have to provide CRL/OCSP updates after the date.&lt;br /&gt;
&lt;br /&gt;
* Revocation status. As with &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt;, revocation is important because the CA will not warrant a certificate once it is listed as revoked. The IETF approved way of checking a certificate's revocation is OCSP and specified in [http://tools.ietf.org/rfc/rfc2560.txt RFC 2560].&lt;br /&gt;
&lt;br /&gt;
=== Optional Checks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[Mulling over what else to present, and the best way to present it. Subject name? DNS lookups? Key Usage? Algorithms? Geolocation based on IP? Check back soon.]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Key Checks ===&lt;br /&gt;
&lt;br /&gt;
''Quod vide'' (''q.v.''). Verifying the identity of a host with knowledge of its associated/expected public key is pinning.&lt;br /&gt;
&lt;br /&gt;
== Examples of Pinning ==&lt;br /&gt;
&lt;br /&gt;
This section demonstrates certificate and public key pinning in Android Java, iOS, .Net, and OpenSSL. All programs attempt to connect to [https://www.random.org random.org] and fetch bytes (Dr. Mads Haahr participates in AOSP's pinning program, so the site should have a static key). The programs enjoy a pre-existing relationship with the site (more correctly, ''a priori'' knowledge), so they include a copy of the site's public key and pin the identity on the key.&lt;br /&gt;
&lt;br /&gt;
Parameter validation, return value checking, and error checking have been omitted in the code below, but is present in the sample programs. So the sample code is ready for copy/paste. By far, the most uncomfortable languages are C-based: iOS and OpenSSL.&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
&lt;br /&gt;
Pinning in Android is accomplished through a custom &amp;lt;tt&amp;gt;X509TrustManager&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;X509TrustManager&amp;lt;/tt&amp;gt; should perform the customary X509 checks in addition to performing the pin.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-android.zip|Android sample program]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;public final class PubKeyManager implements X509TrustManager&lt;br /&gt;
{&lt;br /&gt;
  private static String PUB_KEY = &amp;quot;30820122300d06092a864886f70d0101&amp;quot; +&lt;br /&gt;
    &amp;quot;0105000382010f003082010a0282010100b35ea8adaf4cb6db86068a836f3c85&amp;quot; +&lt;br /&gt;
    &amp;quot;5a545b1f0cc8afb19e38213bac4d55c3f2f19df6dee82ead67f70a990131b6bc&amp;quot; +&lt;br /&gt;
    &amp;quot;ac1a9116acc883862f00593199df19ce027c8eaaae8e3121f7f329219464e657&amp;quot; +&lt;br /&gt;
    &amp;quot;2cbf66e8e229eac2992dd795c4f23df0fe72b6ceef457eba0b9029619e0395b8&amp;quot; +&lt;br /&gt;
    &amp;quot;609851849dd6214589a2ceba4f7a7dcceb7ab2a6b60c27c69317bd7ab2135f50&amp;quot; +&lt;br /&gt;
    &amp;quot;c6317e5dbfb9d1e55936e4109b7b911450c746fe0d5d07165b6b23ada7700b00&amp;quot; +&lt;br /&gt;
    &amp;quot;33238c858ad179a82459c4718019c111b4ef7be53e5972e06ca68a112406da38&amp;quot; +&lt;br /&gt;
    &amp;quot;cf60d2f4fda4d1cd52f1da9fd6104d91a34455cd7b328b02525320a35253147b&amp;quot; +&lt;br /&gt;
    &amp;quot;e0b7a5bc860966dc84f10d723ce7eed5430203010001&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException&lt;br /&gt;
  {&lt;br /&gt;
    if (chain == null) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;checkServerTrusted: X509Certificate array is null&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!(chain.length &amp;gt; 0)) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;checkServerTrusted: X509Certificate is empty&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!(null != authType &amp;amp;&amp;amp; authType.equalsIgnoreCase(&amp;quot;RSA&amp;quot;))) {&lt;br /&gt;
      throw new CertificateException(&amp;quot;checkServerTrusted: AuthType is not RSA&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Perform customary SSL/TLS checks&lt;br /&gt;
    try {&lt;br /&gt;
      TrustManagerFactory tmf = TrustManagerFactory.getInstance(&amp;quot;X509&amp;quot;);&lt;br /&gt;
      tmf.init((KeyStore) null);&lt;br /&gt;
      &lt;br /&gt;
      for (TrustManager trustManager : tmf.getTrustManagers()) {&lt;br /&gt;
        ((X509TrustManager) trustManager).checkServerTrusted(chain, authType);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      throw new CertificateException(e);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Hack ahead: BigInteger and toString(). We know a DER encoded Public Key begins&lt;br /&gt;
    // with 0x30 (ASN.1 SEQUENCE and CONSTRUCTED), so there is no leading 0x00 to drop.&lt;br /&gt;
    RSAPublicKey pubkey = (RSAPublicKey) chain[0].getPublicKey();&lt;br /&gt;
    String encoded = new BigInteger(1 /* positive */, pubkey.getEncoded()).toString(16);&lt;br /&gt;
&lt;br /&gt;
    // Pin it!&lt;br /&gt;
    final boolean expected = PUB_KEY.equalsIgnoreCase(encoded);&lt;br /&gt;
    if (!expected) {&lt;br /&gt;
      throw new CertificateException(&amp;quot;checkServerTrusted: Expected public key: &amp;quot;&lt;br /&gt;
                + PUB_KEY + &amp;quot;, got public key:&amp;quot; + encoded);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;PubKeyManager&amp;lt;/tt&amp;gt; would be used in code similar to below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;TrustManager tm[] = { new PubKeyManager() };&lt;br /&gt;
&lt;br /&gt;
SSLContext context = SSLContext.getInstance(&amp;quot;TLS&amp;quot;);&lt;br /&gt;
context.init(null, tm, null);&lt;br /&gt;
&lt;br /&gt;
URL url = new URL( &amp;quot;https://www.random.org/integers/?&amp;quot; +&lt;br /&gt;
                   &amp;quot;num=16&amp;amp;min=0&amp;amp;max=255&amp;amp;col=16&amp;amp;base=10&amp;amp;format=plain&amp;amp;rnd=new&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();&lt;br /&gt;
connection.setSSLSocketFactory(context.getSocketFactory());&lt;br /&gt;
&lt;br /&gt;
InputStreamReader instream = new InputStreamReader(connection.getInputStream());&lt;br /&gt;
StreamTokenizer tokenizer = new StreamTokenizer(instream);&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iOS ===&lt;br /&gt;
&lt;br /&gt;
iOS pinning is performed through a &amp;lt;tt&amp;gt;NSURLConnectionDelegate&amp;lt;/tt&amp;gt;. The delegate must implement &amp;lt;tt&amp;gt;connection:canAuthenticateAgainstProtectionSpace:&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;connection:didReceiveAuthenticationChallenge:&amp;lt;/tt&amp;gt;. Within &amp;lt;tt&amp;gt;connection:didReceiveAuthenticationChallenge:&amp;lt;/tt&amp;gt;, the delegate must call &amp;lt;tt&amp;gt;SecTrustEvaluate&amp;lt;/tt&amp;gt; to perform customary X509 checks.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-ios.zip|iOS sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-(IBAction)fetchButtonTapped:(id)sender&lt;br /&gt;
{&lt;br /&gt;
    NSString* requestString = @&amp;quot;https://www.random.org/integers/?&lt;br /&gt;
        num=16&amp;amp;min=0&amp;amp;max=255&amp;amp;col=16&amp;amp;base=16&amp;amp;format=plain&amp;amp;rnd=new&amp;quot;;&lt;br /&gt;
    NSURL* requestUrl = [NSURL URLWithString:requestString];&lt;br /&gt;
&lt;br /&gt;
    NSURLRequest* request = [NSURLRequest requestWithURL:requestUrl&lt;br /&gt;
                                             cachePolicy:NSURLRequestReloadIgnoringLocalCacheData&lt;br /&gt;
                                         timeoutInterval:10.0f];&lt;br /&gt;
&lt;br /&gt;
    NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-(BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:&lt;br /&gt;
                  (NSURLProtectionSpace*)space&lt;br /&gt;
{&lt;br /&gt;
    return [[space authenticationMethod] isEqualToString: NSURLAuthenticationMethodServerTrust];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:&lt;br /&gt;
                   (NSURLAuthenticationChallenge *)challenge&lt;br /&gt;
{&lt;br /&gt;
  if ([[[challenge protectionSpace] authenticationMethod] isEqualToString: NSURLAuthenticationMethodServerTrust])&lt;br /&gt;
  {&lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
      SecTrustRef serverTrust = [[challenge protectionSpace] serverTrust];&lt;br /&gt;
      if(nil == serverTrust)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      OSStatus status = SecTrustEvaluate(serverTrust, NULL);&lt;br /&gt;
      if(!(errSecSuccess == status))&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      SecCertificateRef serverCertificate = SecTrustGetCertificateAtIndex(serverTrust, 0);&lt;br /&gt;
      if(nil == serverCertificate)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      CFDataRef serverCertificateData = SecCertificateCopyData(serverCertificate);&lt;br /&gt;
      [(id)serverCertificateData autorelease];&lt;br /&gt;
      if(nil == serverCertificateData)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      const UInt8* const data = CFDataGetBytePtr(serverCertificateData);&lt;br /&gt;
      const CFIndex size = CFDataGetLength(serverCertificateData);&lt;br /&gt;
      NSData* cert1 = [NSData dataWithBytes:data length:(NSUInteger)size];&lt;br /&gt;
&lt;br /&gt;
      NSString *file = [[NSBundle mainBundle] pathForResource:@&amp;quot;random-org&amp;quot; ofType:@&amp;quot;der&amp;quot;];&lt;br /&gt;
      NSData* cert2 = [NSData dataWithContentsOfFile:file];&lt;br /&gt;
&lt;br /&gt;
      if(nil == cert1 || nil == cert2)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      const BOOL equal = [cert1 isEqualToData:cert2];&lt;br /&gt;
      if(!equal)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      // The only good exit point&lt;br /&gt;
      return [[challenge sender] useCredential: [NSURLCredential credentialForTrust: serverTrust]&lt;br /&gt;
                    forAuthenticationChallenge: challenge];&lt;br /&gt;
    } while(0);&lt;br /&gt;
&lt;br /&gt;
    // Bad dog&lt;br /&gt;
    return [[challenge sender] cancelAuthenticationChallenge: challenge];&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== .Net ===&lt;br /&gt;
&lt;br /&gt;
.Net pinning can be achieved by using &amp;lt;tt&amp;gt;ServicePointManager&amp;lt;/tt&amp;gt; as shown below.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-dotnet.zip|.Net sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;// Encoded RSAPublicKey&lt;br /&gt;
private static String PUB_KEY = &amp;quot;30818902818100C4A06B7B52F8D17DC1CCB47362&amp;quot; +&lt;br /&gt;
    &amp;quot;C64AB799AAE19E245A7559E9CEEC7D8AA4DF07CB0B21FDFD763C63A313A668FE9D764E&amp;quot; +&lt;br /&gt;
    &amp;quot;D913C51A676788DB62AF624F422C2F112C1316922AA5D37823CD9F43D1FC54513D14B2&amp;quot; +&lt;br /&gt;
    &amp;quot;9E36991F08A042C42EAAEEE5FE8E2CB10167174A359CEBF6FACC2C9CA933AD403137EE&amp;quot; +&lt;br /&gt;
    &amp;quot;2C3F4CBED9460129C72B0203010001&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
public static void Main(string[] args)&lt;br /&gt;
{&lt;br /&gt;
  ServicePointManager.ServerCertificateValidationCallback = PinPublicKey;&lt;br /&gt;
  WebRequest wr = WebRequest.Create(&amp;quot;https://encrypted.google.com/&amp;quot;);&lt;br /&gt;
  wr.GetResponse();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public static bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain,&lt;br /&gt;
                                SslPolicyErrors sslPolicyErrors)&lt;br /&gt;
{&lt;br /&gt;
  if (null == certificate)&lt;br /&gt;
    return false;&lt;br /&gt;
&lt;br /&gt;
  String pk = certificate.GetPublicKeyString();&lt;br /&gt;
  if (pk.Equals(PUB_KEY))&lt;br /&gt;
    return true;&lt;br /&gt;
&lt;br /&gt;
  // Bad dog&lt;br /&gt;
  return false;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
&lt;br /&gt;
Pinning can occur at one of two places with OpenSSL. First is the user supplied &amp;lt;tt&amp;gt;verify_callback&amp;lt;/tt&amp;gt;. Second is after the connection is established via &amp;lt;tt&amp;gt;SSL_get_peer_certificate&amp;lt;/tt&amp;gt;. Either method will allow you to access the peer's certificate.&lt;br /&gt;
&lt;br /&gt;
Though OpenSSL performs the X509 checks, you must fail the connection and tear down the socket on error. By design, a server that does not supply a certificate will result in &amp;lt;tt&amp;gt;X509_V_OK&amp;lt;/tt&amp;gt; with a '''NULL''' certificate. To check the result of the customary verification: (1) you must call &amp;lt;tt&amp;gt;SSL_get_verify_result&amp;lt;/tt&amp;gt; and verify the return code is &amp;lt;tt&amp;gt;X509_V_OK&amp;lt;/tt&amp;gt;; and (2) you must call &amp;lt;tt&amp;gt;SSL_get_peer_certificate&amp;lt;/tt&amp;gt; and verify the certificate is '''non-NULL'''.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int pkp_pin_peer_pubkey(SSL* ssl)&lt;br /&gt;
{&lt;br /&gt;
    if(NULL == ssl) return FALSE;&lt;br /&gt;
    &lt;br /&gt;
    X509* cert = NULL;&lt;br /&gt;
    FILE* fp = NULL;&lt;br /&gt;
    &lt;br /&gt;
    /* Scratch */&lt;br /&gt;
    int len1 = 0, len2 = 0;&lt;br /&gt;
    unsigned char *buff1 = NULL, *buff2 = NULL;&lt;br /&gt;
    &lt;br /&gt;
    /* Result is returned to caller */&lt;br /&gt;
    int ret = 0, result = FALSE;&lt;br /&gt;
    &lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
        /* http://www.openssl.org/docs/ssl/SSL_get_peer_certificate.html */&lt;br /&gt;
        cert = SSL_get_peer_certificate(ssl);&lt;br /&gt;
        if(!(cert != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Begin Gyrations to get the subjectPublicKeyInfo       */&lt;br /&gt;
        /* Thanks to Viktor Dukhovni on the OpenSSL mailing list */&lt;br /&gt;
        &lt;br /&gt;
        /* http://groups.google.com/group/mailing.openssl.users/browse_thread/thread/d61858dae102c6c7 */&lt;br /&gt;
        len1 = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(cert), NULL);&lt;br /&gt;
        if(!(len1 &amp;gt; 0))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* scratch */&lt;br /&gt;
        unsigned char* temp = NULL;&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
        buff1 = temp = OPENSSL_malloc(len1);&lt;br /&gt;
        if(!(buff1 != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/d2i_X509.html */&lt;br /&gt;
        len2 = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(cert), &amp;amp;temp);&lt;br /&gt;
&lt;br /&gt;
        /* These checks are verifying we got back the same values as when we sized the buffer.      */&lt;br /&gt;
        /* Its pretty weak since they should always be the same. But it gives us something to test. */&lt;br /&gt;
        if(!((len1 == len2) &amp;amp;&amp;amp; (temp != NULL) &amp;amp;&amp;amp; ((temp - buff1) == len1)))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* End Gyrations */&lt;br /&gt;
        &lt;br /&gt;
        /* See the warning above!!!                                            */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fopen.html */&lt;br /&gt;
        fp = fopen(&amp;quot;random-org.der&amp;quot;, &amp;quot;rx&amp;quot;);&lt;br /&gt;
        if(NULL ==fp) {&lt;br /&gt;
            fp = fopen(&amp;quot;random-org.der&amp;quot;, &amp;quot;r&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        if(!(NULL != fp))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Seek to eof to determine the file's size                            */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fseek.html */&lt;br /&gt;
        ret = fseek(fp, 0, SEEK_END);&lt;br /&gt;
        if(!(0 == ret))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Fetch the file's size                                               */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/ftell.html */&lt;br /&gt;
        long size = ftell(fp);&lt;br /&gt;
&lt;br /&gt;
        /* Arbitrary size, but should be relatively small (less than 1K or 2K) */&lt;br /&gt;
        if(!(size != -1 &amp;amp;&amp;amp; size &amp;gt; 0 &amp;amp;&amp;amp; size &amp;lt; 2048))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Rewind to beginning to perform the read                             */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fseek.html */&lt;br /&gt;
        ret = fseek(fp, 0, SEEK_SET);&lt;br /&gt;
        if(!(0 == ret))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Re-use buff2 and len2 */&lt;br /&gt;
        buff2 = NULL; len2 = (int)size;&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
        buff2 = OPENSSL_malloc(len2);&lt;br /&gt;
        if(!(buff2 != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fread.html */&lt;br /&gt;
        /* Returns number of elements read, which should be 1 */&lt;br /&gt;
        ret = (int)fread(buff2, (size_t)len2, 1, fp);&lt;br /&gt;
        if(!(ret == 1))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Re-use size. MIN and MAX macro below... */&lt;br /&gt;
        size = len1 &amp;lt; len2 ? len1 : len2;&lt;br /&gt;
        &lt;br /&gt;
        /*************************/&lt;br /&gt;
        /*****    PAYDIRT    *****/&lt;br /&gt;
        /*************************/&lt;br /&gt;
        if(len1 != (int)size || len2 != (int)size || 0 != memcmp(buff1, buff2, (size_t)size))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* The one good exit point */&lt;br /&gt;
        result = TRUE;&lt;br /&gt;
        &lt;br /&gt;
    } while(0);&lt;br /&gt;
    &lt;br /&gt;
    if(fp != NULL)&lt;br /&gt;
        fclose(fp);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
    if(NULL != buff2)&lt;br /&gt;
        OPENSSL_free(buff2);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
    if(NULL != buff1)&lt;br /&gt;
        OPENSSL_free(buff1);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/X509_new.html */&lt;br /&gt;
    if(NULL != cert)&lt;br /&gt;
        X509_free(cert);&lt;br /&gt;
    &lt;br /&gt;
    return result;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pinning Alternatives ==&lt;br /&gt;
&lt;br /&gt;
Not all applications use split key cryptography. Fortunately, there are protocols which allow you to set up a secure channel based on knowledge of passwords and pre-shared secrets (rather than putting the secret on the wire in a basic authentication scheme). Two are listed below - SRP and PSK. SRP and PSK have [http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-3 88 cipher suites assigned to them by IANA for TLS], so there's no shortage of choices.&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:pin-iana-assigned.png|thumb|450px|Figure 3: IANA reserved cipher suites for SRP and PSK]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SRP ===&lt;br /&gt;
&lt;br /&gt;
Secure Remote Password (SRP) is a Password Authenticated Key Exchange (PAKE) by Thomas Wu based upon Diffie-Hellman. The protocol is standardized in [https://tools.ietf.org/rfc/rfc5054.txt RFC 5054] and available in the OpenSSL library (among others). In the SRP scheme, the server uses a verifier which consists of a &amp;lt;tt&amp;gt;{salt, hash(password)}&amp;lt;/tt&amp;gt; pair. The user has the password and receives the salt from the server. With lots of hand waiving, both parties select per-instance random values (nonces) and execute the protocol using ''g&amp;lt;sup&amp;gt;{(salt + password)|verifier} + nonces&amp;lt;/sup&amp;gt;'' rather than traditional Diffie-Hellman using ''g&amp;lt;sup&amp;gt;ab&amp;lt;/sup&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
[[File:homer-p-np.jpg|thumb|right|150px|P=NP!!!]]Diffie-Hellman based schemes are part of a family of problems based on Discrete Logs (DL), which are logarithms over a finite field. DL schemes are appealing because they are known to be hard (unless ''P=NP'', which would cause computational number theorists to have a cow).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EAP-PSK ===&lt;br /&gt;
&lt;br /&gt;
EAP-PSK is ''Extensible Authentication Protocol'' using a ''Pre-Shared Key''. EAP-PSK is specified in [https://tools.ietf.org/rfc/rfc4764.txt RFC 4764]. The shared secret is used to key a block cipher, which is in turn used to exchange session keys. EAP-PSK is designed for authentication over insecure networks such as IEEE 802.11.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
This sections covers administrivia and miscellaneous items related to pinning.&lt;br /&gt;
&lt;br /&gt;
=== Ephemeral Keys ===&lt;br /&gt;
&lt;br /&gt;
Ephemeral keys are temporary keys used for one instance of a protocol execution and then thrown away. An ephemeral key has the benefit of providing forward secrecy, meaning a compromise of the site or service's long term (static) signing key does not facilitate decrypting past messages because the key was temporary and discarded (once the session terminated).&lt;br /&gt;
&lt;br /&gt;
Ephemeral keys do not affect pinning because the Ephemeral key is delivered in a separate &amp;lt;tt&amp;gt;ServerKeyExchange&amp;lt;/tt&amp;gt; message. In addition, the ephemeral key is a key and not a certificate, so it does not change the construction of the certificate chain. That is, the certificate of interest will still be located at &amp;lt;tt&amp;gt;certificates[0]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Pinning Gaps ===&lt;br /&gt;
&lt;br /&gt;
There are two gaps when pinning due to reuse of the existing infrastructure and protocols. First, an explicit challenge is '''not''' sent by the program to the peer server based on the server's public information. So the program never knows if the peer can actually decrypt messages. However, the shortcoming is usually academic in practice since an adversary will receive messages it can't decrypt.&lt;br /&gt;
&lt;br /&gt;
Second is revocation. Clients don't usually engage in revocation checking, so it could be possible to use a known bad certificate or key in a pinset. Even if revocation is active, Certificate Revocation Lists (CRLs) and Online Certificate Status Protocol (OCSP) can be defeated in a hostile environment. An application can take steps to remediate, with the primary means being freshness. That is, an application should be updated and distributed immediately when a critical security parameter changes.&lt;br /&gt;
&lt;br /&gt;
=== No Relationship ^@$! ===&lt;br /&gt;
&lt;br /&gt;
If you don't have a pre-existing relationship, all is not lost. First, you can pin a host or server's certificate or public key the first time you encounter it. If the bad guy was not active when you encountered the certificate or public key, he or she will not be successful with future funny business.&lt;br /&gt;
&lt;br /&gt;
Second, bad certificates are being spotted quicker in the field due to projects like [http://www.chromium.org Chromium] and [https://addons.mozilla.org/en-us/firefox/addon/certificate-patrol/ Certificate Patrol], and initiatives like the EFF's [https://www.eff.org/observatory SSL Observatory].&lt;br /&gt;
&lt;br /&gt;
Third, help is on its way, and there are a number of futures that will assist with the endeavors:&lt;br /&gt;
&lt;br /&gt;
* Public Key Pinning (http://www.ietf.org/id/draft-ietf-websec-key-pinning-04.txt) – an extension to the HTTP protocol allowing web host operators to instruct user agents (UAs) to remember (&amp;quot;pin&amp;quot;) the hosts' cryptographic identities for a given period of time.&lt;br /&gt;
* DNS-based Authentication of Named Entities (DANE) (https://datatracker.ietf.org/doc/rfc6698/) - uses Secure DNS to associate Certificates with Domain Names For S/MIME, SMTP with TLS, DNSSEC and TLSA records.&lt;br /&gt;
* Sovereign Keys (http://www.eff.org/sovereign-keys) - operates by providing an optional and secure way of associating domain names with public keys via DNSSEC. PKI (hierarchical) is still used. Semi-centralized with append only logging.&lt;br /&gt;
* Convergence (http://convergence.io) – different [geographical] views of a site and its associated data (certificates and public keys). Web of Trust is used. Semi-centralized.&lt;br /&gt;
&lt;br /&gt;
While Sovereign Keys and Convergence still require us to confer trust to outside parties, the parties involved do not serve share holders or covet revenue streams. Their interests are industry transparency and user security.&lt;br /&gt;
&lt;br /&gt;
=== More Information? ===&lt;br /&gt;
&lt;br /&gt;
Pinning is an ''old new thing'' that has been shaken, stirred, and repackaged. While &amp;quot;pinning&amp;quot; and &amp;quot;pinsets&amp;quot; are relatively new terms for old things, Jon Larimer and Kenny Root spent time on the subject at Google I/O 2012 with their talk ''[https://developers.google.com/events/io/sessions/gooio2012/107/ Security and Privacy in Android Apps]''.&lt;br /&gt;
&lt;br /&gt;
=== Format Conversions ===&lt;br /&gt;
&lt;br /&gt;
As a convenience to readers, the following with convert between PEM and DER format using OpenSSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Public key, X509&lt;br /&gt;
$ openssl genrsa -out rsa-openssl.pem 3072&lt;br /&gt;
$ openssl rsa -in rsa-openssl.pem -pubout -outform DER -out rsa-openssl.der&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Private key, PKCS#8&lt;br /&gt;
$ openssl genrsa -out rsa-openssl.pem 3072&lt;br /&gt;
$ openssl pkcs8 -nocrypt -in rsa-openssl.pem -inform PEM -topk8 -outform DER -out rsa-openssl.der&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* OWASP [[Injection_Theory|Injection Theory]]&lt;br /&gt;
* OWASP [[Data_Validation|Data Validation]]&lt;br /&gt;
* OWASP [[Transport_Layer_Protection_Cheat_Sheet|Transport Layer Protection Cheat Sheet]]&lt;br /&gt;
* IETF [http://www.ietf.org/id/draft-ietf-websec-key-pinning-04.txt Public Key Pinning]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5054.txt RFC 5054 (SRP)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4764.txt RFC 4764 (EAP-PSK)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc1421.txt RFC 1421 (PEM Encoding)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5280.txt RFC 5280 (Internet X.509, PKIX)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4648.txt RFC 4648 (Base16, Base32, and Base64 Encodings)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc3279.txt RFC 3279 (PKI, X509 Algorithms and CRL Profiles)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4055.txt RFC 4055 (PKI, X509 Additional Algorithms and CRL Profiles)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc2246.txt RFC 2246 (TLS 1.0)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4346.txt RFC 4346 (TLS 1.1)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5246.txt RFC 5246 (TLS 1.2)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc6698.txt RFC 6698, Draft (DANE)]&lt;br /&gt;
* EFF [http://www.eff.org/sovereign-keys Sovereign Keys]&lt;br /&gt;
* Thoughtcrime Labs [http://convergence.io/ Convergence]&lt;br /&gt;
* RSA Laboratories [http://www.rsa.com/rsalabs/node.asp?id=2125 PKCS#1, RSA Encryption Standard]&lt;br /&gt;
* RSA Laboratories [http://www.rsa.com/rsalabs/node.asp?id=2128 PKCS#6, Extended-Certificate Syntax Standard]&lt;br /&gt;
* ITU [http://www.itu.int/rec/T-REC-X.690-200811-I/en Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)]&lt;br /&gt;
* TOR Project [https://blog.torproject.org/blog/detecting-certificate-authority-compromises-and-web-browser-collusion Detecting Certificate Authority Compromises and Web Browser Collusion]&lt;br /&gt;
* Code Project [http://www.codeproject.com/Articles/25487/Cryptographic-Interoperability-Keys Cryptographic Interoperability: Keys]&lt;br /&gt;
* Google I/O [https://developers.google.com/events/io/sessions/gooio2012/107/ Security and Privacy in Android Apps]&lt;br /&gt;
* Dr. Peter Gutmann's [http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf PKI is Broken]&lt;br /&gt;
* Dr. Matthew Green's [http://blog.cryptographyengineering.com/2012/02/how-to-fix-internet.html The Internet is Broken]&lt;br /&gt;
* Dr. Matthew Green's [http://blog.cryptographyengineering.com/2012/03/how-do-interception-proxies-fail.html How do Interception Proxies fail?]&lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors  =&lt;br /&gt;
&lt;br /&gt;
* Jeffrey Walton - jeffrey, owasp.org&lt;br /&gt;
* JohnSteven - john, owasp.org&lt;br /&gt;
* Jim Manico - jim, owasp.org&lt;br /&gt;
* Kevin Wall - kevin, owasp.org&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Certificate_and_Public_Key_Pinning&amp;diff=145133</id>
		<title>Certificate and Public Key Pinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Certificate_and_Public_Key_Pinning&amp;diff=145133"/>
				<updated>2013-02-20T02:03:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Certificate and Public Key Pinning]] is a technical guide to implementing certificate and public key pinning as discussed at the Virginia chapter's presentation [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Securing Wireless Channels in the Mobile Space]]. This guide is focused on providing clear, simple, actionable guidance for securing the channel in a hostile environment where actors could be malicious and the conference of trust a liability. Additional presentation material included [[Media:pubkey-pin-supplement.pdf|supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], and [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]].&lt;br /&gt;
&lt;br /&gt;
A cheat sheet is available at [[Pinning_Cheat_Sheet|Pinning Cheat Sheet]].&lt;br /&gt;
&lt;br /&gt;
== Introduction == &lt;br /&gt;
&lt;br /&gt;
Secure channels are a cornerstone to users and employees working remotely and on the go. Users and developers expect end-to-end security when sending and receiving data - especially sensitive data on channels protected by VPN, SSL, or TLS. While organizations which control DNS and CA have likely reduced risk to trivial levels under most threat models, users and developers subjugated to other's DNS and a public CA hierarchy are exposed to non-trivial amounts of risk. In fact, history has shown those relying on outside services have suffered chronic breaches in their secure channels.&lt;br /&gt;
&lt;br /&gt;
The pandemic abuse of trust has resulted in users, developers and applications making security related decisions on untrusted input. The situation is somewhat of a paradox: entities such as DNS and CAs are trusted and supposed to supply trusted input; yet their input cannot be trusted. Relying on untrusted input for security related decisions is not only bad karma, it violates a number of secure coding principals (see, for example, OWASP's [[Injection Theory]] and [[Data Validation]]).&lt;br /&gt;
&lt;br /&gt;
Pinning effectively removes the &amp;quot;conference of trust&amp;quot;. An application which pins a certificate or public key no longer needs to depend on others - such as DNS or CAs - when making decisions relating to a peer's identity. For those familiar with SSH, you should realize that public key pinning nearly identical to SSH's &amp;lt;tt&amp;gt;StrictHostKeyChecking&amp;lt;/tt&amp;gt; option. SSH had it right the entire time, and the rest of the world is beginning to realize the virtues of directly identifying a host or service by its public key.&lt;br /&gt;
&lt;br /&gt;
Others who actively engage in pinning include Google and its browser Chrome. Chrome was successful in detecting the DigiNotar compromise which uncovered suspected interception by the Iranian government on its citizens. The initial report of the compromise can be found at ''[https://productforums.google.com/d/topic/gmail/3J3r2JqFNTw/discussion Is This MITM Attack to Gmail's SSL?]''; and Google Security's immediate response at ''[https://googleonlinesecurity.blogspot.com/2011/08/update-on-attempted-man-in-middle.html An update on attempted man-in-the-middle attacks]''.&lt;br /&gt;
&lt;br /&gt;
== What's the problem? ==&lt;br /&gt;
&lt;br /&gt;
Users, developers, and applications expect end-to-end security on their secure channels, but some secure channels are not meeting the expectation. Specifically, channels built using well known protocols such as VPN, SSL, and TLS can be vulnerable to a number of attacks.&lt;br /&gt;
&lt;br /&gt;
Examples of past failures are listed on the discussion tab for this article. This cheat sheet does not attempt to catalogue the failures in the industry, investigate the design flaws in the scaffolding, justify the lack of accountability or liability with the providers, explain the race to the bottom in services, or demystify the collusion between, for example, Browsers and CAs. For additional reading, please visit ''[http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf PKI is Broken]'' and ''[http://blog.cryptographyengineering.com/2012/02/how-to-fix-internet.html The Internet is Broken]''.&lt;br /&gt;
&lt;br /&gt;
=== Patient 0 ===&lt;br /&gt;
&lt;br /&gt;
The original problem was the ''Key Distribution Problem''. Insecure communications can be transformed into a secure communication problem with encryption. Encrypted communications can be transformed into an identity problem with signatures. The identity problem terminates at the key distribution problem. They are the same problem.&lt;br /&gt;
&lt;br /&gt;
=== The Cures ===&lt;br /&gt;
&lt;br /&gt;
There are three cures for the key distribution problem. First is to have first hand knowledge of your partner or peer (i.e., a peer, server or service). This could be solved with SneakerNet. Unfortunately, SneakerNet does not scale and cannot be used to solve the key distribution problem.&lt;br /&gt;
&lt;br /&gt;
The second is to rely on others, and it has two variants: (1) web of trust, and (2) hierarchy of trust. Web of Trust and Hierarchy of Trust solve the key distribution problem in a sterile environment. However, Web of Trust and Hierarchy of Trust each requires us to require us to rely on others - or '''confer trust'''. In practice, trusting others is showing to be problematic.&lt;br /&gt;
&lt;br /&gt;
== What Is Pinning? ==&lt;br /&gt;
&lt;br /&gt;
Pinning is the process of associating a host with their ''expected'' X509 certificate or public key. Once a certificate or public key is known or seen for a host, the certificate or public key is associated or 'pinned' to the host. If more than one certificate or public key is acceptable, then the program holds a ''pinset'' (taking from [https://developers.google.com/events/io/sessions/gooio2012/107/ Jon Larimer and Kenny Root Google I/O talk]). In this case, the advertised identity must match one of the elements in the pinset.&lt;br /&gt;
&lt;br /&gt;
A host or service's certificate or public key can be added to an application at development time, or it can be added upon first encountering the certificate or public key. The former - adding at development time - is preferred since ''preloading'' the certificate or public key ''out of band'' usually means the attacker cannot taint the pin.&lt;br /&gt;
&lt;br /&gt;
Pinning leverages knowledge of the pre-existing relationship between the user and an organization or service to help make better security related decisions. Because you already have information on the server or service, you don't need to rely on generalized mechanisms meant to solve the ''key distribution'' problem. That is, you don't need to turn to DNS for name/address mappings or CAs for bindings and status. Once exception is revocation and it is discussed below in [[#Pinning_Gaps|Pinning Gaps]].&lt;br /&gt;
&lt;br /&gt;
=== When Do You Pin? ===&lt;br /&gt;
&lt;br /&gt;
You should pin anytime you want to be relatively certain of the remote host's identity or when operating in a hostile environment. Since one or both are almost always true, you should probably pin all the time.&lt;br /&gt;
&lt;br /&gt;
A perfect case in point: during the two weeks or so of preparation for the presentation and cheat sheet, we've observed three relevant and related failures. First was [http://gaurangkp.wordpress.com/2013/01/09/nokia-https-mitm/ Nokia/Opera willfully breaking the secure channel]; second was [http://blog.malwarebytes.org/intelligence/2013/02/digital-certificates-and-malware-a-dangerous-mix/ DigiCert issuing a code signing certificate for malware]; and third was [http://krebsonsecurity.com/2013/02/security-firm-bit9-hacked-used-to-spread-malware/ Bit9's loss of its root signing key]. The environment is not only hostile, its toxic.&lt;br /&gt;
&lt;br /&gt;
=== When Do You Whitelist? ===&lt;br /&gt;
&lt;br /&gt;
If you are working for an organization which practices &amp;quot;egress filtering&amp;quot; as part of a Data Loss Prevention (DLP) strategy, you will likely encounter ''Interception Proxies''. I like to refer to these things as '''&amp;quot;good&amp;quot; bad guys''' (as opposed to '''&amp;quot;bad&amp;quot; bad guys''') since both break end-to-end security and we can't tell them apart. In this case, '''do not''' offer to whitelist the interception proxy since it defeats your security goals. Add the interception proxy's public key to your pinset after being '''instructed''' to do so by the folks in Risk Acceptance.&lt;br /&gt;
&lt;br /&gt;
Note: if you whitelist a certificate or public key for a different host (for example, to accommodate an interception proxy), you are no longer pinning the expected certificates and keys for the host. Security and integrity on the channel could suffer, and it surely breaks end-to-end security expectations of users and organizations.&lt;br /&gt;
&lt;br /&gt;
For more reading on interception proxies, the additional risk they bestow, and how they fail, see Dr. Matthew Green's ''[http://blog.cryptographyengineering.com/2012/03/how-do-interception-proxies-fail.html How do Interception Proxies fail?]'' and Jeff Jarmoc's BlackHat talk ''[https://www.blackhat.com/html/bh-eu-12/bh-eu-12-archives.html#jarmoc SSL/TLS Interception Proxies and Transitive Trust]''.&lt;br /&gt;
&lt;br /&gt;
=== How Do You Pin? ===&lt;br /&gt;
&lt;br /&gt;
The idea is to re-use the exiting protocols and infrastructure, but use them in a hardened manner. For re-use, a program would keep doing the things it used to do when establishing a secure connection.&lt;br /&gt;
&lt;br /&gt;
To harden the channel, the program would would take advantage of the &amp;lt;tt&amp;gt;OnConnect&amp;lt;/tt&amp;gt; callback offered by a library, framework or platform. In the callback, the program would verify the remote host's identity by validating its certificate or public key. While pinning does not have to occur in an &amp;lt;tt&amp;gt;OnConnect&amp;lt;/tt&amp;gt; callback, its often most convenient because the underlying connection information is readily available.&lt;br /&gt;
&lt;br /&gt;
== What Should Be Pinned? ==&lt;br /&gt;
&lt;br /&gt;
The first thing to decide is what should be pinned. For this choice, you have two options: you can (1) pin  the certificate; or (2) pin the public key. If you choose public keys, you have two additional choices: (a) pin the &amp;lt;tt&amp;gt;subjectPublicKeyInfo&amp;lt;/tt&amp;gt;; or (b) pin one of the concrete types such as &amp;lt;tt&amp;gt;RSAPublicKey&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;DSAPublicKey&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The three choices are explained below in more detail. I would encourage you to pin the &amp;lt;tt&amp;gt;subjectPublicKeyInfo&amp;lt;/tt&amp;gt; because it has the public parameters (such as &amp;lt;tt&amp;gt;{e,n}&amp;lt;/tt&amp;gt; for an RSA public key) '''and''' contextual information such as an algorithm and OID. The context will help you keep your bearings at times, and Figure 1 below shows the additional information available.&lt;br /&gt;
&lt;br /&gt;
=== Encodings/Formats ===&lt;br /&gt;
&lt;br /&gt;
For the purposes of this article, the objects are in X509-compatible presentation format (PKCS#1 defers to X509, both of which use ASN.1). If you have a PEM encoded object (for example, &amp;lt;tt&amp;gt;-----BEGIN CERTIFICATE-----&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-----END CERTIFICATE-----&amp;lt;/tt&amp;gt;), then convert the object to DER encoding. Conversion using OpenSSL is offered below in [[#Format_Conversions|Format Conversions]].&lt;br /&gt;
&lt;br /&gt;
A certificate is an object which binds an entity (such as a person or organization) to a public key via a signature. The certificate is DER encoded, and has associated data or attributes such as ''Subject'' (who is identified or bound), ''Issuer'' (who signed it), ''Validity'' (''NotBefore'' and ''NotAfter''), and a ''Public Key''.&lt;br /&gt;
&lt;br /&gt;
A certificate has a ''subjectPublicKeyInfo''. The subjectPublicKeyInfo is a key with additional information. The ASN.1 type includes an ''Algorithm ID'', a ''Version'', and an extensible format to hold a concrete public key. Figures 1 and 2 below show different views of the same of a RSA key, which is the subjectPublicKeyInfo. The key is for the site [https://www.random.org random.org], and it is used in the sample programs and listings below.&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:random-org-der-dump.png|thumb|375px|Figure 1: subjectPublicKeyInfo dumped with dumpans1]]&lt;br /&gt;
| [[File:random-org-der-hex.png|thumb|375px|Figure 2: subjectPublicKeyInfo under a hex editor]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The concrete public key is an encoded public key. The key format will usually be specified elsewhere - for example, PKCS#1 in the case of RSA Public Keys. In the case of an RSA public key, the type is ''RSAPublicKey'' and the parameters &amp;lt;tt&amp;gt;{e,n}&amp;lt;/tt&amp;gt; will be ASN.1 encoded. Figures 1 and 2 above clearly show the modulus (''n'' at line 28) and exponent (''e'' at line 289). For DSA, the concrete type is DSAPublicKey and the ASN.1 encoded parameters would be &amp;lt;tt&amp;gt;{p,q,g,y}&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Final takeaways: (1) a certificate binds an entity to a public key; (2) a certificate has a subjectPublicKeyInfo; and (3) a subjectPublicKeyInfo has an concrete public key. For those who want to learn more, a more in-depth discussion from a programmer's perspective can be found at the Code Project's article ''[http://www.codeproject.com/Articles/25487/Cryptographic-Interoperability-Keys Cryptographic Interoperability: Keys]''.&lt;br /&gt;
&lt;br /&gt;
=== Certificate ===&lt;br /&gt;
&lt;br /&gt;
[[File:pin-cert.png|thumb|right|100px|Certificate]] The certificate is easiest to pin. You can fetch the certificate out of band for the website, have the IT folks email your company certificate to you, use &amp;lt;tt&amp;gt;openssl s_client&amp;lt;/tt&amp;gt; to retrieve the certificate etc. When the certificate expires, you would update your application. Assuming your application has no bugs or security defects, the application would be updated every year or two.&lt;br /&gt;
&lt;br /&gt;
At runtime, you retrieve the website or server's certificate in the callback. Within the callback, you compare the retrieved certificate with the certificate embedded within the program. If the comparison fails, then fail the method or function. &lt;br /&gt;
&lt;br /&gt;
There is a downside to pinning a certificate. If the site rotates its certificate on a regular basis, then your application would need to be updated regularly. For example, Google rotates its certificates, so you will need to update your application about once a month (if it depended on Google services). Even though Google rotates its certificates, the underlying public keys (within the certificate) remain static.&lt;br /&gt;
&lt;br /&gt;
=== Public Key ===&lt;br /&gt;
&lt;br /&gt;
[[File:pin-pubkey.png|thumb|right|100px|Public Key]] Public key pinning is more flexible but a little trickier due to the extra steps necessary to extract the public key from a certificate. As with a certificate, the program checks the extracted public key with its embedded copy of the public key.&lt;br /&gt;
&lt;br /&gt;
There are two downsides two public key pinning. First, its harder to work with keys (versus certificates) since you usually must extract the key from the certificate. Extraction is a minor inconvenience in Java and .Net, buts its uncomfortable in Cocoa/CocoaTouch and OpenSSL. Second, the key is static and may violate key rotation policies.&lt;br /&gt;
&lt;br /&gt;
=== Hashing ===&lt;br /&gt;
&lt;br /&gt;
While the three choices above used DER encoding, its also acceptable to use a hash of the information (or other transforms). In fact, the original sample programs were written using digested certificates and public keys. The samples were changed to allow a programmer to inspect the objects with tools like &amp;lt;tt&amp;gt;dumpasn1&amp;lt;/tt&amp;gt; and other ASN.1 decoders.&lt;br /&gt;
&lt;br /&gt;
Hashing also provides three additional benefits. First, hashing allows you to anonymize a certificate or public key. This might be important if you application is concerned about leaking information during decompilation and re-engineering.&lt;br /&gt;
&lt;br /&gt;
Second, a digested certificate fingerprint is often available as a native API for many libraries, so its convenient to use.&lt;br /&gt;
&lt;br /&gt;
Finally, an organization might want to supply a reserve (or back-up) identity in case the primary identity is compromised. Hashing ensures your adversaries do not see the reserved certificate or public key in advance of its use. In fact, Google's IETF draft ''websec-key-pinning'' uses the technique.&lt;br /&gt;
&lt;br /&gt;
== What About X509? ==&lt;br /&gt;
&lt;br /&gt;
PKI{X} and the Internet form an intersection. What Internet users expect and what they receive from CAs could vary wildly. For example, an Internet user has security goals, while a CA has revenue goals and legal goals. Many are surprised to learn that the user is often required to perform host identity verification even though the CA issued the certificate (the details are buried in CA warranties on their certificates and their Certification Practice Statement (CPS)).&lt;br /&gt;
&lt;br /&gt;
There are a number of PKI profiles available. For the Internet, &amp;quot;Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL)&amp;quot;, also known as [http://tools.ietf.org/rfc/rfc5280.txt RFC 5280], is of interest. Since a certificate is specified in the ITU's X509 standard, there are lots of mandatory and optional fields available for validation from both bodies. Because of the disjoint goals among groups, the next section provides guidance.&lt;br /&gt;
&lt;br /&gt;
=== Mandatory Checks ===&lt;br /&gt;
&lt;br /&gt;
All X509 verifications must include:&lt;br /&gt;
&lt;br /&gt;
* A path validation check. The check verifies all the signatures on certificates in the chain are valid under a given PKI. The check begins at the server or service's certificate (the leaf), and proceeds back to a trusted root certificate (the root).&lt;br /&gt;
&lt;br /&gt;
* A validity check, or the &amp;lt;tt&amp;gt;notBefore&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt; fields. The &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt; field is especially important since a CA will not warrant the certificate after the date, and it does not have to provide CRL/OCSP updates after the date.&lt;br /&gt;
&lt;br /&gt;
* Revocation status. As with &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt;, revocation is important because the CA will not warrant a certificate once it is listed as revoked. The IETF approved way of checking a certificate's revocation is OCSP and specified in [http://tools.ietf.org/rfc/rfc2560.txt RFC 2560].&lt;br /&gt;
&lt;br /&gt;
=== Optional Checks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[Mulling over what else to present, and the best way to present it. Subject name? DNS lookups? Key Usage? Algorithms? Geolocation based on IP? Check back soon.]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Key Checks ===&lt;br /&gt;
&lt;br /&gt;
''Quod vide'' (''q.v.''). Verifying the identity of a host with knowledge of its associated/expected public key is pinning.&lt;br /&gt;
&lt;br /&gt;
== Examples of Pinning ==&lt;br /&gt;
&lt;br /&gt;
This section demonstrates certificate and public key pinning in Android Java, iOS, .Net, and OpenSSL. All programs attempt to connect to [https://www.random.org random.org] and fetch bytes (Dr. Mads Haahr participates in AOSP's pinning program, so the site should have a static key). The programs enjoy a pre-existing relationship with the site (more correctly, ''a priori'' knowledge), so they include a copy of the site's public key and pin the identity on the key.&lt;br /&gt;
&lt;br /&gt;
Parameter validation, return value checking, and error checking have been omitted in the code below, but is present in the sample programs. So the sample code is ready for copy/paste. By far, the most uncomfortable languages are C-based: iOS and OpenSSL.&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
&lt;br /&gt;
Pinning in Android is accomplished through a custom &amp;lt;tt&amp;gt;X509TrustManager&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;X509TrustManager&amp;lt;/tt&amp;gt; should perform the customary X509 checks in addition to performing the pin.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-android.zip|Android sample program]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;public final class PubKeyManager implements X509TrustManager&lt;br /&gt;
{&lt;br /&gt;
  private static String PUB_KEY = &amp;quot;30820122300d06092a864886f70d0101&amp;quot; +&lt;br /&gt;
    &amp;quot;0105000382010f003082010a0282010100b35ea8adaf4cb6db86068a836f3c85&amp;quot; +&lt;br /&gt;
    &amp;quot;5a545b1f0cc8afb19e38213bac4d55c3f2f19df6dee82ead67f70a990131b6bc&amp;quot; +&lt;br /&gt;
    &amp;quot;ac1a9116acc883862f00593199df19ce027c8eaaae8e3121f7f329219464e657&amp;quot; +&lt;br /&gt;
    &amp;quot;2cbf66e8e229eac2992dd795c4f23df0fe72b6ceef457eba0b9029619e0395b8&amp;quot; +&lt;br /&gt;
    &amp;quot;609851849dd6214589a2ceba4f7a7dcceb7ab2a6b60c27c69317bd7ab2135f50&amp;quot; +&lt;br /&gt;
    &amp;quot;c6317e5dbfb9d1e55936e4109b7b911450c746fe0d5d07165b6b23ada7700b00&amp;quot; +&lt;br /&gt;
    &amp;quot;33238c858ad179a82459c4718019c111b4ef7be53e5972e06ca68a112406da38&amp;quot; +&lt;br /&gt;
    &amp;quot;cf60d2f4fda4d1cd52f1da9fd6104d91a34455cd7b328b02525320a35253147b&amp;quot; +&lt;br /&gt;
    &amp;quot;e0b7a5bc860966dc84f10d723ce7eed5430203010001&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException&lt;br /&gt;
  {&lt;br /&gt;
    if (chain == null) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;checkServerTrusted: X509Certificate array is null&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!(chain.length &amp;gt; 0)) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;checkServerTrusted: X509Certificate is empty&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!(null != authType &amp;amp;&amp;amp; authType.equalsIgnoreCase(&amp;quot;RSA&amp;quot;))) {&lt;br /&gt;
      throw new CertificateException(&amp;quot;checkServerTrusted: AuthType is not RSA&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Perform customary SSL/TLS checks&lt;br /&gt;
    try {&lt;br /&gt;
      TrustManagerFactory tmf = TrustManagerFactory.getInstance(&amp;quot;X509&amp;quot;);&lt;br /&gt;
      tmf.init((KeyStore) null);&lt;br /&gt;
      &lt;br /&gt;
      for (TrustManager trustManager : tmf.getTrustManagers()) {&lt;br /&gt;
        ((X509TrustManager) trustManager).checkServerTrusted(chain, authType);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      throw new CertificateException(e);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Hack ahead: BigInteger and toString(). We know a DER encoded Public Key begins&lt;br /&gt;
    // with 0x30 (ASN.1 SEQUENCE and CONSTRUCTED), so there is no leading 0x00 to drop.&lt;br /&gt;
    RSAPublicKey pubkey = (RSAPublicKey) chain[0].getPublicKey();&lt;br /&gt;
    String encoded = new BigInteger(1 /* positive */, pubkey.getEncoded()).toString(16);&lt;br /&gt;
&lt;br /&gt;
    // Pin it!&lt;br /&gt;
    final boolean expected = PUB_KEY.equalsIgnoreCase(encoded);&lt;br /&gt;
    if (!expected) {&lt;br /&gt;
      throw new CertificateException(&amp;quot;checkServerTrusted: Expected public key: &amp;quot;&lt;br /&gt;
                + PUB_KEY + &amp;quot;, got public key:&amp;quot; + encoded);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;PubKeyManager&amp;lt;/tt&amp;gt; would be used in code similar to below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;TrustManager tm[] = { new PubKeyManager() };&lt;br /&gt;
&lt;br /&gt;
SSLContext context = SSLContext.getInstance(&amp;quot;TLS&amp;quot;);&lt;br /&gt;
context.init(null, tm, null);&lt;br /&gt;
&lt;br /&gt;
URL url = new URL( &amp;quot;https://www.random.org/integers/?&amp;quot; +&lt;br /&gt;
                   &amp;quot;num=16&amp;amp;min=0&amp;amp;max=255&amp;amp;col=16&amp;amp;base=10&amp;amp;format=plain&amp;amp;rnd=new&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();&lt;br /&gt;
connection.setSSLSocketFactory(context.getSocketFactory());&lt;br /&gt;
&lt;br /&gt;
InputStreamReader instream = new InputStreamReader(connection.getInputStream());&lt;br /&gt;
StreamTokenizer tokenizer = new StreamTokenizer(instream);&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iOS ===&lt;br /&gt;
&lt;br /&gt;
iOS pinning is performed through a &amp;lt;tt&amp;gt;NSURLConnectionDelegate&amp;lt;/tt&amp;gt;. The delegate must implement &amp;lt;tt&amp;gt;connection:canAuthenticateAgainstProtectionSpace:&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;connection:didReceiveAuthenticationChallenge:&amp;lt;/tt&amp;gt;. Within &amp;lt;tt&amp;gt;connection:didReceiveAuthenticationChallenge:&amp;lt;/tt&amp;gt;, the delegate must call &amp;lt;tt&amp;gt;SecTrustEvaluate&amp;lt;/tt&amp;gt; to perform customary X509 checks.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-ios.zip|iOS sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-(IBAction)fetchButtonTapped:(id)sender&lt;br /&gt;
{&lt;br /&gt;
    NSString* requestString = @&amp;quot;https://www.random.org/integers/?&lt;br /&gt;
        num=16&amp;amp;min=0&amp;amp;max=255&amp;amp;col=16&amp;amp;base=16&amp;amp;format=plain&amp;amp;rnd=new&amp;quot;;&lt;br /&gt;
    NSURL* requestUrl = [NSURL URLWithString:requestString];&lt;br /&gt;
&lt;br /&gt;
    NSURLRequest* request = [NSURLRequest requestWithURL:requestUrl&lt;br /&gt;
                                             cachePolicy:NSURLRequestReloadIgnoringLocalCacheData&lt;br /&gt;
                                         timeoutInterval:10.0f];&lt;br /&gt;
&lt;br /&gt;
    NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-(BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:&lt;br /&gt;
                  (NSURLProtectionSpace*)space&lt;br /&gt;
{&lt;br /&gt;
    return [[space authenticationMethod] isEqualToString: NSURLAuthenticationMethodServerTrust];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:&lt;br /&gt;
                   (NSURLAuthenticationChallenge *)challenge&lt;br /&gt;
{&lt;br /&gt;
  if ([[[challenge protectionSpace] authenticationMethod] isEqualToString: NSURLAuthenticationMethodServerTrust])&lt;br /&gt;
  {&lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
      SecTrustRef serverTrust = [[challenge protectionSpace] serverTrust];&lt;br /&gt;
      if(nil == serverTrust)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      OSStatus status = SecTrustEvaluate(serverTrust, NULL);&lt;br /&gt;
      if(!(errSecSuccess == status))&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      SecCertificateRef serverCertificate = SecTrustGetCertificateAtIndex(serverTrust, 0);&lt;br /&gt;
      if(nil == serverCertificate)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      CFDataRef serverCertificateData = SecCertificateCopyData(serverCertificate);&lt;br /&gt;
      [(id)serverCertificateData autorelease];&lt;br /&gt;
      if(nil == serverCertificateData)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      const UInt8* const data = CFDataGetBytePtr(serverCertificateData);&lt;br /&gt;
      const CFIndex size = CFDataGetLength(serverCertificateData);&lt;br /&gt;
      NSData* cert1 = [NSData dataWithBytes:data length:(NSUInteger)size];&lt;br /&gt;
&lt;br /&gt;
      NSString *file = [[NSBundle mainBundle] pathForResource:@&amp;quot;random-org&amp;quot; ofType:@&amp;quot;der&amp;quot;];&lt;br /&gt;
      NSData* cert2 = [NSData dataWithContentsOfFile:file];&lt;br /&gt;
&lt;br /&gt;
      if(nil == cert1 || nil == cert2)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      const BOOL equal = [cert1 isEqualToData:cert2];&lt;br /&gt;
      if(!equal)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      // The only good exit point&lt;br /&gt;
      return [[challenge sender] useCredential: [NSURLCredential credentialForTrust: serverTrust]&lt;br /&gt;
                    forAuthenticationChallenge: challenge];&lt;br /&gt;
    } while(0);&lt;br /&gt;
&lt;br /&gt;
    // Bad dog&lt;br /&gt;
    return [[challenge sender] cancelAuthenticationChallenge: challenge];&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== .Net ===&lt;br /&gt;
&lt;br /&gt;
.Net pinning can be achieved by using &amp;lt;tt&amp;gt;ServicePointManager&amp;lt;/tt&amp;gt; as shown below.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-dotnet.zip|.Net sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;// Encoded RSAPublicKey&lt;br /&gt;
private static String PUB_KEY = &amp;quot;30818902818100C4A06B7B52F8D17DC1CCB47362&amp;quot; +&lt;br /&gt;
    &amp;quot;C64AB799AAE19E245A7559E9CEEC7D8AA4DF07CB0B21FDFD763C63A313A668FE9D764E&amp;quot; +&lt;br /&gt;
    &amp;quot;D913C51A676788DB62AF624F422C2F112C1316922AA5D37823CD9F43D1FC54513D14B2&amp;quot; +&lt;br /&gt;
    &amp;quot;9E36991F08A042C42EAAEEE5FE8E2CB10167174A359CEBF6FACC2C9CA933AD403137EE&amp;quot; +&lt;br /&gt;
    &amp;quot;2C3F4CBED9460129C72B0203010001&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
public static void Main(string[] args)&lt;br /&gt;
{&lt;br /&gt;
  ServicePointManager.ServerCertificateValidationCallback = PinPublicKey;&lt;br /&gt;
  WebRequest wr = WebRequest.Create(&amp;quot;https://encrypted.google.com/&amp;quot;);&lt;br /&gt;
  wr.GetResponse();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public static bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain,&lt;br /&gt;
                                SslPolicyErrors sslPolicyErrors)&lt;br /&gt;
{&lt;br /&gt;
  if (null == certificate)&lt;br /&gt;
    return false;&lt;br /&gt;
&lt;br /&gt;
  String pk = certificate.GetPublicKeyString();&lt;br /&gt;
  if (pk.Equals(PUB_KEY))&lt;br /&gt;
    return true;&lt;br /&gt;
&lt;br /&gt;
  // Bad dog&lt;br /&gt;
  return false;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
&lt;br /&gt;
Pinning can occur at one of two places with OpenSSL. First is the user supplied &amp;lt;tt&amp;gt;verify_callback&amp;lt;/tt&amp;gt;. Second is after the connection is established via &amp;lt;tt&amp;gt;SSL_get_peer_certificate&amp;lt;/tt&amp;gt;. Either method will allow you to access the peer's certificate.&lt;br /&gt;
&lt;br /&gt;
Though OpenSSL performs the X509 checks, you must fail the connection and tear down the socket on error. By design, a server that does not supply a certificate will result in &amp;lt;tt&amp;gt;X509_V_OK&amp;lt;/tt&amp;gt; with a '''NULL''' certificate. To check the result of the customary verification: (1) you must call &amp;lt;tt&amp;gt;SSL_get_verify_result&amp;lt;/tt&amp;gt; and verify the return code is &amp;lt;tt&amp;gt;X509_V_OK&amp;lt;/tt&amp;gt;; and (2) you must call &amp;lt;tt&amp;gt;SSL_get_peer_certificate&amp;lt;/tt&amp;gt; and verify the certificate is '''non-NULL'''.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int pkp_pin_peer_pubkey(SSL* ssl)&lt;br /&gt;
{&lt;br /&gt;
    if(NULL == ssl) return FALSE;&lt;br /&gt;
    &lt;br /&gt;
    X509* cert = NULL;&lt;br /&gt;
    FILE* fp = NULL;&lt;br /&gt;
    &lt;br /&gt;
    /* Scratch */&lt;br /&gt;
    int len1 = 0, len2 = 0;&lt;br /&gt;
    unsigned char *buff1 = NULL, *buff2 = NULL;&lt;br /&gt;
    &lt;br /&gt;
    /* Result is returned to caller */&lt;br /&gt;
    int ret = 0, result = FALSE;&lt;br /&gt;
    &lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
        /* http://www.openssl.org/docs/ssl/SSL_get_peer_certificate.html */&lt;br /&gt;
        cert = SSL_get_peer_certificate(ssl);&lt;br /&gt;
        if(!(cert != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Begin Gyrations to get the subjectPublicKeyInfo       */&lt;br /&gt;
        /* Thanks to Viktor Dukhovni on the OpenSSL mailing list */&lt;br /&gt;
        &lt;br /&gt;
        /* http://groups.google.com/group/mailing.openssl.users/browse_thread/thread/d61858dae102c6c7 */&lt;br /&gt;
        len1 = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(cert), NULL);&lt;br /&gt;
        if(!(len1 &amp;gt; 0))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* scratch */&lt;br /&gt;
        unsigned char* temp = NULL;&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
        buff1 = temp = OPENSSL_malloc(len1);&lt;br /&gt;
        if(!(buff1 != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/d2i_X509.html */&lt;br /&gt;
        len2 = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(cert), &amp;amp;temp);&lt;br /&gt;
&lt;br /&gt;
        /* These checks are verifying we got back the same values as when we sized the buffer.      */&lt;br /&gt;
        /* Its pretty weak since they should always be the same. But it gives us something to test. */&lt;br /&gt;
        if(!((len1 == len2) &amp;amp;&amp;amp; (temp != NULL) &amp;amp;&amp;amp; ((temp - buff1) == len1)))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* End Gyrations */&lt;br /&gt;
        &lt;br /&gt;
        /* See the warning above!!!                                            */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fopen.html */&lt;br /&gt;
        fp = fopen(&amp;quot;random-org.der&amp;quot;, &amp;quot;rx&amp;quot;);&lt;br /&gt;
        if(NULL ==fp) {&lt;br /&gt;
            fp = fopen(&amp;quot;random-org.der&amp;quot;, &amp;quot;r&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        if(!(NULL != fp))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Seek to eof to determine the file's size                            */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fseek.html */&lt;br /&gt;
        ret = fseek(fp, 0, SEEK_END);&lt;br /&gt;
        if(!(0 == ret))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Fetch the file's size                                               */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/ftell.html */&lt;br /&gt;
        long size = ftell(fp);&lt;br /&gt;
&lt;br /&gt;
        /* Arbitrary size, but should be relatively small (less than 1K or 2K) */&lt;br /&gt;
        if(!(size != -1 &amp;amp;&amp;amp; size &amp;gt; 0 &amp;amp;&amp;amp; size &amp;lt; 2048))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Rewind to beginning to perform the read                             */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fseek.html */&lt;br /&gt;
        ret = fseek(fp, 0, SEEK_SET);&lt;br /&gt;
        if(!(0 == ret))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Re-use buff2 and len2 */&lt;br /&gt;
        buff2 = NULL; len2 = (int)size;&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
        buff2 = OPENSSL_malloc(len2);&lt;br /&gt;
        if(!(buff2 != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fread.html */&lt;br /&gt;
        /* Returns number of elements read, which should be 1 */&lt;br /&gt;
        ret = (int)fread(buff2, (size_t)len2, 1, fp);&lt;br /&gt;
        if(!(ret == 1))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Re-use size. MIN and MAX macro below... */&lt;br /&gt;
        size = len1 &amp;lt; len2 ? len1 : len2;&lt;br /&gt;
        &lt;br /&gt;
        /*************************/&lt;br /&gt;
        /*****    PAYDIRT    *****/&lt;br /&gt;
        /*************************/&lt;br /&gt;
        if(len1 != (int)size || len2 != (int)size || 0 != memcmp(buff1, buff2, (size_t)size))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* The one good exit point */&lt;br /&gt;
        result = TRUE;&lt;br /&gt;
        &lt;br /&gt;
    } while(0);&lt;br /&gt;
    &lt;br /&gt;
    if(fp != NULL)&lt;br /&gt;
        fclose(fp);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
    if(NULL != buff2)&lt;br /&gt;
        OPENSSL_free(buff2);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
    if(NULL != buff1)&lt;br /&gt;
        OPENSSL_free(buff1);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/X509_new.html */&lt;br /&gt;
    if(NULL != cert)&lt;br /&gt;
        X509_free(cert);&lt;br /&gt;
    &lt;br /&gt;
    return result;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pinning Alternatives ==&lt;br /&gt;
&lt;br /&gt;
Not all applications use split key cryptography. Fortunately, there are protocols which allow you to set up a secure channel based on knowledge of passwords and pre-shared secrets (rather than putting the secret on the wire in a basic authentication scheme). Two are listed below - SRP and PSK. SRP and PSK have [http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-3 88 cipher suites assigned to them by IANA for TLS], so there's no shortage of choices.&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:pin-iana-assigned.png|thumb|450px|Figure 3: IANA reserved cipher suites for SRP and PSK]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SRP ===&lt;br /&gt;
&lt;br /&gt;
Secure Remote Password (SRP) is a Password Authenticated Key Exchange (PAKE) by Thomas Wu based upon Diffie-Hellman. The protocol is standardized in [https://tools.ietf.org/rfc/rfc5054.txt RFC 5054] and available in the OpenSSL library (among others). In the SRP scheme, the server uses a verifier which consists of a &amp;lt;tt&amp;gt;{salt, hash(password)}&amp;lt;/tt&amp;gt; pair. The user has the password and receives the salt from the server. With lots of hand waiving, both parties select per-instance random values (nonces) and execute the protocol using ''g&amp;lt;sup&amp;gt;{(salt + password)|verifier} + nonces&amp;lt;/sup&amp;gt;'' rather than traditional Diffie-Hellman using ''g&amp;lt;sup&amp;gt;ab&amp;lt;/sup&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
[[File:homer-p-np.jpg|thumb|right|150px|P=NP!!!]]Diffie-Hellman based schemes are part of a family of problems based on Discrete Logs (DL), which are logarithms over a finite field. DL schemes are appealing because they are known to be hard (unless ''P=NP'', which would cause computational number theorists to have a cow).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EAP-PSK ===&lt;br /&gt;
&lt;br /&gt;
EAP-PSK is ''Extensible Authentication Protocol'' using a ''Pre-Shared Key''. EAP-PSK is specified in [https://tools.ietf.org/rfc/rfc4764.txt RFC 4764]. The shared secret is used to key a block cipher, which is in turn used to exchange session keys. EAP-PSK is designed for authentication over insecure networks such as IEEE 802.11.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
This sections covers administrivia and miscellaneous items related to pinning.&lt;br /&gt;
&lt;br /&gt;
=== Ephemeral Keys ===&lt;br /&gt;
&lt;br /&gt;
Ephemeral keys are temporary keys used for one instance of a protocol execution and then thrown away. An ephemeral key has the benefit of providing forward secrecy, meaning a compromise of the site or service's long term (static) signing key does not facilitate decrypting past messages because the key was temporary and discarded (once the session terminated).&lt;br /&gt;
&lt;br /&gt;
Ephemeral keys do not affect pinning because the Ephemeral key is delivered in a separate &amp;lt;tt&amp;gt;ServerKeyExchange&amp;lt;/tt&amp;gt; message. In addition, the ephemeral key is a key and not a certificate, so it does not change the construction of the certificate chain. That is, the certificate of interest will still be located at &amp;lt;tt&amp;gt;certificates[0]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Pinning Gaps ===&lt;br /&gt;
&lt;br /&gt;
There are two gaps when pinning due to reuse of the existing infrastructure and protocols. First, an explicit challenge is '''not''' sent by the program to the peer server based on the server's public information. So the program never knows if the peer can actually decrypt messages. However, the shortcoming is usually academic in practice since an adversary will receive messages it can't decrypt.&lt;br /&gt;
&lt;br /&gt;
Second is revocation. Clients don't usually engage in revocation checking, so it could be possible to use a known bad certificate or key in a pinset. Even if revocation is active, Certificate Revocation Lists (CRLs) and Online Certificate Status Protocol (OCSP) can be defeated in a hostile environment. An application can take steps to remediate, with the primary means being freshness. That is, an application should be updated and distributed immediately when a critical security parameter changes.&lt;br /&gt;
&lt;br /&gt;
=== No Relationship ^@$! ===&lt;br /&gt;
&lt;br /&gt;
If you don't have a pre-existing relationship, all is not lost. First, you can pin a host or server's certificate or public key the first time you encounter it. If the bad guy was not active when you encountered the certificate or public key, he or she will not be successful with future funny business.&lt;br /&gt;
&lt;br /&gt;
Second, bad certificates are being spotted quicker in the field due to projects like [http://www.chromium.org Chromium] and [https://addons.mozilla.org/en-us/firefox/addon/certificate-patrol/ Certificate Patrol], and initiatives like the EFF's [https://www.eff.org/observatory SSL Observatory].&lt;br /&gt;
&lt;br /&gt;
Third, help is on its way, and there are a number of futures that will assist with the endeavors:&lt;br /&gt;
&lt;br /&gt;
* Public Key Pinning (http://www.ietf.org/id/draft-ietf-websec-key-pinning-04.txt) – an extension to the HTTP protocol allowing web host operators to instruct user agents (UAs) to remember (&amp;quot;pin&amp;quot;) the hosts' cryptographic identities for a given period of time.&lt;br /&gt;
* DNS-based Authentication of Named Entities (DANE) (https://datatracker.ietf.org/doc/rfc6698/) - uses Secure DNS to associate Certificates with Domain Names For S/MIME, SMTP with TLS, DNSSEC and TLSA records.&lt;br /&gt;
* Sovereign Keys (http://www.eff.org/sovereign-keys) - operates by providing an optional and secure way of associating domain names with public keys via DNSSEC. PKI (hierarchical) is still used. Semi-centralized with append only logging.&lt;br /&gt;
* Convergence (http://convergence.io) – different [geographical] views of a site and its associated data (certificates and public keys). Web of Trust is used. Semi-centralized.&lt;br /&gt;
&lt;br /&gt;
While Sovereign Keys and Convergence still require us to confer trust to outside parties, the parties involved do not serve share holders or covet revenue streams. Their interests are industry transparency and user security.&lt;br /&gt;
&lt;br /&gt;
=== More Information? ===&lt;br /&gt;
&lt;br /&gt;
Pinning is an ''old new thing'' that has been shaken, stirred, and repackaged. While &amp;quot;pinning&amp;quot; and &amp;quot;pinsets&amp;quot; are relatively new terms for old things, Jon Larimer and Kenny Root spent time on the subject at Google I/O 2012 with their talk ''[https://developers.google.com/events/io/sessions/gooio2012/107/ Security and Privacy in Android Apps]''.&lt;br /&gt;
&lt;br /&gt;
=== Format Conversions ===&lt;br /&gt;
&lt;br /&gt;
As a convenience to readers, the following with convert between PEM and DER format using OpenSSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Public key, X509&lt;br /&gt;
$ openssl genrsa -out rsa-openssl.pem 3072&lt;br /&gt;
$ openssl rsa -in rsa-openssl.pem -pubout -outform DER -out rsa-openssl.der&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Private key, PKCS#8&lt;br /&gt;
$ openssl genrsa -out rsa-openssl.pem 3072&lt;br /&gt;
$ openssl pkcs8 -nocrypt -in rsa-openssl.pem -inform PEM -topk8 -outform DER -out rsa-openssl.der&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* OWASP [[Injection_Theory|Injection Theory]]&lt;br /&gt;
* OWASP [[Data_Validation|Data Validation]]&lt;br /&gt;
* OWASP [[Transport_Layer_Protection_Cheat_Sheet|Transport Layer Protection Cheat Sheet]]&lt;br /&gt;
* IETF [http://www.ietf.org/id/draft-ietf-websec-key-pinning-04.txt Public Key Pinning]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5054.txt RFC 5054 (SRP)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4764.txt RFC 4764 (EAP-PSK)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc1421.txt RFC 1421 (PEM Encoding)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5280.txt RFC 5280 (Internet X.509, PKIX)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4648.txt RFC 4648 (Base16, Base32, and Base64 Encodings)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc3279.txt RFC 3279 (PKI, X509 Algorithms and CRL Profiles)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4055.txt RFC 4055 (PKI, X509 Additional Algorithms and CRL Profiles)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc2246.txt RFC 2246 (TLS 1.0)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4346.txt RFC 4346 (TLS 1.1)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5246.txt RFC 5246 (TLS 1.2)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc6698.txt RFC 6698, Draft (DANE)]&lt;br /&gt;
* EFF [http://www.eff.org/sovereign-keys Sovereign Keys]&lt;br /&gt;
* Thoughtcrime Labs [http://convergence.io/ Convergence]&lt;br /&gt;
* RSA Laboratories [http://www.rsa.com/rsalabs/node.asp?id=2125 PKCS#1, RSA Encryption Standard]&lt;br /&gt;
* RSA Laboratories [http://www.rsa.com/rsalabs/node.asp?id=2128 PKCS#6, Extended-Certificate Syntax Standard]&lt;br /&gt;
* ITU [http://www.itu.int/rec/T-REC-X.690-200811-I/en Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)]&lt;br /&gt;
* TOR Project [https://blog.torproject.org/blog/detecting-certificate-authority-compromises-and-web-browser-collusion Detecting Certificate Authority Compromises and Web Browser Collusion]&lt;br /&gt;
* Code Project [http://www.codeproject.com/Articles/25487/Cryptographic-Interoperability-Keys Cryptographic Interoperability: Keys]&lt;br /&gt;
* Google I/O [https://developers.google.com/events/io/sessions/gooio2012/107/ Security and Privacy in Android Apps]&lt;br /&gt;
* Dr. Peter Gutmann's [http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf PKI is Broken]&lt;br /&gt;
* Dr. Matthew Green's [http://blog.cryptographyengineering.com/2012/02/how-to-fix-internet.html The Internet is Broken]&lt;br /&gt;
* Dr. Matthew Green's [http://blog.cryptographyengineering.com/2012/03/how-do-interception-proxies-fail.html How do Interception Proxies fail?]&lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors  =&lt;br /&gt;
&lt;br /&gt;
* Jeffrey Walton - jeffrey, owasp.org&lt;br /&gt;
* JohnSteven - john, owasp.org&lt;br /&gt;
* Jim Manico - jim, owasp.org&lt;br /&gt;
* Kevin Wall - kevin, owasp.org&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Certificate_and_Public_Key_Pinning&amp;diff=145132</id>
		<title>Certificate and Public Key Pinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Certificate_and_Public_Key_Pinning&amp;diff=145132"/>
				<updated>2013-02-20T02:03:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Certificate and Public Key Pinning]] is a technical guide to implementing certificate and public key pinning as discussed at the [Virginia chapter's https://www.owasp.org/index.php/Virginia] presentation [[Media:Securing-Wireless-Channels-in-the-Mobile-Space.ppt|Securing Wireless Channels in the Mobile Space]]. This guide is focused on providing clear, simple, actionable guidance for securing the channel in a hostile environment where actors could be malicious and the conference of trust a liability. Additional presentation material included [[Media:pubkey-pin-supplement.pdf|supplement with code excerpts]], [[Media:pubkey-pin-android.zip|Android sample program]], [[Media:pubkey-pin-ios.zip|iOS sample program]], [[Media:pubkey-pin-dotnet.zip|.Net sample program]], and [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]].&lt;br /&gt;
&lt;br /&gt;
A cheat sheet is available at [[Pinning_Cheat_Sheet|Pinning Cheat Sheet]].&lt;br /&gt;
&lt;br /&gt;
== Introduction == &lt;br /&gt;
&lt;br /&gt;
Secure channels are a cornerstone to users and employees working remotely and on the go. Users and developers expect end-to-end security when sending and receiving data - especially sensitive data on channels protected by VPN, SSL, or TLS. While organizations which control DNS and CA have likely reduced risk to trivial levels under most threat models, users and developers subjugated to other's DNS and a public CA hierarchy are exposed to non-trivial amounts of risk. In fact, history has shown those relying on outside services have suffered chronic breaches in their secure channels.&lt;br /&gt;
&lt;br /&gt;
The pandemic abuse of trust has resulted in users, developers and applications making security related decisions on untrusted input. The situation is somewhat of a paradox: entities such as DNS and CAs are trusted and supposed to supply trusted input; yet their input cannot be trusted. Relying on untrusted input for security related decisions is not only bad karma, it violates a number of secure coding principals (see, for example, OWASP's [[Injection Theory]] and [[Data Validation]]).&lt;br /&gt;
&lt;br /&gt;
Pinning effectively removes the &amp;quot;conference of trust&amp;quot;. An application which pins a certificate or public key no longer needs to depend on others - such as DNS or CAs - when making decisions relating to a peer's identity. For those familiar with SSH, you should realize that public key pinning nearly identical to SSH's &amp;lt;tt&amp;gt;StrictHostKeyChecking&amp;lt;/tt&amp;gt; option. SSH had it right the entire time, and the rest of the world is beginning to realize the virtues of directly identifying a host or service by its public key.&lt;br /&gt;
&lt;br /&gt;
Others who actively engage in pinning include Google and its browser Chrome. Chrome was successful in detecting the DigiNotar compromise which uncovered suspected interception by the Iranian government on its citizens. The initial report of the compromise can be found at ''[https://productforums.google.com/d/topic/gmail/3J3r2JqFNTw/discussion Is This MITM Attack to Gmail's SSL?]''; and Google Security's immediate response at ''[https://googleonlinesecurity.blogspot.com/2011/08/update-on-attempted-man-in-middle.html An update on attempted man-in-the-middle attacks]''.&lt;br /&gt;
&lt;br /&gt;
== What's the problem? ==&lt;br /&gt;
&lt;br /&gt;
Users, developers, and applications expect end-to-end security on their secure channels, but some secure channels are not meeting the expectation. Specifically, channels built using well known protocols such as VPN, SSL, and TLS can be vulnerable to a number of attacks.&lt;br /&gt;
&lt;br /&gt;
Examples of past failures are listed on the discussion tab for this article. This cheat sheet does not attempt to catalogue the failures in the industry, investigate the design flaws in the scaffolding, justify the lack of accountability or liability with the providers, explain the race to the bottom in services, or demystify the collusion between, for example, Browsers and CAs. For additional reading, please visit ''[http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf PKI is Broken]'' and ''[http://blog.cryptographyengineering.com/2012/02/how-to-fix-internet.html The Internet is Broken]''.&lt;br /&gt;
&lt;br /&gt;
=== Patient 0 ===&lt;br /&gt;
&lt;br /&gt;
The original problem was the ''Key Distribution Problem''. Insecure communications can be transformed into a secure communication problem with encryption. Encrypted communications can be transformed into an identity problem with signatures. The identity problem terminates at the key distribution problem. They are the same problem.&lt;br /&gt;
&lt;br /&gt;
=== The Cures ===&lt;br /&gt;
&lt;br /&gt;
There are three cures for the key distribution problem. First is to have first hand knowledge of your partner or peer (i.e., a peer, server or service). This could be solved with SneakerNet. Unfortunately, SneakerNet does not scale and cannot be used to solve the key distribution problem.&lt;br /&gt;
&lt;br /&gt;
The second is to rely on others, and it has two variants: (1) web of trust, and (2) hierarchy of trust. Web of Trust and Hierarchy of Trust solve the key distribution problem in a sterile environment. However, Web of Trust and Hierarchy of Trust each requires us to require us to rely on others - or '''confer trust'''. In practice, trusting others is showing to be problematic.&lt;br /&gt;
&lt;br /&gt;
== What Is Pinning? ==&lt;br /&gt;
&lt;br /&gt;
Pinning is the process of associating a host with their ''expected'' X509 certificate or public key. Once a certificate or public key is known or seen for a host, the certificate or public key is associated or 'pinned' to the host. If more than one certificate or public key is acceptable, then the program holds a ''pinset'' (taking from [https://developers.google.com/events/io/sessions/gooio2012/107/ Jon Larimer and Kenny Root Google I/O talk]). In this case, the advertised identity must match one of the elements in the pinset.&lt;br /&gt;
&lt;br /&gt;
A host or service's certificate or public key can be added to an application at development time, or it can be added upon first encountering the certificate or public key. The former - adding at development time - is preferred since ''preloading'' the certificate or public key ''out of band'' usually means the attacker cannot taint the pin.&lt;br /&gt;
&lt;br /&gt;
Pinning leverages knowledge of the pre-existing relationship between the user and an organization or service to help make better security related decisions. Because you already have information on the server or service, you don't need to rely on generalized mechanisms meant to solve the ''key distribution'' problem. That is, you don't need to turn to DNS for name/address mappings or CAs for bindings and status. Once exception is revocation and it is discussed below in [[#Pinning_Gaps|Pinning Gaps]].&lt;br /&gt;
&lt;br /&gt;
=== When Do You Pin? ===&lt;br /&gt;
&lt;br /&gt;
You should pin anytime you want to be relatively certain of the remote host's identity or when operating in a hostile environment. Since one or both are almost always true, you should probably pin all the time.&lt;br /&gt;
&lt;br /&gt;
A perfect case in point: during the two weeks or so of preparation for the presentation and cheat sheet, we've observed three relevant and related failures. First was [http://gaurangkp.wordpress.com/2013/01/09/nokia-https-mitm/ Nokia/Opera willfully breaking the secure channel]; second was [http://blog.malwarebytes.org/intelligence/2013/02/digital-certificates-and-malware-a-dangerous-mix/ DigiCert issuing a code signing certificate for malware]; and third was [http://krebsonsecurity.com/2013/02/security-firm-bit9-hacked-used-to-spread-malware/ Bit9's loss of its root signing key]. The environment is not only hostile, its toxic.&lt;br /&gt;
&lt;br /&gt;
=== When Do You Whitelist? ===&lt;br /&gt;
&lt;br /&gt;
If you are working for an organization which practices &amp;quot;egress filtering&amp;quot; as part of a Data Loss Prevention (DLP) strategy, you will likely encounter ''Interception Proxies''. I like to refer to these things as '''&amp;quot;good&amp;quot; bad guys''' (as opposed to '''&amp;quot;bad&amp;quot; bad guys''') since both break end-to-end security and we can't tell them apart. In this case, '''do not''' offer to whitelist the interception proxy since it defeats your security goals. Add the interception proxy's public key to your pinset after being '''instructed''' to do so by the folks in Risk Acceptance.&lt;br /&gt;
&lt;br /&gt;
Note: if you whitelist a certificate or public key for a different host (for example, to accommodate an interception proxy), you are no longer pinning the expected certificates and keys for the host. Security and integrity on the channel could suffer, and it surely breaks end-to-end security expectations of users and organizations.&lt;br /&gt;
&lt;br /&gt;
For more reading on interception proxies, the additional risk they bestow, and how they fail, see Dr. Matthew Green's ''[http://blog.cryptographyengineering.com/2012/03/how-do-interception-proxies-fail.html How do Interception Proxies fail?]'' and Jeff Jarmoc's BlackHat talk ''[https://www.blackhat.com/html/bh-eu-12/bh-eu-12-archives.html#jarmoc SSL/TLS Interception Proxies and Transitive Trust]''.&lt;br /&gt;
&lt;br /&gt;
=== How Do You Pin? ===&lt;br /&gt;
&lt;br /&gt;
The idea is to re-use the exiting protocols and infrastructure, but use them in a hardened manner. For re-use, a program would keep doing the things it used to do when establishing a secure connection.&lt;br /&gt;
&lt;br /&gt;
To harden the channel, the program would would take advantage of the &amp;lt;tt&amp;gt;OnConnect&amp;lt;/tt&amp;gt; callback offered by a library, framework or platform. In the callback, the program would verify the remote host's identity by validating its certificate or public key. While pinning does not have to occur in an &amp;lt;tt&amp;gt;OnConnect&amp;lt;/tt&amp;gt; callback, its often most convenient because the underlying connection information is readily available.&lt;br /&gt;
&lt;br /&gt;
== What Should Be Pinned? ==&lt;br /&gt;
&lt;br /&gt;
The first thing to decide is what should be pinned. For this choice, you have two options: you can (1) pin  the certificate; or (2) pin the public key. If you choose public keys, you have two additional choices: (a) pin the &amp;lt;tt&amp;gt;subjectPublicKeyInfo&amp;lt;/tt&amp;gt;; or (b) pin one of the concrete types such as &amp;lt;tt&amp;gt;RSAPublicKey&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;DSAPublicKey&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The three choices are explained below in more detail. I would encourage you to pin the &amp;lt;tt&amp;gt;subjectPublicKeyInfo&amp;lt;/tt&amp;gt; because it has the public parameters (such as &amp;lt;tt&amp;gt;{e,n}&amp;lt;/tt&amp;gt; for an RSA public key) '''and''' contextual information such as an algorithm and OID. The context will help you keep your bearings at times, and Figure 1 below shows the additional information available.&lt;br /&gt;
&lt;br /&gt;
=== Encodings/Formats ===&lt;br /&gt;
&lt;br /&gt;
For the purposes of this article, the objects are in X509-compatible presentation format (PKCS#1 defers to X509, both of which use ASN.1). If you have a PEM encoded object (for example, &amp;lt;tt&amp;gt;-----BEGIN CERTIFICATE-----&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-----END CERTIFICATE-----&amp;lt;/tt&amp;gt;), then convert the object to DER encoding. Conversion using OpenSSL is offered below in [[#Format_Conversions|Format Conversions]].&lt;br /&gt;
&lt;br /&gt;
A certificate is an object which binds an entity (such as a person or organization) to a public key via a signature. The certificate is DER encoded, and has associated data or attributes such as ''Subject'' (who is identified or bound), ''Issuer'' (who signed it), ''Validity'' (''NotBefore'' and ''NotAfter''), and a ''Public Key''.&lt;br /&gt;
&lt;br /&gt;
A certificate has a ''subjectPublicKeyInfo''. The subjectPublicKeyInfo is a key with additional information. The ASN.1 type includes an ''Algorithm ID'', a ''Version'', and an extensible format to hold a concrete public key. Figures 1 and 2 below show different views of the same of a RSA key, which is the subjectPublicKeyInfo. The key is for the site [https://www.random.org random.org], and it is used in the sample programs and listings below.&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:random-org-der-dump.png|thumb|375px|Figure 1: subjectPublicKeyInfo dumped with dumpans1]]&lt;br /&gt;
| [[File:random-org-der-hex.png|thumb|375px|Figure 2: subjectPublicKeyInfo under a hex editor]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The concrete public key is an encoded public key. The key format will usually be specified elsewhere - for example, PKCS#1 in the case of RSA Public Keys. In the case of an RSA public key, the type is ''RSAPublicKey'' and the parameters &amp;lt;tt&amp;gt;{e,n}&amp;lt;/tt&amp;gt; will be ASN.1 encoded. Figures 1 and 2 above clearly show the modulus (''n'' at line 28) and exponent (''e'' at line 289). For DSA, the concrete type is DSAPublicKey and the ASN.1 encoded parameters would be &amp;lt;tt&amp;gt;{p,q,g,y}&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Final takeaways: (1) a certificate binds an entity to a public key; (2) a certificate has a subjectPublicKeyInfo; and (3) a subjectPublicKeyInfo has an concrete public key. For those who want to learn more, a more in-depth discussion from a programmer's perspective can be found at the Code Project's article ''[http://www.codeproject.com/Articles/25487/Cryptographic-Interoperability-Keys Cryptographic Interoperability: Keys]''.&lt;br /&gt;
&lt;br /&gt;
=== Certificate ===&lt;br /&gt;
&lt;br /&gt;
[[File:pin-cert.png|thumb|right|100px|Certificate]] The certificate is easiest to pin. You can fetch the certificate out of band for the website, have the IT folks email your company certificate to you, use &amp;lt;tt&amp;gt;openssl s_client&amp;lt;/tt&amp;gt; to retrieve the certificate etc. When the certificate expires, you would update your application. Assuming your application has no bugs or security defects, the application would be updated every year or two.&lt;br /&gt;
&lt;br /&gt;
At runtime, you retrieve the website or server's certificate in the callback. Within the callback, you compare the retrieved certificate with the certificate embedded within the program. If the comparison fails, then fail the method or function. &lt;br /&gt;
&lt;br /&gt;
There is a downside to pinning a certificate. If the site rotates its certificate on a regular basis, then your application would need to be updated regularly. For example, Google rotates its certificates, so you will need to update your application about once a month (if it depended on Google services). Even though Google rotates its certificates, the underlying public keys (within the certificate) remain static.&lt;br /&gt;
&lt;br /&gt;
=== Public Key ===&lt;br /&gt;
&lt;br /&gt;
[[File:pin-pubkey.png|thumb|right|100px|Public Key]] Public key pinning is more flexible but a little trickier due to the extra steps necessary to extract the public key from a certificate. As with a certificate, the program checks the extracted public key with its embedded copy of the public key.&lt;br /&gt;
&lt;br /&gt;
There are two downsides two public key pinning. First, its harder to work with keys (versus certificates) since you usually must extract the key from the certificate. Extraction is a minor inconvenience in Java and .Net, buts its uncomfortable in Cocoa/CocoaTouch and OpenSSL. Second, the key is static and may violate key rotation policies.&lt;br /&gt;
&lt;br /&gt;
=== Hashing ===&lt;br /&gt;
&lt;br /&gt;
While the three choices above used DER encoding, its also acceptable to use a hash of the information (or other transforms). In fact, the original sample programs were written using digested certificates and public keys. The samples were changed to allow a programmer to inspect the objects with tools like &amp;lt;tt&amp;gt;dumpasn1&amp;lt;/tt&amp;gt; and other ASN.1 decoders.&lt;br /&gt;
&lt;br /&gt;
Hashing also provides three additional benefits. First, hashing allows you to anonymize a certificate or public key. This might be important if you application is concerned about leaking information during decompilation and re-engineering.&lt;br /&gt;
&lt;br /&gt;
Second, a digested certificate fingerprint is often available as a native API for many libraries, so its convenient to use.&lt;br /&gt;
&lt;br /&gt;
Finally, an organization might want to supply a reserve (or back-up) identity in case the primary identity is compromised. Hashing ensures your adversaries do not see the reserved certificate or public key in advance of its use. In fact, Google's IETF draft ''websec-key-pinning'' uses the technique.&lt;br /&gt;
&lt;br /&gt;
== What About X509? ==&lt;br /&gt;
&lt;br /&gt;
PKI{X} and the Internet form an intersection. What Internet users expect and what they receive from CAs could vary wildly. For example, an Internet user has security goals, while a CA has revenue goals and legal goals. Many are surprised to learn that the user is often required to perform host identity verification even though the CA issued the certificate (the details are buried in CA warranties on their certificates and their Certification Practice Statement (CPS)).&lt;br /&gt;
&lt;br /&gt;
There are a number of PKI profiles available. For the Internet, &amp;quot;Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL)&amp;quot;, also known as [http://tools.ietf.org/rfc/rfc5280.txt RFC 5280], is of interest. Since a certificate is specified in the ITU's X509 standard, there are lots of mandatory and optional fields available for validation from both bodies. Because of the disjoint goals among groups, the next section provides guidance.&lt;br /&gt;
&lt;br /&gt;
=== Mandatory Checks ===&lt;br /&gt;
&lt;br /&gt;
All X509 verifications must include:&lt;br /&gt;
&lt;br /&gt;
* A path validation check. The check verifies all the signatures on certificates in the chain are valid under a given PKI. The check begins at the server or service's certificate (the leaf), and proceeds back to a trusted root certificate (the root).&lt;br /&gt;
&lt;br /&gt;
* A validity check, or the &amp;lt;tt&amp;gt;notBefore&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt; fields. The &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt; field is especially important since a CA will not warrant the certificate after the date, and it does not have to provide CRL/OCSP updates after the date.&lt;br /&gt;
&lt;br /&gt;
* Revocation status. As with &amp;lt;tt&amp;gt;notAfter&amp;lt;/tt&amp;gt;, revocation is important because the CA will not warrant a certificate once it is listed as revoked. The IETF approved way of checking a certificate's revocation is OCSP and specified in [http://tools.ietf.org/rfc/rfc2560.txt RFC 2560].&lt;br /&gt;
&lt;br /&gt;
=== Optional Checks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[Mulling over what else to present, and the best way to present it. Subject name? DNS lookups? Key Usage? Algorithms? Geolocation based on IP? Check back soon.]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Key Checks ===&lt;br /&gt;
&lt;br /&gt;
''Quod vide'' (''q.v.''). Verifying the identity of a host with knowledge of its associated/expected public key is pinning.&lt;br /&gt;
&lt;br /&gt;
== Examples of Pinning ==&lt;br /&gt;
&lt;br /&gt;
This section demonstrates certificate and public key pinning in Android Java, iOS, .Net, and OpenSSL. All programs attempt to connect to [https://www.random.org random.org] and fetch bytes (Dr. Mads Haahr participates in AOSP's pinning program, so the site should have a static key). The programs enjoy a pre-existing relationship with the site (more correctly, ''a priori'' knowledge), so they include a copy of the site's public key and pin the identity on the key.&lt;br /&gt;
&lt;br /&gt;
Parameter validation, return value checking, and error checking have been omitted in the code below, but is present in the sample programs. So the sample code is ready for copy/paste. By far, the most uncomfortable languages are C-based: iOS and OpenSSL.&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
&lt;br /&gt;
Pinning in Android is accomplished through a custom &amp;lt;tt&amp;gt;X509TrustManager&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;X509TrustManager&amp;lt;/tt&amp;gt; should perform the customary X509 checks in addition to performing the pin.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-android.zip|Android sample program]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;public final class PubKeyManager implements X509TrustManager&lt;br /&gt;
{&lt;br /&gt;
  private static String PUB_KEY = &amp;quot;30820122300d06092a864886f70d0101&amp;quot; +&lt;br /&gt;
    &amp;quot;0105000382010f003082010a0282010100b35ea8adaf4cb6db86068a836f3c85&amp;quot; +&lt;br /&gt;
    &amp;quot;5a545b1f0cc8afb19e38213bac4d55c3f2f19df6dee82ead67f70a990131b6bc&amp;quot; +&lt;br /&gt;
    &amp;quot;ac1a9116acc883862f00593199df19ce027c8eaaae8e3121f7f329219464e657&amp;quot; +&lt;br /&gt;
    &amp;quot;2cbf66e8e229eac2992dd795c4f23df0fe72b6ceef457eba0b9029619e0395b8&amp;quot; +&lt;br /&gt;
    &amp;quot;609851849dd6214589a2ceba4f7a7dcceb7ab2a6b60c27c69317bd7ab2135f50&amp;quot; +&lt;br /&gt;
    &amp;quot;c6317e5dbfb9d1e55936e4109b7b911450c746fe0d5d07165b6b23ada7700b00&amp;quot; +&lt;br /&gt;
    &amp;quot;33238c858ad179a82459c4718019c111b4ef7be53e5972e06ca68a112406da38&amp;quot; +&lt;br /&gt;
    &amp;quot;cf60d2f4fda4d1cd52f1da9fd6104d91a34455cd7b328b02525320a35253147b&amp;quot; +&lt;br /&gt;
    &amp;quot;e0b7a5bc860966dc84f10d723ce7eed5430203010001&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException&lt;br /&gt;
  {&lt;br /&gt;
    if (chain == null) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;checkServerTrusted: X509Certificate array is null&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!(chain.length &amp;gt; 0)) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;checkServerTrusted: X509Certificate is empty&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!(null != authType &amp;amp;&amp;amp; authType.equalsIgnoreCase(&amp;quot;RSA&amp;quot;))) {&lt;br /&gt;
      throw new CertificateException(&amp;quot;checkServerTrusted: AuthType is not RSA&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Perform customary SSL/TLS checks&lt;br /&gt;
    try {&lt;br /&gt;
      TrustManagerFactory tmf = TrustManagerFactory.getInstance(&amp;quot;X509&amp;quot;);&lt;br /&gt;
      tmf.init((KeyStore) null);&lt;br /&gt;
      &lt;br /&gt;
      for (TrustManager trustManager : tmf.getTrustManagers()) {&lt;br /&gt;
        ((X509TrustManager) trustManager).checkServerTrusted(chain, authType);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      throw new CertificateException(e);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Hack ahead: BigInteger and toString(). We know a DER encoded Public Key begins&lt;br /&gt;
    // with 0x30 (ASN.1 SEQUENCE and CONSTRUCTED), so there is no leading 0x00 to drop.&lt;br /&gt;
    RSAPublicKey pubkey = (RSAPublicKey) chain[0].getPublicKey();&lt;br /&gt;
    String encoded = new BigInteger(1 /* positive */, pubkey.getEncoded()).toString(16);&lt;br /&gt;
&lt;br /&gt;
    // Pin it!&lt;br /&gt;
    final boolean expected = PUB_KEY.equalsIgnoreCase(encoded);&lt;br /&gt;
    if (!expected) {&lt;br /&gt;
      throw new CertificateException(&amp;quot;checkServerTrusted: Expected public key: &amp;quot;&lt;br /&gt;
                + PUB_KEY + &amp;quot;, got public key:&amp;quot; + encoded);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;PubKeyManager&amp;lt;/tt&amp;gt; would be used in code similar to below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;TrustManager tm[] = { new PubKeyManager() };&lt;br /&gt;
&lt;br /&gt;
SSLContext context = SSLContext.getInstance(&amp;quot;TLS&amp;quot;);&lt;br /&gt;
context.init(null, tm, null);&lt;br /&gt;
&lt;br /&gt;
URL url = new URL( &amp;quot;https://www.random.org/integers/?&amp;quot; +&lt;br /&gt;
                   &amp;quot;num=16&amp;amp;min=0&amp;amp;max=255&amp;amp;col=16&amp;amp;base=10&amp;amp;format=plain&amp;amp;rnd=new&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();&lt;br /&gt;
connection.setSSLSocketFactory(context.getSocketFactory());&lt;br /&gt;
&lt;br /&gt;
InputStreamReader instream = new InputStreamReader(connection.getInputStream());&lt;br /&gt;
StreamTokenizer tokenizer = new StreamTokenizer(instream);&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iOS ===&lt;br /&gt;
&lt;br /&gt;
iOS pinning is performed through a &amp;lt;tt&amp;gt;NSURLConnectionDelegate&amp;lt;/tt&amp;gt;. The delegate must implement &amp;lt;tt&amp;gt;connection:canAuthenticateAgainstProtectionSpace:&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;connection:didReceiveAuthenticationChallenge:&amp;lt;/tt&amp;gt;. Within &amp;lt;tt&amp;gt;connection:didReceiveAuthenticationChallenge:&amp;lt;/tt&amp;gt;, the delegate must call &amp;lt;tt&amp;gt;SecTrustEvaluate&amp;lt;/tt&amp;gt; to perform customary X509 checks.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-ios.zip|iOS sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-(IBAction)fetchButtonTapped:(id)sender&lt;br /&gt;
{&lt;br /&gt;
    NSString* requestString = @&amp;quot;https://www.random.org/integers/?&lt;br /&gt;
        num=16&amp;amp;min=0&amp;amp;max=255&amp;amp;col=16&amp;amp;base=16&amp;amp;format=plain&amp;amp;rnd=new&amp;quot;;&lt;br /&gt;
    NSURL* requestUrl = [NSURL URLWithString:requestString];&lt;br /&gt;
&lt;br /&gt;
    NSURLRequest* request = [NSURLRequest requestWithURL:requestUrl&lt;br /&gt;
                                             cachePolicy:NSURLRequestReloadIgnoringLocalCacheData&lt;br /&gt;
                                         timeoutInterval:10.0f];&lt;br /&gt;
&lt;br /&gt;
    NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-(BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:&lt;br /&gt;
                  (NSURLProtectionSpace*)space&lt;br /&gt;
{&lt;br /&gt;
    return [[space authenticationMethod] isEqualToString: NSURLAuthenticationMethodServerTrust];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:&lt;br /&gt;
                   (NSURLAuthenticationChallenge *)challenge&lt;br /&gt;
{&lt;br /&gt;
  if ([[[challenge protectionSpace] authenticationMethod] isEqualToString: NSURLAuthenticationMethodServerTrust])&lt;br /&gt;
  {&lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
      SecTrustRef serverTrust = [[challenge protectionSpace] serverTrust];&lt;br /&gt;
      if(nil == serverTrust)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      OSStatus status = SecTrustEvaluate(serverTrust, NULL);&lt;br /&gt;
      if(!(errSecSuccess == status))&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      SecCertificateRef serverCertificate = SecTrustGetCertificateAtIndex(serverTrust, 0);&lt;br /&gt;
      if(nil == serverCertificate)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      CFDataRef serverCertificateData = SecCertificateCopyData(serverCertificate);&lt;br /&gt;
      [(id)serverCertificateData autorelease];&lt;br /&gt;
      if(nil == serverCertificateData)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      const UInt8* const data = CFDataGetBytePtr(serverCertificateData);&lt;br /&gt;
      const CFIndex size = CFDataGetLength(serverCertificateData);&lt;br /&gt;
      NSData* cert1 = [NSData dataWithBytes:data length:(NSUInteger)size];&lt;br /&gt;
&lt;br /&gt;
      NSString *file = [[NSBundle mainBundle] pathForResource:@&amp;quot;random-org&amp;quot; ofType:@&amp;quot;der&amp;quot;];&lt;br /&gt;
      NSData* cert2 = [NSData dataWithContentsOfFile:file];&lt;br /&gt;
&lt;br /&gt;
      if(nil == cert1 || nil == cert2)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      const BOOL equal = [cert1 isEqualToData:cert2];&lt;br /&gt;
      if(!equal)&lt;br /&gt;
        break; /* failed */&lt;br /&gt;
&lt;br /&gt;
      // The only good exit point&lt;br /&gt;
      return [[challenge sender] useCredential: [NSURLCredential credentialForTrust: serverTrust]&lt;br /&gt;
                    forAuthenticationChallenge: challenge];&lt;br /&gt;
    } while(0);&lt;br /&gt;
&lt;br /&gt;
    // Bad dog&lt;br /&gt;
    return [[challenge sender] cancelAuthenticationChallenge: challenge];&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== .Net ===&lt;br /&gt;
&lt;br /&gt;
.Net pinning can be achieved by using &amp;lt;tt&amp;gt;ServicePointManager&amp;lt;/tt&amp;gt; as shown below.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-dotnet.zip|.Net sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;// Encoded RSAPublicKey&lt;br /&gt;
private static String PUB_KEY = &amp;quot;30818902818100C4A06B7B52F8D17DC1CCB47362&amp;quot; +&lt;br /&gt;
    &amp;quot;C64AB799AAE19E245A7559E9CEEC7D8AA4DF07CB0B21FDFD763C63A313A668FE9D764E&amp;quot; +&lt;br /&gt;
    &amp;quot;D913C51A676788DB62AF624F422C2F112C1316922AA5D37823CD9F43D1FC54513D14B2&amp;quot; +&lt;br /&gt;
    &amp;quot;9E36991F08A042C42EAAEEE5FE8E2CB10167174A359CEBF6FACC2C9CA933AD403137EE&amp;quot; +&lt;br /&gt;
    &amp;quot;2C3F4CBED9460129C72B0203010001&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
public static void Main(string[] args)&lt;br /&gt;
{&lt;br /&gt;
  ServicePointManager.ServerCertificateValidationCallback = PinPublicKey;&lt;br /&gt;
  WebRequest wr = WebRequest.Create(&amp;quot;https://encrypted.google.com/&amp;quot;);&lt;br /&gt;
  wr.GetResponse();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public static bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain,&lt;br /&gt;
                                SslPolicyErrors sslPolicyErrors)&lt;br /&gt;
{&lt;br /&gt;
  if (null == certificate)&lt;br /&gt;
    return false;&lt;br /&gt;
&lt;br /&gt;
  String pk = certificate.GetPublicKeyString();&lt;br /&gt;
  if (pk.Equals(PUB_KEY))&lt;br /&gt;
    return true;&lt;br /&gt;
&lt;br /&gt;
  // Bad dog&lt;br /&gt;
  return false;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
&lt;br /&gt;
Pinning can occur at one of two places with OpenSSL. First is the user supplied &amp;lt;tt&amp;gt;verify_callback&amp;lt;/tt&amp;gt;. Second is after the connection is established via &amp;lt;tt&amp;gt;SSL_get_peer_certificate&amp;lt;/tt&amp;gt;. Either method will allow you to access the peer's certificate.&lt;br /&gt;
&lt;br /&gt;
Though OpenSSL performs the X509 checks, you must fail the connection and tear down the socket on error. By design, a server that does not supply a certificate will result in &amp;lt;tt&amp;gt;X509_V_OK&amp;lt;/tt&amp;gt; with a '''NULL''' certificate. To check the result of the customary verification: (1) you must call &amp;lt;tt&amp;gt;SSL_get_verify_result&amp;lt;/tt&amp;gt; and verify the return code is &amp;lt;tt&amp;gt;X509_V_OK&amp;lt;/tt&amp;gt;; and (2) you must call &amp;lt;tt&amp;gt;SSL_get_peer_certificate&amp;lt;/tt&amp;gt; and verify the certificate is '''non-NULL'''.&lt;br /&gt;
&lt;br /&gt;
Download: [[Media:pubkey-pin-openssl.zip|OpenSSL sample program]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int pkp_pin_peer_pubkey(SSL* ssl)&lt;br /&gt;
{&lt;br /&gt;
    if(NULL == ssl) return FALSE;&lt;br /&gt;
    &lt;br /&gt;
    X509* cert = NULL;&lt;br /&gt;
    FILE* fp = NULL;&lt;br /&gt;
    &lt;br /&gt;
    /* Scratch */&lt;br /&gt;
    int len1 = 0, len2 = 0;&lt;br /&gt;
    unsigned char *buff1 = NULL, *buff2 = NULL;&lt;br /&gt;
    &lt;br /&gt;
    /* Result is returned to caller */&lt;br /&gt;
    int ret = 0, result = FALSE;&lt;br /&gt;
    &lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
        /* http://www.openssl.org/docs/ssl/SSL_get_peer_certificate.html */&lt;br /&gt;
        cert = SSL_get_peer_certificate(ssl);&lt;br /&gt;
        if(!(cert != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Begin Gyrations to get the subjectPublicKeyInfo       */&lt;br /&gt;
        /* Thanks to Viktor Dukhovni on the OpenSSL mailing list */&lt;br /&gt;
        &lt;br /&gt;
        /* http://groups.google.com/group/mailing.openssl.users/browse_thread/thread/d61858dae102c6c7 */&lt;br /&gt;
        len1 = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(cert), NULL);&lt;br /&gt;
        if(!(len1 &amp;gt; 0))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* scratch */&lt;br /&gt;
        unsigned char* temp = NULL;&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
        buff1 = temp = OPENSSL_malloc(len1);&lt;br /&gt;
        if(!(buff1 != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/d2i_X509.html */&lt;br /&gt;
        len2 = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(cert), &amp;amp;temp);&lt;br /&gt;
&lt;br /&gt;
        /* These checks are verifying we got back the same values as when we sized the buffer.      */&lt;br /&gt;
        /* Its pretty weak since they should always be the same. But it gives us something to test. */&lt;br /&gt;
        if(!((len1 == len2) &amp;amp;&amp;amp; (temp != NULL) &amp;amp;&amp;amp; ((temp - buff1) == len1)))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* End Gyrations */&lt;br /&gt;
        &lt;br /&gt;
        /* See the warning above!!!                                            */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fopen.html */&lt;br /&gt;
        fp = fopen(&amp;quot;random-org.der&amp;quot;, &amp;quot;rx&amp;quot;);&lt;br /&gt;
        if(NULL ==fp) {&lt;br /&gt;
            fp = fopen(&amp;quot;random-org.der&amp;quot;, &amp;quot;r&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        if(!(NULL != fp))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Seek to eof to determine the file's size                            */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fseek.html */&lt;br /&gt;
        ret = fseek(fp, 0, SEEK_END);&lt;br /&gt;
        if(!(0 == ret))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Fetch the file's size                                               */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/ftell.html */&lt;br /&gt;
        long size = ftell(fp);&lt;br /&gt;
&lt;br /&gt;
        /* Arbitrary size, but should be relatively small (less than 1K or 2K) */&lt;br /&gt;
        if(!(size != -1 &amp;amp;&amp;amp; size &amp;gt; 0 &amp;amp;&amp;amp; size &amp;lt; 2048))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Rewind to beginning to perform the read                             */&lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fseek.html */&lt;br /&gt;
        ret = fseek(fp, 0, SEEK_SET);&lt;br /&gt;
        if(!(0 == ret))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Re-use buff2 and len2 */&lt;br /&gt;
        buff2 = NULL; len2 = (int)size;&lt;br /&gt;
        &lt;br /&gt;
        /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
        buff2 = OPENSSL_malloc(len2);&lt;br /&gt;
        if(!(buff2 != NULL))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* http://pubs.opengroup.org/onlinepubs/009696699/functions/fread.html */&lt;br /&gt;
        /* Returns number of elements read, which should be 1 */&lt;br /&gt;
        ret = (int)fread(buff2, (size_t)len2, 1, fp);&lt;br /&gt;
        if(!(ret == 1))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* Re-use size. MIN and MAX macro below... */&lt;br /&gt;
        size = len1 &amp;lt; len2 ? len1 : len2;&lt;br /&gt;
        &lt;br /&gt;
        /*************************/&lt;br /&gt;
        /*****    PAYDIRT    *****/&lt;br /&gt;
        /*************************/&lt;br /&gt;
        if(len1 != (int)size || len2 != (int)size || 0 != memcmp(buff1, buff2, (size_t)size))&lt;br /&gt;
            break; /* failed */&lt;br /&gt;
        &lt;br /&gt;
        /* The one good exit point */&lt;br /&gt;
        result = TRUE;&lt;br /&gt;
        &lt;br /&gt;
    } while(0);&lt;br /&gt;
    &lt;br /&gt;
    if(fp != NULL)&lt;br /&gt;
        fclose(fp);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
    if(NULL != buff2)&lt;br /&gt;
        OPENSSL_free(buff2);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/buffer.html */&lt;br /&gt;
    if(NULL != buff1)&lt;br /&gt;
        OPENSSL_free(buff1);&lt;br /&gt;
    &lt;br /&gt;
    /* http://www.openssl.org/docs/crypto/X509_new.html */&lt;br /&gt;
    if(NULL != cert)&lt;br /&gt;
        X509_free(cert);&lt;br /&gt;
    &lt;br /&gt;
    return result;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pinning Alternatives ==&lt;br /&gt;
&lt;br /&gt;
Not all applications use split key cryptography. Fortunately, there are protocols which allow you to set up a secure channel based on knowledge of passwords and pre-shared secrets (rather than putting the secret on the wire in a basic authentication scheme). Two are listed below - SRP and PSK. SRP and PSK have [http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-3 88 cipher suites assigned to them by IANA for TLS], so there's no shortage of choices.&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[File:pin-iana-assigned.png|thumb|450px|Figure 3: IANA reserved cipher suites for SRP and PSK]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SRP ===&lt;br /&gt;
&lt;br /&gt;
Secure Remote Password (SRP) is a Password Authenticated Key Exchange (PAKE) by Thomas Wu based upon Diffie-Hellman. The protocol is standardized in [https://tools.ietf.org/rfc/rfc5054.txt RFC 5054] and available in the OpenSSL library (among others). In the SRP scheme, the server uses a verifier which consists of a &amp;lt;tt&amp;gt;{salt, hash(password)}&amp;lt;/tt&amp;gt; pair. The user has the password and receives the salt from the server. With lots of hand waiving, both parties select per-instance random values (nonces) and execute the protocol using ''g&amp;lt;sup&amp;gt;{(salt + password)|verifier} + nonces&amp;lt;/sup&amp;gt;'' rather than traditional Diffie-Hellman using ''g&amp;lt;sup&amp;gt;ab&amp;lt;/sup&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
[[File:homer-p-np.jpg|thumb|right|150px|P=NP!!!]]Diffie-Hellman based schemes are part of a family of problems based on Discrete Logs (DL), which are logarithms over a finite field. DL schemes are appealing because they are known to be hard (unless ''P=NP'', which would cause computational number theorists to have a cow).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EAP-PSK ===&lt;br /&gt;
&lt;br /&gt;
EAP-PSK is ''Extensible Authentication Protocol'' using a ''Pre-Shared Key''. EAP-PSK is specified in [https://tools.ietf.org/rfc/rfc4764.txt RFC 4764]. The shared secret is used to key a block cipher, which is in turn used to exchange session keys. EAP-PSK is designed for authentication over insecure networks such as IEEE 802.11.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
This sections covers administrivia and miscellaneous items related to pinning.&lt;br /&gt;
&lt;br /&gt;
=== Ephemeral Keys ===&lt;br /&gt;
&lt;br /&gt;
Ephemeral keys are temporary keys used for one instance of a protocol execution and then thrown away. An ephemeral key has the benefit of providing forward secrecy, meaning a compromise of the site or service's long term (static) signing key does not facilitate decrypting past messages because the key was temporary and discarded (once the session terminated).&lt;br /&gt;
&lt;br /&gt;
Ephemeral keys do not affect pinning because the Ephemeral key is delivered in a separate &amp;lt;tt&amp;gt;ServerKeyExchange&amp;lt;/tt&amp;gt; message. In addition, the ephemeral key is a key and not a certificate, so it does not change the construction of the certificate chain. That is, the certificate of interest will still be located at &amp;lt;tt&amp;gt;certificates[0]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Pinning Gaps ===&lt;br /&gt;
&lt;br /&gt;
There are two gaps when pinning due to reuse of the existing infrastructure and protocols. First, an explicit challenge is '''not''' sent by the program to the peer server based on the server's public information. So the program never knows if the peer can actually decrypt messages. However, the shortcoming is usually academic in practice since an adversary will receive messages it can't decrypt.&lt;br /&gt;
&lt;br /&gt;
Second is revocation. Clients don't usually engage in revocation checking, so it could be possible to use a known bad certificate or key in a pinset. Even if revocation is active, Certificate Revocation Lists (CRLs) and Online Certificate Status Protocol (OCSP) can be defeated in a hostile environment. An application can take steps to remediate, with the primary means being freshness. That is, an application should be updated and distributed immediately when a critical security parameter changes.&lt;br /&gt;
&lt;br /&gt;
=== No Relationship ^@$! ===&lt;br /&gt;
&lt;br /&gt;
If you don't have a pre-existing relationship, all is not lost. First, you can pin a host or server's certificate or public key the first time you encounter it. If the bad guy was not active when you encountered the certificate or public key, he or she will not be successful with future funny business.&lt;br /&gt;
&lt;br /&gt;
Second, bad certificates are being spotted quicker in the field due to projects like [http://www.chromium.org Chromium] and [https://addons.mozilla.org/en-us/firefox/addon/certificate-patrol/ Certificate Patrol], and initiatives like the EFF's [https://www.eff.org/observatory SSL Observatory].&lt;br /&gt;
&lt;br /&gt;
Third, help is on its way, and there are a number of futures that will assist with the endeavors:&lt;br /&gt;
&lt;br /&gt;
* Public Key Pinning (http://www.ietf.org/id/draft-ietf-websec-key-pinning-04.txt) – an extension to the HTTP protocol allowing web host operators to instruct user agents (UAs) to remember (&amp;quot;pin&amp;quot;) the hosts' cryptographic identities for a given period of time.&lt;br /&gt;
* DNS-based Authentication of Named Entities (DANE) (https://datatracker.ietf.org/doc/rfc6698/) - uses Secure DNS to associate Certificates with Domain Names For S/MIME, SMTP with TLS, DNSSEC and TLSA records.&lt;br /&gt;
* Sovereign Keys (http://www.eff.org/sovereign-keys) - operates by providing an optional and secure way of associating domain names with public keys via DNSSEC. PKI (hierarchical) is still used. Semi-centralized with append only logging.&lt;br /&gt;
* Convergence (http://convergence.io) – different [geographical] views of a site and its associated data (certificates and public keys). Web of Trust is used. Semi-centralized.&lt;br /&gt;
&lt;br /&gt;
While Sovereign Keys and Convergence still require us to confer trust to outside parties, the parties involved do not serve share holders or covet revenue streams. Their interests are industry transparency and user security.&lt;br /&gt;
&lt;br /&gt;
=== More Information? ===&lt;br /&gt;
&lt;br /&gt;
Pinning is an ''old new thing'' that has been shaken, stirred, and repackaged. While &amp;quot;pinning&amp;quot; and &amp;quot;pinsets&amp;quot; are relatively new terms for old things, Jon Larimer and Kenny Root spent time on the subject at Google I/O 2012 with their talk ''[https://developers.google.com/events/io/sessions/gooio2012/107/ Security and Privacy in Android Apps]''.&lt;br /&gt;
&lt;br /&gt;
=== Format Conversions ===&lt;br /&gt;
&lt;br /&gt;
As a convenience to readers, the following with convert between PEM and DER format using OpenSSL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Public key, X509&lt;br /&gt;
$ openssl genrsa -out rsa-openssl.pem 3072&lt;br /&gt;
$ openssl rsa -in rsa-openssl.pem -pubout -outform DER -out rsa-openssl.der&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Private key, PKCS#8&lt;br /&gt;
$ openssl genrsa -out rsa-openssl.pem 3072&lt;br /&gt;
$ openssl pkcs8 -nocrypt -in rsa-openssl.pem -inform PEM -topk8 -outform DER -out rsa-openssl.der&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* OWASP [[Injection_Theory|Injection Theory]]&lt;br /&gt;
* OWASP [[Data_Validation|Data Validation]]&lt;br /&gt;
* OWASP [[Transport_Layer_Protection_Cheat_Sheet|Transport Layer Protection Cheat Sheet]]&lt;br /&gt;
* IETF [http://www.ietf.org/id/draft-ietf-websec-key-pinning-04.txt Public Key Pinning]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5054.txt RFC 5054 (SRP)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4764.txt RFC 4764 (EAP-PSK)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc1421.txt RFC 1421 (PEM Encoding)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5280.txt RFC 5280 (Internet X.509, PKIX)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4648.txt RFC 4648 (Base16, Base32, and Base64 Encodings)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc3279.txt RFC 3279 (PKI, X509 Algorithms and CRL Profiles)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4055.txt RFC 4055 (PKI, X509 Additional Algorithms and CRL Profiles)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc2246.txt RFC 2246 (TLS 1.0)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc4346.txt RFC 4346 (TLS 1.1)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc5246.txt RFC 5246 (TLS 1.2)]&lt;br /&gt;
* IETF [http://www.ietf.org/rfc/rfc6698.txt RFC 6698, Draft (DANE)]&lt;br /&gt;
* EFF [http://www.eff.org/sovereign-keys Sovereign Keys]&lt;br /&gt;
* Thoughtcrime Labs [http://convergence.io/ Convergence]&lt;br /&gt;
* RSA Laboratories [http://www.rsa.com/rsalabs/node.asp?id=2125 PKCS#1, RSA Encryption Standard]&lt;br /&gt;
* RSA Laboratories [http://www.rsa.com/rsalabs/node.asp?id=2128 PKCS#6, Extended-Certificate Syntax Standard]&lt;br /&gt;
* ITU [http://www.itu.int/rec/T-REC-X.690-200811-I/en Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)]&lt;br /&gt;
* TOR Project [https://blog.torproject.org/blog/detecting-certificate-authority-compromises-and-web-browser-collusion Detecting Certificate Authority Compromises and Web Browser Collusion]&lt;br /&gt;
* Code Project [http://www.codeproject.com/Articles/25487/Cryptographic-Interoperability-Keys Cryptographic Interoperability: Keys]&lt;br /&gt;
* Google I/O [https://developers.google.com/events/io/sessions/gooio2012/107/ Security and Privacy in Android Apps]&lt;br /&gt;
* Dr. Peter Gutmann's [http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf PKI is Broken]&lt;br /&gt;
* Dr. Matthew Green's [http://blog.cryptographyengineering.com/2012/02/how-to-fix-internet.html The Internet is Broken]&lt;br /&gt;
* Dr. Matthew Green's [http://blog.cryptographyengineering.com/2012/03/how-do-interception-proxies-fail.html How do Interception Proxies fail?]&lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors  =&lt;br /&gt;
&lt;br /&gt;
* Jeffrey Walton - jeffrey, owasp.org&lt;br /&gt;
* JohnSteven - john, owasp.org&lt;br /&gt;
* Jim Manico - jim, owasp.org&lt;br /&gt;
* Kevin Wall - kevin, owasp.org&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142475</id>
		<title>Projects/OWASP Mobile Security Project - Security Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142475"/>
				<updated>2013-01-18T16:55:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**How are keys derived from i.e. a password?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**Places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**Directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**Cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**Credentials&lt;br /&gt;
***Username and/or password&lt;br /&gt;
***API keys&lt;br /&gt;
***Authentication tokens&lt;br /&gt;
**Payment information&lt;br /&gt;
**Patient data&lt;br /&gt;
**Signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log data? Is sensitive information accessible?&lt;br /&gt;
**How are the logs accessed, if so, and by which mechanism/functionality? Is log access protected?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
**Is the device identifier sent that could be used to identify the user? (i.e.UDID in Apple devices)&lt;br /&gt;
&lt;br /&gt;
*Caches&lt;br /&gt;
**Predictive text&lt;br /&gt;
**Location information&lt;br /&gt;
**Copy and paste&lt;br /&gt;
**Application snapshot&lt;br /&gt;
**Browser cache&lt;br /&gt;
**Non-standard cache locations (i.e the various SQLite databases that apps can create if they use HTML UI components)&lt;br /&gt;
&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
Review licensing requirements for any potential violations.&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Identify places where the application passes untrusted data into a web view or browser&lt;br /&gt;
**Determine if the application properly output encodes or sanitizes the data within the appropriate context&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
**Where the application permits usage of the shell, identify the entry points to manipulate or alter the commands via user input or external untrusted data&lt;br /&gt;
**Determine if an attacker can inject arbitrary commands or manipulate the intended command in any way&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
*Are insecure protocols used to send or receive sensitive information? Examples- FTP, SNMP v1, SSH v1&lt;br /&gt;
&lt;br /&gt;
*Are there any known issues with the specific libraries you are using to implement the protocol?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**The certificate has not expired&lt;br /&gt;
**The certificate was issued by a valid certificate authority&lt;br /&gt;
**The remote destination information matches the information within the certificate?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated only by the operating system or also by the application that relies on it?&lt;br /&gt;
&lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
-To do&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;br /&gt;
&lt;br /&gt;
Armed with data collected during the Information Gathering and Static Analysis phases, the tester can begin an informed vulnerability assessment of the mobile application client, server and associated services.&lt;br /&gt;
&lt;br /&gt;
Dynamic analysis is conducted against the backend services and APIs and the type of tests varies depending on mobile application type.&lt;br /&gt;
&lt;br /&gt;
=== Application Types ===&lt;br /&gt;
&lt;br /&gt;
*Native Mobile Application: Native mobile applications can be installed on to the device. This type of applications generally store most of their code on the device. Any information required can be requested to the server using the HTTP/s protocol&lt;br /&gt;
&lt;br /&gt;
*Web services for Mobile Application: Native mobile application that uses SOAP or REST based web services to communicate between client and Server&lt;br /&gt;
&lt;br /&gt;
*Mobile Browser Based Application: Web browser based applications can be accessed using device’s browsers such as Safari or Chrome. Most of the commercial applications are nowadays specifically designed and optimized for mobile browsers. These applications are no different than traditional web application and all the web application vulnerabilities apply to these apps and these should be tested as traditional web apps.&lt;br /&gt;
&lt;br /&gt;
*Mobile Hybrid Applications:Applications can leverage web browser functionality within native applications, blending the risks from both classes of applications.&lt;br /&gt;
&lt;br /&gt;
In this phase, the mobile client, backend services, and host platform is analyzed/scanned in attempt to uncover potential risks, vulnerabilities and threats. The use of an intercepting proxy tool as well as automated vulnerability scanners are core to this phase. In many cases, you will also need some type of shell access to the device.&lt;br /&gt;
&lt;br /&gt;
The following outline can be used as a “Dynamic Analysis” guide in planning a mobile assessment.&lt;br /&gt;
&lt;br /&gt;
=== Establishing a Baseline ===&lt;br /&gt;
&lt;br /&gt;
*Generate File System Baseline Fingerprint (before app installation)&lt;br /&gt;
**Application interactions with the host file system must be reviewed and analyzed at various stages of testing; starting with baseline capture. This may require a shell or GUI depending on platform and/or preference.&lt;br /&gt;
&lt;br /&gt;
*Install, Configure and Use the Application&lt;br /&gt;
**Manually inspect the file system to determine what files/databases were created, what and how data is stored. Did the application store sensitive data unencrypted or trivially protected (i.e. encoded)?&lt;br /&gt;
**Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at databases, log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
&lt;br /&gt;
*Attach a debugger to an application to step through code execution and setting breakpoints at interesting code within the application&lt;br /&gt;
&lt;br /&gt;
*Monitor logged messages and notifications generated at runtime&lt;br /&gt;
&lt;br /&gt;
*Observe interprocess communications between the target application and other applications and services running on the mobile device.&lt;br /&gt;
&lt;br /&gt;
=== Active Testing ===&lt;br /&gt;
&lt;br /&gt;
==== Local Testing ====&lt;br /&gt;
&lt;br /&gt;
*Exposed IPC interfaces&lt;br /&gt;
**Sniff&lt;br /&gt;
**Fuzz&lt;br /&gt;
**Bypass authorization checks&lt;br /&gt;
&lt;br /&gt;
===== Cryptography =====&lt;br /&gt;
&lt;br /&gt;
*Brute force attacks against keys, pins, and hashes&lt;br /&gt;
*Attempt to reconstruct encrypted data through recovery of keys, hardcoded secrets, and any other information exposed by the application&lt;br /&gt;
&lt;br /&gt;
===== Web Applications =====&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Is it possible to inject client side code (i.e. JavaScript) or HTML into the application to either modify the inner working of the application or it's user interface?&lt;br /&gt;
&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
&lt;br /&gt;
*CSRF&lt;br /&gt;
&lt;br /&gt;
*SQL Injection&lt;br /&gt;
&lt;br /&gt;
*Cookies&lt;br /&gt;
**Are cookies issued by a server secured by using the HTTP-only and Secure flag?&lt;br /&gt;
**Is there any sensitive information stored in the cookies?&lt;br /&gt;
&lt;br /&gt;
*HTML5 Storage&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*Assess the methods an application uses to authenticate peers&lt;br /&gt;
**NFC&lt;br /&gt;
**SMS&lt;br /&gt;
**Push notifications&lt;br /&gt;
**Across IPC channels (identify the calling application’s privileges and identity)&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
*Instrument, patch, or interact with application at runtime to bypass methods intended to prevent usage of privileged or premium features&lt;br /&gt;
&lt;br /&gt;
*Determine if configuration or locally stored data can be manipulated in order to elevate a user’s privileges&lt;br /&gt;
&lt;br /&gt;
*Check the filesystem permissions for any files created at runtime&lt;br /&gt;
&lt;br /&gt;
===== File System Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Assess the application’s behavior throughout it’s lifecycle to determine if special functionality is triggered to persist an application’s state when it enters different stages:&lt;br /&gt;
**Placed into the foreground&lt;br /&gt;
**Sent into the background&lt;br /&gt;
**Upon exiting the application&lt;br /&gt;
&lt;br /&gt;
*Data  storage in Cache&lt;br /&gt;
&lt;br /&gt;
*Looking for artifacts left on device&lt;br /&gt;
&lt;br /&gt;
*Unencrypted data storage on the device&lt;br /&gt;
&lt;br /&gt;
*Encryption of data in backups&lt;br /&gt;
&lt;br /&gt;
*Username/password, or app-specific unique device id stored on the device&lt;br /&gt;
&lt;br /&gt;
*Application Permissions , Privileges and Access controls on the device&lt;br /&gt;
&lt;br /&gt;
*Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information cached within the application’s UI back stack?&lt;br /&gt;
&lt;br /&gt;
*Utilize forensic tools to determine if deleted data can be recovered from the filesystem as well as within databases&lt;br /&gt;
&lt;br /&gt;
===== Memory Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Determine if sensitive information persists within memory after performing the following actions:&lt;br /&gt;
**Logging out of the application&lt;br /&gt;
**Transition between UI components&lt;br /&gt;
&lt;br /&gt;
*Is it possible to obtain encryption keys, credentials, payment information and other sensitive information by dumping device or application memory?&lt;br /&gt;
&lt;br /&gt;
==== Remote Application/Service Testing ====&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*What methods are available (3G, 4G, Wifi, etc)?&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authentication service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Assess strength of password requirements&lt;br /&gt;
&lt;br /&gt;
*Test how account lockouts are implemented&lt;br /&gt;
&lt;br /&gt;
*Analyze (monitor traffic) how each method performs authentication. Note target wifi as this is a common area where authentication can be weak. Ensure authentication is robust and not based on trivial attributes (i.e. MDN, ESN, etc).&lt;br /&gt;
&lt;br /&gt;
*Verify that authentication tokens are terminated after a user initiates a password reset&lt;br /&gt;
&lt;br /&gt;
*Single Sign On (SSO)&lt;br /&gt;
&lt;br /&gt;
*SMS Based&lt;br /&gt;
**One Time Passwords (OTP)&lt;br /&gt;
**Two Factor Authentication&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authorization handling service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Test if direct access to backend resources is possible&lt;br /&gt;
&lt;br /&gt;
*Access controls to server side resources not enforced&lt;br /&gt;
&lt;br /&gt;
*Vertical and horizontal privilege escalation&lt;br /&gt;
&lt;br /&gt;
===== Session Management =====&lt;br /&gt;
&lt;br /&gt;
*Entropy analysis&lt;br /&gt;
*Device identifier related?&lt;br /&gt;
*Are session tokens refreshed between logouts?&lt;br /&gt;
*Lifetime and expiration&lt;br /&gt;
*Handling the session token on the device (stored, in memory, etc.)&lt;br /&gt;
*Privilege Escalation&lt;br /&gt;
*Ineffective Session Termination&lt;br /&gt;
&lt;br /&gt;
===== Transport Layer Testing =====&lt;br /&gt;
*Man-in-the-middle attacks&lt;br /&gt;
*Eavesdropping&lt;br /&gt;
*SSL checks (cypher strengths/weakness etc.)&lt;br /&gt;
&lt;br /&gt;
===== Server Side Attacks =====&lt;br /&gt;
&lt;br /&gt;
*Triggering unhandled exceptions&lt;br /&gt;
*Cross-Site Scripting&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*XML Bombs&lt;br /&gt;
*Buffer overflow&lt;br /&gt;
*Unrestricted File Upload&lt;br /&gt;
*Open Redirect&lt;br /&gt;
&lt;br /&gt;
===== Server, Network &amp;amp; Application Scanning =====&lt;br /&gt;
&lt;br /&gt;
*Based on prior phases you should have 1 or more target servers (i.e. URLs) as candidates for automated vulnerability scanning. Mobile applications often leverage existing web services/applications (i.e. hybrid applications) which must be tested for security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===== Conclusion =====&lt;br /&gt;
&lt;br /&gt;
Mobile applications are continuing to mature and evolve thus to be effective, security testers must strive to advance their knowledge and skills. Please check back periodically for updates and share your feedback with us.&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142474</id>
		<title>Projects/OWASP Mobile Security Project - Security Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142474"/>
				<updated>2013-01-18T16:54:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**How are keys derived from i.e. a password?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**Places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**Directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**Cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**Credentials&lt;br /&gt;
***Username and/or password&lt;br /&gt;
***API keys&lt;br /&gt;
***Authentication tokens&lt;br /&gt;
**Payment information&lt;br /&gt;
**Patient data&lt;br /&gt;
**Signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log data? Is sensitive information accessible?&lt;br /&gt;
**How are the logs accessed, if so, and by which mechanism/functionality? Is log access protected?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
**Is the device identifier sent that could be used to identify the user? (i.e.UDID in Apple devices)&lt;br /&gt;
&lt;br /&gt;
*Caches&lt;br /&gt;
**Predictive text&lt;br /&gt;
**Location information&lt;br /&gt;
**Copy and paste&lt;br /&gt;
**Application snapshot&lt;br /&gt;
**Browser cache&lt;br /&gt;
**Non-standard cache locations (i.e the various SQLite databases that apps can create if they use HTML UI components)&lt;br /&gt;
&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
Review licensing requirements for any potential violations.&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Identify places where the application passes untrusted data into a web view or browser&lt;br /&gt;
**Determine if the application properly output encodes or sanitizes the data within the appropriate context&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
**Where the application permits usage of the shell, identify the entry points to manipulate or alter the commands via user input or external untrusted data&lt;br /&gt;
**Determine if an attacker can inject arbitrary commands or manipulate the intended command in any way&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
*Are insecure protocols used to send or receive sensitive information? Examples- FTP, SNMP v1, SSH v1&lt;br /&gt;
&lt;br /&gt;
*Are there any known issues with the specific libraries you are using to implement the protocol?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**The certificate has not expired&lt;br /&gt;
**The certificate was issued by a valid certificate authority&lt;br /&gt;
**The remote destination information matches the information within the certificate?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated only by the operating system or also by the application that relies on it?&lt;br /&gt;
&lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
-To do&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;br /&gt;
&lt;br /&gt;
Armed with data collected during the Information Gathering and Static Analysis phases, the tester can begin an informed vulnerability assessment of the mobile application client, server and associated services.&lt;br /&gt;
&lt;br /&gt;
Dynamic analysis is conducted against the backend services and APIs and the type of tests varies depending on mobile application type.&lt;br /&gt;
&lt;br /&gt;
=== Application Types ===&lt;br /&gt;
&lt;br /&gt;
*Native Mobile Application: Native mobile applications can be installed on to the device. This type of applications generally store most of their code on the device. Any information required can be requested to the server using the HTTP/s protocol&lt;br /&gt;
&lt;br /&gt;
*Web services for Mobile Application: Native mobile application that uses SOAP or REST based web services to communicate between client and Server&lt;br /&gt;
&lt;br /&gt;
*Mobile Browser Based Application: Web browser based applications can be accessed using device’s browsers such as Safari or Chrome. Most of the commercial applications are nowadays specifically designed and optimized for mobile browsers. These applications are no different than traditional web application and all the web application vulnerabilities apply to these apps and these should be tested as traditional web apps.&lt;br /&gt;
&lt;br /&gt;
*Mobile Hybrid Applications:Applications can leverage web browser functionality within native applications, blending the risks from both classes of applications.&lt;br /&gt;
&lt;br /&gt;
In this phase, the mobile client, backend services, and host platform is analyzed/scanned in attempt to uncover potential risks, vulnerabilities and threats. The use of an intercepting proxy tool as well as automated vulnerability scanners are core to this phase. In many cases, you will also need some type of shell access to the device.&lt;br /&gt;
&lt;br /&gt;
The following outline can be used as a “Dynamic Analysis” guide in planning a mobile assessment.&lt;br /&gt;
&lt;br /&gt;
=== Establishing a Baseline ===&lt;br /&gt;
&lt;br /&gt;
*Generate File System Baseline Fingerprint (before app installation)&lt;br /&gt;
**Application interactions with the host file system must be reviewed and analyzed at various stages of testing; starting with baseline capture. This may require a shell or GUI depending on platform and/or preference.&lt;br /&gt;
&lt;br /&gt;
*Install, Configure and Use the Application&lt;br /&gt;
**Manually inspect the file system to determine what files/databases were created, what and how data is stored. Did the application store sensitive data unencrypted or trivially protected (i.e. encoded)?&lt;br /&gt;
**Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at databases, log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
&lt;br /&gt;
*Attach a debugger to an application to step through code execution and setting breakpoints at interesting code within the application&lt;br /&gt;
&lt;br /&gt;
*Monitor logged messages and notifications generated at runtime&lt;br /&gt;
&lt;br /&gt;
*Observe interprocess communications between the target application and other applications and services running on the mobile device.&lt;br /&gt;
&lt;br /&gt;
=== Active Testing ===&lt;br /&gt;
&lt;br /&gt;
==== Local Testing =====&lt;br /&gt;
&lt;br /&gt;
*Exposed IPC interfaces&lt;br /&gt;
**Sniff&lt;br /&gt;
**Fuzz&lt;br /&gt;
**Bypass authorization checks&lt;br /&gt;
&lt;br /&gt;
===== Cryptography =====&lt;br /&gt;
&lt;br /&gt;
*Brute force attacks against keys, pins, and hashes&lt;br /&gt;
*Attempt to reconstruct encrypted data through recovery of keys, hardcoded secrets, and any other information exposed by the application&lt;br /&gt;
&lt;br /&gt;
===== Web Applications =====&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Is it possible to inject client side code (i.e. JavaScript) or HTML into the application to either modify the inner working of the application or it's user interface?&lt;br /&gt;
&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
&lt;br /&gt;
*CSRF&lt;br /&gt;
&lt;br /&gt;
*SQL Injection&lt;br /&gt;
&lt;br /&gt;
*Cookies&lt;br /&gt;
**Are cookies issued by a server secured by using the HTTP-only and Secure flag?&lt;br /&gt;
**Is there any sensitive information stored in the cookies?&lt;br /&gt;
&lt;br /&gt;
*HTML5 Storage&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*Assess the methods an application uses to authenticate peers&lt;br /&gt;
**NFC&lt;br /&gt;
**SMS&lt;br /&gt;
**Push notifications&lt;br /&gt;
**Across IPC channels (identify the calling application’s privileges and identity)&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
*Instrument, patch, or interact with application at runtime to bypass methods intended to prevent usage of privileged or premium features&lt;br /&gt;
&lt;br /&gt;
*Determine if configuration or locally stored data can be manipulated in order to elevate a user’s privileges&lt;br /&gt;
&lt;br /&gt;
*Check the filesystem permissions for any files created at runtime&lt;br /&gt;
&lt;br /&gt;
===== File System Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Assess the application’s behavior throughout it’s lifecycle to determine if special functionality is triggered to persist an application’s state when it enters different stages:&lt;br /&gt;
**Placed into the foreground&lt;br /&gt;
**Sent into the background&lt;br /&gt;
**Upon exiting the application&lt;br /&gt;
&lt;br /&gt;
*Data  storage in Cache&lt;br /&gt;
&lt;br /&gt;
*Looking for artifacts left on device&lt;br /&gt;
&lt;br /&gt;
*Unencrypted data storage on the device&lt;br /&gt;
&lt;br /&gt;
*Encryption of data in backups&lt;br /&gt;
&lt;br /&gt;
*Username/password, or app-specific unique device id stored on the device&lt;br /&gt;
&lt;br /&gt;
*Application Permissions , Privileges and Access controls on the device&lt;br /&gt;
&lt;br /&gt;
*Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information cached within the application’s UI back stack?&lt;br /&gt;
&lt;br /&gt;
*Utilize forensic tools to determine if deleted data can be recovered from the filesystem as well as within databases&lt;br /&gt;
&lt;br /&gt;
===== Memory Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Determine if sensitive information persists within memory after performing the following actions:&lt;br /&gt;
**Logging out of the application&lt;br /&gt;
**Transition between UI components&lt;br /&gt;
&lt;br /&gt;
*Is it possible to obtain encryption keys, credentials, payment information and other sensitive information by dumping device or application memory?&lt;br /&gt;
&lt;br /&gt;
==== Remote Application/Service Testing ====&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*What methods are available (3G, 4G, Wifi, etc)?&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authentication service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Assess strength of password requirements&lt;br /&gt;
&lt;br /&gt;
*Test how account lockouts are implemented&lt;br /&gt;
&lt;br /&gt;
*Analyze (monitor traffic) how each method performs authentication. Note target wifi as this is a common area where authentication can be weak. Ensure authentication is robust and not based on trivial attributes (i.e. MDN, ESN, etc).&lt;br /&gt;
&lt;br /&gt;
*Verify that authentication tokens are terminated after a user initiates a password reset&lt;br /&gt;
&lt;br /&gt;
*Single Sign On (SSO)&lt;br /&gt;
&lt;br /&gt;
*SMS Based&lt;br /&gt;
**One Time Passwords (OTP)&lt;br /&gt;
**Two Factor Authentication&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authorization handling service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Test if direct access to backend resources is possible&lt;br /&gt;
&lt;br /&gt;
*Access controls to server side resources not enforced&lt;br /&gt;
&lt;br /&gt;
*Vertical and horizontal privilege escalation&lt;br /&gt;
&lt;br /&gt;
===== Session Management =====&lt;br /&gt;
&lt;br /&gt;
*Entropy analysis&lt;br /&gt;
*Device identifier related?&lt;br /&gt;
*Are session tokens refreshed between logouts?&lt;br /&gt;
*Lifetime and expiration&lt;br /&gt;
*Handling the session token on the device (stored, in memory, etc.)&lt;br /&gt;
*Privilege Escalation&lt;br /&gt;
*Ineffective Session Termination&lt;br /&gt;
&lt;br /&gt;
===== Transport Layer Testing =====&lt;br /&gt;
*Man-in-the-middle attacks&lt;br /&gt;
*Eavesdropping&lt;br /&gt;
*SSL checks (cypher strengths/weakness etc.)&lt;br /&gt;
&lt;br /&gt;
===== Server Side Attacks =====&lt;br /&gt;
&lt;br /&gt;
*Triggering unhandled exceptions&lt;br /&gt;
*Cross-Site Scripting&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*XML Bombs&lt;br /&gt;
*Buffer overflow&lt;br /&gt;
*Unrestricted File Upload&lt;br /&gt;
*Open Redirect&lt;br /&gt;
&lt;br /&gt;
===== Server, Network &amp;amp; Application Scanning =====&lt;br /&gt;
&lt;br /&gt;
*Based on prior phases you should have 1 or more target servers (i.e. URLs) as candidates for automated vulnerability scanning. Mobile applications often leverage existing web services/applications (i.e. hybrid applications) which must be tested for security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===== Conclusion =====&lt;br /&gt;
&lt;br /&gt;
Mobile applications are continuing to mature and evolve thus to be effective, security testers must strive to advance their knowledge and skills. Please check back periodically for updates and share your feedback with us.&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142473</id>
		<title>Projects/OWASP Mobile Security Project - Security Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142473"/>
				<updated>2013-01-18T16:49:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**How are keys derived from i.e. a password?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**Places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**Directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**Cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**Credentials&lt;br /&gt;
***Username and/or password&lt;br /&gt;
***API keys&lt;br /&gt;
***Authentication tokens&lt;br /&gt;
**Payment information&lt;br /&gt;
**Patient data&lt;br /&gt;
**Signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log data? Is sensitive information accessible?&lt;br /&gt;
**How are the logs accessed, if so, and by which mechanism/functionality? Is log access protected?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
**Is the device identifier sent that could be used to identify the user? (i.e.UDID in Apple devices)&lt;br /&gt;
&lt;br /&gt;
*Caches&lt;br /&gt;
**Predictive text&lt;br /&gt;
**Location information&lt;br /&gt;
**Copy and paste&lt;br /&gt;
**Application snapshot&lt;br /&gt;
**Browser cache&lt;br /&gt;
**Non-standard cache locations (i.e the various SQLite databases that apps can create if they use HTML UI components)&lt;br /&gt;
&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
Review licensing requirements for any potential violations.&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Identify places where the application passes untrusted data into a web view or browser&lt;br /&gt;
**Determine if the application properly output encodes or sanitizes the data within the appropriate context&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
**Where the application permits usage of the shell, identify the entry points to manipulate or alter the commands via user input or external untrusted data&lt;br /&gt;
**Determine if an attacker can inject arbitrary commands or manipulate the intended command in any way&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
*Are insecure protocols used to send or receive sensitive information? Examples- FTP, SNMP v1, SSH v1&lt;br /&gt;
&lt;br /&gt;
*Are there any known issues with the specific libraries you are using to implement the protocol?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**The certificate has not expired&lt;br /&gt;
**The certificate was issued by a valid certificate authority&lt;br /&gt;
**The remote destination information matches the information within the certificate?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated only by the operating system or also by the application that relies on it?&lt;br /&gt;
&lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
-To do&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;br /&gt;
&lt;br /&gt;
Armed with data collected during the Information Gathering and Static Analysis phases, the tester can begin an informed vulnerability assessment of the mobile application client, server and associated services.&lt;br /&gt;
&lt;br /&gt;
Dynamic analysis is conducted against the backend services and APIs and the type of tests varies depending on mobile application type.&lt;br /&gt;
&lt;br /&gt;
=== Application Types ===&lt;br /&gt;
&lt;br /&gt;
*Native Mobile Application: Native mobile applications can be installed on to the device. This type of applications generally store most of their code on the device. Any information required can be requested to the server using the HTTP/s protocol&lt;br /&gt;
&lt;br /&gt;
*Web services for Mobile Application: Native mobile application that uses SOAP or REST based web services to communicate between client and Server&lt;br /&gt;
&lt;br /&gt;
*Mobile Browser Based Application: Web browser based applications can be accessed using device’s browsers such as Safari or Chrome. Most of the commercial applications are nowadays specifically designed and optimized for mobile browsers. These applications are no different than traditional web application and all the web application vulnerabilities apply to these apps and these should be tested as traditional web apps.&lt;br /&gt;
&lt;br /&gt;
*Mobile Hybrid Applications:Applications can leverage web browser functionality within native applications, blending the risks from both classes of applications.&lt;br /&gt;
&lt;br /&gt;
In this phase, the mobile client, backend services, and host platform is analyzed/scanned in attempt to uncover potential risks, vulnerabilities and threats. The use of an intercepting proxy tool as well as automated vulnerability scanners are core to this phase. In many cases, you will also need some type of shell access to the device.&lt;br /&gt;
&lt;br /&gt;
The following outline can be used as a “Dynamic Analysis” guide in planning a mobile assessment.&lt;br /&gt;
&lt;br /&gt;
=== Establishing a Baseline ===&lt;br /&gt;
&lt;br /&gt;
*Generate File System Baseline Fingerprint (before app installation)&lt;br /&gt;
**Application interactions with the host file system must be reviewed and analyzed at various stages of testing; starting with baseline capture. This may require a shell or GUI depending on platform and/or preference.&lt;br /&gt;
&lt;br /&gt;
*Install, Configure and Use the Application&lt;br /&gt;
**Manually inspect the file system to determine what files/databases were created, what and how data is stored. Did the application store sensitive data unencrypted or trivially protected (i.e. encoded)?&lt;br /&gt;
**Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at databases, log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
&lt;br /&gt;
*Attach a debugger to an application to step through code execution and setting breakpoints at interesting code within the application&lt;br /&gt;
&lt;br /&gt;
*Monitor logged messages and notifications generated at runtime&lt;br /&gt;
&lt;br /&gt;
*Observe interprocess communications between the target application and other applications and services running on the mobile device.&lt;br /&gt;
&lt;br /&gt;
=== Active Testing ===&lt;br /&gt;
&lt;br /&gt;
==== Local Testing ===&lt;br /&gt;
&lt;br /&gt;
*Exposed IPC interfaces&lt;br /&gt;
**Sniff&lt;br /&gt;
**Fuzz&lt;br /&gt;
**Bypass authorization checks&lt;br /&gt;
&lt;br /&gt;
===== Cryptography =====&lt;br /&gt;
&lt;br /&gt;
*Brute force attacks against keys, pins, and hashes&lt;br /&gt;
*Attempt to reconstruct encrypted data through recovery of keys, hardcoded secrets, and any other information exposed by the application&lt;br /&gt;
&lt;br /&gt;
===== Web Applications =====&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Is it possible to inject client side code (i.e. JavaScript) or HTML into the application to either modify the inner working of the application or it's user interface?&lt;br /&gt;
&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
&lt;br /&gt;
*CSRF&lt;br /&gt;
&lt;br /&gt;
*SQL Injection&lt;br /&gt;
&lt;br /&gt;
*Cookies&lt;br /&gt;
**Are cookies issued by a server secured by using the HTTP-only and Secure flag?&lt;br /&gt;
**Is there any sensitive information stored in the cookies?&lt;br /&gt;
&lt;br /&gt;
*HTML5 Storage&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*Assess the methods an application uses to authenticate peers&lt;br /&gt;
**NFC&lt;br /&gt;
**SMS&lt;br /&gt;
**Push notifications&lt;br /&gt;
**Across IPC channels (identify the calling application’s privileges and identity)&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
*Instrument, patch, or interact with application at runtime to bypass methods intended to prevent usage of privileged or premium features&lt;br /&gt;
&lt;br /&gt;
*Determine if configuration or locally stored data can be manipulated in order to elevate a user’s privileges&lt;br /&gt;
&lt;br /&gt;
*Check the filesystem permissions for any files created at runtime&lt;br /&gt;
&lt;br /&gt;
===== File System Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Assess the application’s behavior throughout it’s lifecycle to determine if special functionality is triggered to persist an application’s state when it enters different stages:&lt;br /&gt;
**Placed into the foreground&lt;br /&gt;
**Sent into the background&lt;br /&gt;
**Upon exiting the application&lt;br /&gt;
&lt;br /&gt;
*Data  storage in Cache&lt;br /&gt;
&lt;br /&gt;
*Looking for artifacts left on device&lt;br /&gt;
&lt;br /&gt;
*Unencrypted data storage on the device&lt;br /&gt;
&lt;br /&gt;
*Encryption of data in backups&lt;br /&gt;
&lt;br /&gt;
*Username/password, or app-specific unique device id stored on the device&lt;br /&gt;
&lt;br /&gt;
*Application Permissions , Privileges and Access controls on the device&lt;br /&gt;
&lt;br /&gt;
*Generally, pay attention to credentials, payment information, or other highly sensitive information being saved to the device. Also take a look at log files, predictive text caches, and crash logs.&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information cached within the application’s UI back stack?&lt;br /&gt;
&lt;br /&gt;
*Utilize forensic tools to determine if deleted data can be recovered from the filesystem as well as within databases&lt;br /&gt;
&lt;br /&gt;
===== Memory Analysis =====&lt;br /&gt;
&lt;br /&gt;
*Determine if sensitive information persists within memory after performing the following actions:&lt;br /&gt;
**Logging out of the application&lt;br /&gt;
**Transition between UI components&lt;br /&gt;
&lt;br /&gt;
*Is it possible to obtain encryption keys, credentials, payment information and other sensitive information by dumping device or application memory?&lt;br /&gt;
&lt;br /&gt;
==== Remote Application/Service Testing ====&lt;br /&gt;
&lt;br /&gt;
===== Authentication =====&lt;br /&gt;
&lt;br /&gt;
*What methods are available (3G, 4G, Wifi, etc)?&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authentication service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Assess strength of password requirements&lt;br /&gt;
&lt;br /&gt;
*Test how account lockouts are implemented&lt;br /&gt;
&lt;br /&gt;
*Analyze (monitor traffic) how each method performs authentication. Note target wifi as this is a common area where authentication can be weak. Ensure authentication is robust and not based on trivial attributes (i.e. MDN, ESN, etc).&lt;br /&gt;
&lt;br /&gt;
*Verify that authentication tokens are terminated after a user initiates a password reset&lt;br /&gt;
&lt;br /&gt;
*Single Sign On (SSO)&lt;br /&gt;
&lt;br /&gt;
*SMS Based&lt;br /&gt;
**One Time Passwords (OTP)&lt;br /&gt;
**Two Factor Authentication&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
&lt;br /&gt;
===== Authorization =====&lt;br /&gt;
&lt;br /&gt;
*What happens if the remote authorization handling service becomes unavailable?&lt;br /&gt;
&lt;br /&gt;
*Test if direct access to backend resources is possible&lt;br /&gt;
&lt;br /&gt;
*Access controls to server side resources not enforced&lt;br /&gt;
&lt;br /&gt;
*Vertical and horizontal privilege escalation&lt;br /&gt;
&lt;br /&gt;
===== Session Management =====&lt;br /&gt;
&lt;br /&gt;
*Entropy analysis&lt;br /&gt;
*Device identifier related?&lt;br /&gt;
*Are session tokens refreshed between logouts?&lt;br /&gt;
*Lifetime and expiration&lt;br /&gt;
*Handling the session token on the device (stored, in memory, etc.)&lt;br /&gt;
*Privilege Escalation&lt;br /&gt;
*Ineffective Session Termination&lt;br /&gt;
&lt;br /&gt;
===== Transport Layer Testing =====&lt;br /&gt;
*Man-in-the-middle attacks&lt;br /&gt;
*Eavesdropping&lt;br /&gt;
*SSL checks (cypher strengths/weakness etc.)&lt;br /&gt;
&lt;br /&gt;
===== Server Side Attacks =====&lt;br /&gt;
&lt;br /&gt;
*Triggering unhandled exceptions&lt;br /&gt;
*Cross-Site Scripting&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*XML Bombs&lt;br /&gt;
*Buffer overflow&lt;br /&gt;
*Unrestricted File Upload&lt;br /&gt;
*Open Redirect&lt;br /&gt;
&lt;br /&gt;
===== Server, Network &amp;amp; Application Scanning =====&lt;br /&gt;
&lt;br /&gt;
*Based on prior phases you should have 1 or more target servers (i.e. URLs) as candidates for automated vulnerability scanning. Mobile applications often leverage existing web services/applications (i.e. hybrid applications) which must be tested for security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===== Conclusion =====&lt;br /&gt;
&lt;br /&gt;
Mobile applications are continuing to mature and evolve thus to be effective, security testers must strive to advance their knowledge and skills. Please check back periodically for updates and share your feedback with us.&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142472</id>
		<title>Projects/OWASP Mobile Security Project - Security Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142472"/>
				<updated>2013-01-18T16:27:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**How are keys derived from i.e. a password?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**Places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**Directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**Cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**Credentials&lt;br /&gt;
***Username and/or password&lt;br /&gt;
***API keys&lt;br /&gt;
***Authentication tokens&lt;br /&gt;
**Payment information&lt;br /&gt;
**Patient data&lt;br /&gt;
**Signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log data? Is sensitive information accessible?&lt;br /&gt;
**How are the logs accessed, if so, and by which mechanism/functionality? Is log access protected?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
**Is the device identifier sent that could be used to identify the user? (i.e.UDID in Apple devices)&lt;br /&gt;
&lt;br /&gt;
*Caches&lt;br /&gt;
**Predictive text&lt;br /&gt;
**Location information&lt;br /&gt;
**Copy and paste&lt;br /&gt;
**Application snapshot&lt;br /&gt;
**Browser cache&lt;br /&gt;
**Non-standard cache locations (i.e the various SQLite databases that apps can create if they use HTML UI components)&lt;br /&gt;
&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
Review licensing requirements for any potential violations.&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Identify places where the application passes untrusted data into a web view or browser&lt;br /&gt;
**Determine if the application properly output encodes or sanitizes the data within the appropriate context&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
**Where the application permits usage of the shell, identify the entry points to manipulate or alter the commands via user input or external untrusted data&lt;br /&gt;
**Determine if an attacker can inject arbitrary commands or manipulate the intended command in any way&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
*Are insecure protocols used to send or receive sensitive information? Examples- FTP, SNMP v1, SSH v1&lt;br /&gt;
&lt;br /&gt;
*Are there any known issues with the specific libraries you are using to implement the protocol?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**The certificate has not expired&lt;br /&gt;
**The certificate was issued by a valid certificate authority&lt;br /&gt;
**The remote destination information matches the information within the certificate?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated only by the operating system or also by the application that relies on it?&lt;br /&gt;
&lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
-To do&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;br /&gt;
&lt;br /&gt;
Armed with data collected during the Information Gathering and Static Analysis phases, the tester can begin an informed vulnerability assessment of the mobile application client, server and associated services.&lt;br /&gt;
&lt;br /&gt;
Dynamic analysis is conducted against the backend services and APIs and the type of tests varies depending on mobile application type.&lt;br /&gt;
&lt;br /&gt;
*Native Mobile Application: Native mobile applications can be installed on to the device. This type of applications generally store most of their code on the device. Any information required can be requested to the server using the HTTP/s protocol&lt;br /&gt;
&lt;br /&gt;
*Webservices for Mobile Application: Native mobile application that uses SOAP or REST based web services to communicate between client and Server&lt;br /&gt;
&lt;br /&gt;
*Mobile Browser Based Application: Web browser based applications can be accessed using device’s browsers such as Safari or Chrome. Most of the commercial applications are nowadays specifically designed and optimized for mobile browsers. These applications are no different than traditional web application and all the web application vulnerabilities apply to these apps and these should be tested as traditional web apps.&lt;br /&gt;
&lt;br /&gt;
*Mobile Hybrid Applications:Applications can leverage web browser functionality within native applications, blending the risks from both classes of applications.&lt;br /&gt;
&lt;br /&gt;
In this phase, the mobile client, backend services, and host platform is analyzed/scanned in attempt to uncover potential risks, vulnerabilities and threats. The use of an intercepting proxy tool as well as automated vulnerability scanners are core to this phase. In many cases, you will also need some type of shell access to the device.&lt;br /&gt;
&lt;br /&gt;
The following outline can be used as a “Dynamic Analysis” guide in planning a mobile assessment.&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142471</id>
		<title>Projects/OWASP Mobile Security Project - Security Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142471"/>
				<updated>2013-01-18T16:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**How are keys derived from i.e. a password?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**Places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**Directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**Cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**Credentials&lt;br /&gt;
***Username and/or password&lt;br /&gt;
***API keys&lt;br /&gt;
***Authentication tokens&lt;br /&gt;
**Payment information&lt;br /&gt;
**Patient data&lt;br /&gt;
**Signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log data? Is sensitive information accessible?&lt;br /&gt;
**How are the logs accessed, if so, and by which mechanism/functionality? Is log access protected?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
**Is the device identifier sent that could be used to identify the user? (i.e.UDID in Apple devices)&lt;br /&gt;
&lt;br /&gt;
*Caches&lt;br /&gt;
**Predictive text&lt;br /&gt;
**Location information&lt;br /&gt;
**Copy and paste&lt;br /&gt;
**Application snapshot&lt;br /&gt;
**Browser cache&lt;br /&gt;
**Non-standard cache locations (i.e the various SQLite databases that apps can create if they use HTML UI components)&lt;br /&gt;
&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
Review licensing requirements for any potential violations.&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Identify places where the application passes untrusted data into a web view or browser&lt;br /&gt;
**Determine if the application properly output encodes or sanitizes the data within the appropriate context&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
**Where the application permits usage of the shell, identify the entry points to manipulate or alter the commands via user input or external untrusted data&lt;br /&gt;
**Determine if an attacker can inject arbitrary commands or manipulate the intended command in any way&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
*Are insecure protocols used to send or receive sensitive information? Examples- FTP, SNMP v1, SSH v1&lt;br /&gt;
&lt;br /&gt;
*Are there any known issues with the specific libraries you are using to implement the protocol?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**The certificate has not expired&lt;br /&gt;
**The certificate was issued by a valid certificate authority&lt;br /&gt;
**The remote destination information matches the information within the certificate?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated only by the operating system or also by the application that relies on it?&lt;br /&gt;
&lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
-To do&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;br /&gt;
&lt;br /&gt;
Armed with data collected during the Information Gathering and Static Analysis phases, the tester can begin an informed vulnerability assessment of the mobile application client, server and associated services.&lt;br /&gt;
&lt;br /&gt;
Dynamic analysis is conducted against the backend services and APIs and the type of tests varies depending on mobile application type.&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142470</id>
		<title>Projects/OWASP Mobile Security Project - Security Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142470"/>
				<updated>2013-01-18T16:12:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**How are keys derived from i.e. a password?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**Places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**Directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**Cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**Credentials&lt;br /&gt;
***Username and/or password&lt;br /&gt;
***API keys&lt;br /&gt;
***Authentication tokens&lt;br /&gt;
**Payment information&lt;br /&gt;
**Patient data&lt;br /&gt;
**Signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log data? Is sensitive information accessible?&lt;br /&gt;
**How are the logs accessed, if so, and by which mechanism/functionality? Is log access protected?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
**Is the device identifier sent that could be used to identify the user? (i.e.UDID in Apple devices)&lt;br /&gt;
&lt;br /&gt;
*Caches&lt;br /&gt;
**Predictive text&lt;br /&gt;
**Location information&lt;br /&gt;
**Copy and paste&lt;br /&gt;
**Application snapshot&lt;br /&gt;
**Browser cache&lt;br /&gt;
**Non-standard cache locations (i.e the various SQLite databases that apps can create if they use HTML UI components)&lt;br /&gt;
&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
Review licensing requirements for any potential violations.&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
**Identify places where the application passes untrusted data into a web view or browser&lt;br /&gt;
**Determine if the application properly output encodes or sanitizes the data within the appropriate context&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
**Where the application permits usage of the shell, identify the entry points to manipulate or alter the commands via user input or external untrusted data&lt;br /&gt;
**Determine if an attacker can inject arbitrary commands or manipulate the intended command in any way&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
*Are insecure protocols used to send or receive sensitive information? Examples- FTP, SNMP v1, SSH v1&lt;br /&gt;
&lt;br /&gt;
*Are there any known issues with the specific libraries you are using to implement the protocol?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**The certificate has not expired&lt;br /&gt;
**The certificate was issued by a valid certificate authority&lt;br /&gt;
**The remote destination information matches the information within the certificate?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated only by the operating system or also by the application that relies on it?&lt;br /&gt;
&lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
::To do&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142469</id>
		<title>Projects/OWASP Mobile Security Project - Security Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Mobile_Security_Project_-_Security_Testing&amp;diff=142469"/>
				<updated>2013-01-18T15:55:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jack Mannino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
A major priority of the OWASP Mobile Security Project is to help standardize and disseminate mobile application testing methodologies. While specific techniques exist for individual platforms, a general mobile threat model can be used to assist test teams in creating a mobile security testing methodology for any platform. The outline which follows describes a general mobile application testing methodology which can be tailored to meet the security tester’s needs. It is high level in some places, and over time will be customized on a per-platform basis.&lt;br /&gt;
&lt;br /&gt;
This guide is targeted towards application developers and security testers. Developers can leverage this guide to ensure that they are not introducing the security flaws described within the guide. Security testers can use it as a reference guide to ensure that they are adequately assessing the mobile application attack surface. The ideal mobile assessment combines dynamic analysis, static analysis, and forensic analysis to ensure that the majority of the mobile application attack surface is covered. &lt;br /&gt;
&lt;br /&gt;
On some platforms, it may be necessary to have root user or elevated privileges in order to perform all of the the required analysis on devices during testing. Many applications write information to areas that cannot be accessed without a higher level of access than the standard shell or application user generally has. For steps that generally require elevated privileges, it will be stated that this is the case. &lt;br /&gt;
&lt;br /&gt;
This guide is broken up into three sections:&lt;br /&gt;
*'''Information Gathering-''' describes the steps and things to consider when you are in the early stage reconnaissance and mapping phases of testing as well as determining the application’s magnitude of effort and scoping.&lt;br /&gt;
*'''Static Analysis'''- Analyzing raw mobile source code, decompiled or disassembled code. &lt;br /&gt;
*'''Dynamic Analysis''' - executing an application either on the device itself or within a simulator/emulator and interacting with the remote services with which the application communicates. This includes assessing the application’s local interprocess communication surface, forensic analysis of the local filesystem, and assessing remote service dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How To Use This Resource ===&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs.&lt;br /&gt;
&lt;br /&gt;
'''In this current draft release, the guide is a work in progress. We need additional contributors to help fill in the blanks. If you think something is missing (there certainly is), add it.'''&lt;br /&gt;
&lt;br /&gt;
As this guide is not platform specific, you will need to know the appropriate techniques &amp;amp; tools for your target platform. The OWASP Mobile Security Project has also developed a number of other supporting resources which may be able to be leveraged for your needs,&lt;br /&gt;
&lt;br /&gt;
The steps required to properly test an Android application are very different than those of testing an iOS application. Likewise, Windows Phone is very different from the other platforms. Mobile security testing requires a diverse skillset over many differing operating systems and a critical ability to analyze various types of source code.&lt;br /&gt;
&lt;br /&gt;
In many cases, a mobile application assessment will require coverage in all three areas identified within this testing reference. A dynamic assessment will benefit from an initial thorough attempt at Information Gathering, some level of static analysis against the application’s binary, and a forensic review of the data created and modified by the application’s runtime behavior.&lt;br /&gt;
&lt;br /&gt;
Please use this guide in an iterative fashion, where work in one area may require revisiting previous testing steps. As an example, after completing a transaction you may likely need to perform additional forensic analysis on the device to ensure that sensitive data is removed as expected and not cached in an undesired fashion. As you learn more about the application at runtime, you may wish to examine additional parts of the code to determine the best way to evade a specific control. Likewise, during static analysis it may be helpful to populate the application with certain data in order to prove or refute the existence of a security flaw.&lt;br /&gt;
&lt;br /&gt;
In the future, contributors to the testing guide should consider adding entries under each section relevant to a specific platform. Over time, OWASP contributors will write platform specific guides and expand upon this body of knowledge. &lt;br /&gt;
&lt;br /&gt;
If a specific area of interest is not covered in this guide, please feel free to either: &lt;br /&gt;
&lt;br /&gt;
*write the material yourself by registering for a wiki account and contributing content: [https://www.owasp.org/index.php/Special:RequestAccount Wiki Registration]&lt;br /&gt;
*bring this up as a topic on the Mobile Project’s mailing list: [https://lists.owasp.org/mailman/listinfo/owasp-mobile-security-project Mobile Mailing List]&lt;br /&gt;
&lt;br /&gt;
Collaboration on building the guide is being performed within Google Docs. You can find the latest and greatest material here: [https://docs.google.com/document/m/?id=1N7zMXlFHtWfc00xa6lRHnVB60U4BZO4SbUrWYMbojVM&amp;amp;pli=1&amp;amp;login=1 Testing Guide Google Doc]&lt;br /&gt;
&lt;br /&gt;
== Information Gathering ==&lt;br /&gt;
&lt;br /&gt;
As a result of this initial information gathering exercise, the tester will be better prepared for the future testing phases. Testers, Developers and Security people often fail to take the time to learn the target application and supporting infrastructure, opting to dive in blind, possibly losing valuable time and missing possible attack vectors. Without a solid understanding of how the application “should” work as well as the technologies in use, the tester will not be able to identify when the application behaves in a manner that it “shouldn’t”.&lt;br /&gt;
&lt;br /&gt;
Prerequisites of this phase may require specific operating systems, platform specific software development kits (SDK’s), rooted or jailbroken devices, the ability to man-in-the-middle secure communications (i.e. HTTPS) and bypass invalid certificate checks.&lt;br /&gt;
&lt;br /&gt;
*Manually navigate through the running application to understand the basic functionality and workflow of the application. This can be performed on a real device or within a simulator/emulator. For deeper understanding of application functionality tester can proxy and sniff all network traffic from either a physical mobile device or an emulator/simulator recording and logging traffic (if your proxy tool permits logging, which most should).&lt;br /&gt;
&lt;br /&gt;
*Identify the networking interfaces used by the application, for instance:&lt;br /&gt;
**Mobile Communication (GSM, GPRS, EDGE, LTE)&lt;br /&gt;
**Wireless (Wi-Fi (802.11 standards), Bluetooth, NFC)&lt;br /&gt;
**Virtual Interfaces (i.e. VPN)&lt;br /&gt;
&lt;br /&gt;
*Determine what the application supports for access 3G, 4G, wifi and or others&lt;br /&gt;
&lt;br /&gt;
*What networking protocols are in use?&lt;br /&gt;
**Are secure protocols used where needed?&lt;br /&gt;
**Can they be switched with insecure protocols?&lt;br /&gt;
&lt;br /&gt;
*Does the application perform commerce transactions?&lt;br /&gt;
**Credit card transactions and/or stored payment information (certain industry regulations may be required (i.e. PCI DSS)).&lt;br /&gt;
**In-app purchasing of goods or features&lt;br /&gt;
**Make note for future phases to determine does the application store payment information? How is payment information secured?&lt;br /&gt;
&lt;br /&gt;
*Monitor and identify the hardware components that the application may potentially interact with&lt;br /&gt;
**NFC&lt;br /&gt;
**Bluetooth&lt;br /&gt;
**GPS&lt;br /&gt;
**Camera&lt;br /&gt;
**Microphone&lt;br /&gt;
**Sensors&lt;br /&gt;
**USB&lt;br /&gt;
&lt;br /&gt;
*Perform open source intelligence gathering (search engines, source code repositories, developer forums, etc.) to identify source code or configuration information that may be exposed (i.e. 3rd party components integrated within the application)&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application appears to interact with any other applications, services, or data such as:&lt;br /&gt;
**Telephony (SMS, phone)&lt;br /&gt;
**Contacts&lt;br /&gt;
**Auto correct / dictionary services&lt;br /&gt;
**Receiving data from apps and other on-device services&lt;br /&gt;
**Google Wallet&lt;br /&gt;
**iCloud&lt;br /&gt;
**Social networks (i.e. Facebook, Twitter, LinkedIn, Google+)&lt;br /&gt;
**Dropbox&lt;br /&gt;
**Evernote&lt;br /&gt;
**Email&lt;br /&gt;
**Etc.&lt;br /&gt;
&lt;br /&gt;
*Can you determine anything about the server side application environment?&lt;br /&gt;
**Hosting provider (AWS, App Engine, Heroku, Rackspace, Azure, etc.)&lt;br /&gt;
**Development environment (Rails, Java, Django, ASP.NET, etc.)&lt;br /&gt;
**Does the application leverage Single Sign On or Authentication APIs (Google Apps, Facebook, iTunes, OAuth, etc.)&lt;br /&gt;
**Any other APIs in use&lt;br /&gt;
***Payment gateways&lt;br /&gt;
***SMS messaging&lt;br /&gt;
***Social networks&lt;br /&gt;
***Cloud file storage&lt;br /&gt;
***Ad networks&lt;br /&gt;
&lt;br /&gt;
*Perform a thorough crawl of exposed web resources and sift through the requests and responses to identify potentially interesting data or behavior&lt;br /&gt;
**Leaking sensitive information (i.e. credentials) in the response&lt;br /&gt;
**Resources not exposed through the UI&lt;br /&gt;
**Error messages&lt;br /&gt;
**Cacheable information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Static Analysis ==&lt;br /&gt;
&lt;br /&gt;
There are two primary ways static analysis will generally be performed on a mobile application: &lt;br /&gt;
#Analyzing source code obtained from development team (prefered) &lt;br /&gt;
#Using a compiled binary. &lt;br /&gt;
&lt;br /&gt;
Some level of static analysis should be performed for both dynamic and forensic analysis, as the application’s code will almost always provide valuable information to the tester (i.e. logic, backend targets, APIs, etc).&lt;br /&gt;
&lt;br /&gt;
In scenarios where the primary goal is to identify programmatic examples of security flaws, your best bet is to review pure source code as opposed to reverse engineering compiled software. For source code reviews, it is highly beneficial to have access to either a development or production instance of any web services. This includes both source code and a working test environment to perform the assessment within in order to expedite understanding of the code.&lt;br /&gt;
&lt;br /&gt;
=== Getting Started ===&lt;br /&gt;
*If the source is not directly available, decompile or disassemble the application’s binary&lt;br /&gt;
**extract the application from the device&lt;br /&gt;
**follow the appropriate steps for your platform’s application reverse engineering&lt;br /&gt;
**some applications may also require decryption prior to reverse engineering (note: decryption and code obfuscation are not the same thing)&lt;br /&gt;
&lt;br /&gt;
*Review the permissions the application requests as well as the resources that it is authorized to access (i.e. AndroidManifest.xml, iOS Entitlements)&lt;br /&gt;
&lt;br /&gt;
*Are there any easy to identify misconfigurations within the application found within the configuration files? Debugging flags set, world readable/writable permissions, etc.&lt;br /&gt;
&lt;br /&gt;
*What frameworks are in use? Is the application built using a cross-platform framework?&lt;br /&gt;
&lt;br /&gt;
*Identify the libraries in use including both platform provided as well as third party. Perform a quick review on the web to determine if these libraries:&lt;br /&gt;
**are up to date&lt;br /&gt;
**are free of vulnerabilities&lt;br /&gt;
**expose functionality that requires elevated privileges (access to location or contact data)&lt;br /&gt;
**native code&lt;br /&gt;
&lt;br /&gt;
*Does the application check for rooted/jailbroken devices? How is this done? How can this be circumvented? Is it as easy as changing the case of a file name or name of executable or path?&lt;br /&gt;
&lt;br /&gt;
*Determine what types of objects are implemented to create the various views within the application. This may significantly alter your test cases, as some views implement web browser functionality while others are native UI controls only.&lt;br /&gt;
&lt;br /&gt;
*Is all code expected to run within the platform’s standard runtime environment, or are some files/libraries dynamically loaded or called outside of that environment at runtime?&lt;br /&gt;
&lt;br /&gt;
*Attempt to match up every permission that the application requests with an actual concrete implementation of it within the application. Often, developers request more permission than they actually need. Identify if the same functionality could be enabled with lesser privileges.&lt;br /&gt;
&lt;br /&gt;
*Locate hard coded secrets within the application such as API keys, credentials, or proprietary business logic.&lt;br /&gt;
&lt;br /&gt;
*Identify every entry point for untrusted data entry and determine how it enforces access controls, validates and sanitizes inbound data, and passes the data off to other interpreters&lt;br /&gt;
**From web service calls&lt;br /&gt;
**Receiving data from other apps and on-device services&lt;br /&gt;
**Inbound SMS messages&lt;br /&gt;
**Reading information from the filesystem&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
*Locate the code which handles user authentication through the UI. Assess the possible methods of user impersonation via vectors such as parameter tampering, replay attacks, and brute force attacks.&lt;br /&gt;
&lt;br /&gt;
*Determine if the application utilizes information beyond username/password such as&lt;br /&gt;
**contextual information (i.e.- device identifiers, location)&lt;br /&gt;
**certificates&lt;br /&gt;
**tokens&lt;br /&gt;
&lt;br /&gt;
*Does the application utilize visual swipe or touch passwords vs. conventional usernames and passwords?&lt;br /&gt;
**Assess the method of mapping the visual objects to an authentication string to determine if adequate entropy exists&lt;br /&gt;
&lt;br /&gt;
*Does the application implement functionality that permits inbound connections from other devices? (i.e.- Wi-Fi Direct, Android Beam, network services)&lt;br /&gt;
**Does the application properly authenticate the remote user or peer prior to granting access to device resources?&lt;br /&gt;
**How does the application handle excessive failed attempts at authentication?&lt;br /&gt;
**are failed attempts logged?&lt;br /&gt;
**what mechanisms exist to inform the user of a potential attack?&lt;br /&gt;
&lt;br /&gt;
*Single Sign On, e.g.&lt;br /&gt;
**OAuth&lt;br /&gt;
**Facebook&lt;br /&gt;
**Google Apps&lt;br /&gt;
&lt;br /&gt;
*SMS&lt;br /&gt;
**How is the sender authenticated?&lt;br /&gt;
***password&lt;br /&gt;
***header information&lt;br /&gt;
***Other mechanism?&lt;br /&gt;
**Are one time passwords (OTP) used or is other sensitive account data transmitted via SMS?&lt;br /&gt;
***Can other applications access this data?&lt;br /&gt;
&lt;br /&gt;
*Push Notifications&lt;br /&gt;
**If the application consumes information via push notifications, how does the application verify the identity of the sender?&lt;br /&gt;
&lt;br /&gt;
=== Authorization ===&lt;br /&gt;
*Review file permissions for files created at runtime&lt;br /&gt;
&lt;br /&gt;
*Determine if it is possible to access functionality not intended for your role&lt;br /&gt;
&lt;br /&gt;
**Identify if the application has role specific functionality within the mobile application&lt;br /&gt;
&lt;br /&gt;
**Locate any potential flags or values that may be set on the client from any untrusted source that can be a point of privilege elevation such as&lt;br /&gt;
***databases&lt;br /&gt;
***flat files&lt;br /&gt;
***HTTP responses&lt;br /&gt;
&lt;br /&gt;
**Find places within an application that were not anticipated being directly accessed without following the application’s intended workflow&lt;br /&gt;
&lt;br /&gt;
*Licensing&lt;br /&gt;
**Can licensing checks be defeated locally to obtain access to paid-for data resources? (i.e.- patching a binary, modifying it at runtime, or by modifying a local configuration file)&lt;br /&gt;
**Does the code suggest that licensed content is served with a non-licensed app but restricted by UI controls only?&lt;br /&gt;
**Are licensing checks performed properly by the server or platform licensing services?&lt;br /&gt;
**How does the application detect and respond to tampering?&lt;br /&gt;
***Are alerts sent to and expected by the developer?&lt;br /&gt;
***Does the application fail open or fail closed?&lt;br /&gt;
***Does the application wipe its data?&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
*Ensure that sessions time out locally as well as server side&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information utilized within the application flushed from memory upon session expiration?&lt;br /&gt;
&lt;br /&gt;
=== Data Storage ===&lt;br /&gt;
&lt;br /&gt;
*Encryption&lt;br /&gt;
**Are the algorithms used “best of breed” or do they contain known issues?&lt;br /&gt;
**Based on the algorithms and approaches used to encrypt data, do implementation issues exist that degrade the effectiveness of encryption?&lt;br /&gt;
**How are keys managed and stored on the device? Can this reduce the complexity in breaking the encryption?&lt;br /&gt;
&lt;br /&gt;
*Identify if the application utilizes storage areas external to the “sandboxed” locations to store unencrypted data such as:&lt;br /&gt;
**places with limited access control granularity (SD card, tmp directories, etc.)&lt;br /&gt;
**directories that may end up in backups or other undesired locations (iTunes backup, external storage, etc.)&lt;br /&gt;
**cloud storage services such as Dropbox, Google Drive, or S3&lt;br /&gt;
&lt;br /&gt;
*Does the application write sensitive information to the file system at any point, such as:&lt;br /&gt;
**credentials&lt;br /&gt;
***username + password&lt;br /&gt;
***API keys&lt;br /&gt;
***authentication tokens&lt;br /&gt;
**payment information&lt;br /&gt;
**patient data&lt;br /&gt;
**signature files&lt;br /&gt;
&lt;br /&gt;
*Is sensitive information written to data stores via platform exposed APIs such as contacts?&lt;br /&gt;
&lt;br /&gt;
=== Transport Layer Protection ===&lt;br /&gt;
&lt;br /&gt;
*Does the application properly implement Certificate Pinning?&lt;br /&gt;
&lt;br /&gt;
*Are certificates validated to determine if:&lt;br /&gt;
**the certificate has not expired&lt;br /&gt;
**the certificate was issued by a valid certificate authority&lt;br /&gt;
**the remote destination’s information matches the information within the certificate? &lt;br /&gt;
*Identify if code exist to alter the behavior for traffic transiting different interfaces (i.e.- 3G/4G comms vs. Wi-Fi)? If so, is encryption applied universally across each of them&lt;br /&gt;
&lt;br /&gt;
=== Information Disclosure ===&lt;br /&gt;
&lt;br /&gt;
*Logs&lt;br /&gt;
**Does the application log sensitive information to a globally shared log?&lt;br /&gt;
**Can any of the logged information be considered a privacy violation?&lt;br /&gt;
*Caches&lt;br /&gt;
**predictive text&lt;br /&gt;
**location information&lt;br /&gt;
**Browser cache&lt;br /&gt;
*Exceptions&lt;br /&gt;
**Does sensitive data leak in crash logs?&lt;br /&gt;
*Third Party Libraries and APIs&lt;br /&gt;
**What permissions do they require?&lt;br /&gt;
**Do they access or transmit sensitive information?&lt;br /&gt;
**Can their runtime behavior expose users to privacy issues and unauthorized tracking?&lt;br /&gt;
***by the application&lt;br /&gt;
&lt;br /&gt;
=== Web Application Issues ===&lt;br /&gt;
&lt;br /&gt;
*XSS and HTML Injection&lt;br /&gt;
*Command Injection (if the application utilizes a shell)&lt;br /&gt;
*CSRF&lt;br /&gt;
*SQL Injection&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML5&lt;br /&gt;
&lt;br /&gt;
=== Helpful Search Strings and Regular Expressions ===&lt;br /&gt;
&lt;br /&gt;
== Dynamic Analysis ==&lt;/div&gt;</summary>
		<author><name>Jack Mannino</name></author>	</entry>

	</feed>