6 research outputs found

    Parallelizing a network intrusion detection system using a GPU.

    Get PDF
    As network speeds continue to increase and attacks get increasingly more complicated, there is need to improved detection algorithms and improved performance of Network Intrusion Detection Systems (NIDS). Recently, several attempts have been made to use the underutilized parallel processing capabilities of GPUs, to offload the costly NIDS pattern matching algorithms. This thesis presents an interface for NIDS Snort that allows porting of the pattern-matching algorithm to run on a GPU. The analysis show that this system can achieve up to four times speedup over the existing Snort implementation and that GPUs can be effectively utilized to perform intensive computational processes like pattern matching

    Комбінований програмний метод розпізнавання ReDoS вразливостей

    Get PDF
    Дана магістерська дисертація присвячена розробленню та реалізації комбінованого програмного методу для розпізнавання ReDoS вразливостей. В ході даної магістерської дисертації було проаналізовано ряд існуючих методів та способів розпізнавання ReDoS вразливостей та запропоновано комбінований програмний метод, який відрізняється від існуючих методів реалізацією на основі мікросервісної архітектури з інтеграцією Телеграм-бота, поєднанням декількох статичних методів аналізу регулярних виразів на предмет вмісту ReDoS вразливостей та наявністю попередньої стандартизації, що дозволяє пришвидшити розпізнавання ReDoS вразливостей у середньому на 6%, а також забезпечити розпізнавання на 8-9% більше регулярних виразів. У даній магістерській дисертації розроблено програмне забезпечення для перевірки регулярних виразів на вміст потенційних вразливостей ReDoS.This master's thesis is devoted to the development and implementation of a combined software method for recognizing ReDoS vulnerabilities. In the course of this master's thesis, a number of existing methods and ways of recognizing ReDoS vulnerabilities were analyzed and a combined software method was proposed, which differs from existing methods in its implementation based on a microservice architecture with the integration of a Telegram bot, a combination of several static methods of regular expression analysis for the content of ReDoS vulnerabilities and by the presence of preliminary standardization, which allows to speed up the recognition of ReDoS vulnerabilities by an average of 6%, as well as to ensure the recognition of 8-9% more regular expressions. In this master's thesis, software is developed for checking regular expressions for the content of potential ReDoS vulnerabilities

    Facilitating High Performance Code Parallelization

    Get PDF
    With the surge of social media on one hand and the ease of obtaining information due to cheap sensing devices and open source APIs on the other hand, the amount of data that can be processed is as well vastly increasing. In addition, the world of computing has recently been witnessing a growing shift towards massively parallel distributed systems due to the increasing importance of transforming data into knowledge in today’s data-driven world. At the core of data analysis for all sorts of applications lies pattern matching. Therefore, parallelizing pattern matching algorithms should be made efficient in order to cater to this ever-increasing abundance of data. We propose a method that automatically detects a user’s single threaded function call to search for a pattern using Java’s standard regular expression library, and replaces it with our own data parallel implementation using Java bytecode injection. Our approach facilitates parallel processing on different platforms consisting of shared memory systems (using multithreading and NVIDIA GPUs) and distributed systems (using MPI and Hadoop). The major contributions of our implementation consist of reducing the execution time while at the same time being transparent to the user. In addition to that, and in the same spirit of facilitating high performance code parallelization, we present a tool that automatically generates Spark Java code from minimal user-supplied inputs. Spark has emerged as the tool of choice for efficient big data analysis. However, users still have to learn the complicated Spark API in order to write even a simple application. Our tool is easy to use, interactive and offers Spark’s native Java API performance. To the best of our knowledge and until the time of this writing, such a tool has not been yet implemented
    corecore