[00:00:10] >> Meditation for those of Ok for security function ritual exemption thank you for the introduction. So much talk or be a bond that will functions now what functions are quite popular today for both and the prizes and clout so they are typical no a function like fireworks that allows you to field of traffic I want a traffic net that helps you translate addresses between internal networks and external was well to my users at all to my eyes or a t.v. traffic and some small it's kind of deep packet inspection intrusion detection that helps to detect anonymous in your traffic so longer and the prizes rely on all of these now all functions heavily to feel her traffic in their networks and there was a survey I handled a few years ago to shows that if you count the number of devices in and the prize half of these devices are actually these kind of middle boxes and their work functions and the new trend is that people start to offload these now or functions into the collet so that's basically saying the and the prize is going to send traffic in through through the cloud where in the cloud will host lots of never functions to feel to the traffic and the traffic is sent back to the price missions so there are a few benefits of all sizing to the cloud as the 1st is that you can scale and among just that is how we ran Bushnell missions in the cloud we get reduce the cost Similarly for network functions if we can run in the cloud we can only we only need to ransom just enough machines based on the traffic and that means we can get a lot of cheaper maintaining in running the network functions it's also become much easier to manage to upgrade to deploy these never functions because now it's all the clouds job most of the enterprise that we need to handle them and because the media can also use these call these tasks. [00:02:03] So there are 2 fundamental requirements for Also seeing now now a functional clout that is basically high performance and high security so what do I mean by high performance is out as the traffic grows. Into the network that we need to increasing amount of capacity in the net will function to handle these traffic but unfortunately today's cause cannot go up to keep up with the traffic grows so there is a gap in terms of how far can you achieve high performance on the other hand these can the network function handling requires strong security because these enterprises are actually standing their own private data of these new functions so it's very important that we can protect the traffic from the cloud it should be encrypted somehow so the cloud doesn't have access to the internal private data and the prizes have it's more importantly now we are hosting example functions in the cloud it's important to make sure the cloud doesn't have any understanding of the proprietary functions what internal logic is in their function I what types of rules to apply within the enterprise so it's important that we can protect these kind of from code and rules from the current and close the shared environments that means a lot of other and it is running in the cloud as well so it's important for us to protect to provide this pretty preventing such an attacks from other entities if we run there were functions in the cup so wholly achieving all of these today today we typically run at will functions on virtual machines so that's typically have low performance because we are basically using the c.p.u. cause to handle traffic so just look at the me of the number there could only achieve that point $66.00 to get the base per 2nd for single core. [00:03:55] And plus we were have a lot of virtualization overhead now coming from running the bushel machines on the hypervisor layer that adds extra delay and affects us or approach for these functions and today people have tried hard to use the how devices to isolate never functions and even some of the Never functions in some secure trusted environments like s g x But unfortunately is the on dots like secure enough we are seeing meltdown and other attacks that happen in full such secure environment so an alternate if we try to explore with our new work is trying to see if the other way we can offload these natural functions to smart nix semantics are actually the new chant happening in the cloud for example Amazon easy to have been devoting a lot of effort to develop their own smart nix so that people can run all kinds of network functions and storage and other queries on the Smart next to get better performance and cheaper cost and there are actually a lot of switch vendors in the space for example. [00:05:00] To feel their Mario and Broadcom all develop their own small nicks allusions and just trying to see all these products to the clout. So if we can never functions in the Smart mix down to get natural performance gains in that's this money Excel quite have quite cost effective cost that can host this network functions and they also have a lot of basic base the celebrators salary to specific types of neural functions and at being addition to that you don't need to go through the hypervisor layer you get a round with p.c.i. e overhead so that helps us to get better performance but today's cloud were not designed for shared environment at all so there is a lot of vulnerabilities in the cloud out because the by a lack of memory isolation and also performance isolation in the nic so that's what we try to explore is an end and shield work is can we redesign Smar next with minimal changes so that we can provide both high performance and strong security so that we have now allow the sharing of running there were functions on such money so before I talk about and I'm sure we're I will go a little bit deeper arm was happening inside the smart mix we have here we're talking typically about this money cost money x. does have a lot of my poor cost effective course on the next that basically you can run all kinds of functions here there are typically 2 types of course there are programming course where you care of transfers and there were function code on these cause and around them they also measurement cause that you can run a small Nicko s. that can like Manager this code and transfer the code that manage the next software for for these now all functions so in addition to cause they are also these. [00:06:54] Memory hierarchy so there are different nics have different types of memory but in general will have a bunch of. Off chip dram space but also some chip rock you call like space in these next there's also a bunch of how they were set on the returning the next like these. [00:07:15] P.p.i. engine that allows us to do the packet inspection fast and there are also these kind of compression celebrate her in Christian to celebrate her and also rate a salary to her that helps him get from the specs of network functions. And the family typical to any lick we have these packet ingress and egress scheduler function where you can apply different policies and the steer the traffic to different network functions space are the configurations. [00:07:46] And the finally there is this I'll bust out connect this different components together but as we see here the air is typically no isolation supporting such nicks and that's because Nick's were not designed for sharing Marmont and does cause a lot of trouble we actually investigated a bunch of nicks smart next on the market and we try to understand what are the security vulnerabilities of such nics if we were to Wrong them in a shared like environment so the 1st the next we investigate was these Mavi or Nick that in this nick they are actually or she or they are to cash across different programming course so if that means if you run there were functions on different cause you like actually have some side channel attacks happening on the Kashmir. [00:08:34] And this kind of mix actually run the Mapes. Sr architecture so that means they're in the mid-South capture there is actually a shared. Second called x. k. Fiz segment in that segment it actually allows directly mapping between the virtual memory to the physical memory so that means if the malicious and they have can like use these virtual memory space the casually manipulate to map to any physical space it wants so we actually did an experiment in such a nick we were running a deep packet inspection function in the one core and we have another attacker running in a different core and this attacker is able to manipulate this space and then get into the actual physical memory space where the d.p.i. stalls the packet Where's all the rules so that hackers can actually manipulate both the packet and forth to cause damage to the original network function. [00:09:37] There are of course other types of needs that are trying to provide some more secure supports on these nics so when typical example is memory loss Bluefield that's the best like secure Nick we know on the market and what it does is that it's running arm cause so it's inherited from arm which is this trust zone concept is very similar to Intel as g x supports this case allows the course to run a secure environment that's isolated from the other cause but unfortunately they are still also share the medium in such need like the shared I'll pass they are so vulnerable for side channel attacks among the the the the cause outside the trust them and was even worse is that even within the trust gnome you have to run some secure world operating system and it's you typically the cloud who provides our present system so that means although we can isolate these now and have some other n.f.c. we can also isolate these now all functions from the cloud so that potentially still sniff all your traffic data from your n.f. rules. [00:10:46] So that's why because the of these vulnerabilities we try to see if we can redesign smart nics so that we can fundamentally provide such isolation. In the Niek architecture without affecting the high performance benefits of the next. So I was threat model is that we trust the need hardware. [00:11:08] Because it's manufactured by the company not only by the cloud but our goal is to isolate and apps from each other because they may be running by different tenants and also being able to isolate it from the rest of the cloud o.-s. from the O.S.'s that's maintained by the cloud you know this isn't true that we also wanted to be side channel free so we want to make sure these and after the couldn't affect each other in a sharing moment and we do not consider the other attacks such as effect those attacks or the laws requires physical possessions or the dos attack also attacks from the cloud. [00:11:53] So how can we design good isolation for such an x. we basically have to revisit every resource as we have all the nix now we want to provide clear isolation for all of them so we're start by talking about the ram the memory layer and here is the memory layer we have 3 goals where we want to prevent the cloud the o.-s. maintained by the cloud from accessing arbitrary memory space we want to prevent other n.f.c. from accessing this tenant v M's memory will also provide want to prevent such channel attacks on the cache layer so the solution to that is we want to have these principle called the single owner ram semantics that means the ram region at any given time should only be owned by either a single running network function or by the call or as but it shouldn't be touched by multiple and it is a given time. [00:12:49] So how do we achieve such thing the owner semantics the 1st drop is that we want to. Visit the challenges that the oil has have to own the memory and have to manage in memory for the natural functions so originally all the memories owned by the s. and the S's take the job of allocating the memory to different and never functions coming true the need. [00:13:12] So I would go is trying to protect the oil as after its allocated memory we need to prevent it from accessing the memory to allocate it again so that's why we introduce some trust to the hardware instructions that prevents these oils from accessing the memory it's allocated So basically after that occasion we were blacklists these and using a blacklist page table layout to make sure that all is in hardware make sure the oil is do not have access to the other the and have storage in the memory space unfortunate this kind of blacklist implementation is quite simple because a lot of other space we have been using extended page tables for Shadow page and now we can use exactly the same techniques to implement so on the chip design layer is a very small addition to the chip. [00:14:04] So in addition to prevent the West from accessing the memory we also need to prevent other and have from accessing the memory so here we try to ensure that there is no page table in such programmable cause so that means the n.f. score running on the always call have no way to manipulate the virtual memory to physical memory mapping to access the other people's physical memory space we make sure that there is no page table but instead we have some p.o.b. entries. [00:14:36] That shows that the wreck mapping between the virtual member and the physical memory space so in that way we make sure that an f. wouldn't be able to touch the other and have some physical memory. But so a drawback of this approach is outs we now have to constrain the memory space because all the virtual memory space are preprogramed so fortunately because we are only supporting networking functions not supporting the other types of programs based are all investigation of no one ever functions they typically have very limited footprint but I for example based on a member of our profiling the best and naps only requires like 70 megabytes of memory so if based on their requirements we come preprogram be entries then we would not. [00:15:24] Affect the performance but we were still be able to support such isolation and based on the calculation we can see that it typically only need like 40 to be entries for assuming 2 megabytes a page. And the family were able to prevent the us from accessing memory prevent any from s.s. in the memories in the last chances we need to prevent some site channel attacks so we achieve doubts through cache partitions the traditional cache partition like entails cat solution is not a good fit here because it is only improvise solved partitions so instead we rely on some other techniques that ensures a secure. [00:16:08] Cache partition and. Provide that prevent timing channel attacks on the cash layer so that's how we are making effort to isolate the memory space for running their work functions now we moved to the celebrators a sever returns as a new component in nix that wasn't available in other types of architecture or secure trusting management so we have 2 special design for the cellar eaters and basically us celebrate nothing magical just like a bunch of hardware threats that read from the packet buffer to some processing on these threads and then read back to them right back to the memory. [00:16:48] So the key question is how do we prevent the oil us from accessing celebrates her data. And again here I sing with face 2 choices one ways we can dynamically allocated a salary to our hardware strengths to different level functions based on their needs but that would require a lot of like Cab swapping this context switching that takes a lot effort so instead if we can fix the partition the threads and rams for different types or use ages and we just allocate difference like groups we call the virtual functions if we can't. [00:17:25] Locate these groups to different there were functions based on need to state clearly down we would be able to have very simple even mentation enable straw isolation. And now once we have isolated these how the worst threats we were known as relates the memory space as well so to do that is very similar to the memory isolation we implemented this direct t.o.b. entries for each of the. [00:17:50] Groups in that way we can ensure the isolation. In question. Ok so in order to prevent the side channel attacks basically what we do is we have to use the trusted hardware instructions again to make sure each thread its configuration of the t.r.p. entries are not accessible by the oil. [00:18:17] Is a read only after its launch. And finally we also need to worry about the packet I over how can we isolate the input output buffers all the packets so that we can ensure the isolation for different network functions and there we take the idea from the s. are we on the nix that was used to provide the virtual queues to support the different. [00:18:44] Usage for different virtual machines so we can't hurry the similar ideas so we implement these kind of virtual packet pipelines for each and that each pipeline would have its own like. Pause its own packet scheduler so that a way we can isolate different and have input outputs traffic. [00:19:07] And finally there is also a bus that connected from component together we need a good Tater. That can do really limiting for different ways of use about. The communications between the program of course and always cause the communication between the celebrators and between the packet ios so if we have good really matters for each of the communications and we can ensure clear isolation for these traffic. [00:19:37] And the family very similar to how we provide a secure environment for virtual machines while we also need to re most attestations So once a cloud o.-s. does initiate the never function isolating Rahman's we need to ensure that these functions running correctly as expected and to ensure that we have to do these kind of remote a seller attestation basically we can run this function called and have test allows them the user who initially function to confirm the hash of the or log the whole environ protocol parameters of the whole environment to make sure it's running as expected and this part is quite similar to as gx setting. [00:20:23] So now I mention to you like how do we provide a secure environment on the nic and that actually neighbors on different use cases of running off loading never function to the Smart nics one case could be that we were have and the price traffic that offloading the network functions to the nic and then they'd have sent encrypted the traffic through the cloud and then back to their sites and we can make sure all the data and the never functions and there are rules of fully protected from the cloud and other tenants in the cloud. [00:20:55] Another use case for our product would be like if the Enterprise is already running a bunch of words from machines in a cloud to do is ask you ssion then we can potentially putting these virtual machines on the enclaves in the environment in the courts but also putting the network functions in the Trusted mix so that we can provide us more isolated a virtual network environment where the complete communications of the generation of the traffic and the processing of the traffic and then there were functions are for the process in such secure environment and their communications are also encrypted. [00:21:35] Rickson. Ok so we choose revaluation we were focusing on 2 key questions way as was the actual or had to have 2 in command and have showed on top of today's Nix and 2nd is what are the performance benefit we would have off loading the narrower functions onto the next. [00:21:58] So we can see that the extra hardware course and sure there are many the t.r.p. entries basically we have to put a few t.l.b. entries for the programming course to be able to isolate the traffic from other and have to ensure the other and don't have access we also need to a bunch of t.r.p. entries for the celebrators. [00:22:19] To ensure that the use of a sailor returns also isolated So we based on take the standards and their functions and together real traffic requirements they have and your real programming and the salary to requirements they have and they will rely on this architecture framework mac patch modeling to estimate the potential hardware cost. [00:22:43] For for these. These actual t.r.p. entries and trying to compare with I am core which is a relatively small processor the minimum cost of $4.00 existing nics so we can see that the actual chip area and the power are can a minimum we only need about more than around 8 percent of cheap area extra chip area and Rancho percent of actual power cost to support the new isolation they are. [00:23:15] So the end of Field's performance doesn't end there feel desired is only isolating traffic and doesn't affect the performance so the performance I am assured is as good as if we are running on the existing Nick so that's why we were comparing the n f c O's performance on existing NICs with previous works and we increment a bunch of standers network functions and we in also established IP Sec tunnels across these there were functions for to encrypt the traffic would compare ways to existing work wise net bricks that doesn't provide any security support but it's basically state the arch now a function platform they're running virtual machines and the 2nd is a safe breaks that's built on top of net breaks they're trying to encrypt running and therefore the trusted environment as gx environment but also on the virtual machines and it also use a dedicated core for the packet processing. [00:24:17] And here's the performance gains we get we can see that and showed because we're offloading their all functions to the nic we can't get around like 1.15 percent of times more performance compare internet breaks even on a single core but next definitely has much more cause and much cheaper cause. [00:24:39] Even compare with Zip breaks we also have some gains as well the major gains come from like the Knicks have good a sailor returns of encryption traffic so we can process in corruption much faster. So in conclusion we talk about the new trend of offloading network functions to the cloud and the new trend of using Smart next to support different there will functions but the key requirements is how do we provide high performance of processing in crowing traffic but also provide strong security to allow a month for tenants to run their narrow functions on the nic and their show their chief both performance and security by assuming by adopting 3 key ideas The 1st is that we are able to ensure single owner semantics for the Rams on the nic we're also able to pervasively virtualize the hardware seller returns and packet io so that we can ensure clear isolation and we also used to dedicate the bus bandwidth for different network functions that's a question. [00:25:59] Yet. It's gone for a. Whole. World's isolation boy world some people. Here. Laurie. All of us. With. Ya have been looking to the government documents to know lie was the key requirements does addition in addition to what we were describing because we're trying have a quite isolated environment where we make sure the cloud doesn't have any access the other enough doesn't have any access the only thing I think medium is are the buses the are shared where we do read limiting so I am not sure just if the red limiting is enough or for the government requirements but the rest I see is very secure on. [00:26:58] The question. Of.