plan-de-trabajo-colegiado en una institucion educativa
Gestión y seguridad informatica act. 2
1. GESTIÓN Y SEGURIDAD INFORMATICA
1210703
ACTIVIDAD No. 2
AMENAZAS A LAS BASES DE DATOS
JULIO CESAR LABRADOR CASTILLO
APRENDIZ
SERVICIO NACIONAL DE APRENDIZAJE (SENA)
CENTRO NACIONAL DE ASISTENCIA TÉCNICA A LA INDUSTRIA (ASTIN)
REGIONAL VALLE
2016
2. GESTIÓN Y SEGURIDAD INFORMATICA
1210703
ACTIVIDAD No. 2
AMENAZAS A LAS BASES DE DATOS
JULIO CESAR LABRADOR CASTILLO
APRENDIZ
AYDA ANDREA FRANCO VILLAMIL
INGENIERA ELECTRÓNICA
SERVICIO NACIONAL DE APRENDIZAJE (SENA)
CENTRO NACIONAL DE ASISTENCIA TÉCNICA A LA INDUSTRIA (ASTIN)
REGIONAL VALLE
2016
3. AMENAZAS A LAS BASES DE DATOS
Las bases de datos son el “corazón” del negocio. Es el activo más importante:
Almacenan registros de los clientes de la empresa y datos financieros
confidenciales. Por lo tanto, constituyen uno de los objetivos más codiciados para
los hackers o para cualquier intruso.
¿Por qué son tan vulnerables las bases de datos? Las empresas no invierten en la
protección de éstas. Los piratas informáticos acceden a datos sensibles y pueden
extraer valores, causar daños o afectar las operaciones comerciales causando
pérdidas financieras.
En el año 2015, la OTA (Online Trust Alliance) menciona que más del 97% de estos
ataques podrían haberse evitado si se aplicaban medidas simples, siguiendo
“mejores prácticas” y controles internos.
La OTA menciona un top 10 de principales amenazas a las bases de datos (ver la
siguiente tabla):
Ranking Amenaza
1) Privilegios excesivos y privilegios no utilizados
2) Abuso de privilegios legítimos
3) Inyección SQL
4) Malware
5) Proceso de auditoría débil
6) Exposición de los medios de almacenamiento
7) Explotación de vulnerabilidades y bases de datos mal configuradas
8) Datos sensibles no administrados
9) Negación o denegación de servicios
10)Educación y experiencia limitada en seguridad
4. Usted como representante de la organización, debe dar a conocer al menos dos de
las amenazas que se muestran en la tabla y sus posibles controles o la disminución
de estos riesgos.
Malware
Malware es un término que se utiliza para describir software malintencionado que
se ha diseñado para ocasionar daños o realizar acciones no deseadas en un
sistema informático. Algunos ejemplos de malware incluyen lo siguiente:
• Virus
• Gusanos
• Caballos de Troya
• Spyware
• Software de seguridad Rogue
En la actualidad y dado que los antiguos llamados Virus informáticos ahora
comparten funciones con sus otras familias, se denomina directamente a cualquier
código malicioso (parásito/infección), directamente como un “Malware”.
¿Cómo les daría solución a estas amenazas?
5. Manteniendo los equipos actualizados y el uso de herramientas de eliminación de
software malintencionado
Realizando un análisis completo del equipo con el fin de eliminar códigos maliciosos
que pudieran ser encontrados.
Cambiando todas las contraseñas de servicios como bancos, correo electrónico,
redes sociales, etc., con el fin de evitar que el cibercriminal pueda ingresar a estos
sitios en caso que el malware haya robado dicha información.
¿Qué controles implementaría para disminuir los riesgos ocasionados
por las posibles amenazas?
El punto esencial es adoptar un comportamiento seguro y precavido. Evite
descargar e instalar programas desconocidos, no siga enlaces provenientes de
correos y mensajes para acceder a servicios bancarios, dude de cualquier email
sospechoso.
Es importante, también, que mantenga protegido el sistema con soluciones de
seguridad como: cortafuegos, filtros antispam, etc. "En este sentido, es muy
importante mantener actualizado el sistema operativo y todos los programas
instalados
6. Inyección SQL
Es un método de infiltración de código intruso que se vale de una vulnerabilidad
informática presente en una aplicación en el nivel de validación de las entradas para
realizar operaciones sobre una base de datos.
La inyección de código SQL es un ataque en el cual se inserta código malicioso en
las cadenas que posteriormente se pasan a una instancia de SQL Server para su
análisis y ejecución. Todos los procedimientos que generan instrucciones SQL
deben revisarse en busca de vulnerabilidades de inyección de código, ya que SQL
Server ejecutará todas las consultas recibidas que sean válidas desde el punto de
vista sintáctico. Un atacante cualificado y con determinación puede manipular
incluso os datos con parámetros.
Un ataque de este tipo puede dar acceso a alguien y sin ningún tipo de restricción
a una base de datos completa e incluso copiar o modificar la información.
¿Cómo les daría solución a estas amenazas?
Podemos realizar un análisis de nuestro código con el uso de herramientas que
testen nuestras aplicaciones en busca de vulnerabilidades por inyección SQL.
Algunas de estas herramientas son:
SQLiHelper 2.7 SQL Injection: Se trata de una aplicación cuyo objetivo es facilitar la
extracción de información procedente de bases de datos utilizando para ello
técnicas de inyección SQL. Una vez indicada la url que queremos analizar, la
aplicación realizará peticiones inyectando código SQL con el fin de comprobar si es
realmente vulnerable.
7. Pangolin: Se trata de una herramienta de pago que ofrece más posibilidades que la
vista en el punto anterior y que está destinada a descubrir vulnerabilidades tanto del
tipo inyección SQL como inyección SQL ciego.
SQLMap: Se trata de una herramienta de pruebas de código abierto que automatiza
el proceso de detectar y explorar los errores de inyección SQL
¿Qué controles implementaría para disminuir los riesgos ocasionados
por las posibles amenazas?
A la hora de desarrollar una aplicación, es muy complicado crear una herramienta
totalmente segura a las primeras de cambio. La falta de tiempo y la intervención de
varios programadores para su desarrollo, son factores que juegan en contra de la
seguridad. A pesar de estos inconvenientes, siempre se pueden tomar medidas de
seguridad que nos ayuden a desarrollar aplicaciones más robustas, ajenas a este
tipo de problemas.
Medidas para evitar sufrir el ataque por inyección de código SQL
Escapar los caracteres especiales utilizados en las consultas SQL
Delimitar los valores de las consultas
Verificar siempre los datos que introduce el usuario
Asignar mínimos privilegios al usuario que conectará con la base de datos
Programar bien