Designing Secure Software Blog
The book Designing Secure Software: a guide for developers took nearly two years from finding a publisher to publication. These posts tell part of my experience developing the book and writing it. Writing a book is the ideal project for riding out a pandemic.
-
Trusting AI
Whenever considering applications that rely on generative AI, I believe we always need to ask if we can trust it. And given the technology’s track record it’s hard to imagine how w…
-
Better security discussions
I’ve been a fan of threat modeling for many years, but only recently seeing that it isn’t just behind-the-scenes work for software professionals to do. Threats and mitigations need…
-
Running the “Reflections on Trusting Trust” Compiler
In the Afterword of my book I mention Ken Thompson’s classic “Trusting Trust” paper showing how to embed a backdoor into an OS by compiling the compiler such that the modification …
-
Japanese translation is on sale
8月18日、新刊『セキュアなソフトウェアの設計と開発』を発刊 The Japanese translation of my book goes on sale this week. This is particularly rewarding for me because I lived and worked there for about ten year…
-
On the Signature Reblocking Problem in Public Key Cryptosystems
In Chapter 5 of the book I write about my good fortunate meeting two of the RSA algorithm inventors at MIT, and collaborating with them. As soon as I had a chance to ready their (a…
-
Bard likes my book
I was surprised that Bard has read my book, or at least claims to have. Here’s our conversation about it, word for word: it’s a good overview. Q: What is the best book available ab…
-
Polish translation is on sale
Wspaniale jest widzieć, że ukazało się polskie tłumaczenie mojej książki o bezpieczeństwie oprogramowania. (It’s great to see that the Polish translation of my book on software sec…
-
Epigrams in the book
I like clever sayings and wise proverbs, the shorter the better, so I wanted to work a number of them into the book. There are 45 of them in there, and for the most part I think th…
-
Book on sale tomorrow
Finally my software security book is available for general sale tomorrow (December 21, 2021). Recent events such as the Log4j vulnerability demonstrate that our work is far from ov…
-
Learning from Log4j
With Log4j very much in the news, if I could update my new book by magic it would make a terrific real world example to write about because it ties together a number of topics in t…
-
A Wicked Problem
A wicked problem is one that is difficult to even clearly describe because of its diffuse and interconnected nature, and this is a useful lens to view software security. How are we…
-
Shipping
At last, print copies of my book Designing Secure Software: A Guide for Developers are now in stock, but only from the publisher. (The general on-sale date is in December.) https:/…
-
Vulnerabilities are Mistakes
Spilled coffee beans, breaking the sound barrier, and software security The Right Stuff is Tom Wolfe’s popular history of the US astronaut program, and it begins by recounting the …
-
References links checking
While writing this book I curated a list of web references for sources of material or details beyond what made sense to incorporate in the text. The publisher’s house style did not…
-
Best Software Security Books of All Time
I was surprised to see that my book, “Designing Secure Software: A Guide for Developers”, made it to BookAuthority’s Best Software Security Books of All Time … especially since the…
-
Scope of the book
One big learning for me from writing a book on software security is realizing the importance of context to security. There was a constant challenge of discovering the right scope —…
-
Root causes
Each time a high-profile software security bug is reported, I wonder how this happened yet again. I don’t expect vulnerabilities to approach zero any time soon, but still I’d like …
-
Statement of Intention
I believe that we can do so much better at delivering more secure software, and my book explains how we could do that. While there are a few new ideas in there, it’s mainly about c…
-
Announcement
I’m proud to announce my new software security book, Designing Secure Software: A Guide for Developers. I wanted to create something a little different: broadly readable rather tha…
-
Coming Soon
Awaiting the release of any book requires patience, but this year amidst numerous supply chain challenges it’s particularly uncertain. The original October target date is almost he…
-
Complete Mediation in Sci-Fi
In the book Project Hail Mary by Andy Weir, there is a short scene (on page 339) that features a very clear example of failure to implement Complete Mediation (one of the secure de…
-
Custom domain for this website
It’s time to point the domain name designingsecuresoftware.com at this website. For reference, the docs I referenced for this are noted below. The DNS record updates by the registr…
-
Complete book proof review
This week I reviewed the complete book PDF, checking that previous changes were successfully made by the compositor. With luck that should be make it final. The review consisted of…
-
Index review
The penultimate review for the book is the index, and I just hit Save on it. Creating the index was a surprisingly interesting as well as challenging part of writing the book, and …
-
Updating Hugo
Hugo has worked well for me building this static website overall. However, it remains generally somewhat mysterious and there have been some bumps. After updating the hugo command …
-
Sales categories adjustment
When the book appeared in the Amazon marketplace I set up an author’s page and claimed the title. I expected some sort of verification, but they just granted me the book I asked fo…
-
Publication date set
This Monday morning I started the week by discovering that a publication date is set for the book: October 19, 2021. Three months out, there is a lot of work left to do reviewing p…
-
Cover design
Once the title was chosen by the publisher (in consultation, of course) the cover design becomes the next topic of discussion. Cover design is up to the publisher, and I’m quite ha…
-
Layout design for Appendix A
Writing about software design is difficult because there is little to no standard methodology or practice – everyone does it differently. So there is a challenge as to how to show …
-
Copy edit of a chapter
Copy edit is the last chance to make significant changes to the text. Most chapters involve plenty of sentence rewriting and a few moves of a paragraph, but much of the delta is pu…
-
Artwork ready for review
The artwork came back as a PDF with one drawing per page, labeled by filename. The first batch was pretty good, considering that Richard (I learned the artist’s name) must have had…
-
Going live at kohnfelder.gitlab.io
This is the obligatory post that accompanies the skeleton first draft of the website. Setting up Hugo at GitLab was easy: fork Hugo from https://gitlab.com/pages/hugo, follow the s…
-
Copy edit begins
Copy edit phase starts this week with two chapters (Ch 1 and 4). The chapters that resulted from developmental editing have been converted to a new style regime, and are now ODT in…
-
Artwork help needed
Perhaps it was due to poor grades in Art class back in my school days, but I quickly realized that the sketches I did for graphics in the book we not going to be up to par. Having …
-
Custom shading to highlight substrings
The section of the book on SQL injection needs to illustrate how an attack string gets inserted into a text string representing a SQL statement with unexpected results. The standar…