¿Qué hacen los subprogramas de Java? ¡Gracias! En el desarrollo de aplicaciones tradicional, los desarrolladores a menudo tienen problemas para migrar programas desarrollados en una plataforma de máquina a otras plataformas. La aparición de Java ha reducido en gran medida la carga de este desarrollador. Su "compilar una vez, ejecutar en cualquier lugar (escribir una vez, ejecutar). Anywhere) Su característica "escribir una vez, ejecutar en cualquier lugar" permite a los desarrolladores desarrollar aplicaciones multisistema y multiplataforma. Hoy en día, varias aplicaciones Java utilizan ampliamente subprogramas Java, que son subprogramas especiales de Java. Estos subprogramas pueden brindar a las personas páginas web más vívidas y atractivas. Varios navegadores que admiten Java, como Netscape Navigator, Microsoft Internet Explorer (MSIE), etc., descargarán y ejecutarán automáticamente subprogramas de Java integrados en las páginas web. Sin embargo, si bien los miniprogramas aportan beneficios a las personas, también conllevan riesgos potenciales para la seguridad. Le da a los pequeños programadores la oportunidad de piratear las máquinas de otras personas. De hecho, ningún sistema informático en el mundo es 100% seguro, pero a medida que Internet y Java se vuelven cada vez más populares en todo el mundo, las personas descargan una gran cantidad de subprogramas de Java cuando navegan por la web, lo que expone las máquinas de los usuarios de la red a más amenazas a la seguridad que nunca antes. Hasta el momento, no existe una solución completa a los problemas anteriores. Afortunadamente, los diseñadores de Java ahora se han dado cuenta de esto y están tratando de limitarlo. Por ejemplo, la cada vez más popular tecnología de firma digital se utiliza en la versión 1.1 de JDK para minimizar los peligros que pueden causar los programas pequeños. Aún así, las máquinas de los usuarios de la red son vulnerables a los ataques de los subprogramas y no hay muchas cosas que los usuarios puedan hacer para contrarrestarlos. Con la proliferación de subprogramas de Java, las personas que utilizan navegadores compatibles con Java no pueden evitar prestar atención a la ubicación de las páginas web que navegan. ¿Cuáles son los peligros potenciales de los archivos ejecutables en las páginas web? Se pueden dividir a grandes rasgos en cuatro tipos: modificar el sistema, violar la privacidad, acceder a recursos sin autorización y ser hostiles con los usuarios. Malicioso 1: Alteración del sistema Un lenguaje de programación poderoso como Java tiene la capacidad de modificar datos en el disco duro y el sistema de archivos de una computadora. Java contiene muchas clases predefinidas cuyos métodos pueden eliminar o modificar archivos, cambiar el contenido de un disco en uso o eliminar un programa ejecutable o sus subprocesos. Es probable que los diseñadores de subprogramas abusen de estas características. Modificar el sistema es probablemente el más grave de todos los peligros potenciales, y los diseñadores de Java han hecho todo lo posible para limitar este peligro; en cambio, ActiveX no ha limitado las posibles consecuencias; La llamada modificación del sistema incluye la piratería del sistema. Cuando Java se utiliza de forma insegura, es posible que los subprogramas descubran rutas de ataque. Dado que los piratas informáticos siempre están buscando formas de invadir los sistemas informáticos de otras personas (obtener acceso al sistema y derechos de uso), todo lo que los usuarios podemos hacer es tener cuidado al usar Java, por lo que garantizar la seguridad del entorno de ejecución de Java sigue siendo la principal preocupación de Responsabilidad de los diseñadores de Java, el diseño de Java debe garantizar que no entren otros agujeros de seguridad en el sistema cuando el usuario descarga el subprograma. Java debe diseñarse de modo que cuando un usuario descargue un subprograma, no entren otras vulnerabilidades de seguridad en el sistema. Debido a que Java puede ejecutarse en múltiples plataformas operativas, un subprograma malicioso que se ejecuta correctamente en un sistema operativo (como Solaris) también puede ejecutarse correctamente en otro sistema operativo (como Windows NT). Por lo tanto, si bien Java ofrece ejecución multiplataforma de aplicaciones, también ofrece la posibilidad de ataques multiplataforma por parte de subprogramas maliciosos. No es imposible piratear un sistema informático que utilice Java. El Equipo de Programación de Internet Segura de la Universidad de Princeton, que ha descubierto muchas vulnerabilidades de seguridad de Java actualmente conocidas, demostró este subprograma de ataque en el laboratorio.
Aunque se han proporcionado algunos "parches" para algunas vulnerabilidades de seguridad descubiertas. Si bien se han proporcionado "parches" para algunas vulnerabilidades descubiertas, es posible que otros ataques más sofisticados aún estén al acecho sin ser detectados. En los sistemas informáticos críticos de hoy en día, estos ataques a pequeños programas que alteran el sistema pueden ser muy destructivos para los datos. Por ejemplo, puede destruir registros financieros en bases de datos aparentemente seguras, provocando pérdidas financieras y quiebras de empresas, o puede alterar datos médicos de pacientes en hospitales, provocando un tratamiento médico inadecuado o incluso la muerte del paciente. Por lo tanto, en situaciones en las que actualmente no hay una solución disponible, se debe tener mucho cuidado al utilizar subprogramas de Java para no exponer sistemas de datos importantes a los peligros de este nuevo tipo de ataque. Al ser el sistema más abierto del mundo, Internet es un paraíso para los piratas informáticos. Esto se puede ver fácilmente en las interminables intrusiones en Internet. Por lo tanto, cómo evitar que Java se convierta en una herramienta de destrucción para los piratas informáticos es una cuestión importante a la que se enfrentan los desarrolladores y usuarios. El segundo tipo de ataque implica exponer datos secretos en la computadora de otra persona. Por ejemplo, en un sistema Unix, acceder al archivo /etc/passwd, que registra los nombres y contraseñas de todos los usuarios del sistema, podría comprometer todo el sistema. Además, los sistemas informáticos también pueden dar lugar a la filtración de información confidencial. Por ejemplo, empresas sin escrúpulos pueden utilizar el espionaje industrial para robar los planes comerciales de empresas rivales. Los usuarios individuales también deben considerar cuidadosamente si su correo electrónico privado o sus registros financieros pueden verse comprometidos, ya que cualquier información confidencial que pueda transmitirse por correo electrónico o Internet puede revelarse. Explotar el poder de Java hace posible crear una doble falsificación, y la falsificación de correo electrónico (donde un pequeño programa explota el sistema para enviar un correo electrónico falso para falsificar el correo electrónico real) a menudo empeora la situación. Por último, las capacidades de sonido omnipresentes en muchos sistemas actuales también pueden dar lugar a escuchas ilegales. Si un atacante tiene acceso al micrófono del sistema, es posible realizar escuchas ilegales. Una forma más sutil de escuchar a escondidas es acceder a la tabla de procesos y a los archivos relacionados. Las escuchas ilegales basadas en la red también pueden implicar el seguimiento de las conexiones a Internet por las que pasa un usuario específico. Java puede defenderse con éxito contra algunas formas de ciberataques. Por ejemplo, las operaciones de entrada y salida del sistema de archivos están estrictamente controladas. Sin embargo, esto va en contra del requisito de que un subprograma normalmente necesita un canal para transferir datos de regreso, ya que el subprograma siempre debe estar conectado al servidor de origen. Es aún más difícil protegerse contra la falsificación de correos electrónicos. Sin limitar la interfaz de conexión del cliente, no se puede eliminar la falsificación de correo electrónico. Malicioso 3: Denegación de servicio Los ataques de denegación de servicio impiden el uso normal de los recursos del sistema. Una práctica común es utilizar programas ejecutables para consumir más recursos de los normalmente asignados al sistema, o incluso secuestrar todo el sistema. Este tipo de ataque también se puede dividir en varios subtipos, como llenar el sistema de archivos o agotar todos los recursos de archivos disponibles utilizando toda la memoria del sistema y generando miles de ventanas, impidiendo efectivamente la salida de la pantalla o buscando nuevas ventanas; abrir; Genera muchos subprocesos de ejecución de alta prioridad para agotar los ciclos de ejecución de la CPU. Aunque este tipo de peligros también pueden ser muy dañinos, no parecen llamar la atención de los diseñadores de Java. Existe cierto debate sobre la importancia de prevenir tales ataques. En la mayoría de los casos, un tipo de ataque de denegación de servicio se acerca más a un ataque hostil al usuario, porque la recuperación de dicho ataque suele ser fácil y solo requiere reiniciar el sistema. Sin embargo, incluso esto puede tener graves consecuencias en algunos sistemas importantes y, por supuesto, nadie quiere reiniciar su sistema mientras está conectado a un sistema importante. Por ejemplo, una denegación deliberada de servicio en una máquina que procesa transacciones de acciones puede causar un daño increíble. Los ataques de denegación de servicio son uno de los problemas de seguridad más comunes en Java. Ahora existe un sitio web en Internet que se especializa en estudiar estos temas. Esta es la página de inicio de Hostile Applet de Mark La Due (http://www.math.gatech.edu/~maladue/HostileApplets.htm). desea echar un vistazo. A continuación se muestran algunos ejemplos prácticos. Hay muchos ejemplos prácticos aquí. No es difícil crear este tipo de ataque, pero sí prevenirlo porque el modelo de seguridad actual de Java no proporciona una buena solución.