Está en la página 1de 21

Universidad Mariano Gálvez de Guatemala

Facultad de Ingeniería de Sistemas de Información

Maestría en Seguridad de Sistemas de Información

Proyecto de Investigación I

CÓMO LAS MALAS PRÁCTICAS DE PROGRAMACIÓN AFECTAN LA


SEGURIDAD DE SISTEMAS INFORMÁTICOS EN GUATEMALA

Angelo Emmanuelle Quevedo Gutierrez 1993-16-8453

Marvin Ronaldo Palma Rojas 1993-16-2001

José Manuel Contreras Molina 1993-16-3652

Plan Sábado

Sección “A”

10 de noviembre de 2021
Índice

Índice
Título de la investigación........................................................................................................

Sinopsis...................................................................................................................................

Introducción............................................................................................................................

Antecedentes...........................................................................................................................

Planteamiento del problema....................................................................................................

Justificación.............................................................................................................................

Objetivos.................................................................................................................................

Objetivo general..................................................................................................................

Objetivos específicos..........................................................................................................

Marco Metodológico.............................................................................................................11

Procedimientos..................................................................................................................11

Cronograma de trabajo......................................................................................................12

Presupuesto.......................................................................................................................13

Resultados esperados........................................................................................................14

Literatura citada....................................................................................................................15

Anexos...................................................................................................................................17

Cuadro de la importancia de la investigación.......................................................................18


Lista de tablas
Tabla 1 Presupuesto (Elaboración propia).....................................................................13
Tabla 2. Diagnóstico para el planteamiento del problema (Elaboración propia)................17
Lista de Ilustraciones
Ilustración 1. Cronograma de Trabajo proyectado al próximo año (Elaboración propia). . .12
Ilustración 2. Diagrama Ishikawa (Elaboración propia)..................................................18
Título de la investigación
Cómo las malas prácticas de programación afectan la seguridad de sistemas
informáticos en Guatemala.

Sinopsis
En esta investigación se presentará y analizará el repertorio de malas prácticas
que generan vulnerabilidades dentro de programas informáticos, así como métodos y
herramientas que se utilicen para mejorar los análisis de soluciones planteadas por los
programadores. Por ello, dicho análisis busca la manera de generar propuestas que sean
seguras para la creación de código eficiente que impida que todo este tipo de
vulnerabilidades puedan afectar las aplicaciones que se utilizan día con día logrando así
un ecosistema informático seguro, tanto para las personas quienes utilizan una aplicación
como para las personas que se encargan de generar y dar mantenimiento a las
aplicaciones que almacenan sus datos, dicha investigación se llevará con base a una
metodología de investigación de consultas a expertos, obteniendo información de
diversas fuentes como entrevistas, encuestas y observaciones.
Introducción
Actualmente existen muchos programas informáticos en Guatemala que pueden
estar constituidos por código fuente con malas prácticas de programación, estas pueden
ser por distintos motivos que se explicarán en esta investigación. Por ello, se decide
investigar la manera en que se previenen las vulnerabilidades en el desarrollo de
software. Debido a la gran cantidad de ataques que surgen hacia diferentes plataformas
móviles, web y de escritorio, es necesario contrarrestar estas amenazas con métodos que
permitan controlar la situación.

El problema de investigación es consecuencia de distintas razones, desde la


capacidad de los atacantes para realizar estos ejercicios, como los descuidos o fallas que
puede presentar un sistema de información. En esta investigación se centrará en la rama
de las vulnerabilidades que surgen por malas prácticas de programación, ya que es una
causa de brechas en los programas y requiere de una investigación para mejorar las
prácticas de los programadores y así resguardar de mejor manera la información de los
usuarios.

En efecto, se tomará como punto de partida conocer qué es una mala práctica de
programación y lo que es capaz de ocasionar. Finalmente, se realizará un análisis para
decidir si vale la pena suprimir una mala práctica o asumir el riesgo.
Antecedentes

Un aspecto muy importante al momento de crear un software estable y libre de


vulnerabilidades, es mantener centralizado metodologías y estándares que permitan una
visibilidad o un enfoque limpio respecto a lo que se está desarrollando o creando; se ha
entendido que en Guatemala los profesionales que se dedican al desarrollo de sistemas de
información enfrentan grandes retos manteniéndose al margen de las innovaciones del
mercado, esto con no verse afectados u obsoletos debido al cambio vertiginoso que sufren
las tecnologías y con ello vulnerabilidades que pueden afectar nuestro entorno profesional.

Un estudio logró identificar que existen unos factores que dificultan el aprendizaje
de la programación y con ello implementarlo de buena manera. Baldwin y Kulijis (2001):
“la mayoría de las personas encuentran difícil y compleja la tarea cognoscitiva relacionada
a la programación de computadoras” en el cual explican: “el aprendizaje demanda
complejas habilidades cognitivas tales como la planificación, razonamiento y resolución de
problemas en programación de computadoras” (p 1). Por lo que comprendemos que se debe
poseer habilidades de razonamiento, si no han sido desarrolladas anteriormente encontrará
premisas negativas para el perfecto aprendizaje e implementación de un buen desarrollo.

Sabemos muy bien que cada desarrollador utiliza su propio estilo o ambiente al
momento de programar, esto de acuerdo con diversos factores que sin duda habrá adquirido
en la formación y aportaciones que pudieran tener entre otros desarrolladores, sin embargo,
esto no siempre es del todo beneficioso.

Por lo que se considera tomar en cuenta buenas prácticas en la programación;


desarrollando prácticas de software, utilizando metodologías de desarrollo; esto con el fin
de evitar vulnerabilidad en los sistemas, los cuales pueden ocasionar debilidades en las
organizaciones, entre ellas podemos mencionar fuga de información, mal funcionamiento
en los sistemas y pérdida de activos dentro de cualquier corporación.
Planteamiento del problema
Se investigarán los procesos para evitar las malas prácticas de programación y
cómo éstas inciden en las vulnerabilidades de software. El sector que se estudiará son las
empresas comerciales, en la ciudad capital de Guatemala.

Con base a esto debemos preguntarnos, ¿Cómo podemos evitar las malas prácticas
de programación que afectan la seguridad de sistemas informáticos? Al desglosar esta
pregunta podemos encontrar otras interrogantes como:

● ¿Qué tipos de malas prácticas generan vulnerabilidades?


● ¿Qué alternativas podemos ejecutar al detectar una mala práctica?
● ¿Existen métodos o herramientas para revisar las soluciones generadas por
programadores?
● ¿Todos los riesgos deben ser atacados o algunos deben ser aceptados?


Justificación
Debido a la alta cantidad de vulnerabilidades de software que actualmente
existen, es necesario prestar atención a la creación del código fuente, dirigido por
programadores, los cuales tienen distintos niveles de experiencia, por lo cual es de
importancia dar a conocer las malas prácticas de programación para evitarlas.
Potencialmente estos problemas pueden afectarnos como usuarios o programadores, la
información es de gran valor y es nuestra responsabilidad proteger los datos.

Las contribuciones que esta investigación proporcione son la información que


esperamos reunir para que muchos profesionales en el área de programación sepan sobre
la responsabilidad que conlleva generar código de calidad, obtener herramientas que los
ayuden a la revisión de sus soluciones y tener un criterio para definir la potencial
amenaza que puede representar la forma en que se soluciona un problema.

Objetivos
Objetivo general
El objetivo de nuestra investigación es informar sobre los riesgos que existen al
generar malas prácticas, encontrar herramientas que ayuden a analizar código fuente,
proponer actividades que sumen valor a nuestras soluciones y de esta manera evitar
brechas de seguridad en sistemas informáticos. Nuestros objetivos específicos son:

Objetivos específicos
● Analizar los tipos de malas prácticas que generan vulnerabilidades, conocerlos para
suprimirlos y saber lo que implican al estar en nuestro código.
● Proponer el proceso adecuado para atacar una vulnerabilidad causada por una mala
práctica de codificación.
● Diseñar prácticas de revisión de soluciones, mostrar herramientas que faciliten el
trabajo y permitan indagar a fondo.
● Dictaminar en qué casos una mala práctica vale la pena ser atacada o si debemos
aceptar el riesgo, el juicio es importante para focalizar recursos.

Hipótesis

Las malas prácticas de programación inciden en la cantidad de vulnerabilidades


encontradas en el código fuente de los programas informáticos.

Cualquier tipo de dato que puede ser expuesto por un ataque debido a una
vulnerabilidad incide en la pérdida de información afectando a la empresa y su
integridad.
Marco Metodológico
Procedimientos

Esta investigación buscará responder a la pregunta: ¿Cómo podemos evitar las


malas prácticas de programación que afectan la seguridad de sistemas informáticos?

Responderemos a la interrogante principal del planteamiento del problema y a su


vez nos centraremos en el estudio de la variable “malas prácticas de programación”,
utilizando el tipo de investigación exploratoria, por lo que nos beneficiará a sentar las bases
de nuestra investigación, encontrando así soluciones o vías alternas que no han sido
tomados durante todo este tiempo, lo que nos permitirá a comprender las posibles causas de
los sucesos ya planteados.

La recopilación de datos se hará mediante encuestas o llenado de formularios, si es


necesario se preguntará sobre temas específicos. Luego de reunir la información obtenida
mediante encuestas se tabularán datos y se podrán estudiar los aportes obtenidos, así como
los temas que se puedan desglosar para obtener un panorama completo sobre la solución de
la problemática.

La población a la que se dirigirá el estudio serán profesionales dedicados al área de


la programación, estudiantes universitarios con experiencia en el desarrollo de software y
personas con certificaciones que los avalen con conocimientos avanzados programando
aplicaciones web, de escritorio o móviles, en la ciudad capital de Guatemala.
Cronograma de trabajo

Ilustración 1. Cronograma de Trabajo proyectado al próximo año (Elaboración propia)


Presupuesto
Presupuesto Del Proyecto
Nombre del Proyecto Siglas del Proyecto

Como las malas prácticas de programación


MPGS 
generan vulnerabilidades en la seguridad

Proyecto Fase Entregable Monto Q

Iniciación Q2,434.45

Plan de Proyecto Q1,337.00


Gestión
Informes de Estado/Avance Q600.00

Reuniones de Coordinación Q800.00

Total Fase Q5,171.45

Servicios de Internet Q225.00


Como las malas
prácticas de Servicios Servicios de Energía Eléctrica Q500.00
programación
generan Servicios de Implementación Q1,600.00
vulnerabilidade
Total Fase Q2,325.00
s de seguridad
Cierre de Proyecto Q8,000.00

Pruebas de la
Cierre Metodologías/Implementacione Q1,888.75
s

Generación de Actualizaciones Q3,000.00

Q12,888.7
Total Fase
5
Q20,385.2
TOTAL FASES
0

Reserva de Contingencia Q5,000.00

Reserva de Gestión Q2,500.00

Q27,885.2
PRESUPUESTO TOTAL DEL PROYECTO
0
Tabla 1 Presupuesto (Elaboración propia)
Resultados esperados
Dar a conocer las maneras en que se pueden evitar las malas prácticas de
programación desde distintos enfoques, como la prevención, el tratamiento y la mejora
continua de los procesos que esto conlleva. De esta manera, identificar herramientas o
procedimientos idóneos para que los programadores generen un código seguro para las
empresas y usuarios.

Generar conciencia en las empresas sobre la importancia de prepararse


previamente para no incurrir en errores por malos hábitos de codificación. Creando una
mentalidad de preparación de personal antes de una catástrofe de un sistema informático.
Literatura citada
https://techbeacon.com/app-dev-testing/35-programming-habits-make-your-code-smell

https://www.forbes.com/sites/quora/2016/10/07/thirty-five-bad-programming-habits-to-
avoid-at-all-costs/?sh=13513aa01b77

https://searchsoftwarequality.techtarget.com/answer/What-are-some-bad-coding-
practices-to-avoid

https://tsh.io/blog/bad-coding-practices/

https://www.cio.com/article/2448952/10-bad-coding-practices-that-wreck-software-
development-projects.html

https://e-archivo.uc3m.es/bitstream/handle/10016/26978/
TFG_Joaquin_Lopez_Cortijo_Guijarro.pdf;jsessionid=F701DBA9AA3C952610
37F1EF8C9EF98F?sequence=1

https://www.welivesecurity.com/la-es/2016/12/28/codigo-vulnerable-como-encontrarlo/

https://www.ibu.edu.ba/getting-started-with-static-code-analysis/

https://koreauniv.pure.elsevier.com/en/publications/clorifi-software-vulnerability-
discovery-using-code-clone-verific

https://wiki.sei.cmu.edu/confluence/display/perl/SEI+CERT+Perl+Coding+Standard

https://wiki.sei.cmu.edu/confluence/display/seccode/Top+10+Secure+Coding+Practices

https://portal.research.lu.se/en/publications/identifying-prioritizing-and-evaluating-
vulnerabilities-in-third-

https://www.sei.cmu.edu/our-work/secure-development/index.cfm

https://owasp.org/www-pdf-archive/OWASP_SCP_Quick_Reference_Guide_v2.pdf

https://owasp.org/www-pdf-archive//BNL09_OWASP_SecurityBelgium_Eoin.pdf

https://owasp.org/www-pdf-archive//OWASP_Code_Review_Guide_-_V1_1.pdf
https://docs.sonarqube.org/latest/user-guide/clean-as-you-code/

http://polux.unipiloto.edu.co:8080/00001881.pdf

https://dehesa.unex.es/bitstream/10662/12316/1/TDUEX_2021_Sancho_Nunez.pdf

Martin, R. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Pearson.


Anexos
Cuadro de diagnóstico para el planteamiento del problema

Síntomas Causas Pronóstico Control al


Pronóstico

Falta de previsión Malas prácticas de Brechas de Verificación a los


de las codificación. seguridad en el desarrollos de
vulnerabilidades de software. software y análisis
software. estático.

Se deben arreglar Surge una Costes de tiempo Analizar las


desarrollos vulnerabilidad en el elevados para la soluciones de
aparentemente software. entrega de software
finalizados. proyectos. planteadas.

Dificultad para Malas prácticas en la Tiempos de Definir


retomar un programación de los desarrollo en documentación de
desarrollo programas aumento y cada proyecto
previamente informáticos. posibles junto a un análisis
iniciado. vulnerabilidades. estático.

Surgen alertas de No existe Posibles crisis de Cumplir con la


precaución al cumplimiento en las estabilidad en la adopción de
compilar las revisiones de ejecución del buenas prácticas
soluciones de creación de software. software. de programación.
software.
Tabla 2. Diagnóstico para el planteamiento del problema (Elaboración propia)
Ilustración 2. Diagrama Ishikawa (Elaboración propia)

Cuadro de la importancia de la investigación


Conveniencia
¿Para qué sirve?
Esta investigación permitirá identificar las malas prácticas de programación que generan
vulnerabilidades en los sistemas informáticos, conocer las formas en que podemos actuar
ante una vulnerabilidad generada de esta manera y prácticas de prevención.
Relevancia Social
¿Quiénes se beneficiarán con los resultados?
Las personas beneficiadas se dividen en dos, por una parte, tendremos a las empresas que
basan la actividad de su negocio en los sistemas informáticos, en conjunto con los
programadores que forman parte de ella, los programadores tendrán un mejor
conocimiento sobre los errores que deben evitar y las empresas pueden incurrir en menos
brechas de seguridad de sus sistemas. Por otra parte, los posibles usuarios y su
información que está resguardada en estos sistemas se verá menos comprometida con las
buenas prácticas de programación de las cuáles se generará información.
Valor Teórico
¿Se llenará algún vacío de conocimiento?
Sí, cuando tratamos de indagar en las vulnerabilidades y sus causas, nos encontramos
con que gran parte de estas se justifican con la capacidad de las personas que atacan a los
sistemas, dejando de lado la importancia de la preparación de los programas o algoritmos
que se crearon. Tomando esto en cuenta, nos percatamos de la poca importancia que se
da a la calidad de las soluciones generadas por los programadores, el cual es el objetivo
de esta investigación.
Implicaciones Prácticas
¿Ayudará a resolver algún problema real?
Sí, con esta investigación queremos dar opciones para evitar vulnerabilidades de sistemas
informáticos, los cuales son atacados diariamente. El objetivo es poder remediar la falta
de capacitación que tienen los programadores al generar soluciones que contienen malas
prácticas, esto presenta un problema real que se vive diariamente.

También podría gustarte