2016 · 29 citations · 19 references
ComputingComputer ScienceInformation TechnologyProgramming LanguagesSoftware EngineeringTeamworkSoftware ConstructionSoftware MetricsSoftware Security EngineeringSoftware TestingSystem SecurityTeam BuildingBreakersSecure Development Life Cycle
Typical security contests focus on breaking or mitigating the impact of buggy systems. We present the Build-it, Break-it, Fix-it (BIBIFI) contest, which aims to assess the ability to securely build software, not just break it. In BIBIFI, teams build specified software with the goal of maximizing correctness, performance, and security. The latter is tested when teams attempt to break other teams' submissions. Winners are chosen from among the best builders and the best breakers. BIBIFI was designed to be open-ended-teams can use any language, tool, process, etc. that they like. As such, contest outcomes shed light on factors that correlate with successfully building secure software and breaking insecure software. During 2015, we ran three contests involving a total of 116 teams and two different programming problems. Quantitative analysis from these contests found that the most efficient build-it submissions used C/C++, but submissions coded in other statically-typed languages were less likely to have a security flaw; build-it teams with diverse programming-language knowledge also produced more secure code. Shorter programs correlated with better scores. Break-it teams that were also successful build-it teams were significantly better at finding security bugs.
19
Statistical Power Analysis for the Behavioral Sciences
Keith E. Muller, Jacob Cohen · Technometrics · 1989 · 83.9K citations
The protection of information in computer systems
Jerome H. Saltzer, Michael Schroeder · Proceedings of the IEEE · 1975 · 1.9K citations
Flexible dynamic information flow control in Haskell
Deian Stefan, Alejandro Russo, John C. Mitchell et al. · 2011 · 147 citations