<?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/"
	>

<channel>
	<title>My Security Planet &#187; Suspekt...</title>
	<link>http://rgaucher.info/planet/</link>
	<description>My Security Planet &#187; Suspekt...</description>
	<generator>Gregarius 0.5.4</generator>
	<language>en</language>
	<item>
		<title>Suspekt...: Month of PHP Security 2010 has begun…</title>
		<link>http://www.suspekt.org/2010/05/02/month-of-php-security-2010-has-begun/</link>
		<pubDate>Sun, 02 May 2010 00:23:11 -0500</pubDate>
		<guid>http://www.suspekt.org/2010/05/02/month-of-php-security-2010-has-begun/</guid>
		<content:encoded><![CDATA[	<p>
  In case you haven’t noticed it through the other channels already…
</p>
<p>
  The <a href="http://php-security.org">Month of PHP Security 2010</a> has finally begun.
</p>
<p>
  During the Month of May 2010 we (<a href="http://www.sektioneins.com">SektionEins</a>) will post every day at least one new vulnerabilities in PHP and one new vulnerability in a PHP applications. In addition to that every other day we will post an article about a PHP security topic or a new PHP security tool. Among these articles and tools are those that were submitted to us during the Month of PHP Security CFP.
</p>
<p>
  BTW: You can also <a href="http://twitter.com/mops_2010">follow</a> the Month of PHP Security on <a href="http://twitter.com/mops_2010">twitter</a>.
</p> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: SyScan-Workshop: Advanced PHP Auditing at Source and Bytecode Level</title>
		<link>http://www.suspekt.org/2010/04/19/syscan-workshop-advanced-php-auditing-at-source-and-bytecode-level/</link>
		<pubDate>Mon, 19 Apr 2010 07:08:23 -0500</pubDate>
		<guid>http://www.suspekt.org/2010/04/19/syscan-workshop-advanced-php-auditing-at-source-and-bytecode-level/</guid>
		<content:encoded><![CDATA[	<p>
  At <a href="http://syscan.org/Sg/training.html">SyScan’10 Singapore</a> I will give a two day workshop about <a href="http://syscan.org/Sg/syscan_10_03.php">“Advanced PHP Auditing at Source and Bytecode Level”</a>.
</p>
<blockquote>
  <p>
    This course will teach students advanced methods and techniques for PHP application audits at source code and at bytecode level. The students will get to know the most common PHP security problems and how to find them at source code and bytecode level. Throughout the course several free and open source software tools will be introduced and used in order to visualize application structure, find security problems with static and dynamic analysis on source code and bytecode level and also to break PHP bytecode encryption.
  </p>
</blockquote>
<p>
  You can read the full description <a href="http://syscan.org/Sg/syscan_10_03.php">here</a>. During the course students will get exclusive access to a few of our internal tools. You should apply early because seats are limited. And if you want to get training like this outside of a conference, then please contact <a href="mailto:info@sektioneins.de">info@sektioneins.de</a>.
</p> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: MOPS CFP: Deadline Extension - April 18, 2010</title>
		<link>http://www.suspekt.org/2010/04/09/mops-cfp-deadline-extension-april-18-2010/</link>
		<pubDate>Fri, 09 Apr 2010 01:17:18 -0500</pubDate>
		<guid>http://www.suspekt.org/2010/04/09/mops-cfp-deadline-extension-april-18-2010/</guid>
		<content:encoded><![CDATA[	<p>
  The <a href="http://php-security.org">Month of PHP Security</a> committee has decided to extend the CFP deadline from April 11, 2010 to April 18, 2010. The reason for that is very simple: so far we only got a few submissions from the PHP community and the security community. Even fewer submissions than we have prizes. Therefore it is only fair to wait a bit more for your submissions.
</p>
<p>
  There seems to be a confusion about the accepted topics.
</p>
<ul>
  <li>We do not only accept but welcome articles about PHP security topics. The whole point of involving the community in MOPS was to gather articles about secure PHP programming or PHP security research.
  </li>
  <li>We will accept vulnerabilities in PHP applications as long the application is installed on more than 100 systems and the vulnerability gives you access to the data or to the system. However you have to write a text describing the vulnerability and what you can do with it.
  </li>
  <li>You DO NOT loose any rights by submitting something to us. You will be credited and in case of bugs you are also allowed to write your own advisory to bugtraq (or whereever else). In case of articles you can reuse them for everything you want. Only condition: no other publication before the article/bug appears during MOPS.
  </li>
</ul>
<p>
  To revisit the full list of accepted topics: <a href="http://php-security.org/#topics">look here</a>.
</p>
<p>
  If there are no more community submissions this does not mean that the MOPS is cancelled. We at <a href="http://www.sektioneins.com">SektionEins GmbH</a> will ensure that there is enough content to fill each day. In any case the Month of PHP Security will start on May 1, 2010.
</p>
<p>
  TIP: If you send in an article please ensure that chapters titled “conclusion” actually contain a conclusion and not “WE ARE THE MOST AWESOME GUYS IN WEB APP SEC - HERE IS A LINK LIST OF OUR OTHER PROJECTS”
</p> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: MOPS - Zend Webinar: Secure Application Development with the Zend Framework</title>
		<link>http://www.suspekt.org/2010/04/09/mops-zend-webinar-secure-application-development-with-the-zend-framework/</link>
		<pubDate>Fri, 09 Apr 2010 00:58:26 -0500</pubDate>
		<guid>http://www.suspekt.org/2010/04/09/mops-zend-webinar-secure-application-development-with-the-zend-framework/</guid>
		<content:encoded><![CDATA[	<p>
  During the <a href="http://php-security.org">Month of PHP Security</a> there will be a Zend Webinar about <a href="http://www.zend.com/en/company/news/event/webinar-secure-application-development-with-the-zend-framework">“Secure Application Development with the Zend Framework”</a> by me. While this webinar is not directly connected to the MOPS and the time (5th of May) is just a coincident it fits nicely into the whole MOPS idea. The webinar contains the following content:
</p>
<blockquote>
  <p>
    More and more developers have started to use Zend Framework for new PHP application development projects. This changes the way applications are developed, because more framework components are used and less core PHP functions. Therefore new guidelines for secure programming are needed.
  </p>
  <p>
    This webinar will introduce the audience to Zend Framework features that help while developing secure applications and to features that result in security vulnerabilities if wrongly used. Zend Framework’s own security features will be explained and evaluated what kind of security problems still have to be dealt with by the programmer himself.
  </p>
</blockquote>
<p>
  Because I am not entirely sure how many visitors can attend a Zend Webinar you should register early.
</p> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: Zend Webinar: Sichere Applikationen auf Basis des Zend Frameworks</title>
		<link>http://www.suspekt.org/2010/03/14/zend-webinar-sichere-applikationen-auf-basis-des-zend-frameworks/</link>
		<pubDate>Sun, 14 Mar 2010 09:17:34 -0500</pubDate>
		<guid>http://www.suspekt.org/2010/03/14/zend-webinar-sichere-applikationen-auf-basis-des-zend-frameworks/</guid>
		<content:encoded><![CDATA[	<p>
  Hier einmal ein Announcement in letzter Minute: in zwei Tagen halte ich für Zend ein Webinar über “<a href="http://www.zend.com/de/company/news/event/webinar-sichere-applikationen-auf-basis-des-zend-frameworks">Sichere Applikationen auf Basis des Zend Frameworks</a>“.
</p>
<blockquote>
  <p>
    Immer mehr PHP-Entwickler setzen das Zend Framework bei der Programmierung neuer Applikationen ein.&nbsp;Für die Entwicklung bringt dies einige Veränderungen mit sich, da mehr und<br />
    mehr Framework-Komponenten benutzt werden und immer weniger direkt auf PHP Funktionen zurückgegriffen wird. Dadurch ändert sich auch der Prozess, wie sichere Applikationen zu entwickeln sind.
  </p>
  <p>
    In diesem Webinar erfahren Sie, welche Features des Zend Frameworks die Entwicklung sicherer Applikationen erleichtern, welche Features bei falschem Einsatz zu Sicherheitsproblemen führen können, welche Sicherheitsfeatures existieren, wie man sie einsetzt und welche Sicherheitsprobleme nach wie vor alleine gelöst werden müssen.
  </p>
</blockquote> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: Suhosin-Patch 0.9.9.1</title>
		<link>http://www.suspekt.org/2010/03/05/suhosin-patch-0991/</link>
		<pubDate>Fri, 05 Mar 2010 02:26:52 -0600</pubDate>
		<guid>http://www.suspekt.org/2010/03/05/suhosin-patch-0991/</guid>
		<content:encoded><![CDATA[	<p>
  Together with the release of <a href="http://www.php.net">PHP 5.3.2</a> by the PHP team I have released <a href="http://www.suhosin.org/">Suhosin-Patch 0.9.9.1</a> which comes with bugfixes and new features. The changes are:
</p>
<ul>
  <li>fixed some crashbugs for IA64 architecture
  </li>
  <li>check return value of mprotect() to ensure that memory is read only - credits: PAX Team
  </li>
  <li>fixed mprotect() call - encrypted pointer was used in revoked 0.9.9 - credits: PAX Team
  </li>
  <li>added additional hardening to destructor protection
  </li>
  <li>added pointer obfuscation to memory manager
  </li>
</ul>The most important new feature is the pointer obfuscation inside the PHP memory manager. This mitigation makes it much harder to exploit lots of memory corruptions correctly. Pointer obfuscation is also used to protect the pointer to the read only configuration inside Suhosin-Patch that allows it to be configured by environment variables. ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: Month of PHP Security - Blog Post Drawing</title>
		<link>http://www.suspekt.org/2010/03/05/month-of-php-security-blog-post-drawing/</link>
		<pubDate>Fri, 05 Mar 2010 02:06:30 -0600</pubDate>
		<guid>http://www.suspekt.org/2010/03/05/month-of-php-security-blog-post-drawing/</guid>
		<content:encoded><![CDATA[	<p>
  While going through the HTTP_REFERER log of the <a href="http://php-security.org">Month of PHP Security</a> website I realised that there are more incoming refers from various blog posts about it than there are submissions to <a href="mailto:drawing@php-security.org">drawing@php-security.org</a>. Like I <a href="http://www.suspekt.org/2010/02/27/month-of-php-security-2010-call-for-papers/">previously announced</a> we will honor 10 blog postings with 25 EUR amazon coupons. The winners will be selected by random, however only among those we will select that announce their blogpost to us via the email address provided above.
</p>
<p>
  The reasons for this rule is very simple. Without the announcement we would have to look at every new HTTP_REFERER and manually check if it is just spam, an old link to the Month of PHP Bugs, someone who just copied the blog of another person or other nonsense. In addition to that we have to find a contact address of the person who originally has written the entry and ask him/her if he/she wants to take part in the drawing. This would be too much work. Therefore announce your blog posting to <a href="mailto:drawing@php-security.org">drawing@php-security.org</a> or you have no chance of winning one of the coupons.
</p> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: Debian breaks Suhosin Security Feature</title>
		<link>http://www.suspekt.org/2010/02/27/debian-breaks-suhosin-security-feature/</link>
		<pubDate>Sat, 27 Feb 2010 12:52:46 -0600</pubDate>
		<guid>http://www.suspekt.org/2010/02/27/debian-breaks-suhosin-security-feature/</guid>
		<content:encoded><![CDATA[	<p>
  Two days ago I installed a mail client on my reinstalled desktop system that was not doing anything for 2 month and checked mails of the hardened-php account that were not checked for 2 months. Usually noone uses this email account to contact me, but the Suhosin bug reports sometimes end up there. While killing thousands of SPAM messages I also found a message from the Debian PHP maintainers, dating back to the 10th February 2010, telling me about a crash problem inside the Suhosin patch. The email also contained their solution to the problem: a patch for the suhosin patch. You can view this patch <a href="http://git.debian.org/?p=pkg-php/php.git;a=blob;f=debian/patches/suhosin_page_size_fixes.patch">here</a>. However you should not commit this patch to your PHP because it does not solve the problem correctly.
</p>
<p>
  I previously blogged about one of the <a href="http://www.suspekt.org/2009/08/13/suhosin-patch-098-for-php-530-beta-please-test/">new features</a> in Suhosin Patch for PHP 5.3.x. It is now possible to adjust several internal features by setting certain environment variables on startup. This includes the memory manager canary protection, the sanitization of free memory blocks, the protection of linked lists and hashtables. When a Suhosin patched PHP starts the environment variables are evaluated and the suhosin config is written into a variable called suhosin_config.
</p>
<p>
  It should be obvious that this kind of feature comes with a little problem. Certain bytes in memory now control if Suhosin’s internal memory protections are activated or not. This means that a memory corruption vulnerability in PHP could be used by an attacker to overwrite the config variable and disable the security. Because of this Suhosin Patch tries to align the suhosin_config variable to a page boundary and then set it to read only.
</p>
<pre>
/* hack that needs to be fixed */
#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
#endif
 
#ifdef ZEND_WIN32
__declspec(align(PAGE_SIZE))
#endif
char suhosin_config[PAGE_SIZE]
#if defined(__GNUC__)
__attribute__ ((aligned(PAGE_SIZE)))
#endif
;
 
static void suhosin_write_protect_configuration()
{
#if defined(__GNUC__)
   mprotect(suhosin_config, PAGE_SIZE, PROT_READ);
#endif
}
</pre>
<p>
  The implementation has some problems. First of all it only works in case of a GNU C compiler. The second and more serious problem is that it assumes that the PAGE_SIZE is smaller than or equal to 4096. Otherwise mprotect() will not correctly work. On systems where the PAGE_SIZE is bigger than 4096 the mprotect() will either fail or set too many bytes to read only. In case of a write access after the suhosin_config variable this can lead to a crash.
</p>
<p>
  The Debian people saw this crash on some architectures and reacted with a patch. However they did misunderstand the security idea behind it and therefore their patch looks like this.
</p>
<pre>
char *suhosin_config = NULL;
 
static void suhosin_write_protect_configuration()
{
#if defined(__GNUC__)
   mprotect(suhosin_config, sysconf(_SC_PAGESIZE), PROT_READ);
#endif
}
...
if (!suhosin_config) {
   suhosin_config = mmap(NULL, sysconf(_SC_PAGESIZE), PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
   if (suhosin_config == MAP_FAILED) {
      perror("suhosin");
      _exit(1);
   }
}
</pre>
<p>
  The Debian maintainers tried to fix the problem by replacing the aligned suhosin_config variable with a pointer. They then allocate a single memory mapped page and set it to read only. While this fixes the possible crash it shows that the Debian PHP maintainers did not fully understand the idea behind that code. The patch ensures that the suhosin configuration is set to read only, but now a memory corruption exploit can just overwrite the suhosin_config pointer and let it point to a memory area that contains a new configuration.
</p>
<p>
  <del>A correct fix would be to check if the dynamic page size is indeed bigger than 4096 and in this case just warn the user that he should recompile PHP with a bigger PAGE_SIZE definition and do not set the variable to read only in this case. But this might arise the next problem that the PAGE_SIZE might exceed the maximum alignment that the compiler supports.</del>
</p>
<p>
  UPDATE: I rewrote several parts of this blog entry to make it less critic and sound less aggressive. I spent the day discussing possible fixes and other problems with the current solution. The current solution is also not safe in all cases (all OS/architectures/compilers) because of intermediate pointers introduced by the compiler that are invisible at the C level. The solution to this is that the runtime configurability of Suhosin will become optional and can be selected at compile time. If the runtime configurability is selected the sysconf() method will be used to determine the correct page size. The pointer however will be protected by pointer obfuscation/encryption and maybe checksums.
</p> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: Month of PHP Security 2010 - CALL FOR PAPERS</title>
		<link>http://www.suspekt.org/2010/02/27/month-of-php-security-2010-call-for-papers/</link>
		<pubDate>Sat, 27 Feb 2010 06:57:10 -0600</pubDate>
		<guid>http://www.suspekt.org/2010/02/27/month-of-php-security-2010-call-for-papers/</guid>
		<content:encoded><![CDATA[	<p>
  I previously blogged a <a href="http://www.suspekt.org/2010/02/19/sneak-preview-month-of-php-security-2010/">sneak preview</a> of the <a href="http://php-security.org">Month of PHP Security</a> which is a new initiative to improve security in the PHP ecosystem. Today the <a href="http://php-security.org">call for papers</a> was released. Everyone from the PHP and security community is invited to produce quality articles/advisories about PHP security topics/bugs and submit them to the CFP committee.
</p>
<p>
  The event is generously sponsored by <a href="http://syscan.org">Syscan</a>, <a href="http://www.sektioneins.com">SektionEins</a> and <a href="http://www.codescan.com">CodeScan</a>. And the best submissions can win a number of attractive prizes. The first prize consists of 1000 EUR, a free Syscan ticket and a free CodeScan PHP License. For a full list of the submissions accepted and prizes available check out the website.
</p>
<p>
  In case you are not a PHP security expert you can still help to improve the event. Spread the word about the Month of PHP Security in your blog, link to it and announce your blog posting at drawing@php-security.org and win one of ten 25 EUR amazon coupons.
</p> ]]></content:encoded>
</item>
<item>
		<title>Suspekt...: Sneak Preview: Month of PHP Security 2010</title>
		<link>http://www.suspekt.org/2010/02/19/sneak-preview-month-of-php-security-2010/</link>
		<pubDate>Fri, 19 Feb 2010 07:53:39 -0600</pubDate>
		<guid>http://www.suspekt.org/2010/02/19/sneak-preview-month-of-php-security-2010/</guid>
		<content:encoded><![CDATA[	<p>
  Three years ago the <a href="http://www.hardened-php.net">Hardened-PHP</a> project organized the <a href="http://php-security.org">Month of PHP Bugs</a>. During one month I disclosed more than 40 vulnerabilities in the PHP interpreter in order to improve the overall security of PHP. In the history of PHP this event has been one of a kind. But now, three years later, my company <a href="http://www.sektioneins.com">SektionEins GmbH</a> will continue in the same spirit and organize the <a href="http://php-security.org">Month of PHP Security</a>. Our preparations are not finished yet, but here is a sneak preview of what it will be.
</p>
<p>
  The <a href="http://php-security.org">Month of PHP Security</a> will take place in May 2010 and will be very different from all the previous “Month of Bugs” or “Week of Bugs” events. You can think of the Month of PHP Security as a conference without a conference. This means around the 1st of March we will send out a call for papers in order to collect the best advisories, the best research and the best articles about PHP security. We invite everyone from the PHP and from the security community to take part in this event.
</p>
<p>
  The basic idea will be that during May we are planning to release (at least) one advisory or one research paper or one article about PHP security topics that were submitted to the public. And in the end of May our jury will select the best X submissions and give out prizes. We are still in the process of selecting good prizes and would be happy about more sponsors. <em>Therefore: If you consider this event to be a good idea to improve the security of PHP and want to sponsor prizes, do not hesitate to contact us at</em> info@sektioneins.de.
</p>
<p>
  The accepted topics will be:
</p>
<ul>
  <li>Advisory/Article about new vulnerability in PHP (with or without exploits) (no simple safe_mode, open_basedir bypass vulnerabilities)
  </li>
  <li>Advisory/Article about vulnerability in PHP related software (popular 3rd party PHP extensions/patches, like Suhosin or Zend tools)
  </li>
  <li>Detailed article about a single topic of PHP application security
  </li>
  <li>Article about a complicated vulnerability in/attack against a widespread PHP application
  </li>
  <li>Article about a complicated topic of attacking PHP (e.g. explain how to exploit heap overflows in PHP’s heap implementation)
  </li>
  <li>Article about how to attack encrypted PHP applications
  </li>
  <li>Release of a new PHP security tools
  </li>
  <li>Other topics related to PHP (application) security
  </li>
</ul>
<p>
  Of course we will accept multiple submissions by the same person/team and there will most probably also be articles/advisories by ourself. (But of course we cannot win the prizes)
</p>
<p>
  We at <a href="http://www.sektioneins.com">SektionEins</a> are already very excited about the event and hope it will be a success and once again improve the security of the PHP ecosystem.
</p> ]]></content:encoded>
</item>


</channel>
</rss>
