논문 스터디 - 서론

흑흑코더·2023년 9월 18일
0

E-COPS

목록 보기
14/17

🤓 논문 읽고 생긴 질문들, 답변들

논문 : 단편화된 실행파일을 위한 데이터 구조 역공학 기법

Q1 실행파일이 단편화 되었다는 뜻은?

: 실행파일의 정보가 한곳에 모아져있지 않고 여기저기 있다는 뜻 (Fragmentation)

  • 내부 단편화
    메모리 블록 내 사용되지 않는 공간이 있을 때 (고정 크기 블록 할당 방식을 사용하는 경우에 발생)

  • 외부 단편화
    하드 디스크 같은 저장 매체가 여러 작은 자유 공간 블록을 산재 시킬 때 발생, 시스템이 충분히 큰 연속 자유공간 블록을 찾지 못하고 대신 여러 작은 블록에 파일을 저장해야할 경우!

Q2 보안이라는 측면에서의 소프트웨어 분석에서 프로그램의 소스코드가 없는 실행파일 (binary code)에 대한 분석에 초점을 두는 이유는?

=> 소스코드가 없으니까
...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
아 CTF 풀다가 보니까 엥? 소스코드가 있는데 왜 실행파일을 분석할까 생각하고 있었음... 민망

Q3 Alias analysis ?

Alias analysis is a technique in compiler theory, used to determine if a storage location may be accessed in more than one way. Two pointers are said to be aliased if they point to the same location.

두 포인트가 같은 곳을 가리키고 있으면 aliased하다고 한다

p.foo = 1;
q.foo = 2;
i = p.foo + 3;
  1. q와 p가 alias 한 경우 (=둘이 항상 같은 메모리 공간을 가리킴)
    => i=5 (p.foo + 3 = q.foo + 3)
  2. q와 p가 alias 하지 못한 경우 (= 둘이 절대 같은 공간을 가리키지 않음)
    => i=4
  3. 컴파일할때 단정지을 수 없음
    만약 단정지을 수없다면 모든 코드를 다 실행해야함

저장공간이 한 번이상 지정 당했는지 알아내는 분석인듯하다

Q4 SI와 VSA는 뭐죠

SI는 변수 값의 범위과 전 변수와의 간격으로 이루어진 array 형식으로 변수를 표현하는 기법, VSA는 이를 활용한 정적분석법

Q5 정의되지 않은 값들이라는 건?

  • 전역변수
  • 초기화가 안 된 변수 등
profile
공부합시다

0개의 댓글