2021-10-05-디지털포렌식개론-3주차.md

  1. 디지털 포렌식 절차

디지털 정보 역학

Digital Forensic Evidense Examination #3

디지털 데이터 특성

  • 측정 오차: 시간, 위치, 색상
  • Finite granularity (유한 세분성, 쪼개는 데 한계가 있다는 뜻)
    • 공간: 비트, 바이트, n비트 → 2n2^n
    • 시간: Clock cycle, race condition(레이스 컨디션) → 동기화 필요
  • Observation without alteration (원본을 변경하지 않고 관측 가능함)
    • DNA 조사 등은 한번 하면 해당 샘플로는 다시 조사 못함
  • Exact copies without altering the originals (원본을 변경하지 않고 완벽히 복제할 수 있음)
    • 휘발성 데이터(?)
    • 배타적 점유(X), 디지털 데이터 도난(?)
    • CmEC → ^mE : Effect does not imply unique cause
      (하나의 결과는 유일한 원인이 있음을 의미하지 않는다)
      - 무슨 뜻이냐 하면, 하나의 결과 EE는 다양한 메커니즘(m1,m2,...)(m_1, m_2, ...)과 원인들(C1,C2,...)(C_1, C_2, ...)에 의해 발생했다는 것이다.
      - 즉, (C1m1E,C2m2E,...)(C_1→^{m_1}E, C_2→^{m_2}E,...) (DFEE 82p.)
  • Bits can move very quickly, but causality still applies
    (비트는 매우 빠르게 이동하지만, 인과 관계는 여전히 적용된다)
    - Timeline 분석, 선후 관계 분석 가능
  • DFE is created by artificial means
    (디지털 포렌식 증거는 인간의 의도에 의해 생성된다)
    - 정해진 규칙대로 동작: anti-aliasing and motion stabilization alg.

Finite State Machines

  • 내부 상태(SS), 변환 규칙(MM), 입력(II), 출력(OO)

  • M:(I,S)(S,O)M : (I,S) → (S’,O), Clock에 의해 변화

    • MM: Finite State Machine
    • II: Input; OO: Output
    • SS: Current State; SS': Next State
  • Current state does not always imply unique history
    (현재 상태는 유일한 역사를 대변하지 않는다.)
    - prior state and input sequences may be partitioned
    (이전 상태와 입력 시퀀스는 분할될 수 있음)
    - 다양한 경로를 통해 현재 상태와 동일한 상태로 도달할 수 있다는 뜻.

  • Homing seq. : a seq. of inputs that produces the initial state
    (초기 상태로 되돌아가는 입력 시퀀스)
    - Partial homing seq.

        ![Untitled](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/bd41cae5-4b7a-4602-84a3-9dd9da7cd5fe/Untitled.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20211024%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20211024T142942Z&X-Amz-Expires=86400&X-Amz-Signature=b4d0c4246f90b3397b368634667fa06d3145464a99a719585ac2c288b5ec64b4&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Untitled.png%22)
  • Submachines (서브머신)

    • The FSM enters a submachine it never leaves it, or leaves it only certain limited conditions
      (FSM은 절대로 떠나지 않거나, 특정 제한된 조건 아래에서만 떠나는 서브머신으로 들어간다?)
  • (I,S)(S,O)(I, S) → (S’,O), many-to-one

    • 초기 상태와 입력을 알면 출력을 알 수 있음
    • 최종 상태와 출력을 알아도 이전 상태와 입력은 유일하지 않음
    • 난수생성기 → 입력으로 해석
  • Digital space converges while physical space diverges
    (물리적 공간은 발산하는 반면, 디지털 공간은 수렴한다)

  • 서로 다른 입력으로 동일한 출력을 내는 FSM이 많이 존재

    • 예: 동일한 기능을 하는 서로 다른 프로그램
  • The resulting traces are always bits and exact
    (결과적인 흔적은 언제나 비트, 정확하다)
    - 해석은 다를 수 있음

  • FSMs produce partially ordered output seqs.
    (FSM은 부분적으로 정렬된 출력 시퀀스를 생성한다)
    - A<B or A≈B
    - No first item or last item

  • Limits on accuracy and precision (정확도와 정밀도에 대한 제한)

    • overflow (오버플로우)
    • error-free(?) : 1/3
    • At the margins, there may be complex errors that are rare and hard to predict.
      (여백에는 드물고 예측하기 어려운 복잡한 오류가 있을 수 있음)
    • 실수는 정확하게 표현할 수 없음

Information Content in Context

  • Entropy : h(x)=log(1/p(x))h(x) = \log(1/p(x))
    • 영어 : H(X)=2.9<log2(26)=4.7H(X) = 2.9 < log_2(26)= 4.7
    • 통계적 특성 : 모든 언어 뿐만 아니라 모든 데이터(?)
  • 압축
    • 손실 압축 : from the physical world to the digital artifice
      (물리적인 세계에서 디지털 인공물로)
    • 비손실 압축
    • Hash functions and digital signatures as lossy
      (손실이 있는 해시 함수와 디지털 서명)
      - 충돌 확률
      - 유사 입력에서 출력의 상이성
      - 역상과 제 2 역상 생성의 어려움
      - 참고: 해시 함수 y=h(x)y=h(x)에서 (https://infosecguide.tistory.com/60)
              ```
              * 역상 저항성(Preimage resistance) : 역상(Preimage == y) 추측에 저항하는(Resistance) 성질
               - 최초, 해시값(y)이 확인된 상태
               - 입력값(x)을 찾는 것은 계산적으로 불가능
              
              * 제2 역상 저항성(Second preimage resistance) : 역상(Preimage == y) 추측에 저항하는(Resistance) 성질
               - 최초, 입력값(x)이 확인된 상태
               - 동일한 해시값(y)이 나오는 다른 입력값(x')을 찾는 것은 계산적으로 불가능
              
              * 출동 저항성(Collision resistance) : 서로 다른 입력값 추측에 저항하는(Resistance) 성질. 서로 다른 입력값은 동일한 해시값을 생성(Collision)
               - 최초, 확인된 정보가 없는 상태
               - 동일한 해시 값(y)의 서로 다른 입력 값(x, x')을 찾는 것은 계산적으로 불가
              ```
              
  • Encoding(인코딩) : encryption(암호화), steganography(스테가노그래피), and other
  • Content only has meaning in context (내용은 문맥이 있어야 의미를 가진다)
    • text라면 1비트 만으로는 의미를 찾을 수 없음.
    • 1~4바이트는? 보통 한 문자에 대한 데이터.
    • 1kB라면? 한 문단 정도의 의미 있는 정보를 획득할 가능성이 있음.
  • FSM은 정해진 방식으로만 동작: 의도한 방식으로 동작하지 않음

컴퓨터

  • 컴퓨터의 동작 원리를 알고 있어야 함
  • 컴퓨터가 어떤 식으로 동작하는지 모두 안다고 생각하는 것은 자만
  • 모든 것을 다 알 수는 없으며, 지속적으로 알려고 해야 함
  • 프로그램 → FSM, 입출력은 데이터로 고려할 수 있음
    • 인공지능 (?)
  • Universal computing machine (범용 컴퓨팅 머신)
    • Nearly perfect virtualization and simulation are possible
      (거의 완벽한 가상화와 시뮬레이션이 가능)
  • General purpose computers (일반적 목적의 컴퓨터) → 프로그래밍 할 수 있음
  • Special purpose computers (특수한 목적의 컴퓨터) → 주어진 대로 사용
    • 임베디드 기기
    • 범용 프로세서 + 전용 OS; 게임기(?), ATM, POS
  • Special and general purpose 운영체제, 인터페이스
    • 매크로, 플러그인
  • 프로세스, 파일, 특정 환경 변수 등에 대한 이해
  • Higher level structures (상위 계층 구조)
    • Java virtual machine (자바 가상 머신)
  • 다기종의 결합
    • 병렬처리
    • generation of timestamps (타임스탬프 생성)
    • potentially arbitrary delays are possible
      (잠재적인 임의적 지연이 있을 수 있음)

Computational Complexity (계산 복잡도)

  • Halting problem: 특정 프로그램의 종료 여부 결정 문제
    • Perfect computer virus detection, Perfect intrusion detection
      (완벽한 컴퓨터 바이러스 탐지, 완벽한 침입 탐지)
    • Certain problems are undecidable
      (특정 문제는 결정할 수 없음)
  • NP-complete
    • O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(xn)<NP<O(n!)<O(nn)O(1) < O(\log n) < O(n) < O(n\cdot \log n) < O(n^2) < O(x^n) < NP < O(n!) < O(n^n)
  • O(x)O(x) → 할 수 있는 것과 없는 것을 구별
    • 모든 컴퓨터 바이러스 검색 불가능 → 알려진 것만 검색
    • 증거의 한계 : 스테가노그라피를 통한 정보 유출 입증
    • How many FSMs may produce identical or nearly identical results
      (얼마나 많은 FSM에서 동일하거나 거의 동일한 결과를 도출할 수 있는가);
      - O(n!)O(n!), 난독화, 도구 평가
    • 어렵다고 해서 불가능한 것은 아니며, 쉽게 풀리는 경우도 있음
  • Designs that take advantage of complexity (복잡성을 이용한 디자인)
    • 암호 설계
    • 전자 서명 → 개인키 사용(O), 해당 소유자가 했음(X)

Outside the Artifice (인공물 밖으로!)

  • Fault tolerant computing and testing
    (내결함성 컴퓨팅 및 테스팅)
    - digital systems are very reliable and rarely make hardware mistakes
    (디지털 시스템은 매우 안정적이며 하드웨어 오류가 거의 발생하지 않음)
  • Accidental violations of digital space assumptions
    (디지털 공간 가정의 우발적인 위반)
    - 하드웨어 : external electromagnetic interference (외부 전자기 간섭), 온도
    - 소프트웨어 : 난수 발생기, 저장 공간 부족, ... 가정한 환경으로 동작하지 않음
  • Intentional violations of digital space assumptions
    (디지털 공간 가정의 의도적 위반)
    - Computer security (컴퓨터 보안) → 의도한 대로 사용하지 않음
    - 메모리 해킹, 부채널 공격
  • 인터페이스
    • 물리적 데이터를 디지털 데이터로 변환하는 과정에서 표현의 한계가 존재
    • 미세한 차이가 실질적인 차이로 변화
    • 촬영, 스캐너
    • 센서; 다른 폰트 인쇄 → 스캔 → 문자 인식 → 동일 데이터

신뢰성

  • 하드웨어 결함 → 쉽게 파악
    • Stuck-at faults (고착 결함), bridging faluts (브릿징 결함), transient faults (일시적 결함), …
    • Coverage (커버리지) ↔ test time (테스트 시간)
    • Power on self-test
    • 오류정정부호
    • 조사자는 하드웨어의 결함 가능성을 인식하고 있어야 함
  • 소프트웨어 에러 → 재현의 어려움
    • 거의 시험되지 않고 실패에 대한 보고도 거의 없음
    • Off-by-one error, overflows(오버플로우), syntax errors (구문 오류), type mismatch error (타입 불일치 오류), …
    • 1000 라인당 0.25개의 에러 존재 (2008년 조사)
    • Black-box test, White-box test
  • 인식의 한계
  • 조사자는 오류 발생 가능성을 항상 염두에 두고 있어야 함

법적 측면

  • Forgery is indiscernible
    (위조는 식별할 수 없다)
  • DFE is latent(숨어 있음) → Tool 필요 → Tool의 정확성
    • A reliable method reliably applied (안정적인 방법을 안정적으로 적용);
      탄핵 대상
  • DFE is trace evidence but not transfer evidence
    (디지털 포렌식 증거는 흔적 증거이지만 전송 증거는 아니다)
    - 다른 FSM이어도 동일 trace를 남길 수 있음
    - 다른 FSM에 동일 DFE가 있다고 해서 상호간에 전송되었단 건 아니란 뜻
  • DFE is generally circumstantial and hearsay
    (디지털 포렌식 증거는 일반적으로 정황증거이자 전문증거이다)
    - 사람을 특정할 수는 없으며, 무엇이 발생했는지는 말할 수 있음
    - Events와 Traces의 일치성 또는 모순성을 말할 수 있음
    - 전문 법칙
    - 데이터의 생성, 보관 방법에 대해 증언
    - 사업 활동의 기록
  • Chain of custody (관리 연속성)

Summary of Properties (DFE 속성의 요약)

  • Finite time, space (유한한 시간과 공간)
  • Exact copies, Theft without loss (완벽한 사본, 손실없는 확보)
  • An artifice, FSM (인위적, FSM)
  • Forward, backward
  • converge (수렴성)
  • Bits and exact (비트, 정확함)
  • Partial ordering (부분 정렬)
  • Errors accumulate (오류 누적)
  • Accuracy and precision (정확도와 정밀도)
  • Forgery (위조 가능성)
  • Latent (숨어 있음)
  • Trace, circumstantial, hearsay (흔적, 정황증거, 전문증거)
  • Cannot place a person (행위자를 특정지을 수 없음)
  • Consistency or inconsistency (일치성 또는 불일치성)
  • Probability is dubious (가능성이 모호함)
  • Content density, compressible (내용 밀도, 압축할 수 있음)
  • 전자서명, context(문맥)
  • 인식의 한계
  • 가상화
  • 계산복잡도
  • 우연 또는 고의
  • 이산성
  • 오류 확산
  • 인터페이스의 한계
profile
맛있는 건 정말 참을 수 없어

0개의 댓글

관련 채용 정보