Coming up on DTNS, we break down the new one plus eight phones and Patrick Norton recommends websites to help you pick a gaming PC plus tips on how to get free TV. This is the Daily Tech News for Tuesday, April 14, 2020 in Los Angeles. I'm Tom Merritt and from Studio Redwood. I am Sarah Lane. And from Alamos, Colorado, I'm Patrick Norton. And occasionally I'll even remember which person I am. And I'm Roger Chang, the show's producer. It's right there. It's written right under there. I'm sorry. I should have told you that earlier. Today you are Patrick. We were just having a wide ranging conversation about Mongolian and throwing trash cans in Manhattan, all kinds of good stuff at patreon.com slash DTNS where you can get good day internet. Let's start with a few tech things you should know. A new version of Minecraft using ray tracing graphics will arrive April 16th as a free update on Windows 10. Minecraft RTX beta was co developed with NVIDIA and needs an NVIDIA GeForce RTX graphics card to use the DirectX ray tracing API and NVIDIA's DLSS pipeline, which can improve frame rates by upscaling resolution. The beta will not support online play or world seeds at launch. The distributed computing project folding at home has reached a peak performance of 1.5 exaflops, making it more than seven times faster than the world's fastest super computer. That's the summit of our national laboratory. I know folding at home beat supercomputers to the petaflop milestone back in 2007 as well right after it launched on the PlayStation 3 folding at home had been declining. It has gone from 30,000 volunteers in February to more than 700,000. Now part of the increase came from users leaving the SETI at home project which announced it was shutting down March 31st. But folding at home, of course, is also looking for proteins that can bind to SARS-CoV-2 and inactivate it. And that has really been the reason that more people have jumped in. So it is now the only exaflop system in the world folding at home. Good luck finding that binding protein, please. I just want to say if you need a team, Team Texill is still up there. Robert Herron found that out this week and we're still in the top 25. It goes all the way back to DLTV. So if you're looking for a folding at home team, by all means, it's very cool. According to government data, March iPhone shipments in China rose 19% from a year earlier to 2.5 million units. Now iPhone shipments in February in China fell more than 60% year on year. So interesting difference between the two months. Government data shows the overall smartphone market, however, shrunk by roughly 20% to 21 million shipments. Yeah, you're looking to see how fast China jumps back. You're going to want to see those numbers. The Entertainment Software Rating Board or ESRB announced a new label for games that offer in game purchases of loot boxes or other randomized rewards. The SRB says the snappily named label in game purchases, including random items will be applied to loot boxes, gotcha games, items or card packs, prize wheels, treasure chest and more. Microsoft Nintendo, Sony and many game publishers have all committed to disclosing the odds of receiving items from loot boxes with 2020 as a target for that policy to take effect. That's now so it needs to take effect soon. Speaking of Nintendo, the Nintendo Switch got system software update 10.0.0 on Monday, which lets console owners remap controller buttons on the Joy-Con controllers and also Nintendo Switch Pro controller and transfer data back and forth between system memory and SD cards. Animal Crossing New Horizons also get some new user icons for players of that game that hardly anyone's ever heard of. Tom Nook, Timmy and Tommy Nook, Isabel, Wilbur, CJ and Flick. I like Flick. You can get good prices from Flick. Apple is aggregating anonymized data from its Apple Maps users in a mobility trends report. Information is not tied to Apple IDs. Apple doesn't even maintain a history of where individuals have been. This is all randomized and the data is available from Apple's website as a CSV for anyone to access. But it is meant for use by state and federal policymakers to assess how well social distancing measures are working, similar to what Google did a few weeks ago. All right, let's talk a little bit more about that new OnePlus phone. Yes, it's exciting. Many of folk. OnePlus announced the OnePlus 8 and 8 Pro handsets running on the Snapdragon 865 chip with support for sub 6 gigahertz 5G and Wi-Fi 6. The OnePlus 8 Pro has a 6.78 inch 3168 by 1440 120 Hertz OLED display, comes with a 48 megapixel main camera, 3x hybrid and 3x digital zoom telephoto lens, a color filter camera and an ultra wide lens with a 100 120 degree angle capable of fast wireless charging with a $70 one plus 30 watt wireless charger, as well as a 10 watt Qi charger. The OnePlus 8 Pro is also IP68 rated for water up to 1.5 meters for up to 30 minutes. And it ditched the pop up camera so it can fit into a 45 10 milli amp battery. One plus eight pro starts at $899 for eight gigs of RAM and 128 gigabytes of storage or 999 for 12 gigs of RAM and 256 gigs of storage. The base model one plus eight has a 6.55 inch 90 Hertz display 48 megapixel sensor 16 megapixel ultra wide lens and two megapixel macro lens with a 4300 milli amp battery starting at $699 with eight gigs of RAM and 20 128 gigs of storage and $799 for 12 gigs of RAM and 256 gigs of storage. A millimeter wave 5g version will be available in the US from Verizon for $799. Both models come in black blue green with an interstellar glow option coming to the US on April 29 and Europe on April 21. Yeah, those are good specs. It's good to tell people about them. But I'm sure that no one heard anything except $799. But that seems to be the reaction out there to the one plus phone which has some lovely improvements. Basically, what they did is they made the one plus eight the base model, the upgrade from the one plus seven pro, and then they added a lot of cool stuff to the pro. And because they had to add more cool stuff to the pro, they had to raise the price. They've got that fast wireless charging. They've got that IPS rating. They've got the stellar camera option there. And so it's going to cost you $899 to start. That's still cheaper than Samsung and Apple because this is their top level. But it's more expensive than one plus users are used to.  It's incredible. You're looking at like $1,300 flagships. And yeah, I get it on one hand, like I look at this and I think, okay, fewer megapixels, bigger pixels, better low light performance on the camera be killer. But this is so inexpensive compared to what you're getting from what I will affectionately call the majors. I mean, this is by all accounts, and I've seen multiple outlets say this, the best flagship smartphone released in 2020. That's fake praise for 2020, to be honest. But but it's a really good phone for the price. It's just more expensive than people are used to from that company. A court in Nanterre, France has ruled that Amazon may only accept orders for groceries, hygiene and health related products in France for a month. So no other things, no video games, nothing. If it's not groceries, hygiene or health related, Amazon isn't allowed to ship it. While it reviews its health and safety practices in order to better protect its workers. Amazon has been prioritizing essential items, but not limiting orders that just took longer to ship the other stuff. This order is subject to extension on review by the court. So the court said, unless you can show us that it's safer for your workers, we're not going to let you ship anything with groceries, hygiene and health related products, even in a month, you've got to you've got to do better. This is a tough one, because on the side of France, you say, Well, yeah, the Amazon workers should should should come first. And if Amazon has to prioritize that ahead of non essential items for customers, which either means kind of postponed indefinitely, or at least, you know, for a little while, then on the surface that sounds great. But if Amazon effectively sort of winds down a huge part of its business in the country, well, that's not good for the workers either. Yeah, exactly. I mean, that would be what Amazon would argue is that they need to be funding the ability to improve this. I don't think Amazon's running out of money anytime soon. That's fair point. But but this is the the hardest that anyone has cracked down on Amazon, who have been criticized both from within and without, for not doing enough to protect worker safety. I mean, let's be clear, they have done things. They are providing mass and sanitization. It's not like they're not doing anything. But people are saying that it is kind of impossible in some of these warehouses to maintain proper social distancing. I mean, it's a microcosm of the argument that we're hearing in a lot of places where it's like, you know, do we save the economy or do we save people? And I think there's a middle ground that everybody serves. But, you know, case in point, there was a meatpacking plant in South Dakota where they shut down because there was a breakout of 300 cases of coronavirus because you're right up next to each other. You're constantly moving PPE is difficult to wear or maybe ineffective or maybe they didn't have it. And that's a, you know, it's a miserable decision to have to make. Yeah. And then that was in a state where the the orders to do social distancing across the state were late in coming. So it was it was spreading faster. France, on the other hand, you know, has been on top of this about the same as any other country has. So it's not that there are big outbreaks in Amazon, but it's it's that the court is saying you need to make sure there aren't. And we need you to do more. Axios sources say that Google has taken shipment of prototypes of its own processor design code named Whitechapel meant for pixel smartphones in 2021 at the earliest and eventually also Chromebooks. Google's new chip reportedly has an eight core ARM processor hardware optimized for machine learning and was designed in cooperation with Samsung using five nanometer technology. Samsung manufactures iPhone chips as well and its own ex news processors. Yes. So this, this is kind of the movement, right? We're seeing Apple doing this. There's a lot of rumors that they're going to do it more in their laptops as well. And it gives you more control in your hardware design to be able to design the chip yourself. In fact, in our pre show, Roger, you pointed out that that game consoles have done a similar thing in designing the chips and having the chip makers build them, but designing them custom in the past for the consoles. Yeah, it's it's it's a very interesting thing. And part of the one of the things they learned was it worked well up to a point where coding games became incredibly complex and complicated affairs and that having a standardized, you know, instruction set architecture would would help alleviate some of the costs of not only just developing games, but being able to port it from system to system. I would imagine that with this that Google is not going to move too far out from well, they use an arm, right? If they're using an arm, then they they avoid most of those instruction set problems. Absolutely. Patrick, what do you think of this? I mean, I kind of find it fascinating. I'm also kind of giggling because, you know, the the Sony placed it was I can't remember which which PlayStation it was that we're like, we're going to move an entirely different direction from the rest of the industry. And it created like this series of nightmare for developers who wanted to work multi-platform on games. You could argue it was either the PS2 or the PS3 because they both kind of threw caution to the wind. I was going to say developers are under the bus, but caution to the wind is probably a better way to say it. That was the wind over the bus. Yeah. The wind over the bus or under the bus. I think this is inevitable in a lot of cases. I also think Google's I want to learn. I'm still trying to figure out what Google's doing with machine learning and as much as my brain as I keep applying to machine learning on phones. I still find it so poorly documented. I don't know. I'm curious to see what they do with that section of the phone and whether or not it does anything that I particularly want Google to be doing on something in my pocket. Well, basically the biggest benefit of doing machine learning more on hardware and that's not specific to Google designing it itself. But the big benefit you get is that you don't have to send your data to the cloud to inform the model. And that's great for privacy, which everybody wants Google to take more steps to protect. So, you know, that's good. They're doing it on the phone.  Yeah. Well, if you don't trust Google, the nothing they do is ever going to be good enough. And you, technically, you would be able to design a chip that would adhere more to whatever you're writing so you could get more efficiency out of it thereby, you know, impacting the battery less. Absolutely. Battery and performance are the big benefits that you're going to get in being able to design this. And having, I mean, Samsung is basically becoming the manufacturer to the designers, right? It's not, it's not like Google and Apple are making these chips. They're designing them because they work with their designs, but they're still asking Samsung in both cases to manufacture them. So that's interesting. I'm just curious how this rolls up. So sorry. Yeah, yeah, yeah, I'm curious to say like, yeah, Qualcomm versus Apple versus now Google versus Samsung. I'm kind of curious at what point does it become harder and harder for smaller cell phone manufacturers to keep pace? At what point does Qualcomm decide to offer design to smaller manufacturers as a way to compete with Samsung on this, right? More details are coming out about the Apple Google Contact Tracing API. This is the one we've been talking about basically since last Thursday when we were talking about an MIT program that's very similar to encourage adoption. That's one of the problems Singapore ran into. They only got 12% adoption on their Bluetooth tracker, which made it less, less helpful. So to encourage adoption, users of the Apple Google API will be able to opt into the system once it rolls out on the operating system level, which again is the second phase. So that's not going to be for a while, but they'll be able to opt into the system without having to download an app. That makes it easier for people to do. You'll get a prompt from your operating system saying, hey, would you like to enroll in this and protect your privacy? Here's what you can learn about it. If a user is then notified that they may have come in contact with someone infected, they will then be directed to download the Revolvent Health Agency app for more information. The idea is getting people to download a Health Agency app is hard unless they have a real reason. So having it at the operating system level that they can opt in into off of a notification will increase adoption, and then you have them download the app when they need it. Also, Google will distribute the operating system update through Google Play Services, meaning it will not have to wait for carrier adoption. That was one other concern people were asking about. Apple and Google have explicitly said that the system will not be used for any other purpose. We've talked previously on the show about the anonymization, the rotating numbers, how this doesn't geolocate. It doesn't store any identifying information that no one government or private will be able to use this for anything other than tracking COVID-19. And it will be shut down when Health Agencies deem the threat has passed. Again, you don't trust Google or Apple, then none of that makes any difference. But they're saying the things that you want to hear them say. Yeah, if you if you're like neither of these companies, you know, I just I just don't believe what they're saying about data, then you wouldn't opt in. Otherwise, this sounds like the most frictionless version of the way that this rollout should go. Yeah, I this is just an update to kind of bring people up to speed on this, because there's a lot of misunderstanding about what they're doing. But my problem isn't with the way they're rolling it out. This feels like a very well done API for protecting privacy and providing information. I just don't know how helpful this is beyond the actual like widespread testing, social distancing, and isolation as well as human tracing. It may help with the human tracing, but the human interviews as a supplement to that, in which case, that's worth doing. And seems to me like they're doing it right. Also good for somebody, maybe Facebook launched an experimental app for the Apple Watch called kits that short for keep in touch, just like a yearbook signature. By scanning a QR code or entering a code manually on the web, you can set up the app to stay in touch with a messenger contact kind of designed for your closest friends or maybe a family member. After that, you can tap your watch to send voice recordings, emoji, location sharing, scribbles, or even use a speech to text. Now this is just for Apple Watch. So this is not something that I can take advantage of. If for some reason I had more context on Facebook Messenger than maybe I did using I message on iOS or, you know, a big list of folks that I talked to using SMS. This would make a lot of sense to me, Tom, you do have an Apple Watch. I mean, is this something that you're like, Ah, just what I wanted. I have friends and relatives that only use Messenger to contact me. So I'm the target audience for this experimental app. This is one of those Facebook apps that that they throw out there and they see if it sticks. If nobody picks it up, then they retire it. So I try not to be too critical of these things, because this is a good example of the of a research agency saying, let's come up with ideas and try them and see if they work. I get the idea here, which is my nephew Ben in Australia. We talk on Messenger. That's how we talk. And if I want to talk to him and I'm out and about with my watch, it would be easy for me to be like, OK, bends my contact.  I don't use Messenger that way. I don't use Messenger for urgent communication, but I can imagine that there are plenty of people who do who are who are going to, you know, coordinate with people on grocery pickups or or heading to the testing center or whatever. And this would be this would make it easier to contact them using your watch instead of having to pull out the phone. So it seems to the pretty sure the bend diagram between Apple Watch users and Facebook is probably staggeringly high or should say, yeah, it's probably pretty thick. Yeah, one with things. So I don't know. I'm not saying that this is that keep in touch is for sure going to be the hit. But this is one I at least understand better than some of the other experiments I've tried. Hey, folks, if you want to get all the tech headlines each day in about five minutes, be sure to subscribe to Daily Tech headlines.com. There's a lot of free television out there right now, folks. Sling TV just launched happy hour across America. Now that does not involve a beverage or chicken wings, according to Sling's own press release, they specifically said we can't give you chicken wings or a beverage, but they are offering free TV every evening from 5 p.m. to midnight local time. So whatever time zone you're in, you'll get it from 5 p.m. to midnight. The idea is that they say that that people stop watching news around 6 p.m. and switched entertainment. So they want to give them some free television to entertain them and then try to convert them into paying Sling TV customers once this limited time offer ends. If you want to try this out, you have to be a new customer and enter an email address at sling.com slash deals slash happy dash hour, but you don't need to enter a credit card. Just they just want to be able to bug you about signing up for the service later. They don't want to take your payment information. And if you do that, you get access to 50 plus channels on the Sling TV blue service, blue I believe is the one that has the NBC channels. Orange is the one that has the Fox channels. But Patrick, you pointed out that there are a lot of these kinds of trials out there right now. Yeah, I just want to spread some extra love on Sling TV for any time you can sign up for a trial without a credit card. You know, that's that's a big positive for me. It's kind of crazy. Consumer reports did one of the better collections I've seen of it. But the thing really we're talking about on a VXL was that HBO is doing their stay home box office or making like 500 hours of programming available. The Sopranos, the wire films, documentaries, and it's running over HBO Go and or should be HBO Now or HBO Go. I thought that was pretty cool, actually. The you know, I'm also really curious about HBO Max, but that's a totally different subject. Hulu's given 30 days and Netflix's has a 30 day free trial. The new QB, which I hope I am saying right quibby, like quick bites, quibby. Yeah, quibby. I've seen three commercials for it. I've presigned up for it and I still can't say the names. A quibby. You should definitely check out fresh daily from Rotten Tomatoes on quibby as produced by my wife's team. Good to know. Good to know, sir. The that's how I know how to pronounce it. At least one of us knows. Thankfully, we're spreading good information here. But I mean, you know, Amazon Prime Video is a 30 day free trial, a corn TV. It's kind of crazy like the one I'm actually looking at in circling is CBS all access, you know, so I can finally, at least through the almost the end of April, watch Star Trek Picard without actually having to pay any money for it, which I actually found now feel very small and cheap for saying out loud. It felt better in your head when you said it that way. Yeah, it's just some things just don't sound good out loud. But yeah, props for HBO and sling and everybody else are actually trying to make some more content available without charging people any money. Yeah, I mean, showtime shutter Sundance now urban movie channel. I mean, there's so many of these Apple TV plus even putting some of their content out there for free AT&T, like, you know, you don't hear a lot of nice things said about AT&T, but they're doing some free free trials here.  For some reason, NBC has decided to stick to its plan to release its streaming service Peacock only to Comcast cable TV customers starting April 15th. So April 15th, Sarah, I guess you can get it of us. But none of the rest of us can try it until July 15th when non cable customers are still scheduled to get access. And they've been over backwards trying to explain it's a marathon, not a sprint. We're sticking to our time schedule because, you know, our work schedules have been disrupted by having to work from home and all this stuff. And I get all of that. But I just can't imagine that they wouldn't want to put this out for a wider number of people for free when their their own properties are doing free trials in other situations. I mean, I'm not a one cast cable TV customer either. I thought maybe you were in a Comcast region. I don't know why I thought that I am in a Comcast region, but I don't have a T don't pay for yeah. Okay, we would have the opportunity to try it if you wanted to spend money to get Comcast is true. That is where that is where I have one overall of you. Yeah, potentially. Anyway, before we get we get off this topic, though, Patrick, I wanted I know people love to hear about the different setups people use for streaming TV because there isn't the one way yet. There's not one best way. So when you watch all these free streaming services, what do you watch it on? You know, 90% of my family's viewing back in our former home was 100 inch projection screen and Apple TV. Although because of the stuff I do with a VXL in other places, I had Apple TV, Roku TV, Android TV and several other things connected at all times because I like my life to be complicated. But right now, given the space constraints, everything stuff into the TV, we got like 90% of what we do is is the Roku TV TCL 5 series television.  So I just want to say it's kind of amazing how good the Roku TV stuff is, you know, and it's got everything we need, which has been really amazing. Although all of our, you know, content in other areas, I do have a separate Apple TV that I used to do some of that stuff, but 90% of what we're doing Roku OS on the TV on what feels like a very, very tiny 43 inch television. It's really nice 43 inch television for 250 bucks. But it's not as majestic as what we're used to. And if people are like, wait, why did you give up the screen? It's because they switched to living in an RV. So so you've got space constraints. And what do you use into stream when you're when you're moving around like that? Well, basically, everything's going over all of our internet is either over a box we got that came with a one year unlimited AT&T data subscription, which is managed, but still unlimited, which is amazing, and a 100 gigabyte a month Sprint account, which, you know, Sprint's 4G map lies, but don't get me started on that because I'll keep you here for the next three hours. And it will be not safe for children. Got it. Yeah, it works. It's great. They they they love to to claim speed and range in the same sentence when those things don't necessarily always overlap. So yeah. Well, when I'm there are other things to talk about today. Sure. Sure. I won't start because I won't stop. Oh, well, thank you. Thank you for sharing the specs. I know there's a bunch of Roku TCL fans in the chat room. And in fact, that's what my wife uses in her office as both her computer monitor and a way to watch TV when she relaxes. So that's cool. Thanks to all those who participate in our subreddit. You can submit stories and vote on them at dailytechnewshow.reddit.com. Sarah, let's check out the mailbag. Oh, let's are wanted to know. And this is actually great timing because Patrick's on the show today. My brother wants to buy his soon to be 14 year old son, a new gaming rig, but he's confused at what the best deals are and what the differences are between models. I know the bargain sites, but I have no idea what to look for in a good gaming machine or compare them. Thought you might know where to look. Oh, my goodness. Just about every tech site, just about every website seems to have gaming PC picks, especially bargain sites. You know, a lot of these are actually generating revenue and not particularly good value. If the website doesn't benchmark and review gaming PCs, the recommendations probably suck or motivated by whatever they can get the best return on. I've, you know, Tom's hardware PC mag several sites like that. Those are two of my favorites for looking to see what people are, you know, finding is a good value. The thing is, is, is starting with the bargains is probably the worst way to pick out a gaming PC. It's mostly about CPU and GPU and prices can vary a lot.  There's no fans. There's no elite. Well, there's like one LED on the front. There's no glass door, but you get a vastly better GPU than say digital storm has a $700 links config, which does have fancy LED fans and glass and stuff like that. So you have to kind of start with the CPU and the GPU and how much you actually want to spend. And there's not a whole lot. If you're just using a 1080p monitor, you don't have to spend a lot of money. You know, you just don't need to. There's no point. You're wasting your GPU like cause, you know, if you have an entry level GPU that can do ultra settings at 1080p and decent frame rates, you don't need to go out and buy a $2,000 GPU. PC parts leaderboard, you know, give a shout out to Sebastian and the crew over there. PC parts picker, they're great places to get an idea of what parts you should get, given how much money you want to spend. I'll give you a hint right now, a Radeon RX 570 that's like your entry level GPU and either like an Intel Core i3-9100F for a Ryzen 5 1600. That's your entry level GPU and a $500 to $700 system and stepping up to a NVIDIA 1600 series GPU or S series is a little bit more expensive. It gives you more power and for 1080p gaming, that's probably all you need. And so budget first, then look at PC parts picker and the leaderboard over at PCPeru.com to figure out like what parts you should get for that money. And then you can start looking for bargains based on that. Excellent stuff. Thanks, man. Hey, shout out to patrons at our master and grand master levels, including Dustin Campbell, Andrew Bradley and Scott Hepburn. Also thanks to Patrick Norton. A wealth of information if there ever was someone with information. It is you, Mr. Norton. Let folks know where they can keep up with everything else you're up to. Robert Herron and I are recording another episode of AV Excel on Thursday talking about home theater and audio and that's avexcel.com. Hey, folks, thanks for continuing to send in cool things to highlight at the end of the show. We're just trying to share the love out there.  And the Monterey Bay Aquarium in Monterey, California is offering online tours of the Animal Crossing New Horizons Museum on their Twitch channel. In fact, if you were listening to Friday show, paleontologist Riley Black told us on Good Day Internet that the museum's fossil representations are pretty good. They're up to snuff. And the Museum in Animal Crossing also offers fish and insects. So experts in fish and insects in the Monterey Aquarium are joined by a Chicago Field Museum fossil expert and have been doing what they would normally do in their own real-life locations explaining the wonders of the natural world but inside the Nintendo Switch game. You can see the Animal Crossing Museum tours at twitch.tv slash Monterey AQ. That's M-O-N-T-E-R-E-Y-A-Q. We'll have the link in the show notes as well. And man, we got the nicest note in the world from somebody who's an events planner who it should be out of work but is using some technology to still be able to do some work doing online and virtual events and was able to step up their patronage. I can't tell you how that made me tear up. So thank you to everybody who's been able to. We know not everybody can. And we are fine with that. If you can't continue to support us, we get it. It's tough times out there. But thanks to everybody who can do it at dailytechnewshow.com slash Patreon. They've got you covered. We also want to have ourselves covered with your feedback. Cover us. Feedback at dailytechnewshow.com. We're also live Monday through Friday, 4.30 p.m. Eastern. That is 2030 UTC. And you can find out more at dailytechnewshow.com slash live. Back tomorrow with Scott Johnson. Talk to you then. This show is part of the Frog Pants Network. Get more at frogpants.com. The Diamond Club hopes you have enjoyed this program.


Good afternoon everyone I'd like to welcome to the stage David who's traveled all the way from Oregon in the States to talk to us today About speculative execution side channels. Thank you very much. Thank you It's wonderful to be here at Fosdame. I've heard about this conference for many years This is my first time being here though, so I'm a little bit I'm a little bit excited and very a little bit Intended by all of you, but this is a great room so that all the introverts can sit as far apart from each other as possible Awesome. It's my kind of room different from the security track yesterday where everyone was really packed in I really want to acknowledge by the way before we start this content was created by Somebody in my group Antonio Gomez Iglesias who did a phenomenal job doing the research and putting the slides together He would be here, but he was given to talk the same weekend in Washington, DC For a bunch of security hackers, so Unfortunately, it couldn't be here, but I'm delighted to make use of his great material So anyway wanted to shout out to him and in the print and in the spirit of Fosdame I'm gonna be talking a lot about how Collaborative effort goes into a lot of what we're talking about in this subject And so it's very much a part of how we can cooperate together and we're we're really interested in Working with folks on this Intel corporation pays my paycheck, so it's important that I put this slide up However, I want to say up front that I'm not a spokesperson for Intel in no way shape or form also This is the first time I've actually presented this material publicly, so please Hold back on the trolling a little bit. I know one of my friends said you might be here just to troll me But I don't see her so maybe I'm good So the other thing I wanted to say because I'm not here speaking specifically as an Intel Spokesperson or something like that when I say we in the talk and when I'm talking about we it's not Intel what I'm talking when I refer to we it's the group that I work in it's a group that works specifically on these areas of side channel speculative execution side channels other sort of very Severe security issues or functional issues that we're trying to resolve so when I talk about we that's what I'm referring to Alright, well, let's start when we talk about speculative execution side channel We need to talk about let's start with this barista. This barista is a very good coffee maker. He really wants to Do a great job for his customers He knows as you come into the coffee shop at 6 29 a.m. Every morning on the dock now I don't know about you but I'm not sure I'd be there at 6 29 every morning But every morning you're in there at the coffee shop and order kind of an unusual drink a four-shot half calf Cinnamon latte with almond milk or something like that right kind of unusual, but 6 29 every day and then So he prepares the drink in advance has it on the the bar right at 6 29 And this goes swimmingly for a while and then one day you grow up you go to work I maybe had too much beer the night before and don't make it at 6 29 By the way, I've heard that they're supposed to be beer at Fosdham I haven't heard any proof of the scene any proof of that so, you know anyway, so The drink goes to waste so he simply pours the the drink down the drain throws the cup in the trash But if someone's able to look in the trash and see the cup in there with the drink Someone might be able to intuit something about you Based on the information on the cup right was thrown away But they might be able to intuit something then about the data because of the metadata All right, so by that same sort of analogy when we're talking about side channels It there site the whole idea of side channels at a broad level have been around for quite a long time and They're really an intent to try to collect information from some other unauthorized way in the computer And that it really does target all levels of hardware and software these when we talk about The use of power, you know the amount of power that a computer uses varies on the instructions that are being run Right if you're running more complex instructions, the computer tends to take more power And it's been shown you can actually intuit what the computer is running based on the amount of power that's consumed now Sound this the sound of someone typing on a keyboard has been shown to actually be clues to help discover what passwords are You know the caches are various Micro-architectural features within the CPUs that allow someone to to be able to perhaps Just to determine what might be in memory and then time is how long things take if things take a short time or a long time You can determine things about what's running on the computer now I was thinking about this this morning in terms of power You know if you can figure out what's going on on the computer based on how much power is consumed Maybe you know when we try and mitigate that I would I would think the answer would be no because we want to try and save power as much as possible right for Social responsibility reasons if nothing else we want to make sure that we limit the amount of power The computers use for the sake of using less power and issues of climate change in the light, but you know all of the All of these side channels have similar characteristics that is that they require a set of deep system knowledge There has to be an understanding How the hardware software is implemented it usually targets a particular implementation So if you are Typing on one kind of keyboard and you have the acoustics from that situation you move to a different keyboard You may be unlikely to determine the same amount of information and Typically for all of these the system is working as it was designed to work It's not like it's something that's that's an unusual Kind of behavior if someone has just been able to take advantage of some of these things now when we talk about timing attacks It's a particular class of side channels where you can say well if something takes a longer period of time versus a shorter period of time Can we determine something about what the computer is doing? Can we get a secret out of the computer based on that this? this particular paper in 1996 by Coker was a pretty seminal work in this he demonstrated you could actually determine You know Diffie-Hellman RSA DSS And other crypto keys based on timing so that was in 1996 several years ago Since then this area of timing has become a very rich area of research even up to last year people are Using the amount of time that that software takes to run to determine things about that what the computer is running So it's important to understand that yeah if timing attacks are not a a new issue and But but there's a lot of Research in a number of different areas Because of this area of sight of Timing attacks So what's new? January 3rd of 2018 was when we first got an indication of Timing attacks that we're taking advantage of speculative execution What's new about these is that it's really a very innovative kind of approach to Trying to you to create side channels in this area It really addresses the hardware software interface and so that was an area of attack that was new and again Targeting speculative execution Now as we think about this whole area Notice I'm talking about PSEs or proofs of concept these proofs of concept Really are a subject of research paper typically if a researcher finds that there may be something to be used as a side channel There's usually a piece of code and it's usually a proof of concept as opposed to an actual exploit in fact in many cases a lot of these Things that have become popular. There's a logo created for them a cute name And then sometimes even a theme song there was one that came out in December that had a theme song They sang as part of a conference. It was kind of entertaining and so the you know, but but relative to The actual exploit there are not necessarily a practical exploits that come out of these things But in every case all these are local methods. What that means is They're typically not methods that can reach across the internet or any kind of networking. They don't usually involve privilege escalation It's not like somebody with an Unprivileged user can get rude access or something. I like that through these attacks and then typically they're only read-only access In other words an attacker can't change data write data to get only read data. So these are things in common Now when we talk about speculative execution actually Took a walk with my sister in 2018 was on a 500 mile walk through Spain And she's a non-technical person and she I was trying to describe this whole area to her and and a non-technical person She was she thought that the she had the thought the term speculative execution was so funny And I said well, what's funny about that and said well, I suppose if you don't know what execution speculative Yeah, okay, so it's kind of funny. I guess anyway. She thought it was hilarious So when there are a variety of classes of Parallelism that are involved in the hardware. So instruction level parallelism is one of the oldest levels Dating back. I think to the 60s where you know, typically we talk about a five-stage pipeline for the processor you Fetch and decode instructions in the front end and the back end your Your fetching operands doing execution and updating architectural states. So the fastest Processing you could do is when all those pipeline stages are running simultaneously So you're fetching instructions while you're and decoding instructions while you're updating architectural state and all the rest of it So you can actually get multiple instructions per clock. That's that's sort of the goal of of of ILP Out of order execution on by contrast is where there is some sort of execution that's going on that requires some sort of operand That's not available perhaps in a register. So It the processor takes advantage of this and tries to execute some other instructions that are you know after the instructions that it's waiting for Understanding that architectural state doesn't get updated until the end when all the the instructions are tied and then speculative execution is that class of Parallelism where perhaps there's a branch that you have you've taken regularly or jump you've taken regularly And so the processor will attempt to again do speculate will attempt to execute those instructions But won't arc update the actual architectural state of the machine But what's true of all of these things is there's a period of time in which the micro architectural state will have been updated It's sort of a side effect of the speculative execution And so micro architectural means typically this is very specific to a particular processor Right and it's going to be different for every generation of the processor That's what makes it micro architectural When it becomes something that is standard that's when it becomes architectural that's sort of the difference So this micro architectural state is something that someone might be able to take advantage of as a result of some other activity That's going on in parallel So let's get specific on this and talk about last May of last year There was an issue that was made public called micro architecture Data sampling got to get the name like micro architecture data sampling or MDS So this is an issue where there are certain micro architect certain processors that have certain Buffers within them. There's the store buffer the fill buffer and the load port the store buffer is just a piece of Memory within the processor that's that's used as a staging area for stores out of registers into memory The fill buffer is used as a staging area in in reading data into it registers And then the load port is used for memory and IO and so what we're What we're doing here is is What this issue is about is sometimes as operations go on on these processors There may be some stale data that's left in these buffers after before after one of these operations And so it might be possible for a malicious actor to redirect this data to some sort of disclosure gadget So you can see here that there's a there's some you know data sampling going on with these little micro architectural instructions now in addition to this there was a Another issue that was made public after May what was called TAA or TSX asynchronous abort. So this is a case where You know, there's a there's a technology called TSX. It's about multi-threaded applications There's a technology in the CPU that allows you if you have software that as Multi-threaded software often you need some sort of locking right you'll need a not locking primitive So if you have a critical section you lock it so that nobody can change the data during that critical section So this technology was created in order to speed up software that typically doesn't have contended locks, right? So this is This is a technology was made available some software makes use of it and This was a case where an attacker could make use of this technology where the attacker could use TSX and actually could figure out How to exploit again this same MDS issue, right? So You know typically again, it's it's it's not used by all software But it's something that's sort of available that was was taken advantage of again These are these are issues that are very specific to certain processors But let me show you how the the threat model works on this one So not not my intention by the way is not to help you create You know an exploit but help you understand a little bit how it works So let's take a cloud scenario, right? So we're running in a maybe infrastructure as a service something of that sort You have some code that's trying to leak information out and it's running on this system This is a four-core server in the cloud each core has two hyper threads. So what it's doing is running on one of the cores so The victim has to actually be on the other thread of the same core, okay? Now in a cloud scenario, of course Typically those people running in the cloud don't have an idea exactly Where their thread is running versus any other thread in the system. That's a whole idea behind cloud computing, right? In addition, they may not even know what the architecture of the underlying processor is most cloud service writers try to You know don't necessarily like to reveal that information So if they schedule you on a processor that's seven years old versus one that was bought yesterday Then they can you know charge the same amount of money for it I think that's a great business model But it doesn't mean that you can you can never know exactly which processor you happen to be sitting on in a cloud Then what has to happen is that the oh by the way The the attacker has no control over the victim that can the attacker can't actually Control what the victim is doing the victim is just doing what it's what it's doing As part of its program and that victim has to bring data in repeatedly It has to happen, you know more than more than just one access and has to have repeated access Then what's required is that you know, there's an actual small window of time to extract data So it's not something that can be happened instantaneously It really has to take place over a period of time but there's a an actual small window to extract the data because again these are Buffers that are you know being constantly overwritten as loads and stores happen And then these two threads by the way have to share the same core for a period of time extended period of time so that the data sampling could take place and Then finally after all of these requirements the attacker has to post process the data to see if you It's seen enough accesses of something and says hmm. Maybe that's interesting Right because again, this is a data sampling attack This is not like the attacker can control where the data is it's just what happens to show up in these buffers so after all of this it might seem kind of a weak attack For somebody to kind of worry too much about this in a cloud scenario and in fact I think in a lot of circumstances It is difficult to exploit and why I think we have we've never actually seen any of these issues show up In the wild so to speak as an exploit Now I told you I worked in a group that works on this sort of software area particularly open source But also working with the you know a variety of open source community So we actually I did a panel discussion in in Leon at the What do they call open source summit Europe I think is is what what they're calling it and one of the things I did Is I brought on the panel various of the organizations and communities we work with so we actually work with both the You know communities like lint the lengths community open BSD Free BSD etc. We're also collaborating with a lot of the non open source proprietary software folks that are doing system software and VMMs and things like that so Basically one of the ways to address this issue is through The through microcode so since the 90s Folks have been not you know designing the CPU So they don't literally actually execute x86 instructions the circuit doesn't execute You know an ad instruction or what have you instead what it does is it translates that x86 instruction into a sequence of micro operations And it's the microcode it's actually in some sort of you know some sort of space that's as the CPU is Manufactured, but it there's also an ability to update that microcode So in fact it's possible to update the way the CPU actually Executes these instructions by changing the microcode and this is a powerful capability because what it allows us to do is In the field allow us to update the the very way that the processor is interacting with a lot of these these areas Now in addition to The micro oh by the way along those same lines that is if you have a CPU The microcode is different from firmware from BIOS anything like that so what you want to try and do is is Keep your you know BIOS refresh also Linux and various other operating systems have the ability to you know update microcode Live so it's really a good idea to keep your microcode up to date But one of the ways we're able to address this problem is through this area of microcode and You know we have a large instruction set architecture or ISA and it's got some legacy instructions in it So one of the things You know one of the ways to address this was to take a legacy instruction VRW and that instruction if you're Curious what it does is a test to see whether a memory segment is writable. So We in the microcode in it actually enhances the VRW instruction to flush these buffers the load buffer the store Buffer it's a fill buffer and load buffer, etc. So What the VRW instruction now does with the new microcode will be to flesh those buffers? We also by the way define some software sequences if you if you for whatever reason can't update the microcode And all the software sequence does is do a bunch of loads and stores and that that effectively clears those buffers as well So then what's necessary? You need to be able to somehow. Oh one of the thing in the microcode was a an addition of a Model specific register or MSR and these MSRs are there to give you data about the specific processor You're running on and in this case we gave the capability. There's a vector called the i32 arc Capabilities and it's a vector that sets bits based on is this issue present or not in the in the CPU And do you have the capability of addressing it right so with the VRW enhanced Capability and this vector of bits you're able to put together an OS that can deal with this issue So what we then did was in working with the the Linux community collaborating with them and various other folks We're actually able to use this VRW instruction every time you do a return from client to you sorry every time you do a return for Kernel to user space so that currently user transition plus context which is what this allows us to do is to say well Every time user code you know and basically this happens anytime you to a system call you call it a kernel every return from kernel We'll then call this VRW instruction if the CPU is Affected by this issue and will flush the buffer so there's no possibility that some user level attacker can somehow observe data that's going on in the kernel Ring transitions yeah, that's what that basically is By the way the other thing we engineered was The ability to disable the mitigations right because there are some conditions where you might say well I don't really need to have this you know VRW calling thing. I don't really need to you know slow down the Ring transition so I can just disable it if I've analyzed the situation in fact I think this is really a good idea is to say What's the situation? I'm running in and do I even need to really run these mitigations or not? And so we engineered in the ability to you know, I have a boot time parameters that let you turn these things off in Linux Finally the other thing we engineered in was a this Interface basically user level to again detect whether the CPU is is vulnerable or not and then whether the Mitigations are turned on or off To make it is simple. There's an open-source project called speed 47 called sorry Speed 47 if you look in github you find the project. It's called specter meltdown checker. And so Melt see a specter meltdown checker dot sh and and it's a script that we've been working collaborating with to enhance it to You know with all new issues as they come out so you can call that and see whether your system is vulnerable or not so after all of that we can also engineer in the things with TAA this is similarly again. I talked about TSX being a technology. We actually Worked with the guys working on the microcode to say if you want to even disable TSX Some systems will actually disable TSX by default But there's also a control there that allows you to turn it on off as well And if you want to have TSX turned on you can also use this VRW mitigation to basically Handle it that way as well. So as I said, the work is collaborative. We work very hard with the Linux community and various Folks so that before the issue becomes public before this issue became public in in May We worked very hard on the patches to make sure that On the day it became public Linus could pull in the patches basically into Linux We have back ports ready for the LTS versions of Linux and the other operating systems that are whether they're open source Operating systems or hypervisors bare metal hypervisors or proprietary Everybody had something ready on the day the thing became public All the software was ready to fix this in the microcode updated So that gives you a little insight as to what we're you know kind of engineering with some of these things Now one of the things I think I don't think our work is over when when this happens There's additional work that we're trying to do to try and optimize These these mitigation so for example if you if you look at That's not that threat model, but I talked about in terms of you know things running on different threads Well, what if you wanted to actually try to You know make you know fix that issue. There's something you could do with the for example Defining trust domains within the CPU so a trust domain in this case would be maybe I define it a trust domain is Each of my cloud clients if I got different tenants running at the same time in a system make each tenant its own trust domain So each tenant would trust itself, but not necessarily any other tenant or maybe I would define some other model for using these trust domain so You know one of the things we worked out We're working on in this in the Linux world is what we refer to us as a core scheduler And in fact, we're doing this development in open in the open source You can go to LKML and read about this. We're partnering with digital ocean They're a cloud service provider and various others that are working on with us on this idea You know and what the basic idea about this is if you have you know different You know processes they'll typically by the Linux schedule. They'll get scheduled on threads You know without really caring what the topology of the system is it will just look at at logical processors and and schedule Processes on those processors, but the idea of the core scheduler is if you can define trust domains You can actually it will say well if I've got two different trust domains. I'll make sure that two Processes from different trust domains don't ever run on the same core Right and one of the things that we're doing in this as part of our collaboration with the links community on this is that We're trying to do a lot of performance analysis as well and say, you know if you're if you're doing this You know you're using this core scheduler What we found the data that we found is that there's there's barely any, you know ripple in the in the In the overall performance of the system based on a bunch of the workloads that were running But that's under both low content in low contingent situations. What about in high contingent situations? Well, you may have a situation in a high-contention Situation and we're we're running extremely high You know systems here where you know highly loaded systems. Here's a p6 that you can kind of see Under normal under the regular linear scheduler You might have it so that really anything could be scheduled anywhere But under a core scheduler under high-contention you kind of see well We weren't able to schedule p6 because we weren't we didn't find a processor that was You know that didn't have somebody from another trust domain running on the on that core So yeah, in some cases for high-contention you may have some you know idle threads And so it's possible you might actually take longer under those situations to run So we're doing a lot of except we're publishing all this information by the way an L came out So I suggest go to the Linux kernel mailing list you know look at the performance information that's been posted one of the engineers in the group named Agata gruza is posting this data and you know Interact with it comment on it. We're trying to continue to post the information. I think this Patch has a lot of a product a lot of promise and I think it's going to be Really helpful for folks particularly in the cloud space or other spaces that really care about you know fixing this issue But by the way, it's interesting that the other factor about the core scheduler is that it can be used actually for quality of service This is something that I think is an interesting side effect of the fact that we're adding this capability to segregate You know processors based on certain characteristics, right? It may not necessarily be trust domains one of the things one of the features in the skylake is this Feature called abx 512. This is the ability to have large Registers that are 512 bit registers right and large vector operations that go on those vectors Well because the operations tend to take up a lot of the the chip typically the amount of power that could be utilized tends to be higher so the the CPU tries to limit the total amount of Frequency that's used on those cores that are running these instructions So you can kind of see under under normal scheduling you could actually slow down because some of this abx 512 is running on the as At the same time as a process that doesn't use those instructions It brings down the the top turbo rate So we have something called turbo that's used for frequency adjustment It will bring down the top turbo rate if you if it sees something with abx 512 running on it, right? so in fact by using the core scheduler what you're able to do is if you can Determine that the process uses abx 512 you can segregate it to its own cores and actually the runtime runs faster in this Circumstance because the things that don't use abx 512 can turbo higher can actually complete sooner. There's another Threat over here by the way says bw that's intended to be a high bandwidth consuming Process again same kind of thing. It may not necessarily be abx 512 babies using high bandwidth so you can use this mechanism to to control some of those things and and the interface Basically it uses c-groups and this is the way you know c-groups if you're not familiar to Linux capability to That's underlying containers Someone who is going to be trolling me here said if she heard anything about containers she was going to scream I don't she must not be here because I don't hear any screaming. Anyway, it's one of the base technologies under containers and You know by defining the c-groups the core scheduler will actually separate these threads into onto different cores So that's the way that works So that's one optimization that we're working on another one is I was going to talk about the rendezvous case But in this case I'm I'm going to skip this I think and talk about this idea of selective vw based on the time I've got So I said about this vw instruction just to remind you the new Microcode what it does is every time you call that instruction and it clears the buffers, right? But in fact doing it every time you go from a ring ring transition I another was going from colonel user space Maybe you don't need that right if you're talking about different trust domains like we did with a core scheduler Maybe it's unnecessary to clear the buffers every time you're running in the same trust domain so we're actually working on something that's a You know an enhancement to to this vw capability So instead of you know in this case vw gets called on every you know context switch Instead if you're within the same trust domain eliminate the vw call And we think this is an optimization that will really help accelerate Systems that are that choose to you know to do this mds mitigation, right? This is a patch. I think we have not posted this yet, but we're doing some performance investigation on it's linked to the ideas in the core scheduler And I think one of the things we're trying to develop is a good trust model around it So we can you know publicly vet exactly what we think is going on here and what this is going to address Okay Okay, a last part of the talk I really wanted to refer to what you can do as a programmer to Actually do something about speculative Execution side channels and side channels in general, you know, there's a lot of Common best practices by the way. I'm not a security.  I've actually been involved in open source Majority of my career, which is kind of unusual for somebody my age But anyway, I'll say open source one sort of another But there's some some well Understood practices. I keep hearing about various of these as these issues come out And I think it's really important as you're writing software to take very conscious thought about these things Probably the first and obvious ones is use well maintained libraries We've I've heard a lot of at POS them this year about open SSL and open SSL is a great library when Heart bleed came out the community was very quick about fixing that particular issue in open SSL But if somebody had an SSL implementation that was not as well maintained They might be subject to various other Issues relative to SSL. So you identifying library and then most programmers want to use libraries, right? We don't want to have to reinvent the wheel every time using Well maintained libraries is a key to making sure that issues as they come up get addressed, right? I say automate Actually, it's Antonio slide. He says automate, but I really agree in this case What we're talking about is if you have something that is fixed, you know is an issue and you're aware of You want to automate the tests that are going into making sure they remain fixed, right? One of the worst nightmares I think you could have in an open source environment particular is you fix some sort of Security issue and some other contributor accidentally unfixes it, right? And so being able to automatically test these things against your upstream and against whatever development is going on Extremely important. In fact, you could probably Break something as well at inadvertently, right? Only providing necessary information if I log into a site and it's with a username password combination and it says invalid username It's suddenly given an attacker. Oh, that's interesting additional information if it says invalid password. Oh, the username is correct I'll just keep working on the password, right? So actually that you don't need to provide so much information So only providing necessary information so an attacker doesn't have the ability to you know attack you further and then including an update Mechanism, this is incredibly important. I worked a number of years in the IT space This is something I find incredible is a lot of IOT products go out without ever being updated and so Malicious, you know and by the way every piece of software yours included mine Every piece of software the day it gets shipped has security issues in it. I I nearly guarantee it It's it's just been waiting to be found and so this zero-day issues What you know people typically refer to that means that it stands to reason that there will be an attack in the future So having an update mechanism now, that's a great engineering statement In fact, you need the policy to actually do the updates and actually, you know invest in the in the In the validation to make sure that your updated software doesn't corrupt something else Right or brick the system or you know fixes the issue. So having an update mechanism is incredibly important So then ensuring data can't be easily guessed there's a variety of these I'm going to actually focus on each of these in the next couple of slides So the first of these is constant timing often we're found that You know what's wrong with this this piece of code in terms of this is doing a string compare and doing something with the result Any problem with this? The more characters match the longer it takes exactly right So thank you. I wish I had a candy bar or something to throw at you, but I'm off of sugar right now We'll throw a virtual candy bar It's all the fault of the New York Times So the the So yeah, exactly right the stir comp a library function is optimized so that when The strings don't match it returns immediately right so this is a case where You can intuit whether the you know things about whether how much of the password matches based on how long the operation takes So every time we hear about these issues we we hear use constant time Programming constant time programming to avoid side channels now. It's a bit of a challenge because You know if you write your own function So maybe you don't trust stir comp and stir in comp to be constant time if you write your own function though Be careful of your compiler Here's an example of some code that It's you know does it's supposed to do constant time programming right what it does is It accumulates an M The you know the the X or of every character right so at some point it will be set to one and Then but the code is scanning through the entire string So that it takes the same amount of time whether the character whether the strings match or not Okay, so this looks you know pretty good and You know the unfortunate thing is that compiler optimizations what they'll do is they'll say oh Once M is one it will never be zero Right so a lot of times compiler optimizations will drop you out of the routine immediately But as soon as M turns to one By the way, how can you figure out whether this is happening or not? I suggest it might be good become the friend of your friendly neighborhood disassembler I mean disassembling a little routine and see what the assembler is actually done assembly language is not too scary No, but it's a it's a good way to see how this works By the way, there's there's one fix that some it will work for some compilers was declaring in this case int to be vol M to be volatile and that's usually a clue to the compiler that oh something else I'm counting on some other external behavior from M. So don't optimize away all these loops Okay, so that's one technique volatile isn't always available in every C compiler What about Python? I like Python If you're a pipe any Python programmers here off you oh good So if you're looking at Python, this is a similar kind of function that's designed to be constant time String comparison and Python the only problem is again depending on the you know, of course We all know that Python as a language has various different Implementation see Python is is just the default ones. There are plenty of others iron Python Pi Pi a variety of them, right? In general though, this is again not constant time. So What can you do about that? It turns out since Python 3.3. There is a constant time Comparator That's on the screen here And if you needed an excuse to update the Python 3 well, I just gave you a great one, right? So just yeah update if you haven't already anyone's still on Python 2. Oh Nobody awesome. Okay good. So yeah Okay, so So yeah What else can you do? relative to this whole deal of trying to you know, take care of side channels one of the things you could do is if you have a Secret a good thing to do is actually eliminate the secret from memory right now. What's a secret I? Had this question post to me actually I posted myself a Little while ago. I was like well it could be a password, but it could be you know my birth date Or my income it could be your you know your your annual income or your spouse's annual income or your girlfriend's annual income or whatever Right, so the idea behind this is to say Let's clear these out of memory Now one of the things that you can use is then memset library routine to zero at the memory Again at you know dash capo zero no optimization the compiler will call memset But even at just the first level of optimization dash capo one The call to memset disappears and why that is again It's operating on something that the compiler says well this thing isn't going to be used with the local variable So I'll just eliminate the call So you know there's a few other options memset underscore s, you know can't be optimized out It's part of the c11 standard not every compiler has it unfortunately There's also an explicit underscore beads error that can't be optimized out again Some of these options are useful to know about and test whether these functions are available in the compiler in your source code I think that's a good a good procedure one other technique I think is very helpful is to Clear the cache, you know if you have a secret again Whatever the secret is is dependent on the software you're you're writing but clearing the the cat the secret out of the Cache may be a useful thing. How do you do that? x86 has a couple of useful instructions One of them is cl flush and the other one is cl flush opt And most compilers have a way to call these instructions directly And so this is this is a way to you know again get the get the system to work for you to clear some of those secrets out Okay Right Okay, so if I've if you remember anything from today's talk I want you to think about this. I want you to think about does your system need to use You know these mitigations do you need to even have the mitigations, you know turned on your system at all What's the kind of load running on your system if you know all the software that's already running on it? You can't have a malicious actor running on the system. I think it's a good candidate for turning those mitigations off I think the other thing to think about is if you're involved in in Linux and open source You know operating system development join with us to collaborate. We're very open for ideas I love to you know get some collaboration additional collaboration on some of these things to help them help the entire Write the entire community on these things and if you're a programmer I highly recommend you look at some of these techniques and implement these techniques to make your your code less sensitive to decide channels So thank you very much Shouldn't have done that. Are you happy to take questions? Sure. We've got to say we're five minutes Thank you very good to talk you talked about the MDS mitigation where you flush the data When going to use land right is that the exact part where this performance loss comes from or is there more going on? No, that's it's really about in in so I think that yeah If there's any performance difference it'd be that the ERW instruction now clears these buffers Right and so that takes additional time for the circuit to clear the buffers and so if there's additional time Yeah, that's where it comes from. Yeah, and so that's why as we're talking about optimizing, you know having oh I should repeat the question. That's a good. That's a good problem. The question was for MDS Yes, it's this enhanced VRW instruction that is is is takes additional time. Yeah Thanks for the reminder. Yes Yeah, so lately there's been a lot of sentiment in the security community that Hyperthreading is a was a very bad idea. Do you agree? Hyperthreading again from the standpoint of MDS. Oh the question is oh Golly, can I think about what they did? There've been people who say? Oh, you know hyperthreading is is Well, you know, I don't want to quote quote what they're saying because I don't agree with them So they've been suggesting hyperthreading is somehow dangerous But as one of the things I went through is with this threat model is help explain exactly what the issue is with height with Hyperthreading all of the steps that I went through on that And even you know if you decide well, gee, I just can't tolerate, you know issues that come up with hyperthreading You know, I just don't want to take the chance then we're doing work with the core scheduler that that's going to help You know eliminate even those so all the performance studies. We've done is that You know the core scheduler is actually much better than turning off hyperthreading from our performance standpoint and adds all the protection That's that's that's really needed for this issue So that's that's a lot of the focus of what we're doing is making sure that there are no issues of hyperthreading I don't know is anyone turning off hyperthreading now Couple okay. I know one particular engineer always sitting in the back I wanted to make sure that particular engineer knows that he doesn't need to turn off hyperthreading anymore in his product Thank you for asking the question So another side channel is memory access and it also has other attacks like like row hammer And it could actually be interesting to extend trust domains into memory So limit a trust domain to a memory channel or a dim. Do you have any plans to build such a thing? It's the first I'd ever heard of it. It's an interesting idea. I think I'll definitely be Jotting that down. I think it's a really interesting idea. Yeah Yes, could you illustrate the current progress on Mitigations against the recent cash-out attacks that partially circumvent mitigations you presented MDS So the question is the Recent issue about that that people were calling cash out. I Have to think through my jet lag brain about exactly what that that maps do Yeah, what what basically that again, this is one of these great names I I got to think about the actual technology because the name sometimes is confusing to me. So In this case, this is another as I understand it. This is another I may not understand this correctly So take this with a grain of thought. I think this is another MDS like attack So you can use the same kind of you know strategy for it But but actually this is another example where the microcode itself will actually Fix the whole problem. And so there's a microcode update that will actually fix these entirely. Yeah So it's it's it's a it's a different area. It doesn't it doesn't affect the medic other mitigations I talked about yeah Yeah, so a follow-up question to Core scheduling What kind of cleanup does it do when it hands over from the core from one? Security domain to another one. So for example from one guest. We have to know that if it's about yeah I gotta be a little bit careful here because I know Jesse is looking at me. He's like yeah, what's your answer in this one? I unfortunately, I don't know the answer exactly there is there's The little I know about it a little knowledge is sometimes a dangerous thing is that the link scheduler has Placement algorithm and a load balancing algorithm So what's necessary is that you have to you have to both modify placement to say it make sure you're not placing things incorrectly And also when you're doing load balancing need on load balancing correctly, so both of them need to be modified I believe is the answer Hi, thanks for the presentation. I have a question about the trust domains you mentioned so implemented in C group apparently Yeah, that's the idea. Yes is the idea more to Like you had named like AVX Yeah, that the AVX 5 tell was an example. Sorry. I'm not repeating the question. I apologize. Go ahead. Ask your question I'll yeah, the question was Is the idea for now to specify C groups? I mean on the CPU part of C groups only the subsets of the Instructions you wish to to use or is the idea to be more generic like okay this process Considered not trustworthy. I'm I'm being a bit Okay in precise on purpose here. I think what I heard I'm having trouble Hearing from back here. I think what I heard you ask is what's the sort of policy you might use for C groups? Yes, because it seems to delegate the choice of who applies the policy to the users I mean sorry to the program owners Let's say yeah, correct and and what we're trying to do with this is to find mechanism as opposed to policy and so We we this is kind of a common design principle for Unix and Lennox is to is to define mechanism and allow whoever is Using it to define the policy I would imagine a common thing to do in the case of a cloud service provider for example would be to have every Every tenant if you're in a multi-tenant infrastructure as a sort of sort of Implementation is to have every tenant being its own C group in that way That's probably not a bad, you know strategy Yeah, okay makes sense. Thanks. Hello. Thank you for the talk. I was just wondering personally What are you doing to protect future generations of CPU by design against the current attacks currently known attacks? That's a great question is what are we doing? Not we in this case. What is Intel doing because we is where I'm just a bunch of software So then the case of what is Intel doing to you know kind of address these things with future processors as we As security research researchers work with Intel There's a major effort to look at the architecture overall and to understand You know is this something that that that we can fix in future processors and so and it's not just you know, can we Use the fixes that we've done at one point in time We're constantly looking at ways of optimizing the mitigations as well So that's a strong, you know area of work to make sure that that future processors don't have any of these issues Yeah, but you know, of course, it's there's it's a constant area of work. I think I'm out of time. Yeah, I think that time Thank you for fielding so many questions and for coming to talk to us today


3M Prairie Dachine is an abrasives plant so a lot of the products that we make are for surface conditioning products. No without training, without making sure that our people can do the job right, our product is not going to be efficient, our processes are not going to be efficient, so training is very important. 3M has done a lot of different things with Southwest Technical College, we've partnered on a lot of different aspects from computer training to maintenance training to partnering for the Gold Collar Certification. And actually what the program is is trying to develop different applicants and more qualified applicants to hire and for the business partners it's brought in more qualified applicants. What I liked about the training is it was computer based, so you could go at your own speed but we still had lectures, the instructor was really great on answering questions. Southwest Tech has really been an excellent business partner in any of the needs of 3M. They are really great visionaries in saying okay what's the problem, here let's find a solution in the educational environment to solve that problem.


Hi everyone, Joe for Jaspy's casebreaks.com coming at you with 2019-2020 Panini Mosaic basketball first off the line edition. One spot gets you two teams, so that's a pretty good price point if you think of it that way. All card chip and these are the exclusives that we're looking for, the pink swirls to 11, the green swirls to 10. Big thanks to these wonderful people here for making this happen. We sold this one out straight up. No fillers, straight no fillers, I appreciate that. All teams are in, let's roll it, let's randomize it. Six and a one, lucky seven times, one, two, three, four, five, six, and one more, right? Once more, seven than final time, got Nancy down at Kevin. All right, six and a one, seven times for the teams, good luck, one, two, three, four, five, six, and a one, seventh and final time. We got the Golden State Warriors down to the Phoenix Suns where this is 2019-2020. Nancy with the Warriors, Steve with the Lakers, Pistons and Bucks, Nancy with the Mavs and the Trailblazers, Peter with the Celtics, Nancy with the T-Wills and Wizards, Matt with the Nuggets, Kevin with the Clippers, Rockets and Hawks, Nancy with the Nets, Matt with the Pacers, Nancy with the Memphis Grizzlies and the Jazz, Peter with the Kings, Nancy with OKC and the Hornets, Michael with the Sixers, Matt with the Nicks, Kevin with the Heat, Matt with the Magic, Michael with the Spurs, Kevin with the Cavs, Nancy with the Rappers and Bulls, Steve Birch with the New Orleans Pelicans, and Kevin with the Phoenix Suns. So let's sort this alphabetically by team, we're going to pause the video just for a little bit. When we come back, we're going to see if there's any trades, and then we'll have the break. Stick around. All right, welcome back. No deals done here in this one box break, but thanks everyone for making this happen. Appreciate it. Another one box break is up. This is only the third box from the first off the line case that we opened. I'm pretty sure it's only just the third box, because we've got a lot more available. So let's keep searching for guys like that, John Morant and the other rookies, and especially those all the first off the line parallels, exclusive just to this set and autograph. So a lot to look for, a lot to look out for in these first off the line boxes, and obviously get the right player, you know, and the right low numbered exclusive parallel that graves out nicely. You can turn a pretty, a pretty tidy profit here if that's what you're into. Add some nice stuff to your personal collection, or if you're on one of those epic quests to build a rainbow of a certain player, if you want to fill in some of the swirl parallels here. We've got little spurs at at goals on in the background. I just saw a stat on the TV that to whom to Murray is the first player or the only player to have two nights in a row scoring 30 points, 10 assists, and one or fewer turnovers, since turnovers were recorded in the late 70s, it's pretty impressive, they fundamentally sound teams first. All right, let's see what we got here. Good luck everybody. Terry and all cards ship in this right, I can't imagine not shipping all cards, yeah all cards ship in this. Kendrick Nunn as a Lakers fan would love to see him clear up that weird knee injury that's kept out the entire season. All right, Kendrick Nunn going at Kevin in the Miami Heat, Jordan Poole started off the season really well. Once Clay came back that kind of ate into the Jordan Poole minutes, but now I think he's kind of heating back up again, settling into his new role with Clay Thompson out there. That's going to go to Nancy and the Warriors. Logan said you sold a Zion Disco out of this, what did you end up getting? Aha, this is nice. There's Tyler Hero, Pink Swirl, one out of 11 for Miami, he's playing really well. That's for Kevin, the Heat. And there's Joel Embiid, 11 out of 11, makes 21, no that does not make 21 close. Nice one for the Sixers, Michael with Philadelphia Rex, what's up? You have some fun trivia you just found out, okay? Oh yeah, I've never heard that before. Clayton Kershaw, Matthew Stafford, or high school teammates, like high school football together, and baseball, no one's ever mentioned that. Everyone knew that, right? People, I feel like it was mentioned a million times during the World Series. You know, there's Matthew Stafford showing up at a playoff game for Clayton Kershaw. I feel like every Rams home game, every Rams game they mentioned, there's Oscar Robertson out of 10. Well, Rex, you really didn't know, are you joking? I'm not actually sure if Rex is joking or not. That's like saying, oh, here's DeHunta Murray. Alright, speaking of, Michael with the Spurs, I feel like it's mentioned multiple times in every broadcast, football broadcast, 3 out of 10, DeHunta Murray. You watch baseball, Rex. And you watch this show, like I'm sure we've mentioned it a zillion times, ooh, and a redemption. Ooh, and a Zion, look at that, Pelican seed birch, the Zion rookie card in that mosaic pattern. I don't know, maybe that wasn't, I actually did see, like, I think like Fox Sports or something like that, or maybe someone else, pro football talk on NBC or something like that. I feel like they posted something about that. And I thought it was common knowledge, you didn't know. Who else didn't know? Maybe I have too quick to shame Rex on this. Did anyone else not know or did everyone else know that Matthew Stafford and Clayton Kershaw were high school teammates, football, I think, probably baseball too. RJ Barrett for the Knicks that'll go to Matt Arnold and the Tyler Hero NBA debut, Kevin and the Miami Heat. Yeah, I thought it was a great halftime show too, Logan. It was well produced, there's John Morant, there's more RJ Barrett. I think when this product first came out, RJ Barrett was maybe a little disappointing to some people, but now he's playing some great, great basketball, Matt Arnold and the Knicks. John Morant, Nancy with the base, John Morant. There's some parallels here, I don't know who's there, it's a redemption. Yeah, I thought all the performers looked like they were having a good time.  I know, they're like oldies now, it's like someone made a point that like this listening to that music in 2021 going back to the 90s would be a lot like people in the 90s listening to like Beatles music. I mean, I think that time period is almost the same, like a few decades, 30 years or so. There's blue chips on Williamson, maybe not exactly, but close enough. We got a Jonas Valenchunis for the Memphis Grizzlies, that's going to go to Nancy, Memphis. Justin, we're your kids, your kids are definitely embarrassed by you and your wife, right? They're like, come on dad, come on, you guys are embarrassing me.  All right, redemption. I will definitely shame you for that Rex. Everybody at my Super Bowl party felt that the Doctor Evil GM commercial was bringing back Doctor Evil was unnecessary, but I'm sure they got a nice payday, which is good for them. I have nothing against Mike Myers getting paid. What do we got here? Rookie Autographs Mosaic. It's going to be R, R? Oh, Romeo Langford. Now that is expired, but Panini usually does a pretty good job about honoring those expired redemptions. He's a Celtic, right? Yeah, he's a Boston Celtic. That's going to go to Peter. There you go, Peter. All right, that's that, everybody. We got another one box break. We got a lot of one box breaks, so we can keep hunting for the top rookies in this in the first offline exclusive parallels in Mosaic basketball. I'm Joe. I'll see you next time for the next basketball break. Bye-bye.