FINAL 2 - eGrupos.net

Anuncio
3
PROYECTO DE TESIS
I.
TITULO:
“SISTEMA DE SEGURIDAD DE SOFTWARE APLICANDO CRIPTOGRAFÍA
CON AUTÓMATAS CELULARES”
II.
III.
DATOS GENERALES
2.1
EJECUTOR
:
2.2
DIRECTOR
:
INTRODUCCIÓN
El Software de computadora, que es el que hace útil a una computadora, esta
propensa a sufrir alteraciones en cualquier momento no solo por infecciones de
virus informáticos sino también por personas maliciosas o inquietas por romper
passwords o alterar el flujo de este.
Hoy en día en Internet se pueden apreciar millones de programas publicados
en páginas Web, de las cuales muchos son programas
de uso compartido
(Shareware), es decir que el usuario puede probar el programa gratuitamente, pero
deberá pagar por este si lo quiere utilizar por más tiempo. Algunos de estos
programas también son programas de libre acceso (Freeware), o sea que se pueden
utilizar sin pago alguno. Aunque los desarrolladores intentan día a día proteger sus
programas con nuevos algoritmos de seguridad de software; los crackers también
descubren los agujeros para alterar los algoritmos. Por lo que ambos
(desarrolladores y cracker’s) se encuentran en una lucha incansable e incesable por
superarse el uno del otro.
4
IV.
FORMULACIÓN DEL PROBLEMA
Las empresas de desarrollo de software, e incluso aquellas personas que
desarrollan software a pequeña escala, o simplemente para fines personales,
siempre se vieron preocupadas por la seguridad de sus creaciones. Esta seguridad
casi imposible de alcanzar en su totalidad, fue y es aún un problema de cualquier
software que salga a la luz.
Grupos de Cracker’s y aficionados al Cracking, están haciendo que el
software sea un mal negocio para aquellas empresas desarrolladoras de software
que ven a Internet como una puerta abierta para clientes que quieran comprar sus
productos. Los software’s del tipo Shareware (Try-After-Pay) son los más
propensos a ser atacados por los cracker’s, ya que estos se pueden descargar
(download) a través de Internet para su evaluación, y luego de un cierto periodo el
usuario deberá pagar por este, si lo quiere utilizar por más tiempo.
Es por esto que se necesita de protecciones extras de diversos tipo en los
Software’s que puedan dar una mayor seguridad contra las alteraciones de los
mismo, para que cualquier empresa de desarrollo de software siga creando nuevas
aplicaciones, y no se vea truncada en su desarrollo y crecimiento empresarial. El
presente trabajo se muestra como una alternativa de solución a estos problemas, con
la construcción de un Sistema de Protección de Software que sea capaz de asegurar
a otros programas por medio de encriptación con Autómatas Celulares.
Luego de formular el problema surge la siguiente interrogante:
¿Cuál es el Diseño para un Sistema de Seguridad que Proteja Archivos
Portables Ejecutables PE, aplicando Criptografía con Autómatas Celulares?
5
V.
OBJETIVOS
5.1
OBJETIVO GENERAL
Diseñar y construir un Sistema de Seguridad con Aplicación de
Criptografía de Autómatas Celulares para la Protección de Archivos
Ejecutables “PE” de las plataformas Microsoft Windows.
5.2
OBJETIVOS ESPECÍFICOS

Implementar con un Algoritmo de Encriptación basado en Autómatas
Celulares, al archivo protegido mediante el Sistema de Protección de
Software.

Implementar con algoritmos de Comprobación de Redundancia Cíclica
(CRC – Cyclic Redundancy Check) para proteger de cambios en el
archivo protegido mediante el Sistema de Protección de Software.

Implementar con algoritmos de detección de Debuggers (Depuradores)
al software protegido mediante el Sistema de Protección de Software.
6
VI.
ANTECEDENTES DE LA INVESTIGACIÓN
En el ámbito de la ciudad de Puno no existe una investigación de esta
naturaleza por lo que este trabajo será un punto de partida para que nuevos
investigadores ahonden en el tema de la seguridad de software.
En el mundo existen empresas especializadas en brindar aseguramiento de
software a muchas otras, pero que en su mayoría solo usan algoritmos de
encriptación ya conocidos, por lo que a los Cracker’s se les hace fácil el análisis y
por ende la alteración de los programas.
Un estudio bien detallado de los Autómatas Celulares para la aplicación en
la Criptografía fue realizado por Stephen Wolfram del Instituto de Estudios
Avanzados de Princeton NJ., el cual llego a la conclusión que los autómatas
celulares podían producir increíbles patrones complejos, usando simples reglas, los
cuales podrían ser utilizados para la producción de números aleatorios. Estos
números aleatorios generados con Autómatas Celulares son más difíciles de
resolver y analizar, que los producidos por medio algoritmos lineales, ya que el
análisis evolutivo de un Autómata Celulares requiere saber los anteriores estados de
este.
Hoy en día no se conoce de un sistema de protección de software que use
Algoritmos de Encriptación con Autómatas Celulares, por lo que el presente trabajo
de investigación será un punto de partida muy importante en la Seguridad de
Software en conjunción con los Sistemas Dinámicos y más precisamente con los
Autómatas Celulares. Esta investigación no pretende dar una solución completa a la
Seguridad del Software, sino una alternativa de solución para que se logren hacer
sistemas de protección de software más fuertes que impidan a Cracker’s romper
fácilmente estos algoritmos.
7
VII.
MARCO TEÓRICO
7.1
SEGURIDAD DE SOFTWARE
7.1.1 SIGNIFICADO DEL TÉRMINO SEGURIDAD
Un concepto adecuado para el presente trabajo, en el que se
presenta un problema de seguridad en el software informático, sería:
“La seguridad se refiere a las políticas, procedimientos y medidas
técnicas usadas para evitar un acceso no autorizado, alteración, robo
o daños físicos a los sistemas de registro. La seguridad puede
promoverse mediante un conjunto de técnicas y herramientas para
salvaguardar el hardware, software, las redes de telecomunicaciones
y de datos”1.
7.2
ESTRUCTURA DE LOS ARCHIVOS PORTABLES EJECUTABLES
“PE”
El formato de los archivos PE, esta organizado como un flujo lineal
de datos. Empieza con una cabecera MS-DOS, un programa stub de modoreal, y una firma del archivo PE. Inmediatamente sigue una cabecera de
archivo PE y una cabecera opcional. Más allá de eso, todas las cabeceras de
las secciones aparecen, seguidas por todos los cuerpos de las secciones.
Cerrando fuera del archivo con otras secciones de información misceláneas,
incluyendo información de relocalización, tablas de información de
símbolos, números de líneas de información, y tablas de cadena de datos.
1
Los Sistemas de Información, Capitulo 18: El control de los sistemas de información, Pág: 708.
8
7.3.
AMENAZAS EN LA SEGURIDAD DEL SOFTWARE
"Se mueven en una delgada e indefinida barrera que separa lo legal de lo
ilegal. Las instituciones y las multinacionales del software les temen, la
policía los persigue y hay quien los busca para contratarlos. Se pasean
libremente por las mayores computadoras y redes del mundo sin que ellas
tengan secretos.”2
7.3.1. HACKERS
Los años han hecho que esta palabra sea prácticamente
intraducible, dando esto diversos resultados negativos y casi siempre
acusadores sobre la persona que realiza hacking.
“Un Hacker es una persona que está siempre en una continua
búsqueda de información, vive para aprender y todo para él es un
reto; no existen barreras, y lucha por la difusión libre de información
(Free Information), distribución de software sin costo y la
globalización de la comunicación”3.
7.3.2. CRACKERS
Los Crackers, en realidad, son hackers cuyas intenciones
van más allá de la investigación. Es una persona que tiene fines
maliciosos o de venganza, quiere demostrar sus habilidades pero de
la manera equivocada o simplemente personas que hacen daño solo
por diversión.
Tesis “Seguridad Informática: Sus Implicancias e Implementación”. Cristian F. Borghello 2001,
www.cfbsoft.com.ar, Pág 3 – Capitulo: Amenazas Humanas.
3
Tesis “Seguridad Informática: Sus Implicancias e Implementación”. Cristian F. Borghello 2001,
www.cfbsoft.com.ar, Pág 6 – Capitulo: Amenazas Humanas.
2
9
7.4.
CRIPTOGRAFÍA
7.4.1. DEFINICIÓN
La palabra criptografía proviene del griego kryptos, que
significa esconder y gráphein, escribir, es decir, escritura escondida.
La criptografía ha sido usada a través de los años para mandar
mensajes confidenciales cuyo propósito es que sólo las personas
autorizadas puedan entender el mensaje.
“La criptografía, en el contexto de redes informáticas, es la
ciencia que estudia los métodos y procedimientos, mediante
algoritmos matemáticos, para modificar los datos de tal manera que
solamente las personas que tengan la llave adecuada puedan a) tener
acceso a la versión original de los mismos (confidencialidad) y b)
asegurar que estos datos no fueron modificados entre el remitente y
el destinatario (integridad)”4.
La criptografía hoy día involucra varias formas de
encriptación/desencriptación, así como diferentes métodos de
autenticación. Aunque sus métodos y aplicaciones siguen siendo
cada vez más complejos, la criptografía como tal sigue girando
fundamentalmente alrededor de problemas matemáticos difíciles de
solucionar. Un problema puede ser difícil de resolver porque su
solución requiere de cierto conocimiento secreto, como la llave para
desencriptar un mensaje cifrado o para firmar un documento digital.
También puede ser que sea intrínsecamente difícil de solucionar, en
términos de los requerimientos matemáticos o de cómputo
necesarios para solucionar o decodificar el mensaje encriptado.
4
Aladdin Security Portal, Adaptado en español por Red Segura
http://www.redsegura.com/Temas/CRdefini.html
10
7.4.2. CRIPTOGRAFÍA CLÁSICA
El cifrado de textos es una actividad que ha sido ámpliamente
usada a lo largo de la historia humana, sobre todo en el campo
militar y en aquellos otros en los que es necesario enviar mensajes
con información confidencial y sensible a través de medios no
seguros.
Aunque en cierta forma el sitema de jeroglíficos egipcio
puede considerarse ya una forma de criptografía (sólo podían ser
entendidos por personas con conocimientos suficientes), el primer
sistema criptográfico como tal conocido se debe a Julio Cesar. Su
sistema consistía en reemplazar en el mensaje a enviar cada letra por
la situada tres posiciones por delante en el alfabeto latino.
Por lo que el mensaje "HOLA MUNDO" se transformaría en
"KRÑD OXPGR". Para volver al mensaje original desde el texto
cifrado tan sólo hay que coger un alfabeto e ir sustituyendo cada
letra por la que está tres posiciones antes en el msimo.
Este sistema fué innovador en su época, aunque en realidad
es fácil de romper, ya en todo sistema de trasposición simple sólo
hay un número de variaciones posible igual al de letras que formen
el alfabeto (27 en este caso).
Este fué el primer sistema criptográfico conocido, y a partir
de él, y a lo largo de las historia, aparecieron otros muchos sistemas,
basados en técnicas criptológicas diferentes. Entre ellos caben
destacar los sistemas monoalfabéticos (parecidos al de Julio Cesar,
pero que transforman cada letra del alfabeto original en la
correspondiente de un alfabeto desordenado), el sistema Playfair de
Ser
Charles
Wheastone
(1854,
sistema
monoalfabético
diagramas), los sistemas polialfabéticos, los de permutación, etc.
de
11
7.4.3. CRIPTOGRAFÍA MODERNA
Los sistemas criptográficos
clásicos presentaban una
dificultad en cuanto a la relación complejidad-longitud de la clave /
tiempo necesario para encriptar y desencriptar el mensaje.
En la era moderna esta barrera clásica se rompió, debido
principalmente a los siguientes factores:

Velocidad de cálculo: con la aparición de los computadores se
dispuso de una potencia de cálculo muy superior a la de los
métodos clásicos.

Avance de las matemáticas : que permitieron encontrar y definir
con claridad sistemas criptográficos estables y seguros.

Necesidades de seguridad: surgieron muchas actividades nuevas
que precisaban la ocultación de datos, con lo que la Criptología
experimentó un fuerte avance.
A partir de estas bases surgieron nuevos y complejos
sistemas criptográficos, que se clasificaron en dos tipos o familias
principales, los de clave simétrica y los de clave pública. Los
modernos algoritmos de encriptación simétricos mezclan la
trasposición y la permutación, mientras que los de clave pública se
basan más en complejas operaciones matemáticas.
Criptografía simétrica.
Incluye los sistemas clásicos, y se caracteriza por que en ellos se usa
la misma clave para encriptar y para desencriptar, motivo por el que
se denomina simétrica.
Toda la seguridad de este sistema está basada en la llave simétrica,
por lo que es misión fundamental tanto del emisor como del receptor
12
conocer esta clave y mantenerla en secreto. Si la llave cáe en manos
de terceros, el sistema deja de ser seguro, por lo que habría que
desechar dicha llave y generar una nueva.
Para que un algoritmo de este tipo sea considerado fiable debe
cumplir varios requisitos básicos:

Conocido el criptograma (texto cifrado) no se pueden obtener de
él ni el texto en claro ni la clave.

Conocidos el texto en claro y el texto cifrado debe resultar más
caro en tiempo o dinero descifrar la clave que el valor posible de
la información obtenida por terceros.
Generalmente el algoritmo de encriptación es conocido, se divulga
públicamente, por lo que la fortaleza del mismo dependerá de su
complejidad interna y sobre todo de la longitud de la clave
empleada, ya que una de las formas de criptoanálisis primario de
cualquier tipo de sistema es la de prueba-ensayo, mediante la que se
van probando diferentes claves hasta encontrar la correcta.
Los algoritmos simétricos encriptan bloques de texto del documento
original, y son más sencillos que los sistemas de clave pública, por lo
que sus procesos de encriptación y desencriptación son más rápidos.
Las principales desventajas de los métodos simétricos son la
distribución de las claves, el peligro de que muchas personas deban
conocer una misma clave y la dificultad de almacenar y proteger
muchas claves diferentes.
Criptografía de clave pública.
También llamada asimétrica, se basa en el uso de dos claves
diferentes, claves que poséen una propiedad fundamental: una clave
puede desencriptar lo que la otra ha encriptado.
13
Generalmente una de las claves de la pareja, denominada clave
privada, es usada por el propietario para encriptar los mensajes,
mientras que la otra, llamada clave pública, es usada para
desencriptar el mensaje cifrado.
Las claves pública y privada tienen características matemáticas
especiales, de tal forma que se generan siempre a la vez, por parejas,
estando cada una de ellas ligada intrínsecamente a la otra, de tal
forma que si dos llaves públicas son diferentes, entonces sus llaves
privadas asociadas también lo son, y viceversa.
Los algoritmos asimétricos están basados en funciones matemáticas
fáciles de resolver en un sentido, pero muy complicadas de realizar
en sentido inverso, salvo que se conozca la clave privada, como la
potencia y el logaritmo. Ambas claves, pública y privada, están
relacionadas matemáticamente, pero esta relación debe ser lo
suficientemente compleja como para que resulte muy dificil obtener
una a partir de la otra. Este es el motivo por el que normalmente
estas claves no las elige el usuario, si no que lo hace un algoritmo
específico para ello, y suelen ser de grán longitud.
Mientras que la clave privada debe mantenerla en secreto su
propietario, ya que es la base de la seguridad del sistema, la clave
pública es difundida ámpliamente por Internet, para que esté al
alcance del mayor número posible de personas, existiendo servidores
que guardan, administran y difunden dichas claves.
Sistemas mixtos.
En muchas ocasiones se implementan sistemas criptográficos
mixtos, en los que se usa la llave pública del receptor para encriptar
una clave simétrica que se usará en el proceso de comunicación
encriptada. De esta forma se aprovechan las ventajas de ambos
sistemas, usando el sistema asimétrico para el envío de la clave
14
sensible y el simétrico, con mayor velocidad de proceso, para el
envío masivo de datos.
7.5.
AUTÓMATAS CELULARES (AC)
7.5.1. DEFINICIÓN
Un AC finito-dimensional es una cuádrupla A = (I, S, V, f)
donde I es el denominado espacio celular, S es el conjunto (finito) de
estados, V es la vecindad de cada célula y f es la función de
transición local.
Espacio Celular: La disposición espacial de las células así
como su número determinan el espacio celular, de tal forma que la
dimensión del autómata celular viene dada por la del mínimo espacio
real en el que se puede sumergir I. Para un AC de una dimensión (d
= 1) las células se distribuirán uniformemente una a continuación de
otra a modo de cadena. A estos ACs se les denomina lineales (para
ser más explícitos, si el número de células del espacio celular es n,
serán llamados n-lineales). Cada una de las células de un AC n-lineal
se denotará por ai, donde 0 i n – 1.
Conjunto de Estados: Si A es n-lineal (A = autómata celular),
entonces denotaremos por ai(t ) al estado en el que encuentra la célula
i en el instante t. En lo que sigue se considerará AC binarios, es decir
la celda o célula sólo podrá estar en el estado “1” (activo) o en el
estado “0” (inactivo).
Vecindad: Es el conjunto de células cuyos estados en el
instante t influyen en el estado de la célula considerada en el instante
t + 1. En d = 1 el número de vecinos es 2r + 1 y el número de
posibles vecindades es k2r + 1.
15
En un AC las n celdas se encuentran en un retículado de
dimensión d. Cuando el retículo es de tamaño finito es común
considerar condiciones de contorno periódicas, es decir que la celda
en la posición 0 tiene como vecina a la celda de la posición n y
viceversa.
Función de Transición Local f: Mediante esta función se
rige la evolución de los estados de las células teniendo en cuenta la
vecindad de las mismas. Así, si A es un autómata celular n-lineal en
el que suponemos que la vecindad es simétrica de radio r, entonces
se puede obtener una función de transición como la siguiente:
ai(t 1)  f (ai(t )r ,...,ai(t ) ,...,ai(t )r )
7.5.2. LOS AUTÓMATAS CELULARES DE WOLFRAM
La teoría moderna de autómatas celulares podemos decir que
se funda sobre los cimientos establecidos por Stephen Wolfram a
mediados de la década de los 80. Dicho autor, centra su atención
fundamentalmente en un tipo muy particular de autómata celular
lineal A = (I, S, V, f) tal que posee las siguiente características: el
conjunto de estados es S = Z2 = {0, 1}, las vecindades son simétricas
de radio 2 y las condiciones de contorno son periódicas. A este tipo
de Autómata Celulares es al que se refiere cuando se habla de
autómatas celulares de Wolfram (ó ACW para abreviar).
Las posibles funciones de transición que define Wolfram es
de 2 2  256 autómatas de este tipo, las cuales fueron clasificados
3
por el propio Wolfram asociándoles un determinado número
comprendido entre 0 y 255, denominado número de Wolfram del
AC. Dicho número se construye de la siguiente manera: dado un AC
de Wolfram cuya función de transición sea f, tendremos:
16
Entonces el número de Wolfram asociado al AC vendrá dado
por:
w   7  27   6  26   5  25   4  24   3  23   2  22  1  21   0  20
donde obviamente 0  w  255. Dicho de otra forma, el número de
Wolfram del AC es el entero cuyo código binario se corresponda con
los valores de las distintas vecindades “valoradas”.
7.6.
CLASES Y OBJETOS
7.6.1. PROGRAMACIÓN ORIENTADA A OBJETOS
Cuando se habla de POO se refiere necesariamente a un
aspecto (entidad) fundamental “el Objeto” interveniente, este
“Objeto” en la vida real puede existir en una infinidad de formas, ya
que todo lo que existe son objetos (seres vivos, hechos, seres
inanimados) y que a su vez presentan una serie de relaciones con
otros objetos (interactuar).
De esta forma al hacer una implicación a la orientación a
objetos necesariamente se otorga mayor importancia a los datos, es
así que se representan los objetos a partir de datos (tipo de datos
abstractos), a diferencia de la programación estructurada que enfatiza
lo procedimental. Todo objeto necesita interactuar con su medio por
lo cual se definen cinco propiedades fundamentales:
17

Abstracción de Datos: Nos permite la creación de nuevos tipos
de datos a partir de los ya existentes en un lenguaje determinado.

Encapsulación: Protección de los datos privados que no pueden
ser accesados por objetos externos.

Herencia: Propiedad que permite la creación de un objeto hijo
de uno superior heredando las mismas características.

Polimorfismo: Propiedad mediante la cual un grupo de objetos
reaccionan de diferente manera a un mismo mensaje.

Reutilización: Posibilidad de volver a utilizar el código existente
sin mucho esfuerzo. (Joyanes Aguilar, 1997).
7.7.
METODOLOGÍA ORIENTADA A OBJETOS
FDF
VIII. HIPÓTESIS
El Sistema de Seguridad para la Protección de Archivos Ejecutables con
Aplicación de Criptografía con Autómatas Celulares, implanta su aseguramiento en
más del 70% de los archivos ejecutables de las plataformas Microsoft Windows, lo
que hace que sea un Sistema capaz de reestructurar todo el archivo a proteger, sin
alterar el correcto funcionamiento de este.
IX.
MATERIALES Y MÉTODOS
18
9.1.
MATERIAL DE ESTUDIO
“Los intrusos utilizan diversas técnicas para quebrar los sistemas de
seguridad de un sistema. Básicamente buscan los puntos débiles del sistema
para poder colarse en ella. El trabajo de los Desarrolladores de Protección
de Software no difiere mucho de esto. En lo que si se diferencia, y por
completo, es en los objetivos: mientras que un Cracker penetra en las redes
para distintos fines (investigación, alteración, daño, etc.) un Desarrollador lo
hace para poder mejorar los sistemas de seguridad”5.
Sin duda lo anterior es muy cierto, todos los desarrolladores de
sistemas de protección de software tienen algo de cracker’s, por lo que el
párrafo anterior es el punto de partida para el presente trabajo, al igual que
los cracker’s el estudio de los sistemas de seguridad de software se llevó a
cabo con la información obtenida por diversos tutoriales de cracking, y
conversaciones con algunos cracker’s y hacker’s a través de correos
electrónicos y charlas on-line por medio del mIRC.
9.2.
POBLACIÓN
La población esta formada por todos los archivos ejecutables
existentes para las plataformas Microsoft Windows y que tengan la
estructura de los archivos ejecutables PE.
9.3.
MUESTRA
Para la obtención de la muestra se tiene la siguiente formula dada
según la proporción de interés.
5
Entrevista realizada al Hacker HackRock, el día 19 de noviembre del 2002, canal #Hacking - mIRC
19
n
Z 2 xpxq
d2
Donde:
Z : Valor de tabla de la distribución Normal.
p : Proporción de Interés del estudio.
q : Complemento de la proporción de interés ( q = 1 – p )
d : Error de muestreo
Como no se cuentan con trabajos anteriores de este tipo, entonces los
valores de p y q serán tomadas asumiendo que un 50% de los archivos
ejecutables sean protegidos y un 50% de estos no pudieron ser protegidos
por el sistema, asumiendo que estos hallan tenido errores y fallas durante la
protección del archivo ejecutable.
Entonces obtenemos la siguiente cantidad de muestra para un error
de muestreo del 15%:
n
9.4.
Z 2 xpxq (1.94)2 (0.5)(0.5)

 23.20  23
d2
(0.15)2
DISEÑO ESTADÍSTICO
Dado que la variable Protección del Archivo Ejecutable es una
variable cualitativa con dos categorías (0 = Protegidos y 1 = No Protegidos)
será necesario utilizar la “Prueba estadística de hipótesis de una sola
Proporción”, que se define de la siguiente forma:
Si n es pequeño, se usa la distribución Binomial
PX  x0 | p  p0  
n
 b( x, n, p)
x  x0
Si n es grande, se usa la distribución Normal como aproximación de
la Binomial.
20
Z
9.5.
Pˆ  P0
p0 q0 / n

X  np 0
np 0 q 0
SISTEMA DE VARIABLES
VARIABLES DE ESTUDIO
Variable Dependiente
Protección del Archivo Ejecutable PE.
Variables Independientes
Algoritmos de Seguridad.
Nivel de Seguridad de la Plataforma de Ejecución.
OPERACIONALIZACIÓN DE VARIABLES
Variables Independientes
Indicadores
Índice
Algoritmos de Seguridad.
Seguridad en el Método de
Muy Buena = 1
Encriptación con Autómatas Celulares.
Buena
=2
Regular
=3
Mala
=4
Muy Mala
=5
Detección de Depuradores.
Si
No
Comprobación de Redundancia Cíclica
Si
No
Plataforma de Ejecución.
Variable Dependiente
Protección del Archivo Ejecutable.
Nivel de Seguridad Ofrecida por la
Muy Buena = 1
Plataforma.
Buena
=2
Regular
=3
Mala
=4
Muy Mala
=5
Indicador
Índice
Archivo Ejecutable Protegido sin
SI
Errores por el Sistema de Protección
No
21
9.6.
DESARROLLO DEL SISTEMA
METODOLOGÍA DE DESARROLLO
Para el desarrollo del sistema se ha tomado por conveniente el
proceso de construcción evolutivo denominado Modelo en Espiral
propuesto por Boehm (Figura 6.1).
MODELO EN ESPIRAL
Debido al tiempo y la forma evolutiva que tendrá el sistema en
cuanto a su desarrollo, se vio por conveniente tomar en consideración para
el proceso de desarrollo del sistema el modelo en espiral, el cual es
apropiado por la necesidad que se tendrá que actualizar el sistema en
determinados periodos de tiempo y que proporcione mejores capacidades en
cada etapa de desarrollo del sistema. El modelo en espiral se basa en
regiones de tareas que pueden estar entre tres y seis regiones. Como se
puede ver en el esquema inferior se muestra seis regiones de tareas en
consideración:
a. Comunicación con el cliente
Se realizan las tareas requeridas para establecer comunicación entre el
desarrollador y el cliente.
b. Planificación
Se realizaron las tareas requeridas para definir recursos, el tiempo y
otras informaciones relacionadas con el proyecto. Aquí se delimitó el
ámbito que abarcó el sistema en su entorno de negocios.
c. Análisis de Riesgos
Las tareas requeridas para evaluar riesgos técnicos y de gestión.
d. Ingeniería
22
Las tareas requeridas para construir una o más representaciones de la
aplicación.
e. Construcción y adaptación
Las tareas requeridas para construir, probar, instalar y proporcionar
soporte al usuario (documentación y práctica).
f. Evaluación del cliente
Las tareas requeridas para obtener la reacción del cliente según la
evaluación de las representaciones del software creadas durante la etapa
de ingeniería e implementación durante la etapa de instalación.
Planific ación
Comunicac ión
c on el c liente
Análisis de
Riesgos
Evaluac ión del
Cliente
Ingenieria
Construc ción y adaptac ión
FIGURA 6.1 Modelo en Espiral
X.
ADMINISTRACIÓN DEL PROYECTO
10.1. CRONOGRAMA DE ACTIVIDADES
TAREA
Tiempo
Especificación
1. Identificación de las
3 semanas
-
necesidades y beneficios
Entrevistas con empresas y personas
encargadas de desarrollar software.
-
Identificar las necesidades y
limitaciones del sistema.
23
2. Definir las
2 semanas
-
Salidas/Control/Entradas
Rango que tendrán las teclas en el
software
deseadas
-
Rango de interacción
-
Rango de detección de errores.
-
Rango de otras funciones
-
Documentos de Entrada/Control/Salida
del Software
3. Definir la funcionalidad
3 semanas
-
Definir las funciones del teclado y
Mouse
-
Definir los modos de interacción
-
Definir la detección de errores.
-
Definir otras funciones
-
Definir los elementos básicos del
sistema
4. Investigar la disponibilidad
2 semanas
-
existente del software
5. Evaluar los resultados
ser reutilizados en el software
1 semana
-
obtenidos
Evaluar las entradas/ Control/ Salidas
del software
6. Revisar la documentación del 2 semanas
-
software
7. Revisión y Validación
Identificar los componentes que pueden
Revisar una ves desarrollado la
documentación del software
2 semanas
-
Presentación y revisión del software
24
10.2. RECURSOS DEL PROYECTO
10.2.1. HARDWARE Y SOFTWARE.
HARDWARE
-
Una Computadora personal Pentium III de 800 Mhz con 128 MB
de RAM
SOFTWARE.
-
Sistema Operativo Microsoft Windows ME.
-
Microsoft Visual C++ 6.0
-
New Visio 5.0
-
UML Semantic Help
-
Microsoft Visual Modeler
-
Numera SOFTICE
-
Microsoft Macro Assembler
25
10.3. PRESUPUESTO
Descripción
Unidad
Cant.
Total(S/.)
EQUIPOS Y MATERIALES
-
Bibliografía e Información
-
Discos Flexibles
Caja
1
25.00
-
Plumones de Pizarra
Unidad
12
36.00
-
Papel Bond 60 gr.
Millar
2
44.00
-
Papel Bond 80 gr
Millar
3
84.00
-
Cuaderno de 100 h
Unidad
1
1.00
-
Revistas
50.00
-
Imprevistos (10%)
30.00
100.00
SERVICIOS
-
Digitación
-
Impresión
-
Empastado
-
Imprevistos (10%)
50.00
50.00
60.00
40.00
OTROS
-
Movilidad
50.00
-
Investigación en web
300.00
S/.
TOTAL
1070.00
26
XI.
BIBLIOGRAFÍA:

MIGUEL
ANGEL
RODRÍGUEZ
–
SOLELLÓ,
“Programación
ENSAMBLADOR en entorno MS DOS”, Ediciones ANAYA Multimedia,
Primera Edición, España 1987.

ENCICLOPEDIA DE INFORMATICA COMPUTACIÓN “Ingeniería de
Software e Inteligencia Artificial” Editorial Cultural, S.A. Madrid España 1998,
356p.

HERNANDEZ SAMPIERI, R, “Metodología de la Investigación”, Primera
Edicion, Editorial Mc-Graw Hill ,1997. 486p.

PRESSMAN, R. “Ingeniería de Software” Un enfoque moderno, Cuarta
Edición, Editorial Mc – Graw Hill, México 1993, 591p.

RANDY KATH, “The Portable Executable File Format from Top to Bottom”,
Microsoft Developer Network Techonlogy Group, Junio de 1993.
Referencia en Internet

Tesis “Seguridad Informática: Sus Implicancias e Implementación”. Cristian F.
Borghello 2001.
http://www.cfbsoft.com.ar

La Web del programador.
http://www.lawebdelprogramdor.com.

Tutoriales de Cracking, Compilación de Tutores 2000 v4.0, Karpoff
http://welcome.to/Karpoff.

Kriptopolis
http://www.kriptolopolis.com
27
INDICE
I.
TITULO: .................................................................................................................................................. 3
II.
DATOS GENERALES ........................................................................................................................ 3
III.
INTRODUCCIÓN ............................................................................................................................... 3
IV.
FORMULACIÓN DEL PROBLEMA ............................................................................................... 4
V.
OBJETIVOS ........................................................................................................................................ 5
5.1
5.2
OBJETIVO GENERAL ..................................................................................................................... 5
OBJETIVOS ESPECÍFICOS ............................................................................................................ 5
VI.
ANTECEDENTES DE LA INVESTIGACIÓN ................................................................................ 6
VII.
MARCO TEÓRICO ............................................................................................................................ 7
7.1
SEGURIDAD DE SOFTWARE ........................................................................................................ 7
7.1.1
SIGNIFICADO DEL TÉRMINO SEGURIDAD .................................................................... 7
7.2
ESTRUCTURA DE LOS ARCHIVOS PORTABLES EJECUTABLES “PE” ................................. 7
7.3
AMENAZAS EN LA SEGURIDAD DEL SOFTWARE .................................................................. 8
7.3.1.
HACKERS ................................................................................................................................ 8
7.3.2.
CRACKERS .............................................................................................................................. 8
7.4. AUTÓMATAS CELULARES (AC) ................................................................................................. 9
7.4.1.
DEFINICIÓN ......................................................................................................................... 14
7.4.2.
LOS AUTÓMATAS CELULARES DE WOLFRAM ............................................................ 15
7.5. CLASES Y OBJETOS ..................................................................................................................... 16
7.5.1 PROGRAMACIÓN ORIENTADA A OBJETOS ......................................................................... 16
VIII.
IX.
9.1
9.2
9.3
9.4
9.5
9.6
X.
HIPÓTESIS.................................................................................................................................... 17
MATERIALES Y MÉTODOS ......................................................................................................... 17
MATERIAL DE ESTUDIO............................................................................................................. 18
POBLACIÓN .................................................................................................................................. 18
MUESTRA ...................................................................................................................................... 18
DISEÑO ESTADÍSTICO ................................................................................................................ 19
SISTEMA DE VARIABLES ........................................................................................................... 20
VARIABLES DE ESTUDIO ........................................................................................................... 20
OPERACIONALIZACIÓN DE VARIABLES................................................................................ 20
DESARROLLO DEL SISTEMA .................................................................................................... 21
METODOLOGÍA DE DESARROLLO........................................................................................... 21
MODELO EN ESPIRAL ................................................................................................................. 21
ADMINISTRACIÓN DEL PROYECTO ........................................................................................ 22
10.1 CRONOGRAMA DE ACTIVIDADES ........................................................................................... 22
10.2 RECURSOS DEL PROYECTO ...................................................................................................... 24
10.2.1. HARDWARE Y SOFTWARE. ................................................................................................... 24
10.3 PRESUPUESTO.............................................................................................................................. 25
XI.
BIBLIOGRAFÍA: .............................................................................................................................. 26
REFERENCIA EN INTERNET ........................................................................................................................... 26
28
U n iv er s id a d N a c io n a l d el Al t ipl a n o – P u n o
Facultad de Ingeniería Estadística e Informática
Carrera Profesional de Ingeniería Estadística
e Informática
“Sistem a de Seguridad de Software Aplicando
Criptografía con Autóm atas Celulares”
PROYECTO DE TESIS
Presentado por:
Henry Juárez Vargas
Puno, C.U. Julio del 2,003
Documentos relacionados
Descargar