Malware Malware (del inglés malicious software), también llamado badware, software malicioso o software malintencionado es un tipo de software que tiene como objetivo infiltrarse o dañar una computadora sin el consentimiento de su propietario. El término malware es muy utilizado por profesionales de la informática para referirse a una variedad de software hostil, intrusivo o molesto. Algunos de los primeros programas infecciosos, incluyendo el primer gusano de Internet y algunos virus de MS-DOS, fueron elaborados como experimentos, bromas o simplemente como algo molesto, no para causar graves daños en las computadoras. En algunos casos el programador no se daba cuenta de cuánto daño podía hacer su creación. Algunos jóvenes que estaban aprendiendo sobre los virus los crearon con el único propósito de probar que podían hacerlo o simplemente para ver con qué velocidad se propagaban. Ejemplos: Virus informático se usa para designar un programa que al ejecutarse, se propaga infectando otros software ejecutables dentro de la misma computadora. Troyanos son programas maliciosos que están disfrazados como algo inocuo o atractivo que invitan al usuario a ejecutarlo ocultando un software malicioso. Rootkits: Las técnicas conocidas como rootkits modifican el sistema operativo de una computadora para permitir que el malware permanezca oculto al usuario Backdoor: Una puerta trasera o backdoor es un método para eludir los procedimientos normales de autenticación a la hora de conectarse a una computadora. Los programas spyware son creados para recopilar información sobre las actividades realizadas por un usuario y distribuirla a agencias de publicidad u otras organizaciones interesadas. Los programas adware muestran publicidad al usuario de forma intrusiva en forma de ventanas emergentes (pop-up) o de cualquier otra forma. Esta publicidad aparece inesperadamente en el equipo y resulta muy molesta Los hijackers son programas que realizan cambios en la configuración del navegador web. Los keyloggers y los stealers son programas maliciosos creados para robar información sensible. El creador puede obtener beneficios económicos Nanotecnología La nanotecnología es un campo de las ciencias aplicadas dedicado al control y manipulación de la materia a una escala menor que un micrómetro, es decir, a nivel de átomos y moléculas (nanomateriales). Lo más habitual es que tal manipulación se produzca en un rango de entre uno y cien nanómetros. Nano- es un prefijo griego que indica una medida, no un objeto, de manera que la nanotecnología se caracteriza por ser un campo esencialmente multidisciplinar, y cohesionado exclusivamente por la escala de la materia con la que trabaja. Futuras aplicaciones Según un informe de un grupo de investigadores de la Universidad de Toronto, en Canadá, las quince aplicaciones más prometedoras de la nanotecnología son: Almacenamiento, producción y conversión de energía. Armamento y sistemas de defensa. Producción agrícola. Tratamiento y remediación de aguas. Diagnóstico y cribaje de enfermedades. Sistemas de administración de fármacos. Procesamiento de alimentos. Remediación de la contaminación atmosférica. Construcción. Monitorización de la salud. Detección y control de plagas. Control de desnutrición en lugares pobres. Informática. Alimentos transgénicos. Cambios térmicos moleculares (Nanotermología). Parche Cambios que se aplican a un programa, para corregir errores, agregarle funcionalidad, actualizarlo, etc. Si bien los parches suelen ser desarrollados por programadores ajenos a los autores iniciales del proyecto, esto no siempre es así. Un parche puede ser aplicado tanto a un binario ejecutable como al código fuente de cualquier tipo de programa, incluso, un sistema operativo. Tipos según el código Parches a archivos binarios A menudo un parche consiste en una actualización del archivo ejecutable de un programa. En este caso, el archivo binario es modificado para añadir los cambios o ser completamente reemplazados. El tamaño de los parches es variable. Algunos parches solamente modifican un archivo binario de la aplicación pero otros alteran mucho más el contenido. Si el parche sólo modifica el ejecutable, puede ser muy pequeño (por debajo del megabyte). La instalación de parches solía ser una tarea tediosa, y con mucha posibilidad de error. Un error solía significar tener que reinstalar la aplicación y el parche. Hoy en día, la instalación de parches se realiza, en muchos casos, por programas especiales de forma automática. Históricamente, los parches eran distribuidos e en tarjetas perforadas o en cintas, a las cuales se les debía cortar la cinta original y reemplazar ese pedazo de programa con el nuevo. La semejanza con el proceso que puede utilizar un costurero a la hora de remendar una pieza, explica el por qué del nombre de parche. Posteriormente, se distribuyeron en cintas magnéticas, disquetes o más tarde, en CDROM. El uso cada vez más extendido de Internet, permitió que la mayoría de los parches se distribuyan y pueden ser descargados desde las páginas web de las aplicaciones. Varias compañías de software han desarrollado herramientas para ayudar en la tarea de aplicar un parche a una aplicación binaria. Pocket Soft desarrolló RTPatch. WinZip tiene una utilidad de autoextracción que lanza un programa capaz de aplicar un parche. Algunos programas pueden actualizarse automáticamente por medio de Internet con muy poca o nula intervención del usuario. Es muy popular que el mantenimiento de los sistemas operativos se haga de esta manera. En situaciones donde los administradores de sistemas controlan un cierto número de computadoras, esta manera de automatización ayuda a mantener la consistencia. La aplicación de parches de seguridad comunmente ocurre de esta forma. Parches al código fuente En estos casos, un parche suele constar de un archivo de texto que describe modificaciones a realizar en el código fuente del programa en cuestión. Esta metodología es la más difundida en el ámbito del Software Libre. A modo de ejemplo, el servidor web más usado en la actualidad, Apache, evolucionó como un conjunto de parches que los encargados de páginas web crearon para añadir ciertas funcionalidades. . Tipos según su propósito Parches de depuración El objetivo de este tipo de parches es reparar bugs, o errores de programación que no fueron detectados a tiempo en su etapa de desarrollo. Cuando un programa tiene una alta probabilidad de contener este tipo de errores, se le llama versión beta. Parches de seguridad Los parches de seguridad solucionan agujeros de seguridad y, siempre que es posible, no modifican la funcionalidad del programa. Los parches de seguridad son especialmente frecuentes en aplicaciones que interactúan con Internet Parches de actualización Consiste en modificar un programa con el objetivo de incorporar metodologías más nuevas. Por ejemplo, optimizar en tiempo cierto programa, utilizar algoritmos mejorados, añadir funcionalidades, eliminar secciones obsoletas de software, etc.