Luka Trojan Source naraża aplikacje na ukryte zatrucie
Adam D
18 lipca 2024
Naukowcy z Uniwersytetu Cambridge, Nicholas Boucher i Ross Anderson, niedawno zidentyfikowali poważną lukę w zabezpieczeniach, która ma wpływ na sposób kompilacji kodu źródłowego. Luka, nazwana TrojanSource, może umożliwić atakującym wstrzykiwanie złośliwego kodu do aplikacji w sposób trudny do wykrycia podczas typowych przeglądów bezpieczeństwa.
Algorytm Unicode Bidi dotknięty nową luką Trojan Source
Nowa luka opiera się na manipulowaniu dwukierunkowym algorytmem Unicode (Bidi) w celu sprawienia, aby złośliwy kod wydawał się nieszkodliwy w kodzie źródłowym, ale zachowywał się inaczej po skompilowaniu.
Algorytm Bidi został zaprojektowany tak, aby uwzględniać teksty łączące języki pisane od lewej do prawej (LTR), takie jak angielski, z językami pisanymi od prawej do lewej (RTL), takimi jak arabski. Wykorzystując lukę Trojan Source, osoby atakujące mogą zmieniać kolejność fragmentów tekstu, aby oszukać zarówno recenzentów, jak i zautomatyzowane narzędzia bezpieczeństwa.
Wada może maskować złośliwy kod jako nieszkodliwe fragmenty tekstu Może to prowadzić do ataków, w których istotne fragmenty kodu, takie jak kontrole bezpieczeństwa i procedury walidacji, są pomijane lub błędnie interpretowane jako nieszkodliwe komentarze. Na przykład to, co wydaje się nieszkodliwym kodem w przeglądzie bezpieczeństwa, może wywołać złośliwe operacje po skompilowaniu.
Chociaż problem ten stwarza bezpośrednie ryzyko dla przedsiębiorstw, implikacje dla codziennych użytkowników aplikacji oprogramowania są równie niepokojące. Dla użytkowników końcowych niebezpieczeństwo leży we wszechobecnej naturze aplikacji oprogramowania, które integrują kod z kilku źródeł, w tym bibliotek open source.
Zatruty kod może rozprzestrzeniać się niezauważenie
Jeśli sprawcy znajdą sposób na wstrzyknięcie kodu do powszechnie używanych bibliotek lub aplikacji za pomocą ataków typu upstream, zatruty kod może niezauważenie rozprzestrzenić się na szeroką gamę oprogramowania konsumenckiego, co może potencjalnie prowadzić do naruszenia danych osobowych, kradzieży pieniędzy i nieautoryzowanego dostępu do prywatnych systemów.
Wdrożono pewne środki łagodzące
Badacze zauważają, że platformy BitBucket i GitHubwdrożyły już pewne mechanizmy łagodzące lukę, w tym sprawdzanie składni i wyróżnianie użycia znaków Bidi. Jednak luka pozostaje szczególnie dotkliwa w powszechnie używanych językach skryptowych, takich jak SQL i Python. Językom tym często brakuje środków do wykrywania takich subtelności w manipulacji kodem, co czyni je bardziej podatnymi na ataki.
„Chociaż wdrożono pewne środki zaradcze, to nie są one wystarczająco kompleksowe, aby całkowicie wyeliminować ryzyko. Deweloperzy muszą zachować czujność, zwracając szczególną uwagę na fragmenty kodu importowane ze współdzielonych repozytoriów. Powinni pamiętać także o tym, aby zadbać o to, aby wszystkie zasoby były zabezpieczone za pomocą skutecznego systemu antywirusowego” – mówi Arkadiusz Kraszewski z firmy Marken Systemy Antywirusowe, polskiego dystrybutora oprogramowania Bitdefender.
Asystent ds. Serwisu i E-commerce, od ponad dwóch lat pracuję w branży IT. Do moich zadań należy wspomaganie działań na sklepie internetowym, wyszukiwanie nowinek technologicznych, wsparcie techniczne wewnątrz firmy lecz również pomoc klientom. Interesuje się grą na gitarze oraz branżą gier i działaniami policji w terenie.
Lista ostrzeżeń dotyczących bezpieczeństwa antywirusów i bezpieczeństwa oparta o wymagania Rozporządzenia (UE) 2023/988 w sprawie ogólnego bezpieczeństwa produktów (GPSR).
Oprogramowanie antywirusowe i zabezpieczające to szeroka kategoria produktów, dlatego poniższe ostrzeżenia mają charakter ogólny i mogą nie odnosić się do wszystkich konkretnych produktów.
Instrukcja bezpieczeństwa dla programów antywirusowych i zabezpieczających
1. Wybór odpowiedniego oprogramowania
Wybieraj programy z uznanych źródeł, takich jak oficjalne strony producentów.
Zwracaj uwagę na oceny i recenzje użytkowników oraz niezależnych organizacji zajmujących się testowaniem oprogramowania.
2. Aktualizacje
Regularnie aktualizuj programy antywirusowe i zabezpieczające, aby mieć pewność, że są one chronione przed najnowszymi zagrożeniami.
Włącz automatyczne aktualizacje, jeśli to możliwe.
3. Skanowanie systemu
Przeprowadzaj regularne skanowania całego systemu w celu wykrycia potencjalnych zagrożeń.
Ustaw harmonogram skanowania, aby nie zapomnieć o tej czynności.
4. Ochrona w czasie rzeczywistym
Upewnij się, że funkcja ochrony w czasie rzeczywistym jest włączona, aby zminimalizować ryzyko infekcji.
Monitoruj aktywność programu antywirusowego i reaguj na wszelkie zgłoszone zagrożenia.
5. Bezpieczeństwo Internetu
Korzystaj z dodatkowych funkcji, takich jak zapory ogniowe i filtry ochrony prywatności.
Bądź ostrożny przy pobieraniu plików oraz wchodzeniu na nieznane strony internetowe.
6. Zarządzanie dostępem
Ogranicz dostęp do programów zabezpieczających tylko do zaufanych użytkowników.
Używaj silnych haseł do kont związanych z oprogramowaniem zabezpieczającym.
7. Edukacja użytkowników
Przeszkol wszystkich użytkowników korzystających z systemu w zakresie bezpieczeństwa.
Wprowadź zasady dotyczące rozpoznawania potencjalnych zagrożeń, takich jak phishing.
8. Tworzenie kopii zapasowych
Regularnie twórz kopie zapasowe ważnych danych, aby w razie infekcji móc przywrócić system do stanu przed atakiem.
Upewnij się, że kopie zapasowe są przechowywane w bezpiecznym miejscu, oddzielonym od głównego systemu.
9. Reakcja na zagrożenia
W przypadku wykrycia zagrożenia, niezwłocznie postępuj zgodnie z instrukcjami programu antywirusowego.
Rozważ konsultację z profesjonalnym serwisem w sytuacji poważnych infekcji.
10. Zgłaszanie problemów
Zgłaszaj wszelkie nieprawidłowości lub problemy z działaniem oprogramowania do odpowiednich kanałów wsparcia technicznego.
Przestrzeganie powyższych wytycznych pomoże w skutecznej ochronie systemu przed zagrożeniami oraz w zapewnieniu bezpieczeństwa danych.