2016TUbilio (Technical University of Darmstadt)Requires access

Don't let data Go astray - A Context-Sensitive Taint Analysis for Concurrent Programs in Go

Ka I Pun, Martín Steffen, Volker Stolz, Anna-Katharina Wickert, Eric Bodden, Michael Eichberg

Open publisher page 0 citations

Abstract

Taint analysis is a form of data flow analysis aiming at secure information flow. For example, unchecked user input is considered typically as “tainted”, i.e., as untrusted and potentially dangerous. Untrusted data may lead to corrupt memory, undermine the correct \nfunctioning or privacy concerns of the software otherwise, if it reaches program points it is not supposed to. Many common attack vectors exploit vulnerabilities based on unchecked data and the programmer’s negligence of foreseeing all possible user inputs (including malicious ones) and the resulting information flows through the program. We present a static taint analysis for Go, a modern, statically typed programming language. Go in particular features concurrent programming, supporting light-weight threads \ndubbed “goroutines”, and message-based communication. Beside a classical context-sensitive taint analysis, the paper presents a solution for analyzing channel communication in Go. A longer version of the material will appear in [2].

About this research paper

What this paper is about

Taint analysis is a form of data flow analysis aiming at secure information flow. For example, unchecked user input is considered typically as “tainted”, i.e., as untrusted and potentially dangerous. Untrusted data may lead to corrupt memory, undermine the correct \nfunctioning or privacy concerns of the software otherwise, if it reaches program points it is not supposed to. Many common attack vectors exploit vulnerabilities based on unchecked data and the programmer’s negligence of foreseeing all possible user inputs (including malicious ones) and the resulting information flows through the program. We present a static taint analysis for Go, a modern, statically typed programming language. Go in particular features concurrent programming, supporting light-weight threads \ndubbed “goroutines”, and message-based communication. Beside a classical context-sensitive taint analysis, the paper presents a solution for analyzing channel communication in Go. A longer version of the material will appear in [2].

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Taint analysis is a form of data flow analysis aiming at secure information flow. For example, unchecked user input is considered typically as “tainted”, i.e., as untrusted and potentially dangerous. Untrusted data may lead to corrupt memory, undermine the correct \nfunctioning or privacy concerns of the software otherwise, if it reaches program points it is not supposed to. Many common attack vectors exploit vulnerabilities based on unchecked data and the programmer’s negligence of foreseeing all possible user inputs (including malicious ones) and the resulting information flows through the program. We present a static taint analysis for Go, a modern, statically typed programming language. Go in particular features concurrent programming, supporting light-weight threads \ndubbed “goroutines”, and message-based communication. Beside a classical context-sensitive taint analysis, the paper presents a solution for analyzing channel communication in Go. A longer version of the material will appear in [2].

Key concepts: Taint checking, Computer science, Programmer, Exploit, Computer security, Context (archaeology), Static analysis, Programming language

Related papers

Back to paper searchBrowse research topicsOriginal source
Don't let data Go astray - A Context-Sensitive Taint Analysis for Concurrent Programs in Go — Research Paper | ScholarLens