Aplicaciones seguras con PHP

Primera parte

Server room

En la actualidad se usan en muchas empresas un gran número de aplicaciones basadas en tecnologías que originalmente fueron concebidas para la Web. Entre ellas podemos distinguir aquellas destinadas a la comunicación interna o la que llamaremos Intranet (Webchat, Blog de trabajadores, directorios telefónicos, time tracking, etc). Aquellas destinadas a la comunicación con trabajadores externos y empresas afines o extranet (Webservices, Shop, Sistemas de demanda y producción, catálogos, directorios, etc) y los sistemas de información para clientes y público en general o la Internet (Websites, Catalogos, Shop, directorios, blogs, Feeds, etc).

Muchas de las aplicaciones que se usan para estas tareas han sido programadas usando una mezcla de varios lenguajes de programación especializados para el entorno web como lo son PHP y Javascript. Este texto os quiere dar una idea muy básica de los tipos de ataques analizando los vectores de ataques más conocidos y aportando ideas de cómo solucionar cada caso.

 

Aplicaciones escritas en PHP

Cuando se habla de aplicaciones hechas con PHP, se trata generalmente de aquellas que corren en un servidor físco o bien sea virtualizado. PHP es un lenguage de programación interpretado  que no necesita ser compilado. El codigo fuente puede ser leído por cualquier persona que tenga acceso directo a los codigos fuentes. Los usuarios de las aplicaciones por lo general  suelen ver casi siempre el resultado de las operaciones ejecutadas con los scripts de PHP. Generalmente este resultado suele ser lenguage de Maquetación (HTML). En algunos casos el resultado puede ser un Archivo PDF, Fotos, XML, etc.

 

Tipos de Ataques

Fuerza Bruta (Brute force)

TrojanCryptolockerGEstos son ataques atomatizados en los que se intenta adivinar un parámetro o valor en la aplicación usando la prueba y el error. En las aplicaciones web es típico el uso de este tipo de ataque para adivinar las contraseñas de los usuarios. Una clave débil (del tipo “playa” o “1234”) es fácil de adivinar.  Muchas aplicaciones responden casi inmediatamente a una clave falsa con un error, mostrando nuevamente el formulario de acceso.  Muchos Webservices son blancos típicos de ataques de este tipo.

Como protegerse?

Protegerse de los ataques de fuerza bruta son parte del trabajo como desarrollador web y pertence a los ataques menos usados por criminales profesionales. Este tipo de ataque es muy fácil de detectar y puede traer como consecuencia que el empresario o desarrollador refuerce la aplicación haciendo más difícil la penetración para el criminal cibernético. No obstante es uno de los ataques más usados ya que la falta de monitoreo por parte de los administradores y programadores permiten llevar a cabo un ataque por mucho tiempo. Un ataque exitoso puede comprometer no solo la aplicación sino también el o los servidores. Vale la pena mencionar que este tipo de ataques no sólo se limitan al login sino puede ejecutarse también a través de cualquier acceso externo a la aplicación.

Los siguientes puntos son importantes para prevenir este tipo de ataques:

  • Retrasar el envio del error antes de aceptar nuevamente un login
  • Usa contraseñas aleatorias enviadas en autenticadores (apps por ejemplo) si os es posible
  • Usa autenticación de terceros como aquellas de las usadas por las redes sociales u otros servicios
  • Bloquea el usuario por un tiempo considerable antes de volver aceptar el login

En la próxima entrega: Secuestro de sesión (session Hijacking)

#cyberseguridad #informatica #simplynetworks

About the author: Carlos Medina

Leave a Reply

Your email address will not be published.Email address is required.