ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Resumen Técnico de ponencia ¿Cómo programar de forma segura?


Enviado por   •  21 de Agosto de 2017  •  Documentos de Investigación  •  1.618 Palabras (7 Páginas)  •  115 Visitas

Página 1 de 7

Contenido

Capítulo 1        2

Resumen Técnico de ponencia ¿Cómo programar de forma segura?        2

Capitulo II        5

Glosario Técnico        5

Lista de referencias        9

        

        


Capítulo 1

Resumen Técnico de ponencia ¿Cómo programar de forma segura?

Hoy en día programar de forma segura se debe volver un hábito imprescindible en todos los desarrolladores del mundo, las buenas prácticas, las estrategias y las constantes actualizaciones de nuevos temas de seguridad se deben aplicar en todo lenguaje de programación, todo código fuente es vulnerable a ataques cibernéticos de cualquier índole un bug expuesto por un mal análisis dentro de la lógica de la programación puede ser un puente para que cualquier código malioso ingrese se aproveche y obtenga información de alguna compañía o que se aplique una inyección de código que provocaría un colapso de la operatividad del mismo [pic 1]

¿Por qué no se programa de forma segura?

Uno de los muchos fracasos por lo que muchos desarrolladores no aplican buenas practicas durante las fases de desarrollo de los sistemas es que no estos no están en constante capacitación o concientización de los riesgos informáticos en temas de seguridad de software, podemos ser expertos en la materia codificando de manera rápida, pero existen muchos puntos vulnerables que durante las fases del ciclo de desarrollo pueden estar débiles o pocos definidos por ejemplo: Falta de compromiso y participación de los usuarios, requerimientos incompletos, falta de apoyo de la dirección, entregas express, falta de recursos tecnológicos, etc. Estos ejemplos hacen que se creen vacíos o bugs que permiten crear puntos abiertos ante cualquier amenaza.

Existen también los niveles de confianza de muchos desarrolladores en afirmar que sus códigos fuentes son seguros, que solamente el ingeniero que lo creo sabe cómo funciona o que nadie está interesado en atacar la aplicación porque está adaptada de manera custom de acuerdo a la lógica del negocio y está totalmente encriptado, y el punto más común es decir que no hay tiempo o presupuesto para incluir temas de seguridad en el mismo.

¿Qué debo hacer para programar de forma segura?

Debemos estar en una constante actualización en temas de seguridad de software.

Si nuestras fortalezas y habilidades de desarrollo están orientados a un lenguaje de programación en específico debemos investigar detalladamente los bugs o las vulnerabilidades que constantemente se publican en sitios web dedicados en brindar las soluciones o la aplicación de parches de seguridad, igualmente debemos investigar las vulnerabilidades de los sistemas operativos, Gestores de bases de datos, y también de la infraestructuras de redes informáticas ya que estas son también entradas de códigos malicioso.

Conocer de estándares y políticas de seguridad antes de desarrollar.

Si estamos en fases de desarrollo de nuestro software, previamente en las fases del ciclo de análisis debemos tomar en cuenta: Políticas de seguridad de la información, Estándares o regulaciones establecidas, temas o aspectos legales propios del negocio, debemos también conocer cómo será la arquitectura y que tipo de datos o información se ejecutan en el mismo, conocer también a que tipos de usuarios va ir dirigida para brindarles una capacitación segura del uso del sistema.

Aplicar buenas técnicas en el desarrollo del código fuente.

Al momento de programar evitar dejar bugs que pueden ser puntos vulnerables para cualquier código malioso, hoy es muy común las inyecciones de código y afectar directamente las bases de datos de los sistemas, pueden haber sentencias que ejecuten borrar datos de las tablas o eliminarlas completamente impactando drásticamente la operación de los sistemas del negocio. Debemos hacer declaraciones correctas de sentencias de código, clases y métodos al desarrollar en cualquier lenguaje una de las grandes problemas es que el código al tomarlo otro desarrollador le dificulta interpretarlo debido a que este no dejo una buena documentación clara de los puntos débiles o vacíos que tiene actualmente la aplicación. Una excelente documentación de lo que desarrollamos puede permitir el mejorar la seguridad del mismo aplicando líneas de código o parches que remedian puntos débiles o vulnerabilidades latentes.

Capitulo II

Glosario Técnico

        

  1. IT: refiere al uso de equipos de telecomunicaciones y computadoras (ordenadores) para la transmisión, el procesamiento y el almacenamiento de datos. La noción abarca cuestiones propias de la informática, la electrónica y las telecomunicaciones.

  1. OTI: el término “Tecnología de Operaciones” está asociado con los dispositivos del área de “Front-End” que se utilizan para llevar a cabo las actividades de operación de la empresa. Estos sistemas de OT son desarrollados por un proveedor concreto que es el propietario de la tecnología, y operan en tiempo real o casi en tiempo real.

  1. Sistemas SCADA: Supervisory Control And Data Acquisition (Supervisión, Control y Adquisición de Datos) es un concepto que se emplea para realizar un software para ordenadores que permite controlar y supervisar procesos industriales a distancia. Facilita retroalimentación en tiempo real con los dispositivos de campo (sensores y actuadores), y controla el proceso automáticamente. Provee de toda la información que se genera en el proceso productivo (supervisión, control calidad, control de producción, almacenamiento de datos, etc.) y permite su gestión e intervención.
  1. Modelo ISO: El modelo de interconexión de sistemas abiertos (ISO/IEC 7498-1), más conocido como “modelo OSI”, (en inglés, Open System Interconnection) es un modelo de referencia para los protocolos de la red de arquitectura en capas, creado en el año 1980 por la Organización Internacional de Normalización (ISOInternational Organization for Standardization).​ Se ha publicado desde 1983 por la Unión Internacional de Telecomunicaciones (UIT) y, desde 1984, la Organización Internacional de Normalización (ISO) también lo publicó con estándar. Su desarrollo comenzó en 1977.
  1. Enlace de datos: el nivel de enlace de datos (en inglés: data link level) o capa de enlace de datos, es la segunda capa del modelo OSI, es responsable de la transferencia fiable de información a través de un circuito de transmisión de datos. Recibe peticiones de la capa de red y utiliza los servicios de la capa física
  1. Vulnerabilidad informática: una vulnerabilidad es una debilidad del sistema informático que puede ser utilizada para causar un daño. Las debilidades pueden aparecer en cualquiera de los elementos de una computadora, tanto en el hardware, el sistema operativo, cómo en el software.
  1. Sistema operativo: es el software principal o conjunto de programas de un sistema informático que gestiona los recursos de hardware y provee servicios a los programas de aplicación de software, ejecutándose en modo privilegiado respecto de los restantes (aunque puede que parte de él se ejecute en espacio de usuario)
  1. Base de datos (BD): es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.
  1. Usuario (User): es «aquel que usa algo» o «que usa ordinariamente algo»
  1. Hardware: conjunto de elementos físicos o materiales que constituyen una computadora o un sistema informático.
  1. Software: al equipo lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos' necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.
  1. Lenguaje de programación: es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.
  1. 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.
  1. Common Vulnerabilities: Common Vulnerabilities and Exposures, siglas CVE, es una lista de información registrada sobre conocidas vulnerabilidades de seguridad, donde cada referencia tiene un número de identificación único. De esta forma provee una nomenclatura común para el conocimiento público de este tipo de problemas y así facilitar la compartición de datos sobre dichas vulnerabilidades.
  1. Cyber: Ciber- es un prefijo común derivado de "cybernetic" o "cibernética"
  1. Ciberataques: un ciberataque es cualquier tipo de maniobra ofensiva hecha por individuos u organizaciones que atacan a sistemas de información como lo son infraestructuras, redes computacionales, bases de datos que están albergadas en servidores remotos, por medio de actos maliciosos usualmente originados de fuentes anónimas que también roban, alteran o destruyen un blanco específico mediante hackeo de un sistema vulnerable.
  1. WannaCry: también conocido como WanaCrypt0r 2.0 es un software malicioso de tipo ransomware.
  1. Malware: software dañino o software malintencionado, es un tipo de software que tiene como objetivo infiltrarse o dañar una computadora o sistema de información sin el consentimiento de su propietario.
  1. Internet de las cosas: Internet of things, abreviado IoT) es un concepto que se refiere a la interconexión digital de objetos cotidianos con internet. Alternativamente, Internet de las cosas es la conexión de Internet con más “cosas u objetos” que personas. También se suele conocer como internet de todas las cosas o internet en las cosas. Si objetos de la vida cotidiana tuvieran incorporadas etiquetas de radio, podrían ser identificados y gestionados por otros equipos, de la misma manera que si lo fuesen por seres humanos.
  1. Funciones peligrosas en lenguajes de programación: ciertas funciones que utilizadas de forma incorrecta, o con fines maliciosos (exploits, crackeos, etc) comprometan seriamente la seguridad del servidor que está ejecutando.
  1. Riesgos informáticos: es un proceso que comprende la identificación de activos informáticos, sus vulnerabilidades y amenazas a los que se encuentran expuestos así como su probabilidad de ocurrencia y el impacto de las mismas, a fin de determinar los controles adecuados para aceptar, disminuir, transferir o evitar la ocurrencia del riesgo.

Lista de referencias

Wikipedia

https://es.wikipedia.org

...

Descargar como (para miembros actualizados) txt (11 Kb) pdf (210 Kb) docx (74 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com