360 likes | 512 Views
Covert channels detection in protocols using scenarios. Loïc Hélouët INRIA Rennes. SAM2004. Motivations. Receiver. Sender. Security (Monitoring, firewall,…). Confinement Zone. Example : a file system. ls toto. toto. Present Or absent. Authorisation refused. 0. File not found. 1.
E N D
Covert channels detection in protocols using scenarios Loïc Hélouët INRIA Rennes SAM2004
Motivations Receiver Sender Security (Monitoring, firewall,…) Confinement Zone Motivations
Example : a file system ls toto toto Present Or absent Authorisation refused 0 File not found 1 • threat : performance, billing, security, … • all channels can not be eliminated • Recommandations: • Identify covert channels • Illustrate their use through scenarios • Compute their bandwidth
Deduction of choices • performed from • observations • on receiver decisions of sender at choice nodes Sender Receiver message message Protocol Model (HMSC) Decoding Encoding Compute bandwidth Test on real implementation
PLAN • Message Sequence Charts • Covert channels • Bandwidth evaluation • RMTP2 • Conclusions & perspectives
Message Sequence Charts bMSC M A B C M = < E, , A, P, , , m,V, > • E : events • E x E: causal order • A : action names • P : Instances • E x P : locality • E x A: labeling • m E x E : messages • V : variables • m x V: message parameters m(v) p
Sequential composition bMSC M1 A B C bMSC M1 o M2 m(v) p A B C m(v) p = bMSC M2 n A B C q n q Message Sequence Charts
Projection on an instance bMSC B(M) bMSC M A B C B m(v) m(v) p p n n q q B(M) = { ?m(v) . !p . !n . !q } Message Sequence Charts
HMSC • H= ( N, ,M, n0) • N : nodes • N M N : transitions • M : bMSCs • n0 : initial node n M3 M1 M2 M5 M4 Message Sequence Charts
0 1 Covert Channel detection bMSC M1 A B C m(v) M2 M1 p bMSC M2 A B C n q
Definition : A choice node n in a HMSC is controlled by an instance p iff for all path Pi, i 1..K starting in n ! ei = min(OPi) and (ei)=p (idem local choice) bMSC M1 A B C m(v) p bMSC M2 A B C n n q M2 M1 Covert channels detection
Hypotheses • To transmit a message of arbitrary length, one need to iterate some behaviors : CC appear in presence of cycles. • to encode information, the sender can perform several choices • For each choice, the observable consequences are for the receiver n M1 M3 M2 M5 M4 Covert channels detection
Controlled by Sender C2 C1 M3 M1 M4 M2 Covert channel from Sender to Receiver • decision node controlled by Sender • Several Cycles • Observations by the Receiver n M1 M3 Receiver(M1oM2) Receiver(M3oM4) M2 M5 M4 Covert channels detection
Bandwidth bMSC M C A B m 1 A0 B0 C0 1 6 9 12 3 n 2 11 3 1 1 15 3 o 2 C1 1 A1 B1 2 Definition of scenario duration + temporal annotations • dx,y(M) • D(M) = max { dx,y } • for events • for messages
D(Mn) = max { dx,y (Mn) } Mean durations: md(Mw) = lim 1 . D(Mn) mdx,y(Mw) = lim 1 . dx,y(Mn) A0 B0 C0 2 7 4 5 8 10 0 n n C1 A1 B1 n n Bandwidth : If M can be used to transfert b bits from x to y : b Bw = mdx,y(Mw) Bandwidth
Example : RMTP2 Source DR R R R R R R R R R R R R Rennes Ottawa Paris Boston
RMTP2 : Data retransmission DR CR P : bitmap representation of lost/received packets Data Hack(P) DR Loop n P Retransmission(n) R R R Ottawa Example
RMTP2 Parameters B : Branching Factor Maximal number of children for a node A child can ask for retransmission every B data packet DR B R R R R R Example
RMTP2 Parameters S : Bitmap size L: maximal loss rate allowed DR CR Data DR Hack(P) P>0 |P|1 L Eject R R R Ex: S=16, L=25% Hack(0100 1010 0110 1100) Example
P>0|P|1 > 4 P>0|P|1 4 Data transmission seen from a receiver CR OthersData MyData P=0 Retrans Eject Example
bMSC Eject DR CR bMSC MyData Eject Other Receivers CR DR bMSC Retransmission Data Data Other Receivers DR CR Hack(P) Loop n P Retransmission(n) Example
bMSC OthersData Other Receivers CR DR Loop <0,B-2> Data Data Hack(P) alt P>0|P|1 > 4 Retransmission P>0|P|1 4 Eject P=0 Example
Covert channel from CR to any receiver in Other Receivers bMSC Shortest Scenario Other Receivers CR DR Loop <0,B-2> Creation of fake bitmaps to force observable retransmissions Data Data Hack(0) Data Data Hack(P) Retransmission(1) Retransmission(1) Example
16! B = = 2516 i! . (16 - i)! i=1..4 Let L=25% , S = 16 Number of possible fake bitmaps : Number of bits transmitted at each covert channel use b = log2(2516)=11.297 Bandwidth upper bound: b Bw = mdcr,Other Receivers(Shortest) Example
bMSC Shortest Scenario Other Receivers CR DR Loop <0,B-2> D : event duration T : transmissions duration Data Data T T Hack(0) T Data Data T T Hack(P) T Retransmission(1) Retransmission(1) T T Example
b Bw = B=20, T=20ms Bw=11.74 b/s (4B +1).D +2B. T Bw evolution for D= 2ms
Other Receivers CR bMSC Shortest Scenario DR Data Data Hack(0) B times Data Data Hack(0) Data Data Hack(P) Retransmission(1) Retransmission(1) Example
B=20, T=20ms Bw=102.7 b/s b Bw = (B+5).D +3. T B=100, T=200ms Bw=22.40 b/s Bw evolution for D= 2ms
Conclusion Covert channel in RMTP2 : • undetectable receiver • usable bandwidth • Future work : • More elaborated strategies under study • Covert channels with noise • Need to « desynchronize » sequential composition CMSCs ?
Covert Channels Def : communication channel that violates a system’s security policy Storage channels : implies writing a value somewhere Example : a file system ls toto toto Present Or absent Authorisation refused 0 File not found 1
Some facts about covert channels • threat : performance, billing, security, … • all channels can not be eliminated • Recommandations : depend on the security level required for the system under study : NSCS30 (light pink book) • Analysis: • Identify covert channels • Illustrate their use through scenarios • Compute their bandwidth Covert Channels
Solutions : • Elimination (for systems with high security level) • Add noise to most important channels • monitor other channels Idea : start from informal descriptions of protocol behavious given as scenarios, try to detect potential information flows and compute their bandwidth in order to provide solutions as early as possible during design stages. Covert Channels
Covert Channel detection Hypothesis 1 : To transmit a message of arbitrary length, one need to iterate some behaviors : CC can appear in presence of cycles. n M1 M3 M2 M5 M4
Hypothesis 2 : To transmit a message of arbitrary length, the set of instances participating to a covert channel must cooperate to stay in a chosen set of cyclic behaviors Q where information passing is possible, and make sure that the rest of the protocol can not force them to leave Q. M1 M3 M2 M5 M4 Covert channel detection
Asymptotic Durations D(Mn) = max { dx,y (Mn) } Mean durations: md(Mw) = lim 1 . D(Mn) mdx,y(Mw) = lim 1 . dx,y(Mn) A0 B0 C0 2 7 4 5 8 10 0 n n C1 A1 B1 n n Warning : asynchronous communications D(Mn) n . D(M) and mdx,y(Mw) dx,y(M)