Flexible Packet Filtering: Providing a Rich Toolbox

Total Page:16

File Type:pdf, Size:1020Kb

Flexible Packet Filtering: Providing a Rich Toolbox Flexible Packet Filtering: Providing a Rich Toolbox Kurt J. Lidl Deborah G. Lidl Paul R. Borman Zero Millimeter LLC Wind River Systems Wind River Systems Potomac, MD Potomac, MD Mendota Heights, MN [email protected] [email protected] [email protected] Abstract The BSD/OS IPFW packet filtering system is a well engineered, flexible kernel framework for filtering (accepting, rejecting, logging, or modifying) IP packets. IPFW uses the well understood, widely available Berkeley Packet Filter (BPF) system as the basis of its packet matching abilities, and extends BPF in several straightforward areas. Since the first implementation of IPFW, the system has been enhanced several times to support additional functions, such as rate filtering, network address translation (NAT), and traffic flow monitoring. This paper examines the motivation behind IPFW and the design of the system. Comparisons with some contemporary packet filtering systems are provided. Potential future enhancements for the IPFW system are discussed. 1 Packet Filtering: An Overview might choose to copy only this data. Packet filtering and packet capture have a long history A packet must be parsed to determine if it matches a on computers running UNIX and UNIX-like operating given set of criteria. There are multiple ways of doing systems. Some of the earliest work on packet capture this parsing, but a great deal of it amounts to looking on UNIX was the CMU/Stanford Packet Filter [CSPF]. at a combination of bits at each network layer, before Other early work in this area is the Sun NIT [NIT] device the examination of the next layer of the packet. There interface. A more modern, completely programmable are multiple data structures designed for efficient repre- interface for packet capture, the Berkeley Packet Filter sentation of the parsing rules needed to classify packets. (BPF), was described by Steve McCanne and Van Ja- BPF uses a control flow graph (CFG) to represent the cri- cobson [BPF]. BPF allows network traffic to be cap- teria used to parse a packet. The CFG is translated into tured at a network interface, and the packets classified a BPF machine language program that efficiently prunes and matched via a machine independent assembly pro- paths of the CFG that do not need to be examined during gram that is interpreted inside the kernel. the parsing of a packet. Ultimately, a standard BPF program decides whether 1.1 BPF: An Overview a packet is matched by the program. If a packet is matched by the program, the program copies the spec- BPF is extremely flexible, machine independent, rea- ified amount of data into a buffer, for return to the user sonably high speed, well understood, and widely avail- program. Whether or not the packet was matched, the able on UNIX operating systems. BPF is an interpreted, packet continues on its normal path once the BPF pro- portable machine language designed around a RISC-like gram finishes parsing the packet. LOAD/STORE instruction set architecture that can be efficiently implemented on modern computers. BPF also has a limited facility for sending packets out network interfaces. BPF programs using this fa- BPF only taps network traffic in the network interface cility must bind directly to a particular network inter- driver. One important feature of BPF is that only pack- face, which requires that the program know what inter- ets that are matched by the BPF program are copied into faces exist on the computer. This allows for sending any a new buffer for copying into user space. No copy of type of network packets directly out an interface, with- the packet data needs to be made just to run the BPF out regard to the kernel’s routing table. This is how the program. BPF also allows the program to only copy rarpd and dhcpd daemons work on many types of enough of a packet to satisfy its needs without wasting UNIX computers. time copying unneeded data. For example, 134 bytes is sufficient to capture the complete Ethernet, IP, and TCP BPF, as originally described, does not have a facil- headers, so a program interested only in TCP statistics ity for rejecting packets that have been received. BPF, capabilities would allow for a single BSD/OS computer although described as a filter, can match packets, copy acting as a router to protect any other computers behind them into other memory, and send packets, but it cannot the filter. drop or reject them. 3 Need for Flexibility 2 Motivation An early design decision for IPFW was that the sys- tem should present as flexible a matching and filtering The need for a powerful and flexible packet matching framework as possible. As few filtering rules as possi- and filtering language had been evident for a long time. ble should be directly embedded in the kernel. As much The basic ideas for the BSD/OS IPFW system were the as possible, filtering configuration and policy should be result of several years of thought about what features and installed into the kernel at runtime, rather than compiled functions a packet filtering system must provide. Having into the system. This decision has reaped many bene- highly flexible packet filtering for an end system would fits during the lifetime of this system. Because IPFW be mandatory, and that same filtering system should be is extremely flexible, it has been applied to many prob- applicable for filtering traffic that was being forwarded lems that were not in mind at the time it was designed. through a computer. To borrow Robert Scheifler’s quote about the X Window The immediate need for a flexible packet filtering System Protocol, IPFW is “intended to provide mecha- framework came from a desire to run an IRC client in nism, not policy.” [RFC1013] a rigidly controlled environment. This environment con- sisted of a daemon that could be run in a chroot’d direc- 4 Other Packet Filters tory structure, as well as a highly restrictive set of packet As was noted earlier, there were several other packet filters. These filters could not just prevent unwanted filtering technologies when IPFW was first envisioned. inbound packets, but perhaps more importantly, could In the years since, other filtering technologies have been also discard unwanted outbound packets. The BSD/OS developed, some specific to a particular operating sys- IPFW system was thus originally intended to filter both tem and others available on a variety of platforms. A the inbound and outbound traffic for a particular host. comparative analysis with these other packet filters al- Many of the most popular contemporary packet fil- lows one to more fully appreciate the flexibility of IPFW. tering systems of the initial design era (circa 1995) One of the most important differences between IPFW were incapable of filtering packets destined for the lo- and these other filtering systems is that IPFW actually cal computer or originating from the local computer. downloads complete programs to be evaluated against The available filtering systems concentrated on filtering the packets. The other filtering systems are all rules- traffic that was being forwarded through the computer. based. By evaluating an arbitrary program, an entirely Other major problems with the existing packet filter- new methodology of packet filtering can be installed ing systems were the inability to do significant stateful without rebooting the system. In a rules based system, packet forwarding and unacceptably low performance any new type of rules requires code changes to the fil- [screend]. screend does keep track of IP fragments, tering system, as well as a reboot to make it active. Dy- which is a limited form of stateful packet filtering. namic loadable kernel modules can approximate the pro- Further motivation for a flexible packet filtering sys- gram download facility as modules could be replaced tem was the lack of any other standard packet filtering with new filtering rule capabilities without requiring a in the stock BSD/OS system of that era. There was system reboot. customer demand for a bundled packet filtering system, which was not fully met by the other widely available 4.1 Darren Reed’s ipfilter packet filtering systems [ipfilter]. screend, the most The ipfilter package is available on many versions of widely available contemporary packet filtering system, many UNIX-like operating systems, from BSD/OS to provided many good lessons in packet filtering technol- older systems such as IRIX to small-footprint systems ogy. The BSD/OS IPFW system was designed with the like QNX to frequently updated systems like FreeBSD. lessons learned from screend in mind. It supports packet filtering, provides a Network Ad- A consideration for the implementation of a new, dress Translation (NAT) implementation, and can per- flexible packet filtering framework was the realization form stateful packet filtering via an internal state table. that as the Internet grew, the number of attacks from Like the other examined packet filters, ipfilter is a rules other locations on the Internet would also grow. Hav- based system. It can log packet contents to the pseudo- ing a powerful matching language tied to the filtering device “ipl.” [ipfilter] [ipfilterhowto] 4.2 FreeBSD’s ipfirewall System it does not have an established track record, and is still undergoing change. [OpenBSD] FreeBSD provides a packet filtering interface, known as ipfirewall. This system is often referred to as ipfw, 4.6 TIS Firewall Toolkit which is the name of the management command. This is a rules based packet filtering mechanism, which is The TIS Firewall Toolkit (fwtk) and other proxy fire- manipulated internally by socket options. There is an walls not only examine the source and destination of additional kernel option (IPDIVERT) to add kernel di- packets, but also the protocol being sent.
Recommended publications
  • Proceedings of the Bsdcon 2002 Conference
    USENIX Association Proceedings of the BSDCon 2002 Conference San Francisco, California, USA February 11-14, 2002 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION © 2002 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. Flexible Packet Filtering: Providing a Rich Toolbox Kurt J. Lidl Deborah G. Lidl Paul R. Borman Zero Millimeter LLC Wind River Systems Wind River Systems Potomac, MD Potomac, MD Mendota Heights, MN [email protected] [email protected] [email protected] Abstract The BSD/OS IPFW packet filtering system is a well engineered, flexible kernel framework for filtering (accepting, rejecting, logging, or modifying) IP packets. IPFW uses the well understood, widely available Berkeley Packet Filter (BPF) system as the basis of its packet matching abilities, and extends BPF in several straightforward areas. Since the first implementation of IPFW, the system has been enhanced several times to support additional functions, such as rate filtering, network address translation (NAT), and traffic flow monitoring. This paper examines the motivation behind IPFW and the design of the system. Comparisons with some contemporary packet filtering systems are provided. Potential future enhancements for the IPFW system are discussed. 1 Packet Filtering: An Overview might choose to copy only this data.
    [Show full text]
  • Análise De Usabilidade Da Ferramenta Ipfirewall Para Firewall
    Furin e Machado Junior (2011). ANÁLISE DE USABILIDADE DA FERRAMENTA IPFIREWALL PARA FIREWALL Marcelo Antonio Ferreira Furin Graduado em Sistemas de Informação pela LIBERTAS Faculdades Integradas. Dorival Moreira Machado Junior Mestra em Sistemas de Informação e professor da LIBERTAS Faculdades Integradas. 1. INTRODUÇÃO A importância do firewall evidencia-se pela expansão da internet e o consequente aumento de usuários, muitas vezes, sem o conhecimento acerca da proteção de sua rede e sua máquina. Com isso, por meio da ferramenta IPFIREWALL, um filtro de pacotes do sistema operacional FreeBSD, será analisado suas funcionalidades nativas. Outro ponto de destaque para a importância do firewall é evitar que o craker (é o termo usado para designar quem pratica a quebra (ou cracking) de um sistema de segurança, de forma ilegal ou sem ética) invadam os arquivos não autorizados. Dentre as razões para se utilizar o firewall é ajudar a proteger à rede ou computador do usuário de acessos maliciosos de hacker (são indivíduos que elaboram e modificam software e hardware de computadores, seja desenvolvendo funcionalidades novas, seja adaptando as antigas). 2. PROBLEMA DE PESQUISA Utilizando a ferramenta IPFIREWALL para firewall, sem usar quaisquer, ferramentas para auxílio, tem-se o ambiente no qual se origina a pergunta de pesquisa que norteará o presente estudo: No que é possível fazer com as funcionalidades nativas do IPFW? 2.1 OBJETIVO GERAL O objetivo deste trabalho é descrever todas as funcionalidades nativas do IPFW, o qual vem como firewall padrão no sistema operacional FreeBSD, e comprovar que é 100 Furin e Machado Junior (2011). possível fazer o mesmo trabalho realizado pelo IPTABLES gerando um script com as regras.
    [Show full text]
  • Jitk: a Trustworthy In-Kernel Interpreter Infrastructure
    Jitk: A trustworthy in-kernel interpreter infrastructure Xi Wang, David Lazar, Nickolai Zeldovich, Adam Chlipala, Zachary Tatlock MIT and University of Washington Modern OSes run untrusted user code in kernel In-kernel interpreters - Seccomp: sandboxing (Linux) - BPF: packet filtering - INET_DIAG: socket monitoring - Dtrace: instrumentation Critical to overall system security - Any interpreter bugs are serious! 2/30 Many bugs have been found in interpreters Kernel space bugs - Control flow errors: incorrect jump offset, ... - Arithmetic errors: incorrect result, ... - Memory errors: buffer overflow, ... - Information leak: uninitialized read Kernel-user interface bugs - Incorrect encoding/decoding User space bugs - Incorrect input generated by tools/libraries Some have security consequences: CVE-2014-2889, ... See our paper for a case study of bugs 3/30 How to get rid of all these bugs at once? Theorem proving can help kill all these bugs seL4: provably correct microkernel [SOSP'09] CompCert: provably correct C compiler [CACM'09] This talk: Jitk - Provably correct interpreter for running untrusted user code - Drop-in replacement for Linux's seccomp - Built using Coq proof assistant + CompCert 5/30 Theorem proving: overview specification proof implementation Proof is machine-checkable: Coq proof assistant Proof: correct specification correct implementation Specification should be much simpler than implementation 6/30 Challenges What is the specification? How to translate systems properties into proofs? How to extract a running
    [Show full text]
  • Firewall and Proxy Server HOWTO Firewall and Proxy Server HOWTO
    Firewall and Proxy Server HOWTO Firewall and Proxy Server HOWTO Table of Contents Firewall and Proxy Server HOWTO................................................................................................................1 Mark Grennan, mark@grennan.com.......................................................................................................1 1. Introduction..........................................................................................................................................1 2. Understanding Firewalls......................................................................................................................1 3. Firewall Architecture ..........................................................................................................................1 4. Setting up the Linux Filtering Firewall ...............................................................................................1 5. Software requirements.........................................................................................................................1 6. Preparing the Linux system.................................................................................................................1 7. IP filtering setup (IPFWADM)............................................................................................................2 8. IP filtering setup (IPCHAINS).............................................................................................................2 9. Installing a Transparent SQUID
    [Show full text]
  • Chapter 1. Origins of Mac OS X
    1 Chapter 1. Origins of Mac OS X "Most ideas come from previous ideas." Alan Curtis Kay The Mac OS X operating system represents a rather successful coming together of paradigms, ideologies, and technologies that have often resisted each other in the past. A good example is the cordial relationship that exists between the command-line and graphical interfaces in Mac OS X. The system is a result of the trials and tribulations of Apple and NeXT, as well as their user and developer communities. Mac OS X exemplifies how a capable system can result from the direct or indirect efforts of corporations, academic and research communities, the Open Source and Free Software movements, and, of course, individuals. Apple has been around since 1976, and many accounts of its history have been told. If the story of Apple as a company is fascinating, so is the technical history of Apple's operating systems. In this chapter,[1] we will trace the history of Mac OS X, discussing several technologies whose confluence eventually led to the modern-day Apple operating system. [1] This book's accompanying web site (www.osxbook.com) provides a more detailed technical history of all of Apple's operating systems. 1 2 2 1 1.1. Apple's Quest for the[2] Operating System [2] Whereas the word "the" is used here to designate prominence and desirability, it is an interesting coincidence that "THE" was the name of a multiprogramming system described by Edsger W. Dijkstra in a 1968 paper. It was March 1988. The Macintosh had been around for four years.
    [Show full text]
  • Block Icmp Ping Requests
    Block Icmp Ping Requests Lenard often unpenned stutteringly when pedigreed Barton calques wittingly and forsook her stowage. Garcia is theropod vermiculatedand congregate unprosperously. winningly while nonnegotiable Timothy kedges and sever. Gyrate Fazeel sometimes hasting any magnetron Now we generally adds an email address of icmp block ping requests That after a domain name, feel free scans on or not sent by allowing through to append this friendship request. Might be incremented on your Echo press and the ICMP Echo reply messages are commonly as! Note that ping mechanism blocks ping icmp block not enforced for os. This case you provide personal information on. Send to subvert host directly, without using routing tables. Examples may be blocked these. Existence and capabilities is switched on or disparity the protocol IP protocol suite, but tcp is beat of. We are no latency and that address or another icmp message type of icmp ping so via those command in this information and get you? Before assigning it is almost indistinguishable from. Microsoft Windows found themselves unable to download security updates from Microsoft; Windows Update would boost and eventually time out. Important mechanisms are early when the ICMP protocol is restricted. Cisco device should be valuable so a host that block icmp? Add a normal packet will update would need access and others from. Now check if you? As an organization, you could weigh the risks of allowing this traffic against the risks of denying this traffic and causing potential users troubleshooting difficulties. Icmp block icmp packets. Please select create new know how long it disables a tcp syn flood option available in specific types through stateful firewalls can have old kernels.
    [Show full text]
  • Internet of Things
    8.5 GB Motorola Xiaomi Mi Lenovo A lightweight and Dual Layer DVD Moto Turbo A Powerful Processor Low on cost but high Yoga 3 Pro Free on performance premium quality Free Smartphone With a Brilliant Screen Pad Tablet Hybrid Laptop convertible `150 Remote Desktop Sharing with Chrome Recover Data from www.pcquest.com Encryped Hard Disk UNDERSTAND • CHOOSE • IMPLEMENT IT MAY 2015 with Ubuntu Internet of Things: The Road Ahead Key industries that are bullish on IoT and why, ISVs that live on IoT, 5 innovative IoT startups, latest trends on IoT adoption by businesses, and more... CONTEST: If your disks are missing, please ask your newsagent or email: [email protected] please ask your newsagent or email: If your disks are missing, WIN Ashampoo Snap 8 screen capturing tool and licensed copy of KEYWIN worth `44,000. See pg 58 for details Hot Trends: Developer Corner: The Pros and Cons of Net Neutrality How to Reduce Vulnerabilities in Android Apps How Online-only Mobile Brands are Shootouts Redefining Retail 12 Portable Bluetooth Speakers 5 Big Data Costs You Can’t Afford to Ignore 10 Budget Smartphones under `10,000 Subscribe to PCQuest and get antivirus worth `1,800 free. For details, go to pg. 74 92 pages including cover Contents 36 COVER STORY Internet of Things: The Road Ahead Moving beyond the initial euphoria, IoT has steadily progressed to impact our lives in several meaningful ways. Going forward we expect both businesses and individuals to make steady returns on their investments 38 5 Key Industries that are Bullish on IoT 42
    [Show full text]
  • BSD UNIX Toolbox 1000+ Commands for Freebsd, Openbsd
    76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page i BSD UNIX® TOOLBOX 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iv BSD UNIX® Toolbox: 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD® Power Users Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2008 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-37603-4 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 Library of Congress Cataloging-in-Publication Data is available from the publisher. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permis- sion should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions.
    [Show full text]
  • Ipfire Duobox Business, 4 GB RAM, 64 GB SSD
    Item no.: 323825 IPFire DuoBox Business, 4 GB RAM, 64 GB SSD from 462,37 EUR Item no.: 323825 shipping weight: 1.20 kg Manufacturer: IPFire Product Description IPFire DuoBox Business, 4 GB RAM, 64 GB SSDThis Firewall version was specifically designed for small offices und home offices, in which a stable and fast Internet connection is essential. The Duo Box Business provides you with fast Internet, while being low-cost and energy-efficient. It keeps your business connected and, most importantly, it keeps your network safe. Main Features: ● 2x Gigabit Ethernet for LAN and WAN ● 1x 300 Mbit dual-band Wi-Fi with access point mode ● optionally upgradeable with LTE Scope of Delivery: ● System ● Power Cable ● PSU ● 2x WLAN antennas Specifications Application: Firewall application for SOHO, branch offices and IoT Type: aluminum profile construction without venting holes, black anodized Dimensions (W x D x H): 134 x 108 x 55 mm Weight: 1.2 kg Cooling: directly attached to chassis Operating conditions: 0 - 50 °C / 80 % rel. humidity CPU: Intel Pentium 3558U, 2x 1.7 GHz RAM: 4 GB DDR3L Mainboard: customized eNUC platform I/O front (standard): 1x RS232, 1x USB 3.0, 1x Audio I/O back: 2x HDMI, 2x USB 3.0, 2x RJ45 (Realtek GLAN) I/O internal: internal I/O might be occupied - depending on your configuration, 1x mSATA/mPCIe full size, 2x USB 2.0 Storage: 1x 2.5" 64 GB SSD (industrial, MLC, 0 - +70 °C ) Graphics: Intel HD, up to 2 independend displays supported, max. resolution: 3840 x 2160 px Wireless LAN, Unex DNUR-S2 300 Mbit dual-band WLAN module LTE: Huawei 909u-5214G LTE (FDD) B1/B2/B3/B5/B7/B8/B203G DC-HSPA+/HSPA+/HSPA/UMTS B1/B2/B5/B82G EDGE/ GPRS/ GSM - 850/900/1800/1900MHz Power-In: DC wide-input 9..19V, 5.5 x 2.5 mm plug PSU: FSP060-DHAN3; external AC/DC adapterInput: 90 to 264 V ACOutput: 12 V / 60 W Power consumption: Idle 6 W, 100% load (Cel.) 11 W OS compatibility: IPFire, OPNSense, PFSense, Ubuntu Linux Scan this QR code to view the product All details, up-to-date prices and availability Powered by TCPDF (www.tcpdf.org).
    [Show full text]
  • Packet Capture Procedures on Cisco Firepower Device
    Packet Capture Procedures on Cisco Firepower Device Contents Introduction Prerequisites Requirements Components Used Steps to Capture Packets Copy a Pcap File Introduction This document describes how to use the tcpdump command in order to capture packets that are seen by a network interface of your Firepower device. It uses Berkeley Packet Filter (BPF) syntax. Prerequisites Requirements Cisco recommends that you have knowledge of the Cisco Firepower device and the virtual device models. Components Used This document is not restricted to specific software and hardware versions. The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command. Warning: If you run tcpdump command on a production system, it can impact network performance. Steps to Capture Packets Log in to the CLI of your Firepower device. In versions 6.1 and later, enter capture-traffic. For example, > capture-traffic Please choose domain to capture traffic from: 0 - eth0 1 - Default Inline Set (Interfaces s2p1, s2p2) In versions 6.0.x.x and earlier, enter system support capture-traffic. For example, > system support capture-traffic Please choose domain to capture traffic from: 0 - eth0 1 - Default Inline Set (Interfaces s2p1, s2p2) After you make a selection, you will be prompted for options: Please specify tcpdump options desired. (or enter '?' for a list of supported options) Options: In order to capture sufficient data from the packets, it is necessary to use the -s option in order to set the snaplength correctly.
    [Show full text]
  • Ebpf-Based Content and Computation-Aware Communication for Real-Time Edge Computing
    eBPF-based Content and Computation-aware Communication for Real-time Edge Computing Sabur Baidya1, Yan Chen2 and Marco Levorato1 1Donald Bren School of Information and Computer Science, UC Irvine e-mail: fsbaidya, [email protected] 2America Software Laboratory, Huawei, e-mail: [email protected] Abstract—By placing computation resources within a one-hop interference constraints on IoT data streams and facilitate their wireless topology, the recent edge computing paradigm is a key coexistence. enabler of real-time Internet of Things (IoT) applications. In In this paper, we propose a computation-aware commu- the context of IoT scenarios where the same information from a sensor is used by multiple applications at different locations, the nication control framework for real-time IoT applications data stream needs to be replicated. However, the transportation generating high-volume data traffic processed at the network of parallel streams might not be feasible due to limitations in the edge. Driven by QoC requirements, the framework provides capacity of the network transporting the data. To address this real-time user-controlled packet replication and forwarding issue, a content and computation-aware communication control inside the in-kernel Virtual Machines (VM) using an extended framework is proposed based on the Software Defined Network (SDN) paradigm. The framework supports multi-streaming using Berkeley Packet Filter (eBPF) [9]. The implementation uses the extended Berkeley Packet Filter (eBPF), where the traffic flow the concepts of SDN and NFV to achieve highly program- and packet replication for each specific computation process is able and dynamic packet replication. Resource allocation is controlled by a program running inside an in-kernel Virtual Ma- semantic and content-aware, and, in the considered case, chine (VM).
    [Show full text]
  • Security Bugs in Embedded Interpreters
    Security bugs in embedded interpreters The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation Haogang Chen, Cody Cutler, Taesoo Kim, Yandong Mao, Xi Wang, Nickolai Zeldovich, and M. Frans Kaashoek. 2013. Security bugs in embedded interpreters. In Proceedings of the 4th Asia-Pacific Workshop on Systems (APSys '13). ACM, New York, NY, USA, Article 17, 7 pages. As Published http://dx.doi.org/10.1145/2500727.2500747 Publisher Edition Open Access Version Author's final manuscript Citable link http://hdl.handle.net/1721.1/86887 Terms of Use Creative Commons Attribution-Noncommercial-Share Alike Detailed Terms http://creativecommons.org/licenses/by-nc-sa/4.0/ Security bugs in embedded interpreters Haogang Chen Cody Cutler Taesoo Kim Yandong Mao Xi Wang Nickolai Zeldovich M. Frans Kaashoek MIT CSAIL Abstract Embedded interpreters raise interesting security con- Because embedded interpreters offer flexibility and per- cerns. First, many real-world systems do not adopt sand- formance, they are becoming more prevalent, and can be boxing techniques such as process isolation [20] or soft- found at nearly every level of the software stack. As one ware fault isolation [28] for embedded interpreters, possi- example, the Linux kernel defines languages to describe bly due to performance considerations. Consequently, a packet filtering rules and uses embedded interpreters to compromise of the interpreter is likely to lead to a com- filter packets at run time. As another example, theRAR promise of the host system as well. Second, embedded in- archive format allows embedding bytecode in compressed terpreters often validate untrusted bytecode using ad-hoc files to describe reversible transformations for decompres- rules, which is error-prone.
    [Show full text]