You are on page 1of 1


Figure 3:
(TS//SI) Appending a server to a pre-existing circuit.
to them. Once a server is appended to an Establish Rend circuit, its purpose
becomesRend Ready (a one-hop circuit to a rendezvous point) and attempting to
append anymore servers will cause a crash. This will need to be cleaned up as
functionality for creatingrendezvous circuits and accessing hidden services is
F.3 (TS//SI) DoS-style attacks
(TS//SI) The GUI provides an interface for performing the coil and ?ower DoS
attacksfrom the MJOLNIR library. In the coil attack, the user chooses two servers
to attack andthe number of coils in the circuit. Each server appears once in the
circuit for each coil, sothe length of the circuit will be twice the number of
coils. For the ?ower attack, the userchooses a server to attack and the number of
petals, where the number of petals is thenumber of times the selected server will
appear in the circuit.(TS//SI) For both attacks, the user has the option to create
the coil or ?ower as anew circuit or to append it to an existing circuit. However,
appending coils or ?owers ismore expensive than creating them as new circuits, and
there is a signi?cant performancehit for appending large coils and ?owers to
F.4 (TS//SI) Sending arbitrary packets
(TS//SI) To send a packet through a circuit, the user ?rst clicks the Send Packet
button.Then the user selects a circuit to send the message through, and an IP
address and portnumber to send the message to. The user has the option of entering
the payload of thepacket in either hex or ASCII. Upon clicking Send, the packet
is encrypted with theappropriate layers of encryption and sent through the circuit.
The exit server will thensend the decrypted packet to the selected IP address and
destination port.47

Figure 4:
(TS//SI) The coil attack dialog.
Figure 5:
(TS//SI) Sending a custom TCP packet using the MJOLNIR GUI.

F.5 (U) Future features

Customizing the certi?cates. This feature is currently available in the

MJOLNIRlibrary, but needs an interface in the GUI.

Functionality for creating rendezvous circuits and accessing hidden services as

itbecomes available in the library.
F.5.1 (U) Minor changes/bug ?xes

Add a purpose ?eld to the New Random Circuit dialog box, and deal with issuesthat
arise from attempting to create circuits of certain purposes.

Address the crashes caused by appending servers to circuits of certain purposes

eitherby refusing to allow such an action or ?xing it at the library level.49