13.07.2015 Views

Application Layer Covert Channel Analysis and ... - Bill Buchanan

Application Layer Covert Channel Analysis and ... - Bill Buchanan

Application Layer Covert Channel Analysis and ... - Bill Buchanan

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Z. Kwecka, BSc (Hons) Network Computing, 2006 38- transmit raw packets to the network- gather statistical information on the network trafficHowever, our software employs only the first three functions listed above. Since theprototype was build using C# programming language <strong>and</strong> WinPcap should be drivenby C++, <strong>and</strong> interface between those two was required. We have tried two differentwrappers allowing simplified usage of WinPcap in .NET framework:- PacketX, commercial ActiveX control 6- SharpPcap, freely available network traffic capture library 7WinPcap <strong>and</strong> SharpPcap are an open source packages <strong>and</strong> their licenses permitredistribution <strong>and</strong> usage free of charge, however PacketX is a commercial product.Thus, the copyright owners, BeeSync Technologies, were contacted <strong>and</strong> kindlygranted the licence permitting use of PacketX free of charge for duration of thisproject. After building simple test applications using both wrappers, they bothperformed to similar level. However, taking into consideration the usability we havedecided that SharpPcap designed by Tamir Gel was better for the project. WhilePacketX done exactly that what we expected, allowed link level reading from anetwork interface, it produced a downfall in mobility of the code, since it requiresinstallation. On the other h<strong>and</strong> SharpPcap provides functionality as long as theapplication has an access to the code library. Additionally, the later one providedhigh-level information on the data captured, while PacketX produced only raw bytes.Thus code that was necessary to calculate the value of acknowledgment field, whenusing PacketX:long ack;int flags_byte = 27 + 4*(Convert.ToInt16(oPacket.DataArray.GetValue(14))& 0x0F);ack = Convert.ToInt16(oPacket.DataArray.GetValue(flags_byte-5));ack = ack*256 + Convert.ToInt16(oPacket.DataArray.GetValue(flags_byte-4));ack = ack*256 + Convert.ToInt16(oPacket.DataArray.GetValue(flags_byte-3));ack = ack*256 + Convert.ToInt16(oPacket.DataArray.GetValue(flags_byte-2));Could be implemented using SharpPcap in the following way:long ack = oPacket.AcknowledgmentNumber;Figure 5-2 HTTP Analyser Foundation6 Autor: BeeSync Technologies; Website: http://www.beesync.com/packetx/index.html7 Autor: Tamir Gal; Website: http://www.tamirgal.com/home/dev.aspx?Item=SharpPcap

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!