View
7
Download
0
Category
Preview:
Citation preview
P2P Security
2005. 6. 27.
나재훈
jhnah@etri.re.kr 한국전자통신연구원한국전자통신연구원 정보보호연구단정보보호연구단
나나 재재 훈훈
KRnet 2005 1
목 차
P2P 네트워크개요
P2P 네트워크취약성
P2P 네트워크정보보호서비스
P2P 네트워크 개요
Computing 전개
P2P 네트워크 서비스
P2P 네트워크 구조
P2P 네트워크 분류
국내외 기술 동향
표준화 동향
KRnet 2005 3
컴퓨팅 인프라의 전개 양상
Many persons,One computer
Fewer personsper computer
One personper computer
One person,few computer
People, appliances, Locally, remotely, Fixed, mobile, wired, wireless
One person,Many computers
It’s Ubiquitous Computing.
클라이언트/서버(웹) P2P/PC(메신저) 그리드/PC,서버(One Job, Many Server)
센서 네트워크(자율 컴퓨팅)
Computing 전개
KRnet 2005 4
P2P 네트워크 서비스
P2P 서비스 분류
Instant Messaging
MSN Messaging, ICQ, JPPP
File Sharing
Napster
Gnutella
eDonkey
소리바다
Distributed Computing
SETI@Home
Groove (Virtual Office)
KOREA@Home
KRnet 2005 5
P2P 네트워크 구조(1)
P2P Overlay Network
P2P overlay networkP2P overlay network
Physical networkPhysical network
virtual mapping
Peer
Peer Peer
Peer
PeerID
PeerID
PeerID
KRnet 2005 6
P2P 네트워크 구조(2)
Centralized P2P서버는전형적인 C/S 구조같은지배권가짐피어의요청을들어주는 모든것은서버에 존재
모든자원이중앙의데이터베이스에 저장
Peer Peer
Peer
Discovery, Content, &Transfer Queries
Server
KRnet 2005 7
P2P 네트워크 구조(3)
Centralized P2P서버는접속된 peer들의 목록과정보제공
접속수립과통신수행은 peer 들이담당예) Napster
Peer Peer
Peer
Discovery Queries
Server
Content & Transfer
KRnet 2005 8
P2P 네트워크 구조(4)
Distributed P2P model 중앙서버의의존없이작동
네트워크에접속된 peer를동적으로검색예) Gnutella
Peer Peer
Peer
Discovery, Content, &Transfer Queries
KRnet 2005 9
P2P 네트워크 분류
Overlay network 구성에따른분류
Unstructured P2P• 노드간의임의적인 연결에의해구성
Structured P2P• 정의된방식에따라체계적으로 형성• DHT(Distributed Hash Table) 기반 overlay network으로 구현
Hybrid
P2P ArchitectureDistributed P2P Architecture
Unstructured P2P Structured P2P
Napster,
SoribadaKaZaA,
MorpheusGnutella Freenet
Chord,Tapestry,Pastry,CAN
more recent
# P2P 응용 프로그램의 발전 추이 및 DHT 방식의 변천
KRnet 2005 10
Unstructured Decentralized P2P(1)
자원 discovery 기법 : Broadcast를기반으로동작Blind Search 검색메시지전송시, 정해져있는단순규칙에의해메시지를전달Gnutella, Modified-BFS, Iterative deepening, random walks, GUESS
Gnutella• TTL 홉내에있는접근가능한모든피어들에게 broadcasting• BFS(Breath First Search) 기반
A B C
D E F
G I JH K
KRnet 2005 11
Unstructured Decentralized P2P(2)
Modified BFS• 인접 peer 중일정비율에해당하는 peer들만을선택하여전송
A B C
D E F
G I JH K
Iterative deepening • 사용자가 정의한 특정 검색 결과 수에 만족할 때까지 TTL의 수를 늘리면서 검색
메시지를 전송
KRnet 2005 12
Unstructured Decentralized P2P(3)
Random Walks • 일정한개수의검색메시지만을생성하여전달• 예) TTL을 3으로하여 2개만전송
A B C
D E F
G I JH K
random 하게 peer를 선택하여메시지 전달
GUESS • ultrapeer : child peer들의 proxy 역할 수행
child peer ultrapeer로 검색 요청
ultrapeer는 자신의 child peer로 검색 요청
만족할 만한 결과가 없으면 다른 ultrapeer로 요청
만족한 결과가 나올 때까지 반복
KRnet 2005 13
Unstructured Decentralized P2P(4)
Informed Search 검색메시지전송시, 저장된여러정보를이용하여정해진규칙에따라메시지전달Intelligent-BFS, APS(Adaptive Probabilistic Search), LI(Local Indices), RI(Routing Indices), DRLP(Distributed Resource Location Protocol), GS(Gnutella with Shortcuts)
Intelligent BFS • modified-BFS의확장하여지식기반으로동작하도록변형• 자원이있을법한 peer에게검색메시지전달• 해당자원을가지고있는 peer : reverse path로결과값전송• 결과값중재하는 peer : 자원이검색된 peer의정보저장
A B C
D E F
G I JH K
(a) 자원이 있는 곳의 방향 저장
A B C
D E F
G I JH K
(b) Intelligent BFS 동작 과정
KRnet 2005 14
Unstructured Decentralized P2P(5)
APS (Adaptive Probabilistic Search) • 검색메시지의송신과수신이있을때마다해당자원에대한엔트리의수치를변경• 검색메시지전송시전송하려는 peer에해당하는엔트리값감소• 결과값이 feedback하는경우 feedback이발생한 peer에해당하는엔트리값증가.
A B C
D E F G
I JH
R
peer 이웃peer 검색전
검색메시지전송후
B에게결과값도달후
A
B 20 20 20
D 20 10 10
E 20 20 20
B
A 20 10 10
C 20 10 30
E 20 20 20
CB 20 20 20
F 20 10 30
KRnet 2005 15
Unstructured Decentralized P2P(6)
LI (Local Indices)• 각 peer 들은 r-hop 내에있는모든 peer들이 보유한자원들의목록을유지
A
KRnet 2005 16
Unstructured Decentralized P2P(7)
DRLP (Distributed Resource Location Protocol)• LI 기법과유사• 검색과정에서결과전달시, 각 peer들의메타데이터도함께전송하여 LI 테이블을
update• LD(Local Directory) : 자신이보유한자원을가리킴.• DC(Directory Cache) : 다른 peer의 LD를가리킴.
A
B C D
E F G I JH
K L M
Q R S
N O P
T U VDC 정보를 보
유한 peer
(a) 검색 메시지 전송 전
A
B C D
E F G I JH
K L M
Q R S
N O P
T U V
(a) 검색 메시지 전송 후
KRnet 2005 17
Unstructured Decentralized P2P(8)
GS (Gnutella with Shortcuts)• Gnutella 알고리즘기반• shortcut-list 관리 : 검색이후자원을가지고있는 peer를 shortcut peer로등록
A B C
D E F
G I JH K
A B C
D E F
G I JH K
KRnet 2005 18
Gnutella 분석(1)
Gnutella Protocol Specification (version 0.4)
Protocol Definition
Descriptor Description
Ping - Used to actively discover hosts on the network- A servent receiving a Ping descriptor is expected to respond with one or more Pong descriptors
Pong - The response to a Ping- Includes the address of a connected Gnutella servent and information regarding the amount of data it is making available to the network
Query - The primary mechanism for searching the distributed network.- A servent receiving a Query descriptor will respond with a QueryHit if a match is found against its local data set
QueryHit - The response to a Query- This descriptor provides the recipient with enough information to acquire the data matching the corresponding Query
Push - A mechanism that allows a firewalled servent to contribute file-based data to the network
KRnet 2005 19
Gnutella (2)
초기접속
• 현재 network 상에있는 servent에게접속을시도한다. – 다른 servant의 주소를찾는방법은명시하지 않음.
» Host Cache 서비스가주로사용됨– request string
» GNUTELLA CONNECT/<protocol version string>\n\n– response string
» GNUTELLA OK\n\n
KRnet 2005 20
Gnutella (3)
Descriptor Header
• Descriptor ID – A 16-byte string uniquely identifying the descriptor on the network
• Payload Descriptor– 0x00 : Ping , 0x01 : Pong , 0x40 : Push , 0x80 : Query , 0x81 : QueryHit
• TTL – Time To Live– The number of times the descriptor will be forwarded by Gnutella servents before it is removed from the
network • Hops
– The number of times the descriptor has been forwarded.– TTL(0) = TTL(i) + Hops(i)
• Payload Length – The length of descriptor immediately following the header– there are no gaps or pad bytes in the Gnutella data stream
Descriptor IDPayload
DescriptorTTL Hops Payload Length
Byte offset 0 15 16 17 18 19 22
KRnet 2005 21
Gnutella (4)
Payload• Ping
– payload length가 ‘0’ 임• Pong (0x01)
Port IP Address Number of Files Shared
Number of Kilobytes Shared
Byte offset 0 1 2 5 6 9 10 13
- 하나의 Ping request에 대해 여러 개의 Pong descriptor를 전송하는것도 가능함
- This enables host caches to send cached servent address information in response to a Ping request
• Query (0x80)
Minimum Speed Search criteria
Byte offset 0 1 2 …..
- Minimum Speed : Query 를 보내는 peer가 원하는 최소 통신속도
- Search Criteria : * A Null(0x00) terminated search string* The maximun length of this string is bounded by the Payload_Length field of the descriptor header
KRnet 2005 22
Gnutella (5)
• QueryHit (0x81)
Number of Hits Port IP Address Speed Result SetServentIdentifier
Byte offset 0 1 2 3 6 7 10 11 …. n n+16
Number of Hits The number of query hits in the result set
Port Port number
IP Address The IP address of the responding host
Speed The speed of responding host
* Result setA set of responses to the corresponding Query.This set contains Number_of_Hits elements.
Servent Identifier A 16-byte string uniquely identifying the responding servent on the network.
File Index File Size File Name
Byte offset 0 3 4 7 8 …
* Result set : 각각의 file마다 다음과 같은 result set를 가짐
File Index : responding host가 부여한number. Used to uniquely identify the file matching the corresponding query.
File Size : The size(in bytes) of the file whose index is File_Index
File Name : The name of the file whose index is File_Index
KRnet 2005 23
Gnutella (6)
• Push (0x40)
Servent Identifier
File Index IP Address Port
Byte offset 0 15 16 19 20 23 24 25
Servent Identifier The 16-byte string uniquely identifying the servent on the network who is being requested to push the file with index File_Index
File Index The index uniquely identifying the file to be pushed from the target servent
IP Address The IP address of the host to which the file with File_Index should be pushed
Port The Port to which the file with index File_Index should be pushed
KRnet 2005 24
Gnutella (7)
Descriptor routing 규칙1. Pong descriptors may only be sent along the same path that carried the incoming Pong
descriptor. Descriptor ID를참조하여처리
2. QueryHit descriptors may only be sent along the same path that carried the incoming Query descriptor. Descriptor ID를참조하여처리
3. Push descriptors may only be sent along the same path that carried the incoming QueryHit descriptor. Servent Identifier를참조하여처리
4. A servent will forward incoming Ping and Query descriptors to all if its directly connected servents, except the one that delivered the incoming Ping or Query
5. A servent will decrement a descriptor header’s TTL field, and increment its Hops field, before it forwards the descriptor to anyy directly connected servent. If, after decrementing the header’s TTL field, the TTL field is found to be zero, the descriptor is not forwarded along any connection
6. A servent receiving a descriptor with the same Payload Descriptor and Descriptor ID as one it has received before, should attempt to avoid forwarding the descriptor to any connected servent. Its intended recipients have already received such a descriptor, and sending it again merely wastes network bandwidth.
KRnet 2005 25
Gnutella (8)
File download • 직접연결하여 file downloading• File download protocol : HTTP• File download하기위한 request string
GET /get/<File Index>/<File Name>/HTTP/1.0\r\nConnection:Keep-Alive\r\nRange:bytes=0-\r\nUser-Agent: Gnutella\r\n\r\n
• File download request를받은 host는다음과같이응답함.
HTTP 200 OK\r\nServer: Gnutella\r\nContent-type: application/binary\r\nContent-length: 4356789\r\n\r\n file data follows
KRnet 2005 26
Gnutella (9)
Firewalled servents• File download request를위해 “push” descriptor 사용• push descriptor에기술된 IP와 port를이용하여 TCP connection 연결
– descriptor 교환
Gnotella Gnutella를확장한 P2P application
KRnet 2005 27
국내외 기술 동향
기술 동향 개요
P2P 서비스 사용자의 급속한 증가
세계적으로 인스턴트 메시지 및 P2P 기반의 파일공유 솔루션 사용자
수 2억명 이상
P2P는 유비쿼터스 시대로 가기 위한 매우 중요한 과도기 단계
P2P 보안 분야의 연구가 절대적으로 부족한 실정
국내에서의 관련 개발 실적 및 국제 표준화 기고서 실적 전무
IETF를 중심으로 표준화 진행 중
대표적인 국외 프로젝트로 Sun Microsystems의 JXTA가 있음.
국내에선 피어컴 만이 유일하게 JXTA 프로젝트의 커뮤니티에 참여
KRnet 2005 28
국내외 기술 동향
프로젝트 수행기관 기간 내용 비고
JXTA Sun Microsystems 2001.4 ~ P2P 프로토콜 셋 개발JXTA와 관련하여 80개 이상의프로젝트가 진행 중
Farsite Microsoft 2001 ~ 매우 가용적이며, 신뢰적인 안전한 파일 공유 시스템 개발
-
SETI@home UC Berkeley 1995 ~ P2P 방식의 분산 컴퓨팅을 통해 막대한 양의 계산을 수행
본래 외계 생명체를 찾기 위한프로젝트임
Mog
(Mobile Gnutella) Gnutella 2001 ~
이동 무선 단말이 자율적으로 동작하는 실용적 P2P시스템 개발
일본의 Gnutella 사용자 모임에서 수행
국외의 기술개발
프로젝트 수행기관 기간 내용 비고
Korea@home KISTI 2002 ~ P2P 기반의 분산 컴퓨팅 정통부 지원
- 피어컴 2004 ~ P2P 연구 선도 과제 SK Mobile 지원
국내의 기술개발
KRnet 2005 29
국내외 기술 동향
SUN’s JXTA
Microsoft’s Farsite
DHT 기반 Overlay Networking 관련프로젝트OceanStore
• U.C.Berkeley (2001 ~ )• Tapestry DHT 기반
PAST(Persistent Active Storage Service)• MS (2001 ~ )• Pastry DHT 기반
CFS(Cooperative File System)• MIT (2001 ~ )• Chord DHT 기반
모두분산 storage system 프로젝트임.
KRnet 2005 30
What is Project JXTA ?
SUN 에서 2001년 4월에시작함.Peer to Peer 형식의네트워크컴퓨팅, 응용및서비스를생성할수있는XML 기반의공개된프로토콜세트를제공하는프로그래밍 플랫폼을의미함.가상오버레이네트워크
오픈소스프로젝트 : http://www.jxta.orgJXTA 의목적상호연동
• 다른 P2P 시스템및커뮤니티와의상호연동플랫폼독립
• 프로그래밍언어, 시스템플랫폼및네트워킹플랫폼에대한독립Ubiquity
• 디지털심장(Heartbeat) 을갖는도처에존재하는단말로구성보안및감시
• 상업적또는기업환경에 Deployment 할수있음
KRnet 2005 31
JXTA 보안
Transport Layer 보안Peer 간에신뢰적인안전한보안채널을생성하기위하여 TLSv1.0 을채택함 .
종단간보안제공
네트워크간에프로토콜변환이일어날경우도, 암호화된메시지형태를유지함.
분산 CA (Certificate Authority)중앙집중적인 CA 인프라없이, Peer 간에안전한트랜잭션을통하여보안채널을확보함.
KRnet 2005 32
JXTA 샘플 응용
JAVA Micro Edition 기반의무선 P2P
myJXTA2 와 PicShare
KRnet 2005 33
JXTA 커뮤너티 현황
1,400,000 이상의다운로드80 개이상의프로젝트에서 JXTA 이용14,000 이상의멤버가참여하고있음
KRnet 2005 34
What is Farsite ?
Federated, Available, and Reliable Storage for an Incompletely Trusted EnvironmentMicrosoft 에서 2001년경부터진행함.
http://research.microsoft.com/sn/Farsite/매우가용적, 신뢰적이며안전한파일공유시스템을제공하는것을목적으로함.서버가없는분산파일시스템
논리적으로는전체시스템이중앙의파일서버로동작함.물리적으로는어떤중앙서버도없음.데스크탑컴퓨터로이루어진컴퓨터그룹이가상의파일서버를구축함.
KRnet 2005 35
Farsite 보안
접근제어
공유파일에대한읽기/쓰기에대한접근제어를수행함.프라이버시
파일의내용과사용자에관계된메타정보는프라이버시를위해서암호화됨.무결성
공유파일에대한무결성은 Merkle hash tree 연산에의해서보장됨.
KRnet 2005 36
국외국외 표준화표준화 동향동향
IETF 와 IRTF를 중심으로 P2P 표준화 진행 중
관련 Working Group XMPP WG : 인스턴트 메시징과 현재 위치인식을 지원하기 위한 XML 기반의
프로토콜에 대한 표준화 작업
SIMPLE WG : SIP를 이용한 인스턴트 메신저 서비스 관련 표준화 작업
P2P RG : P2P 네트워크 구성, 확장성, 상호 운용성, 보안성 등의 광범위한
P2P 주제에 대한 연구를 수행하기 위한 포럼 제공
국내외 표준화 동향
KRnet 2005 37
국외국외 표준화표준화 동향동향
IETF의 XMPP WG 관련 표준화 문서
현재 4건의 RFC 등록
(RFC 3920) Extensible Messaging and Presence Protocol (XMPP):
Core
(RFC 3921) Extensible Messaging and Presence Protocol (XMPP):
Instant Messaging and Presence
(RFC 3922) Mapping the Extensible Messaging and Presence
Protocol (XMPP) to Common Presence and Instant Messaging (CPIM)
(RFC 3923) End-to-End Signing and Object Encryption for the
Extensible Messaging and Presence Protocol (XMPP)
IRTF P2P RG
Security 관련하여 현재 다음과 같은 토픽에 대해 연구 진행 중
Reputation-based trust for ad-hoc systems
More centralized, CA-like approach
국내외 표준화 동향
P2P 네트워크 취약성
중요성 및 문제점
취약성 분석
KRnet 2005 39
중요성 및 문제점
P2P 네트워크 서비스 사용자의 급속한 증가
P2P는 유비쿼터스 시대로 가기 위한 매우 중요한 과도기 단계
P2P 오버레이 네트워크 서비스의 취약성
네트워크 자원의 오남용
불법적인 기밀 정보 유출
Overlay 네트워크 라우팅 정보 위변조 공격에 대한 취약성
데이터 Lookup 방해 공격에 대한 취약성
Spoofing, DoS 공격에 대한 취약성
국제적 표준이 확립되지 않은 미성숙 상태
P2P 네트워크 기술 자체 뿐만 아니라 정보보호 기술 표준 부재
KRnet 2005 40
중요성 및 문제점
P2P 서비스의 한계성 : 사회적 부작용
KRnet 2005 41
취약성 분석
Internal Threats
Interoperability
Private Business on a Public Network
Adding and Removing Users
Distributed Dangers
The People Problem
KRnet 2005 42
취약성 분석
External Threats
Theft
Bandwidth Clogging and File Sharing
Bugs
Encryption Cracking
Trojans, Viruses, Sabotage
Backdoor Access
Non-encrypted IM
Confidentiality
Authentication
KRnet 2005 43
취약성 분석
P2P 서비스의 한계성 : 보안 위협
P2P overlay networkP2P overlay network
Physical networkPhysical network
Virtual Mapping
Peer
Peer Peer
Peer
PeerID PeerID
PeerID
Spoofing 공격
DoS 공격
라우팅공격
거짓라우팅 정보
Spoofed message
Lookup Failure
정보 위변조
기밀 정보 유출
Firewall 우회 공격
위변조데이터
P2P 네트워크 정보보호 서비스
Security Mechanisms, Protocol… Security Products
P2P 네트워크 보안
접속네트워크 신뢰성 보장
사설망/공중망 정보유출 관리
응용분야
KRnet 2005 45
Security Mechanisms, Protocol…
Security Mechanisms
Secret Key Techniques
Public Key Techniques
Asymmetric Key Pairs
Protocol
SSL
IPSec
PKI An industry standard
VPN security
KRnet 2005 46
Security Mechanisms, Protocol and …
The Future of P2P Security
Users gaining their own trust
Biometrics
Quantum key cryptography
KRnet 2005 47
Security Products
안전한 P2P Overlay 네트워크 구축 기술
Secure P2P overlay networkSecure P2P overlay network
Physical networkPhysical network
virtual mapping
Peer
Peer Peer
Peer
PeerID
PeerID
PeerID
안전한 라우팅정보 전달
라우팅 정보 인증
안전한 P2P 멤버Join & Leave
P2P 제어메시지 인증
KRnet 2005 48
Security Products
신뢰적 IP 주소 생성 기술
PeerID
PeerID
PeerID
Virtual Mapping
Peer
Peer
RS/RA
NS/NA
NS/NANS/NA
IPv6 AddressGeneration
Physical networkPhysical network P2P overlay networkP2P overlay network
KRnet 2005 49
Security Products
P2P 자원남용 및 데이터 유출 방지 기술
Firewall 우회 공격
송수신 메시지 모니터링
보안관리모듈
차단
불법적 메세지
합법적 메세지
차단불법 정보 유출
KRnet 2005 50
응용분야
산업적 응용분야
IPv6 기반 유무선 통합형 차세대 인터넷 환경에 활용
공중 무선랜(Wibro)망에서 P2P 오버레이 네트워크 구축
단문서비스, IM, File Sharing 등등
Virtual Office와 같은 P2P 환경의 폐쇄그룹 기술에 적용
안전한 IPv6 접속 네트워크 인프라 구축에 적용
유비쿼터스 컴퓨팅 기반기술 연구에 활용
e-Health
KRnet 2005 51
감사합니다
Recommended