Este repositorio contiene el código para el documento DIMVA'18: "JAST: detección totalmente sintáctica de JavaScript malicioso (ofuscado)".
Tenga en cuenta que en su estado actual, el código es un POC y no una API lista completa lista para la producción.
Nuestra implementación, cuyo objetivo es detectar muestras de JavaScript maliciosos, se divide en varios paquetes con funcionalidades distintas:
Detección de muestras de JavaScript que respetan la gramática definida por ECMA-internacional, detección de JavaScript roto y archivos no escritos en JavaScript.
Para usar esta herramienta: Python3 <Path-O- JS/IS_JS.py> --help .
Se puede realizar un análisis basado en AST de muestras de JavaScript. Este estudio se basa en un análisis de frecuencia de los N-Grams presentes en los archivos considerados.
Si usa JAST para la investigación académica, se le recomienda encarecidamente citar el siguiente documento:
@inproceedings{fass2018jast,
author="Fass, Aurore and Krawczyk, Robert P. and Backes, Michael and Stock, Ben",
title="{textsc{JaSt}: Fully Syntactic Detection of Malicious (Obfuscated) JavaScript}",
booktitle="Proceedings of the International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment~(DIMVA)",
year="2018"
}
JavaScript es un lenguaje de secuencias de comandos de navegador creado inicialmente para mejorar la interactividad de los sitios web y para mejorar su facilidad de uso. Sin embargo, a medida que descarga el trabajo al navegador del usuario, se puede utilizar para participar en actividades maliciosas como la minería criptográfica, los ataques de descarga de transmisión o redirecciones a sitios web que alojan software malicioso. Dada la prevalencia de tales guiones nefastos, la industria antivirus ha aumentado el enfoque en su detección. Los atacantes, a su vez, hacen un uso cada vez mayor de las técnicas de ofuscación, a fin de obstaculizar el análisis y la creación de firmas correspondientes. Sin embargo, estas muestras maliciosas comparten similitudes sintácticas en un nivel abstracto, lo que permite evitar la ofuscación y detectar incluso variantes de malware desconocidas.
En este artículo, presentamos JAST, una solución de bajo nivel que combina la extracción de características del árbol de sintaxis abstracto con un clasificador de bosque aleatorio para detectar instancias maliciosas de JavaScript. Se basa en un análisis de frecuencia de patrones específicos, que son predictivos de muestras benignas o maliciosas. Aunque el análisis es completamente estático, produce una alta precisión de detección de casi el 99.5% y tiene una baja tasa falsa negativa de 0.54%.
Este es un trabajo de investigación y su intención es publicar los resultados, hacer que los resultados sean verificables y promover la seguridad de la información. No refleja necesariamente la política o posición oficial del Bundesamt Für Sicherheit en DER Informationstechnik (BSI). Aunque el autor ha hecho todo lo posible para garantizar que la información en esta publicación fuera correcta, el autor no supone y por la presente no exige ninguna responsabilidad ante cualquier parte por cualquier pérdida, daño o interrupción causada por errores u omisiones, ya sea que tales errores u omisiones resulten de negligencia, accidente o cualquier otra causa.
Die von dem benutzer auf github bereitgestellten inhalte spiegeln nicht die meinung des bsi anch.
Die verwendung der bereitgestellten inhalte geschieht auf eigene gefahr des anwenders. Eine haftung für die richtigkeit, vollständigkeit und aktualität dieser inhalte kann seitens des bsi nicht übernommen werden.
Das bsi ist nicht Verantwortlich und übernimmt keinerlei haftung für schäden, unter anderem für direkte, indirekte, zufällige, vorab konkret zu bestimmende oder folgeschäden, angeblich durch muere a inhalte aufgetetretretenretene folgeschäden, angeblich durch muere a inhalte aUfgetetretretenretendenfeten sind.
Esprima, creado y mantenido por Ariya Hidayat se ha utilizado para realizar un análisis léxico y sintáctico de los archivos JavaScript.
"Copyright JS Foundation y otros contribuyentes, https://js.foundation/
Redistribución y uso en formularios de origen y binarios, con o sin modificación, se permiten siempre que se cumplan las siguientes condiciones:
Este software es proporcionado por los titulares de derechos de autor y contribuyentes "tal cual" y cualquier garantía expresa o implícita, incluidas, entre otros, las garantías implícitas de comerciabilidad y idoneidad para un propósito particular se renuncian. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF Tal daño ".