1. 윈도우
윈도우 시스템의 구조
개요
- 윈도우 운영체제의 구조는 링 기반으로 5개의 링으로 구분됨.
- 하드웨어 - HAL(Hardware Abstraction Layer) - 마이크로 커널 - 각종 관리자 - 응용 프로그램(하단 → 상단)
- 하드웨어 ~ 각종 관리자까지를 커널 모드(Kernel Mode), 마지막 링을 사용자 모드(User Mode)로 구분
- 드라이버 개발자와 하드웨어 개발자는 윈도우에서 제시한 기본 표준만 따르면 되는데 그 표준이 HAL임. HAL은 하드웨어와 개발된 소프트웨어 간에 원활한 통신이 가능하도록 도와주는 번역자 역할을 함
- 사용자 모드에 문제가 발생하면 운영체제는 해당 응용 프로그램을 종료하여 문제를 해결, 커널 모드에 문제가 생기면 메모리의 정보를 덤프하고 시스템을 재시작함
윈도우의 특징
- GUI환경 : 아이콘이라는 그림 명령을 통하여 쉽게 프로그램에 접근
- Plug & Play : 하드웨어를 새롭게 추가하는 경우 자동으로 인식하여 환경을 설정해 주는 기능으로 해당 하드웨어가 Plug & Play 기능을 지원하는 장치이어야 함
- 단축 아이콘/ 바로가기 : 프로그램이나 데이터를 빠르고 편리하게 실행시키기 위해서 원하는 위치에 원본 파일을 연결한 아이콘을 만들 수 있음
- 멀티태스킹 : 한 번에 여러 가지 작업을 동시에 수행할 수 있음.
- OLE(Object Linking Embedding) : 개체 연결 포함 기능으로 프로그램 간에 개체(그림, 표 등)를 교환할 수 있음
- 네트워크 기능 향상 : 다양한 프로토콜을 제공하기 때문에 네트워크 설치나 인터넷 연결 등을 편리하게 할 수 있으며, Netbios라는 프로토콜을 사용하여 네트워크 공유가 편리함
- 다중 모니터 지원 : 한 대의 컴퓨터에 최대 8대의 모니터를 연결하여 사용 가능
- 정보의 전송 통합 : 두 개 또는 그 이상의 응용 프로그램에서 작업하여 상호 간의 정보를 한 응용프로그램에서 다른 응용 프로그램으로 전송 통합할 수 있음. 이것은 클립보드라고 불리우는 Desktop accessory를 통해 이룸
윈도우 파일 시스템
FAT16
- FAT는 기본적으로 2GB까지를 한 파티션으로 설정할 수 있음. FAT 테이블의 기본 크기는 16비트인데, 이는 하드디스크에 파일을 담는 최소 단위인 클러스터가 32KB이기 때문임
- 전체 가능 용량은 2GB임. 초기에는 2GB의 용량이 충분한 듯 보였으나, 너무나 작은 용량으로 여겨져 이런 문제를 해결하기 위해 FAT32가 개발되었음
FAT32
- 윈도우 95OSR(OEM Service Release)2에서 처음 도입된 FAT32는 FAT와는 비교할 수 없을 만큼 용량이 커져 총 32개의 클러스터를 가질 수 있음
- FAT32는 현재도 종종 사용되며 호환성이 좋아 리눅스나 다른 운영체제에 정보를 옮길 때 유용함. 그러나 접근제어를 설정할 수 없다는 큰 문제점이 있어 보안과는 거리가 먼 파일 시스템임
NTFS
- 접근제어가 적용된 윈도우 파일시스템에는 NT계열에 적용되기 시작한 NTFS(New Technology File System)가 있음
- NTFS는 파일시스템의 결함 관리(HotFixing)에 있어 FAT나 FAT32보다 훨씬 좋은 성능을 보임. 보안 관점에서도 비교적 훌륭함
- 개별 폴더와 파일에 사용 권한을 설정할 수 있고, 각 파일과 폴더의 해당 계정만 접근하여 읽을 수 있게 암호화할 수 있음. 폴더를 암호화하면 폴더에 있는 파일도 모두 암호화되며, 암호화된 폴더나 파일은 복사나 이동을 해도 암호화 속성을 잃지 않음
- NTFS는 특정 계정의 사람이 몇 날 몇 시 몇 분에 파일을 열거나, 열려다 실패했는지 알 수 있는 감사(Auditing) 기능을 제공함
- NTFS 디스크 구조
- MBR(Master Boot Record) : 파이션 생성 시 물리적 디스크의 첫 번째 섹터에 위치하는 512-Byte 크기의 영역임. MBR은 부트 코드, 파티션 테이블, 시그니처로 구성되어 있으며 운영체제가 부팅될 때 BIOS에 의해 POST(Power On Self Test)과정을 마친 후 MBR의 부트 코드를 호출하고 부트 코드는 부팅 가능 파티션을 찾아 해당 파티션 VBR의 부트 코드를 호출하여 운영체제가 기동하게 됨
- VBR(Volume Boot Record) : 윈도우 부팅을 위한 기계어 코드와 볼륨 및 클러스터의 크기, MFT의 시작주소 등 설정 정보를 담고 있으며 파티션의 가장 마지막 섹터에 VBR 백업본을 가지고 있음
- MTF(Matser File Table) : 볼륨/파일시스템에 존재하는 모든 파일과 디렉터리에 대한 정보를 담고 있는 테이블로 NTFS에서 가장 중요한 영역임. MFT는 MFT 엔트리의 집합으로 구성되어 있음. 각 엔트리는 하나의 파일 또는 디렉터리에 대한 정보를 담고 있는 자료구조로 파일의 위치, 시간 정보, 크기, 파일 이름 등 다양한 속성 정보들로 구성되어 있음
- 시스템 파일 : MFT를 비롯해 파일 복사나 삭제 과정 중 시스템이 오류를 일으킬 경우 이를 복구하는데 사용할 디스크 사용에 대한 로그 파일, 디스크 볼륨 이름 등 디스크 자체에 대한 정보를 담는 파일이 저장됨
- 파일 영역 : 각 파일에 대한 실제 데이터가 저장됨
디스크 파괴형 악성코드의 특징
- 디스크 파괴형 악성코드는 마스터 부트 레코드(MBR) 또는 볼륨 부트 레코드(VBR) 영역을 훼손하여 컴퓨터가 정상적으로 부팅되지 않도록 하는 악성코드임
- ex. MBR 영역의 모든 값을 특정 문자나 랜덤한 쓰레기 값으로 덮어씌워 운영체제 부팅을 할 수 없도록 하 거나 VBR 영역을 훼손하여 파일시스템 복구가 불가능하도록 함
- MBR 영역이 손상된 경우에는 부트 코드를 정상적인 디스크에서 복사하고 각각의 파티션 정보를 수집하여 파티션 테이블을 완성함으로써 복구가 가능함
- VBR 영역이 손상된 경우에는 파티션의 가장 마지막 섹터에 있는 VBR 백업본을 덮어써서 복구가 가능함
FAT16과 FAT32 파티션을 NTFS로 변환
- 하드디스크 성능을 최적화하려면 NTFS 파일시스템이 거의 유일한 선택임. 대개는 NTFS가 FAT16, FAT32보다 성능이 우수함. 큰 파티션에 파일이 많이 있을 경우 특히 그렇다.
- NTFS 성능을 최대로 끌어내려면 파티션을 NTFS로 포맷하고 파일을 저장해야 하지만 여의치 않은 경우에 대비해 CONVERT 유틸리티가 있어 FAT16이나 FAT32를 NTFS로 변환할 수 있음
구분 | FAT | NTFS |
장점 | 호환성 우수, 단순성, 저용량 볼륨의 최적화 | 대용량 볼륨 지원, 디스크의 효율적 사용, 강력한 보안 기능, 자동 압축 및 안전성, 향상된 파일이름 저장 및 파일길이 지원 |
단점 | 보안 취약, 대용량 볼륨의 비효율적 | WIndows NT계열 운영체제 외에는 호환 불가, 용량 볼륨에서 FAT보다 속도 저하 |
윈도우 부팅 순서
윈도우 XP, 윈도우 서버 2000/2003의 부팅 순서
- 1단계 : POST(Power On Self Test
- POST는 운영체제와 관련된 부분이 아님. 어떤 운영체제를 설치해도 POST 과정을 거치게 되며 PSOT 실행은 하드웨어 스스로 시스템에 문제가 없는지 기본 사항을 검사하는 과정임
- 2단계 : 기본 부팅 관련 설정사항 로드
- BIOS는 CMOS(Complementary Meatal-Oxide Semiconductor)에 설정되어 있는 시스템 설정사항 및 부팅과 관련된 여러 가지 정보를 읽어 시스템에 적용
- 3단계 : MBR(Master Boot Record) 로드
- MBR은 저장 매체의 첫 번째 섹터(LBA 0)에 위치하는 512바이트의 영역으로, 부팅 매체에 대한 기본 파일시스템 정보가 들어 있음
- 4단계 : NTLDR(NT Loader) 실행
- NTLDR은 하드디스크의 부팅 파이션에 있는 프로그램으로, 윈도우 서버 2000이 부팅될 수 있도록 간단한 파일시스템을 실행하고 boot.ini 파일의 내용을 읽어 가능한 부팅 옵션을 보여줌
- 5단계 : NTDETECT.com 실행
- NTDETECT는 NTLDER에서 제어권을 위임받아 시스템에 설치함. 다음과 같은 하드웨어를 검사함
- PC의 CPU 유형, 버스 유형, 비디오 보드 유형, 키보드와 마우스 종류, 컴퓨터에 장착되어 있는 직렬 포트와 병렬 포트, 플로피 드라이브 등
- 6단계 : ntoskrnl.exe(NT OS Kernel) 실행
- ntoskrnl은 HAL.DLL(Hardware Abstraction Layer)을 로드함
윈도우 비스타, 2008, 7의 부팅 순서
- 1단계~3단계 : POST 실행/ 기본 부팅 관련 설정사항 로드/ MBR 로드
- 윈도우 XP, 윈도우 서버 2000/2003의 부팅 순서와 동일
- 4단계 : 윈도우 부트 서브 시스템(Window Boot Manager) 실행
- 윈도우7은 MBR에서 NTLDR이 실행되지 않고 윈도우 부트 서브시스템이 실행됨. 윈도우 부트 서브시스템에서는 bootmgr.exe가 실행되고 부트 설정 데이터(BCD, Boot Configuration Data)를 읽어 실행 가능한 운영체제의 목록을 보여줌
- 5단계 : 윈도우 OS 로더(Winload.exe) 실행
- 윈도우 OS 로더인 Winlaod는 NTDETECT와 같이 각종 장치 드라이브를 로드하고, ntoskrnl.exe를 실행함
2. 윈도우 보안
윈도우 설치
윈도우 설치 시 중요 사항
- 파티션 나누기
- 파티션 : 하나의 물리적인 하드디스크에 논리적으로 분할 영역을 만드는 것
- 파티션을 나누면 서로 다른 드라이브로 인식하기 때문에 C드라이브에 심각한 오류가 발생해도 D드라이브에 있는 파일들은 안전하게 보존할 수 있으며, 윈도우를 2개 이상 설치해서 사용하는 멀티부팅이 가능함. 중요한 데이터만 조장할 목적으로 파티션을 나누는 경우도 있음
윈도우 계정, 권한, 인증
기본 사용자와 그룹
- 윈도우에 생성되어 있는 사용자는 [제어판] - [컴퓨터 관리] 의 [로컬 사용자 및 그룹] 메뉴에서 확인할 수 있음
- 윈도우를 설치할 때 기본적으로 생성되는 계정
- Administrator : 관리자 권한의 계정으로 사용자가 사용 가능한 계정 중 가장 강력한 권한을 가짐
- SYSTEM : 시스템에서 최고 권한을 가진 계정으로 로켈엇 관리자보다 상위 권환을 가짐. 원격 접속이 불가능하며, 사용자가 이 계정을 사용하여 시스템에 로그인할 수 없음
- Guest : 매우 제한적인 권한을 가진 계정으로, 기본 설정은 사용 불능임
- 윈도우를 설치할 때 기본적으로 생성되는 그룹
- Administrators : 도메인 자원이나 로컬 컴퓨터에 대한 모든 권한이 있음
- Account Operators : 사용자나 그룹 계정을 관리하는 그룹
- Backup Operators : 시스템 백업을 위해서 모든 시스템의 파일과 디렉터리에 접근할 수 있음
- Guests : 도메인 사용 권한이 제한된 그룹으로 시스템의 설정 변경 권한이 없음
- Print Operators : 도메인 프린터에 접근할 수 있음
- Power Users : 디렉터리나 네트워크 공유, 공용 프로그램 그룹 생성, 컴퓨터의 시계 설정 권한
- Replicator : 도메인에 있는 파일을 복제할 수 있는 권한을 가지고 있는 그룹이며, 디렉터리 복사 서비스에 이용됨
- Server Operators : 도메인의 서버를 관리할 수 있는 권한을 가진 그룹으로 로컬 로그인과 시스템 재시작 및 종료 권한이 있음
- Users : 도메인과 로컬 컴퓨터를 일반적으로 사용하는 그룹, 개개인에 할당된 사용자 환경을 직접 만들 수 있지만, 설정할 수 있는 항목에 한계가 있으며 시스템 서비스의 시작 및 종료 권한, 디렉터리 공유 설정이 불가능함
SID(Securityy Identifier)
- 윈도우의 각 사용자나 그룹에 부여되는 고유한 식별 번호
- 유닉스/리눅스 시스템의 UID, RUID(Real UID), EUID(Effective UID)와 유사하게 윈도우에도 계정을 하나의 코드 값으로 표시한 것
- whoami /user 명령을 이용하여 로그인 한 사용자의 SID를 알아볼 수 있음
- 분석
- S : SID를 의미
- 1 : revision number(SID 명세 버전)
- 5 : Identifier authority value(48비트, 윈도우 보안 권한)
- 21- …
- Sub-authority value : 도메인 또는 로컬 컴퓨터 구분자
- 시스템의 고유한 숫자로, 시스템을 설치할 때 시스템의 특성을 수집하여 생성됨. 동일한 컴퓨터에 다시 윈도우를 설치해도 동일한 값을 가지지 않음
- 500
- relative ID(RID), 기본적으로 생성되는 builtin 게정이 아니라면 1000보다 큰 숫자의 RID가 생성됨
- 관리자는 500번, Guest 계정은 501번, 일반 사용자는 1000번
- SID는 로컬에서만 사용하는 것이 아님. 시스템 A에서 시스템 B로 Administrator 계정이 로그인을 시도할 때, 시스템 A의 Administrator 계정과 시스템 B의 Administraotr 계정은 분명히 다르기때문에 각각의 시스템은 SID를 이용하여 구별함
SID 설명
S-1-0-0 | SID를 모를 때 사용하는 SID |
S-1-1-0 | Everyone |
S-1-5-7 | Anonymous |
S-1-5-18 | System Profiles(시스템의 서비스용 계정) |
S-1-5-19 | Local Service |
S-1-5-20 | Network Service |
S-1-5-domain-500 | Administrator |
S-1-5-domain-501 | Guest |
윈도우의 권한 상승
- Window 작업 관리자 창을 띄워 [프로세스] 탭을 확인해보면 여러 가지 프로그램이 윈도우에서 실행되고 있음을 알 수 있음
- 사용자 이름에서 Administrator와 SYSTEM이 있음. 윈도우에서의 권한 상승이란 일반 권한의 사용자가 Administrator와 SYSTEM으로 실행되고 있는 프로세스의 권한을 빼앗는 것임
- 수행되고 있는 프로세스의 권한을 빼앗는 방법은 기본적으로 ‘상위 권한으로 수행되고 있는 프로그램의 프로세스에 다른 작업 끼워넣기’임
윈도우 인증과 패스워드
- 윈도우 인증의 구성요소
- 윈도우의 인증과정에서 가장 중요한 구성 요소는 LSA(Local Security Authority), SAM(Security Account Manager), SRM(Security Reference Monitor)임. SAM은 윈도우에서 패스워드를 암호화하여 보관하는 파일의 이름과 동일함
- SID에 기반하여 파일이나 디렉터리에 대한 접근 허용여부 결정 및 감사 메시지 생성
- SPM
- 사용자의 로그인 입력 정보와 SAM 데이터베이스 정보를 비교해 인증 여부 결정.
- SAM
- 이름과 SID를 매칭하며, SRM이 생성한 감사 로그를 기록하는 역할 수행
- 모든 계정의 로그인에 대한 검증
- SAM 파일 접근 통제 설정
- SAM 파일은 사용자와 그룹 계정의 패스워드를 관리, LSA를 통한 인증을 제공하는 중요한 파일이므로 적절한 접근통제가 필요
- 공격자로부터 SAM 파일에 대한 패스워드 공격 시도에 따른 정보 노출 위험 존재
- 보안설정
- Administrators 및 System 그룹 외에는 SAM 파일에 대한 접근 제한
- 불필요한 그룹 및 계정에 대해서는 권한 제거
공유자료 관리
네트워크 드라이브의 이해
- 네트워크 드라이브: 컴퓨터의 드라이브를 내 컴퓨터에서 네트워크 드라이브로 설정하여 내 컴퓨터의 드라이브처럼 사용할 수 있는 기능
- 실정 방법
- 바탕화면의 내 컴퓨터에서 마우스 오른쪽버튼을 클릭하여 네트워크 드라이브 설정을 클릭하여 기능 이용
파일과 폴더의 보안권한 설정
- 권한은 사용자나 그룹이 파일이나 폴더에 접근할 수 있는지 알려줌
- 우니도우는 폴더에 6가지 기본 권한설정을 제공하며, 파일에는 5가지 권한을 제공함
- 모든 권한 : 디렉터리에 대한 접근 권한과 소유권을 변경할 수 있으며, 서브 폴더와 파일을 삭제할 수 있음
- 수정 : 폴더를 삭제할 수 있으며, 읽기 및 실행과 쓰기 가 동일한 권한을 가짐
- 읽기 및 실행 : 읽기를 수행할 수 있으며, 디렉터리나 파일을 이동할 수 있음
- 폴더 내용 보기(폴더만 해당) : 디렉터리의 파일이나 서브 디렉터리의 이름을 볼 수 있음
- 읽기 : 디렉터리의 내용을 읽기만 가능
- 쓰기 : 해당 디렉터리의 서브 디렉터리와 파일을 생성할 수 있으며, 소유권이나 접근 구너한의 설정 내용을 확인할 수 있음
- 표준 권한 할당하기
- 윈도우 사용자는 보통 GUI를 통해서 접근제어리스를 관리함
- 파일이나 폴더에서 오른쪽 마우스 클릭 후 [속성] - [보안] - [편집] 버튼을 클릭하면 해당 개체의 [사용권한] 대화상자가 나타나고, 개체는 파일이나 폴더의 이름으로 표시됨
디렉터리 및 파일에 대한 접근 권한 설정
- 윈도우의 NTFS에서 설정한 디렉터리 및 파일에 대한 접근 권한 설정은 다음 규칙을 가짐
- 개별 사용자가 여러 그룹에 속한 경우 특정 파일이나 디렉터리에 대한 접근 권한은 누적됨
- 파일이 포함된 디렉터리의 권한보다 파일에 대한 권한 설정이 우선함
- 윈도우에서는 유닉스 계열과 달리 허용 권한 없음이 거부의 의미는 아님. 윈도우는 허용, 거부 중 반드시 하나를 선택할 필요 없음
- 중첩 권한 중 명백한 거부 설정이 있으면 허용보다 거부가 우선되어 적용됨
- 규칙 1. NTFS 접근 권한은 누적됨
공유 자료 관리
- 공유 폴더 숨기기
- 공유 폴더 이름을 알기 어려운 이름으로 변경해도 침입자는 어떻게든 알게 됨. 이를 방지하기 위해 리소스를 공유하면서도 숨길 수 있음
- 공유 리소스를 설정할 때 공유 이름 끝에 $ 기호를 붙이면 됨
- 숨겨진 공유 폴더 찾기
- 숨겨진 공유를 보려면 [보조 프로그램] - [명령 프롬프트]를 열고 “net share”를 입력한 후 엔터 누르기
- C$, D$, ADMIN$ 공유가 숨겨졌더라도 매우 잘 알려져 있어 침입자가 네트워크에 엑세스할 수 있다는 위험 존재. 취약점을 막기 위해서는 이런 공유를 비활성화해야 함
- 단순히 기본 공유를 중지시켰다고 해서 기본 공유 기능이 완전히 중지된 것이 아님. 이렇게 기본 공유가 중지된 이후에 운영체제가 재시작되면 운영체제가 다시 자동으로 기본 공유 폴더를 생성함
- 완전히 제거하려면 레지스트리 편집기에서 DWORD를 새로 만들어 0으로 설정한다.(기본값 0)
- 윈도우 공유 폴더
- C$ 혹은 D$ 등
- C드라이브에 대한 관리목적 공유 폴더. 연결되어 있는 하드 드라이브 문자수만큼 공유되어 있음. 하드 드라이브가 E드라이브까지 있다면, C$, D$, E$까지 표시됨
- C$와 D$와 같은 기본 공유 폴더를 통해 인가받지 않는 사용자가 하드디스크 내의 몯느 폴더나 파일에 접근할 수도 있음
- 보안적으로 상당히 위험한 상황이 기본 공유 폴더를 통해서 발생할 수 있음. 이러한 기본 공유 폴더를 이용하여 바이러스가 침투한 사례도 존재함
- ADMIN$
- 윈도우 설치 폴더에 접근하는 관리목적 공유 폴더. 이 공유로 접근하면 그 컴퓨터의 윈도우 설치폴더가 열리게 됨
- 윈도우 버전마다 윈도우 설치 폴더가 다르므로(WinXP : C:\₩windows, Wind2000: C:₩windows) 모든 윈도우를 대상으로 어떠한 파일을 복사하거나 변경할 필요가 있을 때 주로 사용
- IPC$(Inter Process Communication)
- 프로세스간 통신이라는 뜻(네트워크 등에서 프로세스 간의 통신을 위해서 사용하는 통로 같은 것)
- IPC는 동시에 수행될 개별 프로그램을 생성하고 다룰 수 있게 해주는 인터페이스임
- 단일 사용자의 요구가 운영체제에서 여러 프로세스를 수행하는 결과를 가져올 수 있기 때문에, 이러한 사용자를 위해 프로세스 간 통신이 필요하며 IPC 인터페이스가 이를 가능하게 함
- IPC$를 제거하면 네트워크 서비스 일부에 문제가 발생할 수 있으므로 레지스트리 값을 수정해서 익명 사용자의 네트워크 접근이 불가능하도록 설정하는 것을 추천
- net use \ \ 192.168.0.200 \IPC$”” \u. “ “ 에서 u.뒤 “ ”안에 사용자 이름 작성
- C$ 혹은 D$ 등
암호 기능 사용
폴더 및 파일 암호화(EFS)
- 윈도우 운영체제(Windows XP 및 Windows Server 2000이상)에서 개별 파일 또는 특정 폴더 안에 들어 있는 모든 파일을 암호화할 수 있는 기능 제공
- 파일이나 폴더의 속성 부분을 변경하여 사용할 수 있으며 인증서 추가/ 삭제를 통해 EFS가 적용된 파일을 읽을 수 있는 사용자 추가/변경이 가능
볼륨 암호화(BitLocker)
- BitLocker는 윈도우 체제(Windows Vista Ultimate/Enterprise, Windows 7 Ultimate/Enterprise, Windows Server 2008 이상)에서 제공하는 볼륨 단위의 데이터 암호화 기능
- 볼륨 : 논리적 드라이브(파티션 드라이브)
- BitLocker가 활성화되면 해당 볼륨에 저장된 모든 파일이 자동으로 암호화됨. 단 컴퓨터를 시작하는데 필요한 시스템 파티션 부분은 암호화되지 않음
- BitLocker는 전체 시스템 볼륨의 모든 데이터에 대한 암호화 기능을 제공하지만 EFS는 컴퓨터의 단일 또는 복수 사용자에 대한 파일/폴더 단위 암호화를 구성할 때 적용함. BitLocker는 컴퓨터 단위의 데이터 암호기능 제공, EFS는 사용자 단위의 데이터 암호화기능 제공
레지스트리 활용
레지스트리 개요
윈도우 시스템이 운영되는데 필요한 정보를 담고 있음
설치된 소프트웨어 정보부터 환경설정, 임시 저장값까지 시스템의 거의 모든 정보를 담고 있으므로 사고분석에 있어 공격자의 중요한 흔적을 찾는 것이 가능함
레지스트리 편집기 실행
- 레지스트리 편집기
- 사용자가 직접 레지스트리를 조작하는 작업은 레지스트리 편집기라는 프로그램을 통해 이뤄짐. 레지스트리 편집기로 레지스트리 설정을 열람, 수정, 추가, 삭제할 수 있음
- 레지스트리 항목을 검색하는 기능과 이를 텍스트로 저장하는 기능, 파일에서 레지스트리 항목을 가져오는 기능도 존재함
- 레지스트리 편집기 실행 : [시작] 메뉴에 검색란에 [regedit] 또는[regedt32]를 입력하고 enter
- 윈도우 부팅 시 하이브 파일에서 값을 읽어 들여 구성됨. 하이브 파일에서 직접 읽어 들여 구성되는 키를 Master Key라 하고 Master Key로부터 값을 가져와 재구성하는 키를 Derived Key라 함
- Master Key : HKLM(HKEY_LOCAL_MACHINE), HKU(HKEY_USERS)
- Derived Key : HKCU(HKEY_CURRENT_UERS), HKCC(HKEY_CURRENT_CONFIG), HKCR(HKEY_CLASSES_ROOT)
레지스트리 루트키
- HKEY_CLASSES_ROOT(HKCR)
- 시스템에 등록된 파일 확장자와 그것을 열 때 사용할 애플리케이션에 대한 맵핑 정보, COM(Component Object Model) 오브젝트 등록 정보를 저장하고 있음
- HKEY_CURRENT_UESR(HKCU)
- 현재 시스템에 로그인하고 있는 사용자와 관련된 시스템 정보를 저장하고 있음
- HKEY_CURRENT_USER키에서 설정한 내용이 HKEY_USERS보다 우선권을 갖게 되기 때문에 HKEY_CURRENT_USER키값이 변경되면 HKEY_USERS키의 보안 식별자에 해당되는 키의 내용이 변경됨
- HKEY_LOCAL_MACHINE(HKLM)
- 컴퓨터에 설치된 하드웨어와 하드웨어를 구동시키는 데 필요한 드라이버나 설정 사항에 관련된 정보를 갖고 있음. 루트키 중에서 가장 다양한 하이브로 구성되어 있음
- HKEY_USERS(HKU)
레지스트리 보호
- 레지스트리 접근 제한
- 레지스트리는 중요한 정보로 다른 사람이 레지스트리 편집기를 사용하지 못하게 막아야 함
- 윈도우에서는 사용자 계정 컨트롤(UAC)에 의해 일반 사용자는 관리자 암호를 모르면 레지스트리 편집기 사용이 불가능함
- 현재 레지스트리 상태 저장
- 현재 레지스트리 구성을 저장하는 쉬운 방법은 윈도우 시스템의 복원 기능을 활용하는 것. 이 기능은 레지스트리를 포함한 시스템의 현재 상태를 사진 찍듯 복사해둠
- 시스템이 잘못되면 시스템 복원 프로그램이 시스템 상태를 이전 구성으로 되돌려 줌
- 레지스트리 키 디스크에 저장
- 키의 디스크 백업은 키 데이터를 레지스트리 등록 파일, 즉 확장자가 .reg인 텍스트 파일에 저장하는 작업
- 레지스트리를 변경해 문제가 생기더라도 .reg 파일을 불러들여 레지스트리를 변경 전 상태로 되돌릴 수 있음
레지스트리 공격
- 개요
- 부팅 시 악성코드 실행
- 특정 확장자 실행 시 악성코드 실행
- 공격자가 남긴 레지스트리 정보 수집
'보안' 카테고리의 다른 글
[정보보안기사] 시스템보안 | 클라이언트 보안 (0) | 2024.06.21 |
---|---|
[정보보안기사] 시스템보안 | 보안 운영체제 (0) | 2024.06.21 |
CVE & CWE 차이점 (0) | 2023.08.11 |