Creating the OpenSAMM Roadmap Document
Wednesday, September 21, 2011 at 4:27PM Lately, we've been doing some work with OpenSAMM to help our clients improve security in their SDLC. This framework is very simple and supplies a method for creating a roadmap to drive your efforts to secure your software development projects. The formal charts used in the official OpenSAMM are apparently generated by Adobe Illustrator which I don't have. I'm a proponent of stimulating graphics, particularly in artifacts that will be dissemenated across diverse groups of skillsets. Since the roadmap document is something that will be used to communicate with executive management the intentions and timeframe to implement OpenSAMM, I wanted to make sure it was visually appealing. Rather than an Excel chart I wanted to get as close to the real thing as possible.
While searching the Internet I stumbled upon a 3 part blog series that detailed an effort to create a method that used XML and Scalable Vector Graphics (SVG) to create a nice-looking roadmap artifact very similar to the graphs shown in the official OpenSAMM document. These blog entries go into informative detail about the story of how the author created the format but don't have a definitive set of steps in one easily accessible place.
This blog entry is intended to be summary version of the steps needed to quickly create a roadmap document. For those of you that are curious about the underlying technical details please see the aforementioned blog entries hyperlinked below:
For those that just want to cut to the chase follow the steps outlined below:
- First download the archive files here and here and extract the zip archives and place all files in the same directory
- Using your favorite text editor (preferrably one with XML syntax highlighting), edit roadmap-ex1.xml to match the goals you have set for each security practice. The file format is very straight forward.
- Use a tool like Apache Xalan to create the SVG file. If you are using xalan the command syntax I used to generate the .svg output file was as follows:
xalan -o roadmap.svg roadmap-ex1.xml SAMM-1.0-roadmap-0.6-en_US.xsl
Note: xalan syntax may vary slightly between versions. See the documentation associated with your xalan installation if this syntax does not work for you.
You're done. Your roadmap.svg file can be opened in most browsers and you should have your roadmap document as roadmap.svg openable in most browsers. Please note that you will need to include the file SAMM-1.0-roadmap-0.4.css whenever distributing the .svg file so that it will properly render in a browser.
I would like to thank Pravir Chandra for creating OpenSAMM, Colin Watson and Brenda Larcom for their great work on the XML, XSLT, and SVG files, and lastly the OWASP community at large for doing an outstanding job of making it easier to secure web applications.