<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Justice League Blog &#187; SOA and Web 2.0</title>
	<atom:link href="http://www.cigital.com/justice-league-blog/category/soa-and-web-20/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cigital.com/justice-league-blog</link>
	<description></description>
	<lastBuildDate>Fri, 04 May 2012 18:54:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>SDL, ARA and SAE</title>
		<link>http://www.cigital.com/justice-league-blog/2010/03/15/sdl-ara-and-sae/</link>
		<comments>http://www.cigital.com/justice-league-blog/2010/03/15/sdl-ara-and-sae/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 15:28:41 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[SOA and Web 2.0]]></category>
		<category><![CDATA[Software Security]]></category>

		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=334</guid>
		<description><![CDATA[I don&#8217;t often make the time to write up some of the more interesting aspects of work we do for clients, but I was forced to make some time to do so last week (well perhaps encouraged is a more polite way to put it) . The effort culminated in a webcast with MSDN and [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t often make the time to write up some of the more interesting aspects of work we do for clients, but I was forced to make some time to do so last week (well perhaps encouraged is a more polite way to put it) .  The effort culminated in a webcast with MSDN and covers some work we did integrating Microsoft SDL, Architectural Risk Analysis (ARA) and Service Architecture and Engineering (SAE).  The SAE methodology is a SOA methodology from <a href="http://everware-cbdi.com/enterpriseArchitecture.shtml">Everware-CBDI</a>.  The work of integrating these three techniques is an extension of our <a href="http://www.cigital.com/services/sdl/">SDL case study</a>.</p>
<p>You can reply the webcast and get copies of the slides <a href="https://www.livemeeting.com/cc/mseventsbmo/view?id=1032441918&amp;role=attend&amp;pw=5843FA14">here</a>.  </p>
<p>The jist of the presentation is that SOA Security often gets equated to WS-Security (or perhaps devolves into WS-Security).   The problem with WS-Security is that it&#8217;s often applied at the wrong level, so there needs to be a better architectural approach to addressing security within an SOA.  By combining SDL, ARA and SAE, we&#8217;ve found that it&#8217;s possible to look at a layered approach to security based on trust zones and SOA governance tooling.</p>
<p>I&#8217;ve been continuing to work on documenting the details of the SDL, ARA and SAE integration with John Butler from Everware-CBDI.   We&#8217;ll be doing something more formal when we have something that can be published.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cigital.com/justice-league-blog/2010/03/15/sdl-ara-and-sae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New book: Web Security Testing Cookbook</title>
		<link>http://www.cigital.com/justice-league-blog/2008/12/05/new-book-web-security-testing-cookbook/</link>
		<comments>http://www.cigital.com/justice-league-blog/2008/12/05/new-book-web-security-testing-cookbook/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 20:11:45 +0000</pubDate>
		<dc:creator>gem</dc:creator>
				<category><![CDATA[SOA and Web 2.0]]></category>
		<category><![CDATA[Software Security]]></category>

		<guid isPermaLink="false">http://www.cigital.com/justiceleague/?p=94</guid>
		<description><![CDATA[Two of Cigital’s thought leaders, Paco Hope and Ben Walther, just published a new book from O’Reilly called the Web Security Testing Cookbook. I wrote the foreword for the book which is reprinted below. More information about the book can also be found on Facebook. Web applications suffer more than their share of security attacks. [...]]]></description>
			<content:encoded><![CDATA[<p>Two of Cigital’s thought leaders, Paco Hope and Ben Walther, just published a new book from O’Reilly called the <a href="http://websecuritytesting.com/"><em>Web Security Testing Cookbook</em></a>.  I wrote the foreword for the book which is reprinted below.  More information about the book can also be found on <a href="http://www.facebook.com/pages/Web-Security-Testing-Cookbook/34369539436">Facebook</a>.</p>
<p align="center"><img src="/images/web-sec-cookbook-blog.jpg" width="229" height="300" alt="Web Security Cookbook cover" /></p>
<p>Web applications suffer more than their share of security attacks. Here’s why. Websites and the applications that exist on them are in some sense the virtual front door of all corporations and organizations. Growth of the Web since 1993 has been astounding, outpacing even the adoption of the television and electricity in terms of speed of wide spread adoption.</p>
<p>Web applications are playing a growing and increasingly prominent role in software development. In fact, pundits currently have us entering the era of <a href="http://www.informit.com/articles/article.aspx?p=1217101">Web 3.0</a>. The problem is that security has frankly not kept pace. At the moment we have enough problems securing Web 1.0 apps that we haven’t even started on Web 2.0, not to mention Web 3.0.</p>
<p>Before I go on, there’s something I need to get off my chest. Web applications are an important and growing kind of software, but they’re not the only kind of software! In fact, considering the number of legacy applications, embedded devices, and other code in the world, my bet is that web applications make up only a small percentage of all things software. So when all of the software security attention of the world is focused solely on web applications, I get worried. There are plenty of other kinds of critical applications out there that don’t live on the Web. That’s why I think of myself as a software security person and not a Web application security person.</p>
<p>In any case, Web application security and software security do share many common problems and pitfalls (not surprising since one is a subset of the other). One common problem is treating security as a feature, or as “stuff.” Security is not “stuff.” Security is a property of a system. That means that no amount of authentication technology, magic crypto fairy dust, or service-oriented architecture (SOA) ws-* security API will automagically solve the security problem. In fact, security has more to do with testing and assurance than anything else.</p>
<p>Enter this book. Boy, do we need a good measure of web application security testing! You see, many “tests” devised by security experts for web app testing are not carried out with any testing rigor. It turns out that testing is its own discipline, with an entire literature behind it. What Paco and Ben bring to the table is deep knowledge of testing clue. That’s a rare combination.</p>
<p>One critical factor about tests that all testers worth their salt understand is that results must be actionable. A bad test result reports something vague like “You have an XSS problem in the bigjavaglob.java file.” How is a developer supposed to fix that? What’s missing is a reasonable explanation of what XSS is (cross-site scripting, of course), where in the bazillion-line file the problem may occur, and what to do to fix it. This book has enough technical information in it for decent testers to report actionable results to actual living developers.</p>
<p>Hopefully the lessons in this book will be adopted not only by security types but also by testing people working on web applications. In fact, Quality Assurance (QA) people will enjoy the fact that this book is aimed squarely at testers, with the notions of regression testing, coverage, and unit testing built right in. In my experience, testing people are much better at testing than security people are. Used properly, this book can transform security people into better testers, and testers into better security people. Another critical feature of this book is its clear focus on tools and automation. Modern testers use tools, as do modern security people. This book is full of real examples based on real tools, many of which you can download for free on the Net. In fact, this book serves as a guide to proper tool use since many of the open source tools described don’t come with built-in tutorials or how-to guides. I am a fan of hands-on material, and this book is about as hands-on as you can get.</p>
<p>An overly optimistic approach to software development has certainly led to the creation of some mind-boggling stuff, but it has likewise allowed us to paint ourselves into the corner from a security perspective. Simply put, we neglected to think about what would happen to our software if it were intentionally and maliciously attacked. The attackers are at the gates, probing our web applications every day.</p>
<p>Software security is the practice of building software to be secure and function properly under malicious attack. This book is about one of software security’s most important practices—security testing.</p>
<p>—Gary McGraw, July 2008</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cigital.com/justice-league-blog/2008/12/05/new-book-web-security-testing-cookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aspect-Oriented Service Architecture: &#8220;Built In&#8221; or &#8220;Bolted On&#8221; Security?</title>
		<link>http://www.cigital.com/justice-league-blog/2007/03/01/aspect-oriented-service-architecture-built-in-or-bolted-on-security/</link>
		<comments>http://www.cigital.com/justice-league-blog/2007/03/01/aspect-oriented-service-architecture-built-in-or-bolted-on-security/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 14:48:36 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Security Features]]></category>
		<category><![CDATA[SOA and Web 2.0]]></category>

		<guid isPermaLink="false">http://www.cigital.com/justiceleague/2007/03/01/aspect-oriented-service-architecture-built-in-or-bolted-on-security/</guid>
		<description><![CDATA[I&#8217;ve been looking at how people have been implementing input validation and entitlement evaluation within service-oriented architectures (SOA). One of the nice properties of an SOA is service composition, so transformation and validation can be implemented as an independent utility service and then composed with other services. But service composition has the drawback that one [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking at how people have been implementing input validation and entitlement evaluation within service-oriented architectures (SOA).  One of the nice properties of an SOA is service composition, so transformation and validation can be implemented as an independent utility service and then composed with other services.  But service composition has the drawback that one must remember to compose, so in some implementations input validation is implemented through an interception mechanism rather than through composition.  </p>
<p>Another example of this interception technique is visible in some XACML implementations. In XACML, the Policy Enforcement Point (PEP) is decoupled from the application logic.  Several of the implementations of PEP&#8217;s I&#8217;ve looked at use some form of interception in front of the web service to hook the service invocation. The PEP can then extract the information it needs to perform the entitlements check.</p>
<p>This interception technique raised the question amongst one of my colleagues as to whether using such a scheme represented &#8220;bolt-on&#8221; security or &#8220;built-in&#8221; security.  I believe that the concern is that, when used for input validation, the interception mechanism allows the validation to be done outside of service.  In fact, the validation can be developed even after the service has been deployed.</p>
<p>I argue that this mechanism is &#8220;built-in&#8221; and not &#8220;bolt-on&#8221; security.  I believe that this technique merely represents an extension of the aspect-oriented programming (AOP) concept of a cross-cutting concern within the context of a service-oriented architecture.  It&#8217;s like &#8220;aspect-oriented service architecture.&#8221;  Having aspects within a service-based architecture is good for all of the same reasons that aspects are good within a programming framework.</p>
<p>Now, I&#8217;m not suggesting that all uses of interception can be classified as &#8220;built-in.&#8221;  I think that for such security aspects to be considered &#8220;built-in&#8221; that there must be some level of binding between it and the action.  For example, for input validation to be considered &#8220;built-in,&#8221; the validation aspect must be able to have access to all of the input data values and must perform specific validations based on the semantics of the service being invoked.  It&#8217;s not sufficient to have some lame black-list filter that looks for &#8220;&lt;&#8221; and claim that this is &#8220;built-in&#8221; security.  No, the input validation aspect must know about the data types and semantics of all the data coming into the service and have specific validation for each datum.</p>
<p>Maybe I&#8217;m over generalizing the notion of cross-cutting concern in service architectures.  Maybe these two aspects (and they are conceptually closely related) are the only two aspects that can be factored out of the application logic so cleanly. But, just because they can be factored out and implemented independently from the application logic, I don&#8217;t think that the factoring justifies it being called &#8220;bolted on.&#8221;</p>
<p>[tags]soa, software security[/tags] </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cigital.com/justice-league-blog/2007/03/01/aspect-oriented-service-architecture-built-in-or-bolted-on-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I Hate to Admit It, but Those Network Guys Are Pretty Smart</title>
		<link>http://www.cigital.com/justice-league-blog/2007/02/28/i-hate-to-admit-it-but-those-network-guys-are-pretty-smart/</link>
		<comments>http://www.cigital.com/justice-league-blog/2007/02/28/i-hate-to-admit-it-but-those-network-guys-are-pretty-smart/#comments</comments>
		<pubDate>Wed, 28 Feb 2007 22:22:52 +0000</pubDate>
		<dc:creator>craig</dc:creator>
				<category><![CDATA[SOA and Web 2.0]]></category>
		<category><![CDATA[Software Quality]]></category>

		<guid isPermaLink="false">http://www.cigital.com/blog/2007/02/28/i-hate-to-admit-it-but-those-network-guys-are-pretty-smart/</guid>
		<description><![CDATA[I am strong advocate of service oriented architectures. I have seen them work&#8212;not in theory, not in demonstration, but in real, deployed, mission critical applications. In sitting down to write this blog entry I was going to do yet another &#8220;SOA &#8211; Hype vs. Reality&#8221; essay. I&#8217;ve written a lot of these over the past [...]]]></description>
			<content:encoded><![CDATA[<p>I am strong advocate of service oriented architectures. I have seen them work&#8212;not in theory, not in demonstration, but in real, deployed, mission critical applications.  In sitting down to write this blog entry I was going to do yet another &#8220;SOA &#8211; Hype vs. Reality&#8221; essay.  I&#8217;ve written a lot of these over the past four or five years, and, frankly, theses pieces are getting boring to write and boring to read. Its just not a burning issue &#8212; the next generation architecture debate is over, and SOA won.</p>
<p>Sure, most of what you see when you walk into a big IT shop is still monolithic applications, but those are echoes of IT history&#8212;dead men walking.  SOA won because it is a natural evolution and logical extension of the way we have been building systems since Grace Hopper showed us the light. Our first programs looked monolithic, but only on the surface. We learned that good practice requires us to decompose our programs into procedures, subroutines, (or whatnot depending on the language) that had limited functionality with well-defined interfaces&#8212;nothing too large to fit in the space between our ears.  Code reuse as the Holy Grail.      </p>
<p>SOA is just the extension of good programming practice except that high bandwidth, reliable, standards-based networks and emergent standards for things like message transport, service registration and service invocation mean that our systems need not operate in a single memory space. The acronym SOA may not survive. Software sales dudes always come up with new names to sell a polished up version of the same-old, same-old, but service-oriented architecture and, more importantly, service-oriented architecting is here to stay; its centrality in future systems is as inevitable as the sun rising in the east.</p>
<p>With that rant out of the way, what I want to say here is that there are unique security issues related to security.  I plan to discuss these in forthcoming blog entries, but I have a meeting today with the Ettienne Reinecke, CTO of Dimension Data, one of the best networking companies in the business.  I have been thinking hard about how the guys like him play in SOA beyond giving us reliable pipes. Let me share my thoughts. </p>
<p>Networks work really well&#8212;software not so well. Why? I suggest that the success of the networks lies in three factors&#8212;componentization, standardization and that management.   Networks are not monolithic.  They are composed of lots of individual pieces, each with a well-defined function (sound like SOA?). The performance and interfaces of each component type are very well-defined by standards. This means that different components can be integrated with moderate ease and some reasonable expectation that they will work together.  It also means that the people who develop the components can continue to refine their designs&#8212;to polish them until they are sparkle, making each generation, faster, better and cheaper&#8212;as long as they keep the interface constant.  </p>
<p>Finally, the network guys assume that the network isn&#8217;t going to work. They assume that components will break, so they instrument the network to monitor its performance and they watch it carefully. Good network engineers also design for graceful degradation&#8212;the ability to lose performance in increments rather than catastrophically (think escalators vs. elevators). We on the software side can learn from this. The presumption of fallibility and the capacity for graceful degradation are alien concepts in the software world. They shouldn&#8217;t be.  </p>
<p>In moving to SOA, we are componentizing. In adopting web-service standards we are standardizing, though our standards are much less mature than those for networks. Good for us&#8212;we have to two of the lessons down&#8212;componentization and standardization.  </p>
<p>Let&#8217;s take the final step, and build our SOAs with the assumption that they will fail (a safe assumption) and engineer-in monitoring and the capacity for graceful degradation from the beginning. We can &#8220;ping&#8221; network components to see if they are alive, query their state, test them and change their state during operation. We should be doing this for SOA services. Ultimately, system operators should be able to look at panels like those now used for network operations, showing in color codes the status of each service.  They should be able to detect problems and fix them on the fly.  </p>
<p>Essentially, as we move towards SOA we are shifting from thinking of our systems as discrete entities to thinking of a computing ecosystem that runs 24 hours a day, 365.2564 days per year (more or less). This model is completely unnecessary for a simple program that does one thing, and only runs once in a while, but these are becoming an endangered species.  </p>
<p>The trend in IT has always been towards greater integration. The data from one program feeds into the next, and the next…and the next. We can think of a data store as the DMZ between two applications or we can think of it as a cache in a larger system. The boundaries between systems are often arbitrary and are often simple reflections of org-chart boundaries rather than computational or business logic. At the level of the enterprise, we are evolving towards a more comprehensive view, beginning with simple shared services like database and directory, but moving, inexorably and inevitably towards shared functionality.  </p>
<p>The network engineers have already made this transition. We should lean from them and relentlessly componentize, standardize and manage.   </p>
<p>[tags]software security[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cigital.com/justice-league-blog/2007/02/28/i-hate-to-admit-it-but-those-network-guys-are-pretty-smart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

