2022. 6. 18. 17:00ㆍ정처기(필기)/정보시스템구축관리
(1) 서비스 공격 유형
1. DoS 공격
- 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격
▼ DoS 공격의 종류
- SYN 플러팅 : TCP 프로토콜의 구조적인 문제를 이용한 공격, 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격, 공격자는 ACK를 발송하지 않고 계속 새로운 연결 요청을 하게 되어 서버는 자원할당을 해지하지 않고 자원만 소비하여 자원이 고갈됨
- UDP 플러팅 : 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP)를 생성하게 하여 지속해서 자원을 고갈시키는 공격, 변조되어 공격자에게 전달되지 않아 대기함
- 스머프/스머핑 : 출발지 주소를 공격 대상의 IP로 설정하여 네트워크 전ㅊ에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비시키는 공격
- 죽음의 핑(PoD) : ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP 단편화가 발생하고, 수신 측에서는 단편화된 패킷을 처리하는 과정에서 많은 부하가 발생하거나, 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스를 하지 못하도록 하는 공격기법
- 랜드 어택 : 출발지 IP와 목적지 IP를 같은 패킷 주로소 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격기법
- 티어 드롭 : IP 패킷의 재조합 과정에서 잘못된 Fragment Offset정보로 인해 수신시스템이 문제를 발생하도록 만드는 DoS 공격
- 봉크/보잉크 : 프로토콜의 오류 제어를 이용한 공격기법으로서 시스템의 패킷 재전송과 재조립이 과부하를 유발
- 핑 플로드 : 특정 사이트에 매우 많은 ICMP Echo를 보내면, 이에 대한 응답을 하기 위해 시스템 자원을 모두 사용해버려 시스템이 정상적으로 동작하지 못하도록 하는 공격 기법
2. DDoS 공격
[1] DDoS 공격의 개념
- DoS의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법
- 해커들이 취약한 인터넷 시스템에 대한 액세스가 이뤄지면, 침입한 시스템에 소프트웨어를 설치하고 이를 실행시켜 원격에서 공격을 개시한다.
▼ DDoS 공격 구성요소
- 핸들러 : 마스터 시스템의 역할을 수행하는 프로그램
- 에이전트 : 공격 대상에 직접 공격을 가하는 프로그램
- 마스터 : 공격자에게서 직접 명령을 받는 시스템
- 공격자 : 공격을 주도하는 해커의 컴퓨터
- 데몬 프로그램 : 에이전트 시스템의 역할을 수행하는 프로그램
▼DDoS 공격 도구
- Trinoo : 많은 소스로부터 통합된 UDP flood 서비스 거부 공격을 유발하는 데 사용되는 도구, 몇 개의 서버들과 많은 수의 클라이언트들로 이루어짐
- Tribe Flood Network : TFN은 trinoo와 거의 유사한 분산 도구로 많은 소스에서 하나 혹은 여러 개의 목표 시스템에 대해 서비스 거부 공격을 수행할 수 있는 도구
- Stacheldraht : 분산 서비스 거부 에이전트 역할을 하는 Linux 및 Solaris 시스템용 멀웨어 도구
▼DDoS 공격의 대응 방안
- 차단 정책 업데이트 : 공격 규모를 확인하여 가용성이 침해될 수 있는 지점을 확인 및 데이터 기반 차단 정책 업데이트
- 좀비PC IP 확보 : 공격자는 대부분 Source IP를 위조하므로 IP 위변조 여부를 확인하는 절차 필요
- 보안 솔루션 운영 : 홈페이지에 대한 모의해킹 등을 수행하여 보안 유지
- 시스템 패치 : 시스템에 존재하는 취약점을 패치를 통해 해결
3. DRDoS 공격
[1] DRDoS 공격의 개념
- 공격자가 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송하고 공격 대상자는 반사 서버로부터 다량의 응답을 받아서 서비스 거부가 되는 공격이다.
▼DRDoS 공격 절차
- 출발지 IP 변조 : 공격자는 출발지 IP를 공격 대상자 IP로 Spoofing 하여 SYN 패킷을 공격경유지 서버로 전송
- 공격 대상자 서버로 응답 : SYN 패킷을 받은 경유지 서버는 Spoofing 된 IP로 SYN/ACK을 전송
- 서비스 거부 : 공격 대상자 서버는 수많은 SYN/ACK를 받게 되어 서비스 거부가 됨
▼ DRDoS 대응 방안
- ISP가 직접 차단한다.
- 반사 서버에서 연결을 완료하지 않은 Syn 출처 IP를 조사하여 블랙 리스트로 운용, 공격 서버를 사전에 차단한다.
- 공격 대상이 되고 있는 공격 대상 서버 IP와 Port를 변경, 필터링 하여 운영한다.
4. 애플리케이션 공격의 종류
공격기법 | 설명 |
HTTP GET 플러딩 | Cache Control Attack 공격 과도한 GET 메시지를 이용항 웹 서버의 과부하를 유발시키는 공격 |
Slowloris | HTTP GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 \r\n\r\n\을 전송하지 않고, \r\n만 전송하여 대상 웹 서버와 연결상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격 |
RUDY | 요청 헤더의 Content-Length를 비정상적으로 크게 설정하여 메시지 바디부분을 매우 소량으로 보내 계속 연결상태를 유지시키는 공격 |
Slow HTTP Read DoS |
TCP 윈도 크기와 데이터 처리율을 감소시킨 상태에서 다수 HTTP 패킷을 지속적으로 전송하여 대상 웹 서버의 연결상태가 장시간 지속, 연결자원을 소진시키는 서비스 거부 공격 |
Hulk DoS | 공격자가 공격대상 웹 사이트 웹 페이지 주소를 지속적으로 변경하면서 다량으로 GET 요청을 발생시키는 서비스 거부 공격 |
Hash DoS | 웹 서버는 클라이언트 HTTP 요청을 위해 파라미터를 테이블로 주로 사용하지만 공격자는 이 특성을 악용하여 조작된 많은 수의 파라미터를 POST 방식으로 웹 서버로 전달하여 다수의 해시 충돌을 발생시켜서 자원을 소모시키는 서비스 거부 공격 |
5. 네트워크 서비스 공격
- 네트워크 스캐너, 스니퍼 : 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 공격자가 사용하는 공격 도구
- 패스워드 크래킹
- 사전 크래킹 : 시스템 또는 서비스의 ID와 패스워드를 크랙하기 위해서 패스워드가 될 가능성이 있는 단어를 파일로 만들어 놓고 이 파일의 단어를 대입하여 크랙하는 공격기법
- 무차별 크래킹 : 패스워드로 사용될 수 있는 영문자, 숫자, 특수문자 등을 무작위로 패스워드 자리에 대입하여 패스워드를 알아내는 공격기법
- 패스워드 하이브리드 공격 : 사전 공격과 무차별 대입공격을 결합하여 공격하는 기법
- 레인보우 테이블 공격 : 패스워드별로 해시값을 미리 생성해서 테이블에 모아 놓고 크래킹하고자 하는 해시값을 테이블에서 검색해서 역으로 패스워드를 찾는 공격기법
- IP 스푸핑 : 서버에 대한 인증되지 않은 액세스 권한을 입수하는 데 사용하는 기법
- ARP 스푸핑 : 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 기법
- ICMP Redirect 공격 : 3계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격
- 세션 하이재킹 : 케빈 미트닉이 사용했던 공격 방법 중 하나로 TCP의 세션 관리 취약점을 이용한 공격기법
6. 시스템 보안 위협
[1] 버퍼 오버플로우 공격
- 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 이로 인해 프로세스의 흐름을 변경시켜서 악성 코드를 실행시키는 공격기법
▼ 버퍼 오버플로우 공격 유형
- 스택 버퍼 오버플로우 공격 : 메모리 영역 중 Local Value나 함수의 Return Address가 저장되는 스택 영역에서 발생하는 오버플로우 공격
- 힙 버퍼 오버플로우 공격 : 프로그램 실행 시 동적으로 할당되는 힙 영역에 할당된 버퍼 크기를 초과하는 데이터를 입력하여 메모리의 데이터와 함수 주소 등을 변경, 공격자가 원하는 임의의 코드를 실행하는 공격기법
▼ 버퍼 오버플로우 공격 대응 방안
대응 방안 | 설명 |
스택 가드 활용 | 카나리라고 불리는 무결성 체크용 값을 복귀 주소와 변수 사이에 삽입해 두고, 버퍼 오버플로우 발생 시 카나리 값을 체크, 변할 경우 복귀 주소를 호출하지 않는 방식으로 대응 |
스택 쉴드 활용 | 함수 시작 시 복귀 주소를 Global RET라는 특수 스택에 저장 |
ASLR | 메모리 공격을 방어하기 위해 주소 공간 배치를 난수화하고, 실행 시마다 메모리 주소를 변경시켜 버퍼 오버플로우를 통한 특정 주소 호출을 차단 |
안전한 함수 활용 | 버퍼 오버플로우에 안전한 함수 : strncat(), strncpy(), fgets(), fscanf(), vfscanf(), snprintf(), vsnprintf() |
[2] 백도어
- 어떤 제품이나 컴퓨터 시스템 혹은 암호시스템 알고리즘에서 정상적인 인증 절차를 우회하는 기법
▼ 백도어 탐지기법
- 프로세스 및 열린 포트 확인 : TCPView로 열린 포트를 확인하고 백도어 탐지
- SetUid 파일 검사 : 새로 생성된 SetUid 파일이나 변경된 파일 확인을 통해 백도어 탐지
- 백신 및 백도어 탐지 툴 활용 : 백신 프로그램 및 백도어 탐지 툴을 이용해서 의심 프로그램 및 백도어 유무 검출
- 무결성 검사 : 리눅스에서 Tripwire 툴을 이용한 무결성 검사 실시
- 로그 분석 : wtmp, secure, lastlog, pacct, history, messages 사용하여 로그 분석 후 백도어 탐지
▼ 주요 시스템 보안 공격기법
- 포맷 스트링 공격 : 포맷 스트링을 인자로 하는 함수의 취약점을 이용한 공격으로 외부로부터 공격된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생하는 취약점 공격기법
- 레이스 컨디션 공격 : 둘 이상의 프로세스나 스레드가 공유자원을 동시에 접근할 때 접근 순서에 따라 비정상적인 결과가 발생하는 조건/상황
- 키로거 공격 : 컴퓨터 사용자의 키보드 움직임을 탐지해서 저장
- 루트킷 : 시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이 목마를 설치
7. 보안 공격기법
[1] 보안 방어기법
- 사이버 킬체인 : 록히드 마틴의 사이버 킬체인은 7단계 프로세스별 공격분석 및 대응을 체계화한 APT 방어 분석 모델
- 난독호 : 코드의 가독성을 낮춰 프로그램 코드의 일부 또는 전체를 변경하는 기법
[2] 보안 관련 도구
- Tripwire : 크래커가 침입하여 시스템에 백도어를 만들어 놓거나 설정 파일을 변경해 놓았을 때 이러한 사실을 알 수 있게 분석하는 도구
- Ping : 인터넷으로 접속하려는 원격 호스트가 정상적으로 운영되고 있는지를 확인하는 목적
- tcpdump : 네트워크 인터페이스를 거치는 패킷의 내용을 출력해주는 프로그램
- cron : 유닉스/리눅스에서 시간 기반으로 정해진 작업을 스케줄링 하기 위한 소프트웨어 유틸리티
- netcat : TCP, UDP 프로토콜을 사용하는 네트워크 연결에서 데이터를 읽고 쓰는 유틸리티 프로그램
(2) 로그 분석
1. 로그 분석의 개념
- 로그 분석은 시스템 내에 존재하는 공격흔적, 피해 상황 등의 이상 현상을 로그를 통해 면밀히 분석하는 과정이다.
- 관리자가 가장 먼저 보는 것이 로그 파일이며, 시스템이 해킹을 당했다고 느낄 때 해킹 흔적 등을 확인하기 위해서 우선적으로 로그파일을 분석한다.
2. 리눅스 형식의 로그
[1] 로그 저장 경로
- 대부분의 로그 파일 저장 경로는 'var/log/'에 저장됨.
- 로그 파일은 일반적으로 텍스트 형식으로 저장된다.
▼ 로그 저장 경로
- /usr/adm -> 초기 유닉스, 9버전
- /var/adm -> 최근 유닉스 계열(HP 10버전 이후)
- /var/log -> 일부 BSD계열, 리눅스 계열
- /var/run -> 일부 리눅스 계열
[2] 로그 파일의 유형
- 보안 도구(tripwire, nmap 등) 를 설치하고 나면 로그 파일들이 새로 생성된다.
- 기본 로그는 syslogd에 의해서 제어되며 syslogd의 설정 파일 /etc/syslog.conf 파일을 수정하여 저장 위치와 저장 파일명을 변경할 수 있다.
▼ 리눅스 로그파일 유형
- 커널 로그 -> /dev/console -> kernel -> 콘솔 화면 기록 로그
- 시스템 로그 -> /var/log/messages -> syslogd -> 리눅스 커널 메인 로그
- 보안 로그 -> /var/log/secure -> xinetd -> 보안 인증 관련 로그
- 메일 로그 -> var/log/maillog -> sendmail -> 메일 로그
- 크론 로그 -> /var/log/cron -> crond -> 크론 배치 로그
- 부팅 로그 -> /var/log/bott.log -> kernel -> 시스템 부팅 시 로그
- 커널 부트 메시지 로그 -> /var/dmesg -> kernel -> 부팅 당시 메시지 로그
- 전체 로그인 로그 -> /var/log/wtmp -> kerml -> 시스템 전체 로그인 기록 저장
- 현재 로그인 로그 -> /varlog/utmp -> ftpd -> 현재 로그인 사용자 기록
- FTP 로그 -> /var/log/xferlog -> httpd -> FTP 로그 저장공격
- 웹 액세스 로그 -> /var/log/httpd/access_log -> httpd -> 웹 서버 접근 로그 저장
- 웹 에러 로그 -> /var/log/httpd/error_log -> httpd -> 웹 서버 에러 저장
- 네임서버 로그 -> /var/log/named,log -> named -> 네임 서버 로그
[3] 로그 메시지 레벨
- 로그 메시지의 레벨에 따라서 로그 기록의 범위를 조정할 수 있다.
▼로그 메시지 레벨
- 비상 : 시스템이 전면 중단되는 패닉 상태, 전체 공지가 필요한 상황
- 경보 : 즉각적인 조치가 필요한 상황, 시스템 데이터베이스 오류
- 심각 : 심각 : 하드웨어 등의 심각한 오류가 발생한 상황
- 에러 : 일반적인 에러/오류가 발생한 상황
- 경고 : 경고 목적 메시지
- 안내 : 에러/오류는 아니지만 관리자의 조치가 필요한 상황
- 정보 : 의미 있는 정보 관련 메시지
- 디버그 : 디버깅 목적 메시지
▼ 로그 분석 시 사용하는 파일 및 명령어
로그 파일명 | 사용 명령어 | 설명 |
/var/log/lastlog | lastlog | /etc/password 파일에 정의된 모든 계정의 최근 접속 정보를 확인 가능. 사용자의 최근 로그인 시간을 사용자 이름 터미널, IP 주소, 마지막 로그인 시간 정보 저장 |
/var/log/btmp | lastb | 로그인 시도 5번 이상 실패한 로그 기록을 확인 가능 계정명, 접속 콘솔/터미널 유무, IP, 시간 정보 저장 |
/var/account/pacct /var/account/acct |
lastcomm | 시스템에 들어온 사용자가 어떤 명령어를 실행시키고 어떠한 작업을 했는지에 대한 사용 내역 등이 기록됨 |
해당 계정의 ~/.bash_history |
history | 사용자별로 입력했던 명령어들이 기록 사용자의 홈 디렉토리에 사용자별로 존재, 시간 기록은 저장이 안 되는 단점 존재 vi 편집기로 정보 확인 가능 |
3. 윈도우즈 형식의 로그
- 윈도우즈 시스템에서는 시스템의 로그가 이벤트 로그 형식으로 관리된다.
- 이벤트 로그를 확인하기 위해서는 Windows의 이벤트 뷰어를 이용해야 한다.
[1] 로그 저장 경로
- 이벤트 로그를 확인하기 위해서는 이벤트 뷰어를 사용하며, 위치는 [시작] -> [제어판] -> [관리도구] -> [이벤트 뷰어]ㅇ0 있다.
[2] 로그 파일의 유형
- 응용 프로그램 로그 : 응용 프로그램이 프로그램에서 기록한 이벤트가 포함된 로그(데이터베이스 프로그램에서 응용 프로그램 로그에 파일 오류를 기록)
- 보안 로그 : 파일이나 다른 개체 만들기, 열기/삭제 등 리소스 사용과 관련된 이벤트가 기록된 로그, 올바른 로그온 시도 및 잘못된 로그온 시도와 같은 이벤트도 기록됨(로그온 감사를 사용하는 경우, 시스템에 로그온 시도가 보안 로그에 기록됨)
- 시스템 로그 : 윈도우즈 시스템 구성요소 내 기록한 이벤트가 포함된 로그(시스템 시작 시 드라이버, 다른 이벤트 구성요소 로드 실패 시 시스템 로그에 기록)
(3) 보안 솔루션
1. 네트워크 보안 솔루션
솔루션 | 설명 |
방화벽 | 기업 내부, 외부 간 트래픽을 모니터링하여 시스템의 접근을 허용하거나 차단하는 시스템 |
웹 방화벽 | 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화된 보안장비 |
네트워크 접근 제어(NAC) | 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션 |
침입 탐지 시스템(IDS) | 네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원접근과 보안정책 위반 침입을 실시간으로 탐지하는 시스템 <침입탐지 시스템 기법> 1. 오용 탐지 기법 : 이미 발견되고 정립된 공격 패턴을 입력해두었다가 탐지 및 차단하는 기법 2. 이상 탐지 기법 : 행위 또는 통계치 기반으로 탐지하는 기법으로 알려지지 않은 공격 탐지는 가능하지만 오탐률이 높음 <침입탐지 시스템 유형> 1. 호스트 기반 침입탐지시스템(HIDS) : 유닉스나 윈도우 운영체제에 설정된 사용자 계정에 따라 어떤 사용자가 어떤 접근을 시도하고 어떤 작업을 했는지에 대한 기록을 남기고 추적하는 방식 2. 네트워크 기반 침입탐지시스템(NIDS) : 네트워크에 접근하는 공격을 탐지하는 시스템 |
침입 방지 시스템(IPS) | 네트워크에 대한 공격이나 침입을 실시간적으로 차단하고, 유해트래픽에 대한 조치를 능동적으로 처리하는 시스템 |
무선 침입 방지 시스템(WIPS) | 인가되지 않은 무선 단말기의 접속으로 자동으로 탐지 및 차단하고 보안에 취약한 무선 공유기를 탐지하는 시스템 |
통합 보안 시스템(TM) | 방화벽, 침입 탐지 시스템, 침입 방지 시스템, VPN, 안티 바이러스, 이메일 필터링 등 다양한 보안 기능을 하나의 장비로 통합하여 제공하는 시스템 |
가상사설망(VPN) | 인터넷과 같은 공증망에 사설망을 구축하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션 |
nmap | 윈도우, 리눅스 포트 스캔 툴로 서버에 열린 포트 정보를 스캐닝해서 보안 취약점을 찾는 데 사용하는 도구 |
▼침입 차단 시스템 구축 유형
- 스크리닝 라우터 : 망과 망 사이에 라우터를 설치하고 라우터에 ACL을 구성
- 베스천 호스트 : 침입 차단 소프트웨어가 설치되어 내부와 외부 네트워크 사이에서 일종의 게이트 역할을 수행하는 호스트
- 듀얼 홈드 게이트웨이 : 2개의 네트워크 인터페이스를 가진 베스천 호스트를 이용한 구성으로, 논리적으로만 구분하는 베스천 호스트에 비해서 물리적으로 구분이 있으므로 더 안전
- 스크린트 호스트 게이트웨이 : 스크리닝 라우터와 베스천 호스트의 혼합구성
- 스크린드 서브넷 게이트웨이 : 스크리닝 라우터 2개 + 베스천 호스트 1개로 구성
2. 시스템 보안 솔루션
- 스팸 차단 솔루션 : 메일 서버 앞단에 위치하여 프록시 메일 서버로 동작
- 보안 운영체제(Secure OS) : 컴퓨터 운영체제의 커널에 보안 기능을 추가한 솔루션
3. 콘텐츠 유출 방지 보안 솔루션
- 보안 USB : 정보 유출 방지 등의 보안 기능을 갖춘 USB 메모리
- 데이터 유출 방지(DLP) : 조직 내부의 중요 자료가 외부로 빠져나가는 것을 탐지하고 차단하는 솔루션
- 디지털 저작군 관리(DRM) : MP3, E-Book과 같은 디지털 저작물에 대한 보호와 관리를 위한 솔루션
(4) 취약점 분석
1. 취약점 분석의 개념
- 취약점 분석은 자산이 가지고 있는 보안상의 결점 또는 취약한 속성을 파악하여 위험을 낮추는 활동
'정처기(필기) > 정보시스템구축관리' 카테고리의 다른 글
소프트웨어 개발 보안 설계 (0) | 2022.06.16 |
---|---|
IT 신기술 및 SW 개발 트렌드 정보 (0) | 2022.06.15 |
네트워크 구축관리 (0) | 2022.06.14 |
소프트웨어 개발방법론 선정 (0) | 2022.06.13 |