Retaining Control over Private Virtual Machines Hosted by a Cloud ...

4 downloads 53057 Views 280KB Size Report
Keywords: Cloud Security, Trusted Boot, TPM, Mandatory Access Control, Attestation. 1. ... The Hardware Security Module (HSM) that AWS is using is Luna SA.
Retaining   Control   over   Private   Virtual   Machines   Hosted   by   a   Cloud   Provider   Using   Mandatory   Access   Control,  Trusted  Boot  and  Attestation   Armin  Simma,  Philipp  Rusch   Fachhochschule  Vorarlberg,  Austria   [email protected]   [email protected]       Abstract:  The  Trusted  Platform  Module  (TPM)  was  and  is  heavily  criticized.  The  TPM  is  accused  to  take  control   over  a  personal  computer  from  the  owner.   Interestingly  and  ironically  this  is  what  we  (to  some  extent)  want  to  achieve  with  our  system:  We  want  to  take   control  from  the  cloud  provider  -­‐  which  is  the  owner  of  the  host  system  with  the  TPM  -­‐  and  give  control  to  the   service  client.  Naturally,  the  cloud  provider  still  should  be  in  control  of  its  host  computer  system  but  the  client   should  retain  control  over  his  data  and  virtual  machines  even  when  processed  on  the  provider’s  machine.   Our  system  shall  succeed  in  the  balance  between  these  conflicting  interests:  the  cloud  provider  can  e.g.  switch   on  and  off  its  hardware,  it  can  decide  which  client’s  data  (or  virtual  machine)  can  be  processed  on  its  hardware   but  on  the  other  side  the  client  can  trust  that  his  data  cannot  be  read  or  manipulated  by  the  cloud  provider.   The  client  can  be  sure  that  the  provider’s  platform  is  what  it  claims  to  be.  With  platform  we  mean  firmware,   bootloader,  host  operating  system  and  virtual  machine  monitor.  The  client  can  assure  that  the  platform  of  the   provider  was  verified,  tested  and/or  certified  based  on  fingerprints  of  the  certified/trusted  systems;  the  client   can  check  this  fingerprint  and  he  can  be  sure  that  the  provider  uses  a  trusted  platform  which  was  not   manipulated  and  which  does  not  allow  the  provider  (even  not  the  provider’s  administrator)  to  gain  control   over  data  and  virtual  machines  processed  on  such  a  trusted  platform.   This  way  the  trust  relationship  between  client  and  provider  is  not  (only)  based  on  personal  acquaintance  and   (legal)  contracts  between  client  and  provider.  The  trust  relationship  is  based  on  five  pillars:  1.)  Trust  in  an  open   source  (host)  operating  system  that  is  publicly  available  and  tested.    2.)  Trust  in  a  host  system  that  is  non-­‐ manipulable  and  that  prevents  the  provider  including  the  administrator  to  see  any  virtual  machine  contents  by   using  mandatory  access  control  with  restricting  rules.  3.)  Attestation:  the  provider  proves  that  his  system  is   based  on  a  certified  platform;  this  is  technically  achieved  by  using  TPM,  secure  boot  and  integrity   measurement.  4.)  Separation  of  the  verification,  testing  and  certification  process  to  hardware  manufacturer   (TPM  including  it’s  credentials),  to  operating  system  developer  (by  publishing  known  fingerprints  of  its   software)  and  a  trusted  third  party  that  tests,  verifies  and/or  certifies  trusted  systems.    5)  Separation  of   necessary  tasks  concerning  attestation  and  verification  of  integrity  values  between  different  entities:  Trusted   client  software  running  on  the  local  system  of  the  cloud  customer  and  an  organization  that  tests,  checks   and/or  verifies  software  platforms  of  the  cloud  providers.   We  implemented  a  prototype  to  show  that  it  is  possible  to  build  a  system  that  moves  control  over  the  virtual   machine  from  the  cloud  provider  to  the  service  client.  We  are  discussing  factors  influencing  the  trust  level  in   the  cloud  provider  and  its  platform  including  socio-­‐economic,  usability  and  psychological  factors.     ODER:   Since  trust  cannot  be  regarded  from  a  technical  viewpoint  only  we  also  consider  socio-­‐economic,  usability  and   psychological  factors  when  discussing  acceptance  and  trust  perception  of  the  cloud  customer.     Keywords:  Cloud  Security,  Trusted  Boot,  TPM,  Mandatory  Access  Control,  Attestation.     1.  Introduction   Cloud  customers  who  process  or  store  their  data  in  the  cloud  want  to  have  the  same  level  of  security  for  their   data  and  processes  as  on  a  locally  hosted  system.  With  security  we  mean  confidentiality  and  integrity  of  the   customer  data.    Since  -­‐  in  all  but  a  handful  of  cases  -­‐  a  cloud  customer  cannot  physically  access  the  premises  of   the  cloud  provider  he  cannot  control  whether  the  infrastructure  including  the  host  operating  system  and   virtual  machine  monitor  of  the  cloud  provider  is  what  the  provider  claims.  There  should  be  a  way  for  the  cloud   provider  to  prove  that  its  infrastructure  -­‐  BIOS,  boot  loader,  host  operating  system  and  virtual  machine   monitor  (VMM)  -­‐  is  in  a  known  and  trusted  state.  Research  of  the  last  decade  produced  many  publications  that   suggest  trusted  boot,  integrity  measurement  and  remote  attestation  to  gain  this  prove.  The  publications   mainly  focus  on  the  technical  issues  on  the  cloud  provider’s  premises  to  create  such  a  trusted  cloud  system.       Trusted  Boot  and  Attestation  

We  give  a  short  overview  on  the  technologies  that  we  base  our  system  upon.     Trusted  Computing  Group  (2007)  describes  a  process  called  authenticated  boot.  The  basic  idea  is  that  each   part  of  the  computer  system  is  measured  before  it  is  executed.  Measuring  means  calculating  a  hash  value  of   the  binary.  The  measured  values  are  stored  in  platform  configuration  registers  (PCR)  in  the  TPM.  PCR  values   can  only  be  written  to  by  using  the  following  extend  operation:    PCR_i  =  SHA1  (PCR_i,m).  Thus  a  PCR  value   depends  on  all  values  that  were  extended  to  this  PCR  since  the  system  was  started.   Figure  1  shows  the  integrity  measurement  process    

  Figure  1:  The  measurement  flow.  (Trusted  Computing  Group,  2007)     The  measurement  chain  is  started  with  the  core  root  of  trust  for  measurement  (CRTM).  The  CRTM  is  part  of   the  TPM  and  thus  the  initially  trusted  hardware  part.  The  CRTM  measures  the  OS  loader  code  (1)  then   transfers  execution  to  the  OS  loader  code  (2),  which  itself  does  a  measurement  –  this  time  of  the  OS  code  (3),   after  which  the  OS  code  starts  (4).  The  OS  can  measure  application  code  (5)  then  the  application  can  be   executed  (6)    (Trusted  Computing  Group,  2007). There  can  be  more  than  the  three  stages  of  measurement.  An  example  can  be  the  separation  of  the  OS  loader   code  into  two  or  more  parts.  Free  Software  Foundation  (2012)  describes  the  GNU  GRUB  boot  loader  which  is   divided  in  two  stages.    After  measurement  it  must  be  possible  to  securely  request  the  PCR  values.  Trusted  Computing  Group  (2007)   calls  this  process  integrity  reporting.  Each  TPM  has  credentials  embedded.  These  credentials  are  encryption   keys  that  are  permanently  embedded  in  the  TPM  by  the  TPM  manufacturer.  Integrity  reporting  and  the   credentials  allow  for  remote  attestation.  Remote  attestation  allows  a  remote  entity  to  request  proof  that  a   system  is  based  on  a  genuine  TPM  and  that  integrity  values  are  received  from  PCRs  of  a  TPM.  Remote   attestation  is  based  on  digitally  signing  the  integrity  values.   Using  a  CRTM,  trusted  boot,  integrity  reporting  and  attestation  the  remote  entity  can  be  sure  that  the   individual  parts  of  the  system  which  were  executed  consecutively  during  startup  produced  specific  integrity   values  when  measured.       2.  Weakness  and  issues  with  trusted  cloud  computing  based  on  integrity  measurement  and  attestation   Khan  et  al.  (2011),  Fengzhe  et  al.  (2011)  and  Neisse  et  al.  (2011)  developed  running  prototypes  that  perform   trusted  boot,  integrity  measurement  and  attestation.    Different  open  source  projects  allow  code  to  be   downloaded  and  to  build  systems  based  on  trusted  boot,  integrity  measurement  and  attestation:  http://linux-­‐ ima.sourceforge.net/,  http://sourceforge.net/projects/tboot/  and  http://sourceforge.net/projects/xmhf/   Nevertheless  such  Trusted  Computing-­‐based  systems  could  not  prevail  in  commercial  cloud  implementations.   Amazon  AWS  offers  a  system  called  CloudHSM  which  at  first  glance  seems  to  be  based  on  a  similar  hardware   as  the  TPM.  The  Hardware  Security  Module  (HSM)  that  AWS  is  using  is  Luna  SA.  The  aim  of  CloudHSM  is  not   trusted  boot  but  to  provide  a  “secure  key  storage  and  cryptographic  operations  within  a  tamper-­‐resistant   hardware  device”.  (Amazon  Web  Services,  2013)       To  the  best  of  our  knowledge  there  is  no  commercial  cloud  provider  or  cloud  implementation  that  is  using   TPM,  Trusted  Computing  (TC)  technology  and/or  trusted  boot.  The  question  arises:  Why  is  no  cloud  provider   using  or  offering  TC  technology  after  almost  a  decade  of  research  and  many  (big)  companies  supporting  TC?   Trusted  Computing  Group  (2014)  gives  a  list  of  the  members  of  the  Trusted  Computing  Group.   In  the  following  we  enumerate  deficiencies  of  such  trusted  computing-­‐based  systems  and  (possible)  reasons  

 

for  the  reluctance  of  using  and  installing  such  systems  in  commercial  or  open  source  cloud  systems.  We  also   list  existing  solutions  and  propose  new  solutions  to  the  issues.     1. The  static  nature  of  attestation:  the  difficulty  of  changing  or  updating  (operating)  systems  that  should   be  attested  is  described  in  Sadeghi  (2004):  Each  update  or  patch  of  an  operating  system  forces  to   create  and  publish  new  PCR  values.   2. The  size  of  the  trusted  computing  base  (TCB):   The  TCB  is  the  part  of  a  TC-­‐based  system  that  must  be  measured  before  it  can  be  executed.  A  huge   size  of  the  TCB  leads  to  performance  degradation  of  the  overall  system  since  measuring  which  is   based  on  hashing  takes  time.  Experiments  of  Neisse  et  al.  (2011)  suggest  that  time  necessary  for   measuring  increases  proportionally  to  the  size  of  files.  Many  publications  try  to  overcome  this  issue   by  minimizing  the  size  of  the  TCB:  Steinberg,  U.  and  Kauer  B.  (2010)  built  a  small  micro  hypervisor   called  NOVA  which  is  the  TCB  in  their  system.  Murray  D.,  Milos  G.,  and  Hand  S.  (2008)  propose   disaggregation  to  minimize  the  trusted  computing  base.  Bleikertz  S.  et  al  (  2013)  base  their  system  on   a  small  trusted  domain  builder.   3. The  complexity  of  TC-­‐based  systems  and  -­‐  as  a  consequence  -­‐  low  acceptance  by  end  users:   It  will  be  hard  for  a  computer  user  or  in  our  case  a  cloud  customer  who  is  not  an  expert  in  the  field  of   IT  security  or  TC  technology  to  understand  attestation-­‐based  and  TC-­‐based  systems.  If  users   understand  all  the  details  of  a  system  the  level  of  trust  in  such  systems  usually  is  higher  than  if  the   systems  are  highly  complex  and  the  details  are  not  or  only  vaguely  understood.  McKnight  et  al.  (2002)   calls  this  category  of  trust  Situational  Normality-­‐Competence  which  is  a  subcategory  of  Institution-­‐ Based  Trust.  They  showed  in  a  study  that  Situational  Normality-­‐Competence  has  a  high  influence  onto   Institution-­‐Based  Trust.  The  level  of  trust  can  be  increased  when  experts  and/or  highly  respected   organizations  recommend  to  trust  and  use  such  systems.    McKnight  et  al.  (2002)  propose  different   strategies  depending  on  the  experience  and  knowledge  of  end  users.    If  the  end  user  is  less   experienced  they  advocate  that  “clear  explanations  of  structural  and  technological  safeguards  may  be   used  to  promote  institutional  trust”.    For  more  experienced  users  they  propose  “such  mechanisms  as   endorsements  from  respected  customers,  seals  of  approval  from  professional  associations…”.   Digital  Certificates  used  in  SSL  (secure  sockets  layer)-­‐based  websites  initially  suffered  from  the  same   fact.  Trust  into  certificates  raised  when  big  software  companies  –  in  this  case  browser  and  operating   system  developers  -­‐  introduced  root  certificates  in  their  systems.  Holz,  R.  et  al.  (2011)  measured  and   analyzed  the  public  key  infrastructures  (PKI)  and  X.509  certificates  used  in  web  browsers.   We  are  aware  that  trust  in  X.509  certificates  and  certificate  authorities  is  not  the  same  category  of   trust  as  we  need  it  in  our  TC-­‐based  attestation  system.  Jøsang  A  et  al.  (2007)  differentiate  between   identity  trust  (in  PKI)  and  provision  trust.  The  latter  category  of  trust  is  what  is  needed  in  cloud   systems.         4. Usage  of  and  trust  in  attestation-­‐based  cloud  computing  is  adversely  affected  by  low  usability   (Jarvenpaa  et  al.  1999)    (Büttner  et  al.  2006)  .  In  the  above  mentioned  prototypical  implementations   the  cloud  customer  has  to  compare  the  PCR  values  by  hand.  This  is  not  reasonable  to  the  average   cloud  customer.     We  propose  additional  software  running  on  the  local  computer  of  the  cloud  customer.  We  call  this   software  cloud  attestor  and  advisor  (CAA).  CAA  needs  to  be  integrated  with  the  TC-­‐based  attestation   system  running  on  the  cloud  provider’s  premises.  CAA  compares  the  PCR  values  received  during  the   attestation  process  with  the  integrity  values  published  by  a  trusted  third  party.  CAA  software  is  what   the  cloud  customer  directly  interacts  with.  Therefore  trust  level  of  cloud  customers  into  CAA  must  be   very  high.     In  the  following  we  compare  CAA  with  antivirus  software  since  both  perform  security-­‐relevant  tasks,   both  download  comparative  data  from  a  remote  entity  and  both  must  be  trusted  to  by  end  users  if   they  should  be  accepted  by  end  users.   Anti  virus  and  anti  malware  software  is  well  established  software.  A  study  of  McAfee  (2012)  shows   that  83%  of  participants  of  the  study  have  working  security  protection  which  includes  antivirus   software.  39%  of  the  participants  in  a  study  from  McAfee  (2011)  answered  they  use  free  software  for   security  protection  purpose.  Many  computer  end  users  do  not  care  or  do  not  have  the  knowledge  to   care  about  the  details  of  any  found  malware.  Gross  J.  and  Rosson  M.  (2007)  discovered  in  a  small   survey  that  58%  cannot  distinguish  between  virus  and  worm  and  25%  of  them  are  even  not  aware  to   have  a  virus  scanner  on  their  system.  End  users  just  want  the  antivirus  software  to  clean  their  system.   The  antivirus  software  installed  on  the  local  system  receives  malware  signatures  from  a  central   malware  signature  database.  This  signature  database  (as  well  as  the  software)  comes  from  a  trusted  

third  party.  The  same  should  be  implemented  in  TC-­‐based  and  attestation-­‐based  cloud  ecosystems:   trusted  integrity  values  are  downloaded  from  a  separate  trusted  entity  and  the  local  (trusted)   software  handles  the  necessary  attestation  and  integrity  checks.   We  summarize  and  emphasize  at  this  point  that  most  end  users  trust  antivirus  software  without   detailed  knowledge  about  technologies  behind  it.  The  following  question  arises:  Where  does  the  high   trust  level  result  from?  We  discuss  this  question  later.     3.  The  five  pillars  for  trusted  clouds   We  propose  an  ecosystem  for  Infrastructure  as  a  Service  (IaaS)  clouds  that  extends  the  technical  controls   (trusted  boot,  measurement  and  attestation,  mandatory  access  control)  with  the  help  of  a  trusted  third  party   and  an  (indirect)  certification  and  audit  system:  A  trusted  third  party  certifies  that  the  software  (including   bootloader,  operating  system  and  VMM)  the  cloud  provider  is  using,  conforms  to  specified  security   requirements.  The  trusted  third  party  (TTP)  has  the  task  to  test  and  check  that  the  BIOS,    bootloader,  host   operating  system  and  the  virtual  machine  monitor  conforms  to  specified  requirements  defined  in  advance.  The   TTP  does  not  have  to  check  this  on  the  physical  premise  of  the  cloud  provider.  The  test,  check  and  audit  of  the   system  can  be  done  locally.     The  prove  that  the  cloud  provider  is  using  the  specific  certified  system  is  done  using  secure  boot,  a  chain  of   trust,  integrity  measurement  and  remote  attestation.    To  confine  the  root  user  a  mandatory  access  control   system  is  integrated  in  the  cloud  provider  system.     We  advocate  to  base  a  secure  and  trusted  cloud  ecosystem  on  five  pillars:  the  first  four  are  technical  measures   the    last  pertains  to  the  organizational  architecture.  We  first  enumerate  the  five  pillars  and  describe  them  in   the  next  paragraph:   1)  Hardware  root  of  trust   2)  A  complete  chain  of  trust  during  authenticated  boot  as  described  by  the  Trusted  Computing  Group  TCG   (2007)   3)  Integrity  Reporting  and  Attestation   4)  Mandatory  access  control  to  confine  users  including  the  root  user  and  untrusted  processes.   5)  Ecosystem  of  trust:    Separating  trusted  entities;  Trusted  Third  Tester  and  Cloud  Provider     1)  Hardware  root  of  trust:  Our  system  is  based  on  the  Trusted  Platform  Module  (TPM).  This  part  of  our   ecosystem  is  specified  in  the  TPM  main  specification  of  the  Trusted  Computing  Group  (2011).  It  should  be   possible  to  use  any  hardware  root  of  trust  that  has  the  possibility  to  measure  upper  layer  firmware  or  software   and  is  able  to  store  the  measurements  in  a  secure  (non-­‐manipulatable)  way.  The  hardware  root  of  trust  must   be  trusted  by  the  cloud  provider  and  the  consumer.   2)  It  is  essential  for  the  overall  security  and  integrity  of  the  ecosystem  that  the  chain  of  trust  has  no  gaps   between  the  individual  blocks  that  are  measured  and  executed.  This  has  been  described  by  Martin  (2008)  or   Shashidharan  and  Jitesh  (2011).   3)  Integrity  reporting  and  attestation  has  been  described  in  section  1.     4)  Regarding  possible  adversaries  against  a  cloud  system  it  has  been  discovered  that  insider  attackers  are   among  the  nine  most  critical  threats  to  cloud  systems  (Cloud  Security  Alliance,  2013).    Since  an  administrator   (root  user  in  Linux  systems)  usually  has  all  access  rights  the  root  user  is  the  most  powerful  insider  and  thus  -­‐  if   he  is  malicious  -­‐  the  most  critical  insider  attacker.  A  trusted  cloud  ecosystem  must  ensure  that  a  malicious  root   user  cannot  harm  the  system,  steal  data  or  do  other  malicious  activity.  Shashidharan  and  Jitesh  (2011)  suggest   to  use  a  mandatory  access  control  system  to  confine  the  root  user.  Nahari  (2007)  describes  a  system  that   combines  MAC,  trusted  boot  and  embedded  linux.  Sailer  et  al.  (2005)  integrated  a  MAC  system  into  a  XEN   hypervisor.  Bleikertz  S.  et  al.  (2013)  consider  five  actors  in  their  model  who  are  possible  adversaries.  Bleikertz   S.  et  al.  (2013)  differentiate  between  root  users  with  physical  access  and  root  users  with  only  logical  access.   Their  protection  of  the  cloud  against  logical  root  users  is  based  on  MAC  for  low-­‐level  resources  and  on  a  de-­‐ privileged  Dom0.  in  a  typical  Xen  implementation  Dom0  is  the  domain  that  allows  direct  interaction  with  the   hypervisor.  Dom0  allows  for  starting,  stopping  or  managing  other  domains.     5)  Our  contribution  will  focus  on  the  ecosystem  surrounding  the  technological  base  on  the  provider’s   premises:  We  advocate  to  separate  the  entity  that  identifies  the  running  cloud  platform  used  by  the  provider   and  the  entity  that  tests  and  audits  the  software  and  hardware  used  for  the  platform.  The  local  software  on   the  cloud  customer  site  deserves  closer  attention  since  this  is  what  the  cloud  customer  interacts  with.  In  the   following  section  we  describe  the  trust  ecosystem  in  detail.    

4.  The  trust  ecosystem       To  explain  the  two  entities    -­‐  introduced  with  the  fifth  pillar  in  the  third  section  -­‐  we  compare  our  ecosystem  to   software  signatures  combined  with  public  key  infrastructure  (PKI).    In  a  public  PKI  a  digital  certificate  signed  by   a  certificate  authority  provides  authentication  of  the  certificate  holder.   The  main  difference  between  our  trust  ecosystem  and  PKI  is  the  category  of  trust  that  is  provided:  PKI  provides   identity  trust,  our  system  should  provide  provision  trust.   PKIs  do  not  guarantee  anything  about  the  reliability  of  the  certificate  holder.  PKIs  do  not  state  anything  about   the  quality  of  service  provided  by  the  certificate  holder.  But  the  certificate  gives  the  customer  -­‐  who  is  the  user   of  a  service  -­‐  a  higher  level  of  trust  than  without  certificate.  Josang  A  et  al.  (2007)  describes  categories  of  trust,   two  of  the  are  identity  trust  and  provision  trust.   The  certificate  authority  or  another  entity  –  often  called  a  registration  authority  –  can  check  the  authenticity  of   the  certificate  requestor  with  more  or  less  diligence.  Software  signatures  are  usually  based  on  a  PKI.  Signing  a   software  allows  for  identity  trust  but  not  for  provision  trust:  The  software  signature  identifies  the  signer  but  it   does  not  state  anything  about  the  quality  or  reliability  of  the  software.   In  our  trust  system  identity  trust  is  a  prior  condition  but  we  also  postulate  provision  trust:    The  cloud  customer   should  be  enabled  to  trust  that  the  cloud  provider  is  providing  its  service  with  high  quality  of  service,  that  the   infrastructure  and  platform  of  the  provider  is  reliable  and  secure.    The  cloud  customer  should  be  enabled  to   trust  that  the  provider’s  system  allows  for  confidentiality  and  integrity  of  the  customer’s  data.  

    Figure  2:  The  trust  ecosystem       Comparing  this  to  our  cloud  ecosystem  introduces  an  additional  entity:    A  trusted  third  party  (TTP)  which  is   trusted  to  by  cloud  consumers  checks,  tests,  reviews  and/or  audits  the  platform  that  is  used  by  the  cloud   provider.    If  trust  level  in  this  TTP  is  higher  than  the  trust  level  in  the  cloud  provider  the  overall  trust  level  from   the  customer  to  the  cloud  provider  is  as  high  as  the  trust  level  of  the  TTP  if  and  only  if  pillars  1,  2  and  3  from   section  3  are  implemented  and  used  in  the  ecosystem.       Figure  2  gives  an  overview  of  our  proposed  ecosystem:    (1)  The  developer  is  the  developer  of  the  operating   system  and/or  the  developer  of  the  bootloader  and/or  the  developer  of  the  firmware.  Examples  for  this  entity   are  the  open  source  community  or  a  commercial  software  company.  If  it  is  the  open  source  community   (developing  an  open  source  hypervisor)  there  must  be  a  coordinating  organization  that  requests  certification   with  the  trusted  third  party.  Recently  trust  in  open  source  has  increased  due  to  several  leaks  which  accuse   governmental  organizations  like  secret  services.  If  cloud  customers  do  not  trust  in  (big)  software  companies   they  will  neither  trust  in  a  TTP.  In  this  case  the  software  developed  and  published  in  (1)  must  be  open  source.   (2)  The  TTP  tests,  verifies  and  audits  the  software.  We  introduce  the  term  trusted  third  tester  (TTT)  for  this   entity  because  it  is  more  than  a  TTP  in  a  PKI  which  provides  only  for  identity  trust.  The  TTT  can  be  -­‐  analogous   to  the  developer  -­‐  the  open  source  community  or  a  commercial  or  a  (semi-­‐)governmental  organization.  If  we   use  the  analogy  of  PKI  again,  we  can  find  companies  that  are  commercial  companies  but  they  are  

commissioned  by  the  governmental  entities.  (3)  The  TTP  signs  and  publishes  the  integrity  values.  (4)  On  the   premises  of  the  cloud  service  provider  the  specific  VMM  and/or  host  operating  system  is  running.  Each   physical  host  of  the  provider  is  equipped  with  a  TPM.  (5)  and  (6)  The  Cloud  service  customer  can  use  the   attestation  technology    described  in  chapter  1  to  get  a  prove  that  a  specific  system  is  running  on  the  cloud   premises.  For  better  usability  a  trusted  software  is  performing  these  tasks  of  challenging  the  TPM  and   attestation.  (7)  This  software  compares  the  received  integrity  values  with  the  signed  hashes  received  in  (3).     5.  Implementation         We  are  working  on  a  prototypical  implementation  of  the  trust  ecosystem.    So  far  we  have  implemented  the   system  that  runs  on  the  cloud  provider’s  site.  Our  prototype  is  implemented  using  open  source  software:  It  is   based  on  a  Linux  system  including  a  mandatory  access  control  system  and  on  the  integrity  measurement   architecture  (IMA),  which  allows  trusted  boot  and  attestation.    Figure  3  is  an  overview  of  the  architecture  of   the  prototype.  

  Figure  3:  Architectural  overview  of  the  prototype     We  list  the  building  blocks  in  figure  3.  The  software  is  either  part  of  the  Debian  distribution  or  it  can  be   downloaded  from  sourceforge.net.   • TrustedGRUB  is  an  extension  of  the  GRUB  bootloader  to  allow  for  trusted  boot.   • IMA  module  is  a  kernel  module  that  allows  for  integrity  measurement.  It  was  presented  by  Sailer  et  al.   (2004).   • TPM  Driver  is  a  kernel  device  driver  for  Linux  that  enables  the  TPM.   • SELinux  is  a  mandatory  access  control  system.   • kvm  KVM  is  a  full  virtualization  solution  for  Linux  .   • TrouSerS  is  a  library  to  access  the  TPM  functionality.   • tpm-­‐tools  comes  with  TrouSerS.  It  contains  the  commands  to  interact  with  the  TPM.   • Remote  Attestation  Tool  is  a  client  server  application  that  allows  for  remote  attestation  as  described   in  section  1.     5.  Conclusion  and  Further  Research   Missing  trust  in  cloud  service  providers  is  the  key  inhibitor  for  further  acceptance  and  propagation  of  cloud   technologies.  We  see  TC  as  the  most  promising  technology  to  establish  trust  into  cloud  ecosystems.  On  the   other  hand  cloud  systems  are  one  of  the  most  appealing  applications  of  TC.  To  further  promote  TC  in  cloud   systems  we  need  further  research  and  action  that  combines  technical,  socio-­‐economic,  usability  and   psychological  factors.   Further  research  is  necessary  to  be  able  to  transform  the  influencing  factors  of  trust  from  web  stores  onto  the   field  of  cloud  computing.  Reputation  of  the  service  provider  is  an  influencing  factor  for  the  level  of  trust   (Jarvenpaa  et.  al,  1999).    Assuming  that  online  stores  and  cloud  platforms  basically  have  the  same  trust  factors   the  following  actions  are  needed:  Organizations  (the  TTT)  should  be  established  that  are  able  to  perform   detailed  tests  and  reviews  of  source  code  of  cloud  platforms.  These  organizations  must  be  well  regarded.  To   increase  reputation  on  these  organizations  experts  from  the  scientific  community  as  well  as  governments  must  

promote  these  organizations.     Another  factor  that  could  increase  trust  in  the  proposed  TC-­‐based  system  is  usability.  Further  research  is   needed  to  build    CAA  software  with  high  usability.       6.  References           • Bleikertz   S.   et   al.   (   2013)   "Client-­‐controlled   cryptography-­‐as-­‐a-­‐service   in   the   cloud",   Proceedings   of   the   11th  international  conference  on  Applied  Cryptography  and  Network  Security,  pp  19-­‐36   • Bouchenak  Sara,  et  al.  (2013)  "Verifying  cloud  services:  present  and  future"  SIGOPS  Oper.  Syst.  Rev.,  Vol   47,  No  2,  July,  pp  6-­‐19   • Cloud   Security   Alliance.   (2013)   The   Notorious   Nine.   Cloud   Computing   Top   Threats   in   2013,   URL:https://cloudsecurityalliance.org/download/the-­‐notorious-­‐nine-­‐cloud-­‐computing-­‐top-­‐threats-­‐in-­‐ 2013/   • Free  Software  Foundation  (2012)  GNU  GRUB,  URL:  http://www.gnu.org/software/grub/   • Fengzhe  Zhang  et  al.  (2011)  "CloudVisor:  retrofitting  protection  of  virtual  machines  in  multi-­‐tenant  cloud   with   nested   virtualization",   Proceedings   of   the   Twenty-­‐Third   ACM   Symposium   on   Operating   Systems   Principles  (SOSP  '11),  pp  203-­‐216   • Gross   J.   and   Rosson   M.   (2007)   "Looking   for   trouble:   understanding   end-­‐user   security   management",   Proceedings  of  the  2007  symposium  on  Computer  human  interaction  for  the  management  of  information   technology  (CHIMIT  '07),  Article  10     • Jansen   B.,   Ramasamy   H.,   and   Schunter   M.   (2008)   "Policy   enforcement   and   compliance   proofs   for   Xen   virtual   machines",   Proceedings   of   the   fourth   ACM   SIGPLAN/SIGOPS   international   conference   on   Virtual   execution  environments  (VEE  '08),  pp  101-­‐110   • TODO   Jøsang   A.,   Ismail   R.,   Boyd   C.   (2007)   "A   survey   of   trust   and   reputation   systems   for   online   service   provision",  Decision  Support  Systems,  Vol.  43,  Issue  2,  March,  pp  618-­‐644  TODO   • Khan   I.,   Rehman   H,   and   Anwar   Z.   (2011)   "Design   and   Deployment   of   a   Trusted   Eucalyptus   Cloud",   Proceedings  of  the  2011  IEEE  4th  International  Conference  on  Cloud  Computing  (CLOUD  '11),  pp  380-­‐387.   • Martin  Andrew  (2008)  The  Ten  Page  Introduction  to  Trusted  Computing,  techreport,  OUCL   • Murray  D.,  Milos  G.,  and  Hand  S.  (2008)  "Improving  Xen  security  through  disaggregation",  Proceedings  of   the   fourth   ACM   SIGPLAN/SIGOPS   international   conference   on   Virtual   execution   environments   (VEE   '08),   pp   151-­‐160   • Nahari  H.  (2007)  "Trusted  Secure  Embedded  Linux",  Proceedings  of  the  Linux  Symposium  pp.  79-­‐86   • Neisse,  R.,  Holling,  D.,  Pretschner,  A.  (2011)  "Implementing  Trust  in  Cloud  Infrastructures",  11th  IEEE/ACM   International  Symposium  on  Cluster,  Cloud  and  Grid  Computing  (CCGrid),  May,  pp.524-­‐533   • Sadeghi,   A.   and   Stüble   C.   (2004)   "Property-­‐based   attestation   for   computing   platforms:   caring   about   properties,  not  mechanisms",  Proceedings  of  the  2004  workshop  on  New  security  paradigms  (NSPW  '04)   pp.  67-­‐77   • Sailer,  R.  et  al.  (2005)  "Building  a  MAC-­‐based  security  architecture  for  the  Xen  open-­‐source  hypervisor",   Computer  Security  Applications  Conference,  21st  Annual  ,  pp  285,  5-­‐9     • Santos   N.,   Rodrigues   R.,   and   Ford   B.   (2012)   "Enhancing   the   OS   against   security   threats   in   system   administration",  Proceedings  of  the  13th  International  Middleware  Conference,    pp  415-­‐435   • Santos,   Nuno,   Krishna   P.   Gummadi,   and   Rodrigo   Rodrigues   (2009)   "Towards   trusted   cloud   computing."   Proceedings  of  the  2009  conference  on  Hot  topics  in  cloud  computing,  Article  3   • Schiffman  Joshua  et  al.  (2010)  "Seeding  clouds  with  trust  anchors"  Proceedings  of  the  2010  ACM  workshop   on  Cloud  computing  security  workshop,  pp  43-­‐46   • Shashidharan,  A.,  and  Jitesh,  S.(2011)  Enabling  Cloud  Customers  to  Trust  the  Cloud   • Steinberg,   U.   and   Kauer   B.   (2010)   "NOVA:   a   microhypervisor-­‐based   secure   virtualization   architecture",   Proceedings  of  the  5th  European  conference  on  Computer  systems  (EuroSys  '10),  pp  209-­‐222   • Trusted  Computing  Group  (2007).  "TCG  specification  architecture  overview",  Rev.1.4   • Trusted  Computing  Group  (2011).  "TPM  Main  Specification",  Specification  Version  1.2,  Rev.116   • Trusted  Computing  Group  (2014).  "TCG  Members"  [online],   http://www.trustedcomputinggroup.org/about_tcg/tcg_members   • Heijden  H.,  Verhagen  T,  and  Creemers  M.  (2003)  “Understanding  online  purchase  intentions:  contributions   from  technology  and  trust  perspectives”,  Eur.  J.  Inf.  Syst.  12,  1,  March,  pp  41-­‐48.    

• • •

• • • • • •    

Amazon  Web  Services  (2013)    “AWS  CloudHSM  Product  Details  “  [online],   http://aws.amazon.com/cloudhsm/details/   McKnight   D.H.   et   al.   (2002)   “Developing   and   Validating   Trust   Measures   for   e-­‐Commerce:   An   Integrative   Typology”  Info.  Sys.  Research  Vol.  13,  3  (September)   Holz,  R.  et  al.  (2011)  “The  SSL  landscape:  a  thorough  analysis  of  the  x.509  PKI  using  active  and  passive   measurements”  Proceedings  of  the  2011  ACM  SIGCOMM  conference  on  Internet  measurement  conference,   pp  427-­‐444.   McAfee  (2012)  “Consumer  Alert:  McAfee  Finds  One  in  Every  Six  Personal  Computers  Have  Zero   Protection”,  [online],    http://www.mcafee.com/cn/about/news/2012/q2/20120530-­‐01.aspx   McAfee  (2011)  “McAfee  Reveals  Average  Internet  User  Has  More  Than  $37,000  in  Underprotected  ‘Digital   Assets’”,  [online],    http://www.mcafee.com/au/about/news/2011/q3/20110927-­‐01.aspx   Roy,  M.C.  et  al.(2001),The  impact  of  interface  usability  on  trust  in  Web  retailers   Sailer  et  al.  (2004)  “Design  and  Implementation  of  a  TCG-­‐based  Integrity  Measurement  Architecture”  13th   Usenix  Security  Symposium,  August,  pp  223–238   Jarvenpaa,  S.,  Tratinsky,  N.,  and  Saarinen,  L.  (1999)  "Consumer  trust  in  an  Internet  store:  A  cross-­‐cultural   Validation,"  Journal  of  Computer-­‐Mediated  Communication,  pp  1-­‐5   Büttner,  O.B.,  Schulz,  S.  and  Silberer,  G.  (2006).  “Vertrauen,  Risiko  und  Usability  bei  der    Nutzung  von   Internet-­‐Apotheken”,  Konsumentenvertrauen:  Konzepte  und  Anwendungen  für  ein  nachhaltiges   Kundenbindungsmanagement,  pp  355-­‐366  

Suggest Documents