Part5 - chapter05 : 보안 공격 및 예방
[ 위험 관리 ]
□ 위험 관리
○ 위험 관리 개념
- 조직 정보보호 대상에 대한 위험을 수용할 수 있는 수준으로 유지하기 위해 위험을 분석하는 과정
- 위험으로부터 정보를 보호하기 위해 효율적인 보호 대책을 마련하는 단계
○ 위험관리 절차
- 위험 분석 범위 설정 -> 위험 분석 계획 수립 -> 정보보호 대상 분석 -> 위협 분석 -> 취약성 분석 -> 위험도 분석 -> 정보보호 대책 선정 -> 정보보호 계획 수립
○ 잔여 위험
- 위험 관리 대책을 통해서도 존재하는 위험
- 위협, 취약점, 위험을 제거하고 남은 위험
- 잔여위험을 100% 제거하는것은 불가능함
- 잔여위험은 음이 아닌 양의 값만을 갖음
- 잔여위험은 기본적으로 적게 유지해야하고 너무 적으면 가치가 없어 보호할 필요가 없는 자산일 수 있음
- 잔여위험이 적다는것은 그만큼 통제 구현 비용이 많이 발생하므로 바람직하지 않음
○ 위험 처리 방법
- 위험 수용 : 일어날 가능성이 있는 위험을 수용함
- 위험 감소 : 위험을 감소시킬 대책 마련
- 위험 회피 : 위험을 발생시키는 행위나 시스템을 사용하지 않는 조치
- 위험 분산 : 책임을 분할하거나 예상되는 위험 요소를 나누어 분산
- 위험 집중 : 같은 위험을 한 곳으로 집중시키고 위험을 최대한으로 보호
- 위험 전가 : 위험을 보험회사에 가입하여 제3자에게 전가
- 위험 제거 : 위험이 발생할 수 있는 요인을 모두 제거하여 사전 예방
○ 위험 분석 방법론
- 계량화 여부 : 정량적 기법, 정성적 기법
- 접근 방식 : 기준선 접근법, 전문가 판단법, 상세 위험 접근법, 복합적 접근법
- 정량적 기법 : 모든 개념을 양과 수치로 요소를 평가
· 장점 : 비용을 통해 위험분석을 하므로 계획이 용이
· 단점 : 정확한 비용 수치를 구해야 하므로 시간과 노력이 많이 필요함
- 정성적 기법 : 모든 개념을 성질, 질적요소로 평가, 위험 크기를 구간이나 분석자의 경험으로 측정함
· 장점 : 어려운 정보보호 대상일 경우 유리하며 분석 소요 시간이 짧음
· 단점 : 경험에 의한 측정으로 편견이 발생할 수 있음
- 기준선 접근법 : 정보보호 대상에 기본 수준을 정하고 이를 당성하기 위한 정보보호 대책을 선택, 표준화된 보호 대책의 세트를 체크리스트 형태로 구현하여 대책을 식별하는 방법
· 장점 : 시간과 비용이 적게 듦, 기본적으로 필요한 모든 정보보호 대책을 선택할 수 있음
· 단점 : 조직 특성이 고려되지 않아 보안 수준이 높거나 낮아질 수 있음
- 전문가 판단법 : 전문가 지식과 경험에 따라 정보보호 대책을 선택함
· 장점 : 작은 조직에서 효과적임, 시간을 단축시킬 수 있음
· 단점 : 체계적인 방법이 아니라 위험을 정확히 분석하기 어려움, 비용을 예측할 수 없음, 사후관리가 제한적
- 상세 위험 접근법 : 정보보호 대상을 세부적으로 분석하여 위험 정도와 취약 부분에 대해 정보보호 대책을 선택
· 장점 : 조직 내 알맞는 정보보안 대안을 마련할 수 있음
· 단점 : 전문적 지식이 필요하고 시간과 노력이 많이 필요함
- 복합적 접근법 : 높은 위험이 있는 대상에는 상세 위험 분석법을, 나머지는 기준선 접근법을 선택
· 장점 : 정보보안 대책이 신속, 시간과 비용을 효과적으로 적용
· 단점 : 정보보안 대책이 정확하지 않을 경우 시간과 비용을 낭비
□ 위협 요소
○ 의도적인 위협
- 적극적인 위협 : 해커에 의해 정보 삭제 및 변형, 불필요한 트래픽을 발생시켜 정상적 작동을 막는 위협
- 소극적인 위협 : 정보 유출을 위해 잠입한 산업 스파이 형태 위협
○ 비의도적인 위협
- 특정 시스템의 하드웨어나 소프트웨어의 고장으로 발생하는 위협
○ 자연적인 위협
- 화재, 홍수 등과 같은 천재지변
○ 위협 종류
- 비인가 외부자 위협 : 침입자, 크래커의 적극적 위협
- 비인가 내부자 위협 : 자신보다 보안 등급이 높은 것을 취득해 침입하는 위협
- 인가 내부자의 비의도적 위협 : 하드웨어나 소프트웨어 고장으로 관리 부실에 의한 위협
- 인가 내부자의 의도적 위협 : 정보 유출을 위해 잠입한 산업 스파이 형태
□ 취약점 분석
○ 정보 시스템의 취약점
- 인적 취약점 : 가장 위험도가 높음, 조직 내의 정보를 외부로 유출
- 물리적 취약점 : 정보 시스템이나 부품이 파괴되거나 정상 작동을 방해할 수 있게 노출
- 하드웨어 취약점 : 컴퓨터 시스템 고장으로 정보 파괴 및 변조
- 소프트웨어 취약점 : 시스템에서 운영되는 프로그램의 접근 권한 제어가 되지 않는 경우
- 자연적 취약점 : 천재지변이 발생하여 시스템 정보를 복구할 수 없는 상태
- 환경적 취약점 : 먼지, 습도, 온도 등에 의해 에러 발생
- 전자파 취약점 : 전자파로 인해 에러 발생
○ 취약점 유형
- 사회 공학적 유형 : 사회적 관계의 취약 부분이 이용됨, 인간관계에 의한 정보 노출
- 논리적 에러 유형 : 프로그램의 에러 허점, 웹 서버 운영체제에 대량의 트래픽에 의한 체제 중단
- 정책 관리 유형 : 정책의 취약점에 의한 정보 노출, 정보 보호 소홀에 의한 노출
- 결점 유형 : 허술한 보안체제, 암호화 알고리즘 노출, 허가받지 않는 사용자에 의한 노출
[ 악성 프로그램 ]
□ 컴퓨터 바이러스
○ 컴퓨터 바이러스 3가지 기능
- 복제 기능 : 바이러스는 자신을 무한히 복사하려 함, 자기 복제를 통해 다른 컴퓨터를 감염시킴
- 은폐 기능 : 바이러스는 특정 파일 속에 자신을 숨김, 자신의 존재를 숨기기 위해 특정 파일 크기도 그대로
- 파괴 기능 : 바이러스는 항상 활동하거나 특정 조건이 되면 동작함
□ 감염 위치에 따른 분류
○ 부트 바이러스
- 전원이 켜지면 디스크 드라이브는 디스크의 부트 섹터로 접근하여 운영체제 파일 일부를 주기억 장치에 적재
- 부트 바이러스는 부트 영역에 존재하므로 부팅 시 자연스럽게 바이러스가 동작하여 파괴될 수 있음
- 미켈란젤로, Anti-CMOS 등
○ 파일 바이러스
- 실행 파일이 실행되면 파일에 숨어있다가 주기억 장치에 적재되어 동작함
- 주기억 장치에 적재되어야만 복제되고 오작동을 일으키게 하며 특정 파일을 파괴할 수 있음
- 예루살렘, CIH 등
○ 부트 파일 바이러스
- 부트 영역과 파일을 동시에 감염시키는 바이러스
- 자신의 바이러스 형태를 변경하기 때문에 대응하기 어려운 바이러스
- 데킬라, 나타스 등
○ 매크로 바이러스
- 매크로는 실행 파일은 아니지만 실행 파일과 유사한 기능을 함
- 실행 파일에 감염되지 않고 일반 문서 파일에 감염되므로 감염 범위가 큼
- 라룩스, 멜리사 바이러스 등
○ 메모리 상주 바이러스
- 주기억 장치에 존재하면서 주기억 장치의 크기를 부족하게 하거나 주기억 장치를 거치는 파일을 감염시킴
□ 바이러스의 세대별 구분
○ 제1세대 - 원시형 바이러스
- 고정 크기를 갖는 단순하고 분석하기 쉬운 바이러스
○ 제2세대 - 암호화 바이러스
- 바이러스 프로그램 전체 또는 일부를 암호화시켜 저장하는 바이러스
○ 제3세대 - 은폐형 바이러스
- 감염된 파일 크기 변화가 없는 것처럼 은폐해 감염 사실을 모르게 하는 바이러스
○ 제4세대 - 갑옷형 바이러스
- 백신 개발을 지연시키기 위해 다양한 암호화 기법을 사용하는 바이러스
○ 제5세대 - 매크로 바이러스
- 매크로 명령을 사용하는 프로그램의 데이터에 감염되는 바이러스
□ 악성 프로그램
○ 트랩 도어
- 백도어가 악용되면 트랩 도어라 함
- 컴퓨터 시스템에 문제가 발생할 경우를 대비해 정상적 인증 절차를 거치지 않고 시스템에 접근하도록 만든 영역
○ 트로이 목마
- 컴퓨터 시스템을 불법적으로 원격 제어하기 위해 침투시킨 파일
- 정상적인 프로그램으로 가장한 악성 프로그램
○ 웜
- 파괴 기능 없이 확산의 목적을 갖는 프로그램
- 이메일 첨부 파일이나 쿠키 등을 이용해 확산되어 개인정보 유출의 위험이 있음
○ 스턱스넷
- 산업 시설을 감시하고 파괴하는 악성 소프트웨어
- 지멘스의 SCADA 시스템만을 감염시켜 장비를 억제하고 감시하는 특수한 코드를 내부에 담고 있음
○ 스파이웨이
- 웜의 일종으로 공개 또는 무료 프로그램에 포함되어 전달됨
- 소비자가 무료 프로그램을 선호한다는 것을 악용하거나 프로그램 설치 시 동의 내용을 확인하지 않는 점을 악용
○ 조크와 혹스
- 이메일이나 파일 복제를 통해 전달되는 형태로 악의적인 기능을 갖고 있지 않는 프로그램
- 갑자기 화며을 띄우거나 하드 디스크를 포맷하겠다는 가짜 메시지를 보여줌
○ 악성 스크립트
- 웜과 유사하지만 바이러스 성격을 가지고 있는 프로그램으로 오작동, 파괴 기능을 모두 가짐
- 자바 스크립트 언어로 개발되어 누구나 쉽게 만들 수 있고 인터넷 웹 페이지를 통해 전달됨
○ 루트킷
- 루트 권한을 획득한 공격자가 해커용 프로그램을 숨기기 위한 목적으로 사용되는 프로그램
- 공격자가 정상 사용자의 암호를 알아내기 위해 일련의 위조 프로그램을 숨김
- 백도어나 파일 등의 흔적을 관리자가 볼 수 없도록 프로그램에 대한 명칭으로 일반화됨
○ 봇넷
- 공격자는 봇을 사용하여 많은 컴퓨터를 감셤시킨 후 봇넷을 이용해 스팸 전송, 바이러스 유포, 서버 공격 등 수행
- 감염된 시스템에서 활성화되어 다른 시스템을 공격하는 프로그램
○ 오토런 바이러스
- USB 포트에 꽂으면 바로 실행되는 편리한 장치
- 편리함을 노린 보안 위협
○ 악성 에이전트
- TCP/IP에서 네트워크 관리를 위해 지원하는 SNMP 프로토콜을 이용한 악성 프로그램
○ 오토런 바이러스
- 패킷 정보를 몰래 읽어 보는 스니핑에 약점이 있어 불법적으로 컴퓨터 시스템의 정보를 획득하는데 이용
□ 전형적인 공격 유형
○ 가로막기
- '중지'라고도 하며 데이터의 정상적 전송으로 수신측에 데이터가 전달되는 것을 방해
- 가용성에 대한 위협
○ 가로채기
- 데이터의 전송 중 불법적으로 데이터에 접근하여 내용을 보거나 도청하는 행위
- 기밀성에 대한 위협
○ 수정
- 전송 중인 데이터에 접근하여 내용의 일부를 불법적으로 수정하는 행위
- 무결성에 대한 위협
○ 위조
- 데이터가 다른 송신자로부터 전송된 것처럼 꾸미는 행위
- 무결성에 대한 위협
□ 네트워크 공격 기술
○ 스푸핑(Spoofing)
- 자신을 타인이나 다른 시스템에 속이는 행위로 침입하고자 하는 호스트 IP 주소를 바꾸어 해킹하는 기법
- 공격자가 자신이 전송한느 패킷에 다른 호스트 IP 주소를 담아 전송하는 공격
- 신분 위장 : 하나의 실체가 다른 실체로 행사함
○ 스니핑(Sniffing)
- 엿보기, 통신망에 전송되는 패킷 정보를 몰래 읽는 것
- 데이터 통신 중간에 기밀성을 훼손하는 공격 기법
- 네트워크 중간에 남의 패킷 정보를 도청하는 해킹 유형의 하나로 수동적 공격에 해당함
○ 서비스 거부(DoS, Denial of Service)
- 정보 시스템의 데이터나 자원을 정당한 사용자가 적절한 대기 시간 내 사용을 방해하는 행위
- 시스템 및 네트워크 취약점을 이용해 사용 가능 자원을 소비하여 사용자들의 실제 자원 사용을 막는 공격
○ 분산 DoS 공격(DDoS)
- 여러 공격자 컴퓨터를 분산 배치하여 동시에 동작하게 하여 시스템이 더 이상 정상 서비스 제공이 불가하게 함
- 처리할 수 없는 분량의 패킷을 동시에 범람시켜 네트워크 성능을 저하시키고 시스템을 마비시킴
○ Ping of Death 공격
- 인터넷 프로토콜 허용 범위 이상의 패킷을 고의로 전송하는 서비스 거부 공격 방법
- 파일이 아주 작은 패킷으로 나뉘어져 네트워크상에서 전송된다는 것을 악용
○ SYN Flooding 공격
- TCP 연결 과정인 핸드셰이크 문제를 악용한 방법
- 향후 연결 요청에 대한 피해 서버에서 대응 능력을 무력화하는 방법
○ Smurf Attack(Smurfing)
- DoS의 일종으로 TCP/IP의 ICMP의 취약점을 이요하여 공격하는 방법
- IP 또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 상태를 불능으로 만드는 공격
- 공격 패킷을 브로드캐스트 주소로 보내면 네트워크 모든 호스트가 응답하느라 다른 일을 못하게 하는 방식
○ Trinoo 공격
- UDP Flooding 공격 수행시 사용되는 도구
- Trinoo 마스터 서버에 접속하여 IP 주소를 대상으로 서비스 거부 공격을 수행
○ 피싱(Phishing)
- 정상 웹 서버를 해킹하여 위장 사이트를 만들어 프로그램을 다운로드 받으면 개인정보를 빼내어 범죄에 악용
○ 파밍(Pharming)
- 새로운 피싱 기법으로 정확한 웹 페이지를 입력해도 가짜 웹 페이지에 접속하도록 하여 개인정보를 훔침
○ War Drving
- 차량으로 이동하면서 타인의 무선 구내 정보 통신망에 무단으로 접속
○ Land Attack
- 공격 대상의 송수신측 주소를 동일하게 변조하면 송신측에서 전달되는 패킷이 다시 송신측으로 전달되는 현상
○ Session Hijacking
- 서버와 클라이언트 간의 세션 정보를 취득하여 공격하는 방법
- 현재 연결 중인 세션을 가로채는 공격
○ 스미싱(Smishing)
- 문자 메시지와 피싱의 합성어로 문자 메시지의 인터넷 주소에 악성코드가 담김
- 주소를 클릭하면 악성 코드가 스마트폰에 설치되어 개인 및 금융 정보를 탈취
○ 크래킹(Cracking)
- 해킹과 비슷한 의미
- 시스템 침입 자체는 불법이고 행위에 따라 해킹과 크래킹이 구분됨
- 접근 권한의 범위를 초과하여 침입하는 컴퓨터 시스템이나 통신망을 파괴하는 행위
○ 누킹(Nuking)
- 윈도우 운영체제가 갑자기 블루 스크린을 보이며 동작이 멈춤
- 목표 시스템을 다운시키는 것으로 작업 중이던 자료의 손실, 재부팅이 필요한 악성 코드를 실행시키기 위한 방법
○ 버퍼 오버플로우 공격
- 버퍼 오버플로우 공격 : 컴퓨터 입력값 크기를 제한하지 않거나 크기 확인을 하지 않아 발생하는 취약점 공격
· 버퍼에 할당된 메모리 경계를 침범해서 데이터 에러가 발생하는 상황
· C 프로그래밍 언어에서 배열에 기록되는 입력 데이터 크기 검사를 하지 않으면 발생
· 스택이나 힙에 삽입된 코드가 실행되지 않도록 대응책 마련
· gets()나 strcpy()와 같은 버퍼 오버플로우에 취약한 라이브러리 함수는 사용하지 않음
· String Format 공격, Stack Overflow 공격 기법이 해당됨
- 스택 가드
· 버퍼 오버플로우 공격 차단 방법으로 복귀 주소와 변수 사이에 값을 저장하고 이가 변경된 경우 실행을 중단
· 카나리라고 불리는 무결성 체크용 값을 복귀 주소와 변수 사이에 삽입하여 스택에 복구 주소 변경을 확인
- 스택 쉴드
· 버퍼 오버플로우 공격 차단 방법으로 함수가 시작될 때 복귀 주소를 글로벌 RET라는 특수 스택에 저장
· 함수가 모두 수행되고 종료 시 저장된 값과 스택의 RET 값을 비교해 다르면 프로그램 실행 중단
○ Key Logger Attack
- 컴퓨터 사용자의 키보드 움직임을 감지해 중요 정보를 빼가는 해킹 공격
- 프로세스에 상주하여 키보드에 입력된 모든 기록을 저장하는 프로그램
○ 패킷의 순서 변조 공격
- 패킷 순서 변조 공격 : TCP나 UDP 패킷 순서를 조작하여 시스템에 과부하를 발생시키는 수법
- Bonk : 처음 패킷 번호를 1번으로 보내고 다음 패킷 순서 번호도 모두 1번으로 조작해서 보냄
- Boink : 처음 패킷들을 순서대로 보내다가 중간부터 반복되도록 패킷 순서를 조작
- TearDrop : UDP를 이용해 좀 더 복잡하게 순서 번호를 바꾸는 방법 => 시스템에서 패킷을 재조립할 떄 비정상 패킷이 정상 패킷의 재조립을 방해함으로써 네트워크를 마비시킴
○ 랜섬웨어(Ransomware)
- 인터넷 사용자의 컴퓨터에 침입해 내부 문서 파일 등을 암호화하여 사용자가 열지 못하게 함
- 암호 해독용 프로그램 전달을 좆건으로 사용자에게 돈을 요구
※ 백도어
- 시스템 접근에 대한 사용자 인증을 거치지 않고 응용 프로그램 또는 시스템에 접근할 수 있는 조치
- 시스템 관리자가 패스워드를 잃어버리는 경우를 대비에 시스템에 접근할 수 있도록 조치한 것
- 이를 악용하면 공격자가 시스템에 불법적으로 접근하여 나중에 다시 접근할 수 있도록 함
- 넷버스, 백오피리스, 루트킷 등이 있음
[ 정보보호 대책 ]
□ IPS
○ 침입 차단 시스템(Intrusion Prevention System)
- 침입 차단 시스템은 일반적으로 방화벽을 의미함
- 불법적인 외부 침입으로부터 내부 네트워크의 정보를 보호하기 위한 시스템
- 내부 네트워크 정보를 보호하고 유해 정보 유입을 차단하기 위한 정책 기술
○ IPS 기능
- 접근 통제 기능 : 공개된 서버용 컴퓨터와 같은 특정 서버를 제외하고 내부 네트워크 접근을 차단하고 통제
- 신분 확인 기능 : 외부에서 내부 네트워크로 접속하기 위해 사용자 신분 확인(인증 및 보안 프로그램)
- 네트워크 감시 통제 기능 : 내부 네트워크에 접속한 정보를 기록, 통제, 추적하는 기능
- 비밀성 보장 기능 : 인가되지 않은 사용자에게 내부 네트워크 중요 정보가 노출되면 정보가 해독되지 않도록 함
- 무결성 보장 기능 : 중요한 내부 네트워크 정보에 대해 변경되거나 파괴되지 않도록 보호함
○ IPS 장점
- 취약한 서비스 보호 : 완벽하지 않은 인터넷 응용 프로그램들을 보완하고 강화시켜줌
- 접근 통제 : 컴퓨터에 존재하는 파일을 사용자에 따라 사용 권한을 부여하는 기능
- 로그와 통제 : 사용자 접근을 로그 파일로 기록하여 사용자 통제
○ IPS 단점
- 네트워크 속도 저하 : 내부 네트워크를 진입한 데이터가 바로 수신되지 않고 차단 시스템을 경유해야 함
- 서비스 불편 : 특정 웹사이트를 열었을 때 보안상의 이유로 추가적 파일 설치 등이 있음
- 특정 서비스 거부 : 일률적인 침입 차단 시스템 때문에 제한되어서는 안 되는 특정 서비스가 거부될 수 있음
- 수동적 보호 : 침입 차단 시스템은 사람이 감시하고 판단하는 것처럼 침입에 능동적 대처가 어려움
- 악의적 내부 사용자의 공격 : 외부 공격만 차단하기에 내부 공격에 무방비함, 백도어 대처가 불가
- 새로운 형태의 공격 유형 : 이미 알려진 공격에만 시스템이 작동하여 새로운 공격 기술에는 무용지물
- 압축된 바이러스의 취약 : 바이러스를 치료하지만 백신 기능이 존재하지 않아 침입한 바이러스나 숨겨진 바이러스는 차닫ㄴ이 불가
- 침입 알림 기능 부재 : 공격자 침입 발생은 로그 파일에 기록된 정보 분석만으로 알 수 있음
- 다이얼 모뎀 공격 : 비인가된 다이얼 모뎀을 통한 접속을 방어하지 못함
○ 침입 대응 방법 종류
- 침입 예방 : 공격을 무력화하거나 발생하지 않도록 보안 관리
- 침입 선점 : 공격 받기 전 파악하여 침입을 막아내는 방법
- 침입 방해 : 공격자가 침입하기 어려운 환경을 만듦, 침입 목표를 숨김
- 침입 오인 : 침입에 성공했다고 믿게 만듦, 유사 시스템을 만들어 침입 유도
- 침입 탐지 : 허가되지 않은 비정상 행동을 탐지하고 차후 공격에 대응
□ IPS 기본 시스템
○ 스크린 라우터
- 라우터 : 서로 다른 기기를 연결해주는 장치로 가장 적절한 통신 경로를 파악하여 전송하는 장치
- 스크린 라우터 : 내부 네트워크로 진입하는 패킷을 감시하고 외부 네트워크로 패킷을 전달하는 고유 라우터 기능
- 패킷의 정보를 담은 헤더를 파악해 필터링을 수행하고 가장 저렴하게 방화벽을 구축하는 방법
- 송신측, 수신측 IP 주소, 포트 번호 등을 분석함
- OSI 7계층 중 3,4 계층에서 동작하는 IP, TCP, UDP 헤더의 내용을 분석하여 동작
- OSI 7계층은 모든 네트워크 통신에서 발생하는 통신, 호환성 문제를 완화하기 위해 네트워크 기본 모델
○ 베스천 호스트
- 방화벽의 메인 서버 컴퓨터
- 외부 네트워크에 연결되면서 내부 네트워크와는 하나의 연결 통로가 되어 있는 컴퓨터 시스템
- 콘솔을 통해서만 로그인되도록 하며 불필요한 유틸리티 프로그램을 설치하지 않음
- 베스천 호스트가 손상되거나 로그인 정보가 노출되면 내부 네트워크를 보호할 수 없음
○ 프록시 서버
- 베스천 호스트에 설치되어 운용되는 전문화된 응용 프로그램 혹은 서버 프로그램
- 내부 네트워크에 존재하는 사용자 컴퓨터가 네트워크 서비스에 간접적으로 접속하게 해주는 프로그램
- 네트워크 서버와 컴퓨터 간의 중계기로 대리 통신 역할 수행하는 서버
※ Secure OS
- 컴퓨터 운영체제의 커널에 보안 기능을 추가한 것으로 운영체제의 보안상 결함으로 인하여 발생 가능한 각종 해킹으로부터 시스템을 보호하기 위해 사용됨
□ IPS의 세대별 방식
○ 패킷 필터링 방식 - 1세대
- 인터넷의 IP 패킷의 IP 프로토콜과 TCP 프로토콜의 침입을 차단하는 방식
- OSI 7계층의 네트워크 계층과 전송 계층인 3, 4 계층의 프로토콜 침입을 차단함
- IP 필터링을 통해내부 네트워크로 들어오는 IP를 차단함
- 처리 속도가 빠르고 우수하며 사용자에게는 투명성을 제공함
○ 응용 게이트웨이 방식 - 2세대
- 인터넷으로 침입하는 공격을 응용 보안 서비스 프로그램이 차단하는 방식
- OSI 7계층의 응용 계층인 7계층의 프로토콜 침입을 차단함
- 응용 프로그램별 프록시 데몬이 있어 실시간 침입을 차단함
- 내부 IP 주소를 숨길 수 있어 보안성이 좋음
- 응용 프로그램별 프록시 데몬으로 실시간 차단이 가능하지만 복잡하고 어려워 투명성 제공이 어려움
○ 서킷 게이트웨이 방식 - 3세대
- OSI 7계층의 세션 계층, 표현 계층, 응용 계층인 5, 6, 7계층 프로토콜 침입을 차단함
- 특정 계층이 아닌 거의 모든 프로토콜의 침입을 차단할 수 있음
- 내부 네트워크 주소를 숨길 수 있으며 클라이언트 프로그램이 설치된 사용자 컴퓨터에서는 별도 인증 절차 없이 투명한 서비스 제공이 가능
○ 하이브리드 방식
- 1세대인 패킷 필터링 방식과 2세대인 응용 게이트웨이를 혼합한 방식
- 처리속도와 보안 구축 설정이 신속함
- 관리가 복잡하고 보안 수준이 강화될수록 복잡함
○ 스테이트풀 인스펙션 방식
- 패킷 필터링 방식과 응용 게이트웨이 단점을 보완한 방식으로 두 장점을 최대한 이용한 방식
- 네트워크 내부로 들어오는 패킷이나 외부로 나가는 패킷을 관리자가 세운 정책에 동적으로 분석하여 관리
- 패킷 단위가 아닌 세션 단위로 감시하여 고속으로 처리 가능
- 보안성이 우수하고 새로운 서비스 추가가 용이하지만 비용이 많이들고 복잡하며 관리가 어려움
□ IPS의 구축 방식
○ 단일 홈 게이트웨이 구조
- 베스천 호스트 구조
- 일반 사용자 계정이 없어야 하고 방화벽에 관련되지 않은 유틸리티가 존재하지 않음
- 베스천 호스트에 설치된 운영체제의 보안 기능을 사용하기 때문에 2계층 공격에 취약함
○ 이중 홈 게이트웨이 구조
- 베스천 호스트에 LAN 카드를 양쪽에 2개 장착하여 사용함
- 단일 홈 게이트웨이가 2개가 있는 것처럼 운영되므로 네트워크에 접근하기 위해 2번 거쳐야 함
○ 스크린 호스트 게이트웨이 구조
- 단일 홈 게이트웨이 구조에 패킷 필터링 라우터를 추가하여 사용함
- 패킷 필터링 라우터 또한 베스천 호스트를 거치지 않는 외부 네트워크의 접속은 차단함
- 패킷 필터링 라우터에서 필터링 하여 1차 방어를 하고 프록시 같은 서비스로 2차 방어를 수행함
○ 이중 홈 게이트웨이 + 스크린 호스트 게이트웨이 구조
- 베스천 호스트에 LAN 카드를 양쪽에 장착하고 외부에 패킷 필터링 라우터를 설치함
- 베스천 호스트는 패킷 필터링 라우터를 추가하여 사용하고 라우터를 거치지 않는 데이터 접속을 차단함
- 패킷 필터링 라우터 또한 베스천 호스트를 거치지 않는 외부 네트워크 접속은 차단함
- 융툥성이 있으며 보안성이 좋지만 구축 비용이 많이 듦
○ 스크린 서브넷 게이트 웨이 구조
- 베스천 호스트 양쪽에 패킷 필터링 라우터를 설치한 후 외부 쪽에 LAN 카드를 설치함
- 스크린 라우터 2개와 네트워크 카드 1개를 사용함
- 스크린 호스트 게이트웨이 구조로 내부 네트워크 시스템에 패킷 필터링 라우터를 추가하여 사용함
- 베스천 호스트의 침해가 전체 네트워크 침해로 확산되지 않음
- 방화벽에 의해 보호받지 않는 영역을 DMZ라 하고 외부에 노출되어야 할 서버를 해당 영역으로 옮김
- 보안성이 뛰어나지만 설치 및 관리가 어렵고 비용이 많이 듦
○ 이중 홈 게이트웨이 + 스크린 서브넷 게이트웨이 구조
- 베스천 호스트 양쪽에 패킷 필터링 라우터를 설치한 후 외부, 내부 모두에 LAN 카드를 설치함
- 내부 네트워크 시스템 쪽에 패킷 필터링 라우터를 추가로 사용함
- 보안이 강하지만 비용이 많이 듦
□ IDS(침입 탐지 시스템)
○ IDS(Intrusion Detection System) 정의
- 네트워크에서 허가되지 않은 비정상적인 행동을 탐지하고 불법 행위와 침입 여부에 대응하는 보안 시스템
○ IDS의 특징
- 외부 공격자뿐만 아니라 내부 공격자의 해킹 유형에 따라 공격을 탐지할 수 있음
- IDS는 IPS와 같이 자체적으로 비정상적 침입을 차단하거나 중단시키지는 못함
- 암호화된 공격형 패킷은 탐지할 수 없음
- 사용자나 관리자에게 침입을 탐지하여 공격에 대한 경고 메시지를 전달하는 역할
○ Snort
- 강력한 네트워크 트래픽 감시 및 분석 프로그램
- 단순한 패킷 스니퍼 프로그램에서 룰을 이용한 분석 기능이 추가된 프로그램
- 패킷 스니퍼 : 네트워크의 패킷을 읽어 보여주는 기능
- 패킷 로그 남기기 : 감시한 패킷을 저장하고 로그를 기록하는 기능
- Network IPS 기능 : 네트워크 트래픽을 분석하고 공격을 탐지함
□ 백도어 탐지 기법
○ 백도어 특징
- 시스템 접근에 대한 사용자 인증을 거치지 않고 시스템에 접근할 수 있도록 조치한 것
- 시스템 관리자가 패스워드를 잃어버리게 되는 경우처럼 만약을 대비한 조치
- 이를 악용한 경우 시스템에 불법 접근을 한 후 나중에 다시 접근할 수 있도록 조치함
○ 백도어 탐지 기법
- 동작중인 프로세스와 열린 포트 확인 : 공격자가 다음 공격을 위한 프로세스와 포트를 확인
- SetUID 파일 검사 : 일반 사용자에게 특정 파일을 루트 권한으로 사용하도록 권한 부여
- 백도어 탐지 도구 사용 : COPS와 같은 백도어 탐지 도구 사용
- 무결성 검사 : 백업 파일과 비교해 공격자에 의해 변경된 파일이 있는지 검사함
- 로그 분석 : 공격자의 기록을 분석하여 누가 어떤 공격을 했는지 확인
□ 무결성 검사
○ Tripwire
- 가장 대표적인 파일 무결성 도구
- 시스템 내부의 트로이목마 프로그램을 감지하기 위한 도구
- 크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경하였을 경우 분석하는 도구
○ TAMU
- 파일 무결성 관련 도구인 Texas AMU
○ trojan.pl
- perl로 제작된 파일 무결성 관련 도구
○ Hobgoblin
- 파일 무결성과 시스템 무결성을 검사함
○ fcheck
- 지정한 디렉터리나 파일에 대한 각종 정보를 데이터베이스에 저장하고 정해진 시간마다 모니터링함