[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR] wml://security/audit/tools.wml



Saludos

-- 
Laura Arjona
https://wiki.debian.org/LauraArjona
#use wml::debian::template title="Herramientas para auditar la seguridad"
#use wml::debian::recent_list
#use wml::debian::translation-check translation="1.24" maintainer="Juan M. Garcia"

<p>Hay varios paquetes disponibles en el archivo de Debian que están diseñados
 para dar asistencia a las auditorías de código fuente.  Entre ellos están:</p>

<ul>
<li><a href="https://packages.debian.org/flawfinder";>Flawfinder</a>
<ul>
<li><a href="examples/flawfinder">Ejemplo de uso de flawfinder.</a></li>
</ul></li>
<li><a href="http://archive.debian.net/woody/its4";>ITS4</a>
<ul>
<li>No hay ejemplo para ITS4, porque se ha eliminado de la distribución inestable.</li>
</ul></li>
<li><a href="https://packages.debian.org/rats";>RATS</a>
<ul>
<li><a href="examples/RATS">Ejemplo de uso de RATS.</a></li>
</ul></li>
<li><a href="https://packages.debian.org/pscan";>pscan</a>
<ul>
<li><a href="examples/pscan">Ejemplo de uso de pscan.</a></li>
</ul></li>
</ul>

<p>Tenga en cuenta también que hay algunas otras herramientas
específicas para una serie de vulnerabilidades de seguridad que aún no
se han empaquetado para Debian pero que pueden ser útiles para los
auditores. Entre ellas están:</p>

<ul>
<li>Herramientas específicas para errores de XSS:
<ul>
<li><a href="http://freecode.com/projects/xsslint/";>Xsslint</a></li>
<li><a href="http://www.devitry.com/screamingCSS.html";>ScreamingCSS</a></li>
</ul></li>
<li>Herramientas para probar navegadores web:
<ul>
<li><a href="http://www.securityfocus.com/archive/1/378632";>MangleMe</a></li>
</ul></li>
</ul>

<p>Ninguna de las herramientas es perfecta, y sólo se pueden usar como guías
 para un posterior estudio, pero dado que su uso es muy sencillo, es preferible
 invertir algo de tiempo en probarlas.</p>

<p>Cada una de las herramientas tienen distintos puntos fuertes y débiles, por
 lo que se recomienda usar más de una.</p>


<h2>Flawfinder</h2>

<p>flawfinder es una herramienta de Python diseñada para analizar código fuente
 C y C++ en busca de potenciales debilidades de seguridad.</p>

<p>Cuando se hace funcionar sobre un directorio que contiene código fuente,
 se obtiene un informe de los problemas potenciales que ha detectado,
 ordenados por riesgo (<i>riesgo</i> es un entero de 1 a 5).  Para obviar los
 riesgos menores, es posible decirle al programa que no informe sobre debilidades
 menores de un nivel de riesgo particular.  De forma predefinida, la salida
 aparecerá en texto plano, pero también hay disponible un informe en HTML.</p>

<p>El programa funciona escaneando el código y buscando el uso de las funciones
 que tiene en su base de datos de funciones que normalmente se usan mal.</p>

<p>Para facilitar la lectura del informe, se puede indicar que contenga la
 línea en la que se usa la función, lo que puede ser útil apra detectar un
 problema inmediatamente, ya que de otra forma podría ser imposible.</p>

<p>Puede ver un ejemplo de uso de flawfinder y de su salida en la <a
 href="examples/">sección de ejemplos de auditoría</a>.</p>


<h2>ITS4</h2>

<p>ITS4 es una herramienta que pertenece a la sección non-free (no libre) del
 archivo de Debian, y sólo está disponible para la distribución
 <q>woody</q>.</p>

<p>ITS4 se puede usar para buscar potenciales agujeros de seguridad en C y
 C++, al igual que flawfinder.</p> 

<p>La salida que produce pretende ser inteligente, ya que no tiene en cuenta
 algunos de los casos en los que las llamadas a las funciones peligrosas se han
 hecho con cuidado.</p>


<h2>RATS</h2>

<p>RATS es una herramienta similar a las citadas anteriormente, con la excepción
 de que admite un mayor abanico de lenguajes.  En la actualidad, tiene soporte para
 C, C++, Perl, PHP y Python.</p>

<p>La herramienta usa un archivo XML sencillo para leer sus vulnerabilidades, lo que
 la convierte en una de las herramientas más sencillas para hacer modificaciones. 
 Fácilmente se pueden añadir funciones nuevas para cada uno de los lenguajes
 soportados.</p>

<p>Puede ver un ejemplo de uso de RATS y de su salida en la <a
 href="examples/">sección de ejemplos de auditoría</a>.</p>


<h2>pscan</h2>

<p>pscan difiere de las herramientas anteriores en que no es un analizador de
 propósito general.  Se trata de un programa específico para ayudar a detectar
 errores de cadena de formato.</p>

<p>La herramienta intentará encontrar incidencias en el uso de funciones variadic
 (n.t. que no siempre toman el mismo número de argumentos) en código fuente C y
 C++, como <tt>printf</tt>, <tt>fprintf</tt> y <tt>syslog</tt>.</p>

<p>Los errores de cadena de formato son bastante sencillos de detectar y corregir.
 A pesar de que sean el tipo más reciente de ataques de software, la mayoría de ellos
 ya se pueden descubrir y reparar.</p>

<p>Puede ver un ejemplo de uso de pscan y de su salida en la <a
 href="examples/">sección de ejemplos de auditoría</a>.</p>


<h2>Comprender la salida del analizador</h2>

<p>Cada una de las herramientas generales de análisis incluye una salida que
 describe la debilidad detectada y, posiblemente, algunos consejos para reparar
 el código.</p>

<p>Por ejemplo, lo siguiente se ha tomado de la salida de RATS y describe el peligro
 de <tt>getenv</tt>:</p>

<p>&quot;Environment variables are highly untrustable input. They may be of
any length, and contain any data. Do not make any assumptions regarding
content or length. If at all possible avoid using them, and if it is
necessary, sanitize them and truncate them to a reasonable length.&quot;</p>

<p>Si necesita alguna pista más para corregir un agujero del que ya se ha
 informado, debería estudiar un libro de programación segura, como <a
 href="http://www.dwheeler.com/secure-programs/";>Secure Programming for Linux and Unix HOWTO</a>
 (n.t. en inglés), de David A. Wheeler.</p>

<p>(Cuando informe de las cuestiones de seguridad, recuerde que se aprecia mucho un
 parche que cierre el agujero).</p>

<p>Las discusiones relativas a cerrar un trozo de código problemático también se
 pueden llevar a cabo en la <a
 href="https://lists.debian.org/debian-security/";>lista de correo debian-
 security</a>, simplemente, al ser ésta una lista pública con archivos públicos, tenga cuidado de no ser demasiado explícito a la hora de decir qué
 programa tiene la debilidad.</p>

Attachment: 0x7E4AF4A3.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: