Opis projektu
Bezpieczne sieci dzięki bezbłędnym programom w języku P4
Programowalne sprzętowe płaszczyzny danych zapewniają bezprecedensową elastyczność sieci, jednocześnie oferując nieustannie zwiększający się zestaw funkcji sieciowych przy prędkościach sprzętowych. P4 to specjalistyczny język programowania, który pozwala na konfigurowanie programowalnych płaszczyzn danych. Opracowane w kontekście projektu finansowanego przez Unię Europejską narzędzie af4 jest narzędziem weryfikacyjnym, które znajduje wszystkie błędy, a następnie automatycznie naprawia programy P4 bez konieczności ingerencji programisty. Narzędzie automatycznie generuje predykaty, dzięki którym odfiltrowuje błędne wpisy w tabelach. W ramach finansowanego przez Unię Europejską projektu SafeNet zostaną przeprowadzone badania rynku, w ramach których odbędą się poszukiwania potencjalnych nowych użytkowników rozwiązania. Głównym celem projektu jest jak najszybsze wprowadzenie nowego produktu na rynek, ponieważ rozwiązanie af4 może pozwolić na znaczące ograniczenie liczby błędów i zwiększenie bezpieczeństwo sieci.
Cel
Programmable hardware dataplanes such as the Barefoot Tofino enable unprecedented network flexibility, promising an ever-evolving set of network functionalities at hardware speeds, and are being rolled out in production. However, programming such dataplanes is very difficult as numerous bugs have been found even in trivial programs: accesses to uninitialized header fields, header stack underflows or overflows and processing of dropped packets. Verifying P4 programs before deployment is a great solution to make P4 programs safe. Recent research in this direction has shown that many bugs can be caught if (1) we know the concrete table entries at verification time (Vera, our work in Sigcomm 2018), or (2) if programmers express which rules are likely to appear in practice (p4v in Sigcomm 2018). Both approaches impose a high burden on the programmer, which reduces their applicability. In the CORNET ERC Stg project we have developed af4, a verification tool that finds all bugs and automatically fixes P4 programs without needing programmer input. The key insight behind our work is that verification need not consider all table entries because certain table entries will always result in faulty behavior for all matching packets and thus cannot appear in a correct deployment. af4 automatically generates predicates that filter out buggy table entries. If bugs are still reachable after predicate inference, af4 automatically adds a minimal number of keys to the existing tables and generates predicates that remove all bugs in the programs we tested. In this project we will explore the feasibility of commercial exploitation of af4: a) we will conduct a market study to understand potential customers; b) we will study possible approaches to commercialise af4 including open-source + consulting, cloud-based, or closed-source, and c) take steps towards commercialisation including the development of alfa-testing tools to be given to prospective customers.
Program(-y)
System finansowania
ERC-POC - Proof of Concept GrantInstytucja przyjmująca
010258 Bucuresti Sector 1
Rumunia
Organizacja określiła się jako MŚP (firma z sektora małych i średnich przedsiębiorstw) w czasie podpisania umowy o grant.