네트워크보안과해킹 2009. 10 박종혁 (jhpark1@snut.ac.kr) www.parkjonghyuk.net
네트워크기본이론 네트워크보안과해킹 정보수집 네트워크해킹 네트워크보안 2
네트워크기본이론
네트워크 컴퓨터네트워크 (Computer Network) 데이터전송과처리를유기적으로결합하여어떤목적이나기능을수행 전송 : 컴퓨터에의해처리된정보를전송하는것 데이터처리 : 컴퓨터에서정보를처리하는것 네트워크의구성 점대점연결 교환망연결 멀티포인트연결 4
OSI 7 계층구조 (1) 5
물리적계층 OSI 7 계층구조 (2) 두시스템간의물리적연결을위한전기적메커니즘, 절차, 기능등을정의 전압레벨, 전압변환시기, 물리적데이터최대전송량, 최대전송거리, 물리적커넥터등과같은특성을정의 전송매체로는일반랜케이블 (Twist Pair Cable), 동축케이블, 광케이블, 기타무선매체가사용 데이터링크계층 물리적링크를통하여정보전송 흐름제어 : 수신측에맞춰서송신측의속도, 전송량을제어 오류제어 : 오류가있을시재전송을요청, 신뢰성확보 6
네트워크계층 OSI 7 계층구조 (3) 네트워크를통한패킷의전송을담당 패킷이목적지에도착하기위해라우팅알고리즘사용하여경로설정 이기종네트워크들의상호연결 트랜스포트계층 종단간신뢰성있는데이터전송을담당 연결지향 or 비연결지향 흐름제어, 오류제어수행 혼잡제어 : 트래픽이많이있을시송신측의송신량을조절 7
세션계층 OSI 7 계층구조 (4) 두시스템간의통신중동기화와데이터교환을관리해줌 연결의설정, 유지, 해제, 전송데이터속도조절 프리젠테이션계층 표현에대한방법결정 코딩, 코덱, 암호화, 압축 응용프로그램계층 Graphic User Interface Internet Explore, Outlook, Messenger HTTP, FTP, 터미널서비스, 디렉토리서비스 8
TCP/IP 구조 (1) 9
IP(Internet protocol) 인터넷계층 (1) 네트워크계층의가장대표적인프로토콜 하위계층의서비스를이용하여두노드간의데이터전송경로를확립 IP 주소체계 형 태 네트워크번호영역 가용네트워크주소수 A Class B Class C Class 1.x.x.x ~ 126.x.x.x 128.1.x.x ~ 191.254.x.x 192.0.1.x ~ 223.255.254.x 126 개 16,382 개 2,097,150 개 10
인터넷계층 (2) ARP : IP 에해당하는호스트의하드웨어주소를찾는기능 RARP : ARP 의반대의기능 ICMP : 송신측의상황과목적지노드의상황을진단 11
전송계층 (1) TCP (Transmission Control Protocol) TCP 는데이터의흐름을관리하고, 데이터가정확한지확인하는역할 높은신뢰성 가상회선연결방식 연결의설정과해제 데이터체크섬 시간초과와재전송 데이터흐름제어 TCP 연결설정 (3-Way 핸드쉐이크 ) 12
전송계층 (2) TCP 연결종료 (4-Way 핸드쉐이크 ) 13
전송계층 (3) UDP(User Datagram Protocol) 비연결프로토콜로서상대방이보낸응답을확인하지않음 UDP 의특징 비연결지향형 네트워크부하감소 비신뢰성 전송된데이터의일부가소실됨 14
정보수집
풋프린팅 풋프린팅 공격대상의정보를모으는방법 ( 기술적인해킹공격, 신문, 게시판등 ) 풋프린팅에는매우다양한기법이있으며, 매우넓은범위가포함 사회공학 (Social Engineering) 기술적인해킹에의한방법이아닌, 개인적인인간관계, 업무적관계등을이용한방법, 넘어훔쳐보기등 비기술적인경로를이용해서정보를모으는방법 16
포트 Well Known 포트번호 서비스 서비스내용 21 (TCP) FTP 23 (TCP) Telnet 25 (TCP) SMTP 53 (UDP) DNS 69 (UDP) TFTP 80 (TCP) HTTP File Transfer Protocol FTP 연결시인증과컨트롤을위한포트 Telnet 서비스로서원격지의서버의실행창을얻어낸다. Simple Message Transfer Protocol 메일을보낼때사용하는서비스 Domain Name Service 이름을해석하는데사용하는서비스 Trivial File Transfer Protocol 인증이존재하지않는단순한파일전송에사용되는서비스 Hyper Text Transfer Protocol 웹서비스 17
포트 Well Known 포트번호 서비스 서비스내용 110 POP3 111 RPC 138 NetBIOS 143 IMAP 161 SNMP Post Office Protocol 메일서버로전송된메일을읽을때사용하는서비스 Sun 의 Remote Procedure Call 원격에서서버의프로세스를실행할수있게한서비스 Network Basic Input Output Service 윈도우에서파일을공유하기위한서비스 Internet Message Access Protocol. POP3 와기본적으로같으나, 메일을읽고난후에도메일은서버에남는것이다름. Simple Network Management Protocol 네트워크관리와모니터링을위한서비스 18
스캔 스캔 스캔은서비스를제공하는서버의작동여부와제공하고있는서비스를확인 TCP 기반의프로토콜의질의 (Request) 응답 (Response) 메커니즘 열려있는포트, 제공하는서비스, 동작중인데몬의버전, 운영체제의버전, 취약점등다양한정보획득가능 일반적으로 nmap 사용 Ping & ICMP Scan Ping 은네트워크와시스템이정상적으로작동하는지확인하는유틸 ICMP(Internet Control Messaging Protocol) 를사용 19
UDP Open 스캔 포트가열려있을경우 포트가닫혀있을경우 20
TCP Open 스캔 포트가열려있을경우 포트가닫혀있을경우 21
Stealth 스캔 : TCP Half Open 스캔 포트가열려있을경우 포트가닫혀있을경우 22
Stealth 스캔 : FIN, Xmas, Null 스캔 포트가열려있을경우 포트가닫혀있을경우 XMAS = ACK,FIN,RST,SYN, URG 의패킷묶음 23
Stealth 스캔 : 시간차공격 공격의차단을피하거나, 탐지를회피하기위해특정한시간간격으로스캔패킷을보내는기법 Paranoid : 5 분이나 10 분간격 Sneaky : WAN 에서는 15 초단위로, LAN 에서는 5 초단위 Polite : 0.4 초단위 Normal : 정상 Aggressive : 호스트타임아웃 : 5 분, 패킷당 1.25 초까지응답대기. Insane : 호스트타임아웃 : 75 초, 패킷당 0.3 초까지응답대기 24
운영체제의탐지 (1) 배너그래빙 (Banner Grabbing) Telnet 과같이원격지의시스템에로그인을시도하면나타나는안내문 운영체제의버전과커널버전을확인 배너그래빙은 21, 23, 25, 110.143 포트에서도가능 25
방화벽과 IDS 의탐지 Traceroute 을이용한방법 운영체제의탐지 (2) ICMP Time Exceed Message 가돌아오지않고, * 로표시된부분에방화벽이존재 26
Port 스캔을이용한방법 운영체제의탐지 (3) 방화벽 Check Point : Firewall - I 256,257,258 M.S. ISA 1078, 1080, 1745 어울림 Secure Works 3346,2890 Cisco PIX 530, 540 Astaro 1235, 1236 IDS( 침입탐지시스템 ) Check Point : VPN Swite 300, 301 인젠 Neowatcher 1887 Snort 2350 27
Whois 서버 등록, 관리기관 도메인이름 목표사이트네트워크주소와 IP 주소 관리자, 기술관련정보 등록자, 관리자, 기술관리자 레코드생성시기와업데이트시기 주 DNS 서버와보조 DNS 서버 IP 주소의할당지역위치 관리자이메일계정 담당지역 Whois 서버 담당지역 Whois 서버 유럽 www.ripe.net 호주 Whois.aunic.net 아시아 www.arin.net 프랑스 www.nic.fr 28
DNS 의계층구조 29
DNS 서버이름해석과정 30
IP 주소추적 메일을이용한방법 P2P 서비스를이용한방법 웹게시판을이용한방법 채팅을이용한방법 Traceroute를이용한방법 31
목록화 (Enumeration) 공유자원목록화 마치목차를써서한눈에알아볼수있게하는것 실제공격바로전단계 윈도우시스템은 NetBIOS를이용한파일공유 리눅스와유닉스시스템은주로 NFS를이용 윈도우와유닉스가동시에사용되는네트워크에서는 NetBIOS 를이용한 Samba를이용 32
네트워크해킹
DoS 공격의이해 DoS(Denial of Service) 공격 공격대상이수용할수있는능력이상의정보나사용자또는네트워크의용량을초과시켜정상적으로작동하지못하게하는공격 DoS 공격분류 1. 파괴공격 : 디스크나데이터, 시스템의파괴 2. 시스템자원의고갈 : CPU, 메모리, 디스크의사용에과다한부하를가중시킴 3. 네트워크자원의고갈 : 쓰레기데이터로네트워크의대역폭을고갈시킴 34
Ping of Death DoS 공격 Ping 을이용하여 ICMP 패킷을정상적인크기보다아주크게만드는것 공격대상시스템은정상적인 Ping 의경우보다훨씬많은부하 Syn Flooding 서버별한정되어있는동시사용자수를존재하지않는클라이언트가접속한것처럼속임 다른사용자가서버에서제공하는서비스를받지못하게하는것 Boink,, Bonk, Teardrop, LAND, Mail Bomb 등 35
Syn Flooding 공격시 3Way 핸드쉐이킹 정상적인 3Way 핸드쉐이킹 Syn Flooding 공격시 3Way 핸드쉐이킹 36
Syn Flooding 보안대책 보안패치로서대기시간을줄이는것 예방할수있는방법 일차적으로시스템에패치 다음으로는 IDS의설치 아주짧은시간안에똑같은형태의패킷을전송 매우정형화된형태로네트워크에서쉽게인지가가능 해당 ISP 업체에연락하여그에해당하는 IP 대역을접속금지 37
Mail Bomb Mail Bomb 는흔히폭탄메일이라고한함. 메일서버의사용자할당디스크공간이가득차면받아야하는메일을받을수없음. 스팸메일은 DoS 공격이될수도있음 윈도우용 Mail Bomber Upyours 38
스팸메일에대한보안설정 SNMP Relay 기능을정지 /etc/mail/access 파일 : IP 주소, 이메일주소, 도메인별로제한하거나 Relay 를허락 39
DDoS 공격 DoS 공격이짧은시간에여러곳에서일어나게하는공격 피해양상이상당히심각하며, 확실한대책이없음 공격자의위치와구체적인발원지를파악하는것이불가능 자동화된툴을이용 공격의범위가방대 최종공격대상이외에도공격을증폭시켜주는중간자가필요 40
DDoS 공격의구성요소 공격자 (Attacker) : 공격을주도하는해커의컴퓨터 마스터 (Master) : 공격자에게서직접명령을받는시스템으로여러대의에이전트 (Agent) 를관리하는시스템 에이전트 (Agent) : 공격대상 (Target) 에직접적인공격을가하는시스템 41
DDoS 공격의일반적인순서 1. 많은사용자가사용하며, 밴드와이드 (Bandwidth) 가크다. 관리자가모든시스템을세세하게관리할수없는곳에계정을획득하여스니핑이나버퍼오버플로우등의공격으로설치권한이나루트권한을획득한다. 2. 잠재적인공격대상을파악하기위해네트워크블록별로스캐닝을실시하여, 원격지에서버퍼오버플로우를일으킬수있는취약한서비스를제공하는서버를파악한다. 3. 취약한시스템의리스트를확인한뒤, 실제공격을위한 Exploit을작성한다. 4. 권한을획득한시스템에침투하여 Exploit을컴파일하여설치한다. 5. 설치한 Exploit로공격을시작한다. 42
DoS, DDoS 공격에대한대응책 1. 방화벽설치와운영 2. IDS 설치와운영 3. 안정적인네트워크의설계 4. 시스템패치 5. 모니터링 6. 서비스별대역폭제한 43
스푸핑공격 스푸핑 (Spoofing) 이란 속이다 라는의미. IP 주소, 호스트이름, MAC 주소등여러가지를속일수있으며, 스푸핑은이런속임을이용한공격을총칭.(ARP 스푸핑, IP 스푸핑, DNS 스푸핑등 ) 인터넷이나로컬에서존재하는모든연결에스푸핑이가능하며, 정보를얻어내는것외에도시스템을마비시키는것도가능. 흔히일어나는, IP 충돌문제역시고의가아닌 IP 스푸핑이라고생각할수있음. 44
세션하이재킹공격 세션하이재킹공격 세션하이재킹공격이란이미인증을받아세션을생성하여유지하고있는연결을여러가지방법으로빼앗는공격 TCP 세션하이재킹공격 TCP 세션하이재킹은연결의신뢰성을확보하기위한시퀀스넘버를이용한공격 클라이언트와서버간의통신을관찰 트러스트를이용한세션은물론 Telnet, FTP 등 TCP를이용한거의모든세션의갈취가가능 인증에대한문제점을해결하기위해도입된일회용패스워드 (One Time Password), 토큰기반인증 (Token Based Authentication : Kerberos) 을이용한세션의갈취도가능 45
세션하이재킹공격의대응책 데이터전송의암호화 지속적인인증 (Continuous Authentication) 시스템에로그인후다시재인증과정을거치지않는데, 어떤특정한행동을하거나, 일정시간이되면재인증을받은유효한사용자인지확인 46
스니핑 정보를데이터속에서찾는것 스니핑공격은막는것도어려우며, 탐지역시쉽지않음 스니핑공격은수동적 (Passive) 공격 랜에서의스니핑은프러미스큐어스 (Promiscuous) 모드에서작동 프러미스큐어스모드 : 자신의주소값을무시하고모든패킷을받아들이는상태 47
스니핑공격도구 TCP Dump 가장일반적으로쓰이는스니핑도구 네트워크관리를위해개발된툴, Snort라는 IDS의기반프로그램 TCP Dump는법적효력이있음 법적효력을발휘하려면법원에서인정하는규약에따라야함 DSniff DSniff는스니핑을위한자동화도구 스니핑을위한다양한패키지툴제공 암호화된계정과패스워드까지읽어내는능력 Sniffer Pro (Window) 윈도우에서는프러미스큐어스모드가지원되지않음 WinPCAP 과같은라이브러리를이용해서스니핑이가능 윈도우스니퍼는뛰어난 GUI(Graphic User Interface) 를이용한네트워크상태를점검하거나패킷의통계를내기위한목적으로많이사용 48
Telnet Login 시 TCPDump 결과 패스워드 : qwer1234 의경우 49
스니퍼탐지 5. 스니핑공격의대응책 네트워크에이상현상을만들지않음 ( 사용자가인지하기어렵움 ) 스니퍼는프러미스큐어스모드에서작동하는것을이용 Ping 을이용 : 의심이가는호스트에 ping( 존재하지않는 MAC 주소로위장 ) ICMP Echo reply 를받으면해당호스트가스니핑 ARP 를이용 : 위조된 ARP request 를전송 ARP response 가오면프러미스큐어스모드로설정 DNS 방법 : 테스트대상네트워크로 Ping Sweep 을보내고들어오는 Inverse-DNS lookup 을감시하여스니퍼를탐지 유인 (Decoy) 방법 : 가짜계정과패스워드를네트워크에뿌린다 가짜계정과패스워드를이용하여접속을시도하는시스템을탐지 ARP watch 툴이용 50
NetBIOS 윈도우의파일공유, 프린터등의일반사무기기의이용, WINS 등을이용하는데사용 보안취약점 널세션 (Null Session) 을이용한목록화 널세션 : 계정과패스워드없이세션을생성 51
널세션의차단 135-139번과 445번포트를닫기 개인용방화벽, Microsoft 네트워크용파일및프린터공유 체크해제 레지스트리편집기에서 Hkey_Local_Machine System CurrentControlSet Control Lsa의 restricanonymous 값을 1로설정. 52
NetBIOS 공격에대한보안대책 패스워드를추측하기어려운것으로설정 중요한패스워드는자주교체 쓰지않는계정은삭제 패스워드입력에실패할경우계정잠금이되도록설정 로그인이벤트에대한감사를실시 53
네트워크보안
방화벽의기능과목적 방화벽 네트워크에서의보안을높이는데가장일차적인것 신뢰하지않는외부네트워크와신뢰하는내부네트워크사이를지나는패킷을정해놓은규칙에따라차단하거나보내주는기능 방화벽의주된기능 접근제어 (Access Control) 로깅 (Logging) 과감사추적 (Auditing) 인증 (Authentication) 데이터의암호화 55
스크리닝 (Screening) 라우터 3계층인네트워크계층과 4계층트랜스포트 (Transport) 계층에서실행되며, IP 주소와포트에대한접근제어가가능 외부네트워크와내부네트워크의경계선 라우터에패킷필터링규칙을적용하는것으로방화벽의역할을수행 56
단일홈게이트웨이 : Single Homed Gateway 강력한보안정책실행가능 ( 방화벽구성 ) 방화벽이손상되면내부네트워크에대한무조건적인접속을허용 방화벽으로의원격로그인정보가노출되어방화벽에대한제어권을공격자가얻게되면내부네트워크를더이상보호할수가없음 2계층공격등을통한방화벽의우회가가능 57
이중홈게이트웨이 : Dual Homed Gateway 효율적인트래픽의관리 방화벽을우회하는것은불가능 58
스크린된호스트게이트웨이 단일홈 스크리닝라우터와 Single Homed Gateway 의조합 가장많이이용되는구조이며융통성이좋음 스크리닝라우터가해커에의해해킹되면베스천호스트를거치지않고내부네트워크에대한직접적인접근이가능 구축비용이많이듬 * 베스천호스트 : 외부공격에대한방어정책이구현되어있는네트워크에서외부접속에대한일차적인연결을받아들이는시스템 59
스크린된호스트게이트웨이 이중홈 2단계로방어를실행하므로무척안전 스크리닝라우터에서 3계층과 4계층에대한접근제어 베스천호스트에서 7계층에대한접근제어실행 60
스크린된서브넷게이트웨이 단일홈 외부네트워크와내부네트워크사이에완충지대 (DMZ) 를두는것 다른방화벽의모든장점을가지며융통성이매우뛰어나며매우안전 설치하기어렵고, 관리또한어려우며서비스속도가느리며가격도비쌈 DMZ 61
스크린된서브넷게이트웨이 이중홈 Single Homed Gateway 를쓴경우보다는빠르며좀더강력한보안정책을실행 DMZ 62
패킷필터링 명백히허용하지않은서비스에대한거부 를적용 1. 허용할서비스를확인한다. 2. 제공하고자하는서비스가보안의문제점은없는지와허용에대한타당성을검토한다. 3. 서비스가이루어지고있는형태를확인하고, 어떤규칙 (Rule) 을적용할지구체적인결정을한다. 4. 방화벽에실제적용을하고, 적용된규칙을검사한다. 63
NAT(Network Address Translation) 현재가용가능한공인주소의부족문제를해결하기위해개발된기술중하나 내부네트워크에서시스템사설주소를소유하고있으나외부로접근할때라우팅이가능한외부공인주소를 NAT 규칙에따라할당받아접속 NAT 는구현방법에따라네가지로분류 Normal NAT Reverse NAT Redirect NAT Exclude NAT 64
Normal NAT 내부사설 IP 주소를가지고있는클라이언트가외부로접속을하고자할때 65
Reverse NAT 내부네트워크에서작동하는서버에외부클라이언트접속시동작 66
Redirect NAT Redirect NAT & Exclude NAT Redirect NAT 는목적지주소를재지정할때사용 210.100.100.1 로사용되던서버의주소가 210.100.100.2 로바뀌게되었을경우, 210.100.100.1 로접속을시도해온패킷의목적지주소를 210.100.100.2 로바꾸어줌 Exclude NAT Normal NAT 를적용받지않고방화벽을지나도록설정 방화벽과라우터사이에서버가있는경우와같이특정한목적지에대해서만 Normal NAT 가적용되지않도록설정가능 67
침입탐지시스템 네트워크에서경찰과같은내부감시자에비유 ( 침입에대한대응 ) IDS 는크게네가지요소와기능으로구분된다. 자료의수집 (Raw Data Collection) 자료의필터링과축약 (Data Reduction and Filtering) 침입탐지 (Analysis and Intrusion Detection) 책임추적성과대응 (Reporting and Response) 68
침입탐지시스템의구조 (1) 침입탐지시스템의설치위치 69
침입탐지시스템의구조 (2) 중앙집중화된 IDS 관리 70
허니팟 : Honey Pot (1) Honey Pot 은해커의정보를얻기위한하나의개별시스템 유인 (Enticement) 합법, 함정 (Entrapment) 불법 Honey Net은 Honey Pot을포함한하나의네트워크 허니팟의목적 경각심 (Awareness) 정보 (Information) 연구 (Research) 새로운공격에대해대처할수있도록 하자는데초점 71
지원되어야할중요한기능 정보의수집 시스템제어 허니팟 : Honey Pot (2) 허니팟의요건 쉽게해커에게노출되어야함 쉽게해킹이가능한것처럼취약해보여야함 시스템의모든구성요소를가지고있어야함 시스템을통과하는모든패킷을감시해야함 시스템에접속하는모든사람에대해관리자에게알려야함 72
허니넷의구조 허니팟 : Honey Pot (3) 73
참고문헌 양대일, 정보보안개론과실습시스템해킹과보안, 한빛미디어, 2006.7 양대일, 정보보안개론과실습네트워크해킹과보안, 한빛미디어, 2005.8 최용략외 3명, 컴퓨터통신보안, 그린, 2006.1 홍승필, 유비쿼터스컴퓨팅보안, 한티미디어, 2006,9 박창섭, 암호이론과보안, 대영사, 2006,2 74
질의응답 감사합니다 75