Summary

This spec describes using AutomatedProblemReports and AutomatedProblemReportsTagging to help bring developer focus to likely new security vulnerabilities.

Rationale

In the course of generating AutomatedProblemReports, the details of what triggered the report can indicate certain classes of potential security vulnerabilities. We should take advantage of this to give Ubuntu developers an edge in locating and correcting security vulnerabilities.

Use cases

There are many use cases:

In each of these cases the AutomatedProblemReports daemon would report a problem back to Ubuntu. On the server, these reports would be tagged and prioritized so that likely security vulnerabilities could be examined first.

Scope

The scope of this spec includes a handful of reliably detectable security situations. Our goal is to tag and prioritize these as likely security holes that need immediate attention when submitting AutomatedProblemReports, as opposed to other simple crashes.

In addition to specific detection systems, SIGSEGV and SIGILL in various conditions may indicate specific security flaws. These situations show certain conditions where code can be altered or data can be executed, indicating the possibility that externally supplied data can alter the execution of a program. See Priority under Unresolved issues below for details.

We are only minimally interested in overflows trapped with FORTIFY_SOURCE at run-time; these are highly specific and do not work if invoked from wrapper functions, i.e. using glib will defeat this. As Ubuntu doesn't use FORTIFY_SOURCE, we don't care right now. Still, we should trap these as well later.

Design

glibc is already capable of malloc() and free() checks, but needs to trigger our daemon.

glibc needs to trigger our daemon from __stack_chk_fail() when GccSsp goes off.

AutomatedProblemReportsTagging should tag reports as Stack Smashes, double-free()s, and Heap Corruption.

The database of AutomatedProblemReports should preferably give some feedback on situations which are of potential security importance.

In addition, the tool for AutomatedProblemReportsNotification should display a security-related icon when a vulnerability is suspected.

Implementation

Will need to create an icon for AutomatedProblemReportsNotification and have it display as appropriate.

Code

Code will be needed in the areas described in Implementation.

Data preservation and migration

No issues exist.

Unresolved issues

BoF agenda and discussion


CategorySpec

AutomatedProblemReportsTaggingForSecurity (last edited 2008-08-06 16:29:38 by localhost)