Se necesita el desarrollo de un módulo destino a ser cargado mediante el servicio web Apache (httpd) 2.2/2.4 para que monitorice y bloquee según se establezca mediante el control del usuario a través del panel anteriormente citado las peticiones que son realizadas a los aplicativos PHP instalados en el servidor.
El funcionamiento del módulo es controlar la ejecución que se realiza en los aplicativos para detectar y bloquear ataques en tiempo real.
Véase como ejemplo el siguiente caso para aportar mayor claridad,
<?php
$id = $_GET['id'];
$result = mysql_query( "SELECT name FROM members WHERE id = '$id'");
?>
El código anterior es vulnerable a inyección SQL ya que el parámetro "id" no es saneado correctamente, la vulnerabilidad se puede reproducir mediante la siguiente prueba de concepto
[login to view URL]
El módulo desarrollado, debe interceptar la llamada mysql_query() comprobando que el código malicioso ha sido inyectado correctamente al haberse realizado la llamada a mysql_query(), de modo que pueda ser bloqueado por el propio módulo.
Experto en seguridad informática especializado colaborará con el programador para testear que el módulo está bloqueando correctamente los ataques realizados hacia los aplicativos vulnerables usados como ejemplo, también proporcionará información al programador sobre qué debe bloquear y que no.
Dado que el módulo cargado en el servidor será usado por varios aplicativos al mismo tiempo, es necesario que sea programado con especial atención al rendimiento del mismo, procurando no degradar el rendimiento de los aplicativos en producción alojados en el servidor.
Es obligatorio que el código fuente del módulo sea limpio y debidamente comentado, siendo compatible con PHP 5.3, 5.4, 5.5 y 5.6 (x64) y (x86), siendo 8 módulos distintos en total, cada uno para las distintas versiones de PHP especificadas.