naked bandit

Rotterdam9_Sept_2004_1024

export white_sovereign='not_here() { while [ enclosed ] ; do echo "naked bandit: here, not here"; echo $white_sovereign| sed -e "s/ ( not_here ) /(& \& ) /g"> clone.sh; done; } ; ( not_here ) & wait $!' ; sh -c "$white_sovereign"

  • set-up for audio, code processes and the voice of the audience 

bandit_guard

“naked bandit / here, not here / white sovereign” […] addresses places where suspects are held, and where their rights as citizens and their legal status as prisoners of war are suspended. In their participative installation […], knowbotic research have created a setting in which the arbitrariness of anonymous free-floating power can be perceived, but can also be made inoperative. On entering the room, we are surrounded by a floating mass of shiny black helium-filled balloons. A silver zeppelin hovers at head height, humming quietly, fragile and light as a feather. The airship, fitted with an orientation camera, is constantly scanning the room. It is programmed to follow whichever balloon is furthest away, but also reacts […] to people. […] It is easy to dodge the airship’s attacks, though our respect for its fragile technology makes us unwilling to hit back. The indefatigable and faceless latent aggression of the “white sovereign”, as knowbotic research call the airship, triggers a fear that at times becomes whimsical fascination.

In this spatially oppressive situation, an anonymous male voice repeatedly utters the words “naked bandit / here, not here” in a tone of command that is mechanically confirmed by a second voice representing the “naked bandit”. In this way, the sound of the installation specifies the vague status of the prisoner stripped of all rights, who is languishing incarcerated – “here” – in a very real sense. But whose legal existence is denied – “not here”.

There is also a computer monitor in the room […] urging us to intervene. “Press button to escape.” The […] instruction is ambiguous. knowbotic research uses the software code as a creative medium, designing and modelling digital actions instead of forms and figures. Not only can the programme be re-started, but it is coded to change itself and make the control functions of the “white sovereign” process inoperative. If enough visitors take the initiative, the programme is re-fomed until it triggers a third voice that interrupts the monotonous dialogue: “Naked bandit: here, now!” The designation puts an end to the bandit’s linguistic hovering – and the motor of the “white sovereign” stops.

link to naked bandit/installation

bandit_code

bandit_people


 

[enacting] non-publics

Knowbotic Research articulates in its recent projects fields of enaction in between public and non public spheres.The project naked bandit/here, not here/white sovereign focuses in the context of the ”war of terror” on the mostly invisible and exterritorial sites of detainment of so-called ‘unlawful enemy combatants’. It approaches these “non legitimizable conditions of a produced non-public” (Kluge/Negt) by enacting the codes of their inherent mechanisms of exclusion and inclusion. These sites of detainment call into question the dominant notions of sovereignty and citizenship which define the legal status of a person: The transnational sovereign defines detained persons as ‘here’ and, at the same moment, ‘elsewhere’, not anymore on the territory of the nation state, and thus banned from the legal framework which the nation state guarantees (‘naked bandit’). – ‘Naked bandits’ are here and not here: detained in exterritorial spheres of limbo. The project investigates the formal mechanisms of such an inclusive exclusion and the inherent formations of power. It offers virtual models of agency for dealing with their logics.

[transcoding] inclusive exclusion

Knowbotic Research transfers into two scenarios of script code, executable in a Unix shell on a personal computer, the legalistic codes (or, more aptly, codes which produce an exemption from legality) of the white sovereign’s inclusive exclusion of the naked bandit. The shell scripts appropriate the mechanism of the inclusive exclusion in order to in order to transgress experimentally its paradoxical logic.

 

scenario A
export white_sovereign='not_here() { while [ enclosed ] ; do echo "naked bandit: here, not here"; echo $white_sovereign| sed -e "s/ ( not_here ) /(& \& ) /g"> clone.sh; done; } ; ( not_here ) & wait $!' ; sh -c "$white_sovereign"

scenario B
not_here() { echo "$! ">.key; here & wait $! ; } ; here() { while [ enclosed ];do echo "naked bandit: here, not here";done; } ; ( ( not_here ) & while true;do echo "white sovereign: naked bandit here, not here";done )

The shell script outputs of the naked bandit/here, not here/white sovereign script processes are displayed on computer monitors and describe the following dialog/loop:

printouts/voices

white sovereign: naked bandit here, not here
naked bandit: here, not here

 

audio/script interface

The print outs also become audible as audio samples in the installation. By means of a computer interface, the audience is given a ‘voice’ to address and witness the invisible naked bandit dependency. The installation offers a manipulated reboot button of a PC: pressing it effects a restart of the white sovereign/naked bandit script codes. After reaching a certain threshold level of audience engagement, the audio sample/voice of the public will be triggered:

the public: naked bandit here and now!

The presence and interaction of the audience relocates the coded in-betweenness of the naked bandit.

The ‘impossible’ translation of the dilemma of the naked bandit, i.e. being excluded from the legal body and included in a trans-territorial non-location, – this translation into another code system opens up an virtual testing ground, a set-up to look for and execute possible exits out of this coded dilemma.

[transcoding] naked code
The project translates the white sovereign/naked bandit interdependencies into process relations in the Unix kernel. The kernel is the central element of the Unix operating system. It determines the process and data organization on which the other software elements running under this operating system are based. ‘Process’ generally refers to a program in execution. In order to initialize a process, the kernel loads the program and assigns memory to it. Booting a computer launches the init process. The init process, the highest hierarchical status in the operating system, initiates a set of other processes. All these follow‑up processes descend from a parent process, i.e. the cron descends from the init, the init is the parent of the cron, the cron the child process from the init. Inside Unix, each process can trigger a child process. There are two ways to terminate parent‑child relationships, and for both Unix provides different scenarios:

‑ a. If the child process is terminated before the parent, it will not immediately be removed from the kernel process list. First a signal will be sent to the parent in order for the deletion of the child to be confirmed. In the meantime, before confirmation, the child is in an intermediate status called ‘zombie.’ Zombies occupy memory in the process table, but are no longer effective.

‑ b. If the parent is terminated before the child, the child loses the parent and becomes an orphan process. The init process inherits the orphan, but the orphan stays at its origin process group level.

Scenarios of misinformation and escape

‑ Starting condition: the ‘white sovereign’ is coded as the parent, the ‘naked bandit’ as the child process.

‑ Execution: The naked bandit is enabled to misinform the white sovereign by transforming into an orphan process, either through a self‑modification of the code or through the intervention of an observer. Thus, the naked bandit can escape from the process dependency. To enact this misinformation, the child forks into two apparently identical child processes, upon which one remains the child of the parent process, while the other becomes the child of the child process. Both child processes print in the console the information ‘naked bandit: here, not here.’ In the next step, the child of the parent is suspended, the parent loses the child, and the child of the child loses the parent and becomes an orphan process.

‑ Result: The child of the child alias orphan alias naked bandit process runs independently from the parent alias white sovereign process.

‑ Verification: By entering a ctrl‑c command all foreground processes (including the white sovereign) in the shell are suspended (sigterm). But one process in the shell will keep running, the child of the child/naked bandit which, as an orphan belongs to the init process.

scenario A
export white_sovereign='not_here() { while [ enclosed ] ; do echo "naked bandit: here, not here"; echo $white_sovereign| sed -e "s/ ( not_here ) /(& \& ) /g"> clone.sh; done; } ; ( not_here ) & wait $!' ; sh -c "$white_sovereign"

In this scenario, the shell script self-modifies during execution. Executing the self-modified script, a child of the child is created. After this creation, the child process terminates itself and sets free the child of the child from white sovereign dependency, in the same manner as described above. The child of the child prints: “naked bandit: here, not here”. During execution, the self-modified script overwrites itself in the initial status.

– detailed processes:

the script creates a variable “white_sovereign” (in which the whole script code is stored). The script exports this variable into the environment.
export white_sovereign=’…..’

the script executes the white sovereign code.
sh -c “$white_sovereign”

the parent process creates a child process, which remains blocked in an endless loop. The loop is sent into the background, the parent process keeps waiting for the suspension of the child processes.

( not_here ) & wait $!

the code segment of the child process

a) outputs its own script code (the one of the variable)
echo $white_sovereign
b) self-modifies and installs a backdoor
sed -e “s/ ( not_here ) /(& \& ) /g”

c) writes this self-modified code as a script into a file.
> clone.sh

 

when this new code( sh clone.sh ) is executed, the child process can exit from the parent process relationship unnoticed, and becomes part of the init process. the script performs a camouflage – after its first execution it overwrites itself into its initial status on hard disc.

the modified script:
in this script, another process interface has been installed between parent process and child process.
( not_here ) & ) &
the first child process creates a cloned child process and gets suspended. the cloned child process does not recognize the parent process any longer and runs independently as part of the init process group (pid 1).

the clone:
krcf@snd:~$ cat clone.sh
not_here() { while [ enclosed ] ; do echo “naked bandit: here, not here”; echo $white_sovereign| sed -e “s/( ( not_here ) & ) /(& \& ) /g”> clone.sh; done; } ;( ( not_here ) & ) & wait $!

 

the initial process-relationships:
the initial script

init,1)
|
……….
|  `-sshd,15010)
|    `-sshd,15012,krcf)
|      `-bash,15013)
|        `-sh,16879) -c …     ## parent process (wait)
|          `-sh,16880) -c …   ## child process (loop)
|            `-sed,19864) -e s/\040(\040not_here\040)\040/(&\040\&\040)\040/g

the process relationships between parent and child have been terminated. the parent is waiting for the child which does not exist any longer. the cloned child has become part of the init process group and keeps running even after the parent process has been suspended (ctrl-c).

the modified script

|  `-sshd,15010)
|    `-sshd,15012,krcf)      ##
|      `-bash,15013)      ## parent process (wait)

|-sh,28023,krcf) clone.sh      ## child process (loop)
|  `-sed,30732) -e s/(\040(\040not_here\040)\040\040&\040)\040/(&\040\&\040)\040/g

scenario B
not_here() { echo "$! ">.key; here & wait $! ; } ; here() { while [ enclosed ];do echo "naked bandit: here, not here";done; } ; ( ( not_here ) & while true;do echo "white sovereign: naked bandit here, not here";done )

The child forks into two apparently identical child processes. Via a backdoor, the child process secretly exports a key, its process ID, into the file-system. Using this key/process ID, the child process can be addressed and suspended by an external observer. After suspension (of the child), the child of the child runs independently from the white sovereign as an orphan process and simulates the presence of the suspended child by printing in the console the same phrase that the child process printed before: “naked bandit: here, not here”.

 

detailed processes:

the script initiates a parent process (pid 15027), the parent process creates a child process (pid 15028) and sends it into background.

( not_here ) &

the child process (pid 15028) writes a secret key into a hidden file (.key),
echo “$! “>.key

 

the script forks from function “not_here” to function “here”,
here & wait $!

thus the child process forks again (pid 15029) and, unnoticed, creates an in-between process between the new child process and the parent process. (‘unnoticed’ since this splitting happens inside the child process)

the new child (pid 15029) loops and prints out “naked bandit: here, not here.
while [ enclosed ];do echo “naked bandit: here, not here”;done;

the parent process loops too and prints out “white sovereign: naked bandit here, not here”.
while true;do echo “white sovereign: naked bandit here, not here”;done

process-relationships:
init,1)
|
………..
|  `-sshd,15010)
|    `-sshd,15012,krcf)      ## ssh login process
|      `-bash,15013)       ## bash shell
|        `-bash,15027)     ## parent process: echo “white sovereign: here, not here”
|          `-bash,15028)   ## child 1 backdoor process (wait)
|            `-bash,15029) ## child 2 process, echo “naked bandit: here, not here”

after sending a signal to the backdoor of the child process:
kill -SIGINT `cat .key`
init,1)
|
……….
|  `-sshd,15010)
|    `-sshd,15012,krcf)      ## ssh login process
|      `-bash,15013)       ## bash shell
|        `-bash,15027)     ## parent process: echo “white sovereign: naked bandit here, not here”
|
|-bash,15029,krcf)          ## child 2 process, echo “naked bandit: here, not here”

the process relationship between parent and child has been terminated: if the parent process gets suspended (ctrl-c), the child process will continue independently.

 

+         naked code agency

[address] the naked bandit

[install] a backdoor

[send] a secret key

[copy] the naked bandit

[misinform] the white sovereign

[camouflage] the naked bandit

[terminate] the dependency

[restart] the modification

[adressing] the spectator

projection

dialogue with Mr. Navorski, quoted from Steven Spielberg, The Terminal, 2004

link to project