티스토리 뷰

정보보안기사/시스템 보안

19년 9월 정리

삼전동해커 2020. 10. 1. 21:48

여기는 산업기사/기사 준비하면서 모르는,새로 알게된 정보를 정리 하는 공간.


1.UAC/PAM 차이점


UAC는 User Access Control이다. 일반 사용자가 root 권한을 이용해 프로그램을 실행할 수 있도록 관리하는 시스템. 시스템, 즉 접근 자체를 의미.


PAM은 Privileged Account Management이다. 일반 사용자가 root 권한을 사용할 수 있는 권한을 관리하는 것. 관리하는 행위를 의미.


2.HeartBleed


openSSL 취약점을 이용. 클라이언트와 사용자간의 정보를 공유하는 과정을 SSL을 이용해 암호화한다. 

클라이언트의 요청에 대한 서버의 응답을 보내면서 암호화에 대한 정보도 포함되어 보내지기 때문에 취약점이 발생할 수 있다.


3.spectre&meltdown


spectre는 CPU 최적화 과정에서 발생하는 취약점을 이용하는 것.


meltdown은 CPU 오버쿨럭시 발생하는 취약점을 이용.

캐시 공간에 남아 있는 메모리에 대한 정보를 취득하는 방법으로 부채널 공격에 해당한다.


4.ps 명령어, top 명령어, zombie process


zombie process란 부모 클래스는 이미 종료되었지만 자식 클래스는 종료되지 않고 메모리 상에 남아 있는 것.

부모 클래스는 fork()함수를 사용해 자식 클래스를 생성하고, wait()함수를 이용해 종료 대기 상태에 들어간다. 하지만 자식 클래스는 wait()상태이고 부모 클래스는 종료되면 자식 클래스는 메모리에 남아 있게 된다.


ps 명령어를 사용해 현재 프로세스의 상황을 알 수 있고, top 명령어를 사용해 지금까지의 프로세스 상황을 알 수 있다.


ps 명령어의 옵션

 aux : 터미널과 연관된 프로세스(a)와 데몬 프로세스처럼 터미널에 종속되지 않는 프로세스를(x)를 프로세스의 소유자 기준(u)으로 출력한다. (BSD포멧)

 -ef : -e로 커널 프로세스 제외, -f로 풀 포맷, 프로세스의 포맷을 모두 보여준다.

 -p : 특정 PID를 지정해 보여준다.

 -r : 현재 실행중인 프로세서를 보여준다.

 -u : 특정 사용자의 프로세스 정보를 확인할 때 사용.


ps 명령어는 ps -ef | grep defunct 명령어를 사용해 좀비 프로세스를 찾는다.

kill -9 명령어로 삭제한다.


top 명령어의 옵션

 -b : 배치  모드를 사용해 출력

 -n : top 실행 주기 설정


top 명령어는 top -b -n1 | grep zombie 명령어를 사용해 좀비 프로세스를 찾는다.


5.null session 취약점


IPC$(Inter Processing Communication)는 네트워크 프로그램 간 통신을 위해 파이프를 사용하고 네트워크 서버 원격 관리에 사용된다.

윈도우 서버에 IPC$를 통한 원격 접속을 할 때 패스워드를  null로 설정하여 접속할 수 있는 취약점.

공격자는 이 취약점을 이용해 운영체제의 정보를 열람하고 레지스트리에 접근할 수 있다.


6.LSA 등 윈도우 인증 시스템


윈도우에 로그인하기 위해 winlogon은 msgina.dll이라는 프로그램을 사용해 아이디를 LSA로 전달한다. NTLM 값과 SAM에 저장된 NTLM 값을 비교해 같으면 SRM에게 권한을 부여한다.


winlogon은 윈도우 로그인 프로세스.

msgina.dll을 로딩하여 사용자가 입력한 계정과 암호를 LSA에 전달.

LSA는 계정과 암호를 검증하기 위해 사용, SRM이 작성한 감사로그를 기록한다.challenge-response기반.

SAM에는 사용자의 계정정보를 저장. 리눅스의 /etc/shadow와 같은 역할.

SRM은 사용자에게 고유 SID를 부여. 감사 메세지 생성.


7.백도어


리눅스 서버가 실행될 때 백도어가 실행되기 위해서는 Run level에 스크립트를 등록해야 한다.

Run level은 /etc/rc.d/rc.local에 위치한다.


hosts 파일은 ip에 상응하는 도메인을 저장해 도메인 만으로 ip에 접근할 수 있다.

hosts.equiv파일에는 원격 시스템에 대해 신뢰할 수 있는 호스트 목록이 저장되어 있다.


8.FTP


xferlog는 파일을 업로드 하거나 다운로드한 기록을 볼수 있음.

accesslog는 접근로그 저장.

syslog를 이용해 응용프로그램에서 발생하는 각종 로그를 볼수 있다.

error.log 아파치의 오류를 저장하는 곳.


FTP와 관련 있는건 xferlog이다.


9. .tmp


wtmp : 로그인과 로그아웃에 관한 로그를 저장. /var/log에 위치, last명령어로 볼수 있음.

    종료,부팅,재부팅, telnet,ftp 등의 로그인 정보도 포함.(w는 v가 두개니 로그인,로그아웃 둘다 포함한다고 외웠음.)


btmp : 리눅스 로그인 실패 정보를 저장. 바이너리 형태로 되어 있어서 lastb 명령어로 본다.

    (로그인에 실패 했으니 bad)


utmp : 현재 로그인한 상태 정보 저장. /var/run/utmp에 위치. w나 who로 utmp파일을 읽어 실행.

    (user 정보)



10.tcp wrapper


네트워크 서비스에 관한 트래픽을 제어하고, 모니터링하는 방화벽 툴.


특정 ip 차단, ip와 port를 이용해 접근 통제



11.PAM(Plaggable Authenticaion Module)


리눅스 시스템 내에서 사용되는 각종 앱 인증을 위해 제공되는 인증용 라이브러리.

/lib/security or /usr/bin/security에 저장.


프로그램 개발 시 인증모듈을 별도 개발하지 않고 플러그인 방식의 PAM을 사용해 유연성 증가.


ex)pam_carcklib.so retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

pam_cracklib.so파일은 password를 설정하는 정책.

패스워드 최소길이(minlen)는 8, 대문자 1개(ucredit), 소문자 1개(lcredit),  특수문자 1개(ocredit)을 포함해야 한다. retry로 비밀번호 설정 시, 다시 설정할 수 있는 횟수를 지정.






'정보보안기사 > 시스템 보안' 카테고리의 다른 글

17년 9월 정리  (0) 2020.10.12
19년 3월 정리  (0) 2020.10.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함