[정보보안기사] 시스템 보안 #2
[정보보안기사] 시스템 보안#2
1. 클라이언트 보안
(1)윈도우 보안
1) 설치 및 관리
-
라이센스 모드
- Per Server : 서버에 동접하는 클라이언트 숫자에 따라 라이센스를 구매하는 방식 - Per Seat : 클라이언트 숫자에 따라 라이센스를 구매하는 방식
-
사용자 계정 관리
- 암호 설정 - 사용자 계정 컨트롤(UAC) : 관리자 수준의 권한이 필요한 변경 사항이 있을 때, 사용자에게 이를 알려주는 것
2) 공유자료 관리
-
공유 폴더
- NTFS은 사용자계정이나 그룹에 대해서, 파일과 폴더에 퍼미션(Permission)을 줄 수 있음 - Everyone 그룹에 대해서는 기본적으로 <읽기> 권한만 주어짐 - 로컬에서 폴더 만들면 Everyone 그룹에 대해서 <모든 권한>이 주어짐
-
숨은 공유폴더(공유 폴더 이름 마지막에 $를 붙이는 폴더)
- 네트워크 공유 목록에서 공유 폴더를 안보이게 함 - 접근하기 위해서는 공유 폴더 이름을 통해 직접 접근해야 함
-
관리를 목적으로하는 기본적인 공유 폴더(ADMIN$, IPC$, C$, 등)
- 이름에서 볼 수 있듯, 모두다 숨은 공유로 만들어져 있음 - CMD에서 net share 명령어로 확인이 가능함 - 네트워크 접근 사용만을 제한할 수 있고, 로컬 접속은 제한을 할 수 없음 - 보안상 사용하지 않을 땐 비활성화 하는 게 좋음 - 관리적 공유 폴더 제거 하기(C$, D$, 등)
-
널 세션 제거하기(IPC$)
- IPC$는 제거가 안되기에 널 세션을 제거하는 방법을 이용 - 위치 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA - restrictanonymous의 값을 REG_DWORD 타입의 1로 바꿈(기본값은 0)
(2)인터넷 활용 보안
-
바이러스(Virus)
- 다른 프로그램에 기생해서 실행(독자적으로 실행X) - 파일 전송 기능이 없어서, 네트워크 대역폭에는 영향을 끼치지 않음 - 대표적으로 1994년 4월 26일 CIH 바이러스
-
웜(Wrom)
- 독자적으로 실행(기억장소에 코드나 실행파일로 존재) - 네트워크를 사용해서 자신을 복사하기에, 네트워크 대역폭을 잠식함 - 대표적으로 2001년 9월에 발생한 님다(Nimda)
-
트로이목마
- 자기 자신을 복제하지는 않지만, 악의적 기능을 포함하는 프로그램 - 유틸리티 프로그램에 내장되거나, 그것으로 위장해 배포됨 - 대표적으로 백오피스같은 프로그램
-
스파이웨어(Spyware)
- 사용자 몰래 PC에 설치되어 정보를 수집하는 프로그램
4) 레지스트리 활용
-
시스템을 구성하기 필요한 정보를 저장한 중앙계층형 데이터베이스
-
HKEY_CURRENT_USER(HKCU) : 현재 로그온 되어 있는 사용자에 관련된 정보 등
-
HKEY_USERS(HKU) : 컴퓨터의 모든 사용자 프로필 정보 등
-
HKEY_LOCAL_MACHINE(HKLM) : 하드웨어와 프로그램 설정 정보
-
HKEY_CLASSES_ROOT(HKCR) : OLE데이터와 확장에 대한 정보 등
-
HKEY_CURRENT_CONFIG(HKCC) : 시스템 시작시 컴퓨터에서 사용하는 하드웨어 프로필 등
-
악성코드 구동을 위해 주로 HKEY_CURRENT_USER와 HKEY_LOCAL_MACHINE이 이용됨
2)인터넷 활용 보안
1) 웹브라우저 보안
-
검색 기록 / 쿠키 삭제 / 임시파일 삭제
-
익스플로러에서는 보안 수준을 설정하기
- 보통 이상으로 사용하고, 세부 설정 가능
-
브라우저에서 개인정보를 수집하는 기술
- 쿠키(Cookie) & 슈퍼쿠키(Super Cookie) - 비콘(Beacon ; Web Bug) - History Stealing - Fingerprint
-
HTTP(Hyper-Text Transfer Protocol) 프로토콜
–웹 상에서 파일(텍스트, 이미지, 등)을 주고 받기 위한 프로토콜로 TCP/IP와 관련된 프로토콜(80번 포트)
– 한 번 접속해서, 정보 주고받고 접속을 끊어버리는 특이한 특징
– HTTP 요청 방식
- GET 방식 : 클라이언트가 서버로 전송하는 정보를 URL에 담는 방법 - POST 방식 : 요청사항을 HTTP 헤더 안에 넣어서 서버로 전송하는 방법
– HTTP 1.0
- 한 번에 한 종류의 데이터만 받을 수 있음(이미지와 텍스트라면 총 두 번의 접속이 필요) - 요청 방식 - GET : GET 방식으로 서버에 리소스(정보)를 달라고 요청 - HEAD : GET방식과 유사하지만, 요청한 리소스가 아닌 Header만 채워서 응답(해당 정보를 잘 처리하는지 테스트) - POST : POST 방식으로 서버에 리소스를 달라고 요청
– HTTP 1.1
- 한 번에 이미지와 텍스트까지 받을 수 있음 - 요청 방식 - GET - HEAD - POST - OPTION : 서버가 요청한 리소스에서 어떤 요청방식들을 처리해주는지 알려줌 - PUT : 서버에 요청한 리소스를 저장함 - TRACE : 루프백 메시지를 위한 요청을 함 - CONNECT - DELETE : 명시된 리소스를 서버가 삭제할 것을 요청
– HTTP 상태코드
- 2xx : 성공 - 200 : OK - 201 : 서버가 성공적으로 요청된 새 리소스를 생성(PUT 메소드인듯) - 3xx : 재전송 - 4xx : 클라이언트 측 에러 - 401 : 유효한 요청에 대해 서버가 응답을 거부(권한이없는 401과는 다름) - 403 : Forbidden - 404 : Not Found - 5xx : 서버 측 에러 - 500 : 내부 서버 오류 - 501 : 해당 메소드 인식 못하거나 기능이 없음
2) 메일 클라이언 보안
-
PGP(Pretty Good Privacy)
- 데이터 암호화와 복호화하는 프로그램, 전자 메일의 보안성을 높이기 위해 자주 사용 - IETF에서 표준으로 채택한 PEM과 비교됨 - 수신 부인방지와 메시지 부인 방지 기능이 없음 - 메시지의 비밀성을 위해 공개키 암호기술을 사용(RSA, IDEA 등) - 메시지의 무결성을 위해 메시지 인증을 사용 - 메시지의 생성, 처리, 전송, 저장, 수신 등을 위해 전자서명을 사용
(3) 공개 해킹도구에 대한 이해와 대응
1) 트로이목마 S/W
- 대표적인 툴 : AOL4FREE / Shark2 / NetBus / Back Orific
2) 크래킹 S/W
-
루트킷(RootKit) : 서버 내에 침투해서 백도어를 만들고 로그를 삭제하는 등의 패키지들
- 대표적으로 lrk5 - 루트킷을 찾아내는 프로그램은 안티루트킷(Anti-RootKit) : 대표적으로 Icesword
-
패스워드 크랙(Password Crack)
- Brute Force Attack / Dictionary Attack / Password Guessing / Rainbow Table 등의 공격 방법으로 크랙 - 대표적인 툴 : John the Ripper / pwdump / LOphtCrack / ipccrack / chntpw(to reset pw) / ERD Commander
-
포트 스캐닝(Port Scanning)
- 다중 취약점 스캔 : SAINT / sscan2k / vetescan / mscan 등 - 특정 취약점 스캔 : cgiscan / winscan / rpcsan - 은닉 스캔 : Nmap / stealthscan - 네트워크 구조 스캔 : firewalk / Nmap - 스캐닝 기법 - Openning Scanning : TCP Connect Scanning - Half-Open Scanning : SYN Scanning - Stealth Scanning : FIN / X-MAS / NULL Scanning - More Advanced Scanning : Spoofed Scanning
-
포트 스캐닝의 구분
-
TCP 포트 스캐닝 : 특정 Flag값을 설정한 뒤, 패킷을 보내고 그에 대항 응답으로 확인
-
UDP 포트 스캐닝
- 포트가 열린 상태 : 아무런 응답 X - 포트가 닫힌 상태 : UDP 패킷이 목적지에 도달하지 못했다는 메시지 - ※ 패킷이 유실되도 아무런 응답이 없기에 신뢰성이 떨어짐
-
-
Nmap 사용법
-
스캔 타입
- -sS : TCP Syn Scan - -sF / -sX / -sN : FIN / X-Mas / NULL Scan - -sU : UDP Scan - -sP : Ping Sweep - -b : FTP Bounce Attack
-
스캔 옵션
-P0 : Don't ping before scanning ; ping으로 사전 조사 하는 과정을 뺌(네트워크에 살아있음을 알고있을 때 씀) -PT <PORT_NUMBER>: ICMP Request Packet 보내고, 응답기다리는 대신에 TCP ACK를 보내 응답 기다림. 살아있으면 RST받음 -PS -PB -O : 운영체제 확인 -p <PORT_NUBMER> -S <IP_ADDRESS> : Spoofing
-
예시
- #./Nmap -p 1-30,110,65535 203.x.x.x - 203.x.x.x의 1~30번, 110번, 65535를 스캔한다.
3) 키로그 S/W
- 대표적인 툴 : Winhawk, Key~ 로 시작되는 툴
(4) 도구활용 보안관리
1) 클라이언트 보안도구 활용
-
BlackICE
- 일종의 방화벽 - 외부에서 자신의컴퓨터에 접근하는 것을 탐지 / 제어하는 프로그램 - 침입 차단 / 어플리케이션 보호 / IDS 기능 제공
-
Snort
- 공개 네트워크 IDS - 다양한 OS 지원 / Rule 설정가능
2) 클라이언트 방화벽 운영
- Windows 방화벽(ipsec)
- Linux/Unix 방화벽(iptables)