901.
tracert : icmp 패킷 사용
traceroute : udp 패킷 사용
902.
윈도우 명령프롬프트 PC 라우팅 테이블 명령어 : netstat -r
+ netstat -e : 이더넷 통계
+ netstat -an : 모든 연결, 숫자형식
903.
netstat -e
인터페이스 통계 예시
받음 | 보냄 | |
바이트 | 55159208 | 13890455 |
유니캐스트 | 70000 | 62001 |
비유니캐스트 | 16555 | 7115 |
버림 | 0 | 0 |
=> 이더넷 통계를 보여준다
904.
TCP 정상 연결 4-웨이 핸드셰이크
요청받은쪽 : close_wait 후에 FIN 응답
요청한 쪽 : time_wait 중 FIN이 오면 ACK
905.
tcpdump 명령어
win 1234 <- 1234가 윈도우 크기를 의미함
mss 1460 <- max-segment-size인데 이더넷의 경우 헤더를 제외하고 1460
906.
tcpdump -i 2
=> 2번 디바이스(인터페이스)를 사용하여 패킷을 캡쳐한다. 검출하고자 하는 인터페이스 지정.
-A : ASCII 형태로 출력
-c : 주어진 수의 패킷을 받고 종료
-D : 가능한 인터페이스 목록 출력
907.
ip 프로토콜에 없는 오류알림 및 정정기능 수행
특정 호스트 및 장비에 대한 관리용 질의 기능 수행하는 프로토콜
=> ICMP 프로토콜. 스머핑에 악용된다
+ 티어드롭 : 단편화 재조합 에러
908.
smurf 공격
- 공격자는 ip를 타겟 ip주소로 위장하여 ICMP를 브로드캐스트로 다수에게 전송
- 타깃 서버는 다수의 icmp echo reply를 수신하여 성능에 문제가 발생한다
909.
hping 도착지.255 -a 타깃ip주소 --icmp --flood
=> Smurf 공격
910.
공격자에게 TCP SYN 패킷을 받은 대상 시스템은 TCP SYN-ACK를 자신에게 송신하고 유휴 시간 제한까지 빈 연결을 유지한다
=> LAND Attack
911.
TCP SYN Flooding 공격
- Half Open Connection
- 분산 DoS
- Reflector
912.
UDP Flooding 대응방안
- 미사용 프로토콜 필터링
- 출발지 ip별 임계치 기반 차단
- 패킷 크기 기반 차단
- 애니캐스트를 이용
913.
icmp 패킷에 응답하지 못하도록 실행하는 명령어
sysctl -w kernel.ipv4.icmp_echo_ignore_all=1
+ 값이 1이면 응답X, 값이 0이면 응답O
914.
DDoS
- smart attack : 기술적으로 정교하고 고도화된 ddos
- 랜섬 디도스 : 공격 전 ddos 공격 협박을 통해 돈을 갈취
- ddod for hire : 대가를 받고 ddos 공격 수행 시스템
- carpet bombing : 융단폭격. 같은 대역대 여러 ip로 트래픽을 분산시켜 공격
915.
ddos 대응방안
tcp/ip 스택 자원을 소모하는 특징이 있으므로, 소스 ip별로 PPS 임계치를 설정하거나 패킷 헤더 검사를 통해 정상적인 옵션 필드값을 갖지 않는 비정상 패킷을 차단한다
=> SYN Flooding
+ 대역폭 소진 공격 : udp, icmp flooding (해당 프로토콜 모두 차단)
+ 대역폭 소진 공격2 : tcp flooding (ip별 임계치 설정)
+ 웹서버 자원 소모 공격 : SYN/ACK/FIN Flooding (스택자원 소모. ip별 임계치 정책)
+ 웹서버 자원 소모 공격 : Slow 헤더 Flooding ( timeout 값 설정 )
916.
ddos 공격유형 파악시 유입 트래픽을 확보하기 위해 사용될 수 있는 도구
=> tcpdump
+ 헤더정보 분석 : ngrep, httpry
+ concurrent 연결 정보 : argus
917.
ddos 대응단계
DDOS 공격유형 파악
- 패킷덤프를 이용한 유입 트래픽 확보, PCAP 형태로 저장 분석
- 웹서버 접속 로그 확인하여 통계 확인
+ 공격 인지를 위한 체크(IDS/IPS 이벤트 발생) -> DDOS 공격 유형 파악 -> 유형에 따른 차단정책 정의, 대응 -> 공격대응 후 사후조치
918.
DDOS 공격 유형 분류
- L7 자원소진 공격 : SYN 플러딩, HTTP 트래픽 플러딩 등
- L7 자원소진 공격 대상 : 웹서버, 정보보호 장비 (공격대상 시스템만 피해)
- Logic(3~4계층) 공격 : LAND 공격, WinNuke, Ping of Death 등
- Logic 공격 대상 : 네트워크 인프라 (동일 네트워크 사용하는 모든 서비스에 대한 장애, 대역폭 고갈)
919.
ddos 공격 - 자원소진 공격
- syn, ack, dns qyery 플러딩 ...
대역폭 소진 공격 : icmp 플러딩, udp 플러딩, udp 기반 반사공격 등...
920.
GET Flooding 공격
- 7계층 프로토콜 취약점 이용
- 웹서버, 정보보호 장비등에 대한 공격
- http 서버같은 애플리케이션에 영향
* SYN 플러딩, ACK 플러딩 : 서비스 마비공격 (자원 소진 공격)
* SYN + ACK 플러딩 : 위조된 패킷을 대량 전송. 대역폭 소진 공격
921.
Memcached DDoS 공격 기법
- 공용 네트워크에 공개된 대량의 분산식 캐시 시스템 서버에 존재하는 인증과 설계의 취약점 이용
- 스푸핑된 피해자의 ip로 대규모 응답이 가게 한다
- UDP 11211 포트
- 증폭Amplification 공격
922.
VoIP 서비스에 대한 공격
- Register 플러딩 : 반복적인 Register를 통해 과부하
- RTP 플러딩 : 미디어 스트림 대량 전송
- INVITE 플러딩 : 다량의 INVITE 패킷 전송
=> 서버 자원 고갈 유발
+ GET 플러딩 : 웹에서 주로 발생하는 공격.
923.
DDOS 공격
- DNS 증폭 공격
- 증폭Amplification 공격
- 반사Reflection 공격
+ Delayed Binding 공격 : 클라이언트와 서버의 연결에서 충분한 정보를 얻기 위해 연결을 지연시키는 방법
924.
응용 프로그램에서 패킷을 생성하는데 사용하는 라이브러리
- Libnet ( 응용 프로그램이 패킷을 생성하여 보낼 수 있게 해주는 라이브러리 )
+ Libcap : 패킷 캡처 함수모음
+ Libnids : 네트워크 침입탐지시스템 전자구성요소 구현
925.
7계층 응용 공격
- Slowloris
+ 2계층 : ARP 스푸핑
+ 3계층 : Smurf, Ping of Death
926.
분산반사 서비스 거부 공격DRDoS
- 단점 : 오로지 Flood 공격만 가능함
- ip 스푸핑 필수, 반사체 활용
- TCP 프로토콜 취약점을 응용함 ( SYN 패킷을 보내고 대량의 응답을 받게 함 )
927.
DDoS : 감염된 좀비 컴퓨터를 통해 특정 시스템 공격
DRDoS : 제3의 반사서버 이용
928.
NTP Amplification 공격
- 분산서비스 거부 기법 중 하나로 공개된 NTP 서버를 통해 증폭된 udp 패킷을 발송한다
- 대표적인 포트스캐너인 Nmap을 이용해 취약점 점검 가능
- 방화벽을 통해 외부 트래픽으로부터 NTP 유입 통제 가능
- 반사/증폭 공격
929.
배너 그래빙Banner Grabbing
- 상대시스템의 운영체제를 확인하는 가장 기본적인 방법
- Telnet 사용 (원격지 접속 프로그램)
- 배너 : 원격접속시 보여주는 안내사항
930.
예시
출발지:포트 -> 목적지:포트 (TCP 세그먼트)
SI:P1 -> D1:P2 (SYN)
SI:P3 -> D1:P4 (SYN)
D1:P2 -> S1:P4 (SYN+ACK)
S1:P1 -> D1:P2 (RST)
D1:P4 -> S1:P3 (SYN+ACK)
S1:P3 -> D1:P4 (RST)
SI:P5 -> D1:P6 (SYN)
D1:P6 -> S1:P4 (RST+ACK)
=> 해당 패킷은 TCP Half 스캔을 의미함
( SYN Flooding 과 헷갈리지 말 것 )
931.
Open 스캔 : SYN
스텔스 스캔 : ACK, FIN, NULL, X-MAS 등
932.
PORT Scan 공격
- 스텔스 스캔 : 포트가 열려있으면 응답 없음. 닫혀있으면 RST
- UDP 스캔 : 포트가 열려있으면 응답 없음. 닫혀있으면 ICMP Unreachable
933.
namp
- TCP Half는 -sS, Null은 -sN, XMAS는 -sX 옵션을 사용
934.
스텔스 스캔
- xmas, ack, null, fin, tcp fragmentation 스캔
935.
윈도우 계열 시스템 포트 스캐닝
- 스텔스 스캔은 윈도우 계열에서 불가능, 리눅스/유닉스에서만 가능하다
936.
TCP ACK 스캔 : 방화벽 필터링 정책을 테스트 하기 위한 스캔.
필터링되고 있다면 응답이 없거나 ICMP 메시지가 오고
필터링되지 않고 있다면 RST+ACK 패킷이 응답된다
937.
TCP SYN(Half) 스캔은 스텔스 스캔에 속한다
+ OS Fingerprinting : 시스템 운영체제 종류와 버전을 확인하는 스캐닝 방법
938.
TCP/IP 스택 FingerPrinting을 통한 원격 OS 탐지
방법 : syn 패킷의 tcp 헤더에 사용하지 않는 tcp 플래그들에 1을 넣어본다
=> BOGUS flag probe ( 리눅스 커널 2.0.35 이하는 ack 응답, 그 외는 RST)
+ TCP ISN Sampling : ISN에 대한 응답 분석
+ FIN probe : FIN 패킷 응답이 RST면 윈도우, BSD, CISCO, IRIX 운영체제일 가능성이 높다
+ IPID 샘플링 : 운영체제별로 IPID 숫자값 생성방식이 다름
939.
Nmap
- 대상 시스템의 운영체제를 판단할 때 이용하는 기법 : TCP/IP Stack Fingerprinting ( TCP/IP 프로토콜 표준이 명시하지 않은 패킷 처리 기능의 운영체제별 구현 )
940.
Nmap 타이밍 옵션
- 스캐닝 간격이 가장 긴 것(느림) : -T0
- 가장 짧은 것(빠름) : -T5
941.
Nmap 옵션
- 방화벽이 존재하더라도 해당 서버의 서비스가 오픈되어 있는지, 필터링이 되어 있는지 등을 파악
- 타깃 호스트에 log가 남지 않는다
=> -sS
+ -sU : udp 포트 오픈여부
+ -sP : 호스트 살아있는지 확인
+ -sT : 모든 포트에 대해 connect 스캔
942.
nmap -sS -f 172.123.11.4
=> -sS TCP Half 스캔 사용, -f 방화벽을 통과할 수 있도록 패킷 분할
943.
공격대상 컴퓨터의 트래픽을 가로채기 위해 라우터나 이더넷 스위치에 거짓 하드웨어 주소 정보를 보낸다
=> ARP 스푸핑
+ pWWN : 각 파이버 채널 포트에 할당되는 고유한 전 세계적인 64비트 식별자
944.
원격지 서버의 스니핑 모니터링 프로그램 sentinel
스니퍼 탐지 예시
ARP 테스트: /sentinel -a -t 호스트주소
DNS 테스트: /sentinel -d -f dns주소 -t 호스트주소
Etherping 테스트: /sentinel -e -t 호스트주소
셋 다 테스트: /sentinel -t 호스트주소 -f DNS주소 -d -a -e
945.
어떠한 공격을 당한 후, arp -a 결과에서 Physical Address가 변경되었다
=> ARP 스푸핑, 패킷이 공격자가 설정해놓은 시스템으로 전송된다
946.
- 스위칭 허브는 로컬 네트워크를 여러 세그먼트로 나누어 쓸 수 있어 스니핑을 제한한다
- 네트워크 스니퍼 도구 : 와이어샤크, Dsniff 등
- 단, 원격에서 스니퍼 탐지 도구는 상용화X
947.
패킷 스니핑
- ARP 스푸핑 : 조작된 <IP주소, MAC 주소> 쌍이 테이블에 추가된다
- MAC 플러딩 : 스위치 MAC 주소 공간을 조작된 MAC 주소로 변경하여 스위치가 프레임을 모든 포트로 전달
- 수동적 스니핑 : 허브 또는 리피터 등으로 구성된 네트워크에서 특별한 설정 없이 스니핑
- 스위치 네트워크 : ARP 스푸핑, 포트 미러링, 탭 하드웨어를 이용하여 스니핑
948.
ARP 스푸핑
- ARP Reply 메시지 조작
- 타깃 시스템의 ARP 캐시 테이블의 디폴트 게이트웨이 mac 주소 -> 공격자 mac 주소로 변경
- 디폴트 게이트웨이의 ARP 캐시 테이블의 타깃 시스템 mac 주소 -> 공격자 mac 주소로 변경
949.
공격방법 : 순서제어번호 추측, Half 접속 시도, 접속 가로채기, RST로 접속 끊기, SYN/FIN 패킷 생성, 네트워크 데몬 정지, TCP 윈도우 위장 등
대응 : 외부 패킷 중 출발지 주소에 내부망 IP를 가지고 있는 패킷을 라우터등에서 패킷 필터링한다
=> IP 스푸핑
950.
IP 스푸핑 공격
1) 공격자는 A를 공격하여 외부 통신이 불가능하게 만든다
2) 공격자는 A와 신뢰관계인 B로 접속을 시도, B의 순서 제어번호 변화 패턴 관측
3) 공격자는 B에게 A인척 위장 접속 요청 SYN 패킷
4) B는 A에게 SYN/ACK 응답, 접속허용
5) 공격자는 추측된 순서제어번호와 함께 B에게 ACK 패킷
6) 공격자와 B 세션 연결.
951.
세션 하이재킹
- TCP 세션을 끊고 순서번호를 새로 생성해 세션을 빼앗고 인증 회피
- Brute-Force guessing을 통해 도용, 가로챔
952.
IP 스푸핑과 세션 하이재킹에서 공통으로 사용하는 기법
- 신뢰관계에 있는 두 시스템 찾기
953.
스텔스 모드 침입탐지시스템
- IDS 호스트에 네트워크 감시용과 일반용 두 개의 네트워크 인터페이스를 둔다
- 네트워크 감시용 인터페이스는 외부로 어떤 패킷도 내보내지 않는다
- 외부에 내컴퓨터의 존재를 숨긴다
954.
침입탐지시스템
네트워크 기반 IDS : 네트워크 장비에 연결하여 설치, 패킷캡처링 기반.
다중호스트 기반 : 호스트간의 통신을 통해 침입판정에 필요한 정보 교환
호스트 기반 IDS : 시스템 내부에 설치
955.
침입탐지시스템
- 침입탐지 처리, 정보가공, 침입보고
- 비인가 접근이나 해킹시도를 감지하여 시스템이나 관리자에게 통보하고 필요한 대응을 취함
956.
새로운 방식의 트로이목마 탐지
- 사용하지 않은 포트가 열려있는지 확인
- 레지스트리 검사하여 자동실행 내용 검사
- 설치하지 않은 프로그램이나 파일이 있는지 확인
957.
침입탐지시스템
오용탐지와 비정상행위 탐지에 공통으로 적용될 수 있는 기법
- 전문가시스템
+ 오용탐지 : 상태전이 분석
+ 비정상행위 탐지 : 통계적 방법, 데이터 마이닝
958.
이상탐지Anomaly
통계적 접근법
- 과거의 경험적 자료를 토대로 처리
- 행위를 관찰하고 각각 행위에 대한 프로파일 생성
- 프로파일들을 주기적으로 관찰하여 이상 측정
+ 특징 추출 : 특정 침입 패턴 추출
+ 비정상적인 행위 측정방법들의 결합 : 여러 비정상적인 행위 측정법을 사용하여 각각 결과를 통합하여 정상인지 비정상인지 측정
+ 예측가능한 패턴 생성 : time-based-rule을 사용해 각각 이벤트에 시간부여.
959.
비정상행위anomaly 탐지를 위한 수집 정보
- 자원 별 사용 패턴
- 사용자별 시스템 자원 사용 패턴
- 사용자 그룹별 시스템 자원 사용 패턴
+ 오용 침입탐지 : 시스템 침입행위 패턴
960.
네트워크 보안 솔루션에서 탐지되는 특정 패턴과 시계열 데이터 조합에 의한 보안 상관분석
=> 정책기반 상관분석
+ 시나리오 기반 상관분석 : 사이버 공격시나리오를 정함
+ 규칙기반 상관분석 : 특정 규칙 기반 사건의 선후관계 분석
+ 통계 상관분석 : 통계적 특징 분석
+ 시간 상관분석 : 시간 관계에 대하여 분석
961.
네트워크 기반 IDS
- 정상행위 프로파일과 현재 수집된 트래픽 정보 특징을 비교하여 판정
- 실제 발생한 침입을 탐지하지 못함 : False negative
962.
snort 탐지
- 네트워크 침입탐지 시스템
- 오버플로우, 운영체제 핑거프린팅, 위장공격, 스텔스 포트 스캔, cgi 공격, smb 탐색 등
( 사전 공격 탐지 안 됨 )
963.
snort 구성요소
1) Packet decoder : 패킷을 처리하여 각 레이어 헤더를 찾아 분리
2) Detection engine : 보안 관리자가 설정한 규칙대로 각각 패킷 분석
3) Logger : 로깅되는 내용과 경고 옵션 정의. 사람이 읽을 수 있는 포맷이나 압축된 형태로 저장
4) Alerter : 탐지된 패킷에 대해 필요시 경고를 보냄
964.
snort rule body 옵션
content : 검사할 문자열 지정
offset : 검사 시작 위치
distance : 패턴 매칭 후 몇 바이트 뒤부터 검사할 것인가
within : distance로부터 몇바이트까지 검사할 것인지의 범위
nocase : 대소문자 구분X
965.
snort Rule에 대한 정보 제공을 위해 사용되고 탐지에 영향이 없는 옵션의 명령어
=> msg
+ drop : 패킷 차단 후 로그 남김
+ reject : 차단하고 로그남기고 TCP RST 또는 ICMP 메시지 전송
966.
Snort 탐지 옵션
sid : 규칙을 분류, 식별하기 위한 ID
depth : offset부터 몇 바이트까지 검사할 것인지의 범위
967.
IDS Snort Rule
alert tcp any any -> any any ( flow: to_server; content:"|FFFF|"; offset:9; depth:2; msg:"";, sid: 1; )
=> FFFF 문자열을 10번째 바이트부터 2바이트내로 검사하는 Rule
968.
IPS 침입방지시스템 배경
- 차단, 우회경로를 통한 접근대응이 어려운 점이 방화벽의 한계
- 악성코드 확산 및 취약점 공격에 대한 대응 능력이 필요하였으므로
969.
중요 서비스에 대한 방화벽의 이중화 구성시 방화벽 링크 상태를 모니터링해 링크가 다운되었을 경우 경로 정보를 변경하도록 하는 네트워크 기능을 적용한다
=> Failover (Active 장비 - StandBy 장비)
+ LLCF : 적용된 장비중 상하위 한쪽이 죽으면 다른쪽 링크도 죽게함
+ DPDK : 고속패킷처리 데이터플레인 LIB + NIC 드라이버
970.
NAT
- 주소 고갈 문제 완화
- 사설 IP 주소와 특정 포트를 더해 하나의 공인 IP 주소로 변환하기도 함
- NAT를 사용하면 IP 주소를 trace 하기 어려워진다
- 3계층 프로토콜로 보는 것이 보편적이지만 경우에 따라 응용 계층이나 전송계층에서도 작동한다
971.
ISP로부터 할당받은 공인 IP 주소가 하나뿐일때 방화벽 구성시 적절한 NAT 종류
=> PAT ( 하나의 공인 IP를 다수의 사설 IP가 포트번호로 구분하여 주소를 매핑하는 방법 )
972.
침입차단시스템
- 가장 긴 마스크 매칭 : 라우팅 테이블이 가장 긴 마스크에서 짧은 마스크 순으로 정렬되어 적용된다
973.
DNS 서비스 : 존파일 전송 또는 메시지 정보가 512바이트보다 클 경우 TCP를 사용. 그 외 UDP
974.
방화벽의 동적 패킷 필터링
- 활성 접속의 상태를 감시하여, 과거에 통과한 요구 패킷에 대응하는 패킷만 통과시킬 수 있다
975.
- 애플리케이션 게이트웨이 방식 방화벽 : 응용계층에서 동작, 사용자인증O, 서버 부하, 서비스별로 프락시 필요, 투명성X
- 서킷 게이트웨이 방식 방화벽 : 프락시 하나만 사용
- 패킷 필터링 : 사용자인증X, 패킷 IP주소와 헤더의 포트정보 기반
976.
UTM, DLP, SSL, VPN, anti APT 등 다양한 기능을 통합해 지원하며 레이어 7까지 제어하고 암호화 트래픽 제어 가능한 보안 시스템
=> 차세대방화벽 NGFW
+ WIPS : 비인가 무선단말기 접속을 탐지 및 차단하는 솔루션
977.
듀얼홈드 게이트웨이와 스크린 라우터라는 분리된 라우터를 혼합하여 사용하는 시스템
=> 스크린 호스트 게이트웨이
( 배스천 호스트 : 내외부 네트워크 시스템 인증 사용자 인증, 서비스 인증 )
( 라우터 : 내외부 패킷 통과여부 검사, 패킷은 배스천 호스트를 통해서만 전달 )
( 패킷필터링 또는 스크리닝 라우터 한 포트를 외부네트워크에, 다른 포트는 내부 네트워크에 연결 )
978.
LAND 공격을 막기 위한 환경 설정
iptables -A INPUT -s 로컬주소/대역 -j DROP
979.
관리자가 자신의 PC에서 리눅스 서버에 Secure Shell 접속하기 위한 규칙
iptables -A INPUT -p -tcp -s 관리자IP주소 --dport 22 -j ACCEPT
980.
원격 컴퓨터로부터 ping 명령에 대한 응답으로 Destination Unreachable를 되돌려주는 iptables 타깃 명령어
=> REJECT
( DROP 일 때는 응답하지 않음 )
981.
리눅스 서버 커널에 기본으로 설정된 iptables 설정 내용을
/etc/iptables.tmp 파일에 저장하는 명령어
=> iptables -save > /etc/iptables.tmp
+ 복구시에는 iptables -restore
982.
vpn
- IPSec VPN은 수 Gbps에서 많게는 10Gbps까지 속도가 나지만, SSL VPN은 기가급 장비가 전무한 상태
- SSL은 세밀한 기능을 제공하는 대신 속도가 느리다. 설치운영은 쉬운편
983.
RADIUS 프로토콜의 기본기능
- 인증, 계정관리, 권한부여
+ AAA : RADIUS 같은 프로토콜로 구현한다. 인증, 권한검증, 과금 서비스 제공
984.
IPSec
- 터널모드 : 송수신측 장비에서 암복호화
- 전송모드 : 송수신 호스트에서 암복호화, 개별 사용자 설정 부담이 큼. IP 헤더와 TCP/UDP 사이에 ESP 헤더 위치.
985.
IPSec VPN
- 인증, 데이터 암호를 위한 키 관리 메커니즘 : IKE
- AH 프로토콜 : 무결성, 출처 인증, 재사용 공격 방지
- ESP 프로토콜 : 기밀성, 터널모드에서 New ip 추가됨
- 두 통신 당사자 사이에 SA는 각 하나씩 두 개의 SA가 정의되어야 한다 (SA는 단방향성이므로)
986.
IPSec SA 매개변수
- SPI, AH/ESP Information, Sequence Number, Destination Address, Protocol Mode, Lifetime 등
987.
패킷이 전송되는 과정에서 사전에 역추적 경로정보를 생성하여 패킷에 삽입하거나 목적지로 전달하는 것
주기적으로 관리하면서 해킹 공격이 발생하면 이미 생성, 수집된 정보를 이용해 해킹 공격 근원지를 판별하는 기술
=> Proactive IP Traceback
+ Reactive 역추적 기술 : 피해 시스템에서 해킹 트래픽 연결에 대한 공격경로를 홉 단계로 추적
+ Network 기반 역추적 기술 : 공격자를 Chain of Connections들을 통해 추적
+ Host 기반 역추적 기술 : 분산환경에 적합화된 분산침입탐지시스템 도메인 내 사용자의 Login 및 연결 경로 추적
988.
UTM
- 다양한 보안 솔루션을 하나의 장비에 탑재하여 운영하는 ALL IN ONE 통합보안 솔루션
- 복합 해킹 위협에 효과적으로 대응
- 보안정책, 필터링 시그니처를 통합관리하여 일관성과 운영 효율성 제공
989.
NAC
- Agent 방식 : 단말 상태점검에 강점 / Agentless 방식 : 네트워크 트래픽에 강점
- 앤드포인트 보안문제 해결을 위해 고려된 방식
- 네트워크 접속 통제 기술
- 접근제어를 위한 사용자 인증, 백신관리, 패치관리 등 무결성 체크
990.
PMS : 중앙관리형 소프트웨어 관리 프로그램
- 자동로그인 기능은 보안취약점이 될 수 있다
991.
QRadar, Arcsight, APLUNK, enVision
=> SIEM의 대표 솔루션들
+ NMS : 망관리 업무를 지원하기 위한 컴퓨터 시스템
992.
폐쇄적이었던 네트워크 장비들을 열린 구조로 바꾸고 소프트웨어로 제어할 수 있는 가능성을 통해 네트워크 구조의 새로운 패러다임을 이끌고 있다. 트래픽 미세흐름 조정, QoS 보장 기술 확보 등.
=> SDN ( 네트워크 자원의 개방화 및 가상화를 통해 소프트웨어로 제어 )
+ EDR : 앤드포인트 탐지 및 대응
+ NFV : 네트워크 기능 가상화. 라우터, 방화벽 등을 가상화한다
993.
FTP 전송모드
Active 모드
- 서버는 20, 21 포트 사용
- 두 번째 연결은 서버 -> 클라이언트
- 클라이언트 방화벽에 막힐 수 있음
994.
FTP 제어연결 : 21번 포트 사용
995.
수동모드 FTP
제어연결: 서버 21 포트
데이터연결: 서버와 클라이언트 모두 1024 이후 포트 사용
996.
TFTP
- UDP(69 포트) 사용
- 자체 디스크를 갖지 않는 워크스테이션이 부팅에 필요한 데이터를 받아오기 위해 사용
- 사용자인증, 데이터수신을 위한 명령어 등 지원x
- secure mode 제공
997.
TFTP는 사용자확인이나 비밀번호 확인 절차가 없다
998.
SCP : 네트워크상에서 안전하게 파일을 복사할 수 있게 해주는 유틸리티
Samba : 운영체제간 자료및 하드웨어 공유를 위한 프로토콜. 윈도우-리눅스 등.
+ xhost : 호스트 이름이나 사용자 이름을 X 서버에 접속이 허용된 목록에 추가삭제하는 프로그램
999.
proFTP 서버 보안환경설정
TimeoutIdle : 로그인 후 일정시간동안 작동없을때 연결접속 종료
TimeoutSession : 일정시간 후 무조건 접속종료
ServerIdent On "" : 로그인 후 보여지는 메시지. 버전 정보를 숨길 수 있다
RootLogin : On/Off로 제어
User Username : 데몬 동작 계정
Group Gname : 데몬 동작 그룹명
MaxClients : 최대 접속허용
1000.
FTP Bounce 공격
- FTP 서버가 데이터 전송시 목적지를 검사하지 않는 문제점 이용
- 익명 FTP 서버를 경유해 호스트 스캔
- FTP PORT 명령
- 임의의 네트워크 접속 릴레이
+ Anonymous FTP : 익명사용자가 쓰기권한이 있을때 취약점
1001.
FTP Bounce 공격 취약점
- Port 20번과 21번이 분리되어 있는 것을 이용하여 명령채널을 통해 파일전송을 요청한 클라이언트와, 데이터채널을 통해 전송받는 클라이언트가 분리될 수 있다
1002.
TFTP
- 사용자 인증 없음
- 공격 대응 : secure 모드
1003.
FTP
- 익명 사용자가 서버에 쓰기 권한이 있을 때 악성코드 생성 가능
1004.
FTP 취약점
- Port stealing, Bounce attack, Brute force attack
1005.
FTP
- ftp 디렉터리의 소유자가 ftp인 경우, .rhost에 + + 을 등록하여 업로드하면 rlogin 방법으로 공격할 수 있다
- /ftp/etc 권한은 111 (실행권한만 부여)
- /ftp 권한은 555 (쓰기권한 삭제)
1006.
ftp
- 익명 ftp는 불필요한 경우 서비스 제거
- /etc/passwd 파일에서 ftp 또는 익명 계정 삭제
- 익명 사용자의 루트 디렉터리 소유자와 퍼미션 관리
1007.
FTP 명령어
- PASS : 패스워드 전송
- PWD : 작업 디렉터리 표시
- CWD : 디렉터리 변경
- STOR : 원격지 파일 저장
- RMD : 원격지 디렉터리 제거
1008.
이메일 전송과정
발신자 -> MUA -> MTA -> 라우팅 -> MTA -> MDA -> MUA -> 수신자
1009.
IMAP
- 포트 143번 사용
- IMAP3는 220번 포트 사용
1010.
메일 서버의 구성요소
- IMAP, POP3, MDA, MTA
+ SPF : 메일 서버 등록제
+ URLBL : URL 기반 실시간 불법 이메일 스팸차단
1011.
SMTP
- RCPT 명령 : 클라이언트가 메시지의 의도된 수신자가 누구인지 알기 위해 사용
1012.
SMTP
- MAIL : 메일 송신자의 주소를 지정
+ EHLO : 수신자에게 인사하면서 송신자가 SMTP 확장기능을 지원한다고 알림
+ 클라이언트는 MAIL FROM을 통해 송신자가 누구인지 알 수 있다
1013.
PGP
- 공개키 암호방식, 전자서명
- 메일 내용과 첨부파일 암호화
1014.
S/MIME
- 전자서명, 메시지 암호화, 암축, 이메일 호환성
- CA 없이도 실현 가능 (PEM은 CA를 전제)
- 공개키 암호화
1015.
S/MIME 메시지 형식
- enveloped data 동봉
- clear-signed data 서명+서명만 bsse64부호화
- signed and enveloped data 서명+동봉
- signed data 서명
1016.
악성코드 메일 차단
라우터에서의 악성메일 차단 : class-map, policy-map
메일서버 MTA : 패턴 매칭 차단
+ SPF : 발송정보를 확인하는 기술로 악성코드 차단과는 거리가 있음
1017.
스팸메일 방지 기술
- SPF(발신자 정책 프레임워크), RBL(실시간 스팸차단 리스트), Sanitizer(promail ruleset)
+ qpopper : 유닉스용 pop3 데몬
1018.
Spam Assassin : 들어오는 메일을 미리 설정 해 둔 패턴에 따라 삭제하거나 분리시키는 스팸 필터링 도구
이 도구의 필터링 분류기준
- 헤더검사, 본문내용, 첨부파일만 필터링 가능, 베이시언 필터링, 최근버전의 경우 DNS 기반 필터링
1019.
위와 거의 동일한 문제
1020.
메일헤더 인젝션 공격
- 본문 변조, 새로운 필드가 추가되거나, 부적절한 파일이 첨부될 수 있다
1021.
이메일 서비스 대상 공격 유형
- 트로이목마, Active contents 공격, 버퍼 오버플로우 공격
+ DNS 싱크홀 : 악성봇 탐지, 감염 컴퓨터와 조종자간 접속 차단.
1022.
메일서버sendmail 취약점 공격
- 버퍼 오버플로우 공격, 메일 서버 릴레이, 자원 고갈 공격
+ 액티브 콘텐츠 공격 : 메일 클라이언트 취약점을 이용한 공격기법
+ 트로이목마도 클라이언트 취약점 이용
1023.
SMTP 릴레이 기능 제한 여부 점검
- sendmail.cf 설정파일 주석 제거
- /etc/mail/access에 접근제한 설정
- 수정하거나 생성시 makemap 명령으로 DB 파일 생성
1024.
전자우편 헤더에서 확인할 수 있는 항목
- 발신자가 이용한 메일 서버, 메일을 보낸 시각, 보낸 사람의 ip 주소
1025.
SSL/TLS
- 응용계층 프로토콜 안전성 보장
- SSL은 Record와 Handshake 레이어로 2계층 구분
- https:// 로 표기
- 상호인증 서비스
1026.
SSL/TLS의 취약점을 이용한 공격
: BEAST, CRIME
1027.
SSL/TLS
- Cipher Suite : 공개키 암호 시스템, 대칭키 암호 시스템, 해시 알고리즘 등 3개의 정보로 구성
- 상호인증을 위해 전자인증서는 비대칭키 암호 시스템 사용. 대칭키는 기밀성 서비스를 위함
- 클라이언트-서버 신원확인을 위해 전자인증서 기반 인증 수행
1028.
SSL 핸드셰이크 ClientHello 매개변수
- 클라이언트의 난수, 세션 ID, SSL 프로토콜 버전, 압축방법, 알고리즘 목록 그룹
1029.
SSL
- 서버 인증은 필수지만 클라이언트의 전자인증서를 이용한 인증은 선택사항
1030.
서버가 클라이언트로만 보내는 메시지
=> CertificateRequest
+ 클라이언트->서버 : CertificateVerify
1031.
SSL 프로토콜에서 서버를 인증할 필요가 있는 경우
서버는 ServerKeyExchange 대신 인증서를 보내기 위해 Certificate 메시지를 사용한다
( 메시지는 X.509 형태 인증서 목록을 포함한다 )
1032.
OpenSSL 라이브러리에서 서버 메모리 중 64KB 데이터에 대해 공격자가 덤프를 얻을 수 있게 하는 취약점
=> Heartbleed
1033.
클라이언트는 HTTP에 접속하고 있지만 웹서버는 클라이언트가 HTTPS로 접속하고 있다고 착각하게 만든다
=> SSL Strip Attack
( 공격자가 중간에 SSL로 보호되는 세션을 벗겨낸다 )
+ DROWN : SSLv2 취약점을 악용한 공격
1034.
SSL/TLS 취약점
- logjam(중간자 공격, TLS연결을 512비트 수출 등급 암호화로 강제 다운그레이드), Freak(수출용 RSA로 다운그레이드), Poodle(SSLv3을 사용하도록 강제)
+ 스펙터Spectre : cpu 오류를 악용한 취약점
1035.
안드로이드앱의 SSL 연결시 ca 등록을 통한 중간자 공격을 방어하기 위한 기술
=> SSL Pinning ( 앱소스에 신뢰할 인증서 정보를 같이 전달 )
1036.
웹서버 보안
- 디렉터리 리스팅 제거, S.MIME 설정, 접근제어 설정
(기본인증은 취약하므로 SSL/TLS 인증을 추가하는 것이 바람직)
1037.
홈페이지 보안
- 업로드 파일에 대한 실행 권한을 제거한다
- 불필요한 메소드 ( PUT, DELETE, OPTIONS 등 ) 비활성화
1038.
- 관리자 페이지 URL이 /admin.php 같은 추측하기 쉬운 URL일 경우 쉽게 접근할 수 있다
1039.
관리자 페이지 노출 취약점 제거
- 추측하기 쉬운 관리자 페이지 경로 사용X
- 추측하기 쉬운 포트 사용X
- 로그인 후 식별된 하위 페이지 URL을 새 세션에서 입력할 때 인증과정을 거치는지 확인한다
1040.
아파치 웹서버 접근권한
httpd : 511
passwd : 640
httpd.conf : 640
1041.
웹서버 보안
- 웹서버 데몬은 root가 아닌 다른 웹서버 관리자 권한(nobody 등)으로 분리한다 (침해사고 범위를 줄이기 위함)
- 웹 서비스 영역과 시스템 영역 분리
- 심볼릭 링크, aliases, 바로가기 등 금지
- 자동 디렉터리 리스팅 금지
- 샘플파일 등 제거
1042.
아파치 웹서버 httpd.conf
- Listen : 서비스 포트. 기본 80
- ServerAdmin : 에러발생시 표기할 관리자 메일주소
- TimeOut : 통신이 없을시 타임아웃시키고 끊을 시간을 초단위로 설정
- Limit : 메소드(GET, POST 등)에 대한 접근을 인증을 통해 허용시킬지 결정
1043.
아파치 보안모듈 ModSecurity
- 웹 서버 차원의 침입탐지 및 차단 기능
- POST 방식에 의해 전송되는 콘텐츠 검사 가능
- SQL 인젝션, XSS, 버퍼 오버플로우 등에 대응
+ 요청 URL을 정규식처리하여 수정하는 것은 웹방화벽 정책을 우회할 수 있는 문자열들을 탐지하기위함
1044.
중복된 폼을 사용하거나, 폼 햄들링 로직이 최신이 아닐 때 오작동을 일으키는 공격
=> 스트럿츠Struts ( 안전하지 않은 구조화된 데이터를 객체로 재구성하는 과정에서 발생하는 취약점 )
+ HTTP Splitting 응답분할 : CR이나 LF같은 개행문자가 존재하면 http 응답이 두 개 이상으로 분리될 수 있고, 이를 이용해 XSS 및 캐시 포이즈닝 공격을 수행
1045.
웹 로그 보안
- IIS 로그 : LogFiles 형태
- 아파치 로그 : access_log, error_log 형태
- 로그분석 : 특정 파일에 대한 연속적 요청, 웜 로그 패턴, 취약점 분석프로그램에 의한 로그패턴 등
- SetEnvIF 같은 환경설정으로 특정 URL에 대한 로그를 별도저장 가능
1046.
아파치 웹서버 로그
- 400 에러의 경우 요청한 url 정보와 함께 ACCESS_LOG 파일에 기록된다
+ default.ida?xxx 같은 요청은 웜에 의한 공격 시도일 가능성이 있다
1047.
아파치 웹서버 구성파일 httpd.conf
로그파일 포맷 지정 : LogFormat
이 때 로컬 서버 ip 주소는 %A 로 지칭한다
+ %h : 원격 호스트 이름
+ %l : 클라이언트 식별자
+ %a : 액세스한 IP 주소
1048.
아파치 버전 정보
Full : 전부 표기
OS : OS 정보 표시
Prod : Apache 라고만 표기함
1049.
크롤러 : 검색엔진에서 자동으로 사이트를 수집 및 등록하는 것
크롤러를 차단하기 위해 robots.txt 를 사용한다
1050.
웹을 통한 sql injection 대응
- 원시 odbc 에러를 사용자가 볼 수 없도록 코딩
- 데이터베이스 내장 프로시저 사용
- 데이터베이스 애플리케이션을 최소권한으로 구동
1051.
SQL Injection 취약점 대응
- 가능한 외부 인터프리터를 사용하지 않는다 (인터프리터 방식 회피)
- 웹 방화벽을 웹 서버 앞단에 두고 미리 필터링
- 사용자 입력값을 모두 검증
1052.
sql 인젝션
- 입력값 검증은 화이트리스트 정책이 보다 높은 보안성을 제공
1053.
content나 time 기반 쿼리 결과의 참, 거짓 형태를 가지고 데이터베이스 정보를 판단하는 형태
=> blind sql injection
+ 에러기반 : 에러값을 기반으로 점진적으로 정보획득
+ stored 프로시저 : 저장 프로시저
+ form sql 인젝션 : form 기반 인증 애플리케이션 취약점이 있을때 쿼리문 조건을 조작하여 인증우회
1054.
XSS 대응책
- 외부 입력값 파라미터나 게시판 등의 FORM에 의해 서버의 처리 결과를 사용자 화면에 출력하는 경우 JSTL을 이용하는 것이 안전 ( 또는 잘 만들어진 외부 XSS 방지 라이브러리, 스크립트 문자열 제거 등)
JSTL 예시 : <c:out vlaue="${content}" />
1055.
CSRF
- XSS공격과 동일한 형태로 사용되기도 함
- 서버는 공격자 명령을 타겟 요청으로 인식하고 실행
- 사용자 의도와 무관하게 공격자가 의도한 행위 실행
1056.
CSRF 크로스사이트 요청 위조 보안대책
- 폼 작성시 GET 보다는 POST 방식 사용
- 폼과 입력 처리 프로그램 사이에 토큰 사용
- 중요기능은 사용자 세션검증, 재인증 유도
1057.
웹을 통한 파일업로드 취약점
- jsp, asp, php 등 확장자 파일 업로드가 가능한지 검사
1058.
파일업로드 취약점이 있을 때 저장폴더에 필요한 권한
- 공격자는 스크립트 실행 권한이 있어야 공격이 이루어짐
1059.
<% eval request("cmd") %>
=> 웹쉘 공격을 의심할 수 있다
1060.
부적절한 파라미터 조작 대응방법
- 데이터 유형 검증
- 최소/최대길이 검증
- Null 값 허용 여부 검증
- 허용된 문자셋 검증
- 중복 허용 여부 검증
- 숫자 범위 검증
- 필요한 인자와 불필요한 인자 검증 등 ...
( 무차별 대입 검증은 부적절 )
'(필기) 정보보안기사&산업기사' 카테고리의 다른 글
보안기사 기출문제 2023 1회 (0) | 2024.06.23 |
---|---|
필수기출1200 ~1200 (0) | 2024.06.20 |
필수기출1200 ~ 900 (0) | 2024.06.18 |
필수기출1200 ~ 710 (0) | 2024.06.17 |
필수기출1200 ~ 506 (0) | 2024.06.16 |