part06 보안

Download Report

Transcript part06 보안

Part 06
보안
1. Windows 보안
2. Linux 보안
3. 해킹 기술
4. 네트워크 장비 보안
5. 해킹 도구
1
Part. 06의 목표
보안의 종류
해킹 기술 및 도구
2
1. Windows 보안
1-1. 보안 정책 설정
1-2. 관리 및 감사
1-3. 침입탐지 및 복구
1-4. 응용프로그램 보안
1-5. 커널보안
33
1-1. 보안 정책 설정
그룹 정책
그룹 정책은 크기 "컴퓨터 구성"과
사용자 구성으로 되어 있다.
컴퓨터 구성에는 시스템과 관련된 서비스들을
제어할 수 있다.
사용자 구성에 필요한 부분.
4
1-1. 보안 정책 설정(계속)
제어판 액세스 금지 설정
사용자 구성 -> 관리 템플릿 -> 제어판 선택.
제어판의 엑세스 금지" 항목을 더블클릭.
[설정]탭에서 "사용"을 선택 다음 [확인]버튼.
[시작버튼]에서는 제어판 항목이 사라져서
보이지 않게 된다.
그러나 윈도우 탐색기에서는 제어판 항목이
보이는데, 제어판을 클릭하게 되면 경고창이
뜨면서 엑세스가 거부된다.
5
1-1. 보안 정책 설정(계속)
로컬 보안 정책
암호 정책은 사용자 계정의 암호를 설정할 때
영향을 미치게 될 정책.
계정 잠금 정책은 계정 로그인을 실패할 때
영향을 미치게 될 정책.
Windows XP에서는 설정과 동시에 정책이
적용된다.
Windows 2000 에서는 정책을 수정하고 난
다음에는 "다시 로드"를 해줘야만 적용이 된다.
6
1-2. 관리 및 감사
로그관리
로그란 시스템의 모든 기록을 담고 있는 데이터이다.
로그분석
데이터를 분석하여 필요로 하는 유용한 정보를 만들어내는 행위.
정보
외부로부터의 침입 감지 및 추적
시스템 성능관리
마케팅 전략으로 활용
시스템의 장애 원인 분석
시스템 취약점 분석
7
1-2. 관리 및 감사(계속)
중요성
시스템에서 발생하는 모든 문제에 대한 유일한 단서
시스템에서 발생한 오류 및 보안 결함 검색이 가능
잠재적인 시스템 문제를 예측하는데 사용될 수 있음
장애 발생시 복구에 필요한 정보로 활용
침해사고 시 근거 자료로 활용
각종 법규 및 지침에서 관리 의무화
8
1-2. 관리 및 감사
감사 정책
개체 액세스, 로그온/로그오프, 감사 정책 설정 변경 등의 보안 관련 로그를 기록하며,
지정한 이벤트 범주의 사용자나 시스템 동작을 기록하도록 정책 설정이 가능하다.
항목
개체
액세스
감사
계정
관리
감사
계정
로그온
이벤트
감사
9
권장 값
설정
성공, 실패
특정 파일이나 디렉토리, 레지스트리 키, 프린터 등과 간은 객체에 대하
여 접근을 시도하거나 속성을 변경하려는 것 등등을 탐지한다. 이 설정만
을 한다고 하여 모든 객체에 대해 감사를 실시하는 것은 아니다.
성공, 실패
신규 사용자, 그룹의 추가, 기존 사용자, 그룹의 변경, 사용자의 활성화나
비활성화, 계정 패스워드 변경 등을 감사한다. 사용자 계정이 잠금 상태가
될 때에도 이 계정 관리 감사 성공 이벤트가 남게 된다.
성공, 실패
계정 로그온 이벤트 감사와 로그온 이벤트 감사의 가장 큰 차이점은 전자
는 도메인 계정의 사용으로 생성되는 것이며 후자는 로컬 계정의 사용으
로 생성되는 것이다. 실패 이벤트 추적은 Brute Force 시도 등을 확인할
수 있게 하며 성공 이벤트 추적은 사후 문제 시 추적을 위한 용도로
사용된다.
1-2. 관리 및 감사(계속)
항목
권한
사용
감사
로그온
이벤트
감사
시스템
이벤트
감사
정책
변경
감사
프로
세스
추적
감사
10
권장 값
설정
(정의 안함)
각종 권한 사용 내역을 추적하는 것이다. 이벤트를 활성화할 경우 상당히
많은 양의 로그가 생성될 수 있다.
성공, 실패
계정 로그온 이벤트 감사와 비슷하나 로컬 계정의 접근 시 생성되는 이벤
트를 감사하는 것이다.
성공(, 실패)
시스템을 시작하거나 셧다운 시켰을 때, 이벤트 로그가 가득 찼을 때 등
과 같이 컴퓨터 자체에 영향을 줄 수 있는 경우에 대해 기록한다.
성공(, 실패)
사용자 권한 할당 정책, 감사 정책 또는 신뢰 정책이 변경되는 모든 이벤
트를 감사할지 여부를 결정한다.
(정의 안함)
사람이나 어플리케이션이 프로세스를 시작하거나 중지할 때 해당 이벤트
가 발생한다. 이벤트를 활성화할 경우 상당히 많은 양의 로르가 생성될 수
있다.
1-2. 관리 및 감사
감사 정책 구성 방법
로컬보안정책 설정을 이용하는 방법과 보안 템플릿을 이용한 감사 정책 구성방법.
로컬 보안 정책
[시작] -> [설정] -> [제어판] -> [관리도구] -> [로컬보안정책]
보안 템플릿
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ko/library
/ServerHelp/ea9858dc-9bf1-4a42-ada6-090237ad178a.mspx?mfr=true
11
1-3. 침입 탐지 및 복구
침입 탐지 방식(오용탐지)
오용탐지(Misuse Detection) = Signature Base = Knowledge Base
Signature업데이트가 필요 이미 발견되고 경립된 공격 패턴을 미리 입력해 두고, 거기에
해당하는 패턴을 탐지하게 되었을 때 이를 알려주는 것.
침입 탐지 방식(이상탐지)
이상탐지(Anomaly Detection) = Behavior = Statistical Detection
정상적이고 평균적인 상태를 기준으로 하여, 상대적으로 급격한 변화를 일으키거나 확률이
낮은 일이 발생할 경우 침입 탐지를 알리는 것.
12
1-3. 침입 탐지 및 복구(계속)
시디롬에서 Press Key..화면이 나올 때 아무키나 눌러 윈도우 설치 복구 화면이 나올 때
까지 기달린다. R키를 눌러 다음 단계로 이동한다.
13
1-3. 침입 탐지 및 복구(계속)
C키를 눌러 콘솔 모드 즉 도스화면으로 들어가게 된다.
administrator 암호를 입력한 후
C:\cd system32\config 입력
C:\winnt\system32\config> ren system systemold ->손상된 파일에 이름 변경
C:\winnt\system32\config> copy c:\winnt\repair\system
14
1-4. 응용 프로그램 보안
패스워드 설계
패스워드는 문자/숫자를 조합하여 4자리 이상으로 한다.
직전의 패스워드로는 변경이 허용되지 않아야 한다.
계정의 패스워드 입력 제한의 횟수를 정의하고, 정의된 횟수 실패 시 자동적으로 연결이
해제 되도록 한다.
사용자 패스워드는 암호화하여 조회가 불가하도록 해야 한다.
사용자 비밀번호는 화면 및 출력물에 노출되어서는 안된다.
C/S 로그온 및 로그오프 설계
로그인 후 일정시간 미 사용 시 자동 로그오프를 적용하거나 화면 잠금 기능을 적용한다.
시스템 접속 시 최종사용시각을 표시한다.
일정기간 시스템 미 사용 시 미 사용자의 로그인을 제한한다.
고객업무에 대해서는 예외로 할 수 있다.
15
1-4. 응용 프로그램 보안(계속)
인터넷/인트라넷 설계
디렉토리 리스팅을 금한다.
인증이 필요한 경우임에도 인증과정 없이 중간페이지로 직접 접속하는 것을 금지한다.
사용자의 주요 정보는 암호화하여 전송한다.
로깅 감사기능 설계
시스템 개발 시 거래기록 등 감사업무 수행에 필요한 자료를 생성하도록 감사기능을 설계.
이용자원장을 수정하거나, 규정 등에서 정한 중요한 거래, 특이 거래를 로그할 수 있도록
감사기능을 설계.
관리자 활동내역에 대해서 로그할 수 있는 감사기능을 설계.
단말기를 통해 고객 기본정보를 조회, 수정하는 경우에는 조회자, 조회일시, 변경 또는
조회내용, 접속방법 등을 시스템에 자동 기록되도록 하고 그 기록을 1년 이상 보관.
16
1-5. 커널 보안
개요
프로세스의 스케쥴,메모리,데이터,하드웨어등의 관리등 운영체제의 기본적 기능을 관장
관리,실현 하는 부분으로 운영체제의 핵심.
기능
커널은 프로세서 32개와 32GB의 RAM을 지원하도록 운영 체제를 더 확장할 수 있다.
새 커널은 Microsoft SQL Server 같은 데이터베이스 응용 프로그램이 대용량의 하드웨어를
이용하고 기능 중 일부를 커널 자체로 이동하여 성능을 높일 수 있게 한다. 프로세서
할당량과 프로세스 계정 같은 기능은 Windows 2000 Server를 웹 호스팅 환경에 아주
적합한 플랫폼으로 만든다. 이제 클러스터링 기능이 커널에 기본으로 제공되므로
중복성을 사용할 수 있는 네트워크에서 가동 시간을 크게 높일 수 있다.
17
2. Linux 보안
2-1. 권한 설정
2-2. 보안정책 설정
2-3. 침입탐지 및 복구
2-4. 응용프로그램 보안
2-5. 커널보안
2-6. 로그분석
183
2-1. 권한 설정
chmod
파일 또는 디렉토리의 접근 권한을 변경하는 명령어.
사용법
chmod [-옵션] [모드] [파일명]
옵션
-R : 퍼미션 변경 대상이 디렉토리일 경우 그 하위 경로에 있는 모든 파일과 디렉토리의
퍼미션을 변경한다
19
2-1. 권한 설정(계속)
모드(심볼릭)
u = 소유자, g = 소유 그룹, o = other, a = all, r = 읽기, w = 쓰기, x = 실행을 의미한다.
권한 추가에 대해서 '+' 를 사용하고 권한 박탈에 대해서는 '-' 를 사용한다.
'=' 를 사용하면 현재 설정된 권한은 제거되고 오직 '='로 설정한 권한만 부여한다.
모드(8진수)
4 = 읽기, 2 = 쓰기, 1 = 실행을 의미한다.
소유자와 소유그룹, other에 대해서 8진수 3자리로 표현하는데 첫째 자리수가 소유자를
의미하고 둘째 자릿수가 소유 그룹, 셋째 자릿수가 other을 의미한다.
751 퍼미션은 소유자에게 7, 소유 그룹에게 5, other에게 1 에 해당하는 퍼미션을 설정한
것이다.
퍼미션의 계산은 주어진 권한에 해당하는 8진수 값을 모두 더해서(+) 설정된다.
20
2-1. 권한 설정(계속)
종류(setuid, setgid)
setuid는 심볼릭 모드로 's'로 표현되고 8진수 모드로는 4000으로 표현된다.
setuid 퍼미션이 설정되어 있는 실행 파일은 실행되는 동안에는 그 파일의 소유자 권한을
가지게 된다.
root 소유의 setuid 퍼미션이 포함되어 있는 파일은 아주 신중히 관리를 해야 된다.
setgid 퍼미션이 포함되어 있는 실행 파일은 실행되는 동안은 그 파일의 소유 그룹의
권한을 가지는 것 빼고는 setuid와 같다. setgid의 8진수 모드는 2000 이다.
종류(sticky bit)
other의 쓰기 권한에 대한 특별한 퍼미션으로 /tmp 디렉토리와 /var/tmp 디렉토리에의
퍼미션이 stickbit가 포함되어 있다. 8진수 모드로 1000으로 설정되고 심볼릭 모드로는
't' 또는 'T‘ 로 설정된다. sticky bit가 포함되어 있는 디렉토리에 other에 쓰기 권한이 있을
경우 other에 해당하는 사용자들은 디렉토리 안에 파일을 만들 수는 있어도 디렉토리
삭제는 할 수 없다.
21
2-2. 보안 정책 설정
기초 보안 설정
리눅스 설치시에 자동으로 생성되는 계정중에 사용하지 않는 계정은 없애도록 한다.
root계정의 접속 시간 제한 설정.
리눅스 단일 사용자 모드 제한.
새도우 패스워드는 꼭 사용한다.
SUID, SGID가 설정되어 있는 프로그램을 찾아 관련없는 프로그램에서 set-bit를 제거한다.
쉘을 이용한 기록관리.
프로세스, 메모리 자원의 사용제한.
su명령어 제한하기.
22
2-3. 침입탐지 및 복구
IDS
Intrusion Detection System 침입탐지시스템을 말한다.
종류
H-IDS : Host(컴퓨터)에서 일어나고 있는 일련의 활동들을 감시하고 침입 발생에 대해
탐지를 하는 IDS
N-IDS : Network 상에서 일어나는 활동들을 감시하고 침입 시도를 탐지하는 IDS
23
2-3. 침입탐지 및 복구(linux rescue복구)
24
linux rescue 입력
english 선택
us 선택
ok 선택
Continue 선택
네트워크 설정
2-3. 침입탐지 및 복구(linux rescue복구)
chroot /mnt/sysimage 실행
/boot/grub/grub.conf 파일
exit 2번으로 재부팅
파일 시스템이 깨졌을 때 : e2fsck실행으로 파일 시스템 복구.
비밀번호 및 로그인 장애 : /etc/passwd 파일을 점검하고 root가 Root로 되었는지 확인.
일반 사용자 ID이면서 UID가 0인 사용자 있는가 확인.
흔히 보지 못했던 사용자 등록되었는지 확인.
GRUB정보로 부팅장애 : /boot/grub/grub.conf파일을 vi로 열어 부팅정보 확인.
수정후에 grub-install을 실행하여 GRUB정보적용.
부팅시 마운트 정보 장애 : /etc/fstab파일이 잘못되는 경우이므로 vi로 열어 정확하게 수정함.
25
2-4. 응용프로그램 보안
nikto
웹 서버 설치시 기본적으로 설치되는 파일과 웹 서버의 종류와 버전 등을 스캔하며 특히
방대한 DB를 이용해 취약한 CGI 파일을 스캔하는 기능이 매우 뛰어나다.
특징
취약하다고 알려진 3100여개의 방대한 CGI 파일에 대한 정보를 갖고 있으며 625개가 넘는
서버에 대한 버전 정보를 갖고 있다. 서버에서 보안적으로 잘못 설정된 부분이나 웹 서버
설치시 기본적으로 설치되는 파일이나 스크립트의 존재 유무, 안전하지 못한 파일이나
스크립트의 유무, 오래되어 취약성을 가지고 있는 프로그램의 유무 등을 검색한다.
취약성 DB는 수시로 업데이트가 되며 원격지에서도 쉽게 업데이트가 가능하다.
취약성 점검 결과는 html이나 txt, csv 등으로 저장 가능하다.
26
2-4. 응용프로그램 보안(계속)
www.cirt.net 사이트에서 최신 버전을 다운 받는다.
nikto-current.tar.gz 파일을 압축 풀고 실행한다.
기본적으로 perl로 되어 있기 때문에 사용시 별도로 컴파일 과정은 필요하지 않고 바로
사용할 수 있다.
사용 형식 : ./nikto.pl [-h targer] [옵션] 아무런 옵션 없이 사용하면 전체옵션을 보여준다.
27
2-4. 응용프로그램 보안(계속)
nikto 옵션
-Cgidirs : 스캔을 진행할 cgi 디렉토리를 지정할 수 있다.
-generic : 스캔시 ‘Server:’ 문자열에 보이는 정보와는 관계없이 스캔을 진행하도록 한다.
-findonly : 웹 서버가 사용하는 웹 포트를 스캔하기 위한 옵션이다.
80번이 아닌 다른 포트에서 웹 서비스를 하는 포트를 찾을 경우에 사용된다.
-Format : 스캔 결과를 파일로 저장하고자 할 때 어떤 형식으로 남길지 지정한다.
-id : 해당 웹 서버가 HTTP Authentication으로 보호되고 있을 때 ID/PW로 인증할 필요가
있는데, 형식은 userid:password이다.
-update : 룰 등을 업데이트할 때 필요하다.
28
2-4. 응용프로그램 보안(계속)
옵션을 설정하지 않아 전체 옵션이 보여지고 있다.
옵션 -findonly 을 사용한 모습.
29
2-5. 커널 보안
2.0 커널 컴파일 옵션
네트워크 방화벽 (CONFIG_FIREWALL)
IP: 포워딩/게이트웨이 (CONFIG_IP_FORWARD)
IP: syn 쿠키 (CONFIG_SYN_COOKIES)
IP: 방화벽 처리 (CONFIG_IP_FIREWALL)
IP: 방화벽 패켓의 일지 쓰기 (CONFIG_IP_FIREWALL_VERBOSE)
IP: 소스에서 라우트된 프레임 떨구기 (CONFIG_IP_NOSR)
IP: 마스커레이딩 (CONFIG_IP_MASQUERADE)
IP: ICMP 마스커레이딩 (CONFIG_IP_MASQUERADE_ICMP)
IP: 투명 프락시의 작동 (CONFIG_IP_TRANSPARENT_PROXY)
IP: 데이타를 항상 뭉치로 전송 (CONFIG_IP_ALWAYS_DEFRAG)
패켓 사인 인증 (CONFIG_NCPFS_PACKET_SIGNING)
IP: 방화벽 패켓 넷링크 디바이스 (CONFIG_IP_FIREWALL_NETLINK)
30
2-5. 커널 보안(계속)
2.2 커널 컴파일 옵션
소켓 필터링 (CONFIG_FILTER)
포트 포워딩 (Forwording 전송 처리)
소켓의 여과 (CONFIG_FILTER)
커널 디바이스 틀
/dev/random
/dev/urandom
31
2-5. 커널 보안(계속)
차이점
/dev/random
무작위의 바이트들로 만들어지며,
무작위의 바이트들이 만들어 쌓이는 동안은
대기 상태가 된다는 정도.
일부 시스템에서는 새로운 사용자 생성
입력이 시스템에 등록되는 시간이 오래
걸릴 수 있고, 그 동안은 막혀 있을 수
있다는 것.
32
/dev/urandom
비슷하나 엔트로피가 낮을 때의 경우
암호학 기법 상 강하다고 할 수 있는 헤쉬
값을 만들어 준다. 이것은 상대적으로는 덜
안전하지만, 대부분의 풀그림용으로는
충분하다.
2-6. 로그 분석
lostlog
가장 최근의 로그인 시간만을 기록하기 때문에 그 전의 로그인 정보기록
btmp
리눅스 시스템상에서의 로그인이 실패될 경우 이 파일에 저장
messages
로그인,디바이스 정보,시스템 설정오류, 파일 시스템, 네트워크 세션 기록등이 저장
33
2-6. 로그 분석(계속)
secure
텔넷이나 ftp,원격접속 등 인증과정의 모든 로그를 secure에 기록
access log
누가,언제,어떻게 서버에 접속했는지 기록이 저장
error log
웹 서버 접근시 접근 에러의 메시지를 저장
34
3. 해킹 기술
3-1. 1) Race condition, 2) Dead Lock
3-2. IFS
3-3. Buffer overflow
3-4. Password attack
3-5. Format string
3-6. IP spoofing
3-7. DoS
353
3-1. 1) Race condition(경쟁상태)
개요
UNIX시스템상에 두 프로세스가 서로 UNIX간에 자원을 사용하기 위해서 다투는 과정.
오류 종류
경계검증오류 : 입력되는 값의 길이를 검증하지 않아 생기는 취약점
입력데이터검증오류 : 입력 데이터 값의 수, 타입, 형식등을 검증하지 않아 생기는 취약점
접근권한오류 : 적절한 접근권한을 검사하지 않아 생기는 취약점
근원지검증오류 : 상대방의 적절한 신원을 확인하지 않아 생기는 취약점으로 불법사용자가
접근할 수 있도록 하는 취약점
36
3-1. 2) Dead Lock(교착상태)
개요
프로세스가 병행처리되는 과정에서 서로가 자신의 자원을 소유한 채로 상대의 자원을
얻기 위해 무한 대기하는 현상. Race condition의 반대.
현실적 방안
튜닝을 통한 예방
- 교착상태는 프로세스외에 데이터베이스내에서도 자주 발생하며, DB의 자원활용과
어플리케이션의 튜닝을 통해 예방
정확한 트랜잭션의 설계와 모니터링
- 시스템의 용도와 사용현황에 따라 트랜잭션을 적절한 선에서 분할하며 정확한 설계에
의해 교착상태 최소화를 실현.
- 지속적인 모니터링과 교착상태 발생시 원인파악 및 해결책의 Feedback을 통해 시스템
안정화 도모
37
3-2. IFS
개요
명령어의 옵션을 설정하거나 프로그램의 인자를 지정할 때 명령어와 옵션, 프로그램과
인자를 구분해주는 일종의 시스템 구분 인자.
환경변수
IFS 환경변수를 내부 유저들이 마음대로 조작해 관리자의 권한을 얻어낼 수 있는데
loadmodule 해킹, expreserve 해킹, rdist해킹 등이 있다.
쉘 변수 중 IFS를 /로 선 언하고 몇 가지 트릭을 통해 일반유저들이 쉽게 root의 권한을
가질수 있게 된다.
38
3-3. Buffer overflow
개요
메모리에 할당된 버퍼의 양을 초과하여 데이터를 입력했을 때 프로그램의 복귀 주소를
조작, 궁극적으로 해커가 원하는 코드를 실행하는 것.
역사
해킹 기법이 아닌 단순한 프로그램상의 문제로 처음 소개되었다.
1973년 C언어의 데이터 무결성 문제로 그 개념이 처음 알려졌다.
1988년 모리스웜이 fingerd 버퍼 오버플로우를 이용했다는 것이 알려지면서 문제의 심각성
이 인식되기 시작.
1997년 온라인 보안잡지로 유명한 Phrack에 alephone이 Smashing The Stack For Fun
And Profit 문서를 게재하면서 보다 널리 알려지게 됐다.
39
3-3. Buffer overflow(계속)
취약점
오류 검사를 제대로 수행하지 않는다.
개발자가 근거 없는 특수한 가정을 하며, 정상적인 환경에서 변수에 할당된 메모리 크기가
충분하다고 과신하기 때문이다.
40
3-4. Password attack
개요
시스템에 입력하는 합법적인 사용자의 패스워드 키를 입수하거나 복호화 하려는 시도.
기능
기존의 사용 가능한 패스워드 사전, 크래킹 프로그램 및 패스워드 스니퍼를 결합하여
패스워드를 상당히 취약하게 만든다.
사용자의 패스워드를 입수하는 것은 놀랄 정도로 쉬울 뿐만 아니라, 짐작하는 것도 어렵지
않으며, 운영 체제 자체에 의해 충분히 보호를 받지 못하는 경우가 많다.
대처방안
최소 길이 제한, 인식 불가능한 단어 및 정기적인 변경 등을 포함한 강력한 패스워드
정책을 사용하는 것이 패스워드 공격에 대처하는 가장 좋은 방법이다.
41
3-5. Format string
개요
format string을 사용하는 함수에 대해, 어떤 형식 혹은 형태를 지정해 주는 문자열.
문제점
대부분의 다른 취약점 또는 버그들처럼 일반 프로그래머들의 작은 실수에서 발생된
취약점을 이용하는 것.
42
3-5. Format string(계속)
취약점
43
상황
데이터채널
통제채널
보안문제
전화 시스템
목소리 또는 데이터
통제 톤 라인
통제 장악
PPP프로토콜
데이터 전송
PPP 명령
트래픽 증폭
스택
데이터 쌓기
리턴 어드레스
retaddr 통제
Malloc 버퍼
데이터 할당
관리 정보
메모리에 쓰기
포맷 스트링
스트링 출력
포맷 파라미터
포맷 함수 통제
3-6. IP spoofing
개요
인터넷 프로토콜인 TCP/IP의 구조적 결함, TCP 시퀀스번호, 소스라우팅, 소스 주소를
이용한 인증(Authentication) 메커니즘 등을 이용한 방법으로써 인증기능을 가지고 있는
시스팀을 침입하기 위해 침입자가 사용하는 시스팀을 원래의 호스트로 위장하는 방법.
즉 자신의 IP를 속이는 행위다.
예방법
패킷 필터링 기능과 보안 취약성이 보강된 라우팅 프로토콜을 포함하는 라우터를 설치해야
한다. 내부 도메인과 일치하는 소스IP주소를 포함하는 패킷이 외부로 부터 들어오는 것을
필터링 해준다면 자연히 외부로부터의 침입은 예방할 수 있다.
44
3-7. DoS -> 저작권 침해 그림
DOS
DDOS
공격목표 호스트로 대량의 네트워크
DoS공격을 하나가 아닌 여러 개의 호스트
가 담당한다는 데 차이
트래픽을 발생 대상 호스트의 네트워크
서비스기능을 일시적으로 또는 완전히
정지시키는 공격의 유형
Master  target IP로 변경
IP헤더 뒤에 ICMP메시지를 붙임  ICMP Ping
Request를 broadcast address로 전송
Victim
45
공격자
ICMP Ping Request를 받은 모든 호스트
들은 ICMP Ping Reply메시지를 Target
으로 되돌려 보냄
3-7. DoS(계속)
DoS 개요
시스템이나 네트워크의 구조적인 취약점을 공격하여 며칠 동안 정상적인 서비스를 지연
시키거나 마비시키는 해킹 공격을 말한다.
DoS 공격
파괴공격 : 디스크나 데이터, 시스템의 파괴.
시스템 자원의 고갈 : CPU, 메모리, 디스크 사용에 과다한 부하를 가중시킴.
네트워크 자원의 고갈 : 쓰레기 데이터로 네트워크의 대여폭을 고갈시킴.
46
3-7. DoS(계속)
DoS 공격 종류
Ping of Death(ICMP Flooding)공격
SYN Flooding 공격
Boink, Bonk 및 Teardrop 공격
Land 공격
Win Nuke 공격
Ping of Death 공격
ICMP 패킷을 65500바이트의 일반적인 패킷보다 훨씬 더 큰 크기로 보내 하나의 패킷이
네트워크를 통해 공격 대상에게 전달되는 동안 여러 개의 ICMP 패킷으로 나누어지게 하여
공격 시스템에 과부하를 일으키는 공격이다.
SYN Flooding 공격
TCP 프로토콜의 구조적인 문제를 이용한 공격으로 각 서버의 동시 가용 사용자 수를 SYN
패킷만 보내 점유하여 다른 사용자로 하여금 서버를 사용 불가능하게 하는 공격이다.
47
3-7. DoS(계속)
Teardrop 공격
UDP와 TCP 패킷의 시퀀스 넘버를 조작하여 공격 시스템에 과부하를 일으키는 공격이다.
Land 공격
TCP 패킷의 출발지 주소와 도착지 주소가 같은 패킷을 공격 시슽템에 보내 공격 시스템의
가용 사용자를 점유하며, 시스템의 부하를 높인다.
Win Nuke 공격
윈도우의 NetBIOS의 플래그 URG를 On 상태로 보내 공격 시스템을 작동 정지 상태로
만드는 공격이다.
48
4. 네트워크 장비 보안
4-1. Router 보안
4-2. L1~L7 Switch 보안
4-3. Filewall
4-4. IDS, IPS
493
4-1. 라우터 보안
라우터 보안 원칙
불필요한 TCP/UDP 데몬 서비스는 제공하지 않도록 한다.
꼭 필요한 서비스라면 접근통제를 엄격히 해 꼭 필요한 IP에서만 접속을 하도록 허용한다.
소스 라우팅이나 원격설정이 가능한 서비스 등 불필요한 서비스는 제공하지 않도록 한다.
불필요한 인터페이스는 셧다운해 서비스하지 않도록 한다.
라우터 자체 보안
Default password 보안
SNMP community string 보안
AAA서버(TACACS/RADIUS)를 통한 사용자기반의 인증
SSH를 통한 보안
SNMP, TELNET, SSH, HTTP의 접근 제어
Logging 설정을 통한 보안
사용하지 않는 서비스 off
OOB(Out Of Band Management)
50
4-1. 라우터 보안(계속)
Router security function
IP spoofing 방지
IP Address 필터링
IP Source Routing
Ping 공격 방어
QoS(CAR, CBWFQ, LLQ, WRED)
Secure Routing
TCP/UDP flooding 공격 방어
Worm 필터링(NBAR, ACL, PBR)
Traffic monitoring
Router resource 점검(네트워크 공격 당하기 전)
Netflow를 통한 flow 점검(네트워크 공격이 의심이 갈 때)
Tracking 및 filtering(네트워크 공격 당한 후)
51
4-2. L1~L7 Switch 보안
L2 스위치
2Layer(Datalink Layer)의 프로토콜 이더넷, 프레임릴레이, ATM 등에서 스위칭 기능 수행.
L3 스위치
3Layer(Network layer)의 프로토콜인 IP, IPX등에서 스위칭 기능을 수행.
라우팅 기능을 스위치가 가지게 된다.
52
4-2. L1~L7 Switch 보안(계속)
L4 스위치
4Layer(Transport Layer)의 프로토콜인 TCP, UDP등을 스위칭.
TCP와 UDP,RTP(Real Time Protocol) 등의 헤더를 사용하여, FTP, HTTP, TFTP. SMTP
등의 프로토콜 중 어느 것에 대한 요구가 우선하는지 파악한 후 스위칭하게 된다.
서버와 연동시켜 해당 서비스를 제공하는 서버로 연결하는 스위치로 이용된다.
L7 스위치
대량 트래픽 공격으로 인한 서버 다운과 같은 현상을 겪은 1·25대란 이후 L4스위치에
필터링 기능과 보안기능을 추가한 스위치.
53
4-3. Firewall
Firewall 개요
자신의 망과 인터넷간의 경계에 있는 보안관 역할을 수행하는 전용 보안장치이다.
Firewall 기능
접근제어(Access Control) – 통과시킬 접근과 그렇지 않은 접근을 결정하여 허용과 차단을
한다. 패킷 필터링 방식과 프록시 방식으로 나뉜다.
로깅(Logging)과 감사추적(Auditing) - 허가 또는 거부된 접근에 대한 기록을 유지한다.
인증(Authentication) – 방화벽은 메시지 인증, 사용자 인증, 클라이언트 인증을 할 수 있다
데이터의 암호화.
54
4-3. Firewall(계속)
Firewall 구조
스크리닝(Screening)라우터 : 3계층인 네트워크 계층과 4계층인 전송 계층에서 실행되며
IP주소와 포트에 대한 접근 제어를 한다.
단일 홈 게이트웨이(Single Homed Gateway) – 접근제어, 프록시, 인증, 로깅 등 방화벽의
가장 기본적인 기능을 수행한다.
이중 홈 게이트웨이(Dual Homed Gateway) – 네트워크 카드를 두개 이상 갖는 방화벽이며
외부 네트워크에 대한 네트워크 카드와 내부
네트워크에 대한 네트워크 카드가 구별되어
운영된다.
스크린된 호스트 게이트웨이(Screened Host Gateway) – 스크리닝 라우터에 패킷 필터링
함으로 1차 방어를 하며, 베스천
호스트로서 단일 홈 게이트웨이
서 프록시와 같은 서비스를 통해
2차 방어를 한다.
스크린된 서브넷 게이트웨이(Screened Subnet Gateway) – 외부네트워크와 외부네트워크
사이에 서브넷 완충지대를 둔다.
55
4-3. Firewall(계속)
패킷 필터링 설정과정
허용할 서비스를 확인한다.
제공하고자 하는 서비스가 보안의 문제점은 없는지와 허용에 대한 타당성을 검토한다.
서비스가 이루어지고 있는 형태를 확인하고, 어떤 규칙을 적용할지 구체적인 결정을 한다.
방화벽에 실제 적용을 하고, 적용된 규칙을 검사한다.
NAT 구현방법
Normal NAT – 사설 IP주소를 가지고 있는 클라이언트가 외부로 접속할 때.
Reverse NAT – 내부에 서버를 운영할 때.
Redirect NAT – 목적지 주소를 재지정할 때.
Exclude NAT – NAT를 적용시키지 않고, 공인 IP주소를 클라이언트 IP주소로 쓸 때.
56
4-3. Firewall(계속)
프록시 종류
회로 계층 프록시(Circuit Level Proxy) – Socks등을 이용해 하나의 회로를 만들 뿐 실제
적인 프로토콜 분석이 가능하지 않다.
응용 계층 프록시(Application Level Proxy) – HTTP, FTP등 하나의 서비스에 대한 프록시
가 개별적으로 존재한다.
방화벽 한계점
바이러스를 막을 수 없다.
악의적인 내부 사용자의 공격을 막을 수 없다.
방화벽을 통과하지 않은 통신에 대한 제어가 불가능하다.
새로운 형태의 공격을 막을 수 없다.
57
4-4. IDS
IDS 개요
시스템이나 네트워크 트래픽(패킷)을 모니터링 하여 자원에 대한 비정상적인 행위를
확인하고 감시하는 시스템.
분류
Pattern Matching(오용, 남용행위 탐지)
Anomaly Detection(비정상 행위 탐지)
2가지의 분류가 있으나 “Pattern Matching” 방식이 더욱 많이 사용 되고 있는 기술이다.
58
4-4. IDS(계속)
Pattern Matching 방식
장점 – 정확한 탐지가 가능하며 보안지식이 높지 않아도 쉽게 이해가 가능하다.
관리자가 쉽게 룰을 편집하거나 추가/수정/삭제가 가능하다.
단점 – 오직 룰에 정의된 패턴만 인식할 수 있으므로 숙련된 해커의 경우 IDS회피가 가능하다.
공격 방식이 획인된 후 룰 업데이트가 되므로 새로운 공격방식에 대한 탐지에 한계가
있으며 패턴은 수시로 업데이트 되어야 한다.
대부분의 IDS는 자동 업데이트 기능을 제공하고 있다.
Anomaly Detection 방식
장점 – 공개되지 않은 공격방식도 탐지할 수 있다.
별도의 수 많은 룰을 참고할 필요 없이 미리 구축된 통계 값이나 RFC 표준에 따르지
않는 경우 공격이라 판단하기 때문이며 상대적으로 탐지 속도가 빠르다.
단점 – 탐지할 수 있는 공격에 한계가 있으며 오탐율이 높다.
통계 자료를 얻기 위해 일정 시간이 필요하다.
59
4-4. IPS
개요
능동형 보안 솔루션인 침입방지시스템은 기존의 IDS에서 보다 발전된 차세대 보안 솔루션
으로서, 탐지 및 보고기능에서 한 단계 더 나아가 방어기능까지 추가되어 보다 안전하고
적극적인 보안을 위한 최적의 제품이다.
기능
Multi- Detection System
Layer 4 - Layer 7
Deep packet 검사
패킷을 열어 컨텐츠까지 분석할 수 있으며, 사용자 정의 방어정책을 자세히 설정할 수 있다.
실시간으로 모든 트래픽을 탐지 (실시간 이벤트, 실시간 그래프)하고, 즉시 방어할 수 있다.
사용자 요구에 따라 다양한 리포트 생성 가능
60
5. 해킹 도구
5-1. Buffer overflow 공격도구
5-2. Packet sniffer
5-3. IP spoofing 도구
5-4. Scanner
5-5. DoS 공격도구
5-6. rootkit
613
5-1. Buffer overflow 공격도구
일반적인 공격 도구 방법
스택의 적당한 곳에 해커가 원하는 코드를 집어 넣은 다음 리턴 어드레스를 삽입한 코드
부분이 있는 곳으로 바꿔 줌. 해커가 삽입한 코드를 실행하게 됨.
프로그램이 SETUID 루트로 실행되어서 프로그램의 실행 중에 루트 권한으로 동작하고
있으면, 내부 사용자가 루트 권한을 얻을 수 있음.
서버 프로그램과 같이 외부에서 입력을 받으며 실행되는 프로그램이 버퍼 오버플로우
공격을 당하게 되면 사용자가 내부 사용자 권한을 획득 할 수가 있게 됨.
62
5-2. Packet sniffer
개요
시스템 내부에 부정한 수단으로 침입해서 통신망을 흐르는 패킷을 감시하는 소프트웨어.
특징
아주 평범한 유틸리티 소프트웨어의 일부인 것같이 위장하고 침입자의 파일이나 침입자
자신의 통신망 내 작동을 숨기는 기능을 가지고 있으므로 발견하기 어렵다.
종류
EffeTech HTTP Sniffer v3.6
Ace Password Sniffer v1.2
MSN Sniffer v1.2
63
EtherDetect Packet Sniffer
ICQ Sniffer
AIM Sniffer
EtherBoss MSN Monitor
5-2. Packet sniffer(계속)
EffeTech HTTP Sniffer
웹 페이지를 호출할 때 발생하는 패킷을 스니핑(훔쳐보기)하는 프로그램.
Ace Password Sniffer
Ace로 압축할 때 사용한 패스워드를 훔쳐내는 프로그램.
EtherDetect Packet Sniffer
이더넷의 패킷을 훔쳐보는 프로그램.
64
5-2. Packet sniffer(계속)
MSN Sniffer
MSN 메신저의 대화 내용을 훔쳐 보는 프로그램.
ICQ Sniffer
ICQ 메신저의 대화 내용을 훔쳐보는 프로그램.
EtherBoss MSN Monitor
MSN Sniffer과 유사한 프로그램.
65
5-3. IP spoofing 도구
Non Blind IP Spoofing
Connect가 되어 있는 상태를 살피고 있다가 중간에 끼어 드는 Connection Hijacking할 때
흔히 사용.
Connection을 끊어 버리거나 중간에 해커가 원하는 명령을 수행하게 할 수 있다.
One time password를 무력화 시킬 수 있다.
hunt라는 프로그램을 사용해 쉽게 할 수 있다.
66
5-3. IP spoofing 도구(계속) 저작권 침해 그림
hunt를 이용한 ip spoofing 1
hunt를 이용한 ip spoofing 4
67
hunt를 이용한 ip spoofing 2
hunt를 이용한 ip spoofing 3
5-3. IP spoofing 도구(계속) 저작권 침해 그림
hunt를 이용한 ip spoofing 5
hunt를 이용한 ip spoofing 8
68
hunt를 이용한 ip spoofing 6
hunt를 이용한 ip spoofing 7
5-3. IP spoofing 도구(계속)
Blind IP Spoofing
Sequence number가 추측이 가능한 경우에만 공격이 가능하다.
rsh, rlogin과 같은 IP를 가지고 인증하는 서비스를 공격할 때 사용한다.
Denial of Service공격이 우선적으로 필요하다.
mendax 프로그램을 사용해 rsh, rlogin의 인증을 쉽게 무력화 시킬 수 있다.
69
5-3. IP spoofing 도구(계속) 저작권 침해 그림
IP Spoofing 도구 mendax를 이용한 화면.
mendax를 이용한 IP Spoofing 1
70
mendax를 이용한 IP Spoofing 2
mendax를 이용한 IP Spoofing 3
5-4. Scanner
개요
네트워크 해킹 취약점을 자동으로 검색해주는 도구.
스캔공격
도구를 이용하여 정보를 수집하는 것.
종류
Teleport Pro (웹사이트 스캐너)
wuscan.exe (WU_FTP 탐색 스캐너 )
Retina 스캐너 MSS
Spy Sweeper (스파이웨어 스캐너)
71
5-4. Scanner(계속) Retina 스캐너 MSS 모습-> 저작권 침해 그림
스캔할 ip 시작과 끝 입력후 스캔
텍스트 파일 모습
72
스캔이 완료된 모습
스캔 결과 텍스트 파일 저장하기
5-5. DoS 공격도구
local DoS
일반적으로 local DoS공격은 공격자가 시스템에 들어와서 시행하는 방법이다.
끝임없이 프로세스를 만든다거나 잘못된 명령을 루프로 계속 돌린다거나..
기타 시스템에 크게 무리를 주어, 시스템을 마비 시키는 공격법이다.
remote DoS
대부분의 네트웍상에서 이루어지는 DoS공격법이다.
ping공격, ICMP(Internet Control Message Protocol)공격, 메일폭탄등이 있다.
73
5-6. rootkit
개요
단일 컴퓨터 또는 일련의 컴퓨터 네트워크에 대해 관리자 레벨의 접근을 가능하도록 하는
도구의 집합.
구성
스파이웨어와 다른 프로그램들(트래픽 또는 키스트로크를 모니터링하는 프로그램)
해커가 사용할 수 있는 시스템으로의 백도어를 생성하는 프로그램
로그 파일을 변경하는 프로그램
네트워크 상의 다른 장비들을 공격하는 프로그램
탐지를 벗어나기 위해 컴퓨터 상에서 현재 작동중인 시스템 도구들을 변경하는 프로그램
74
5-6. rootkit(계속)
대처 방안
제거할 수 있는 유일한 방법은 컴퓨터 하드디스크를 지우고 운영체제를 다시 설치하는 것.
75