<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Wed, 19 Jun 2013 02:24:43 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Project: Web Application Security Quiz]]></title>
      <guid>http://www.phpdeveloper.org/news/19718</guid>
      <link>http://www.phpdeveloper.org/news/19718</link>
      <description><![CDATA[<p>
If you're looking to test out your application security knowledge, you might want to give <i>Timo</i>'s <a href="http://timoh6.github.io/WebAppSecQuiz/index.html">Web Application Security Quiz</a> a try:
</p>
<blockquote>
Web Application Security Quiz tests your knowledge on the common security principles and quirks related to web application development. There are 15 questions. A correct answer adds one point. An incorrect answer subtracts one point. If you don't know the right answer, you can skip the question (no points are added or subtracted).
</blockquote>
<p>
It's a pretty good overview of some of the concepts you'd find in most application security policies and <a href="http://timoh6.github.io/WebAppSecQuiz/answers.html">includes the answers</a> if you're interested in some of the reasoning behind them.
</p>
Link: http://timoh6.github.io/WebAppSecQuiz/index.html]]></description>
      <pubDate>Fri, 14 Jun 2013 10:54:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[P&aacute;draic Brady: Publishing Security Disclosures In Consumable Formats]]></title>
      <guid>http://www.phpdeveloper.org/news/19592</guid>
      <link>http://www.phpdeveloper.org/news/19592</link>
      <description><![CDATA[<p>
<i>P&aacute;draic Brady</i> has a new post today proposing that what the PHP ecosystem needs is a way to <a href="http://blog.astrumfutura.com/2013/05/publishing-security-disclosures-in-consumable-formats-for-simpler-aggregation-and-security-checking/">better publish security disclosures</a> in a format that's easy to parse and deal with.
</p>
<blockquote>
This is a branch off from a separate discussion on the PHP-FIG <a href="https://groups.google.com/forum/?fromgroups=#!forum/php-fig">mailing list</a> about other ways the Framework Interoperability Group can encourage and foster wider interoperability among its member projects (and by extension, the whole PHP community). I'll start by noting two interesting developments in recent months and one long standing best practice.
</blockquote>
<p>
The two "interesting developments" he mentions are the relatively recently released <a href="https://security.sensiolabs.org/">SensioLabs Security Checker</a> that uses you Composer file to find security issues and the new entry in the latest version of the OWASP Top 10 list for "<a href="https://www.owasp.org/index.php/Top_10_2013-A9">Using Components with Known Vulnerabilities</a>". The best practice he talks about is more around the timely/responsible disclosure of vulnerabilities and how some kind of decentralized tracking of these issues that puts the responsibility back on the developers of the tool and not on one tracking resource.
</p>
Link: http://blog.astrumfutura.com/2013/05/publishing-security-disclosures-in-consumable-formats-for-simpler-aggregation-and-security-checking]]></description>
      <pubDate>Thu, 16 May 2013 09:03:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Simon Holywell: Improve PHP session cookie security]]></title>
      <guid>http://www.phpdeveloper.org/news/19584</guid>
      <link>http://www.phpdeveloper.org/news/19584</link>
      <description><![CDATA[<p>
<i>Simon Holywell</i> has a new post talking about <a href="http://simonholywell.com/post/2013/05/improve-php-session-cookie-security.html">cookie security in PHP</a>, focusing on some of the PHP configuration settings that can help.
</p>
<blockquote>
The security of session handling in PHP can easily be enhanced through the use of a few configuration settings and the addition of an SSL certificate. Whilst this topic has been covered numerous times before it still bears mentioning with a large number of PHP sites and servers having not implemented these features.
</blockquote>
<p>
He talks about the <a href="https://www.owasp.org/index.php/HttpOnly">httponly</a> flag when setting the cookie/in the configuration, the "use only cookies" for sessions and forcing them to be "secure only".
</p>
Link: http://simonholywell.com/post/2013/05/improve-php-session-cookie-security.html]]></description>
      <pubDate>Tue, 14 May 2013 14:55:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Anthony Ferrara: Our Failure As An Industry]]></title>
      <guid>http://www.phpdeveloper.org/news/19554</guid>
      <link>http://www.phpdeveloper.org/news/19554</link>
      <description><![CDATA[<p>
<i>Anthony Ferrara</i> has a new post to his site today describing what he sees as a <a href="http://blog.ircmaxell.com/2013/05/our-failure-as-industry.html">failure in our industry</a> - letting security become an after-thought to the development process.
</p>
<blockquote>
In the April issue of the <a href="http://www.phparch.com/">PHPArch magazine</a> (also published on her blog), Elizabeth Tucker Long wrote a really interesting editorial piece coining a concept she called Security-Driven-Development. She (quite correctly) identified a problem in the current development community where security has become an after-thought (if it's thought of at all). This isn't a new concept, in fact it's a concept that I and many others have been preaching for quite a while now. However I've been coming to realize that I've had it wrong the whole time. And I think the entire industry is getting it wrong today.
</blockquote>
<p>
He talks some about the current state of web application development and how, even with more powerful technologies than ever, we still fall short in security testing. He suggests that the current way of doing things - treating security testing as a "throw it over the wall" or "someone else's job" problem - needs to stop. Security needs to be integrated with development and he suggests that managers and developers of open source projects should take the lead.
</p>
Link: http://www.lornajane.net/posts/2013/setting-multiple-headers-in-a-php-stream-context]]></description>
      <pubDate>Tue, 07 May 2013 09:19:34 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[iBuildings Blog: Verifying out software with OWASP ASVS]]></title>
      <guid>http://www.phpdeveloper.org/news/19399</guid>
      <link>http://www.phpdeveloper.org/news/19399</link>
      <description><![CDATA[<p>
On the iBuildings blog today there's a post from <i>Boy Baukema</i> about the <a href="http://blog.ibuildings.com/2013/03/21/verifying-software-with-owasp-asvs/">use of the OWASP ASVS</a> to help provide a framework of questions to ask about your application to help find any application security "pain points."
</p>
<blockquote>
When a customer commissions Ibuildings for a new application, he usually has plenty of functional demands. [...] And maybe some thoughts have been given to performance metrics, but security? Well… it "needs to be secure". [...] It is said, conveniently enough mostly by software engineers, that building software is perhaps the most complex activity humans have ever undertaken.
</blockquote>
<p>
He notes that "security is not a checkbox, it's a dropdown" and should be continuously considered continuously through out development. The <a href="https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project">OWASP ASVS</a> provides a structure that a development group can follow to test the security of their application. It defines 4 types of testing/validation and fourteen other topics to consider.
</p>
<blockquote>
While ASVS is a wonderful addition, it has it's issues: verification and reporting can take a significant amount of time and validation rules are not specific enough to use the tools and techniques.
</blockquote>]]></description>
      <pubDate>Tue, 02 Apr 2013 12:20:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WebDevRadio: Episode 108: New Ruby, Regex and my Framework Security Rant(tm)]]></title>
      <guid>http://www.phpdeveloper.org/news/19244</guid>
      <link>http://www.phpdeveloper.org/news/19244</link>
      <description><![CDATA[<p>
<i>Michael Kimsal</i> has just released the <a href="http://webdevradio.com/2013/02/episode-108-new-ruby-regex-and-my-framework-security-ranttm/">latest episode</a> of his WebDevRadio podcast series, Episode 108: "New Ruby, Regex and my Framework Security Rant(tm)". His framwork security comments are related to PHP frameworks and why almost none of them seem to come with security features already included.
</p>
<blockquote>
Ruby 2 was just released, and the new 'refinements' feature presents some interesting challenges for JRuby and just about anyone wanting to read Ruby code.  Brief chat about the regex security affecting Rails back in January, but more broadly speaking, what does this say about regex in general?  Should we embrace it, or find better alternatives?  Finally, I've got a new blog post up about web framework security - why do (almost) no web frameworks ship with security baked-in?
</blockquote>
<p>
The podcast references some of the thoughts from <a href="http://michaelkimsal.com/blog/why-do-no-almost-no-web-frameworks-come-with-any-authenticationauthorization-functionality/">his recent post</a> about framework security. You can listen to this latest episode either through the <a href="http://webdevradio.com/2013/02/episode-108-new-ruby-regex-and-my-framework-security-ranttm/">in-page player</a> or by <a href="http://media.blubrry.com/webdevradio/p/webdevradio.com/wp-content/uploads/2013/02/wdr_108.mp3">downloading the mp3</a>.
</p>]]></description>
      <pubDate>Wed, 27 Feb 2013 09:59:09 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Fabien Potencier: Don't use PHP libraries with known security issues]]></title>
      <guid>http://www.phpdeveloper.org/news/19208</guid>
      <link>http://www.phpdeveloper.org/news/19208</link>
      <description><![CDATA[<p>
In <a href="http://fabien.potencier.org/article/67/don-t-use-php-libraries-with-known-security-issues">his latest post</a> <i>Fabien Potencier</i> introduces a new effort to help PHP developers using Composer for their dependencies find potential security issues automatically - the <a href="https://security.sensiolabs.org/">security.sensiolabs.com site</a>.
</p>
<blockquote>
I want to provide a simple and efficient way to check for vulnerabilities in a project and I want to serve more than just the Symfony community. That's why I'm really proud to announce a new SensioLabs initiative: a simple way to check if your project depends on third-party libraries with known security issues. The website explains how it works in details (<a href="https://security.sensiolabs.org/">https://security.sensiolabs.org/</a>), but basically, this initiative gives you several ways to check for security issues in your project dependencies based on the information contained in you composer.lock file (you are using Composer to manage your dependencies, right?)
</blockquote>
<p>
Composer users can upload their "composer.lock" file and the system will evaluate it against the vulnerabilities it knows about and return any issues it might find. The current database is hosted <a href="https://github.com/sensiolabs/security-advisories">on github</a> and can be added to by anyone using a pull request. Additionally, you can install the <a href="https://github.com/sensiolabs/security-checker">command-line version</a> if you want to do checks locally.
</p>]]></description>
      <pubDate>Wed, 20 Feb 2013 10:54:20 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[P&aacute;draic Brady: Getting Ahead In Security By Watching The Neighbours]]></title>
      <guid>http://www.phpdeveloper.org/news/19061</guid>
      <link>http://www.phpdeveloper.org/news/19061</link>
      <description><![CDATA[<p>
In <a href="http://blog.astrumfutura.com/2013/01/getting-ahead-in-security-by-watching-the-neighbours/">his latest post</a> <i>Padraic Brady</i> talks some about the recent security issues that <a href="https://groups.google.com/forum/#!topic/rubyonrails-security/61bkgvnSGTQ/discussion">happened with Ruby on Rails</a> that allowed for remote code execution and how, if you use code blindly, you could be in for a similar fate.
</p>
<blockquote>
<p>
Code execution vulnerabilities are, by definition, hideous monsters. The ability for external inputs to enter an execution context (i.e. injecting or manipulating code that is executed on the server) can be difficult to spot through the haze of convenience that such machinations are often designed to deliver. In Rail's case, that convenience was to automatically cast data entries in XML or YAML inputs into Ruby types including, unfortunately, Symbols and Objects. 
</p>
<p>
These types of "buried" code execution vulnerabilities are still easy to locate in PHP, at least, because you are still restricted to normal code execution pathways in the absence of Ruby's dark magic, e.g. eval(), include(), require_once(), system() and, let's not forget, unserialize(). 
</p>
</blockquote>
<p>
He talks about how, if you're not careful with the code (third party libraries) that you use in your applications - or don't adhere to good security practices in your own - you could be vulnerable to a similar style of attack. After some investigation on his part, he discovered an issue related to this in the Symfony2 YAML parser (<a href="http://symfony.com/blog/security-release-symfony-2-0-22-and-2-1-7-released">now fixed</a> with a new release). 
</p>
<blockquote>
To summarise…

Pay attention to competing applications or frameworks - their problems may also be your problems. If you're worried about arbitrary code execution vulnerabilities then audit your code. You can even, as a sanity check, use grep to find uses of functions like eval(), unserialize(), etc and analyse where their parameters' might originate from. 
</blockquote>]]></description>
      <pubDate>Fri, 18 Jan 2013 11:53:52 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ulrich Kautz: PHP Validation & Sanitization]]></title>
      <guid>http://www.phpdeveloper.org/news/18815</guid>
      <link>http://www.phpdeveloper.org/news/18815</link>
      <description><![CDATA[<p>
<i>Ulrich Kautz</i> has recently taken a look at <a href="http://foaa.de/blog/2012/11/27/php-validation-and-sanitization/">validation and sanitization</a> of data in PHP applications. He talks about several different methods - both in core PHP and in various frameworks.
</p>
<blockquote>
Validation and sanitization are extremely important topics, any developer should be aware of. Especially with powerful, modern frameworks, people seem to forget about the underlying concepts and wrongly assume it's already solved somehow. Correctly used and early on integrated, both play the central role in defending against attacks on your application.
</blockquote>
<p>
He talks a bit about why you should care about the topic, some of the common issues/threats that could come up because of it and some general information on what validation and sanitization are. He looks at implementation with the <a href="http://www.php.net/manual/en/intro.filter.php">filter extension</a> and touches on functionality from Symfony 2, Laravel 3, CakePHP 2 and shares <a href="https://github.com/fortrabbit/datafilter">his own data filtering module</a> with examples of its use.
</p>]]></description>
      <pubDate>Wed, 28 Nov 2012 11:57:35 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[thePHP.cc: Do No Enter!]]></title>
      <guid>http://www.phpdeveloper.org/news/18793</guid>
      <link>http://www.phpdeveloper.org/news/18793</link>
      <description><![CDATA[<p>
In a new post to the PHP.cc site today <i>Arne Blankerts</i> reminds us that not all security is about writing good code and handing data correctly - it's <a href="http://thephp.cc/viewpoints/blog/2012/11/do-not-enter">also about the systems they run on</a>.
</p>
<blockquote>
What seems to be so obvious for road traffic and its rules seems to be less obvious for many web developers. They tend to slack on defining (and monitoring) what is happening at the application level as well as the infrastructure level of their application. It is not enough to run a default install of your operating system of choice, add whatever services you need, and hope for the best. Considering the amount of money as well as damage to reputation, either directly due to fraud and abuse or indirectly by time lost to recover a hacked system or software, the "let's hope for the best" approach is of arguable quality. And we are not even considering general bugs here.
</blockquote>
<p>
He mentions configuring the server, OS and network to ensure a higher level of security, noting that no matter how much work is put into secure code, if the attacker can get to points on the system they shouldn't, your app is still vulnerable. 
</p>
<blockquote>
But how can you tell if someone is actually trying to break in? Pretty much exactly as the police does for road traffic: with speed checks and by patrolling. A properly configured firewall will show as well as inhibit any unauthorized communication within the network and all you need to do is monitor the vital signs of your infrastructure.
</blockquote>]]></description>
      <pubDate>Fri, 23 Nov 2012 10:37:44 -0600</pubDate>
    </item>
  </channel>
</rss>
