¿Puede el malware de JavaScript ser tan peligroso y dañino como los virus más tradicionales que están programados principalmente en API nativas?
La amenaza que un virus impone en su sistema es, idealmente, independiente de su lenguaje de programación porque los virus explotan vulnerabilidades en sistemas operativos, aplicaciones, API, etc. En este sentido, un virus de Javascript es tan peligroso como cualquier otro virus.
Además, para aplicaciones web, JavaScript es uno de los principales vectores de ataque en técnicas como scripts entre sitios (XSS) y falsificación de solicitud entre sitios (CSRF) porque es bastante fácil de escribir para la web. Informe anual de seguridad de Cisco y OWASP Top 10 clasifica a XSS como uno de los métodos más utilizados para la explotación de vulnerabilidades.
tl; dr: JavaScript es tan peligroso como cualquier otro lenguaje de programación.
Sí, no, tal vez sea así.
Hay un par de cosas importantes en juego aquí.
Javascript es un lenguaje de programación completo. Esto no solía ser el caso en su infancia como muleta para DHTML (HTML dinámico, ¡sea lo que sea!). Como un lenguaje completo con un intérprete / compilador completo, en realidad no es diferente a la mayoría de los otros lenguajes en los que está escrito el software. En estos días, las aplicaciones de escritorio y los demonios de servidor están siendo escritos en Javascript.
Una de las ideas que lo hace peligroso es también la razón principal por la que ya no es un problema: el patrón de uso original era que los navegadores ejecutaban código no confiable. Gracias en gran parte a que Javascript se haya convertido en un lenguaje de programación completo, la web se ha convertido en un rango gratuito para "aplicaciones" que no instala, pero que su computadora ejecuta cada vez que visita. Esto se opone a la mayoría de los otros idiomas que se ejecutan en algún lugar donde usted elige de manera muy selectiva qué código instalar y ejecutar.
Como resultado, la mayoría de los intérpretes de Javascript han sido diseñados para ejecutarse en entornos virtuales de espacio aislado donde no se les da acceso, no todas las API que existen a menos que se les otorguen permisos específicos para hacerlo.
Javascript tiene enlaces totalmente para cosas como el acceso al sistema de archivos y otras funciones de "bajo nivel", pero la mayoría de los navegadores optan por no exponer el acceso a estos para ser descargados por la red que no son de confianza. En su lugar, les proporcionan una caja de arena donde pueden hacer cosas en un buble. La mayoría de los navegadores modernos, por ejemplo, proporcionan una API de "almacenamiento local" donde su aplicación puede almacenar datos, pero no puede comunicarse con datos de otros sitios web fuera de su caja de arena en su sistema a menos que usted lo conceda.
Debido a que se espera que ejecute código que no sea de confianza, los intérpretes de Javascript en los navegadores web tienden a ser restrictivos, pero como cualquier otro idioma, usted está realmente a merced de la calidad de los compiladores e intérpretes.
A medida que más y más cosas se están interconectando con Javascript, es probable que sea un vector de malware más popular. El malware en general prospera no en las plataformas de lenguaje más poderosas, sino en las que tiene la mayor probabilidad de ser ejecutado.
"Demasiado peligroso" es muy subjetivo de un término. Realmente depende de para qué se usa el JS. JS es simplemente una herramienta.
El más común (y quizás el más dañino) se llama un ataque de scripts entre sitios donde JS malicioso redirige el tráfico. Este tráfico puede ser falsificado y, por lo tanto, aparecer como confiable / seguro pero realmente no lo es. Por lo tanto, digo que este ataque es "peligroso" porque, de lo contrario, se pueden interceptar comunicaciones seguras y significativas (contraseñas / inicio de sesión / etc.).
Además, JS podría iniciar muchos otros tipos de malware dirigido, pero ese "nivel de peligro" está determinado por el malware real.
Una vez más, tu pregunta es amplia y subjetiva ...
por cierto, si está realmente preocupado, considere usar algo como NoScript para permitir selectivamente JS.
Lea otras preguntas en las etiquetas malware virus javascript