틀린 부분이 있다면 언제든지 댓글 남겨주세요!
할일이 많다는 핑계로 매일 기사공부를 뒷전에 두고 있다.
그래서 복습 겸 매일 하루에 단답형 한문제, 서술형 한문제씩 만들어서 올리려고 한다.
혹시 문제나 답변이 잘못되어 있거나, 함께하고 싶다면 댓글 달아주세요 ;)
10.09 (day 1) 시스템 보안
단답형 1. windows 환경 Full Disk Encrytion(FDE) 기술로 중요한 자료가 포함된 하나 이상의 드라이브를 암호화하여 보호할 수 있는 기능을 제공하는 것은?
▶
답: 비트락커(bitlocker)
* 특정 폴더나 파일만 암호화 하는 것이 아니라 드라이브 및 디스크 전체를 암호화 하는 기능. 기본으로 AES-128 암호화를 사용하며 TPM으로 초기 무결성 검사
* TPM(Trusted Platform Module): 하드웨어 및 디스크 변경이 감지되면 PC를 제한모드로 부팅해 암호화하고 암호화 키를 TPM 내 비휘발성 메모리에 저장하여 강력한 보안 제공.
암호화키 생성기(RSA, ECC), 해시엔진(SHA-1, SHA-2), 난수 생성 등의 기능 제공.
서술형 1. 소프트링크와 하드링크의 차이는?
▶
답: 소프트링크는 원본과 inode값이 다르며 원본과 같은 데이터를 가진 또 다른 파일로, 원본 파일이 삭제되면 링크 연결 또한 끊어짐.
하드링크는 원본과 같은 inode값을 가지며 하드링크가 설정된 경우 원본 파일의 link count값이 1 증가함. 이 link count값이 0이 되어야만(참조 파일이 없어야만) 원본파일이 삭제가 가능하며 동일 파일시스템(디렉터리 불가)내에서만 설정 가능.
* inode: 파일의 속성 정보
inode list는 파일의 속성 정보를 관리하는 블럭이고, inode number는 파일을 구별할 수 있는 고유 식별자.
디렉토리가 inode number와 파일명이 매핑된 정보를 가지고 있음
10.10 (day 2) 시스템 보안
단답형 2. Unix system 핵심 컴포넌트 3가지
▶
답: Kernel, Shell, File system
* kernel: 운영체제 핵심. 프로세스와 파일 관리 및 생성, 시스템 내 메모리 접근, 입출력 디바이스 관리 등을 수행하며 하드웨어와 프로그램 사이에서 소통을 통해 일관된 서비스 제공
* shell: 사용자와 kernel 중개
* file system: physical disk에 파일을 저장, 생성, 관리하기 위한 논리적인 자료구조. physical disk는 논리적인 partition으로 나누어지고 각 파티션별로 고유한 파일 시스템(NTFS, EXT2, EXT3..)을 생성.
boot block + super block + inode list (inode+inode+..) + data blocks
서술형 2. unix/linux 시스템에서 프로세스 자원에 대한 접근권한을 판단하기 위한 ID 중 SUID와 SGID 설정이 포함되어 있는 파일을 검사하기 위한 명령어는?
▶
답: find / -user root -type f \( -perm -4000 -o -perm -2000 \) -exec ls -al {} \;
= 소유자가 root 이고 파일 유형이 일반 실행파일이고 SUID 또는 SGID가 설정된 파일 찾아서 파일 정보 출력
ex) find / -user root -type f \( -perm -nouser -o -nogroup \) -exec ls -al {} \; = 소유자/소유그룹 없는 파일
* SUID/SGID: 프로세스가 실행중인 동안 해당 파일 소유자 권한으로 자원 접근할 수 있는 권한 부여
* RUID/RGID: 프로세스를 실행시킨 사용자 UID/GID
* EUID/EGID: 프로세스가 실행중인 동안 부여되는 UID/GID
ex) SUID/SGID가 설정되어 있지 않으면 RUID/RGID와 EUID/EGID는 같고, 설정되어 있으면 RUID/RGID는 파일을 실행시킨 사용자의 UID/GID이며 EUID/EGID는 해당 파일 소유자의 UID/GID이다
10.11 (day 3) 시스템 보안
단답형 3. 로그인 사용자의 로그아웃까지 모든 명령어 확인하는 로그 파일
▶
답: acct/pacct
# lastcomm(binary) # acctcom 명령어로 확인 가능
로그 파일 경로
- linux: /var/account/pacct ( 생성시 > accton /var/account/pacct )
- unix: /var/adm/pacct ( /usr/lib/acct/accton /var/adm/pacct )
* utmp(x) = 현재 로그인한 사용자 상태정보 #w #who #finger
* wtmp(x) = 사용자의 성공한 login/logout정보, 시스템의 boot/shutdown 정보에 대한 히스토리 #last
* lastlog = 가장 마지막으로 로그인 성공한 기록 #lastlog
* btmp, loginlog = 실패한 로그인 기록 #lastb
* sulog = su명령어 사용 결과 #su (+: 명령어 사용, -:명령어 실패)
서술형 3. stack buffer overflow 대응 방안 (5가지)
▶
답: stack guard(RET과 변수 사이 즉 함수 에필로그 부분에 특정값 canary를 삽입해 값 변경 여부 확인), stack shield(RET을 global RET으로 선언한 변수에 복사해두고 함수 종료 시 비교), 안전한 함수 사용(strncpy 등), 입력값 사전 검증, ASLR(메모리 주소 난수화)
* stack buffer overflow: stack-heap-data-code 로 이루어진 메모리 구조에서 데이터 길이를 불명확하게 지정한 것을 악용하여 임의의 공격 코드를 덮어쓰기. stack구조 상 할당된 버퍼가 정의된 버퍼 범위를 넘어 RET를 변경함.
10.12 (day 4) 네트워크 보안
단답형 4. LAN 접근 방식 중 하나로 channel을 공동으로 사용해 data 충돌을 감지하여 빈 경우 해당 channel을 이용하는 방식
▶
답: CSMA/CD
* data 충돌 가능 영역 = 충돌 도메인, 같은 물리적 매체에 연결된 집합
서술형 4. datalink layer에서 boradcast domain을 논리적으로 나누기 위해 사용하는 방식의 이름과, 그 방식을 구현하기 위한 종류 4가지는?
▶
답: VLAN(virtual LAN), port 기반(switch port) / MAC 기반(mac address) / network 기반 / protocol 기반
4가지 종류 기반으로 같은 네트워크에 속한 호스트끼리 통신하는 방식.
10.13 (day 5) 애플리케이션 보안
단답형 5. HTTP POST를 장시간동안 분할전송하여 연결을 계속 유지하는 공격 방식
▶
답: slow HTTP POST DoS (Rudy)
HTTP의 content-length는 크게 설정하고 전송하는 데이터는 작게 분할하여 전송
* application layer slow HTTP 공격 시리즈
- slow HTTP header DoS (slowloris): HTTP header의 마지막을 의미하는 개행문자(\r\n)을 제외한 패킷으로 조작해서 보내 서버가 아직 요청을 끝내지 않도록 유도하는 방식으로 서버가 비정상적으로 동작하게 함 안보냄.
- slow HTTP read DoS: web-TCP 연결시 크기를 감소시켜 웹서버가 비정상적으로 동작하게 함. 정상 트래픽은 window packet의 크기가 가변적인데 공격 트래픽은 window packet 크기를 0으로 하여 서버에 응답을 보내도 서버가 전송하지 못하고 접속만 연결하고 있게 함.
서술형 5. SSRF와 CSRF에 공격 방식에 대해 설명하고 이 둘의 차이점에 대해 설명
▶
답: CSRF(client side request forgery)는 client 권한으로 web browser를 통해 변조된 HTTP request 보냄. SSRF(server side request forgery)는 웹서비스 권한을 탈취해 사용자의 입력값을 포함하고 있는 변조된 request 보냄.
즉 둘다 server를 공격하는 것은 동일하지만 !! CSRF는 일반 사용자의 권한을 탈취 즉 client를 공격 수행의 거점으로 사용하는 반면, SSRF는 사용자를 개입할 필요 없이 서버에 변조된 요청을 바로 보냄 즉 server를 공격 수행의 거점으로 사용.
* SSRF의 경우 이용자가 입력한 URL에 요청을 보내는 경우(get 방식으로 요청 파라미터 반환)와 / 웹서비스의 요청 URL에 이용자의 요청값이 포함되어 있는 경우(path traversal과 같은 공격 수행)로 나누어져 있음.
* XSS(Cross-side script): client side 언어로 되어 있는 악성스크립트를 관리자가 아닌 사용자(=공격자)가 브라우저에 삽입해 !! client !!를 공격
** 이해한대로 정리했는데 맞는 내용인지는 잘 모르겠음..^^
- XSS(cross-side script): 공격자가 악성 스크립트를 브라우저(client)에 삽입 = client 공격
- CSRF(clinet-side request forgery): 공격자가 사용자(client)의 권한을 탈취해 변조된 요청 보냄 = server 공격
- SSRF(server-side request forgery): 공격자가 웹서비스 권한을 탈취할 수 있는 취약한 서버를 통해 연결된 다른 서버에 변조된 요청 보냄(사용자의 입력값을 포함하고 있는 요청) = server 공격
10.14 (day 6) 정보보호 일반
단답형 6. 일정량의 평문 P에 대한 암호문 C를 알고 있는 상태에서 암호를 해독하는 공격
▶
답: 기지 평문 공격(Known-Plain Attack)
* 암호문 단독 공격(COA)= 암호문 C만 가지고 평문 P와 키 값 K를 찾아내는 공격
* 선택 평문 공격(CPA)= 평문 P를 선택하면 그에 해당하는 암호문 C를 알 수 있는 상태에서 암호문을 해독하는 공격 (사용된 암호기에 접근하는 것)
* 선택 암호문 공격(CCA)= 암호문 C를 선택하면 그에 해당하는 평문 P를 알 수 있는 상태에서 암호문을 해독하는 공격 (사용된 복호화기에 접근하는 것)
서술형 6. 포렌식 기본 원칙 5개와 그에 대한 설명
▶
답: 정당성, 무결성, 신속성, 재현, 연계보관성
정당성= 정당한 과정에 따라 합법적으로 취득한 자료여야 함
무결성= 수집한 자료는 어떠한 이유로도 변경되지 않아야 함
신속성= 모든 과정은 지체없이 신속하게 이루어져야 함
재현= 사건 전과 같은 환경을 재현하여 다시 수집해도 같은 자료가 수집되어야 함
연계보관성= 디지털 증거물 수집, 이송, 분석, 보관, 법정 제출 각 단계에서 담당자와 업무자의 책임을 명확히 해야함
10.15 (day 7) 시스템 보안
단답형 7. 인터넷상에서 사용하는 각종 서비스에 대한 포트 번호와 프로토콜 정보를 정의해놓은 파일의 경로
▶
답: /etc/services
* /etc/protocols = 프로토콜 식별 번호 포함
* /etc/inetd.conf = inetd 최초 실행 시 참조할 정보
* /etc/xinetd.conf = 글로벌 xinetd 설정파일 (슈퍼 데몬)
* /etc/xinetd.d/[서비스 설정 파일명] = 개별 서비스 설정
서술형 7. PAM(Pluggable Authentication Modules)를 활용하는 예 3가지
▶
답: 원격 접속 시 root계정 사용 제한(/etc/securetty파일에 등록된 터미널이 아니면 root접속 허용X), 계정 잠금 임계값 설정(Brute force 공격 방지를 위해 암호 입력 실패 횟수 제한 및 공격 시간 지체), root 계정 su 제한(pam_wheel.so모듈을 이용해 su명령어 사용이 허가된 사용자 지정)
* PAM: unix/linux 시스템 내에서 사용되는 각종 애플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리
'Daily > 자격증 || 취업' 카테고리의 다른 글
[정보보안기사 실기 공부] week 3 (0) | 2022.10.26 |
---|---|
[정보보안기사 실기 공부] week 2 (0) | 2022.10.19 |
취뽀2 (0) | 2022.08.08 |
기술 면접 준비 1 (0) | 2022.05.21 |
기술 면접 준비 2 (0) | 2022.05.21 |
댓글