Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Últimos temas
» En casa de Belén, de vacaciones
Dom Abr 03, 2011 2:48 am por Invitado

» CONTINUIDAD
Lun Sep 14, 2009 8:28 pm por alfonso

» Boletín diario de Seguridad de INTECO-CERT
Jue Ago 20, 2009 3:52 pm por son5minutos

» Vulnerabilidad crítica en Flash Player
Dom Jul 26, 2009 2:13 pm por son5minutos

» Adobe conocía su último "0 day" desde 2008
Dom Jul 26, 2009 2:12 pm por son5minutos

» Último Informe del CERT para PYMES y Ciudadanos de Inteco
Dom Jul 26, 2009 2:11 pm por son5minutos

» STILO
Dom Jun 28, 2009 2:45 pm por nenina

» CINE
Dom Jun 28, 2009 2:44 pm por nenina

» VIAJAR
Dom Jun 28, 2009 2:44 pm por nenina

» EMPLEO Y FORMACION
Dom Jun 28, 2009 2:43 pm por nenina

» MOVILES
Dom Jun 28, 2009 2:42 pm por nenina

» VIDEOJUEGOS
Dom Jun 28, 2009 2:41 pm por nenina

» SEGURIDAD
Dom Jun 28, 2009 2:40 pm por nenina

» EMPRENDE
Dom Jun 28, 2009 2:40 pm por nenina

» NOTICIASDOT PRO
Dom Jun 28, 2009 2:39 pm por nenina

» SOFTWARE LIBRE
Dom Jun 28, 2009 2:39 pm por nenina

» GADGETMANIA
Dom Jun 28, 2009 2:37 pm por nenina

» WEB 2.0
Dom Jun 28, 2009 2:37 pm por nenina

» MUNDO DIGITAL
Dom Jun 28, 2009 2:36 pm por nenina

» Averigua quién está conectado a tu ordenador
Dom Jun 21, 2009 12:11 pm por Gaillimh

Flujo RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


Bookmarking social

Bookmarking social Digg  Bookmarking social Delicious  Bookmarking social Reddit  Bookmarking social Stumbleupon  Bookmarking social Slashdot  Bookmarking social Yahoo  Bookmarking social Google  Bookmarking social Blinklist  Bookmarking social Blogmarks  Bookmarking social Technorati  

Conserva y comparte la dirección de Foro en tu sitio de bookmarking social


Mitos y leyendas: Seguridad en ActiveX

Ver el tema anterior Ver el tema siguiente Ir abajo

Mitos y leyendas: Seguridad en ActiveX

Mensaje por Gaillimh el Vie Mayo 16, 2008 10:12 am

Hispasec - una-al-día 15/05/2008
Todos los días una noticia de seguridad www.hispasec.com
-------------------------------------------------------------------

Mitos y leyendas: Seguridad en ActiveX I (Introducción)
-------------------------------------------------------

ActiveX es una tecnología propia de Microsoft que con el tiempo ha sido
clasificada prácticamente de maldita en cuestión de seguridad. Los
numerosos problemas tanto en la tecnología en sí como en los programas
que la han usado, han hecho que se gane esta fama a pulso. ¿Cuáles son
los riesgos y problemas de seguridad que presenta ActiveX realmente? ¿En
realidad es tan peligrosa? Como siempre, no hay respuestas absolutas y
todas estas cuestiones son bastante discutibles.

¿Qué es?

De forma resumida, ActiveX es una tecnología de Microsoft. Es una
librería (básicamente un ejecutable) con funciones, como otro
cualquiera, con la peculiaridad de que implementa una interfaz llamada
IDispatch que permite al "objeto" interactuar de una forma concreta (más
abstracta) con el programa que lo aloja (llamado contenedor). Por tanto
no son programas "independientes" y suelen crearse con cualquier
lenguaje que admita el modelo COM. "Físicamente" tienen forma de
librería DLL o OCX. Internet Explorer o Office son programas
contenedores que admiten esta tecnología. Un componente ActiveX es pues,
código ejecutable (desarrollado por y para Microsoft) encapsulado en un
objeto desarrollado mediante esos estándares. De esta forma al tener
este código encapsulado, se facilita su portabilidad y reutilización.
Así, es posible usar un objeto ActiveX (llamar a sus funciones)
insertándolo en cualquier aplicación que lo soporte, independientemente
del lenguaje con el que haya sido creado el control ActiveX. Un ejemplo
común es usarlos para interactuar con Internet Explorer y el sistema,
llamándolos a través de JavaScript. Un típico ejemplo de llamada a un
objeto ActiveX a través de una página es:

classid="CLSID:012345567-12345-1234-A1234-F1234567789A">

nombrecualquiera.FuncionCualquieraDentroDelActiveX(a, b);


Donde existe una relación única entre el código CLSID y el archivo OCX o
DLL. Los análisis antivirus a través de web (sin necesidad de instalar
el producto) suelen hacerse a través de un ActiveX registrado, las
barras complementarias de Internet Explorer (Yahoo!, Google...) son
ActiveX registrados, el programa de instalación de Windows Update y
otros muchos que pasan desapercibidos para el usuario son todos ActiveX
registrados.

Pero también existen de serie muchos ActiveX instalados en Windows para
el propio uso del sistema operativo, que no están pensados en ningún
momento para tener nada que ver con la web o redes sino que aprovechan
más su portabilidad y capacidad de ser reutilizados. Por último, muchos
programas no basados en web que necesitan interactuar con otros
contenedores registran sus propios controles ActiveX.

¿Es igual que los applets de Java?

ActiveX, de hecho, fue en parte la respuesta de Microsoft a los applets
de Java, pero con importantes diferencias en las formas aunque con una
filosofía parecida. Tanto los applets de Java como los ActiveX son en
una buena parte programas descargados y ejecutados en local. Los
creadores de la JRE ((Java Runtime Enviroment, el entorno donde se
ejecutan los applets) supieron que esto supondría un riesgo desde el
principio y por eso los applets se ejecutan "encerrados" en una sandbox
virtual que impide que el código tenga acceso a otras partes del sistema
(excepto si aprovechan vulnerabilidades del JRE para escaparse de la
sandbox).

¿Por qué pueden resultar peligrosos?

Si nos centramos en la seguridad, el problema se puede presentar por
varias vías:

* Un ActiveX, al contrario que un applet encerrado en la sandbox, tiene
vía libre para acceder al sistema con los permisos del usuario que lo
ejecute. Tiene el mismo efecto que ejecutar un programa cualquiera.

* En el modelo actual, un ActiveX instalado (registrado) por un usuario
administrador está disponible para el resto. Está expuesto para todos y
si contiene un problema de seguridad, afectaría a todos los usuarios.

* Muchos de los ActiveX, en el fondo, no son más que programas que se
descargan e instalan desde Internet Explorer. Por tanto, por un lado,
heredan los riesgos lógicos de la descarga y ejecución indiscriminada de
cualquier otro programa. Pueden ser usados para distribuir malware en
forma de ActiveX aunque no es el caso mayoritario.

* Pero la razón más importante por la que un control ActiveX puede
resultar peligroso es por la misma que cualquier otro programa. No es
más que una pieza de código programada por un ser humano y por tanto
tendente a errores. El problema básico es que un fallo de seguridad en
un componente ActiveX "se paga más caro" en ellos que en otras
aplicaciones.

* Se paga más caro porque, aunque esté alojado en el sistema, ese OCX
o DLL es a veces accesible a través de Internet Explorer. El navegador,
como contenedor habitual, puede en ocasiones llamar a sus funciones y
si estas tienen un fallo, explotarlo. A efectos prácticos, si tenemos
un ActiveX (una DLL, por ejemplo) en el sistema para que funcione un
programa cualquiera que nada tiene que ver con la web, una página que
visitemos podría llamar (invocar) a esa DLL y explotar el fallo.
Básicamente, una puerta abierta a ejecutables del disco duro desde
Internet. De ahí su mayor peligro. La mezcla entre el diseño
excesivamente tolerante (responsabilidad de Microsoft) y programas
vulnerables mal diseñados (responsabilidad de los programadores del
ActiveX) han hecho que la tecnología sea considerada insegura.

Pero obviamente Microsoft ha impuesto buenos e importantes mecanismos
para mitigar estos riesgos. La firma de código, la programación de los
propios ActiveX donde se les dice qué pueden hacer, los kill bits, la
configuración del propio navegador... muchos métodos han servido para
hacer que los ActiveX no sean tan poderosos como su propio concepto les
permite, aunque a veces las medidas no han sido suficientes. Hablaremos
de todo esto en el siguiente artículo.

Opina sobre esta noticia:
http://www.hispasec.com/unaaldia/3491/comentar


Sergio de los Santos
ssantos@hispasec.com
avatar
Gaillimh
Admin
Admin

Masculino
Cantidad de envíos : 4013
Edad : 52
Localización : Barcelona
Fecha de inscripción : 31/10/2007

Ver perfil de usuario http://www.pruebavihbarcelona.org

Volver arriba Ir abajo

Mitos y leyendas: Seguridad en ActiveX II (Protección)

Mensaje por Gaillimh el Vie Mayo 23, 2008 5:07 pm

Mitos y leyendas: Seguridad en ActiveX II (Protección)
------------------------------------------------------

Dados los numerosos problemas que puede presentar una tecnología como
ActiveX y los riesgos que conlleva, en Microsoft se han implementado
numerosas contramedidas para intentar controlarlos en lo posible. Como
suele ocurrir, muchas de estas medidas no se conocen, no se entienden,
o son consideradas un estorbo para la usabilidad, con lo que la mayoría
quedan ignoradas por los usuarios finales.

En la primera parte de este artículo enumerábamos los riesgos de
ActiveX, vamos a ver qué tecnologías se han desarrollado para evitarlos.

* Authenticode: Esta es la tecnología que creó Microsoft para que el
navegador reconociera la firma de un archivo. Los ficheros pueden estar
firmados digitalmente con la clave privada del fabricante o programador
(Microsoft los llama "editores" en Windows). De esta forma, gracias a la
criptografía asimétrica, podemos saber que el código viene de quien dice
venir, y que no ha sido alterado por nadie sin su permiso. Este tipo de
avisos los muestra Internet Explorer antes de ejecutar un ActiveX. Nos
advierte básicamente de que el ActiveX está firmado por el fabricante
de turno, y pregunta qué queremos hacer. Si no confiamos en el editor,
podemos comprobar el certificado. Esto, lamentablemente, sólo nos
garantiza la procedencia y la integridad del archivo pero en ningún
caso nos protege de sus intenciones.

Aunque un ActiveX creado por una empresa cualquiera esté perfectamente
firmado, su finalidad puede ser destruir o instalar cualquier cosa.
Tampoco lo libera de que tenga vulnerabilidades. Pero Authenticode nos
avisará de qué efectivamente, independientemente de sus intenciones o
defectos de programación, está firmado por esa empresa. Un administrador
bien informado sólo permitirá la ejecución en un sistema de los ActiveX
firmados por los "editores de confianza" que es la terminología de
Windows para estos casos. Esto también pasa con los applets, que pueden
estar firmados. Internet Explorer bloquea por defecto los ActiveX no
firmados.

* Safe-for-Scripting: Los creadores (editores) de ActiveX pueden indicar
a su ActiveX si es "seguro para scripting". Al contener potencialmente
métodos que pueden causar daño, Microsoft da la posibilidad a los
propios programadores de marcarlos como potencialmente peligrosos o no.
Si están marcados como tal, no podrán ser invocados de forma automática
(a través de scripts) por Internet Explorer de forma predeterminada.

Microsoft aconseja que los ActiveX que (a través de sus métodos) accedan
a información local, ejecuten programas, obtengan información... etc,
no deben ser marcados con esta característica. Pero los creadores de
ActiveX ignoran esto deliberadamente. No quieren que sus programas sean
bloqueados de ninguna forma, incluso si potencialmente pueden causar
algún daño. O quizás están diseñados específicamente para ser usados a
través del navegador y esto se lo impediría. Es una medida que confía
en la buena voluntad del propio programador y por tanto, aunque con la
mejor intención, no resulta muy efectiva en la práctica.

* Zonas de Internet Explorer: Internet Explorer permite clasificar
las páginas (los dominios) en distintas zonas. Las zonas son una
clasificación lógica que hace el navegador de las distintas páginas que
se visitan, de forma que a cada zona se le permiten ciertas licencias
sobre el sistema, o ejecución de cierto tipo de código del lado del
cliente según la zona donde quede adjudicado cada dominio. Esto permite
clasificar de forma eficiente las zonas confiables o peligrosas y
ejercer cierto control sobre el sistema según los escenarios a los que
nos enfrentemos.

Las zonas son "Internet", "Internet Local", "Sitios de Confianza" y
"Sitios Restringidos". Podemos, por ejemplo, prohibir que todo excepto
nuestras páginas habituales ejecuten ActiveX, JavaScript y otras muchas
opciones. No es una tecnología muy conocida (aunque está ahí desde la
versión 4 del navegador), pero bien utilizada, puede proteger de forma
muy efectiva el navegador de Microsoft. Internet Explorer es el único
navegador que divide en zonas de seguridad, y de una forma bastante
eficaz.

Por ejemplo, la zona de "Internet" representa todo el resto de lugares
en los que no encajan las otras zonas y en los que, por tanto, no se
debe confiar. Todas las direcciones o dominios que se introduzcan en el
navegador y que contienen un punto, por defecto, pertenecen a esta zona
a no ser que se especifique lo contrario. Cada zona está caracterizada
por un "nivel de seguridad" en el que podemos definir muchas opciones.
El problema es que este "nivel de seguridad" para la zona "mayoritaria",
que es la llamada "Internet" es muy relajado por defecto. Las posibles
combinaciones con las zonas de Internet Explorer y sus niveles de
seguridad son muy prácticas y potentes. Por alguna razón, no son muy
usadas.

* Kill bit: Esta es una de las funcionalidades más efectivas. Fue
introducida por Microsoft para evitar la ejecución de los ActiveX desde
Internet Explorer de forma definitiva. Como hemos dicho, los editores
pueden activar la opción "safe for scripting" aunque realmente el
control no sea seguro para ser llamado por el navegador. Incluso, aunque
no estuviese marcado (o sea, el ActiveX se considerase inseguro),
Internet Explorer preguntaría al usuario sobre si desea ejecutar ese
ActiveX que es potencialmente peligroso. Por tanto cabe la posibilidad
de que se ejecute. Así que Microsoft introdujo el kill bit, un bit que
una vez activo en el registro, impide completamente que el ActiveX sea
invocado a través de Internet Explorer, sin deshabilitarlo por completo.

La mayoría de las contramedidas de seguridad cuando se encuentra una
vulnerabilidad en un ActiveX recomienda activar el kill bit del control
(caracterizado por un CLSID). Así, al menos hasta que se actualice el
control, un atacante no podría llamar a los métodos vulnerables a través
del navegador, evitando así la ejecución remota de código. Activar el
kill bit es una operación muy sencilla que conlleva una modificación del
registro.

* JavaScript: Deshabilitar la ejecución de JavaScript puede impedir
la ejecución de buena parte de los ActiveX que son llamados por el
navegador de esta manera. Esto también se puede conseguir a través
de las zonas del navegador, de forma mucho más granular.

* ActiveX Opt-In deshabilita automáticamente la mayoría de los controles
ActiveX. Esta característica fue introducida en Internet Explorer 7. El
navegador solicita a los usuarios confirmación (a través de la barra de
información) antes de acceder a un control ActiveX instalado previamente
pero que todavía no se ha utilizado. Entra dentro de la política de
"deshabilitar por defecto" que está adoptando Microsoft lentamente desde
hace algunos años.

* Internet Explorer 8: Parece que este navegador introducirá importantes
cambios con respecto a la seguridad ActiveX. Al parecer cada control
instalado se ejecutará en el ámbito del usuario que lo ha instalado (ya
no se necesitarán permisos de administrador para hacerlo) con lo que el
impacto de un ActiveX vulnerable será menor. También se va a restringir
la llamada a métodos de un ActiveX a dominios concretos. De esta forma
se evita que cualquier página pueda llamar a un ActiveX vulnerable y
explotarlo, con lo que el riesgo también se limita considerablemente.
Este último cambio puede resultar especialmente interesante, puesto que
los desarrolladores de un ActiveX limitarían su invocación a través del
navegador a los dominios bajo los que tiene sentido ejecutar ese ActiveX
y que se suponen de confianza.

Una buena combinación de todos estos métodos a nuestro alcance (los
que hay y los que están por venir) junto con los hábitos normales de
navegación segura, pueden permitir la perfecta convivencia de los
ActiveX en un entorno razonablemente seguro.

Opina sobre esta noticia:
http://www.hispasec.com/unaaldia/3498/comentar

Más información:

IE8 Security Part II: ActiveX Improvements
http://blogs.msdn.com/ie/archive/2008/05/07/ie8-security-part-ii-activex-improvements.aspx

15/05/2008 Mitos y leyendas: Seguridad en ActiveX I (Introducción)
http://www.hispasec.com/unaaldia/3491/mitos-leyendas-seguridad-activex-introduccion


Sergio de los Santos
ssantos@hispasec.com
avatar
Gaillimh
Admin
Admin

Masculino
Cantidad de envíos : 4013
Edad : 52
Localización : Barcelona
Fecha de inscripción : 31/10/2007

Ver perfil de usuario http://www.pruebavihbarcelona.org

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.