16 허니팟
학습목표 내용 허니팟의 기능과 목적을 이해한다. 네트워크에서 허니팟의 위치와 구조를 이해한다. 허니팟의 실제 적용 사례를 이해한다. 내용 허니팟의 기능과 목적 허니팟의 구조 허니팟에서의 로그
허니팟의 기능과 목적 허니팟 사냥할 때 곰을 유인하기 위한 꿀단지처럼 해커를 유인해서 정보를 얻거나 잡으려고 설 치 유인 ○, 함정 ⅹ
허니팟의 기능과 목적 허니팟 1990년대 중반 미국 매사추세츠 공과 대학 교수 데이비드 클록(David Clock)이 처음 제안 1999년 썬 마이크로시스템즈의 컴퓨터 보안 전문가인 랜스 스피츠너(Lance Spitzner) 와 2002년 소프트웨어 제조회사 SAIC이 실제 프로젝트 시행 허니팟의 발전된 유형으로 허니넷(HoneyNet)이 있음 허니팟은 해커의 정보를 얻기 위한 하나의 개별 시스템. 허니넷은 허니팟을 포함한 네트워크 허니넷 프로젝트(http://www.honeynet.org/)가 내세우는 허니팟의 목적은 경각심 (Awareness), 정보(Information), 연구(Research) 허니팟은 새로운 공격에 대한 연구 목적뿐만 아니라 실제 공격이 일어날 때 공격을 회피 하기 위해서 설치하기도 함 허니팟이 공격자에 대한 효율적이고 빠른 대응을 하는 데 필요한 주요 기능은 정보 수집 과 시스템 제어 더 심각한 상황은 시스템의 제어권을 해커에게 모두 빼앗기는 경우로, 허니팟이 다음 공 격을 위한 교두보로 사용될 수 있음 → 시스템 제어는 매우 중요
허니팟의 기능과 목적 허니팟의 요건 해커에게 쉽게 노출된다. 쉽게 해킹이 가능한 것처럼 취약해 보인다. 시스템의 모든 구성 요소를 갖추고 있다. 시스템을 통과하는 모든 패킷을 감시한다. 시스템에 접속하는 모든 사람에 대해 관리자에게 알려준다.
허니팟의 구조 GEN-I 방화벽 안에 윈도우와 리눅스 허니팟을 설정하고, 스위칭 환경에서 로그 서버를 운영하 고 있다. GEN-I은 분당 5개 정도의 연결만 허용 자동화된 툴의 공격과 웜 공격에 대한 정보 수집에 좋은 성능을 보임 허니팟에서 시작될 수 있는DoS나 무차별적 스캐닝 공격을 막을 수 있음 보통 방화벽으로 iptables 사용, 침입 탐지 시스템(IDS)은 Snort 이용
허니팟의 구조 Gen-II 2002년부터 설계되었으며, 2년 계획으로 연구 허니넷 센서(HoneyNet Sensor)로 Hogwash(호그와쉬)라는 2계층의 IDS 게이트웨이 가 추가로 설치 IDS 게이트웨이는 Snort를 이용해 공격으로 탐지되는 패킷을 2계층에서 차단 가능 라우팅 정보의 변경을 통한 접근 제어를 하지 않으며, 방화벽의 필터링 기능과 IDS의 침 입 탐지 기능을 결합한 것
허니팟의 구조 GEN-III 2003년부터 시작되었으며, 2005년 여름에 발표 기본 구조 등은 Gen-II와 같음 Gen-II에서 사용하던 Hogwash 대신 Roo(루)라는 허니월(HoneyWall)을 사용 Roo를 이용하여 데이터를 좀 더 효과적으로 수집하고 분석
실습 16-1 VMware 허니팟 설치하기 실습환경 【VMware 설치】 설치 마법사를 이용해 VMware 설치 • 설치 대상 시스템 : 윈도우 XP • 필요 프로그램 : VMware Workstation 6.0, 리눅스 페도라 12 실습환경 1
실습 16-1 VMware 허니팟 설치하기 【VMware에 가상 운영체제 설치】 VMware를 실행한 후 [New Virtual Machine] 메뉴 선택 가상 운영체제 환경과 버전 선택 2 3
실습 16-1 VMware 허니팟 설치하기 4 가상 운영체제의 이름과 설치 경로 선택 가상 운영체제의 네트워크 선택 5
실습 16-1 VMware 허니팟 설치하기 7 CD-ROM 설정과 ISO 이미지 선택 가상 운영체제 설치 8
허니팟에서의 로그 기본적인 허니팟에서의 로그 허니팟에서 가장 중요한 세 가지 요소는 Data Capture, Data Collection, Data Control 관리자의 요구에 맞는 상세한 로그를 남길 수 있어 로그 서버는 유닉스나 리눅스 사용 로그는 장치(Facility)와 레벨(Level)로 구분하여 설정 Facility는 로그를 남기는 프로그램을 의미하므로 각 장치가 특정 분야의 로그를 맡음 각 장치는 [표 16-2]와 같은 레벨 중 하나를 가짐
허니팟에서의 로그
허니팟에서의 로그
허니팟에서의 로그 기본적인 허니팟에서의 로그 일반 리눅스와 유닉스에서는 로그의 장치와 레벨을 /etc/syslog.conf 파일에서 설정 페도라 12에서는 /etc/rsyslog.conf 파일로 존재 ➊ 커널에 대한 모든 로그는 /dev/console로 보내게 되어 있으나, 주석 처리가 되어 있기 때문에 작동 하지 않는다. 주석을 제거하면, 이에 대한 로그를 터미널에서 확인할 수 있다. ➋ mail, cron 등 다양한 로그가 none 으로 설정되어 있다. 따라서 이에 대 한 로그는 남기지 않는다. ➌ 모든(*) 긴급한 비정상(emerg) 로그 는 모든(*) 경로로 로그를 남긴다. ➊ ➋ ➌
허니팟에서의 로그
실습 16-2 로그 서버 설치하기 실습환경 sysklogd 데몬 설치 1-1 sysklogd 압축 풀기 tar xvf sysklod-1.5.tar.gz 1-2 syslogd.c 작성 vi ./syslogd.c • 로그 시스템 : 리눅스 페도라 12 • 로그 서버 시스템 : 리눅스 페도라 12 • 필요 프로그램 : sysklogd-1.5.tar.gz 실습환경 1
실습 16-2 로그 서버 설치하기 syslogd 설치 ➊ make ➋ make install 로그 클라이언트 설정 : /etc/syslogd.conf 설정 /etc/syslogd.conf 3
실습 16-2 로그 서버 설치하기 /etc/hosts 설정 vi /etc/hosts rsyslogd 프로세스 중지 4 /etc/hosts 설정 vi /etc/hosts rsyslogd 프로세스 중지 ➊ ps -ef | grep syslog ➋ kill -9 968 ➌ ps -ef | grep syslog 5
실습 16-2 로그 서버 설치하기 파일 이름을 변경한 sysklogd 프로세스 실행 ➊ cp ./syslogd /sbin/rsyslogd ➋ rsyslogd 로그 서버 설정 :/etc/services 설정 7