시스템 보안 오답노트
1. 보안운영체제(Secure OS) 특징
- 운영체제에 내재된 결함으로 인해 발생할 수 있는 각종 해킹으로부터 보호하기 위해 보안 기능이 통합된 보안 커널을 추가로 이식한 운영체제
- 계정 관리 및 서비스 관리에 있어 좀 더 나은 보안 체계를 가지고 운영될 수 있도록 한다.
- 시스템에서 일어나는 프로세스의 활동이 보안 정책에 위반되지 않는지를 검사하지만 시스템 성능에는 거의 영향이 없다.
- 현재 열려있는 취약한 서비스를 모두 차단한다고 볼 수는 없다....
2. 암호 키 보호에 하드웨어를 사용하는 기술
- 스마트카드, HSM(Hardware Security Module), TPM(Trusted Platform Module)
3. 악성코드 치료 방법
- 바이러스, 웜, 트로이목마 -> 백신
- 스파이 웨어 -> 불명확 콘텐츠 다운로드 금지
4. 트로이목마
- 원격조정, PW가로채기, 키보드입력가로채기, 시스템파일 파괴
- 전파X
5. 악성코드의 형태
* 컴파일형 악성코드
- 정적 리버싱을 통해 실행하지 않고 분석 가능
- 한번만 컴파일되면 지속적으로 배포 가능
* 스크립트형 악성코드
- 컴파일 되는 것이 아닌 브라우저의 인터프리터에 의해 한줄씩 해석되면서 실행
6. 파일시스템 종류
구분 | FAT | NTFS |
장점 | 호환성 우수, 단순성, 저용량 볼륨의 최적화 | 대용량 볼륨 지원, 디스크의 효율적 사용, 강력한 보안 기능, 자동 압축 및 안전성, 향상된 파일이름 저장 및 파일길이 지원 |
단점 | 보안 취약, 대용량 볼륨의 비효율적 | 호환성 낮음(Windows NT 계열 운영체제 외에는 호환 불가) 저용량 볼륨에서 FAT보다 속도 저하 |
* FAT 뒤의 숫자는 최대 클러스터 개수와 관련
* exFAT
- MS가 윈도우 CE 6.0 장치와 윈도우 비스타, 윈도우7, 윈도우 서버 2008에 도입하기 위해 만듦. 자료구조의 오버헤드 문제나 파일 크기/디렉터리 제약 문제에 효과적
* ex3, ex4
- 리눅스 저널링 파일 시스템
* HFS(Hierarchical File System)
- 애플, MAC OS
* ReFS(Resilient File System)
- 차세대 파일 시스템을 염두해두고 윈도우서버 2012에 도입된 파일 시스템
7. 윈도우 Users 그룹
- 사용자 계정을 추가하면 일반 사용자 그룹인 Users에 자동 포함
- NTFS에서는 이들이 무결성을 해칠 수 없도록 보안 설정
- 워크스테이션 종류 가능 (but, 서버 종료는 관리자)
- 로컬 그룹을 만들수있고 자신이 만든 그룹만 관리 가능
- 관리자가 설치하거나 배포한 인증된 프로그램 실행 가능
- %userprofile% 및 레지스트리에서 자신이 포함된 HKEY_CURRENT_USER 제어 가능
8. 윈도우 LSA ( Local Security Authority )
- 윈도우 시스템 인증 구성요소에서 모든 계정의 로그인에 대한 검증을 하고 비밀번호 변경을 처리하며 자원 접근 토큰을 생성하는 것, 토큰에는 SID(보안식별자) 정보 담겨있음, 로컬/원격 모두 해당, SRM이 생성한 감사 로그를 기록, NT보안의 중심요소, 보안 서브시스템(Security Subsystem)
9. 윈도우 SAM(Security Account Manager)
- 사용자/그룹 계정 정보에 대한 데이터베이스 관리. 사용자 입력 정보와 DB 비교하여 인증 여부 결정.
- 계정정보 일치 여부를 SRM에 전달 -> SRM이 사용자에게 SID부여 -> SID에 기반하여 파일/디렉터리에 접근 여부 결정 -> 감사메시지 생성
10. 윈도우 NTLM(NT LAN Manager)
- Challenge/Response 매커니즘
* 과정
- C to S 사용자 이름 보낸다 -> 서버는 이에 대한 요청값을 생성해 클라이언트로 전달 -> 클라이언트는 이 요청값을 사용자 암호로 암호화 해서 서버에 보낸다 -> 로컬의 경우 SAM에서 검증 -> 도메인의 경우 이 응답을 도메인 컨트롤러로 전달 및 검증하고 사용자 계정에 대한 그룹 정책을 받는다 -> Access Token 을 발급하고 세션을 맺는다
* LSA, SAM, SRM은 윈도우 인증의 구성요소 이다.
11. 윈도우 User Account Control
- 강제적 접근제어를 구현
- 컴퓨터 설정을 변경하는 작업을 하거나 SW를 설치 할 때 이 대화상자가 나타나 관리자 암호를 요구함,
- 윈도우 관리자 계정과 사용자 계정 분리 시스템으로 vista부터 추가
- 관리자 수준의 권한이 필요한 작업을 수행할때 사용자에게 이를 알려 컴퓨터 제어할 수 있도록 도와줌
12. 윈도우 공유 자료 관리
- nullSessionShare를 허용할 경우 위험
- IPC$는 해킹 사례 있다
- IPC$는 제거하면 문제 발생 가능성이 있으므로 레지스트리 값을 수정해 익명 사용자의 네트워크 접근을 막는다
13. 윈도우 레지스트리 종류
- HKEY_CLASSES_ROOT(HKCR) : 파일 연결, OLE 객체 클래스 ID와 같은 등록된 응용 프로그램의 정보를 담고 있다. 시스템에 등록된 파일 확장자와 그것을 열 때 사용할 애플리케이션에 대한 맵핑 정보 그리고 COM(Component Object Model) 오브젝트 등록 정보를 저장하고 있다.
- HKEY_CURRENT_USER(HKCU) : 현재 로그인한 사용자의 설정을 담고 있다.
- HKEY_LOCAL_MACHINE(HKLM) : 컴퓨터에 설치된 하드웨어와 하드웨어를 구동시키는 데 필요한 드라이버나 설정 사항에 관련된 정보를 갖고 있다. 루트키 중에서 가장 다양한 하이브로 구성되어 있다.
- HKEY_USERS(HKU) : 컴퓨터에서 사용중인 각 사용자 프로파일에 대한 HKEY_CURRENT_USER 키에 일치하는 서브키를 담고 있다. 시스템에 있는 모든 계정과 그룹에 관한 정보를 저장하고 있다. 모든 계정의 프로파일이 있다는 것을 제외하고는 HKCU와 동일하다.
- HKEY_CURRENT_CONFIG : 실행 시간에 수집한 자료를 담고 있다. 이 키에 저장된 정보는 디스크에 영구적으로 저장되지 않고 시동시간에 생성된다. 시스템이 시작할 때 사용하는 하드웨어 프로파일 정보를 저장하고 있다.
14. 윈도우 도메인 컨트롤러
- 윈도우 환경에서는 도메인 컨트롤러가 인증 서버의 역할을 하고 있다. Windows NT에서는 도메인 컨트롤러와 도메인 내 각 컴퓨터가 각각 별도의 기반 비밀을 공유하고 있고, 이 공유 비밀값을 사용하여 암호화를 이용한 접속을 수행한다.
15. 유닉스 i-Node
- 유닉스에가 각 파일에 대한 정보를 기억하는 약 120byte의 고정된 크기의 구조체
- 기본적으로 파일의 실제 이름과 실제 내용을 제외한 모든 정보를 담고 있다.
- i-node번호, 파일 유형, 파일 링크 숫자, 소유주 UID, 소유주 GID, 파일 크기, 실제 블록 개수, 수정 시각, 접근 시각, 변경 시각
16. 좀비 프로세스 확인 명령어
- top -b -n 1 | grep zombie
- ps -ef | grep defunct
17. 리눅스 Crontab
- 형식 : 분 시 일 월 요일 작업 /~~
18. 유닉스/리눅스 파일 생성
- 각각 파일/디렉터리를 생성 할 때, 파일의 경우 666 디렉터리의 경우 777 부여가 디폴트
- umask 022는 디렉터리에 대하여 Owner에게 rwx Group과 Others에게 r-x를 준다. = 755 또한 파일에 대해서는 Owner에게 rw- Group, Others에게 r-- 을 준다 = 644
* Umask(파일이나 디렉터리 생성 시 기본 허용값의 설정 관련) 설정 시, 디폴트 - umask 값
19. passwd 명령어에서 -x 옵션은 패스워드의 유효기간을 나타낸다.
- ex. 60일마다 교체 -> passwd -x 60 test_user
20. 유닉스 계열 시스템 접근통제 방법
- 접근통제 관련 로깅 도구 활용
- 그룹 영역을 설정하여 그룹 별 사용자 관리
- 읽기/쓰기/실행 퍼미션을 적용하여 파일에 대한 접근통제 관리
- stiky bit, Set UID 의 설정으로 융통성 있는 접근통제 관리
21. chmod 4755
- 파일에 대한 접근 권한이 -rwsr-xr-x 즉, setuid가 설정되어 해당 파일의 소유자 권한으로 실행된다
22. stiky-bit 가 설정된 디렉터리는 모든 사용자가 생성은 가능하지만 지우는 것은 소유주나 root만 가능
23. 리눅스 tcpwrapper
- inetd 데몬은 tcpd 데몬에 연결을 넘겨준다. tcpd데몬은 권한 확인하고 해당 데몬에 연결을 넘겨준다.
- 실행 전 /sbin/in.telnetd -> 실행 후 /usr/sbin/tcpd
- 허용 및 금지 판단 -> /etc/hosts.allow , /etc/hosts.deny
- ip 주소 및 hostname 기반( port 번호 기반 X )
- 네트워크 접속에 대한 logging기능 지원
24. PAM
- 패스워드 복잡도 설정
- retry = 3번이상 틀리면 변경 실패
- minlen 최소 8자리
- lcredit = 소문자
- ucredit = 대문자
- dcredit = 숫자
- ocredit = 특수문자
- difok = 기존 pw와 비교하여 다른 문자 개수 n 개 이상 요구
25. 리눅스 설정 파일
- /etc/resolv.conf : 유닉스 시스템에서 호스트네임 찾기 위해 순서를 설정
- /etc/crontab : 정기적인 작업 목록
- /etc/sysconfig/network : 전체 네트워크 설정 관련
- /etc/rc.d/rc.local : 부팅 시 마다
26. 리눅스 서버 최적화
- root 계정의 PATH 환경변수에 현재 디렉터리를 의미하는 "." 가 필요하다면 맨 마지막으로 이동하여 포함
- 특정 디렉터리 내 "." 으로 시작하는 숨겨진 파일이 존재하면 불필요한 경우 삭제
- r command가 필요하다면 /etc/host.equiv 및 .rhosts 파일의 소유주를 root 혹은 소유주로 설정하고 권한을 600으로 세팅한다. 또한 해당 파일 설정에 '+' 설정( 모든 호스트 허용) 이 포함되지 않도록 한다.
27. 윈도우 서버 로그
- 응용 프로그램 로그 : 응용프로그램이 기록한 다양한 이벤트, 개발자에 의해 결정
- 보안 로그 : 로그인 시도 및 파일의 생성, 열람, 삭제 등 리소스 관련 이벤트
- 시스템 로그 : 윈도우 시스템 구성요소가 기록하는 이벤트. 부팅시 드라이버 오류 관련 등..
- 디렉터리 서비스 로그 : Windows Active Directory
- 파일 복제 서비스 로그 :
- DNS 서버 로그 :
28. 리눅스/유닉스 로그 파일
- wtmp : 사용자들이 로그인/로그아웃 한 정보
- utmp : 현재 로그인한 사용자들에 대한 상태정보
- pacct : 사용자가 로그인한 시점부터 로그아웃할 때 까지 입력한 명령과 시간, 작동된 tty 등에 대한 정보
- btmp : 로그인 실패했을 경우 로그인 실패 정보 기록 lastb 명령어(솔라리스는 loginlog)
- lastlog : 각 사용자의 최근 로그인 시각과 접근한 소스 호스트에 대한 정보
29. 리눅스 로그 관리 프로그램 syslog
- 설정파일 경로 : /etc/syslog.conf
- 보통 운영체제에 의해 자동실행되지만 필수는 아님
- 외부로 전송 또한 가능(syslog.conf 설정 시)
30. 무결성 검사 도구
- tripwire, Fcheck, Samhain
* prstat은 프로세스 현황 파악
31. 취약점 점검 도구
- Nmap, Nessus, Acunetix, SATAN, SAINT, COPS
* AWstats는 웹 로그 분석 툴
32. 포맷 스트링 취약점 점검 툴
- gdb, ltrace, objdump
* tcpdump는 네트워크 인터페이스 패킷 관련
33. 공격 기법 들
- Cryptojacking : 몰래 pc자원 이용해서 가상화폐 채굴
- Cryptolocker : 윈도우 x86 대상 랜섬웨어
-
34. SECaaS (Security as a Service)
- 클라우드 컴퓨팅 환경 하에서 인터넷을 통해서 보안 서비스를 제공하는 것
- 클라우드 기반 보안 서비스 제공하는 형태 / 서비스 제공업체가 자사의 고객에게 보안기능을 제공하는 형태
- SaaS의 한 종류
- 인증, 안티바이러스, 침입탐지, 모의침투, 보안 이벤트 관리 등 제공
35. APT
- 침투 -> 탐색 -> 수집 -> 유출
36. 마스터부트레코더(MBR) 파괴 사례
- 09년 7.7 디도스, 11년 3.4 디도스, 13년 3.20 사이버테러
37. SMB 취약점을 통한 랜섬웨어 공격
- TCP 139, 445 UDP 137,138 차단으로 방지 가능
38. 워너크라이 vs 페티야
- 랜섬웨어이다. (SMB 취약점)
- 네트워크 웜 기능 추가
- 페티야는 파일뿐만 아니라 MBR까지 덮어쓰고 암호화 함
39. DLP(Data Leakage Prevention) - 정보 유출 방지 솔루션
40. 스펙터(Spectre) - CPU속에 담겨있는 수많은 명령어에서 일어나는 버그를 악용하는 취약점. 부채널 관련 버그, 캐싱 및 추측 실행 기능 악용