W jaki sposób możesz korzystać z Amazon GuardDuty, aby wykrywać podejrzaną aktywność na swoim koncie AWS
Amazon GuardDuty to zautomatyzowana usługa wykrywania zagrożeń, która nieustannie monitoruje podejrzane działania i nieautoryzowane zachowanie w celu ochrony Twoich kont AWS, obciążeń i danych przechowywanych w Amazon S3.
W tym artykule dowiesz się, w jaki sposób używać GuardDuty z jego nowo ulepszonym, wysoce dostosowanym modelem uczenia maszynowego, aby lepiej chronić swoje środowisko AWS przed potencjalnymi zagrożeniami. Model ten działa na dużą skalę i obejmuje szerokie spektrum przypadków użycia przez klientów, obciążeń i modeli operacyjnych. Nowe odkrycia dostępne w GuardDuty umożliwiają wykorzystanie wykrywania anomalii do generowania wyników istotnych dla bezpieczeństwa, które wyróżniają się na tle niecodziennych, lecz korzystnych, bez wielu fałszywych alarmów czy szumów.
Ogólny zarys nowego modelu uczenia maszynowego GuardDuty
Nowy model uczenia maszynowego (machine learning) GuardDuty działa na ciągłym strumieniu wywołań API, które pojawiają się na kontach AWS w oparciu o aktywność użytkownika, śledzoną w AWS CloudTrial. Model oparty jest na Variational Autoencoders, które niedawno okazały się jednym z najbardziej sukcesywnych podejść do modelowania złożonych rozkładów danych. Dzięki temu GuardDuty może dowiedzieć się o rozkładzie prawdopodobieństwa wywołań API, przywołanych przez użytkowników na Twoim koncie AWS. Nawet jeśli użytkownik na Twoim koncie po raz pierwszy działa w określony sposób, model przewidzi to, czy jest to część ich normalnych, oczekiwanych operacji. Jest to dodatkowa, probabilistyczna natura, która pomaga w dokładnym wykrywaniu podejrzanego działania na koncie.
Od teraz GuardDuty używa nowego modelu uczenia maszynowego w celu identyfikacji niecodziennej aktywności na Twoich kontach, analizy znaczenia bezpieczeństwa aktywności, biorąc pod uwagę kontekst, w którym zostało ono wywołane i stosowania prawdopodobieństwa predykcyjnego, aby wydać ostateczny werdykt, czy działanie to jest wystarczająco anomalne, aby nakazać rozpoczęcie dochodzenia. Nowe funkcje wykrywania zagrożeń oparte na modelach, dodane do GuardDuty, pomogą także zidentyfikować taktykę ataku, związaną z nietypowymi wywołaniami API, włączając w to wykrywanie, wstępny dostęp, trwałość, eskalację uprawnień, uchylanie się od obrony, dostęp do poświadczeń, wpływ i eksfiltrację danych.
Nowe odkrycia GuardDuty wykazały średni spadek alertów o anomalnej aktywności o ponad 50% przy jednoczesnym rozszerzeniu zasięgu monitorowania o ponad 300%. Nieprawidłowe zachowanie użytkownika, które te wyszukiwania flagują, jest bardziej prawdopodobne w ukazaniu rzeczywistej i złośliwej aktywności w porównaniu z poprzednimi anomaliami wykrywanymi w GuardDuty.
Podejrzane zachowanie, w którego wykryciu może teraz pomóc model uczenia maszynowego, obejmuje:
- Odkrycie niecodziennych wywołań interfejsu API Amazon Simple Storage Service (Amazon S3) wraz z różnymi poziomami modyfikacji ustawień dostępu;
- Nieautoryzowane tworzenie nowych użytkowników Amazon Identity and Access Management (IAM) oraz ról lub kluczy dostępu w celu utrwalenia dostępu;
- Przechwytywanie zasobów instancji Amazon Elastic Compute Cloud (Amazon EC2) do wykorzystywania w kopaniu kryptowalut (mining);
- Generowanie migawek Amazon Relational Database Service (Amazon RDS) jako części prób ekstrakcji danych.
Jeśli jesteś stałym klientem GuardDuty, nowe funkcje wykrywania zagrożeń wykorzystujące machine learning są dla Ciebie dostępne w ramach usługi. Tak jak w przypadku wszystkich wykryć GuardDuty, twórcy pracują nad ich ciągłym ulepszaniem i rozszerzaniem, a nowe funkcje wykrywania są domyślnie włączone dla wszystkich kont AWS obsługujących GuardDuty bez dodatkowych kosztów. Oznacza to, że w czasie, w którym to czytasz, model śledzi aktywność API użytkowników na Twoich kontach w dziesiątkach usług AWS, w tym Amazon EC2, Amazon Identity and Access Management (IAM), Amazon Simple Storage Service (S3), Amazon DynamoDB, Amazon Elasticsearch Service, Amazon Relational Database Service (RDS), AWS Key Management Service (KMS), Amazon Elastic Container Registry (Amazon ECR) i AWS Secrets Manager.
Wzbogacone metadane o alertach, aby pomóc Ci w szybkim segregowaniu nowych wykrytych zagrożeń
Nowe funkcje wykrywania behawioralnego uczenia maszynowego w GuardDuty oferują Ci bogate dane kontekstowe jako część ustaleń GuardDuty. Nowe wyniki GuardDuty pozwalają na szybkie i natychmiastowe podejmowanie decyzji o tym, czy wyzwolić przepływ pracy w odpowiedzi na incydenty. Możesz zobaczyć ten wzbogacony kompleks w konsoli GuardDuty, a pełne szczegóły zostały zawarte w wyszukiwaniu JSON usuniętym przez Amazon EventBridge i opublikowanym w AWS Security Hub. W nowych wynikach od teraz możesz zobaczyć szczegółową listę wszystkich nietypowych interfejsów API, które zostały wywołane przez tego samego użytkownika w przeciągu kilku minut. Na przykład, zamiast informowania Cię, że użytkownik IAM Admin-1 w sposób nieprawidłowy wywołał interfejs API S3 ListBuckets, GuardDuty poinformuje Cię, że w pobliżu tej operacji użytkownik także anomalnie wywołał interfejsy API GetBucketACL, GetBucketPublicAccessBlock i PutBucketPublicAccessBlock. Wszystkie interfejsy API znajdujące się na liście zostaną pogrupowane według powiązanej z nimi usługi AWS, aby jeszcze bardziej ułatwić szybkie zrozumienie, do których usług uzyskano dostęp w ramach anomalnej aktywności. Wynik dostarczy także również szczegółowych informacji na temat tego, które z anomalnie wywołanych interfejsów API zostały wywołane pomyślnie, a które się nie powiodły, w tym otrzymana odpowiedź o błędzie. Ten kontekst może być ważny w trakcie selekcji wyników. Na przykład pomyślne wywołania interfejsu API wskazują, że użytkownik był w stanie wykonać operacje i może reprezentować incydent o wyższej wadze. Z drugiej strony, jeśli dostęp użytkownika został odrzucony, mogłoby to wskazywać na złamanie poświadczeń, a osoba atakująca próbuje zidentyfikować dostępne uprawnienia dostępu.
Każde odkrycie wskaże w sposób wyraźny, które atrybuty działania były nietypowe dla konkretnego użytkownika, tak jak dla wszystkich innych użytkowników, którzy działają na tym samym koncie AWS, aby pomóc Ci zidentyfikować, dlaczego określone zachowanie zostało oflagowane jako wysoce podejrzane. Szczegóły wyszukiwania obejmują także informacje o oczekiwanym zachowaniu użytkownika i wszystkich innych użytkowników, którzy działają na tym samym koncie AWS. Oczekiwane zachowanie zostanie pogrupowane w oparciu o częstotliwość w okresie profilowania. Na przykład często (codziennie lub co tydzień), nieczęsto (kilka razy w miesiącu) lub rzadko (mniej niż raz w miesiącu).
Jak korzystać z nowych wyszukiwań w konsoli GuardDuty
Przeanalizuj przykład. Podczas gdy selekcjonujesz alerty w konsoli GuardDuty, widzisz alert dotyczący nietypowych działań związanych z wykrywaniem, pokazany na rysunku nr 1:
Rysunek nr 1: Wykrywanie: widok sekcji IAMUser/ AnomalousBehavior finding Anomalous APIs
Pod sekcją Anomalous APIs możesz zauważyć, że użytkownik pomyślnie wywołał trzy API powiązane z DynamoDB i RDS, które są powiązane z taktykami wykrywania: ListTables, DescribeTables i DescribeDBSnapshots.
Przechodząc w dół do okienka szczegółów wyników, zobaczysz sekcje Nietypowe zachowanie, tak jak przedstawiono na rysunku nr 2.
Rysunek nr 2: Discovery:IAMUser/AnomalousBehavior wyszukujący podejrzane zachowanie
Analizując tę sekcję, dowiesz się, że aktywność została przeprowadzona ze zdalnego adresu IP powiązanego z siecią, która jest nietypowa dla jego użytkownika, tak jak dla wszystkich innych użytkowników, którzy działają na tym samym koncie AWS. Możesz także zauważyć, że nietypowym jest wywołanie przez tego użytkownika interfejsów API, które zostały wykorzystane do wyświetlania i opisywania tabel DynamoDB i do opisywania migawek bazy danych RDS. Poniżej, w sekcji Nietypowe Zachowanie, znajdują się trzy dodatkowe sekcje, które zawierają dodatkowe ważne szczegóły dotyczące czynności, które przedstawiono na rysunku 3.
Rysunek 3: Discovery:IAMUser/AnomalousBehavior znajdowanie dodatkowych sekcji
Sekcja Resource affected pomaga Ci odpowiedzieć na ważne pytania na temat użytkownika AWS IAM powiązanego z działaniem, w tym nazwę użytkownika i typ użytkownika. Sekcja Action umożliwia Ci głębsze zanurkowanie w jednej z akcji API, która była częścią aktywności, w tym na kliencie użytkownika, który był używany jako część działania. W końcu, pod sekcją Actor, możesz zauważyć informację na temat zdalnego adresu IP, w tym geolokalizacji i powiązanej sieci.
W tym momencie aktywność ta wygląda bardzo podejrzanie, ponieważ uczestnik działał z sieci, z której nie korzystał żaden inny użytkownik na Twoim koncie AWS, a wywołane interfejsy API nie są częścią profilowanych operacji. Jednak przed wydaniem ostatecznego werdyktu można zapoznać się także z innymi rzeczami. Nurkując o jedną warstwę głębiej, możesz sprawdzić, jakie zachowanie jest oczekiwane dla użytkownika, a także dla reszty użytkowników na koncie AWS.
Rysunek nr 4: Discovery:IAMUser/AnomalousBehavior okno dialogowe zwykłych interfejsów API
Okno dialogowe Usual API pokazuje Ci listę top 20 API, które są najczęściej wywoływane zarówno przez użytkownika (na podstawie tożsamości użytkownika po lewej stronie), jak i wszystkich pozostałych użytkowników, którzy działają na Twoim koncie AWS (pod Wszyscy użytkownicy konta po prawej stronie). Możesz szybko przejrzeć listę i zobaczyć, że wywołanie API skojarzonych z DynamoDB i RDS nie jest częścią typowych operacji w Twoim koncie AWS. Zamiast tego ten konkretny użytkownik często wywołuje interfejsy API, powiązane z Amazon GuardDuty, podczas gdy reszta użytkowników na Twoim koncie często wywołuje interfejsy API powiązane z zasobnikami S3 i instancjami EC2.
Aby zakończyć proces segregacji, należy sprawdzić zwykłe zachowanie zarówno konta AWS i użytkownika, który wywołał nietypowe interfejsy API. W tym celu musisz powrócić do sekcji Nietypowe zachowanie (Konto), tak jak przedstawiono na rysunku nr 2, a następnie wybrać przycisk Zwyczajne zachowanie, aby otworzyć okno dialogowe pokazane na rysunku nr 5.
Rysunek nr 5: Discovery:IAMUser/AnomalousBehavior zwyczajne zachowanie konta
Następnie przejdź do sekcji Nietypowe zachowanie (tożsamość użytkownika), jak przedstawiono na rysunku nr 2, i wybierz przycisk Zwykłe zachowanie w celu otwarcia okna dialogowego, tak jak na rysunku nr 6.
Rysunek nr 6: Discovery:IAMUser/AnomalousBehavior zwykłe zachowanie Tożsamości Konta
Okno dialogowe Zwykłe zachowanie (Konto) na rysunku nr 5 przedstawia oczekiwane zachowanie wszystkich użytkowników na Twoim koncie. Okno dialogowe Zwykłe zachowanie (Tożsamość użytkownika) pokazuje oczekiwane zachowanie dla użytkownika, który wywołał anomalne APIs. W każdym oknie dialogowym znajduje się wiele różnych zakładek, które zawierają informacje na temat różnych atrybutów oczekiwanego zachowania. Skupiając się na powszechnie używanych sieciach, możesz zauważyć, że użytkownicy na Twoim koncie AWS, w tym konkretny użytkownik, który wywołał nietypowe interfejsy API, zazwyczaj działają z sieci Amazon lub z sieci popularnych dostawców usług z siedzibą w USA. Zapewnia to dalsze dowody na to, że anormalne zachowanie wykryte przez GuardDuty jest wysoce podejrzane.
Rozpocznij śledztwo z Amazon Detective
Po zidentyfikowaniu tego, że wykryta aktywność jest ewidentnie podejrzana, możesz wybrać łącze Investigate with Detective, znajdujące się na górze okienka szczegółów wyszukiwania przedstawionego na rysunku nr 7 i tym samym rozpocząć dochodzenie wraz z Amazon Detective.
Rysunek nr 7: Discovery:IAMUser/AnomalousBehavior rozpoczynanie dochodzenia Amazon Detective
Amazon Detective uzupełnia Amazon GuardDuty poprzez gromadzenie dzienników i danych o zdarzeniach ze źródeł takich jak AWS CloudTrial i Amazon Virtual Private Cloud (VPC) Flow Logs. Detective zorganizował dane w oparty na analityce model wykresu, który podsumowuje zasoby, zachowania użytkowników i powiązane interakcje, obserwowane na wszystkich włączonych kontach do co najmniej 12 miesięcy. Detective wykorzystuje te dane do tworzenia dostosowanych wizualizacji, które podsumowują aktywność sieci i użytkowników na wszystkich włączonych kontach.
Detective może pomóc Ci w szybki sposób odpowiedzieć na pytania, jak te znajdujące się poniżej:
- Czy ten użytkownik wykonał jakiekolwiek założenia, dotyczące łączenia ról, aby wykonać inne czynności w innej roli po przyjęciu roli administratora?
- Jakie inne role objął użytkownik na moich kontach w czasie tego wyszukiwania i jakie interfejsy API wywołał?
- Kiedy po raz pierwszy zaobserwowano aktywność ze zdalnego adresu IP na moich kontach?
- Jacy użytkownicy i jakie role uzyskali dostęp do moich zasobów AWS z tego adresu IP i jakie wywołania API uruchomili? Które z tych wywołań zakończyły się niepowodzeniem, a które sukcesem?
- Czy ten adres IP wysłał lub otrzymał jakiekolwiek dane z którejkolwiek z moich instancji EC2? Jeśli tak, ile, na jak długo i na jakich portach?
Dostarczając wizualne analizy i podsumowania zebrane ze zdarzeń zarządzania i ruchu sieciowego, Detective pomaga Ci w zidentyfikowaniu głównej przyczyny problemów z bezpieczeństwem. Możliwość szybkiego zobaczenia wzorców aktywności i jednocześnie możliwości przeanalizowania i zrozumienia szczegółów pomaga Ci bardzo szybko zrozumieć, od jak dawna mają miejsce problemy i co należy naprawić.
Podsumowanie nowych i przestarzałych wyników
Poniżej znajduje się podsumowanie wszystkich nowo dodanych typów wyszukiwania.
Nowe typy wyszukiwania GuardDuty
1. Discovery:IAMUser/AnomalousBehavior
Dotkliwość: Niska
Opis: Te wyniki informują Cię, że na koncie zaobserwowano nietypowe żądanie API. Obserwowany interfejs API jest powiązany z etapem wykrywania ataku, w którym autoryzowany użytkownik gromadzi informacje w celu określenia, czy Twoje stanowisko AWS jest podatne na szerszy atak. APIs w tej kategorii to zwykle operacje pobierania, opisywania lub wyświetlania, takie jak DescribeInstances, GetRolePolicy lub ListAccessKeys.
2. InitialAccess:IAMUser/AnomalousBehavior
Dotkliwość: Średnia
Opis: Ten wynik informuje, że na Twoim koncie został zaobserwowane nieprawidłowe żądanie API. Obserwowane API jest zwykle kojarzone z początkowym etapem dostępu podczas ataku, w którym nieautoryzowany użytkownik próbuje uzyskać dostęp do Twojego środowiska. APIs w tej kategorii są operacjami pobierania tokenu lub sesji, takimi jak GetFederationToken, StartSession lub GetAuthorizationToken.
3. Persistence:IAMUser/AnomalousBehavior
Dotkliwość: Średnia
Ten wynik informuje o tym, że na Twoim koncie zaobserwowano nietypowe żądanie API. Obserwowane API jest często kojarzone z taktykami trwałości, w których nieautoryzowany użytkownik uzyskał dostęp do Twojego środowiska i próbuje go utrzymać. APIs w tej kategorii to zazwyczaj operacje tworzenia, importowania lub modyfikowania, jak CreateAccessKey, ImportKeyPair lub ModifyInstanceAttribute.
4. PrivilegeEscalation:IAMUser/AnomalousBehavior
Dotkliwość: Średnia
Ten wynik informuje o tym, że na Twoim koncie zaobserwowano nietypowe żądanie API. Obserwowane API jest często kojarzone z taktykami trwałości, w których nieautoryzowany użytkownik uzyskał dostęp do Twojego środowiska i próbuje go utrzymać. APIs w tej kategorii to zazwyczaj operacje tworzenia, importowania lub modyfikowania, jak CreateAccessKey, ImportKeyPair lub ModifyInstanceAttribute.
5.PrivilegeEscalation:IAMUser/AnomalousBehavior
Dotkliwość: Średnia
Ten wynik informuje o tym, że na Twoim koncie zaobserwowano nietypowe żądanie API. Wzorzec API jest często powiązany z taktykami eskalacji uprawnień, w których nieautoryzowany użytkownik próbuje uzyskać uprawnienia wyższego poziomu do środowiska. APIs w tej kategorii zazwyczaj obejmują operacje, które zmieniają zasady uprawnień IAM, role i użytkowników, na przykład: AssociateIamInstanceProfile, AddUserToGroup, PutUserPolicy.
6. DefenseEvasion:IAMUser/AnomalousBehavior
Dotkliwość: Średnia
Ten wynik informuje o tym, że na Twoim koncie zaobserwowano nietypowe żądanie API. Obserwowane API jest związane z taktykami unikania obrony, w których nieautoryzowany użytkownik próbuje zatrzeć ślady i uniknąć wykrycia. API w tej kategorii to zwykle operacje usuwania, wyłączania lub zatrzymywania, na przykład: DeleteFlowLogs, DisableAlarmActions, StopLogging.
7. CredentialAccess:IAMUser/AnomalousBehavior
Dotkliwość: Średnia
Ten wynik informuje o tym, że na Twoim koncie zaobserwowano nietypowe żądanie API. Obserwowane API związane jest z etapem ataku poświadczającego, w którym nieautoryzowany użytkownik próbuje zebrać hasła, nazwy użytkownika i klucze dostępu do Twojego środowiska. API w tej kategorii obejmuje include GetPasswordData, GetSecretValue i GenerateDbAuthToken.
8. Impact:IAMUser/AnomalousBehavior
Dotkliwość: Wysoka
Ten wynik informuje Cię o tym, że na Twoim koncie zaobserwowano nietypowe żądanie API. Obserwowane API jest zwykle kojarzone z taktykami wpływu, w których nieautoryzowany użytkownik usiłuje zakłócić operacje, manipulować, przerywać lub niszczyć dane na Twoim koncie. APIs w tej kategorii to zazwyczaj operacje usuwania, aktualizowania lub umieszczania, na przykład: DeleteSecurityGroup, UpdateUser, PutBucketPolicy.
9. Exfiltration:IAMUser/AnomalousBehavior
Dotkliwość: Wysoka
Ten wynik informuje Cię o tym, że na Twoim koncie zaobserwowano nietypowe żądanie API. Obserwowane API jest zwykle kojarzone z taktykami eksfiltracji, w których nieautoryzowany użytkownik próbuje wyprowadzić dane z Twojego środowiska AWS. APIs w tej kategorii są zazwyczaj powiązane z S3, usługami baz danych i EC2, na przykład: PutBucketReplication, CreateSnapshot, RestoreDBInstanceFromDBSnapshot.
Te nowo dodane typy wyszukiwania zastępują niektóre z poprzednich typów wyszukiwania, które obecnie są przestarzałe.
Przestarzałe typy wyszukiwań GuardDuty
Poniższe typy wyszukiwania GuardDuty są przestarzałe. Wycofanie ich weszło w życie 12 marca 2021 roku. Jeśli którykolwiek z wcześniej dostępnych wyników został wygenerowany w Twoim środowisku AWS przed 12 marca 2021 roku, będzie on usunięty w ciągu 90 dni od czasu, kiedy zostały wygenerowane, zgodnie z okresem przechowywania wyników w GuardDuty. Żadna przyszła wersja tych wyszukiwań nie będzie wygenerowana dla Twojego środowiska AWS.
- Persistence:IAMUser/NetworkPermissions
- Persistence:IAMUser/ResourcePermissions
- Persistence:IAMUser/UserPermissions
- Recon:IAMUser/NetworkPermissions
- Recon:IAMUser/ResourcePermissions
- Recon:IAMUser/UserPermissions
- ResourceConsumption:IAMUser/ComputeResources
- Stealth:IAMUser/LoggingConfigurationModified
- UnauthorizedAccess:IAMUser/ConsoleLogin
- Discovery:S3/BucketEnumeration.Unusual
- Impact:S3/PermissionsModification.Unusual
- Impact:S3/ObjectDelete.Unusual
- PrivilegeEscalation:IAMUser/AdministrativePermissions
W celu uzyskania bardziej szczegółowych informacji na temat nowych wyszukiwań, tak jak tych, które zostały wycofane, zapoznaj się z Finding Typer w Podręczniku Użytkownika Amazon GuardDuty.
Wnioski
Jeśli korzystasz już z usługi Amazon GuardDuty, nie są wymagane żadne dalsze działania, aby rozpocząć korzystanie z nowej funkcji w celu przeglądania wyników w konsoli. Jeśli posiadasz skonfigurowane GuardDuty w celu „przepychania” wyników przez AWS EventBridge do dalszego wykorzystania przez narzędzia przepływu pracy, powinieneś sprawdzić, czy Twoje reguły EventBridge są skonfigurowane w celu dostarczania nowo dodanych wyników.
W AWS twórcy są zobowiązani do ciągłego ulepszania GuardDuty, aby jeszcze bardziej ułatwić Ci bezpieczne działania w AWS. Twórcy AWS zachęcają do feedbacku, gdyż wszystkie uwagi są dla nich istotne. Jeśli posiadasz sugestie na temat treści zawartych w tym artykule, pozostaw komentarz w sekcji Komentarze poniżej. Jeśli masz pytania na temat artykułu, rozpocznij wątek na forum Amazon GuardDuty lub skontaktuj się ze wsparciem AWS.
źródło: AWS