SN 1060: 3-Day Certificates - The Rise of AI Programming
Security Now (Audio)January 14, 2026
1060
2:38:52145.59 MB

SN 1060: 3-Day Certificates - The Rise of AI Programming

Why are code signing certificates suddenly so expensive, short-lived, and tangled in red tape? Leo Laporte and Steve Gibson dig into Microsoft's "three-day certificates," the hidden costs for developers, and the security tradeoffs no one saw coming.

  • A look at Microsoft's Azure cloud code signing.
  • California implements DROP, global data broker opt-out.
  • Where's the town of "Whata Bod" Idaho.
  • iOS built-in Mail app worked itself out of a job.
  • A 30-minute tutorial for non-coders about AI coding.
  • Claude Code appears to be winning over the AI coding world.
  • Various listener musings on code signing.
  • A bit of Magnesium feedback.
  • What use are 3-day code signing certs?

Show Notes - https://www.grc.com/sn/SN-1060-Notes.pdf

Hosts: Steve Gibson and Leo Laporte

Download or subscribe to Security Now at https://twit.tv/shows/security-now.

You can submit a question to Security Now at the GRC Feedback Page.

For 16kbps versions, transcripts, and notes (including fixes), visit Steve's site: grc.com, also the home of the best disk maintenance and recovery utility ever written Spinrite 6.

Join Club TWiT for Ad-Free Podcasts!
Support what you love and get ad-free audio and video feeds, a members-only Discord, and exclusive content. Join today: https://twit.tv/clubtwit

Sponsors:

Why are code signing certificates suddenly so expensive, short-lived, and tangled in red tape? Leo Laporte and Steve Gibson dig into Microsoft's "three-day certificates," the hidden costs for developers, and the security tradeoffs no one saw coming.

  • A look at Microsoft's Azure cloud code signing.
  • California implements DROP, global data broker opt-out.
  • Where's the town of "Whata Bod" Idaho.
  • iOS built-in Mail app worked itself out of a job.
  • A 30-minute tutorial for non-coders about AI coding.
  • Claude Code appears to be winning over the AI coding world.
  • Various listener musings on code signing.
  • A bit of Magnesium feedback.
  • What use are 3-day code signing certs?

Show Notes - https://www.grc.com/sn/SN-1060-Notes.pdf

Hosts: Steve Gibson and Leo Laporte

Download or subscribe to Security Now at https://twit.tv/shows/security-now.

You can submit a question to Security Now at the GRC Feedback Page.

For 16kbps versions, transcripts, and notes (including fixes), visit Steve's site: grc.com, also the home of the best disk maintenance and recovery utility ever written Spinrite 6.

Join Club TWiT for Ad-Free Podcasts!
Support what you love and get ad-free audio and video feeds, a members-only Discord, and exclusive content. Join today: https://twit.tv/clubtwit

Sponsors:

[00:00:00] It's time for Security Now. Steve Gibson is here. We're going to take a look at code signing. Crazy. We're going to find out what about Idaho has going for it. Steve's going to talk about these three-day code signing certificates. And I'm going to give you a little demo of Claude Code. I've been using it to write applications. All of that coming up next on Security Now.

[00:00:25] Podcasts you love. From people you trust. This is TWiT. This is Security Now with Steve Gibson. Episode 1060 recorded Tuesday, January 13th, 2026. Three-day certificates. It's time for Security Now, the show where we cover the latest in security news. We attempt to protect you and your loved ones from bad guys in the outside world.

[00:00:57] We even talk a little bit about TV shows, books and vitamins with this guy. It's whatever Steve's into, frankly. Mr. Steve Gibson. Hello from GRC.com. Great to be with you again for, well, I'm not superstitious. So the fact that this is the 13th is just fine with me. It's not a Friday. Tuesday. That would be worse. Yeah, that's not a bad. I did have bad luck yesterday. Did you hear me talking about this on Mac Break Weekly? I got fished yesterday.

[00:01:24] No. And it's funny because I forgot to mention it. It's not in the show notes, but I saw if I got a fishing text which said that what was it? It was supposedly from Amazon saying that the quality of something that I'd ordered did not meet their standards.

[00:01:46] And so they were giving me a refund to click here. And it was a plus nine one something something, you know, phone number. So I was like, what? It's not. But I mean, again, I was like, I they kind of had me almost. Well, I got had and and and I got some insight from it. So it was wasn't a complete waste of three credit cards.

[00:02:11] I got a text from T-Mobile saying your points are about to expire. If you'd like to use them, click this link. What I really didn't pay attention because for two reasons, one, I'm a T-Mobile customer and I get a lot of promotional text from them. And this is companies got to knock this off because they're setting their users up. Oh, yeah. This is I see this. Oh, you. Oh, you mean the legitimate companies need to stop this behavior?

[00:02:39] T-Mobile should not be texting me with promotional stuff legitimately because it sets me up for phishing that looks exactly the same. Now, if I noticed the link was to L-U-O-S-A dot C-C, T-Mobile dot L-U-O-S-A C-C. I probably would have been smart enough not to click on it. I clicked on it. It said, hey, look, you got boy, you got a lot of points. You could get an iPad. You could get some headphones. What would you like?

[00:03:06] I said, well, I don't really need this, but these headphones I could give as a as a gift. Click the link. All look very legitimate. It said, well, OK, we need your credit card. It's free, but there's 99 cent shipping charge. So we need your credit card for that. That should have been. Then I clicked the link and it took a long time. That was the real giveaway. So I'm waiting. Put in my credit card information and said, OK, they're going to send you a text.

[00:03:32] Got the text. Took a long time because there's a man in the middle, right? Waiting for that text so that they can get the credit card number in the text and authenticate it. And what they did, which is really interesting, the text said to add this credit card to your Apple wallet and enter the number. And I should I mean, there was so many red flags again that I mean, I mean, I'm sure everybody listening understands that, you know, our guard is is down briefly.

[00:04:00] Maybe you're distracted. It was it was early morning. I wasn't paying attention and there was urgency, right? These are going to expire. Yep. And it was a nice, you know, nice set of Sony headphones. Oh, that's pretty good. So I entered the first credit card. I said, no, this one didn't work. Oh, well, this didn't work. And I'll just suck them out until you finally three credit cards before I went. Wait a minute. Hold on there, buddy.

[00:04:30] Fortunately, the first credit card was an Apple credit card, which Apple is great. You go in and you say, make that number no good. Give me a new one. And that's it. It's done. The other two, I had to say the bank, I need a new credit card. I had to say to American Express, I need a new credit card. There'd be a little pain in between reconnecting stuff, which I deserve fully. And in fact, shortly after, you know, as soon as I realized. But you're indemnified from any charges.

[00:04:59] Well, yeah. And as soon as I realized it, I immediately stopped all those credit cards. So I was not going to get bit. They don't. They're quick. So that was the interesting thing. I thought it was smart of them to put it into a wallet. So they put it into a Apple wallet because that's anonymous. You can then use it anonymously at a store and the store doesn't know who you are. And Lisa called down to me about an hour later saying, did you just charge some 500 bucks worth of stuff at Lowe's? I said, no. And she said, well, American Express blocked it. I said, well, good.

[00:05:30] And so I haven't seen any others because they're all blocked. Yeah. Less than an hour for them to get the credit card numbers, authenticate it, add it to a phony Apple wallet, which they own. And Leo, just imagine how many people are being caught. I mean, you're as aware. Of all people. You're as aware as you could be, but still.

[00:05:55] And again, even I, like I looked at that text and I thought, huh, that's interesting. You know, and but I mean, it whereas normally nothing would have happened. And I just I look at the phone numbers plus nine one. I don't know where that is, but it's not Amazon. So I feel so dumb. Well, I had I've told the story before. I had a my main credit card. I could not buy. I could not purchase gas.

[00:06:23] It was so frustrating because and it would stop. It would kill the card if it approached a gas tank, a gas pump, because it turns out that's what they use it to validate it. Yeah, exactly. When when they get hold of a card. Yep. Anyway, I, you know, I'm tempted to never tell anybody that this happened. But I think on this show, especially, I think it's important to say this because we're all vulnerable.

[00:06:51] These are not hypothetical issues that we face. I mean, and and this actually will be what you and I will be talking about at our presentation at Threat Locker at the beginning of March is I titled our talk. The call is coming from inside the call. Yeah, it's true. Because that's it is. That is the threat now. The and it is the messiest, least easy to deal with.

[00:07:21] Most pushback from your own employees and staff are all the things you have to keep them from doing in order to protect themselves, protect your organization from, you know, inside. So anyway, we have a great podcast today. Maybe it is the 13th. This didn't happen this morning, did it? No, it was yesterday. Unfortunately, it was on a day off. So I had time to fix everything.

[00:07:49] So we've got security now episode number 1060, which I titled three day certificates after which was inspired by a blog post that my continuing poking around in the code signing world led me to that I'm going to share. So we're going to take a look at Microsoft's Azure cloud code signing with a topic we opened last week.

[00:08:17] Boy, it turns out, Leo, a bunch of our listeners are in enterprises where they need to be signing code. And so last week's topic had extremely high resonance and relevance for them. We're going to talk about that some more. Also, California's implementation of drop to provide global data broker opt out is interesting. I've got some details about that. Actually, I did it also. I don't know. Don't know if you have. I did.

[00:08:47] Also, where's the town? What about Idaho? We're going to look into that. Also, I just got what about iOS is built in map app. Worked itself out of a job for me. I'm going to explain the backstory there.

[00:09:08] We've got a I found a 30 minute tutorial for non coders about how to get into how to get started in AI coding, like how to ask the questions. Right. Which I want to share with our listeners. Also, the fact that Claude Code appears to be winning over the AI coding world. Oh, yeah. I'm going to share two pieces of information about that and then have you tell us about your own recent experiences, which I got some sense for.

[00:09:39] We've got a bunch of listener musings on code signing, a little bit of magnesium feedback. And then we're going to take a look at what use could there possibly be to three day certificates. I mean, it's like it barely gets off the ground and it's landed. So, yeah. And of course, we've got a great picture of the week for everybody. So I think another great podcast. Love it. Well, before we get to the picture of the week, because I have it already all queued up here.

[00:10:07] Maybe I can tell you about our sponsor for this segment on security now. And it's kind of kind of appropriate. The this episode of security now is brought to you by material, the cloud workspace security platform built for lean security teams. And man, I wish I wish I didn't this this this text came over my Apple messages, not my Google mail. If it had. I wouldn't have had to worry.

[00:10:35] Managing security in the cloud workspace, as you know, is tricky. We are a Google workspace company. A lot of you use workspace or maybe use Microsoft 365. But it's hard to do security in those clouds. Phishing is not the only way in, by the way, what I got. But today's email security basically stops at the perimeter. New attacks are hard to detect with siloed email data and identity security tools. But that's why you need material.

[00:11:03] Material protects the email, protects the files, protects all the accounts that live in your Google workspace or Microsoft 365. Honestly, effective email security today needs to do more than just block phishing and other inbound attacks. It needs to provide visibility and defense across the entire workspace threat surface. Material ingests your settings, your contents, your logs. Churns them up and provides holistic visibility.

[00:11:33] Single pane that looks into the threats and risks across the workspace. It also gives you the tools when you see something to automatically remediate it. Material delivers comprehensive workplace security by correlating signals and driving automated remediations across the entire environment. You get phishing protection. You get email security. It combines advanced AI detections with threat research. So, you know, you've got a lot of data points. You also have user report automation.

[00:12:02] So your users can say, hey, something happened. You also get detection and protection of sensitive data. This is really important across inboxes and shared files. You know, assume you're going to be mailing your tax info out to your account. That's sensitive data, isn't it? There's all sorts of stuff going through the over the transom into the inbox. Account threat detection and response with comprehensive control over access and authentication of people and third party apps.

[00:12:31] You get all this with material. Material, it empowers organizations to rapidly mature their ability to detect and stop breaches. With step up authentication for sensitive content. Blast radius visualization for accounts. And the ability to detect and respond to threats and risk across the cloud workspace. Material enables organizations to scale their security without scaling their team. Material drives operational efficiency with its simple API-based implementation.

[00:13:00] And flexible automated and one-click remediations for email, file, and account issues. So you don't have to spend a lot of time fixing stuff. You just go fix it. This includes an AI agent that automates user report triaging and response. It's such a big help. Material protects the entire workspace for just the cost of email security with a simple and transparent pricing model. But it's so much more than just email security.

[00:13:26] Secure your inbox and your entire cloud workspace without adding more toil to your day or costs to your balance sheet. See material.security to learn more or book a demo. That's material.security. What a great solution. You need to check this out. Material.security. We thank them so much for their support of security now. And Mr. G. Okay. Let me tee up the picture of the week.

[00:13:56] I gave this picture of the week the caption, it would be funnier if it didn't ring so true. Oh, dear. Instead, it's rather sad. Yes. Okay. This is a free-range comic. I'm looking at it right now. Let me show it full screen so you can read the entire caption. So we have a neat-looking couple of hikers.

[00:14:26] She's got her little fanny pack, and he's got a walking stick. And they're on a path clearly in some park. And they've come to a ranger who's stepped out of his booth. The arm is down on the gate preventing them from moving through. And he's holding up his hand saying, hold on, stop, pointing to a kind of a billboard-sized screen, which is off to the side of the path.

[00:14:55] And on the screen, we see it says content loading with the little spinning thing, right? And he is seen to be saying, hold it right there, folks. Before you can view any more scenery, you'll have to watch these ads and take a brief survey. So, as I said, yes, it would be funnier if it didn't ring so true.

[00:15:22] Even nature is being commercialized, and you're needing to be made into the product yourself if you're wanting to do any communing. No communing allowed. No communing here. Okay, so based upon the feedback I've received, as I said, over the past week, we appear to have hit it out of the park with our first podcast last week of 2026.

[00:15:49] I received a bunch of feedback about each of the major topics we covered. And no one complained about my spending time sharing what I learned firsthand about magnesium. In fact, many of our listeners want more. So, from time to time, you know, again, this is not going to be the nutrition podcast. But, again, we're all together, all, what, 100,000 plus of us aging as a group.

[00:16:19] And we've been at this for 21 years. So, we're getting there. I was gratified to find a great deal of unity over what's going on in our industry regarding the shortening of certificate lifetimes, coupled with the concomitant rising costs of code signing.

[00:16:40] Since last week's three-hour podcast, which, you know, couldn't have handled any more content, I stumbled upon a terrific blog post that was so on point that I want to begin with it this week, much as I began with the same topic last week by looking at, in this case, a different aspect of code signing. The guy's name is Rick Strahl.

[00:17:07] His post was this past summer on July 20th. And he tweeted a few days before that. I'll share that in a second. But he posted July 20th, 2025, from Hood River, Oregon. He gave his posting, fighting through setting up Microsoft trusted signing.

[00:17:31] And while I share what Rick wrote, please keep in mind that no matter how much this guy may sound like me and may be echoing my recently expressed sentiments, this is really his own original writing.

[00:17:48] So, you know, he's further evidence, I guess, that, you know, I and our many listeners who have expressed an opinion are not alone and are not off base in raising an extremely skeptical eyebrow at the recent changes that have been occurring and which will be adversely affecting everyone who wishes to author code going forward. So, here's what Rick wrote.

[00:18:15] He said, so, it's that time of year, actually the time of several years, to renew my code signing certificate. I always dread this because it's a manual process. And invariably, if you're not intimately familiar with the complexities of public key cryptography, the terminology is enough to drive you batty.

[00:18:39] It's gotten easier since I made some decent notes the last few times I went through this. But all that's out the window this time around because the code signing rules have changed drastically. It actually happened a few years ago, but I was lucky and got my local still exportable certificate just before the rules changed.

[00:19:06] So, I was able to freeload for at least nearly three years on the old certificate plan. The new rules don't allow for locally stored exportable certificates.

[00:19:20] Instead, certificates have to be served from one of a few certified online authorities or the certs must be stored in a FIPS 140-2 Level 2 Plus compliant hardware security module. The keys cannot be exportable, so they effectively cannot be copied and stored or used elsewhere.

[00:19:45] So, you got the option of a server-provided keys or hardware keys. The idea behind this is to stop keys getting jacked and being used by the non-originating organization. So, the new keys are one-time generated and non-exportable so that they are much more restricted.

[00:20:07] Online services issue certificates that are good for only a few days when you can use them to sign with and then automatically roll over to a new certificate. What all this means, the complexity of getting a certificate has gotten exponentially worse. And along with that, prices have gone up significantly.

[00:20:31] Base non-EV certs run in the $350 to $500 range with fully verified EV certificates starting around $500 per year. What used to cost me $180 for three years, the same provider now wants nearly $1,000 for. He says, yikes. It all seems like a huge grift.

[00:21:01] Okay, now in his posting, Rick, as I mentioned, then posts, he quotes a separate tweet which he had posted two days prior to this blog posting. On July 18th, Rick posted to X. He said,

[00:22:07] So, that was his tweet. Then he continues, turning his attention to Microsoft's Azure cloud signing solution. He writes, Microsoft is in the game too. Microsoft, who requires these code signing rules in the first place for Windows smart screen validation and also for other things like NuGet packages,

[00:22:36] is also providing an Azure service called Trusted Signing to provide code signing services. So, they're on both sides of that transaction. Create the problem. Provide the solution. To their credit, their pricing is much better than what most traditional SSL cert providers are now charging. Azure trusted code signing is still in preview.

[00:23:03] But then again, it's been in preview for well over two years. But it looks like what you see and what can sign up for now is in the final stages before going to a proper release as a service. One reason to look at Microsoft solution, despite the potential pain and suffering, he writes, is that the pricing is quite good as of the time of this post. So, and then he has a little chart.

[00:23:29] The base price monthly is $9.99. The premium, as opposed to basic, per month is 99.99. The quota, as in maximum number of signatures per month for the basic $9.99, is 5,000 signatures per month.

[00:23:55] Then an over quota is half a cent per signature. So, $0.005, you know, half a penny per signature once you've gone over 5,000 per month. For the premium plan, which is basically $100, 99.99, you get 100,000 signatures per month. And then the same half a penny for each of the signatures over that.

[00:24:22] So, he said, these are non-EV base certificates. Oh, so that means the difference between basic and premium is not signature quality, which makes sense, right? Because we know you don't get any benefit anymore for EV from Microsoft. So, why charge more for it? But it's quantity of signatures.

[00:24:42] So, for 5,000 signatures for $10 a month, basically for 10 times that fee, $100 a month, you get 20 times the maximum number of signatures before you start having to pay per signature. You get 100,000 signatures. So, he says, these are non-EV base certificates that only do basic vetting.

[00:25:09] For fully vetted EV certificates, you'll need to look elsewhere. This pricing, which ends up at about $120 per year for the single cert, is cheap compared to most of the SSL vendors, most of which start at around $300 for certificates with mailed hardware keys. Meaning, they, you know, postal mail. They send the key to you.

[00:25:37] Then you plug it in and you're good to go. So, he says, so, you got to give Microsoft credit here for keeping costs down and providing reasonable pricing. The certificates issued by Microsoft are very short-lived with expirations that last only three days to aggressively thwart invalid signing attacks in case a certificate is compromised.

[00:26:02] Thus, the title of today's podcast, three-day certificates, we're going to look at the mechanisms behind that. He says, doing a bit of research out of all the bad options out there, Microsoft's trusted signing seems like the least bad solution that's also cheaper than traditional certs from various SSL vendors. The good news is that it works and pricing is reasonable.

[00:26:30] The bad news, I wasted nearly an entire day trying to get it to work. Hopefully, this post will help you reading, will help you reading this not to wait, will help. So, he means those of you reading this not to waste quite so much time. And then his next section, he titled, Navigating the Azure Jungle.

[00:26:56] I'm not going to go through it all, but I'm going to touch on the beginning of this. He said, if you end up going the Azure trusted signing route, plan on having to wade through the Azure dependency jungle of setting up several resources and trying to understand what all the mumbo jumbo Azure jargon amounts to.

[00:27:19] If you're doing Azure all day, then much of this infrastructure dance will be familiar to you. But as someone, me, he wrote, who only occasionally jumps in for some very specific services like trusted signing,

[00:27:36] It's incredibly painful to deal with Azure security and the resource dependencies and the endless nesting of services with badly defined and overlapping naming boundaries. For trusted signing, finding documentation via search engines was hit or miss. The docs for this are buried behind deeply nested links, perhaps because it's still in or just out of preview.

[00:28:04] He says, friends, even that's hard to tell since some prompts show preview. None of the headlines do. He said, and also because previous releases of this technology used a completely different publishing pipeline through the Azure key vault. He says there's official documentation, although it took me a bit to discover it. And he put a link in the blog posting and I copied that link into the show notes. So that's there.

[00:28:34] He says this has everything you need, but the instructions require some interpretation. The tools are terrible and the docs don't make working with them a lot easier by making you figure out where to find files and dependencies and how to install tools. Don't believe you're lying AIs. He wrote in this day and age of AI assistants and chatbots.

[00:29:01] You would think that things like Azure configuration instructions for setting up an Azure task would be readily available. Heck, there's even an Azure specific copilot model that you can use from the VS Code copilot integration. But that actually yielded surprisingly bad results and did not work well with trusted signing, either for setup or for the signing part.

[00:29:28] Part of this might be because trusted signing is still in preview or because the documentation for this is almost non-discoverable and because things have changed so much with the tooling. Long story short, after a very pissed off day of going down many wrong paths, I managed to get trusted signing to work for my projects.

[00:29:53] And I'll try my best to provide the details, how I have this set up, hopefully sparing a few of you all the pain I ran into. Okay. And that at this point, I'm going to stop almost. He said, so, so this is about the first 10% of Rick's entire blog posting throughout the next 90% of his posting.

[00:30:19] He painstakingly and charitably details the entire process of setting up Microsoft Azure Cloud code signing. I've got a link to his detailed instructional posting in the show notes. And I also gave it a GRC shortcut just to make it easy for everybody to find. GRC.SC slash code sign. All one word.

[00:30:43] GRC.SC slash code sign will bounce you over to this blog posting of Rick's where you'll see the first 10% is what I just shared. And the other 90 are like how he solved the problem. He finally wraps up this terrific setup walkthrough with a summary that's also worth sharing here.

[00:31:04] As you'll hear, some of this assumes that by now, by the time you've gotten to here, you've managed to slog through everything that he wrote, which preceded it. So he sums it up by saying the process to set up trusted signing was way harder than it should have been. In fact, the entire process took me the better part of an entire work day.

[00:31:26] The server process is complicated primarily because the nomenclature is so crazy confusing and the dependency management on Azure is such a pain in the ass. The missing rights from the account to create an identity is particularly maddening and how you fix it is even more so. But it wouldn't be Azure if you weren't cursing the thing every step of the way.

[00:31:53] The signing process is also a pain in the ass with three different tool chains required. The fact that an Azure trusted signing command line interface add-in exists but doesn't actually support signing is just ridiculous. With all the resources that are thrown in Azure, it seems petty to not support the one feature that everybody is going to need

[00:32:21] without having to jump through hoops of managing several tool installation instructions. But somewhat grudgingly, I have to say that at the end of the day, the process works, warts and all. Microsoft's comparatively lower pricing for the service compared to others maybe makes it worth it.

[00:32:43] And frankly, the fact that I have my cert running as a service that hopefully doesn't ever need to be updated unless I quit the service is enticing. Yeah, it costs more than it did last time around. I'm now paying almost as much every year as I used to pay for three years.

[00:33:06] But given the circumstances and the inshidification that now surrounds the entire code signing process, this is the best we can do for now. I'm hoping writing this up is helpful to some and that these instructions won't be obsolete in a few short months because Microsoft changed their designs again, as is so often the case. Despite that, I finally got it to form one would hope they fix its performance.

[00:33:36] Maybe he meant to perform one. Oh, yeah. Despite that, I finally got it to perform. One would hope they fix its performance. And he said five to eight seconds per file to sign with no parallelism for multiple submissions is bad. That's painful. And could we? Yes. Like you just sit here waiting for eight seconds for this thing to sign a file. And apparently lots of companies are signing.

[00:34:07] They have like heavy signing burdens, he said, with no parallelism for multiple submissions. And could we please have self-contained tooling for signing? For heaven's sake, he wrote, provide one tool that can handle the signing process in one pass without having to install 50 other things.

[00:34:29] Or better yet, have it built in to the Azure command line interface with the trusted signing add-in that's already there. One could hope some of this is due to the relative newness of Azure trusted signing, but we shall see. So Rick's blog system supports reader comments. And that posting back in July generated a bunch of feedback.

[00:34:56] I'll share just the first one of many, which followed up and posted. I'd just like to say that I've been reading your blog for probably 12 years now. And I also went through this. I've learned to parse Microsoft documentation as if I were a machine. And it's nice to know that someone else is turning into the cranky old man of developers.

[00:35:22] I feel like something has been lost from the time we were excited it all worked. Meaning, you know, computing. This guy wrote, the days where you could slow down the genie effect on Mac with the shift key just to stare at it. When connecting to a system seemed like magic.

[00:35:45] Now we deal with artificial gatekeeping, auditing, roadblocks, deprecations for seemingly no productive reason. What happened to the joy of being excited that it all worked? He finished, keep on trucking, but also get off my lawn. So, yeah, it's not just me and many of our listeners who have sensed that what's happening here is not for the benefit of the world,

[00:36:15] but for the enrichment of a very few large gatekeeping bureaucracies. Yeah. Now I should say that after last week's podcast, I did some additional scouting around. And I found that the Fast SSL brand offers a standard like Microsoft, non-EV code signing certificate. If you buy three years for $129 per year.

[00:36:45] So, and now we're talking hardware. So, uh, since it's still possible before March 1st to obtain a three year plus three month, remember 39 months certificate. That's what I plan to do. Fast SSL certificates are available from the site, from, from the site, cheap SSL security.com. C-H-E-A-P-S-S-L-S-E-C-U-R-I-T-O-I. You know, no hyphens or anything.

[00:37:15] Cheap SSL security.com. As I said, that's what I'm going to do. There's no longer any apparent benefit from obtaining and wielding extended validation certificate certification. Microsoft doesn't even offer it because they don't care.

[00:37:33] Uh, and since obtaining it means paying a lot more, that is EV, paying a lot more after first being subjected to basically a full body cavity search, uh, in order to qualify for EV. My next code signing certificate will be the bottom of the barrel fast SSL brand.

[00:37:54] Um, uh, you know, that, that one will take me from when I get it, which will be late next month, late February of 2026 through to late May of 2029. And at that point, I, and that means, you know, installed in, in my little hardware USB dongle.

[00:38:14] So I can sign as much as I want to actually, my server will be signing as everybody who buys a GRC product has code signing on the fly of their own, uh, executable. That's stuff. I all got worked out when I talked about it a couple of years ago. So three years from now, May, 2029, we don't know what shape the world's going to be in. We don't know what else will have changed. They may have further shortened certificate lifetimes. There may be more pressure in the cloud.

[00:38:42] Maybe some competition will have stepped up, uh, to, to offer a better deal. We don't know. Um, so anyway, uh, I've got a link to, for anyone who cares, the fast SSL code signing certificate. It's $387 for the three years. So 129 per year, you get to, uh, you get to install it into, uh, you know, an, an existing dongle. You probably already have, if you've already been doing code signing for the last two and a half years,

[00:39:11] because that was all already dongleized. Um, and, uh, uh, that's what I know, Leo. Unbelievable. I actually, it's funny because, uh, we're going to talk about it a little bit later, but as you know, over the weekend, I wrote some of my own code and, uh, I just moved it over onto this machine so I can show you. And, uh, the Apple, uh, operating system. So you can't open that. It's not signed.

[00:39:41] Yeah, it is. It is. I mean, it really, it's astonishing essentially. I mean, you, you, you can, you can understand what they're trying to do, right? Oh yeah. For security. I get it. Yeah. Except that bad guys are signing their bad code because they're able to pretend. I mean, we're, we're, we're hiring North Koreans. We obviously aren't good at figuring out who people are.

[00:40:12] It's an imperfect system. So why enforce it is what you're saying. Yes. And, and that's, you know, that's what I'm, I'm beginning. And I guess this is the old man get off my lawn thing. I'm, I'm, I'm seeing more and more examples of where trying to, to fix the last 5% is creating 95% overhead.

[00:40:33] You know, it, again, it's like we need to protect some endangered, some endangered rodent somewhere in Sacramento. So we can't run light rail through the, you know, through that area without all kinds of environmental exceptions and permits and things. And as a consequence, we don't have, you know, any good transportation in California.

[00:40:58] It's again, I get the, I get the intent, but sometimes you end up, it's like case of being your own worst enemy. And, and in this effort to, to, to squeeze, to, to try to use technology to go all the way to a hundred percent, no malware. First of all, you're going to fail. You know, even good wear has bugs as the point that I made in a fact that it's signed.

[00:41:26] Doesn't mean that it's not, that doesn't have remote code execution vulnerabilities. It just means, you know, who made it. Well, you pretty much know anyway. Oh, it's very frustrating. I need to, I need to take a, take a breath, have some coffee that we will, we'll talk. We'll share some optimistic news about California. Good.

[00:41:49] And while Steve is rehydrating and rejuvenating, let me talk about our sponsor for this segment of security. Now Zscaler, this episode of security now brought to you by Zscaler. It's the world's largest cloud security platform. You know, the potential rewards of AI are obviously too great to ignore, especially for businesses. But business also has to recognize there are risks also too great to ignore, right?

[00:42:19] Loss of sensitive data, attacks against enterprise managed AI. Generative AI increases opportunities for threat actors. It lets them quickly create very realistic phishing lures, as I know well. Write malicious code. Automate data extraction. I mean, there are script kitties out there now who have the best skills of all because they are able to use AI.

[00:42:45] And then there's also this issue of legitimate users of AI in your business accidentally exfiltrating vital information, propriety information. There were 1.3 million instances, for example, of social security numbers leaked to AI applications last year. 1.3 million. ChatGPT and Microsoft Copilot, they saw nearly 3.2 million data violations. 3.2 million.

[00:43:12] It's time to rethink your organization's safe use of public and private AI. Chad Pallett, who's the acting CISO at BioIVT, says Zscaler helped BioIVT reduce their cyber premiums by 50% and, at the same time, doubling their coverage and improving their controls. Take a look. Chad's got this to say. With Zscaler, as long as you've got internet, you're good to go.

[00:43:41] A big part of the reason that we moved to a consolidated solution away from SD-WAN and VPN is to eliminate that lateral opportunity that people had and that opportunity for misdirection or open access to the network. It also was an opportunity for us to maintain and provide our remote users with a cafe-style environment.

[00:44:02] With Zscaler Zero Trust plus AI, you can safely adopt generative AI and private AI to boost productivity across the business. Their Zero Trust architecture plus AI helps you reduce the risks of AI-related data loss and protects against AI attacks to guarantee greater productivity and compliance. Learn more at zscaler.com slash security. That's zscaler.com slash security.

[00:44:31] Thank you so much for supporting the important work, the good work Steve's doing here at Security Now. Now, back to the crazy world we all live in. Some good news and a nice acronym. The acronym is DROP, which stands for Delete Request and Opt-Out Platform. Ars Technica's headline was,

[00:44:56] The nation's strictest privacy law just took effect to data brokers' chagrin. With the subhead, Californians can now submit demands requiring 500 brokers. I don't know where Dan got 500. I got 170, but still, 170 to delete their data. So this was written by Dan Gooden, Ars Technica's security guy and technical guy. He wrote,

[00:45:26] Californians are getting a new supercharged way to stop data brokers from hoarding and selling their personal information as a recently enacted law that's among the strictest in the nation took effect at the beginning of the year. According to the California Privacy Protection Agency, which is short as CalPrivacy,

[00:45:48] more than 500 companies actively scour all sorts of sources for scraps of information about individuals, then package and store it to sell to marketers, private investigators, and others. The nonprofit consumer watchdog said that in 2024, brokers trawl automakers, tech companies,

[00:46:11] junk food restaurants, device makers, and others for financial info, purchases, family situations, eating, exercising, travel, entertainment habits, and just about any other imaginable information belonging to millions of people.

[00:46:28] So the interesting takeaway for me so far and for us is to appreciate that this is not passive eavesdropping, right? I mean, these guys are proactively assembling portfolios on individuals.

[00:46:52] I mean, the more data they get on us by person, the more valuable it is. They are turning it into a cash flow. So Dan said, Two years ago, California's DELETE Act took effect. It required data brokers to provide residents with a means to obtain a copy of all data pertaining to them

[00:47:18] and to demand that such information be deleted. Unfortunately, Consumer Watchdog found that only 1% of Californians exercised these rights in the first 12 months after the law went into effect. A chief reason? Residents were required to file a separate demand for each broker. Yeah, okay, what? 500? Or even 170 that I'm aware of.

[00:47:48] So, wow. With hundreds, he writes, of companies selling data, the burden was too onerous for most residents to take on. On January 1st, meaning 2026, a couple weeks ago, a new law known as DROP, delete request and opt-out platform took effect.

[00:48:10] DROP allows California residents to register a single demand for their data to be deleted and no longer collected in the future. CalPrivacy then forwards it to all brokers.

[00:48:27] Starting in August, meaning this coming August, brokers will have 45 days after receiving the notice to report the status of each deletion request. So, it's not just going out into the blue and you never hear anything back. It's got to be a proactive report of what action they took.

[00:48:48] Dan said, if any of the broker's records match the information in the demand, all associated data, including inferences, must be deleted unless legal exemptions such as information provided during one-to-one interactions between the individual and the broker apply. To use DROP, individuals must first prove they're a California resident.

[00:49:16] Dan wrote, I used the DROP website and found the flow flawless and the interface intuitive. And I'll just add here, I did too, and I'll report on that in a second.

[00:49:29] He said, after I provided proof of residency, the site prompted me to enter personal information such as any names and email addresses I use and specific information such as VIN, vehicle information numbers, and advertising IDs from phones, TVs, and other devices. It required about 15 minutes to complete the form. But most of that time was spent pulling that data from disparate locations, many buried in system settings.

[00:49:59] He says it initially felt counterintuitive to provide such a wealth of personal information to ensure that data is no longer tracked. As I thought about it more, I realized that all that data is already compromised as it sits in online databases, which are often easily hacked and, of course, readily available for sale.

[00:50:23] What's more, CalPrivacy promises to use the data solely for data deletion. Under the circumstances, enrolling was a no-brainer. It's unfortunate that the law is binding only in California. As the scourge of data broker information hoarding and hacks on their databases continues, it would not be surprising to see other states follow California's lead.

[00:50:50] Okay, so I thought that I ought to take this out for a spin. Also, why not? As Dan wrote, and as Leo and I both discovered, it's all out there already anyway. And trusting one more entity who is only asking for my information for the purpose of preventing its warehousing and resale. Well, that makes sense to me.

[00:51:12] So I went over to the new drop site at consumer.drop.privacy.ca.gov. Again, consumer.privacy.ca.gov. They appear to be behind Cloudflare.

[00:51:34] Since I first encountered that increasingly familiar, let's verify your human intercept page with the little spinning icon doing whatever it's doing. After a few seconds, it finished. And I was taken to the delete request and opt out platform, parens drop site, which identified itself with that webpage title. One of the first things I noted was a drop status menu item.

[00:52:03] Clicking that out of curiosity, I was taken to a short page that said, enter your drop ID to check the status of your drop deletion request. Your ID contains eight to ten characters, letters, and numbers. Okay, so that seemed sort of cool. You receive a drop ID, which you can use to check back at any time in the future.

[00:52:28] So I'm thinking that I'll store that in Bitwarden safe and also alongside my credit bureau, credit freeze info, just as a collection of stuff I want to hold on to. Since this was serious business, I decided that I ought to actually read the terms of use fine print. And I'm glad I did. I just skipped over them completely. I don't blame you. What did you find?

[00:52:54] It explains that everything I provide will be forwarded to data brokers. And the more I provide, the better job they'll be able to do of scrubbing me from their systems. That's nervous making. I know. And it does make, you know, it gives you a big gulp.

[00:53:16] But anyway, so the relevant parts here, it says, by using the delete request and opt-out platform, DROP, you agree to the following terms of use. Terms provided by the California Privacy Protection Agency, CalPrivacy, referred to herein as we, us, and our. They said, use of DROP. By submitting a deletion request through DROP.

[00:53:41] You consent to disclosure of your personal information to data brokers for purposes of processing your deletion request pursuant to civil code section blah, blah, blah, unless or until you cancel your deletion request.

[00:53:58] Additionally, you acknowledge that data brokers receiving your deletion request will delete any non-exempt personal information as defined in another civil code, which pertains to you and was collected from third parties or from you in a non-first party capacity. In other words, through an interaction where you did not intend or expect to interact with that data broker.

[00:54:27] Before submitting a deletion request, you'll be required to verify your California resident as defined in section blah, blah of the California Code of Regulations as that section read, blah, blah. Verification is made with assistance from state contracted third party vendors, including SoCure and Login.gov through the California Identity Gateway.

[00:54:50] If you're unable to confirm your California residency through these verification service providers, you may request review of your residency classification pursuant to section blah of the California Code of Regulations. You may contact CalPrivacy by visiting this webpage. And there's a link in the show notes for anyone who doesn't want to find it in the terms and conditions.

[00:55:15] In addition, you will be prompted to provide personal information such as name, date of birth, and email address. Certain information is required to verify your residency. Otherwise, the type of information and how much you provide is up to you. However, you must only provide true and accurate information about yourself through DROP.

[00:55:39] Adding personal information about multiple people in the same request is prohibited. It probably screws things up at the other end, too. Information received will be used and disclosed to facilitate your request to delete and opt-out of the sale slash sharing of your personal information maintained by data brokers registered with CalPrivacy.

[00:56:03] The more personal information you provide, the greater the likelihood of registered data brokers finding the personal information they maintain about you and deleting that information. Yikes. Okay. But, you know, it makes sense.

[00:56:22] If I choose to volunteer the size of my underwear, on the one hand, everyone whose business it is to collect and resell such information will have that. Authoritatively, directly from me. You know, the juiciest and 100% verified information directly from the source that they could ever hope to have.

[00:56:45] But because this disclosure came through CalPrivacy, its very existence means that disclose or sell it, they must not. And that, in fact, they must use that information solely for the purpose of identifying me and having done so, delete it. And everything else they may have previously aggregated over time about me.

[00:57:13] The terms of use continues. Data brokers are required to process deletion requests at least once every 45 days, beginning August 1, 2026. Your submission of personal information through DROP is governed by CalPrivacy's privacy policy, which is incorporated into these terms by reference. And so, under prohibited uses, they say, While using DROP, you agree you will not.

[00:57:42] Use DROP for any fraudulent, unlawful, or prohibited purpose. Impersonate any person or entity or misrepresent your affiliation with any person or entity. Interfere with or disrupt the operation of DROP or the servers or networks used to make DROP available, including threatening the integrity or security of DROP. Restrict, disrupt, interfere, or inhibit any other person from using DROP.

[00:58:11] And finally, reproduce, duplicate, copy, sell, resell, or otherwise exploit for any commercial purposes, any portion of, use of, or access to DROP. Violating these terms may, on a case-by-case basis, result in restriction of your ability to access and use DROP. And then they did add, aiding another person with their request, which, you know, could be necessary. They said,

[00:58:37] You are only permitted to aid another consumer with their deletion request if that person has authorized you to do so and you meet the requirements described in some section. In addition, the consumer must first have their residency verified as described in the use of DROP section above.

[00:58:57] When aiding a consumer with their request, you or the consumer must disclose your full name, email address, and business name, if applicable, through DROP when prompted. In submitting, because you are asked, is this for you or for someone else that you're doing it on their behalf? In submitting information on behalf of another person, you certify that you have authorization to do so and that the information you provide is true and correct.

[00:59:22] Adding personal information about a person who has not authorized you to submit a deletion request on their behalf is prohibited. And then finally, anyway, there's a little bit more, but we've got enough of this. Everyone has a sense for that. But they do talk about third-party vendors' involvement and they're disclaiming their liability over third-party conduct, which is not very comforting.

[00:59:46] But, you know, that's what you get anytime attorneys are asked to review and revise, you know, anything like this.

[00:59:54] So, the term ends with something titled Notice at Collection of Personal Information, which says your data, when you use DROP, the California Privacy Protection Agency collects personal information you enter, such as names, emails, phone numbers, dates of birth, zip codes, mobile advertising IDs, connected TV IDs, vehicle information numbers. We also collect usage time, device ID, and IP address.

[01:00:21] We use the data to provide your deletion request to registered data brokers, enhance the product, respond to questions, and ensure safety. Providing information and using the service as voluntary. Do not provide unrequested personal information. And finally, your rights. You may access records with your personal information. Information. Collection is subject to the Information Practices Act and state policy.

[01:00:48] If you have any questions or concerns about this policy, contact us, blah, blah, blah. Okay. So, I did what Dan did. And it did take about 50 minutes. I chose to use login.gov since I already have an account set up there. I don't recall why, but the email address they have. Global entry. Yeah. Oh, that could easily be. That's what Global Entry uses, yeah.

[01:01:13] Although, for me, the email address they have for me is the one that I was using in 2018. So, it may have been set up for my Social Security stuff in advance of my turning 65. It's or Social Security. That's right. Yeah. Yeah. So, in any event, after providing my phone number to login.gov, the site used SMS to send my phone a link.

[01:01:39] Clicking that link took me to a page which requested access to my camera so that it could manage capturing the front and back of my California driver's license. It did that with a cool Arnold Schwarzenegger Terminator green grid overlay kind of thing. Yeah. And for each of the two. Yeah. Yeah. Exactly.

[01:02:05] And for each of the two captures, it asked my permission to send it for verification, which took a few seconds each time. After that, I was returned to the drop page where I provided both Steve and Steven as my first names. I avoided Leo adding the Tiberius as my middle name. Probably a good idea. I didn't want to confuse anything. Then I provided my last name.

[01:02:35] There's a lot of verification going on here. I got a round-tripping a bunch of times with this. Yeah. And you have to verify your email. Right. Right. I gave him my last name, my date of birth, my Social Security number, my residence address, my vehicle identification number. There were places to add a mobile advertising identification number and a smart TV ID.

[01:02:59] Until Apple refreshes their Apple TV hardware, which I'm just holding my breath for, I'm using Roku. And while Roku does have an advertising identifier, that number is not user displayable without sideloading a Roku channel for displaying such internal stuff. And that was more than I was interested in doing. Most people wouldn't know that kind of thing at all. Exactly.

[01:03:28] And I do have app tracking turned off in my iPhone, so there was nothing to share there either. Once that was all complete, I was taken to the deletion request submitted success page. And there, I received my promised eight – well, I was going to say eight characters, but it's actually two sets of four characters hyphenated. So I guess that's nine characters.

[01:03:55] That's that drop ID, which I can then use to check back on my drop status at any time in the future, although nothing's going to happen until late August. Or actually, I guess maybe even early September. It's so much easier to get a delete me account, I'll be honest with you. Although it did occur to me that, yes, but then delete me must be asking the same things, right? Yeah. Anybody who's going to be – is wanting to delete their data. The more you give them, the better.

[01:04:24] That's right. Yeah. Yeah. Anyway, so one cool thing is that having done this, the drop pages menu, the main menu on the drop page added two new page links. One was for my data profile, which was that form that I filled out, which was all then viewable with a whole bunch of asterisks blanking out most of the information, but letting me know what the last four digits of things were.

[01:04:51] And the other was the data broker list pages. Delete me is a sponsor, I should mention, but he does say you've got to disclose. Okay. So the My Data Profile page shows a ring chart, which is like a pie chart, but with the center hollowed out,

[01:05:16] where we are informed that a total of 170 named individual data brokers are registered with the state of California and are thus subject to this new law, which, as I said, went into effect on January 1st with an eight-month grace period. But what's most cool is that once this happens, the ring chart has categories.

[01:05:43] You know, that'll be like a pie chart for deleted, opted out, exempted, record not found, and pending. So I'm going to be very, we have to all wait, you know, eight months, but I'll be very interested in seeing both the deleted and the record not found counts. Currently, all of this stuff is zero slash 170, you know, zero out of 170.

[01:06:11] So what will they be in September? It's going to be interesting to see how that goes. The data broker list, that second new page, actually displays the current status of each of those 170 individual data brokers. At the moment, they're all currently shown as N slash A.

[01:06:35] And the filter option, which is a column in the table, contains the same itemizations as the ring chart. Deleted, opted out, exempted, record not found, and pending. So you'll be able to select by those or sort by those, which, again, I think will be very interesting to see. And I'll just say, and we've sort of touched on this several times already, but looking at all of this, I was reminded of what Dan wrote.

[01:07:04] You know, he said, it initially felt counterintuitive to provide such a wealth of personal information to ensure that data is no longer tracked. As I thought about it more, I realized that all that data is already compromised as it sits in online databases, which are often easily hacked and, of course, readily available for sale.

[01:07:25] So, again, yes, it's somewhat creepy to be volunteering all that information, you know, providing it to the, you know, like indirectly to the trackers who have been doing all of this, whose business is it, you know, it is to do this. But we can presume that only a tiny fraction of Californians are actually going to even know about this or take the time.

[01:07:51] It would be nice if it were, you know, a big groundswell, but I doubt that's going to happen. And as we said, Leo, you know, even using our sponsor Delete Me, you got to tell them all this in order for them to tell the bad guys what they have to delete. Right. Exactly. Yeah. So you saw how many data brokers? Because I'm only seeing 89. Oh, I got 170. Well, you are a lucky man. I don't know why.

[01:08:20] Yeah, sure enough. Isn't that weird? Yeah. I wonder. Let me go click on mine. Maybe they're going to add more over time. We know there are more than 500 in the real world. So, you know, I just feel like, I don't know. I feel like it's not going to happen for till August. Yeah. That gives the data brokers lots of time to lobby.

[01:08:49] On August 1st, the 45 day timer starts. Yes. Which gives the data brokers a lot of time to lobby our state legislators to change their mind. I clicked on I accepted. It made me scroll down to the bottom of the terms of service, even though I already said, oh, now I got to log in. Okay. I'm not going to do that. I think carefully engineered to discourage the maximum number of users, to be honest.

[01:09:19] I feel like, see, this is the first state to ever do this. And we certainly have no federal law doing this. And I feel like that the reason is law enforcement doesn't want it. They love this information. Marketers have big checkbooks to write to. And it's what runs the internet, unfortunately. And it's what runs the internet. It's what finances the internet. Yes. You know, the FCC just said, hey, by the way, Verizon, you don't have to unlock phones. You can leave them locked.

[01:09:47] We live in a world now where the people with the pocketbooks dictate the laws, not the consumers. So I just I feel like go through this is probably worth it. We'll see. I'll watch with interest. But I don't have high hopes. And why do you have 159 data brokers and I only get 89? Yeah. How's that all? I got 170. Yeah. In fact, you can see in the show notes, that is a picture of my status screen on 110-2026. I got robbed.

[01:10:19] Do you think it was 189 right out of the box, huh? No, it's 170. 170 right out of the box. Mine's 89 out of the box. It was what you see there at the top of page 10 of the show notes. Yeah. And we compare it to yours. And sure enough, maybe Southern California has got them extra crawling around. I don't know. The whole thing feels a little, I don't know, suspect. We'll see. There it is. We'll get back to you in August. Yes. September, actually.

[01:10:49] Because August, the 45-day timer starts. So it won't be until a little past the middle of September that we're going to actually get some. They have 40. Well, it could be sooner. They have a maximum of 45 days. So this all lands on them. You think they're going to rush to do this? It's going to happen on day 44, 23 hours, 59 minutes and 59 seconds. And right up to that very second, they're going to sell it like crazy.

[01:11:19] And it does feel like, you know, it's like there are those of us who have set our browsers to say, do not track. And my global privacy, my GPC or whatever it is, my global privacy control. You know, it's saying no. Every so often I come to a site that says, oh, we're going to honor your global privacy control wishes. And I'm thinking, oh, yeah, well, that's good. Thank you. You're the one. Okay. Break time.

[01:11:49] And then we're going to find out, Leo, where is what a bod? Not what a burger. No, because I know where that is. It's just down the street. What a bod. It's in Idaho. It's two words. W. H. A. T. A. And then the second word is bod. B-O-D. What a bod. What a bod. What about? What a bod. That's what Lisa says whenever Breacher's on. But that's another story entirely. Our show.

[01:12:18] And boy, he does like to take his shirt off. He's got. Yes. Every episode. Yeah. You know. This one, I really think I needed to take this training. This episode of Security Now is brought to you by Hawks Hunt. If you're running a company, you get paid to protect your company as a security leader, right? Against cyber attacks.

[01:12:47] It's not easy, is it? It's getting harder with more cyber attacks than ever. And the phishing emails are better than ever. They're generated with AI. They look exactly like those T-Mobile texts. Legacy, one-size-fits-all awareness programs, which, by the way, I was forced to take at iHeartRadio. And obviously, that didn't sink in. They don't stand a chance. They send in most four generic trainings per year. Most employees ignore them.

[01:13:16] And then, you know, and they did this at iHeart all the time. They send out those fake phishing things. And when somebody actually clicks on them, oh, then you're forced into an embarrassing training program that really feels more like punishment. Like, you dummy. That's not the way to teach your team not to click on phishing links. That's why more and more organizations are trying Hawks Hunt. H-O-X-H-U-N-T.

[01:13:42] Hawks Hunt goes beyond security awareness and changes behaviors. And they do it the way, you know, your favorite iPhone game does, by rewarding good clicks and coaching away the bad. They gamify it. They make it fun. Whenever an employee suspects an email might be a scam, Hawks Hunt will tell them instantly with a gold star. And yay, you found it. It's not a punishment. It's a reward. They get a dopamine rush.

[01:14:11] This gets your people to click. It also, and we know this from research, gets them to learn. You can only learn when you're positively reinforced, not negatively reinforced. It also ultimately protects your company. And you're going to love it if you're administering this because Hawks Hunt makes it easy to automatically deliver phishing simulations across email, across Slack, across Teams. It uses AI to mimic the latest real world attacks.

[01:14:39] Simulations are personalized to each employee based on department location and more, all while instant micro-training solidify understanding and drive lasting safe behaviors. You, as the administrator, can trigger gamified security awareness training that awards employees with stars and badges. It boosts the completion rate. It ensures compliance. And you know what? It's fun. Your employees will love it.

[01:15:02] You could choose from a huge library of customizable training packages or use the AI to generate your own that are just as brilliantly persuasive as the ones the bad guys are doing. Hawks Hunt has everything you need to run effective security training. It's all on one platform, meaning it's easy to measurably reduce your human cyber risk at scale. And you've got to do that. Don't take my word for it.

[01:15:26] Over 3,000 user reviews on G2 make Hawks Hunt the top-rated security training platform for the enterprise. Easiest to use, best results. It's also recognized as customer's choice by Gartner. And thousands of companies like Qualcomm, AES, and Nokia use it to train millions of employees all over the globe. You need this. I need this. Visit hawkshunt.com slash security now today to learn why modern, secure companies are making the switch to Hawks Hunt.

[01:15:56] That's hawkshunt.com slash security now. Thank him so much for supporting the good work Steve's doing here at Security Now. You can spank me. I'll give you a paddle. Just whack me. It's, you know, we are the weakest link in the chain.

[01:16:18] And when all the lower-hanging fruit has been plucked, when all of the, you know, obvious ways of compromising networks and systems have been, you know, technology has squeezed. That's the truth of it, right? That's how it works. You know, and that's why your biggest issue right now is, and we're going to talk about this at Zero Trust World, is your users. The human factor. The human factor. Yep.

[01:16:47] Okay, so I wanted to share a wonderful bit of AI hallucination news from this past weekend. The U.S. National Weather Service has withdrawn a wind forecast from its social media platforms after its new AI-powered system generated a map of Idaho, which included two fictitious town names. Oh, my God. Orange-O-Tilled and Whatabod.

[01:17:20] Oh, my God.

[01:17:48] Orange-O-Tilled faced a 10% chance of high winds, while Whatabod to the south would experience calmer conditions. Well, hold on to your bod. Hold on to your bod. That's right. Beyond the gratuitous synthesis of those two prominently featured towns, the National Weather Service's map also contained multiple spelling errors and geographical inaccuracies.

[01:18:14] The Weather Service was quick to blame these mistakes on the use of generative AI technology. That's right. Blame the AI. And nobody checked this slogan. Nobody looked at it? No. No. I don't know, Leo, because they've all been let go. Well, that's the thing. That's what happened when you fire everybody. Yeah. I have an interesting adventure to share.

[01:18:39] Several months ago, I began noticing that my beloved email, my EM client, email client that I've talked about, that I discovered and talked about on the show, had stopped notifying me of incoming email in a timely fashion. Someone would say, you know, that they just sent something, but, you know, after waiting a reasonable length of time, nothing arrived.

[01:19:06] I discovered that by completely closing and then restarting EM client, then it would again, for a while, be reliably notifying me of newly arriving mail. I haven't mentioned this until now because I hadn't been able to affirmatively verify that EM client was the problem, though it certainly seemed to be. And I mean, I was upset. This has been going on for months.

[01:19:32] But then a few weeks ago, something, I don't remember now what it was, but something caused me to look at the logs of GRC's H mail server. What I discovered was that the server had been crashing and restarting, leaving a trail of mini dump crash log dumps behind. And before the server would crash, it would log the source of its pain.

[01:20:03] It appeared to be something about IMAP and the retrieval of large file attachments. And they were the IPs of my two locations. So that made sense, too. So I spent a few hours having a heart to heart with chat GPT to see what it might have absorbed and chasing down the various leads that it was generating for me.

[01:20:28] There really didn't appear to be any reason to suspect that EM client was behind the trouble. And the H mail server discussion boards, you know, they were not of any help. They were filled with the typical threads of people commenting without actually knowing what they were talking about. So, OK, look elsewhere for a solution.

[01:20:51] What I did realize was that if EM client or, for that matter, any email IMAP agent that, you know, that by nature of the way IMAP works, maintains an open TCP IMAP connection where it was expecting to be proactively notified of newly arriving email, which is one of the things that IMAP is able to do.

[01:21:18] You're able to put a connection into an idle status. When the other end of that connection would crash and restart as the server was, that TCP connection would be left hanging. So EM client would never receive the news of new email, nor would it know that the connection had gone down

[01:21:41] if it wasn't like, you know, proactively pinging for like some life at the other end. So my environment contains both EM client and a collection of iOS devices, iPhones and iPads.

[01:21:57] And as I was correlating the times of the server crashes with my own actions, it appeared to be more connected to iOS than to my use of EM client, which I have on on desktops. Some Googling revealed that, to my surprise, iOS has historically had a surprising degree of trouble getting the IMAP protocol correct.

[01:22:26] And this has been a source of great annoyance to those tending IMAP servers before me. The moment I deleted the troublesome account from all my iOS devices, all server crashing stopped. This was about a week ago, and the server has never crashed since. And I even checked Leo just during our last break.

[01:22:51] My EM client on the desktop has resumed its previous perfect behavior of immediately notifying me of any new incoming email. So the reason for my having dragged everyone through this sordid tale is that my strong, in fact, overriding proclivity is to live off the land, right? Wherever possible.

[01:23:15] You know, since every one of my iOS devices came with a built-in iOS email client, the last thing I would ever consider doing would be installing a second redundant email client. But yes, indeed, things had come to that. I remembered that the EM client folks offered their mobile clients at no charge. So I thought, okay, let's give it a try.

[01:23:44] I downloaded EM client from the Apple app store. Naturally, although I specified exactly the client name I wanted, EM client was not first in line. No, it was preceded by sponsored apps that were paying to have my search results contaminated for their benefit.

[01:24:08] Like many others, I'm beginning to feel that the shine is fading from the Apple, which is truly sad. Nevertheless, I was able to find, download and run EM client. The first thing it asked upon running was whether I would like to import my existing world from a desktop instance. I thought, what? Yes, please.

[01:24:33] So it told me to open any already configured desktop instance of EM client in its menu under tools. I would discover QR export. Sure enough, my Windows desktop EM client displayed a massive QR code, which my mobile instance saw.

[01:24:55] And it was immediately set up with all my accounts, logins, passwords, tweaks, preferences, everything. So it's now been about seven days since I made that switch across all five of my iOS devices. You know, I'm still not accustomed to how much better the mobile version of EM client is compared to Apple's built-in but uninspired mail client.

[01:25:25] EM client even runs on my oldest iPad, which I now have to keep plugged in. It's so old that ChatGPT's client refuses to install, scolding me that I need to update to an iOS version from sometime this century. But, you know, I'm running the latest one that will run on that hardware.

[01:25:50] So I just use ChatGPT from the browser when I'm on that little iPad. And I am also, not only am I waiting for new Apple TV hardware, I'm dying and hoping for an OLED, you know, new iPad hardware. Yeah, me too. Although that's going to be end of this year. You're going to be waiting a while or maybe even next. Oh, okay. In that case, I'm going to have to make the, I'm going to have to, you know, I can't wait. Bite the bullet.

[01:26:16] But, you know, when I bought that I, because I didn't want to wait either, and I'm very happy with it, the new Lenovo. Well, this isn't the new one, actually. This is January's Lenovo X1 Carbon with an OLED screen. And it's super light. It's really great. I just, I'm madly in love with it. I get it. Now, I did something different. I bought a Lenovo little, you know, the small form factor block because it can drive. Oh, we talked about this.

[01:26:46] That's right. You bought the desktop. Yeah, yeah. I bought the desktop because it can drive three screens. Right. And then I remember hearing you talk about your laptop, looking at it, thinking, you know, that's gorgeous and everything. I was almost going to pull the trigger when I sweat. Wait a minute. No, I don't ever go anywhere. You don't need a laptop.

[01:27:09] I, well, I want to be able to be downstairs, you know, and be socializing with, with Lori, not hiding up in my cave. Right. Like in the evening. That's why I have a laptop. I don't go anywhere either, but I move around the house. I spent $400. I bought the cheapest terminal. Yes. It is. It's the largest screen, dumbest Windows laptop available. It's a terminal. It is.

[01:27:37] Well, because remote desktop, I remote desktop to GRC servers. I can remote desktop upstairs. Exactly. To my machine. Yeah. So I get all the speed and performance. I don't have to worry about synchronizing everything and all that. I just, I have a, a, a, a mouse screen and keyboard that I can have out on the patio, you know, in the family room, wherever I am talking to the computer that I left running upstairs. So I think that was, for me, it was the right solution.

[01:28:06] Cause again, I don't, I, I, you know, if I travel, I just take a pad with me and I'm fine. Cause I'm not actually doing any work. Right. Yeah. Yeah. Actually. And then, uh, I did buy this and at CES, they announced the next generation, 14th generation, uh, which has some major improvements, but the OLED is very nice. That's the thing I really wanted was the OLED. And I think you're right to wait for the MacBook, but it's going to be a wait. So maybe as long as a year. Wait, not MacBook.

[01:28:36] Uh, uh, iPad. Oh, you want an iPad. Oh, they have an OLED iPad. Yeah. The iPad pro is fantastic. I have the OLED iPad. No, I'm sorry. I want a mini. I like the mini. It's the right form factor for me. I mean, well, you can have any OLED screen you want with a mini. The mini is great. I love the mini. The none. No mini is OLED. Oh, you're talking about iMac. I Mac has a screen. The mini has no screen. It's just a knock. I'm sorry. I'm not, but the iPad mini. Oh, I'm.

[01:29:05] Oh, the iPad mini. But who's on first? That's what I want to know. Oh, the iPad mini. No, they don't have an OLED. That's going to come out, but that'll come out sooner than that. Yeah. Oh, that's what I was thinking. Yeah. That'll probably be out this spring. Yeah. I, okay. Yeah. They try to get those out for the school year. So certainly by June. Right. Yeah. Okay. So I just wanted to say that EM client for the, uh, is, is, is free, uh, GRC server never crashed.

[01:29:34] Not that everybody else is going to have that problem, but I was, um, and I, I, I just wanted to give everyone a heads up that whether or not you are running EM client on your desktop, the 100% free EM client for iOS or Android is truly lovely. Uh, and if you are one of our many listeners who switched to the desktop EM client after my discovery of it, or if you're one of our other listeners who wrote to me rhetorically asking what took me so long.

[01:30:04] To find the EM client for the desktop, both groups will get the additional joy of instantaneous account setup by cloning via a QR code from your, from your desktop to your mobile device. Um, anyway, I, you know, before I close the topic, I do want to acknowledge that I know someone's going to write to me. Uh, there's no excuse for anything.

[01:30:29] Some remote email client might do to cause the email server that I'm running to crash. I'm a hundred percent in alignment with that sentiment, but I love H mail server. It is everything I want in a windows hosted open source email server. In addition to many great features that many of them that I use, it publishes a calm interface.

[01:30:58] That's allowed me to automate parts of its operation to integrate it into GRC email system. Uh, because it's open source, you know, I was able to engineer its operation to get it to do exactly what I needed. But since I'm not in the position to spend Lord only knows how long it would take to fix its actual problem. I am treating the symptoms. Yes.

[01:31:23] And in this case that worked to my advantage since it allowed me to stumble upon EM client, which, you know, doesn't induce those crashes because it's not iOS, which does. Uh, and then it turned out to be a much more pleasant user experience than Apple's own native mail app, which I would otherwise have never discovered. I would, I'd be using Apple until the end. So now I'm glad I am not. Um, I have two pieces that I want to share next.

[01:31:53] And then Leo, I want, as I mentioned, uh, you to share a little bit of your recent, uh, Claude code revelations. Uh, one of the AI newsletters that I keep an eye on is called the batch. It's published by deep learning dot AI. And last Friday, an issue of the batch arrived that caught my eye because I was pretty certain it would appeal to many of the non coders who follow this podcast.

[01:32:19] The issue of the newsletter opened with dear friends. We just launched a course that shows people who have never coded before in less than 30 minutes, how to describe an idea for an app and build it using AI.

[01:32:42] They wrote, it's now time for everyone, marketers, product professionals, operations specialists, analysts, students to build software applications with AI. And I know Leo that this is singing from, from, from, from your hymn book. Uh, they, they said, I've often spoken about why everyone should learn to code.

[01:33:06] I'm seeing a rapidly growing productivity gap between people who know how to code and those who don't. For many job roles I hire for, I now require at least basic coding knowledge. Many times after I speak with a non-technical audience about the importance of building software using AI, people ask me how to get started. In the past, I didn't have a great answer.

[01:33:32] That motivated the deep learning dot AI team to build, to, to, to create quote, build with Andrew. It's the best way for someone who wants to try vibe coding to get started. This course requires no prior knowledge of AI or coding and it's vendor agnostic.

[01:33:55] Specifically, learners can use these techniques with whatever tool they're most comfortable with like chat GPT, Gemini, Claude, or the chat bot built into the deep learning dot AI platform. Okay. So the Andrew cited here is Andrew Ng, the founder of deep learning dot AI. Yes, Leo, the website that's hosting this free course.

[01:34:22] For those who don't know, Andrew also co-founded Google Brain and Coursera. Yeah. And led AI at Baidu. He's an adjunct professor at Stanford University, former associate professor and director of Stanford's AI lab, SAIL. So Andrew is certainly not some random YouTube influencer trying to get likes.

[01:34:45] To help everyone find this free 30 minute course, I've created a GRC shortcut using Andrew's first name. So GRC dot SC slash Andrew. So just to be clear, I cannot vouch for this myself since I did not take the time to explore it. But Andrew is obviously the real deal. And it would certainly seem worthwhile for anyone who might have been wondering how to take the first step toward AI driven coding.

[01:35:14] So GRC dot SC slash Andrew. And that bounces you over to build with Andrew under courses at deep learning dot AI. And the second piece I wanted to share is from a listener, Al Liebel, who said, Hi, Steve. I've listened to the podcast for years and have thoroughly enjoyed it. I currently work in cloud security and find your content informative. Keep up the great work.

[01:35:42] I'm writing to you because of an open source project I've been working on. I should tell you I'm a terrible programmer. I'm 54, wear progressive glasses, hunt and peck and likely have mild ADD. And he has a little grin there in his note. Having said that, I've been around computers since my dad built a Heathkit H89 in our basement and I learned to use it. And as an adult, I've worked for software and security companies in various roles.

[01:36:12] So I know what looks like I know what looks like and with my current role in cloud security, I understand what gets attacked and how. I've grown tired of the lack of security, privacy and trust online and decided to start vet ID. I've spent a bunch of time creating the design and then tried to figure out how to find people to help me get it built.

[01:36:40] That failed spectacularly. So I dusted myself off and decided to go with plan B, AI. A few months ago in my free time, he says I work full time, I went through some online classes for using AI for coding. They were helpful in teaching me the basics and I started using chat GPT. It worked kind of.

[01:37:06] I could prompt for what I wanted and chat GPT would spit out the code and I would have to paste it into VS code and do the things build, commit, push, deploy, etc. In this situation, I was still the clumsy bottleneck. So I did a quick search and found Claude Code and it has been life changing! Exclamation point, he says.

[01:37:35] I pointed it at my repo and the rest is history. I trained Claude Code on my design and refined it. I had Claude Code develop a plan to implement it, leveraging multiple Claude Code instances. One for iOS development, one for Android development. The main instance as the back-end front-end lead and a Raspberry Pi as a tester.

[01:38:01] The plans were broken into issues assigned to each repo and the different instances could communicate via issues for troubleshooting. Working part-time over the last few months, I'm close to having the first version done. All the best, Al.

[01:38:17] So what occurred to me was when I read that and also this really cool build it by Andrew is that, Leo, you had just been saying something similar in the pre-show on Sunday. So I thought I would give our listeners a chance to get caught up with what you have found.

[01:38:44] Well, get ready because it's not just going to be me you're going to be hearing from or Andrew or anybody else. This is, I think, going to be a drumbeat. I really feel like that we have turned a corner in AI in general. But a lot of people mostly experience is chat GPT, you know, a chat interface and that kind of thing, or maybe image generation.

[01:39:07] The people who are really, in my mind, most impressed with AI at this point are coders who are using AIs to doing code. And I think we've universally coalesced. There have been a lot of choices for a while. Chat GPT's Codex was the best one out there. You know, there are coding models from China as well, QN and others. In fact, DeepSeq's got a new coding model coming out sometime soon that people say this thing is amazing.

[01:39:37] But I think most of us have kind of, at least for the time being, centered on Claude Code, Anthropics Claude. They did a big update November 24th with Opus 4.5, and they've been adding a lot of features since. But they've also been really focused on code and making Claude Code be better and better. And the thing that's really accelerated the development is lately they've been using Claude Code to improve Claude Code.

[01:40:03] And I've seen a number of people who work at Anthropics say, yeah, most of the stuff we've released has been written by Claude itself, not by us. And that's a big change. So, you know, I've been using Claude Code with the $20. I have $20 subscriptions. They're the cheap ones for everybody. Perplexity, OpenAI, everybody, including Grok, because I get it for free because Elon's given me an unconsensual blue check. So I've tried them all.

[01:40:28] But when I got this new ThinkPad, I set up Linux and I started configuring it using Claude Code. And instead of me looking up, oh, what's the syntax for this? Because I'm using Sway, which is a very text-based, you could probably use Nix or other things, very text-based configuration as opposed to a GUI configuration. And Claude was great. It knew everything. Say, oh, yeah, let me. I said, can I put an icon up there? Can I make that wider? And it was doing all that. And I thought, this is pretty good.

[01:41:00] I've used it so much, I would start getting to the point where I would say, okay, well, you've used all your credits. You have to wait for a couple hours now. And it's usually just like, you have to wait until two. It's usually just a couple hours. But I thought, all right, I'm going to bite the bullet. There's a $200 plan and there's a $250 plan. The $250 plan is 20 times the number of tokens. The context window is huge as $200,000. Okay.

[01:41:28] The bigger the context window, the more it can hold in its head. $200,000 tokens is about 150,000 pages of stuff that it can hold in its head while it's doing stuff. The bigger the context window, I don't want to say more effective because it can maybe be less effective, but the more it can know about at the same time. It's kind of like our own brains, right? In fact, that's one of the problems I had with coding always. Even when I was younger, my brain was more adept.

[01:41:55] Is the complexity rapidly got out of my context window, got too big. And this is how coders handle it. You know this, is you divide it into smaller pieces that you can readily solve and then they become black boxes. And so you reduce the complexity and you add to it. Modularity. Yeah, modularity builds a complex system. Anyway, I spent some money.

[01:42:19] And then I thought, well, now that I've spent the money on cloud code, maybe I should do something with it. So I was trying to think, what do I need? And I'm on just to do something simple. I wrote an RSS reader, a text-based RSS reader. And this is, by the way, the discussion I had during the show. I said, I can't run this. And then it said, oh, that's because of Gatekeeper. So I've removed the quarantine attribute from your RSS reader binary.

[01:42:49] Now you can run it without macOS blocking it. Wow. Thank you, cloud code. It also, I found some little other issues. For instance, I didn't realize this, but on Linux, the configuration file, which is a TOML file, is kept in a different directory on the Mac. So I said, well, what's going on? So this is its debugging. It went through a whole debugging process. It wrote a debugger. It said, what's the error message you're getting?

[01:43:18] I pasted it in and said, oh, doy, I've fixed the config location issue. I've added your API keys to the correct config location. On the Mac, it's in the application support folder. I should have known that. Eventually, this is the point. I would have probably figured that out, but I didn't have to. And that has been exactly my experience, Leo. It is really an accelerant. Yes. I mean, it allows an expert to just run much more quickly by, you know.

[01:43:47] I don't have to go through manuals. I don't have to. And do Google searching and dig through a bunch of nonsense links of people guessing what the problem is. It's like, no, okay. So this is the GitHub, and it's public on GitHub if you want to look at it. My GitHub handle is Leo Laporte, and it's the RSS reader. But the point is, this is not for the general public. I didn't write a general program. I wrote a program that's specifically for what I wanted. It's terminal-based. It's very fast.

[01:44:16] It does AI article summaries. It bookmarks it to Raindrop.io. It does a lot of things that's just what I wanted. Now, it built it in Rust. It said, you want Python and Rust? I said, oh, well, if you can do it in Rust, go ahead. This is all the Rust code. There's quite a bit of code. It built this in a morning with very little interaction. I interacted with it a little bit, but not a whole lot of interaction. There were some back and forth.

[01:44:48] There's some things that I didn't like. It didn't work. So I said, can you do this? As it built it, it used GitHub Actions to create binaries that work on Linux and Mac, Intel and Apple Silicon. I didn't even ask it to do that, but it did. It added a help. It's got a help feature. It's got a bunch of single keystrokes. It automatically made, I said, hey, is there a way that I could automatically update these RSS feeds every hour?

[01:45:16] I said, sure, let me just set that up for you. So let me show you the app because it's, first of all, I'll exit out of it. In fact, let me make my, well, I'll do the screen bigger in a second. So this is it. It's RSS Reader. It's loaded in a series of RSS. Oops, didn't want to print. RSS things that I had to make it bigger so you can see it, which is not the best UI because as you can see now, the headlines go off the side of the page.

[01:45:46] But so I am on, this is stories. If I say no, I never want to have, actually that one I won't delete. I don't need this in my, you know, any of our shows. So I'm going to delete it, delete this, going to delete this. Ah, governor clears path for robo taxis in New York. So let me hit enter and it's going to generate, it goes out to Claude and generates an AI summary. If I want to, I can just hit O and it will open it in the browser so I can read it in the browser.

[01:46:15] It added that all by itself. I didn't even ask it for that. The navigation is single key Vim style navigation. I can refresh the feed. Once I look at a feed, a summary, oops, I forgot to hit enter. Once I, oh, and you see it, I said, hey, I don't know what's going on when you're generating. Could you put a little, so I said, let me put a little hourglass there. Then you'll know. This is the AI generated. Now this is the thing that was specific to me. I save all the articles I want to use to raindrop.

[01:46:44] So capital S saves it to raindrop. It says, what's the tag? I'm going to say that's for twit and I am and hit return. And now it's bookmarked on a raindrop. So you'd even put a little raindrop at the bottom. So these are the, so this makes me a very, what I wanted was a very quick way to scan through hundreds of stories. I do this every single day. Look at the headline and then say, yeah, tell me more about that. Yeah, bookmark that. No, delete that. It wrote it.

[01:47:14] It's done. And it's easy for me to fix it so that I, you know, if I want a new feature, I can easily do that. In fact, I'll show you. We'll go back to Claude Code. And I can say, can you add a key for, I don't know, emailing the story? By the way, it's pretty good on misspellings. And so this is what Claude Code looks like.

[01:47:42] Let me get rid of the lower third here so you can see it because it's kind of, it uses a lot of fun verbs. It says fermenting. You can go into, and then it will ask you questions. You can go into plan mode or coding mode. So how would I like to send it? Do you want to open the email app, default email app? Do you want to send by SMTP? Do you want to use an email? I think I'm just going to have it open the app. So I'm going to hit one and it will do that. Oh, I'm not here.

[01:48:13] Okay. And then what content should be included? Oops. I'm sorry. Too many buttons. I need Claude to help me switch the show. Don't worry, Benito. Your job is safe. Trust me. What do I want? I want article title, UA AI summary, full article content. I think I just want, I did it again. Sorry. I just want one here.

[01:48:43] So we'll just hit one. Oh, I guess I can check. Oh, it's check boxes. Oh, that's, yeah, let's do it all. Okay. Wow. Uh, submit. Thank you. Uh, how would you like to send emails? What content? Okay. Now submit those answers. So it did a little back and forthing. And it's crafting right now. It's, it's doing it. It's doing it in Rust, by the way, which I don't know. Uh, and I've wanted to write Rust.

[01:49:11] Now it could probably do assembly language. It could certainly do common Lisp. Uh, it knows a variety of languages. It's probably best at Python. I would imagine. Python seems to be the native language of a lot of AI. Uh, but I thought, well, let's try it with Rust because it'll be a memory safe type type safe. Anyway, we don't have to go on. Uh, but you see it's coding right now.

[01:49:36] It's doing the actual work of implementing email functionality, which I didn't have built in. So now I, now I will. So something turned a corner and yes. Consequence that, I mean, this suddenly got clawed code, got very real.

[01:49:53] And we have build with Andrew, uh, from, you know, a grc.sc slash Andrew, which is a 30 minute YouTube video, basically from an, from an AI founder who is explaining how to talk to AI, how to explain what you, what you're, what you want from an application that you want it. You want the AI to write for you. So anyway, I would also suggest interesting gap bridging.

[01:50:22] You can, you can do quite a bit with the free plan. The 20 buck plan will be enough for almost everybody. Play with it is the best way because one of the things that I've noticed is this stuff is moving so fast that stuff gets out of date right away. I'm sure Andrew's is not out of date. It's brand new. So, you know, stick with stuff that's brand new. And, uh, and, but, but I think experimenting is often the best thing. There's something else Darren was telling me about that. I was not aware of Google also has something called Opal.

[01:50:51] Uh, which is designed to use Gemini to do many AI apps for people who are not technical. It's a no code version of doing this. And this is free. So, um, there's other ways to get into this. Even if you're not a coder, I think it's probably the case that even as good as, as Claude is,

[01:51:19] it's good if you know a little bit about technology. Oh, by the way, it's done. The email will include the summary. If you've generated it other, just the title. Okay. Try it out. So, so that's how fast it did it. And, uh, now if I run RSS reader, it'll have a new capability. See at the bottom, it says E for email. Um, and I'll just, uh, let's, let's generate a summary for this. The summary is a little slow.

[01:51:47] I could probably use a different model. That would be a little bit faster. I'm using the most, the heaviest model right now, Opus. Uh, but let's email that. Let's see if email works. Should it? Yeah, there you go. And I'll just mail this to you, Steve. How about that? How about that? And that's not his address. That's an old address. Um, so how about that? Pretty cool, huh? Very. Uh, I just, I just added a massive feature that I could never have added in five minutes.

[01:52:17] Yep. And look at that. I just got your email. Isn't that wild? Because EM client is now working. Yes. Now I think there's still going to be lots of room for hand coded stuff like you do, or, or even stuff like EM client. But I think what's changing is a lot of the little stuff, you know, that great Jonathan Colton song, uh, code monkey going to write a login.

[01:52:43] Uh, a lot of the stuff that's just kind of wrote, you don't need a code monkey for anymore. You just have Claude do it. And then you get the higher level thinking, the overall planning, the architecting, and maybe if you want some fine tuning or refinement, you do that. So there's still a human in the loop, but I think increasingly bullet boilerplate code will be written by AI. It's just too easy. And by the way, it writes pretty good code. I mean, everything I've looked at the code is, it's pretty good. Yeah.

[01:53:13] Very cool. Thanks for asking. I've been wanting to tell somebody about this. Well, and now you've let our listeners know that, uh, well, and I love it because it works perfectly with it, with, with this build by Andrew to get started. Yeah. And, uh, and then this sense that something like it's really getting better. It's, it's doing a much better, massively better. And that's the other thing is so many people are now into this. There is a lot of resources. Uh, there's a wonderful GitHub page called awesome.

[01:53:41] Claude that has hundreds of resources for using Claude skill because Claude uses skills. Uh, it uses a lot of extra tools. There's a tool called Ralph Wiggum. That's a hysterical. I know it's a, that's a Simpsons character. It's a hysterical tool that, um, you turn on and it's, and, and you say what the parameter is like, don't come back until there's no more errors.

[01:54:07] And then you also, if you want optionally can say it, but only try 20 times, you can limit the iterations, but it will keep iterating until it reaches the goal that you set it. So it can, it can, you know, instead of you interacting with it, it'll just, you just set it off and it goes. And a lot of people are doing that now they're running 20 different versions of Claude code all at the same time. Ooh. Okay. Time for a break. Yeah.

[01:54:37] Sorry, Burke. Burke says you point Leo, you could tell you've been wanting to talk about this. I apologize. You can edit this out if you want. Uh, you're watching security now with Steve Gibson. Uh, we're so glad you're here and a special thanks to our club members that make this possible. If you're not a club member, we'd love to have you twit.tv slash club twit, ad free versions of all the shows, access to the discord where Burke yells at me. You can also get a special programming, including our great AI user group.

[01:55:07] We talk about a lot of stuff like this, uh, twit.tv slash club twit. Let's continue on with security now, Steve. So we have listener feedback. Uh, although I already shared some little bits that have dribbled in over the last week already, but TJ Asher wrote, Steve, I'm all too familiar with the current state of the move to pure revenue generation by certificate authorities around code signing.

[01:55:34] We were first hit by this with the change to HSM storage, meaning got a stored in hardware, right? Two and a half years ago. He said, our corporate policies prohibit allowing multiple users to access a computer under a common ID, which makes sense. Then because one of our development environments installs some aspects per user under the H

[01:56:00] key current user tree of the registry, our current licensing of certain add-ons would require an additional license for every possible user on that computer. So we're unable to implement an HSM solution to hold our code signing cert. As a result, we have no option but to store the key in the cloud.

[01:56:24] MS Azure has an option to allow this, but I was informed by our IT group that this costs a minimum of $30,000 to set up. Yes, that's the number we were told. Okay, now I'll just interrupt TJ's note to mention that Rick Strauss detailed how to set up MS Azure code signing blog posting, which we shared at the top of the show, might be

[01:56:51] something that TJ would like to show his IT group. They may have some other situation that imposes a $30,000 cost, but it's difficult to imagine what that might be. Maybe there's a way around that. In any event, TJ's note continues writing, the other option is for our certificate authority to host it. But then we need to pay for each and every signature that happens.

[01:57:19] We have dozens and dozens of files that need to be signed frequently because we release updates every month. This quickly adds up and you have to prepay for the signatures in blocks of $1,000. That fee just went up and is now $0.264 per signature.

[01:57:43] So $264 per 1,000 and no refunds. Bought too many? Too bad. So sad. We go through enough signatures that we now buy in blocks of 5,000. Okay, so let me just pause here to remind everyone just how absolutely and utterly insane this has all become.

[01:58:09] TJ's enterprise that needs to be performing lots of code signing is stuck paying for the privilege of signing its own code on a per file basis. It should all be a non-issue. They should be able to sign their code just as readily as they compile the code to be signed. But no, by making it increasingly difficult to sign code for no good reason.

[01:58:39] Other than because they can, and by shortening certificate lifetimes again, because the cabal of certificate authorities vote their own self-interests, the industry's certificate authorities are able to force everyone into a cloud-based service model where our use of our own signing key will be monitored and we will be charged essentially a fee per signing.

[01:59:09] TJ finishes, The certificate authority group has the entire software industry over a barrel and there is not we can do about it. Woe help you if you have a problem like we're experiencing now. Need good support? Buy a business account. It's no wonder this change to yearly expiration is happening because they're going to lose out to free TLS certificates from

[01:59:38] Let's Encrypt. They need to recoup that revenue somewhere. I can't imagine being a small or solo developer. Regards, TJ Asher. And then Jay Thompson wrote, Are you interested in starting a service to issue certs? I put grccerts.com and grccodcerts.com on hold just in case. Signed, Jay.

[02:00:06] So first of all, Jay, I very much appreciate your consideration. There are many considerations, but addressing the name of such a service first, if, and it's not going to happen, but if I were to start a certificate authority, I wouldn't tie it to GRC in any way. It would need to have some sort of long lived neutral name, you know, like DigiCert or Identrust or VeriSign.

[02:00:36] You know, those are good names for a certificate issuing authority. And I said, first of all, because, you know, there's more. You know the saying, everyone has their own version of hell. In my case, having anything whatsoever to do with running or in any way managing a certificate authority would definitely be right up there near the top of the most hellacious ways I can imagine me spending the remainder of my life.

[02:01:05] So thank you, but no thank you. I know that I bitch and moan and carry on about the annoying cabal that has been allowed to form. But at the same time, I deeply appreciate that there are people who are able to do what is completely beyond me. In the early days of GRC, I ran a larger organization because I thought I was supposed to. And while my employees may have been happy, I was mostly miserable.

[02:01:33] You know, thanks to one rough Monday morning of firings during which I reduced the company size in half, followed by a great deal of welcome attrition. I wound up with Sue to deal with operational stuff and Greg to run interference for me with tech support, which leaves me mostly completely free to sit in a quiet corner by myself with elevator music, a PC, mouse, screens and keyboard. That's my bliss.

[02:01:59] But Jay's note brings up the interesting question of the contemporary creation of a new certificate authority. It's not a simple thing, and it would require a concerted effort.

[02:02:15] But that said, I would imagine that the apparent greediness that is overtaking parts of the certificate authority business might be creating an opening for a well-financed newcomer.

[02:02:30] The first problem any newcomer would encounter would be the establishment of their own root certificates into the heart of every single system where their signed certificates would need to be trusted. You know, this might seem like a classic chicken and egg problem since you cannot sell any certificate whose signature will not be trusted, not even one.

[02:02:57] And it'll be difficult to convince the various root store programs to accept any new and unproven and currently unnecessary root certificate without good cause. Let's Encrypt solved this chicken and egg problem by borrowing the trust relationship which IDENTrust had already long established.

[02:03:24] At Let's Encrypt's launch, which was now 11 years ago in 2015, its own root certificate was not present in a single trust store. So in order to bootstrap trust, Let's Encrypt certificates were cross-signed by IDENTrust's well-trusted root certificate. The way this worked was slick.

[02:03:49] Let's Encrypt first created its own new intermediate certificate. This intermediate certificate is what was used to sign all of Let's Encrypt's TLS web certificates, which it was issuing. But the signatures made by this intermediate certificate needed to be trusted by all of the world's web clients.

[02:04:14] To make that happen, Let's Encrypt's new intermediate certificate was co-signed. Technically, the term is cross-signed by Let's Encrypt's newly minted and not yet trusted root certificate. And also by IDENTrust's own already well-trusted root certificate.

[02:04:37] So two different root certificates trusted, you know, they signed and therefore demonstrated their trust of the intermediate certificate, which Let's Encrypt was then able to use to sign the end certificates, the TLS web certificates.

[02:04:54] The use of IDENTrust's root certificate to anchor the certificate chain meant that the signatures Let's Encrypt's intermediate certificate was placing on TLS certificates would be trusted from day one by all web clients. Since those TLS web certificates chained up through Let's Encrypt's intermediate certificate to a root certificate, everyone already trusted.

[02:05:23] For three years, from 2015 to 2018, Let's Encrypt's certificate trust chain relied solely upon IDENTrust's root cross-signing.

[02:05:37] And then finally, after three years in 2018, which I suppose finally after Let's Encrypt had demonstrated the success of their concept, their own operational integrity and the feasibility of their new ACME automation technology.

[02:05:56] And I imagine the existing CAs were not happy, but their own root certificate, which was named ISRG root X1, was added to all of the major trust root stores.

[02:06:10] And then finally, in 2021, three years after Let's Encrypt's root had been added to everyone's root stores, the root certificate that IDENTrust had originally used to cross-sign Let's Encrypt's intermediate certificate itself expired, ending the cross-sign phase and leaving all modern systems trusting Let's Encrypt's own root and the intermediate certificate it had signed.

[02:06:40] So a lesson taught by this bit of history is that creating a new trusted certificate issuing authority is neither quick nor easy, nor should it be. It would require an entity to first demonstrate both their strict commitment to rule following and their ability to rigorously follow the rules that they set.

[02:07:07] They need to demonstrate that imbuing their signatures with widespread global trust would not in any way endanger the current status quo. If someone really wished to do so, they could arrange to bootstrap themselves into business the same way Let's Encrypt did.

[02:07:28] And I doubt that the members of the CA browser forum could prevent that from happening, much as they might not wish to have a powerful new, lower-price, easy-to-use certificate authority undercutting their well-established cash-printing business. And taking the opposite view for a moment, we should all definitely require any upstart newcomer to prove themselves worthy of our trust.

[02:07:56] There is big money to be made in a certificate-issuing business. The bigger the big guys get, the more deadweight overhead they accrue and need to carry, and the costlier their certificates become. The more tantalizing will be the opportunity for newcomers to attempt to get in for a piece of that action. Anyone should have the ability to become a certificate authority in good standing.

[02:08:21] But as we've often noted, along with the right to print money comes the burden of being very careful whose certificates are signed and thus trusted. So, interesting question, Jay. Being a CA is not for me. I like the way my life is right now. But I really, I can see, you know, Let's Encrypt managed to start. And they were, you know, that was 11 years ago.

[02:08:48] So, I could see an entity deciding that they want in and see an opportunity because I think the flip side of all the grumbling and grousing we're doing is demonstrating that there's some opportunity here for someone who is, you know, serious about it in the long term. But it's not something that you do easily or quickly. Scott wrote, Steve, I've listened to you for years for your comments and sage advice about security matters and general comments about IT.

[02:09:18] Do I want, he said, do want to say, I appreciate your thoughts on vitamins. And after the last podcast have increased my intake of magnesium. Please continue to include the occasional thoughts about how vitamins might prolong our lives. Definitely not a bad diversion from the usual themes. Thanks, Scott.

[02:09:37] And I just wanted to mention, I put that in here as a placeholder to say that I, as I had said earlier, I, I, I received similar sentiments from our listeners and a couple of young listeners. One in particular said, hey, supplementary nutrition is not just for older folks. So, I appreciate that. And I will share what I find from time to time. To that end, I wanted to update a little bit of the news from last week. Steve Penfold said, hi, Steve.

[02:10:05] Thank you for the info on magnesium last week. I found your previous leads on vitamin three and now K2 as well, plus the ketogenic way of eating. But I wasn't aware of any of the magnesium stuff. He said, your book recommendation caused me to take a look at it on Amazon's site here in the UK.

[02:10:26] It seems that there have been two updates to, and he has in quotes, the magnesium miracle book by Carolyn Dean that you said you read in 2009. A quick summary of these updates. He said, first of all, in 2009, the version you read must have been the original 2003 version. I think that's probably likely. He said there was an updated version released in 2017 with the same title.

[02:10:53] And he said, additionally, there is a now even newer book from 2023 billed as, quote, an up-to-date summary that includes the advances in clinical magnesium research and therapy from the past five years. He said, this is the version that I bought in Kindle format for only 3.92 pounds. He says, equates to just over $5.

[02:11:17] Note that the word miracle has been dropped from the title. He remembers me grumbling. You know, it's like, it's not a miracle. Stop saying that. Yeah. This book is just titled Magnesium, a missing link to total health. So, anyway. Well, I'm taking my gram of magnesium now, I gotta say. Good. It's working. It's working. Good, good, good, good. My sleep's been better, too, which is nice. Yeah.

[02:11:47] It does that. And be aware that after some length of time, you'll find you no longer. That's already happened. Yeah. Okay. I was looking for that, actually, because it's helpful. Yes, it is. Exactly. It is. Yeah. Laura and I both love it. I can back off a little bit if I need to, but so far, so good. Nice. So, anyway, that was Steve Penfold, Spinrite owner and Club Twit member. Uh, Joey Albert said, thank you, Steve.

[02:12:15] You started me on the Lazarus Project series yesterday, and it is outstanding. He said, Rotten Tomatoes meter is 100% fresh. Just bummed it's leaving Netflix this month, the 27th. I have to binge now, signed Joey. And Mr. Ron said, thanks for the tip about the Lazarus Project. I had never heard of it. I just finished attentively binging it, which really is the only way to follow the plot. It's the most outstanding time travel story I've ever seen.

[02:12:46] So, I just wanted to mention that Joey and Mr. Ron's opinion was widely echoed among those who wrote. One listener reminded me of Apple TV's For All Mankind, saying that he thought it was fabulous. For those who don't know, it's an interesting speculative fiction that extrapolates an alternative history where Russia wins the early stages of the space race by beating the U.S. to the moon.

[02:13:13] Uh, I didn't watch the entire series, so I'm unable to offer my own opinion. Lori and I watched, I think, like maybe the first four or five episodes until we had caught up. But it seemed to kind of just be lumbering along and not really much. So, I don't really recall it being amazing, but maybe I didn't give it a chance. It does rate an 8.1 on IMDb, which is a good score.

[02:13:38] But I've also seen like, you know, anime things rate highly. So, it's a matter of who's rating them, right? And that's not me. So, Phillip said, hi, Steve, many thanks for the valuable lowdown on reduction in the lifetime of code signing certs. Does this mean that eventually all software will need to be updated every two years?

[02:14:05] What does that mean for software for which I've bought a perpetual license or freeware? What if it's no longer maintained? And I guess that you and I, probably the last two users, are probably the last two users of PaintShop Pro. No, Paul Thorat loves it too. Oh, okay. Good. He says, it might have to find something else at last. Best regards, Phillip. Okay.

[02:14:33] So, Phillip's quandary about this was echoed by a number of our listeners, many of whom wrote wondering how shorter certificate code signing certificates would affect the long-term verifiable legitimacy of the code those certificates were used to sign. And right on cue, Bleeping Computer posted a story last Wednesday with the headline,

[02:15:01] Logitech Options Plus G-Hub Mac OS Apps Break After Certificate Expires. Yeah. Whoops. So, Bleeping Computer began their coverage. They fixed that, by the way.

[02:15:23] Logitech iOS stopped working after their code signing certificate expired, leaving users unable to launch them on Apple systems. Options Plus is Logitech's input device configuration app, while G-Hub is a similar app focused on customizing compatible Logitech G-gaming peripherals. Both allow setting app profiles, button remapping, lighting options, scroll wheel, and sensor sensitivity.

[02:15:49] Multiple users reported that Logitech apps on Mac OS did not load, making custom gestures, mapping, scroll settings unavailable, and forcing them, oh, the horror, to use basic input functions. Impacted users expressed their frustration with the sudden loss of productivity-enhancing customizations, while many wasted time reinstalling the Logitech apps, trying out safe mode, or wiping their configuration files.

[02:16:19] Eventually, Logitech published a statement on its support portal admitting that the issue was caused by a certificate that had expired. Okay. At the same time, I signed GRC's Never 10 Windows Executable program on Sunday, April 21st, 2019.

[02:16:45] And the code signing certificate I used to do that then expired on April 4th, 2022. Yet a check on the validity of Never 10's code signing certificate today reveals that it remains valid. So what's going on? This brings us to this week's topic, an examination of code signing certificate expiration,

[02:17:14] and the answer to the question, how could Microsoft be issuing three-day code signing certs? I do not know. And I'm going to have a cup of coffee. I just want to say one thing. I'm very proud. While you were talking, I just submitted two pull requests and did a rebuild on GitHub, version 0.2.2 of the RSS. Reader is now out including email functionality,

[02:17:42] and I sped up the AI summaries by switching models plus better error messages. So thank you very much. You have had a productive day coding, Leo. I feel like a real developer. While co-hosting a Security Now podcast. It's pretty amazing. I mean, it even uses GitHub Actions to build the software to put the binaries up there so people can download it. I think open source software is going to really see a revolution.

[02:18:10] And what's even more interesting to me is that this means people can write their own custom personal stuff. This was always kind of the goal. Well, and Apple was, what was the card deck thing that Apple had? That was the idea. People have been trying to do this for decades. Yes. In fact, I remember John C. Dvorak telling me, what was his name?

[02:18:36] Morris, the guy who did, Moro, George Moro, who did a little, remember the Moro computers that were a little bit like the Osbournes? They were suitcase computers. George Moro told Dvorak, he said, you know, everybody should be writing their own software. Nobody should be using off-the-shelf software, which was hysterical at the time because, you know, not everybody's a Steve Gibson. It was impossible. It was impossible. But, I mean, look, you're not going to write your own word processor or video editor, but you might write a lot of little tools.

[02:19:05] I have been that make your life better. Everybody's needs are different. I mean, what- And they could specifically be your needs, yeah. And the brilliance of Bricklin's spreadsheet was that it was a programming language. VisiCalc. It allowed you to put numbers in and do with them what you wanted. And, you know, so it was a type of programming language.

[02:19:32] And, you know, and there are some databases that have been like that through the years where they were really, they really helped you get the job done. Yeah. Well, and the other thing that has always been the holy grail is natural language interfaces to computers, you know, and this was, you know, hello, computer, use the keyboard. Keyboard. How quaint. How quaint. We've known that this is really the natural way to interact with the computer. Let it do the computer stuff. You do the human stuff.

[02:20:01] But we haven't had that capability. Well, and imagine, Leo, when we can put the AI loose on existing repositories and have it find the bugs. Yeah. Well, I think we're already- You mentioned this a couple of weeks ago. There's already tools to do that. I think that's going to be a revolution as well. And as we were saying, I mean, yeah, there's security issues that come up, but you can pretty

[02:20:24] much be sure that Claude is not going to use str copy instead of strn copy when it's writing. You're not going to see buffer overflows as much because it's smart. It knows that's a bad idea. Humans forget. Yeah. And as I said last week, I even had chat GPT. When I asked it, what was the port number for the MongoDB? Right. It gave it to me and said, and by the way, you should not expose that to the public internet.

[02:20:54] Isn't that great? I think we're in a brave new world. It's certainly an interesting world. There's no question about that. You're watching Security Now. This is Steve Gibson. We're so glad you're here. Thanks for watching. And let's go on with the show. Steve? Okay. So the title for today's podcast was inspired by the sentence that Rick Strahl casually dropped into his blog posting in passing.

[02:21:17] He noted, quote, the certificates issued by Microsoft are very short lived with expirations that last only three days to aggressively thwart invalid signing attacks in case a certificate is compromised. Okay. Now, this raises the obvious question. How can it possibly be that Microsoft would be using code signing certificates that only last for three days before they expire?

[02:21:46] The answer to that question brings us to a fundamental difference between the traditional web server authentication TLS certificates, which we're all by now intimately familiar with, and code signing certificates, which we've spent considerably less time exploring in the past. So exactly what are the differences between these two?

[02:22:09] In the case of a web server's TLS certificate, our goal, the purpose, is to validate and authenticate the identity of a remote web server during a real-time transaction right now. We need to be assured that the remote server we have just this moment connected to using its

[02:22:36] DNS-provided IP address is, in fact, the server we expect. DNS could have been compromised to lead us astray, or our internet packet traffic could have been intercepted and diverted to a malicious web server. So to do this, we need to verify that the certificate we've just received over the connection we've

[02:23:02] just established matches the domain we intend to connect to and that the certificate is valid, not expired, in good standing, not revoked, and was signed by a certificate authority whose signatures we trust. If all of those things are true, we would have every reason to believe that we're connecting to a web server serving the domain we intend.

[02:23:33] So now look at code signing. What about code signing? The assurances we seek from signed code are obviously very different from the application of TLS web certificates. We want to ascertain two things from the signature of any signed code. We want to determine the verifiable identity of the entity that signed the code.

[02:24:01] And we want to verify that not a single bit of the code that was signed has been altered since its signing. And that's it. That's the entire purpose of signed code. Who signed it? And nothing has changed since. We understand the general reason why certificates have expiration dates.

[02:24:27] While I complain a lot about certificate lifetimes being so short that their renewal becomes burdensome, at the same time, it would be somewhat unnerving to be issued a trust and certificate that never expired. Yikes. If that certificate were to ever get loose at any time ever, bad guys could abuse its trust

[02:24:56] potentially forever. GRC has a code signing certificate stored, as they must all be now, in a SafeNet 5110 USBE token. And it's actually sort of comforting to know that it comes with a drop dead date, after which it will become useless to anyone. If it didn't have that, I would need to wipe its contents and then probably still smash

[02:25:26] it into tiny bits to make absolutely sure that it could never be reused once I was finally finished with ever needing it again. You know, I mean, it has to be completely destroyed. But what about the code that it was used to sign? Let's take the Never10 for Windows executable I mentioned before.

[02:25:49] If you're curious, you can go to GRC and download that executable right now, Never10.exe, to see for yourself. I signed that executable on Sunday, April 21st, 2019, using a code signing certificate that still had very nearly three years of life left on it since it would expire on April 4th, 2022.

[02:26:17] Signed on April 21st, 2019, with a certificate that's expiring on April 4th, 2022. That did expire, had to, on April 4th, 2022. At the time I signed that code, the certificate was in good standing. It was issued by my company, Gibson Research Corporation, I'm sorry, issued to my company, Gibson Research Corporation, by DigiCert.

[02:26:46] The signing process meant that an unspoofable cryptographic hash was taken of the code, the Never10 code, whereupon the private key I was in possession of, because at this time and still today I own my own code signing private key, it would be used to sign the hash.

[02:27:15] And GRC's certificate that was issued by DigiCert containing the matching public key was affixed to the end of the code. From that moment on, anyone who obtained that Never10 code could check its certificate to see that the certificate was validly issued by DigiCert, a certificate authority that has carefully earned everyone's trust.

[02:27:43] The signature of the code's original hash could be verified using the public key contained in GRC's certificate, and that validly signed hash could be compared with a fresh hash of the code taken right then to verify that not a single bit of the original code had been changed after it was signed. Remember the two assertions that are made through code signing.

[02:28:12] The identity of the certificate that performed the signing, in this case, Gibson Research Corporation, and that since the time of the signing, not a single bit has changed. Okay, now, jump forward to 2026. There's still a Never10 executable program that can be downloaded from GRC, and not a single bit of

[02:28:38] that code has been changed since the day it was signed in April of 2019. Yes, the certificate that was used to perform the signing expired three years after the signing. Which is almost four years ago, in April of 2022. But do we care?

[02:29:04] The signature accompanying the code remains valid. The certificate that's attached still contains a public key that can be used to verify that not a single bit has changed since the moment it was originally signed. And Gibson Research Corporation's name is carried in the attached certificate, all of which was signed by DigiCert.

[02:29:32] Here's what's common between TLS and code signing certificates. In both cases, the only requirement is that the certificate is valid at the time of its use. So, in the case of TLS, that means it must be valid and remain valid every time a web browser initiates a new connection

[02:29:59] and that certificate is offered up as proof of the remote server's identity. Connecting to the server is the time of the certificate's use. But in the case of code signing, the only requirement is that the certificate used to sign the code be valid at the time the code is signed.

[02:30:24] Since the only thing code signing is asserting is the identity of the signer and that nothing has changed since, requiring that the certificate be valid at the instant of the signing is sufficient. And now we can see why and how Microsoft's Azure code signing uses certificates having a very short life of three days. Technically, it could be as short as an hour.

[02:30:53] But creating certificates is not without overhead. So, I imagine they probably cache any certificates they've created for a couple of days in case the same signer returns with more signatures that they need signed or more code they need signatures signed for. But there's an exploit we haven't addressed.

[02:31:17] What's to keep a bad guy who manages to get their mitts on someone else's expired code signing certificate from using that certificate to sign their malicious code? The signing certificate may have expired, but what's the enforcement mechanism for its expiration?

[02:31:43] We might suggest that the PC used to perform the signing would examine the certificate and see that it had expired. Okay, the bad guys know that their stolen certificate has expired. So, they simply turn back the clock on the signing PC that they're using to a point where their certificate is valid. Now, the PC believes that the certificate is valid and in good standing.

[02:32:11] It has no way of knowing what day it is. The obvious answer to this dilemma is for anyone who might be relying upon that certificate to examine for themselves the signing certificate's expiration date and time, just as they would for a real-time TLS certificate, and refuse to trust anything signed by any certificate that has expired. Okay, but then we have a new problem.

[02:32:40] As we've seen, what we really intend for code signing is for any code that's signed by a certificate that is valid at the time of the signing to forever, hence, be judged as validly signed. So, how do we accomplish that? Introducing the TSA, a different kind of TSA. This is the timestamp authority.

[02:33:10] A timestamp authority is a trusted third party. It's typically a certificate authority and is often but not necessarily the same CA who provided the signing certificate in the first place. It is a service that CAs offer. During the code signing process, once the code has been signed,

[02:33:32] the signature, after it's been signed, that signed signature is itself hashed and forwarded to a timestamp authority. The hash is forwarded and it's bundled with a UTC format timestamp. And that package is signed with the timestamp authority's private key.

[02:33:59] They then returned this signature along with their own TSA certificate containing their public key. The result is a counter signature containing a verifiable timestamp. The result of all these machinations is that the final signed code actually contains two certificates.

[02:34:25] The code signer's own certificate indicating their identity and the validity time window of their certificate. And a signing timestamp that can be verified using the timestamp authority's certificate, which is also attached. So, now we have exactly what we want.

[02:34:48] The signing certificate's validity window from the not valid before to the not valid after times is enforced by an unspoofable timestamp provided in real time on the fly at the moment of signing by a third party timestamping service whose own certificate,

[02:35:14] their public certificate, is also attached to allow their timestamp to be verified. It's because GRC has always signed its code with the aid of a timestamping service that the validity of our apps never expires, even long after the certificate that was used to sign them is long gone. So, what happened with Logitech?

[02:35:42] The truth is, we don't know because we can't tell from what they've said. They said that a certificate expired, but we don't definitively know what certificate expired. Adding a timestamp to executable code and to libraries and whatever you need code signed is now so routine that I'm a little skeptical

[02:36:07] that they could have actually somehow failed to do that. I mean, it's built in. Timestamping everything ought to be just, I mean, like completely in the core of whatever signed their executable code.

[02:36:23] I suspect it's more likely that they have some sort, Logitech being who they are, some sort of their own installer or patcher or updater or who knows what, where they were using their own certificates internally in some fancy system of their own design and they tripped over their own tail. To me, that seems more likely.

[02:36:53] It's important to appreciate that it's only commercial certificate authorities who arbitrarily enforce short expiration policies. When you're creating your own certificates for your own internal purposes, you can set whatever expiration date you like.

[02:37:15] So someone at Logitech may have created a 25-year certificate back in 2001, figuring that the system they're using it for would be replaced long before that certificate could expire. But we all know how that goes, right?

[02:37:35] So after a few years, everyone completely forgot about it and never thought about it again until, whoopsie, 25 years had flown past. And that long-lived certificate surprised everyone by reaching its end-of-life date and expiring. To me, that seems the most plausible explanation. But again, until more is known from Logitech, there's no way to tell.

[02:38:00] In any event, now everyone knows exactly what goes on with code signing certificates and how the static assertions they're designed to make differ from the real-time assertions made by TLS web certificates. And it should be clear how Microsoft's Azure cloud code signing service is able to sign with three-day lifetime certificates.

[02:38:28] Those signatures are immediately timestamped. While that short-lived code signing certificate is valid, after that, the certificate's expiration doesn't matter. It can expire and no one cares.

Security Now,TWiT,steve gibson,Leo Laporte, security news, code signing, three day certificates, phishing scams, Azure cloud code signing, T-Mobile phishing, Apple Wallet fraud,data brokers, California Delete Act, Data Broker Opt Out, Claude Code,