14
PCoIP Traffic Analysis (Final Report for Deriving Intelligence from an Encrypted VPN Stream Project) Joshua Blake, Zach Fuerst, Cody Welu Dakota State University May 4, 2015 Authors Note Contact: [email protected] [email protected] [email protected]

PCoIP Traffic Analysis - insurehub.org Traffic Analysis! (Final Report for Deriving Intelligence from an Encrypted VPN Stream Project)! Joshua Blake, Zach Fuerst, Cody Welu! Dakota

Embed Size (px)

Citation preview

 

 

PCoIP Traffic Analysis  

(Final Report for Deriving Intelligence from an Encrypted VPN Stream Project)  

Joshua Blake, Zach Fuerst, Cody Welu  

Dakota State University  

May 4, 2015

 

 

 

 

 

 

Authors Note  

Contact: [email protected]

[email protected]

[email protected]

     

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   2  

Abstract  PCoIP  is  a  secure  protocol  that  is  used  by  VMware  thin  client  applications.  The  company  that  created  it,  Teradici,  states  that  it  is  secure  because  it  only  transfers  images  from  client  to  server,  without  ever  letting  any  information  leave  central  systems.  We  analyzed  the  protocol  PCoIP  to  find  out  if  it  is  possible  for  an  attacker  or  otherwise  malicious  person  to  find  out  what  the  thin  client  is  doing  just  by  looking  at  the  packet  data  or  information.  A  baseline  for  traffic  was  created  using  a  virtualized  VMware  setup  in  a  lab  environment  by  capturing  simulated  user  behavior  between  the  thin  clients  and  user  workstations.  The  traffic  was  then  analyzed  using  manual  and  automated  techniques  with  classifiers  that  include  uplink  packet  numbers  and  bytes,  downlink  packets  numbers  and  bytes,  and  total  packet  numbers  and  bytes.  Using  Naïve  Bayes  and  the  KNIME  framework,  a  method  was  created  to  successfully  analyze  the  traffic.  

Keywords  Naïve  Bayes,  Traffic  Analysis,  PCoIP,  KNIME,  Supervised  Learning,  Statistical  Analysis  Side-­‐Channel  Attacks  

Project  Description  Our  research  involves  analyzing  encrypted  thin-­‐client  traffic  with  the  goal  of  looking  for  information  leakage,  which  can  be  derived  from  statistical  analysis  based  attacks.  The  current  scope  of  the  project  is  limited  to  looking  at  one  protocol,  PCoIP.  Analysis  is  comprised  of  classifying  PCoIP  traffic  across  the  local  area  network  in  an  attempt  to  derive  intelligence  from  any  number  of  arbitrary  PCoIP  streams.  PCoIP  is  a  fairly  new  protocol  and  as  such  no  previous  research  has  been  conducted  on  PCoIP's  resiliency  to  statistical  analysis  attacks,  thus  any  discoveries  (or  lack  thereof)  within  the  area  will  be  beneficial  to  the  security  community.  

Proposal  Many  organizations  are  moving  away  from  a  distributed  computing  environment,  and  opting  for  the  easier-­‐to-­‐manage  thin  client  approach.  Additional  security  is  also  assumed,  as  the  data  never  actually  has  to  leave  the  datacenter  to  be  processed.  That  brings  up  the  question,  just  how  secure  is  the  link  between  the  server  and  the  thin  client?  Enterprises  rely  on  the  security  of  the  encrypted  link  between  the  server  and  thin  client  to  protect  their  company  data  from  unauthorized  disclosure,  but  could  someone  with  access  to  the  encrypted  link  derive  any  intelligence  from  it?  This  research  project  will  attempt  to  answer  that  question  by  performing  detailed  analysis  on  an  encrypted  thin  client  environment  link.  

There  are  a  number  of  solutions  utilized  in  the  public  and  private  sectors  today,  including  Citrix  Xen  Desktop  and  Microsoft  Remote  Desktop  Protocol.  However,  because  of  its  widespread  use  in  the  industry  today,  we  have  chosen  to  perform  our  research  on  the  PCoIP  protocol  used  by  VMware  products.  Many  companies  utilize  VMware  View  products  to  deliver  virtual  desktop  computing  environments  securely  to  internal  thin  clients  as  well  as  devices  outside  a  company's  network,  including  an  employee's  laptop  or  mobile  device.  Should  we  be  able  to  expose  any  flaws  by  being  able  to  derive  a  user's  actions  over  the  encrypted  link,  companies  may  need  to  re-­‐think  just  how  secure  the  PCoIP  thin  client  environment  actually  is.  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   3  

The  first  step  in  our  research  will  be  to  install  and  configure  the  required  VMware  products  to  resemble  a  real  enterprise  Virtual  Desktop  Infrastructure  (VDI)  environment.    We  will  then  utilize  our  testing  environment  to  collect  various  data  for  further  analysis.  By  analyzing  the  collected  data,  we  will  attempt  to  fingerprint  a  user's  actions  on  a  virtual  desktop.  We  will  attempt  to  develop  classification  algorithms  to  correctly  identify  user  actions.  Should  time  allow,  we  have  set  a  stretch  goal  to  implement  such  algorithms  into  automation  techniques,  to  derive  data  from  the  encrypted  PCoIP  streams  without  additional  heavy  analysis.  

The  team  of  researchers  for  this  project  consists  of  three  graduate  students  who  are  pursuing  masters  degrees  from  Dakota  State  University  in  Madison,  South  Dakota.  Cody  Welu  and  Josh  Blake  are  working  towards  M.S.  Applied  Computer  Science  degrees,  while  Zach  Fuerst  is  working  towards  a  M.S  Information  Assurance  degree.  All  three  hold  Bachelors  degrees  in  Computer  and  Network  Security  from  DSU.  The  team  brings  broad  knowledge  and  experience  through  a  variety  of  classes  and  various  internship  experiences  to  the  project.  

Previous  Work  User  privacy  has  historically  been  a  considerable  complication  for  the  Internet.  It  is  an  issue  that  still  pursues  users  into  the  present,  and  it  carries  even  more  weight  now  than  it  did  in  the  past.  Privacy  is  currently  a  much  larger  hurdle  than  it  has  ever  been  as  the  solution  has  become  more  intricate,  in  part  because  of  user's  growing  digital  footprints  as  well  as  the  needs  of  businesses  to  track  users  for  big  data  analytics.  The  want  for  privacy  on  behalf  of  users  and  the  need  for  tracking  by  the  enterprise  leave  both  parties  at  odds.  This  division  creates  a  hole  for  malicious  users  to  exploit.  The  fundamental  design  flaws  and  the  naïve  assumptions  made  when  designing  the  primitives  that  run  the  Internet  are  growing  more  apparent.  Widespread  industry  adoption  of  encrypted  has  helped  in  maintaining  privacy  for  users  over  the  years.  Unfortunately  simple  encryption  measures  are  not  enough  to  protect  user's  privacy  against  statistical  side-­‐channel  attacks.    

To  get  a  full  picture  of  the  field,  it  is  beneficial  to  look  to  the  past.  Some  of  the  earliest  research  was  conducted  in  the  early  1990s  and  that  laid  the  groundwork  for  later  methodologies  used  in  statistical  analysis  type  attacks.  In  1991,  Ramón  Cáceres  et  al.  built  a  model  to  categorize  unencrypted  TCP  conversations  across  the  WAN  [1].  They  did  this  by  recording  traffic  at  three  different  collection  sites.  The  variations  they  found  in  packet  sizes  and  inter-­‐arrival  time  between  protocols  is  significant.  Steven  Bellovin  carried  out  further  work  within  the  traffic  analysis  domain  in  1997,  where  he  took  it  in  an  offensive  security  direction.  This  paper  primarily  focuses  on  what  he  calls  a  probable  plaintext  attack  [2].  This  is  very  different  from  a  statistical  analysis  attack  but  the  traffic  analysis  methodology  he  demonstrated  is  still  relevant.  Bellovin  described  an  early  notion  of  footprinting  encrypted  traffic  at  its  most  basic  level  by  looking  at  the  context  of  each  packet  in  a  conversation.  In  the  following  year  Heyning  Cheng  et  al.  looked  at  analyzing  and  footprinting  SSL  traffic  from  a  given  website.  Their  method  was  primarily  based  on  packet  size  analysis.  The  core  idea  was  that  each  page  on  a  website  will  have  a  unique  signature,  or  a  conversation  pattern,  that  can  be  saved  and  the  resulting  data  can  be  used  to  identify  encrypted  user  activity  within  an  arbitrary  website  [3].  For  example,  an  HTML  object  header  is  the  smallest  part  of  the  transfer  followed  by  the  object's  data,  which  will  most  likely  fill  the  maximum  packet  size  for  that  network.  The  delimiter  is  the  first  packet  in  the  object  data  transfer  that  is  not  the  maximum  packet  size.  This  would  allow  an  observer  to  figure  out  the  size  in  bytes  of  the  HTML  objects  sent  across  the  wire  and  from  there  deduce  what  the  interaction  was  based  on  the  context  of  the  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   4  

communication.  Cheng  et  al.  demonstrated  the  simplicity  of  this  attack  but  also  pointed  out  a  number  of  defenses  that  make  plaintext  probabilistic  identification  of  encrypted  traffic  more  difficult.  Finally,  in  2000,  Jean-­‐Francois  Raymond  briefly  discussed  a  timing  based  attack.  A  timing  attack  uses  the  round  trip  time  (RTT)  to  deduce  other  information  about  the  encrypted  communication  [4].  Timing  attacks  are  discussed  in  more  detail  later  in  this  section.    

The  defensive  and  offensive  aspects  of  encrypted  traffic  analysis  go  back  and  forth  through  the  early  2000s  to  2010.  Cheng's  research  was  recreated  two  years  later  in  2002  by  Qixiang  Sun  et  al.  They  looked  at  SSL's  successor  TLS  [5].  Sun  et  al.  modeled  their  work  after  Cheng's  packet  size  methodology.  They  automated  the  identification  process  and  even  with  a  number  of  traffic  analysis  mitigations  (padding,  morphing,  and  mimicking),  the  number  of  positive  identifications  was  still  significant.  In  2007,  a  breakthrough  was  made  in  traffic  analysis.  Charles  Wright  et  al.  looked  at  VoIP  traffic  and  they  made  a  remarkable  discovery.  They  found  that  when  using  variable-­‐bit  rate  encoding,  they  could  identify  the  languages  spoken  within  encrypted  conversations  with  a  high  rate  of  accuracy  [6].  What  makes  this  possible  is,  that  with  the  nature  of  modern  speech  encoders  using  variable  bit-­‐rate,  different  syllables  are  encoded  at  different  bit-­‐rates.  Even  though  the  communication  is  encrypted,  the  conversation  still  retains  some  of  its  structure  (size).  As  a  result,  an  observer  can  compare  the  packet  size  distribution  of  what  is  passed  on  the  wire  to  what  is  saved  locally  for  identification.  Wright  continued  to  build  on  the  VoIP  research  for  his  dissertation,  which  also  acted  as  an  exhaustive  survey  of  the  field  and  as  a  building  block  for  more  recent  research  within  the  domain  [7].    

In  more  recent  years,  research  on  traffic  analysis  has  branched  in  other  directions  to  more  specific  applications.  Quang  Hien  Vu  et  al.  analyzed  HTTP  traffic  over  VPNs.  What  they  found  was  surprising.  They  could  still  differentiate  and  identify  user  interactions  in  this  context.  What  is  notable  about  their  research  is  the  signature  model  they  developed  that  factors  in  the  term  frequency  of  objects  minus  the  inverse  document  frequency.  Thus,  unique  objects  that  characterize  a  document  are  given  more  weight  in  identification  than  common  objects  [8].  This  research  resulted  in  the  development  of  an  automated  tool  called  TunnelSnooper.  Salini  Selvaraj  Kowsalya  discovered  in  2010  that  different  browsers  result  in  unique  signatures  for  the  same  web  page  [9].  Work  on  VoIP  was  continued  a  year  later  by  Andrew  White  et  al.  They  discovered  that  not  only  could  an  observer  discern  language  from  a  VoIP  conversation;  they  can  also  identify  phrases  and  potentially  the  identity  of  the  speakers.  Their  classifier  is  able  to  learn  from  the  classification  history  and  the  current  context  of  the  sequence  to  identify  the  boundaries  of  phonemes.  These  phonemes  are  then  analyzed  against  their  model  to  extract  words  [10].  Kevin  Dyer  et  al.  explained  in  their  research  why  traffic  analysis  countermeasures  fail  when  efficiency  is  part  of  the  implementation.  Only  the  most  extreme  countermeasures  such  as  fixed  packet  sizes  sent  at  fixed  intervals  had  a  significantly  negative  impact  on  traffic  analysis  classification.  This  is  achieved  with  substantial  overhead  and  a  massive  degradation  in  overall  performance.  They  also  showed  that  simple  coarse  methods  like  total  per-­‐direction  bandwidth  was  enough  to  get  accurate  readings  [12].  In  2012,  Zhen  Ling  et  al.  used  a  novel  network  delay  attack  to  infer  what  web  sites  a  user  visited.  Traffic  RTT  spread  by  itself  could  be  used  to  accurately  identify  website  interaction.  RTT  based  attacks  work  much  the  same  way  as  packet  size  sequence  based  ones  [13].    

In  2013,  Tang  and  Lin  bring  attention  to  many  different  techniques  for  performing  traffic  analysis.  [14]  They  have  decided  to  group  all  techniques  into  the  following  groups:  website  identification,  passive  website  identification,  object  based  techniques,  IP-­‐packet  based  techniques,  traffic-­‐burst  based  techniques,  network-­‐delay  based  techniques,  and  others.  From  using  these  techniques  Tang  and  Lin  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   5  

conclude  that  though  they  were  able  to  discover  a  lot  of  private  user  information,  further  investigation  is  needed.  Some  of  this  future  research  includes:  using  multiple  machines  to  intercept  the  traffic,  using  other  techniques  to  analyze  a  higher  number  of  website  that  the  user  is  visiting,  analyzing  webpage  updates,  consideration  of  "open  world"  scenarios,  techniques  of  separating  traffic  of  multiple  users,  accounting  for  browser  caching,  more  robust  and  comprehensive  analysis  tools,  and  finding  a  way  around,  or  an  alternative  to,  countermeasures  already  in  place  such  as  traffic  padding  or  traffic  morphing.  The  research  done  by  Tang  and  Lin  is  important  to  our  cause  because  it  shows  past  techniques  that  have  had  success  in  the  past.  Although  this  document  focuses  more  on  web  traffic  instead  of  the  protocol  PCoIP  it  will  still  show  us  techniques  that  can  be  used  and  a  possible  starting  point  for  our  analysis.    

In  2014  Saman  Fenghhi  and  Douglas  J.  Leith  conducted  research  on  traffic  analysis  using  only  timing  information  of  the  packets.  [15]  This  attack  focused  only  on  the  timestamp  information  of  the  packets  that  were  sent  by  the  user's  computer  instead  of  packet  size  or  packet  count  information.  This  timing  attack  is  different  from  previous  attacks  used  to  analyze  traffic  because  it  will  not  be  affected  by  traffic  padding,  which  is  a  standard  defense  against  analysis  attacks.  Because  this  attack  is  impervious  to  popular  defenses,  it  can  be  used  in  a  variety  of  ways.  The  researchers  were  able  to  use  this  timing  technique  against  wired  and  wireless  networks,  femtocell  traffic,  and  Tor  networks  with  results  averaging  from  90%  in  Ethernet  and  wireless  channels  and  68%  against  Tor  traffic.  This  research  is  important  to  our  work  because  it  discusses  ways  to  bypass  some  of  the  basic  defenses  against  traffic  analysis,  which  Tang  and  Lin  mentioned  was  needed  in  their  research  the  previous  year.  This  timing  attack  could  possibly  give  us  a  starting  point  to  begin  our  traffic  analysis  since  the  protocol  PCoIP  is  sending  secured  image  data  from  the  server  to  the  user.    

Another  paper  that  was  released  in  2014  talks  about  traffic  analysis  using  thin  clients.  This  research  was  completed  by  Suznjevic  et  al  focuses  on  detecting  user  tasks  and  applications  using  remote  desktop  client  (RDC)  based  on  employing  statistical  traffic  analysis  and  machine  learning.  [16]  To  do  this,  they  had  to  first  train  a  Machine  Learning  algorithm  to  classify  different  types  of  behavior.  In  order  to  do  this,  they  utilized  the  WEKA  Java  library,  which  contains  a  large  collection  of  tools  for  data  processing,  machine  learning,  and  data  analysis.  They  categorized  user  activities  into  five  categories,  which  are:  idle,  document  editing,  browsing,  audio,  and  video.  To  analyze  the  traffic,  the  researchers  utilized  a  technique  focusing  on  packet  size  and  rate.  The  main  focus  of  this  research  was  to  find  out  what  the  main  thing  users  do  while  using  thin  client  apps.  Using  this  research,  they  were  able  to  find  out  that  users  spend  up  to  92%  time  idle  with  6%  time  editing  documents,  and  less  than  1%  browsing,  listening  to  audio,  or  watching  video.  Their  future  work  will  focus  on  improving  the  accuracy  of  the  analysis  and  analysis  on  real  world  thin  client  services.  This  research  is  important  to  our  project  because  one  of  our  end  goals  would  be  to  eventually  create  a  machine  learning  algorithm  that  analyses  the  traffic.  The  research  conducted  by  Suznjevic  et  al  discussed  how  they  created  a  machine  learning  algorithm,  and  though  it  is  not  focused  on  the  protocol  PCoIP,  it  will  help  us  greatly  in  our  research  goals.    

More  research  that  focuses  on  thin-­‐client  connections  took  place  in  2014  by  Dusi  et  al.  [17]  This  research  focused  on  detecting  the  applications  being  run  in  thin-­‐clients  so  that  they  could  better  realize  user  quality  of  experience  (QoE).  Using  statistical  classification  techniques  to  analyze  the  IP-­‐level  data  the  research  team  was  able  to  detect  what  applications  were  running  in  thin-­‐clients  with  up  to  a  90%  accuracy.  Future  plans  to  expand  the  research  include  the  analysis  of  other  thin-­‐client  protocols  and  applications,  as  well  as  investigating  the  QoE  algorithm  used  by  comparing  it  to  other  algorithms  that  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   6  

are  being  used.  This  research  is  important  to  our  project  because  the  protocol  we  are  investigating,  PCoIP  is  used  primarily  for  thin-­‐client  apps  in  VMware  products.  Using  some  of  the  ideas  discussed  in  the  paper  will  give  us  a  good  idea  of  how  to  begin  analyzing  the  protocol  traffic  because  it  is  similar  to  the  way  other  thin-­‐clients  work.    

There  has  been  a  lot  of  research  that  has  been  completed  about  traffic  analysis  in  the  past.  For  instance,  in  1991,  research  was  done  to  analyze  unencrypted  TCP  traffic  across  the  WAN.  This  research  was  able  to  increase  the  understanding  that  traffic  going  across  networks  needs  to  be  secure,  which  was  evident  again  in  1997  when  research  demonstrated  a  probably  plaintext  attack.  Mitigation  against  the  risk  of  traffic  analysis  attacks  using  traffic  padding  or  encrypting  the  traffic  were  implemented.  Most  research  does  not  account  for  those  mitigations  and  simply  analyzes  the  traffic  in  a  lab  environment  or  with  the  mitigations  not  implemented.  Recent  research  has  shown  that  the  timing  of  packets  alone  can  be  used  to  analyze  the  traffic,  thought  the  traffic  analyzed  was  primarily  TCP  traffic  or  Tor  network  traffic.  Our  research  does  not  aim  to  go  around  the  traffic  analysis  mitigations,  because  the  protocol  we  are  analyzing  is  slightly  unique  when  compared  to  regular  network  traffic.  PCoIP  used  UDP  instead  of  TCP  because  it  aims  to  provide  images  of  the  screen  as  fast  as  possible.  Another  way  that  PCoIP  is  unique  is  that  it  sends  images  to  the  user,  and  not  data.  This  will  make  our  traffic  analysis  more  challenging  and  will  perhaps  need  to  rely  on  other  means  to  analyze  the  traffic  instead  of  analyzing  the  packet  size  and  frequency.    

Methods  and  Lab  Setup  Hypothesis  After  conducting  initial  research,  a  number  of  things  were  learned  about  the  PCoIP  protocol.  Because  PCoIP  essentially  secures  itself  by  encrypting  and  transmitting  only  the  image  on  the  screen,  it  would  be  difficult  or  impossible  to  inspect  the  data  in  the  packets  for  information  leakage.  It  was  learned,  however,  that  PCoIP  is  an  extremely  efficient  protocol.  Instead  of  transmitting  the  entire  screen  from  the  server  to  the  client  all  the  time,  PCoIP  will  rather  only  transmit  the  portions  of  the  screen  that  are  changing.  This  lead  us  to  believe  that,  because  of  these  efficiencies,  we  may  be  able  to  differentiate  between  different  types  of  traffic,  based  solely  on  the  flow  of  packets  from  the  server  to  the  client.  Research  will  need  to  be  conducted  to  prove  or  disprove  this  hypothesis.  

Lab  Setup  The  first  major  step  that  needed  to  be  completed  before  we  could  begin  our  research  was  to  setup  a  testing  environment.  We  selected  the  PCoIP  protocol  to  study  for  this  project,  so  we  set  up  an  appropriate  VMware  environment  that  employs  the  PCoIP  protocol.  VMware’s  product  solution  for  remote  desktops  or  virtual  desktop  interface  is  VMware  Horizon  View.  We  found  that,  to  setup  our  environment,  we  would  need  at  least  4  servers  and  a  few  client  machines,  all  of  which  could  be  virtualized.  We  selected  an  HP  ProLiant  DL380P  Gen8  server  with  80GB  RAM,  two  Intel  Xeon  E5-­‐2620  CPUs  (6  cores  @  2.00GHz  each),  and  four  600GB  SAS  drives  configured  in  RAID  5.  This  server  has  more  than  enough  resources  required  to  setup  our  testing  environment  and  carry  out  our  research  on.  

There  are  a  number  of  requirements  for  setting  up  a  VMware  Horizon  View  environment,  first  of  which  is  a  virtual  server.  We  first  installed  ESXi  on  the  server  onto  a  flash  drive.  ESXi  is  an  enterprise  hypervisor  developed  by  VMware.  After  installation,  networking  was  configured  with  three  separate  networks:  WAN,  LAN,  LAN2.  Each  of  these  networks  have  physical  connections  on  the  server,  as  well  as  virtual  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   7  

connections  to  a  pfSense  virtual  machine.  This  machine  takes  care  of  DHCP  and  routing  for  the  network.  All  other  virtual  machines  will  connect  to  the  LAN  network  directly.  The  LAN2  network  was  created  to  give  us  the  ability  to  apply  bandwidth  limits  to  simulate  a  limited  WAN  environment.  

In  addition  to  an  ESXi  host,  there  are  a  number  of  other  services  that  we  installed  on  the  network.  We  chose  to  use  Windows  Server  2008  R2  for  our  entire  network,  and  Windows  8.1  clients.  Two  server  virtual  machines  were  configured  as  Active  Directory  and  DNS  servers  in  the  INSURE.local  domain.  These  provide  name  resolution  services,  as  well  as  authentication  services  to  the  rest  of  the  network.    

A  third  server  was  setup,  and  joined  to  the  domain.  This  server  will  host  a  number  of  services  that  are  critical  to  the  VMware  Horizon  View  product.  VCenter  Server,  Single  Sign  On,  and  the  VMware  Web  client  are  all  critical  to  Horizon  View,  and  any  multi-­‐server  VMware  virtualization  setup.  The  other  service  that  was  installed  on  this  system  is  VMware  View  Composer,  which  allows  the  administrator  to  easily  configure  and  deploy  the  virtual  machines  that  the  end  users  will  be  accessing.  Finally,  a  fourth  virtual  server  was  setup  and  joined  to  the  domain.  This  server  is  the  VMware  View  Connection  server,  and  handles  the  setup  of  connections  between  the  Horizon  View  Client  and  the  virtual  machine  clients.  

After  the  servers  have  been  setup  and  configured,  client  virtual  machines  need  to  be  created.  The  VMware  View  Composer  software  makes  this  an  easy  process.  After  installing  Windows  8.1  onto  one  virtual  machine,  a  snapshot  is  taken,  and  it  is  loaded  into  View  Composer.  VMware  then  automatically  can  deploy  and  power  on  additional  virtual  machines  as  the  end  users  request  them.  A  total  of  four  virtual  machines  and  four  user  accounts  were  set  up  with  the  appropriate  permissions  to  be  used  for  remote  access.  It  is  these  connections  that  we  will  be  monitoring  throughout  our  project.  The  environment  as  described  above  is  pictured  in  the  diagram  below  (Figure  1).  

 

Figure  1  -­‐  Network  Diagram  of  Testing  Environment  

 

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   8  

Experiments    

Capturing  Traffic  The  first  step  in  our  experimentation  phase  was  to  gather  PCoIP  traffic  to  analyze.  This  was  achieved  by  using  Wireshark  to  sniff  PCoIP  traffic  on  the  wire.  In  order  to  simulate  a  more  real  world  scenario,  one  researcher  would  use  one  VDI  box  to  generate  traffic,  while  another  researcher  would  use  a  different  VDI  box  to  monitor  traffic  with  Wireshark.  Then  only  the  relevant  traffic,  UDP  traffic  originating  from  the  victim  VDI  box  or  from  the  server  to  the  victim  box,  would  be  filtered  for  visibility.  This  traffic  was  then  dumped  to  a  pcapng  file  for  further  analysis.  The  traffic  collected  covered  a  broad  range  of  use  cases.  These  cases  included  full  screen  video,  typing,  idle,  mouse  movement  and  web  traffic.  Some  of  the  traffic  collected  was  synthetic  or  pure.  Other  traffic  collected  had  a  mix  of  varying  classes  intermixed.  Our  focus  was  on  analyzing  traffic  that  updated  the  screen  rather  than  looking  at  USB  traffic  or  audio,  both  of  which  are  easily  identifiable  from  image  data.  This  is  due  to  the  fact  that  USB  traffic  is  mostly  uplink  traffic  while  no  other  class  generates  nearly  the  same  kind  of  signature.  Audio  traffic  is  a  bit  more  challenging  to  differentiate  but  it  still  stands  out  much  like  video  traffic  with  huge  bursts  of  downlink  traffic,  only  at  much  lower  rates  than  video  thus  making  it  easy  to  identify  and  distinguish  from  video  traffic.  However  if  both  are  occurring  at  the  same  time  such  that  someone  is  streaming  high  bit-­‐rate  audio  while  watching  a  video,  it  would  be  challenging  to  separate  that  traffic.  

Manual  Analysis  Our  first  step  in  analysis  was  manual  classification.  We  looked  at  the  traffic  we  had  collected  to  see  what  differences  existed,  if  any,  between  specific  activities.  The  first  test  we  conducted  was  graphing  traffic  generated  by  email,  no  activity,  file  traversal,  command  line,  and  PowerShell.  Our  line  graph  (Figure  2)  displayed  number  of  bytes  over  time.    

 

Figure  2  -­‐  Manual  Analysis  of  packet  captures  

Notice  the  variations  in  bytes  per  second  between  the  applications.  It  was  obvious  that  many  of  the  samples  had  very  different  signatures  just  based  on  the  bytes  per  second  diagram.  It  was  concluded  that  because  we  could  visibly  see  differences  by  eye,  it  would  be  possible  to  automate  the  process.  

Classification  Our  chosen  method  of  classification  was  the  simple  Naive  Bayes  model.  This  was  implemented  using  the  Konstanz  Information  Miner  (KNIME)  framework.  KNIME  is  an  open  source  data  analytics,  reporting  and  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   9  

integration  platform.  Implementing  our  model  using  a  standardized  framework  has  many  advantages  such  as  speeding  up  development,  simplifying  experiment  reproduction,  and  reducing  the  complexity  of  explanation  by  way  of  abstraction.  KNIME  offers  a  variety  of  classification  models;  we  implemented  the  most  generic  form  of  Naïve  Bayes.  Naïve  Bayes  is  a  class  of  supervised  learning  networks  that  are  used  for  learning  and  prediction  problems.  Naïve  Bayes  was  chosen  as  the  classification  method  due  to  being  previously  used  in  similar  research,  conceptual  simplicity,  and  acceptable  accuracy.  

 

Classification  Metrics  The  derived  data  from  an  arbitrary  group  of  packets  that  was  used  for  classifications  included:  

• Uplink  Packet  Number  o The  packets  from  client  to  server  

• Uplink  Bytes  o The  sum  of  the  frame  sizes  from  client  to  server  

• Downlink  Packet  Number  o The  packets  from  the  server  to  client  

• Downlink  Bytes    o The  sum  of  the  frame  sizes  from  server  to  client  

• Total  Packet  Number  o The  sum  of  the  uplink  and  downlink  packets  

• Total  Bytes  o The  sum  of  the  frame  sizes  of  both  uplink  and  downlink  traffic  

Note:  Each  metric  is  defined  over  time  

Window  Size  We  define  window  size,  in  our  model,  as  the  interval  of  time  for  each  classification  to  occur;  such  that  if  our  data  is  grouped  by  interval  of  time  T  and  the  set  of  packets  is  represented  as  P  we  can  look  at  classification  grouping  like  this:  

 

Classification  Group  Statistics  {uplink  bytes,  downlink  bytes,  …,  n}      =      P{1,2,3,…,n}    /    T  

 

The  interval  of  classification  is  important  and  the  ideal  size  depends  entirely  on  the  type  of  traffic  that  is  being  analyzed  and  the  amount  of  information  that  needs  to  be  derived.  For  example,  traffic  generated  by  websites  would  take  a  much  larger  window  size  for  analysis  than  one  second  because  many  web  pages  take  longer  than  one  second  to  fully  render  to  the  screen.  Our  model  supports  any  arbitrary  fixed  window  size.  The  ideal  window  size  for  all  situations  would  not  be  fixed  but  rather  dynamic.  This  would  lend  itself  to  being  efficient  at  classifying  both  complex  traffic  (web  traffic)  and  simple  traffic  (video  traffic).  However,  this  model  would  be  much  more  rigorous  to  implement  than  a  fixed  window  size.  With  a  larger  window  size,  the  classes  of  traffic  can  be  more  specific.  With  a  smaller  window  size,  the  classes  

Figure  3  -­‐  Classification  Metrics  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   10  

have  to  be  more  generic.  Careful  consideration  should  be  taken  in  assigning  a  fixed  window  size  because  window  sizes  that  are  too  large  or  to  small  can  drop  accuracy  significantly.  

 

The  Model  In  designing  our  model  we  tried  to  take  a  more  real  world  approach  by  making  classifications  on  the  fly.  Instead  of  pre-­‐aggregating  traffic  metrics  to  feed  to  the  model,  we  let  the  model  do  the  work.  CSV  files  with  this  type  of  data  were  read  in:  

Packet  #,  Src  IP,  Dst  IP,  Frame  Size,  Relative  Timestamp,  Class  

From  this  point  the  packets  are  grouped  by  changes  in  traffic  direction  such  that  adjacent  downlink  packets  are  grouped  until  an  uplink  packet  is  observed  and  vice  versa.  After  separating  downlink  and  uplink  traffic  to  gather  uplink  and  downlink  specific  data,  the  traffic  is  put  back  together  and  grouped  by  window  size.  Then  the  traffic  is  partitioned  for  training  and  prediction.  Partitioning  is  the  process  of  splitting  the  data  that  is  given  to  the  learner  and  the  predictor.  Data  that  is  passed  to  the  learner  is  used  for  training  the  model,  while  data  passed  to  the  predictor  is  used  for  predicting.  When  partitioning,  a  variety  of  sampling  methods  can  be  used  to  decide  what  is  passed  to  the  predictor  or  the  learner.  This  model  is  more  realistic  in  that  it  can  make  classifications  on  a  more  acceptable  timeline  (real  time).  

The  added  metrics  specific  to  generic  classifications  model  include:  

 

Figure  4  –  Additional  Classification  Metrics  

In  addition  to  the  metrics  identified  in  Figure  3,  we  also  included  the  following  metrics  for  our  tests:  

• Millisecond  –  The  number  of  milliseconds  • Packet  Burst  –  The  number  of  packet  bursts  (changes  in  traffic  direction)  • Average  Size  Bytes  –  Standard  deviation  • Uplink  Packets  –  The  mode  of  uplink  packets  • Downlink  Packets  –  The  mode  of  downlink  packets  • Downlink  Bytes  –  Standard  deviation  • Uplink  Bytes  –  Standard  deviation  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   11  

Modifying  the  aggregation  methods  can  increase  accuracy  and  precision,  as  shown  in  Figure  4.  The  aggregation  methods  used  for  one  test  may  not  provide  the  same  level  of  performance  for  another  test  with  different  data.  

Results    

Generic  Classes  For  highly  generic  classes  like  idle,  typing,  mouse  movement,  and  video  traffic  our  model  is  very  effective.  For  partitioning  20%  for  training  and  80%  for  prediction,  and  a  window  size  of  one  second  the  model  is  able  to  achieve  from  76%  to  81%  accuracy  with  random  sampling.  Given  the  rudimentary  implementation  detailed  above,  it  is  reasonable  to  assume  that  accuracy  can  be  improved  with  more  data  and  better  metrics  to  a  small  degree.  It  is  however,  not  good  at  classifying  more  complex  traffic  patterns  that  require  larger  signatures  and  larger  datasets  to  accurately  identify;  such  as  web  traffic  (specific  websites)  or  more  specific  classifications  such  as  the  identity  of  the  application  being  rendered  to  the  screen.  Web  and  application  (Microsoft  Word,  cmd.exe,  etc.)  traffic  is  difficult  to  classify  at  this  level  because  it  is  an  ambiguous  mixture  of  loading  images,  typing,  mouse  movement,  and  video.  

Generic  Classes:  

• Idle  • Mouse  Movement  • Typing  • Video  • Web  

 

These  are  our  results  with  a  sample  size  of  a  little  over  800  (window  size  1  second):    

 Idle   Mouse   Typing   Video   Web  

1.  True  Positives   277   50   21   28   287  2.  False  Positives   6   33   3   6   101  3.  True  Negatives   475   704   734   778   408  4.  False  Negatives   54   25   54   0   16  5.  Recall   0.837   0.667   0.28   1   0.947  6.  Precision   0.979   0.602   0.875   0.824   0.74  7.  Sensitivity   0.837   0.667   0.28   1   0.947  8.  Specificity   0.988   0.955   0.996   0.992   0.802  9.  F-­‐Measure   0.902   0.633   0.424   0.903   0.831  Accuracy   0.817  

       Cohen's  kappa   0.724          

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   12  

Figure  5  -­‐  Results  Table  

Accuracy  is  not  the  only  performance  metric  that  should  be  used.  Other  important  performance  metrics  include  recall  rate,  the  level  of  precision  for  each  class,  sensitivity,  and  specificity.  These  performance  metrics  illustrate  that  our  model  shows  promise,  but  still  has  a  number  of  problems.  The  low  recall  rate  of  typing,  for  example,  shows  that  our  model  is  weak  at  classifying  intermittent  activities.  

• True  Positives  -­‐  A  correct  classification  of  an  actual  occurrence  • False  Positives  -­‐  Indicates  a  presence  when  there  is  none  • True  Negatives  -­‐  A  correct  classification  for  an  absence  of  occurrence  • False  Negatives  -­‐  Indicates  an  absence  when  there  is  one  • Recall  -­‐  The  fraction  for  relevant  samples  that  were  retrieved  • Precision  -­‐  The  fraction  of  retrieved  samples  that  were  relevant  • Sensitivity  -­‐  The  true  positive  rate  • Specificity  -­‐  The  true  negative  rate  • F-­‐Measure  -­‐  The  measure  of  a  test’s  accuracy  • Accuracy  -­‐  The  closeness  to  a  measurement  of  the  true  value  • Cohen’s  kappa  -­‐  Measures  concordance  for  qualitative  items  

Sub-­‐Classes  We  conducted  two  other  experiments  using  the  model  we  developed  for  classifying  more  specific  cases  with  mixed  results  that  show  promise  for  further  research  with  more  data  and  rigorous  testing.  

The  first  test  we  conducted  was  to  classify  websites  using  the  same  criteria  as  the  generic  classes  but  different  parameters.  The  classes  are  as  follows:  

• amazon.com,  apple.com,  cnn.com,  google.com,  imgur.com,  microsoft.com,  netflix.com,  reddit.com,  wikipedia.com,  youtube.com  

When  the  window  size  is  increased  from  one  second  to  five  seconds  ,in  our  example,  and  with  a  very  small  amount  of  training  data  (two  sixty  second  captures  for  each  class)  we  can  achieve  25%  accuracy  with  10  different  classes  (websites).  This  level  of  accuracy  is  not  ideal,  but  it  is  much  better  than  guessing.  Thus  we  can  conclude  that  it  is  in  fact  possible  to  identify  website  signatures  over  PCoIP.  However,  it  should  be  noted  that  using  our  methodology  on  real  world  web  traffic  one  can  expect  even  lower  performance  or  performance  equivalent  to  guessing.  

Another  test  was  conducted  looking  at  specific  applications  being  rendered  to  the  screen.  Using  five  different  applications  that  included  cmd.exe,  email  (outlook),  PowerShell,  Windows  Install  Wizard,  and  a  directory  traversal  using  explorer.exe.  Looking  at  these  over  thirty  second  periods  we  can  observe  60%  accuracy  at  best  case  with  a  window  size  of  125  milliseconds.  This  shows  promise  in  application  classification  over  PCoIP.  Again,  with  our  techniques,  lower  performance  can  be  expected  on  real  world  traffic.  

Classifying  ASCII  Characters  One  of  the  tasks  we  wanted  to  achieve  was  to  see  if  it  was  possible  to  identify  specific  characters  typed  to  the  screen.  Within  our  environment,  we  found  that  it  is  not  possible  to  identify  specific  characters  typed  to  the  screen.  This  is  due  to  one  primary  reason  and  that  is  there  is  a  limit  to  how  small  a  PCoIP  packet  can  get.  At  common  font  sizes  (11pt  -­‐  14pt)  typed  characters  appear  identical  in  most  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   13  

circumstances.  Depending  on  the  timing  of  the  characters  typed,  a  single  character  may  be  able  to  update  two  adjacent  grid  spaces  thus  causing  a  change  in  packet  size,  however  in  our  research  we  found  this  to  be  rare.  More  differences  can  be  observed  at  much  larger  font  sizes  (>  20pt),  however  it  is  uncommon  for  users  to  meet  this  criteria  unless  they  are  using  some  kind  of  magnification  feature.  We  suggest  further  research  be  done  in  this  area.  

Remaining  Problems  The  experiments  detailed  in  this  paper  were  using  partitioned  test  traffic  for  learning  and  for  predicting.  Testing  against  real  world  data  was  outside  the  scope  of  this  research  as  our  only  goal  was  to  prove  that  the  possibility  for  traffic  analysis  against  PCoIP  exists.  Consistent  concurrent  updates  to  the  screen  can  be  expected  in  real  world  traffic.  The  majority  of  the  traffic  analyzed  in  our  experiments  was  synthetic  and  thus  a  simplification  and  mostly  did  not  exhibit  concurrent  rendering  behavior.  This  must  be  taken  into  account  when  implementing  this  to  analyze  non-­‐test  data.  Our  model  only  works  if  one  update  is  occurring  on  the  screen  at  any  given  time.  More  time  would  have  to  be  spent  on  the  model  to  make  it  robust  enough  to  handle  concurrent  changes  to  the  screen.  

Conclusion  By  way  of  example,  we  have  proved  through  three  experiments  that  deriving  intelligence  from  PCoIP  traffic  is  possible  in  a  test  environment  with  synthetic  data.  However,  we  have  not  proved  that  it  is  feasible  or  even  possible  to  reproduce  in  a  production  environment.  Every  test  that  was  conducted  was  a  simplification  and  thus  no  prediction  of  the  real  world.  The  only  conclusion  that  we  can  come  to  in  regards  to  the  real  world  is  that  traffic  analysis  on  PCoIP  is  not  impossible.  Further  research  should  be  conducted  on  PCoIP  to  see  how  increases  in  granularity  of  classification  can  be  achieved  while  maintaining  accuracy.  At  the  very  least,  this  paper  can  serve  as  a  bootstrap  for  further  PCoIP  traffic  analysis  research.  

 

References  [1]R.    Cáceres,  P.    Danzig,  S.    Jamin  and  D.    Mitzel,  'Characteristics  of  wide-­‐area  TCP/IP  conversations',  SIGCOMM  Comput.  Commun.  Rev.,  vol.  21,  no.  4,  pp.  101-­‐112,  1991.  

[2]S.    Bellovin,  'Probable  plaintext  cryptanalysis  of  the  IP  security  protocols',  Proceedings  of  SNDSS  '97:  Internet  Society  1997  Symposium  on  Network  and  Distributed  System  Security,  1997.  

[3]H.    Cheng  and  R.    Avnur,  'Traffic  Analysis  of  SSL  Encrypted  Web  Browsing',  1998.  

[4]J.    Raymond,  'Traffic  Analysis:  Protocols,  Attacks,  Design  Issues,  and  Open  Problems',  2000.  

[5]Q.    Sun,  D.    Simon,  Y.    Wang,  W.    Russell,  V.    Padmanabhan  and  L.    Qiu,  'Statistical  Identification  of  Encrypted  Web  Browsing  Traffic',  2002.  

[6]C.    Wright,  L.    Ballard,  F.    Monrose  and  G.    Masson,  'Language  Identification  of  Encrypted  VoIP  Traffic:  Alejandra  y  Roberto  or  Alice  and  Bob?',  USENIX  Security,  vol.  3,  no.  36,  2007.  

[7]C.    Wright,  'Statistical  Analysis  and  Information  Leakage  Attacks  of  Encrypted  Network  Traffic',  Ph.  D,  Johns  Hopkins,  2008.  

Deriving  Intelligence  from  an  Encrypted  VPN  Stream  Dakota  State  University  

Blake  –  Fuerst  –  Welu   14  

[8]Q.    Hieu,  A.    Syed,  K.    Khu  and  K.    Anagnostakis,  'TunnelSnooper:  an  Attack  on  Encrypted  VPN  Tunnels  (Time  to  Pad  and  Cover?)',  2010.  

[9]S.    Kowsalya,  'Website  Fingerprinting  using  Traffic  Analysis  Attacks',  2010.  

[10]A.    White,  A.    Matthews,  K.    Snow  and  F.    Monrose,  'Phonotactic  Reconstruction  of  Encrypted  VoIP  Conversations:  Hookt  on  fon-­‐iks',  2011  IEEE  Symposium,  2011.  

[11]C.    Onete  and  D.    Venturi,  'Security  &  Indistinguishability  in  the  Presence  of  Traffic  Analysis',  IACR  Cryptology  ePrint  Archive  2011,  2011.  

[12]K.    Dyer,  S.    Coull,  T.    Ristenpart  and  T.    Shrimpton,  'Peek-­‐a-­‐Boo,  I  Still  See  You:  Why  Efficient  Traffic  Analysis  Countermeasures  Fail',  2012  IEEE  Symposium  on  Security  and  Privacy,  2012.  

[13]Z.    Ling,  J.    Luo,  Y.    Zhang,  M.    Yang,  X.    Fu  and  W.    Yu,  'A  Novel  Network  Delay  Based  Side-­‐Channel  Attack:  Modeling  and  Defense',  2012  Proceedings  IEEE  INFOCOM,  2012.  

[14]'Traffic  Analysis  on  Encrypted  Web  Application',  JCIS,  vol.  3,  no.  2,  pp.  12-­‐20,  2013.  

[15]S.    Feghhi  and  D.    Leith,  'A  Successful  Web  Traffic  Analysis  Attack  Using  Only  Timing  Information',  arXiv  preprint  arXiv:  1410.2087,  2014.  

[16]M.    Suznjevic,  L.    Skorin-­‐Kapov  and  I.    Humar,  'User  Behavior  Detection  Based  on  Statistical  Traffic  Analysis  for  Thin  Client  Services',  New  Perspectives  in  Information  Systems  and  Technologies,  vol.  2,  2014.  

[17]M.    Dusi,  S.    Napolitano,  S.    Longo  and  S.    Niccolini,  'A  closer  look  at  Thin-­‐Client  connections:  Statistical  Application  Identification  for  QoE  Detection',  Communications  Magazine,  2012.