Jaki jest prawidłowy sposób postępowania przy znajdowaniu projektów wolnego oprogramowania, których pliki wykonywalne rozprzestrzeniają wirusa?

19
Dzisiaj znalazłem projekt GPLed na SourceForge, którego pliki wykonywalne rozprzestrzeniają wirusa. Fakt ten został kilkakrotnie podkreślony w recenzjach projektu, a zainfekowany plik wykonywalny jest nadal dostępny do pobrania. Najwyraźniej starsze pliki wykonywalne nie są zainfekowane, więc sam projekt nie wydaje się być stworzony z myślą o złośliwym celu. Nie ma preferowanego sposobu skontaktowania się z programistami, a fora dotyczące projektu są martwe. Co powinienem zrobić?
AndrejaKo
źródło
2
To pytanie dotyczy tematu, ale w przyszłości, jeśli chcesz zapytać, czy pytanie dotyczy tematu, skorzystaj z meta strony
1
Po co czekać przed skontaktowaniem się bezpośrednio z SourceForge? Sprawdź, czy jest to wirus, a następnie skontaktuj się z nim natychmiast.
Peter Boughton,
1
Wprowadzone zmiany dokonane na to pytanie off topic / zbyt zlokalizowaną . Programmers.SE służy do subiektywnej lub rozszerzonej dyskusji na tematy dotyczące większości programistów, a nie do diagnozowania skanów wirusów.
@Mark Trapp Tak, zastanawiałem się, jak podzielić to na dwie części, jedną dla ogólnej sprawy i jedną dla tej konkretnej sprawy. Druga część można uznać za off-topic.
AndrejaKo

Odpowiedzi:

26

Jeśli nie można skontaktować się z deweloperami, a następnie skontaktować się z SourceForge. Zgłoś problem, dać im szczegółowe informacje mogą wykorzystać w celu sprawdzenia problemu, a oni będą (prawdopodobnie) podjąć ją w dół. Są renomowanych stronie i mogę sobie wyobrazić, że nie chciałby być związane z malware.

Mason Wheeler
źródło
Hej Mason, Co sądzisz o tym, że pomiędzy nimi, gdy pisał to pytanie i dziś, reputacja SourceForge zawiera zarówno gwałtownie i własności zmienił (a to SourceForge jest potencjalnie miał jego reputacja powoli wspiąć się z powrotem)? Jeśli ta odpowiedź odzwierciedla fakt, że kiedy ludzie faktycznie poprosili SourceForge o zrobienie czegoś z tym, nic nie zrobili, a czasami to SourceForge było odpowiedzialne za dostarczanie tych wirusów, albo poprzez reklamy, albo według własnego zamiaru ?
whn
@opa Wow, tak, to odpowiedź, która nie postarzała się dobrze ...
Mason Wheeler
11

Chciałbym rozpocząć, wysyłając wiadomość e-mail do opiekuna projektu i programistów.

Brian R. Bondy
źródło
0

Stan projektów

Stare, popularne, już nie utrzymywane i zapomniane projekty mogą być często używane jako wektor do rozprzestrzeniania wirusów, jeśli ktoś jest w stanie złamać konto i przesłać nową skompilowaną wersję. To samo często robiono z systemami automatycznych aktualizacji - nawet gorzej, ponieważ same dostarczają i często instalują aktualizację w systemach użytkowników bez wiedzy użytkownika końcowego.

Możliwe działania do podjęcia

Opiekunowie i programiści

Możesz spróbować skontaktować się z programistą / opiekunami, ale jeśli jest to stary projekt, jest mało prawdopodobne, że odpowiedzą. Jeśli ich konto zostało przejęte, będziesz dawać im głowy lub krzyczeć przy ścianie.

Platforma / sieć dostaw

Możesz mieć większą szansę na usunięcie złośliwego kodu, kontaktując się z platformą, na której znajduje się oprogramowanie. Sam nie próbowałem skontaktować się bezpośrednio z platformą taką jak Sourceforge lub NPM. Prawdopodobieństwo otrzymania odpowiedzi z powrotem jest często związane z rozmiarem firmy i jeśli została zarabiona - jeśli jest to show dla jednej osoby, powodzenia!

Im więcej informacji musisz zweryfikować swoje żądanie usunięcia, tym bardziej prawdopodobne i że powinno to nastąpić szybko.

Społeczność i Twój głos

Często można spróbować powyższe kroki i dostać się tutaj czuć bezsilny, ale jeśli jesteś w stanie komentarz lub opinię na temat oprogramowania, które może być najlepszą rzeczą, jaką możesz zrobić, aby wyjść. Mimo że wielu użytkowników końcowych nadal pobierze oprogramowanie na ślepo lub wcześniej mu zaufało.


Dodatkowo: Zapobieganie ostatnio i w przyszłości

Przestań czytać tutaj ™ lub kontynuuj ¯\_(ツ)_/¯

Był bardzo używany pakiet NPM, z którym został wykonany oryginalny opiekun - ponieważ wiele projektów typu open source osiąga w swoim cyklu życia. Ktoś wyciągnął rękę z prośbą o utrzymanie go. Z pewnością musi to wyglądać jak dokuczliwy ciężar zdjęty z ramion dewelopera. Niestety nowy opiekun wydał złośliwe oprogramowanie do kradzieży portfeli kryptograficznych .

Jak na ironię, słyszałem o tym ustnie i czytałem problem otwarty w repozytorium github, zanim przeczytałem artykuł o nim lub zobaczyłem, jak pojawia się w npm audit. To pokazuje, że Twój głos na publicznej platformie może naprawdę mieć wpływ .

Nasza grupa spotkań przeprowadziła szybką dyskusję na temat tego, co społeczność mogłaby zrobić, aby temu zapobiec, i której obowiązkiem jest zapobieganie takim wydarzeniom.

Platforma / sieć dostaw

Przekazanie odpowiedzialności npm wymagałoby sytuacji pieniężnej, która byłaby do bani, a może byłaby dostępna tylko dla firm - ale czy wszyscy inni skorzystaliby za darmo?

Source Maintainer

Jako opiekunowie oprogramowania typu open source musimy pamiętać o konsekwencjach naszych działań. Jeśli jesteś opiekunem oprogramowania typu open source, może to stać się obowiązkiem, ponieważ zmniejsza się twoja wewnętrzna wartość projektu. Trudno byłoby odmówić komuś, kto najwyraźniej ma energię, którą kiedyś musiałeś posuwać naprzód. Należy zauważyć, że niektóre platformy zezwalają na proces weryfikacji przed opublikowaniem, jeśli istnieją odpowiednie poziomy uprawnień. W tym przypadku własność projektu została całkowicie przekazana, powinieneś starać się tego nie robić, chyba że całkowicie ufasz osobie / podmiotowi - nawet mimo to wydaje się, że nie jest to czysty sposób na kontynuację ustalonego i zaufanego oprogramowania. Ludzie mogą również robić forki z kodem, ale wtedy może się to popsuć.

Społeczność i konsumenci

Obecna infrastruktura może pomóc w niektórych funkcjach.

Na przykład wydania mogą być weryfikowane, zatwierdzane lub oznaczane przez społeczność, podobnie jak to, w jaki sposób społeczność może oceniać torrenty w górę lub w dół, aby inni mogli szybko podejmować decyzje, zanim podejmą decyzję. Wysoka negatywna ocena może oznaczać pakiet i ostrzegać konsumentów o nim i przyszłych instalacjach.

Jako konsument, który ślepo instaluje oprogramowanie i aktualizuje je, Twoim obowiązkiem jest obserwować, co konsumujesz. Możesz użyć menedżerów pakietów, które mają blokadę wersji, aby temu zaradzić. Niestety wątpię, aby wiele osób poświęciło czas na sprawdzenie setek pakietów, które instalują, kiedy ustanawiają good'ol npm install. Niektóre firmy przechodzą proces dostawcy w przypadku zmiany oprogramowania; Mam nadzieję, że żaden biznes nie zrobi tego w przypadku pakietów NPM (może to poważnie zahamować rozwój), ale była to opcja przywołana.

Pieniądze $$$

Nikt nie chce płacić za bezpłatne oprogramowanie typu open source, ale jeśli ci, którzy pisali kod, zostali nagrodzeni za swój wkład, mogą być bardziej zmotywowani do utrzymania swojego oprogramowania i wizerunku społeczności. Pieniądze mogą pochodzić bezpośrednio od konsumentów lub spływać na platformę, na której są dostarczane. Choć nie chciałbym tego widzieć, widziałem biblioteki podążające tą samą ścieżką, co platformy CI - bezpłatne dla otwartego oprogramowania, ale kosztują dla prywatnych / biznesowych - można to załatwić dzięki licencjonowaniu, ale programiści nie chcą tracić czasu na stawanie się licencjonowanie zawodów (być może można je uprościć i od razu).

CTS_AE
źródło