본문

서브메뉴

상세정보

Lost in Translation: Security and Bug-Finding in Foreign Function Interfaces and Multi Language Programs.- [electronic resources]
Lost in Translation: Security and Bug-Finding in Foreign Function Interfaces and Multi Lan...
Lost in Translation: Security and Bug-Finding in Foreign Function Interfaces and Multi Language Programs.- [electronic resources]

상세정보

자료유형  
 학위논문(국외)
자관 청구기호  
기본표목-개인명  
표제와 책임표시사항  
Lost in Translation: Security and Bug-Finding in Foreign Function Interfaces and Multi Language Programs. - [electronic resources]
발행, 배포, 간사 사항  
발행, 배포, 간사 사항  
Ann Arbor : ProQuest Dissertations & Theses , 2025
    형태사항  
    133 p.
    일반주기  
    Source: Dissertations Abstracts International, Volume: 87-05, Section: B.
    일반주기  
    Advisor: Kim, Taesoo.
    학위논문주기  
    Thesis (Ph.D.)--Georgia Institute of Technology, 2025.
    요약 등 주기  
    요약Modern software programs often make use of multiple programming languages. Each language has its own set of advantages and disadvantages. High-level languages like Java and Python allow rapid prototyping and fast development speeds without having to worry about low-level details such as memory management. Low-level systems programming languages like C allow for easier interfacing with hardware and can be used to write very high performance code. However, they require the programmer to manage memory carefully, lest they introduce critical memory safety issues.Due to these differences and disparities in the semantics and security considerations of different languages, there is a likelihood of security issues being introduced when programmers context-switch between writing in multiple languages. For example, a programmer who is used to array accesses being bounds-checked by the language may end up introducing a spatial memory-safety issue with an out-of-bounds access. One who is used to garbage collection and is unfamiliar with the nuances of manual memory management may introduce a use-after-free vulnerability.In this thesis, we start by taking a look at a broad survey of how these multi-language programs and foreign function interfaces are implemented. We dive into the details of how complexity can leak in these multi-language programs. Next, we apply existing vulnerability discovery techniques on Android to find these cross-language bugs at language layers between Java and C/C++ using the Java Native Interface (JNI).Finally, this thesis presents a novel technique that eases the burden of implementing concolic testing for any programming language. Through the use of a simple debugging feature of line-by-line execution and a Large Language Model (LLM), we produce produce constraints in a verifiable manner. We show these concolic testing engines to be sound and use them for hybrid fuzzing of cross-language programs.
    주제명부출표목-일반주제명  
    주제명부출표목-일반주제명  
    주제명부출표목-일반주제명  
    주제명부출표목-일반주제명  
    주제명부출표목-일반주제명  
    주제명부출표목-일반주제명  
    주제명부출표목-일반주제명  
    주제명부출표목-일반주제명  
    부출표목-단체명  
    기본자료저록  
    Dissertations Abstracts International. 87-05B.
    전자적 위치 및 접속  
     원문정보보기

    MARC

     008260219s2025        us            s          000c||eng  d
    ■001000017360473
    ■00520260202105532
    ■006m          o    d                
    ■007cr#unu||||||||
    ■020    ▼a9798263344108
    ■035    ▼a(MiAaPQ)AAI32309891
    ■035    ▼a(MiAaPQ)GeorgiaTech77900
    ■040    ▼aMiAaPQ▼cMiAaPQ
    ■0820  ▼a001
    ■090    ▼a전자자료
    ■1001  ▼aAskar,  Ammar.
    ■24510▼aLost  in  Translation:  Security  and  Bug-Finding  in  Foreign  Function  Interfaces  and  Multi  Language  Programs.▼h[electronic  resources]
    ■260    ▼a[S.l.]▼bGeorgia  Institute  of  Technology.  ▼c2025
    ■260  1▼aAnn  Arbor▼bProQuest  Dissertations  &  Theses▼c2025
    ■300    ▼a133  p.
    ■500    ▼aSource:  Dissertations  Abstracts  International,  Volume:  87-05,  Section:  B.
    ■500    ▼aAdvisor:  Kim,  Taesoo.
    ■5021  ▼aThesis  (Ph.D.)--Georgia  Institute  of  Technology,  2025.
    ■520    ▼aModern  software  programs  often  make  use  of  multiple  programming  languages.  Each  language  has  its  own  set  of  advantages  and  disadvantages.  High-level  languages  like  Java  and  Python  allow  rapid  prototyping  and  fast  development  speeds  without  having  to  worry  about  low-level  details  such  as  memory  management.  Low-level  systems  programming  languages  like  C  allow  for  easier  interfacing  with  hardware  and  can  be  used  to  write  very  high  performance  code.  However,  they  require  the  programmer  to  manage  memory  carefully,  lest  they  introduce  critical  memory  safety  issues.Due  to  these  differences  and  disparities  in  the  semantics  and  security  considerations  of  different  languages,  there  is  a  likelihood  of  security  issues  being  introduced  when  programmers  context-switch  between  writing  in  multiple  languages.  For  example,  a  programmer  who  is  used  to  array  accesses  being  bounds-checked  by  the  language  may  end  up  introducing  a  spatial  memory-safety  issue  with  an  out-of-bounds  access.  One  who  is  used  to  garbage  collection  and  is  unfamiliar  with  the  nuances  of  manual  memory  management  may  introduce  a  use-after-free  vulnerability.In  this  thesis,  we  start  by  taking  a  look  at  a  broad  survey  of  how  these  multi-language  programs  and  foreign  function  interfaces  are  implemented.  We  dive  into  the  details  of  how  complexity  can  leak  in  these  multi-language  programs.  Next,  we  apply  existing  vulnerability  discovery  techniques  on  Android  to  find  these  cross-language  bugs  at  language  layers  between  Java  and  C/C++  using  the  Java  Native  Interface  (JNI).Finally,  this  thesis  presents  a  novel  technique  that  eases  the  burden  of  implementing  concolic  testing  for  any  programming  language.  Through  the  use  of  a  simple  debugging  feature  of  line-by-line  execution  and  a  Large  Language  Model  (LLM),  we  produce  produce  constraints  in  a  verifiable  manner.  We  show  these  concolic  testing  engines  to  be  sound  and  use  them  for  hybrid  fuzzing  of  cross-language  programs.
    ■590    ▼aSchool  code:  0078.
    ■650  4▼aSoftware.
    ■650  4▼aJava.
    ■650  4▼aProgramming  languages.
    ■650  4▼aLibraries.
    ■650  4▼aPython.
    ■650  4▼aC  plus  plus.
    ■650  4▼aLarge  language  models.
    ■650  4▼aSemantics.
    ■690    ▼a0800
    ■71020▼aGeorgia  Institute  of  Technology.
    ■7730  ▼tDissertations  Abstracts  International▼g87-05B.
    ■790    ▼a0078
    ■791    ▼aPh.D.
    ■792    ▼a2025
    ■793    ▼aEnglish
    ■85640▼uhttp://www.riss.kr/pdu/ddodLink.do?id=T17360473▼nKERIS▼z이  자료의  원문은  한국교육학술정보원에서  제공합니다.

    미리보기

    내보내기

    chatGPT토론

    Ai 추천 관련 도서


      신착도서 더보기
      관련도서 더보기
      최근 3년간 통계입니다.
      SMS 발송 간략정보 이동 상세정보출력

      소장정보

      • 예약
      • 서가에 없는 책 신고
      • 자료배달서비스
      • 나의폴더
      • 우선정리요청
      소장자료
      등록번호 청구기호 소장처 대출가능여부 대출정보
      EM178624 TD  전자자료 자료대출실(3층) 정리중  정리중 
      마이폴더

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

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

      관련도서

      관련 인기도서

      서평쓰기

      도서위치