<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/blog/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    
    <link href="http://www.bress.net/blog/feeds/atom10.xml" rel="self" title="Josh's Blog" type="application/atom+xml" />
    <link href="http://www.bress.net/blog/"                        rel="alternate"    title="Josh's Blog" type="text/html" />
    <link href="http://www.bress.net/blog/rss.php?version=2.0"     rel="alternate"    title="Josh's Blog" type="application/rss+xml" />
    <title type="html">Josh's Blog</title>
    <subtitle type="html">Security with an Open Source twist</subtitle>
    <icon>http://www.bress.net/blog/templates/default/img/s9y_banner_small.png</icon>
    <id>http://www.bress.net/blog/</id>
    <updated>2012-01-09T12:31:51Z</updated>
    <generator uri="http://www.s9y.org/" version="1.6">Serendipity 1.6 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://www.bress.net/blog/archives/202-Security-Development-and-Open-Source.html" rel="alternate" title="Security Development and Open Source" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2012-01-09T12:30:00Z</published>
        <updated>2012-01-09T12:31:51Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=202</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=202</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/6-Red-Hat" label="Red Hat" term="Red Hat" />
    
        <id>http://www.bress.net/blog/archives/202-guid.html</id>
        <title type="html">Security Development and Open Source</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                So one of the really cool things about working at Red Hat is we get to actually talk about what we do. Openness is a really important ideal the company has. I'm currently working to create a security development program inside Red Hat, which is also going to have to be open source friendly. As this is interesting, hard, fun, hard, and useful, I'm going to do my best to keep the world filled in on how things are going. If someone else can benefit from my mistakes, I shall be very happy.<br />
<br />
So after all the various things I've read regarding things like Microsoft's Security Development Lifecycle, BSIMM, CERT documentation, it's very clear that there is a lot of information regarding what a secure development program should look like. There is almost no information about actually starting one.<br />
<br />
<strong>The Roadmap</strong><br />
A big challenge with starting a secure development program is that you can't just show up and start telling people how to do their jobs. You'll probably last two days before someone beats you up in the parking garage. This is especially true when you take open source into consideration. If I tried to tell the folks at Apache how to develop, I'd likely be laughed out of the room (or mailing list in this instance). A program like this needs careful planning. You'll get one chance to make it work, if you blow it, nobody will ever listen to you again.<br />
<br />
This is where a sound roadmap comes into play. While the overall look of my roadmap continues to change as I talk to people, the first step has to be training. If we don't train the involved parties, nobody will understand what's going on or why certain practices should be adopted. This includes training from the point of basic security, all the way to training on various security concepts such as secure design, development, training, and response.<br />
<br />
<strong>Phase 1: Training</strong><br />
Security is hard, if nobody knows what you're talking about, you will fail. It's also dangerous to assume everyone understands security basics. Security is one of those areas where the more you learn the less you know. It's also changing constantly. What was sound security advice a few years ago may not be anymore. Various security technologies continue to evolve, and new ones are developed. New exploitation techniques are constantly changing. It's very hard to keep tabs on everything.<br />
<br />
Our current initial focus on training is going to focus on these topics:<br />
<br />
Security basics. This includes information on the security development lifecycle as a whole, and understanding what a security flaw is, why it's a problem, and some history. If we don't know where we've been, it's hard to see where we're going.<br />
<br />
Secure design. If you don't have a secure design before you start to write the code, it may become impossible to fix some problems without a significant amount of work. Secure design from the start will include topics like threat modeling, defense in depth, secure defaults, and principal of least privilege.<br />
<br />
Secure development. This topic is very broad and has the potential to get overly technical. A huge challenge here is how much information is enough? It's not going to be productive if you end up creating developers who are so worried about security issues that their productivity drops to zero.<br />
<br />
Secure testing. An important part security development is to test what you create. There is never going to software that is totally free of security flaws. By doing certain testing though you can catch some things before it leaves the door. This is where using things like dynamic and static testing is helpful. Agan though, there has to be certain sensible limits. At some point the law of diminishing returns kicks in. We need to figure out where that is.<br />
<br />
There are of course other areas for training, but the above are some of my initial goals. I also hope to make some portion of this training material available to the open source community. I'm not entirely sure how all that will happen long term, but it's something on the list.<br />
<br />
As my plans continue to grow and evolve, I'll be certain to fill in more details.<br />
Until next time. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.bress.net/blog/archives/201-What-will-2012-bring-for-security.html" rel="alternate" title="What will 2012 bring for security?" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2012-01-03T13:00:00Z</published>
        <updated>2012-01-03T02:07:54Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=201</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=201</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/6-Red-Hat" label="Red Hat" term="Red Hat" />
    
        <id>http://www.bress.net/blog/archives/201-guid.html</id>
        <title type="html">What will 2012 bring for security?</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                So the year 2012 is finally here, the world is supposed to end this year (someday one of these predictions will be right). With every new year there are always a bunch of new exciting predictions about computer security. Most are wrong. If we knew what was going to happen, we'd stop it from happening, hopefully.<br />
<br />
Rather than make a pointless prediction for 2012, I have a few goals for the year. As I announced previously, I'm working on a security effort inside Red Hat to bring proactive security measures to our products. The Red Hat Product Security Team if you will. Some of my current goals for the year (which are subject to change) stand as:<br />
<br />
<strong>Security training materials</strong><br />
The team is working on various security training materials. Topics ranging from secure design, development, and testing. Some of this will stay internal to Red Hat, but I hope to make much of it public for the general open source community to leverage. I've done a fair amount of research on this topic. There is a lot of really quality material out there, but finding it can be difficult.<br />
<br />
<strong>Security development principals for open source</strong><br />
There are numerous security development lifecycle programs out there, but none are geared for the unique challenges open source faces. I've yet to find a project that doesn't want to write secure code, or handle security flaws properly. I have found many that don't really know where to start though. While I've done a lot of investigating about existing security development programs, most lack the very crucial step of where and how to start. Stay tuned for updates in this area.<br />
<br />
<strong>Investigate various security tools</strong><br />
There are a lot of interesting security tools out there. Things from static analysis, dynamic analysis, fuzzing, and testing. Some work well, some don't, some are hard to use. One of my goals is to sort this out, and make the findings available to anyone who is interested.<br />
<br />
<strong>Work with open source projects</strong><br />
One of my biggest gripes about security efforts is they often work like this: "here's some information, good luck". Rather than just dump things like training materials and principals to the world, we need to work with projects who have an interest in this. One of the really hard, and really interesting aspects of open source is that every project is very different, and many use a lot of volunteers who aren't going to be receptive to the idea of a bunch of new process. I can't say I know how this one is going to end, but I have plenty of ideas where it can start.<br />
<br />
In general I see 2012 as being very busy and exciting, which isn't a bad problem to have at all.<br />
<br />
If you have any questions, or want to have a chat about any of this, feel free to mail me, <a href="mailto:bressers@redhat.com">bressers@redhat.com</a>. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.bress.net/blog/archives/200-Expanding-Red-Hats-Product-Security-Efforts.html" rel="alternate" title="Expanding Red Hat's Product Security Efforts" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2011-11-21T12:17:00Z</published>
        <updated>2011-11-21T12:18:59Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=200</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=200</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/1-Linux" label="Linux" term="Linux" />
            <category scheme="http://www.bress.net/blog/categories/7-Open-Source" label="Open Source" term="Open Source" />
            <category scheme="http://www.bress.net/blog/categories/6-Red-Hat" label="Red Hat" term="Red Hat" />
            <category scheme="http://www.bress.net/blog/categories/2-Security" label="Security" term="Security" />
    
        <id>http://www.bress.net/blog/archives/200-guid.html</id>
        <title type="html">Expanding Red Hat's Product Security Efforts</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                I'm rather excited to announce an expansion of Red Hat's product security efforts. I've been tasked with creating a team inside Red Hat to formalize our product security work. There is already a lot of really good work happening inside Red Hat in the security space. Technologies such as SELinux, ExecShield, secure development principals, and hardening in the toolchain have come a long way. However as happens with all decent sized companies, the left hand doesn't always know what the right hand is doing. Rather than letting good work go unnoticed, we're going to start formalizing some of these efforts to leverage what's being done, expand existing efforts into other product areas, and develop new programs.<br />
<br />
Some additional efforts I would like to further are areas such as secure design principals, developer security training initiatives, secure coding practices, and security testing.<br />
<br />
If you're interested in being a part of this effort, I have a number of open positions scattered around the world, feel free to apply directly or contact me if you have any questions. I'm quite happy to discuss location, so don't let that scare you off.<br />
<br />
<a href="https://careers.redhat.com/ext/detail?redhat8554">Software Engineer - Security Best Practices Development</a><br />
<a href="https://careers.redhat.com/ext/detail?redhat8555">Software Engineer - Tool Development</a><br />
<a href="https://careers.redhat.com/ext/detail?redhat8556">Software Engineer - New Security Technologies Development</a><br />
<a href="https://careers.redhat.com/ext/detail?redhat8557">Software Engineer - Code Audit Development</a><br />
<a href="https://careers.redhat.com/ext/detail?redhat8558">Developer Training</a><br />
<br />
I don't expect any of this to be easy, but nothing worth doing is ever easy. I expect many challenges and rewards to come from this. Red Hat is in a unique and great position to take on such a task. Stay tuned for more updates. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.bress.net/blog/archives/195-Firefox-in-a-sandbox-with-Fedora.html" rel="alternate" title="Firefox in a sandbox with Fedora" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2011-02-26T20:02:00Z</published>
        <updated>2011-09-06T13:40:25Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=195</wfw:comment>
    
        <slash:comments>6</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=195</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/2-Security" label="Security" term="Security" />
    
        <id>http://www.bress.net/blog/archives/195-guid.html</id>
        <title type="html">Firefox in a sandbox with Fedora</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                There is a really cool utility from the selinux <a href="http://danwalsh.livejournal.com/31146.html?thread=213162">folks</a> called <em>sandbox</em>. It's lets you run an application inside a sandbox which has limited permissions on the system. The idea being that you could run an untrusted process which shouldn't be able to cause any real damage. I dare say these days the most untrusted process is a web browser. I know Chrome uses a technology similar to this where each tab gets its own sandbox, but I don't run Chrome, so my goal is to make Firefox as safe as possible. Plus I'm a paranoid nut, so this sort of thing I find really interesting.<br />
<br />
The sanbox program is part of the policycoreutils-python package in Fedora. It has the unique feature of being able to run an X application inside the sandbox. This is done by using a Xephyr X server. Getting this to run Firefox the way I wanted took a bit of work, but it's quite handy now that I have it working.<br />
<br />
The biggest advantage I now have are multiple browsers running as my user. I have one browser for general browsing. This browser I never enter a password into, as I presume some of the sites I visit could be malicious in nature.<br />
<br />
My other browser is for trusted sites, like webmail and my bank. I'm able to run any number of browsers I wish, since each runs in its own sandbox, I don't have to worry about any resource collisions. If I have a questionable site to investigate (which happens in the security world fairly often), I just run another browser, check the site then close it. The sandbox cleans up any mess left behind when I'm done.<br />
<br />
More after the fold.<br />
<br />
 <br /><a href="http://www.bress.net/blog/archives/195-Firefox-in-a-sandbox-with-Fedora.html#extended">Continue reading "Firefox in a sandbox with Fedora"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.bress.net/blog/archives/198-Sony,-PSN,-and-timing.html" rel="alternate" title="Sony, PSN, and timing" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2011-04-27T20:00:00Z</published>
        <updated>2011-04-27T19:05:58Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=198</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=198</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/2-Security" label="Security" term="Security" />
    
        <id>http://www.bress.net/blog/archives/198-guid.html</id>
        <title type="html">Sony, PSN, and timing</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                News is starting to make the rounds that Sony's PSN users had their personal info stolen nine days ago.<br />
<a href="http://gamrfeed.vgchartz.com/story/85812/sony-your-psn-personal-info-was-stolen-nine-days-ago/">Sony: Your PSN Personal Info Was Stolen Nine Days Ago</a><br />
<br />
Most people are now thinking NINE @#$%ING DAYS!!!<br />
<br />
The wording Sony is using is fairly vague, nothing sounds concrete. This is most likely because they don't know for sure. I suspect it took them nine days to release this news because they spent the first five days running around in an utter panic waiving their hands in the air.<br />
<br />
I'm not going to pick on Sony for being broken into, this happens. Even the best networks in the world have flaws. Nothing is perfect. Given how long it's taken them to respond, they probably didn't have a proper incident handling plan. It's easy to see security as a useless cost until you need it, then it looks pretty cheap.<br />
<br />
Someday, you too will be compromised. What will you do when it happens? 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.bress.net/blog/archives/197-If-a-phone-tracks-you-in-the-forest,-does-it-makes-a-noise.html" rel="alternate" title="If a phone tracks you in the forest, does it makes a noise?" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2011-04-24T22:40:00Z</published>
        <updated>2011-04-25T11:11:33Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=197</wfw:comment>
    
        <slash:comments>4</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=197</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/2-Security" label="Security" term="Security" />
    
        <id>http://www.bress.net/blog/archives/197-guid.html</id>
        <title type="html">If a phone tracks you in the forest, does it makes a noise?</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                There has been a lot of noise lately about Apple and Google phones tracking people. This isn't very surprising honestly. Everything tracks what you do these days. Your web browser tracks the sites you visit. I would be amazed if more than half of your travel time isn't recorded on some sort of video security system (think about how many public and private video cameras you see, if you can see it, it can see you). Even when you spend money, it's being tracked. There are debates as to how anonymous cash is, for now, let's just presume it's not anonymous. Even the books you read are easier than ever to track thanks to ereaders (sure they know you bought <em>The Catcher in the Rye</em>, but now they know you read it once a month).<br />
<br />
We live in a world where we have no privacy. This probably won't ever change since companies want to know this information. I'd be surprised if any single group has managed to put it all together yet, but there is a giant pile of gold waiting for whoever does (my current money is on Facebook, as long as someone doesn't swoop in and get it right before they're done floundering).<br />
<br />
The real question is what can we do about it? There are really only three options. Go live in a shack in the woods and never ever spend money or use technology. Stop caring. Don't do silly things.<br />
<br />
The vast majority of people live in the "Stop caring" option since they don't know any better. Living in the woods is probably out of the question fo most of us as something will eat us on day 3 if we haven't starved to death. The right answer is to not be silly.<br />
 <br /><a href="http://www.bress.net/blog/archives/197-If-a-phone-tracks-you-in-the-forest,-does-it-makes-a-noise.html#extended">Continue reading "If a phone tracks you in the forest, does it makes a noise?"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.bress.net/blog/archives/196-New-GPG-key.html" rel="alternate" title="New GPG key" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2011-04-03T19:03:00Z</published>
        <updated>2011-04-04T01:36:16Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=196</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=196</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/2-Security" label="Security" term="Security" />
    
        <id>http://www.bress.net/blog/archives/196-guid.html</id>
        <title type="html">New GPG key</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                I've finally gotten around to setting up a new GPG key for myself. It can be found on the keyservers, signed with my old key for those of you interested. The fingerprint is <blockquote>CFB1 136C 6DD0 5BB9 D798  A78E 1CD8 ACDD BBE0 9A0F</blockquote><br />
The really cool thing about this key is I have it living on an OpenPGP smartcard. Such a card can be found from <a href="http://shop.kernelconcepts.de/index.php?language=en">kernel concepts</a>. This means that it's quite difficult for someone to steal this key from me. It will take a physical theft for someone to gain the key. The best a remote attacker can do is decrypt or sign a things as me while I have the card plugged into my computer.<br />
<br />
As a warning, I wasn't able to generate my keys using the Omnikey or Gemalto USB keyreaders I have. I bought SIM sized smart cards so I can easily carry both the card and reader with me at all times. It turned out that GPG could generate the keys on Windows, so I ended up having to to do a clean windows install to generate the keys (which was promptly destroyed afterwards), it was a rather silly waste of time, but it did work. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.bress.net/blog/archives/194-Critical-security-handled-critically.html" rel="alternate" title="Critical security handled critically" />
        <author>
            <name>Josh Bressers</name>
                    </author>
    
        <published>2010-12-14T02:07:00Z</published>
        <updated>2010-12-14T08:01:23Z</updated>
        <wfw:comment>http://www.bress.net/blog/wfwcomment.php?cid=194</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.bress.net/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=194</wfw:commentRss>
    
            <category scheme="http://www.bress.net/blog/categories/2-Security" label="Security" term="Security" />
    
        <id>http://www.bress.net/blog/archives/194-guid.html</id>
        <title type="html">Critical security handled critically</title>
        <content type="xhtml" xml:base="http://www.bress.net/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Last week there was an Exim 0day flaw found in the wild. This hasn't happened to something this widely used in quite a long time. It's worth pointing out that all the right folks came together to get this fixed in an amazing amount of time. They did a great job and deserve a lot of credit. This could have been a lot worse than it was.<br />
<br />
Upstream sent this message giving a pretty good run down of <a href="http://marc.info/?l=oss-security&m=129224961001508&w=2">events.</a><br />
<br />
Their openness is certainly the best way to have handled this. If you treat security like a PR problem, it becomes a PR problem.<br />
<br />
The short story is that on December 7, a vigilant sysadmin (Sergey Kononenko) noticed a compromised server, and luckily grabbed a dump of the data. It wasn't widely noticed for about two days. During this time investigation began. Here is where open source showed its real power. When the folks investigating were having issues, they started asking other community folks to help, this eventually made its way to various vendors. Everyone brought a different piece to the puzzle, and the next day the problem was understood, and vendors started to patch their copies of Exim. It turned out upstream had fixed the issue quite some time ago.<br />
<br />
It's not uncommon for emergencies to go horribly wrong, but when the right people do the right things, things can work nicely. 
            </div>
        </content>
        
    </entry>

</feed>
