Wywiad z OSTIF, zespołem odpowiedzialnym za audyt OpenVPN

OSTIF kontroluje OpenVPN z korzyścią dla wszystkich.


Contents

Właśnie zakończyłeś audyt bezpieczeństwa OpenVPN. Dwie osoby pracowały przez prawie dwa miesiące nad tym projektem. Jak działa taki audyt?

W rzeczywistości skończyło się na tym, że trzech badaczy pracowało w sumie 50 dni (około 1000 godzin) nad przeglądem bezpieczeństwa.

Kiedy planujemy przeprowadzić audyt oprogramowania, musimy zaplanować harmonogram audytu, kto będzie go wykonywał i jakie obszary oprogramowania omówimy.

W przypadku OpenVPN czekaliśmy na wydanie OpenVPN 2.4, w którym wprowadzono kilka poważnych zmian w kodzie. Następnie moglibyśmy ocenić nowe funkcje, a także wiele zmian pod maską.

Aktualizacje, które zawierają znaczące zmiany kodu, są dobrym czasem na ocenę oprogramowania, ponieważ błędy kodowania mogą przejść przez testy, lub regresje funkcji krawędzi mogą prześlizgnąć się przez pęknięcia.

OpenVPN to unikalne oprogramowanie, ponieważ jest monolitycznym kodem z wieloma funkcjami, które muszą być kompatybilne ze starszymi wersjami. Zapewnienie zgodności ze starszymi urządzeniami spowalnia proces przeglądu zabezpieczeń. Musimy poruszać się po złożonej sieci funkcji, a nie w modułowej konstrukcji, w której aplikacja może być oceniana w częściach. OpenVPN wykorzystuje również dwie różne biblioteki (OpenSSL i PolarSSL) do kryptografii, co oznacza, że ​​istnieją dwa całkowicie różne środowiska kryptograficzne zasilające zabezpieczenia.

Co więcej, istnieje OpenVPN 3.0, która jest unikalną wersją, która nie jest całkowicie open source. OpenVPN 3.0 powstał z powodu problemów licencyjnych ze sklepem Apple App Store, które uniemożliwiają darmowe oprogramowanie w sklepie. Kod OpenVPN 3.0 jest używany dla OpenVPN Connect dla Androida i iOS. Gdybyśmy ocenili cały ten ekosystem, wielu naukowców potrzebowałoby wielu miesięcy na przeczesanie wszystkich tych odmian OpenVPN, a następnie nadal musieliby wziąć pod uwagę różne konfiguracje sieci i sprzętu, z którymi mogą zmierzyć się te różne aplikacje. Złożoność i koszt byłyby ogromne.

Konsultowaliśmy się z ekspertami i pracowaliśmy z zespołem OpenVPN i QuarksLab, aby dowiedzieć się, na czym należy się skupić. Zdecydowano, że OpenVPN 2.4 dla systemów Windows i Linux obejmuje większość użytkowników i robi najwięcej. Większość komercyjnych dostawców VPN używa kodu OpenVPN 2.4 dla swoich niestandardowych klientów VPN ze względu na otaczającą go strukturę licencji.

Postanowiliśmy także skupić się na każdej kryptografii stworzonej przez sam OpenVPN i bezpieczeństwie aplikacji. Oznacza to poszukiwanie błędów logicznych, błędów alokacji pamięci, niewłaściwej obsługi bufora lub innych luk w nieprawidłowym stanie błędu.

Oddzielny audyt OpenSSL pozwoliłby nam dokładnie ocenić samą kryptografię OpenVPN, aby upewnić się, że zarówno kryptografia, jak i aplikacja są prawidłowe. Ważne jest, aby stworzyć bezpieczną i trudną w użyciu aplikację, z której będą mogli korzystać użytkownicy.

Jeśli chodzi o rzeczywisty proces audytu, QuarksLab doskonale dokumentuje procesy i narzędzia używane podczas oceny oprogramowania. Nasza praca koncentruje się na planowaniu zakresu kontroli i ustalaniu osiągalnych celów. Następnie gromadzimy społeczności open source, bezpieczeństwa i prywatności wokół celu, aby zebrać pieniądze, aby to zrobić.

Czy są jakieś zaskakujące / godne uwagi ustalenia z audytu, które możesz teraz podzielić się z nami??

Jesteśmy w fazie zaciemnienia procesu audytu dla OpenVPN, więc nie będę w stanie omówić żadnych szczegółów, które mogłyby podpowiedzieć ludziom wyniki, ale wkrótce będą one publicznie dostępne. Czekamy na OpenVPN 2.4.2.

Jakie jest uzasadnienie takiego audytu? Czy jesteś informowany o potencjalnych lukach w zabezpieczeniach, czy po prostu chcesz przyjrzeć się oprogramowaniu, na którym regularnie polegasz?

Nasza strategia jako organizacji obejmuje różne obszary bezpieczeństwa i prywatności oraz wybrane powszechnie używane aplikacje.

VeraCrypt był bardzo potrzebnym następcą TrueCrypt, na którym społeczność bardzo polegała, ale ludzie prowadzący projekt byli stosunkowo nieznani i podejmowali się ogromnego projektu ze złożonym kodem. Logiczne było podejście do niego jako naszego pierwszego audytu, ponieważ mogliśmy ocenić zmiany w kodzie, który został wprowadzony do TrueCrypt 7.1a i porównać go z bieżącą wersją VeraCrypt. Ten wąski zakres pozwolił nam radykalnie obniżyć koszty i pokazać ludziom, że organizacja skutecznie osiąga wyniki.

OpenVPN to nasz pierwszy „szeroki” audyt aplikacji. Wymagało to znacznie większego budżetu, ale miało także dużą społeczność dostawców VPN (którzy sami są aktywistami prywatności). Dostawcy VPN są zainteresowani zarówno prywatnością swoich użytkowników, jak i bezpośrednio troszczą się o bezpieczeństwo OpenVPN, co pozwoliło nam jednocześnie pozyskiwać środki z interesów komercyjnych OpenVPN i użytkowników prywatnych.

OpenSSL znów jest większy, ale ma wsparcie branżowe, ponieważ kod OpenSSL (i inne pochodzące z niego biblioteki) obsługuje około 70% z 1 000 000 najlepszych stron internetowych. Daje nam to wiele interesów biznesowych, które możemy poprosić o fundusze na ocenę OpenSSL 1.1.1, która będzie pierwszą wersją OpenSSL z nowym kodem TLS 1.3.

Idąc dalej w dół listy aplikacji, które planujemy poddać audytowi; coraz trudniej jest zebrać fundusze. Albo dlatego, że otaczające je społeczności są mniejsze, albo dlatego, że sukces aplikacji nie ma żadnego interesu biznesowego.

Mamy nadzieję, że po powtarzających się sukcesach będziemy w stanie pozyskać większych sponsorów korporacyjnych, którzy umożliwią nam bardziej efektywne kierowanie funduszy na te projekty bez polegania wyłącznie na niewielkich datkach publicznych. Pomogłoby nam to również w stworzeniu innych programów, które wymagają pracy z projektami, aby ułatwić korzystanie z ich aplikacji, ulepszenia metod i narzędzi testowych oraz stworzenia łatwych do naśladowania przewodników dotyczących oprogramowania do ochrony prywatności i bezpieczeństwa, które obsługujemy.

Krótko mówiąc, teraz jest to część większej strategii wspierania jednej aplikacji z każdego ważnego obszaru prywatności i bezpieczeństwa, a następnie jej rozwijania. Naszymi kryteriami jest postrzegana siła oprogramowania w połączeniu z powszechnym użyciem.

W przypadku projektu OpenVPN otrzymałeś wsparcie w dużej mierze od branży VPN. Czy spodziewałeś się wsparcia poza tym? Jak bardzo jesteś zadowolony z tego wsparcia?

Otrzymaliśmy również duże wsparcie od społeczności, zarówno w formie ustnej, jak i bezpośrednich darowizn.

Nasz cel został zaskakująco szybko przekroczony, ponieważ początkowo uważaliśmy, że 1-miesięczne okno, które przydzieliliśmy na zbieranie funduszy, będzie niewystarczające. Ale osiągnęliśmy nasz cel i w ciągu 20 dni podnieśliśmy znacznie więcej niż planowaliśmy. Te pieniądze zostały przeznaczone na program premiowy za błędy, którego uruchomienie planowane jest na lato / jesień.

Byłem zaskoczony pozytywną reakcją społeczności i wylaniem wsparcia dla projektu. To było naprawdę niezwykłe! Jestem bardzo zadowolony ze wsparcia społeczności dla projektu, ale byłem również zaskoczony liczbą większych organizacji, które nie odpowiedziały na nasze zapytania lub nie miały żadnego kontaktu z ich zarządem.

Jednak ogólnie rzecz biorąc dobro znacznie przewyższyło zło i nie możemy się doczekać współpracy ze wszystkimi naszymi zwolennikami w inicjatywach OpenVPN i nie tylko!

Przeszedłeś z modelu pozyskiwania funduszy z połączonymi zasobami do modelu bezpośredniego pozyskiwania funduszy, w którym zbierasz fundusze dla każdego projektu osobno. Wydawało się, że zadziałało to dobrze dla projektu OpenVPN, w którym przemysł VPN chętnie przekazał darowiznę. Czy oczekujesz, że przyszłe projekty będą finansowane w podobny sposób i jak to będzie działać w przypadku projektów oprogramowania, które nie otaczają ich branżą komercyjną, takich jak OTR?

Zmiana modelu finansowania wynikała z opinii społeczności na temat szoku związanego z naklejkami. Podczas naszej pierwszej rundy pozyskiwania funduszy zaplanowaliśmy rok działań, a następnie staraliśmy się zebrać fundusze w ramach KickStarter. Doprowadziło to do trudności finansowych, takich jak oferowanie nagród za darowizny, opłaty KickStarter i usługi płatnicze odbierające pieniądze z darowizn. Łącznie 8 zaplanowanych projektów znacznie zwiększyło ten cel do milionów dolarów. Jako nowicjusz w branży, bez historii, ogromnej ilości zaangażowanych pieniędzy i po kilku poważnych awariach KickStarter, od samego początku był skazany na porażkę.

Nasza zmiana strategii spowodowała, że ​​koszty ogólne i liczby spadły na ziemię i wyznaczyły bardziej osiągalne cele, ale wymaga również znacznie więcej pracy dla każdego fundraise. Mamy nadzieję, że po zbudowaniu reputacji odpowiedzialności i skuteczności będziemy w stanie pozyskać większych darczyńców, co pozwoli nam bardziej skoncentrować się na wykonywaniu zadań, a mniej na bezpośrednim pozyskiwaniu darowizn. Większe darowizny przyniosą dodatkową korzyść, umożliwiając nam finansowanie mniej interesujących projektów komercyjnych, takich jak OTR, Nginx, Tunnelblick i inne.

W jaki sposób ewoluuje technologia zwiększająca prywatność i bezpieczeństwo? Zwłaszcza w odniesieniu do telefonów komórkowych i systemów zastrzeżonych?

Wielokrotnie widzieliśmy przez różne wycieki agencji rządowych, że jeśli kryptografia wokół informacji jest dobra, nie mogą jej rozbić na masową skalę.

Ten fakt przynajmniej wyłącza formę masowego inwigilowania „podsłuchiwania wszystkich”, która stała się wszechobecna w ciągu ostatnich kilku lat. Ponieważ te narzędzia do ochrony prywatności wciąż się poprawiają, a szyfrowanie staje się coraz trudniejsze do złamania i łatwiejsze w użyciu, zauważymy znaczny wzrost wysiłków w celu atakowania i narażania urządzeń na szwank.

Są na to dowody poprzez masową kradzież kluczy do karty SIM za pomocą Gemalto, ogromne listy sfałszowanych kluczy RSA w przeciekach NSA, backdoory włożone do systemów Cisco i Juniper i tak dalej.

Społeczność bezpieczeństwa od dawna wzywa do „pełnego stosu” otwartego kodu otaczającego urządzenia, które przechowują nasze najbardziej prywatne informacje. Największą przeszkodą w tej chwili jest finansowanie i organizowanie wsparcia, aby to zrobić.

Wydaje się, że niektóre firmy wykonują świetną robotę po stronie własności, ale wielokrotnie dowiadywaliśmy się, że nie możemy ufać czarnej skrzynce kodu. Zobacz przepełnienie sterty w tym miesiącu w iOS: https://googleprojectzero.blogspot.com/2017/04/exception-oriented-exploitation-on-ios.html

Android ma wiele problemów związanych z ekosystemem związanych z opóźnieniami w aktualizacji, tworząc miliony wrażliwych urządzeń. Lub firmy zaniedbujące zaniedbanie aktualizacji swoich telefonów po zakończeniu sprzedaży. Są jeszcze głębsze problemy, takie jak wrażliwe oprogramowanie radiowe Broadcom, które nigdy nie zostanie naprawione, jak ostatnio zademonstrował Project Zero.

Telefon o otwartym kodzie źródłowym jest dużym pytaniem, ale z pewnością możemy spróbować popchnąć społeczność Open Source we właściwym kierunku, rozwijając niezależnie elementy układanki. Mam szczerą nadzieję, że uda nam się tam dotrzeć, ponieważ obecna sytuacja to bałagan. Jestem zszokowany, że nie ma już Mirai opartej na smartfonach wybijającej wieże komórkowe na całym świecie przez zalew danych.

Apple ma wiele pozytywnych wiadomości ze swoimi zastrzeżonymi systemami dotyczącymi bezpieczeństwa i prywatności. Jak myślisz, co odegrają projekty typu open source we wprowadzaniu użytecznej technologii do mas, przy jednoczesnym poszanowaniu praw użytkownika?

Apple włożył ogromne zasoby w budowę ekosystemu telefonicznego, który koncentruje się na bezpieczeństwie. Problem polega na tym, że Apple nie korzysta z tej technologii, więc mamy do czynienia z tym samym problemem, który dotyczy oprogramowania komercyjnego, takiego jak Windows.

Mamy czarną skrzynkę z milionami wierszy kodu o nieznanej jakości, wszystkie oddziałujące na siebie w znany sposób. Apple polega na niezdolności twórców szkodliwego oprogramowania i badaczy bezpieczeństwa do inżynierii wstecznej kodu i znalezienia wad. Częścią tej motywacji jest zablokowanie oprogramowania na telefonach, aby iOS można było zainstalować tylko na oryginalnym sprzęcie Apple. Kolejną motywacją jest zablokowanie telefonów w oprogramowaniu, więc nie możesz kupić iPhone’a i zainstalować na nim alternatywnego systemu operacyjnego, zachowując przy tym możliwość wypłacania pieniędzy przez sklep z aplikacjami z uwięzioną publicznością.

Mówiąc wprost, wykonują oni obiektywnie lepszą pracę niż Google, jeśli chodzi o ogólne bezpieczeństwo. Problem polega na tym, że nie można ufać tej czarnej skrzynce. Ma błędy, tak jak każde oprogramowanie – tysiące błędów. Ponieważ to oprogramowanie jest zastrzeżone, a źródło nie jest dostępne, te błędy czekają na wykrycie przez zespół bezpieczeństwa Apple lub kogokolwiek na świecie, kto je pierwszy znajdzie.

Oprogramowanie Open Source może być przeglądane. Usuwa prośbę „tylko mi zaufaj”, której żadna zainteresowana prywatność osoba nie może obiektywnie zaakceptować.

Mam nadzieję, że Google zmierza w kierunku Apple, ponieważ aktualizacje będą wymuszane na wszystkich urządzeniach, niezależnie od dostawcy, i aby to umożliwić, trzeba będzie zaostrzyć wymagania sprzętowe. Mam również nadzieję, że możemy otworzyć źródło aktualnie zamkniętych części oprogramowania układowego Google i powiązanych z nim sterowników, abyśmy mogli ufać pełnemu stosowi, na którym opiera się telefon w zakresie bezpieczeństwa. To dałoby otwarte rozwiązanie w pozycji wiodącej na rynku dzięki dobrym praktykom bezpieczeństwa i prywatności.

Dużo patrzysz na kod innych ludzi. Jakie typowe błędy obserwujesz? Jakie błędy są najczęstsze?

Właściwie to nie robię przeglądów bezpieczeństwa, które pozostawiono audytorom. Ale najczęstszymi problemami są problemy z zarządzaniem pamięcią i prawidłowe usuwanie danych związanych z bezpieczeństwem, gdy nie są one już używane.

Innym wielkim błędem jest próba napisania własnej kryptografii. Jest to niezwykle skomplikowane i istnieje wiele sposobów na pokonanie kryptografii, która została wynaleziona w ciągu ostatnich kilku dekad. Musisz dokładnie rozważyć je wszystkie i przestrzegać wielu standardów, aby stworzyć silną kryptografię. Korzystanie z już zgodnych bibliotek całkowicie eliminuje to pole bezpieczeństwa.

Czy masz jakieś porady, którymi możesz się podzielić z wieloma programistami czytającymi to?

Wspierać inicjatywę bezpieczeństwa lub prywatności typu open source Wolontariat poświęcony czasowi i wiedzy jako programista jest niezwykle cenny, nawet jeśli wykonujesz tylko jedno zlecenie miesięcznie na godny projekt.

Suma umiejętności i czasu społeczności składa się na aplikacje, które mogą zmienić Internet i świat na lepsze. Jeśli nie masz doświadczenia w zakresie bezpieczeństwa, przekaż niewielką, cykliczną darowiznę na rzecz organizacji, która pomaga budować i ulepszać te narzędzia i biblioteki. Nie mówię tylko o OSTIF, mówię o Free Software Foundation lub o dowolnym z tych przycisków darowizn, które widzisz, gdy pobierasz oprogramowanie typu open source.

Będziesz zaskoczony, jak bardzo kilka dolarów pomaga małym projektom funkcjonować i ulepszać. Niewielki wkład stanowi dla nas wszystkich lepszy świat cyfrowy.

Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map