La importancia de una buena lógica de negocio (caso Ensenada Beerfest 2018)

En el desarrollo de software, la lógica de negocio son las reglas que se programan en un sistema, para el manejo adecuado de la información y las acciones que debe tomar dicho sistema en determinados escenarios. Por ejemplo: si vas a poner una cita con un doctor, una regla sería el no poder poner una cita en una fecha en el pasado.

En esta edicion del Ensenada Beer Fest 2018 hubo venta de boletos en línea, los cuales se agotaron a 3 semanas de la fecha del evento, principalmente los boletos para el día sábado 17 de Marzo, así que los organizadores decidieron bloquear la venta de boleto para el día sábado y solo dejar la opción de compra para boletos del día viernes.

El bloqueo se hizo de una forma burda, únicamente agregando la etiqueta “disabled” (desactivado) en las opciones de selección. Esta forma de bloqueo de opciones es en extremo vulnerable a personas con conocimientos básicos del funcionamiento de una página web, y cualquier individuo informado pudiera obtener sus boletos para el día sábado sin problema alguno.

A continuación, presento como se puede sacar provecho de esta vulnerabilidad:

Una vez pagado tu boleto, el sistema genera un código QR, el cual acredita tu acceso al evento. Dicho QR es simplemente una representación de un código aleatorio generado por sus sistemas con un formato similar a esto: fFDXDgGaJJVc (caracteres aleatorios de letras).

Podemos observar que los códigos no son finitos para cada dia, sino generados al sobre demanda (lo cual constituye una falta al reglamento de alcoholes ya que deberían de estar predefinidos y autorizados por el ayuntamiento) y que no existe en el propio sistema un contador que limite por día el número de boletos a generar, sin embargo, como aún existia la venta para el viernes y el sistema no esta preparado para distingir entre un día y otro, simplemente continúa generando códigos válidos, sin un límite aparente de boletos y genera para cualquiera de los días.

Como conclusión, los sistemas para obtención de accesos requieren de atención particular a los detalles aquí mencionados, con el fin de evitar problemas legales y de logística en casos como el del Ensenada Beer Fest 2018. La seguridad de una plataforma de este tipo debe ir más allá de las bases, y reforzarse para mantener un control adecuado que garantice un evento de calidad, con la asistencia adecuada y que cumpla con los reglamentos y leyes establecidos por las autoridades que los regulan.

Nota:
La divulgación de este artículo se realizó 1 día después de celebrado el evento, para evitar así la explotación de las debilidades del sistema ya mencionadas. Sin embargo, debido a la fragilidad de la seguridad, no se descarta que individuos hayan tomado ventaja para obtener boletos aún mientras el acceso se presumía restringido.

Comments

comments