2025. 9. 1. 08:52ㆍ정보보안기사/시스템 보안
📌서버 시스템의 접근 통제 관리에 대한 설명
❌ 윈도우 시스템은 도메인 환경에서 사용자 인증을 위하여 레지스트리가 익명의 사용자에 의해 접근할 수 있도록 설정하여야 한다.
➡️ 최소 권한 원칙
✅ iptables, tcp wrapper 도구를 사용하면
서버 시스템의 네트워크 접근통제 기능을 설정할 수 있다
- iptables: 리눅스 커널의 netfilter 프레임워크를 기반으로 동작하며, 패킷 필터링과 NAT(Network Address Translation), 포트 포워딩 등 다양한 네트워크 접근 통제 기능을 제공
- TCP Wrapper: /etc/hosts.allow, /etc/hosts.deny 파일을 이용해 특정 서비스에 대한 접근을 호스트 단위로 제어할 수 있는 도구
✅ Unix 서버 시스템에서 불필요한 파일에 설정된 SUID와 SGID 비트를 제거하여
실행 권한이 없는 프로그램의 비인가된 실행을 차단하여야 한다.
- SUID (Set User ID), SGID (Set Group ID) 비트는 프로그램이 실행될 때 파일 소유자/그룹의 권한으로 실행되도록 해주는 특수 권한
📌passwd 파일구조
username : pw : UID : GID : 설명 : homedir: 로그인쉘
- 사용자명 (username)
- 로그인할 때 사용하는 계정 이름
- 예: root, ubuntu, student
- 암호 (password)
- 예전에는 암호 해시가 저장되었으나, 현재는 보안 강화를 위해 x 로 표시되고
실제 암호 해시는 /etc/shadow 파일에 저장됨
- 예전에는 암호 해시가 저장되었으나, 현재는 보안 강화를 위해 x 로 표시되고
- UID (User ID)
- 사용자의 고유한 식별 번호
- 0 → root(관리자)
- 1~999 → 시스템 계정
- 1000 이상 → 일반 사용자
- GID (Group ID)
- 사용자가 속한 기본 그룹의 ID
- /etc/group 파일에서 확인 가능
- 설명 (Comment / GECOS field)
- 사용자의 설명 또는 이름, 연락처 등을 기록할 수 있는 필드 (일반적으로 비어 있음)
- 홈 디렉터리 (Home Directory)
- 사용자가 로그인했을 때 기본으로 위치하는 디렉터리
- 예: /home/student
- 로그인 쉘 (Login Shell)
- 로그인 시 실행되는 기본 쉘 프로그램
- 예: /bin/bash, /bin/sh, /sbin/nologin (로그인 불가 계정)
📌안드로이드 adb를 통해 접속 후 쓰기 가능한 디렉터리
ADB(Android Debug Bridge) : PC → USB(또는 Wi-Fi) → 안드로이드 기기"로 연결된 후, 안드로이드 내부의 리눅스 커맨드라인 인터페이스(CLI) 를 실행하는 명령어
adb 쉘에서 쓰기 가능한 임시 디렉토리 ▶️ /data/local/tmp/
인증장치
❌ USB 메모리에 디지털 증명서를 넣어 인증 디바이스로 하는 경우 그 USB 메모리를 접속하는 PC의 MAC 어드레스가 필요하다.
▶️ MAC 주소와 무관함
❌ 정전용량 방식의 지문인증 디바이스 LED 조명을 설치한 실내에서는 정상적으로 인증할 수 없게 될 가능성이 높다.
▶️ 광학식 방식의 지문인증에 대한 설명
| 구분 | 광학식 | 정전 용량식 | 초음파식 |
| 원리 | LED/광원으로 지문을 비추고 반사된 빛을 센서가 인식 | 지문 융선/골에 따른 정전용량 차이를 감지 | 지문에 초음파를 발사 후 반사파를 분석 |
| 특징 | 카메라 기반, 빛 의존 | 전기적 신호 기반, 접촉 필요 | 3D 정보 획득, 피부 깊이까지 인식 |
| 장점 | 저렴, 구현 쉬움 | 상대적으로 정확, 위조 어렵고 작은 크기 구현 가능 | 보안성 가장 높음, 습기/오염에도 강함 |
| 단점 | 빛/조명 환경에 영향 큼, 위조 지문에 취약 | 습기/오염된 손가락에 민감 | 비용 높음, 기술 복잡 |
| 보안성 | 낮음 | 중간 | 높음 |
| 사용처 | 구형 지문 리더기, 일부 저가형 기기 | 스마트폰, 노트북 등 대부분의 상용 제품 | 최신 스마트폰(디스플레이 내장 지문 인식) |
📌컴퓨터 시스템에 대한 하드닝(Hardening) 활동
✅시스템 하드닝(System Hardening): 운영체제(OS), 애플리케이션, 네트워크 장비 등 컴퓨터 시스템에서 불필요한 기능을 제거하고 보안 설정을 강화하여 공격 표면(Attack Surface)을 최소화하는 활동
하드닝 활동 종류
1. 운영체제 하드닝
2. 네트워크 하드닝
3. 어플리케이션/시스템 하드닝
4. 계정 및 인증
5. 물리적 하드닝
❌시스템 침해에 대비하여 전체 시스템에 대한 백업을 받아두었다.
▶️시스템의 보안 강화(예방) 활동이 아니라 복구(사후 대책) 활동이며 가용성 보장에 해당하는 내용
▶️ 그러나 백업 및 복구 체계 구축은 물리적/기타 하드닝 활동에 포함됨
📌기억장치(메모리) 관리정책
| 적재정책 | 프로세스를 반입할 시기를 결정 |
| 요구 적재 | 운영체제나 시스템 프로그램, 사용자 프로그램 등 참조 요청에 따라 프로세스를 적재함 |
| 예상 적재 | 시스템의 요구를 미리 예측하여 메모리에 적재, 보조 기억 장치의 특성을 참조함 |
| 배치 정책 | 반입된 프로세스를 메모리 어느 위치에 저장할 것인지 결정 |
| 최초 적합 | 사용 가능 공간 리스트에서 충분히 큰 첫번째 공백 분할 공간에 적재 |
| 최적 적합 | 사용 가능 공간 리스트에서 가장 작은 크기의 사용 공간에 적재 |
| 최악 적합 | 가장 큰 사용 가능 공간에 적재 |
대치 정책 - 페이지 교체 알고리즘
📌 악성 프로그램의 종류
논리 폭탄 : 특정 조건이 만족되면 실행되도록 미리 설정된 악성 코드로, 그 전까지는 잠복해 있다가 트리거에 의해 파괴적 또는 악의적 동작을 수행하는 프로그램
📌 레이스 컨디션(Race Condition) 공격
레이스 컨디션 공격 : 프로세스가 동시에 같은 자원(파일, 메모리 등)에 접근할 때 발생하는 경쟁 상태(race condition)를 악용하는 공격 기법
✅ 심볼릭 링크 - 링크 파일, 가리키는 파일이 따로 있음 (심볼릭 링크 → 실제 파일)
⬇️ 레이스 컨디션 공격에 대한 구체적인 시나리오, 결론적으로 레이스 컨디션 공격은 프로그램이 실행되는 순간 발생한다
https://learntoshare.tistory.com/59
📌 IDS Snort Rule
✅ snort 란 공격내용을 반영하여 설정된 규칙을 기반으로 탐지하는 IDS(침입 탐지 시스템) 툴
✅ 10번 문제는 룰 옵션에 대한 문제
alert icmp any any -> any any (rule option1; rule option2; rule option3)
다양한 주요 옵션
content:"GET"; #패킷 내 문자열 탐지 옵션
content:"HTTP"; offset:0; #검색의 시작 위치를 지정함, 페이로드 앞(0부터 시작)에서 몇 바이트 건너뛸지를 설정
content:"GET"; depth:10; #페이로드 앞에서 몇 바이트를 검사할지 설정