Skype 차단 가능할까?? - (4)

Voice 2007.08.20 11:50

1.1    Skype-Out

기본적으로 Skype-In과 방식 자체는 같을 것으로 보여진다. 일단, Skype 사용자가 일반전화로 전화를 걸면, Skype Client 프로그램은 SN로 정보를 문의한다. 이때, 10~20개 정도의 TCP 패킷을 주고 받으며 그 안에 Voice GW에 대한 정보를 담고 있는것으로 추정된다. SN과의 패킷을 주고 받음으로써, GW의 주소를 알게 되면, Client는 곧장 해당 GW Call을 시도한다.

사용자 삽입 이미지


2. Blocking Skype

2.1    How to Block?

결론부터 얘기하자면, 현재 시점에서 Skype를 차단할 수 있는 Solution은 공식적으로 발표되지 않았다. 가장 큰 이유는 Skype 3.0의 출시로 인해서이다. 기존 Skype 차단 솔루션들은 모두 Skype 1.0 / Skype 2.0 프로그램을 기반으로 하고 있었으나, 이번에 새로 발표된 3.0 버전은 Skype 차단을 막기 위한 방법이 몇가지 더 추가 되었기 때문에, 공식적으로 차단 가능한 프로그램은 없는 상태이다. 그러면, 이제까지 발표된 Skype의 차단 방법에 대해서 살펴보도록 하겠다.

 

1) Deny Skype Packet during “Log-In Process”

a.  동작 원리

-      가장 일반적인 차단 방법이다. 앞서도 살펴본 바와 같이, Skype는 모든 서비스 과정이 AES에 의해서 암호화 된다. 그러나 로그인 과정만은 암호화되지 않기 때문에, 이 과정을 검색해서 로그인 자체를 원천적으로 막는 것이다. 가장 쉬운 방법이다.

-      “ui.skype.com” 혹은 한국의 경우 “skype.auction.com”에 접속하기 때문에, 위와 같은 문자열을 검출해내서 해당 패킷을 Drop 시키면 로그인 과정을 차단 시킬 수가 있다.

 

b.  장점

-      Layer 7을 검색해내는 장비가 있다면, 손쉽게 적용이 가능하다.

-      Skype 서비스를 원천적으로 막고자 하는 중대형 Ent에 적합하다.

c.  단점

-      사용자는 로그인 자체를 할 수 없기 때문에, 서비스를 제공하는 업체에서는 사용하기가 곤란하다.(ISP와 같은 서비스 제공자들)

d.  제공업체

-      Verso, Cisco SCE, Cisco IOS Router (12.4), Cloudshield.

 

2) Behavior Detecting based on Packet Length

a.  동작 원리

-      Skype Classic/Skype-In/Skype-Out등의 서비스는 패킷을 주고 받는 과정에서 그 특성이 조금씩 다르게 나타나는데, 이중에서 주고 받는 패킷의 길이를 기반으로해서 서비스의 특성을 잡아내는 방법이다.

 

b.  장점

-      로그인 과정 이 후에 진행되는 Skype 서비스를 잡아내서 차단 시킬 수가 있기 때문에, 적용 범위가 유연하며 광범위하다.

 

c.  단점

-      오탐의 가능성이 있다.

-      Skype 3.0에 대해서는 감지가 되지 않는다.

 

d.  제공업체

-      Packeteer, Sonic UTM

 

3) Behavior Detecting based on Response Time

a.  동작원리

-      Skype의 모든 통신에 있어서, SN와 통신이 중요하다는 점에 착안하여 Skype Client SN와 통신하는 패킷의 응답시간을 측정하고 그것을 기반으로 패턴을 추정해낸다.

-      처음에는 모니터링 모드로 설치하고 Skype 서비스를 실행시킨다. 그러면 패킷들의 응답 속도를 분석해서 SN와 그렇지 않은 패킷을 구별해내고, 이를 기반으로해서 Skype 서비스를 구별해 낸다.

 

b.  장점

-      독창적인 방법으로써, Skype의 프로그램 버전에 영향을 받지 않는다.(왜냐하면, 패킷의 응답시간은 프로그램 패치로 바뀌어지는게 아니기 때문이다.)

 

c.  단점

-      오탐이 있으며, Field에서 검증되지 않았다.

-      대규모 트래픽에 적합치가 않다.

 

d.  제공업체

-      Lynanda

 

2.2    Blocking Skype

-      Skype를 차단하는 것은 하나의 게임과도 같이 쫓고 쫓기는 상황이다. 앞서 살펴본바와 같이 Skype를 차단하는데에는 3가지 방법이 있지만, 그 중에서 Response Time을 기반으로 차단하는 방법은 대규모 망에서는 사용하기 힘든 방법이고 로그인 과정을 차단하는 것은 사용자들과의 관계 때문에 설정이 힘들다. 때문에, 많은 Global 벤더들은 Packet 크기를 기반으로 하는 패턴을 찾는 방법을 토대로 해서 Signature 개발에 나서고 있는 실정이었다.

 

-      이러한 상황을 잘 알고 있는 Skype는 새롭게 나온 3.0 버전에서, 이러한 특징들을 제거했다고 발표했다. 특히, 이전 버젼까지는 SN에 대한 정보가 개별 PC에 레지스트리 값에 저장이 되었었는데, 3.0 부터는 그 또한 별도의 방법으로 대체 되었다.

 

-      이제까지 나온 Skype에 대한 분석 자료와 차단 방법들은 모두 2.0 버전을 기반으로 하고 있기 때문에, 현재로서는 3.0 버전을 차단하는 것은 쉽지 않은 상태이다.

 

There have been a number of subtle but important alterations in 3.0, including a change to the way the client opens encrypted UDP channel to other clients, as well as to the packet lengths themselves. Since the software was already extremely hard to detect, and uses an encrypted channel once calls have been started, blocking filters have depended on tracing small but telltale patterns such as this.

<출처: http://www.asteriskvoipnews.com/skype/skypeblockers_scramble_to_detect_new_version.html>

 

  

3.1    유사 서비스의 출현

Skype는 이제까지의 P2P 서비스와는 다른 방식의 서비스를 제공하고 있다. Skype의 개발자들은 이것을 일컬어 “2세대혹은 “3세대” P2P 서비스라고 명칭하고 있다. 그러나 원리에 있어서는 기존 P2P와 크게 다르지 않다. 다만, 암호화를 제공한다는 점 때문에 차단이 용이하지 못할 뿐이다.

Skype가 등장하고, 대중들에게 큰 호응을 얻으면서 유사 서비스들이 속속 발표되고 있는데 그 중에서도 대표적인 것이 “Raketu”이다. “Raketu” Skype Killer S/W를 표방하고 있는데, 기본 동작 원리는 Skype와 크게 다르지 않다.


사용자 삽입 이미지

<Raketu
서비스 흐름도>

 

유사서비스의 출현은 대역폭을 차지하고, 사용한다는 그 자체에도 문제가 있겠지만, 더욱 근본적인 문제는  Soft IP폰 기반의 서비스가 활성화 됨으로써 기존 PSTN망을 중심으로 서비스하는 사업자들에게 잠재적인 큰 위협이 될 수 있다는 것이다. 

신고
posted by gandalff

Skype 차단 가능할까?? - (3)

Voice 2007.08.20 11:37

Skype 차단 가능할까??  - (3)
 

                                                                                                                                    by hogwart


Step 3. Skype 로그인 서버에 접속 후 최신 버전 확인.

-      Skype 로그인 서버로, 로그인 정보를 보내고 최신 버전의 업데이트 여부를 확인한다. 현재까지 한국에서 Skype 서비스로 로그인 하는 방법은 크게 두가지로 나뉜다. 첫번째는 Auction Skype 서버를 이용하는 방법이다. 알려진바와 같이 Skype Auction은 모두 eBay의 자회사이므로, Auction을 이용한 로그인은 충분히 가능한 얘기이다. 두번째로는, 미국/유럽등에 있는 Skype Global 로그인 서버를 이용하는 방법이다.

Step 4. Skype 서비스 시작.

사용자 삽입 이미지

Skype 서비스 개념도



3. Skype 서비스 모델


1.1    Skype Classic

  Skype Classic Skype에서 제공되는 가장 기본적인 서비스, “PC-to-PC”음성 통화 서비스를 의미한다. 이 서비스는 초창기부터 제공되던, Skype의 서비스였다. Skype측에 따르면,  “PC-to-PC”서비스는 향후에도 무료로 제공될 예정이라고 한다. “Skype Classic” 서비스를 이용하기 위해서는, Skype 계정으로 로그인하고, 통화를 원하는 상대를 선택하기만 하면 된다. 이 과정은 기존 P2P 서비스와 큰 차이가 없이 진행된다.

사용자 삽입 이미지

Skype 서비스 예상도


---------------------------------------------------------------------------------------------------

Skype 비공개 프로토콜로써, 서비스 Process등에 대해서는 공개된적이 없으며, 버전이 바뀜에 따라서 서비스 Process 변하는것으로 알려져 있다. 그림은 추측에 기반한것임을 밝힌다.


1.1    Skype-In

  Skype-In은 전화번호를 부여 받아서, 이를 자신의 고유 번호로 사용하는 것이다. 이를 기반으로 해서, 일반전화를 이용해서 Skype 서비스 사용자에게 전화를 걸 수 있도록 해주는 서비스이다. 현재, 한국에서는 “070”대역의 전화번호가 부여된다.

이것을 가능하게 해주는 것은, Skype 3rd Party 연동 정책과 밀접한 관계가 있다. 실제로 Skype는 자사의 서비스와 연동 시켜서 신규 서비스를 제공하고자 하는 업체들에게 다양한 API를 제공하고 있다. 그 중 대표적인 것이, “Pika Technology”와의 연동 시스템이다. 실제 Skype-In 서비스도 이와 동일한 방식으로 서비스되고 있을 것으로 추정된다.

 “Pika Tech.” Legacy PBX를 생산하고 서비스하던 업체이다. 이 업체에서, Skype와 자사의 PBX를 연동 시켜서 일반전화와 Skype간의 통화가 가능하도록 서비스 해주는 것이다.

사용자 삽입 이미지

Pika와 Skype 서비스 연동 개념도[1] 출처: http://www.skypejournal.com/blog/archives/2006/09/the_dream_machine_skype_for_call_centers_1.php


서비스 구동 방식은 다음과 같다.

1.  Skype User Skype를 통해 'pikatechonogies'라는 Skype User에게 전화를 건다.

2.    PIKA에서 제공하는 AllonHost 서버에 pikatechnologies라는 SkypeUser가 할당되어 전화를 받는다.

3.    해당 User PBX의 내선과 맵핑되어 있어서, 이를 통해서 연결이 가능해진다.

, 위 그림에서 “AllonHost”는 반은 Skype의 로직을 따르고, 다른 쪽 반은 PBX 구조를 따르도록 설계가 되어 있다는 것이다. 이를 통해서 기존 전화망과 Skype와의 연결이 가능해지도록 해주는 것이다.

신고
posted by gandalff

Skype 차단 가능할까?? - (2)

Voice 2007.08.16 21:08

Skype 차단 가능할까??  - (2)
 

                                                               
by hogwart



1.1    Starting Skype Service

Skype를 처음 설치하고, 로그인 과정을 진행하면 Skype Client는 로그인 서버로 ID PW를 보내고, 로그인 과정이 성공하게 되면 최신버젼의 S/W가 있는지 확인하게 된다. 이미 알려진 바와 같이, Skype 서비스는 모든 서비스 과정이 AES Encryption 되어 진행되기 때문에 서비스를 차단하는 자체가 매우 힘들지만 바로 이 로그인 과정만은 암호화 되지 않기 때문에, 90% 이상의 보안 벤더들이 바로 이 로그인 과정을 차단함으로써, Skype 서비스를 막고 있는 것이다.

사용자 삽입 이미지

STUN 알고리즘



 

Step 1. UDP Packet을 이용한 NAT & F/W 확인.
  -      이 과정은 UDP 패킷을 이용하여, NAT 장비 혹은 F/W의 존재 여부를 확인하는
    과정이다.[1] 이 방법은 VPN 구축시에 NAT/FW등으로 인한 연결 실패를 확인하기
    위한 방법인 NAT-D(NAT Discovery)와 유사한 방식이다. Skype에서는 로그인
    과정시에 이러한 과정을 진행하여, 방화벽등에서 서비스가 막혀 있는지 여부를
    확인한다.

  -     
위 과정에서 NAT 혹은 방화벽 장비가 발견되면, 80 포트로 접속을 시도하고,
    
이 마져도 실패하면 443 포트를 이용해서 접속을 시도한다. 결국, 아무런
     서비스가 허용되지 않은 네트워크가 아니라면 어떠한 방법으로든지 접속은
     진행 될 수가 있다.

   - STUN
을 이용해서 NAT장비를 찾기 위해서는, 어느곳에선가 STUN Query
     받아주는 서버가 있어야 하는데, 여기에서는 SN이 그 역할을 담당해주는
     것으로 보여진다.
 



[1] STUN(Simple Traversal of UDP through NAT)기술은 RFC 3487번에 정의 되어 있다. 많은 VoIP서비스가 NAT 장비를 찾아내기 위해서 방법을 쓰고 있으며, Skype 같은 방법을 쓰고 있을것으로 보인다.



 

사용자 삽입 이미지
Step 2. Supernode 접속 확인.

-             Skype 서비스에서 가장 중요한 요소중에 하나가 바로 “SuperNode(SN)”이다. Skype는 중앙 관리 서버를 배제하면서, 완전한 Peer to Peer 구조를 이루고 있다. 그러나 기술적으로 보면, 여기에는 몇가지 문제가 있다. 그 중 대표적인 것이 현재 서비스를 사용하고 있는 사용자에 대한 정보이다. Skype가 표방하는 유저와 유저간의 자유로운 통화를 위해서는 현재 접속되어 있는 사람을 알아야만 하는데, 중앙에서 정보를 관리해주는 서버가 없이 이러한 과정을 구현하는 것은 매우 어렵다. 예를 들어서, UDP 패킷을 보내서 현재 Skype 를 사용하는 사용자를 모두 검색한다고 하는 것은 불가능에 가까울 것이다. End-User로부터 발송되는 사용자 검색 패킷이 전세계를 검색해야 가능한것이기 때문이다.


-              Skype는 이러한 부분을 보완하고 서비스를 쉽게 사용 가능하도록 하기 위해서, “Super Node”라는 개념을 도입했다.  SN는 실제 Skype 일반유저가 접하게 되는 End-Point이다.

-             따라서, 일반 사용자는 SN에 접속이 가능한지 여부를 제일 먼저 확인하고 접속이 가능할 경우, 로그인 과정을 진행하게 된다.

-        실제로, SN는 자신의 주변에 위치하고 있는 일반 Skype 유저에 대한 정보를 가지고 있으면서 SN간에 그 정보를 주고 받음으로써 원활한 통신이 가능하도록 해주는 역할을 할것으로 추정된다.

-      문제는 이러한 SN가 상용서버가 아니라는 것이다. Skype의 사용약관을 살펴보면, Skype 서비스를 이용하는 사용자의 PC의 리소스를 Skype측이 사용할 수 있음을 알리고 있다.

 

제 4조                     귀하의 컴퓨터 사용.

 

4.1 귀하의 컴퓨터 사용. 귀하는 여기 Skype 소프트웨어가 귀하가 사용하고
        있는 컴퓨터
(또는 다른 응용기구)의 프로세서와 대역폭을 Skype 소프트웨어
        사용자간에 제한된
목적으로 사용할 수 있음을 인정합니다.  
       
        4.2 귀하의 컴퓨터(리소스)의 보호. 귀하는 Skype 소프트웨어가 컴퓨터의
        리소스 (또는 다른 응용기구)및 통신의 프라이버시와 완전성을 보호하기
        위하여 상업적으로 합리적인 노력을 할 것으로 이해합니다. 그러나, 귀하는
        Skype가 이와 관련하여 그 어떤 보증도 제공하지 않는다는 점을 인정하고
        동의합니다.

 

- 약관에 이러한 내용이 포함된 이유는 상용서버를 두지 않고, 사용자들의 PC를 이용해서 SN을 구축하기 위함이다. 실제로, 공인IP를 가지고 있으면서 충분한 공간의 CPU Memory를 가지고 있는 PC SN가 될 수 있다.

신고
posted by gandalff


티스토리 툴바