본문

서브메뉴

Compiler and Machine Learning-Based Predictive Techniques for Security Enhancement Through Software Debloating
Compiler and Machine Learning-Based Predictive Techniques for Security Enhancement Through...
Compiler and Machine Learning-Based Predictive Techniques for Security Enhancement Through Software Debloating

상세정보

자료유형  
 학위논문 서양
최종처리일시  
20260202105827
ISBN  
9798265404930
DDC  
155.2
저자명  
Porter, Chris.
서명/저자  
Compiler and Machine Learning-Based Predictive Techniques for Security Enhancement Through Software Debloating
발행사항  
[Sl] : Georgia Institute of Technology, 2023
발행사항  
Ann Arbor : ProQuest Dissertations & Theses, 2023
형태사항  
135 p
주기사항  
Source: Dissertations Abstracts International, Volume: 87-05, Section: B.
주기사항  
Advisor: Pande, Santosh.
학위논문주기  
Thesis (Ph.D.)--Georgia Institute of Technology, 2023.
초록/해제  
요약Code reuse attacks continue to be a serious threat to software. Attackers today are able to piece together short sequences of instructions in otherwise benign code to carry out malicious actions. Eliminating these reusable code snippets, known as gadgets, has become one of the prime focuses of attack surface reduction research. The aim is to break these chains of gadgets, thereby making such code reuse attacks impossible or substantially less common. Recent work on attack surface reduction has attempted to eliminate these attacks by subsetting the application, e.g. via user-specied inputs, congurations, or features, to achieve high gadget reductions. However, such approaches suffer from the limitations of soundness (meaning the software might crash or produce incorrect output during no-attack executions on regular inputs), or the techniques may be conservative and leave a large amount of attack surface untackled. This thesis develops three techniques that combine static analysis with dynamic predictions based on machine learning (ML) to address the above shortcomings. They are fully sound, obtain strong gadget reduction, and are shown to break shell-spawning gadget chains and stop real-world attacks arising out of known Common Vulnerabilities and Exposures (CVEs). The techniques reduce attack surface by activating a (minimal) set of functions at chosen callsites and then deactivating them upon return.In the rst work, BLANKIT, we target library code and achieve ∼97% attack surface reduction. The technique uses arguments to library function calls and their static single assignment-based backward slices for training an ML model, which then predicts reachable functions at the callsite using runtime values. In particular, we are able to debloat GNU libc, which is notorious for housing gadgets for code reuse attacks. In the second work, DECKER, we target application code and achieve ∼73% total gadget reduction. The percentage reduction is similar to prior art but without sacricing soundness. Decker works by instrumenting the program at compile-time at key points to enable and disable code pages; then at runtime, the framework executes these permission-mapping calls with minimal overhead (∼5%). In the third work, PDSG, we show how to augment the whole-application technique with an accurate predictor to further reduce the potential attack surface. ML-based predictive techniques do not offer guarantees and suffer from mispredictions; thus, the predictions are sanitized with lightweight checks. The checks rely on statically derived ensue relations (i.e. valid call sequence relations) that are used for separating mispredictions from actual attacks. PDSG achieves ∼83% total gadget reduction with ∼11% runtime overhead. Its predictions trigger runtime checking in ∼4% of cases.In conclusion, the thesis empirically shows that it is possible to devise precise and sound attack surface reduction techniques by combining static analysis and ML to overcome their inherent limitations. ML prediction aids purely static analysis by improving its precision, and static techniques augment the ML models by providing mechanisms for identifying when a misprediction is truly an attack.
일반주제명  
Defense mechanisms
일반주제명  
Software
일반주제명  
Libraries
일반주제명  
Code reuse
일반주제명  
Data compression
일반주제명  
Computer science
기타저자  
Georgia Institute of Technology.
기본자료저록  
Dissertations Abstracts International. 87-05B.
전자적 위치 및 접속  
로그인 후 원문을 볼 수 있습니다.

MARC

 008260126s2023        us                              c    eng  d
■001000017361290
■00520260202105827
■006m          o    d                
■007cr#unu||||||||
■020    ▼a9798265404930
■035    ▼a(MiAaPQ)AAI32315513
■035    ▼a(MiAaPQ)GeorgiaTech75575
■040    ▼aMiAaPQ▼cMiAaPQ
■0820  ▼a155.2
■1001  ▼aPorter,  Chris.
■24510▼aCompiler  and  Machine  Learning-Based  Predictive  Techniques  for  Security  Enhancement  Through  Software  Debloating
■260    ▼a[Sl]▼bGeorgia  Institute  of  Technology▼c2023
■260  1▼aAnn  Arbor▼bProQuest  Dissertations  &  Theses▼c2023
■300    ▼a135  p
■500    ▼aSource:  Dissertations  Abstracts  International,  Volume:  87-05,  Section:  B.
■500    ▼aAdvisor:  Pande,  Santosh.
■5021  ▼aThesis  (Ph.D.)--Georgia  Institute  of  Technology,  2023.
■520    ▼aCode  reuse  attacks  continue  to  be  a  serious  threat  to  software.  Attackers  today  are  able  to  piece  together  short  sequences  of  instructions  in  otherwise  benign  code  to  carry  out  malicious  actions.  Eliminating  these  reusable  code  snippets,  known  as  gadgets,  has  become  one  of  the  prime  focuses  of  attack  surface  reduction  research.  The  aim  is  to  break  these  chains  of  gadgets,  thereby  making  such  code  reuse  attacks  impossible  or  substantially  less  common.  Recent  work  on  attack  surface  reduction  has  attempted  to  eliminate  these  attacks  by  subsetting  the  application,  e.g.  via  user-specied  inputs,  congurations,  or  features,  to  achieve  high  gadget  reductions.  However,  such  approaches  suffer  from  the  limitations  of  soundness  (meaning  the  software  might  crash  or  produce  incorrect  output  during  no-attack  executions  on  regular  inputs),  or  the  techniques  may  be  conservative  and  leave  a  large  amount  of  attack  surface  untackled.  This  thesis  develops  three  techniques  that  combine  static  analysis  with  dynamic  predictions  based  on  machine  learning  (ML)  to  address  the  above  shortcomings.  They  are  fully  sound,  obtain  strong  gadget  reduction,  and  are  shown  to  break  shell-spawning  gadget  chains  and  stop  real-world  attacks  arising  out  of  known  Common  Vulnerabilities  and  Exposures  (CVEs).  The  techniques  reduce  attack  surface  by  activating  a  (minimal)  set  of  functions  at  chosen  callsites  and  then  deactivating  them  upon  return.In  the  rst  work,  BLANKIT,  we  target  library  code  and  achieve  ∼97%  attack  surface  reduction.  The  technique  uses  arguments  to  library  function  calls  and  their  static  single  assignment-based  backward  slices  for  training  an  ML  model,  which  then  predicts  reachable  functions  at  the  callsite  using  runtime  values.  In  particular,  we  are  able  to  debloat  GNU  libc,  which  is  notorious  for  housing  gadgets  for  code  reuse  attacks.  In  the  second  work,  DECKER,  we  target  application  code  and  achieve  ∼73%  total  gadget  reduction.  The  percentage  reduction  is  similar  to  prior  art  but  without  sacricing  soundness.  Decker  works  by  instrumenting  the  program  at  compile-time  at  key  points  to  enable  and  disable  code  pages;  then  at  runtime,  the  framework  executes  these  permission-mapping  calls  with  minimal  overhead  (∼5%).  In  the  third  work,  PDSG,  we  show  how  to  augment  the  whole-application  technique  with  an  accurate  predictor  to  further  reduce  the  potential  attack  surface.  ML-based  predictive  techniques  do  not  offer  guarantees  and  suffer  from  mispredictions;  thus,  the  predictions  are  sanitized  with  lightweight  checks.  The  checks  rely  on  statically  derived  ensue  relations  (i.e.  valid  call  sequence  relations)  that  are  used  for  separating  mispredictions  from  actual  attacks.  PDSG  achieves  ∼83%  total  gadget  reduction  with  ∼11%  runtime  overhead.  Its  predictions  trigger  runtime  checking  in  ∼4%  of  cases.In  conclusion,  the  thesis  empirically  shows  that  it  is  possible  to  devise  precise  and  sound  attack  surface  reduction  techniques  by  combining  static  analysis  and  ML  to  overcome  their  inherent  limitations.  ML  prediction  aids  purely  static  analysis  by  improving  its  precision,  and  static  techniques  augment  the  ML  models  by  providing  mechanisms  for  identifying  when  a  misprediction  is  truly  an  attack.
■590    ▼aSchool  code:  0078.
■650  4▼aDefense  mechanisms
■650  4▼aSoftware
■650  4▼aLibraries
■650  4▼aCode  reuse
■650  4▼aData  compression
■650  4▼aComputer  science
■690    ▼a0800
■690    ▼a0984
■71020▼aGeorgia  Institute  of  Technology.
■7730  ▼tDissertations  Abstracts  International▼g87-05B.
■790    ▼a0078
■791    ▼aPh.D.
■792    ▼a2023
■793    ▼aEnglish
■85640▼uhttp://www.riss.kr/pdu/ddodLink.do?id=T17361290▼nKERIS▼z이  자료의  원문은  한국교육학술정보원에서  제공합니다.

미리보기

내보내기

chatGPT토론

Ai 추천 관련 도서


    신착도서 더보기
    최근 3년간 통계입니다.

    소장정보

    • 예약
    • 소재불명신고
    • 나의폴더
    • 우선정리요청
    • 비도서대출신청
    • 야간 도서대출신청
    소장자료
    등록번호 청구기호 소장처 대출가능여부 대출정보
    TF17488 전자도서 대출가능 마이폴더 부재도서신고 비도서대출신청 야간 도서대출신청

    * 대출중인 자료에 한하여 예약이 가능합니다. 예약을 원하시면 예약버튼을 클릭하십시오.

    해당 도서를 다른 이용자가 함께 대출한 도서

    관련 인기도서

    로그인 후 이용 가능합니다.