All Your Pa$$w0rd Are Belong to Us
Nic Fillingham: Hello, and welcome to Security Unlocked, a new podcast from Microsoft, where we unlock insights from the latest in news and research from across Microsoft security engineering and operations teams. I am Nic Fillingham.
Natalia Godyla: And I am Natalia Godyla. In each episode, we'll discuss the latest stories from Microsoft Security, deep dive into the newest threat intel, research and data science.
Nic Fillingham: And profile some of the fascinating people working on artificial intelligence in Microsoft Security. If you enjoy the podcast, have a request for a topic you'd like covered or have some feedback on how we can make the podcast better ...
Natalia Godyla: Please contact us at firstname.lastname@example.org or via Microsoft Security on Twitter. We'd love to hear from you. Hi Nic, how's it going? Welcome to Episode 12 and welcome to three months of podcasting.
Nic Fillingham: Yeah. Thanks Italia. This episode marks the, us passing the, the three-month mark, which is pretty cool, of Natalia and I being professional podcasters. I've actually put that on my LinkedIn profile now. So I think that makes it, uh, that makes it official. And I see you, we're obviously an audio only podcast, but as part of the recording, we have our cameras on. I can see Natalia that you appear to have embraced outward, which we, we talked about in the last episode. And you now appear to be in a small cave-like environment.
Natalia Godyla: It does feel like a-
Nic Fillingham: (laughs).
Natalia Godyla: ... cave-like environment. I can tell you that. I did transform my closet into my podcast studio. So it was a whole project this weekend. It's swanky, but I can tell you, there are some drawbacks. It is about 3,000 degrees in here.
Nic Fillingham: (laughs).
Natalia Godyla: I did not plan for that this podcast episode. So I'm, I'm dying a bit.
Nic Fillingham: You're in the right place, though, if you decide like, "I'm not appropriately dressed for the temperature." You, you're actually in the perfect place to make that-
Natalia Godyla: Yes, I, I mean-
Nic Fillingham: ... make that change.
Natalia Godyla: ... theoretically, yes. The other hazard of my current setup is getting locked in the closet, which has happened already. I did have to email for help.
Nic Fillingham: (laughs). Who did you email?
Natalia Godyla: So I emailed my partner who proceeded to Instagram, a picture of my email. It's just me in all capital letters asking him to get me out of the closet. So I'm glad that posting a picture to Instagram was of high priority in that circumstance.
Nic Fillingham: Your partner was like literally feet away, right? Just, just drywall and framing away from you.
Natalia Godyla: Yes, but I, I did an amazing job with my podcast studio. These blankets are intense.
Nic Fillingham: Yeah. So like, were you banging on the window and the door and all that stuff? And he just couldn't hear you because the, the soundproofing was so phenomenal?
Natalia Godyla: There was no knocking. Immediately, emails.
Nic Fillingham: You were not, not even gonna to try, not even gonna try and knock. 'Cause I know, I know that I've done such a great job of deadening all sound. The only thing I can do is send a, an all caps email (laughing) subject.
Natalia Godyla: The only option. This is all for our audience.
Nic Fillingham: You know what? We had to, because our guests were coming on with better and better microphones, including the person you're gonna, you're gonna hear from today, Alex Weinert, who has a recording studio in his home basement. And he and I geeked out on bass guitars. But that, that wasn't the, the goal of the conversation. The goal of the conversation, um, was to talk about passwords.
Nic Fillingham: And in fact, this conversation with Alex was so, was so awesome that we couldn't really edit it down. We've decided to do a special episode, which we haven't, we haven't done this before. Natalia, you're grieving away. Is there music coming through your headphones? What's going on?
Natalia Godyla: No. I'm that interested in what you're saying, Nic.
Nic Fillingham: (laughs).
Natalia Godyla: I'm just grooving along with it.
Nic Fillingham: L-, Natalia is literally like bopping away. I c-, I, she's bopping away to invisible music. Well, you, you take it from here. Tell us about the, uh-
Natalia Godyla: (laughs).
Nic Fillingham: You're obviously very excited. Tell us about the conversation we (laughing) had with Weinert.
Natalia Godyla: Yeah. So we had a special episode with Alex, as you were saying. We talked about the future of passwords or perhaps the lack of future for passwords. So the inherent risks in continuing to use passwords is ... And some of the risks also with, uh, SMS, which I found really fascinating, the, the concept of it being out of bound, out-of-band and potentially then being intercepted.
Natalia Godyla: Um, and then we just really dove into the reality of passwordless. What is the science behind building some of these password technologies? How real is it? How many customers are using it? So it was great to s-, get that substantive approach to passwordless, something that we keep hearing as a buzz term.
Nic Fillingham: Yeah. This is a great episode to listen to after you, uh, get through Episode 8, which was with, uh, Maria Maria Puertas Calvo from the Identity team who talked about how that group utilizes artificial intelligence and machine learning. And then after we spoke with Maria, I think we might have been, we might have stopped recording at that point.
Nic Fillingham: That Maria recommended that we then sort of move that conversation forward by getting on the phone or, or Teams as it is, uh, and chat with Alex to talk about passwords and the future, the history, the past, the, the good, the bad, the ugly of passwords. So it's a great conversation. We hope you enjoy it. On with the pod?
Natalia Godyla: On with the pod.
Nic Fillingham: Welcome to the Security Unlocked Podcast, Alex Weinert.
Alex Weinert: Hey, how are you? Nice to be here.
Nic Fillingham: Thank you so much for joining us, Alex, um, from your, uh, from your home recording studio, which we might, might touch on a little bit later. It looks, it looks pretty awesome. Alex, we normally ask people to first of all, sort of introduced themselves, and, and talk about their role. We will get to that, but I think I just want to sort of set the stage here. You are probably best known to our audience.
Nic Fillingham: So let me know if you think it's fair to say you're best known to our, our audience as the, the author of the, All Your Passwords Belong to Us. Did I get that right? Or Your Passwords Don't Matter. You have some great blog posts, which really talk about the fact that passwords are bad. Don't use password. Is, is, is-
Alex Weinert: Yeah, Your Password Doesn't Matter as a blog, that kind of took off. And then in my, in my, my non-blogging time, I'm the director of Identity Security for Microsoft.
Nic Fillingham: Got it. And what does that look like? Like what, what does your team do? Sort of, what does, what does the day-to-day sort of look like for you, Alex? If there is-
Alex Weinert: (laughs).
Nic Fillingham: ... if there is a, a standard day.
Alex Weinert: Day-to-day. Um, I often joke that, um, I have a calendar that tells me what I'm, you know, I think I'm going to do on a given day. And then we have-
Natalia Godyla: (laughs).
Alex Weinert: ... you know, various actors that, uh, change that agenda rapidly, uh, at times. First of all, you know, I think you, you spoke to Maria Puertas earlier. She's on the team. She's, uh, an amazing part of that group. And, and basically there are a set of functions that we do. We do internal security. So this is kind of thinking about, you know, how do we do secrets, um, management?
Alex Weinert: And how do we set up our environment for dev ops, you know, security and, you know, pipeline security and operational security and all that kind of thing? And just making sure that the core of our identity system stays safe. And then, uh, we have an incident response team, which is sort of ... It would be nice to say the pointy end of the spear, but it's more like the windshield that catches the bugs, right?
Alex Weinert: Like they, they deal with all the nasties that come in and, and try to hurt our customers or hurt Microsoft, uh, or customers via Microsoft. So that's another major function. And then what's cool is that this is where the sort of a flywheel starts, which is the things we learn from those investigations and those incidents go into Maria's team, right? And then Maria's team develops the refined, like data science that tells us, how prevalent is the pattern?
Alex Weinert: How do we, you know, build detections into the product? How do we intercept those attacks and apply it in the product, so that we can keep them from ever hurting our customers? And then there's a set of teams that are kind of oriented around that signal that, that Maria's team produces. There's a signals intelligence team, which essentially packages that, so that customers can see it.
Alex Weinert: There's the prevention team, which is basically about stopping fraud in the system and doing things in an automated way. So like one thing not a lot of people know is that we block, uh, something like 80 million attacks a day that customers never even know about, but we're able to see them. And, and so defending the system and defending customers from fraud, from account takeover attempts, that sort of thing.
Alex Weinert: It's something that we do in an automated way on that team. So, um, the configuration by admins as to what credentials are allowed in the organization, and then the combination of that information with usage information and security information to decide, what's the right challenge sequence to show to a customer at a given time? That's, that's another team.
Alex Weinert: And then finally, we have a team that is all about empowering end users. So we sort of jokingly call it the, like the karate school, right? Like it's, how do I teach my end users to defend themselves in a world where there's a lot of hostile activities? So the authenticator, which has the password manager feature.
Alex Weinert: So that, that feature is part of that team, as well as things like self-service password reset and other, you know, the, the sign-ins logs that you can go look at and tell us whether you think the recent sign-in was fraudulent. And then all of that actually goes back into Maria's team and feeds that information to tune the algorithm.
Alex Weinert: So when people, either administrators or users tell that they see something that we didn't notice, or that we got it wrong, that actually goes back in to make us more accurate. So that's kind of the flywheel, right? We go from incidents of bad things happening through data science and then ultimately out to the customer and to the end user and then right back into data science. And then, you know, by, by doing this, we're able to continuously train our systems.
Nic Fillingham: Just for sort of scale, number of, of customers or, or number of sort of identities? I do-, I'm not sure what the right metric is here, but sort of we're talking in the hundreds of millions or are we in the billions category?
Alex Weinert: Oh no. (laughs). No, like 40 billion log-in events a day, 170-
Nic Fillingham: Wow.
Alex Weinert: ... terabytes of data, data generated per day. Yeah.
Nic Fillingham: Wow, and, and, and the number of humans on the planet that are utilizing this, how's, ha-, how do we, how do we measure that? We measure that in the hundreds of millions as well?
Alex Weinert: Mmm, billions.
Nic Fillingham: In the billions.
Alex Weinert: Yeah.
Nic Fillingham: Wow. Okay. So these are bi-, pretty big numbers.
Alex Weinert: Yeah.
Natalia Godyla: (laughs).
Alex Weinert: Yeah. (laughing). Relatively large numbers. Yeah.
Nic Fillingham: Awesome. Thank you for that context there. So the, the, the, the topic that we sort of really wanted to start with here was, was passwordless. And, and we'll jump into that in just a sec, but I actually want to start with the fundamental of, you know, there's a lot of ... You know passwordless is, is, is sort of a newish term. It's sort of a buzz term. It's, it's being thrown around.
Nic Fillingham: Can you define for us ... It may sound like a very simple question, but what is passwordless? What da-, what does it mean and what does it mean to us?
Alex Weinert: Yeah. I mean conceptually, it is exactly what it sounds like, which is passwordless is when you authenticate yourself into a system without ever typing a password. The blog you mentioned earlier, you know, Your Password Doesn't Matter, it kind of goes into all the ways that, you know, short of using a password manager, it's basically impossible to have a, uh, a password that isn't in some way crackable.
Alex Weinert: Um, so multi-factor authentication becomes a mandate, right? Like you have to have a second. If you're using a password basis, and you have to have something else. But the thing about it is that given how easy passwords are to crack, multi-factor auth reverts back to single factor auth pretty quickly in a world where your password gets guessed, right?
Alex Weinert: So if your password gets guessed and you don't notice it, or you don't do anything about it, then you're now relying on a single factor, because the original factor is compromised, right? So the challenge we said is, you know, how do we get into a multi-factor authentication system where no password is present and actually try to not make that, you know, more challenging, but actually lower the usability bar? Like make it easier to use, right?
Alex Weinert: And so what we looked at, uh, sort of in the initial way was Windows Hello, right? So in Windows Hello, you know, once you set up a device as your own, you can like literally just look at the camera and sign in, or you can touch the fingerprint reader and sign in. And the reason for that is that you have a biometric, right? Plus the device possession, and the device possession is hard mound.
Alex Weinert: And so, you know, that model, like you think about that as FIDO is the same thing, except for it just takes ... It, it gives you more portability of the device you're using. So, you know, your, your FIDO tokens are, uh, you know, like on a USB form factor or in your phone PhoneFactor.
Alex Weinert: And that allows you to then go from computer to computer and have that same, very strong authenticated experience on devices you haven't been on. And then the last one is the phone app, right? And the, the authenticator app is a way of doing passwordless, because we hard-bind into your phone. And then, again, there's some sort of, uh, secret. In the case of the phones, mostly it's Device Unlock.
Alex Weinert: So it's, there's a, either pin or biometric unlock, right? So you're still doing two factors, but you're never having to interact with a password. So you don't forget your password. You don't write your password down. You don't pick a stupid password that ... Oh, I'm sorry. I, you don't pick a easily guessable password.
Nic Fillingham: (laughs).
Alex Weinert: Um, but I mean, seriously, password 1, 2, 3, come on. And by the way, the most common passwords in use are still things like 1, 2, 3, 4, 5, 6 and "I love you," and like, uh, things that are, you know, QWERTY I, uh, UIP, which is just about running your finger along the keyboard. It's like, so clearly people want less effort to go into their authentication rituals, right?
Alex Weinert: So we're trying to figure out how to lower that effort bans, at the same time, make it stronger. The thing that is kind of unique, I think, in ... When we say passwordless right now in, in our authentication systems, we're talking about the authenticator application, Windows Hello and FIDO tokens. But I think we can extend that over time. FIDO gives us a nice framework, nice standards-based framework for extending that over time.
Alex Weinert: There's an underlying thing that happens, which is really important. And I wrote about this in All Your Creds Are Belong To Us, which if you're old, like me, and you play old video games, you recognize the reference. Um, and, uh, and in All Your Credits Belo-, Are Belong To Us, we talked about something called verifier impersonation resistant. And that's sort of a heady technical term maybe.
Alex Weinert: But what it basically means is that you can't put a machine in the middle of the ritual and trick the user, right? So one of the big problems we have with like tools like Modlishka is that Modlishka, um, does a pretty good job of exactly replicating the UI that the user's expecting to see. So the only thing that's protecting them in that case is that they ignore the ... If they ignore the cert warning, right?
Alex Weinert: If they're not paying close attention to the URL they're going to, and that's really ... Unfortunately, most users aren't gonna to either get it, or they'll just literally bypass the warnings. So, um-
Nic Fillingham: S-, sorry. What is, what is Modlishka? That's, uh, identity [crosstalk 00:14:07]?
Alex Weinert: So Modlishka is a, is a red team ... It's like a pen testing tool.
Nic Fillingham: All right, yes.
Alex Weinert: And, and you can download it from GitHub, right? Like you can go search for it and download it. And what it does is it effectively, you point it at the server you're trying to intercept, request for. You're, so you're trying to machine in the middle, the request between the client and the, the legitimate server. And so this is actually ... We'll, we'll go super geeky for just a second.
Alex Weinert: 'Cause this is actually really an important aspect of passwordless that I think most people don't quite get. So basically what happens is when we have a, a situation where like you type in a password, and then you get, uh, an OTP code on your phone. The problem with that is that the communication is out-of-band, which means that the server is gonna say ...
Alex Weinert: You know, they're gonna send or transmit a message to your phone and saying, "Hey, please approve this." Or, "Please," you know, "re-key this number." And then the user needs to key that number back in. If the user is tricked to going to, into a machine that is impersonating the identity provider, so if it's impersonating like Azure AD, that impersonalization is facilitated by a tool called Modlishka or other tools like it, that actually scrape all the UI code off of the original server and then replay it on their local server.
Alex Weinert: So that's what Modlishka is doing is it's like replaying everything forward. So from a user perspective, this isn't like a hacky, lousy old version of the UI that doesn't look right. It's, it's going to look exactly right. It's going to behave in exactly the same way as the, as the code on the original server. So for a user interacting with that, they're like, "Well, this must be the real thing."
Alex Weinert: The server will notice the anomaly. Like our server will notice the anomalies saying, "Hey, I don't think I've seen you on that machine before. So I'll challenge you for MFA." The problem is now the request for the MFA challenge is played forward to the user. And if we have an out-of-band authentication mechanism like SMS, the challenge now goes directly to that user's phone.
Alex Weinert: Well, the user thinks they're interacting with us. So then they just key in the code that they got on their phone, right into the, the machine in the middle. The machine in the middle turns around and plays it back to us. We see that as an authentication pass, and then we would issue a token to that machine in the middle. And so that's how it's called OTP phishing. This is how like MFA bypass OTP phishing happens.
Alex Weinert: So it's a slightly more sophisticated attack. The difference between that and password is that, uh, a pass should only attack is that if I have your password and there's no other protections, I can go anywhere I want and get new sessions. Whereas in this world, I have to trick you into giving me a session on one machine. And I've only got that session for as long as that token lasts, right?
Alex Weinert: So it's a somewhat more limited attack, but it's still a very serious attack. And it's, it's a way to bypass e-, existing multifactor auth methods. So one of the really important things that's built into things like Windows Flow and, you know, FIDO and, and our passwordless methods is that we are looking at the, at the point where you issue the credential, at the point where we say, "Hey, that FIDO token can be used to sign into Azure Active Directory," for example, right?
Alex Weinert: The credential is actually looking at the certificate of the machine that it's, it's taking a credential for. And built into the FIDO standard is this, this idea that you would never give the user an option to sign in to something that they haven't signed into before. So it won't ... The token itself will never even present the UI to the user to offer that token, because it'll say, "Nope, this is not a server that I've ever interacted with legitimately before. So I'm just not willing to give you a cred for it."
Alex Weinert: So it defeats the machine in the middle of the attack, which is a really important and cool thing that it does. So that thing where you look at the credentials of the service that's asking for the credentials, that's called verifier impersonalization resistance. So that was super nerdy, but it's a really important aspect of this thing, which is that we have a cryptographic relationship between the token that's being used to sign in and the service that it's being used to sign into.
Alex Weinert: That's two-way. The trust is both ways. So the, the token has to trust the service too. So if you try to impersonate that service as a machine in the middle, your host, like you're not going to ... It's not going to work. And that's a really cool thing about passwordless. So not only is it, you know, you're not going to write down the password, you're not going to choose to use the guest password, all the other issues with passwords.
Alex Weinert: It also bypasses many of the vulnerabilities of existing multifactor auth that is out-of-band in nature.
Natalia Godyla: So you've outlined a number of risks that we're trying to mitigate through passwordless. Uh, just thinking about it from the other side, wh-, what are the risks that are still inherent and passwordless? What are, what are some common misconceptions on what it can solve? What should people be continuously aware of even after they've implemented passwordless, other identity technologies that need to be paired with it?
Alex Weinert: That's a great question. Um, I think that for those of us who've been around the identity industry and the security side for a long time, uh, the, the thing that we probably worry the most about is, uh, what happened around smart cards, right? And so smart cards ended up being a very secure mechanism that was very niche-y in nature. And the reason for that was that there were serious usability issues and, and manageability issues at the, at the organizational level.
Alex Weinert: So for example, if you lose a smart card, you know, you leave your smart card at home, you come to work without it, how do you go to that person, authenticate for the day? And it turns out you need a way to manufacture a new smart card. And that is, uh, an expensive process. And you need to physically get somebody down to a desk and, and issue and all that sort of thing.
Alex Weinert: So the form factor, specifically the fact that we had to embed credentials using specialized hardware was kind of a big deal in, in those days. And so, as we went into the new generation of passwordless technologies, we wanted to get the security benefits of, of the, sort of the old PIV and smart card model. But we wanted to do it in a way that we could get great usability as well.
Alex Weinert: And so the major things that I think we worry about are actually on that usability spectrum. Like if I have a really strong credential ... Le-, let's, let's first back up. Let's talk about passwords. How many places will give you a password reset based on knowing your mother's maiden name or your last address?
Natalia Godyla: (laughs).
Alex Weinert: Right? Why would we have-
Natalia Godyla: Sounds familiar.
Alex Weinert: ... such a weak mechanism to, to recover a password? And the answer is because passwords are so intrinsically weak that a weak mechanism in some senses is like a rational response. But when we get to a place where we have like a FIDO token, which is a cryptographically, you know, like ha-, hardware-based cryptography, and it's awesome, right? Do we still want to use your mother's maiden name as a way to recover the credential?
Alex Weinert: And so recovery becomes one of the brass ring things that we need to go make sure we get right. So issuance recovery, all the things that are about getting you started. Now, for organizations that can use phones, like this is a great way to go for a lot of organizations, if you're allowed to use your mobile phone in the organization. So you can use the authenticator app.
Alex Weinert: We've done a ton of work to have essentially the ability to generate a temporary credential issuance code as a help desk, and then have somebody simply point their phone to the screen and get their new credential. And so some of that, we've like massively lowered the cost and the effort involved for an organization to manage these things.
Alex Weinert: But then there's organizations where you're not allowed to use a phone, right? They're either, because you're in a secure environment where phones aren't allowed, you're on a retail floor, or there are union or governmental regulations that prevent requiring, or allowing a customer ... Um, I'm sorry, a user to use their personal devices. Right?
Alex Weinert: So then you have this whole issue around, okay, so now you've got hardware. And, so what happens if somebody has a two-hour commute to work, gets there and realizes that they left their, you know, FIDO token on their other key chain, right? Like what happens if, you know, you're borrowing the car or your car is in the shop, whatever?
Alex Weinert: So the thing that is of concern when you go into these really strong credentials is that you have to have a pair-wise, really strong, you know, lost, forgot recovery and issuance flow. Like we've had the basic login to windows with a FIDO token working for, I think, a couple of years now, right? Like that's not where the energy is going right now. The energy is going in the usability piece.
Alex Weinert: Like how do I get to a place where you can go order a FIDO token from your favorite online retailer, have it show up in your house, you know, via Speed Delivery? Right? So one of the scenarios we talk about is if I'm traveling and I get robbed, right? Like, and I need to get into my machine, what do I do? Right? So I can order one of these things, retail off the shelf.
Alex Weinert: I can interact remotely with my help desk. And then I can actually reprovision the strong credential from right there on my, my laptop, you know, in my hotel room, right? Like that ... And I realize this is, you know, the pre-COVID version of this, but it's in fact more relevant now. I've hired, I think, you know, something like 10 people onto my team since March. Not one of those people has had physical contact with anyone from the corporation, and they're all doing strong credentialing. Right?
Alex Weinert: And so that, that bootstrapping process is really important to get right, especially now. That's where the real challenges are. I don't think that there's a significant argument to be made for, for the security side of this at all. Like the security here is as good as it gets, short of ... I mean, we're certainly just as good as it gets, right?
Alex Weinert: You, you could add other rituals, like manager approvals and that sort of thing. Well, you can do that now. From a credentialing perspective, you don't get much better than a cryptographically strong device where the crypto's being done in hardware and you're validating everything all the way down the chain. The people that worked on FIDO2 did a good job, right? They, they nailed the security promise.
Alex Weinert: What we're trying to nail now as the usability promise. And even that on the mainstream line isn't that hard, but when you get into the, "Oops, I," you know, "I washed my FIDO token in the laundry today," right? Like that becomes more of a problem. And so how do you reestablish trust? That's a place where we're putting a lot of investment. And I think that that will be the make or break for, for strong credentials.
Alex Weinert: The thing about passwords that, as much as I would like to see them eradicated from usage, the thing about them is, you know, there's essentially an infinite key space. They're super easy to reissue. The user can self-reissue. Like there's a bunch of ease of use stuff around passwords, until you forget that, and that's a whole different problem.
Alex Weinert: When you, once you get to a really strong credential, you have to kind of match up the ease of use piece. And that's a big investment.
Natalia Godyla: So where are customers on their journey to passwordless? We're at a point where we're improving what we already have. And so, like you said, we're focusing on usability. Are our customers actively using these methodologies? Is there one that is preferred over others? What does that look like for people?
Alex Weinert: In broad strokes, adoption of Windows Hello is terrific. Like we have many, many, many customers that their primary sign-in mechanism every single day, as you open your laptop and you get to work. And there's a cryptographically strong handshake happening there, but you don't as a user, think very much about it. You can use a pin, face print, thumbprint. I use a pin ...
Alex Weinert: Confession time, uh, because I'm on this crazy deck here, and my, all my scanner, all my actual computing hardware is way over on the side. So the pin is an easy way to do it from the keyboard. But if you were using a, a, like a face scanner, which is built into most laptops, the camera will work in same way that you would look at your phone to unlock it. Then you're just signed in and you don't think about it. And that's a really great user experience.
Alex Weinert: And that's actually the experience you're used to on your mobile devices. It's the experience customers are used to on their, on their Windows devices. Then the next place that we see really good traction in, you know, here, it's tens of millions is in the authenticator app, right? So the authenticator app is a very popular option for people to use. It's on the phone. So you want to sign in.
Alex Weinert: You gotta, you know ... Thing flashes on your phone, it says, "Please approve." And then you push the number, you know, that matches the screen. And that I think has driven a lot of adoption of the authenticator app. So the authenticator app is the second most popular. And then with FIDO, I'd say people are dipping their toes in the water. Like organizations are getting serious.
Alex Weinert: people that wear a lot of tinfoil hats like me, you know, the overall Net/Wall or mission full hats, right? Um, are, are deep into the FIDO experience. And so I sign in every day, uh, using FIDO because I, I know the, you know, the security promise behind it is just outstanding. So m-, my personal accounts, I don't have passwords that I know on any of my personal accounts. I intentionally put random, random strings into all of my password fields as-, and then destroy the strings, so I don't have a copy. All of my sign-ins every single day are passwordless.
Natalia Godyla: So you mentioned that, uh, the scenario in which you find out that there has been something suspicious in your account and you respond to the request. But ultimately there's something in the technology identifying something as suspicious. How does that work? Are we using machine learning for that use case? Uh, uh, how do we use it across all of the technologies that you've described?
Alex Weinert: Yeah. So back in the beginning of my journey with this team in, I guess it was 2013, we were struggling with the fact that we would, um, go through this process where we would figure out a new attacker signal and we would update our algorithms. And that would take a certain amount of time. And then we would test and we would package and we would deploy to servers all over the world and the fix would go live and the attackers would be disrupted for about a day.
Alex Weinert: And then they would adopt to our new algorithms and we had to start over. So we were on like a sort of six-week cycle, you know, to get changes made. And then they were on a sort of a two-day cycle to respond to the changes. And so we were on, you know, what, I think a lot of people who have a long background in defender technology know, which is that it can feel like a treadmill.
Alex Weinert: Like you, you take a step, that you take a step and then you're right back where you started. And so we made a bet on adaptive defenses, on adaptive technology for defenses. And that was a really hard bet. I mean, it diverted a bunch of resources and stressed a lot of people out and it went on ... You know, we had a lot of false starts. We've talked to other f-, friends in the industry who, you know, started and abandoned their efforts in this area, because it, it can be frustrating.
Alex Weinert: But we got to a place where we could beat our static heuristic algorithms with our machine learning algorithms. And at the time, we looked at like 30 different features. A feature is just an aspect of a log-in, right? Like some ... It could be your IP address. It could be your browser, you know, your agent string, whatever, but we'd look at these things.
Alex Weinert: And we looked at like 30 and we would say, "All right, given this combination of factors, what's the probability that this thing is going to be a good log-in or a bad log-in?" When you get into data science, you, you're working with two things. There's precision, which is the number of times, if I say it's bad, how often is it r-, is it really bad? And precision is really important, because it's, it gets into how many times do you artificially challenge a user?
Alex Weinert: And that results in user friction and like bad experiences and help desk calls and costs. And people will turn off security technology that gets in their way. And this is an unfortunate truth, right? Like if you put technology in front of your users, that frustrates them. Even though it's the, doing the right thing from a security perspective, the organization will turn it off, because productivity is the higher order bread for every organization.
Alex Weinert: And so every CSO knows this and has to live with a sort of balance, right? So one of the things that we have to do as security professionals is we have to put experiences in front of people that actually enhance their experience to the extent possible, or at least minimally disruptive. So precision is the thing that we look at for that when we match the precision of our then best algorithm, which was at around 17%.
Alex Weinert: Which means that eight out of 10, roughly eight out of 10 challenges that went to users were unnecessary, right? We were, you're throwing MFA challenges that users are blocking them incorrectly, eight out of 10 times. When we match that with our la-, machine learning stuff, when the machine learning got as smart as our current static algorithms, we started blending the two together and then the machine kept on getting better and better and better.
Alex Weinert: And over the close of about four or five years, it got up to, north of 85% precision. On the enterprise side, you're given some flexibility. You can say, essentially, "Hey, I'm more risk sensitive," or "I'm less risk sensitive." And so you can tune that precision. But the other side of the equation that moves is recall. Right? And so recall is how much of the bad traffic are you actually catching? Right?
Alex Weinert: So I can get precision to a hundred percent if I simply never challenge, right? If I basically never ever challenge, then I will never bother a good user. And I can say, "Yeah, yeah, yeah, I have nothing wrong," but the problem is I'm also catching no attackers. And in that world, um, I want the best possible recall. Or I could simply challenge everyone, and I can get a hundred percent recall, right? I can bother every good user and everybody. I'll get all the bad users.
Alex Weinert: So you, the, the thing that's super tricky in this space is turning that dial to the right place. And so machine learning has done huge amounts for us in that space. So we just recently had an algorithm that was static. And when I say static, I mean that is not machine learning, right? Is traditional heuristic algorithm, that detected a, a, an attack called password spray.
Alex Weinert: And our password spray algorithm was about 98% precise, which means that, like, if we said it was a bad user, it was a bad user, you know. 98% probability. We were able to double the recall of that by applying machine learning to it. Like we took the supervised machine learning technology and applied it. And after a brief training period, we released it and we hit, doubled the recall without moving precision at all. Right?
Alex Weinert: So that's fantastic. Right? Our precision stayed high and we doubled the amount of bad actors we're, we're catching. And one of the things about recalls, you never know the, the total number, right? 'Cause you don't know what you don't know, unless you're in, in like a thing where you can ...
Alex Weinert: There are machine learning environments that you'll see if you go to like conferences, which are all like, "Okay, I had temperatures of cats and temperatures of dogs. And my machine learning algorithm is training." And in a world where you're like in a constrained dataset fine, but attacker's whole job is to be invisible. Their whole job is to, to defeat the machine learning system.
Alex Weinert: So when we look at a r-, like doubling of recall, that's a significant step to do that without moving precision at all. And, uh, the team was able to do that. That particular system looks at over 200 aspects of every log-in. And then you're, it uses the machine learning algorithms to, to figure that out. But the most important thing about it is that it will, without our investment, without significant investment, continue to get better.
Alex Weinert: And of all the things machine learning did for the team and for the defenses of customers, I think the most important is that it freed up innovation cycles. Like the humans were able to go back to really innovating on, how do we find new attacks? How do we defeat these attackers, w-, while the system continues to do the things that we used to do manually? Which is, "Oh, look, a new parameter. Let's tweak the parameter and propagate it." That's now happening for us automatically. So we can go off and invest in innovation.
Nic Fillingham: I just want to maybe get some clarity on, on one little piece there. So I use the authenticator app myself. Obviously, you know, I'm a Microsoft employee, so I, I have to use that for my, my job, but I also use it personally for, for personal services. Every now and then, I do get a ping on the authenticator app that doesn't appear to be from something that I've initiated. It's rare, but it does happen.
Nic Fillingham: Can you ... This is a slight digression here, but like what's, what's happening there? Is it always a sort of a malicious act happening on the other side of the, of the coin and the fact that I'm ignoring them, obviously, because I don't initiate it? Is that good? Am I doing the right thing? And is that actually helping the model get better? What, w-, what, what happens in those sort of, I guess, false positives? Is that what it's called?
Alex Weinert: Yeah. Well, so that's not necessarily a false positive. I mean, I'm not sure I would call it a false positive. So let me tell you about the, the things that will cause that. The two things that will cause that are an attacker has tried to log in. If you're getting a, you know, the, the three codes presented thing, and, and you have a account that's set up for passwordless, and they might've just typed in your username and they're trying to sign in, obviously you should never hit approve on a request that you don't know where it came from. Right?
Nic Fillingham: Right, yes.
Alex Weinert: I'd like to be very clear. The other possibility is that you have legacy software that is like, you've, you've left a client running somewhere. And this was the cause for a lot of, um, multifactor authentication and things that don't get answered. Because we have blocks in the system, like you have to complete your phone number entry or whatever, that, that require that before you take that next step.
Alex Weinert: But if you have software that is like, "I'm gonna try to log in," and that trips a, a multi-factor authentication challenge, then that can be the other thing that happens sometimes. That's pro-, the primary two. Um, we're, we're doing a bunch of work right now and I, I won't get super specific, but I'll say we're doing a bunch of work to make it hard or nearly impossible to approve a malicious attempt at logging in.
Alex Weinert: And so, you know, we have ... The wonderful thing about the authenticator app is in some sense, like our systems, we can adopt it very rapidly, and we can adapt the UX for it very rapidly. So the team's putting a bunch of energy right now into this question of, how do we tune the authenticator, so that users don't do accidental approvals and they don't, you know, respond to those, those kinds of challenges?
Alex Weinert: But yeah, the majority of those will be caused by either an attacker who has your username and password, and is tripping the, you know, the last step of the authentication or, uh, an old application that doesn't know that it's triggering MFA.
Nic Fillingham: Got it. And so me, me ignoring that, though, am I actually helping? Is there some other step that I should take to say like, "Oh, I don't think I actually requested this?" Like, how do I actually help the machine learning models get better to reduce the times that, that I would see those challenges when I don't request them?
Alex Weinert: You can review in, uh, My Sign-ins. You can review that either on the web or on your phone. And then you can indicate that a given log-in request was, or wasn't. You know, they can also help you understand whether your, uh, password is compromised. So for example, if you see someone who got through the password challenge, but got stopped at your MFA challenge and it's coming from a country you've never been to and on a device you would never use, right?
Alex Weinert: You click, "This wasn't me," and then we will actually step you step by step, how to re-secure your account. And so this is an important part of our security apparatuses to, you know, get the user involved, and we can walk them through re securing their accounts at that point. So that's kind of the best thing to do. If you're getting challenges, you're not expecting, go look at your sign-in logs and, and then react, you know, if you see something out of, out of whack.
Nic Fillingham: That's great advice. Thank you. And I want to touch on one, one other thing that you said. So is the end goal for passwordless that there are no passwords anywhere, or is it simply that a password may exist, but the end user basically never enters it? Is that, is the end goal that on my, my identity, my account, my user entity-
Alex Weinert: No.
Nic Fillingham: ... there is no actual password in any shape or form associated with that, and instead it is things like a FIDO key or some other authentication mechanism? Or is it simply that the password does exist, the user just never, never has to enter it?
Alex Weinert: Yeah. Well, so we should be clear with that. I think th-, there are, you know, there are systems that still run FORTRAN. There are systems that still run COBOL. Like-
Nic Fillingham: (laughs).
Alex Weinert: ... VAX assembly systems are still out there. Like you're going to have, you're going to have a long tail of technology that is highly coupled to passwords for a very long time. And, and so some passwords will still exist in the environment. Our, our goal is, uh, as we get users into their sort of daily ritual, that that does not involve a password.
Alex Weinert: If you have a password you don't know that is also cryptographically strong, so it's, you know, it's completely, what's called entropic, which means that it's a string that doesn't have any patterns in it at all and it's totally random, then that, and not having a password at all are about the same thing. Right? Which is why I've essentially rendered my accounts passwordless without actually like having a system underneath it that deletes that thing from the environment.
Alex Weinert: So yes, the goal, I think long-term ... And I, um, say two things here. First of all, the goal here long-term is absolutely the eradication of what is the weakest possible link in s-, in cybersecurity. And we have moved on from the world where I might want to do the, you know, Tom Hanks, Meg Ryan, you know. You've got mail thing. Like that, that's one bar. And now we're talking about like national infrastructure and like global economies and healthcare, and, you know, like lives on the line who are behind these passwords. Right?
Alex Weinert: So we, we have to realize that we've kind of shifted our, our security mandate in a pretty substantial way when we're betting the world's infrastructure on the integrity of logins. And so to say it's okay to have like QWERTY I, uh, UIOP as your password, if your password is guarding something like whether the trains run in Europe or whether, you know, lights come on in Minnesota in the winter, right?
Alex Weinert: Whether the heaters can come on, like, these are bigger deals than somebody like intercepting a personal mail from the days of bulletin boards. Right? So I think we have to, we have to say, we, we have a mandate to get past the password. So I believe very strongly that yes, our goal here is to find ways that are, that, that are in line with our expectations, for security, for the kinds of systems we're securing now.
Alex Weinert: The second thing I will say is that, okay, so it's a long tail. The mitigation for passwords is MFA, right? The mitigation is multifactor auth. And as much as I would say your best bet for multi-factor auth today is probably the, the ma-, the authenticator app where you're doing cryptographic communications and, you know, you have all sorts of other hardening, any multi-factor auth at all of any kind dramatically reduces your risk of compromise, like really dramatically, like more than 99.9%.
Alex Weinert: So when we go look at the body of compromised logins that we have, we'd say, "All right, here's all log-ins that we definitively said these were bad, right? These were cases where an attacker got in," only one in 10,000 of those will be a non or will be an MFA'd account. Okay? So that, that's how like radical this is. So if I go look at all my compromised accounts, all the compromise that happens in the system, only one in 10,000 of those will have MFA.
Nic Fillingham: And therefore, if you have MFA-enabled, you are protecting yourself from ...
Alex Weinert: Vastly, vastly. Right? Like, and even targeted accounts, targeted attacks very often are defeated by conventional MFA. Because as much as we would rather ... Like when we, if you look at something like the radio intercept stuff I write about in the Hang Up The Phone blog, we should be clear that like that radio intercept stuff is, um, it requires proximity in most cases. SS7 doesn't, but the other ones do.
Alex Weinert: So if I want to intercept your cell communications, I need to get close enough to you to do it. So I have to get, you know, physically close. Well, a lot of attacks are taking place from around the world. Right? And so it's, it's hard to get close to somebody. So once I have MFA, that requires proximity, I'm going to like, "Meh, I'll give it up." You know? So as long as you're, you're not blind approving things, um, and your phone provider isn't giving away your account, right? Which is an issue. You are probably okay, you know.
Alex Weinert: And you were certainly a whole lot better off in not using MFA at all. So I think we have to think of this as tiers. Like password-only is the worst. Password p-, plus MFA is, with, with phones is the next. It's much, much, much better. Right? And then we would say password plus MFA with non-phone mechanisms is the one after that. And then we would go from there to say, "Okay, let's go passwordless with, you know, pho-, with the phone authenticator.
Alex Weinert: And to be clear, I'm talking about an application, not the, not SMS, right? Or Windows Hello or FIDO. Like now you're into the brass ring neighborhood. You're like, you're doing as good as you can possibly do.
Natalia Godyla: Understandably, Alex, we still have a lot of work with securing the institutions and enterprises. As you said, uh, organizations like utilities still need to adopt passwordless, but what's next after passwordless? Let's say everyone goes passwordless. What is the remit for your team? What are you going to focus on?
Alex Weinert: On my tie, uh-
Natalia Godyla: (laughs).
Alex Weinert: (laughs).
Nic Fillingham: More, more bass guitars. More, uh, more music recording?
Alex Weinert: Yeah. More bass guitars in a warmer climate. Yeah. The, um ... No, I think ... So there are a couple of inevitable places that attackers will be forced to move, um, once, once we get to secure authentication for users. So if everyone was using ... Let's be very clear. If everyone was using MFA, we would see a big surge in, uh, MFA phishing. Right? We'd see more, uh, Modlishka style attacks, like I talked about before.
Alex Weinert: Um, if we get everybody to FIDO and we say, "Okay, now it's impossible to forge a token," then what we have to look at is token theft, which is where an attacker is trying to get into your box as a system, as system memory, lift the token out and take it somewhere else. Um, so for that reason, we're investing very heavily in proof of possession token binding, and, uh, trying to make that an impossible thing to do.
Alex Weinert: So I think that the key things here, as we, as we think forward become things that are less user-centric in nature. Like we ha-, once we get users using the right kind of credentials, then we shift into the underlying systems to really harden against, you know, malware attacks, token theft attacks, um, and other things that are very nuanced and, and require a conversation between all the components to get right.
Natalia Godyla: Thank you. Thank you for that look-ahead and for joining us on the podcast today, Alex.
Alex Weinert: Thanks a lot. It was really fun.
Nic Fillingham: I'm gonna go change my password from QWERTYUIOP on my Hotmail account. That's probably out of date now.
Alex Weinert: Right. And add MFA while you're on it. Well, your, your Hotmail account has MFA, but (laughs).
Nic Fillingham: Perfect. Thanks Alex. We'd love to see you again on a future episode of Security Unlocked.
Alex Weinert: All right. And we'll have to talk bases again some other time.
Nic Fillingham: Definitely. Thank you.
Alex Weinert: (laughing), all right, see you.
Natalia Godyla: Well, we had a great time unlocking insights into security from research to artificial intelligence. Keep an eye out for our next episode.
Nic Fillingham: And don't forget to tweet us, @msftsecurity, or email us at email@example.com with topics you'd like to hear on a future episode. Until then, stay safe ...
Natalia Godyla: Stay secure.