Está en la página 1de 6

Actividad:

Investigación de otras metodologías de desarrollo


de aplicaciones Web seguras

CDMX, Diciembre de 2017

Oscar Tello Hernández

Universidad Internacional de la Rioja


Maestría en Dirección e Ingeniería de Sitios Web
Asignatura: Seguridad en la Red Informática Mundial
Actividad: Investigación de otras metodologías de desarrollo de aplicaciones Web seguras
Asignatura Datos del alumno Fecha

Seguridad en la Red Apellidos: Tello Hernández


4 diciembre, 2017
Informática Mundial Nombre: Oscar

“Conoce a tu enemigo y conócete a ti mismo;


en cien batallas, nunca saldrás derrotado.
Si eres ignorante de tu enemigo pero te conoces a ti mismo,
tus oportunidades de ganar o perder son las mismas.
Si eres ignorante de tu enemigo y de ti mismo,
puedes estar seguro de ser derrotado en cada batalla.”
Sun Tzu - El Arte de la Guerra

Al comenzar ésta asignatura, no había dimensionado la gran importancia que tiene


la seguridad la informática, enfocada principalmente a la web, y todo lo que
conlleva en el uso cotidiano de la misma, ya que dependemos de ella en
prácticamente en todo lo que hacemos. Me resulta muy interesante saber que hay
muchas empresas comprometidas en esta área y después de haber leído varias
metodologías, como las de: Building Security in Maturity Model (BSIMM), Cigital,
Microsoft Security Development Lifecycle (SDL), Common Criteria (CC),
SAFECode, me he quedado con: Correctness by Construction (CbyC) porque
aparentemente es sencilla, pero perfeccionable, pero además muy efectiva ya que se
plantea que su taza de error es de 0.05 defectos por cada 1,000 líneas de código, y
que su productividad es de aproximadamente 30 líneas de código por persona / día
promediados durante el ciclo de vida del desarrollo.

Metodología Correctness by Construction (CbyC)

CbyC se basa en dos principios simples:

1. Hacer que sea muy difícil introducir errores.


2. Detectar y remover cualquier error lo más cerca posible del punto de su
introducción.

Croxford & Chapman (2005), definen que la clave para implementar estos
principios es: “introducir suficiente precisión en cada paso del desarrollo del
software para permitir el razonamiento sobre la corrección de ese paso,

TEMA 4 – Actividades © Universidad Internacional de La Rioja, S. A. (UNIR)


Asignatura Datos del alumno Fecha

Seguridad en la Red Apellidos: Tello Hernández


4 diciembre, 2017
Informática Mundial Nombre: Oscar

razonamiento en el sentido de que se puede establecer un argumento para la


corrección ya sea mediante revisión o mediante el soporte de herramientas”1.

Fases de la Metodología CbyC

 Requerimientos
Especifica el propósito, así como los requerimientos funciones y los no
funcionales.
Generación de diagramas contextuales, diagramas de clase y definiciones
operativas, que debe pasar por “pruebas” de seguridad a la amenaza
correspondiente.

 Diseño de alto nivel


Describir estructura interna del sistema, y la forma en que operaran los
componentes.
Utilizar métodos formales para definir el diseño de alto nivel y obtener una
descripción, un comportamiento y un modelo preciso.

 Especificación del software


Definición de la interfaz de usuario, así especificaciones formales de los
niveles superiores
Desarrollo de un prototipo para validación.

 Diseño detallado
Clarificación del conjunto de módulos y procesos con su funcionalidad.
Utiliza notación formal para eliminar ambigüedad en la interpretación del
diseño.

 Especificación de los módulos del software


Define el estado y comportamiento encapsulado en cada módulo del
software tomando en cuenta el flujo de información para minimizar los
efectos negativos en caso de falla en el mismo.

 Codificación
Pruebas de análisis estático a código para eliminar errores y en caso de ser
necesario, revisar el código.

1
https://pdfs.semanticscholar.org/c091/503474690ed8a582884ecc306a6d4050eeec.pdf
TEMA 4 – Actividades © Universidad Internacional de La Rioja, S. A. (UNIR)
Asignatura Datos del alumno Fecha

Seguridad en la Red Apellidos: Tello Hernández


4 diciembre, 2017
Informática Mundial Nombre: Oscar

 Especificaciones de las pruebas


CbyC no usa pruebas de caja blanca ni pruebas de unidad; sus pruebas son a
nivel de sistema y orientado a las especificaciones del software, los
requerimientos y el diseño de alto nivel.
Efectúan prueban de valores límites, pruebas de comportamiento y pruebas
para los requerimientos no funcionales.

Para lograr todo esto de manera eficiente, y facilitar la detección (y eliminación) de


errores se logra mediante una combinación de las siguientes seis estrategias:

o Usando anotaciones formales y sonoras para todos los entregables.

o Usando poderosos métodos, que pueda ser soportados por herramientas que
validen cada entregable.

o Llevando a cabo pequeños pasos y validar el producto de cada paso.

o No repitiendo información en la especificación.

o Diseñando un software que sea fácil de validar.

o Haciendo las cosas difíciles primero.

TEMA 4 – Actividades © Universidad Internacional de La Rioja, S. A. (UNIR)


Asignatura Datos del alumno Fecha

Seguridad en la Red Apellidos: Tello Hernández


4 diciembre, 2017
Informática Mundial Nombre: Oscar

Manual de prácticas básicas de seguridad de la red informática


mundial

Los 5 puntos que enumeró a continuación, están basados en la reflexión de las


últimas semanas al obtener un aprendizaje significativo sobre la gran problemática
a la que se deben de enfrentar las empresas, en el tema de seguridad.
En mi entorno, una empresa de tecnologías de la información, donde la mayoría de
la población son diseñadores digitales, desafortunadamente carece de procesos
metodológicos para tener y mantener un entorno seguro, por lo que me parece muy
interesante irnos adentrando de ésta forma:

1. Comenzar a generar un programa de seguridad informática


Porque todo debe de comenzar en casa, la mejor manera de fomentar la seguridad,
es crear una metodología que permita replicar ciertas acciones mínimas de
seguridad con cada individuo (como respaldos periódicos, uso de contraseñas
seguras para: equipos de cómputo, portales de administración, etc), hasta que éste
proceso se convierta en parte de la cultura de la empresa.

2. Analizar problemas de seguridad en aplicaciones externas


Diariamente nos encontramos con sitios o aplicaciones que usamos de manera
constante, en las que encontramos fallas de seguridad, pero no les damos la
importancia que se requiere y simplemente lo clasificamos como un bug, pero
nunca analizamos como se produjo, y sería un ejercicio muy útil, tratar de entender
el ¿Por qué ocurrió?, fue una falla de planeación, programación, diseño,
maquetado, un happy problem, etc, para en medida de lo posible evitarla (o
replicarlo).

3. Buscar empresas que hagan cosas similares


No con el afán de copiar o imitar sus productos, sino en un ánimo de observar
como resuelven situaciones que involucren la integridad de un proyecto y así,
identificar comportamientos que sean útiles para evitar fallas en los propios.

4. Hacer equipos de monitoreo


El ser humano no es perfecto, por lo que no podemos dejar en manos de un solo
individuo la integridad de un sistema, por lo que en medida de lo posible, se
recomendaría que exista el monitoreo por alguien más del equipo, tanto para

TEMA 4 – Actividades © Universidad Internacional de La Rioja, S. A. (UNIR)


Asignatura Datos del alumno Fecha

Seguridad en la Red Apellidos: Tello Hernández


4 diciembre, 2017
Informática Mundial Nombre: Oscar

verificar que se están minimizando los errores sobre producción/ejecución, como


para que alguien más del equipo sepa el cómo se está desarrollando.

5. Aprovechar que todos tenemos fallas y documentar


El punto anterior, debe complementarse con una documentación (no solo hacer
indicaciones verbales), de errores en el sistema, con la finalidad de hacer un
análisis de las irregularidades que se observaron durante el proyecto y en equipo,
encontrar la metodología para evitar volver a caer en ellas.

Referencias

https://www.commoncriteriaportal.org/

https://www.microsoft.com/en-us/sdl

https://pdfs.semanticscholar.org/c091/503474690ed8a582884ecc306a6d4050eeec.pdf

http://recibe.cucei.udg.mx/revista/es/vol2-no3/pdf/computacion05.pdf

http://safecode.org/

https://www.synopsys.com/

https://www.us-cert.gov/bsi/articles/knowledge/sdlc-process/correctness-by-
construction

TEMA 4 – Actividades © Universidad Internacional de La Rioja, S. A. (UNIR)

También podría gustarte