Jak chronić Ruby on Rails przed hakerami: infografika na 7 sposobów


Ruby-on-Rails - jest modułowy, wyrazisty i szeroko wspierany przez legiony lojalnych programistów. Od Twittera po GroupOn, wiele z najbardziej odwiedzanych stron internetowych na świecie polegało na Rails, aby dostarczać skalowalne i wysoce dostępne usługi internetowe. Ale jak odkrył GitHub kilka lat temu, język/framework nie jest pozbawiony wad bezpieczeństwa - do tej pory 65, według bazy danych CVE. Oto 15 najważniejszych i jak je zaradzić i/lub zapobiec ich wykorzystaniu.

1. Arbitralne ujawnienie istnienia pliku w kołach łańcuchowych

CVE 2015-7819

Dostępna jako wtyczka Ruby Gem lub Rails, Sprockets to biblioteka do zarządzania zależnościami i łączenia do zarządzania plikami JavaScript w aplikacjach internetowych. W przypadku wykorzystania luki w zabezpieczeniach ta może ona umożliwić zdalnym osobom atakującym ustalenie, czy plik istnieje w systemie poza katalogiem głównym sieci Web. Ta podatność dotyczy wszystkich wersji Railsów.

Aby usunąć tę podatność, musisz ustawić config.serve_static_assets=false w inicjatorze lub zastosować łatkę dostarczoną przez Rails.

2. Możliwy atak typu "odmowa usługi" w aktywnym wsparciu

CVE 2015-3227

Active Support zapewnia rozszerzenia językowe i narzędzia do frameworka. Dwa komponenty — jdom.rb i rexml.rb — są podatne na ataki, gdy włączony jest JDOM lub REXML, co pozwala zdalnym atakującym na przeprowadzenie ataku typu "odmowa usługi" (DoS) za pomocą specjalnie spreparowanego pliku XML. Dotyczy to wersji Rails przed 4.1.11 i 4.2.x przed 4.2.2.

Remediacja polega na zaktualizowaniu lub załataniu Railsów w celu naprawienia dwóch podatnych na ataki komponentów.

3. Obejście białej listy adresów IP w konsoli internetowej

CVE 2015-3224

Środowiska Rails z włączoną konsolą internetową są podatne na spoofing za pomocą specjalnie spreparowanych żądań zdalnych. Luka ta dotyczy wersji 2.1.3, używanej w Rails 3.x i 4.x.

Aby usunąć tę lukę, musisz zaktualizować lub załatać Rails, aby naprawić mechanizm ochrony przed whitelisted_ips konsoli internetowej.

4. Luka CSRF w jquery-ujs i jquery-rails

CVE 2015-1840

jquery-ujs i jquery-rails umożliwiają korzystanie z jQuery w aplikacjach webowych Railsów. Wersje podatne na ataki umożliwiają atakującym ominięcie tokenów CSRF zabezpieczeń CSP do domen osoby atakującej. Dotyczy to wszystkich wersji Railsów, które używają jquery-ujs lub jquery-rails.

Zastosowanie odpowiednich poprawek dla jquery-ujs i jquery-rails skutecznie usunie tę lukę.

5. Luka XSS w ActiveSupport::JSON.encode

CVE 2015-3226

Ta luka jest kolejną luką w zabezpieczeniach Rails ActiveSupport, pozwalającą na przeprowadzanie ataków XSS przez json/encoding.rb. Dotyczy to m.in. Ruby on Rails 3.x i 4.1.x przed 4.1.11 oraz 4.2.x przed 4.2.2.

Zastosowanie odpowiednich poprawek skutecznie usunie tę lukę.

6. Potencjalna luka w zabezpieczeniach typu "odmowa usługi" w szafie

CVE 2015-3225

Rack to interfejs serwera WWW w języku Ruby, który umożliwia filtrowanie żądań i odpowiedzi na aplikację Rails. Specjalnie spreparowane żądania mogą wyzwolić błąd SystemStackError i następujący po nim atak DoS. Ta luka w zabezpieczeniach dotyczy wszystkich wersji.

Aby naprawić tę lukę, należy uaktualnić lub zastosować odpowiednie poprawki.

7. Ujawnienie arbitralnego istnienia pliku w pakiecie Action Pack

CVE 2014-7829

Pakiet Action Pack składa się z dwóch głównych komponentów: Action View i Action Controller. W tym przypadku luka w zabezpieczeniach umożliwiająca przechodzenie przez katalogi w paczce actionpack/lib/action_dispatch/middleware/static.rb umożliwia zdalnym atakującym ustalenie istnienia plików poza katalogiem głównym aplikacji. Wersje, których dotyczy problem, obejmują wersje 3.x przed 3.2.20, 4.0.x przed 4.0.11, 4.1.x przed 4.1.7 i 4.2.x przed 4.2.0.beta3.

Aby zapobiec wykorzystaniu tej luki, musisz zastosować odpowiednie łatki bezpieczeństwa lub zaktualizować swoją wersję Railsów.

Korygowania

Naprawienie powyższych luk w zabezpieczeniach ma kluczowe znaczenie dla wzmocnienia stanu bezpieczeństwa aplikacji internetowej Rails. UpGuard umożliwia zrobienie tego łatwo i automatycznie za pomocą kilku kliknięć myszką. Nasz potężny silnik zasad może weryfikować bezpieczne konfiguracje dla wszystkich środowisk, infrastruktur i stosów aplikacji. W takim przypadku można uruchomić prostą politykę zabezpieczeń, aby sprawdzić, czy nie ma którejkolwiek z powyższych luk w zabezpieczeniach, a także nowych luk w zabezpieczeniach, które nie zostały jeszcze dodane do zasad. Nasz pakiet do wykrywania i monitorowania luk w zabezpieczeniach wspierany przez OVAL zapewnia, że wszystkie aplikacje w Twoim środowisku są wolne od luk w zabezpieczeniach i luk w zabezpieczeniach.

Infografika

Powiązane artykuły