디지털포렌식_FS과 OS_ (2)

·2023년 5월 18일
0
post-thumbnail

📋 2과목. 파일 시스템과 운영체제

💻 제 2편. 운영체제

1. OS의 역할 및 기능

OS의 역할 : UI 제공, 프로세스 및 메모리 관리

resource => 네트워크 소켓, 파일 핸들, lock...

2. 컴퓨팅 환경별 OS

분산운영체제시스템
: 네트워크 OS의 지역적 자원관리와 지역제어의 제한을 벗어나 시스템 자원의 전역 제어 및 관리의 필요성에 의해 발전

  • 범용프로세서들을 포함한 자원은 물리적으로 분산되어 있으며 통신망을 통해 상호 연결되어 있어야 함
  • 적은비용으로 좋은 성능을 낼 수 있으며, 시스템의 확장이 쉽고, 한 시스템이 고장을 일으켜도 나머지 정상적인 시스템에 의해 전체시스템이 정상적으로 운영되므로 높은 신뢰성을 갖는 장점
  • 프로세소를 포함하여 분산 자원이 사용자에게는 보이지 않으며, 사용자는 이 시스템을 가상의 단일 프로세서를 가진 시스템으로 보고 사용할 수 있어야 함

연산이동 : 서로 다른 컴퓨터 간 많은 양의 파일 처리를 위해 엑세스 하려고 할 때 이동방법

3. OS의 기능

4. Windows 기반 시스템

레지스트리 키

  • 레지스트리는 regedit.exe 전용 편집기에서 볼 수 있으며, 백업과 복구도 여기서 실행 가능하다.
  • 윈도우 레지스트리 키는 HKEY_CLASS_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIGT 등이 있음

HKEY_LOCAL_MACHINE : default 로그온 계정 정보 저장
HKEY_CLASS_ROOT : 파일 확장자에 대한 정보와 프로그램간 연결정보

  • user mode는 3레벨에 해당

보안 취약점 점검 도구

  • MBSA : 일반적으로 틀리기 쉬운 보안 관련 설정을 간단히 확인하기 위한 도구
  • NBTScan : NetBIOS name 정보를 얻기 위해 네트워크를 점검하는 프로그램. UDP 프로토콜을 사용하기 때문에 다른 TCP 프로토콜을 사용하는 취약점 점검 도구보다 프로그램 처리 속도가 빠름

Null Session

  • 널 세션을 이용한 해킹을 방지하기 위한 방법에는 null session 포트 TCP/UDP 135-139번 포트를 차단함
  • 널 세션으로 수집할 수 잇는 정보는 패스워드 정보, 그룹 정보 등 중요한 정보이며 일부 레지스트리 접근이 가능하다
  • Windows가 설치된 네트워크의 다른 원격 컴퓨터에 UserID와 패스워드를 NULL로 해서 접근할 수 있게 해주는 것을 말한다.

이벤트 로그 ID

  • 윈도우에서 발생하는 매일의 이벤트 변화를 기록하며, 사용자 임의로 이벤트 로그에 기록되는 범위 지정이 가능함
  • 관리자는 이벤트 로그를 위한 GUI 기반의 이벤트 뷰어를 통해 이벤트 로그 제어가 가능함
  • 이벤트 로그 데이터를 분석함으로서 시스템의 부팅, 로그인, 로그아웃, 시스템 종료, 시간 설정 변경 등에 대한 정보 확인이 가능함
  • 529 : 알수 없는 계정이나 잘못된 암호를 이용한 로그인 시도
  • 514 : LSA 인증 패키지 로드
  • 516 : 저장 공간의 부족으로 인해 보안 이벤트 손실

  • FORWARDED EVENT LOG : 원격 컴퓨터에서 수집한 이벤트 저장에 사용되는 이벤트 로그

  • System Log: 윈도우 시스템 구성 요소에서 기록한 이벤트
  • Security Log : 파일이나 다른 객체 등 리소스 사용과 관련된 이벤트와 로그온 시도와 관련된 이벤트
  • Application Log : 응용프로그램에서 기록한 이벤트로서 일정한 형식이 없음

LLMNR

Name Resolution Service

  • IPv4, IPv6 또는 두 주소 모두의 장비를 위한 Peer to peer Name Resolution Service 제공

File System Tunneling 윈도우에서 파일 삭제 후 일정 시간 내 동일 이름의 파일이 생성된 경우 삭제된 파일의 테이블 레코드를 재사용

Active Directory

  • 네트워크 상 존재하는 모든 resource 식별, 사용자와 응용프로그램에 resources에 대한 정보 제공 네트워크 서비스
  • active directory 관리자는 중앙 관리 인터페이스를 통해 네트워크 서비스, 분산 desktop, 응용 프로그램들 관리가 가능
  • Active Directory는 네트워크에 연결된 resouces에 대하여 Single Sing-On을 제공함
  • 도메인 컨트롤러와 글로벌 카탈로그 서버의 목록을 DNS에 저장하여 동적 DNS를 이용할 수 있음
  • 조작단위(OU)라고 부르는 하위 도메인으로 나눌 수 있으며 이를 이용하여 특정인에게 다양한 유형의 권한 제어 할당이 가능함
  • 대부분의 사용자 정보를 NTDS.DIT 파일에 저장하며, 이는 마이크로소프트 Acess Database 기반에서 변경된 DB이다.

사용자 로그온 인증

SAM에 의한 로컬 사용자 로그온 인증
net user 시스템에 등록된 모든 사용자 계정 정보를 얻을 수 있음

5. UNIX 기반 시스템

  • 다중 프로그램 시스템으로 fork 시스템 호출에 의해 쉬운 프로세스 생성이 가능함
  • 트리구조 디렉터리를 가진 파일 시스템을 제공하여 파일은 커널에 의해 비구조적 바이트들의 연속으로서 지원
  • 사용자, 커널, HW로 구성되며, 커널은 파일서브시스템프로세스 제어 서브시스템으로 구성
  • /dev는 /dev/console, /dev/1p0, /dev/mt0와 같은 특수 장치 파일을 가짐
  • bin은 유닉스 시스템 프로그램들에 꼭 필요한 2진 파일을 가짐
  • usr/bin은 문장 형식기(Text Formatters) 등과 같은 응용 시스템들을 가짐

unix 명령어

  • pwd : 현재작업 디렉토리의 절대 경로 출력

Shell

  • 셸은 명령어 해석기에 의해 수행되며, 명령어 해석기는 사용자 프로세스로 OS 커널을 둘러싸고 있음
  • 명령의 수행은 fork 시스템 호출과 목적파일의 execve에 의해 수행됨. 명령에 대한 수행이 끝날 때까지 자신의 실행 중단, 대기
  • 자주 사용되는 프로그램은 vi, 파이프라인, 필터, 스크립트 파일 등으로 유닉스에는 많은 메뉴 방식과 아이콘 인터페이스가 추가되었음

getpwuid 유닉스 정보검색 함수 중 passwd 파일 읽기에 해당하는 함수
fork() 새로운 프로세스 생성

6. Linux 기반 시스템

mod_security

: Apache 웹 서버의 보안을 강화하기 위한 웹 보안 프로그램

sticky bit

  • chmod 1000 dl 과 같은 명령 실행, d1 디렉토리에 대한 sticky bit 설정
  • sticky bit가 설정된 디렉토리에서는 모든 사용자가 파일 읽는 것이 가능
  • sticky bit가 설정되는 디렉토리의 대표적 예는 /tmp
  • other의 쓰기 권한에 대한 특별한 퍼미션을 가짐
  • 8진수 모드로는 1000으로 설정되고 심볼릭 모드로는 't' 또는 'T'로 설정

파일 삭제 시 보존되지 않는 메타데이터 정보 -> directory reference count

SetUID

명령을 실행한 사용자가 아닌 실행 파일에 부여된 UID 또는 GID로 사용자 권한이 승격되어 실행

SetUID 공격의 대응방안

  • 디렉터리 또는 파일 생성 시 sticky bit 부여
  • md5sum이나 Tripwire와 같은 파일 시스템 무결성 검사 도구를 이용해 관리
  • 초기 상태의 SetUID 파일과 점검 시 SetUID 파일을 검색하여 그 결과를 diff 명령을 이용해 비교해보기

Linux 로그

  • syslog : Eric Allman이 만든 것으로 메시지의 출처, 중요도에 따라 구분 가능하고 여러 목적지로 전달할 수 있으며 로그를 중앙에 수집하여 관리할 수 있도록 하는 종합적 로그 기록 시스템
  • secure 파일 : 일반적으로 inetd 서버가 제공하는 네트워크 서비스에 대한 접속 기록이 저장, 사용자 인증과 관련된 로그 포함
  • utmp/utmpx : 현재 시스템에 로그인 한 사용자 정보 저장
  • sulog : 'su' 명령 사용에 대한 정보 기록

  • /var/logdmesg : 리눅스 부팅 시 출력되는 모든 메시지 기록
  • /var/log/cron : cron에 의한 시스템의 정기적 작업에 대한 로그 기록
  • /var/log/messages : 리눅스 시스템의 가장 기본적인 시스템 로그파일로서 시스템 운영에 대한 전반적 메시지 저장

tail -f/var/log/secure
로그모니터링 시 실시간 지속 모니터링 명령어

Linux 명령어

  • netstat : 현재 사용중인 네트워크 정보 출력
  • ps : 동작 중인 프로세스 상태 출력
  • pwd : 현재 작업 디렉토리를 화면에 출력

Linux 시스템의 보안 도구

  • wireshark : 네트워크 패킷 수집 및 분석
  • Tcpwrapper : IP 접근 제어
  • nmap : 네트워크 포트 스캔
  • shadow password: /etc/passwd에서 password를 제거하고 /etc/shadow 파일에 암호화된 형태로 password를 저장함
  • Tripwire : 파일에 대한 변경 여부 확인
  • lsof : 프로세스에 의해 열린 파일 핸들 목록을 보여줌
  • John the Ripper : 안전하지 않은 패스워드 검사
  • Samhain : 호스트 기반 침입 탐지

Linux 변조 시스템 분석

시스템 콜 추적, 파일 크기 및 시간 속성 확인, 무결성 검사

sw를 이용한 메모리 덤프 DD

FAU DD, DCFLDD, MDD

우분투 사용자 비밀번호 변경 과정

디렉터리 생성 -> /dev/sda1 파일 시스템을 media 디렉터리에 연결 -> 연결된 media 디렉터리에 root 사용권한 부여, 프롬프트로 확인

7. OS X 기반 시스템

아이폰 앱 데이터 저장 위치 => /var/mobile/Library

profile
화이트해커 엘입니다😉

0개의 댓글