Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

layer 3

[CISCO Network Security] 2장 예방하고자 하는 것 본문

CISCO Networks/Security

[CISCO Network Security] 2장 예방하고자 하는 것

뿅뿅뽁 2018. 6. 29. 11:39

안녕하세요 뿅뿅뽁입니다.


1장에서는 CIA, DoD모델, 계층별 보안에 대해 알아보았습니다.


2장에서는 어떠한 것을 예방하고자 하는지 알아 볼려고 합니다.


1. 네트워크에 닥칠 위협


네트워크의 위협은 공격의도를 가진 공격자와 사용자가 실수로 악성 코드를 화성화시켜서 발생하는 2가지 방법이 있습니다.


우리는 1장에서 배운 CIA의 관점에서 문제점에 접근하겠습니다.


기밀성 손실 : 기밀성 손실은 가장 심각한 침해일 경우가 많고 사용자의 실수 때문에 이루어지는 경우가 많지만 공격자에 의해 손실되기도 합니다. 예를 들면 신용카드 회사의 고객정보 도난이 있습니다.


무결성 손실 : 가장 잘 드러나지 않는 침해 중 하나이고, 예를 들면 1998년에 있던 XM-COMPAT 바이러스 입니다. 이 바이러스는 자신이 감연시킨 엑셀 파일의 데이터를 조금씩 변형시키는 형식입니다.


가용성 손실 : 가장 명시적으로 드러나는 침해이며, 가용성 손실을 일으키는 공격을 서비스 거부(DoS) 공격이라고 합니다. 이 공격은 추후에 설명하겠습니다.


2. 악성 모바일 코드


악성코드(malware)라 하고 사람들에게 피해를 주는 소프트웨어를 의미합니다. 이 코드는 이동이 자유로워 다른 곳에 피해를 줄 수 있다는 특징이 있습니다.


2.1 트로이 목마


겉으로는 유용한 프로그램 처럼 보이지만 속은 악성 코드를 포함하고 있는 프로그램을 의미합니다. 트로이목마는 보안 메커니즘을 우회하며, 때로는 자신을 실행시킨 시스템 주체의 권한을 이용하기도 합니다. 그래서 출처가 불분명한 프리웨어는 조심해야 합니다.


2.2 바이러스


다른 프로그램에 자신을 삽입하는 코드입니다. 바이러스는 이웃에 있는 프로그램을 감염시킵니다. 트로이목마와 바이러스의 차이점은 바이러스는 완전한 프로그램이 아니어서 자신을 복제하기 위해 다른 공격 대상 프로그램이 있어야 한다는 것입니다.


2.3 웜


웜은 단독으로 동작하며 네트워크의 다른 호스트로 자신을 전파시킬 수 있습니다. 컴퓨터 자원을 매우 많이 소모한다는 특징이 있고, 웜의 이동이 빈번한 경로는 취약점이라는 것을 알 수 있습니다.


웜은 몇가지 종류가 있으며 여기서는 3가지를 기술하겠습니다.


지능형, 데이터 중심 : 호스트에서 얻은 데이터베이스 정보(메일 주소)를 이용하여 다른 공격 대상 호스트에게 자신을 감염시킵니다.


지능형, 행동 중심 : 호스트의 행위(인터넷을 이용한 파일 공유)를 이용하여 다른 공격 대상 호스트에게 자신을 감염시킵니다.


비지능형 : 검색 기법을 이용하여 추가 공격 대상을 식별합니다.


하지만 웜은 퇴치 방법이 많고 백신 소프트웨어를 최신 버전으로 유지하는 등 여러가지 방법으로 예방 할 수 있습니다.


랜섬웨어에는 종류가 많지만 그 중 워너크라이 같은 것이 웜의 특징을 가진다 할 수 있습니다.


3 DoS공격


도스공격은 시스템 가용성에 대한 직접적인 공격입니다. 유형은 크게 트리거(trigger)와 홍수(flood) 2가지로 나눌 수 있습니다. 트리거는 OS나 애플리케이션에 고유하게 존재하는 취약점을 이용하여 시스템이나 구성 요소의 가용성에 피해를 주는 것이고 홍수는 과다한 트래픽을 발생시켜 공격 대상의 가용성을 해치는 유형입니다.


트리거의 아주 간단한 예로 JavaScript 폭탄이 있습니다. 이것은 웹 페이지를 계속 띄우는 것입니다.

<script language=JavaScript">

while(true) window.open("http://layer3.tistory.com");

</script>


이 코드는 반복문 안에서 무수히 많은 브라우저 창을 열어 시스템 자원을 고갈시킵니다. 2000년대 있었던 포르노 사이트가 계속 열리는 것이 이 이 방법입니다.


홍수는 데이터통신에서 배울 수 있는 flooding 이라는 통신 기법을 이용해 누군가가 대량의 호스트 공표 메시지를 보내면 그 메시지를 처리해야 하는 서버의 성능이 떨어지고 서버가 주변 머신에게 그 메시지를 전송하는 과정에서 네트워크 대역폭이 크게 감소하는 방법입니다.


홍수 공격을 할 때는 공격자는 자신의 행위를 감추기 위해 사용할 수도 있으므로 다음 두 가지 공격을 눈여겨 봐야 합니다.


Smurf 공격


이 공격은 echo 메시지를 보내는 방법인데 A라는 호스트를 공격하고 싶다고 하면 공격자는 B에게 출발지 주소가 A로 조작한 echo 요청 메시지를 보냅니다. 이 때 echo요청을 하나으 호스트가 아닌 브로드캐스트 주소로 보내는 것입니다. 브로드캐스트의 특징에 의해 모든 네트워크 호스트가 응답하게 되고 네트워크에 있는 호스트에 비례하여 대역폭이 소모됩니다. 스머프 공격은 라우터 인터페이스 설정으로 막을 수 있으나 이 공격에 변화를 주어 다양한 공격방법이 있으므로 지속적으로 해결해야 합니다.


SYN 홍수 공격


이 방법은 TCP세션이 three-way handshake로 시작되는 것을 이용하는 것입니다. 공격자가 다량의 SYN 요청을 보내고 응답하지 않습니다. 이를 위해 SYN 요청 패킷의 출발지 주소를 존재하지 않는 주소로 조작합니다. 이렇게 되면 서버는 SYN-ACK에 대한 응답을 받지 못하게 되고, 매우 짧은 시간 안에 서버가 다른 연결을 받지 못하게 할 수 있습니다.


이 공격은 PIX 방화벽으로 막을 수 있습니다.


분산 서비스 거부 공격


시대가 점차 발전하면서 다양한 공격들이 나오고 있지만 네트워크 관리자 또한 이러한 공격을 인식하고 대비하기 때문에 성공률이 낮습니다. 그러나 공격자들은 관리가 안되고 있는 호스트들의 관리자 권한을 흭득한 후 제어 소프트웨어를 설치하여 크래킹 공격이나 대역폭 소모 공격을 합니다. 언더그라운드 용어로 침해된 소프트는 좀비, 좀비를 제어하는 호스트를 좀비마스터라고 부릅니다. 이 공격을 막는 유일한 방법은 좀비마스터의 제어를 받지 않도록 치료하는 것이고, 이러한 종류의 트래픽을 막는 유일한 방법은 침해를 탐지하는 것입니다.


4. 침해 탐지


요즘 시대에 시스템 침해 위험을 가지지 않는 네트워크가 거의 없습니다. 따라서 침해를 탐지하고 적절한 행동을 취하는 것이 중요합니다.

최근에 있었던 빗썸의 해킹과 같이 CIA가 침해됐다는 사실을 눈으로 보고 공격이 일어났다는 사실을 아는 것은 좋은 방법이 아닙니다.

고로 우리는 초기 탐지를 통해 빠르고 효과적으로 침해 사고에 대응 할 수 있어야 합니다.

이제부터는 탐지하는 몇가지 툴을 알아보겠습니다.


파일 시스템 무결성 소프트웨어


이 소프트웨어는 장치의 설정/파일 내용의 스냅샷을 저장한 뒤 그것이 시간이 지남에 따라 어떻게 변하는지 관찰합니다. 만약 뭔가가 변했는데 그 변경 내용이 관리자에게 알려지지 않은 것이라면 시스템 공격을 의심해봐야 합니다. 이 방법으로 침해를 실시간으로 파악 할 수 있습니다.


네트워크 트래픽 이상 탐지 툴


이 툴은 네트워크 트래픽을 감시하여 어떤 비정상적인 일이 일어나고 있는지를 찾아낸다. 이를 위해 네트워크 침입 탐지, 로그 분석, 허니팟 등의 접근 방법이 사용됩니다.


대학교에서 강의 과제로 제출했던 단순한 허니팟을 구축해봤던 경험을 되살려 예를 들어보겠습니다


네트워크에 서버와 허니팟 2가지 호스트가 있다고 가정하겠습니다. 허니팟은 서버와 동일하게 구성되있고 공격자를 유인하게 위해 암호를 쉽게 한다거나 여러가지 취약점을 가지고 있습니다. 허니팟에 오는 트래픽은 실제 트래픽이 아니기 때문에 대부분 부적절한 트래픽으로 간주하고 공격자가 허니팟 시스템을 공격하면 그 데이터를 가지고 공격패턴, 공격 방법 등 여러가지를 분석하여 관리자가 추후 같은 공격에 대비할 수 있도록 해줍니다.



허니팟시스템에 대한 이미지 검색결과

허니팟 시스템은 위에 그림처럼 구축할 수 있고 다양한 구축방법이 있으니 효과적인 방법으로 공격을 탐지하고 대책을 수립하는 것이 목적입니다.


5. 공격 예방


공격을 탐지하고 막는 것도 중요하지만 가장 중요한 것은 공격 자체를 못하게 하는 것입니다.


공격은 취약점을 줄이는 것과 단순한 보안네트워크 구조 수립, 보안 중시 풍토만들기, 보안정책 개발하는 것으로 예방 할 수 있습니다.


여기서 단순한 보안네트워크구조 수립이란 하드웨어의 단순함을 말하는 것이 아니라 정보, 즉 데이터 흐름의 초점을 두어야 합니다.


1장에서 잠시 나왔었던 네트워크를 분리할 수 있게 설계하는 것도 구조 수립에 한 축이 될 수 있습니다.



2장에서는 악성코드와 서비스거부 공격,  취약점 탐지와 공격예방을 알아보았습니다. 다음장에서는 방화벽에 대해서 알아보겠습니다.