Provable Robustness of (Graph) Neural Networks Against Data Poisoning and Backdoor Attacks

Lukas Gosch, Mahalakshmi Sabanayagam, Debarghya Ghoshdastidar, Stephan Günnemann
7/15/2024
cs.LGcs.CR

No official code found. Best implementation: saper0/qpcert (4 stars, last commit 2025-04-21).

Abstract

Generalization of machine learning models can be severely compromised by data poisoning, where adversarial changes are applied to the training data. This vulnerability has led to interest in certifying (i.e., proving) that such changes up to a certain magnitude do not affect test predictions. We, for the first time, certify Graph Neural Networks (GNNs) against poisoning attacks, including backdoors, targeting the node features of a given graph. Our certificates are white-box and based upon $(i)$ the neural tangent kernel, which characterizes the training dynamics of sufficiently wide networks; and $(ii)$ a novel reformulation of the bilevel optimization problem describing poisoning as a mixed-integer linear program. Consequently, we leverage our framework to provide fundamental insights into the role of graph structure and its connectivity on the worst-case robustness behavior of convolution-based and PageRank-based GNNs. We note that our framework is more general and constitutes the first approach to derive white-box poisoning certificates for NNs, which can be of independent interest beyond graph-related tasks.

View on arXivView PDF

Code Implementations(1)

saper0/qpcertCommunity100%

Codebase for papers "Exact Certification of (Graph) Neural Networks against Label Poisoning" and "Provable Robustness of (Graph) Neural Networks Against Data Poisoning and Backdoor Attacks"

41Python, Jupyter NotebookOct 14, 20241 years ago

Similar Papers

Cite this paper

@article{gosch2024provable,
  title  = {Provable Robustness of (Graph) Neural Networks Against Data Poisoning and Backdoor Attacks},
  author = {Lukas Gosch and Mahalakshmi Sabanayagam and Debarghya Ghoshdastidar and Stephan Günnemann},
  year   = {2024},
  eprint = {2407.10867},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2407.10867v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2407.10867.svg)](https://codeofpaper.com/paper/2407.10867)

Discussion