Language Selection

English French German Italian Portuguese Spanish

Insecurity blues: What I learned from my buggy code

Filed under
Software

It hasn't been a good month for my code. Samba, the project I'm responsible for, has had to announce several security flaws. Unfortunately some of them were in code I wrote. I always do a large amount of soul-searching whenever that happens. There's nothing worse than finding out something you were responsible for is the cause of many thousands of people having to waste their time rolling out patches. It always makes me wonder if the time has come to give up this programming lark and end my days peacefully in management, messing up other people's code instead of creating my own.

It's very educational however to look at the causes of the flaws, and try and learn what we can from the bugs and also our reactions to them. Samba is an old program. The initial code was originally written 15 years ago. At that time, modern security problems such as integer wrap (where adding two numbers together can end up with a number smaller than both of them, due to the fixed sizes of integers that processors deal with), or heap overflow vulnerabilities (where overwriting unallocated memory on the program heap can allow a clever attacker to seize control of a program) were unheard of. We knew about buffer overruns (where reading more data into a buffer than was originally allocated for it can cause a security breach) and denial of service attacks, but 1992 was a simpler, less hostile time for network software development. Most initial deployments of Samba were on networks isolated from the main Internet, by technically advanced administrators who knew how to download the source code from the Internet.

More here




More in Tux Machines

Why Android's Winning The Battle Right Now

Without a doubt, the key technological revolution of our time has been the rise of mobile computing. With iOS and Android leading the charge, the way people communicate has been transformed. Of course the most significant competition in the space is the one between the two dominant mobile platforms: Google and Apple. Together, they make up the lion’s share of the mobile market. The fierce competition between the two has been the driving force behind the incredible pace of development and innovation the market has seen. Read more

Linux Kernel Source Code of BQ Aquaris E4.5 Ubuntu Edition Published on GitHub

Some of you might be aware of the fact that about a week ago, on March 18, Carsten Munk, Chief Research Engineer at Jolla, published an interesting article on his blog, where he claimed that BQ is not offering a GPL license for the Linux kernel that powers the BQ Aquaris E4.5 Ubuntu Edition device. Read more

Google makes deploying software on its cloud a trivial task

Google is offering a new incentive for using its Google Compute Engine. With Google Cloud Launcher, you can launch more than 120 popular open-source packages. Read more

Linux Kernel 3.19.3 Arrives with ARM, ARM64, and IPv6 Fixes, Many Updated Drivers

Greg Kroah-Hartman has announced today, March 26, the immediate availability for download of the third maintenance releases for Linux 3.19 kernel, along with Linux kernels 3.14.37 LTS and 3.10.37 LTS. Additionally, Linux kernel 3.18.10 LTS has also been announced a couple days ago. Read more