9 research outputs found

    Strategy to block traffic create by anti-cencorship software in LAN for small and medium organisation

    Get PDF
    Anti-censorship software originally develop to fight internet censorship in China.The anti censorship software such as Ultrasurf, Freegate, Gpass, GTunnel and FirePhoenixare become popular for the stubborn user who used the internet for thier own’s purpose and disobey the poilicies . Since it is widely use by users in organisation local area network to bypass firewall policies, it become a threat to LAN organization.Hence, it cause a problem for network administrator who manage the internet utilisation and enforcing internet policies.For an organisation, uncontrolled internet usage lead the opened system vulnerability to viruses, backdoor, non productivity activities and slow internet connection.Thus, this studies proposed strategies to filter and blocking traffic create by anti-censorship software in LAN. Method used in this project is “design computer security experiment”.Therefore, this project will guide the network administrator to control internet utilisation, protect organisation LAN and carried out implementation of the internal organization’s internet policies

    Packet Inspection on Programmable Hardware

    Get PDF
    In the network security system, one of the issues that are being discussed is to conduct a quick inspection of all incoming and outgoing packet. In this paper, we make a design packet inspection systems using programmable hardware. We propose the packet inspection system using a Field Programmable Gate Array (FPGA). The system proposed consisting of two important parts. The first part is to scanning packet very fast and the second is for verifying the results of scanning the first part. On the first part, the system based on incoming packet contents, the packet can reduce the number of strings to be matched for each packet and, accordingly, feed the packet to a verifier in the second part to conduct accurate string matching. In this paper a novel multi-threading finite state machine is proposed, which improves the clock frequency and allows multiple packets to be examined by a single state machine simultaneously. Design techniques for high-speed interconnect and interface circuits are also presented. The results of our experiment show that the system performance depend on the string matching algorithm, design on FPGA, and the number of string to be matched. Keywords: Packet inspection, string matching, Field programmable gate array, Traffic classificatio

    Побудова скінченних автоматів реконфігуровними засобами для вирішення задач інформаційної безпеки

    Get PDF
    Computer security requires the implementation of different measures - organizational, technical, cryptographic, etc. Network intrusion detection systems, antiviruses and other similar tools of technical protection based on signatures should solve in real time the computationally complex multi-pattern string matching task, which is a specific type of string matching functionality performed in DPI systems to search an input stream for a set of patterns rather than a single pattern. Due to rising traffic rates, increasing number and sophistication of attacks and the collapse of Moore's law for sequential processing, traditional software solutions can no longer meet the high requirements of today’s security challenges. Therefore, hardware approaches are proposed to accelerate pattern matching. Combining the flexibility of software and the near-ASIC performance, reconfigurable hardware devices based on Field Programmable Gate Arrays (FPGA) have become increasingly popular for this purpose. There are three main approaches to fulfill the computation-intensive multi-pattern string matching task using FPGA. The techniques of these approaches are: content addressable memory, Bloom filter and Aho-Corasick Algorithm. Each approach has its advantages and disadvantages. Effective construction of more and more complex signature-based tools of technical secure protection is impossible without a comprehensive analysis of the properties and specific features of every approach. In this study, in order to improve the efficiency of information security tools created on the basis of the FPGA, the main features of the third of the listed approaches are analyzed. Based on the analysis of the stateof-the-art finite automata realizing Aho-Corasick algorithm, the specialty of their implementation on FPGAs, encountering problems and ways to solve them are also investigated.Противодействие угрозам информационной безопасности требует осуществления мероприятий различного плана – организационных, технических, криптографических и др. Сетевые системы обнаружения вторжений, антивирусы и прочие подобные средства технической защиты, работа которых основана на использовании сигнатур, должны решать в реальном времени вычислительно сложную задачу множественного распознавания строк, которая в отличие от одиночного распознавания подразумевает одновременный поиск во входных данных большого количества образцов. Программные решения уже не справляются с этой проблемой в связи с устойчивым ростом объема сетевого трафика, количества и сложности атак. Поэтому все большее распространение получают аппаратные решения с использованием реконфигурируемых устройств на базе ПЛИС типа FPGA, которые сочетают в себе близкую к аппаратной производитель-ность с гибкостью программного обеспечения. На сегодня наиболее распространены три подхода к построению аппаратных схем множественного распознавания, работа которых основана на использовании: ассоциативной памяти, фильтра Блума и конечных автоматов. Каждый из подходов имеет свои преимущества и недостатки. Эффективное построение все более сложных сигнатурных средств технической защиты информации, которые бы отвечали требованиям оптимального функционирования в зависимости от внешних условий, невозможно без всестороннего анализа свойств и специфических черт каждого из подходов. В этом исследовании с целью повышения эффективности создаваемых на базе ПЛИС средств информационной безопасности проанализированы преимущества и недостатки третьего из перечисленных подходов. На основе анализа мирового опыта использования конечных автоматов также исследованы особенности их реализации на ПЛИС, возникающие проблемы и пути их решения.Протидія загрозам інформаційної безпеки потребує вживання заходів різного плану – організаційних, технічних, криптографічних тощо. Мережеві системи виявлення вторгнень, антивіруси, та інші засоби технічного захисту, робота яких заснована на використанні сигнатур, мають вирішувати в реальному часі обчислювально складну задачу множинного розпізнавання рядків, яка на відміну від одиночного розпізнавання має метою одночасний пошук у вхідних даних великої кількості зразків. Програмні рішення вже не впорюються з цією проблемою через сталий зріст об’єму мережевого трафіку, кількості та складності атак. Тому все більшого поширення набувають апаратні рішення з використанням реконфігуровних пристроїв на базі ПЛІС типу FPGA, які поєднують в собі близьку до апаратної продуктивність із гнучкістю програмного забезпечення. На сьогодні найбільш поширеними є три підходи щодо побудови апаратних схем множинного розпізнавання, робота яких заснована на використанні: асоціативної пам’яті, фільтра Блума та скінченних автоматів. Кожен с підходів має свої власні переваги та вади. Ефективна побудова все більш складних сигнатурних засобів технічного захисту інформації, яки б відповідали вимогам оптимального функціонування в залежності від зовнішніх умов, неможлива без всебічному аналізу властивостей та специфічних рис кожного з підходів. У цьому дослідженні з метою підвищення ефективності створюваних на базі ПЛІС засобів захисту інформації проаналізовані переваги та недоліки третього з перелічених підходів. На основі аналізу світового досвіду використання скінченних автоматів також досліджені особливості їх реалізації на ПЛІС, проблеми, що виникають, та шляхи їх вирішенн

    Spatio-temporal Data Plane Design For Software Defined Cellular Networks (sdcn)

    Get PDF
    Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2015Thesis (M.Sc.) -- İstanbul Technical University, Instıtute of Science and Technology, 2015Son yıllarda hızla artan IP trafik yoğunluğu ağ yönetimini zorlaştırmaktadır. CISCO’nun Görsel Haberleşme Ağı Göstergesi'ne (Visual Networking Index) göre, dünya çapında toplam IP trafiği geçtiğimiz beş yılda beş kattan fazla artış göstermiştir, ve önümüzdeki beş yılda bu değerin üç katına çıkacağı öngörülmektedir. Günümüzde var olan trafik kontrol mekanizmaları, aşırı artan trafik yoğunluğu karşısında esnek olmadığı için yeterli kaynak verimliliği sağlayamaz ve trafik yoğunluğunun neden olduğu ciddi servis kalitesi düşüklüklüklerini engellemede yetersiz kalır. Sonuç olarak, geleneksel ağ kontrol mekanizmaları, hızla gelişen mobil teknolojiler ve buna bağlı olarak artan veri trafiği karşısında kullanıcı gereksinimlerini karşılayamaz hale gelmiştir. IP trafik yoğunluğunun günümüzde gelmiş olduğu bu noktada, trafik artışına karşı esnek olabilen ve fiziksel topolojinin karmaşıklığını ortadan kaldırarak ağı kolayca yönetebilen dinamik bir mekanizmaya ihtiyaç duyulmaktadır. Bu problemi çözebilmek için fiziksel ağ topolojisinin karmaşık yapısını azaltan ve merkezi bir yaklaşım ile tüm topoloji üzerinde hakimiyet sağlayarak ağı tek bir noktadan dinamik bir şekilde yönetebilen yeni nesil YThA teknolojisi geliştirilmiştir. Bu teknoloji ile anahtarların mantıksal kısmı kontrol katmanına taşınarak, bu cihazlar veri katmanında akılsız hale getirilip yönetimi kolaylaştırılmıştır. Veri katmanında yer alan fiziksel cihazlar ile kontrol katmanında yer alan ve bu cihazların yönetiminden sorumlu olan Kontrolör, YThA teknolojisi için tanımlanan OpenFlow protokolünü kullanarak haberleşmektedir. Böylece, YThA ve bu yapının kullandığı OpenFlow protokolü sayesinde, her fiziksel anahtarın birer birer konfigüre ve kontrol edilmesi yerine, fiziksel cihazların ağ kontrol birimi olan Kontrolör tarafından yönetimi kolayca sağlanmıştır. Ancak, YThA mekanizmasının ağ yönetiminde sağladığı esneklik ve fonksiyonelliğin yanında, OpenFlow anahtar yapısından kaynaklı olarak akış servis kalitesini kötü yönde etkileyen ve göz ardı edilmemesi gereken ek bir yönlendirme gecikmesi oluşmaktadır. Bu gecikmenin temel nedeni, bir akış yönlendirilirken OpenFlow anahtar yapısındaki akış tablosu iş hattında, birçok bitlik alanın birden fazla tabloda karşılaştırma ve eşleştirme gerektirmesidir. Geleneksel OF anahtarına giriş portları aracılığıyla iletilen bir akış, akış tablosu iş hattında yer alan tablolarda ilgili eşleşmelerden geçtikten ve başlık alanlarındaki bilgiler düzenlendikten sonra çıkış portları üzerinden tekrar ağa gönderilir. Akışın anahtar içerisinde geçirdiği süreçte, başlık alanları üzerinde herhangi bir değişiklik gerektirmeyen bazı eşleştirmeler de söz konusu olabilmektedir. Ayrıca, ağdaki anahtara iletilen akışların iş hattındaki ilerleyişi seri olarak devam etmektedir. Diğer bir deyişle, akış tablosu iş hattının tasarımından dolayı, iş hattında farklı akışlara paralel olarak hizmet verilememektedir. Geneksel OF anahtarında yer alan tüm bu mimari kısıtlar ve akış tablosu iş hattındaki tasarımsal eksiklikler, akışın yönlendirilmesi sırasında ilave gecikmeye neden olduğu gibi bellek kullanımı ve donanım maliyeti açısından da fazladan masrafa neden olmaktadır. YThA teknolojisinde, anahtar mimarisinden kaynaklanan iki önemli dezavantaj belleksel karmaşıklık ve zamansal karmaşıklık olarak sıralanabilir. Bu tez çalışmasında, belleksel karmaşıklık mimaride yer alan donanım maliyeti ya da bellek maliyeti olarak tanımlanırken, zamansal karmaşıklık ise akış yönlendirmesi sırasında ortaya çıkan gecikmeyi işaret etmektedir. YThA teknolojisinin veri katmanında, anahtar yapısından kaynaklı belleksel ve zamansal karmaşıklığı azaltmak üzere, OpenFlow akış yönlendirme mekanizması ile ilgili literatürde birçok çalışma yer almaktadır. Bunların başlıcaları anahtar üzerindeki arama için Hash yönteminden yararlanma, arama verilerini önbelleğe alma, akış eşleşmesi aranırken mükemmel hash yöntemi kullanma olarak sıralanabilir. Ancak, bu ve benzeri arama yöntemleri kullanan ve bir karar mekanizmasına dayalı olarak ön bellekleme yapan çalışmalar, OpenFlow anahtarlarının çalışma yapısındaki akılsızlık özelliğini bozmaktadır. Halbuki akılsız anahtarların Kontrolör tarafından yönetimi daha kolay olduğu gibi, bu cihazların akış yönlendirmesi daha hızlıdır. Belirtilen problemlerin çözümü için sunulacak yöntem, hem OpenFlow anahtarının akılsızlığını bozmayan hem de akış yönlendirilmesinde daha az eşleştirme yaparak akışın servis kalitesini iyi yönde etkileyen ve gecikmeyi azaltan yapıda olmalıdır. Ağda performans iyileştirmesi sağlarken OpenFlow anahtarının akılsızlık özelliğini bozmadan çalışababilecek bir yapı tasarlamak adına, bu tez çalışmasında, iş hattında yer alan tablolar çok katmanlı bir iş hattı mimarisi oluşturacak şekilde konumlandırılmıştır. Çok katmanlı anahtar mimarisi kullanarak, enine bağlantılı (crossbar) geleneksel mimariye göre, belleksel karmaşıklık azaltılmış ve anahtar yapısının donanımsal maliyeti düşürülmüştür. Önerilen mimaride iş hattında kullanılan çok katmanlı yapı 3 katmandan oluşmaktadır. Önerilen yapıda geleneksel OpenFlow anahtarının akış tablo dizilimindeki iş hattı yapısı değiştirilerek bir tablodan gidilebilecek tablo sayısı ikiye çıkartılmıştır. Anahtar mimarisinde yapılan bu değişikleri OpenFlow protokolü ile uyumlu hale getirmek adına, akışların başlık yapısında gerçekleştirilen ufak bir değişiklik ile iş hattındaki tablolar arası yönlendirmeyi sağlayan bir bitlik bir sonraki tablo belirteci eklenmiştir. Böylece, iş hattında gidilecek bir sonraki tablo, protokol ile belirlenirken, OpenFlow anahtarının akılsızlık özelliği korunmuştur. Ayrıca, çok katmanlı OpenFlow iş hattındaki tablolara birer mikroişlemci atanarak Yonga Üstü İletişim Ağı (Network On Chip-NOC) mekanizmasının sağladığı avantajlar OpenFlow anahtarına uygulanmıştır. NOC’ta, kullanılabilen birçok ortak yol (multi-bus) ve bu yollar üzerinde rezerve edilebilecek birçok mikroişlemci bulunduğu için anahtar içerisinde birim zamanda birden fazla akışa paralel olarak hizmet verilebilir. Geleneksel iş hattı yapısında bulunmayan bu özellik ile paralel akış işleme süreci elde edilmiştir. Bu sayede, akışlar arasındaki kaynak yarışını en aza indiren NOC tasarımı, akışın yönlendirme gecikmesini azaltarak servis kalitesinin arttırımında büyük ölçüde katkı sağlar. Sonuç olarak bu tez çalışmasında, çok katmanlı mimari modeli için üç katmandan oluşan ağ mimarisi kullanılarak, anahtar içerisindeki akış tablosu iş hattı yapısı ve bu iş hattındaki tablo bağlantıları yeniden düzenlenmiştir. Ayrıca, anahtar mimarisi için Yonga Üstü İletişim Ağı yapısına benzer bir mimari oluşturmak ve bu mimarinin avantajlarından yararlanmak adına, her bir akış tablosuna, geleneksel yapıdaki tek bir mikroişlemci yerine, birim zamanda sadece bir komut gerçekleştirebilecek kapasitede birer mikroişlemci yerleştirilmiştir. Böylece, OpenFlow anahtarındaki bir iş hattı yapısı paralel çalışabilen birçok iş hattı yapısına dönüştürülmüştür. Ayrıca, anahtarların akılsızlık özelliğinin korunması adına, akışın çok katmanlı ağ mimarisindeki hareketi, ilgili akış tablo satırına bir sonraki tabloyu belirten bir bitlik belirteç eklenmesi ile gerçeklenmiştir. Geleneksel anahtar yapısının ve önerilen anahtar yapısının performans incelemesi ve karşılaştırması için anahtar içerisindeki iş hattı mimarisini modellerken kuyruklama teoreminde yararlanmıştır. Her iki mimaride yer alan iş hattı bölümü kuyruk ve sunucudan oluşan bir yapı ile modellenmiştir. Kullanılan modelde, her bir tablo, akışa hizmet veren ve eşleştirme işlemini gerçekleştiren bir sunucu olarak düşünülmüştür. Geleneksel yapıda ve önerilen yapıda kullanılan iş hattı tasarımına göre modelin uygun bölümlerine kuyruk eklenmiştir ve belirli bir varış oranında anahtara gelen akışlar bu kuyruklarda bekletilmiştir. Kuyruklama teoremi kullanılarak oluşturulan modelde, belleksel karmaşıklık ve zamansal karmaşıklık ölçütü olarak CC (CMsOFC_{MsOF}, CCONC_{CON}) ve TT (TMsOFT_{MsOF}, TCONT_{CON}) adında iki yeni parametre tanımlanmıştır ve geleneksel mimari ile önerilen mimari arasındaki performans incelemesi bu iki parametere üzerinden yürütülmüştür. Belleksel karmaşıklık parametresi ile anahtar mimari yapısının donanım maliyeti formülize edilirken; zamansal karmaşıklık parametresi ile akışın yönlendirme gecikmesi matematiksel olarak ifade edilmiştir. Elde edilen performans sonuçlarına göre, çok katmanlı (3 katmanlı) iş hattı yapısında kullanılan toplam bellek miktarı ve donanımsal bağlantı maliyeti geleneksel anahtar mimarisine göre azalmıştır. Diğer bir deyişle, geleneksel mimaride yer alan belleksel karmaşıklık azaltılmıştır. Ayrıca, önerilen switch modelinin geneleneksel switch modelinden, özellikle kalabalık ağlarda, yedi kata kadar daha az yönlendirme gecikmesi ile akış yönlendirebildiği ve daha iyi hizmet kalitesi (QoS) sağladığı görülmüştür. Böylece, geleneksel mimarinin akış kalitesini köte yönde etkileyen zamansal karmaşıklığın önerilen mimaride azaltıldığı gözlemlenmiştir. Bu çalışmadan elde edilen sonuçlara göre, tabloların dizilişi çok katmanlı ağ mimarisine göre tasarlanarak, akış yönlendirmesi daha az eşleştirme ile gerçekleştirilmiştir. Böylece anahtar sisteminin belleksel ve zamansal karmaşıklığı azaltılarak performans iyileştirmesi sağlanmıştır.The tremendous increase on mobile data traffic has stressed conventional cellular networks recently. Network management has also become difficult because of enormous traffic demand. At this point, a flexible and dynamic control mechanism is needed that diminishes the complexity in physical topology. SDcN, is one of the novel next generation approaches that makes it easier to orchestrate physical devices in Data Plane with its centralized control fashion. SDcN paradigm provides a simple management strategy for network equipments in physical topology by moving their control logic to Control Plane. These equipments in physical topology release their complex decision heuristics to the Controller, so they become simple, dummy equipments. However; on one hand, SDcN provides scalability and flexibility on network management with dummy OpenFlow (OF) switches and its nature of centralized authority; on the other hand, these properties cause spatial and temporal complexity in the Data Plane that should not be regarded according to Quality of Service (QoS) of a flow. Spatial complexity, described in this thesis as Memory UsageMemory~Usage and/or Hardware CostHardware~Cost in an OF switch, should be minimized by removing redundancy in OF switch flow table pipeline. Temporal complexity, defined in this thesis as Flow Forwarding DelayFlow~Forwarding~Delay, should also be reduced by lowering number of comparison in flow table pipeline to enhance QoS of a flow. There are many studies in the literature that try to minimize spatial-temporal complexity in OF switch architecture and also to enhance QoS of a flow. However; most of these works violate dummy characteristic of OF switches because of the fact that they implement some wiser decision mechanism such as hashing, caching and search heuristics within the switch architecture. Any mechanism offered to lower spatial-temporal complexity of OF switch architecture should not violate dummy characteristic of these devices. Otherwise, management of physical devices by a central controller becomes slower, more difficult and complicated. Therefore, we propose a novel OF switch architecture to lower spatial-temporal complexity by using Multi-stage Switch model in flow table pipeline. The proposed model is able to forward a flow by less header matching with its architectural model. The proposed model also protects dummy characteristic with a little alteration in OF protocol header fields. In order to define the next table in the pipeline of proposed Multi-stage model, an additional field called next table identifier is integrated with existing OF protocol header entries. Flow forwarding in each pipeline of Multi-stage model is performed according to this next table identifier. Moreover, the advantages of NoC paradigm are also applied to OF forwarding mechanism with such a Multi-stage switch model by assigning a microcontroller to each flow table in each of pipeline stages. Consequently, thanks to multiple pipeline stages that can serve flows concurrently, the number of flows served per unit time is increased and the QoS of each flow is enhanced. For the performance investigation of proposed model we consider Queuing Theory in the light of a spatial complexity parameter (CC) and a temporal complexity parameter (TT) defined in this work. Total memory usage in a flow table pipeline is measured with spatial complexity parameter and flow forwarding delay is meausered in terms of temporal complexity parameter. These parameters are considered during the performance comparison between conventional OF switch architecture and proposed MsOF switch architecture with CON_{CON} and MsOF_{MsOF} indexes respectively. According to performance evaluation results, MsOFMsOF switch architecture is less spatial complex than conventional one as the number of input ports in an OF switch (NN) increases that corresponds denser topologies. MsOF gains much more memory space by deploying more tables with lower memory sizes, total of (nkn\cdot k). Moreover, MsOFMsOF switch model has less temporal complexity compared to conventional OF switch model, especially in urban areas. With such a Multi-stage deployment for flow tables, proposed MsOF architecture provides approximately 7 times less flow forwarding delayflow~forwarding~delay, TMsOF<7×TCONT_{MsOF} < 7 \times T_{CON}, compared with a conventional OF Switch by virtue of processing flows at different stages of pipeline simultaneously.Yüksek LisansM.Sc

    Implémentations logicielle et matérielle de l'algorithme Aho-Corasick pour la détection d'intrusions

    Get PDF
    RÉSUMÉ Ce travail propose des méthodes et architectures efficaces pour l’implémentation de l’algorithme Aho-Corasick. Cet algorithme peut être utilisé pour la recherche de chaînes de caractères dans un système de détection d’intrusion, tels que Snort, pour les réseaux informatiques. Deux versions sont proposées, une version logicielle et une version matérielle. La première version développe une implémentation logicielle pour des processeurs à usage général. Pour cela, de nouvelles implémentations de l'algorithme tenant compte des ressources mémoire et de l’exécution séquentielle des processeurs ont été proposées. La deuxième version développe de nouvelles architectures de processeurs particularisés pour FPGA. Elles tiennent compte des ressources de calcul disponibles, des ressources mémoire et du potentiel de parallélisation à grain fin offert par le FPGA. De plus, une comparaison avec une version logicielle modifiée est effectuée. Dans les deux cas, les performances et les compromis pour la sélection de différentes structures de données de nœuds en mémoire ont été analysés. Une sélection de paramètres est proposée afin de maximiser la fonction objective de performance qui combine le nombre de cycles, la consommation mémoire et la fréquence d’horloge du système. Les paramètres permettent de déterminer lequel des deux ou des trois types de structures de données de nœuds (selon la version) sera choisi pour chaque nœud d’une machine à états. Lors de la validation, des scénarios de test utilisant des données variées ont été utilisés afin de s'assurer du bon fonctionnement de l'algorithme. De plus, les contenus des règles de Snort 2.9.7 ont été utilisés. La machine à états a été construite avec environ 26×103 chaînes de caractères qui sont toutes extraites de ces règles. La machine à états contient environ 381×103 nœuds. La contribution générale de ce mémoire est de montrer qu’il est possible, à travers l’exploration d’architectures, de sélectionner des paramètres afin d’obtenir un produit mémoire × temps optimal. Pour ce qui est de la version logicielle, la consommation mémoire diminue de 407 Mo à 21 Mo, ce qui correspond à une diminution de mémoire d’environ 20× par rapport au pire cas avec seulement un type de nœud. Pour ce qui est de la version matérielle, la consommation mémoire diminue de 11 Mo à 4 Mo, ce qui résulte en une diminution de mémoire d’environ 3× par rapport à la version logicielle modifiée. Pour ce qui est du débit, il augmente de 300 Mbps pour la version logicielle modifiée à 400 Mbps pour la version matérielle.----------ABSTRACT This work proposes effective methods and architectures for the implementation of the Aho-Corasick algorithm. This algorithm can be used for pattern matching in network-based intrusion detection systems such as Snort. Two versions are proposed, a software version and a hardware version. The first version develops a software implementation in C/C++ for general purpose processors. For this, new implementations of the algorithm, considering the memory resources and the processor’s sequential execution, are proposed. The second version develops an architecture in VHDL for a specialized processor on FPGA. For this, new architectures of the algorithm, considering the available computing resources, the memory resources and the inherent parallelism of FPGAs, are proposed. Furthermore, a comparison with a modified software version is performed. For both cases, we analyze the performance and cost trade-off from selecting different data structures of nodes in memory. A selection of parameters is used in order to maximize de performance objective function that combines the cycles count, the memory usage and the system’s frequency. The parameters determine which of two or three types of data structures of nodes (depending on the version) is selected for each node of the state machine. For the validation phase, test cases with diverse data are used in order to ensure that the algorithm operates properly. Furthermore, the Snort 2.9.7 rules are used. The state machine was built with around 26×103 patterns which are all extracted from these rules. The state machine is comprised of around 381×103 nodes. The main contribution of this work is to show that it is possible to choose parameters through architecture exploration, to obtain an optimal memory × time product. For the software version, the memory consumption is reduced from 407 MB to 21 MB, which results in a memory improvement of about 20× compared with the single node-type case. For the hardware version, the memory consumption is reduced from 11 MB to 4 MB, which results in a memory improvement of about 3× compared with the modified software version. For the throughput, it increases from 300 Mbps with the modified software version to 400 Mbps with the hardware version

    Hierarchical TCP network traffic classification with adaptive optimisation

    Get PDF
    Nowadays, with the increasing deployment of modern packet-switching networks, traffic classification is playing an important role in network administration. To identify what kinds of traffic transmitting across networks can improve network management in various ways, such as traffic shaping, differential services, enhanced security, etc. By applying different policies to different kinds of traffic, Quality of Service (QoS) can be achieved and the granularity can be as fine as flow-level. Since illegal traffic can be identified and filtered, network security can be enhanced by employing advanced traffic classification. There are various traditional techniques for traffic classification. However, some of them cannot handle traffic generated by applications using non-registered ports or forged ports, some of them cannot deal with encrypted traffic and some techniques require too much computational resources. The newly proposed technique by other researchers, which uses statistical methods, gives an alternative approach. It requires less resources, does not rely on ports and can deal with encrypted traffic. Nevertheless, the performance of the classification using statistical methods can be further improved. In this thesis, we are aiming for optimising network traffic classification based on the statistical approach. Because of the popularity of the TCP protocol, and the difficulties for classification introduced by TCP traffic controls, our work is focusing on classifying network traffic based on TCP protocol. An architecture has been proposed for improving the classification performance, in terms of accuracy and response time. Experiments have been taken and results have been evaluated for proving the improved performance of the proposed optimised classifier. In our work, network packets are reassembled into TCP flows. Then, the statistical characteristics of flows are extracted. Finally the classes of input flows can be determined by comparing them with the profiled samples. Instead of using only one algorithm for classifying all traffic flows, our proposed system employs a series of binary classifiers, which use optimised algorithms to detect different traffic classes separately. There is a decision making mechanism for dealing with controversial results from the binary classifiers. Machining learning algorithms including k-nearest neighbour, decision trees and artificial neural networks have been taken into consideration together with a kind of non-parametric statistical algorithm — Kolmogorov-Smirnov test. Besides algorithms, some parameters are also optimised locally, such as detection windows, acceptance thresholds. This hierarchical architecture gives traffic classifier more flexibility, higher accuracy and less response time

    Algorithmes et architectures pour l'implémentation de la détection d'expressions régulières

    Get PDF
    La prochaine génération de réseau mobile, la 5G, devrait supporter des latences 10 fois plus faibles avec des débits et un nombre d’appareils connectés 100 fois plus importants qu’aujourd’hui. Dans le même temps, les opérateurs et les gestionnaires de réseaux veulent des systèmes plus modulaires qui puissent s’adapter rapidement aux nouveaux protocoles, mais qui ne consomment pas plus d’énergie que les solutions actuelles. Les opérateurs et administrateurs sont donc de plus en plus intéressés par des plateformes reconfigurables telles que des FPGA. Cependant, ces plateformes nécessitent encore des experts pour être utilisées et ont des temps de développement qui peuvent être longs ce qui les rend difficiles à intégrer. De plus, les infrastructures informatiques sont des éléments de plus en plus critiques pour le fonctionnement de l’économie. La sécurité des réseaux est donc devenue un point important pour protéger ces infrastructures. Actuellement la protection des réseaux est effectuée en utilisant des Systèmes de Détection d’Intrusions — Intrusion Detection System (IDS) qui effectuent l’inspection en profondeur de paquets — Deep Packet Inspection (DPI). Pour permettre la protection, les IDS comparent le contenu des paquets transitant sur le réseau à des règles prédéterminées. Ces règles sont représentées soit par des chaînes de caractères ou bien des expressions régulières. Dans ce mémoire, nous proposons trois contributions en rapport à l’utilisation de FPGA pour effectuer de la recherche de texte et d’expressions régulières dans les réseaux. Ces trois réalisations sont implémentées sur des FPGA et respectent les contraintes de latence liées aux réseaux.----------ABSTRACT: The next generation of mobile networks, called 5G, is expected to achieve significantly better performance than present networks : latency 10x smaller, throughput 100x higher with 100x more connected devices over the so-called 4G. Moreover, service providers and network administrators will need more configurable systems able to rapidly support new protocols. Furthermore, the power consumption of the resulting network infrastructure remains a critical consideration. A possible solution to meet all those requirements involves the use of FPGAs. However, the development complexity causes integration difficulties. In addition, computers and data-centers are more and more critical systems. Consequently, security is an important issue. This motivates introducing Intrusion Detection Systems (IDS), which perform Deep Packet Inspection (DPI). IDSs compare the network flow against a set of rules that are expressed with strings and regular expressions. This thesis proposes three contributions in regard to FPGAs utilization for text and regular expression search. Those contributions respect the latency constraint of networks and are implemented into FPGAs

    Parallelization of a software based intrusion detection system - Snort

    Get PDF
    Computer networks are already ubiquitous in people’s lives and work and network security is becoming a critical part. A simple firewall, which can only scan the bottom four OSI layers, cannot satisfy all security requirements. An intrusion detection system (IDS) with deep packet inspection, which can filter all seven OSI layers, is becoming necessary for more and more networks. However, the processing throughputs of the IDSs are far behind the current network speed. People have begun to improve the performance of the IDSs by implementing them on different hardware platforms, such as Field-Programmable Gate Array (FPGA) or some special network processors. Nevertheless, all of these options are either less flexible or more expensive to deploy. This research focuses on some possibilities of implementing a parallelized IDS on a general computer environment based on Snort, which is the most popular open-source IDS at the moment. In this thesis, some possible methods have been analyzed for the parallelization of the pattern-matching engine based on a multicore computer. However, owing to the small granularity of the network packets, the pattern-matching engine of Snort is unsuitable for parallelization. In addition, a pipelined structure of Snort has been implemented and analyzed. The universal packet capture API - LibPCAP has been modified for a new feature, which can capture a packet directly to an external buffer. Then, the performance of the pipelined Snort can have an improvement up to 60% on an Intel i7 multicore computer for jumbo frames. A primary limitation is on the memory bandwidth. With a higher bandwidth, the performance of the parallelization can be further improved

    Parallelization of a software based intrusion detection system - Snort

    Get PDF
    Computer networks are already ubiquitous in people’s lives and work and network security is becoming a critical part. A simple firewall, which can only scan the bottom four OSI layers, cannot satisfy all security requirements. An intrusion detection system (IDS) with deep packet inspection, which can filter all seven OSI layers, is becoming necessary for more and more networks. However, the processing throughputs of the IDSs are far behind the current network speed. People have begun to improve the performance of the IDSs by implementing them on different hardware platforms, such as Field-Programmable Gate Array (FPGA) or some special network processors. Nevertheless, all of these options are either less flexible or more expensive to deploy. This research focuses on some possibilities of implementing a parallelized IDS on a general computer environment based on Snort, which is the most popular open-source IDS at the moment. In this thesis, some possible methods have been analyzed for the parallelization of the pattern-matching engine based on a multicore computer. However, owing to the small granularity of the network packets, the pattern-matching engine of Snort is unsuitable for parallelization. In addition, a pipelined structure of Snort has been implemented and analyzed. The universal packet capture API - LibPCAP has been modified for a new feature, which can capture a packet directly to an external buffer. Then, the performance of the pipelined Snort can have an improvement up to 60% on an Intel i7 multicore computer for jumbo frames. A primary limitation is on the memory bandwidth. With a higher bandwidth, the performance of the parallelization can be further improved
    corecore