정보보호개론 12. 해킹관련 (2) - 기존수법 1
유닉스해킹공격 SetUID 공격 유닉스에서프로그램의소유자가아닌사용자가프로그램을실행했을때실행시간동안에만일시적으로프로그램소유자의권한을획득하도록하는 SetUID 기술을이용하는공격방식 공격자는 SetUID 공격을통하여루트권한을획득할수있음 SetUID 공격 버퍼오버플로우 (buffer overflow) 공격 임시파일링크공격 IFS(Internal Field Separator) 공격 2
버퍼오버플로우공격 (1) 버퍼오버플로우취약점 할당된메모리량보다더많은데이터를메모리에복사하는경우발생 버퍼오버플로우시의프로그램메모리맵 3
버퍼오버플로우공격 (2) 버퍼오버플로우취약점 매개변수값의길이가지역변수값의길이보다클경우유닉스시스템은이를확인하지않고복사를함으로서다른메모리공간을덮어쓰게됨 지역변수에복사될문자열에특정프로그램의이진코드를포함시키면함수가실행한후복귀할때공격자의특정프로그램이실행가능 버퍼오버플로우공격의예 popd/imapd 공격 popd, imapd 서버가사용자인증시에인증데이터의길이에대한한계값을검사하지않는다는점을이용 원격지에서관리자의권한으로명령을수행가능 NFS_export 길이초과공격 /etc/exports 파일에서디렉토리항목의길이가 256 자를초과할경우모든호스트에마운트를허용하는점을이용 4
버퍼오버플로우공격 (3) 1990 년대이후꾸준히증가하고있는추세 이에대한패치를계속발표 보안대책 개발자 함수를정의할때함수에전달된모든입력값의길이를검사하는루틴을함수내에추가 길이를검사하지않는라이브러리함수를사용할경우에는주의필요 사용자 프로그램의 setuid 비트를제거 overflow_wrapper 와같은프로그램을설치 지속적으로패치 5
임시파일링크공격 (1) /tmp 디렉토리 일반사용자도파일을생성하거나삭제할수있는디렉토리 setuid 비트가설정되어관리자권한으로실행되는프로그램들중에서 /tmp 디렉토리에임시파일을생성하는프로그램이존재함 공격자 임시파일의이름을사전에인지하여해당파일을삭제 /etc/passwd 와같은관리자소유의중요한파일에삭제한파일과동일한이름으로심볼릭링크설정 임시파일을생성했던응용프로그램이데이터를임시파일과동일한이름의심볼릭링크파일에쓰게되면데이터는임시파일이아닌링크가걸려있는파일에써지게됨 관리자소유의중요한파일들을손상시키거나변경시킬수있음 6
임시파일링크공격 (2) 임시파일링크공격과정 1 관리자권한의프로그램이임시파일 backup.dat 을 /tmp 에생성 2 공격자는 backup.dat 을삭제 3 공격자는 /tmp/backup.dat 이름으로 /etc/passwd 파일에링크설정 4 관리자권한의프로그램은 backup.dat 에데이터를씀 5 데이터는 /etc/passwd 에쓰이게되므로패스워드파일을손상시킴 7
임시파일링크공격 (3) 임시파일링크공격의예 1 expreserve 저장되는파일의디렉토리경로와이름을쉽게유추 사용자의주요파일을공격가능 2 admintool Solaris 2.5.x 시스템의 admintool 은사용자는임의의파일생성가능 예방하기 : 프로그램이 /tmp 디렉토리에가능하면임시파일을생성하지않도록해야함, 임시파일을생성하는전용함수를사용 filename = mktemp("/tmp/tempfilexxxxxx"); 임시파일을생성하기위하여 /tmp 디렉토리안에추가디렉토리를생성 8
유닉스백도어공격 (1) 백도어 (back-door) 특징 시스템설계자또는관리자에의해고의로만들어진시스템보안상의헛점등 침입이쉽게발견되기어려움 시스템침입시간이일반적으로짧음 백도어의종류 login 백도어 매직패스워드와같이특정패스워드입력시인증과정없이로그인을허용 utmp 나 wtmp 등의로그파일에기록되지않음 telnetd 백도어 login 프로그램의구동전에실행 특정터미널에서시스템에접속하는경우인증과정없이쉘을부여 9
유닉스백도어공격 (2) 백도어의종류 Services 백도어 finger, rsh, rexec, rlogin, ftp, inetd 등과같은대부분의유닉스서비스들에존재하는백도어버전 Cronjob 백도어 cron 데몬 특정시간에예약된백도어프로그램을수행시킴 공격자는시스템에불법으로침입할수있고합법적인프로그램으로가장 라이브러리백도어 시스템에설치된라이브러리를수정하여백도어코드를삽입하는경우 커널백도어 커널코드가수정되어백도어가만들어진경우 이경우백도어와침입을인지하기매우힘들고 MD5 등과같은무결성검사로도진단이불가능함 10
유닉스백도어공격 (3) 백도어의종류 ( 계속 ) 파일시스템백도어 ls, du, fsck 등과같은명령어를수정하여특정디렉토리나파일을숨기는백도어 숨기려는대상을불량섹터 (bad sector) 로처리 프로세스은닉백도어 패스워드크래커나스니퍼등과같은프로세스들을숨김 숨기는방법 라이브러리루틴수정을통한은닉 인터럽트처리루틴에삽입을통한은닉 커널수정에의한은닉 네트워크트래픽백도어 네트워크트래픽을숨겨사용하지않는포트로침입하는것 11
유닉스백도어공격 (4) 백도어의종류 ( 계속 ) TCP 쉘 (shell) 백도어 1024 번이상의 TCP 포트에쉘제공서비스를설치하는것을허용 TCP 쉘백도어의경우 netstat 명령등을통해확인이가능 UDP 쉘백도어 침입차단시스템 (firewall) 을우회할수있음 백도어를방지하기위한방법 시스템및네트워크에대한보안취약점을주기적으로진단 시스템개발사로부터주기적으로패치버전을다운로드받아설치 주요백도어대상프로그램에대한백업및해쉬코드값을유지하고프로그램설치전에 MD5 등을통해무결성을진단 관리자가새로운백도어공격과이에대한예방책에대한동향을주기적으로파악하여시스템에대한관리를철저히하는것이필요 12
Windows 해킹공격 Windows 와 Unix 의비교 Windows Identification SID(Security ID) 에의한구분 UID : 사용자구분 GID : 그룹구분 Unix Access Control ACL을통한접근제어 Permission을통한접근제어 (rwxr-xr-x 등 ) Auditing Networking Impersonation SRM(Security Reference Monitor) 과 LSA(Local Security Authority) 에서감사를담당 Server Message Block 을기반으로동작 커널및시스템프로세스에서담당 NFS, NIS 이용 토큰기반 (primary, impression token) SUID/SGID 이용 13
시스템정보수집해킹공격 (1) NetBIOS 테이블정보질의 공격자는 nbtstat 명령을이용하여 NetBIOS 이름테이블정보를질의하여네트워크취약점을획득할수있음 nbtstat 명령의사용법 NetBIOS 테이블정보질의 Windows 명령프롬프트에서 nbtstat 명령실행 지역또는원격호스트의 NetBIOS 이름테이블확인가능 지역호스트의 NetBIOS 이름테이블을해제하고새로고칠수있음 nbtstat 사용예 WINS 서버로부터현재등록된모든지역 NetBIOS 이름을해제하고새로고침 14
시스템정보수집해킹공격 (2) IPC$ share 를이용한정보수집 Null IPC share 세션 서버들간에관리목적으로필요한정보를상호교환하는연결 공격자 인증과정없이 null IPC share 세션에접속하여서버들사이에공유된사용자계정정보, 보안정책, 네트워크공유등의정보를수집가능 사용자의배치파일에백도어파일을심어서 2 차공격을가능케함 시스템운영권한을획득 IPC$ share 를이용한구체적인공격의예 Eudora.ini : edupass.com 을이용하여계정과패스워드획득가능 Tree.dat : CuteFTP 의저장한사이트 / 식별자 / 패스워드정보를 FireFTP 프로그램으로크랙가능 PWL : windows95 에서저장한패스워드를 glide.exe 프로그램으로크랙가능 15
시스템정보수집해킹공격 (3) IPC$ share 를이용한정보수집 ( 계속 ) IPC$ share 를이용한구체적인공격의예 PWD : Frontpage, Personal Webserver 에서저장한식별자 / 패스워드정보를 John the Ripper 프로그램으로크랙가능 WS_FTP.ini : ws_ftp 에서저장한패스워드를프로그램으로크랙가능 IPC$ share 를이용한공격방지 디렉토리를 everyone group 으로공유하지않고공유패스워드를복잡하게구성 라우터에서 137 번, 138 번, 139 번포트에대한필터링을하도록함 FAT(File Allocation Table) 파일시스템보다안전한 NTFS 파일시스템을사용하도록함 16
패스워드공격 (1) 패스워드를알아내는데사용될수있는방법 패스워드를구성하는글자들의가능한모든조합을만들어가능성이높은패스워드들을유추하여시도 사용자와관련된정보를수집하고, 이로부터패스워드유추 시스템내의패스워드저장파일검색 사용자에게질의 소모적공격 사전공격 (Dictionary Attack) 전자사전을이용해서사전에나온단어들을하나씩대입해봄으로써패스워드를찾아내는공격 자기주변의어떤정보를구성하는요소들로패스워드를구성 자동차번호, 생일, 결혼기념일, 배우자이름, 아이들이름등 17
패스워드공격 (2) 사전공격 (Dictionary Attack) ( 계속 ) Morris and Thompson 의연구 (Bell Lab, 1979) 연구소내에서사용되는패스워드 3289 개를분석한결과 15 (0.5%) 1 자리의 ASCII 문자 72 (2%) 2 자리의 ASCII 문자 464 (14%) 3 자리의 ASCII 문자 477 (14%) 4 자리의알파벳 706 (21%) 5 자리의알파벳 605 (18%) 6 자리의알파벳소문자 492 (15%) 사전에있는단어 2831 (86%) 사람이름 Klein (1990), Spafford (1992) 의연구 약 15,000 개의패스워드를분석 Klein : 2.7% 가 15 분안에해독가능, 21% 가 1 주일안에해독가능 Spafford : 패스워드들이평균 6.8 자리의길이를가짐, 28.9% 가알파벳소문자만으로구성 18
패스워드공격 (3) 사전공격 (Dictionary Attack) ( 계속 ) 패스워드길이와해독가능시간 ID 와패스워드의예 19
패스워드공격 (4) 사전공격 (Dictionary Attack) ( 계속 ) 암호화된패스워드를알아내는방법 일반적으로시스템들은알려진암호화알고리즘을이용 가능성이있는패스워드를동일알고리즘으로암호화하여암호화된패스워드들과비교한후, 일치하는것이발견 고정패스워드방법 고정패스워드파일의문제점 동일패스워드를이용하는사용자가여러명있을수있음 많은시스템이 ID 의중복은체크하지만패스워드의중복을허용 해결방법 각사용자에게고유한 12 bit number 를부여하여패스워드를암호화할때 (password + password salt) 를이용 20
패스워드공격 (5) 안전한패스워드 알파벳대소문자, 특수문자, 숫자등을섞어서사용하라 apple : apple%5 패스워드의길이를충분히길게하라 권고 : 6 자리이상 사전에나올만한실제단어는피하라 자신의신상정보와관련된단어, 숫자는피하라 패스워드를정기적으로교체하라 가능하면패스워드를머릿속에기억하고, 적어서보관하지말라 키보드에서연속된문자열을쓰지말라 예 : qwert, qaz 암호안정성확인사이트 https://howsecureismypassword.net/ 21
서비스취약점공격 (1) 획득한사용자의권한을이용하여시스템의취약점을공격 IIS 취약점공격 IIS(Internet Information Server) Windows NT 에서동작하는웹서버로서파일시스템과서버스크립트에관한취약점을갖고있음 Double dot bug 공격 웹루트 (webroot) 상위의디렉토리를검색하거나다운로드가능 Script bug 공격 IIS 가실행하는스크립트를이용하여새로운파일을생성하거나생성한파일이실행되도록할수있음 22
서비스취약점공격 (2) IIS 취약점공격 ( 계속 ) Dot flaw 공격 ASP(Active Server Page) 파일의내용을보거나데이터베이스의중요데이터획득 이러한공격을예방하기위해 ASP 파일에대한읽기접근권한을제거 Index Server 공격 Index Server 는 IIS 의검색엔진모듈로서잘못된접근권한과검색내용의설정으로중요한정보를유출할수있음 고의적으로변형된인수를 hit-highlight 문서에제공함으로써, 가상디렉토리를벗어날수있음 사용자가존재하지않는인터넷데이터질의파일을요구할때반환되는오류메시지내에웹디렉토리의물리적인경로정보가포함될수있음 23
서비스취약점공격 (3) FrontPage 취약점공격 FrontPage Microsoft 의홈페이지제작및관리도구 안전하지않은기본보안설정으로불법적인접속을허용하거나패스워드노출의위험을갖고있음 불법적인접속 자신의컴퓨터에서 FrontPage 를실행한후검색된사이트로접속을시도 검색된사이트의 _vti 디렉토리의접근패스워드가설정되어있지않거나접근허용대상이 everyone group 으로설정되어있는경우공격자는해당디렉토리에접근 사용자계정정보를획득하며이를기반으로 brute force attack 과같은패스워드크랙킹을수행 24
서비스취약점공격 (4) FrontPage 취약점공격 ( 계속 ) 패스워드유출 사용자의패스워드를일반적으로웹서버루트하위 _vti_pvt 디렉토리의 service.pwd 파일에저장 패스워드파일에접근 파일업로드및실행 FrontPage 와 FTP 익명 (anonymous) 계정의쓰기를지원하는사이트에서는공격자가파일을업로드하고실행시킬수있음 공격자는 ftp 로대상사이트에접속하여 FrontPage 로제작된홈페이지의실행파일을포함하는 _vti_bin 디렉토리를만들고디렉토리내에실행할파일을업로드함 25
서비스취약점공격 (5) 윈도우즈버퍼오버플로우 (Windows Buffer overflow) 공격 RAS(Remote Access Service) 버퍼오버플로우공격 Microsoft 의 RAS 클라이언트가설치된시스템상에서전화번호부입력값을조작하여버퍼오버플로우를일으켜임의의프로그램을실행 RAS 클라이언트가전화번호부항목을조작할때버퍼의경계를확인하지않는취약점에서비롯 방지책 Microsoft에서제공하는핫픽스를설치 NT 도움말시스템버퍼오버플로우공격 Windows NT 시스템의도움말 (help) 프로그램의버퍼오버플로우취약성으로인하여일반사용자가임의의코드를실행할수있는취약점이존재 방지책 Microsoft에서제공하는핫픽스설치 26
백도어 / 트로이목마공격 (1) 백오리피스 -BO2K / NetBus 공격 백오리피스 (back orifice)-bo2k 도어공격의한예 공격자가 UDP 31337 번포트에서대기하고있는 BO 서버에불법접속하여 Windows NT 의정규인증절차없이임의의작업을수행하는공격 공격자가수행할수있는공격 NetBus 패스워드수집, 파일시스템제어, 프로세스제어, 패킷전송전환 (redirection) 등 공격자가 TCP 12345 번포트에서대기하고있는 NetBus 서버에접속하여불법적인행위를하는공격 백도어공격에서가장중요한것 백도어서버를원하는컴퓨터에설치하는것 최근에는다른프로그램과백도어서버프로그램을합쳐서설치하게하는플러그인방식이주류를이룸 27
백도어 / 트로이목마공격 (2) 백도어 / 트로이목마방지대책 Netstat 명령이용 현재컴퓨터와다른컴퓨터간의연결을검색하여출력하는기능을제공 백도어프로그램의동작여부를감지할수있음 netstat 명령의사용법과사용예 [-a] 옵션 : 현재다른 PC 와연결 (established) 되어있거나, 대기 (listening) 중인모든포트번호를출력 [-e] 옵션 : 랜카드에서송 수신한패킷의용량및종류출력 [-n] 옵션 : 현재다른 PC 와연결되어있는포트번호 (IP 주소 ) 출력 [-s] 옵션 : IP, ICMP, TCP, UDP 프로토콜의상태출력 [-r] 옵션 : 라우팅테이블및연결되어있는포트번호출력 28
백도어 / 트로이목마공격 (3) 백도어탐지및제거도구사용 백도어전용탐지프로그램 Toilet Paper, BoDetect, The cleaner 등 BoDetect CBSoftSolutions 사가백오리피스의차단을위해개발한유틸리티 다운로드후설치하고실행 BO 서버가동작하고있는지를확인해주고제거도가능 Windows NT 레지스트리에서직접백도어검색 시작메뉴에서실행버튼을클릭하고 regedit 를실행 HKEY_LOCAL_MACHINE/ SOFTWARE/Microsoft/Windows/ CurrentVersion/RunServices 로이동 오른쪽창에데이터가 ".exe" 로설정된항목이있으면백도어인경우임 29
각종취약점공격 (1) Dvwssr.dll 취약점공격 Dvwssr.dll 파일 Microsoft 의 Visual Interdev1.0 에서링크뷰 (link view) 기능을제공하기위해사용되는서버측의구성요소 취약점 다수의웹사이트를호스팅하는서버의경우와웹제작권한을가진사용자만이파일을요청할수있는경우 파일이특정사용자에게읽기권한으로설정되어있거나대부분의경우 everyone group 에게읽기권한이설정된경우 Dvwssr.dll 파일의취약점보완 Windows 2000, Office 2000 Server Extensions 또는 FrontPage 2000 Server Extensions 을설치 시스템상의모든 Dvwssr.dll 파일을제거 30
각종취약점공격 (2) Microsoft System Management Server 의 "Remote Agent 접근허가 (Permission) 취약점 디렉토리내에포함된코드를악성코드로변조할수있음 코드는시스템이재부팅될때자동으로실행가능 취약점보완 microsoft.com 에서해당패치프로그램을설치 31
네트워크해킹공격 Network 통신취약점공격 TCP/IP 의개방성과효율을위한단순함에기인한문제들 Spoofing, Hijacking, Sniffing System 관리잘못을이용한공격 Account 도용, Password Cracking, File/Directory Permission Error 등 Software 구현상의오류를이용한공격 운영체제또는 Application 을개발한개발사의프로그래머잘못에의한문제점 버그 (bug) 혹은취약점 (Vulnerability) 을이용한공격 32
네트워크스캐닝공격 (1) 대상시스템의네트워크취약성을분석하여취약한부분을공격 Mscan 공격 Mscan 1998 년에공개 jsbach 라는해커가만든취약점스캐닝도구 네트워크의블록전체를스캐닝하여블록내에있는시스템들의취약점을한번에스캐닝할수있는프로그램 Mscan 이주로스캐닝하는보안취약점 wingate, phf, handler, test-cgi, NFS exports, statd, named, X server, ipopd, imapd 등 Mscan 에의해스캐닝되는웹서버의취약점을보완 cgi-bin 디렉토리내에 phf, handler, test-cgi 과같은프로그램의존재유무를확인하여삭제하거나패치 ipopd 와 imapd 프로그램을최신버전으로패치하거나 TCP 래퍼 (tcpwrapper) 와라우터를이용하여접근통제 33
네트워크스캐닝공격 (2) SAINT 공격 SAINT(Security Administrators s Integrated Network Tool) 1998 년에공개된관리자용네트워크진단도구 SATAN(System Administrator s Tool for Analyzing Networks) 과유사한프로그램구조를가지고있음 시스템또는네트워크내의호스트들의 finger, NFS, NIS, ftp, tftp, rexd, statd 등의프로그램들의취약성을진단가능 SAINT 가 SATAN 과함께관리자가아닌해커에의해실행될경우네트워크취약성이노출되어해당시스템을공격 IP 주소공격 zone 특정도메인의다수 IP 주소를검색하는프로그램 imapvun, imapd_scan.sh imap 서비스의취약점을스캐닝하는도구 phfscan phf.cgi 프로그램의취약점을검색하는도구 34
TCP Connection setup A (SEQ=100) (Flags=SYN) (SEQ=300) (ACK=101) (Flags=SYN,ACK) B Data exchange (SEQ=101) (ACK=301) (Flags=ACK) (SEQ=101) (ACK=301) (Flags=ACK) (DATA=5) Connection shutdown (SEQ=301) (ACK=106) (Flags=ACK) (DATA=10) Retransmission (SEQ=106) (Flags=FIN,ACK) (SEQ=311) (ACK=107) (Flags=ACK) (SEQ=311) (ACK=107) (Flags=ACK) (DATA=5) Persistent timer (SEQ=107) (ACK=316) (Flags=ACK) (SEQ=316) (ACK=107) (Flags=FIN, ACK) Quiet timer (SEQ=107) (ACK=317) (Flags=ACK) 35
스니핑 (Sniffing) 공격 (1) 스니프 (Sniff) 냄새를맡다. 코로킁킁거리다 라는의미 컴퓨터네트워크상의트래픽을엿보는행위 스니퍼 네트워크상의패킷들을엿보는프로그램 계정과패스워드를알아내기위해침입자들에의해자주사용되는방법 스니퍼의해킹동작 네트워크디바이스를열어서 promiscuous mode 로만들어놓고지나가는모든패킷을읽음 패킷을필터링하여발신, 수신주소, 서비스 (telnet, rlogin, ftp, smtp 등 ), 계정과패스워드가포함된데이터를구분해서출력하는동작을실행하여호스트를공격 36
스니핑 (Sniffing) 공격 (2) TCP/IP 스니핑 스니핑의원리 LAN 상에서개별호스트를구별하기위한방법 이더넷 (Ethernet) 인터페이스 MAC(Media Access Control) 주소를갖고있음 모든이더넷인터페이스는서로다른 MAC 주소를갖고있음 promiscuous mode 이더넷인터페이스카드즉 LAN 카드는자신의 MAC 주소를갖지않는트래픽은무시해버리는필터링기능을갖고있어서자신의 MAC 주소를가진트래픽만보도록하기위한기능을설정 스니퍼는이더넷인터페이스로이러한 promiscuous mode 로설정하여로컬네트워크로지나는모든트래픽을도청할수있음 37
스니핑 (Sniffing) 공격 (3) TCP/IP 스니핑 ( 계속 ) 스니핑을방지하는방법 스위칭허브를사용 스위칭허브 : 로컬네트워크를여러개의세그먼트로나누어쓸수있으며, 각세그먼트내의트래픽은다른세그먼트로도청이안됨 스니핑공격보안대책 s/key 스니핑에대한보안대책 원격호스트로의접속에있어서일회용패스워드를생성 rlogin 이나 rsh 대신에 secure shell, secure login 그리고 secure telnet, secure ftp 등의암호화통신을사용 일회용패스워드시스템사용 38
스푸핑 (Spoofing) (1) IP 스푸핑공격 스푸핑 (Spoofing) 속이다, 사기치다 라는뜻 방법 IP 주소를속임 로그인 (login) 화면을속임 MAC 주소를속임등 네트워크의성능을저하시키거나계정및비밀번호등을알아냄 ARP 스푸핑공격 ARP(Address Resolution Protocol) 호스트가통신하기위한상대방의 MAC 주소를 broadcast 로질의 해당호스트가응답 해커가자신의 MAC 주소를두호스트의 MAC 주소로위장하는 ARP reply 패킷을만들어호스트 A 와 B 사이의 ARP 요청응답이이루어지기전에먼저전송 두호스트 A 와 B 사이의연결은해커 ( 즉, 공격자 ) 호스트의 MAC 주소를사용하게되고, 결국두호스트간의모든트래픽은공격자가위치한세그먼트로들어오게됨 39
스푸핑 (Spoofing) (2) TCP/IP 윈도우즈스푸핑공격 TCP/IP 윈도우크기 (window size) 를속이는공격 TCP/IP 프로토콜의약점을이용 window size 를 0 으로바꾸어 ACK 패킷을전송함으로써네트워크의성능을저하시키는방법 TCP/IP 순서번호스푸핑공격 중간에존재하지않는순서번호로응답 응답을받은송신자는재전송을시도하는데, 정상적인재전송이불가능하므로성능저하발생 login Spoofing 대상호스트의화면을로그인화면처럼보여서사용자를속이는방법 40
플러딩 (Flooding) 공격 (1) TCP SYN 플러딩 서비스거부 (DOS: Denial of Service) 공격의한가지 TCP/IP 프로토콜의구현상에있어서문제점을이용한공격 플러딩 (flooding) 범람하다, 넘치다 대상호스트에대하여지속적인거짓패킷을보냄으로써시스템이마비되는상태가되도록하는방법 시스템의종류에관계없이 TCP 연결을허용하는모든시스템에사용가능 SYN 플러딩공격의예 41
플러딩 (Flooding) 공격 (2) 플러딩공격대응책 타임아웃시간을줄이는방법 지속적으로공격을반복하는경우에는방어의효과가없음 TCP 의 SYN 공격이 IP 위장공격을위한전단계공격에이용되는경우에는어느정도의효과를발휘 네트워크의특성상약간의시간이소요되는정상적인연결에대해서도연결이완결되지않는부작용을야기할수있음 라우터에서의위장된소스어드레스를가진패킷을차단하는방법 소스어드레스를갖는패킷이유출되는것을차단 공격대상네트워크에서자신의내부주소범위를소스어드레스로갖는패킷의유입을차단한다면공격의상당부분을감소시킬수있음 TCP 의 SYN 공격이 IP 위장공격과함께사용되는경우는더욱효과적임 42
서비스거부 (DOS) 공격 (1) 시스템또는서비스의정상적인운영을방해하는모든행위 시스템또는네트워크의자원을고갈시키자는목적으로시스템, 네트워크혹은응용프로그램등의근본적인결함을이용한공격방법 주요서비스거부공격 Smulf 공격, Land 공격, Ping of Death 공격, SYN flooding 공격, UDP flooding 공격, TCP-FIN 공격등 서비스거부공격의특징 공격의원인및원천지를찾기가힘들고, 명확한예방대책이없음 43
서비스거부 (DOS) 공격 (2) 서비스거부공격수법의분류 공격근원프로토콜공격대상자원공격수법 내부사용자 해당없음 시스템자원 CPU 서비스거부공격메모리서비스거부공격프로세스서비스거부공격디스크서비스거부공격 외부사용자 응용프로그램, 서비스 네트워크, 시스템 talk 를이용한화면서비스거부공격 finger redirect 공격 netcat 을이용한공격 DNS 에대한공격 syslog 에대한공격 linx 를이용한 httpd 공격 inetd killing 공격 inetd loop 공격 socket open/close flooding socket descriptor 과소비공격 44
서비스거부 (DOS) 공격 (3) 서비스거부공격수법의분류 ( 계속 ) 공격근원프로토콜공격대상자원공격수법 외부사용자 TCP 시스템, 네트워크 TCP FIN 공격 TCP windows 스푸핑공격 TCP SYN Flooding 공격 UDP 시스템, 네트워크 UDP Bomb UDP Flooding ICMP 시스템, 네트워크 ICMP redirect 공격 ICMP echo bomb 공격 ICMP bomb 공격 SMTP 시스템 mail Bomb 공격 mail Spam 공격 45
서비스거부 (DOS) 공격 (4) ICMP 스머프 (Smulf) 공격 ICMP 프로토콜의 echo 패킷에대한응답인 reply 패킷의폭주를통해시스템을마비시키는공격 브로드캐스트된 echo 를받은모든호스트가타겟에응답을전송 46
서비스거부 (DOS) 공격 (5) Land 공격 TCP 연결요청패킷인 SYN 의발신지주소를공격대상호스트의 IP 주소와포트번호로설정한후공격대상호스트로패킷을전송 패킷을수신한공격대상호스트는동일한패킷의송 / 수신을반복하는루프상태에빠지며 IP 스택에심각한장애를갖게됨 증상 시스템중단 Land 공격예방 네트워크내의라우터가내부 IP 주소를발신지로갖는외부패킷을차단 Ping of Death 공격 패킷의분할 (fragmentation) 과재조립 (reassembly) 취약점을이용 공격자는공격대상시스템으로매우큰 ping 서비스의 ICMP 패킷을전송하여시스템의 IP 스택에장애를발생시킴 증상 Land 공격의경우와동일 Ping of Death 공격방지 큰패킷전송을제한하도록설정된 ping 프로그램의패치를설치 47
서비스거부 (DOS) 공격 (6) SYN flooding 공격 TCP 연결에사용되는 SYN 패킷을공격대상시스템으로단시간에다수전송하여대상시스템의수신큐 (listen queue) 를가득채워서 TCP 연결이거부되도록함 공격대상시스템은 SYN 에대한응답으로 SYN/ACK 를전송하고이에대한응답인 ACK 패킷을기다리게되는데공격자는 ACK 패킷을전송하지않으므로공격대상시스템은대기상태에빠지게됨 48
서비스거부 (DOS) 공격 (7) UDP flooding 공격 송신자의주소를속인 UDP 패킷을공격대상시스템에게다수전송하여대상시스템의네트워크를마비시키는공격방식 공격자는루프를생성시키거나마스터와클라이언트로구분되는여러호스트를연합하여동시에다수의 UDP 패킷을전송함 Trinoo 분산 UDP flooding 공격도구로서몇개의마스터들과다수의클라이언트들로구성 공격자는 Trinoo 마스터서버에접속하여 1 개이상의 IP 주소에해당하는시스템을대상으로 UDP flooding 공격을지시 49
서비스거부 (DOS) 공격 (8) TCP FIN 공격 공격자는일반 TCP 패킷에연결종료를의미하는 FIN 플래그를설정하여공격대상호스트에게전송 패킷을수신한공격대상호스트는기존에수립되어있던 TCP 연결을종료시키므로공격자는대상호스트의통신을계속방해할수있음 50