내 생의 멋진 날

'2013/01/28'에 해당되는 글 4건

  1. 2013.01.28 비트 토렌트 관련 문서
  2. 2013.01.28 BitTorrent가 무엇인가?
  3. 2013.01.28 비트토렌트(BitTorrent)
  4. 2013.01.28 How BitTorrent becomes a DDoS Tool


1765_27c3-lying-to-the-neighbours.pdf


BitTorrent.pdf


eldefrawy 비트토렌트.pdf


Posted by 친구1004

1. BitTorrent가 무엇인가?
 
우선 BitTorrent에 대해 어느 정도 알아보겠습니다. 생소한 독자들을 위하여 가급적 쉬운 표현과 단어로 써 보았지만 다소간의 전문용어가 나오는 것은 독자님들이 이해 바랍니다...^^ 보다 상세히 알고 싶은 파워유저적 독자는 위키피디어 인터넷 사전을 참고 바랍니다. (http://en.wikipedia.org/wiki/Bittorrent)
P2P의 아버지격인 냅스터 이후 당나귀(eDonkey), 카자(Kazaa), DC++ 등 다양한 P2P가 등장하였고 시대를 풍미했거나 풍미하고 있습니다. 그런데 이러한 모든 P2P 공통의 숙제는 바로 "전송속도"일 것입니다. 만족할만한 속도가 나오지 않는 이유는 여러가지가 있지만 가장 큰 두가지는 바로 "전송방식"과 "사용자간의 도덕적헤이(?)"라 생각됩니다. 이 점에서 BitTorrent의 등장은 매우 혁신적이라 칭송받았습니다.
BitTorrent가 자료를 다운로드 하는 방식은 단순히 서버를 경유하는 것과는 별도로 사용자의 네트워크를 함께 이용하기 떄문에 중앙서버만을 경우하는 것 보다 훨씬 빠르게 자료를 주고받을 수 있습니다. 여기까지는 eDonkey네트워크의 공유방식과 유사합니다. 그러나 BitTorrent와 eDonkey의 가장 큰 차이는 해당 클라이언트의 상시개방성 여부에 있습니다.


◆ BitTorrent는 분산형 네트워크 방식이다.
당나귀의 경우 자신의 공유폴더내에 있는 모든 파일을 프로그램을 닫아버리지 않는 한, 심지어 아무것도 다운로드 받고 있지 않아도 계속 개방하여 두고 있습니다. 덕분에 당나귀 자체에서 클라이언트(사용자)간의 자료 검색을 가능하게 하여 손쉽게 다운로드 받을 수 있다는 장점이 있습니다. 그러나 검색한 사람과 자료를 가진 사람간의 위치를 파악하여 연결한 후 hash code를 부여하고 우선순위를 배분하는 등 다양한 서버의 역할이 요구됩니다. 결국, 서버의 역할이 커진만큼 부하는 많이 걸리게 되어 전송속도의 감소를 가져오게 됩니다.
그러나 BitTorrent의 경우 자신이 다운받기를 원하는 Seed 파일(확장자가 .torrent로 끝나는 파일)을 클릭하여 다운로드를 개시하는 순간부터만 클라이언트간 자료 공유가 시작됩니다. 자료의 위치, hash code와 같이 공유와 관계된 정보는 Seed파일 자체에 거의 다 내장되어 있으므로 중앙서버의 역할을 거의 없어집니다. 이렇듯 중앙서버의 별다른 도움없이 Seed파일을 가진 개개의 클라이언트끼리만 공유가 이뤄지므로 BitTorrent를 분산형 네트워크라 칭하는 것입니다.

그러나 이러한 특성으로 인해 단점도 있습니다. Seed파일이 많이 널려있는 자료(즉, 인기있는 자료)는 다운로드가 원활하지만 그렇지 못한 것은 다운로드가 힘듭니다. 게다가 위에서 설명한 특징으로 인해 프로그램 자체의 검색기능은 없습니다. 따라서 BitTorrent 커뮤니티 사이트를 방문하여 다운하고자 하는 Seed파일을 우선 다운받아야 합니다. 가령, "스타워즈"란 영화를 받고 싶으면 torrentspy.com과 같은 커뮤니티 사이트를 방문하여 "스타워즈"로 검색하여 Seed파일을 먼저 다운 받고, BitComet이나 BitSpirit, Azureus 등의 BitTorrent 클라이언트 프로그램에서 실행해 주어야 합니다. (이러한 사이트는 아래에서 자세히 소개하겠습니다.)
◆ BitTorrent는 대칭형 네트워크 방식이다.
P2P의 전송속도가 떨어지는 또하나의 원인은 사용자간의 도덕적헤이와 무임승차성(free-rider)에 있습니다. 당나귀에서 다운받은 경우를 예로 들면, 일부 사용자의 경우 업로드 속도는 낮추고 다운로드 속도는 무한대로 설정헤 놓거나, 심지어 다운로드가 완료되자 마자 비공유 폴더로 이동시켜 버리는 경우가 있습니다. 자신의 PC와 네트워크의 부하를 줄이기 위해서란 변명도 일리는 있지만 "공유정신"에서 보면 매우 부당하다 하지 않을 수 없습니다. 그러나 BitTorrent는 원칙적으로 대칭형 네트워크 방식을 지향합니다. 내가 1MB를 받아갈려는 반드시 누군가에게 1MB를 줘야합니다. 이렇게 업로드와 다운로드가 동기화되는 대칭형 방식이기 때문에 무익한 클라이언트를 배제시킬 수 있습니다. 반면 ADSL이나 VDSL 등의 비대칭망 네트워크 중 특히 업로드 속도가 미미한 라이트상품으로 인터넷을 이용하는 사용자들에겐 그만큼 속도 감수는 감안하여야 할 수도 있습니다. 하지만 최근의 BitTorrent 클라이언트글은 프로그램상에서 이를 완화시켜 주는 것도 많습니다.
당나귀
BitTorrent
공유제어
중앙서버
Seed파일
공유방식
항시 공유
Seed파일간 공유
검색기능
있음
없음
네트워크 전송
비대칭(사용자 임의로 업/다운로드 속도 조절 용이)
대칭(사용자 임의로 업/다운로드 속도 조절 불편)
관련 클라이언트 프로그램
당나귀, 이뮬, 프루나 등
BitTorrent, BitComet, BitSpirit, Azureus 등
스파이웨어
당나귀자체가 상용-애드웨어에 기반하여 다소간의 스파이웨어는 감수해야함
비상용-오픈 라이센스에 기반하여 스파이웨어에 대한 부담이 적음
(표 1) 당나귀와 BitTorrent의 차이점
2. BitTorrent를 이용하여 자료 다운로드 받기
 
위에 간단히 말한바 대로, BitTorrent를 이용하여 자료를 얻으려면 BitTorrent와 관계된 다양한 커뮤니티 사이트에서 Seed파일을 다운받아야 합니다. 저작권단체 등의 단속으로 인하여 초창기에 비하면 지금은 BitTorrent 사이트가 상당수 감소하였습니다. 그나마 남은 사이트 중 왕성한 회원간 공유가 이뤄지고 있는 사이트 들은 아래 표와 같습니다. 아쉽지만 추천할 만한 국내사이트는 아직 없습니다.
http://www.torrentspy.com (추천)
http://www.orbdesign.net/bt (추천)
http://www.torrentreactor.net
http://www.isohunt.com
http://bt.etree.org
http://oink.me.uk
(표 2) 주요 BitTorrent Seed 사이트
큐빅 독자들께서는 Dr,Dre라는 랩퍼를 아시는지 궁금합니다. 이제부터 torrentspy.com 을 이용하여 Dr,Dre의 2004년 베스트앨범의 Seed파일을 다운받아 보겠습니다. Seed파일을 찾는 방식은 매우 간단합니다. 해당 사이트를 방문 후 아래처럼 "Dr,Dre"란 키워드로 검색합니다.

결과가 나타나는데 "Health" 막대가 높은 것일수록 공유자가 많다는 것을 의미합니다. 필자가 원하는 것은 두번째 줄에 있으니 그것을 클릭합니다.


최종적으로 Seed파일에 관련된 정보가 나열되는 것을 볼 수 있습니다. 맨 위의 "Download Torrent"를 클릭하여 확장자가 .torrent로 끝나는 파일(여기서는 Dr[1].Dre.-.The.Greatest.Hits.2.(The.Next.Episode.2004).torrent 였습니다.)을 임의의 폴더에 다운로드 받아 둡니다.

이것으로 검색작업은 끝났습니다. 이제부터는 BitTorrent 클라이언트를 이용하여 파일을 다운받이야 합니다.
3. BitTorrent 클라이언트
 
BitTorrent 클라이언트는 Seed 파일(확장자가 .torrent로 끝나는 파일)을 실행시킬 수 있는 프로그램으로, BitTorrent 네트워크 방식의 자료를 다운로드 받게 해 주는 프로그램을 말합니다. 손쉬운 예로 당나귀 네트워크 방식의 자료를 다운받게 해 주는 프루나, 이뮬 등을 당나귀 클라이언트라 칭하는 것과 동일합니다. 따라서 당나귀방식의 자료를 다운로드 받기 위하여 반드시 당나귀를 사용할 필요없이 프루나아 이률 등, 자신의 구미에 맞는 것을 사용해도 되는 것과 마찬가지로, BitTorrent방식의 다운로드 받기 위해서도 BitTorrent뿐 아니라 BitComet이나 BitSpirit, Azureus 등... 다양한 프로그램 중 하나만 있으면 됩니다.
 
◆ BitComet을 이용하여 다운로드 받기
이 중 안정성이 높고, 깔끔한 인테페이스에 한글까지 지원하며, 무엇보다 사용하기가 정말 쉬운 BitComet을 이용해 보겠습니다. 제작사이트(http://www.bitcomet.com)를 방문하여 최신버전인 0.59를 다운로드 받아서 설치합니다. 설치과정에서 나오는 옵션에 대해서는 모두 OK를 클릭하여 설치합니다. 당나귀나 이뮬 등과는 다르게 일체의 스파이웨어 등이 검출되지 않았으므로 안심해도 됩니다.

툴바에서 "열기"를 클릭하여 앞에서 다운로드 받아두었던 Seed파일을 찾아서 선택해 줍니다. 

상세한 다운로드파일 정보가 나타납니다. 하단부의 "확인" 버튼을 눌러주면 다운로드가 시작됩니다.

◆ BitComet 환경설정
사실, BitComet의 옵션은 거의 만져줄 것이 없습니다. 이것이 일장일단이 있는데, 초보 사용자들에게는 그만큼 사용하지 쉽다는 장점이 있는 반면, 고급 사용자들에게는 다소 아쉬울 수 있습니다. 따라서 기능적인 설정은 배제하고 인터페이스와 관련된 작업, 외형만 간단히 살펴보겠습니다.

기본다운로드 경로는 임의로 정해주는 곳이 좋습니다. 가급적이면 윈도우즈가 설치된 C드라이브는 피하는 것이 P2P를 이용하는 좋은 습관입니다. 물론 BitTorrent가 바이러스의 공격을 받을 가능성은 매우 희박합니다만, P2P의 특성상 포트를 개방하여야 한다는 점에서 여전히 크래커의 침입에 대한 위험성은 내재해 있습니다.
외형 설정 또한 모두 한글화되어 있어서 어려울 것은 없습니다. 윈도우 시작시 자동을 실행되는 것만 조절하였을 뿐 필자 역시 기본값 그대로 사용하고 있습니다.
◆ Seed파일 만들어서 내 자료 나눠주기
BitComet에서도 전문적이진 않지만 제한된 범위내에서 간단하게 Seed파일을 만들 수 있습니다. 우선 공유할 파일이 다수로 구성된 것이라면 압축하여 하나로 만듭니다. BitComet 툴바에서 "만들기"를 클릭하면 아래 그림처럼 "Torrent 만들기" 대화창이 나타납니다. "찾아보기" 클릭하여 이전에 만들어둔 파일(또는 압축파일)을 지정해 주면, 확장자가 .torrent인 Torrent파일이 간단하게 만들어 집니다. 이렇게 만든 Seed파일은 앞에서 살펴본 커뮤니티 사이트에 등록해 주면 됩니다.
아래 (그림)처럼 "코멘트" 부분에 자신의 아이나 하고 싶은 말 등을 기입해 둘 수도 있습니다.

Posted by 친구1004

비트토렌트(BitTorrent)는 P2P(peer-to-peer) 파일 전송 프로토콜의 이름이자 그것을 이용하는 응용 소프트웨어의 이름이다. 비트토렌트를 이용하면 파일을 인터넷 상에 분산하여 저장하여 놓고 다수의 접속을 사용하여 여러 곳에서 동시에 파일을 가져오게 되어 전송 속도가 빨라진다.

비트토렌트 프로토콜은 프로그래머 브램 코헨이 창안하였으며, 2001년 4월부터 설계되어 최초의 구현이 2001년 7월 2일 발표되었다. 현재는 코헨이 창립한 회사인 비트토렌트 Inc.가 이것을 유지보수하고 있다. [1] 본래 비트토렌트 프로그램은 분산 해시 테이블을 활용하여 파이썬으로 작성되었으며 오픈 소스 저작권하에서 배포되고 있다. 그 외에도 비트토렌트 프로토콜과 호환되는 각종 비트토렌트 클라이언트가 출시되어 있다.

이 프로토콜을 사용하는 인터넷 트래픽이 전 세계 인터넷 트래픽 중 상당 부분을 차지하고 있으나 정확한 통계는 측정할 수 없는 것으로 알려져 있다.[출처 필요]

[편집]
이용 방법

비트토런트의 동작 원리

비트토렌트 프로토콜을 이용하기 위해서는 비트토렌트 프로토콜과 호환되는 비트토렌트 클라이언트를 설치해야 한다. 비트토렌트를 이용해서 파일을 공유하고 싶으면 우선 torrent 파일을 생성해야 한다. torrent 파일은 공유를 하고자 하는 파일의 메타데이터, 호스트 컴퓨터의 정보 등이 기록된다. 파일의 구체적인 내용은 비트토렌트 프로토콜 버전에 따라서 다르며, 파일 확장자는 항상 .torrent이다.

[편집].torrent 파일

Torrent 파일에는 “announce” 섹션이 있는데, 이는 “Tracker”의 URL 정보를 포함한다. Tracker란 일종의 서버로 swarm 안에 seeder와 peer를 모니터링한다. 클라이언트는 tracker 서버로 자기 정보를 보내고 현재 swarm 안의 seeder와 peer에 관한 정보를 받는다. Tracker 서버는 데이터 전송에 직접적인 영향이나 관계는 없으며 공유되는 파일의 복사본을 가지고 있지 않는다. 현재 비트토렌트 버전은 tracker 서버 없이도 구현이 가능하도록 되어 있다. 그러나 대부분의 비트토렌트는 현재까지는 tracker 서버를 많이 사용하고 있다.

torrent 파일의“info” 섹션은 파일의 이름, 길이, 파일 조각의 길이, 그리고 파일의 무결성을 진단하기 위한 각 조각의 SHA-1 해시 코드가 포함되어 있다. 파일을 다 받은 클라이언트는 Seeder 역할을 수행할 수 있어서 파일 공유의 효율을 높일 수 있다.

공유하고자 하는 파일의 torrent 파일을 생성한 후에는 웹사이트 등에 torrent 파일을 publish해서 tracker 서버에 등록할 수도 있다. 이 방식은 현재까지 가장 많이 사용되고 있는 torrent 파일의 공유 방법이다.

[편집]업/다운로드

사용자는 torrent 파일이 등록되어 있는 웹사이트에 가서 torrent 파일을 다운로드하여 비트토렌트 클라이언트를 이용하여 torrent 파일을 연다. 비트토렌트 클라이언트는 tracker 서버에 접속하여 현재 공유파일의 Seeder와 Peer에 대한 정보를 가지고 온다. 다시 말해서 현재 다운로드하고 있는 사람과 업로드하고 있는 사람의 수를 가지고 온다. 이 모든 사람들을 통 틀어서 Swarm이라고 한다.

처음에는 Peer가 하나도 없을 수 있다. 단지 처음 파일을 올린 사람인 Seeder만 있을 수 있다. 이렇게 되면 첫 Seeder로부터 파일을 받기 시작한다. 비트토렌트 프로토콜은 파일을 여러 조각으로 나누어서 조그만 파일로 만들어서 전송을 한다. 일반적으로 한 조각의 크기는 256kb 정도이다. 일반적으로 파일 크기가 클수록 조각의 크기도 커진다. 예를 들어, 4.37GB의 한 조각은 4.3MB 정도이다. 하나의 조각을 다운로드할 때마다 해시 알고리즘을 이용하여 에러 여부를 점검한다.

여러 사람들이 파일을 다운로드하기 시작하면서 Swarm 안에 있는 Peer의 숫자는 늘어난다. Peer들이 생기면서 서로 조각들을 공유하기 시작한다. 다운로드 중인 Peer들은 랜덤하게 조각을 받기 때문에 서로 받은 조각들을 공유할 수 있게 된다. 그러므로 원본 파일을 가지고 있는 Seeder의 전송 부하(Bandwidth)를 줄인다.

P2P의 효율성을 높이는 데 중요한 역할을 하는 요소는 클라이언트간의 데이터를 주고 받는 정책이다. 클라이언트들은 자기에게 파일을 준 클라이언트에 다시 파일을 주는 형식으로 구성하여 공유의 효율성을 높인다. 이러한 여러 가지 정책에 따라 공유의 효율성, 다운로드 속도, 업로드 속도 등의 차이가 난다. 비트토렌트는 공유를 많이 할수록 좋으며 대신 다른 P2P와 다르게 Queue(줄) 서서 기다리는 것이 없다. 비트토렌트는 “optimistic unchoking”라는 메커니즘을 이용한다. 이 메커니즘은 클라이언트의 대역폭을 일부 할당하여 무작위로 Peer들한테 조각을 보내서 모든 Peer들이 일정한 양의 조각을 가지고 있을 수 있게 한다. 그렇게 되면 모든 Peer들이 다 다른 조각을 가지고 있게 되므로 공유의 효율성이 높아진다.

[편집]동작

비트토렌트 프로토콜을 구현하기만 하면 비트토렌트 클라이언트라고 간주할 수 있다. 각 클라이언트는 이 프로토콜을 사용하여 임의의 종류의 컴퓨터 파일을 네트워크 상에서 예비하고, 요청하고, 전송할 수 있다. 이 때, 클라이언트가 동작하고 있는 컴퓨터를 피어라 부른다.

파일 한 개(혹은 파일의 그룹)를 공유하고 싶으면, 우선 피어는 .torrent 파일을 하나 생성해야 한다. 이 작은 파일은 공유할 파일 및 tracker(파일 분산을 조율하는 컴퓨터)에 대한 메타데이터를 담고 있다. 피어는 어떤 파일을 받기 위해서는, 우선 그 파일을 위한 .torrent 파일을 획득하여야 하며, 그 파일의 조각조각을 받기 위해서 어떤 피어들에게 접속해야하는지를 알려주는 소정의 tracker에 접속해야 한다.

네트워크 상에서 파일을 다운로드 받을 수 있게 해준다는 점에서는 비슷하지만, 비트토렌트 다운로드와 전통적인 풀-파일 HTTP 요청 사이에는 다음과 같은 근본적인 차이가 있다:

  • 비트토렌트는 많은 수의 소규모 P2P 요청(request)을 여러 개의 TCP 소켓을 이용하여 생성한다. 반면, 웹 브라우저는 일반적으로 한 개의 HTTP GET 요청(request)을 한 개의 TCP 소켓 상에서 생성한다.
  • 비트토렌트 다운로드는 랜덤(random) 방식이거나 "희귀한 것 우선"(rarest-first) 방식이다. [2] 이러한 접근 방식은 고 가용성(high availability)를 보장한다. 반면 일반적으로 HTTP 다운로드는 순차적 방식이다.

상기 두 가지 차이점 덕분에, 비트토렌트는 아주 작은 비용으로 매우 큰 리던던시(redundancy)를 확보할 수 있었으며, 일반적인 HTTP 서버보다 어뷰즈(abuse) 나 "플래시 크라우드"에 강한 면모를 보인다. 하지만 이러한 프로텍션 효과는 그냥 얻어지지는 않는다: 다시 말해 다운로드는 최고 속도(full speed)에 이르기까지 시간이 걸린다. 왜냐하면 충분한 피어 접속들이 이루어지기까지는 시간이 걸리기 때문이며, 또한 한 개의 노드(node)가 충분한 데이터를 받아 놓아 효용 있는 업로더(uploader)가 되기까지 시간이 걸리기 때문이다. 결론적으로 일반적인 비트토렌트 다운로드는 처음에 낮은 속도로 시작하였다가 속도가 점점 증가해 최고 속도에 이르게 되며, 다운로드의 종료 시점까지 점점 속도가 떨어지게 된다. 이러한 점에서, 매우 빨리 최고 속도에 이르며 스피드 스루아웃(throughout)을 계속 유지하는 HTTP 다운로드와는 차이가 있다.

일반적으로, 인접 구간을 받지 않는(non-contiguous) 비트토렌트 다운로드 방식으로서는 "프로그레시브 다운로드"나 "스트리밍 재생"의 구현이 어렵다고 간주한다. 최근 들어, [3] 브램 코헨은 토렌트 다운로드를 이용한 스트리밍 재생이 널리 구현될 것이라고 언급하기는 하였지만 말이다.

[편집]프로토콜의 채택

개인이나 회사가 비트토렌트를 사용하여 그들 소유의 라이선스가 있는 자료를 배포하는 사례가 늘고 있다. [4] 하드웨어 및 밴드위스 요구를 줄여주는 비트토렌트 기술이 없었다면, 이러한 개인이나 회사가 그들의 파일을 배포하는 데에는 꽤 많은 비용이 들었을 것이다.

[편집]영화, 비디오, 음악

  • BitTorrent Inc. 는 할리우드 스튜디오로부터 라이선스를 몇 개 받아 놓은 상태이다. 이 회사 웹사이트에서 인기있는 콘텐트들을 배포하기 위함이다.
  • Sub Pop 레코드는 1000여 개의 앨범을 배포하기 위해 곡(track)들과 비디오들을 비트토렌트 Inc. 를 통해 배급하고 있다. [5] 음악 밴드인 (Ween)은 공짜 오디오와 비디오 레코딩 및 라이브 쇼를 배포하기 위해 웹사이트 Browntracker.net 을 사용하고 있다. [6] 또한 Babyshambles 및 The Libertines이라는 밴드(Pete Doherty와 관련 있음)는 그들의 데모 음악과 라이브 비디오를 배포하기 위해 토렌트를 활발히 이용하고 있다.
  • 밸브 소프트웨어는 스팀 미디어 스트리밍 프론트엔드에 비트토렌트 프로토콜을 사용하고 있다. [출처 필요] 비트토렌트 프로토콜의 창시자인 브램 코헨은 한 때 밸브 소프트웨어에서 일했었다. [출처 필요]
  • 팟캐스팅 소프트웨어들도 비트토런트를 내장(integrate)하려 하고 있다. 팟캐스터들로 하여금 그들의 MP3 라디오 프로그램들의 다운로드 부하를 충족시킬 수 있게 말이다. Juice (podcasting) 및 Miro Media Player (예전 이름은 데모크래시 플레이어 Democracy Player) 같은 플레이어들은 자동적으로 RSS 피드로부터 .torrent 파일을 뽑아내어 처리하고 있다. 마찬가지로 비트 토렌트 클라이언트 – 뮤토렌트 등도 웹 피드들을 처리하여 그 안에 들어있는 콘텐트를 자동으로 다운로드할 수 있게 한다.

[편집]개인 자료

  • Amazon S3 심플 스토리지 서비스는 스케일러블한 인터넷-기반 저장공간 서비스이며, 간단한 웹 서비스 인터페이스를 채택하고 있다. 또한 비트토렌트 지원 기능을 내장하였다.
  • 블로그 토렌트는 블로거들과 일반 사용자들이 그들의 사이트에서 트래커를 호스트할 수 있도록 해 준다. 블로그 토렌트는 블로그 방문자들로 하여금 "스텁"(stub) 로더를 다운로드할 수 있게 해 준다. 이 스텁 로더는 그 특정 파일을 다운로드하는 비트토렌트 클라이언트로서 동작하며, 별도의 비트토렌트 클라이언트 없이 원하는 파일을 다운로드할 수 있다. [7] 이것은 자동 풀림 압축 파일과 같은 개념이라 말할 수 있다.

[편집]소프트웨어

[편집]게임

[편집]같이 보기

Posted by 친구1004

How BitTorrent becomes a DDoS Tool [Hacking]


A talk at the 27C3 has revealed curtains off a new kind of swarms that can exploit DDoS attacks. 
One of the speakers at Chaos Communications Congress revealed how BitTorrent swarms can be exploited to take down large websites with relative ease under a talk named “Lying To The Neighbours” .

The vulnerability is actually found in the technology that works on trackerless torrents (DHT). Its now possible for someone to trick downloaders of popular files into send thousands of requests to a webserver of choice, taking it down as a result. Effectively turning BitTorrent into a very effective DDoS tool.

BitTorrent have lived over the years because of their reliability and effectiveness. Unlike a server centric model, where the dependency is on a one server (or distributed servers), its distributed and directly available through individual nodes that auto-discover each other, resulting in faster and more reliable data transfers. This is the reason why, everyday, millions of people (Swarm) use bittorrents to download Terabytes of data.

bittorrent-swarm

Hackers have now used the popular DHT technology to abuse BitTorrent downloaders to DDoS a webserver of choice. DHT, under normal operation, discovers peers who are downloading the same files, without communicating with a central BitTorrent tracker. If there are enough peers downloading the same file, this could easily take down medium to large websites. The worrying part is that the downloaders who are participating in the DDoS will not be aware of what’s going on.

“The core problem are the random NodeIDs. The address hashing and verification scheme works for scenarios like the old Internet, but becomes almost useless in the big address space of IPv6,” Astro told TorrentFreak in a comment. As a result, any BitTorrent swarm can be abused to target specific websites and potentially take them down.

These days,  DDoS attacks have been in the news regularly, mostly carried out under the flag of Anonymous “Operation Payback”. Initially anti-piracy targets such as the MPAA and RIAA were taken offline, and last month the focus switched to organizations that acted against Wikileaks, including Mastercard, then Visa and Paypal.

“Not connecting to privileged ports (< 1024) where most critical services reside,” is one ad-hoc solution, but Astro says that since it’s a design error, the protocol has to be redefined eventually.

The idea of using BitTorrent as a DDoS tool is not entirely new. In fact, researchers have previously shown that adding a webserver’s IP address as a BitTorrent tracker could result in a similar DDoS. The downside of this method is, however, that it requires a torrent file to become popular, while the DHT method can simply exploit existing torrents that are already being downloaded by thousands of people.

Over the next few years, it may actually be able to create non-blockable Torrents. Even today, there are ways of Bypassing torrent blocking, throttling. Now, what remains to be seen is that will BitTorrent developers do enough to fix DDoS vulnerability or will it remain open and cause havoc.

Posted by 친구1004