Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

Data and Applications Security and

Privacy XXXIII 33rd Annual IFIP WG 11 3


Conference DBSec 2019 Charleston SC
USA July 15 17 2019 Proceedings
Simon N. Foley
Visit to download the full and correct content document:
https://textbookfull.com/product/data-and-applications-security-and-privacy-xxxiii-33rd
-annual-ifip-wg-11-3-conference-dbsec-2019-charleston-sc-usa-july-15-17-2019-proc
eedings-simon-n-foley/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Data and Applications Security and Privacy XXX 30th


Annual IFIP WG 11 3 Conference DBSec 2016 Trento Italy
July 18 20 2016 Proceedings 1st Edition Silvio Ranise

https://textbookfull.com/product/data-and-applications-security-
and-privacy-xxx-30th-annual-ifip-wg-11-3-conference-
dbsec-2016-trento-italy-july-18-20-2016-proceedings-1st-edition-
silvio-ranise/

Trust Management XIII 13th IFIP WG 11 11 International


Conference IFIPTM 2019 Copenhagen Denmark July 17 19
2019 Proceedings Weizhi Meng

https://textbookfull.com/product/trust-management-xiii-13th-ifip-
wg-11-11-international-conference-ifiptm-2019-copenhagen-denmark-
july-17-19-2019-proceedings-weizhi-meng/

Security Privacy and Anonymity in Computation


Communication and Storage SpaCCS 2019 Atlanta GA USA
July 14 17 2019 Proceedings Guojun Wang

https://textbookfull.com/product/security-privacy-and-anonymity-
in-computation-communication-and-storage-spaccs-2019-atlanta-ga-
usa-july-14-17-2019-proceedings-guojun-wang/

Testing Software and Systems 31st IFIP WG 6 1


International Conference ICTSS 2019 Paris France
October 15 17 2019 Proceedings Christophe Gaston

https://textbookfull.com/product/testing-software-and-
systems-31st-ifip-wg-6-1-international-conference-
ictss-2019-paris-france-october-15-17-2019-proceedings-
Information Security and Privacy 24th Australasian
Conference ACISP 2019 Christchurch New Zealand July 3 5
2019 Proceedings Julian Jang-Jaccard

https://textbookfull.com/product/information-security-and-
privacy-24th-australasian-conference-acisp-2019-christchurch-new-
zealand-july-3-5-2019-proceedings-julian-jang-jaccard/

Security and Privacy in Social Networks and Big Data


5th International Symposium SocialSec 2019 Copenhagen
Denmark July 14 17 2019 Revised Selected Papers Weizhi
Meng
https://textbookfull.com/product/security-and-privacy-in-social-
networks-and-big-data-5th-international-symposium-
socialsec-2019-copenhagen-denmark-july-14-17-2019-revised-
selected-papers-weizhi-meng/

Frontiers in Cyber Security Second International


Conference FCS 2019 Xi an China November 15 17 2019
Proceedings Bazhong Shen

https://textbookfull.com/product/frontiers-in-cyber-security-
second-international-conference-fcs-2019-xi-an-china-
november-15-17-2019-proceedings-bazhong-shen/

Wired Wireless Internet Communications 17th IFIP WG 6 2


International Conference WWIC 2019 Bologna Italy June
17 18 2019 Proceedings Marco Di Felice

https://textbookfull.com/product/wired-wireless-internet-
communications-17th-ifip-wg-6-2-international-conference-
wwic-2019-bologna-italy-june-17-18-2019-proceedings-marco-di-
felice/

Information Security Education Education in Proactive


Information Security 12th IFIP WG 11 8 World Conference
WISE 12 Lisbon Portugal June 25 27 2019 Proceedings
Lynette Drevin
https://textbookfull.com/product/information-security-education-
education-in-proactive-information-security-12th-ifip-
wg-11-8-world-conference-wise-12-lisbon-portugal-
Simon N. Foley (Ed.)
LNCS 11559

Data and Applications


Security and Privacy XXXIII
33rd Annual IFIP WG 11.3 Conference, DBSec 2019
Charleston, SC, USA, July 15–17, 2019
Proceedings
Lecture Notes in Computer Science 11559
Commenced Publication in 1973
Founding and Former Series Editors:
Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen

Editorial Board Members


David Hutchison
Lancaster University, Lancaster, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Friedemann Mattern
ETH Zurich, Zurich, Switzerland
John C. Mitchell
Stanford University, Stanford, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
C. Pandu Rangan
Indian Institute of Technology Madras, Chennai, India
Bernhard Steffen
TU Dortmund University, Dortmund, Germany
Demetri Terzopoulos
University of California, Los Angeles, CA, USA
Doug Tygar
University of California, Berkeley, CA, USA
More information about this series at http://www.springer.com/series/7409
Simon N. Foley (Ed.)

Data and Applications


Security and Privacy XXXIII
33rd Annual IFIP WG 11.3 Conference, DBSec 2019
Charleston, SC, USA, July 15–17, 2019
Proceedings

123
Editor
Simon N. Foley
Norwegian University of Science
and Technology
Gjøvik, Norway

ISSN 0302-9743 ISSN 1611-3349 (electronic)


Lecture Notes in Computer Science
ISBN 978-3-030-22478-3 ISBN 978-3-030-22479-0 (eBook)
https://doi.org/10.1007/978-3-030-22479-0

LNCS Sublibrary: SL3 – Information Systems and Applications, incl. Internet/Web, and HCI

© IFIP International Federation for Information Processing 2019


The chapter “Is My Phone Listening in? On the Feasibility and Detectability of Mobile Eavesdropping” is
Open Access. This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International
License (http://creativecommons.org/licenses/by/4.0/). For further details see license information in the
chapter.
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now
known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are
believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors
give a warranty, expressed or implied, with respect to the material contained herein or for any errors or
omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in
published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface

This book contains the papers that were selected for presentation and publication at the
33rd Annual IFIP WG 11.3 Conference on Data and Applications Security and Privacy
(DBSec 2019) that was held in Charleston, South Carolina, USA, July 15–17, 2019.
The Program Committee accepted 21 papers out of a total of 51 papers that were
submitted from 18 different countries. The papers in this book are drawn from a range
of topics, including privacy, code security, security threats, security protocols,
distributed systems, and mobile and Web security. The 43-member Program Com-
mittee, assisted by a further 43 external reviewers, reviewed and discussed the papers
online over a period of over six weeks and with each paper receiving at least three
reviews.
DBSec 2019 would not have been possible without the contributions of the many
volunteers who freely gave their time and expertise. Our thanks go to the members
of the Progam Committee and the external reviewers for their work in evaluating the
papers. Grateful thanks are due to all the people who gave their assistance and ensured
a smooth organization, in particular Csilla Farkas and Mark Daniels for their efforts as
DBSec 2019 general chairs; Sabrina De Capitani di Vimercati (IFIP WG11.3 Chair) for
her guidance and support, and Emad Alsuwat for managing the conference website.
A special thanks goes to the invited speakers for their keynote presentations. Finally,
we would like to express our thanks to the authors who submitted papers to
DBSec. They, more than anyone else, are what makes this conference possible.

July 2019 Simon Foley


Organization

IFIP WG 11.3 Chair


Sabrina De Capitani di Università degli Studi di Milano, Italy
Vimercati

General Chairs
Csilla Farkas University of South Carolina, USA
Mark Daniels Medical University of South Carolina, USA

Program Chair
Simon Foley Norwegian University of Science and Technology,
Norway

Program Committee
Vijay Atluri Rutgers University, USA
Frédéric Cuppens IMT Atlantique, France
Nora Cuppens-Boulahia IMT Atlantique, France
Sabrina De Capitani di University of Milan, Italy
Vimercati
Giovanni Di Crescenzo Perspecta Labs, USA
Wenliang Du Syracuse University, USA
Barbara Fila INSA Rennes, IRISA, France
Simon Foley Norwegian University of Science and Technology,
Norway
Sara Foresti University of Milan, Italy
Joaquin Garcia-Alfaro Telecom SudParis, France
Stefanos Gritzalis University of the Aegean, Greece
Ehud Gudes Ben-Gurion University, Israel
Yuan Hong Illinois Institute of Technology, USA
Sokratis Katsikas Norwegian University of Science and Technology,
Norway
Florian Kerschbaum University of Waterloo, Canada
Adam J. Lee University of Pittsburgh, USA
Yingjiu Li Singapore Management University, Singapore
Giovanni Livraga University of Milan, Italy
Javier Lopez UMA, Spain
Brad Malin Vanderbilt University, USA
Fabio Martinelli IIT-CNR, Italy
viii Organization

Sjouke Mauw University of Luxembourg, Luxembourg


Catherine Meadows NRL, USA
Charles Morisset Newcastle University, UK
Martin Olivier University of Pretoria, South Africa
Stefano Paraboschi University of Bergamo, Italy
Günther Pernul Universität Regensburg, Germany
Andreas Peter University of Twente, The Netherlands
Silvio Ranise FBK-Irst, Italy
Indrajit Ray Colorado State University, USA
Kui Ren State University of New York at Buffalo, USA
Pierangela Samarati University of Milan, Italy
Andreas Schaad WIBU-Systems, Germany
Scott Stoller Stony Brook University, USA
Tamir Tassa The Open University of Israel, Israel
Mahesh Tripunitara University of Waterloo, Canada
Jaideep Vaidya Rutgers University, USA
Vijay Varadharajan The University of Newcastle, Australia
Lingyu Wang Concordia University, Canada
Wendy Hui Wang Stevens Institute of Technology, USA
Attila A Yavuz University of South Florida, USA
Ting Yu Qatar Computing Research Institute, Qatar
Nicola Zannone Eindhoven University of Technology, The Netherlands

Additional Reviewers

Ahlawat, Amit Oqaily, Alaa


Akowuah, Francis Oqaily, Momen
Alhebaishi, Nawaf Ozmen, Muslum Ozgur
Anagnostopoulos, Marios Puchtra, Alexander
Asadi, Behzad Ramírez-Cruz, Yunior
Behnia, Rouzbeh Rizos, Athanasios
Bui, Thang Sengupta, Binanda
Ceccato, Mariano Seyitoglu, Efe Ulas Akay
Cledel, Thomas Tian, Yangguang
Dietz, Marietheres Tsohou, Aggeliki
Esquivel-Vargas, Herson Uuganbayar, Ganbayar
Fernandez, Gerardo van de Kamp, Tim
Gadyatskaya, Olga van Deursen, Ton
Hitchens, Michael Vielberth, Manfred
Hoang, Thang Voloch, Nadav
Kalloniatis, Christos Wang, Han
Liu, Bingyu Widel, Wojciech
Luo, Meng Xie, Shangyu
Mercaldo, Francesco Xu, Jiayun
Michailidou, Christina Xu, Shengmin
Mohammady, Meisam Zhang, Mingwei
Mueller, Johannes
Contents

Attacks

Detecting Adversarial Attacks in the Context of Bayesian Networks . . . . . . . 3


Emad Alsuwat, Hatim Alsuwat, John Rose, Marco Valtorta,
and Csilla Farkas

AGBuilder: An AI Tool for Automated Attack Graph Building,


Analysis, and Refinement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Bruhadeshwar Bezawada, Indrajit Ray, and Kushagra Tiwary

On Practical Aspects of PCFG Password Cracking . . . . . . . . . . . . . . . . . . . 43


Radek Hranický, Filip Lištiak, Dávid Mikuš, and Ondřej Ryšavý

That’s My DNA: Detecting Malicious Tampering of Synthesized DNA . . . . . 61


Diptendu Mohan Kar and Indrajit Ray

Mobile and Web Security

Adversarial Sampling Attacks Against Phishing Detection . . . . . . . . . . . . . . 83


Hossein Shirazi, Bruhadeshwar Bezawada, Indrakshi Ray,
and Charles Anderson

Is My Phone Listening in? On the Feasibility and Detectability


of Mobile Eavesdropping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Jacob Leon Kröger and Philip Raschke

Droids in Disarray: Detecting Frame Confusion in Hybrid Android Apps. . . . 121


Davide Caputo, Luca Verderame, Simone Aonzo, and Alessio Merlo

Privacy

Geo-Graph-Indistinguishability: Protecting Location Privacy for LBS


over Road Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Shun Takagi, Yang Cao, Yasuhito Asano, and Masatoshi Yoshikawa

“When and Where Do You Want to Hide?” – Recommendation


of Location Privacy Preferences with Local Differential Privacy . . . . . . . . . . 164
Maho Asada, Masatoshi Yoshikawa, and Yang Cao
x Contents

Analysis of Privacy Policies to Enhance Informed Consent . . . . . . . . . . . . . 177


Raúl Pardo and Daniel Le Métayer

Security Protocol Practices

Lost in TLS? No More! Assisted Deployment of Secure TLS


Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Salvatore Manfredi, Silvio Ranise, and Giada Sciarretta

Contributing to Current Challenges in Identity and Access Management


with Visual Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Alexander Puchta, Fabian Böhm, and Günther Pernul

Analysis of Multi-path Onion Routing-Based Anonymization Networks . . . . . 240


Wladimir De la Cadena, Daniel Kaiser, Asya Mitseva,
Andriy Panchenko, and Thomas Engel

Distributed Systems

Shoal: Query Optimization and Operator Placement for Access


Controlled Stream Processing Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Cory Thoma, Alexandros Labrinidis, and Adam J. Lee

A Distributed Ledger Approach to Digital Twin Secure Data Sharing . . . . . . 281


Marietheres Dietz, Benedikt Putz, and Günther Pernul

Refresh Instead of Revoke Enhances Safety and Availability:


A Formal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Mehrnoosh Shakarami and Ravi Sandhu

Source Code Security

Wrangling in the Power of Code Pointers with ProxyCFI. . . . . . . . . . . . . . . 317


Misiker Tadesse Aga, Colton Holoday, and Todd Austin

CASFinder: Detecting Common Attack Surface . . . . . . . . . . . . . . . . . . . . . 338


Mengyuan Zhang, Yue Xin, Lingyu Wang, Sushil Jajodia,
and Anoop Singhal

Algorithm Diversity for Resilient Systems . . . . . . . . . . . . . . . . . . . . . . . . . 359


Scott D. Stoller and Yanhong A. Liu
Contents xi

Malware

Online Malware Detection in Cloud Auto-scaling Systems Using


Shallow Convolutional Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Mahmoud Abdelsalam, Ram Krishnan, and Ravi Sandhu

Redirecting Malware’s Target Selection with Decoy Processes . . . . . . . . . . . 398


Sara Sutton, Garret Michilli, and Julian Rrushi

Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419


Attacks
Detecting Adversarial Attacks
in the Context of Bayesian Networks

Emad Alsuwat(B) , Hatim Alsuwat, John Rose, Marco Valtorta,


and Csilla Farkas

University of South Carolina, Columbia, SC 29208, USA


{Alsuwat,Alsuwath}@email.sc.edu, {Rose,Mgv,Farkas}@cse.sc.edu

Abstract. In this research, we study data poisoning attacks against


Bayesian network structure learning algorithms. We propose to use the
distance between Bayesian network models and the value of data conflict
to detect data poisoning attacks. We propose a 2-layered framework that
detects both one-step and long-duration data poisoning attacks. Layer 1
enforces “reject on negative impacts” detection; i.e., input that changes
the Bayesian network model is labeled potentially malicious. Layer 2
aims to detect long-duration attacks; i.e., observations in the incoming
data that conflict with the original Bayesian model. We show that for a
typical small Bayesian network, only a few contaminated cases are needed
to corrupt the learned structure. Our detection methods are effective
against not only one-step attacks but also sophisticated long-duration
attacks. We also present our empirical results.

Keywords: Adversarial machine learning · Bayesian networks ·


Data poisoning attacks · The PC algorithm · Long-duration attacks ·
Detection methods

1 Introduction

During the last decade, several researchers addressed the problem of cyber
attacks against machine learning systems (see [24] for an overview). Machine
learning techniques are widely used; however, machine learning methods were
not designed to function correctly in adversarial settings [16,18]. Data poison-
ing attacks are considered one of the most important emerging security threats
against machine learning systems [33,35]. Data poisoning attacks aim to corrupt
the machine learning model by contaminating the data in the training phase [11].
Data poisoning was studied in different machine learning algorithms, such as
Support Vector Machines (SVMs) [11,21,28], Principal Component Analysis
(PCA) [9,10], Clustering [8,12], and Neural Networks (NNs) [36]. However, these
efforts are not directly applicable to Bayesian structure learning algorithms.
There are two main methods used in defending against a poisoning attack: (1)
robust learning and (2) data sanitization [14]. Robust learning aims to increase
c IFIP International Federation for Information Processing 2019
Published by Springer Nature Switzerland AG 2019
S. N. Foley (Ed.): DBSec 2019, LNCS 11559, pp. 3–22, 2019.
https://doi.org/10.1007/978-3-030-22479-0_1
4 E. Alsuwat et al.

learning algorithm robustness, thereby reducing the overall influence that con-
taminated data samples have on the algorithm. Data sanitization eliminates
contaminated data samples from the training data set prior to training a classi-
fier. While data sanitization shows promise to defend against data poisoning, it
is often impossible to validate every data source [14].
In our earlier work [3,4], we studied the robustness of Bayesian network
structure learning algorithms against traditional (a.k.a one-step) data poisoning
attacks. We proposed two subclasses of data poisoning attacks against Bayesian
network algorithms: (i) model invalidation attacks and (ii) targeted change
attacks. We defined a novel link strength measure that can be used to perform
a security analysis of Bayesian network models [5].
In this paper, we further investigate the robustness of Bayesian network struc-
ture learning algorithms against long-duration (a.k.a multi-step) data poisoning
attacks (described in Sect. 3). We use the causative model proposed by Barreno
et al. [6] to contextualize Bayesian network vulnerabilities. We propose a
2-layered framework to detect poisoning attacks from untrusted data sources.
Layer 1 enforces “reject on negative impacts” detection [30]; i.e., input that
changes the model is labeled malicious. Layer 2 aims to detect long-duration
attacks; i.e., it looks for cases in the incoming data that conflict with the origi-
nal Bayesian model.
The main contributions of this paper are the following: We define long-
duration data poisoning attacks when an attacker may spread the malicious
workload over several datasets. We study model invalidation attacks which aim
to arbitrarily corrupt the Bayesian network structure. Our 2-layered framework
detects both one-step and long-duration data poisoning attacks. We use the dis-
tance between Bayesian network models, B1 and B2 , denoted as ds(B1 , B2 ),
to detect malicious data input (Eq. 3) for one-step attacks. For long-duration
attacks, we use the value of data conflict (Eq. 4) to detect potentially poisoned
data. Our framework relies on offline analysis to validate the potentially mali-
cious datasets. We present our empirical results, showing the effectiveness of
our framework to detect both one-step and long-duration attacks. Our results
indicate that the distance measure ds(B1 , B2 ) (Eq. 3) and the conflict measure
Conf (c, B1 ) (Eq. 4) are sensitive to poisoned data.
The rest of the paper is structured as follows. In Sect. 2, we present the
problem setting. In Sect. 3, we present long-duration data poisoning attacks
against Bayesian network structure learning algorithms. In Sect. 4, we present
our 2-layered detection framework and our algorithms. In Sect. 5 we present our
empirical results. In Sect. 6, we give an overview of related work. In Sect. 7, we
conclude and briefly discuss ongoing work.

2 Problem Setting

We focus on structure learning algorithms in Bayesian networks. Let DSv =


{c1 , . . . , cN } be a validated dataset with N case. Each case c is over attributes
x1 , . . . , xn and of the form c = <x1 = v1 , . . . , xn = vn >, where vi is the value
Detecting Adversarial Attacks in the Context of Bayesian Networks 5

of attribute xi . A Bayesian network model B1 is learned by feeding a validated


dataset DSv into a Bayesian structure learning algorithm, BN Algo, such as the
PC algorithm, which is the most widely used algorithm for structure learning in
Bayesian networks [34], as shown in Eq. 1.
B1 = BN Algo(DSv ) (1)
The defender attempts to divide an incoming dataset, DSp , coming from an
untrusted source, into clean and poisoned cases. The attacker aims to inject a
contaminated dataset, DSp with the same attributes as DSv and N1 cases, into
the validated training dataset, DSv . A learning error occurs if DSu , obtained
by the union of DSv and DSp , results in a Bayesian network learning model
B2 (shown in Eq. 2), such that there is a missing link, a reversed link, or an
additional link in B2 that is not in B1 .
B2 = BN Algo(DSu ) (2)
To estimate the impact of the poisoned dataset on the validated dataset, we
define a distance function between two Bayesian network models B1 and B2 ,
denoted as ds(B1 , B2 ). Intuitively, B1 is the validated model and B2 is the
potentially corrupted model.
Let B1 = (V, E1 ) and B2 = (V, E2 ) be two Bayesian network models where
V = {x1 , x2 , . . . , xn } and E = {(xu , xv ) : xu , xv ∈ V }. Let B1 be the vali-
dated model resulting from feeding DSv to a Bayesian network structure learn-
ing algorithm, and B2 be the newly learned model resulting from feeding DSu to
a Bayesian network structure learning algorithm. Let e1 = (xu , xv ) be a directed
edge from vertex xu to vertex xv , and e2 = (xv , xu ) be a directed edge from ver-
tex xv to vertex xu (e2 is the reverse of e1 ). The distance function, ds(B1 , B2 ),
is a non-negative function that measures the changes in the newly learned model
B2 with respect to the original model B1 . The distance function, ds(B1 , B2 ), is
defined as follows:
(Distance measure). Let Bayesian network models B1 = (V, E1 ) and B2 =
(V, E2 ) be the results of feeding DSv and DSu , respectively, to a Bayesian net-
work structure learning algorithm. ds(B1 , B2 ) is defined as the sum of distances
over pairs of vertices (xu , xv ) ∈ V × V as follows:

ds(B1 , B2 ) = dsxu xv (B1 , B2 ) (3)
(xu ,xv )∈V ×V

where dsxu xv (B1 , B2 ) is the distance between every pair of vertices (xu , xv ) ∈
V ×V.
We define dsxu xv (B1 , B2 ) as the cost of making a change to B1 that results
in the newly learned model B2 . The function dsxu xv (B1 , B2 ) between the two
Bayesian network models B1 and B2 is defined as follows [19]:
Status 1 (True Negative Edges): if ((e1 ∈ E1 && e2 ∈ E1 ) && (e1 ∈ E2
&& e2 ∈ E2 )), then there is no edge (neither e1 nor e2 ) between vertex xu
and vertex xv in either models B1 and B2 . Hence, dsxu xv (B1 , B2 ) = 0.
6 E. Alsuwat et al.

Status 2 (True Positive Edges): if ((e1 ∈ E1 && e1 ∈ E2 ) || (e2 ∈ E1 &&


e2 ∈ E2 )), then the same edge (either e1 or e2 ) appears from vertex xu to
vertex xv in both models B1 and B2 . Hence, dsxu xv (B1 , B2 ) = 0.
Status 3 (False Negative Edges): if ((e1 || e2 ∈ E1 ) && (e1 && e2 ∈
E2 )), then there is an edge (either e1 or e2 ) from vertex xu to vertex xv in
B1 that does not exist in B2 . Without loss of generality, assume that the
deleted edge from B1 is e1 , then if the indegree of vertex xv , denoted as
indegree(xv ), which is the number if edge incoming to vertex xv , is greater
than 1, then dsxu xv (B1 , B2 ) = 8 (deleting e1 breaks an existing v-structure
and changes the Markov equivalence class); otherwise, dsxu xv (B1 , B2 ) =
4 (deleting e1 does not break an existing v-structure, but it changes the
Markov equivalence class).
Status 4 (False Positive Edges): if ((e1 && e2 ∈ E1 ) && (e1 || e2 ∈ E2 )),
then there is an edge (either e1 or e2 ) from vertex xu to vertex xv in
B2 but not the in B1 . Without loss of generality, assume that the added
edge to B2 is e1 , then if the indegree of vertex xv , is greater than 1, then
dsxu xv (B1 , B2 ) = 8 (adding e1 introduces a new v-structure and changes the
Markov equivalence class); otherwise, dsxu xv (B1 , B2 ) = 4 (adding e1 does
not introduce a new v-structure, but it changes the Markov equivalence
class).
Status 5 (False Positive and True Negative Edges): if ((e1 ∈ E1 &&
e2 ∈ E2 ) && (e1 ∈ E2 && e2 ∈ E1 )), then the edge from vertex xu
to vertex xv in B1 is the reverse of the edge from vertex xu to vertex xv
in B2 . Without loss of generality, assume that there is an edge, e1 , from
xu to xv in B1 , then e2 is the reverse of e1 in B2 . If the indegree of ver-
tex xu , is greater than 1, then dsxu xv (B1 , B2 ) = 8 (reversing e1 introduces
a new v-structure and changes the Markov equivalence class); otherwise,
dsxu xv (B1 , B2 ) = 2 (reversing e1 does not introduce a new v-structure, but
it changes the Markov equivalence class).

To investigate the coherence of an instance case, c = <x1 = v1 , . . . , xn =


vn > (or simply <v1 , . . . , vn >), in DSp with the validated model B1 , we use con-
flict measure, denoted as Conf (c, B1 ). Conflict measure, Conf (c, B1 ), is defined
as follows:
(Conflict measure). Let B1 be a Bayesian network model and let DSp be an
incoming dataset, Conf (c, B1 ) is defined as the process of detecting how well a
given case <v1 , . . . , vn > fits the model B1 according to the following equation:

P (v1 ) . . . P (vn )
Conf (c, B1 ) = log2 (4)
P (v)

where c = <v1 , . . . , vn >, and P (v) is the prior probability of the evidence v [31].
If P (v) = 0, then we conclude that there is inconsistency among the observa-
tions <v1 , . . . , vn >. If the value of Conf (c, B1 ) is positive, then we can conclude
that <v1 , . . . , vn > are negatively correlated (i.e., unlikely to be correlated as the
model requires; P (v1 , . . . , vn ) < P (v1 )×· · ·×P (vn )) and thus are conflicting with
Detecting Adversarial Attacks in the Context of Bayesian Networks 7

the model B1 . The higher the value of Conf (c, B1 ) is, the more incompatibility
we have between B1 and <v1 , . . . , vn >.
In this paper, we adopt the causative model proposed by Barreno et al.
[6]. Attacks on machine learning systems are modeled as a game between mali-
cious attackers and defenders. In our setting, defenders aim to learn a validated
Bayesian network model B1 using the dataset DSv with the fewest number of
errors (minimum ds function). Malicious attackers aim to mislead the defender
into learning a contaminated model B2 using the dataset DSu , obtained by pol-
luting DSv with DSp . We assume that malicious attackers have full knowledge
of how Bayesian network structure learning algorithms work. Also, we assume
that attackers have knowledge of the dataset DSv . In addition, we assume that
the poisoning percentage at which attackers are allowed to add new “contami-
nated” cases to DSv , β, is less than or equal to 0.05. The game between malicious
attackers and defenders can be modeled as follows:

1. The defender: The defender uses a validated dataset DSv , to produce a


validated Bayesian network model B1 .
2. The malicious attacker: The attacker injects a contaminated dataset, DSp ,
to be unioned with the original dataset, DSv , with the goal of changing the
Markov equivalence class of the original validated model, B1 .
3. Evaluation by the defender:
– The defender feeds the new dataset DSu (Note that, DSu = DSv ∪ DSp )
to a Bayesian network structure learning algorithm, resulting in B2 .
– The defender calculates the distance function ds(B1 , B2 ).
– If ds(B1 , B2 ) = 0, then Bayesian models B1 and B2 are identical. Oth-
erwise, i.e., ds(B1 , B2 ) > 0, the newly learned Bayesian model B2 is
different from the original validated model B1 .
– For each case c, the defender calculates the value of conflict measure
Conf (c, B1 ).
– If Conf (c, B1 ) is positive, then the case c conflict with the Bayesian model
B1 . Otherwise, the newly incoming case is validated and added to DSv .

Note, that the goal of malicious attackers is to maximize the quantity ds(B1 , B2 ).
The notations used in this paper are summarized as follows:
Notation Description
DS[x1 , . . . , xn ] Schema for datasets with attributes x1 , . . . , xn
DSv = {c1 , . . . , cN } Validated dataset instance with attributes x1 , . . . , xn
DSp = {c¯1 , . . . , c̄N1 }} Crafted dataset instance with attributes x1 , . . . , xn
DSic = {c¯1 , . . . , c̄Ni }} Contaminated dataset instance at time point i
β Data poisoning percentage for DSv
λi Data poisoning rate for DSic
B1 The result of feeding DSv to a learning algorithm
B2 The result of feeding DSu to a learning algorithm
ds(B1 , B2 ) Distance function between models B1 and B2
Conf (c, B1 ) Conflict measure of how well the case c fits B1
8 E. Alsuwat et al.

3 Long-Duration Data Poisoning Attacks


In our earlier work data poisoning attacks [3], we studied data poisoning attacks
against Bayesian structure learning algorithms. For a Bayesian structure learning
algorithms, given the dataset, DSv , and the corresponding model, B1 (Eq. 1),
a malicious attacker attempts to craft an input dataset, DSp , such that this
contaminated dataset will have an immediate impact on DSv and thereby on
B1 . The defender periodically retrains the machine learning system to recover
the structure of the new model, B2 , using DSu , the combination of the original
dataset DSv and the attacker supplied DSp . We call such an attack a “one-step”
data poisoning attack as malicious attackers send all contaminated cases at once.
In this section, we introduce long-duration data poisoning attacks against
structure learning algorithms. Long-duration poisoning attacks are adversarial
multi-step attacks in which a malicious attacker attempts to send contaminated
cases over a period of time, t = {1, 2, . . . , w}. That is, at every time point i, a
malicious attacker sends in a new dataset, DSic , which contains Ni cases, λi Ni
of which are corrupted cases for some 0 < λi < 1 (λi is the data poisoning rate
at which we allowed to add contaminated cases to DSic at iteration i). Even

though the defender periodically retrains the model, B2 , at time i using the
 i
dataset DSil d , which is equal to DSv ∪ t=1 DSt , it is not easy to detect the
c

long-duration attack since such an attack is not instantaneous.


By the end of the long-duration w poisoning attack, i.e., at time point w,
the attacker would have injected t=1 DSt to DSv , resulting in a new dataset,
c

. We assume that attackers cannot add more than βN cases to DSv (i.e.,
DSwl d
w 
0 < t=1 λt Nt < βN ). When the defender retrains the model, B2 , using the
dataset DSwl d , the attack will dramatically affect the resulting model. Note that
this attack is sophisticated since the attacker may not need to send contaminated
cases with the last contaminated dataset (the wth dataset) in the long-duration
attack, i.e., DSwc may trigger the attack with no poisoned cases, as our experi-
ments show.
We propose causative, long-duration model invalidation attacks against
Bayesian network structure learning algorithms. Such attacks are defined as mali-
cious active attacks in which adversarial opponents attempt to arbitrarily corrupt
the structure of the original Bayesian network model in any way. The goal of
w DS c, over
v
adversaries in these attacks is to poison the validated training dataset,
a period of time t = {1, . . . , w} using the contaminated dataset i=1 DSt such
that DSv will be no longer valid. We categorize causative long-duration model
invalidation attacks against Bayesian network structure learning algorithms into
two types: (1) Model invalidation attacks based on the notion of d-separation
and (2) Model invalidation attacks based on marginal independence tests.
Causative, long-duration model invalidation attacks which are based on the
notion of d-separation are adversarial attacks in which adversaries attempt to
introduce a new link in any triple (A − B − C) in the original Bayesian network
model, B1 . The goal of the introduced malicious link, (A − C), is to change
the independence relations and the Markov equivalence class of B1 . Within
such attacks, we can identify two subtypes: (i) Creating a New Converging
Detecting Adversarial Attacks in the Context of Bayesian Networks 9

Connection (V-structure), and (ii) Breaking an Existing Converging Connection


(V-structure). See Appendix A for more details.
Causative, long-duration model invalidation attacks which are based on
marginal independence tests are adversarial attacks in which adversaries attempt
to use marginal independence tests in order to change the conditional indepen-
dence statements between variables in the original model, B1 . Such attacks can
be divided into two main subtypes: (i) Removing the Weakest Edge, and (ii)
Adding the Most Believable Edge yet incorrect Edge. See Appendix A for more
details.
Due to space limitation, in this work, we only provide a brief description of
long-duration data poisoning attacks that aim to achieve a certain attack by
sending in contaminated cases over a period of time t. We refer the reader to
our technical report [2] for the full algorithmic details.

4 Framework for Detecting Data Poisoning Attacks

In this section, we present our detective framework for data poisoning attacks.
Our techniques build on the data sanitization approach that was proposed by
Nelson et al. [30]. We extend Nelson et al. approach such that it is applicable to
detect both one-step and long-duration causative attacks.
The main components of our framework are: (1) Structure learning Algo-
rithms: the PC learning algorithm, (2) FLoD: first layer of detection, and (3)
SLoD: second layer of detection.
First Layer of Detection: In the FLoD, our framework uses “Reject On Neg-
ative Impact” defense [30] to examine the full dataset (DSv ∪ DSp ) to detect
the impact of DSp on DSv . The attacker aims to use DSp to change the Markov
equivalence class of the validated model, B1 . The first layer of detection detects
the impact of adversarial attacks that aim to corrupt the model B1 using one-
step data poisoning attacks. FLoD is useful for efficiently filtering obvious data
poisoning attacks.

Algorithm 1. First Layer of Detection


Input : DSv = {c1 , . . . , cN } and DSp = {c¯1 , . . . , c̄N1 }
Output: ds(B1 , B2 )
1 Generate B1 from DSv ;
2 Generate B2 from DSv ∪ DSp ;
3 Calculate ds(B1 , B2 )  as described in section 2;
4 if ds(B1 , B2 ) > 0 then
5 Return ds(B1 , B2 );
6 Send DSp to be checked offline;
7 else
8 Go to Algorithm 2;
9 end
10 E. Alsuwat et al.

In the FLoD, we use the distance function ds described in Sect. 2 as a method


for detecting the negative impact of DSp on the validated model B1 . If ds(B1 , B2 )
is greater than zero, then the new incoming dataset, DSp , is potentiality mali-
cious. In this case, we sent DSp to be checked offline. Otherwise, we proceed
with the second layer of detection, SLoD, looking for long-duration data poison-
ing attacks.
Algorithm 1 provides algorithmic details of FLoD detect one-step data poi-
soning attacks.
Second Layer of Detection: In the SLoD, our framework uses “Data Conflict
Analysis” [31] to examine the newly incoming dataset DSp to detect if DSp
has conflicting cases with the original model B1 . The Second layer of detection
detects sophisticated adversarial attacks that aim to corrupt the model B1 , such
as long-duration data poisoning attacks.

Algorithm 2. Second Layer of Detection


Input : DSv = {c1 , . . . , cN } and DSp = {c¯1 , . . . , c̄N1 }
Output: DSv , DSconf .
1 Generate B1 from DSv ;
2 DSconf = φ;
3 for every case c in DSp do
4 Calculate P (v)  i.e., the probability of the evidence for c;
5 if P (v) = 0 then
6 DSconf = DSconf ∪ {c}  i.e., c is inconsistent with B1 ;
7 DSp = DSp \ {c}  remove c from DSp ;
8 else
9 Conf (c, B1 ) = log2 P (v1P)...P
(v)
(vn )
 calculate conflict measure for the
case c;
10 if Conf (c, B1 ) > 0 then
11 DSconf = DSconf ∪ {c}  i.e., c is incompatible with B1 ;
12 DSp = DSp \ {c};
13 end
14 end
15 if DSconf = φ then
16 Send DSconf to be checked offline;
17 end
18 DSv = DSv ∪ (DSp \DSconf );
19 Return DSv , DSconf ;
20 end

In the SLoD, we use the value of the conflict measure Conf (c, B1 ) described
in Sect. 2 as a method for detecting whether or not a case, c, in the newly
incoming dataset, DSp , is conflicting with the original model B1 . If the P (v)
is equal to zero, then the case c is inconsistent with the validated model B1 .
Detecting Adversarial Attacks in the Context of Bayesian Networks 11

If Conf (c, B1 ) is positive, then the case c is incompatible with the validated
model B1 . In these two situations, we add inconsistent and incompatible cases
to DSconf . DSconf is then sent to be checked offline. Thereby, the model B1 will
be retrained according to the following equation: B1 = BN Algo(DSv ) where
DSv = DSv ∪ (DSp \DSconf ).
Algorithm 2 provides algorithmic details of the SLoD detect long-duration
data poisoning attacks.
The process of applying our framework is summarized in Fig. 1. The workflow
of our framework is described as follows: (1) A validated dataset, DSv , which
is a clean training dataset that is used to recover a validated machine learning
model B1 . (2) A new incoming dataset, DSp , which is coming from an untrusted
source and a potentially malicious dataset, is used along with DSv to learn B2 .
(3) FLoD checks for one-step data poisoning attacks. If model change occurs
(i.e., ds(B1 , B2 ) > 0), send DSp for offline evaluation. Else, (4) SLoD checks for
long-duration data poisoning attacks. If the value of conflict measure is positive
(i.e., Conf (c, B1 ) > 0), send conflicting data to offline evaluation. Else, update
the validated dataset.

B2
B1 FLoD
A structure
New Model
learning
B2 Yes
incoming algorithm Model Decide
dataset Change? offline
No

SLoD

New dataset Yes Decide


A structure has conflicting offline
Validated Model
learning cases?
B1
dataset algorithm
No

Validated dataset = Validated dataset New dataset

Fig. 1. Framework for detecting data poisoning attacks.

5 Empirical Results

We implemented our prototype system using the Chest Clinic Network [23]. The
Chest Clinic Network was created by Lauritzen and Spielgelhalter [23] and is
widely used in Bayesian network experiments. As shown in Fig. 2, Visit to Asia
is a simple, fictitious network that could be used at a clinic to diagnose arriving
patients. It consists of eight nodes and eight edges. The nodes are as follows:
12 E. Alsuwat et al.

(1) (node A) shows whether the patient lately visited Asia; (2) (node S) shows
if the patient is a smoker; (3) (node T) shows if the patient has Tuberculosis;
(4) (node L) shows if the patient has lung cancer; (5) (node B) shows if the
patient has Bronchitis; (6) (node E) shows if the patient has either Tuberculosis
or lung cancer; (7) (node X) shows whether the patient X-ray is abnormal; and
(8) (node D) shows if the patient has Dyspnea. The edges indicate the causal
relations between the nodes. A simple example of a causal relation is: Visiting
Asia may cause Tuberculosis and so on. We refer the readers to [23] for a full
description of this network.

A S A S

T L B T L B

E E

X D X D

Fig. 2. The original Chest Clinic Network. Fig. 3. The validated model B1 .

We used the Chest Clinic Network to demonstrate the data poisoning attacks
and our detection capabilities. In each experiment, we manually generated poi-
soned datasets. Given the contingency table of two random variables A and B
in a Bayesian network model with i and j states, respectively. To introduce a
malicious link between A and B, we add corrupt cases to the cell with the high-
est test statistic value in the contingency table. To remove the link between A
and B, we transfer cases from the cell with the highest test statistics value to
the one with the lowest value.

5.1 One-Step Data Poisoning Attacks

To set up the experiment, we implemented the Chest Clinic Network using


HuginT M Research 8.1. We then used HuginT M case generator [26,32] to gen-
erate a simulated dataset of 20, 000 cases. We call this dataset DSv . Using the
PC algorithm on dataset DSv with 0.05 significance setting [26], the resulting
validated structure, B1 = P C Algo(DSv ), is given in Fig. 3. While the two net-
works in Figs. 2 and 3 belong to different Markov equivalence classes, we will use
the validated network B1 as the starting point of our experiment.
We evaluated the effectiveness of one-step data poisoning attacks against
the validated dataset DSv (i.e., against the validated model B1 ). An attacker
aims to use one-step data poisoning attacks to inject in a contaminated dataset
DSp into DSv , resulting in the dataset DSu . The defender retrains the machine
Detecting Adversarial Attacks in the Context of Bayesian Networks 13

learning model by feeding the new dataset DSu to the PC learning algorithm
(B2 = P C Algo(DSu )), resulting in the model B2 .
We aim to study the attacker’s goals, i.e., study the feasibility of one-step
data poisoning attacks, which might be as follows: (i) introduce new v-structures:
that is, (1) add the links D − S and S − E to the serial connections D → B → S
and S → L → E, respectively, and (2) add the link A − E to the diverging
connection A ← T → E; (ii) break an existing v-structure T → E ← L, i.e.,
shield the collider E; (iii) remove the weakest edge, i.e., remove the edge T → A;
and (iv) add the most believable edge, i.e., add the edge B → L. (Note that, for
finding the weakest link in a given causal model or the most believable link to
be added to a causal model, we refer the readers to our previous works [3,5] for
technical details on how to measure link strength of causal models).
In all of the scenarios, the attacker succeeded in corrupting the new model
that was going to be learned by the defender, the model B2 . The attacker had to
introduce a dataset DSp with 67 corrupt cases (data items) to introduce the link
D−S in the newly learned model B2 . To introduce links S−E and A−E required
21 and 7 corrupt cases, respectively. To shield the collider E, the attacker only
needed 4 poisoning data items. The attacker had to modify only 3 cases to break
the weakest link A − T . To add the most believable link B − L required to only
7 corrupt data items.

5.2 Long-Duration Data Poisoning Attacks

To set up the implementation of long-duration attacks, let DSv be a validated


training dataset with attributes x1 , . . . , xn and N cases, and β be data poisoning
rate at which attackers are allowed to add new “contaminated” cases to DSv .
Let DSic be a newly crafted dataset also with attributes x1 , . . . , xn and Ni cases,
and λi be data poisoning rate atwhich attackers allowed to add new crafted
w
cases to DSic (we default set 0 ≤ t=1 λi Ni ≤ βN ).
We start by calculating τ , which is the maximum number of poisoned cases
that could be added to DSv over a period of time t = {1, . . . , w}. We then learn
the structure of the validated model B1 from DSv using the PC algorithm.
We then iterate w times. In each iteration t, we generate a clean dataset
DStclean and a poisoned dataset DStp . We let DStc = DStclean ∪ DStp (note that,
DStc has Nt cases, λt Nt of which are poisoned). After that, we create the union
of DStc and DSv , resulting in DStl d , which is used to learn the structure of model

B2 . Note that, in each iteration the number of cases in DStp should be between
τ
0 (i.e., no poisoned cases) and w , which is the maximum number of poisoned
th
cases that could be added to DStc in the wt iteration.
We terminate after iteration w. If t=1 λt Nt ≤ βN , we return DStl d ; other-
wise, we print a failure message since implementing the long-duration attack on
DSv is not feasible.
14 E. Alsuwat et al.

Table 1. Results of long-duration data poisoning attacks against DSv .

(a) Introducing the link A → E in the diverging connection A ← T → E.


Time point t = {1, . . . , w} t=1 t=2 t=3 t=4
Clean
Number of clean cases at time point t (DSt ) 2,000 2,000 2,000 2,000
Crafted
Number of crafted cases at time point t (DSt ) 3 1 3 0
c Clean Crafted
DSt = DSt ∪ DSt 2,003 2,004 2,007 2,007

DSt = DSv ∪ w
l d c
t=1 DSt 14,003 16,004 18,007 20,007
Model Change No No No Yes

(b) Breaking the v-structure T → E ← L.


Time point t = {1, . . . , w} t=1 t=2 t=3 t=4
Clean
Number of clean cases at time point t (DSt ) 2,000 2,000 2,000 2,000
Crafted
Number of crafted cases at time point t (DSt ) 2 2 0 0
c Clean Crafted
DSt = DSt ∪ DSt 2,002 2,002 2,000 2,000

DSt = DSv ∪ w
l d c
t=1 DSt 14,002 16,004 18,004 20,004
Model Change No No No Yes

(c) Add the most believable edge, B → L, to the causal model B1 .


Time point t = {1, . . . , w} t=1 t=2 t=3 t=4
Clean
Number of clean cases at time point t (DSt ) 2,000 2,000 2,000 2,000
Crafted
Number of crafted cases at time point t (DSt ) 2 2 1 2
c Clean Crafted
DSt = DSt ∪ DSt 2,002 2,002 2,001 2,002

DSt = DSv ∪ w
l d c
t=1 DSt 14,002 16,004 18,005 20,007
Model Change No No No Yes

(d) Adding the link D → S to the serial connection D → B → S.


Time point t = {1, . . . , w} t=1 t=2 t=3 t=4
Clean
Number of clean cases at time point t (DSt ) 2,000 2,000 2,000 2,000
Crafted
Number of crafted cases at time point t (DSt ) 20 20 23 4
c Clean Crafted
DSt = DSt ∪ DSt 2,020 2,020 2,023 2,004

DSt = DSv ∪ w
l d c
t=1 DSt 14,020 16,040 18,063 20,067
Model Change No No No Yes

(e) Adding the link S → E to the serial connection S → L → E.


Time point t = {1, . . . , w} t=1 t=2 t=3 t=4
Clean
Number of clean cases at time point t (DSt ) 2,000 2,000 2,000 2,000
Crafted
Number of crafted cases at time point t (DSt ) 7 8 5 1
c Clean Crafted
DSt = DSt ∪ DSt 2,007 2,008 2,005 2,001

DSt = DSv ∪ w
l d c
t=1 DSt 14,007 16,015 18,020 20,021
Model Change No No No Yes

(f) Removing the weakest link, T → A, from the causal model B1 .


Time point t = {1, . . . , w} t=1 t=2 t=3 t=4
Clean
Number of clean cases at time point t (DSt ) 2,000 2,000 2,000 2,000
Crafted
Number of crafted cases at time point t (DSt ) 1 1 1 0
c Clean Crafted
DSt = DSt ∪ DSt 2,001 2,001 2,001 2,000

DSt = DSv ∪ w
l d c
t=1 DSt 14,001 16,002 18,003 20,003
Model Change No No No Yes
Detecting Adversarial Attacks in the Context of Bayesian Networks 15

We assumed that w = 4, which means that the attacker is allowed to send in


four contaminated datasets to achieve the long-duration data poisoning attack.
We divided the 20, 000 case dataset that was generated for one-step data poi-
soning attacks in Sect. 5.1 into five datasets as follows: 12, 000 cases are used as
DSv ; and the rest is divided into four datasets of 2, 000 cases each. We call these
four datasets DS1Clean , DS2Clean , DS3Clean , and DS4Clean. Using the PC algorithm
on dataset DSv with 0.05 significance setting [26], the resulting validated struc-
ture, B1 = P C Algo(DSv ), is given in Fig. 3, which is the starting point of this
experiment.
We evaluated the effectiveness of long-duration data poisoning attacks
against the validated dataset DSv (i.e., against the validated model B1 ). At
every time point t = {1, . . . , w}, the attacker injects a contaminated dataset
DStCrafted into DStClean , resulting in the dataset DStc . This resulting dataset is
then sent in as a new source of information. The defender receives DStc and
retrains the validated model, B1 , by creating the union of DSv and the new
incoming dataset DStc and feeding them to the PC algorithm, resulting in the
 
model B2 (i.e., B2 = P C Algo(DSv ∪ DStc ) ).
The results of our experiments are presented in Table 1. In all of the scenarios,
the attacker succeeded in achieving the desired modification. In our experiments,
we assumed that t = {1, . . . , 4}. For every one of the studied long-duration
attacks on the dataset DSv (Tables 1a, b, c, d, e, and f), the adversary had to
send in the attack over 4 datasets. That is, at every time point t (for t = 1, . . . , 4),
the attacker had to create the union of DStClean and DStCrafted resulting in DStc ,
which was going to be sent to the targeted machine learning system as a new
source of information. The defender, on the other hand, retrained the machine
learning model every time a new incoming dataset DStc arrived.
Note that, in our experiments, long-duration attacks require the same num-
ber of contaminated cases as the one-step data poisoning attacks. An important
observation is that the malicious attacker does not always have to send poi-
soned cases in the last dataset that will trigger the attack. For instance, in our
experiments, when introducing the link A → E (Table 1a), shielding collider
E (Table 1b), and removing the weakest edge (Table 1f), the last contaminated
dataset, DS4c , had no contaminated cases, which makes it impossible for the
defender to find what caused a change in the newly learned model.

5.3 Discussion: Detecting Data Poisoning Attacks

The results of using our framework to detect one-step data poisoning attacks are
presented in Table 2. Algorithm 1 succeeded to detect the negative impact (i.e.,
the change in the Markov equivalence class) of the new incoming dataset DSp
on the validated model B1 .
16 E. Alsuwat et al.

Table 2. Results of using FLoD to detect one-step poisoning attacks.

Attack Attack’s class ds(B1 , B2 ) score


Introduce the link A → E New v-structure 12
Introduce the link D → S New v-structure 24
Introduce the link S → E New v-structure 54
Introduce the link T → L Shield an existing collider 16
Remove the link A → T Delete the weakest link 4
Introduce the link B → L Add the most believable link 32

The results using our framework to detect long-duration data poisoning


attacks are summarized in Table 3. Algorithm 2 succeeded to detect the long-
duration impact of DS c on the validated dataset DSv . Note, that FLoD using tra-
ditional reject on negative impact was not able to detect long-duration attacks.
However, when using the SLoD, we were able to detect the conflicting cases,
which are either inconsistent or incompatible with the original validated model
B1 (A detailed experiment is presented in Fig. 4). Such cases might be exploited
by a malicious adversary to trigger the long-duration attack at a later time.
Also, in some attacks no poisoned cases are even required to be sent with DS c
to trigger the long-duration attack, which is very hard to detect.

Table 3. Results of using SLoD to detect long-duration data poisoning attacks.

Attack Attack’s class Algorithm 2 decision


Introduce A → E New v-structure Inconsistent observations
Introduce D → S New v-structure Incompatible observations
Introduce S → E New v-structure Inconsistent observations
Introduce T → L Shield an existing collider Inconsistent observations
Remove A → T Delete weakest link Inconsistent\Incompatible observations
Introduce B → L Add most believable link Inconsistent observations

In summary, our 2-layered approach was able to detect both one-step and
long-duration attacks. Moreover, our solution did not lose all the incoming
datasets; we only send conflicting cases to be checked offline. We have carried
out over 200 experiments for long-duration attacks. A comprehensive description
of these experiments is given in [2].

6 Related Work
In this section, we will give a brief overview of adversarial machine learning
research; focusing on data poisoning. Recent surveys on adversarial machine
learning can be found in [6,16,24].
Detecting Adversarial Attacks in the Context of Bayesian Networks 17

c c
(a) DS1 has 20 incompatible cases. (b) DS2 has 20 incompatible cases.

c c
(c) DS3 has 23 incompatible cases. (d) DS4 has 4 incompatible cases.

Fig. 4. The result of using SLoD to detect a long-duration attack that aims to intro-
duce the link D → S in the Chest Clinic dataset, DSv . We present the case number in
DSt as the variable on the X-axis and the value of our conflict measure Conf (c, B1 )
c

as the variable on the Y-axis. A case is incompatible (conflicting) with the validated
model B1 if Conf (c, B1 ) > 0.

Data Poisoning Attacks: As machine learning algorithms have been widely


used in security-critical settings such as spam filtering and intrusion detection,
adversarial machine learning has become an emerging field of study. Attacks
against machine learning systems have been organized by [6,7,18] according to
three features: Influence, Security Violation, and Specificity. Influence of the
attacks on machine learning models can be either causative or exploratory.
Causative attacks aim to corrupt the training data whereas exploratory attacks
aim to corrupt the classifier at test time. Security violation of machine learning
models can be a violation of integrity, availability, or privacy. Specificity of the
attacks can be either targeted or indiscriminate. Targeted attacks aim to cor-
rupt machine learning models to misclassify a particular class of false positives
whereas indiscriminate attacks have the goal of misclassifying all false positives.
Evasion attacks and Data poisoning attacks are two of the most com-
mon attacks on machine learning systems [18]. Evasion attacks [17,20,22] are
exploratory attacks at the testing phase. In an evasion attack, an adversary
attempts to pollute the data for testing the machine learning classifier; thus
causing the classifier to misclassify adversarial examples as legitimate ones. Data
poisoning attacks [1,11,21,27,28,36] are causative attacks, in which adversaries
attempt to corrupt the machine learning classifier itself by contaminating the
data in the training phase.
18 E. Alsuwat et al.

Data poisoning attacks are studied extensively during the last decade [3,8–
12,21,28,29,36]. However, attacks against Bayesian network algorithm are lim-
ited. In our previous work, we were addressed data poisoning attacks against
Bayesian network algorithms [3–5]. We studied how an adversary could corrupt
the Bayesian network structure learning algorithms by inserting contaminated
data into the training phase. We showed how our novel measure of strengths of
links for Bayesian networks [5] can be used to do a security analysis of attacks
against Bayesian network structure learning algorithms. However, our approach
did not consider long-duration attacks.
Defenses and Countermeasures: Detecting adversarial input is a challeng-
ing problem. Recent research [13,15,25] illustrate these challenges. Our work
addresses these issues in the specific context of Bayesian network structure learn-
ing algorithms. Data sanitization is a best practice for security optimization in
the adversarial machine learning context [14]. It is often impossible to validate
every data source. In the event of a poisoning attack, data sanitization adds a
layer of protection for training data by removing contaminated samples from
the targeted training data set prior to training a classifier. Reject on Negative
Impact is one of the widely used method for data sanitization [6,14,24]. Reject on
Negative Impact defense assesses the impact of new training sample additions,
opting to remover or discard samples that yield significant, negative effects on
the observed learning outcomes or classification accuracy [6,14]. The base train-
ing set is used to train a classifier, after which, the new training instance is
added and a second classifier is trained [6]. In this approach, classification per-
formance is evaluated by comparing error rates (accuracy) between the original
and the new, retrained classifier resulting from new sample integration [24]. As
such, if new classification errors are substantially higher compared to the original
or baseline classifier, it is assumed that the newly added samples are malicious
or contaminated and are therefore removed in order to maximize and protect
classification accuracy [6].

7 Conclusion and Future Work


Data integrity is vital for effective machine learning. In this paper, we studied
data poisoning attacks against Bayesian network structure learning algorithms.
We demonstrated the vulnerability of the PC algorithm against one-step and
long-duration data poisoning attacks. We proposed a 2-layered framework for
detecting data poisoning attacks. We implemented our prototype system using
the Chest Clinic Network which is a widely used network in Bayesian networks.
Our results indicate that Bayesian network structure learning algorithms are
vulnerable to one-step and long-duration data poisoning attacks. Our framework
is effective in detecting both one-step and long-duration data poisoning attacks,
as it thoroughly validates and verifies training data before such data is being
incorporated into the model.
Our ongoing work focuses on offline validation of potentially malicious
datasets. Currently, our approach detects datasets that either change the
Detecting Adversarial Attacks in the Context of Bayesian Networks 19

Bayesian network structure (distance measure) or in conflict with the validated


model (conflict measure). We are investigating methods for (1) distinguishing
actual model shift from model enrichment, i.e., our initial model was based
on data that was not fully representative of the “true” distribution, and (2)
determining if cases are truly conflicting or again if the initial model poorly
approximates the “true” distribution. We are also investigating the applicability
of Wisdom of the Crowd (WoC) [37]. Rather than human experts, we plan to use
an ensemble of classifiers, i.e., take the votes of competing algorithms instead of
the votes of humans. In the case of an ensemble of classifiers, one could investi-
gate the likelihood of unexpected cases and adjust the sensitivity to anomalies
by how much perturbation it causes in the model.

A Causative, Long-duration Model Invalidation Attacks

In this Appendix, we explain the two subtypes of each of the causative long-
duration attacks which are based on the notion of d-separation and marginal
independence tests.
The causative long-duration attacks which are based on the notion of d-
separation are divided into two main subtypes as follows:

(i) Creating a new converging connection (v-structure) attacks, in which adver-


saries attempt to corrupt the original Bayesian network model, B 1 , by poi-
w
soning the validated dataset, DSv , using contaminated datasets t=1 DStc .
Attackers aim to introduce a new v-structure by adding the link A → C
to the serial connection A → B → C, link C → A to the serial connection
A ← B ← C, or either one of the links A → C or C → A to the diverging
connection A ← B → C in B1 .
(ii) Breaking an existing converging connection (v-structure) attacks, in which
malicious attackers attempt to corrupt the original model, B1 , by shield-
ing existing colliders (v-structures). Such adversarial attacks can be per-
formed by poisoning the dataset, DSv , over time using the poisoned datasets
 w
t=1 DSt such that new links are introduced to marry the parents of
c

unshielded colliders in B1 (i.e., add the link A → C to the converging con-


nection A → B ← C).

We divide the causative long-duration attacks which are based on marginal


independence tests into two main subtypes:

(i) Removing the weakest edge attacks, in which adversarial opponents attempt
wpoisonc the validated learning dataset, DS , using contaminated datasets,
v
to
t=1 DSt , over a period of time t with the ultimate goal of removing weak
edges. Note that, a weak edge in a Bayesian model, B1 , is the easiest edge to
be removed from B1 . We use our previously defined link strength measure
to determine such edges [5].
(ii) Adding the most believable yet incorrect wedge attacks, in which adversaries
can cleverly craft their input datasets, t=1 DStc , over a period of time t to
Another random document with
no related content on Scribd:
— Herra, minä olen se mies, sanoi lihava päällikkö liehakoiden.

— Ottakaa tuo mies.

Hausakersantti sieppasi miehen ja heilautti hänet taakseen;


hausakorpraali nappasi parin käsirautoja hänen ranteisiinsa.

— Herra, vikisi hän, — miksi tämä häpeä?

— Koska olet suuri varas, sanoi hausaupseeri, sodansaarnaaja ja


orjakauppias.

— Jos joku mies sanoo niin, niin hän valehtelee, sanoi päällikkö,
— sillä ei yksikään hallituksen mies ole nähnyt sellaista.

Imgani astui esiin.

— Päällikkö, sanoi hän, — minä olen nähnyt sen.

— Sinä olet suuri valehtelija, karjui raivostunut päällikkö vavisten


kiukusta, — ja Sandi, joka on ystäväni, ei usko sinua.

— Minä olen Sandi, sanoi Imgani ja hymyili ilkeästi.


NÄKIJÄ

Afrikan sydämessä tapahtuu monta asiaa, joita ei kukaan voi


selittää; senpä vuoksi ne, jotka Afrikan parhaiten tuntevat, pidättyvät
niistä kirjoittamasta.

Afrikan-tarinan tulee näet olla salaperäinen, ja ajanvietekirjojen


lukijat vaativat, että tämän salaisuuden tulee lopuksi olla
röntgensäteillä valaistu paljaita luita myöten.

Kuitenkaan ei 2. pohjoisella leveysasteella ja (sanokaamme) 46.


pituusasteella tapahtuvia jokapäiväisiä sattumia, voida selittää
paremmin kuin uskonnon ihmeitä tai telepatian omituisuuksia, kuten
tässä kertomuksessa osoitetaan.

Yön hiljaisuudessa komissaari Sanders heräsi.

Hänen pieni höyrylaivansa oli kiinnitetty puupaikalle — jonka


puupaikan hän oli valmistuttanut vuosia aikaisemmin kaadattamalla
puita ja jättämällä ne mätänemään.

Hän oli päivänmatkan päässä lähimmästä kylästä joko myötä- tai


vastavirran puolella, mutta hän oli vain kuuden tunnin jalkamatkan
päässä amatombolaisista, jotka asuvat aivan metsän sydämessä ja
käyttävät tetanustoksiinilla myrkytettyjä nuolia.

Sanders nousi vuoteessaan istumaan ja kuunteli.

Jokin yölintu sirkutti yksitoikkoisesti; hän kuuli veden loiskinan


laivan keulassa ja lehtien hiljaisen kahinan, kun lievä tuuli heilutteli
laivan ylitse ulottuvien puiden oksia. Hän kuunteli vakavana, sitten
hän tavoitti lattialta hyttyssaappaitaan ja sukkiaan.

Hän puki ne ylleen, löysi takkinsa riippumasta pienen hyttinsä


oven takaa ja avasi oven hiljaa. Sitten hän odotti seisoen pää ojossa.

Hän irvisti pimeässä, avasi vuoteensa vieressä riippuvan


nahkakotelon kannen, otti siitä coltpistoolin ja veti äänettömästi
panoksen piippuun.

Hän oli huolellinen mies, ei helposti hätiköinyt, hänen jokainen


liikkeensä oli järjestelmällinen. Hän oli kyllin varovainen
varmistaakseen pistoolin, hän oli niin siisti, että kiilloitti mustaa perää
takkinsa liepeeseen, ja hän odotti pitkän aikaa, ennen kuin astui yön
kuumaan pimeyteen.

Pian hän kuuli jälleen sen äänen, joka oli hänet herättänyt. Se oli
kehrääjälinnun hiljainen viserrys.

Kehrääjälinnut menevät yöksi nukkumaan niinkuin järkevät


ihmiset, ja ne asuvat lähellä kyliä, sillä ne rakastavat ihmisseuraa.
Eivätkä ne ilmaise läsnäoloaan sillä tavoin kuin tämä lintu, joka
liverteli lyhyin väliajoin.

Sanders tarkasteli kärsimättömänä.


Sitten äkkiä kuului aivan läheltä, laivan kannelta, läheltä häntä
itseään, vastaus.

Sandersin hytti oli komentosillalla; hän poistui siitä vähän matkan


päähän. Sillan kulmaan hän kyykistyi sormi varmistimella.

Sitten hän pikemminkin tunsi kuin näki miehen tulevan metsästä,


tiesi laivalla olevan jonkun, joka kohtasi hänet.

Kannella olevan majan ympäri ryömien tuli sitten kaksi miestä.


Hän saattoi juuri erottaa heidän aiheuttamansa äänen, kun he
liikkuivat eteenpäin aina hytin ovelle asti, josta ryömivät sisään. Hän
kuuli hieman ääntä ja irvisti jälleen, sillä hän tiesi heidän
keihäänkärkiensä tekevän hänen vuodevaatteistaan selvää jälkeä.

Sitten vallitsi hetken hiljaisuus, ja hän näki toisen tulevan ulos ja


katsovan ympärilleen.

Mies kääntyi hiljaa puhumaan sisään jääneelle.

Sanders nousi äänettömästi.

Ovella seisova mies sanoi: »Kah!» voivottavalla äänellä ja kaatui


maahan, sillä Sanders oli potkaissut häntä taitavasti mahaan, joka
on alkuasukkaan arka kohta. Toinen mies juoksi ulos, mutta
kompastui komissaarin ojennettuun jalkaan ja sai kaatuessaan
raskaasta pistoolinperästä täyspainoisen iskun oikean korvansa
tienoille.

— Joka! kutsui Sanders terävästi, ja perästä kuului jalkojen ääntä,


sillä alkuasukkaat ovat herkkäunisia, — sido nämä miehet. Höyrytä,
sillä me lähdemme pois täältä; tämä ei ole ensinkään hauska paikka.
Sanders oli, kuten olen koettanut kuvata, mies, joka tuntee hyvin
alkuasukkaat; hän ajatteli alkuasukkaan tavoin, ja oli hetkiä, jolloin
hänen toimintansa ei paljoakaan eronnut barbaarien teoista.

Selvittyään vaarasta hän kiinnitti laivan keskelle virtaa pienen


saaren rantaan juuri auringon noustessa ja vei vankinsa maalle.

— Miehet, sanoi hän, — te tulitte tappamaan minua pimeinä


hetkinä.

— Herra, se on totta, sanoi toinen, — minä tulin tappamaan, ja


tämä toinen mies, joka on minun veljeni, sanoi minulle, milloin oli
tultava — vaikkakin se, jota hän kutsui, olisi voinut olla toinen, sillä
minä olen vain yksi monista.

Sanders tajusi totuuden, että häntä odotti sarja miellyttäviä


hyökkäyksiä, joiden tuloa ei pasuunoin toitotettu.

— Sanokaa, virkkoi hän, — kuka on käskenyt tappamaan, ja miksi


minun on kuoltava?

Hänen puhuttelemansa mies, pitkä, solakka amatombolainen


nuorukainen, pyyhki hikeä otsaltaan kahlehditulla kädellään.

— Herra, vaikka hakkaat minut kappaleiksi, en kerro sinulle, sillä


minulla on suuri ju-ju, ja muutamat jumalat suuttuisivat minulle.

Sanders koetti toista miestä yhtä huonosti onnistuen. Tämä toinen


oli työläinen, jonka hän oli ottanut neljän päivänmatkan päässä
alavirralla sijaitsevasta kylästä.

— Herra, vaikka kuolisin vaikenemisestani, en puhu mitään, sanoi


hän.
— Sangen hyvä, virkahti Sanders ja nyökkäsi Abibulle. — Panetan
teidät, lisäsi hän, — pitkäksenne maahan, kädet ja jalat levällään, ja
sytytän tulen teidän rintanne päälle, ja te kerrotte hyvin äkkiä, mitä
haluan tietää.

Ja heidät asetettiin pitkälleen; kummankin rinnalla oli pieni kasa


kuivia köynnöksiä, ja Sanders otti palvelijainsa tekemästä tulesta
hehkuvan kepin..

Maassa makaavat miehet tarkastelivat hänen jokaista liikettään.


He näkivät hänen puhaltavan punaisen kepin palamaan, ja sitten
toinen sanoi:

— Herra, minä puhun.

— Arvelin niin, sanoi Sanders. — Ja puhu nopeasti, sillä muuten


teen olosi epämukavaksi.

Jos minulta kysytään, luulenko Sandersin aikoneen käyttää


palavaa keppiään, niin minun täytyy totuudenmukaisesti sanoa, että
luulen niin; mutta ehkä Sanders tunsi miehensä paremmin kuin minä
Sandersin.

Päästyään onnettomasta tilasta miehet juttelivat nopeasti, ja


Sanders teki englanninkielisiä muistiinpanoja heidän
bomongonmurteisesta puheestaan.

Kuulustelun loputtua Sanders kokosi muistiinpanonsa ja vei


miehet laivaansa. Kahta tuntia myöhemmin »Zaire» oli täyttä höyryä
matkalla erääseen Akasavan kylään, jonka bomongonkielinen nimi
oli Tukalala.
Tukalalassa eleli lähetyssaarnaaja, amerikkalainen metodisti, joka
oli siirtynyt kuumevyöhykkeen pakanain keskuuteen voidakseen
kasvattaa heidän sydämeensä tietoisuutta Jumalasta.

Sanders ei erityisemmin suosinut lähetyssaarnaajia; hänellä oli


todellakin sellaiset käsitykset veljeydestä, että ne eivät olleet hänelle
kunniaksi, mutta hän tunsi myötämielisyyttä nuorta miestä kohtaan,
joka työskenteli toiveikkaana epäkiitollisella alalla, ja nyt hän käveli
kärsimättömänä pienen laivansa komentosillalla, sillä hänen oli
välttämättä ehdittävä Tukalalaan ennen eräiden asioiden
tapahtumista.

Hän tuli joen mutkaan juuri kun aurinko oli laskemassa puiden taa
länteen, ja lähetysaseman edessä oleva valkea ranta tuli selvästi
näkyviin.

Hän viittasi kahdella sormella ruorimiehelle: pieni laiva kääntyi


melkein sivuvirtaan rantaa kohti, ja joen musta vesi syöksähti
vasenta kylkeä vastaan kuin se olisi ollut sulkuportti.

Se höyrysi rannalle; »pukka-pukka-pukka-puk», lauloi


silinterinmäntä äänekkäästi.

Missä lähetyssaarnaajan maja oli ollut, siinä oli nyt mustien


kekäleitten kaaos, josta hitaasti kohoili leyhyviä savukiemuroita.

Sanders näki lähetyssaarnaajan makaamassa tahrautunut valkea


puku yllä kasvot maata vasten, ja havaitsi, että häntä oli vaikeata
kohottaa, sillä hänet oli naulinnut maahan leveäteräinen
norsukeihäs, joka oli katkennut olkapäiden kohdalta.
Sanders käänsi hänet selälleen ja sulki hänen silmänsä, jotka
tuijottivat, kuten näytti, anovasti taivaan korkeuteen etsien Jumalan
viisautta.

Komissaari otti taskustaan nenäliinan ja laski sen miehen


kasvoille.

— Abibu, sanoi hän lempeästi kersantilleen, — kaiva syvä hauta


tuon kumipuun juurelle, sillä tämä mies oli kansansa keskuudessa
suuri päällikkö, ja hänellä oli yhteys Jumalan kanssa.

— Hän oli kristitty mies, sanoi Abibu miettivänä, ja hurskas


profeetan seuraaja, ja Marin suurassa on kirjoitettu:

'Lahkot ovat joutuneet kiistaan Jeesuksesta, mutta suuren tuomion


päivänä voi niitä, jotka eivät uskoneet!'

Abibulla oli kunnianimi hadzi, sillä hän oli käynyt Mekassa ja tunsi
Koraanin paremmin kuin useimmat kristityt tuntevat Raamatun.

Sanders ei puhunut mitään. Hän otti taskustaan sikarin ja sytytti


sen silmäillen ympärilleen.

Ei yhtään rakennusta ollut pystyssä. Missä lähetysasema kauniine


puutarhoineen oli ollut, oli nyt hävityksen kauhistus. Sammuvassa
valossa hän näki vaateriekaleita raunioissa ja tiesi niiden
merkitsevän toisia uhreja.

Kuun kelmeässä valossa hän hautasi lähetyssaarnaajan lukien


hänelle
Isämeidän ja niin paljon hautaustoimituksesta kuin saattoi muistaa.
Sitten hän meni takaisin »Zairelle» ja asetti vahdit. Aamulla hän
käänsi »Zairen» keulan myötävirtaan, ja saapui illalla auringon
laskiessa pääjoelle — hän oli kulkenut sivujokea — ja näiden kahden
joen yhtymäkohdassa oli Akasavan kaupunki.

Hänen luokseen tuotiin kaikkien akasavalaisten päällikkö, ja sillalla


pidettiin kannelle asetetun lampun ja pienen kynttilän valossa
palaver.

— Päällikkö, sanoi Sanders, — sinun alueellasi on kuollut valkea


mies, ja minä tahdon saada niiden miesten sydämen, jotka ovat
tappaneet hänet, tai kuoleman kautta! otan sinun pääsi.

Hän sanoi tämän tyynesti, intohimottomasti, ja kuitenkin hän


vannoi__ Iwan kautta, joka tarkoittaa kuolemaa ja on voimakkain
vannominen. Kannella kyykkivä päällikkö väänteli käsiään ja värisi.

— Herra, sanoi hän vapisevalla äänellä, — tämä on tapaus, josta


minä en tiedä mitään. Tämä on sattunut minun alueellani, mutta niin
kaukana ulottuviltani, että minä en voi rangaista enkä kostaa.

Sanders päästi vain epämiellyttävän tuhauksen, muuten hän


vaikeni.

— Samaten, herra, jatkoi päällikkö, — jos sanon totuuden, niin


tämä ei ole yksin akasavalaisten asia, sillä miehet ovat pitkin
jokivartta kapinallisia ja tottelevat uutta ju-jua enemmän kuin mitään
muuta.

— Tiedän vähän ju-juista, sanoi Sanders lyhyesti, — tiedän vain,


että valkea mies on kuollut ja hänen henkensä vaeltaa vierailla
mailla eikä asetu lepoon, ennen kuin olen tappanut miehiä. Joko
sinut tai muita — palaver on päättynyt.

Päällikkö nousi kömpelösti, teki kädellään kunniaa ja meni


vaappuen lankkua myöten maalle.

Sanders puolestaan istui ajatellen ja poltti sikarin toisensa jälkeen.


Hän istui myöhään yöhön. Kerran hän kutsui palvelijansa tuomaan
uuden kynttilän ja hankkimaan hänelle tyynyn pään alle. Niin hän
istui, kunnes hälisevä pikku kylä vaipui uneen, kunnes ei kuulunut
mitään muuta kuin lepakoitten siipien suhina, kun ne tulivat ja
menivät joen pikku saarilla — sillä yököt rakastavat saaria, erittäinkin
isot vampyyriyököt.

Kello kaksi aamulla hän katsoi kelloaan, otti lyhdyn ja meni


perään.

Hän kulki nukkuvien yli, kunnes tuli sille puolen kantta, jossa
hausa istui vahtimassa vankeja karbiini ladattuna.

Hän sysäsi miehiä hiljaa jalallaan, ja he kavahtivat istumaan


tuijottaen sokaistuneina hänen lamppuunsa.

— Kertokaapa minulle hieman lisää, sanoi hän. Kuinka tämä ju-ju


tuli teidän maahanne?

Puhuteltu katsoi häneen.

— Herra, kuinka tulee sade tai tuuli? sanoi hän. Tehtiin jokin paha
työ, tanssittiin, syötiin eräs mies; sitten me kaikki maalasimme
itsemme ja tytöt sanoivat: 'Tappakaa!'

Sanders oli kärsivällinen.


— Olen kuin isänne ja äitinne, sanoi hän. — Kannan teitä käsilläni;
kun vesi nousi ja hävitti teidän puutarhanne, tulin tuomaan maniokkia
ja suolaa ja pelastin teidät; kun tauti tuli, toin valkeita miehiä, jotka
raapivat teidän käsiänne ja panivat taikavoimaa teidän vereenne;
olen tehnyt rauhan, ja teidän vaimonne ovat turvassa ngombeilta ja
isisiläisiltä, ja kuitenkin tahdotte tappaa minut.

Toinen nyökkäsi.

— Se on totta, herra — mutta sellainen on ju-jun tapa. Sellainen


on hyvin Suuri Asia, eikä se muista.

Sanders oli huolissaan: tämä ei ollut hänen käsitettävissään. —


Mitä ju-ju sanoi?

— Herra, se sanoi hyvin selvästi, puhuen erään hyvin vanhan


miehen suun kautta, Begelin Mfabakan…

— Begelin Mfabakan? kertasi Sanders ja merkitsi nimen nopeaa


hirttoa varten.

— Tämä vanha mies näki näyn, ja tässä näyssä, jonka hän näki
suuressa tuskassa ja kivussa, voivottaen ja kuumin silmin, hän näki
valkeita miehiä tapettavan ja heidän talojaan poltettavan.

— Milloin tämä tapahtui?

— Kun kuu oli täysi (kuusi päivää sitten, ajatteli Sanders), — ja


hän näki suuren kuninkaan, jonka sotajoukot marssivat maan läpi, ja
kaikki valkeat miehet pelkäsivät häntä.

Hän jatkoi, niinkuin vain alkuasukkaan muistilla saatetaan,


yksityiskohtaisesti kuvailuaan kuninkaan marssista; kuinka hän
teurasti valkeita miehiä ja naisia ja pani heidän talonsa tuleen;
kuinka hänen sotajoukkonsa kulkivat tanssien hänen edellään.

— Ja kaikki tämä tapahtui täyden kuun aikana, lopetti hän. — Sen


vuoksi me myös lähdimme tappamaan, ja koska tiesimme sinun
ylhäisyytesi tulevan tähän aikaan vuodesta oikeutta istumaan,
arvelimme viisaaksi tappaa sinut ja Kristus-miehen myös.

Hän kertoi tämän asiallisella äänellä, ja Sanders tiesi hänen


puhuvan totta.

Jotakuta toista olisi enemmän liikuttanut jutun se osa, joka koski


häntä itseään lähimmin, mutta komissaarin ajatuksia askarrutti
eniten kuningas (»hyvin suuri mies, erittäin laaja keskeltä») ja hänen
hävittävät sotajoukkonsa.

Tämän pohjalla oli totuus, hän ei sitä epäillyt. Jossakin oli kapina,
josta hän ei ollut kuullut. Hyvin nopeasti hän muistutteli kaikki oman
alueensa ja sitä ympäröivien maiden kuninkaat.

Ochorin päällikkyyden anastanut Monrovian Bosambo lähetti


hänelle tavan takaa tietoja naapurikansoista. Sotaa ei ollut
pohjoisessa eikä etelässä.

— Tahdon nähdä tämän vanhuksen, Begelin Mfabakan, sanoi hän.

Begeli on kylä sivujoen varrella. Joki on niin kapea, että se näyttää


purolta, ja niin tyyni, että se tuntuu järveltä. Kummallakin rannalla on
mahtava viidakko, jonka puita sitoo toisiinsa käärmemäisten
köynnöskasvien paljous ja jonka alaosaa kattaa runsas alusmetsä.
»Zaire» tuli varovasti tätä tyyntä kapeaa väylää myöten, kaksi
konekivääriä merkitsevästi paljastettuina.
Pikkarainen laiva, tämä »Zaire». Sen perärattaan yläpuolella
lipputangossa riippui kamalan suuri sininen Englannin lippu — paha
merkki, sillä kun Sanders oli nostanut komissaarin lipun, niin silloin
epämieluisat tapahtumat odottivat jotakuta.

Hän seisoi kannella takitta, antaen sormillaan merkkejä


ruorimiehelle.

— Vhiuu! — Nuoli tärisi puisen kansihytin seinässä. Hän veti sen


irti ja tarkasti kärjen huolellisesti; sitten hän heitti sen yli laidan.

— Pam!

Savupilvi rannan tiheiköstä — luoti mursi hänen tuolinsa selän.

Hän kumartui ja otti kiväärin, pani merkille savupilven ja tähtäsi


huolellisesti.

— Pam!

Mahdotonta oli nähdä, mihin luoti osui; saattoi kuulla vain sen
vihellyksen ja kaiun, kun se kiiti tietään pensaikon läpi.

Siihen lakkasi ampuminen.

— Puk-apuk-puk-apuk-puk, pyöri peräratas hitaasti ja »Zairen»


keula halkoi tyyntä vettä ja jätti jälkeensä poreilevan vanan. Kylän
edessä oli kuusi sotakanoottia, jotka, rinnatusten meloivat
komissaaria vastaan. Hän soitti konehuoneeseen: »Seis!» Koneiden
ääni häipyi, ja hän saattoi hiljaisessa ilmassa kuulla rummun äänen,
ja kiikarilla hän näki hurjasti maalatut vartalot ja keihään kärkeen
pistetyn pään.
Tällä maailmankolkalla oli ollut muudan Ogilvie niminen kauppias,
hiljainen, hämärä mies, joka myi vaatetta ja osti kumia.

— Viisisataa askelta, sanoi Sanders, ja kersantti Abibu tarttui


konekiväärin kädensijaan, nykäisi panosnauhaa hieman, heilautti
piipunsuun eteenpäin ja tähtäsi tarkasti. Samalla hausakorpraali,
joka seisoi toisen konekiväärin luona, istahti sen takana olevaan
satulaan ja laski peukalonsa liipaisimelle.

Keskimmäisestä kanootista kohosi savupilvi; luoti ei kantanut.

— Ogilvie, ystäväiseni, jupisi Sanders, — jos eläisit — vaikka etpä


taida enää — saisit selittää näiden schneider-kiväärien
olemassaolon.

Kanootit lähestyivät melat tahdikkaasti käyden, ja laulun matala,


raikas sointu säesti liikettä.

— Neljäsataa askelta, sanoi Sanders, ja konekiväärien ääressä


istuvat miehet ottivat uuden jyvän.

— Kaksi keskimmäistä kanoottia, sanoi Sanders. Tulta!

Hetken hiljaisuus.

— Ha-ha-ha-ha-ha-ha-ha! nauroivat konekiväärit ivallisesti.

Sanders katseli vaikutusta kaukoputkellaan.

— Muut kanootit, sanoi hän lyhyesti.

— Ha-ha-ha-ha-ha-ha!
Ampuja oli huolellinen mies, hän ampui sarjoittain, haluten nähdä
laukaustensa tehoisuuden.

Sanders näki miesten kaatuvan, näki yhden kanootin kääntyvän ja


menevän kumoon ja miesten mustia päitä vedessä; hän soitti koneet
täyteen vauhtiin.

Jostakin vahingoittumattomasta kanootista ammuttiin laukaus.


Luodin aiheuttama ilmanpaine tuntui hänen kasvoillaan, hän kuuli
napsauksen, kun se iski takana olevaan seinään.

Tuli toinen luoti, ja ruorissa oleva poika käänsi irvistäen päänsä


Sandersiin päin.

— Herra, mutisi hän arabiaksi, — tämä oli säädetty aikojen alusta.

Sanders pani kätensä hänen kainaloonsa ja laski hänet hiljaa


kannelle.

— Kaikki tapahtuu Jumalan viisaasta tahdosta, sanoi hän hiljaa.

— Kiitetty olkoon Hänen nimensä, kuiskasi kuoleva poika.

Sanders otti ruorin, joka pyöri sinne tänne, ja kutsui toisen


ruorimiehen.

Laivan keula oli kääntynyt hyökkäävää kanoottia kohti. Tämä oli


sen miehille onneton tilanne, sillä molemmat konekiväärit olivat
siihen tähdätyt; ne lauloivat yhdessä, ja sinisen savun keskeltä
saattoi huomata kanootin pian tyhjenneen.

Siihen päättyi taistelu. Viidennessä kanootissa muuan sotilas piti


keihästä poikittain päänsä yläpuolella antautumisen merkkinä, ja
kymmentä minuuttia myöhemmin kapinoitsijain päällikkö oli laivalla.

— Herra, sanoi hän tyynesti, kun hänet oli tuotu Sandersin eteen,
— tämä on paha palaver. Mitä teet minulle?

Sanders katsoi häneen vakavasti.

— Olen sinulle armollinen, sanoi hän, — sillä heti kylään


tultuamme hirtän sinut.

— Arvelin niin, sanoi päällikkö lihastakaan väräyttämättä, — ja


olen kuullut sinun hirttävän miehiä nopeasti, niin etteivät he kärsi
paljoa.

— Se on tapani, sanoi Joen Sanders, ja päällikkö nyökkäsi


päätään myöntyvästi.

— Toivon, että niin on, sanoi hän.

Saavuttiin surulliseen kylään, sillä siellä oli monen naisen


pukeuduttava surulehviin.

Sanders tuli maihin hausain kanssa ja piti suuren palaverin puiden


alla.

— Tuokaa luokseni vanhus Mfabaka, joka näkee näkyjä, sanoi


hän, ja he toivat hänen luokseen niin vanhan miehen, ettei hänellä
ollut muuta muotoa kuin luut.

He kantoivat hänet oikeuspaikalle ja asettivat hänet komissaarin


eteen.

— Olet paha mies, sanoi Sanders, — ja sinun kielesi valheen takia


on monta kuollut; tänään hirtän puuhun sinun päällikkösi, ja hänen
kanssaan eräitä muita. Jos sinä astut kansasi eteen ja sanot: 'Se
tarina ja se tarina olivat valhetta eikä mitään muuta', niin saat elää
päiväsi; mutta jos pysyt valheissasi, niin kautta minun jumalani ja
sinun jumalasi sinä kuolet!

Kului pitkä aika, ennen kuin mies puhui, sillä hän oli hyvin vanha ja
hyvin säikähtynyt, ja kuolemanpelko, joka on muutamien vanhusten
peikko, oli hänen yllään.

— Puhuin totta, änkytti hän vihdoin. — Puhuin, mitä näin ja mitä


tiesin — vain sen.

Sanders odotti.

— Näin suuren kuninkaan tappavan ja polttavan; eilen näin hänen


marssittavan sotajoukkojaan sotaan, ja kuului suuri huuto, ja minä
näin savun.

Hän pudisti päätään avuttomana.

— Minä näin nämä asiat. Miten voin sanoa, etten nähnyt mitään.

— Minkälainen kuningas? kysyi Sanders.

Jälleen oli pitkä hiljaisuus, jonka aikana vanhus kokoili muistiaan.

— Suuri kuningas, sanoi hän järkyttyneenä, — keskeltä iso kuin


härkä, ja hänellä oli suuria, valkeita sulkia ja leopardinnahka.

— Olet hullu, sanoi Sanders ja lopetti palaverin.

*****
Kuusi päivää myöhemmin Sanders meni takaisin päämajaan
jättäen jälkeensä kauhistuneita ihmisiä.

Pahat uutiset kulkevat nopeammin kuin höyry voi puskea pientä


laivaa eteenpäin, ja pieni »Zaire», joka keskivirralla pysytellen oli
kohottanut sinisen lipun, oli monen kylän huomion esineenä.
Asukkaat olivat kerääntyneet rannalle ja seisoivat kädet ristissä tai
rystyset huulia vasten puristettuina osoittaakseen hämmennystään ja
huusivat kuorossa laivan jälkeen.

— Oi Sandi — isä! Kuinka monta pahaa olet tänään surmannut?


Oi paholaisten tappaja — oi puiden hirttäjä — olemme täynnä
hyveitä emmekä pelkää.

— Ei-fo, Kalaba? Ei-ko Sandi! Eivo fo elegi, ja niin edelleen.

Sanders kulki nopeasti myötävirtaa, sillä hän tahtoi päästä


yhteyteen päämiehensä kanssa. Jossakin oli kapina — sen hän tiesi.

Vanhus oli puhunut totta ennen kuolemaansa — sillä hän kuoli


järkytyksestä ja vanhuudesta.

Kuka oli kapinoiva kuningas? Ei ainakaan Isisin, ei Ngombin eikä


Ochorin takaisten rintamaiden.

»Zaire» pyörähti päämajaan laituriin, ja hausajoukkojen kapteeni


oli häntä vastassa.

— Onko lennätinlanka kunnossa? kysyi Sanders astuessaan


maihin.

Kapteeni nyökkäsi.
— Mikä on hätänä? kysyi hän.

— Jonkinlainen sota, sanoi Sanders, — joku kuningas on


nousutuulella.

Ja hän kertoi tarinansa lyhyesti.

Hausaupseeri vihelsi.

— Mutta oman kukkaron herra korkea pitäjä! noitui hän hienosti,


— sepä kummallista!

— Olet myrkyllisen hupaisalla päällä! ärähti Sanders.

— Kuulehan, sanoi hausa ja tarttui hänen käsivarteensa. — Etkö


tiedä, että Lo Benguela on kapinassa? Kuvaus sopii häneen.

Sanders pysähtyi.

— Tietenkin, sanoi hän ja huokaisi helpotuksesta.

— Mutta, sanoi ällistynyt upseeri, — Matabelemaa on


kolmentuhannen mailin päässä. Kapina alkoi kolme viikkoa sitten.
Mistä nämä peijakkaat sen tiesivät?

Vastaukseksi Sanders kutsui laivansa miehistöön kuuluvan


akasavalaisen miehen, joka oli hyvä puunhakkaaja.

— Ifasi, sanoi hän, — kerrohan, mitä tänään tehdään sinun


maassasi?

Mies hymyili laupiaasti ja seisoi hämmästyksestä yhdellä jalalla,


sillä tavalliselle miehelle oli suuri kunnia, kun Sanders puhutteli
häntä oikealla nimellään.
— Herra, he menevät metsästämään norsuja, sanoi hän.

— Kuinka monta? sanoi Sanders.

— Kaksi kylää, sanoi mies, — sillä yhdessä kylässä on tautia


eivätkä he voi mennä.

— Mistä tiedät tämän? sanoi Sanders. — Eikö kylääsi ole matkaa


vesitse neljä ja maitse kolme päivää?

Miehen olo näytti tukalalta.

— Niinkuin sanot, herra — mutta tiedän sen kuitenkin, sanoi hän.

Sanders kääntyi hausaan hymyillen.

— Tässä maassa on paljon opittavaa, sanoi hän.

*****

Kuukautta myöhemmin Sanders sai erään »Cape Timesin»


leikkeleen. Häntä huvitti seuraava kohta:

»… huhu, johon Matabelen kapinalliset uskovat ja joka tietää, että


heidän liittolaisensa olisivat pohjoisessa kärsineet tappion, ei ole
saanut vahvistusta. Barotsemaan komissaari kumoaa
alkuasukkaiden kertoman väitteen kapinahommasta ja ilmoittaa, että
mikäli hän tietää, kaikki hänen alaisensa kansat ovat pysyneet
rauhallisina. Muut pohjoiset komissaarit kertovat samaa. Ei ole
tapahtunut minkäänlaista Matabelen kapinaan liittyvää nousua,
vaikka alkuasukkaat kiven kovaan väittävät, että jossakin
'kaukaisessa maassa', jota he eivät voi määritellä, sellaiseen

You might also like