94 research outputs found

    WebAssembly Diversification for Malware Evasion

    Full text link
    WebAssembly has become a crucial part of the modern web, offering a faster alternative to JavaScript in browsers. While boosting rich applications in browser, this technology is also very efficient to develop cryptojacking malware. This has triggered the development of several methods to detect cryptojacking malware. However, these defenses have not considered the possibility of attackers using evasion techniques. This paper explores how automatic binary diversification can support the evasion of WebAssembly cryptojacking detectors. We experiment with a dataset of 33 WebAssembly cryptojacking binaries and evaluate our evasion technique against two malware detectors: VirusTotal, a general-purpose detector, and MINOS, a WebAssembly-specific detector. Our results demonstrate that our technique can automatically generate variants of WebAssembly cryptojacking that evade the detectors in 90% of cases for VirusTotal and 100% for MINOS. Our results emphasize the importance of meta-antiviruses and diverse detection techniques, and provide new insights into which WebAssembly code transformations are best suited for malware evasion. We also show that the variants introduce limited performance overhead, making binary diversification an effective technique for evasion

    WASM-MUTATE: Fast and Effective Binary Diversification for WebAssembly

    Full text link
    WebAssembly has is renowned for its efficiency and security in browser environments and servers alike. The burgeoning ecosystem of WebAssembly compilers and tools lacks robust software diversification systems. We introduce WASM-MUTATE, a compiler-agnostic WebAssembly diversification engine. It is engineered to fulfill the following key criteria: 1) the rapid generation of semantically equivalent yet behaviorally diverse WebAssembly variants, 2) universal applicability to any WebAssembly programs regardless of the source programming language, and 3) the capability to counter high-risk security threats. Utilizing an e-graph data structure, WASM-MUTATE is both fast and effective. Our experiments reveal that WASM-MUTATE can efficiently generate tens of thousands of unique WebAssembly variants in a matter of minutes. Notably, WASM-MUTATE can protect WebAssembly binaries against timing side-channel attacks, specifically, Spectre

    Superoptimization of WebAssembly Bytecode

    Full text link
    Motivated by the fast adoption of WebAssembly, we propose the first functional pipeline to support the superoptimization of WebAssembly bytecode. Our pipeline works over LLVM and Souper. We evaluate our superoptimization pipeline with 12 programs from the Rosetta code project. Our pipeline improves the code section size of 8 out of 12 programs. We discuss the challenges faced in superoptimization of WebAssembly with two case studies.Comment: 4 pages, 3 figures. Proceedings of MoreVMs: Workshop on Modern Language Runtimes, Ecosystems, and VMs (2020

    Pandemia desde la academia: experiencias transdisciplinarias de la universidad cuencana en tiempos de COVID-19

    Get PDF
    Pandemia es una palabra con origen profundo que en el tiempo se ha cargado con la historia de pueblos y naciones, alcanzando su plena expresión en nuestra sociedad globalizada. No solamente por las estadísticas que atraen la atención de todo el mundo y nos obligan a razonar de manera lógico-numérica, cuantitativa, olvidando que muchas veces los números son personas, y no rinden la justa cuenta de todos aquellos seres humanos que representan estas cifras. Una pandemia logra su máxima expresión al alcanzar el mayor número de personas, esto refleja en su etimología proveniente del griego pan (todo) y demos (pueblo) y desde sus orígenes ha significado principalmente una cosa, la “reunión del pueblo”. Dicha noción invita a reflexionar sobre el porqué de las medidas sanitarias, del aislamiento y confinamiento, y, más aún, nos recuerda la importancia de la unión como decisión ancestral al origen de nuestras sociedades, columna portante de la familia, fortaleza de cualquier sistema en desequilibrio. Reconociendo esto, se evidencia la capacidad de transformar juntos las debilidades en fortalezas, de saber demostrar nuestro mejor impulso a la solidaridad y colaboración cuando sentimos que nos necesitan, que permite terminar con alegría un capítulo con la seguridad de que el próximo será mucho mejor. Este espíritu es responsable de la iniciativa de quienes enfrentamos los desafíos del contexto desde la unión, con la aspiración de formar seres humanos en un espacio compartido de generación de conocimiento y conformación de valores humanos y sociales que llamamos Universidad

    Congreso Internacional de Responsabilidad Social Apuestas para el desarrollo regional.

    Get PDF
    Congreso Internacional de Responsabilidad Social: apuestas para el desarrollo regional [Edición 1 / Nov. 6 - 7: 2019 Bogotá D.C.]El Congreso Internacional de Responsabilidad Social “Apuestas para el Desarrollo Regional”, se llevó a cabo los días 6 y 7 de noviembre de 2019 en la ciudad de Bogotá D.C. como un evento académico e investigativo liderado por la Corporación Universitaria Minuto de Dios -UNIMINUTO – Rectoría Cundinamarca cuya pretensión fue el fomento de nuevos paradigmas, la divulgación de conocimiento renovado en torno a la Responsabilidad Social; finalidad adoptada institucionalmente como postura ética y política que impacta la docencia, la investigación y la proyección social, y cuyo propósito central es la promoción de una “sensibilización consciente y crítica ante las situaciones problemáticas, tanto de las comunidades como del país, al igual que la adquisición de unas competencias orientadas a la promoción y al compromiso con el desarrollo humano y social integral”. (UNIMINUTO, 2014). Dicha postura, de conciencia crítica y sensibilización social, sumada a la experiencia adquirida mediante el trabajo articulado con otras instituciones de índole académico y de forma directa con las comunidades, permitió establecer como objetivo central del evento la reflexión de los diferentes grupos de interés, la gestión de sus impactos como elementos puntuales que contribuyeron en la audiencia a la toma de conciencia frente al papel que se debe asumir a favor de la responsabilidad social como aporte seguro al desarrollo regional y a su vez al fortalecimiento de los Objetivos de Desarrollo Sostenible

    Congreso Internacional de Responsabilidad Social Apuestas para el desarrollo regional.

    Get PDF
    Congreso Internacional de Responsabilidad Social: apuestas para el desarrollo regional [Edición 1 / Nov. 6 - 7: 2019 Bogotá D.C.]El Congreso Internacional de Responsabilidad Social “Apuestas para el Desarrollo Regional”, se llevó a cabo los días 6 y 7 de noviembre de 2019 en la ciudad de Bogotá D.C. como un evento académico e investigativo liderado por la Corporación Universitaria Minuto de Dios -UNIMINUTO – Rectoría Cundinamarca cuya pretensión fue el fomento de nuevos paradigmas, la divulgación de conocimiento renovado en torno a la Responsabilidad Social; finalidad adoptada institucionalmente como postura ética y política que impacta la docencia, la investigación y la proyección social, y cuyo propósito central es la promoción de una “sensibilización consciente y crítica ante las situaciones problemáticas, tanto de las comunidades como del país, al igual que la adquisición de unas competencias orientadas a la promoción y al compromiso con el desarrollo humano y social integral”. (UNIMINUTO, 2014). Dicha postura, de conciencia crítica y sensibilización social, sumada a la experiencia adquirida mediante el trabajo articulado con otras instituciones de índole académico y de forma directa con las comunidades, permitió establecer como objetivo central del evento la reflexión de los diferentes grupos de interés, la gestión de sus impactos como elementos puntuales que contribuyeron en la audiencia a la toma de conciencia frente al papel que se debe asumir a favor de la responsabilidad social como aporte seguro al desarrollo regional y a su vez al fortalecimiento de los Objetivos de Desarrollo Sostenible

    Abstracts from the Food Allergy and Anaphylaxis Meeting 2016

    Get PDF

    Artificial Software Diversification for WebAssembly

    No full text
    WebAssembly has become the fourth official web language, along with HTML, CSS and JavaScript since 2019. WebAssembly allows web browsers to execute existing programs or libraries written in other languages, such as C/C++ and Rust. In addition, WebAssembly evolves to be part of edge-cloud computing platforms. Despite being designed with security as a premise, WebAssembly is not exempt from vulnerabilities. Therefore, potential vulnerabilities and flaws are included in its distribution and execution, highlighting a software monoculture problem. On the other hand, while software diversity has been shown to mitigate monoculture, no diversification approach has been proposed for WebAssembly. This work proposes software diversity as a preemptive solution to mitigate software monoculture for WebAssembly. Besides, we provide implementations for our approaches, including a generic LLVM superdiversifier that potentially extends our ideas to other programming languages. We empirically demonstrate the impact of our approach by providing Randomization and Multivariant Execution (MVE) for WebAssembly. Our results show that our approaches can provide an automated end-to-end solution for the diversification of WebAssembly programs. The main contributions of this work are: We highlight the lack of diversification techniques for WebAssembly through an exhaustive literature review. We provide randomization and multivariant execution for WebAssembly with the implementation of two tools, CROW and MEWE respectively. We include constant inferring as a new code transformation to generate software diversification for WebAssembly. We empirically demonstrate the impact of our technique by evaluating the static and dynamic behavior of the generated diversification. Our approaches harden observable properties commonly used to conduct attacks, such as static code analysis, execution traces, and execution time.WebAssembly har sedan 2019 blivit det fjärde officiella webbspråket, tillsammans med HTML, CSS och JavaScript sedan 2019. Detta nya språk tillåter webbläsaren att köra befintliga program eller bibliotek skrivna på andra språk, såsom C/C++ och Rust. Dessutom utvecklas WebAssembly för att vara en del av edge-cloud dator -beräkningsplattformar. Trots att WebAssembly är designatd med säkerhet i fokus som en premiss är det inte undantaget från sårbarheter. Därför ingår potentiella sårbarheter och brister i dess distribution och exekvering, vilket belyser ett av problemen med mjukvarumonokultur. MÅ andra sidan, medan mångfald av programvara har visat sig mildra monokultur, har ingen diversifieringsmetod föreslagits för WebAssembly. Denna avhandling föreslår en mångfald av programvara som en förebyggande lösning med syfte att minska programvarumonokultur för WebAssembly. Dessutom tillhandahåller vi implementeringar för våra tillvägagångssätt, däriblandinklusive en generisk LLVM- superdiversifierare som potentiellt utökar våra idéer till andra programmeringsspråk. Vi visar effekten av vårt tillvägagångssätt empiriskt genom att tillhandahålla rRandomisering och mMultivariante Exekvering (MVE) för WebAssembly. Våra resultat visar att våra tillvägagångssätt kan ge en automatiserad end-to-end lösning för diversifiering av program i WebAssembly. Detta arbetes viktigaste bidragen från detta arbete är: Vi lyfter fram bristen på diversifieringstekniker för WebAssembly genom en uttömmande litteraturgenomgång. Vi tillhandahåller en implementationeringen av två verktyg, CROW och MEWE, som genomför tillhandahåller randomisering och multivariant exekvering för WebAssembly. Vi inkluderar “constant inferring” som en ny kod-transformation för att generera mjukvarudiversifiering för WebAssembly. Vi demonstrerar empiriskt effekten av vår teknik genom att utvärdera det statiska och dynamiska beteendet hos den genererade diversifieringen. Våra metoder härdar mot observerbara egenskaper som vanligtvis används för att utföra attacker, som statisk kodanalys, exekveringsspår och exekveringstid.QC 20220909</p

    Artificial Software Diversification for WebAssembly

    No full text
    WebAssembly has become the fourth official web language, along with HTML, CSS and JavaScript since 2019. WebAssembly allows web browsers to execute existing programs or libraries written in other languages, such as C/C++ and Rust. In addition, WebAssembly evolves to be part of edge-cloud computing platforms. Despite being designed with security as a premise, WebAssembly is not exempt from vulnerabilities. Therefore, potential vulnerabilities and flaws are included in its distribution and execution, highlighting a software monoculture problem. On the other hand, while software diversity has been shown to mitigate monoculture, no diversification approach has been proposed for WebAssembly. This work proposes software diversity as a preemptive solution to mitigate software monoculture for WebAssembly. Besides, we provide implementations for our approaches, including a generic LLVM superdiversifier that potentially extends our ideas to other programming languages. We empirically demonstrate the impact of our approach by providing Randomization and Multivariant Execution (MVE) for WebAssembly. Our results show that our approaches can provide an automated end-to-end solution for the diversification of WebAssembly programs. The main contributions of this work are: We highlight the lack of diversification techniques for WebAssembly through an exhaustive literature review. We provide randomization and multivariant execution for WebAssembly with the implementation of two tools, CROW and MEWE respectively. We include constant inferring as a new code transformation to generate software diversification for WebAssembly. We empirically demonstrate the impact of our technique by evaluating the static and dynamic behavior of the generated diversification. Our approaches harden observable properties commonly used to conduct attacks, such as static code analysis, execution traces, and execution time.WebAssembly har sedan 2019 blivit det fjärde officiella webbspråket, tillsammans med HTML, CSS och JavaScript sedan 2019. Detta nya språk tillåter webbläsaren att köra befintliga program eller bibliotek skrivna på andra språk, såsom C/C++ och Rust. Dessutom utvecklas WebAssembly för att vara en del av edge-cloud dator -beräkningsplattformar. Trots att WebAssembly är designatd med säkerhet i fokus som en premiss är det inte undantaget från sårbarheter. Därför ingår potentiella sårbarheter och brister i dess distribution och exekvering, vilket belyser ett av problemen med mjukvarumonokultur. MÅ andra sidan, medan mångfald av programvara har visat sig mildra monokultur, har ingen diversifieringsmetod föreslagits för WebAssembly. Denna avhandling föreslår en mångfald av programvara som en förebyggande lösning med syfte att minska programvarumonokultur för WebAssembly. Dessutom tillhandahåller vi implementeringar för våra tillvägagångssätt, däriblandinklusive en generisk LLVM- superdiversifierare som potentiellt utökar våra idéer till andra programmeringsspråk. Vi visar effekten av vårt tillvägagångssätt empiriskt genom att tillhandahålla rRandomisering och mMultivariante Exekvering (MVE) för WebAssembly. Våra resultat visar att våra tillvägagångssätt kan ge en automatiserad end-to-end lösning för diversifiering av program i WebAssembly. Detta arbetes viktigaste bidragen från detta arbete är: Vi lyfter fram bristen på diversifieringstekniker för WebAssembly genom en uttömmande litteraturgenomgång. Vi tillhandahåller en implementationeringen av två verktyg, CROW och MEWE, som genomför tillhandahåller randomisering och multivariant exekvering för WebAssembly. Vi inkluderar “constant inferring” som en ny kod-transformation för att generera mjukvarudiversifiering för WebAssembly. Vi demonstrerar empiriskt effekten av vår teknik genom att utvärdera det statiska och dynamiska beteendet hos den genererade diversifieringen. Våra metoder härdar mot observerbara egenskaper som vanligtvis används för att utföra attacker, som statisk kodanalys, exekveringsspår och exekveringstid.QC 20220909</p

    Scalable comparison of JavaScript V8 bytecode traces

    No full text
    The comparison and alignment of runtime traces are essential, e.g., for semantic analysis or debugging. However, naive sequence alignment algorithms cannot address the needs of the modern web: (i) the bytecode generation process of V8 is not deterministic; (ii) bytecode traces are large. We present STRAC, a scalable and extensible tool tailored to compare bytecode traces generated by the V8 JavaScript engine. Given two V8 bytecode traces and a distance function between trace events, STRAC computes and provides the best alignment. The key insight is to split access between memory and disk. STRAC can identify semantically equivalent web pages and is capable of processing huge V8 bytecode traces whose order of magnitude matches today's web like https://2019.splashcon.org, which generates approx. 150k of V8 bytecode instructions.QC 20191028</p
    corecore