Nonetheless there is some advantage in treating code with a similar artistic perfectionism, not because there is value in pretending that coding is some profound activity, but because by viewing code from an aesthetic point of view, one is unable to avoid obsessing over every detail.
We’re excited to announce the first Radiant Award recipient, Jason Donenfeld. We selected Jason because his work embodies two principles of security thinking that we admire: simplicity and auditability. We could see these principles shining through in his work, most notably in the great technology WireGuard. When we asked him to share his thinking on developing secure technologies, we were given insight into the care and consideration that leads to the manifestation of these principles in Jason’s work. We are pleased to share this thinking with you below, please enjoy.
Our partner in making today’s award possible is Internet Society. We’d like to thank them for their generous support of this award and its recipient.
The Internet Security Research Group has asked me to share a few amorphous thoughts on making computery things, as part of my acceptance of the Radiant Award.
1. Programmers love to program. For this reason, codebases seldom remain small and manageable, but rather, they grow so long as there is enthusiasm. The enthusiastic programmer supposes that each new feature can either be implemented by abstracting parts of the existing code base, or simply by bolting onto it unseemly hacks. This enthusiasm is propelled by cheerful users, who clamor for features, integrations, special-casing for particular use cases, convenience, or trends. There is nothing particularly wrong with that, and many facets of life have a similar structure: companies grow in relation to their customers, cities blossom in relation to societal trends, and even an individual’s own set of knowledge and interest expand organically throughout life. But not all things have this structure. Writing or artwork, for example, is often created with the intention of finishing and perfecting it, with the result of the labor simultaneously a statement of an idea as well as the artifact representing it.
But while the artistic artifact often strives to be universal, a piece of code is inherently contingent on its technological particulars, serving a particular utility. Nonetheless there is some advantage in treating code with a similar artistic perfectionism, not because there is value in pretending that coding is some profound activity, but because by viewing code from an aesthetic point of view, one is unable to avoid obsessing over every detail. Any potential addition to the codebase as a whole confers a particular anxiety, as each addition threatens to disturb the aesthetic harmony. In considering features and additions to a particular codebase, it is possible to apply this principle to the whole of the system in which that codebase will live, to ask what is the ideal harmonization of all constituent parts. It therefore becomes the job of the programmer to balance the aesthetic motivation, on one hand, with the utilitarian and technologically contingent nature of the activity, on the other. The result of walking this careful balance is usually code that is simpler and more enjoyable to read, and sometimes that translates to being a more secure codebase too.
2. The “hacker mindset” is extraordinarily stimulating, as far as computer activities go. It frequently involves pulling back the fabric of expectations, to reveal what actually lingers beneath a given system. It involves looking in neglected corners and searching for the machine-inside-the-machine. The mindset pairs knowledge of obscurities with a sort of upside-down creativity. Generally security researchers find themselves breaking things all the time, which for the most part involves exciting puzzles and a seemingly never ending supply of novel tricks. But at the end of the day, the majority of systems one breaks are rather ugly, and if breaking ugly things is the only outlet for such a fascinating way of thinking, that’s rather disappointing. In 2013, Travis Goodspeed inspired me to consider an alternative approach, with his Southern Appalachian Space Agency (SASA), in which he reverse engineered an old gyro-stabilized navy dish for geostationary satellites to become a land-based moving satellite tracker. Rather than the usual destructive approach, SASA is almost entirely creative, yet still draws on a lot of the same constrained-environment trickery beloved by hackers. The SASA example has been an instructive anchoring point for determining to which kinds of projects I devote my time.
- Jason Donenfeld, December 2018
Internet: www.zx2c4.com and www.wireguard.com
Twitter: @EdgeSecurity and @zx2c4
Email: Jason@zx2c4.com