ASW Podcast Episode Notes
This is a collection of additional episode commentary, including many of the inspirations or reasons behind each episode’s intro. There’s also an index of show numbers, dates, and titles.
The full show notes are over at the main site. There you’ll find summaries of the interview segment as well as links for all the articles and tools we covered in the news.
-
Stone Markup Languages
Hello Protocols, Packets, and Programs – and Ptolemaic subjects,
On this day of the year 196 BC, King Ptolemy V of Egypt decreed no taxes to keep his people happy.
We know this because of a large stone language model – the Rosetta Stone, that contained hieroglyphics, demotic (a cursive hieroglyphics), and Greek.
Of course, cuneiform was the original stone markup language, dating back to 3,500 BC.
It was eventually standardized into SGML in 1986.
And that in turn led to the equally ancient HTML, dating back to 1993.
So today, whatever language model or markup language you use,
Leave some documentation for the future.
I also riffed on markup languages back in 2011 and 2012 when I was looking at the changes HTML5 was introducing.
-
Violator
Let’s look at another New Wave influence on our appsec world.
Yesterday marked the anniversary of Depeche Mode’s “Violator”, whose track listing sounds like a journey through software development.
Starting with an idea from the “World in My Eyes” to the “Sweetest Perfection” of a design.
Then on to “Enjoy the Silence” – of build warnings, I think. I hope the line, “words are very unnecessary” doesn’t refer to documentation.
And ending with a deploy to prod that’s “Clean”.
I just can’t get enough.
Like episode 231, I went deep on a single album again. There’s a wealth of New Wave bands to draw from and I try to avoid too many repeats, but Depeche Mode is always going to get a mention at least once a year.
This episode was also a celebration of Curl’s 25th anniversary. And in ASW style I celebrated with a limerick:
This one time when my browser did die
I thought, “Why not give libcurl a try?”
I typed dash dash help all
And then watched as a wall
Of 200+ options scrolled by
The first official version of Curl appeared on March 20, 1998. Two weeks later version 4.1 fixed three bugs. Twenty-five years later it’s fixed a several thousand bugs. But that’s just the nature of software development.
Most importantly, libcurl and its command-line counterpart are premier tools present on every operating system and in countless apps. It’s proven to be one of the most successful open source tools.
A lot of that success lays with its maintainer, Daniel Stenberg, who shepherds the C code through thoughtful design and has built a positive community around the project. Almost 3,000 people have contributed code or feedback to the project. All of these are strong indicators of success.
Read more about its releases and its history to find out about its origins in Brazil and why the first release was 4.0.
Congratulations on version 8.0.0! May we see another 25 years of handling protocols.
-
Simulations
Hello Protocols, Packets, and Programs,
Since today is the 13th, add “The Thirteenth Floor” to your list of cybersecurity movies.
It came out the same year as “The Matrix” and both deal with simulations as a stylish menace, born from green fonts on a black screen.
“The Thirteenth Floor” was even based on a sci-fi novel from the 60s, which posited the use of Simulectronics for marketing research.
Of course, neither captured the reality of virtual reality like the Metaverse.
After all, the movies embellished things like dying while connected and avatars having legs.
-
The Hurting
Let’s look at another New Wave influence on our appsec world.
Tears for Fears released their debut album “The Hurting” 40 years ago this week.
The tracks combine a synth-pop appeal with a stylish gloom.
And they also sound like chapter titles in a book on git branching with names like,
“Ideas as Opiates”
“Change”
“Start of the Breakdown”
“Mad World”
And “Memories Fade”
It makes me want to shout.
-
Contemplate This
Hello Protocols, Packets, and Programs,
It’s that time when once again we must ask,
“Conan! What is best in DevOps?”
“To crush dependencies,
To see them versioned before you,
And to hear the compilation of their source code.”
Conan’s proclamations on DevOps are one of my favorite themes. Check out episodes 137 and 149 for similar riffs.
-
Compile a Poem
Hello Protocols, Packets, and Programs,
Tomorrow is Valentine’s Day, created by the big compiler companies to sell more code.
Whether you declare your love as constant or variable, I hope you find your type.
And regardless of what language you choose, keep them safe in your memory.
-
Pick a Card
Hello Protocols, Packets, and Programs,
I love magic. The sleight of hand, misdirection, the wonder.
I love its affinity with cons and deception.
Ricky Jay was an historian of every one of those topics, as well as a master himself at sleight of hand and cards.
He was instrumental to the movie, “House of Games”, in which a conman explains to a mark, “It’s called a confidence game. Why? Because you give me your confidence? No. Because I give you mine.”
I also mentioned the three of clubs, which is the card that Penn & Teller always prefer.
This felt like a nice complement to the “Myths and Lies in Infosec” that our guest, Adrian Sanabria, talked about. Adrian hosts Enterprise Security Weekly and has joined ASW as a co-host in episodes 143 and 181.
I love magic that tells a story. Sleight of hand and card tricks are impressive, but a trick that manages to deliver an emotional impact on top of skill is what I love the most. Those ideas also served as a metaphor in my introduction to AHT4.
The topic of breach responses came out of our discussion about how to get beyond myths and lies in infosec. Two points were transparency and speaking in plain language.
I also noted this doc about external communication during a breach. It even has the phrase, “Public comments should demonstrate that you are taking the issue seriously…”
But the important part is to explain how you’re taking security seriously, not just repeating the platitude that you do.
-
I Am Not A Number!
“Where am I?”
“In the village.”
“What do you want?”
“Information.”
That’s part of the intro to one of my favorite shows, The Prisoner, whose last episode originally aired February 1st, 1968.
It was a somewhat surreal series about individualism and surveillance with a cryptic main character known only as Number Six.
The intro ended with the show’s famous line, “I am not a number. I am a free man!”
It’s a well told story and, fifty-five years later, its themes hold up well.
After all, advertising identifiers are just slightly larger numbers.
Here’s an article from the BBC on the 50th anniversary of when The Prisoner started filming.
I recommend going into the series as fresh as possible. The only bit of context that might be helpful is that the star, Patrick McGoohan, played a spy in a series prior to this called Danger Man. You can find the full series at ShoutFactoryTV.
Once you’ve watched the entire series (the 17 episodes go quickly), check out this Twitter thread (spoilers!) from J. Michael Straczynski about some of the meaning behind the show and its two-part ending.
Be seeing you.
-
Year of the Rabbit
Happy Lunar New Year and welcome to the Year of the Rabbit!
Let’s see some rabbit-related references in presentations this year.
No more Sun-Tzu stock phrases or Clausewitz cliches.
Where are the leadership lessons from Watership Down?
The social engineering tricks of El-ahrairah?
Or the appsec-like premonition from Fiver, “There isn’t any danger here, at this moment. But it’s coming…”
This week Marudhamaran Gunasekaran joined us to talk about his experience in customizing secure code training for #DevSecOps teams.
One of the points was that teaching pentesting concepts and tools is useful for building awareness on how apps are compromised, but developers don’t spend their day pentesting. They need resources that help them design and implement code, which is why threat modeling can be such a valuable security practice.
Marudhamaran mentions a few tools, including the Microsoft Threat Modeling Tool. I still prefer a tool-less approach where security moderates a discussion among a development team that walks through the questions of
- What are we building?
- What could go wrong?
- What should we do about it?
And if a tool is necessary, it’s just a loosely structured document that captures points made and recommended actions that came out of that discussion.
-
Already in Progress
Hello Protocols, Packets, and Programs,
We are now tuning in to a year already in progress.
So far, someone has taken security seriously.
A few thousand CVEs are in the wings.
AI is the new ML.
And supply chain has just entered the chat.
Let’s see what happens next.
-
Welcome to 2023
Welcome to 2023.
May your code have safe memory,
Your bugs have fair bounty,
Your artifacts be signed,
Your threat models defined,
May your clouds and your pods have least privilege in place,
But however the year goes,
Please join us,
For a new season of shows.
This month also marks the podcast’s 5th anniversay. Keith Hoodlet launched episode 0 with Paul Asadoorian on January 5, 2018.
We last spoke with Keith in episode 200.
-
Pure Energy
Welcome back to the New Wave / Post-Punk Security Hour.
Where we’re listening for appsec lessons in electronic sessions.
This time, from Information Society’s, “What’s on Your Mind,” which begins:
“I wanna know
What you’re thinking
There are some things you can’t hide”
Which hits the needs for explainability in AI and transparency in its training data.
But, there’s also a lesson for me,
As the lyrics include:
“Here I am in silence
Looking ‘round without a clue”
We covered a lot of articles on AI code generation and chat issues in the news segment. Here’s the article about AlphaCode that I mentioned. It’s a competing system to OpenAI’s Codex.
This was the last episode of 223! Thank you for listening. We’ll be back on January 2, 2023 for a whole new year of appsec, New Wave, synthwave, and more.
-
Thank You!
Hello Protocols, Packets, and Programs,
The year is almost over, which means everyone’s creating their top 10 and best of lists.
I don’t know what my top 10 list is quite yet,
But I do know that the top of my best of list is our listeners.
Thank you!
It makes these Monday mornings worthwhile.
We still need candidates for this year’s appsec top 10,
I really liked this interview segment because our guest, Aviv Grafi, talked about the technical side of securing potentially malicious files as well as the product emphasis on having a tool get out of the user’s way. It’s nice to see modern appsec approaches do away with old, unhelpful premises like “Users are the weakest link” or “Users are the enemy”.
Plus, I like the preventative approach of rewriting files into a known good state. It’s like handling user-generated content like image files, where the system resizes, strips metadata, and rewrites images into a new format in order to avoid attacks against image parsers or leaking a user’s personal information. And I got to sneak in a reference to one of my favorite tongue-in-cheek RFCs, RFC 3514, the Evil Bit.
My over favorite April Fool’s standard is RFC 1149, “A Standard for the Transmission of IP Datagrams on Avian Carriers.” – I suppose I’ll have to do a new intro for “Pigeons, Packets, and Programs” in a future episode.
-
Elementary
Hello Protocols, Packets, and Programs,
It’s episode 221-B as in Baker Street and Sherlock Holmes.
The famous detective who solved mysteries with his companion Watson,
And in one such story, provided a lesson to appsec with the warning,
“…how dangerous it always is to reason from insufficient data.”
The interview segment with Kenn White talked about queryable encryption – a way to maintain confidentiality of data while still being able to run common queries like equality, ranges, or partial string matching.
We didn’t wade into deep cryptographic details, but touched on some principles like modes of operation for block ciphers. A great resource to learn more about common cryptographic principles and constructions is the online cryptography course from Dan Boneh.
-
Conan the (Borrow-Checking) Barbarian
Hello Protocols, Packets, and Programs,
I realize it’s been a while since we’ve asked,
“Conan, what is best in DevOps?”
“To crush your memories,
To see control flows before you,
And to hear the sanitations of their pointer.”
The Conan riff is one of the most fun to return to. My first one was back in episode 137. The second was in episode 149. And now a year and a half later I’ve come up with a third.
The Rust programming language takes a “borrowing” approach to memory safety that focuses on ownership rules for values. It might not feel intuitive at first, but I find its semantics force thoughtful considerations about the use of objects and data structures. I’ve always been a fan of correctness first, so I’m willing to trade up front mental effort for compile-time guarantees.
The Go programming language relies on a garbage collector to achieve memory safety. I’ve done a little bit of Go. The syntax feels different, but some brief exposure to OCaml helped me get a sense of it rather quickly.
The C programming language relies on pure luck. And LLVM’s AddressSanitizer.
The C++ programming language relies on scoped std::pure luck, reference counting, and LLVM’s AddressSanitizer.
Regarding the news segment, the Top 10 CI/CD security risks is now an official OWASP project.
And as another note on the news segment, the nod to “Outpost 31” is a reference to the movie, The Thing. It’s one of my all time absolute favorite films. I couldn’t pass up a mention of Antarctica without noting it.
-
Ghosts of October
Hello Protocols, Packets, and Programs,
We leave the ghosts and goblins of October behind us.
And take a moment to recover from the tales of horror, madness, and danger that only a cybersecurity awareness month can bring.
In the news segment, we covered some high-level details of the OpenSSL punycode vuln. I didn’t manage to summarize it in 10 words or less, but used the opportunity to mention the sending spell from D&D that’s limited to 25 words or less. We might have to come up with a “Sending Stone” mini-segment where we describe a topic according to that spell’s restrictions – it’s hard to do so on the spot without long pauses, but it sounds like a fun challenge for a prepared segment.
We also touched on writing skills. I had forgotten to add the plainlanguage.gov site to the show notes. It’s a great resource for clear, concise writing.
Security through obscurity came up in this episode. I see the use of obscurity as an anti-pattern when it’s used to distract from or hide an underlying flaw and that flaw is otherwise left unaddressed. It relies on hoping that an attacker won’t find a flaw rather than trying to make the flaw more difficult or exploit.
-
They Live
Hello Protocols, Packets, and Programs,
We’re coming to you live from Cable 54 where we’re celebrating Halloween.
That time of year where we hear those adorable phrases like,
“Trick or treat!”
“They’re coming to get you, Barbara.”
And,
“We take your security seriously.”
This episode landed right on Halloween, which was perfect timing to talk about web3 security and, more importantly, add some subtle references to one of my favorite movies – They Live. The movie came out on November 4, 1988, which is also perfect timing to celebrate it on the show. Not only does the movie show John Carpenter’s skill in visual storytelling, its social commentary still holds up.
We also welcomed Akira Brand as a co-host in this episode. She was previously a guest on episode 215.
-
Horror’s Subgenres
Hello Protocols, Packets, and Programs,
This month we celebrate horror –
Especially its subgenres.
Like hauntings, slashers, found footage, zombies, NPM packages,
And pretty much anything that keeps you awake at night.
-
Abandoned Places
Horror movies have a trope of abandoned locations that includes a reveal about the dreadful testing that occurred there to make them so haunted.
Places like abandoned hospitals, orphanages, or even underground bunkers.
But also places closer to us, places like abandoned code repos.
-
They’re Coming to Get You, Appsec
Hello Protocols, Packets, and Programs,
I love zombie movies. And in my favorite ones, the real monsters aren’t the living dead, but many of the humans who remain alive.
So, when I think of appsec, I think more about how we could collaborate to find and fix vulns, rather than worry about just how many vulns are out there.
In the news segment we talked about the Linux kernel’s merge of Rust support into the mainline branch. That code officially appeared on Dec. 11, 2022 in the v6.1 release. For more details on the journey to bring Rust into the kernel, check out Miguel Ojeda’s blog.
-
Countdown to Halloween
Hello Protocols, Packets, and Programs,
We begin our countdown to Halloween with a notice of tropes to expect.
Your phone is going to lose signal.
Your car is going to have trouble starting.
And your business continuity plan will rely on an unmanaged shell script.
-
October Is Almost Here
Hello Protocols, Packets, and Programs,
October is almost here, when we get to tell the scariest stories, read the most horrifying code, and try to survive yet another powerpoint presentation on cybersecurity awareness.
October is the time of cybersecurity awareness. It’s good to have an explicit call to attention for security topics, but it’s terrible when that call to attention is squandered on boring, static presentations or empty recital of top 10 lists or warnings to “Don’t click that link.”
Links are designed to be clicked. If your security awareness and security models rely on some sort of manual scrutiny to distinguish a “good” link from a “bad” one, then you’re two decades behind modern appsec and you’re wasting your audience’s time.
Appsec checklists and standards always include “Secure Coding” or, worse, just declare, “Write secure code.” But where do developers learn about fundamentals of secure coding or what secure code even looks like?
Janet Worthington joined us in the interview segment to talk about how universities cover infosec topics and what the industry can do to improve that education.
-
Pwn of the Living Dead
They say when there’s no more room in powershell, credentials will walk the earth.
Coming this Halloween: Pwn of the Living Dead.
In sneak previews now.
It’s my nod to George Romero’s living dead movies, specifically Dawn of the Dead.
-
Thank You For Sharing
Hello Protocols, Packets, and Programs,
I’m taking a moment to say thank you to everyone who’s been sharing episodes and kindly giving us good ratings.
We’ll keep bringing you entertaining and informative episodes!
-
Hell-LVM
In a world where CVEs are documented and every bug has a bounty,
A DevOps team will test in prod –
And awaken an ancient evil.
Coming this Halloween: Hell-LVM
The compiler has given its last warning.
A developer carelessly passes the
-fsatanize=address
flag toclang
, turning the compiler into a demon who seeks vengeance on all who ever fed it bad code.In the news segment we covered the Twitter whistleblower report, which I summarized in limerick form:
A hacker named Mudge blew the whistle
Causing Twitter execs to bristle
He said they were lacking
Protection from hacking
And they replied, “Here’s your dismissal.”
And a backup version that I also liked:
In the 90s some hackers from l0pht
Warned Congress that networks were too soft
Now two decades later
The risk is much greater
And apparently Twitter just scoffed
-
Captain’s Log
These are the episodes of the podcast ASW.
Its continuing mission: to explore strange new clouds.
To seek out new flaws and new implementations.
To boldly go where no one has gone before!
I first riffed on this in episode 163 and plan to return to it every August now in memory of Gene Roddenberry’s birthday.
Live long and prosper! 🖖
-
Void Stars
Do you enjoy battling threats with weird names?
Manipulating characters and classes?
Handling polymorphic types and void stars?
Appsec is the right place for you.
But if you want all that plus rolling dice – check out the Dungeons & Dragons Spelljammer update. It comes out tomorrow.
Sure, C programmers are familiar with
void *
, but the far more exciting version of a void star is in the D&D Spelljammer setting. It’s a setting rife with giant space hamsters (yes, these are canonical creatures), mind flayers, and other bizarre creatures.Speaking of mind flayers, I’d far prefer to replace the phrase, “…hit by a bus” with “…brain eaten by a mind flayer” to convey the danger of not writing down the institutional knowledge carried in the minds of appsec and devops folks.
Plus, the news segment has my absolute favorite thumbnail image.
-
The Natural History of Appsec
These majestic rustaceans have just spawned on the shores of ASW. Driven by evolution, they know instinctively how to reference each variable they will ever encounter within their lifetime.
However, evolution also leaves vestigial organs like FFI. As the other newborn processes rush to safety, this one returns to C and exposes a dangling pointer.
Drawn by this unpredictable behavior, a swarm of exploits appears.
I first riffed on this intro in episode 205.
-
The “M” Stands for Music…Mostly
MTV – Music Television – debuted August 1, 1981 promising 24 hours of music videos leading to shows like Headbanger’s Ball and 120 Minutes, which was 120 – about 90 minutes of videos because of commercials.
It launched with “Video Killed the Radio Star” and the lyrics
Rewritten by machine and new technology
And now I understand the problems you can see
Which sounds more like DevOps killing Appsec…actually
-
The Natural History of Appsec
What if we approached appsec with the same wonder as that towards the natural world?
We’re watching a zero-day in the wild as it approaches a buffer that’s been separated from its pointer authentication code.
Neither the buffer nor the nearby stack canaries, which enjoy a symbiotic relationship with these regions of memory, have noticed the approach.
Unaware of this danger, the buffer consumes data.
This was, of course, a nod to David Attenborough and his documentaries on nature, dinosaurs, and Earth. He has the most amazing ability to evoke the wonder and drama of nature through narration that educates as much as it entertains. He has produced, written, and narrated several documentaries. One of the most popular is BBC Earth.
-
Tainted Love
Once again we dip into New Wave / Post-Punk history for appsec inspiration.
This time with Soft Cell’s “Tainted Love”, which they released in July 1981, with the line
“Once I ran to you
Now I run from you”
Which could be a theme for
Thread safety
Input validation
CISO roles
Or really anything summed up by the lyric
“For I toss and turn, I can’t sleep at night”
We covered an article in the news segment about the US military’s interest in software supply chain, code constributors, and brittle projects. Brittle projects are those critical to others and prone to the bus factor, which is a common phrase that roughly means in this case, “Does this whole project fall apart if just one person gets hit by a bus?”
As an aside, I’d love to do some archaeological (and anthropological) digging to find that phrase’s origin.
I’m always suspicious of metaphors in infosec. They tend to diverge from or obfuscate underlying principles of an issue, although they can provide an illuminating or humorous reference. The “bus factor” is pretty tame, commonly understood, and fits well with the article.
But why make public transportation the menace here? Why can’t we be more creative with something like, “Brain eaten by a mind flayer?”
-
Fight For The Users
Hello Protocols, Packets, and Programs,
It’s the 40th anniversary of my favorite hacking movie, Tron.
It has visual style, music by synth pioneer Wendy Carlos, and one of the best quotes to summarize my favorite type of appsec,
“That’s Tron. He fights for the Users.”
-
A Palindrome
Hello Protocols, Packets, and Programs,
Today’s episode number is a palindrome – something that reads the same backward as it does forward.
But given some of the CVEs we’ve covered this year, it’s hard to tell if appsec is moving forward at all.
-
Free RPG Day
Hello Protocols, Packets, and Programs,
Role-playing games involve small groups of people making things up, lists and tables, communication skills, and random events – it’s like appsec, but with better tabletop exercises.
This Saturday June 25th is free RPG day.
So if you know VI, but not the eye of Vecna, check it out.
-
The Difference Engine
It’s episode 200 and I’m thinking back 200 years ago to June 14, 1822 when Charles Babbage presented a machine that could efficiently calculate polynomials.
The difference engine, as he called it, is considered one of the pioneering works of computing.
He later designed an improved difference engine number 2. But, it was never built in his lifetime.
Not built until 1991, when the Science Museum, London finished the first ever implementation of the calculating engine – only four years before JavaScript’s invention.
The museum completed the full engine’s design in 2002, weighing in at 5 tons of iron, steel, and bronze with 8,000 parts spanning 11 feet long and 7 feet high.
And, to be fair, 8,000 parts for 5 metric tons of computing sounds like the physical manifestation of today’s NPM package dependency trees.
In addition to riffing off 200 years of computing history, we had Keith Hoodlet join in as a co-host. He’s responsible for starting the ASW podcast in the first place, having hosted it from episode 0 through 55. I dove in at episode 56 to continue the journey.
-
Response Codes
Hello Protocols, Packets, and Programs,
HTTP response codes from 100 to 199 are informational responses.
And, since this is episode 199, it’ll be the most informational one possible.
Luckily, the next response codes from 200 to 299 are for success.
It only gets better from here.
-
Seven Seasons
Hailing frequencies open, because on this day in 1994 the series finale of Star Trek: The Next Generation aired, concluding seven seasons of boldly going where no one has gone before.
There are still more Star Treks than there are OWASP Top 10 versions, but that gap is narrowing.
So if you don’t mind acronyms, some predictable villains, and jumping around in time, check out the OWASP Top 10.
-
SuperFlowerBloodMoon2
Hello protocols, packets, and programs,
Last night was the super flower blood moon, which in other circumstances wouldn’t make for a bad passphrase.
But now that everyone knows about it, I have to change mine to super flower blood moon 2.
But blood moon 2 isn’t as good as FIDO2, which uses public key cryptography that avoids the need for memory of super flowery entropy when it can just be a credential ID between that server and me.
-
Five Nines
Hello protocols, packets, and programs,
Today’s date is five nine, just like we strive to bring you five nines of quality appsec news and interviews every week.
Heh, this may be one of the shortest intros.
-
The Robots
Hello protocols, packets, and programs,
In May 1978 electronic music legends Kraftwerk released “The Robots”. It’s a model of the band’s hypnotic rhythms and sparse lyrics.
And if you listen carefully, there’s an appsec message in
“We are programmed just to do
Anything you want us to”
-
Approaching 200
Hello protocols, packets, and programs,
We’re approaching our 200th episode, so how should we celebrate?
200 hardening steps for Kubernetes, 200 XSS payloads, the 200 Java CVEs that have come out in the past six months?
We’ll see.
-
Dangerous Binary Thinking
Hello protocols, packets, and programs,
Whatever category you fall into, we’re glad you’re listening.
Because the only binary thinking around here comes from computers.
And if you’ve been counting CVEs or calculating CVSSes, then you know just how dangerous that binary thinking can be.
-
Beyond Top 10
Hello protocols, packets, and programs,
Every week we bring you interviews and news on application security.
We go beyond top 10 lists and CVEs with fancy names to find interesting angles and insights.
So whether your appsec knowledge is zero-days or in its early days, join us for another dive into DevOps and security.
-
Poisson
I far prefer the French approach to April Fool’s with their Poisson D’Avril – slap a paper fish on the back of an unsuspecting victim.
Much like appsec slaps a bunch of checklists on unsuspecting code.
But maybe the joke’s on us?
After all, we still have CVEs week after week after week.
Maybe it’s the term appsec itself – it starts with apps and whatever good intentions you might have, but it nevertheless always ends in C.
-
Tell Me Now
We’re back with the New Wave Post-Punk Security Hour.
Just imagine Duran Duran providing the theme for breach notification requirements.
They released, “Is there something I should know?” in March 1983 with the opening lyrics of
“Please, please tell me now
Please, please tell me now”
-
Clue
Hello protocols, packets, and programs,
I love role-playing games like D&D and board games like Clue. Clue is a game about solving mysteries.
Like –-
Who killed the kernel with the dirty pipe in the code library?
Where was the Java stack killed with a JNDI?
But where the movie Clue gave us mystery and comedy and an amazing cast including Tim Curry –
Appsec just gives us a cast of CVEs with curious names and patching SLAs that far too many people laugh at.
-
Friday
Hello protocols, packets, and programs,
The Cure have a famous song about Friday, with the lyrics:
“Monday you can fall apart
Tuesday, Wednesday, break my heart
Thursday doesn’t even start
It’s Friday, I’m in love”
Which, honestly, sounds like someone messing up their git branch,
Trying to resolve merge conflicts in a rebase gone wrong,
Dealing with a force push to the wrong branch,
Then finally just deleting it all and starting with a new git clone.
In December 2022 The Cure re-released a documentary of their 1991 tour, Play Out. It comes 30 years after Wish, the album that included “Friday I’m in Love.”
Instead of an interview segment for this episode, John and I talked about resources and tools for learning appsec. It’s an extension of a previous webcast on “DIY: Building a Security Lab at Home.”
-
Internal Jokes
Hello protocols, packets, and programs,
You know I love music references and, being February, it’s a chance to mention Janet Jackson’s album Control, released in February 1986.
Its themes of self-determination and respect are something any Trust and Safety team should be mindful of.
And with all this supposed security shifting left, it’s a good time for DevOps teams to turn to appsec and invoke one of my favorite songs, “What have you done for me lately?”
-
Perfect Direction
Hello protocols, packets, and programs,
As we start a new year, let’s review the recent decades.
1982 gave us the Commodore 64
1992 gave us Windows 3.1 with Apple’s TrueType font support
2002 gave us the Blackberry 5810, the first smartphone…-ish device
2012 gave us the Raspberry Pi, which can run that Commodore 64 or Windows 3.1 with an emulator.
So, 2022, whatever hardware or software innovations or emulations you have in store.
Make them cool like Blackberries, Raspberries, or the Commodore.
-
Cheesy Tomato Dreams
Hello protocols, packets, and programs,
In the movie 2001: A Space Odyssey, the infamous AI, HAL 9000, tells us it became operational in January 1992.
JavaScript didn’t become operational until 1995.
The HTTP/1.1 standard didn’t become operational until 1997.
DARPA ran its Cyber Grand Challenge Final Event at BlackHat in 2016.
And today? 54 years after the movie came out and 21 years from when it was set?
Companies are still trying to put AI into appsec and developers are still trying to deal with monoliths.
-
Big Smiles
Hello protocols, packets, and programs,
You’re listening to Application Security Weekly, where we present interviews and news on all things appsec, appsec-adjacent, or just cool things that DevOps teams should know about.
We occasionally venture into the past to help us understand the present –- and to see whether appsec has made any progress. Because some of that “shift left” motto might translate to “We didn’t so hot. You try it.”
-
I Need an Exit
Unfortunately, no one can be told that we take security seriously.
You have to see it for yourself.
You take the blue pill – the story ends, you change your password,
And have credit monitoring for the rest of your life.
You take the red pill – and have your eyes opened,
Mostly because you’ll be looking for that Yubikey you always misplace,
And I show you how deep the appsec goes.
Remember…all I’m offering is the truth. Nothing more.
Dan Guido talked about why Trail of Bits engages in its particular style of consulting. Dan and crew are well known for impactful security research, tools, and projects. They’re not interested in poking at random software for vulns, they want to eliminate entire classes of vulns. He also talked about fuzzing for efficient vuln discovery and what happened when one of the team re-animated a 30-year old fuzzer to run it against modern code.
The Matrix was released March 31, 1999.
It’s a story about humans and machines, which makes it easy to see the metaphor for appsec. But it’s also about identity and self-determination – themes that even the machines deal with in Resurrections.
And, of course, it’s about style. Style in clothing, in hair, and in self-expression. This is the more important metaphor for appsec – collaboration and community building that welcomes self-expression, including gender, and embraces the diversity of groups.
This wraps up another year of the podcast. Thank you listeners!
-
Vulnerability Phone
(phone dialing)
Hello! And welcome to vulnerability phone.
If you know the name of the vuln you’d like to see, press one.
(beep)
Please enter the CVE now
(2021-44228)
You have selected log4j. If that is correct, press one.
(beep)
Log4j is playing at Minecraft, cloud services, security vendors, iCloud, Amazon, Apache Struts, your toaster, small children, puppies, and –
Well, you get the point.
If you also get the reference to moviefone, then not only do you have to update log4j, it’s probably time to move out of the past and update your JVM to a version that was released this decade as well.
This was a fun intro to come up with. Of course, I had to use the correct DTMF tones for all of the numbers. I’ll leave the opening phone number as a puzzle to solve. (A puzzle that’s neither difficult nor all that mysterious, but one who’s attention to detail will hopefully generate a smile.)
I wanted to find some humor in the topic that didn’t involve mocking developers or making light of the work that security and DevOps teams are putting into addressing the vuln – that’s the lazy path. Being smug about software design or programming languages never helped anyone in the first few decades of appsec. It’s certainly not going to be productive now. And it’s not very entertaining.
Log4j will be an infosec topic for the next several years. It’ll also highlight – once again – the importance of maintaining an asset inventory and having a process for identifying supply chain issues. If 2021 was the year everyone used the incident that rhymes with Polar Fins to talk about why supply chain security is so important, 2022 will be the year of Log4Shell.
The show notes have more details on how this specific vuln fits into the larger picture of application security. One thing I didn’t include was a timeline to put this into more context (see below). I find it interesting to think of this vuln as a type of recurring event as opposed to a single fire to extinguish. Chasing zero-days isn’t a strategy – creating hardened software architectures and layered security controls is. It’s easy to recommend asset inventories and egress proxies; it’s harder to implement them effectively. But that’s one of the goals of modern appsec, to shift from the burn-out of BugOps to the emergent security of DevOps.
My presentation from DevSecCon London 2017 talks more about the idea of BugOps vs. DevOps.
Finally, here’s a rough timeline of the Log4j vuln, with Hearbleed and Shellshock noted for reference:
- Shellshock bug introduced to Bash in August 1989, appears in 1.03 release in September 1989.
- Heartbleed bug introduced to OpenSSL in December 2011, appears in 1.0.1 release in March 2012.
- Log4j devs add the JNDILookup plugin to Log4j 2.0-beta9, which appears in September 2013.
- Heartbleed (CVE-2014-0160) disclosed in April 2014 (~2 years after bug introduced to code).
- Shellshock (CVE-2014-6271) disclosed a few months later in September 2014 (~25 years after bug introduced to code).
- Researchers discuss JNDI LDAP manipulation that leads to RCE at BlackHat in August 2016.
- Researcher Chen Zhaojun of Alibaba Cloud Security Team discloses log4j flaw in December 2021 (~8 years after bug introduced to code).
-
Eyes Open
Remember Flash? That free browser plugin?
In November 1996 Macromedia unleashed it upon the world. Then Adobe acquired it, keeping the thing alive with critical patch after critical patch.
In November 2011, after Apple refused to allow Flash on iOS, Adobe announced the end of support for mobile.
Yet it wasn’t until January 2021 that Flash officially died on the desktop.
So, maybe now when you hear the phrase, “Gone in a Flash”, it might not actually be referring to how your system was compromised.
-
Schools of Magic
It’s the eighth day of the month and there’s an appsec journey in the number eight.
Like the rise of personal computing with the 8-bit Commodore 64.
Modern HTML requires character encoding with utf-8.
Chrome’s JavaScript engine is called v8.
Number 8 in the new OWASP Top Ten is about software and data integrity failures.
And an 8 on its side looks like infinity, which is about how long it’ll take for appsec to get that top ten down to zero.
The schools of magic is another nod to Dungeons & Dragons. The game defines eight schools, a number that fit nicely with the intro’s theme. I’ve always been partial to playing wizards. Two favorites over the last few years have been an illusionist and a necromancer. I plan to try a diviner next – the spells aren’t as uniformly combat-related like the classic evoker, but that just feels like a fun challenge and a chance for creativity.
-
Horror Stories
It’s almost Halloween, so why not celebrate with an appsec adaptation of the opening of Edgar Allan Poe’s The Raven.
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore—
Which I coded, error trapping, suddenly there came a tapping,
As of testing gently flapping, flapping I could not ignore—
“’Tis some insecure,” I muttered, “tapping at my logic for—
Buffer size and nothing more.”
It took me a while to settle on phrasing I liked. The following version was a close runner up. It hinted at SQL injection instead of memory safety, but it didn’t feel like it captured an injection flaw just right.
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore—
Which I coded, error trapping, suddenly there came a tapping,
As of input gently snapping, snapping at my datastore—
“’Tis some insecure,” I muttered, “tapping at my datastore—
Using AND instead of OR.”
-
Highly Technical
In the days leading to Halloween, what could be spookier than spending time in a haunted house?
How about a haunted codebase?
With the sound of TODOs dragging their Jira backlogs down dusty hallways, parsers conducting demented operations on their pointers, let alone trying to safely test an execution path?
So when you lock the door behind you, use a FIDO key.
In the interview segment, Nuno and Tiago talked about integrating web scanners into the CI/CD pipeline. The discussion focused on DAST, but the success criteria and the attention to developer experience generalizes to any security tool, whether it’s SAST, SCA, or YOLO.
-
Opposite Direction
Welcome to October, my favorite and spookiest month.
A month of haunted code and HTM-Hell.
You may find yourself in Java’s Crypt or encountering the horror of Ruby EntRails.
If so, please enable automatic updates now and use only a FIDO key for MFA.
After all, you wouldn’t want your code editor to become ID-Evil…
-
Strange New Clouds
Captain’s log, stardate 41153.7.
Our destination is planet AppSec, beyond which lies the great unexplored mass of secure code.
My orders are to examine the news, and what’s been built there by the inhabitants of that world.
These are the episodes of the podcast ASW.
Its continuing mission: to explore strange new clouds.
To seek out new life and new DevOps migrations.
To boldly go where no one has gone before!
I was inspired this August by memory of Gene Roddenberry’s birthday. That stardate comes from “Encounter at Farpoint”, the very first episode of ST:TNG. To this day, I remember my surprise at seeing the character Zorn (Michael Bell), then hearing the voice of Duke from the “G.I. Joe” cartoons. It was like a collision of worlds that for some reason left an impression on me.
Live long and prosper! 🖖
-
Time Traveling
Let’s journey back in time to August 1995.
Internet Explorer has just been released, beginning a battle of browsers and a war of HTML standards.
Speaking of…
Garbage released their self-titled album also in August 1995.
With both browser and band giving us the lines “Not My Idea” and “Fix Me Now”.
I’ll take Garbage’s album over IE quirks mode any day.
After all, they had the better version 2.0.
And today, one is on tour and one is headed for retirement.
-
Alert Your Stardestroyers
It’s that time in May when people start talking about that movie from the 80s. The one with James Earl Jones as the villain. Came out in May 1982.
That’s right. Once again we must ask, “Conan, what is best in DevOps?”
“To crush CI/CDs,
to see supply chains before you,
and to hear the attestation of their SBOM.”
Since this episode aired on May 3rd, it was a chance to acknowledge Star Wars Day, aka May 4th – as in, may the fourth (force) be with you.
The Empire Strikes Back came out in 1980. Conan didn’t appear until two years later. But, wonderfully, James Earl Jones plays the villain in both. We only hear him in Empire (David Prowse wore Vader’s suit), but we see him – with long hair no less – as the evil Thulsa Doom in Conan.
I first riffed on this quote in episode 137.
-
Minimum Safe Distance
What would a breach notification look like in the aftermath Aliens?
Weyland-Yutani takes the security of our systems and data seriously and we have implemented numerous safeguards to protect them.
When we learned of a nearby derelict, our investigation determined it was something for you to explore.
Because of our commitment to trust and transparency, we have worked diligently to make LV-426 important to
building better worlds
with you – our families at Hadley’s Hope.
We recorded this episode on April 26, which was fortuitous for a fan of 80s movies and horror. April 26 has been adopted as “Alien Day” to celebrate the Alien movie franchise. The date, as 4/26, is a nod to LV-426, the moon from Aliens. Weyland-Yutani established a terraforming colony, Hadley’s Hope, on that moon. Things didn’t turn out well for the colony and Ellen Ripley, now rescued from her escape shuttle long after the events on the Nostromo, has a pretty clear idea of what must have happened.
As a final note, if you check the bookshef in the background of the video, I have a copy of the Alien RPG propped up.
-
Always Interesting
Friends, DevOps, SREs, lend me your ears.
I come to bury appsec, not to praise it…
Ooh, this opening Shakespeare bit isn’t going in the right direction.
And that’s why you should beware the developer IDEs of March.
Noted.
-
A Tree of Woe
Earlier I asked, “Conan, what is best in DevOps?”
“To crush your CVEs,
to see threat models before you,
and to hear the automation of their workflows.”
This quote comes from the 1982 film, Conan the Barbarian, where Arnold Schwarzeneggar delivers it with his distinct Austrian accent. It’s one of the many films that made 1982 such a high point in movie history.
I revisited this quote in episode 149.
-
Pokémon & Synthwave & Hair & Hats
A new year calls for new resolutions, such as exiting vim on the first try, remembering which git rebase, reset, or revert is useful, securing your supply chain, and subscribing to ASW.
(Of which, only one of those is actually achievable.)
We started off the year with a deep dive into privacy by design – a topic that’s appsec-adjacent, but one that carries its own threat models and design patterns. Notably, it’s also a relatively new topic when you consider how slowly “privacy engineering” teams have grown throughout the industry.
And, being January 2021, it was a chance to commemorate the 25th anniversary of Lawnmower Man 2: Beyond Cyberspace. It’s a title that’s been criminally left off of far too many lists of hacker movies.
-
Underlying Capabilities
Ah, my first time hosting. The intro is barely three sentences and barely engaging. How far we’ve come. But it does have one small artifact that I’ve preserved through all of the following intros. The teaser for the news segment always ends with a change in intonation and the promise of…
– and more.
I’ve also changed around the camera setup and computer. I enjoyed lurking behind my laptop with its prominent D&D sticker and, later on, a DNA Lounge sticker. Alas, the screen size and CPU weren’t conducive the improving the quality of show. I’ve since upgrade to one of the M1 iMacs.
Keith Hoodlet started the podcast at episode 0 and was the main host up through 55. He still drops in on the Security Weekly family, including ASW episode 200. Check out his blog at securing.dev.