Title: Computers don’t go to high school, or: Safety and Security Risks Induced by Machine Arithmetic
Presenter: Thomas Wahl
Abstract: Floating-point arithmetic (FPA), the most widely used approximation of real arithmetic on computers, often delivers inaccurate and occasionally outright algebra-defying numeric results. This restrains optimizing compilers, and confuses humans and their high school memories, but we mostly live with that. Less known is that FPA implementations are by design only loosely standardized, which makes numeric computations architecture dependent and thus hard to reproduce, potentially causing surprising cross-platform code behaviors. Worse, special values in FPA allow attackers to reverse-engineer otherwise secret information about the source code or the involved data. In this talk I will first give some brief background on FPA, its design decisions, fundamental consequences of these decisions, and alternatives to FPA and why we do or do not use them. I will discuss existing floating-point standards and why even compliant FPA implementations are not guaranteed to agree on the results from numeric computations. I will then illustrate the problems sketched in the previous paragraph, using examples and demos where feasible. We will see how aggressive code optimizations can give rise to entirely botched calculations, how control-flow can make wrong turns due to numeric inaccuracies, and how IP in neural networks can be stolen simply by exploiting quirks of FPA. Time permitting, I will highlight what technology is available to investigate floatingpoint-induced reliability and security problems.