1. 윈도우 개요
1) 윈도우 시스템의 구조
링 기반으로5개의 링이 존재한다.
HAL(Hardware Abstraction Layer): H/W와 S/W가 원활하게 통신할 수 있도록 한다.
마이크로 커널: H/W와 통신하는 최소한의 커널 (system32\ntoskrn.exe)
2. 윈도우 파일 시스템
클러스터(Cluster): 여러개의 섹터들을 하나의 묶음으로 하여 공간 할당 단위로 사용한다. (디스크 공간 할당의 논리적 단위)
CONVERT 유틸리티를 통해 FAT 16,32를 NTFS로 변경할 수 있다.
FAT 뒤의 숫자는 표현 가능한 최대 클러스터 개수와 관련되어있다.
FAT16 | FAT32 | NTFS | |
암호화 및 압축 | X | X | O |
클러스트 크기 | 2GB 기준 32KB | 4GB 기준 4KB | 가변 클러스터 (512B ~4KB) |
장점 | 호환성이 우수 (대부분의 MS OS에서 호환) 저용량 볼륨에 최적화 단순성 |
강력한 보안 기능, 감사 기능 디스크의 효율적 사용 가능 대용량 볼륨, 긴 파일 이름 |
|
단점 | 보안 취약 대용량 볼륨에 비효율적 |
NT 계열 외의 OS 호환 X 저용량 볼륨에서는 FAT보다 느림 |
1) NTFS구조
MBR (Master Boot Recode)
파티션 생성 시 물리적 디스크의 첫 번째 섹터에 위치하는 512Byte 크기 영역이다.
부팅 시 BIOS에 의해 POST 과정을 마친 후 MBR 부트 코드를 호출한다.
부트 코드는Active 파티션을 찾아 해당 파티션의 VBR의 부트 코드를 호출한다.
VBR (Volume Boot Recode)
부팅을 위한 기계어 코드와 볼륨 및 클러스트 크기, MFT의 크기 주소를 가지고 있다.
NTFS 구조에서 가장 앞부분에 위치하는 영역이다.
MFT (Master File Table)
볼륨/파일 시스템에 존재하는 크기, 생성시간 등 모든 파일과 다렉터리에 대한 정보를 담고 있는 테이블이다.
NTFS에서 가장 중요한 영역이다.
시스템 파일
시스템 오류 발생 시 복구하는 데 사용할 파일들이 저장되어있다.
파일 영역
각 파일에 대한 실제 데이터가 존재한다.
2) 디스크 파괴형 악성코드
MBR 또는 VBR 영역을 훼손시켜 정상적으로 부팅이 되지 않게 하는 악성코드이다.
MBR 복구는 정상적인 디스크에서 부트 코드를 복사하고 파티션 테이블을 완성함으로써 복구가 가능하다.
VBR 복구는 마지막 섹터에 있는 VBR 백업본을 덮어써서 복구가 가능하다.
3) 보안 규칙
접근 권한은 누적된다.
파일에 대한 접근 권한이 디렉터리에 대한 접근 권한보다 우선한다.
허용보다는 거부가 우선한다.
부모 디렉터리의 권한이 하위 디렉터리 및 파일에 상속된다.
3. 윈도우 인증
1) 윈도우 인증 목록
LSA (Local Security Authority)
모든 계정에 대한 로그인 인증을 수행한다.
이름과 SID를 매칭하여 SRM이 생성한 감사로그를 기록한다.
NT보안의 중심요소, 보안 서브시스템이라고 불린다.
SAM (Security Account Manager)
사용자, 그룹 계정 정보에 대한 데이터베이스 관리를 수행한다.
사용자의 로그인 정보와 SAM의 로그인 정보를 비교해 인증 여부를 결정하고 인가되면 SRM에게 알린다.
SAM 경로: %systemroot%/system32/config/sam
SRM (Security Reference Manager)
SAM을 통해 인가되면 인증된 사용자에게 SID를 부여한다.
SID에 기반하여 파일 및 디렉터리 접근 권한을 결정하고 감사 메시지를 생성한다.
인증과 인가 차이
인증: 접근하려는 사용자가 올바른 사용자인지 판단
인가: 인증된 사용자가 자원에 접근하려고 할때 접근권한이 있는지 판단
2) SID (Security Identifier)
윈도우각 사용자나 그룹에 부여되는 고유한 식별번호이다.
SAM 파일에 SID 정보가 저장되어 있다.
① S-1: 윈도우 시스템을 의미한다.
② 5-21: 도메인 컨트롤러 또는 단독 시스템임을 의미한다.
③ 22080622448-3009435766-241956616: 시스템의 고유한 숫자
④ 500,501,1001: 사용자 식별자(ID)
500: Administrator 식별자
501: Guest 식별자
1000 이상: 일반 사용자 식별자
3) 인증 구조 및 방법
인증 구조
Challenge & Response 구조를 이용한다.
공격자가 스니핑을 통해 Response 값을 알아낸다고 해도 비밀번호를 알아낼 수 없고 재전송 공격을 수행할 수 없다.
Challenge 값: 일회성 임의의 값
Response 값: Challenge 값 + 비밀번호의 조합
로컬 인증
로그인 후 LSA 서브 시스템이 로컬 도메인 인증용인지 확인 후 SAM에 의해 인증을 수행한다.
원격(도메인) 인증
로그인 후 LSA 서브 시스템이 로컬 또는 도메인 인증용인지 확인 한 후 커버로스 프로토콜에 의해 도메인 컨트롤러에 인증을 요청한다.
인증 암호 알고리즘
LM: XP, 2000에 사용한 알고리즘으로 구조적으로 취약하다.
NTLM 해시: LM + MD4
NTLMv2: 윈도우 비스타 이후 사용되는 시스템 기본 인증 프로토콜로 해시값을 생성하여 현재까지 복잡도가 충분해 크래킹이 어렵다.
Lan Manager 인증 수준
Lan Manager는 네트워크를 통한 파일 및 프린터 공유와 같은 작업 시 인증을 담당하는 서비스이다.
네트워크 로그인 인증을 이용할 때 안전한 NTLMv2를 사용한다.
4. 윈도우 계정 관리
1) Administrator 이름 변경하기
관리자 계정 이름 확인 방법
compmgmt.msc → 로컬 사용자 및 그룹 → 사용자
lusrmgr.msc → 로컬 사용자 및 그룹 → 사용자
관리자 계정 변경 방법
secpol.msc → 로컬 정책 → 보안 옵션 → Administrator 계정 이름 바꾸기
2) Guset 계정 사용 안함 설정
Guest 계정의 경우 외부 사용자가 컴퓨터를 잠시 접근할 수 있는 계정이다.
해당 계정은 사용안함 또는 삭제한다.
lusrmgr.msc → 로컬 사용자 및 그룹 → 사용자 → Guest → 계정 사용 안함
3) 관리자 그룹에는 최소한의 사용자 포함
lusrmgr.msc → 로컬 사용자 및 그룹 → 그룹 → Administrators → 관리자만 포함
4) 암호/패스워드 정책 설정
secpol.msc → 계정 정책 → 암호 정책 → 각 항목 수정
다양한 문자 조합
대문자, 소문자, 숫자, 특수문자 중 2가지 이상 설정된 경우 10자 이상 3가지 이상 설정된 경우 8자 이상의 길이가 되어야 한다.
길이가 짧은 패스워드, 사전에 나오는 단어나 조합(password, happy), 키보드 자판의 연속된 문자(qwer1234), 사용자 계정 정보로 유추 가능한 단어(admin)는 불가능하다.
최근 패스워드 기억: 최근 사용했던 암호를 12개 이상으로 설정 권장
패스워드 최대 사용 기간: 90일 이상
최소 길이: 8자 이상
패스워드 사용기간을 설정했더라도 계정 속성에서 암호 사용 기간 제한 없음이 체크되어 있다면 적용되지 않기 때문에 반드시 체크 해제한다.
5) 계정 잠금 정책
계정 잠금 기간: 60분
계정 잠금 임계값: 5회 이하
다음 시간 후 계정 잠금 수를 원래대로 설정(로그인 시도 카운트 초기화 시간): 60분
5. 서비스 관리
1) 하드디스크 기본 공유 제거
윈도우 설치 시 하드디스크 기본 공유, 원격 관리 및 IPC용 기본 공유가 설정되어있다.
다른 PC에서 인가받지 않은 사용자가 하드디스크 내 폴더나 파일에접근할 수 있고, 바이러스가 침투하는 경로가될 수 있다.
기본 공유의 경우 시스템이 재시작될 경우 다시 시작되기 때문에 레지스트리 설정 값을 수정해야한다. (AutoShareServer)
C$, D$ 등: 드라이브에 대한 관리목적 공유 폴더이다.
ADMIN$: 윈도우 설치 폴더에 접근하는 관리목적 공유폴더이다.
IPC(Internet Process Communication)$: 네트워크 등에서 프로세스 간 통신을 위해서 사용하는 통로이다. (Null Session Share 취약점 존재)
기본 공유 제거 방법
우클릭후 공유 중지 버튼 클릭
cmd에서 net share [공유 경로] /delete 입력
2) 공유 권한 및 사용자 그룹 설정
공유 폴더에 Everyone 그룹이 포함되어 있면 익명 사용자에 의한 접근이 가능하기 때문에 해당 그룹을 제거한다.
3) 서비스 관리
불필요한 서비스의 경우 사용안함으로 설정
6. 암호 기능 사용
1) 폴더 및 파일 암호화 (EFS, Encryption File System)
개별 파일 또는 특정 폴더 안에 들어 있는 모든 파일을 암호화할 수 있는 기능을 제공한다.
인증서(키 백업 용도) 추가, 삭제를 통해 EFS가 적용된 파일을 읽을 수 있는 사용자 추가/변경이 가능하다.
2) 볼륨 암호화 (BitLocker)
해당볼륨(파티션)에 저장된 모든 파일이 자동으로 암호화된다.
컴퓨터를 시작하는데 필요한 시스템 파티션 부분은 암호화 하지 않는다.
7. 로그 관리
1) 감사 정책 설정
윈도우에서 감사 정책은 어떤 로그를 남길지 정의한 규칙을 의미한다.
해당 내역을 서술하는 문제가 나올 수 있으므로 암기 필요
계정 관리 (실패)
사용자 계정 또는 그룹의 생성, 변경, 삭제 암호의 설정 및 변경등의 이벤트 성공/실패 로그를 기록
계정 로그온 이벤트 (성공, 실패)
도메인 계정에 대한 로그온 성공/실패 관련 이벤트 로그를 기록할지 여부
로그온 이벤트 (성공, 실패)
로컬 계정에 대한 로그온 성공/실패 관련 이벤트 로그를 기록할지 여부
권한 사용 (실패)
사용자 권한에 대해 접근하려다 성공/실패한 이벤트를 기록한다.
디렉터리 서비스 엑세스 (실패)
AD 개체의 시스템 엑세스 컨트롤 목옥에 나열된 사용자가 해당 개체에 엑세스를 시도할 때 이벤트 생성
정책 변경 (성공, 실패)
감사 정책 변경의 성공/ 실패를 감사
8. 레지스트리 (Registry)
설치된 소프트웨어 정보 및 환경설정 등 시스템이 운영되는데 필요한 정보를 담고 있다.
윈도우 부팅 시 하이브 파일에서 값을 읽어 들여 구성된다.
하이브 파일에서 직접 읽어 들여 구성되는 키를 Master Key라 하고 Master Key로부터 값을 가져와 재 구성하는 키를 Derived Key라 한다.
Master Key
HKLM(HKEY_LOCAL_MACHINE)
HKU(HKEY_USER)
Deriverd Key
HKCU(HKEY_CURRENT_USER)
HKCR(HKEY_CLASSES_ROOT)
HKCC(HKEY_CURRENT_CONFIG)
1) Master Key
1.1) HKEY_LOCAL_MACHINE (HKLM)
하드웨어와 드라이버 설정사항에 대한 정보가 저장되어있다.
HKLM$HARDWARE: 부팅 시 감지된 하드웨어와 드라이버 정보가 저장된다. (휘발성으로 존재)
HKLM$SAM: 사용자, 도메인 정보를 저장되고 시스템 계정만 접근이 가능하다.
HKLM$SECURITY: 시스템 범위의 보안 정책과 사용자 권리 할당 정보가 저장된다.
HKLM$SOFTWARE: 시스템 범위의 소프트웨어 목록과 그 환경 설정 정보 (이름, 경로)가 저장된다.
HKLM$SYSTEM: 부팅될 때 필요한 시스템 범위의 환경설정 정보(서비스 목록)가 저장된다.
1.2) HKEY_USER (HKU)
시스템에 있는 모든 계정과 그룹에 대한 정보가 저장된다.
모든 계정의 프로파일이 있다는 것을 제외하고 서브키가 HKCU와 동일하다.
2) Deriverd Key
2.1) HKEY_CURRENT_USER (HKCU)
현재 시스템에 로그인하고 있는 사용자정보가 저장된다.
2.2) HKEY_CLASSES_ROOT (HKCR)
시스템에 등록된파일 확장자와 그것을 열 때 사용할 에플리케이션에 대한 맵핑정보, COM(Component Object Model)오브젝트 등록정보를 저장된다.
2.3) HKEY_COURENT_CONFIG (HKCC)
시스템이 시작할때 사용하는 하드웨어 프로파일 정보를 저장하고 있다.
HKLM의 서브로 존재하고 실행시간에 수집한 정보가 저장된다.
3) 레지스트리 보호
레지스트리 접근 제한: 윈도우에서 UAC에 의해 일반 사용자가 관리자 암호를 알지 못하면 접근 할 수 없다.
현재 레지스트리 상태 저장: snapshot을 이용하여 현재 상태를 저장해 놓는다.
레지스트리 키 디스크에 복사: 레지스트리 키를 .reg 파일로 저장해 놓는다.
4) 레지스트리 공격
악성 코드 감염시 파일 생성 혹은 레지스트리 변경이 일어난다.
4.1) 부팅 시 악성 코드 실행
시스템 재부팅 시HKLM과 HKCU 레지스트리 값을 변경시킨다.
개별 사용자 지속용: HKCU\Software\Microsoft\CurrentVersion\Run
개별 사용자 일회성: HKCU\Software\Microsoft\CurrentVersion\RunOnce
전체 사용자 지속: HKLM\Software\Microsoft\CurrentVersion\Run
전체 사용자 일회성: HKCU\Software\Microsoft\CurrentVersion\RunOnce
4.2) 특정 확장자 실행 시 악성코드 실행
확장자 정보를 저장하고 있는HKCR 레지스트리 값을 변경시킨다.
9. 기타 윈도우 명령어
runas
: 임시적으로 보다 상위 권한을 가진 계정으로 작업을 수행시킴
cipher
: 운영체제의 c:\temp 및 그 하위 디렉터리를 암호화
'Certification Study > 정보보안기사' 카테고리의 다른 글
[정보보안기사] 네트워크 개념 (4) | 2022.10.13 |
---|---|
[정보보안기사] 접근통제 보안위협 및 대응책 (0) | 2022.10.12 |
[정보보안기사] 36. 전자상거래 보안 (0) | 2022.10.03 |
[정보보안기사] 정보보안 관리 및 법규 (3) | 2020.08.29 |
[정보보안기사] 네트워크 보안 암기 항목 (2) | 2020.08.26 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊