WSIM: A Software Platform To Simulate All-Optical Security Operations
WSIM: A Software Platform To Simulate All-Optical Security Operations
security operations
Antonis Krithinakis∗ , Lubomir Stroetmann∗† ,
Elias Athanasopoulos∗ , Georgios Kopidakis∗ , and Evangelos P. Markatos∗ ,
∗ Institute
of Computer Science, FORTH
Greece
Email: {krithin, lubomir, elathan, kopidaki, markatos}@ics.forth.gr
† University of Aachen
Germany
Abstract—Network throughput rates increase every day modelled. We discuss the software API, which we refer
in contrast to electronic chip processing speed and elec- to as SAPI (Security Application Programming Inter-
tronic I/O. Today’s firewalls operate by using traditional face), which is the mini operating system for the initial
electronic circuits just like any common PC. However, hardware prototype. SAPI is described in Section V.
performing these operations in a fast fiber optics network
Finally we conclude in Section VI.
on the scale of 40Gbps is impossible. In this paper, we
propose a novel system that is currently being researched II. BACKGROUND
and tries to perform the security operations of a firewall
In this section we discuss the challenges which appear
using optical components. We describe the basic limitations
of the optical domain that make this project difficult to
in the optical domain and present information needed as
implement. We outline the basic software platform called a background to understand the algorithm used by the
WSIM which is a simulator that offers theoretical support simulator platform.
of the project’s feasibility. The marriage of an all-optical A. Optical Algorithms
firewall with the traditional digital systems’ architecture
can offer significant benefits to the network from both a Operations such as pattern-matching are considered
security and a performance perspective. fundamental for security-oriented applications like fire-
walls and Intrusion Detection Systems. Thus, it is vital
I. I NTRODUCTION for the community to investigate new ways of performing
these tasks for high speed links like the ones provided
This novel system is called WISDOM[6] (Wirespeed
by optical systems.
Security Domains using Optical Monitoring) and is
The simulator software is made to simulate an all-
designed to develop optical processing modules which
optical pattern recognition system. The components of
will be placed at the front end of a node firewall to
this system are able to detect and indicate the position
provide high-speed information filtering purely inside
of a specified pattern of bits in a high-speed optical data
the optical domain. These photonic firewalls will operate
signal. The target pattern only needs to be generated at
using novel algorithms and protocols, to extract and
a much lower speed, readily achievable with standard
process security information at wire speed.
electronics. This pattern matching component is what
The main challenge of this project is to demonstrate we call a pattern matching box.
that it is possible to bridge the gap between the very Every box in the system runs the pattern matching
fast (at least 40 Gbps) optical data transmission and the algorithm whose complexity is proportional to the length
much slower electronic data security checks by pushing of the pattern. The algorithm is implemented using
critical security functions all the way down to the optical optical components only which we are not going to
domain. discuss in this paper but are explained in detail in [10].
The paper is structured in the following order. We
present the background in Section II. In Section III B. Optical Limitations
we present in detail a software modelling platform, its One of the fundamental constraints of the optical
architecture and some application scenarios that can be domain is the absence of state[8]. This is due to the
fact that building a memory storage device in the optical core of the system; there are several of options currently
domain is not as trivial as it is in the electronic domain. on the market for simulating optical devices[7]. Instead,
More precisely, the only notion of memory in the optical our initial goal was to produce a software environment
domain is to use serial, time-of-flight storage which that illustrates the operation of our architecture as a
delays the light pulses inside a loop for a relatively short whole system.
period of time. By using the framework, we are able to reproduce
Optical memory capacity is thus severely limited application scenarios in a controlled software environ-
compared to electronic memory, with integrated optical ment. We can estimate time costs and verify the pattern
devices being able to store a few hundreds of bits of matching optical algorithm.
information (albeit at extremely high data rates). The This section is organized as follows: First, we present
difficulty in having a flexible storage medium in the the framework’s features through a quick guide using
optical domain results in a system that almost completely limited screen shots of the software environment, due
lacks the notion of state. to space constraints. We proceed to explain the system
Almost all systems and algorithms developed in the architecture and then depict some possible usage config-
electronic domain reside to a great extent in having a urations and application scenarios.
controllable state. Therefore, developing security algo-
rithms in the optical domain requires a new method of A. Overview
thinking and learning time in order to understand how One of our first major concerns during the develop-
these algorithms can be implemented. ment of the framework was that it had to target a mixed
The lack of memory in the optical domain also results scientific audience and not just computer scientists. This
in very limited flexibility in the configuration of a device is, mainly, because our collaborative project is composed
and the dynamic re-adjustment of its setup. Since there of physicists, optical engineers, electrical engineers and
is no memory - in the sense of the term used in the computer scientists. Thus, we took the decision to de-
electronic domain - to hold a system’s state, it is hard velop a graphical and user friendly application for the
to modify a system’s behavior by altering its properties Microsoft Windows operating system. The framework
at run-time. As far as the implementation of a security can be used by anyone without requiring deep technical
device in the optical domain is concerned, the limited knowledge of computer software.
configurability reduces the flexibility in implementing With the assistance of the graphical environment the
even trivial features, enabled by default in all similar de- user is able to construct instances of all-optical pattern
vices of the electronic domain, such as adding, deleting matching boxes. We will further refer to such an instance
or modifying the rule-set of the device. as a filter or rule.
Aside from the lack of memory in the optical domain, Each filter is configured using a dialog box. First you
it is also quite difficult to perform logic operations, give the box a unique name. Then you select the target
which again is trivial in the electronic domain. The WIS- properties (protocol and service) that the box will search
DOM hardware architecture uses Semiconductor Optical for (e.g. ICMP[4], TCP[5], UDP[2], PORT number of
Amplifiers (SOAs)[9] in order to implement simple required service) and then the source of the packets.
operations like AND, XOR and other gates expressing In the beginning, the only source available is the trace
Boolean logic. file captured from the network, but after the creation
However, they are not as functional as digital gates, of each new box you can additionally select as source
and they can be used only in certain combinations. the matched or unmatched packets of any of the other
Using SOAs we have managed to implement the pattern- boxes, thus creating processing chains. Optionally, you
matching algorithm we described in Section II-A. can put an extra time delay for a box. In addition, if
you choose the PORT target you will be asked to select
III. S OFTWARE M ODELING between source port and destination port and put in the
In this section we present the software platform we port number as shown in Figure 1.
have developed for modelling the optical firewall. It is a After a new box has been set up, an iconic represen-
custom framework developed specifically for the needs tation of an all-optical pattern matching box is displayed
of our architecture. It runs on any PC equipped with on the program’s workspace. The user may construct
a network interface and a Microsoft Windows operating an unlimited amount of filters in this fashion. However,
system. The framework does not aim to model the optical the actual system’s capacity is limited. The real optical
After the user configuration is made and the simulation
is started, the Sniffer thread is created. The Sniffer is
initialized with a trace file from the user. Then the file
is processed and internal structures that represent the
packet header are created. Each packet from the trace
is processed and translated to a sequence of bits rep-
resenting its header. At present, the system architecture
deals with the IP protocol[3] for the packets’ network
layer and the TCP[5] and UDP[2] protocols for the
packets’ transport layer. Packets in the trace file using
other protocols are excluded.
When all internal structures have been created the
Fig. 1. Search for a specific port number
global timer described above begins and starts counting
the time spent on all operations until there are no
unprocessed packets remaining in the stack.
firewall is expected to be able to serve simultaneously Each packet is processed using the complete optical
only a few filters. algorithm for pattern matching and not using simple
Upon having set the preferred filters, the framework equality relations of computer programming.
can inject traffic into the simulated system. This can Every box keeps basic information like its name, the
be achieved either by passively capturing the traffic target and several counters that build the state of the
experienced by the host, which runs the framework, or by box and tree lists. The first list contains the source of
processing already captured traces. Each filter, depicted the packets to capture. The other two lists contain the
in the user’s desktop as an optical firewall instance, up- IDs of boxes whose source list has to be refreshed with
dates its statistics in real-time. Statistics include packets the packet being currently processed after the box has
captured, packets which matched the filter and packets finished with it. There is one list for matched packets and
that did not. one list for unmatched packets for every pattern matching
In addition, a global tick counter accounts for the box.
cost of the whole session in terms of spent processing After a box has captured a packet and finished pro-
time. We define a tick as the amount of time spent for cessing it and there is a match, then the packet feeds the
processing one bit of information in the optical domain. source list of the boxes that the matched list refers to.
For every tick, each pattern matching box performs the The same happens with packets that do not match the
pattern matching algorithm on one bit of the data. From target. The source of the boxes can be fed with packets
an algorithmic view we can imagine this operation as from a trace depending on the user’s configuration.
an iteration by the main processing loop of the system If the box is still in operation and its source list is
where each box operates separately from the others in a fed with a new packet, the packet gets dropped. The
pseudo-parallel way. source list must be empty when the pattern matching
box operates on a packet otherwise we have a packet
However, the tick described above corresponds to real
drop. If a box has finished with a packet and its source
time, which in the optical domain is on the scale of tens
list is empty, the box will be in an idle state until its
of picoseconds. For example, if we operate in 40Gbps
1 source list is refreshed.
then the one bit time is: 40∗10 9 = 25 picoseconds.
The simulation ends when all packets from the trace
This correlation of the one bit operation and the
have been processed through all the pattern matching
physical time is a configurable feature of our application
boxes. Then the user can examine the log files generated
so the user can change the virtual network throughput.
which contain all the information on the packets of
IV. S YSTEM A RCHITECTURE the trace including timestamps. We depict the system’s
architecture in Figure 2.
The Simulator process has two threads. The first one is
the graphical interface of the application and the second A. Application Scenarios
one is the main processing unit that consists of the sniffer We use a small trace containing 131 packets for the
and the pattern matching box component. examples. The scenarios represent an optical firewall that
Fig. 2. WSIM Architecture
drops all incoming ICMP packets before they manage to Fig. 3. First scenario interface layout
reach any router operating in the digital domain. After
that we need to separate the traffic and search for specific
source or destination ports that may corresponds to well- packet’s IP header) and the target of the third rule is
known attacks. 16-bit (destination port field in packet’s transport layer
1) First Scenario: We are going to set up 3 pattern header), so the algorithm in the third box needs twice
matching boxes. The first one is called icmpBox and the time to complete processing each packet.
searches for ICMP protocol packets. The source of the Target Packet Source Packets
packets is the trace file. Dropped
Secondly, we want to filter out the unmatched packets icmpBox ”ICMP” ”Trace” 17
produced from the first box and keep only the TCP tcpBox ”TCP” ”icmpBox unmatched” 0
port 25Box ”PORT” ”tcpBox matched” 11
protocol. So the second box is called tcpBox and the
source of the packets is the icmpBox unmatched field.
All matched packets from the tcpBox will go through
Packets Packets Matched Packets
the last pattern matching box that is called port 25Box Captured Unmatched
and is searching for destination port 25. icmpBox 112 26 86
Then we start the simulation and see the results in tcpBox 86 48 38
Figure 3 and Table I below. port 25Box 37 3 34
Our trace contains 131 packets, but as we can see
from the table of results in Table I below, the first box
Network throughput 40 Gbits per second
has dropped 17 packets because of time issues and has Bit Operations 716,809
captured 112 packets, a total of 129. That means that Time (picoseconds) 17,920,225
2 packets are not of IP protocol and were not captured TABLE I
by the filter. 26 packets matched the icmpBox target and F IRST SCENARIO RESULTS OPERATING IN 40G BPS
got dropped because we assumed that the optical firewall
drops all incoming ICMP packets.
The rest of the packets went through the second rule Now we are going to simulate the same scenario but
without any dropping and then the matched packets of change the network throughput to 80Gbps so that each
this rule through the last pattern matching box which bit operation lasts 12.5 picoseconds. The number of
dropped 11 packets. That can be easily explained be- dropped packets increases and the time for completing
cause the first 2 rules need the same time to complete the total operation is approximately 25% of the initial
processing a packet according to the complexity of the one. Results are shown in Table II.
pattern matching algorithm. This is because the target 2) Second scenario: Now we are going to set up 5
of the first two rules is 8-bit long (protocol field in pattern matching boxes. The network throughput is set to
Target Packet Source Packets
Dropped
icmpBox ”ICMP” ”Trace” 22
tcpBox ”TCP” ”icmpBox unmatched” 0
port 25Box ”PORT” ”tcpBox matched” 14