460 likes | 580 Views
SOFTWARE GUARDIÁN DE APLICACIONES DESARROLLO DE PRODUCTOS DE SOFTWARE. Omar Aguilar Feijóo Fausto Correa Almazan. Agenda. Origen del Producto La necesidad Alternativas de solución Solución propuesta Beneficios ofrecidos Plan de negocio El Producto El Mercado La Competencia
E N D
SOFTWARE GUARDIÁN DE APLICACIONES DESARROLLO DE PRODUCTOS DE SOFTWARE Omar Aguilar Feijóo Fausto Correa Almazan
Agenda • Origen del Producto • La necesidad • Alternativas de solución • Solución propuesta • Beneficios ofrecidos • Plan de negocio • El Producto • El Mercado • La Competencia • Modelo de Negocio • Plan Financiero • Tecnologías utilizadas • Arquitectura de mensajes de Windows • Técnicas de Inyección Dlls • Mensajes del sistema • Funciones y Estructuras • Diseño del sistema • Demostración • Conclusiones
METODOLOGÍA • Identificar necesidad de administrar infraestructura de tecnología de Información. • Presentación del proyecto y como resuelve la necesidad • Análisis económico. • Análisis de las tecnologías utilizadas. • Diseño y configuración de sistema SGA. • Prueba de concepto. • Conclusiones y recomendaciones.
Agenda • Origen del Producto • La necesidad • Alternativas de solución • Solución propuesta • Beneficios ofrecidos • Plan de negocio • El Producto • El Mercado • La Competencia • Plan Financiero • Modelo de Negocio • Tecnologías utilizadas • Arquitectura de mensaje de Windows • Técnicas de Inyección Dlls • Mensajes del sistema • Funciones y Estructuras • Diseño del sistema • Demostración • Conclusiones
La Necesidad • Tecnología de Información. Redes de computadoras, software, enlaces de datos, bases de datos son en la actualidad herramientas esenciales para el desarrollo de las actividades de Instituciones y organizaciones de diferentes fines y tamaños. • Tecnología e Industria. La Tecnología de Información brinda muchas ventajas competitivas y permite aumentar la productividad, siempre y cuando sea bien administrada. • Software. Es por medio de los productos de software que se accede a muchos de los recursos de tecnología, ya sea este un enlace de datos, una base de datos, un servicio, producto, entre otros. Los productos de software tienen agrupadas sus opciones y menús y botones de la barra de herramientas y por medio de estas opciones permite a los usuarios interactuar y acceder a los recursos.
La Necesidad • Seguridad de accesos. La mayoría de las aplicaciones cuentan con un sistema de seguridad que controla los accesos y uso de los programas. • Sin embargo, a veces no se acopla a la estructura de la Empresa. • En otros casos se tiene muchas aplicaciones y cada una con su propio sistema de seguridad que hace que se complique la administración y control de los mismos. • No permiten el control de ejecución de otros programas. Es necesario controlar el uso de programas permitiendo solo los que brinden ventajas al negocio y no a uso personal. • Otras aplicaciones ni siquiera cuentan con un sistema de seguridad
La Necesidad • Administración de Infraestructura tecnológica. Es necesario contar con una buena herramienta que permita administrar el uso de la Infraestructura Tecnológica. Una infraestructura mal administrada puede generar costos escondidos que muchas organizaciones no cuantifican y afectan su estructura de costos
La Necesidad Aplicaciones de EC Modelos de negocio B2C y B2B Administrar relaciones con Clientes CRM Optimizar procesos internos y productividad PERSONAS POLÍTICAS Y PROCESOS AREAS DE SOPORTE SERVICIOS Y PRODUCTOS SOCIOS DE NEGOCIOS SOFTWARE TECNOLOGÍA DE INFORMACIÓN Infraestructura de Seguridades Servicios de Mensajerias Infraestructura de Redes Infraestructura de Bases de Datos Infraestructura de aplicaciones y servicios ADMINISTRACIÓN TECNOLÓGICA
Alternativas de Solución • Utilizar editores de políticas de Windows. Esta alternativa puede llegar a deshabilitar ciertas opciones del sistema operativo para evitar que se desconfigure equipos, pero no se puede bloquear programas de terceros lo que lo hace una solución incompleta. • Se pueden adquirir software que bloquean localmente programas de estaciones de trabajo pero no trabajan en un ambiente de red ocasionando una carga de actividad en la administración ya que no es centralizado. • Adquirir recursos que modifiquen y mejoren a los aplicativos, pero si no se tiene los códigos fuentes nada se podrá hacer.
Solución propuesta • Desarrollar una herramienta que permita la administración centralizada del uso de los programas dentro de la organización y que permita integrar varias aplicaciones a los diferentes perfiles de usuarios o grupos de usuarios, brindando la facilidad de asignar restricciones de seguridad a las diferentes opciones de menús y botones de las aplicaciones, sin necesidad de contar con el código fuente de las mismas. A esta herramienta se la llamó Software Guardián de Aplicaciones SGA
Beneficios ofrecidos • Entre los beneficios que ofrece esta solución se tiene: • Permite aplicar restricciones de seguridad a más del 70% de las aplicaciones que se ejecutan sobre Windows • Ahorro de tiempo y dinero en la administración de las seguridades de las aplicaciones de toda la organización. • Simplifica el control de las seguridades de menús y barras de botones por grupos de usuarios • Reduce a cero el desarrollo de módulos extra de seguridad • Evita perjuicios económicos por fraude o negligencia en el mal uso de programas
Agenda • Origen del Producto • La necesidad • Alternativas de solución • Solución propuesta • Beneficios ofrecidos • Plan de negocio • El Producto • El Mercado • La Competencia • Modelo de Negocio • Plan Financiero • Tecnologías utilizadas • Arquitectura de mensaje de Windows • Técnicas de Inyección Dlls • Mensajes del sistema • Funciones y Estructuras • Diseño del sistema • Demostración • Conclusiones
El Producto • El producto SGA, se basa en el aprovechamiento de un mecanismo de los sistemas operativos Microsoft Windows. Este mecanismo consiste en que las aplicaciones trabajan en base a eventos, los mismos que pueden ser generados por distintos dispositivos como por ejemplo, el ratón, el teclado, etc. Los eventos a su vez generan mensajes, nuestra aplicación captura dichos mensajes, específicamente los que tienen que ver con menús y botones, y los procesa de acuerdo a las reglas de ejecución configuradas para el perfil al cual pertenece el usuario que ejecuta la aplicación. Con esto se consigue el objetivo de asegurar las opciones de menús y barras de botones de las aplicaciones.
El Producto APLICACIONES CORE SGA SISTEMA OPERATIVO
El Mercado • Nuestro mercado potencial está conformado por todas las instituciones y organizaciones, tanto en Ecuador como el Latinoamérica, que utilizan programas de computadora sobre sistemas operativos Microsoft Windows y que se comunican por medio de una red y necesiten controlar las aplicaciones que se ejecutan sobre la misma, con el fin de optimizar el uso de sus recursos de tecnología y alcanzar sus fines de negocio.
Mercado • Segmento de mercado
Mercado • Presupuesto de clientes
Modelo de negocio • Nuestro modelo de negocio consiste en la venta directa y por medio de canales de distribución del producto, ya sea en paquetes y licencias individuales, adicional de servicios de asesoría y asistencia en implementaciones. • El detalle de los paquetes, los mismos que incluyen todo el sistema, es decir cliente, servidor y administración se muestra en la siguiente tabla:
Modelo de negocio • El costo de mantenimiento anual que incluye horas visitas técnicas en sitio y actualizaciones de versión es el 25% del valor del paquete completo adquirido • Valores de servidor y licencias individuales. El módulo de administración forma parte del servidor.
Plan Financiero • Actualmente se cuenta con el producto terminado en su primera versión, se requiere inversión para cubrir las siguientes actividades: • Adquisición de equipos. • Equipar oficinas. • Distribución del producto. • Mantenimiento y mejoras. • Cubrir sueldos y gastos operativos hasta alcanzar niveles de ingreso que permitan operar por si misma a la empresa.
Plan Financiero • La siguiente tabla detalla la inversión inicial que se necesita.
Plan Financiero • Adicional se necesitará un capital de trabajo de USD $21500, para poder operar en los meses que no haya ingreso. Este capital de trabajo será destinado para cubrir sueldos, costos operativos y costos de ventas
Plan Financiero • Costos Hundidos
Plan Financiero • Costos Operativos
Plan Financiero • Salarios
Plan Financiero • Proyección de ventas
Plan Financiero • Indicadores Financieros
Agenda • Origen del Producto • La necesidad • Alternativas de solución • Solución propuesta • Beneficios ofrecidos • Plan de negocio • El Producto • El Mercado • La Competencia • Modelo de Negocio • Plan Financiero • Tecnologías utilizadas • Procesamiento de mensajes Windows • Técnicas de Inyección Dlls • Mensajes del sistema • Funciones y Estructuras • Diseño del sistema • Demostración • Conclusiones
Técnicas de Inyección de DllsWindows Hook • Windows Hooks • Windows API Hook
Procesamiento de mensajes en Windows APLICACIONES SERVIDOR SGA CORE SGA Base datos SISTEMA OPERATIVO
Funciones mas utilizadas • SetWindowsHookEx • EnumChildWindows • Funciones CallBack • SendMessage • WriteProcessMemory
Estructuras de MenúsPosiciòn Menu-Item • WM_INITMENU • WM_INITMENUPOPUP • WM_COMMAND
Botones • WM_SETCURSOR
Agenda • Origen del Producto • La necesidad • Alternativas de solución • Solución propuesta • Beneficios ofrecidos • Plan de negocio • El Producto • El Mercado • La Competencia • Modelo de Negocio • Plan Financiero • Tecnologías utilizadas • Procesamiento de mensajes Windows • Técnicas de Inyección Dlls • Mensajes del sistema • Funciones y Estructuras • Diseño del sistema • Demostración • Conclusiones
Interfases de las Aplicaciones a ejecutarse Interfaz de Usuario Nombre de la Aplicación Estructuras de Menús y Botones SGA Servidor Estructuras de Menús y Botones Modificadas Ventana de Login de Windows Interfases Modificadas de las Aplicaciones SGA Cliente Usuario Funciones de Proceso y Control Reglas de Ejecución Usuario Procesamiento de Entrada Entidad de Mantenimiento Procesamiento de la Salida Diagrama de contexto Arquitectura cliente
Diagrama de contexto Arquitectura Servidor Interfase del Administrador Interfaz de Usuario Respuestas e Informes Peticiones, Consultas e ingreso de reglas SGA Cliente SGA Cliente Reglas de Ejecución SGA Servidor Usuario Funciones de Proceso y Control Procesamiento de Entrada Procesamiento de la Salida
Interfaz de Usuario Aplicaciones Login de Windows Usuario Estructura de Menús y Botones Subsistema de Monitoreo de Aplicaciones Subsistema de Captura de Usuario Subsistema de Sincronización Usuario Nombre de App Subsistema de Acceso a Reglas Nombre de App Interfases Modificadas de las Aplicaciones Tipo de Bloqueo Nombre de App Tipo de Bloqueo Actualización de Reglas Subsistema de Ejecución de Reglas Reglas Locales Nombre de App Reglas de Ejecución Lectura Menús y Botones Funciones de Proceso y Control Usuario Procesamiento de la Salida Procesamiento de Entrada Entidad de Mantenimiento SGA Servidor Diagrama de flujo de Arquitectura cliente
Diagrama de flujo de Arquitectura Servidor Interfaz de Usuario Administrador Peticiones de Datos Datos para Consultas Base de Datos Principal Subsistema de Acceso a Datos Reglas de Usuarios Datos de Consulta Subsistema de Sincronización Cliente SGA Cliente Subsistema de Sincronización Usuario Reglas de Ejecución Orden de Sincronización Nuevas Reglas Funciones de Proceso y Control Subsistema de Ingreso de Reglas Procesamiento de Entrada Procesamiento de la Salida
Conclusiones • Se puede desarrollar un producto con especificaciones técnicas y funcionales de primera basada en tecnologías de punta, pero si no se justifica su necesidad, y su potencial comercial, será difícil introducirlo en el mercado y garantizar que sea un negocio rentable. • Se aprendió a usar al plan de negocios, como una herramienta de simulación para comercializar nuestro producto, exponer y dominar temas que no solo implican sus beneficios tecnológicos, sino que también las ventajas que ofrece al cliente final y de esta manera resaltar sus propiedades para que sea atractivo en el mercado.
Conclusiones • Se ha desarrollado una técnica que además de permitir controlar a las aplicaciones de una red, puede derivar otras funcionalidades. El poder controlar y administrar los mensajes que el sistema operativo y las aplicaciones se envían, nos brinda un amplio campo de aplicabilidad. El producto nos muestra que podemos controlar y modificar la interfase del usuario a nuestro criterio, esta técnica no solo funciona en menús y botones de la barra de tareas, también funciona sobre objetos que están sobre una ventana de Windows, para ello se necesita saber que mensajes y estructura de datos usan para poder controlarlos.
¿Preguntas? Muchas gracias