za
bitcoincoreUPnP

Luka UPnP w Bitcoin Core

Zondacrypto gielda kryptowalut 2650

Jak dowiadujemy się z oficjalnej strony bitcoin.org, oryginalny klient Bitcoin Core zawiera lukę dotyczącą protokołu UPnP.

 

 

Jak dowiadujemy się z oficjalnej strony bitcoin.org, oryginalny klient Bitcoin Core zawiera lukę dotyczącą protokołu UPnP.

 

Na początek kilka słów czym jest UPnP (Universal Plug and Play). Jest to protokół, który pozwala urządzeniom i programom działającym w sieci lokalnej poprosić router dostępowy o przekazanie ruchu z Internetu kierowanego na konkretny port (lub grupę portów) do pytającego urządzenia/programu. Dzięki temu programy mogą komunikować się ze światem zewnętrznym na danym porcie, Bitcoin Core używa domyślnie portu 8333.

 

UPnP działa kaskadowo, to znaczy że jeżeli nasz dostęp do sieci Internet przechodzi przez kilka routerów, to pierwszy z nich zapytany o routowanie portu będzie prosił kolejny router o to samo.

 

Rozwiązanie proste i wygodne, jednakże, jak się okazuje, nie pozbawione wad. Już w 2013 roku ujawniono poważną lukę w protokole, umożliwiającą dostęp z Internetu do routera i sieci lokalnej. Zaleceniem i jedynym ratunkiem było wtedy wyłączenie funkcjonalności w routerach.

 

Luki z czasem oczywiście załatano, jednak w bibliotece miniupnpc wykorzystywanej przez Bitcoin Core (wersje biblioteki przed 1.9.20151008) istnieje inna podatność. Odpowiednio spreparowany router, do którego wysyłane jest zapytanie, może wykorzystać błąd przepełnienia buforu transmisji i wykonać kod na komputerze na którym uruchomiony jest Core.

 

Co to oznacza? Jeżeli np. mamy Core na swoim laptopie i podłączamy się do WiFi poza swoim domem, router do którego się podłączamy może uruchomić „cokolwiek” na naszym komputerze.

 

Ponieważ wykorzystanie UPnP w Core jest domyślnie włączone (aby „łapać” połączenia przychodzące z sieci) a funkcję serwera UPnP w sieci można przejąć, zalecane jest wyłączenie tej funkcji w Core.

 

Oczywiście, jeżeli nie uruchamiamy Core poza naszym domowym w pełni zabezpieczonym zasiekami, fosami i ścianami ogniowymi domowym systemem, nie musimy się niczego obawiać.

 

Jak wyłączyć UPnP w Core?

 

W menu ustawienia/sieć odznaczyć „mapuj port używając UPnP” i uruchomić core ponownie.

Można też dodać wpis w bitcoin.conf

 

upnp=0

 

lub uruchomić Core z parametrem

 

-upnp=0

 

Jak sprawdzić, czy nasze Core jest podatne na ten błąd? Jeżeli mamy wersję skompilowaną przed 08-10-2015 to na pewno jest (8. października wprowadzono poprawkę do biblioteki miniupnpc). Przygotowywana wersja 0.11.1 ma już być skompilowana z wykorzystaniem załatanej biblioteki.

 

Skompilowane Core pod Windows możemy pobrać z https://bitcoin.org/bin/

 

Jeżeli jesteś użytkownikiem Linux, możesz oczywiście zaktualizować posiadaną bibliotekę miniupnpc i skompilować Core samodzielnie. Lub skompilować Core bez funkcjonalności UPnP.

 

 


Bitcoina i inne kryptowaluty kupisz w prosty i bezpieczny sposób na giełdzie zondacrypto.

Tagi

Newsletter Bitcoin.pl

Więcej niż bitcoin i kryptowaluty. Najważniejsze newsy i insiderskie informacje prosto na Twój email.

Dbamy o ochronę Twoich danych. Przeczytaj naszą Politykę Prywatności