<?xml version="1.0" encoding="iso-8859-1"?>

<rss version="2.0" >
	<channel>
		<title>Secure Application Development</title>
		<link>http://www.secappdev.org/</link>
		<description>secure application development course</description>
		<language>en-us</language>
		<pubDate>9 November 2004 16:40 GMT</pubDate>
		<lastBuildDate>9 November 2004 16:40 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
        <item>
        <title>Related</title>
        <author>yo</author>
        <pubDate>16 July 2007 18:26 GMT</pubDate>
        <link>http://secappdev.org/2007/Related.html</link>
        <guid isPermaLink="true">2007/Related</guid>
        <description><![CDATA[<h2>Events</h2>
<br/>
<a href="http://johanpeeters.com" target="_blank">Johan Peeters</a>, the secappdev.org program director, participates in the Data News debate on security in 2007 "New threats, better weapons" on March 21<sup>st</sup> 2007 at <a href="http://www.infosecurity.be" target="_blank">Infosecurity.be</a>.
<br/>
<br/>
The secappdev.org affiliate ISSA-BE organizes <a href="http://www.issa-be.org/mambo/index.php?option=com_content&task=view&id=83&Itemid=9" target="_blank">an evening event on code review</a> at the CyberTrust offices in Leuven on Wednesday, March 7<sup>th</sup> 2007.
<br/>
<br/>
<a href="http://www.fosdem.org" target="_blank"><img border=0 src="http://www.fosdem.org/promo/fosdem-2007-static" target="_blank" alt="FOSDEM, the Free and Open Source Software Developers' European Meeting" /></a>
<p>
<a href="http://secappdev.org/2007/HD.html">HD Moore</a>, author of the <a href="http://www.metasploit.com" target="_blank">Metasploit</a> framework, and <a href="http://secappdev.org/2007/Faculty.html">secappdev.org faculty</a> member, is speaking at the seventh Free and Open source Software Developers' European Meeting <a href="http://www.fosdem.org" target="_blank">(FOSDEM)</a>.
Like the previous editions, FOSDEM 2007 takes place during the last weekend of February at the Université Libre de Bruxelles Solbosch campus.
</p>
<br/>
<h2>Web sites</h2>
<br/>
<p>
<p>
The <a href="http://www.owasp.org" target="_blank">Open Web Application Security Project</a> runs a web site with a wealth of invaluable information on web application security.
</p>
<p>
<p>
The <a href="https://buildsecurityin.us-cert.gov/portal/" target="_blank">Build Security In</a> portal is sponsored by the U.S. Dept. of Homeland Security.  The two principal contributing organizations are Carnegie-Mellon University and Cigital. <a href="http://secappdev.org/2007/Faculty.html">Secappdev faculty</a> member <a href="http://secappdev.org/2007/ken.html">Ken van Wyk</a> is a main contributor to this site.
</p>
<p>
<br/>
<p>
<h2>Recommended reading</h2>
<br/>
<p>
<a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&tag=secappdevorg-20&camp=1789&creative=9325&path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0471389226%2Fref%3Dpd_sbs_b_2%3F%255Fencoding%3DUTF8%2526v%3Dglance%2526n%3D283155" target="_blank">Security Engineering: A Guide to Building Dependable Distributed Systems</a> by Ross Anderson is a classic. Its scope is well beyond computer security, covering fields as diverse as security printing and e-policy, teasing out parallels between the respective fields. Of course, attackers are not constrained by the boundaries of a discipline. Anyone involved in secure system design can benefit from this work. The book is freely available <a href="http://www.cl.cam.ac.uk/~rja14/book.html" target="_blank">online</a>.
</p>
<p>
<p>
<a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&tag=secappdevorg-20&camp=1789&creative=9325&path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0471453803%2Fqid%3D1136656431%2Fsr%3D8-3%2Fref%3Dpd_bbs_3%3Fn%3D507846%2526s%3Dbooks%2526v%3Dglance" target="_blank">Secrets and Lies: Security in a Networked World</a> by Bruce Schneier provides an excellent and accessible overview of concepts and issues.
</p>
<p>
<p>
<a href="http://www.amazon.com/gp/redirect.html?location=http%3A%2F%2Fwww.amazon.com%2FSoftware-Security-Building-Addison-Wesley%2Fdp%2F0321356705%2Fsr%3D8-1%2Fqid%3D1168271144%3Fie%3DUTF8%26s%3Dbooks&tag=secappdevorg-20&linkCode=ur2&camp=1789&creative=9325" target="_blank">Build Security In</a> by Gary McGraw is a good introduction to building secure software.
</p>
<p>
<p>
<a href="http://www.amazon.com/gp/redirect.html?location=http%3A%2F%2Fwww.amazon.com%2FWriting-Secure-Second-Michael-Howard%2Fdp%2F0735617228&tag=secappdevorg-20&linkCode=ur2&camp=1789&creative=9325" target="_blank">Writing Secure Code</a> by Michael Howard and David LeBlanc is the book that emerged from Microsoft's security push and reveals some of the insights gathered.
</p>
<p>
<p>
<a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&tag=secappdevorg-20&camp=1789&creative=9325&path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0596002424%2Fref%3Dpd_rhf_p_1%3F%255Fencoding%3DUTF8%2526v%3Dglance%2526n%3D283155" target="_blank">Secure Coding: Principles and Practices</a> by Mark G. Graff and <a href="http://secappdev.org/2007/ken.html">Kenneth R. Van Wyk</a> explains how to address security concerns throughout the software development life cycle.
</p>
<p>
<p>
<a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&tag=secappdevorg-20&camp=1789&creative=9325&path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0849385237%2Fqid%3D1137266587%2Fsr%3D2-1%2Fref%3Dpd_bbs_b_2_1%3Fs%3Dbooks%26v%3Dglance%26n%3D283155" target="_blank">Handbook of Applied Cryptography</a> by Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone contains all a developer may wish to know about cryptography. It is unlikely that anyone will read it from cover to cover. However, it is excellent as a reference. It is also available <a href="http://www.cacr.math.uwaterloo.ca/hac/" target="_blank">for download</a>.
</p>
<p>
<p>
<a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&tag=secappdevorg-20&camp=1789&creative=9325&path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0385495323%2Fqid%3D1136665591%2Fsr%3D1-3%2Fref%3Dsr_1_3%3Fs%3Dbooks%2526v%3Dglance%2526n%3D283155" target="_blank">The Code Book: the Secret History of Codes and Codebreaking</a> by Simon Singh is a lively, popular account of the history of cryptology. The book provides valuable insight into the subject without the formulae.
</p>
<br/>
<h2>Mailing lists</h2>
<br/>
<p>
<p>
The discussion on <a href="http://krvw.com/mailman/listinfo/sc-l" target="_blank">the Secure Coding list</a> is of a high calibre.
<p>
</p>
<br/>
<p>
<h2>Tools</h2>
<br/>
<p>
<p>
<p>
There is a <a href="http://secappdev.org/2007/tool references.html">separate web page on tools</a>.
<p>
</p>
<br/>
<p>
<h2>Administrativia</h2>
<br/>
<p>
<p>
secappdev.org is a not-for-profit organizations, <a href="http://www.ejustice.just.fgov.be/tsv_pdf/2006/03/31/06059210.pdf" target="_blank">registered in Belgium as a VZW/ASBL</a>.
</p>
<p>
<br/>]]></description>
        </item>
        <item>
        <title>tool references</title>
        <author>yo</author>
        <pubDate>10 April 2007 12:01 GMT</pubDate>
        <link>http://secappdev.org/2007/tool references.html</link>
        <guid isPermaLink="true">2007/tool references</guid>
        <description><![CDATA[<h2>Tools</h2>
<br/>
<p>
This page cannot begin to give a comprehensive overview of all the good security tools that are available. So, where possible, we list other sites that carry links to tools. 
</p>
<br/>
<p>
<a href="http://owasp.org" target="_blank">OWASP</a> is an invaluable source, not only of information on web application security, but also of open source tools. WebScarab and JBroFuzz are but 2 examples.
<br/>
<a href="http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project" target="_blank">WebScarab</a> is an intercepting proxy for web applications and web services, allowing the developer or tester to review and modify HTTP and HTTPS requests and responses.
<a href="http://www.owasp.org/index.php/Category:OWASP_JBroFuzz" target="_blank">JBroFuzz</a> is a fuzzer.
</p>
<br/>
<p>
Fuzz testing is a very powerful technique for uncovering potential vulnerabilities. Have a look at <a href="http://www.hacksafe.com.au/blog/2006/08/21/fuzz-testing-tools-and-techniques/" target="_blank">this snapshot of tools available in August 2006</a>.
</p>
<br/>
<p>
Automated static code analysis can take a lot of the drudgery out of manual code review and has made enormous progress in the last few years. <a href="http://www.coverity.com/" target="_blank">Coverty</a>, <a href="http://www.ouncelabs.com/" target="_blank">Ounce Labs</a> and <a href="http://www.fortifysoftware.com/" target="_blank">Fortify</a> are the current market leaders. 
<p>
<a href="http://www.veracode.com/" target="_blank">Veracode</a> offers an intriguing variant: a static binary code scanner. This also offers the opportunity of assessing the quality of closed source third party libraries that your application relies on.
</p>
<br/>
<p>
Exception and error handling are difficult to get right, even in the absence of malicious users, hence the importance of verifying the system behaves as expected when exceptional conditions occur. This can be pretty difficult to set up. With tools such as <a href="http://www.securityinnovation.com/holodeck/index.shtml" target="_blank">Holodeck</a>, the application runs in an emulated environment in which faults can be injected.
</p>
<br/>
<p>
<a href="http://insecure.org" target="_blank">insecure.org</a>, the web site of the people behind Nmap, holds an annual survey on security tools and yearly <a href="http://sectools.org" target="_blank">publishes the top 100</a>. These are mostly tools for an infosecurity rather than application security audience. Many are used by penetration testers. Nonetheless, the list is definitely worth careful study by anyone interested in ICT security.
</p>
<br/>
<p>
If you are developing on a Windows platform, <a href="http://www.microsoft.com/technet/sysinternals" target="_blank">Windows Sysinternals</a> provides a set of tools to peer right inside a running system. Apart from general purpose tools for monitoring processes, network activity and file access, they also have security tools that, amongst other things, analyze the security configuration and detect spyware and rootkits.
</p>]]></description>
        </item>
        <item>
        <title>tools</title>
        <author>yo</author>
        <pubDate>08 April 2007 21:01 GMT</pubDate>
        <link>http://secappdev.org/2007/tools.html</link>
        <guid isPermaLink="true">2007/tools</guid>
        <description><![CDATA[<h2>Integrating security tools into the SDLC</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> Understand the range of tools available to the software security practitioner
<li> Demonstrate an ability to select the appropriate tools for a particular task
<li> Effectively integrate the tools into a software build process
</ul>
<h3>Overview</h3>
<p>
<a href="http://secappdev.org/2007/tool references.html">Automated security tools</a> are often used in software development, from static source code analysis tools to penetration testing tools.  Unfortunately, due to a variety of reasons, many development organizations fail to get the maximum benefit from the tools.  Worse, the way that many organizations use security tools may actually hamper effective development work.  Penetration testing tools, for example, are commonly used for late life cycle “black box” testing.  This forces, at best, knee jerk reactions to remediate any defects that are found, quite often at the expense of the application’s original design concepts.  It also likely fails to find a great many security defects.  To make matters worse, forced integration of tool technologies into existing workflows can be disruptive and counter productive.
<p>
This session delves into the automated tools associated with secure software development, and how they can be successfully integrated into a development workflow.
<p>
<br/>
<a href='/media/2007/pdf/20. Integrating security tools into the SDLC.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/tools/tools.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/tools/tools.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>desiging-with-crypto-II</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:14 GMT</pubDate>
        <link>http://secappdev.org/2007/desiging-with-crypto-II.html</link>
        <guid isPermaLink="true">2007/desiging-with-crypto-II</guid>
        <description><![CDATA[<h2>New developments in cryptology</h2>
<p>
<h3>Learning objectives</h3>
<p>
Be aware of the latest advances in cryptology that affect software developers.
<p>
<h3>Overview</h3>
<p>
In this lecture we present an overview of some recent advances in cryptology that affect
software developers.  First we discuss the modes of operation of a block cipher, and
discuss the status of authenticated encryption modes. Subsequently we evaluate the impact
of the hash function crisis of the last 3 years and we discuss the Bleichenbacher attacks
on RSA PKCS#1 v1.5.   Next we discuss the issues related to the standardization,
selection and upgrade of algorithms.  Finally we explain the principles of whitebox
cryptography and explore how cryptography could offer a contribution in the fight against
SPAM.
<p>
<br/>
<a href='/media/2007/pdf/19. New developments in cryptology.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/new developments in crypto/new developments in crypto.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/new developments in crypto/new developments in crypto.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>designing-with-crypto</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:13 GMT</pubDate>
        <link>http://secappdev.org/2007/designing-with-crypto.html</link>
        <guid isPermaLink="true">2007/designing-with-crypto</guid>
        <description><![CDATA[<h2>Using cryptography well</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> decide if and when cryptography should be used.
<li> make informed key architecture and management decisions.
<li> use appropriate algorithms and parameters.
<li> select an appropriate cryptographic library.
<li> choose network protocols for distributed applications.
</ul>
<h3>Overview</h3>
<p>
Application architects need to make informed choices to use cryptography well:
<ul><li> Alternative key architectures have their merits and drawbacks. PKIs, in particular, should be contrasted with symmetric key architectures such as Kerberos.
<li> Network protocol characteristics are pivotal in ensuring distributed applications meet security requirements. Key strength choices impact on security guarantees offered, as do cryptographic algorithm modes.
<li> While strong keys and wise use of cryptographic algorithms may thwart cryptanalytic attack, applications are insecure without prudent key management. In this context, key generation and key storage require particular attention.
<li> The selection of crypto-libraries requires awareness of inherent library qualities and failures. Application developers are advised not to implement their own.
<li> Cryptography is used innovatively in areas such as obfuscation and watermarking.
</ul>
<p>
<br/>
<a href='/media/2007/pdf/18. Using cryptography well.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/using crypto/using crypto.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/using crypto/using crypto.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>container</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:12 GMT</pubDate>
        <link>http://secappdev.org/2007/container.html</link>
        <guid isPermaLink="true">2007/container</guid>
        <description><![CDATA[<h2>Real-world middleware</h2>
<p>
<h3>Learning objectives</h3>
<p>
Understand in how far current middleware products meet the security needs of distributed applications.
<p>
<h3>Overview</h3>
<p>
This session confronts the security needs of distributed applications with the reality of current middleware. J2EE application server implementations from Sun, IBM, JBoss and BEA Systems are used throughout the session as a case study. 
<p>
J2EE is interesting for at least 2 reasons:
<p>
<ul><li> J2EE is important in its own right, we expect that a significant number of the participants are using it;
<li> J2EE implementations are representative for state of the art middleware.
</ul>
J2EE is an architectural framework that builds on the Java language. Both have rich security notions, but in how far are the 2 models compatible? Experience shows that most developers are reluctant to use the Java security model in J2EE projects. We will investigate what the impediments to its adoption are.
<p>
The dominant architectural pattern used with J2EE partitions the application over n tiers, where every tier often is scaled horizontally. We study where and how to place trust boundaries in such architecture. Fail-stop faults must not detract from availability guarantees. 
<p>
State information can be maintained at the different tiers and must be replicated within the nodes in each of the tiers as required for scalability and availability. This requires replication of session state. The different options available for handling state replication are discussed.
<p>
<br/>
<a href='/media/2007/pdf/17. Real-world middleware.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/middleware/middleware.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/middleware/middleware.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>evoting</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:10 GMT</pubDate>
        <link>http://secappdev.org/2007/evoting.html</link>
        <guid isPermaLink="true">2007/evoting</guid>
        <description><![CDATA[<h2>Case study: electronic voting systems</h2>
<p>
<br/>
<a href='/media/2007/pdf/16. Case study -- electronic voting systems.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/e-voting/e-voting.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/e-voting/e-voting.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>
- unfortunately, the recordings are not complete. The end is missing.]]></description>
        </item>
        <item>
        <title>threat</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:08 GMT</pubDate>
        <link>http://secappdev.org/2007/threat.html</link>
        <guid isPermaLink="true">2007/threat</guid>
        <description><![CDATA[<h2>Threat modeling</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> understand the key concepts: threat, vulnerability and countermeasure
<li> be familiar with the most important categories of threats
<li> understand the relation between threats and security requirements
<li> master the process of threat modeling
</ul>
<p>
<h3>Overview</h3>
<p>
Security is about reducing the risk that an organization's assets are
exposed to. Risk is reduced by countering the various threats to those
assets. Hence, understanding the nature of the threats that a particular
software system is subject to, is key to securing that software system.
Threat modeling is an activity in the development process of a software
system, that tries to systematically identify and document possible threats.
<p>
In this module we elaborate on the process of threat modeling. First we
define the notion of threat and illustrate it with examples. We discuss
the most important categories of threats in a software system, and
discuss systematic techniques for discovering and documenting threats,
leading to a threat model. Microsoft's STRIDE is discussed as a 
representative threat modeling methodology.
<p>
<br/>
<a href='/media/2007/pdf/15. Threat modeling.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>]]></description>
        </item>
        <item>
        <title>distr1</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:06 GMT</pubDate>
        <link>http://secappdev.org/2007/distr1.html</link>
        <guid isPermaLink="true">2007/distr1</guid>
        <description><![CDATA[<h2>Secure distributed system architectures 1</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> understand the strengths and weaknesses of P2P,
<li> identify where and how P2P can be used appropriately.
</ul>
<h3>Overview</h3>
<p>
We discuss how the database can be split up and scaled beyond a handful of systems. 
<p>
Security threats and risks of homogeneous systems are identified.
<p>
P2P techniques can be used on traditional clusters. In the case where we try to convince people to contribute their resources, the large issue is how to avoid freeloading behavior.
<p>
<br/>
<a href='/media/2007/pdf/14. Secure distributed system architectures 1.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/complexity/complexity.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/complexity/complexity.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>smartcards</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:04 GMT</pubDate>
        <link>http://secappdev.org/2007/smartcards.html</link>
        <guid isPermaLink="true">2007/smartcards</guid>
        <description><![CDATA[<h2>Smartcards</h2>
<p>
<h3>Learning objectives</h3>
<p>
Appreciate the benefits and challenges of using smart cards
<p>
<h3>Overview</h3>
<p>
Smartcards are a secure store for sensitive data, such as credentials. In addition to a secure store, a smartcard implements a crypto-coprocessor that can be contacted over a contact interface, or over a contactless interface (RFID), or both.
Decrypting and signing data are only two of the popular smartcard
applications.
<p>
Large scale smartcard deployments require full control over the phases of the life cycle:
<ul><li> production,
<li> pre-personalization,
<li> personalization and
<li> use.
</ul>
<p>
<br/>
<a href='/media/2007/pdf/13. Smartcards.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>]]></description>
        </item>
        <item>
        <title>distr0</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:02 GMT</pubDate>
        <link>http://secappdev.org/2007/distr0.html</link>
        <guid isPermaLink="true">2007/distr0</guid>
        <description><![CDATA[<h2>Secure distributed system architectures 0</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> failure in distributed architectures,
<li> measures to improve robustness,
<li> load-balancing,
<li> scalability.
</ul>
<h3>Overview</h3>
<p>
Modern application development needs to be aware of the network and will inevitably include a networked component. Many of these applications will have all the application logic on one host, but many more will need to scale to multiple server hosts, thus requiring replication. Participants will gain familiarity with Byzantine failures, but the main concern will be fail-stop scenarios and how to build systems to be robust when parts of them will fail. P2P techniques, also called overlay network techniques, are a general purpose mechanism for replicating state to gain robustness and scalability in the face of fail-stop. 
<p>
<br/>
<a href='/media/2007/pdf/12. Secure distributed system architectures 0.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/p2p/p2p.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/p2p/p2p.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>
- unfortunately, the recordings are not complete. The end is missing.]]></description>
        </item>
        <item>
        <title>testing</title>
        <author>yo</author>
        <pubDate>08 April 2007 16:00 GMT</pubDate>
        <link>http://secappdev.org/2007/testing.html</link>
        <guid isPermaLink="true">2007/testing</guid>
        <description><![CDATA[<h2>Security testing</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> design and implement application security testing campaigns 
<li> describe methods and tools used for security testing
<li> understand the benefits and limitations of black- and white-box testing
<li> perform basic penetration tests
</ul>
<h3>Overview</h3>
<p>
This session covers the slew of testing practices specific to
software security, applied through the different phases of a typical SDLC
process.  The strengths and weaknesses of different test practices are
discussed in depth, along with a discussion of how to get the most out
of these practices.
<p>
<br/>
<a href='/media/2007/pdf/11. Security testing.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/testing/testing.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/testing/testing.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>language</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:59 GMT</pubDate>
        <link>http://secappdev.org/2007/language.html</link>
        <guid isPermaLink="true">2007/language</guid>
        <description><![CDATA[<h2>Software integrity 2: security architectures inside the programming language</h2>
<p>
<h3>Learning objectives</h3>
<p>
Characterize security mechanisms of the CLR and Java virtual machines.
<p>
<h3>Overview</h3>
<p>
The programming language used can strongly influence the security
properties of applications. Modern programming languages such as Java
or C# are favored because they have been designed with security requirements in
mind. The notions of safety and type soundness, and their
implications for security are discussed. Language based mechanisms for
sandboxing partially trusted components are introduced and illustrated
for both Java and .NET platforms.
<p>
<br/>
<a href='/media/2007/pdf/10. Security architectures inside the programming language.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/language/language.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/language/language.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>network</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:58 GMT</pubDate>
        <link>http://secappdev.org/2007/network.html</link>
        <guid isPermaLink="true">2007/network</guid>
        <description><![CDATA[<h2>Network protocols</h2>
<p>
<h3>Learning objectives</h2>
<p>
<ul><li> gain an overview of secure network protocols.
</ul>
<h3>Overview</h3>
<p>
As well as being important practical examples of the use of PKIs, networking protocols such as SSL/TLS, HTTPS, SSH and IPsec are also of great interest to the designer of secure systems in their own right. Participants gain an appreciation of how security requirements influence the choice of network technology.
<p>
<br/>
<a href='/media/2007/pdf/09. Network protocols.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/network/network.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/network/network.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>access</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:56 GMT</pubDate>
        <link>http://secappdev.org/2007/access.html</link>
        <guid isPermaLink="true">2007/access</guid>
        <description><![CDATA[<h2>Access control</h2>
<p>
<h3>Learning objectives</h3>
<p>
Understand
<ul><li> the model underlying common access control techniques
<li> the best-known access control policy models such as Discretionary Access Control (DAC), Mandatory Access Control (MAC) and Role Based Access Control (RBAC)
<li> the implementation mechanisms for access control, such as Access Control Lists (ACL) and Capabilities.
</ul>
<h3>Overview</h3>
<p>
This module starts with the detailed description of the goals of an
access contol system. The concepts fundamental to the model common to most access control techniques are discussed:
<ul><li> object, 
<li> subject, 
<li> reference monitor,
<li> protection domain, 
<li> policy.
</ul>
Next, common policy models are reviewed in detail, and compared:
<ul><li> Discretionary Access Control (DAC),
<li> Mandatory Access Control (MAC) and 
<li> Role Based Access Control (RBAC) .
</ul>
The need for representations of access control policies that may be automatically enforced by the reference monitor is discussed with particular reference to the forms which are currently most popular :
<ul><li> Access Control Lists (ACL) and
<li> capabilities. 
</ul><br/>
<a href='/media/2007/pdf/08. Access Control.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/authZ/authZ.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/authZ/authZ.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>pki</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:54 GMT</pubDate>
        <link>http://secappdev.org/2007/pki.html</link>
        <guid isPermaLink="true">2007/pki</guid>
        <description><![CDATA[<h2>PKIs</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> learn the components of a public key infrastructure.
<li> understand key delivery and management mechanisms.
</ul>
<h3>Overview</h3>
<p>
The function of a public key infrastructure (PKI) is to ensure secure delivery and management of public keys.
Alternative trust models lead to different key architectures.
<p>
Public keys are published by means of digitally signed certificates.
<p>
A private key may be compromised, in which case the certificate containing the
corresponding public key must be revoked. Many revocation methods are
in current use. Publication of Certificate Revocation Lists (CRLs) and
checking with an Online Certificate Status Protocol (OCSP) responder
are best established.
<p>
<br/><br/>
<a href='/media/2007/pdf/07. Public Key Infrastructures.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/pki/pki.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/pki/pki.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>aa</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:52 GMT</pubDate>
        <link>http://secappdev.org/2007/aa.html</link>
        <guid isPermaLink="true">2007/aa</guid>
        <description><![CDATA[<h2>Auditability and accountability</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> understand what traceability good incident handling needs from an application,
<li> be familiar with some strategies for fulfilling this need.
</ul>
<h3>Overview</h3>
<p>
When applications are compromised by attackers, often times the Computer Security Incident Response Team (CSIRT) organization is called in to assist in cleaning up the mess.  A key concern of the CSIRT is to determine how the application was compromised as well as to assess the extent of the damage to the business that owns or operates the compromised application.  Turning to the system's event logging is frequently the only course of action that can be taken after the compromise has occurred, making it particularly vital to ensure that all components of an application are logging the right information.
<p>
This module describes the issues faced by the CSIRT and presents various recommendations for deciding how to build a robust event logging system.
<br/><br/>
<a href='/media/2007/pdf/06. Auditability and Accountability.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/aa/aa.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/aa/aa.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>authentication</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:46 GMT</pubDate>
        <link>http://secappdev.org/2007/authentication.html</link>
        <guid isPermaLink="true">2007/authentication</guid>
        <description><![CDATA[<h2>Entity authentication</h2>
<h3>Learning objectives</h3>
<p>
Gain insight into
<ul><li> entity authentication protocols,
<li> the benefits and limitations of authentication factors,
<li> key establishment protocols,
<li> why and how to use authentication servers.
</ul>
<h3>Overview</h3>
<p>
Authentication methods are based on something known, owned, biometric, location or evidence of trusted third party authentication.
<ul><li> A password is a case of something known. Passwords are a vulnerable, but cheap and convenient way of authenticating an entity. Several techniques to augment their effectiveness are in use including challenge-response and one-time passwords. 
<li> Secure devices such as smart cards and USB tokens often combine the 'owned' with the 'known', since secret keys are locked in the token with a password or PIN code. However, within the broad category of secure tokens,   trustworthiness is variable, depending on whether keys can be extracted, passwords can be eavesdropped or the device can be tampered with.
<li> Biometry identifies a person via physical characteristics.
<li> Location is often used as the sole authentication factor, but is insecure given the relative ease of spoofing IP or MAC addresses.
<li> Multi-factor authentication is stronger than single-factor.
<li> The Kerberos protocol uses a key distribution-based authentication server. Service consumers must authenticate with a central server to obtain a secret session key  with service providers. Such schemes require a single sign-on to access servers across a trust domain. 
</ul>
While public key cryptography is well suited to entity authentication, performance constraints often mandate a symmetric algorithm for encrypting data passed between systems. Key establishment should be linked to authentication, so that a party has assurances that a key is only shared with the authenticated party. The Diffie-Hellman key agreement protocol underlies a host of current technologies such as STS (Station-to-Station protocol) and IKE.
<p>
<br/><br/>
Entity authentication : <a href='/media/2007/pdf/05. Entity authentication.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/media/2007/wmv/authN/authN.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/authN/authN.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>
<br/><br/>
Key establishment: <a href='/media/2007/wmv/keyEstablishment/keyEstablishment.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/keyEstablishment/keyEstablishment.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>crypto</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:38 GMT</pubDate>
        <link>http://secappdev.org/2007/crypto.html</link>
        <guid isPermaLink="true">2007/crypto</guid>
        <description><![CDATA[<h2>Cryptographic algorithms</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> understand the security guarantees offered by the different types of cryptographic algorithms;
<li> understand the APIs offered by libraries in popular programming languages that give access to these algorithms;
</ul>
<h3>Overview</h3>
<p>
Cryptography is the scientific study of mathematical techniques
relating to information security. In the field of cryptography, a
wide variety of types of algorithms is studied.
The most important types of algorithms include symmetric
encryption, asymmetric encryption, hash functions,
Message Authentication Codes (MAC's), digital signatures
and secure random number generation.
We discuss each of these types of algorithms, by defining in a
precise way what security guarantees they offer, and by giving
examples of applications. The emphasis is on the "black-box"
behaviour of the algorithms, not on how they are implemented,
or on the mathematical principles that they are based on.
<p>
A fair amount of attention is given to software libraries that
implement cryptographic algorithms. Modern cryptographic libraries
are often based on  a pluggable provider model, supporting so-called
Cryptographic Service Providers (CSP's).
We discuss the rationale behind this design, and the implications it has
on developing software that uses CSP-based libraries.
<p>
<br/><br/>
<a href='/media/2007/pdf/04. Software interfaces to cryptographic primitives.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/2007/crypto-recording.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/crypto/crypto.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>]]></description>
        </item>
        <item>
        <title>exploits</title>
        <author>yo</author>
        <pubDate>08 April 2007 15:35 GMT</pubDate>
        <link>http://secappdev.org/2007/exploits.html</link>
        <guid isPermaLink="true">2007/exploits</guid>
        <description><![CDATA[<h2>Exploiting vulnerabilities</h2>
<p>
<h3>Learning objectives</h3>
<p>
<ul><li> Know the different classes of vulnerabilities.
<li> Understand the structure of exploit code.
<li> Understand how common exploits work.
<li> Be aware of impact of working exploit code.
<li> Know how to use the Metasploit Framework.
</ul>
<h3>Overview</h3>
<p>
Exploits are the reason that vulnerabilities matter. This session will
discuss how exploits are created and used against real-world targets.
Attendees will become familiar with the different classes of
vulnerabilities, the structure of exploit code, and the post-exploit
processes that can occur on a compromised system. The freely-available
Metasploit Framework will be used to demonstrate the process of creating
and using a new exploit.
<br/><br/>
<a href='/media/2007/pdf/03. Exploiting vulnerabilities.pdf'><img border=0 src='/images/pdficon_large.gif' alt='PDF slides'/></a>
<a href='/2007/exploits-recording.html'><img border=0 src='/images/wmploc0.ico' alt='Windows Media encoded recording'/></a>
<a href='/media/2007/qt/exploits/exploits.html'><img border=0 src='/images/QuickTimePLayer0.ico' alt='QuickTime encoded recording'/></a>
<a href='/media/2007/flv/exploits/exploits.html'><img border=0 src='/images/shockwave.ico' alt='ShockWave encoded recording'/></a>]]></description>
        </item>
      </channel>
      </rss>
