Projekt per år
Application-level packet filtering is a technique for network access control in which an “application-level gateway” intercepts network packets at the application level (e.g., HTTP, FTP), scans them for security concerns and optionally logs, rewrites or discards them. Existing application-level filters express their filtering rules in general-purpose languages, which limits the correctness guarantees available for them. We present the first declarative language for application-level network filtering, developed at Advenica AB. Our DSL uses security assertions to express properties that packets must have to be allowed through the network (e.g., “IMAP packet contains no executable attachment” or “SQL reply contains only explicitly permitted columns”), along with remedies that either reject or rewrite undesirable packets. We have designed the language around the needs of network filter developers, with a focus on correctness: our language can statically verify several properties of filter programs, such as well-formedness of the outcome, confluence, and termination, with the help of an off-the-shelf SMT solver. Our initial results show that the language can express many typical filtering tasks, closely maps to the application domain, and provides strong correctness guarantees.
|Titel på värdpublikation
|Proceedings of the 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
|New York, NY, USA
|Association for Computing Machinery (ACM)
|Published - 2020 nov.
|19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2020 - Virtual, USA
Varaktighet: 2020 nov. 16 → 2020 nov. 17
|19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2020
|2020/11/16 → 2020/11/17
- Datavetenskap (datalogi)