Mostrando las entradas con la etiqueta java. Mostrar todas las entradas
Mostrando las entradas con la etiqueta java. Mostrar todas las entradas

domingo, 3 de marzo de 2013

Java detrás de los ataques a Apple, Facebook y Twitter

Extracto de Hispasec


Estos últimos días se han conocido varias noticias de ataques relevantes: los ingenieros de Facebook, Twitter y Apple han sido infectados por malware en las redes internas de estas compañías. Los ataques parecen tener en común varios elementos, pero básicamente, están basados en fallos de seguridad en Java. 

El viernes 15 de febrero Facebook publicaba una nota en la que admitía que durante el mes de enero, sistemas (al parecer, portátiles) internos (probablemente de ingenieros) habían sido comprometidos con malware. No aclaraba cuántos. 

Según cuenta Facebook, una página que trataba sobre el desarrollo para móviles (al parecer iPhoneDevSDK) había sido comprometida. En ella, habían subido un exploit para Java que aprovechaba una vulnerabilidad previamente desconocida y que permitía la ejecución de código. Facebook se apresura a admitir que sus sistemas estaban completamente actualizados y que contaban con un antivirus. 

Estas medidas son necesarias (en especial la de actualizar) pero, lógicamente, insuficientes. Poco después, el día 19, Apple también admite un problema de seguridad. De nuevo, sus desarrolladores visitan una web específica para programadores y el plugin de Java hace el resto, infectando los sistemas Mac.

 Tanto Facebook como Apple aseguran que no han accedido a datos sensibles de su red y que siguen con las investigaciones. Por su parte, Facebook reportó a Oracle el fallo utilizado y fue corregido en su actualización del 1 de febrero. Precisamente ese día, Twitter admite algo parecido. Detectaron accesos a sus datos (esta vez los atacantes sí que tuvieron éxito) y los pudieron acceder a las contraseñas (afortunadamente cifradas y salteadas) de 250.000 usuarios. Aunque no acusa directamente a Java, en la misma nota recomiendan la desactivación de Java del navegador. 

 Un ataque ingenioso Los 0-day (fallos aprovechados por atacantes antes de que exista parche) solo pueden ser mitigados por la seguridad en profundidad. Curiosamente, las vulnerabilidades de este tipo están siendo muy habituales en los últimos tiempos, mientras que la seguridad en profundidad sigue olvidada en favor del mantra obsoleto que confía ciegamente en el antivirus, cortafuegos y sentido común... herramientas que por sí mismas no solucionan nada. Introducir un exploit previamente desconocido en una web visitada por programadores es una buena idea. 

Evidentemente, este fallo no solo afectó a Facebook o Apple, sino que seguro son muchos más los infectados. No se trataría por tanto de un ataque dirigido contra estas empresas, pero sí que quizás "orientado" hacia programadores, con todo lo que ello significa. El truco consistiría en esperar a que las víctimas acudieran a una web, en vez de enviar un enlace, fichero o cualquier otro señuelo como sucede habitualmente. Esto incluso lo hace menos sospechoso y las víctimas pueden sentirse mucho más confiadas en que realmente, "no han hecho nada malo". 

Usar un exploit de Java es una garantía de éxito además. Es sencillo de explotar, elude muchas restricciones sin complejidad, y está más que estudiado por la ingeniería de las mafias del malware cómo evitar la inmensa mayoría de los motores antivirus. Por si fuera poco, al esparcirse a través del navegador, se consigue entrar en las redes internas de las compañías sin demasiado esfuerzo. 

Hoy en día, pensar en que los ataques se producen desde fuera, saltando servidores, cortafuegos, IDS y otras medidas es un concepto muy de los 90. ¿Por qué pelear contra los altos y vigilados muros del castillo, si puedes "aparecer" ya dentro gracias a la magia de las vulnerabilidades en los navegadores? 

Los ataques se realizan sobre los equipos de escritorio de las personas que ya están en la red interna, y a través del navegador preferiblemente. ¿Por qué no estaban protegidos? En los últimos meses, se ha advertido desde todos los frentes que es necesario (no recomendable, sino imprescindible) desactivar Java del navegador o activarlo exclusivamente para ejecutar ciertos applets firmados muy concretos. 

Esta es una buena medida contra los 0-days que han aparecido y aparecerán contra este software. Al parecer, algunos programadores de Facebook, Twitter y Apple no lo tuvieron en cuenta. Lamentablemente, cualquier compañía puede ser comprometida de esta manera, pero el hecho de que los atacantes hayan tenido éxito a través de un software tan probadamente atacado como Java, hace que piense en que, al menos, podía haberse evitado esta vía sin demasiado esfuerzo y que se le ha puesto muy fácil a los atacantes. 

Este tipo de incidentes aporta muy mala imagen a las empresas que lo sufren. No hay más que ver el amable eufemismo usado para titular las notas de prensa en las que Twitter y Facebook admiten que han sido atacadas: "Seguimos manteniendo seguros a nuestros usuarios" y "Protegiendo a la gente de Facebook".

martes, 28 de agosto de 2012

Como ejecutar un jar desde un Applet de java

Actualmente si queremos incluir un jar ejecutable incrustado en nuestro sitio web, html provee la etiqueta applet.

Sin embargo, Java posee políticas de seguridad para que no se ejecute código malicioso en la máquina del cliente y bloquea la ejecución de cualquier applet directamente desde el sitio web.

Para que un archivo jar ejecutable pueda ser ejecutado como applet éste debe estar firmado.

Para firmar un applet, debemos de utilizar keytool y jarsigner, los cuales se localizan en en directorio local de java jre.

Primero, se debe generar un certificado para firmar el jar.
>keytool -genkey -alias [NombreDelCertificado] -validity [#TiempoDeExpiración] -v
Ejemplo: keytool -genkey -alias crtificado1 -validity 600 -v

Una vez ejecutado el keytool, se debera proporcionar un password del almacen de claves y una serie de preguntas para completar el proceso de generacion del certificado. Una vez creado, dicho certificado será util para firmar archivos jar.

>jarsigner [NombreDelJar] [NombreDelCertificado] -verbose
Ejemplo: jarsigner archivo.jar certificado1 -verbose

Finalizado lo anterior, el archivo jar ejecutable está listo para ser ejecutado desde un sitio web mediante la etiqueta applet.

Ing. Cruz

lunes, 9 de enero de 2012

JBoss

JBOSS

JBoss es un servidor de aplicaciones J2EE de código abierto implementado en Java puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier sistema operativo para el que esté disponible Java. Los principales desarrolladores trabajan para una empresa de servicios, JBoss Inc., adquirida por Red Hat en abril del 2006, fundada por Marc Fleury, el creador de la primera versión de JBoss. El proyecto está apoyado por una red mundial de colaboradores. Los ingresos de la empresa están basados en un modelo de negocio de servicios.

JBoss implementa todo el paquete de servicios de J2EE.

Servidor de aplicaciones JBoss

JBoss AS es el primer servidor de aplicaciones de código abierto, preparado para la producción y certificado J2EE 1.4, disponible en el mercado, ofreciendo una plataforma de alto rendimiento para aplicaciones de e-business. Combinando una arquitectura orientada a servicios revolucionaria con una licencia de código abierto, JBoss AS puede ser descargado, utilizado, incrustado y distribuido sin restricciones por la licencia. Por este motivo es la plataforma más popular de middleware para desarrolladores, vendedores independientes de software y, también, para grandes empresas.

Las características destacadas de JBoss incluyen :

Producto de licencia de código abierto sin coste adicional.
Cumple los estándares.
Confiable a nivel de empresa
Incrustable, orientado a arquitectura de servicios.
Flexibilidad consistente
Servicios del middleware para cualquier objeto de Java
Ayuda profesional 24x7 de la fuente
Soporte completo para JMX

EJB 3.0

Implementa la especificación inicial de EJB 3.0.

JBoss AOP

JBoss AOP está orientado a trabajar con Programación Orientada a Aspectos. Esto permitirá añadir fácilmente servicios empresariales (transacciones, seguridad, persistencia) a clases Java simples.

Hibernate

Hibernate es un servicio de persistencia objeto/relaciones y consultas para Java. Hibernate facilita a los desarrolladores crear las clases de persistencia utilizando el lenguaje Java - incluyendo la asociación, herencia, polimorfismo y composición y el entorno de colecciones Java.

JBoss Cache

JBoss Cache es un producto diseñado para almacenar en caché los objetos Java más frecuentemente accedidos de manera que aumente de forma notable el rendimiento de aplicaciones e-bussines. Eliminando accesos innecesarios a la base de datos, JBoss Cache reduce el tráfico de red e incrementa la escalabilidad de las aplicaciones.

JBoss Cache proporciona dos APIs de caché que se ajustan a nuestras necesidades. La API de JBossCache ofrece una caché tradicional basada en nodos y estructurada en árbol, y la API JBossCacheAOP, edificada sobre la API de JBossCache, proporciona capacidad para la replicación de objetos Java de grano fino, con el máximo beneficio del rendimiento.


JBoss IDE

Brinda una IDE Eclipse para el JBoss AS. De esta forma la depuración y otras tareas asociadas al desarrollo de aplicaciones puede ser realizadas desde el entorno de Eclipse.

JBoss jBPM

Gestor de procesos de negocio, también denominado "WorkFlow".

jBPM es una plataforma para lenguajes de procesos ejecutables, cubriendo desde gestión de procesos de negocio (BPM) bajo workflow hasta orquestación de servicios. Actualmente jBPM soporta tres lenguajes de procesos, cada uno enfocado a un ambiente y funcionalidad especifica:

jPDL
BPEL
Pageflow

jBPM soporta a estos lenguajes de procesos sobre una sola tecnología: Máquina Virtual de Procesos(PVM)

JBoss Portal

Es una plataforma de código abierto para albergar y servir una interfaz de portales Web, publicando y gestionando el contenido así como adaptando el aspecto de la presentación.

Como características principales categorizadas cabe destacar:

Tecnología y arquitectura

JEMS: hace uso del potencial de JBoss Enterprise Middleware Services : JBoss Application Server, * JBoss Cache, Jgroups e Hibernate.
DB Agnóstico: funciona con cualquier SGBD soportado por Hibernate
SSO/LDAP: hace uso de las soluciones de single sign on (SSO) de Tomcat y JBoss
Autenticación JAAS: módulos de autenticación adaptables vía JAAS
Caché: utiliza cacheado en la capa de visualización para mejor rendimiento
Clusterizable: soporte de Cluster que permite que un portal pueda ser desplegado en varias instancias
Hot-Deployment: hace uso de las características de autodespliegue dinámico incluido en JBoss
Instalador SAR: instalación basada en web que hace que la instalación y configuración inicial sea muy sencilla.

Estándares soportados

Portlet Specification and API 1.0 (JSR-168)
Content Repository for Java Technology API (JSR-170)
Java Server Faces 1.2 (JSR-252)
Java Management Extensión (JMX) 1.2
Compatibilidad 100% con J2EE 1.4 al utilizar JBoss AS

Contenedor de Portales

Múltiples Instancias de Portales: habilidad para ejecutar múltiples portales desplegados en un único contenedor.
IPC (Inter-Portlet Communication): la API habilita a los portlets crear enlaces a otros objetos como páginas, portales o ventanas.
Dynamicity: permite a administradores y usuarios crear y eliminar objetos como portlets, páginas, portales, temas y composición en tiempo de ejecución.
Internacionalización: permite utilizar recursos de internacionalización para cada portlet.
Servicios empotrables: la autenticación realizada por el contenedor de servlets y JAAS posibilita cambiar el esquema de autenticación.
Arquitectura basada en Páginas: permite for the grouping/division of portlets on a per-page basis.
Soporte de Frameworks existentes: los Portlets pueden utilizar Struts, Spring MVC, Sun JSF-RI, AJAX o MyFaces.

Temas y Layouts

Temas y Layouts fácilmente intercambiables: los temas y layouts nuevos que contienen imágenes se pueden desplegar en ficheros WAR.
API Flexible: la API de Temas y Layout están diseñados para separar la lógica de negocio de la capa de presentación.
Estrategia de layout por página: a cada página se le puede asignar layouts distintos.

Funcionalidades de Usuarios y Grupos

Registro y validación de usuarios: parámetros configurables del registro permite la validación de usuarios vía email previa a la activación.
Acceso de usuarios: hace uso de la autenticación del contenedor de servlets.
Crear/Modificar usuarios: habilita a los administradores crear/modificar perfiles de usuarios.
Crear/Modificar roles: habilita a los administradores crear/modificar roles.
Asignación de roles: habilita a los administradores asignar roles a los usuarios.

Gestión de Permisos

API extensible de permisos: permite asignar permisos de acceso a portlets basados en la definición de roles.
Interfaz de administración: asignación de permisos a roles en cualquier momento para portlets, páginas o instancias de portal desplegados.

Sistema de gestión de contenidos

Compatible JCR: el CMS utiliza Apache Jackrabbit, una implementación en código abierto del estándar Java Content Repository API.
Soporte de almacenamiento en SGBD o en el sistema de ficheros.
Soporte externo de contenidos tipo Blob (binarios): se puede configurar el almacenamiento en el sistema de ficheros de contenido binario de gran tamaño y los nodos con las referencias y propiedades residan en el SGBD.
Control de versiones: Todo contenido modificado/creado es autoversionado con el historial de cambios, que pueden ser revisados en cualquier momento.
Contenidos mostrados en URLs amigables para los motores de búsqueda: http://yourdomain/portal/content/index.html (sin incluir las acciones de los portlets)
URLs del portal sencillas: mostrar descarga de binarios con URLs fáciles de recordar. (http://domain/files/products.pdf)
Soporte de múltiples instancias de Portlets HTML: permite que instancias extra de contenido estático del CMS sean publicadas en ventanas distintas.
Soporte de directorios: crear, mover, eliminar, copiar y subir árboles completos de directorios.
Funciones de Ficheros: crear, mover, copiar, cargar y eliminar ficheros.
Explorador de directorios embebido: cuando se copia, mueve, elimina o se crean nuevos ficheros, los administradores pueden simplemente navegar por el árbol de directorios hasta encontrar la colección en la que se realizará la acción.
Arquitectura fácil de usar: todas las acciones que se pueden realizar sobre ficheros pueden hacerse a base de clicks de ratón.
Editor HTML: con modo WYSIWYG, previsualización y edición de código HTML. Soporta la creación de tablas, fuentes, zoom, enlaces a imágenes y URLs, soporte de películas flash, listas con viñetas o numéricas...
Soporte de editor de estilos: el editor WYSIWYG muestra la hoja de estilo actual del Portal, para un sencillo intercambio de clases.
Soporte de Internacionalización: los contenidos pueden ser asignados para una zona regional determinada y ser mostrada en función de la configuración de usuario o basado en las opciones del navegador web .

Tablón de mensajes

Respuesta inmediate mediante un sólo click.
Respuesta con cita: se puede citar un tema existente al responder.
Control del flujo: previene el abuso de envío masivo de mensajes mediante una ventana de tiempo configurable.
Creación de categorías contenedoras de foros.
Operaciones sobre Foros: se puede crear un foro y asignarlo a una categoría específica, además se puede copiar, mover, modificar y eliminar.
Reordenación de foros y categorías: se puede establecer el orden en el que se quiere que aparezcan los foros y categorías en las páginas.

Tomcat

Tomcat es un contenedor de servlets utilizado como la implementación de referencia oficial para las tecnologías de JavaServer Pages y Java Servlet. Las especificaciones de estas tecnologías las desarrolla Sun bajo el proceso de Comunidad Java.

JBoss Mail Server

Es el servidor de correo para la arquitectura de JBoss; se utiliza principalmente con JEMS.

JBoss MQ

Para la mensajería en JMS

JBoss Messaging

JBoss Messaging provee un servicio de mensajería robusto y de alto rendimiento, soporta esquemas de integración que van desde simples mecanismos entre aplicaciones hasta grandes Arquitecturas de Servicios (SOA) y Canales de Servicios Empresariales (ESB).

JBoss Forum (JForum)

Es el paquete dedicado especialmente a los foros como su nombre indica. Es un foro de discusión en Java similar en prestaciones y aspecto a phpBB. Tiene licencia BSD, soporte para bases de datos MySQL, PostgreSQL y HSQLDB, una interfaz altamente configurable, soporte para un número ilimitado de grupos de usuarios con permisos distintos, notificaciones por correo electrónico de actividad en los posts, soporte para internacionalización, etc.

Las novedades incluyen soporte RSS para foros, hilos y mensajes individuales, caché configurable, soporte para HSQLDB, mejoras de rendimiento y estabilidad, internacionalización configurable en cada usuario, instalación gráfica por medio de una interfaz web, los hilos más visitados, más opciones de administración relacionadas con la seguridad y los permisos de uso y muchas cosas más.

Fuente: http://es.wikipedia.org/wiki/JBoss

Comunidad: http://community.jboss.org/

domingo, 24 de julio de 2011

Tutorial de Servicios Web con Java

Hola a todos,

En esta ocasión les comparto dos tutoriales para la creación de Servicios Web con Java.

The Java Web Services Tutorial is an adjunct to the J2EE 1.4 Tutorial, which
you can download from the following location:
http://java.sun.com/j2ee/1.4/download.html#tutorial
The Java Web Services Tutorial addresses the following technology areas, which
are not covered in the J2EE 1.4 Tutorial:
 
• The Java Architecture for XML Binding (JAXB)
• The StAX APIs and the Sun Java Streaming XML Parser implementation
• XML and Web Services Security (XWS Security)
• XML Digital Signature
• Service Registry
 
All of the examples for this tutorial are installed with the Java WSDP 1.6 bundle
and can be found in the subdirectories of the //
samples directory, where JWSDP_HOME is the directory where you installed
the Java WSDP 1.6 bundle.

martes, 29 de marzo de 2011

James Gosling, padre de Java, se fue a Google



El programador que desarrolló Java dentro de Sun Microsystems, acaba de unirse a Google luego de decidir no quedarse en Sun cuando fue comprada por Oracle el año pasado.

Gosling publicó un post en su blog donde cuenta que aceptó una oferta de trabajo de Google, aunque por el momento no sabe cuáles serán sus funciones exactamente.

James Gosling también explica que en el último año su carrera atravesó “giros extraños” y refiere a un año duro después de sus discrepancias con el director de Oracle.

Asimismo, el creador de Java asegura que durante este tiempo dijo que “no” a muchas ofertas y que tomar decisiones como esta es “de las cosas más difíciles de la vida”.

La llegada a Google de Gosling coincide con una nueva demanda de Oracle hacia Google, que acusa al coloso online de incluir código de Java en Android OS.

En caso de que Oracle consiga ganar su batalla contra Google por usar Java en Android, todo apunta a que sobre Gosling recaerá la responsabilidad de adaptar un nuevo lenguaje a las características actuales del software.

Al respecto, Gosling habría comentado que en las reuniones entre Sun y Oracle, donde se estudiaban la situación de las patentes entre Sun y Google, “se pudo ver brillar lo ojos del abogado de Oracle”.

RedUsers

lunes, 21 de febrero de 2011

Múltiples vulnerabilidades en Oracle Java SE y Java for Business

Se han anunciado hasta 21 vulnerabilidades diferentes en Oracle Java SE y Java for Business en las versiones 1.4.2_29, 5.0 Update 27, 6 Update 23; y anteriores que podrían llegar a permitir a un atacante remoto lograr el compromiso de los sistemas afectados.

Se ven afectados los componentes Deployment, Networking, Launcher, Install, Sound, Swing, JDBC, HotSpot, JAXP, 2D, XML Digital Signature, Java Language y el componente Security de JavaDB. Los fallos encontrados tienen diversos efectos, de forma que un atacante remoto podría provocar denegaciones de servicio, obtener información sensible, modificar la información de usuario o ejecutar código arbitrario.

Oracle ha publicado las actualizaciones necesarias para corregir estos problemas, que se encuentran disponibles para descarga desde el propio aviso de seguridad:
http://www.oracle.com/technetwork/topics/security/javacpufeb2011-304611.html

Más Información:

Oracle Java SE and Java for Business Critical Patch Update Advisory
http://www.oracle.com/technetwork/topics/security/javacpufeb2011-304611.html

lunes, 12 de abril de 2010

0-day: Inyección arbitraria de parámetros a través de Java Deployment Toolkit


Tavis Ormandy, reputado investigador y empleado de Google, ha publicado un aviso de seguridad en la lista de Full Disclosure donde describe un método para inyectar parámetros arbitrarios a través de Java Deployment Toolkit.

Se trata de un 0-day que podría permitir a un atacante remoto ejecutar una aplicación java arbitraria, desde una ubicación controlada por el atacante y sin más restricciones que las aplicadas a una aplicación java lanzada por el propio usuario.

Java Deployment Toolkit provee de un objeto Javascript que facilita a los desarrolladores Java el despliegue de aplicaciones abstrayendo las particularidades de cada navegador y versión del JRE instalado por el usuario.

El Java Deployment Toolkit viene incorporado y se instala por defecto en el JRE a partir de la actualización 10 de la versión 6. Para Internet Explorer es un objeto ActiveX a invocar y para los navegadores que lo soporten es un plugin de arquitectura NPAPI asociado a un tipo MIME (en realidad hay dos versiones del tipo MIME asociado, ya que se actualizó la denominación haciéndolo más descriptivo).

Una vez cargado, el objeto Javascript "deployJava" ofrece una serie de métodos que, como ya se ha comentado, facilitan al desarrollador el despliegue de aplicaciones en el cliente. Entre estos, Ormandy descubrió que el método "launch" no valida correctamente la URL pasada como parámetro.

Dicho parámetro debería contener una cadena con una URL hacia un archivo .jnlp, que contiene información para el despliegue de una aplicación Java Web Start. Sin embargo, al no ser validada correctamente, se pasa tal cual a "javaws" (básicamente el ejecutable que carga la aplicación Java Web Start).

javaws admite entre sus parámetros una opción '-J' para pasar argumentos a la máquina virtual, Ormandy en su prueba de concepto usó el parámetro de la máquina virtual "-jar", que insta a la misma a ejecutar una aplicación Java empaquetada en un jar. Ormandy usó una ruta UNC hacia un jar que lanza la calculadora de Windows (el HelloWorld en la explotación de vulnerabilidades).

Se da la circunstancia de que el investigador español Ruben Santamarta tenía conocimiento del 0-day semanas antes de la publicación por parte de Ormandy. Santamarta incluso llegó más lejos descubriendo adicionalmente dos parámetros de línea de comandos no documentados que soportan los ejecutables "java.exe" y "javaws.exe", máquina virtual y Java Web Start respectivamente, y que permiten la inyección de una dll remota.

En este momento Oracle, la ahora propietaria de toda la tecnología de Sun tras su compra, no se ha pronunciado de manera oficial y no existen recomendaciones del fabricante. Ambos investigadores ofrecen indicaciones para mitigar las vulnerabilidades en sus respectivos avisos.

Etiquetas

INTERNET (459) newsweek (305) SEGURIDAD (224) software (136) HACK (86) GOOGLE (47) Hacker (46) Geek (41) hardware (36) WINDOWS (34) Hackers (31) CRACK (29) facebook (29) video (28) DESCARGA (27) videos (26) Celulares (25) MICROSOFT (22) Informatica (21) apple (19) GRATIS (18) technology (18) virus (18) exploit (17) computación (16) informatico (16) web (15) cracker (14) INALAMBRICO (13) WINDOWS 7 (13) noticias (11) MSN (10) termino (10) ACTUALIZACION (9) Gamer (9) LapTops (9) Mac (9) PASSWORD (9) WINDOWS XP (9) dns (9) firefox (9) juegos (9) FOTOS (8) cientifico (8) iphone (8) WEP (7) antivirus (7) bibliografia (7) Desencriptar (6) INFINITUM (6) wifi (6) youtube (6) Craker (5) Culiacan (5) DESMOSTRACION (5) TELEFONIA (5) gmail (5) messenger (5) DIRECTA (4) DOWNLOAD (4) ESPAÑOL (4) XBOX (4) xss (4) Glosario (3) HTML (3) WPA (3) anuncios (3) ataques (3) hosting (3) hotmail (3) Guru (2) ajax (2) wpa2 (2)