SPIS TREŚCI

• iOS 15

• Programowanie iOS 15

• Cyberbezpieka…




Android Studio


• Wprowadzenie do Android Studio

• Pierwsze kroki z Android Studio

• Podstawy Android Studio

• Narzędzia Android Studio

• Debuggowanie




Abecadło Shellcodera



• Zanim zaczniesz …

• Stack Overflows

• Kod Powłoki

• Wprowadzenie do błędów w ciągach formatujących

• Wprowadzenie do przepełnień sterty

• Inne platformy - Windows, Solaris, OS/X i Cisco

• Kod powłoki systemu Windows

• Przepełnienie Windows

• Pokonywanie filtrów

• Wprowadzenie do Solaris Exploitation

• Zaawansowana eksploatacja Solaris

• Kod powłoki systemu OS X

• Wykorzystanie Cisco IOS

• Mechanizmy ochronne

• Tworzenie środowiska pracy

• Wstrzykiwanie błędów

• Sztuka Fuzzingu

• Audyt kodu źródłowego

• Instrumentalne dochodzenie: podejście ręczne

• Śledzenie pod kątem luk

• Audyt binarny

• Alternatywne strategie ładowności

• Pisanie exploitów, które działają na wolności

• Atakowanie oprogramowania bazodanowegoo

• Przepełnienia jądra Unix

• Wykorzystywanie luk w jądrze systemu Unix

• Hakowanie jądra systemu Windows



Programowanie iOS 15

Część 1, Zapoznanie się z Xcode [KOD], zawiera prezentację Xcode i omawia wszystkie różne panele, których będziesz używać.

Część 2, Proste wartości i typy [KOD], dotyczy sposobu implementacji wartości i typów w języku Swift.

Część 3, Warunki i opcje [KOD] pokazuje, w jaki sposób implementowane są instrukcje if i switch oraz jak implementować zmienne, które mogą, ale nie muszą mieć wartości.

Część 4, Operatory i pętle zakresów, [KOD] pokazuje, jak pracować z zakresami i różne sposoby implementacji pętli w Swift.

Część 5, Typy kolekcji  [KOD], omawia popularne typy kolekcji, którymi są tablice, słowniki i zestawy.

Część 6, Funkcje i domknięcia  [KOD], opisuje, w jaki sposób można grupować instrukcje za pomocą funkcji i zamknięć.

Część 7, Klasy, struktury i wyliczenia,  [KOD] , mówi o tym, jak złożone obiekty zawierające stan i zachowanie są reprezentowane w Swift.

Część 8, Protokoły, rozszerzenia i obsługa błędów,  [KOD] mówi o tworzeniu protokołów, które mogą przyjąć złożone typy danych, rozszerzaniu możliwości istniejących typów oraz o tym, jak radzić sobie z błędami w kodzie.

Część 9, Konfiguracja interfejsu użytkownika, [KOD] dotyczy tworzenia aplikacji Let′s Eat, dodawania zasobów graficznych i konfigurowania początkowego ekranu, który będą widzieć użytkownicy.

Część 10, Budowanie interfejsu użytkownika, [KOD] obejmuje konfigurację głównego ekranu aplikacji Let&prie;s Eat.

Część 11, Wykańczanie interfejsu użytkownika, [KOD] obejmuje konfigurację pozostałych ekranów aplikacji Let′s Eat.

Część 12, Modyfikowanie i konfigurowanie komórek, [KOD] dotyczy dostosowywania komórek widoku tabeli i kolekcji w scenorysie.

Część 13, Pierwsze kroki z widokami MVC i kolekcji, [KOD] dotyczy pracy z widokami kolekcji i tego, jak można ich używać do wyświetlania siatki elementów.

Część 14, Wprowadzanie danych do widoków kolekcji, [KOD] dotyczy włączania danych do widoków kolekcji.

Część 15, Pierwsze kroki z widokami tabel, [KOD] nauczy Cię, jak pracować z widokami tabel i szczegółowo przyjrzy się dynamicznym widokom tabel.

Część 16, Pierwsze kroki z MapKit, [KOD] dotyczy pracy z MapKit i dodawania adnotacji do mapy. Utworzysz także niestandardowe adnotacje do swojej mapy.

Część 17, Pierwsze kroki z plikami JSON, obejmuje naukę korzystania z menedżera danych do odczytywania pliku JSON i korzystania z danych w aplikacji.

Część 18, Wyświetlanie danych w statycznym widoku tabeli, uczy, jak wypełnić statyczny widok tabeli danymi przekazywanymi z jednego kontrolera widoku do drugiego za pomocą przejść.

Część 19, Pierwsze kroki z niestandardowymi elementami sterującymi UI, pokazuje, jak tworzyć własne widoki niestandardowe.

Część 20, Pierwsze kroki z aparatami i bibliotekami zdjęć, omawia pracę z aparatem i biblioteką zdjęć urządzenia.

Część 21, Zrozumienie danych podstawowych, obejmuje podstawy korzystania z danych podstawowych oraz sposób zapisywania recenzji i zdjęć restauracji.

Część 22, Pierwsze kroki z Mac Catalyst, dotyczy modyfikowania aplikacji, aby działała dobrze na większym ekranie iPada i aby działała na Macu.

Część 23, Pierwsze kroki z SwiftUI, dotyczy tworzenia aplikacji przy użyciu nowej technologii SwiftUI firmy Apple.

Część 24, Pierwsze kroki z Swift Concurrency, przedstawia koncepcje programowania równoległego i asynchronicznego oraz pokazuje, jak można je zaimplementować w swojej aplikacji.

Część 25, Pierwsze kroki z SharePlay, pokazuje, jak możesz zaimplementować wspólne doświadczenia dla użytkowników przy użyciu SharePlay i struktury działań grupowych.

Część 26, Testowanie i przesyłanie aplikacji do App Store, dotyczy testowania i przesyłania aplikacji do App Store.




Podręcznik hakera aplikacji internetowych

Część 1  "(nie)zabezpieczenie aplikacji internetowych" : opisuje obecny stan zabezpieczeń aplikacji internetowych w Internecie. Pomimo powszechnych zapewnień, większość aplikacji jest niepewna i może zostać w jakiś sposób skompromitowana przy skromnym poziomie umiejętności. Luki w aplikacjach internetowych wynikają z jednego podstawowego problemu: użytkownicy mogą wprowadzać dowolne dane wejściowe. Omówimy kluczowe czynniki, które przyczyniają się do słabego stanu bezpieczeństwa współczesnych aplikacji. Opisuje również, w jaki sposób defekty w aplikacjach internetowych mogą narazić szerszą infrastrukturę techniczną organizacji na bardzo podatną na ataki.

Część 2 , "Podstawowe mechanizmy obronne" : opisuje kluczowe mechanizmy bezpieczeństwa stosowane przez aplikacje internetowe w celu rozwiązania podstawowego problemu, jakim jest niezaufanie wszystkich danych wprowadzanych przez użytkownika. Te mechanizmy są środkiem, za pomocą którego aplikacja zarządza dostępem użytkownika, obsługuje dane wejściowe użytkownika i reaguje na atakujących. Mechanizmy te obejmują również funkcje udostępniane administratorom do zarządzania i monitorowania samej aplikacji. Podstawowe mechanizmy bezpieczeństwa aplikacji reprezentują również jej główną powierzchnię ataku, więc musisz zrozumieć, jak te mechanizmy mają działać, zanim będziesz mógł je skutecznie zaatakować.

Część 3  "Technologie aplikacji internetowych" : jest krótkim wprowadzeniem do kluczowych technologii, z którymi możesz się spotkać podczas atakowania aplikacji internetowych. Obejmuje wszystkie istotne aspekty protokołu HTTP, technologie powszechnie używane po stronie klienta i serwera oraz różne schematy używane do kodowania danych. Jeśli znasz już główne technologie sieciowe, możesz przejrzeć tą część.

Część 4  "Mapowanie aplikacji" : opisuje pierwsze ćwiczenie, które należy wykonać, gdy atakujesz nową aplikację - zebranie jak największej ilości informacji w celu zmapowania powierzchni ataku i sformułowania planu ataku. Proces ten obejmuje eksplorację i sondowanie aplikacji w celu skatalogowania całej jej zawartości i funkcjonalności, identyfikację wszystkich punktów wejścia dla danych wejściowych użytkownika oraz wykrywanie używanych technologii.

Część 5  "Omijanie kontroli po stronie klienta" : obejmuje pierwszy obszar rzeczywistej luki w zabezpieczeniach, która pojawia się, gdy aplikacja polega na mechanizmach kontroli zaimplementowanych po stronie klienta w celu zapewnienia bezpieczeństwa. Takie podejście zwykle jest wadliwe, ponieważ można oczywiście obejść wszelkie kontrole po stronie klienta. Dwa główne sposoby, w jakie aplikacje stają się podatne na ataki, to przesyłanie danych przez klienta przy założeniu, że nie zostaną one zmodyfikowane, oraz poleganie na sprawdzaniu danych wejściowych użytkownika po stronie klienta. W tym rozdziale opisano szereg interesujących technologii, w tym lekkie kontrolki zaimplementowane w HTML, HTTP i JavaScript oraz bardziej zaawansowane kontrolki wykorzystujące aplety Java, kontrolki ActiveX, obiekty Silverlight i Flash.

Część 6  "Atak na uwierzytelnianie" : analizuje różne funkcje, dzięki którym aplikacje uzyskują pewność tożsamości swoich użytkowników. Obejmuje to główną funkcję logowania, a także funkcje związane z uwierzytelnianiem urządzeń peryferyjnych, takie jak rejestracja użytkownika, zmiana hasła i odzyskiwanie konta. Mechanizmy uwierzytelniania zawierają wiele różnych luk, zarówno w projekcie, jak i implementacji, które atakujący może wykorzystać w celu uzyskania nieautoryzowanego dostępu. Obejmują one od oczywistych wad, takich jak złe hasła i podatność na ataki typu brute-force, po bardziej niejasne problemy w logice uwierzytelniania. Badamy również szczegółowo typy wieloetapowych mechanizmów logowania używanych w wielu aplikacjach o krytycznym znaczeniu dla bezpieczeństwa i opisujemy nowe rodzaje luk w zabezpieczeniach, które często zawierają.

Część 7  "Zarządzanie sesją atakowania" : analizuje mechanizm, za pomocą którego większość aplikacji uzupełnia bezstanowy protokół HTTP o koncepcję sesji stanowej, umożliwiając im jednoznaczną identyfikację każdego użytkownika w kilku różnych żądaniach. Mechanizm ten jest kluczowym celem, gdy atakujesz aplikację internetową, ponieważ jeśli uda ci się ją złamać, możesz skutecznie ominąć logowanie i podszywać się pod innych użytkowników bez znajomości ich danych uwierzytelniających. Przyglądamy się różnym typowym defektom w generowaniu i przesyłaniu tokenów sesji i opisujemy kroki, które można podjąć, aby je wykryć i wykorzystać.

Część 8  "Atakowanie kontroli dostępu" : przedstawia sposoby, w jakie aplikacje faktycznie wymuszają kontrolę dostępu, opierając się w tym celu na mechanizmach uwierzytelniania i zarządzania sesjami. Opisujemy różne sposoby łamania kontroli dostępu oraz sposoby wykrywania i wykorzystywania tych słabości.

Część 9  "Atakowanie magazynów danych" : rozpoczyna się od szczegółowego zbadania podatności na wstrzykiwanie SQL. Obejmuje pełen zakres ataków, od najbardziej oczywistych i trywialnych po zaawansowane techniki eksploatacji obejmujące kanały pozapasmowe, wnioskowanie i opóźnienia czasowe. Dla każdego rodzaju luki i techniki ataku opisujemy istotne różnice między trzema popularnymi typami baz danych: MS-SQL, Oracle i MySQL. Następnie przyjrzymy się szeregowi podobnych ataków na inne magazyny danych, w tym NoSQL, XPath i LDAP.

Część 10  "Atak na komponenty zaplecza" : opisuje kilka innych kategorii luk w zabezpieczeniach, w tym wstrzykiwanie poleceń systemu operacyjnego, wstrzykiwanie do języków skryptów internetowych, ataki z przechodzeniem ścieżek plików, luki w zabezpieczeniach dołączania plików, wstrzykiwanie do XML, SOAP, zakończenie żądań HTTP i usługi poczty e-mail.

Część 11  "Atak na logikę aplikacji" : analizuje istotny i często pomijany obszar powierzchni ataku każdej aplikacji: wewnętrzną logikę, która jest wykorzystywana do implementacji jej funkcjonalności. Defekty w logice aplikacji są niezwykle zróżnicowane i trudniej je scharakteryzować niż typowe luki, takie jak wstrzyknięcie SQL i skrypty między witrynami. Z tego powodu przedstawiamy serię rzeczywistych przykładów, w których wadliwa logika naraziła aplikację na niebezpieczeństwo. Ilustrują one różnorodność błędnych założeń, które przyjmują projektanci i programiści aplikacji. Z tych różnych indywidualnych wad wyprowadzamy serię konkretnych testów, które można przeprowadzić w celu zlokalizowania wielu rodzajów błędów logicznych, które często pozostają niewykryte.

Część 12  "Atakowanie użytkowników : Cross-Site Scripting" : analizuje najbardziej widoczną lukę tego rodzaju - ogromnie powszechną lukę, która ma wpływ na ogromną większość aplikacji internetowych w Internecie. Szczegółowo badamy różne rodzaje luk XSS i opisujemy skuteczną metodologię wykrywania i wykorzystywania nawet najbardziej niejasnych ich przejawów.

Część 13  "Atakowanie użytkowników: inne techniki" : omawia kilka innych rodzajów ataków na innych użytkowników, w tym wywoływanie działań użytkownika poprzez fałszowanie żądań i odzyskiwanie interfejsu użytkownika, przechwytywanie danych między domenami przy użyciu różnych technologii po stronie klienta, różne ataki na te same zasady pochodzenia, wstrzykiwanie nagłówka HTTP, wstrzykiwanie plików cookie i utrwalanie sesji, otwarte przekierowanie, wstrzykiwanie SQL po stronie klienta, lokalne ataki na prywatność i wykorzystywanie błędów w formantach ActiveX. Rozdział kończy się omówieniem szeregu ataków na użytkowników, które nie są zależne od luk w żadnej konkretnej aplikacji internetowej, ale mogą zostać przeprowadzone za pośrednictwem dowolnej złośliwej witryny internetowej lub odpowiednio ustawionego atakującego.

Część 14  "Automatyzacja ataków dostosowanych" : nie wprowadza żadnych nowych kategorii luk w zabezpieczeniach. Zamiast tego opisuje kluczową technikę, którą musisz opanować, aby skutecznie atakować aplikacje internetowe. Ponieważ każda aplikacja internetowa jest inna, większość ataków jest w jakiś sposób dostosowywana, dostosowana do konkretnego zachowania aplikacji i odkrytych sposobów manipulowania nią na swoją korzyść. Często wymagają też wysłania dużej liczby podobnych żądań i monitorowania odpowiedzi aplikacji. Ręczne wykonywanie tych żądań jest niezwykle pracochłonne i podatne na błędy. Aby stać się naprawdę doświadczonym hakerem aplikacji internetowych, musisz zautomatyzować jak najwięcej tej pracy, aby niestandardowe ataki były łatwiejsze, szybsze i skuteczniejsze. Tu szczegółowo opisano sprawdzoną metodologię osiągnięcia tego celu. Badamy również różne typowe bariery w korzystaniu z automatyzacji, w tym obronne mechanizmy obsługi sesji i kontrole CAPTCHA. Ponadto opisujemy narzędzia i techniki, których możesz użyć do pokonania tych barier.

Część 15  "Wykorzystywanie ujawniania informacji" : omawia różne sposoby, w jakie aplikacje ujawniają informacje podczas aktywnego ataku. Kiedy przeprowadzasz wszystkie inne rodzaje ataków opisane tu, powinieneś zawsze monitorować aplikację, aby zidentyfikować dalsze źródła ujawnienia informacji, które możesz wykorzystać. Opisujemy, w jaki sposób można zbadać nietypowe zachowanie i komunikaty o błędach, aby lepiej zrozumieć wewnętrzne działanie aplikacji i dostroić atak. Omówimy również sposoby manipulowania wadliwą obsługą błędów w celu systematycznego pobierania poufnych informacji z aplikacji.

Część 16,  "Atakowanie aplikacji skompilowanych natywnie" : omawia zestaw ważnych luk w zabezpieczeniach, które pojawiają się w aplikacjach napisanych w natywnych językach kodu, takich jak C i C++. Te luki obejmują przepełnienia bufora, luki związane z liczbami całkowitymi oraz wady ciągu formatującego. Ponieważ jest to potencjalnie obszerny temat, skupiamy się na sposobach wykrywania tych luk w aplikacjach internetowych i przyglądamy się kilku rzeczywistym przykładom ich powstawania i wykorzystywania.

Część 17  "Atak na architekturę aplikacji" : omawia ważny, często pomijany obszar bezpieczeństwa aplikacji internetowych. Wiele aplikacji wykorzystuje architekturę warstwową. Niepowodzenie w prawidłowym oddzieleniu różnych warstw często powoduje, że aplikacja jest podatna na ataki, co umożliwia osobie atakującej, która znalazła defekt w jednym komponencie, szybkie złamanie zabezpieczeń całej aplikacji. W środowiskach współdzielonych hostingu pojawia się inny zakres zagrożeń, w których defekty lub złośliwy kod w jednej aplikacji mogą czasami zostać wykorzystane do naruszenia samego środowiska i innych działających w nim aplikacji. Przyjrzymy się również szeregowi zagrożeń, które pojawiają się w rodzajach współdzielonych środowisk hostingowych, które stały się znane jako "przetwarzanie w chmurze".

Część 18  "Atakowanie serwera aplikacji" : opisuje różne sposoby, w jakie można zaatakować aplikację sieciową, atakując serwer sieciowy, na którym jest uruchomiona. Luki w serwerach sieci Web składają się w dużej mierze z wad w ich konfiguracji i luk w zabezpieczeniach oprogramowania serwera sieci Web. Ten temat znajduje się na granicy tematów poruszanych w tej książce, ponieważ serwer WWW jest zupełnie innym elementem stosu technologicznego. Jednak większość aplikacji internetowych jest ściśle powiązana z serwerem sieciowym, na którym działają. Dlatego też w książce uwzględniono ataki na serwer sieciowy, ponieważ często można ich użyć do bezpośredniego złamania zabezpieczeń aplikacji, a nie pośredniego, polegającego na pierwszym złamaniu podstawowego hosta.

Część 19  "Znajdowanie luk w kodzie źródłowym" : opisuje zupełnie inne podejście do znajdowania luk w zabezpieczeniach niż te opisane w innych miejscach. W wielu sytuacjach możliwe jest przejrzenie kodu źródłowego aplikacji, z których nie wszystkie wymagają współpracy ze strony właściciela aplikacji. Przeglądanie kodu źródłowego aplikacji często może być bardzo skuteczne w wykrywaniu luk w zabezpieczeniach, których wykrycie przez badanie działającej aplikacji byłoby trudne lub czasochłonne. Opisujemy metodologię i udostępniamy ściągawkę język po języku, aby umożliwić Ci przeprowadzenie efektywnego przeglądu kodu, nawet jeśli masz ograniczone doświadczenie w programowaniu.

Część 20  "Zestaw narzędzi dla hakerów aplikacji internetowych" : zestawia różne. Są to te same narzędzia, których używa się do atakowania aplikacji internetowych w świecie rzeczywistym. Badamy kluczowe cechy tych narzędzi i szczegółowo opisujemy rodzaj przepływu pracy, który zazwyczaj trzeba zastosować, aby uzyskać z nich jak najwięcej korzyści. Badamy również, w jakim stopniu każde w pełni zautomatyzowane narzędzie może skutecznie wykrywać luki w aplikacjach internetowych. Na koniec przedstawiamy kilka wskazówek i porad, jak najlepiej wykorzystać swój zestaw narzędzi.

Część 21  "Metodologia hakera aplikacji internetowych" : to obszerne i uporządkowane zestawienie wszystkich procedur i technik opisanych w tym tekście. Są one zorganizowane i uporządkowane zgodnie z logicznymi zależnościami między zadaniami, gdy przeprowadzasz rzeczywisty atak. Jeśli przeczytałeś i zrozumiałeś wszystkie luki w zabezpieczeniach i techniki opisane w tej książce, możesz wykorzystać tę metodologię jako kompletną listę kontrolną i plan pracy podczas przeprowadzania ataku na aplikację internetową.




Sieci neuronowe w C++

Część 1 zawiera przegląd terminologii i nazewnictwa sieci neuronowych. Odkrywasz, że sieci neuronowe są w stanie rozwiązywać złożone problemy za pomocą równoległych architektur obliczeniowych. W tym rozdziale przedstawiono sieć Hopfield i sieć feedforward.

Część 2 wprowadza C++ i orientację obiektową. Poznajesz zalety programowania obiektowego i jego podstawowe koncepcje.

Część 3 przedstawia logikę rozmytą, technologię, która jest dość synergiczna z rozwiązywaniem problemów z sieciami neuronowymi. Dowiesz się o matematyce z zestawami rozmytymi, a także o tym, jak zbudować prosty fuzzifier w C++.

Część 4 przedstawia dwa najprostsze, ale bardzo reprezentatywne modele: sieci Hopfield, sieci Perceptron i ich implementacji w C++.

Część 5 to przegląd modeli sieci neuronowych. Opisuje cechy kilku modeli, opisuje funkcje progowe i rozwija koncepcje w sieciach neuronowych.

Część 6 koncentruje się na paradygmatach uczenia się i szkolenia. Wprowadza pojęcia nadzorowanego i nienadzorowanego uczenia się, samoorganizacji oraz zagadnienia obejmujące wsteczną propagację błędów, sieci radialnych funkcji bazowych i metody gradientów sprzężonych.

W Części 7 omówiono budowę symulatora wstecznej propagacji błędów. Ten symulator przyda się również w dalszych częściach. Klasy i funkcje C++ są szczegółowo opisane tu.

Część 8 dotyczy pamięci dwukierunkowych asocjacyjnych do kojarzenia par wzorców.

Część 9 wprowadza pamięci skojarzeniowe rozmyte do kojarzenia par zbiorów rozmytych.

Część 10 obejmuje adaptacyjną teorię rezonansu Grossberga. Będziesz miał okazję poeksperymentować z programem ilustrującym działanie tej teorii.

Części 11 i 12 omawiają samoorganizującą się mapę Teuvo Kohonena i jej zastosowanie do rozpoznawania wzorców.

Część 13 kontynuuje dyskusję na temat symulatora propagacji wstecznej, z ulepszeniami wprowadzonymi do symulatora, aby uwzględnić pęd i hałas podczas treningu.

Część 14 stosuje propagację wsteczną do problemu prognozowania finansowego, omawia tworzenie sieci propagacji wstecznej z 15 zmiennymi wejściowymi i 200 przypadkami testowymi do przeprowadzenia symulacji. Do problemu podchodzi się za pomocą systematycznego 12-etapowego podejścia do wstępnego przetwarzania danych i konfigurowania problemu. W literaturze można znaleźć szereg przykładów prognozowania finansowego. Dołączono przewodnik po sieciach neuronowych w finansach dla osób, które chciałyby uzyskać więcej informacji na ten temat.

Część 15 zajmuje się optymalizacją nieliniową z dokładnym omówieniem problemu Travelling Salesperson. Poznasz sformułowanie Hopfielda i podejście Kohonena.

Część 16 omawia dwa obszary zastosowań logiki rozmytej: rozmyte systemy sterowania i rozmyte bazy danych. W tym rozdziale omówiono również kilka przykładów relacji rozmytych i teorii zbiorów rozmytych.




Hackowanie Przeglądarki

Część 1: Bezpieczeństwo przeglądarki internetowej : Ta Część rozpoczyna Twoją przygodę z hakowaniem przeglądarki. Pierwszym krokiem jest poznanie ważnych koncepcji przeglądarki i niektórych podstawowych problemów związanych z bezpieczeństwem przeglądarki. Badasz paradygmat mikroobwodów potrzebny do obrony dzisiejszych organizacji i zastanawiasz się nad pewnymi błędami, które nadal propagują niebezpieczne praktyki. W tym rozdziale omówiono również metodologię określającą, w jaki sposób można przeprowadzać ataki z wykorzystaniem przeglądarki. Obejmuje obszar ataku prezentowany przez przeglądarkę oraz sposób, w jaki zwiększa ekspozycję zasobów wcześniej uznanych za chronione.

Część 2: Inicjowanie kontroli : Za każdym razem, gdy przeglądarka internetowa łączy się z siecią, prosi o instrukcje. Przeglądarka następnie sumiennie realizuje polecenia, które zostały jej przekazane przez serwer sieciowy. Nie trzeba dodawać, że granice istnieją, ale przeglądarka zapewnia potężne środowisko do wykorzystania przez atakujących. Ta Część przeprowadzi Cię przez pierwszą fazę ataków na przeglądarkę, badając, jak wykonać kod w docelowej przeglądarce. Poznajesz zalety luk w zabezpieczeniach Cross-Site Scripting, ataków Man-in-the-Middle, socjotechniki i nie tylko.

Część 3: Zachowanie kontroli : Techniki inicjacji omówione do tej pory pozwalają na wykonanie instrukcji tylko raz. Tu przedstawiono sposób utrzymywania komunikacji i trwałości, dając interaktywną kontrolę z możliwością wykonywania wielu rund poleceń. Podczas typowej sesji hakerskiej będziesz chciał zachować kanał komunikacji z przeglądarką i, tam gdzie to możliwe, zachować kontrolę podczas ponownego uruchamiania. Bez tego szybko znajdziesz się z powrotem w punkcie wyjścia, próbując zachęcić cel do ciągłego łączenia się. Dowiesz się, jak używać ładunku do utrzymywania komunikacji z przeglądarką, umożliwiając wysyłanie wielu iteracji instrukcji. Zapewni to, że nie zmarnujesz żadnych okazji po otrzymaniu tego najważniejszego początkowego połączenia. Uzbrojony w tę wiedzę, jesteś teraz gotowy do przeprowadzenia różnych ataków przedstawionych w kolejnych Częściach.

Część 4: Obchodzenie zasad tego samego pochodzenia : W bardzo podstawowych terminach, polityka tego samego pochodzenia (SOP) ogranicza interakcję jednej witryny z inną. Jest to prawdopodobnie najbardziej podstawowa koncepcja bezpieczeństwa przeglądarki internetowej. W związku z tym można by oczekiwać, że przewidywanie skutków wspólnych działań będzie spójne we wszystkich komponentach przeglądarki i trywialne. Ta Część pokazuje, że tak nie jest. Twórcy stron internetowych niemal na każdym kroku są nękani kijem SOP; istnieje różnica między sposobem zastosowania SOP do samej przeglądarki, rozszerzeń, a nawet wtyczek. Ten brak spójności i zrozumienia zapewnia atakującym możliwości wykorzystania skrajnych przypadków. Omówiono omijanie różnych elementów sterujących SOP w przeglądarce. Odkrywasz nawet problemy z przeciąganiem i upuszczaniem oraz różnymi atakami naprawiającymi interfejs użytkownika i synchronizacją. Jedną z bardziej zaskakujących rzeczy, których dowiesz się w tym rozdziale, jest to, że przy odpowiednim kodowaniu obejścia SOP mogą przekształcić przeglądarkę w proxy HTTP.

Część 5: Atakowanie użytkowników : Ludzie są często określani jako najsłabsze ogniwo bezpieczeństwa. Ten Część koncentruje się na atakach wymierzonych w oprogramowanie typu wetware niczego niepodejrzewającego użytkownika. Niektóre ataki dodatkowo wykorzystują taktyki socjotechniki omówione w Części 2. Inne ataki wykorzystują cechy przeglądarek i ich zaufanie do otrzymanego kodu. W tym rozdziale zapoznasz się z deanonimizacją i ukrytym włączaniem kamery internetowej, a także uruchamianiem złośliwych plików wykonywalnych z lub bez żadnej jawnej interwencjai użytkownika.

Część 6: Atakowanie przeglądarek : Podczas gdy cały tekst dotyczy atakowania przeglądarki i obchodzenia jej kontroli bezpieczeństwa, ta Część koncentruje się na czymś, co można nazwać przeglądarką typu barebone. Czyli przeglądarka bez rozszerzeń i wtyczek . Poznasz proces bezpośredniego atakowania przeglądarki. Zagłębiasz się w odciski palców przeglądarki, aby odróżnić dostawców i wersje. Dowiesz się również, jak przeprowadzać ataki i włamywać się do komputera, na którym działa przeglądarka.

Część 7: Atakowanie rozszerzeń : Ta Część koncentruje się na wykorzystywaniu luk w rozszerzeniach przeglądarki. Rozszerzenie to oprogramowanie, które dodaje (lub usuwa) funkcje do (lub z) przeglądarki internetowej. Rozszerzenie nie jest samodzielnym programem w przeciwieństwie do ich drugich kuzynów, wtyczek. Być może znasz rozszerzenia takie jak LastPass, Firebug, AdBlock i NoScript. Rozszerzenia wykonują kod w zaufanych strefach ze zwiększonymi uprawnieniami i pobierają dane z mniej zaufanych stref, takich jak Internet. Włączy się alarm dla doświadczonych specjalistów od bezpieczeństwa. Istnieje realne ryzyko ataków wstrzykiwania, a w praktyce niektóre z tych ataków prowadzą do zdalnego wykonania kodu. Poznasz anatomię ataków rozciągających. Zagłębiasz się w exploity eskalacji uprawnień, które dają dostęp do uprzywilejowanej strefy przeglądarki (lub chrome://) i powodują wykonanie polecenia.

Część 8: Atakowanie wtyczek : Ta Część koncentruje się na atakowaniu wtyczek do przeglądarek internetowych, które są częściami oprogramowania, które dodają określone funkcje do przeglądarek internetowych. W większości przypadków oprogramowanie wtyczki może działać niezależnie bez przeglądarki internetowej. Popularne wtyczki to Acrobat Reader, Flash Player, Java, QuickTime, RealPlayer, Shockwave i Windows Media Player. Niektóre z nich są niezbędne do przeglądania, a niektóre do funkcji biznesowych. Flash jest potrzebny w przypadku witryn takich jak YouTube (który potencjalnie przechodzi na HTML5) i Java jest wymagana dla funkcji biznesowych, takich jak WebEx. Wtyczki są nękane lukami w zabezpieczeniach i nadal stanowią bogate źródło exploitów. Jak się przekonasz, luki w zabezpieczeniach wtyczek pozostają jednym z najbardziej niezawodnych sposobów przejęcia kontroli nad przeglądarką. Poznasz analizowanie i wykorzystywanie wtyczek przeglądarki za pomocą popularnych, ogólnodostępnych narzędzi. Dowiesz się o omijaniu mechanizmów ochronnych, takich jak Click to Play i przejmowaniu kontroli nad celem poprzez luki w wtyczkach.

Część 9: Atakowanie aplikacji internetowych : Twoja codzienna przeglądarka internetowa może przeprowadzać potężne ataki internetowe, nadal przestrzegając przyjętych kontroli bezpieczeństwa. Przeglądarki internetowe są zaprojektowane do komunikowania się z serwerami internetowymi za pomocą protokołu HTTP. Te funkcje HTTP można obrócić przeciwko sobie, aby osiągnąć kompromis w celu, który nie znajduje się nawet w bieżącym źródle. Ta Część koncentruje się na atakach, które można uruchomić z przeglądarki bez naruszania SOP. Nauczysz się różnych sztuczek, które pozwalają na odciski palców zasobów między źródłami, a nawet identyfikację wspólnych luk w aplikacjach internetowych. Możesz być zaskoczony, gdy dowiesz się, że podczas korzystania z przeglądarki można wykryć i wykorzystać cross-origin Cross-site Scripting i SQL również luki w zabezpieczeniach wtrysku. Pod koniec Części zrozumiesz, jak osiągnąć zdalne wykonanie kodu cross-origin. Odkryjesz również ataki Cross-Site Request Forgery, wyliczanie opóźnień na podstawie czasu, uwierzytelnianie ataków i ataki typu "odmowa usługi".

Część 10: Atakowanie sieci : Ta ostatnia Część dotyczący ataków obejmuje identyfikowanie powierzchni ataku intranetu poprzez skanowanie portów w celu wykrycia nieznanych wcześniej hostów. Eksploracja jest kontynuowana poprzez prezentację technik, takich jak przypinanie NAT. Odkryjesz również ataki wykorzystujące przeglądarkę internetową do bezpośredniego komunikowania się z usługami innymi niż internetowe. Dowiesz się, jak wykorzystać moc techniki Interprotocol Exploitation, aby złamać cele w intranecie przeglądarki.




XV Podstawowych Skrótów w Windows 10

1. Ctrl + A: Ctrl + A, podświetla lub zaznacza wszystko, co masz w środowisku, w którym pracujesz. Jeśli myślisz sobie: "Wow, zawartość tego dokumentu jest obszerna i nie ma czasu, aby ją wybrać, a poza tym wywrze presję na moim komputerze?" Używanie myszy do tego jest przestarzałą metodą obsługi zadania, takiego jak wybieranie wszystkich, Ctrl + A zajmie się tym w zaledwie kilka sekund.

2. Ctrl + C: Ctrl + C kopiuje dowolny podświetlony lub wybrany element w środowisku pracy. Oszczędza czas i stres, który zostałby użyty do kliknięcia prawym przyciskiem myszy i ponownego kliknięcia tylko w celu skopiowania. Użyj Ctrl + C.

3. Ctrl + N: Ctrl + N otwiera nowe okno lub plik. Zamiast klikać Plik, Nowy, pusty / szablon i kolejne kliknięcie, po prostu naciśnij Ctrl + N, a nowe okno lub plik pojawi się natychmiast.

4. Ctrl + O: Ctrl + O otwiera istniejący plik. Użyj Ctrl + O, gdy chcesz zlokalizować / otworzyć plik lub program.

5. Ctrl + P: Ctrl + P drukuje aktywny dokument. Zawsze używaj tego do zlokalizowania okna dialogowego drukarki i drukowania.

6. Ctrl + S: Ctrl + S zapisuje nowy dokument lub plik i zmiany wykonane przez użytkownika. Dotykasz teraz myszy? Proszę przestań! Nie używaj myszy. Po prostu naciśnij Ctrl + S, a wszystko zostanie zapisane.

7. Ctrl + V: Ctrl + V wkleja skopiowane elementy do aktywnego obszaru używanego programu. Użycie ctrl + V w takim przypadku Oszczędza czas i stres związany z kliknięciem prawym przyciskiem myszy i ponownym kliknięciem tylko po to, aby wkleić.

8. Ctrl + W: Ctrl + W służy do zamykania strony, na której pracujesz, gdy chcesz opuścić środowisko pracy. "Jest sposób, w jaki Peace robi to bez użycia myszy. O mój Boże, dlaczego się tego nie nauczyłem? " Nie martw się, mam odpowiedź: Peace naciska Ctrl + W, aby zamknąć aktywne okna.

9. Ctrl + X: Ctrl + X tnie elementy (sprawiając, że elementy znikają z ich pierwotnego miejsca). Różnica między wycinaniem a usuwaniem elementów polega na tym, że w wycinaniu wycinane elementy nie giną na stałe, ale przygotowuje się do wklejenia w innym miejscu wybranym przez użytkownika. Użyj Ctrl + X, gdy myślisz "To nie powinno być tutaj i nie mogę znieść stresu związanego z przepisywaniem lub przeprojektowywaniem tego we właściwym miejscu".

10. Ctrl + Y: Ctrl + Y ponawia cofniętą czynność. Ctrl + Z przywróciło to, czego nie potrzebujesz? Naciśnij Ctrl + Y, aby ponownie go usunąć.

11. Ctrl + Z: Ctrl + Z cofa akcje. Nie możesz znaleźć tego, co wpisałeś teraz lub wstawionego obrazu, nagle zniknął lub omyłkowo go usunąłeś? Naciśnij Ctrl + Z, aby go przywrócić.

12. Alt + F4: Alt + F4 zamyka aktywne okna lub elementy. Nie musisz poruszać myszą, aby zamknąć aktywne okno, po prostu naciśnij Alt + F4, jeśli skończysz lub nie chcesz, aby ktoś, kto przychodził, zobaczył, co robisz.

13. Ctrl + F6: Control plus F6 Nawigacja między otwartymi oknami, umożliwiając użytkownikowi zobaczenie, co dzieje się w aktywnych oknach. Pracujesz w programie Microsoft Word i chcesz się dowiedzieć, czy inne aktywne okno, w którym Twoja przeglądarka ładuje stronę, nadal się rozwija? Użyj Ctrl + F6.

14. F1: Wyświetla okno pomocy. Czy Twój komputer działa nieprawidłowo? Użyj F1, aby znaleźć pomoc, gdy nie wiesz, co dalej zrobić.

15. F12: Umożliwia użytkownikowi wprowadzanie zmian w już zapisanym dokumencie. F12 to skrót do użycia, gdy chcesz zmienić format, w którym zapisałeś istniejący dokument, wpisać hasło, zmienić jego nazwę, zmienić lokalizację pliku lub miejsce docelowe lub wprowadzić inną zmianę












Numer 07 (67) / 2022

Odwiedzin: 50713
Dzisiaj: 8
On-line: 1
Strona istnieje: 2049 dni
Ładowanie: 0.405 sek


[ 6253 ]











Programowanie iOS 15



Część I. Język

Ta część od podstaw uczy języka Swift. Opis jest rygorystyczny i uporządkowany. Tutaj nauczysz się wystarczająco dobrze posługiwać się Swiftem, aby czuć się z nim komfortowo, abyś mógł przejść do praktycznego biznesu, jakim jest rzeczywiste programowanie.

Sekcja 1 bada strukturę programu Swift, zarówno pod względem fizycznym, jak i koncepcyjnym. Dowiesz się, jak zorganizowane są pliki kodu Swift i poznasz najważniejsze podstawowe koncepcje języka Swift zorientowanego obiektowo: zmienne i funkcje, zakresy i przestrzenie nazw, typy obiektów i ich instancje.

W Sekcji 2 omówiono funkcje języka Swift. Zaczynamy od podstaw deklarowania i wywoływania funkcji; następnie omawiamy parametry - nazwy parametrów zewnętrznych, parametry domyślne i parametry variadic. Następnie zanurzamy się głęboko w moc funkcji Swift, z wyjaśnieniem funkcji wewnątrz funkcji, działa jako wartości pierwszej klasy, funkcje anonimowe, funkcje jako domknięcia, funkcje curried oraz odwołania do funkcji i selektory.

Sekcja 3 zaczyna się od zmiennych Swift - ich zakresu i czasu życia oraz sposobu ich deklarowania i inicjowania, wraz z funkcjami, takimi jak zmienne obliczane i obserwatorzy ustawiające. Następnie wprowadzono kilka ważnych wbudowanych typów Swift, w tym wartości logiczne, liczby, ciągi, zakresy, krotki i opcje.

Sekcja 4 dotyczy typów obiektów Swift - klas, struktur i wyliczeń. Wyjaśnia, jak działają te trzy typy obiektów oraz jak je deklarować, tworzyć i używać. Następnie przechodzi do polimorfizmu i rzutowania, protokołów, generyków i rozszerzeń. Rozdział kończy się omówieniem typów parasoli Swift, takich jak Any i AnyObject, oraz typów kolekcji - Array, Dictionary i Set (w tym zestawów opcji).

Sekcja 5 to rozmaitość. Zaczynamy od struktur kontroli przepływu Swift dla rozgałęzień, pętli i przeskoków, w tym obsługi błędów. Następnie opisemy kontrolę dostępu Swift (prywatność), introspekcję (refleksję) oraz sposób tworzenia własnych operatorów. Następnie omówimy zarządzanie pamięcią Swift. Sekcja kończy się przeglądem niektórych ostatnio dodanych funkcji języka Swift: zsyntetyzowanych implementacji protokołów, ścieżek kluczy, instancji jako funkcji, elementów dynamicznych, opakowań właściwości, niestandardowej interpolacji ciągów, odwrotnych typów ogólnych, kreatorów wyników i wyników.

Sekcja 6 opisuje ważną nową funkcję Swift 5.5: obsługę kodu wielowątkowego i asynchronicznego. Po pierwsze, wyjaśniono wielowątkowość i współbieżność, a my omówimy starszy sposób wyrażania kodu asynchronicznego (programy obsługi zakończenia). Następnie spotykamy nową składnię asynchroniczną wraz z zadaniami, współbieżnymi podzadaniami, sekwencjami asynchronicznymi oraz dodatkowym typem obiektu Swift - actors. Sekcja kończy się zagłębieniem się w takie tematy, jak anulowanie zadań i ponowne wejście aktora, wraz z protokołem Sendable.


Architektura Swift


Funkcje

Nic nie jest tak charakterystyczne dla składni Swift, jak sposób deklarowania i wywoływania funkcji. Chyba też nic nie jest tak ważne! Jak powiedziałem w części I, cały twój kod wykonywalny będzie w funkcjach; są tam, gdzie jest akcja.


Parametry funkcji i wartość zwracana

Pamiętasz te wyimaginowane maszyny do przetwarzania różnych rzeczy, które narysowałeś w swoim podręczniku do matematyki w szkole podstawowej? Znasz te, o których mówię: z lejkowatym "lejem" na górze, potem kilka kół zębatych i korb, a na dole rurka, w której coś się produkuje. Funkcja działa w ten sposób: wprowadzasz jakieś rzeczy, rzeczy są przetwarzane zgodnie z tym, co robi ta konkretna maszyna i coś jest produkowane. To, co wchodzi, to dane wejściowe; co wychodzi, to wyjście. Mówiąc bardziej technicznie, funkcja, która oczekuje danych wejściowych, ma parametry; funkcja, która generuje dane wyjściowe, ma wynik. Oto deklaracja głupiej, ale poprawnej funkcji, która oczekuje dwóch wartości Int, dodaje je do siebie i daje taką sumę:

func sum (_ x:Int, _ y:Int) -> Int {
let result = x + y
return result
}

Składnia tutaj jest bardzo ścisła i dobrze zdefiniowana i nie możesz używać Swift, chyba że doskonale ją rozumiesz. Zatrzymajmy się, aby docenić to w szczegółach. Podzielę pierwszą linijkę na kawałki, abym mógł je wywoływać pojedynczo:

func sum (1)
(_ x:Int, _ y:Int) (2,3)
-> Int { (4,5)
let result = x + y (6)
return result (7)
}

1. Deklaracja zaczyna się od słowa kluczowego func, po którym następuje nazwa tej funkcji; tutaj jest sum. Jest to nazwa, której należy użyć, aby wywołać funkcję - czyli uruchomić kod, który zawiera funkcja.
2. Po nazwie funkcji następuje lista jej parametrów. Składa się minimalnie z nawiasów. Jeśli ta funkcja przyjmuje parametry (dane wejściowe), są one wymienione w nawiasach, oddzielone przecinkiem. Każdy parametr ma ścisły format: nazwa parametru, dwukropek i typ parametru.
3. Ta konkretna deklaracja funkcji ma również podkreślenie (_) i spację przed nazwą każdego parametru na liście parametrów. Nie będę jeszcze wyjaśniał tego podkreślenia, ale potrzebuję go na przykład, więc na razie mi zaufaj.
4. Jeśli funkcja ma zwrócić wartość, to po nawiasach znajduje się operator strzałki (->), po którym następuje typ wartości, którą funkcja ta zwróci.
5. Następnie mamy nawiasy klamrowe zamykające ciało funkcji - jej rzeczywisty kod.
6. W nawiasach klamrowych, w treści funkcji, ożyły zmienne zdefiniowane jako nazwy parametrów, których typy są określone na liście parametrów.
7, Jeśli funkcja ma zwrócić wartość, musi to zrobić ze słowem kluczowym return, po którym następuje ta wartość. I nic dziwnego, że typ tej wartości musi być zgodny z typem zadeklarowanym wcześniej dla wartości zwracanej (po operatorze strzałki).

Oto kilka dalszych punktów, na które należy zwrócić uwagę na temat parametrów i typu zwracanego naszej funkcji:

Parametry

Nasza funkcja sum oczekuje dwóch parametrów - jednego Int, któremu nadaje nazwę x, oraz drugiego Int, któremu nadaje nazwę y. Kod treści funkcji nie zostanie uruchomiony, chyba że kod w innym miejscu wywoła tę funkcję i faktycznie przekaże wartości określonych typów dla swoich parametrów. Jeśli spróbuję wywołać tę funkcję bez podania wartości dla każdego z tych dwóch parametrów lub jeśli żadna z podanych przeze mnie wartości nie jest typu Int, kompilator zatrzyma się z błędem. W ciele funkcji możemy więc śmiało używać tych wartości, odwołując się do nich tymi nazwami, mając pewność, że będą istnieć zgodnie z naszą listą parametrów. W rzeczywistości nazwy parametrów x i y są zdefiniowane tylko po to, aby można było odwoływać się do wartości parametrów w treści funkcji. Deklaracja parametru jest więc rodzajem deklaracji zmiennej: deklarujemy zmienne x i y do użytku wewnątrz tej funkcji. Ze względu na zakres, zmienne te są lokalne (wewnętrzne) funkcji; tylko ciało funkcji może je zobaczyć i różnią się od innych x i y, które mogą być użyte w innej funkcji lub na wyższym poziomie zakresu.

Typ zwracany

Ostatnia instrukcja ciała funkcji sum zwraca wartość zmiennej o nazwie wynik; ta zmienna została utworzona przez dodanie do siebie dwóch wartości Int, więc jest to Int, który ma wytworzyć ta funkcja. Jeśli spróbuję zwrócić String (zwrócić "cześć") lub jeśli całkowicie pominę instrukcję return, kompilator zatrzyma się z błędem. Słowo kluczowe return faktycznie robi dwie rzeczy. Zwraca wartość towarzyszącą, a także zatrzymuje wykonywanie funkcji. Dozwolone jest, aby po instrukcji return następowało więcej wierszy kodu, ale kompilator ostrzeże, jeśli oznacza to, że te wiersze nigdy nie mogą zostać wykonane. Funkcja zwracająca wartość musi zawierać instrukcję return, więc jeśli jej treść składa się tylko z jednej instrukcji, musi to być instrukcja return. W takiej sytuacji słowo kluczowe return można pominąć. Ma to na celu głównie ułatwienie języka specyficznego dla domeny SwiftUI i ogólnie lubię wyraźnie mówić o powrocie, ale w niektórych sytuacjach pominięcie go jest bardziej eleganckie. Możesz wyświetlić deklarację funkcji przed nawiasami klamrowymi jako kontrakt określający, jakie rodzaje wartości będą używane jako dane wejściowe i jaki rodzaj danych wyjściowych zostanie wygenerowany. Zgodnie z tą umową funkcja oczekuje określonej liczby parametrów, każdy określonego typu, i daje określony typ wyniku. Wszystko musi odpowiadać tej umowie. Treść funkcji, wewnątrz nawiasów klamrowych, może używać parametrów jako zmiennych lokalnych. Zwracana wartość musi być zgodna z zadeklarowanym typem zwracanym. Ta sama umowa dotyczy kodu w innym miejscu, który wywołuje tę funkcję. Oto kod, który wywołuje naszą funkcję sum:

let z = sum(4,5)

Skoncentruj swoją uwagę na prawej stronie znaku równości - sum(4,5). To jest wywołanie funkcji. Jak jest skonstruowane? Używa nazwy funkcji; po nazwie następuje nawias; i wewnątrz tych nawiasów, oddzielone przecinkami, to wartości, które mają zostać przekazane do każdego z parametrów funkcji. Technicznie rzecz biorąc, te wartości są nazywane argumentami. Tutaj używam dosłownych wartości Int, ale zamiast tego mogę swobodnie używać zmiennych Int; jedynym wymaganiem jest to, żebym używał rzeczy, które mają właściwy typ:

let x = 4
let y = 5
let z = sum(y,x)

W tym kodzie celowo użyłem nazw x i y dla zmiennych, których wartości są przekazywane jako argumenty, i celowo odwróciłem je w wywołaniu, aby podkreślić, że te nazwy nie mają nic wspólnego z nazwami x i y w parametrze funkcji lista i treść funkcji. Nazwy argumentów nie trafiają magicznie do funkcji. Liczą się tylko ich wartości; ich wartości są argumentami. A co z wartością zwracaną przez funkcję? Ta wartość jest magicznie podstawiona do wywołania funkcji w momencie, w którym następuje wywołanie funkcji. Zdarza się, że w poprzednim kodzie wynik to 9. Więc ostatnia linia jest dokładnie tak, jakbym powiedział:

let z = 9

Zarówno programista, jak i kompilator wiedzą, jaki rodzaj rzeczy zwraca ta funkcja, więc wiedzą również, gdzie to jest i nie można wywoływać tej funkcji. Można wywołać tę funkcję jako część inicjującą deklaracji zmiennej z, tak jak byłoby to użycie 9 jako inicjalizacyjnej części tej deklaracji: w obu przypadkach mamy Int, więc z kończy się deklaracją jako Int. Ale nie byłoby legalne napisanie tego:

let z = sum(4,5) + "howdy" // compile error

Ponieważ sum zwraca wartość Int, jest to to samo, co próba dodania Int do ciągu - i domyślnie nie można tego zrobić w Swift. Zauważ, że można zignorować wartość zwróconą z wywołania funkcji:

sum(4,5)

Ten kod jest raczej głupi w tej konkretnej sytuacji, ponieważ sprawiliśmy, że nasza funkcja sum zadała sobie trud dodania 4 i 5 za nas, a następnie wyrzuciliśmy odpowiedź bez jej przechwytywania lub używania. Kompilator wie o tym i ostrzega, że nie możemy użyć wyniku naszego wywołania funkcji. Niemniej jednak ostrzeżenie nie jest błędem; ten kod jest legalny. W rzeczywistości istnieje wiele sytuacji, w których zignorowanie wartości zwracanej z wywołania funkcji jest całkowicie uzasadnione; w szczególności funkcja może wykonywać inne czynności (technicznie nazywane efektami ubocznymi) oprócz zwracania wartości, a celem wywołania tej funkcji mogą być te inne rzeczy.

WSKAZÓWKA: Jeśli celowo ignorujesz wynik wywołania funkcji, możesz wyciszyć ostrzeżenie kompilatora, przypisując wywołanie funkcji do _ (zmiennej bez nazwy) - na przykład _ = sum(4,5). Alternatywnie, jeśli wywoływana funkcja jest twoja, możesz zapobiec ostrzeżeniu, zaznaczając deklarację funkcji @discardab leResult.

Jeśli możesz wywołać sum wszędzie tam, gdzie możesz użyć Int, a parametry sum muszą być wartościami Int, czy nie oznacza to, że możesz wywołać sum w wywołaniu sumy? Oczywiście, że tak! Jest to całkowicie legalne (i rozsądne):

let z = sum(4,sum(5,6))

Jedynym argumentem przeciwko pisaniu takiego kodu jest to, że możesz się pomylić i że może to utrudnić późniejsze debugowanie. Ale technicznie jest to legalne i całkiem normalne.


Typ zwracany void i parametry

Wróćmy do naszej deklaracji funkcji. Jeśli chodzi o parametry funkcji i typ zwracany, istnieją dwa zdegenerowane przypadki, które pozwalają nam krócej wyrazić deklarację funkcji:

Funkcja bez zwracanego typu

Żadne prawo nie mówi, że funkcja musi zwracać wartość. Można zadeklarować funkcję, która nie zwraca żadnej wartości. W takim przypadku istnieją trzy sposoby napisania deklaracji: możesz napisać ją jako zwracającą Void; możesz zapisać to jako zwracające (), pustą parę nawiasów; lub możesz całkowicie pominąć operator strzałki i typ zwracany. Wszystkie są legalne:

func say1(_ s:String) -> Void { print(s) }
func say2(_ s:String) -> () { print(s) }
func say3(_ s:String) { print(s) }

Jeśli funkcja nie zwraca żadnej wartości, jej ciało nie musi zawierać instrukcji return. Jeśli zawiera instrukcję return, będzie składać się z samego słowa return, a jej celem będzie wyłącznie zakończenie wykonywania funkcji w tym momencie. Wywołanie funkcji, która nie zwraca żadnej wartości, jest wykonywane wyłącznie z powodu skutków ubocznych funkcji; nie ma użytecznej wartości zwracanej, która może być częścią większego wyrażenia, więc instrukcja wywołująca funkcję będzie zwykle składać się z wywołania funkcji i niczego więcej.

Funkcja bez parametrów

Żadne prawo nie mówi, że funkcja musi przyjmować dowolne parametry. Jeśli tak nie jest, lista parametrów w deklaracji funkcji może być całkowicie pusta. Ale nie możesz pominąć samych nawiasów listy parametrów! Będą one obecne w deklaracji funkcji, po nazwie funkcji:

func greet() -> String { return "howdy" }

Tak jak nie można pominąć nawiasów (listy parametrów) w deklaracji funkcji, tak samo nie można pominąć nawiasów w wywołaniu funkcji. Te nawiasy będą puste, jeśli funkcja nie ma parametrów, ale muszą one być obecne:

let greeting = greet()

Zwróć uwagę na nawiasy!

Funkcji może brakować zarówno wartości zwracanej, jak i parametrów; to wszystko są sposoby wyrażenia tego samego:

func greet1() -> Void { print("howdy") }
func greet2() -> () { print("howdy") }
func greet3() { print("howdy") }

Podpis funkcji

Jeśli zignorujemy nazwy parametrów w deklaracji funkcji, możemy całkowicie scharakteryzować funkcję według typów jej wejść i wyjść. Aby to zrobić, piszemy typy parametrów w nawiasach, po których następuje operator strzałki i typ wyjścia, tak jak poniżej:

(Int, Int) -> Int

To jest wyrażenie prawne w języku Swift; jest sygnaturą funkcji. W tym przypadku jest to podpis funkcji, która przyjmuje dwa parametry Int i zwraca wartość Int. W rzeczywistości jest to podpis naszej funkcji sumy! Oczywiście mogą istnieć inne funkcje, które przyjmują dwa parametry Int i zwracają Int - io to właśnie chodzi. Ta sygnatura charakteryzuje wszystkie funkcje, które mają taką liczbę parametrów tego typu i zwracają wynik tego typu. Sygnatura funkcji jest w efekcie jej typem - typem funkcji. To, że funkcje mają typy, będzie miało później duże znaczenie. Sygnatura funkcji musi zawierać zarówno listę parametrów (bez nazw parametrów), jak i typ zwracany, nawet jeśli jeden lub oba z nich są puste; można zapisać podpis funkcji, która nie przyjmuje parametrów i nie zwraca wartości () -> Void lub () -> ().


Nazwy parametrów zewnętrznych

Funkcja może uzewnętrzniać nazwy swoich parametrów. Nazwy parametrów zewnętrznych stają się częścią nazwy funkcji i muszą pojawiać się w wywołaniu funkcji jako etykiety argumentów. Jest kilka powodów, dla których jest to dobra rzecz:

* Wyjaśnia cel każdego argumentu; etykieta argumentu może dać wskazówkę, w jaki sposób ten argument przyczynia się do zachowania funkcji.
* Rozróżnia jedną funkcję od drugiej; dwie funkcje o tej samej nazwie przed nawiasami i tej samej sygnaturze, ale z różnymi nazwami parametrów zewnętrznych, są dwiema odrębnymi funkcjami.
* Pomaga Swiftowi komunikować się z Objective-C i Cocoa, gdzie parametry metody prawie zawsze mają nazwy zewnętrzne.

WSKAZÓWKA: Przyda się określenie części nazwy funkcji, która poprzedza nawiasy, więc nie muszę ciągle wywoływać jej "nazwa przed nawiasami", aby odróżnić ją od nazw parametrów zewnętrznych. Nazwijmy to podstawową nazwą funkcji.

Zewnętrzne nazwy parametrów są tak standardowe w Swift, że istnieje zasada: domyślnie wszystkie nazwy parametrów są zewnętyzowane automatycznie, używając nazwy wewnętrznej jako nazwy zewnętrznej. Jeśli chcesz, aby nazwa parametru była uzewnętrzniona i jeśli chcesz, aby nazwa zewnętrzna była taka sama jak nazwa wewnętrzna, nie rób nic - stanie się to samo z siebie. Jeśli chcesz odejść od domyślnego zachowania, możesz wykonać jedną z następujących czynności w swojej deklaracji funkcji:

Zmień nazwę parametru zewnętrznego

Jeśli chcesz, aby zewnętrzna nazwa parametru była inna niż jego nazwa wewnętrzna, poprzedź nazwę wewnętrzną nazwą zewnętrzną i spacją.

Pomiń eksternalizację parametru

Aby pominąć zewnętrzną nazwę parametru, poprzedź nazwę wewnętrzną podkreśleniem i spacją. To wyjaśnia moją deklarację func sum (_ x:Int, _ y:Int) -> Int na początku tego rozdziału: wstrzymywałem eksternalizację nazw parametrów, aby nie musieć wyjaśniać etykiet argumentów na początku. Oto deklaracja funkcji, która łączy ciąg ze sobą określoną liczbę razy:

func echoString(_ s:String, times:Int) -> String {
var result = ""
for _ in 1...times { result += s }
return result
}

Pierwszy parametr tej funkcji ma tylko nazwę wewnętrzną, ale drugi parametr ma nazwę zewnętrzną, która będzie taka sama jak nazwa wewnętrzna, a mianowicie czasy. A oto jak to nazwać:

let s = echoString("hi", times:3)

W wywołaniu, jak widać, nazwa zewnętrzna poprzedza argument jako etykietę oddzieloną dwukropkiem. Załóżmy teraz, że w naszej funkcji echoString wolimy używać czasów wyłącznie jako nazwy zewnętrznej dla drugiego parametru, z inną nazwą - powiedzmy n - jako nazwą wewnętrzną. Usuńmy ciąg z nazwy podstawowej funkcji i uczyńmy ją zewnętrzną nazwą pierwszego parametru. Wtedy deklaracja wyglądałaby tak:

func echo(string s:String, times n:Int) -> String {
var result = ""
for _ in 1...n { result += s }
return result
}

W treści tej funkcji nie ma teraz dostępnej zmiennej czasu; times to nazwa czysto zewnętrzna, używana jako etykieta w połączeniu. Nazwa wewnętrzna to n i jest to nazwa, do której odnosi się kod. A oto jak to nazwać:

let s = echo(string:"hi", times:3)

WSKAZÓWKA: Istnienie nazw zewnętrznych nie oznacza, że wywołanie może używać innej kolejności parametrów niż deklaracja. Nasze echo(string:times:) oczekuje parametru String i parametru Int w tej kolejności. Kolejność nie może być inna w wywołaniu, nawet jeśli etykieta może wydawać się rozróżniać, który argument jest powiązany z którym parametrem.


Przeciążenie

W języku Swift przeciążanie funkcji jest legalne (i powszechne). Oznacza to, że dwie funkcje o dokładnie tej samej nazwie, w tym ich nazwach parametrów zewnętrznych, mogą współistnieć, o ile mają różne sygnatury. (Dwie funkcje o tej samej nazwie podstawowej, ale różnych nazwach parametrów zewnętrznych nie stanowią przypadku przeciążenia; są to po prostu dwie różne funkcje o dwóch różnych nazwach). Te dwie funkcje mogą współistnieć:

func say (_ what:String) {
}
func say (_ what:Int) {
}

Powodem, dla którego przeciążanie działa, jest to, że Swift ma ścisłe pisanie. Parametr String nie jest parametrem Int. Swift może je odróżnić zarówno w deklaracji, jak i w wywołaniu funkcji. Tak więc Swift wie jednoznacznie, że sa y("co") różni się od say(1) i wie, którą funkcję say każda z nich wywołuje. Przeciążanie działa również dla typu zwrotu. Dwie funkcje o tej samej nazwie i typie parametrów mogą mieć różne typy zwracane. Ale kontekst wezwania musi być jednoznaczny; oznacza to, że musi być jasne, jakiego typu zwrotu oczekuje rozmówca. Na przykład te dwie funkcje mogą współistnieć:

func say() -> String {
return "one"
}
func say() -> Int {
return 1
}

Ale teraz nie możesz zadzwonić i powiedzieć tak:

let result = say() // compile error

Wywołanie jest niejednoznaczne i kompilator Ci to powie. Wywołanie musi być używane w kontekście, w którym oczekiwany typ zwracany jest jasny. Jednym z rozwiązań, jak opiszę w rozdziale 3, jest jawne określenie problematycznego typu (zamiast polegania na wnioskowaniu o typie):

let result: String = say()

Ewentualnie sam kontekst może być jednoznaczny. Załóżmy, że mamy inną funkcję, która nie jest przeciążona i oczekuje parametru String:

func giveMeAString(_ s:String) {
print("thanks!")
}

Wtedy giveMeASTring(say()) jest legalne, ponieważ tylko String może iść w tym miejscu, więc musimy wywołać say, która zwraca String. Podobnie:

let result = say() + "two"

Tylko String można "dodać" do String, więc musi to być powiedzenie, które zwraca String. Można również jednoznacznie określić przeciążenia w wywołaniu metody przy użyciu nazwy metody, słowa kluczowego as i podpisu żądanej metody. Składnia jest trochę dziwna, ponieważ całe wyrażenie musi być ujęte w nawiasy, po których następują bezpośrednio nawiasy oznaczające, że jest to wywołanie metody:

let result = (say as () -> String)()

Domyślne wartości parametrów

Parametr może mieć wartość domyślną. Oznacza to, że wywołujący może całkowicie pominąć parametr, nie podając żadnego argumentu; wartość będzie wtedy domyślna. Aby określić wartość domyślną w deklaracji funkcji, dołącz = i wartość domyślną po typie parametru:

class Dog {
func say(_ s:String, times:Int = 1) {
for _ in 1...times {
print(s)
}
}
}

W efekcie istnieją teraz dwie funkcje, jedna z jednym nieoznakowanym parametrem, druga z dodatkowymi czasami: parametr. Jeśli chcesz powiedzieć coś tylko raz, możesz wywołać powiedzenie, które wymaga pojedynczego argumentu nieoznaczonego etykietą:

let d = Dog()
d.say("woof") // same as d.say("woof", times:1)
If you want repetition, call the say that takes a times: parameter:
let d = Dog()
d.say("woof", times:3)


Parametry zmienne

Parametr może być zmienny. Oznacza to, że osoba wywołująca może dostarczyć dowolną liczbę wartości argumentów tego typu parametru, oddzielonych przecinkiem; treść funkcji otrzyma te wartości w postaci tablicy. Aby wskazać w deklaracji funkcji, że parametr jest wariadyczny, podaj po nim trzy kropki, w ten sposób:

func sayStrings(_ array:String …) {
for s in array { print(s) }
}

A oto jak to nazwać:

sayStrings("hej", "ho", "nonny nonny no")

Inny parametr może następować po parametrze variadic, ale musi mieć zewnętrzną etykietę, aby pokazać, gdzie kończą się argumenty variadic w wywołaniu. Tak działa globalna funkcja drukowania. Pobiera wariadyczny pierwszy parametr, dzięki czemu można wyprowadzić wiele wartości za pomocą jednego polecenia; pozostałe parametry mają wartości domyślne i można je pominąć:

print("Manny", 3, true) // Manny 3 true

Pozostałe parametry funkcji drukowania dyktują dalsze szczegóły wydruku. Domyślny separator: (w przypadku podania wielu wartości) to spacja, a domyślny terminator: to znak nowej linii; możesz zmienić jedno lub oba:

print("Manny", "Moe", separator:", ", terminator:", ")
print("Jan")
// wyjście to "Manny, Moe, Jack" w jednej linii

W Swift 5.3 i wcześniejszych funkcja może zadeklarować maksymalnie jeden parametr wariadyczny. Od wersji Swift 5.4 to ograniczenie zostało zniesione. Nawet dwa zmienne parametry z rzędu są teraz legalne, chociaż nadal potrzebujesz zewnętrznej etykiety na drugim:

func sayStrings(_ array:String …, and array2:String …) {
for s in array { print(s) }
for s in array2 { print(s) }
}

Drugi parametr variadic, który nie sąsiaduje z pierwszym parametrem variadic, nie wymaga etykiety zewnętrznej:

func sayStrings(_ array:String …, other:String, _ array2:String
…) {
for s in array { print(s) }
print(other)
for s in array2 { print(s) }
}

Prawdopodobnie ta deklaracja funkcji jest głupia, ponieważ powoduje mylące wywołanie:

sayStrings("Manny", "Moe", "Jack", inne: "Matt", "Groucho", "Harpo", "Chico")

W tym wywołaniu "Matt" jest parametrem samym w sobie, podczas gdy "Groucho" i reszta są argumentami dodatkowego (zmiennego) parametru. Ale nic na to nie wskazuje, więc człowiek może pomyśleć, że inny: jest wariadykiem. Niemniej jednak kompilator nie jest zdezorientowany, więc jest legalny!

Ignorowane parametry

Parametr, którego nazwa lokalna jest podkreśleniem, jest ignorowany. Wywołujący musi dostarczyć argument, ale nie ma on nazwy w treści funkcji i nie można się tam odwoływać. Na przykład:

func say(_ s:String, times:Int, loudly _:Bool) {

Żaden parametr loudly nie przedostaje się do ciała funkcji, ale wywołujący nadal musi go podać:

say("hi", times:3, loudly:true)

Jaki jest cel tej funkcji? Nie ma to zadowolić kompilatora, ponieważ kompilator nie narzeka, jeśli w treści funkcji nigdy nie odwołuje się do parametru. Używam go przede wszystkim jako rodzaju notatki do siebie, sposobu powiedzenia: "Tak, wiem, że jest tu parametr i celowo go nie używam do niczego".


Modyfikowalne parametry

W treści funkcji parametr jest zasadniczo zmienną lokalną. Domyślnie jest to zmienna zadeklarowana niejawnie za pomocą let. Nie możesz przypisać do niego:

func say(_ s:String, times:Int, loudly:Bool) {
loudly = true // compile error
}

Jeśli twój kod wymaga przypisania do nazwy parametru w treści funkcji, zadeklaruj zmienną lokalną var wewnątrz treści funkcji i przypisz do niej wartość parametru; Twoja zmienna lokalna może mieć nawet taką samą nazwę jak parametr:

func say(_ s:String, times:Int, loudly:Bool) {
var loudly = loudly
loudly = true // no problem
}

W tym kodzie głośno jest zmienną lokalną; przypisanie do niego nie zmienia wartości żadnej zmiennej poza ciałem funkcji. Jednak możliwe jest również skonfigurowanie parametru w taki sposób, że przypisanie do niego spowoduje zmianę wartości zmiennej poza ciałem funkcji! Jednym z typowych przypadków użycia jest to, że chcesz, aby funkcja zwracała więcej niż jeden wynik. Tutaj napiszę dość zaawansowaną funkcję, która usuwa wszystkie wystąpienia danego znaku z danego ciągu i zwraca liczbę wystąpień, które zostały usunięte:

func removeCharacter(_ c:Character, from s:String) -> Int {
var s = s
var howMany = 0
while let ix = s.firstIndex(of:c) {
s.remove(at:ix)
howMany += 1
}
return howMany
}

I nazywasz to tak:

let s = "hello"
let result = removeCharacter("l", from:s) // 2

To fajnie, ale oryginalny ciąg, s, nadal brzmi "cześć"! W treści funkcji usunęliśmy wszystkie wystąpienia znaku z lokalnej kopii parametru String. Jeśli chcemy, aby funkcja zmieniała pierwotną wartość przekazanego do niej argumentu, musimy wykonać następujące czynności:

•  Typ parametru, który zamierzamy zmodyfikować, musi być zadeklarowany inout.
•  Kiedy wywołujemy funkcję, zmienna przechowująca wartość do modyfikacji musi być zadeklarowana z var, nie let.
•  Zamiast przekazywać zmienną jako argument, musimy przekazać jej adres. Odbywa się to poprzez poprzedzenie jego nazwy znakiem ampersand (&).

Nasz removeCharacter(_:from:) wygląda teraz tak:

func removeCharacter(_ c:Character, from s: inout String) -> Int
{
var howMany = 0
while let ix = s.firstIndex(of:c) {
s.remove(at:ix)
howMany += 1
}
return howMany
}

A nasze wezwanie do removeCharacter(_:from:) wygląda teraz tak:

var s = "hello"
let result = removeCharacter("l", from:&s)

Po wywołaniu wynik to 2, a s to "heo". Zwróć uwagę na znak & przed nazwą s, gdy przekazujemy go jako argument from:. Jest wymagane; jeśli go pominiesz, kompilator cię zatrzyma. Podoba mi się ten wymóg, ponieważ zmusza nas do wyraźnego przyznania się kompilatorowi i sobie, że robimy coś potencjalnie niebezpiecznego: pozwalamy tej funkcji, jako efekt uboczny, modyfikować wartość poza sobą.

WSKAZÓWKA: Gdy wywoływana jest funkcja z parametrem inout, zmienna, której adres został przekazany jako argument do tego parametru, jest zawsze ustawiana, nawet jeśli funkcja nie wprowadza żadnych zmian w tym parametrze.

Wywoływanie celu C z modyfikowalnymi parametrami

Podczas używania kakao możesz napotkać różne odmiany tego wzoru. Interfejsy API Cocoa są napisane w C i Objective-C, więc zamiast terminu Swift inout prawdopodobnie zobaczysz jakiś tajemniczy typ, taki jak UnsafeMutablePointer. Z Twojego punktu widzenia jako wywołującego jest to jednak samo: przygotujesz zmienną var i przekażesz jej adres. Rozważmy na przykład problem uczenia się komponentów RGBA UIColor. Istnieją cztery takie składniki: wartości koloru czerwonego, zielonego, niebieskiego i alfa. Funkcja, która po otrzymaniu UIColor zwróciła składniki tego koloru, musiałaby zwrócić cztery wartości naraz - a to jest coś, czego Objective-C nie może zrobić. Używana jest więc inna strategia. Metoda UIColor getRed(_:green:blue:alpha:) zwraca tylko wartość Bool informującą, czy wyodrębnienie składnika powiodło się. Zamiast zwracać rzeczywiste komponenty, mówi: "Przekazujesz mi cztery CGFloats jako argumenty, a ja je zmodyfikuję tak, aby były wynikiem tej operacji". Oto mniej więcej jak deklaracja getRed (_:green:blue:alpha:) pojawia się w Swift:

func getRed(_ red: UnsafeMutablePointer< CGFloat >,
zielony: UnsafeMutablePointer< CGFloat >,
niebieski: UnsafeMutablePointer< CGFloat >,
alfa: UnsafeMutablePointer< CGFloat >) -> Bool

Jak nazwałbyś tę funkcję? Każdy z parametrów jest UnsafeMutablePointer do CGFloat. Wcześniej utworzysz cztery zmienne var CGFloat, nadając im jakąś wartość, nawet jeśli ta wartość zostanie zastąpiona, gdy wywołasz getRed(_:green:blue:alpha:). Argumenty, które przekażesz, będą adresami tych zmiennych. Te zmienne są tam, gdzie wartości komponentów będą po wywołaniu; i prawdopodobnie będziesz tak pewny, że wydobycie komponentów się powiedzie, że nie będziesz nawet zawracał sobie głowy uchwyceniem rzeczywistego wyniku rozmowy:

niech c = Kolor UI.fioletowy
var r : CGFloat = 0
var g : CGFloat = 0
var b : CGFloat = 0
var a : CGFloat = 0
c.getRed(&r, zielony: &g, niebieski: &b, alfa: &a)
// teraz r, g, b, a to 0.5, 0.0, 0.5, 1.0

Wywoływany przez Cel-C z modyfikowalnymi parametrami

Czasami Cocoa wywoła Twoją funkcję z parametrem UnsafeMutablePointer i będziesz chciał zmienić jej wartość. Aby to zrobić, nie możesz przypisać do niego bezpośrednio, tak jak to zrobiliśmy wcześniej z parametrami inout, które zadeklarowaliśmy w naszej implementacji remove(from:character:). Mówisz do Objective-C, a nie do Swift, a to jest UnsafeMutablePointer, a nie parametr inout. Technika tutaj polega na przypisaniu do właściwości pointee UnsafeMutablePointer. Oto (bez dalszych wyjaśnień) przykład z mojego własnego kodu:

func popoverPrezentationController(
_ popoverPresentationController: UIPopoverPresentationController,
willRepositionPopoverTo rect: UnsafeMutablePointer< CGRect >,
in view: AutoreleasingUnsafeMutablePointer) {
view.pointee = self.button2
rect.pointee = self.button2.bounds
}

Parametry modyfikowalne typu referencyjnego

Istnieje jedna bardzo powszechna sytuacja, w której funkcja może modyfikować parametr bez deklarowania go jako inout - mianowicie, gdy parametr jest instancją klasy. Jest to szczególna cecha klas, w przeciwieństwie do dwóch pozostałych typów obiektów, enum i struct. String nie jest klasą; to struktura. Dlatego musieliśmy użyć inout, aby zmodyfikować parametr String. Zilustruję to, deklarując klasę Dog z właściwością name:

class Dog {
var name = ""
}

Oto funkcja, która pobiera parametr instancji Dog oraz String i ustawia nazwę tej instancji Dog na tę String. Zauważ, że nie jest zaangażowany żaden inout:

func changeName(of d:Dog, to newName:String) {
d.name = newName
}

Oto jak to nazwać. Instancję Dog przekazujemy bezpośrednio:

let d = Dog()
d.name = "Fido"
print(d.name) // "Fido"
changeName(of:d, to:"Rover")
print(d.name) // "Rover"

Udało nam się zmienić właściwość naszej instancji Dog d, mimo że nie została ona przekazana jako parametr inout i mimo że została pierwotnie zadeklarowana za pomocą let, a nie var. Wydaje się, że jest to wyjątek od zasad dotyczących modyfikowania parametrów - ale tak nie jest. Jest to cecha instancji klas, a mianowicie to, że same są mutowalne. W changeName(of:to:) tak naprawdę nie próbowaliśmy przypisać innej instancji Dog do parametru. Aby to zrobić, parametr Dog musiałby być zadeklarowany inout (a d musiałby być zadeklarowany z var i musielibyśmy przekazać jego adres jako argument). Z technicznego punktu widzenia mówimy, że klasy są typami referencyjnymi, podczas gdy inne smaki typów obiektowych są typami wartościowymi. Kiedy przekazujesz wystąpienie struktury jako argument do funkcji, skutecznie kończysz z oddzielną kopią wystąpienia struktury. Ale kiedy przekazujesz instancję klasy jako argument do funkcji, przekazujesz referencję do samej instancji klasy.


Funkcja w funkcji

Funkcję można zadeklarować w dowolnym miejscu, w tym w ciele funkcji. Funkcja zadeklarowana w treści funkcji (nazywana również funkcją lokalną) jest dostępna do wywołania przez późniejszy kod w tym samym zakresie, ale jest całkowicie niewidoczna w innym miejscu. Ta funkcja to elegancka architektura funkcji, których jedynym celem jest wspomaganie innej funkcji. Jeśli tylko funkcja A kiedykolwiek będzie musiała wywołać funkcję B, funkcja B może równie dobrze zostać spakowana wewnątrz funkcji A. Oto typowy przykład z jednej z moich aplikacji (pominąłem wszystko poza strukturą):

func checkPair(_ p1:Piece, and p2:Piece) -> Path? {
// …
func addPathIfValid(_ midpt1:Point, _ midpt2:Point) {
// …
}
for y in -1… _yct {
addPathIfValid((pt1.x,y),(pt2.x,y))
}
for x in -1… _xct {
addPathIfValid((x,pt1.y),(x,pt2.y))
}
// …
}

To, co robię w pierwszej pętli for (dla y) i to, co robię w drugiej pętli for (dla x) są takie same - ale z innym zestawem wartości początkowych. Moglibyśmy wypisać pełną funkcjonalność każdej pętli for, ale byłoby to niepotrzebne i mylące powtórzenie. (Takie powtórzenie naruszałoby zasadę często określaną jako DRY, co oznacza "Nie powtarzaj się"). ta funkcjonalność jest szerzej niż potrzebujemy, ponieważ jest wywoływana tylko przez te dwie pętle for wewnątrz checkPair. Funkcja lokalna to doskonały kompromis.

Rekurencja

Funkcja może wywołać samą siebie. Nazywa się to rekurencją. Rekurencja wydaje się trochę przerażająca, przypomina raczej skakanie z klifu, ze względu na niebezpieczeństwo stworzenia nieskończonej pętli; ale jeśli napiszesz funkcję poprawnie, zawsze będziesz mieć warunek "stopper", który obsługuje zdegenerowany przypadek i zapobiega nieskończoności pętli:

func countDownFrom(_ ix:Int) {
print(ix)
if ix > 0 { // stopper
countDownFrom(ix-1) // recurse!
}
}
countDownFrom(5) // 5, 4, 3, 2, 1, 0


Funkcja jako wartość

Jeśli nigdy nie używałeś języka programowania, w którym funkcje są obywatelami pierwszej klasy, może lepiej usiądź teraz, ponieważ to, co ci powiem, może sprawić, że poczujesz się trochę słabo: W Swift funkcja jest obywatelem pierwszej klasy . Oznacza to, że funkcji można używać wszędzie tam, gdzie można użyć wartości. Funkcję można przypisać do zmiennej; funkcja może być przekazana jako argument w wywołaniu funkcji; funkcja może zostać zwrócona jako wynik funkcji. Swift ma ścisłe pisanie. Możesz przypisać wartość do zmiennej lub przekazać wartość do lub z funkcji tylko wtedy, gdy jest to właściwy typ wartości. Aby funkcja była używana jako wartość, funkcja musi mieć typ. I rzeczywiście tak jest: podpis funkcji jest jej typem. Głównym celem używania funkcji jako wartości jest umożliwienie późniejszego wywołania tej funkcji bez dokładnej wiedzy o tym, jaka to funkcja. Oto najprostszy (i najgłupszy) przykład na świecie, aby pokazać składnię i strukturę:

func doThis(_ f:() -> ()) {
f()
}

To jest funkcja doThis, która przyjmuje jeden parametr (i nie zwraca żadnej wartości). Sam parametr f jest funkcją! Skąd wiemy? Cóż, spójrz na jego typ (po dwukropku): to () -> (). To jest podpis funkcji; w szczególności jest to sygnatura funkcji, która nie przyjmuje parametrów i nie zwraca wartości. Funkcja doThis oczekuje więc jako swojego parametru funkcji, którą nazywa f. Następnie, w swoim ciele, doThis wywołuje funkcję f, którą otrzymał jako parametr, mówiąc f(). Czyli doThis jest tylko funkcją, która w trywialny sposób wywołuje inną funkcję. Ale robi to, nie wiedząc z góry, jaką funkcję ma wywołać. To jest siła funkcji bycia obywatelami pierwszej klasy. Po zadeklarowaniu funkcji doThis, jak byś ją nazwał? Musiałbyś przekazać mu funkcję jako argument. Oto jeden sposób, aby to zrobić:

func doThis(_ f:() -> ()) {
f()
}
func whatToDo() (1)
print("I did it")
}
doThis(whatToDo) (2)

(1) Najpierw deklarujemy funkcję (whatToDo) odpowiedniego typu - funkcja, która nie przyjmuje parametrów i nie zwraca wartości.
(2) Następnie wywołujemy doThis, przekazując jako argument referencję do funkcji - w efekcie samą nazwę funkcji. Zauważ, że nie nazywamy tutaj whatToDo; pomijamy to.
Rzeczywiście, to działa: przekazujemy whatToDo jako argument do doThis; do To wywołuje funkcję, którą otrzymuje jako parametr; a w konsoli pojawia się napis "Zrobiłem to". Oczywiście ten przykład, choć demonstruje niezwykłą zdolność języka Swift, nie jest przekonujący, ponieważ wynik w praktyce nie różni się od tego, co by się stało, gdybyśmy po prostu nazwali to, co należy zrobić bezpośrednio. Ale w prawdziwym życiu, hermetyzacja wywołania funkcji w funkcji może zmniejszyć liczbę powtórzeń i możliwość błędu. Co więcej, funkcja może wywołać swoją funkcję parametryczną w jakiś specjalny sposób; może to nazwać po zrobieniu innych rzeczy lub w późniejszym czasie. Oto przypadek z mojego własnego kodu. Typową czynnością w Cocoa jest rysowanie obrazu bezpośrednio w kodzie. Jeden sposób na zrobienie tego obejmuje cztery kroki:

let size = CGSize(width:45, height:20)
UIGraphicsBeginImageContextWithOptions(size, false, 0) (1)
let p = UIBezierPath(
roundedRect: CGRect(x:0, y:0, width:45, height:20), cornerRad
ius: 8)
p.stroke() (2)
let result = UIGraphicsGetImageFromCurrentImageContext()! (3)
UIGraphicsEndImageContext() (4)

(1) Otwórz kontekst obrazu.
(2) Wciągnij się w kontekst.
(3) Wyodrębnij obraz.
(4) Zamknij kontekst obrazu.

To działa - w tym przypadku generuje obraz zaokrąglonego prostokąta - ale jest brzydkie. Jedynym celem całego tego kodu jest uzyskanie wyniku, obrazu; ale ten cel jest ukryty w całym innym kodzie. W tym samym czasie wszystko oprócz dwóch wierszy dotyczących UIBezierPath p (krok 2) jest schematem; za każdym razem, gdy robię to w dowolnej aplikacji, krok 1, krok 3 i krok 4 są dokładnie takie same. Co więcej, żyję w śmiertelnym strachu, że zapomnę krok; gdybym przez pomyłkę pominął krok 4, wszechświat by eksplodował. Ponieważ jedyną rzeczą, która zmienia się za każdym razem, gdy rysuję, jest krok 2, krok 2 jest jedyną częścią, którą powinienem napisać! Cały problem rozwiązuje się pisząc funkcję użyteczności wyrażającą schemat:

func imageOfSize(_ size:CGSize, _ whatToDraw:() -> ()) -> UIImage
{
UIGraphicsBeginImageContextWithOptions(size, false, 0)
whatToDraw()
let result = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return result
}

Moje narzędzie imageOfSize jest tak przydatne, że deklaruję je na najwyższym poziomie pliku, gdzie wszystkie moje pliki mogą je zobaczyć. Aby zrobić obraz, mogę wykonać krok 2 (rzeczywisty rysunek) w funkcji i przekazać tę funkcję jako argument do narzędzia imageOfSize:

func drawing() {
let p = UIBezierPath(
roundedRect: CGRect(x:0, y:0, width:45, height:20),
cornerRadius: 8)
p.stroke()
}
let image = imageOfSize(CGSize(width:45, height:20), drawing)

Teraz jest to piękny, wyrazisty i przejrzysty sposób na przekształcenie instrukcji rysowania w obraz. Interfejs API Cocoa jest pełen sytuacji, w których przekazujesz funkcję, która ma zostać wywołana przez środowisko wykonawcze w jakiś specjalny sposób lub w późniejszym czasie. Niektóre typowe sytuacje związane z kakao obejmują nawet przekazywanie dwóch funkcji. Na przykład, gdy wykonujesz animację widoku, często przekazujesz jedną funkcję, która zaleca akcję, aby była animowana, a inną funkcję mówiącą, co robić później:

func whatToAnimate() { // self.myButton is a button in the interf
ace
self.myButton.frame.origin.y += 20
}
func whatToDoLater(finished:Bool) {
print("finished: \(finished)")
}
UIView.animate(withDuration:0.4,
animations: whatToAnimate, completion: whatToDoLater)

Oznacza to: Zmień początek ramki (czyli pozycję) tego przycisku w interfejsie, ale rób to w czasie (cztery dziesiąte sekundy); a następnie, kiedy to się skończy, wydrukuj w konsoli komunikat dziennika mówiący, czy animacja została wykonana, czy nie.

WSKAZÓWKA: Dokumentacja Cocoa często opisuje funkcję, która ma być przekazana w ten sposób, jako procedurę obsługi i odnosi się do niej jako do bloku, ponieważ jest to potrzebna tutaj konstrukcja składniowa Objective-C. W Swift to funkcja.

ALIASY TYPÓW MOGĄ WYJAŚNIĆ TYPY FUNKCJI

Aby sprecyzować specyfikatory typu funkcji, możemy skorzystać z funkcji aliasów typu Swift, aby nadać typowi funkcji nazwę. Nazwa może być opisowa i unika się prawdopodobnie mylącego zapisu operatora strzałki:

alias typu VoidVoidFunction = () -> ()
func dothis(_ f:VoidVoidFunction) {
f()
} Funkcje anonimowe

Rozważmy jeszcze raz ten przykład:

func whatToAnimate() { // self.myButton is a button in the interface
self.myButton.frame.origin.y += 20
}
func whatToDoLater(finished:Bool) {
print("finished: \(finished)")
}
UIView.animate(withDuration:0.4,
animations: whatToAnimate, completion: whatToDoLater)

W tym kodzie jest trochę brzydoty. Deklaruję funkcje co ToAnimate i whatToDoLater, tylko dlatego, że chcę przekazać te funkcje w ostatniej linii. Ale tak naprawdę nie potrzebuję nazw whatToAnim zjadł i whatToDoLater do niczego, z wyjątkiem odwoływania się do nich w ostatniej linii; ani nazwy, ani funkcje nigdy nie zostaną ponownie użyte. W moim wywołaniu do UIView.animate(withDuration:animations:comp letion:), byłoby miło móc przekazać tylko treść tych funkcji bez zadeklarowanej nazwy. Możemy to zrobić. Bezimienne ciało funkcji nazywa się funkcją anonimową i jest legalne i powszechne w języku Swift. Aby utworzyć funkcję anonimową, robisz dwie rzeczy:

1. Utwórz samą treść funkcji, w tym otaczające ją nawiasy klamrowe, ale bez deklaracji funkcji.
2. Jeśli to konieczne, przedstaw listę parametrów funkcji i zwróć typ jako pierwszą rzecz w nawiasach klamrowych, a następnie słowo kluczowe in.

Poćwiczmy, przekształcając nasze nazwane deklaracje funkcji na funkcje anonimowe. Oto nazwana deklaracja funkcji dla whatToAnimate:

func whatToAnimate() {
self.myButton.frame.origin.y += 20
}

Oto anonimowa funkcja, która robi to samo. Zwróć uwagę, jak przeniosłem listę parametrów i typ zwracany w nawiasach klamrowych:

{
() -> () in
self.myButton.frame.origin.y += 20
}
Oto nazwana deklaracja funkcji dla whatToDoLater:
func whatToDoLater(finished:Bool) {
print("finished: \(finished)")
}

Oto anonimowa funkcja, która robi to samo:

{
(finished:Bool) -> () in
print("finished: \(finished)")
}

Korzystanie z anonimowych funkcji wbudowanych

Teraz, gdy wiemy, jak tworzyć funkcje anonimowe, skorzystajmy z nich. Punkt, w którym potrzebujemy funkcji, to punkt, w którym przekazujemy drugi i trzeci argument do animacji (withDuration:animation s:completion:). W tym momencie możemy tworzyć i przekazywać funkcje anonimowe, na przykład:

UIView.animate(withDuration:0.4,
animations: {
() -> () in
self.myButton.frame.origin.y += 20
},
completion: {
(finished:Bool) -> () in
print("finished: \(finished)")
}
)

Taką samą poprawę możemy wprowadzić w sposób, w jaki wywołujemy funkcję imageOfSize z poprzedniej sekcji. Wcześniej nazwaliśmy tę funkcję tak:

func drawing() {
let p = UIBezierPath(
roundedRect: CGRect(x:0, y:0, width:45, height:20),
cornerRadius: 8)
p.stroke()
}
let image = imageOfSize(CGSize(width:45, height:20), drawing)

Teraz wiemy jednak, że nie musimy osobno deklarować funkcji rysowania. Możemy wywołać imageOfSize z funkcją anonimową:

let image = imageOfSize(CGSize(width:45, height:20), {
() -> () in
let p = UIBezierPath(
roundedRect: CGRect(x:0, y:0, width:45, height:20),
cornerRadius: 8)
p.stroke()
})

Funkcje anonimowe są bardzo często używane w Swift, więc upewnij się, że potrafisz czytać i pisać ten kod!


Skrócona składnia funkcji anonimowej

Funkcje anonimowe są tak powszechne i tak ważne w Swift, że dostępne są skróty do ich zapisywania:

Pominięcie typu zwrotu

Jeśli typ zwracany funkcji anonimowej jest już znany kompilatorowi, możesz pominąć operator strzałki i specyfikację typu zwracanego:

UIView.animate(withDuration:0.4,
animations: {
() in // *
self.myButton.frame.origin.y += 20
}, completion: {
(finished:Bool) in // *
print("finished: \(finished)")
})

(Czasami kompilator nie wywnioskuje typu zwracanego funkcji anonimowej, nawet jeśli uważasz, że powinno to być oczywiste i spowoduje błąd kompilacji. Jeśli tak się stanie, po prostu nie używaj tego skrótu: podaj wyrażenie in z wyraźnym zwrotem rodzaj.)

Pominięcie wyrażenia w przypadku braku parametrów

Jeśli funkcja anonimowa nie przyjmuje parametrów, a zwracany typ można pominąć, można pominąć samo wyrażenie in:

UIView.animate(withDuration:0.4,
animations: { // *
self.myButton.frame.origin.y += 20
}, completion: {
(finished:Bool) in
print("finished: \(finished)")
})

Pominięcie typów parametrów

Jeśli funkcja anonimowa przyjmuje parametry, a ich typy są już znane kompilatorowi, typy można pominąć:

UIView.animate(withDuration:0.4,
animations: {
self.myButton.frame.origin.y += 20
}, completion: {
(finished) in // *
print("finished: \(finished)")
})

Pominięcie nawiasów

Jeśli typy parametrów są pominięte, nawiasy wokół listy parametrów można pominąć:

UIView.animate(withDuration:0.4,
animations: {
self.myButton.frame.origin.y += 20
}, completion: {
finished in // *
print("finished: \(finished)")
})

Pominięcie w wyrażeniu, nawet jeśli istnieją parametry

Jeśli zwracany typ można pominąć, a typy parametrów są już znane kompilatorowi, można pominąć wyrażenie in i odwoływać się do parametrów bezpośrednio w treści funkcji anonimowej, używając magicznych nazw $0, $1 itd. na, w kolejności:

UIView.animate(withDuration:0.4,
animations: {
self.myButton.frame.origin.y += 20
}, completion: {
print("finished: \($0)") // *
})

Pominięcie nazw parametrów

Jeśli treść funkcji anonimowej nie musi odwoływać się do parametru, możesz zastąpić jej nazwę podkreśleniem na liście parametrów w wyrażeniu in:

UIView.animate(withDuration:0.4,
animations: {
self.myButton.frame.origin.y += 20
}, completion: {
_ in // *
print("finished!")
})

WSKAZÓWKA: Jeśli funkcja anonimowa przyjmuje parametry, musisz je jakoś potwierdzić. Możesz pominąć wyrażenie in i użyć parametrów pod magicznymi nazwami $0 i tak dalej. Możesz też zachować wyrażenie in i podać nazwy parametrów lub zignorować je z podkreśleniem. Ale nie możesz pominąć wyrażenia w i nie używać magicznych nazw parametrów! Jeśli to zrobisz, Twój kod się nie skompiluje.

Pominięcie etykiety argumentu funkcji

Jeśli twoja anonimowa funkcja jest ostatnim argumentem przekazywanym w tym wywołaniu funkcji - co prawie zawsze będzie tak mieć - możesz zamknąć wywołanie funkcji z prawym nawiasem przed tym ostatnim argumentem, a następnie umieścić tylko treść funkcji anonimowej bez etykiety . Nazywa się to składnią końcowego zamknięcia (za chwilę wyjaśnię, czym jest zamknięcie):

UIView.animate(withDuration:0.4,
animations: {
self.myButton.frame.origin.y += 20
}) { // *
_ in
print("finished!")
}

W tym kodzie parametr complete: jest ostatni, więc wywołanie może przekazać argument funkcji anonimowej poza nawiasami wywołania, używając składni końcowego zamknięcia bez etykiety. Ale w tym konkretnym przykładzie jest ciekawa asymetria, ponieważ jest to metoda, która przyjmuje dwa parametry funkcji. Parametr animacji s: również jest funkcją anonimową, ale nadal znajduje się w nawiasach. Innowacja Swift 5.3 rozwiązała tę asymetrię: teraz wiele anonimowych argumentów funkcji można wyrazić za pomocą składni końcowego zamknięcia. Kiedy to zrobisz, pierwsza anonimowa funkcja nie przyjmuje etykiety; każda z pozostałych funkcji ma swoje etykiety, bez przecinka:

UIView.animate(withDuration:0.4) { // *
self.myButton3.frame.origin.y += 20
} completion: { // *
_ in
print("finished")
}

Pominięcie nawiasów funkcji wywołującej

Jeśli używasz końcowego zamknięcia i jeśli wywoływana funkcja nie przyjmuje żadnych parametrów poza funkcją, którą do niej przekazujesz, możesz pominąć puste nawiasy w wywołaniu. To jedyna sytuacja, w której możesz pominąć nawiasy w wywołaniu funkcji! Aby to zilustrować, zadeklaruję i wywołam inną funkcję:

func doThis(_ f:() -> ()) {
f()
}
doThis { // no parentheses!
print("Howdy")
}

Pominięcie słowa kluczowego return

Jeśli ciało funkcji anonimowej składa się dokładnie z jednej instrukcji polegającej na zwrocie wartości ze słowem kluczowym return, to słowo kluczowe return można pominąć (a w takiej sytuacji lubię to robić):

func greeting() -> String {
return "Howdy"
}
func performAndPrint(_ f:()->String) {
let s = f()
print(s)
}
performAndPrint {
greeting() // meaning: return greeting()
}

Podczas pisania funkcji anonimowych często wykorzystujesz wszystkie dozwolone pominięcia. Ponadto czasami skracasz układ kodu (choć nie sam kod), umieszczając całą anonimową funkcję wraz z wywołaniem funkcji w jednym wierszu. W związku z tym kod Swift obejmujący funkcje anonimowe może być bardzo zwarty. Oto typowy przykład. Zaczynamy od tablicy wartości Int i generujemy nową tablicę zawierającą wszystkie te wartości pomnożone przez 2, wywołując metodę instancji map(_:). Metoda tablicy map(_:) przyjmuje funkcję. Ta funkcja pobiera jeden parametr tego samego typu co elementy tablicy i zwraca nową wartość; tutaj nasza tablica składa się z wartości Int, a do metody map(_:) przekazujemy funkcję, która przyjmuje jeden parametr Int i zwraca wartość Int. Moglibyśmy napisać całą funkcję tak:

let arr = [2, 4, 6, 8]
func doubleMe(i:Int) -> Int {
return i*2
}
let arr2 = arr.map(doubleMe) // [4, 8, 12, 16]

To jednak nie jest zbyt szybkie. Nie potrzebujemy nazwy doubleMe do niczego innego, więc równie dobrze może to być funkcja anonimowa:

let arr = [2, 4, 6, 8]
let arr2 = arr.map ({
(i:Int) -> Int in
return i*2
})

Teraz skróćmy naszą anonimową funkcję. Jego typ parametru jest znany z góry, więc nie musimy tego określać. Jego typ zwracany jest znany po sprawdzeniu treści funkcji, więc nie musimy tego określać. Jest tylko jeden parametr i zamierzamy go używać, więc nie potrzebujemy wyrażenia in, o ile odnosimy się do parametru jako $0. Nasze ciało funkcji składa się tylko z jednej instrukcji i jest to instrukcja return, więc możemy pominąć return. A map(_:) nie przyjmuje żadnych innych parametrów, więc możemy pominąć nawiasy i bezpośrednio śledzić nazwę z końcowym zamknięciem:

let arr = [2, 4, 6, 8]
let arr2 = arr.map {$0*2}
Nie ma nic szybszego niż to!


Zdefiniuj i wywołaj

Wzorzec, który jest zaskakująco powszechny w Swift, polega na zdefiniowaniu funkcji anonimowej i wywołaniu jej jednym ruchem:

{
// … kod idzie tutaj
}()

Zwróć uwagę na nawiasy po nawiasach klamrowych! Nawiasy klamrowe definiują treść funkcji anonimowej; nawiasy nazywają tę funkcję anonimową. Nazywam ten konstrukt "zdefiniuj i zadzwoń". Korzystając z funkcji "zdefiniuj i zadzwoń", działanie można podjąć w momencie, w którym jest ono potrzebne, a nie w serii kroków przygotowawczych. Na przykład istnieje powszechna sytuacja Cocoa, w której tworzymy i konfigurujemy NSMutableParagraphStyle, a następnie używamy go jako argumentu w wywołaniu metody addAttribute(_:value:range:) NSMutableAttributedString, tak jak poniżej:

let para = NSMutableParagraphStyle()
para.headIndent = 10
para.firstLineHeadIndent = 10
// ... more configuration of para …
content.addAttribute( // content is an NSMutableAttributedString
.paragraphStyle,
value:para,
range:NSRange(location:0, length:1))

Uważam, że ten kod jest brzydki. Nie potrzebujemy para, z wyjątkiem przekazania jej jako argumentu value: w wywołaniu addAttribute(_:value:range:), więc byłoby o wiele przyjemniej utworzyć i skonfigurować go bezpośrednio w wywołaniu, jako wartość: sam argument. Brzmi to jak funkcja anonimowa - z wyjątkiem tego, że parametr value: nie jest funkcją, ale obiektem NSMutableParagraphStyle. Możemy rozwiązać problem, podając jako wartość: argument anonimową funkcję, która tworzy obiekt NSMutableParagraphStyle i wywołując go tak, aby wytworzył obiekt NSMutableParagraphStyle:

content.addAttribute(
.paragraphStyle,
value: {
let para = NSMutableParagraphStyle()
para.headIndent = 10
para.firstLineHeadIndent = 10
// … more configuration of para …
return para
}(),
range:NSRange(location:0, length:1))


Domknięcia

Szybkie funkcje to zamknięcia. Oznacza to, że mogą przechwytywać odwołania do zmiennych zewnętrznych w zakresie w treści funkcji. Co mam przez to na myśli? Przypomnijmy sobie z rozdziału 1, że kod w nawiasach klamrowych stanowi zakres, a ten kod może "widzieć" zmienne i funkcje zadeklarowane w otaczającym zakresie. Na przykład:

class Dog {
var whatThisDogSays = "woof" (1)
func bark() {
print(self.whatThisDogSays) (2)
}
}

W tym kodzie:

(1) Zmienna whatThisDogSays jest zewnętrzna względem funkcji: jest zadeklarowana poza ciałem funkcji, a jednak znajduje się w zakresie treści funkcji, tak aby kod wewnątrz ciała funkcji mógł ją zobaczyć.
(2)Kod wewnątrz ciała funkcji odwołuje się do zmiennej zewnętrznej whatThisDogSays - wyraźnie mówi whatThisDogSays.

Na razie w porządku; ale teraz wiemy, że szczekanie funkcji może być przekazane jako wartość. W efekcie może podróżować z jednego środowiska do drugiego. Kiedy tak się dzieje, co dzieje się z tym odniesieniem do whatThisDogSays? Dowiedzmy Się:

func doThis(_ f : () -> ()) {
f()
}
let d = Dog()
d.whatThisDogSays = "arf"
let barkFunction = d.bark
doThis(barkFunction) // arf

Uruchamiamy ten kod i w konsoli pojawia się "arf"!

Być może ten wynik nie wydaje ci się zbyt zaskakujący. Ale pomyśl o tym. Nie wywołujemy bezpośrednio d.bark(). Tworzymy instancję Dog i przekazujemy jej funkcję bark jako wartość do funkcji doThis. Tam to się nazywa. Teraz whatThisDogSays jest właściwością instancji konkretnego psa. Wewnątrz funkcji doThis nie ma whatThisDogSays. Rzeczywiście, wewnątrz funkcji doThis nie ma instancji Dog! Niemniej jednak wywołanie f() nadal działa. Funkcja d.bark, w miarę jej przekazywania, ewidentnie niesie ze sobą zmienną whatThisDogSays. Ale to nie wszystko. Zmienię przykład, przesuwając linię, na którą ustawiliśmy d.whatThisDogSays po przypisaniu d.bark do naszej zmiennej barkFunction:

func doThis(_ f : () -> ()) {
f()
}
let d = Dog()
let barkFunction = d.bark (1)
doThis(barkFunction) // woof (2)
d.whatThisDogSays = "arf" (3)
doThis(barkFunction) // arf (4)

Co się stało?

(1) Przypisaliśmy d.bark do barkFunction, raz na zawsze; potem nigdy nie zmieniliśmy barkFunction.
(2) W tamtym czasie d.whatThisDogSays brzmiało "hau", więc przeszliśmy barkFunction do doThis i otrzymaliśmy "hau".
(3) Następnie zmieniliśmy d.whatThisDogSays na "arf". Nie zmieniliśmy funkcji barkFunction.
(4) Znowu przeszliśmy barkFunction do doThis i tym razem otrzymaliśmy "arf"!

Po utworzeniu zarówno d, jak i barkFunction, zmiana właściwości Dog d zmienia wyjście wywołania barkFunction! Jak to może być? Najwyraźniej po kroku 1, gdy d.bark został przypisany do barkFunction, zarówno nasza zmienna Dog d, jak i funkcja barkFunction przechowują odniesienia do tej samej instancji Dog. Dzieje się tak, ponieważ d.bark, który przypisaliśmy do barkFunction, odnosi się do self, czyli do instancji Dog. To właśnie mamy na myśli, gdy mówimy, że funkcja jest zamknięciem i że przechwytuje zewnętrzne zmienne, do których odwołuje się jej ciało.

Jak zamknięcia poprawiają kod

Możesz wykorzystać fakt, że funkcje są domknięciami, aby Twój kod był bardziej ogólny, a przez to bardziej użyteczny. Aby zilustrować, po raz kolejny, przedstawiam mój wcześniejszy przykład funkcji, która przyjmuje instrukcje rysowania i wykonuje je w celu wygenerowania obrazu:

func imageOfSize(_ size:CGSize, _ whatToDraw:() -> ()) -> UIImage
{
UIGraphicsBeginImageContextWithOptions(size, false, 0)
whatToDraw()
let result = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return result
}

Jak wiecie, możemy wywołać imageOfSize z końcowym zamknięciem:

let image = imageOfSize(CGSize(width:45, height:20)) {
let p = UIBezierPath(
roundedRect: CGRect(x:0, y:0, width:45, height:20),
cornerRadius: 8)
p.stroke()
}

Ten kod zawiera jednak irytujące powtórzenia. Jest to wezwanie do stworzenia obrazu o określonym rozmiarze, składającego się z zaokrąglonego prostokąta o tym rozmiarze. Powtarzamy rozmiar; para liczb 45,20 pojawia się dwukrotnie. To głupie. Aby uniknąć powtórzeń, na początku wstawmy rozmiar do zmiennej:

let sz = CGSize(width:45, height:20)
let image = imageOfSize(sz) {
let p = UIBezierPath(
roundedRect: CGRect(origin:CGPoint.zero, size:sz),
cornerRadius: 8)
p.stroke()
}

Zmienna sz, zadeklarowana poza naszą anonimową funkcją na wyższym poziomie, jest w niej widoczna. W ten sposób możemy odwołać się do niego wewnątrz funkcji anonimowej - i to robimy. Funkcja anonimowa to tylko treść funkcji; nie zostanie wykonane, dopóki imageOfSize go nie wywoła. Niemniej jednak, gdy odwołujemy się do sz z wnętrza treści funkcji w wyrażeniu CGRect(origin:CGPoint.zero, size:sz), przechwytujemy teraz jego wartość, ponieważ treść funkcji jest zamknięciem. Kiedy imageOfSize wywołuje whatToDraw, a whatToDraw okazuje się funkcją, której ciało odwołuje się do zmiennej sz, nie ma problemu, nawet jeśli w sąsiedztwie imageOfSize nie ma sz.Przejdźmy teraz dalej. Do tej pory ustalaliśmy na twardo rozmiar pożądanego zaokrąglonego prostokąta. Wyobraź sobie jednak, że tworzenie obrazów z zaokrąglonych prostokątów o różnych rozmiarach jest czymś, co często robimy. Sensowne byłoby spakowanie tego kodu jako funkcji, gdzie sz nie jest stałą wartością, ale parametrem; funkcja zwróci wtedy obraz:

func makeRoundedRectangle(_ sz:CGSize) -> UIImage {
let image = imageOfSize(sz) {
let p = UIBezierPath(
roundedRect: CGRect(origin:CGPoint.zero, size:sz),
cornerRadius: 8)
p.stroke()
}
return image
}

Niesamowicie, to działa! Parametr sz, który pojawia się w makeRounded Rectangle, nie jest już wartością zakodowaną na stałe; nie wiemy, co to będzie. Niemniej jednak po wywołaniu makeRoundedRectangle sz będzie miał wartość, a funkcja anonimowa przechwytuje sz, więc gdy imageOf Size wywołuje funkcję anonimową, sz wewnątrz tej funkcji będzie miał wartość sz, która została przekazana do makeRoundedRectangle. Nasz kod staje się pięknie zwarty. Aby wywołać makeRoundedRectangle, podaj rozmiar; zwracany jest obraz. Mogę wykonać połączenie, uzyskać obraz i wyświetlić go jednym ruchem, tak (self.iv jest UIImageView w interfejsie):

self.iv.image = makeRoundedRectangle(CGSize(width:45, height: 20))


Funkcja zwracania funkcji

Ale teraz pójdźmy jeszcze dalej! Zamiast zwracać obraz, nasza funkcja może zwrócić funkcję, która tworzy zaokrąglone prostokąty o określonym rozmiarze. Jeśli nigdy nie widziałeś funkcji zwracanej jako wartość z funkcji, możesz teraz łapać oddech. Ale w końcu funkcja może być używana jako wartość. Przekazaliśmy już funkcję do funkcji jako argument w wywołaniu funkcji; teraz otrzymamy funkcję z wywołania funkcji jako jej wynik:

func makeRoundedRectangleMaker(_ sz:CGSize) -> () -> UIImage { (1)
func f () -> UIImage { (2)
let im = imageOfSize(sz) {
let p = UIBezierPath(
roundedRect: CGRect(origin:CGPoint.zero, size:s
z),
cornerRadius: 8)
p.stroke()
}
return im
}
return f (3)
}

Przeanalizujmy ten kod powoli:

(1) Najtrudniejsza jest deklaracja. Jaki jest typ (podpis) tej funkcji makeRoundedRectangleMaker? Jest to (CGRozmiar) -> () -> UIImage. To wyrażenie ma dwa operatory strzałek. Aby to zrozumieć, należy pamiętać, że wszystko po każdym operatorze strzałki jest typem zwracanej wartości. Zatem makeRoundedRec tangleMaker to funkcja, która pobiera parametr CGSize i zwraca () -> UIImage. Ok, a co to jest () -> UIImage? Już to wiemy: jest to funkcja, która nie przyjmuje parametrów i zwraca UIImage. Zatem makeRoundedRectangleMaker jest funkcją, która pobiera parametr CGSize i zwraca funkcję - funkcję, która sama wywołana bez parametrów zwróci UIImage.
(2) Teraz znajdujemy się w ciele funkcji makeRoundedRectang leMaker, a naszym pierwszym krokiem jest zadeklarowanie funkcji (funkcji-funkcji lub funkcji lokalnej) dokładnie takiego typu, jaki zamierzamy zwrócić, a mianowicie takiej, która nie przyjmuje parametry i zwraca UIImage. Tutaj nazywamy tę funkcję f. Sposób działania tej funkcji jest prosty i znajomy: wywołuje imageOfSize, przekazując jej anonimową funkcję, która tworzy obraz zaokrąglonego prostokąta (im) - a następnie zwraca obraz.
(3) Na koniec zwracamy właśnie utworzoną funkcję (f). Wypełniliśmy naszą umowę: powiedzieliśmy, że zwrócimy funkcję, która nie przyjmuje parametrów i zwraca UIImage, i tak robimy.
Ale być może nadal patrzysz z otwartymi ustami na makeRoundedRectan gleMaker, zastanawiając się, jak byś to nazwał i co byś otrzymał, gdybyś to zrobił. Spróbujmy:

let maker = makeRoundedRectangleMaker(CGSize(width:45, height:20))

Jaki jest kreator zmiennych po uruchomieniu tego kodu? Jest to funkcja - funkcja, która nie przyjmuje parametrów i po wywołaniu daje obraz zaokrąglonego prostokąta o rozmiarze 45,20. Nie wierzysz mi? Udowodnię to - wywołując funkcję, która jest teraz wartością maker:

let maker = makeRoundedRectangleMaker(CGSize(width:45, height:2
0))
self.iv.image = maker()

Teraz, gdy już otrząsnąłeś się z zaskoczenia na myśl o funkcji, która w wyniku wytwarza funkcję, ponownie zwróć uwagę na implementację makeRoundedRectangleMaker i przeanalizujmy ją ponownie, w inny sposób. Pamiętaj, nie napisałem tej funkcji, aby pokazać, że funkcja może wytworzyć funkcję. Napisałem to, aby zilustrować zamknięcia! Zastanówmy się, jak przechwytywane jest środowisko:

func makeRoundedRectangleMaker(_ sz:CGSize) -> () -> UIImage {
func f () -> UIImage {
let im = imageOfSize(sz) { // *
let p = UIBezierPath(
roundedRect: CGRect(origin:CGPoint.zero, size:s
z), // *
cornerRadius: 8)
p.stroke()
}
return im
}
return f
}

Funkcja f nie przyjmuje parametrów. Jednak dwa razy w ciele funkcji f (miejsca oznaczyłem gwiazdkami) znajdują się odniesienia do wartości rozmiaru sz. Ciało funkcji f może zobaczyć sz, parametr otaczającej funkcji makeRoundedRectangleMaker, ponieważ znajduje się w otaczającym zasięgu. Funkcja f przechwytuje referencję do sz w momencie wywołania makeRoundedRectangleMaker i zachowuje tę referencję, gdy f zostanie zwrócone i przypisane do programu maker:

let maker = makeRoundedRectangleMaker(CGSize(width:45, height:20))

Dlatego maker jest teraz funkcją, która po wywołaniu tworzy i zwraca obraz o określonym rozmiarze 45,20, mimo że sama zostanie wywołana bez parametrów. Wiedza o tym, jaki rozmiar obrazu ma zostać wytworzony, została wykorzystana w funkcji, do której odwołuje się twórca. Patrząc na to z innej strony, makeRoundedRectangleMaker to fabryka do tworzenia całej rodziny funkcji podobnych do maker, z których każda tworzy obraz o określonym rozmiarze. To dramatyczna ilustracja potęgi zamknięć. Zanim opuszczę makeRoundedRectangleMaker, chciałbym przepisać go w sposób Swiftier. W ramach f nie ma potrzeby tworzenia im, a następnie zwracania; możemy zwrócić wynik wywołania imageOfSize bezpośrednio:

func makeRoundedRectangleMaker(_ sz:CGSize) -> () -> UIImage {
func f () -> UIImage {
return imageOfSize(sz) {
let p = UIBezierPath(
roundedRect: CGRect(origin:CGPoint.zero, size:s
z),
cornerRadius: 8)
p.stroke()
}
}
return f
}

Ale nie ma potrzeby deklarowania f, a następnie zwracania go; może to być funkcja anonimowa i możemy ją zwrócić bezpośrednio:

func makeRoundedRectangleMaker(_ sz:CGSize) -> () -> UIImage {
return {
return imageOfSize(sz) {
let p = UIBezierPath(
roundedRect: CGRect(origin:CGPoint.zero, size:s
z),
cornerRadius: 8)
p.stroke()
}
}
}

Ale nasza anonimowa funkcja składa się wyłącznie z instrukcji return; parametr funkcji anonimowej do imageOfSize składa się z wielu instrukcji, ale samo wywołanie imageOfSize jest wciąż tylko jedną instrukcją Swift. Możemy pominąć słowo kluczowe return (i moglibyśmy pominąć również pozostały zwrot, ale wolę tego nie robić):

func makeRoundedRectangleMaker(_ sz:CGSize) -> () -> UIImage {
return {
imageOfSize(sz) {
let p = UIBezierPath(
roundedRect: CGRect(origin:CGPoint.zero, size:s
z),
cornerRadius: 8)
p.stroke()
}
}
}








Cyberbezpieka…



Zrozumienie triady i obrony CIA

Specjaliści ds. bezpieczeństwa dbają o ochronę danych. Jest to często określane jako triada bezpieczeństwa CIA lub czasami triada CIA. To nie jest CIA jak Centralna Agencja Wywiadowcza. Oznacza poufność, integralność i dostępność [ang.] Twoich danych. Rozbijmy to. Dodamy do tego czwarty element zwany prywatnością, ale zacznijmy od poufności. Przede wszystkim musimy upewnić się, że dane są poufne. Innymi słowy, nieuprawnieni użytkownicy nie mają dostępu do danych. Zrobimy to za pomocą różnych mechanizmów, których już doświadczyłeś. Poprosimy Cię o zalogowanie się przy użyciu nazwy użytkownika i hasła, coś, co znasz. Przyjrzymy się również szyfrowaniu tych danych. Na przykład, jeśli ktoś ukradnie twój laptop, może nie mieć twojego hasła, ale jeśli wyciągnie dysk twardy, może być w stanie wyciągnąć z niego dane. Cóż, nie, jeśli zaszyfrujemy również te dane, a to wymaga przeszkolenia, a dobrym przykładem są drukarki. W biurze, jeśli miałeś zadanie drukowania, wydrukowałeś coś i zapomniałeś o tym i zostawiłeś na drukarce. Cóż, wyobraź sobie przez chwilę, że wydrukowałeś poufne informacje, które zostawiłeś na drukarce i każdy, kto podszedł do drukarki, mógł je nagle zobaczyć. Poufność jest bardzo ważnym elementem ochrony danych, ale nie jest to jedyny element. Jest też uczciwość. Integralność oznacza, że same dane są dobre. Jest spójny i dokładny i możemy ufać danym. Innymi słowy, nikt lub żadne złośliwe oprogramowanie nie dostało się i nie uszkodziło tych danych lub je zmieniło, a my robimy to, przeprowadzając audyt danych, śledząc zmiany w danych i sprawdzając, kto jest ostatnią osobą, która dokonała w nich zmian? Oprócz integralności innym ważnym aspektem jest dostępność. Chcemy mieć pewność, że dane są dostępne dla uprawnionych użytkowników, gdy potrzebują dostępu do tych danych, co oznacza, że możemy mieć pewne zabezpieczenia przed awariami lub redundancję, o których będziemy mówić później, aby zapewnić, że dane są dostępne. Jeśli stracimy serwer, nadal będę mógł uzyskać dostęp do tych danych. Z dostępnością będzie wymagać ciągłej konserwacji, takiej jak tworzenie kopii zapasowych i aktualizacji, plany odzyskiwania po awarii, ale dostępność jest ważna i dotyczy to nawet Twojego życia osobistego, kiedy zaczynamy mówić o jednym rodzaju złośliwego oprogramowania o nazwie ransomware. Twoje dane tam są, nie są dla Ciebie dostępne i możesz ich potrzebować. To również prowadzi nas do prywatności. To jest czwarta część z trzech odnóg triady CIA, a prywatność odnosi się do Ciebie i Twoich danych osobowych lub PII. Dzieje się tak niezależnie od tego, czy znajduje się w witrynie biznesowej, czy jest z Tobą osobiście, Twoimi danymi osobowymi, Twoją dokumentacją medyczną lub numerem ubezpieczenia społecznego. Być może nie chcesz, aby ludzie znali Twój adres. Cokolwiek to jest, jest z tobą lub może być z firmą, z którą robiłeś interesy, jeśli kupiłeś produkty. Te informacje muszą być chronione. Nie wszystko, ale rzeczy, które chcemy chronić. Ponadto organizacje mogą mieć bardzo specyficzne wymagania prawne. Kilka z nich to powszechnie znana ustawa o przenośności i odpowiedzialności w ubezpieczeniach zdrowotnych lub HIPAA dla instytucji medycznych w celu ochrony dokumentacji pacjentów. Również branża kart płatniczych dla kart kredytowych i kart debetowych. Istnieją poziomy zgodności dotyczące sposobu przeprowadzania tych transakcji. Czy można przechowywać numery kart kredytowych? A co z informacjami o osobie? Produkty, które kupili, daty, godziny, kiedy otrzymali te produkty, jak to jest przechowywane i czy jest dostępne dla każdego i dla kogo jest to upoważnione? Łączą się one w sposób, w jaki myślimy o ochronie danych. Poufność, integralność, dostępność i prywatność. Specjaliści ds. bezpieczeństwa nie myślą tylko o danych. Innymi słowy, czy dane są poufne? Czy ma integralność? Czy jest dostępny? Myślą też o tym, jak chronić te dane. Wyobraź sobie, że masz jakieś ważne poufne informacje na kartce papieru i wkładasz ją do zamkniętego sejfu. Cóż, sejf to jeden mechanizm, ale jeśli masz dobrego bezpiecznego crackera, dość łatwo jest dostać się do tego sejfu i ukraść te informacje. Koncepcja jest taka. Czy możemy budować warstwy bezpieczeństwa i to jest określane jako obrona dogłębna. Korzystanie z wielu procesów bezpieczeństwa w celu ochrony tych danych. Pomyśl o tym w ten sposób. Masz ten zamknięty sejf, ale powiedzmy, że umieściłeś go w pokoju, który jest również zamknięty, który wymaga skanera linii papilarnych, aby się do niego dostać, a ten pokój znajduje się w budynku, w którym są ochroniarze, którym muszą zeskanować odznakę zobacz, czy możesz się połączyć. Widzisz, jak budujemy na tym warstwy? To jest to, co specjalista ds. bezpieczeństwa chce zrobić z danymi i jest to ta sama rzecz, w której możesz pomóc w swojej firmie, co możesz zrobić również w swoim życiu osobistym. Dlatego specjaliści ds. bezpieczeństwa spędzają dużo czasu na organizowaniu, planowaniu i szukaniu sposobów łagodzenia różnych ataków. Mogą robić rzeczy zwane testami penetracyjnymi lub pentestami , które testują własne środowisko, aby sprawdzić, czy istnieją punkty ataku, które mogą zrobić. Opracują również plany odzyskania, analizy i naprawy sytuacji po ataku. Działy bezpieczeństwa będą również oferować szkolenia pracowników i zachęcam do sprawdzenia, czy to robią. Jeśli tak, skorzystaj z tego, ponieważ masz największy wpływ. Możesz poszerzyć swoją wiedzę i wykonywać zadania związane z bezpieczeństwem, które pomagają w sytuacji zarówno w Twojej firmie, jak i w domu. Co najważniejsze, zaczniesz zauważać, że coś jest nie tak, a potem możesz dać znać komuś innemu, o czym porozmawiamy na końcu tej książki. Do kogo możesz iść i wyjaśnić, że może być problem? To wszystko to bezpieczeństwo w biznesie. Jak myśleć o swoich danych? Czy dane są naprawdę bezpieczne przed nieautoryzowanymi użytkownikami? Czy jego integralność jest dobra? Jak możesz chronić się przed tymi danymi? Cóż, teraz nadszedł czas, aby w końcu się zagłębić i zacząć sprawdzać, przed czym go chronisz, różne rodzaje zagrożeń i exploitów, z którymi możesz się zmierzyć.


Zrozumienie zagrożeń, exploitów i ryzyka

Pytanie brzmi, kto cię atakuje i czym cię atakują? Znalezienie sposobów, w jakie możesz pomóc złagodzić ten problem, zarówno atakowanie Ciebie i Twojej firmy w celu uzyskania danych i informacji. Przyjrzymy się liście różnych rodzajów ataków, ale ważne jest, aby zapoznać się z terminologią i na co uważać. W tej sekcji przyjrzymy się zagrożeniom i źródłom zagrożeń oraz słabościom i lukom w twoim systemie. Te luki w zabezpieczeniach, które znajdują się w twoim systemie, będą tworzyć exploity, które osoba o złych zamiarach może następnie wykorzystać przeciwko tobie. Mogą również zautomatyzować te exploity, pisząc malware, czyli złośliwe oprogramowanie, które wykonuje za nich cały exploit. Atakujący nie muszą nawet być obecni, gdy to nastąpi. Istnieje złośliwe oprogramowanie, ale są też inne działania, takie jak socjotechnika, o których chciałbym wspomnieć, zanim przejdziemy dalej. Zanim zaczniemy, chciałbym Wam zwrócić uwagę, gdzie można uzyskać więcej informacji. Nie będę podawał wszystkich terminów, ale te najważniejsze. Strona internetowa, którą możesz odwiedzić, aby uzyskać dodatkowe informacje, nazywa się NIST lub National Institute of Standards and Technology. Możesz znaleźć, odwiedzając https://www.nist.gov/ . Gdy odwiedzisz witrynę, znajdziesz wiele świetnych informacji, szczególnie dla specjalistów ds. bezpieczeństwa, ale jest też lista słownictwa. Jeśli coś usłyszysz i chcesz wiedzieć, co to oznacza, możesz albo poszukać tego za pomocą ulubionej wyszukiwarki, albo przejść bezpośrednio do NIST i dowiedzieć się, jakie są kluczowe definicje. Mając to na uwadze, zacznijmy definiować, czym jest zagrożenie, co to jest luka w zabezpieczeniach, a co to exploit.

Zagrożenie

Oto definicja NIST dotycząca tego, czym jest zagrożenie. Każdy człowiek lub oprogramowanie, które może negatywnie wpłynąć na Ciebie, Twoją firmę, jakiekolwiek Twoje dane, wszystko, co mogłoby mieć na Ciebie negatywny wpływ, jest uważane za zagrożenie. Kiedy patrzymy na to z punktu widzenia bezpieczeństwa, takiego jak cyberbezpieczeństwo, tak naprawdę sprowadza się to do tego, czym jest źródło zagrożenia. Źródłem zagrożenia jest osoba lub środki, za pomocą których narażasz się na zagrożenie. Jednym z najczęstszych, o których usłyszysz najczęściej, jest złośliwe oprogramowanie, znane również jako złośliwe oprogramowanie. Jednak złośliwe oprogramowanie to nie jedyna rzecz, o której usłyszysz o innych źródłach zagrożeń. Cóż, termin haker to ogólne określenie kogoś, kto może powodować zagrożenie. W dawnych czasach termin haker był ujmującym określeniem, był to ktoś taki jak majsterkowicz, który potrafił przejść i wymyślić skomplikowane rzeczy i jak to działa. Jednak dzisiaj wokół hakera jest tak wiele negatywności, że używam go jako ogólnego złośliwego określenia na osobę, która próbuje zrobić coś złego. Mamy również termin Script Kiddie, który jest bardzo niedoświadczonym być może przyszłym hakerem, który korzysta z wielu gotowych narzędzi. Niestety zdarza się to często i może się zdarzyć w każdym przedziale wiekowym, od kogoś, kto ma 8 lat, do kogoś, kto ma 100 lat. Istnieją również źródła zagrożeń, takie jak Certified Ethical Hackers, ale w dobrym sensie. Przeprowadzają autoryzowane testy penetracyjne i mogą wykonywać autoryzowane skanowanie luk w zabezpieczeniach. Mogą zostać wynajęci, aby pomóc Ci upewnić się, że Twoja firma jest odpowiednio chroniona. Haktywiści to ludzie, którzy dokonują wyczynów dla własnych celów. Niekoniecznie robią to dla pieniędzy lub nawet dla danych, ale aby pokazać, że potrafią to zrobić, a jednym z najtrudniejszych do walki jest wtajemniczony, jakiś atakujący lub haker w środku, który jest niezadowolony i który zrobi coś, aby wpłynąć biznes. Wszystko to są źródła zagrożeń, które mogą generować zagrożenia, ale te zagrożenia, do czego oni zmierzają? To są luki w zabezpieczeniach.

Słaby punkt

Wcześniej wspomniałem o słabościach, które mogą narazić Twój system na zagrożenie, takie jak atakujący lub haker, który będzie próbował ukraść te informacje. Cóż, słabości są technicznie nazywane lukami. Luki w zabezpieczeniach to nie tylko słabości twojego systemu operacyjnego, ale mogą być także słabościami twoich procedur. Pomyśl o tym. Jaki jest pożytek z posiadania najbardziej zabezpieczonego systemu operacyjnego ze wszystkimi aktualizacjami, jeśli nie masz na nim hasła lub jeśli nie blokujesz go, gdy idziesz do toalety lub idziesz na lunch? Są to luki nie tylko w konkretnym urządzeniu lub produkcie, ale także w stosowanych procedurach. Wiele razy te luki, cóż, wynikają z prostych rzeczy, takich jak słabe hasła lub wielokrotne używanie hasła. Może to być tak proste, jak w danym systemie nie ma oprogramowania chroniącego przed złośliwym oprogramowaniem. Dowiesz się, jeśli jeszcze nie wiesz, że złośliwe oprogramowanie jest bardzo rozpowszechnione; łatwo się zarazić. Brak oprogramowania do ochrony przed złośliwym oprogramowaniem nie ma większego sensu. To samo w sobie jest wrażliwością. Co zrobić, jeśli system nie jest prawidłowo aktualizowany? Systemy operacyjne i aplikacje wymagają aktualizacji. Te aktualizacje często zawierają aktualizacje zabezpieczeń, które pomogą to wzmocnić oprogramowanie. Mimo to, jeśli aktualizacje nie są wykonywane, oznacza to wzrost luk w zabezpieczeniach. Ponadto słabe zarządzanie bezpieczeństwem i oceny, które się z tym wiążą. Niektóre firmy nie mają profesjonalnych zespołów ds. bezpieczeństwa, dlatego nic z tego nie jest realizowane. Nie skanują pod kątem luk w zabezpieczeniach, co oznacza, że wpływ jest jeszcze większy i odnoszę to do najprostszych rzeczy. Jeśli wstajesz rano i idziesz do pracy, czy zostawisz otwarte drzwi i okna? To jest luka w zabezpieczeniach. Chcesz je zablokować, a jeśli masz system bezpieczeństwa, chcesz mieć włączony system bezpieczeństwa. Są to sposoby na zamknięcie tych luk w zabezpieczeniach lub złagodzenie zagrożeń, które mogą na Ciebie nadejść.

Exploit

Mamy zagrożenie lub źródło zagrożenia, hakera, a haker wie, że masz pewne dane, których potrzebuje. Będą próbować cię lepiej zrozumieć. Będą próbować zrozumieć systemy komputerowe, z których korzystasz, i procesy, które stosujesz, aby mogli szukać luk w zabezpieczeniach. Gdy znajdą lukę, czy to techniczną, czy rutynową, teraz zamierzają ją wykorzystać. To, co zrobią, to czasami albo użyją narzędzia programowego, albo nawet napiszą własny zautomatyzowany proces, aby fizycznie nie musieli tego próbować w tym czasie. Mogą po prostu pozwolić, aby oprogramowanie wykorzystało lukę w zabezpieczeniach, aby uzyskać dostęp do Twoich danych. Jednym z innych powodów, dla których jest to zautomatyzowane, jest to, że mogą nie wykorzystywać tego tylko dla Ciebie. Mogą ścigać grupę ludzi lub całą twoją firmę. W ten sposób te trzy współpracują ze sobą. Przyjrzyjmy się, jakie są niektóre popularne exploity.


Zrozumienie złośliwego oprogramowania

Jeśli jesteś atakowany i ktoś próbuje wykorzystać exploita, jednym z najczęstszych sposobów, w jaki może to nastąpić, jest użycie złośliwego oprogramowania. Mówiliśmy już, że złośliwe oprogramowanie oznacza złośliwe oprogramowanie. To bardzo powszechny sposób. Możesz to uzyskać ze stron internetowych, możesz to uzyskać z wiadomości e-mail lub możesz to uzyskać, pobierając oprogramowanie. Istnieje wiele różnych sposobów na przekonanie się do złośliwego oprogramowania, nawet jeśli próbujesz się chronić. Istnieje kilka starszych terminów, robak i wirus. Dziś używamy terminu złośliwe oprogramowanie; jest to bardziej zaktualizowany termin i oznacza więcej niż tylko te starsze, ale robak był czymś, co mógł się dołączyć i replikować przez sieć. W latach 80. mieliśmy kilka pierwszych robaków internetowych. Wirusy to nieautoryzowane programy, które mogą robić złośliwe rzeczy, które zostały dołączone do plików, przechodzą przez dyski lub gdy kopiujesz te pliki, ale dziś wszystkie nazywamy złośliwym oprogramowaniem. Kilka innych rzeczy, które może mieć złośliwe oprogramowanie, które były powszechnie znane z wirusami, złośliwe oprogramowanie ma swój własny podpis. W ten sposób identyfikujemy, czy plik może być zainfekowany lub czy masz złośliwe oprogramowanie w swoim systemie, śledząc ten podpis. To jest jeden z powodów, dla których aktualizacja oprogramowania chroniącego przed złośliwym oprogramowaniem jest tak ważna, aby uzyskać najnowsze znane sygnatury. Wirusy ukrywające się i złośliwe oprogramowanie ukrywające się to również złośliwe programy, które wyglądają jak legalny program. Czasami trudno jest odróżnić; to powraca do tych sygnatur i jednego z pokonanych wyzwań, ale są to wirusy polimorficzne i złośliwe oprogramowanie. Wiedzą, jak zmieniać własne podpisy podczas replikacji, przez co trudniej je wyśledzić. Najnowsze oprogramowanie antywirusowe z najnowszymi aktualizacjami może znacznie pomóc w zwalczaniu tego typu exploitów. Oprócz niektórych dodatkowych złośliwych programów możesz usłyszeć o bombach zegarowych lub bombach logicznych. Mają bezpiecznik, który można uruchomić w określonym dniu lub wydarzeniu. Kiedy słuchasz wiadomości, możesz to usłyszeć, bądź ostrożny; upewnij się, że skanujesz swoje systemy pod kątem określonego złośliwego oprogramowania, ponieważ ma ono wybuchnąć w następny piątek. Jeśli zostałeś zainfekowany, możesz nawet nie wiedzieć o tym do dnia, w którym się pojawi, ale aktualne oprogramowanie antywirusowe może w tym pomóc. Bomby zegarowe słyną z ataków wewnętrznych, ale nie tylko. Masz również coś, co nazywa się końmi trojańskimi, w których atakujący umieszczają swój ładunek w programie, który jest już zaufany przeciętnemu użytkownikowi końcowemu. Następnie złośliwy kod przechodzi w coś, co prawdopodobnie istnieje w systemie. Istnieje również wiele programów szpiegujących, które monitorują to, co robisz i jaka jest aktywność Twojego systemu w celu zbierania informacji o Tobie. Moim zdaniem jedną z najgorszych rzeczy jest oprogramowanie ransomware. Oprogramowanie ransomware jest diaboliczne, a bycie zainfekowanym przez oprogramowanie ransomware oznacza, że czeka Cię zły dzień lub tydzień. Ransomware infekuje twój system, a następnie ma na sobie bombę zegarową, która wywoła określone zdarzenie w określonym dniu o określonej godzinie. Gdy się wyłączy, zaszyfruje twoje pliki, dzięki czemu nie będziesz już mógł uzyskać do nich dostępu. Ale zanim się wyłączy, na ekranie pojawi się komunikat wyjaśniający, że jeśli zapłacisz trochę Bitcoinów na określony adres portfela (podany na ekranie oprogramowania ransomware), możesz uzyskać dostęp do swoich plików. Jeśli uważasz, że to żart i po prostu nie przejmujesz się tym, ponieważ myślisz, że możesz przejść do Netflix i dalej oglądać MR Robot lub cokolwiek, co jest Twoim ulubionym programem telewizyjnym, pomyśl jeszcze raz. Gdy już będziesz mieć ransomware, nie tylko twoje pliki zostaną zaszyfrowane, ale cały twój laptop będzie całkowicie bezużyteczny. Wiem, o czym myślisz! Myślisz, że możesz po prostu wyłączyć komputer lub laptopa, a następnie ponownie włączyć, prawda? Cóż, po ponownym włączeniu laptopa oprogramowanie ransomware będzie na Ciebie czekać. Jedyną opcją, jaką umożliwia oprogramowanie ransomware, jest dokonanie płatności w Bitcoin. Teraz zastanawiasz się czym do diabła jest Bitcoin, skąd go zdobyć i jak go przetransferować? Cóż, większość ekranów ransomware jest na tyle uprzejma, że dostarcza informacji o Bitcoin, skąd go zdobyć i jak dokonać płatności. Znam kilka osób, które w przeszłości miały do czynienia z oprogramowaniem ransomware, a konkretnie z oprogramowaniem ransomware WannaCry. Ransomware bardzo trudno się pozbyć. Bardzo trudno go wyczyścić. Albo powinienem powiedzieć, że nie możesz zrobić nic innego niż dokonać płatności, jeśli chcesz odzyskać swoje pliki. Lub kup nowy laptop. Wraca to do znaczenia dobrych praktyk i procedur, ale także dobrego oprogramowania anty-malware. Ostatnia na naszej liście, ale nie do końca kompletna, jest to, że mam nadzieję, że nie musisz się tym zbytnio zajmować, ale adware. To są komunikaty wyskakujące. Wiele razy zobaczysz to w przeglądarkach, gdy ludzie instalują wiele losowych pasków narzędzi. Zaczną pojawiać się te wszystkie wyskakujące okienka w każdym miejscu. Coś innego, o czym usłyszysz, to ataki SQL Injection, które są atakami na bazę danych, zwykle za pośrednictwem witryny internetowej, która atakuje bazę danych, aby spróbować otworzyć tę bazę danych, aby uzyskać z niej dane. Może to mieć wpływ nie tylko na Twoją firmę, ale także na Ciebie w domu. Jeden z najgorszych ataków nazywa się atakami dnia zerowego. Nie przesadza, jak ransomware, ale ataki dnia zerowego oznaczają, że Twój program antywirusowy nie ma na to sygnatur. Nie wiemy, co to jest. Został wydany, jest zupełnie nowy i nikt nie wymyślił, jak go wyczyścić, ani nawet, że może istnieć w twoim systemie i w jaki sposób dostał się do twojego systemu. Ataki dnia zerowego już miały miejsce i będą następować w przyszłości; pytanie brzmi, jak daleko mogą się rozprzestrzenić i uwolnić swój ładunek, zanim zostaną wykryte. Pojawia się to, jeśli masz najnowsze aktualizacje systemu operacyjnego i anty-malware. Ataki dnia zerowego mogą na ciebie wpłynąć, ale nadal możesz być na tyle przed krzywą, że nie będą. Jest coś więcej niż złośliwe oprogramowanie. Istnieją inne rodzaje ataków, z którymi możesz się spotkać, rzeczy, do których możesz zostać wykorzystany. Przyjrzyjmy się niektórym z tych innych rodzajów ataków. Istnieją inne działania, rzeczy, które mogą się zdarzyć, które mogą Cię popchnąć i dobrowolnie umieścić złośliwe oprogramowanie w systemie. Tak, dobrowolnie, wierz w to lub nie. Jedną z tych, na których lubię się skupiać, jest socjotechnika. Inżynieria społeczna to zdolność jednego człowieka do nakłonienia innego człowieka do zrobienia czegoś, co da mu dostęp. Udawaj przez chwilę, że dzwonię do ciebie przez telefon i jesteś w swoim biurze. Mówię, że jestem z DHL i podaję referencje od DHL dotyczące tego, kim jestem i mam paczki na dzisiejszą dostawę, która ma nastąpić. Ale potrzebuję podpisu klienta, więc jeśli możesz wejść na tę stronę i po prostu zaznaczyć tutaj do podpisu, natychmiast wyślemy sterownik i dostarczymy go do Ciebie. Cóż, jeśli to zrobisz, kiedy wejdziesz na tę witrynę, nie będzie to witryna DHL, tylko witryna, którą założyłem, a kiedy klikniesz autoryzację, aby dostarczyć te paczki, ja Zainstaluję złośliwe oprogramowanie w twoim systemie. Innymi słowy, nakłoniłem cię do zrobienia czegoś. Być może uda mi się oszukać Cię, resetując czyjeś hasło lub podając mi więcej informacji o sobie, niż prawdopodobnie chciałeś. To inżynieria społeczna. Interakcji międzyludzkiej trudno jest zapobiec, a wiele firm poświęca dużo czasu na szkolenie pracowników w zakresie tego, co mogą, a czego nie mogą powiedzieć, aby temu zapobiec. Inna ludzka interakcja zwana pharmingiem to próba uzyskania danych uwierzytelniających lub innych danych osobowych w taki sposób, że możesz zobaczyć coś, co przekierowuje Cię do witryny, która Twoim zdaniem jest zaufana. Rejestratory klawiszy to oprogramowanie lub elementy sprzętu, które zbierają naciśnięcia klawiszy. Jedną z rzeczy, które zamierzam zrobić za pomocą socjotechniki, jest nakłonienie Cię do zainstalowania złośliwego oprogramowania, które będzie następnie śledzić informacje o Tobie, na przykład coś w rodzaju keyloggera. Jest też kilka dodatkowych zajęć. Rozproszona odmowa usługi lub po prostu odmowa usługi. Znane są również jako DOS i DDOS. Odmowa usługi oznacza, że będziemy mieć bota, zombie lub botnet, który jest zautomatyzowanym oprogramowaniem, które będzie stale próbowało komunikować się z Twoją witryną. Botnet oznacza roBOT-NETwork. Będzie stale próbował otworzyć twoją witrynę. W rzeczywistości będzie to robić tak często, że nie pozwoli nikomu innemu wejść na stronę. Atak typu Distributed Denial of Service polega na tym, że mam zamiar mieć wiele botów w wielu lokalizacjach, które atakują witrynę. Często może to spowodować usunięcie znacznie większych witryn internetowych, a cały pomysł polega na tym, aby powstrzymać tę witrynę przed wykonywaniem swojej pracy. Gdyby tak się stało w Twojej firmie, nagle nie mogłeś sprzedawać produktów. Klienci nie mogli wychodzić i szukać rzeczy, przeglądać recenzji lub dać karty kredytowej, ponieważ nie mogą dostać się na stronę internetową, aby coś kupić, ponieważ została zamknięta. Podszywanie się to coś, w czym atakujący będzie próbował naśladować kogoś lub coś, komu ufa. Często dzieje się to w sieciach z czymś, co nazywamy podszywaniem się pod Maca, gdzie moje urządzenie normalnie nie mogłoby nawet połączyć się z twoją siecią, ponieważ twój zespół ds. bezpieczeństwa sieci zablokował je. Ale wymyśliłem sposób, w jaki mogę sprawić, by moje urządzenie wyglądało jak autoryzowane i dlatego korzystam z sieci, zmieniając adres Maca na adres zaufany w sieci. Adres Mac jest również znany jako fizyczny adres urządzenia końcowego, takiego jak laptop, komputer, tablet, telefon komórkowy, a nawet kamera CCTV. Adresów Mac, takich jak adresy IP, nie można zmieniać. Ale jeśli naprawdę używasz odpowiednich narzędzi, takich jak Kali Linux lub dowolna aplikacja do zmiany Maca, możesz zmienić swój adres fizyczny i pojawić się jako zaufane urządzenie, a otrzymasz dostęp do sieci. Wyłudzanie informacji to ćwiczenie mające na celu nakłonienie Cię do ujawnienia poufnych informacji. Phishing to szersza kategoria i chcę, abyś pomyślał o tym jak o wędkowaniu. Wyrzucasz kij, linka wpada do wody i gdzieś wzdłuż liny ryba może ją złapać i złapać, a potem jemy obiad. Tym właśnie jest ten atak; czasami widzisz to jako e-mail. Dam ci przykład. Dostaję wiadomość e-mail, która wygląda jak z mojego banku, która mówi: "Cześć, na Twoje konto został przelew w wysokości 10 000 USD, wystarczy kliknąć tutaj, zalogować się na stronie, aby zakończyć i autoryzować tę transakcję". Jest to e-mail, który chce, abym kliknął, który nie prowadzi do witryny mojego banku, ale do czegoś, co wygląda jak witryna mojego banku, a następnie pozwala mi się zalogować, a tym samym uzyskać moje dane uwierzytelniające do mojego rzeczywistego banku. Byłbyś zdumiony, jak wielu ludzi się na to nabiera, a to jest wyzwanie. Phishing polega na tym, że dopadnę was wszystkich, jeśli wyślę ten e-mail. Zamiast tego dostanę tylko mały procent ciebie, ale ten procent wystarczy. Istnieje inny termin związany z phishingiem, zwany spear phishingiem, który jest bardziej ukierunkowanym atakiem skierowanym na konkretną osobę zamiast wysyłania wiadomości e-mail do szerokiego grona osób. To nie jest pełna lista innych działań, ale są to niektóre z tych dużych, które mają na celu uświadomienie ci prób, które zostaną podjęte, aby uzyskać od ciebie informacje. Kiedy zaczniesz myśleć o wszystkich rodzajach zagrożeń i źródłach zagrożeń, lukach w zabezpieczeniach, exploitach, wszystkich rzeczach, które ktoś może próbować zrobić, aby zdobyć Twoje dane lub dane w Twojej firmie, może to stać się przerażające. Rzeczy takie jak wszystkie złośliwe oprogramowanie i wszystkie inne działania, ale pamiętaj o czymś. Mamy sposoby na odparcie i mamy sposoby na walkę z tym. Możemy nawet przyjąć proaktywne podejście, starając się być o krok przed grą, a Ty robisz to, ucząc się takich rzeczy, ucząc się niektórych słówek i ucząc się, jak możesz komunikować się z innymi ludźmi w swoim środowisku, abyś mógł ograniczyć tego typu ataki. W rzeczywistości porozmawiajmy o bardziej proaktywnym podejściu do bezpieczeństwa; zróbmy proaktywne podejście do bezpieczeństwa.


Złośliwe oprogramowanie i ogólne środki zaradcze

Jeśli podążałeś tak daleko, wiesz, że jest tam cała masa przerażających rzeczy. Cóż, teraz przyjrzyjmy się, co profesjonalista ds. bezpieczeństwa i Ty możecie zrobić jako bardziej proaktywne podejście, kilka podstawowych ogólnych wskazówek do przemyślenia i terminologia, która się z tym wiąże. Przyjrzymy się tutaj takim rzeczom, jak to, co robią zespoły ds. bezpieczeństwa, aby być bardziej proaktywnym. Ponadto, jakie są niektóre proaktywne rzeczy, które możesz zrobić jako środki zaradcze wobec złośliwego oprogramowania i niektóre z innych rzeczy, które mogą stanowić problem. Zacznijmy najpierw od tego, co zespoły ds. bezpieczeństwa mogą zrobić, aby być bardziej proaktywnym. Specjaliści ds. bezpieczeństwa i zespoły ds. bezpieczeństwa dokładają wszelkich starań, aby zachować jak największą proaktywność, gdy szukają obrony przed nowymi atakami, ponieważ codziennie dzieją się nowe rzeczy. Ponieważ instalowane jest nowe oprogramowanie, które musimy sprawdzić pod kątem luk w zabezpieczeniach, jest to ważna część pracy i, co dziwne, możesz zrobić to samo. Niektóre z rzeczy, które zrobią, to analiza i ocena ryzyka. Ustal, że jeśli na przykład zainstalują nową aplikację, na jakie rodzaje ryzyka mogą się narażać. Czy otwierają dziury lub luki w systemie i jak najlepiej się przed nimi chronić. Przeprowadzą również intensywne skanowanie podatności, co oznacza również testy penetracyjne, w których sami mogą przeprowadzać testy penetracyjne. Oznacza to, że będą próbowali włamać się do systemu lub mogą nawet zatrudnić zewnętrzną firmę znaną jako Certified Ethical Hacker lub white hat, która działa w branży, która zajmuje się tym zawodowo. Jedną z interesujących rzeczy, które czasami robią zespoły ds. bezpieczeństwa, jest próbne testowanie własnych ludzi, takie jak pozorowane ataki phishingowe. To musi być coś, co ostatnio zrobiła pewna firma i jest to ciekawe ćwiczenie, ale niektórzy ludzie odbierają to w niewłaściwy sposób. Innymi słowy, dział IT wysłał wiadomość e-mail, która wyglądała tak realistycznie, że była e-mailem ataku phishingowego. Nie zainstalował złośliwego oprogramowania, ale jest rejestrowane, kto kliknął link. Ma to na celu zrozumienie, jak efektywne było szkolenie użytkowników końcowych. Ten styl ataków phishingowych za pośrednictwem poczty e-mail jest coraz lepszy. Specjaliści ds. bezpieczeństwa chcą zobaczyć, jaki będzie wpływ. Może to również prowadzić do większej liczby szkoleń pracowników, co jest dobre. To samo stanie się z tobą, jeśli jeszcze się nie stało. Otrzymasz e-mail z prośbą o zrobienie czegoś, czego nie powinieneś robić. Jeśli otrzymasz wiadomość e-mail od swojego banku, idź i zadzwoń do banku, nie klikaj wiadomości e-mail i przejdź do czegoś, co może być niewłaściwym rodzajem rzeczy. Wraz z tym jest kilka dodatkowych rzeczy, które zrobi zespół ds. Bezpieczeństwa. Odzyskiwanie po awarii i ciągłość biznesowa kręcą się wokół, jeśli jesteśmy atakowani lub atak się udaje, w jaki sposób mogę zapewnić, że firma może odzyskać siły po ataku, ale co ważniejsze, pozostać otwartym na biznes. To jest ciągłość biznesowa. Wiele rzeczy, takich jak technologie chmurowe i różne technologie odporne na awarie, umożliwiło nam utratę konkretnej bazy danych w wyniku ataku, cóż, nadal mamy kolejną kopię tej bazy danych, która może działać i być dostępna, aby klienci nadal można kupować produkty. To bardzo ważna część procesu utrzymania ciągłości biznesowej. Coś innego, co może wdrożyć zespół ds. bezpieczeństwa, to wykrywanie włamań i system zapobiegania włamaniom. Jest to bardzo powszechne w wielu środowiskach. To, co robi, to skanowanie całego ruchu w sieci w celu wykrycia typowych rodzajów ataków. Jeśli to wykryje, zaalarmuje nas o tym. W systemie prewencyjnym nie tylko wykrywa atak, ale także go wyłącza. Są to popularne systemy, które są instalowane w sieciach w Twojej firmie, aby wspierać i chronić Twoje środowiska przed atakami. Jeśli chodzi o złośliwe oprogramowanie, Ty i profesjonalny zespół ds. Bezpieczeństwa będziecie robić to samo. Gdy próbujesz zapobiec złośliwemu oprogramowaniu, potrzebujesz oprogramowania chroniącego przed złośliwym oprogramowaniem, znanego również jako oprogramowanie antywirusowe. To, co chcesz, aby to oprogramowanie zostało zainstalowane w twoim systemie. Musi wykonywać okresowe skany. Musi być aktualny i jest to jedna z rzeczy, o których ludzie zapominają. Jeśli oprogramowanie nie jest aktualne, nie ma najnowszych sygnatur złośliwego oprogramowania, a bez najnowszych sygnatur nie możemy go wykryć. Dlatego musi być aktualny. Powinien być w stanie skanować załączniki do wiadomości e-mail. Powinien być w stanie wyczyścić i poddać kwarantannie zagrożenia, co oznacza usunięcie ich z systemu, a nie tylko poinformowanie o zagrożeniu. Jeśli robisz to jako specjalista ds. Bezpieczeństwa, będziesz chciał mieć ochronę konfiguracji przed użytkownikami. Innymi słowy, jako użytkownik nie chcemy, abyś wchodził do komputera systemowego i zmieniał sposób działania oprogramowania chroniącego przed złośliwym oprogramowaniem. Zawsze upewnij się, że masz kopię zapasową. Na przykład, jeśli spojrzysz na oprogramowanie ransomware WannaCry, jedynym sposobem na wydostanie się z niego w jego konkretnym przypadku, innym niż zapłacenie Bitcoina, aby uzyskać do niego hasło, jest wyczyszczenie systemu i przywrócenie go. Jeśli nie masz kopii zapasowej, oznacza to, że stracisz dane. Zawsze, tak jak każdy specjalista ds. bezpieczeństwa, upewnij się, że masz kopie zapasowe w sieci lub w swojej firmie. Jako specjalista ds. bezpieczeństwa musisz mieć pewność, że masz kopie zapasowe, a jedną z najważniejszych rzeczy są poprawki i aktualizacje. Nie tylko oprogramowanie chroniące przed złośliwym oprogramowaniem, ale wszystko, takie jak system operacyjny, tablety, telefony, wszystkie wymagają aktualizacji. Wiele razy ludzie myślą, no cóż, te aktualizacje dają mi dodatkowe funkcje, których nie potrzebuję. To nie o to chodzi. Wiele z tych aktualizacji to aktualizacje zabezpieczeń, które pomagają chronić Cię przed złośliwym atakiem. Ogólnie rzecz biorąc, jest wiele rzeczy, które możesz zrobić, aby sobie pomóc i pomóc firmie iść naprzód w zapobieganiu nagłym atakom. Przede wszystkim świadomość użytkownika. To jest idea zarówno firmy, jak i Ciebie na bieżąco. Czasami firma ma coś, co nazywa się tablicą zagrożeń, w której opublikuje najnowsze ataki, wyjaśni, czym są te ataki i co należy zrobić, aby je złagodzić. Jeśli Twoja firma to posiada, skorzystaj z tego; jeśli tego nie ma, zapytaj, dlaczego nie. Chcesz także przeszkolić użytkowników w zakresie ataków socjotechnicznych. Im więcej dowiesz się o tym, jak ktoś może próbować namówić Cię na telefon, abyś zrobił coś, czego nie powinieneś, tym lepiej będziesz; tak trudno im zapobiec. Potem jest ogólne szkolenie użytkowników, rzeczy, które możesz zrobić, aby każdy mógł być przeszkolony; wylogować się ze stacji roboczej, zwłaszcza jeśli idziesz na lunch, coś takiego, aby Twoja stacja robocza nie była widoczna. Ten pomysł na politykę czystego biurka, papiery leżące na biurku, mogą zawierać poufne informacje. Nie chcesz, żeby ludzie po prostu przechodzili obok i na to patrzyli. Czasami firmy stosują politykę czystego biurka, w której na biurku nie ma żadnych dokumentów. Zasada czystego ekranu oznacza, że komputer zostaje zablokowany; na ekranie nie ma żadnych danych i mamy politykę haseł. Polityka haseł oznacza, że nie używasz ponownie swoich haseł na różnych stronach internetowych i upewnij się, że masz silne, złożone hasła, które bardzo trudno byłoby zaatakować. Połączone te elementy ogólnie pomogą Ci być bardziej prewencyjnym w miarę postępów w zabezpieczaniu Twoich rzeczy, poufności Twoich danych i danych Twojej firmy. To prowadzi nas do podsumowania tej sekcji o tym, jak być bardziej proaktywnym w swoim życiu dzięki bezpieczeństwu. Robienie rzeczy, które mogą pomóc w zapobieganiu złośliwemu oprogramowaniu, dobremu oprogramowaniu chroniącemu przed złośliwym oprogramowaniem, podejmowaniu dobrych środków zaradczych, polityce czystego biurka, skomplikowanym hasłom, nie używaj ponownie swoich haseł. Te rzeczy mogą być proaktywne, aby zapobiec atakom złośliwego oprogramowania lub ataków.


Jak zgłosić złośliwe oprogramowanie

Jeśli uważasz, że zostałeś zaatakowany lub uważasz, że mogłeś zostać zaatakowany i istnieje różnica, będziesz chciał to zgłosić. Jeśli pracujesz w swojej firmie, będziesz chciał komuś o tym powiedzieć. Jeśli jesteś w domu, możesz zostać sam na sam, ale jest też najlepszy sposób, aby to zgłosić. To jest to, na czemu chcemy się tutaj przyjrzeć, to co robisz, gdy myślisz, że zostałeś zaatakowany, i to jak zgłosić to firmie i jak zgłosić wszelkie ataki osobiste, które mogły mieć miejsce i cóż, tam jest ostatecznym, możesz zgłosić to na policję. Wyobraź sobie, że idziesz do pracy, logujesz się do komputera i coś jest nie tak. Być może zauważyłeś podejrzanie wyglądający e-mail w Twojej skrzynce odbiorczej lub komputer zaczął działać wolno lub właśnie uruchomiłeś edytor tekstu i zobaczyłeś błysk dziwnej wiadomości. Może to być nawet coś tak prostego, jak wiadomość na ekranie, że jesteś zainfekowany złośliwym oprogramowaniem. Niezależnie od przypadku, czas zgłosić to komuś innemu i oto ważna rzecz. Wiele firm ma na to odpowiednią procedurę i chcę Cię do tego zachęcić, aby upewnić się, że sprawdziłeś w swojej firmie, jakie są procedury. Jeśli Twoja firma ma bardzo konkretne procedury i przestrzega ich, możesz podjąć natychmiastowe działania. Chcesz się upewnić, że meldujesz się, aby zobaczyć, jakich procesów i procedur należy przestrzegać. Wiele razy będzie wyznaczony kontakt bezpieczeństwa. Będzie to osoba, do której możesz zadzwonić lub przekazać wiadomości e-mail lub wysłać coś, do czego uważasz, że stanowi problem, a jej zadaniem jest przyjrzenie się tej sprawie i porozmawianie z Tobą w celu rozwiązania problemu. W Twojej firmie jest również wielu specjalistów ds. Bezpieczeństwa i chociaż możesz mieć określony dział bezpieczeństwa, niektóre firmy nie. Ci specjaliści wchodzą w interakcje z innymi częściami firmy. Może to być wewnętrzny dział IT, do którego dzwonisz lub do którego się zgłaszasz, lub może to być Twój wewnętrzny help desk, do którego zadzwonisz i powiesz, że uważasz, że coś jest nie tak. Ostatni przypadek jest taki, że jeśli nie masz żadnego z powyższych lub odpowiedniej procedury, powinieneś poinformować kogoś, na przykład swojego bezpośredniego przełożonego. To może być bardzo szkodliwy atak; może to być w ogóle nic, ale to w porządku. Lepiej być bezpiecznym niż żałować. Upewnij się, że kontaktujesz się z kimś w organizacji, co zrobić i jakie kroki podjąć dalej. Czasami atak nie ma nic wspólnego z Twoją firmą, dotyczy tylko Ciebie. Możesz zauważyć, że otrzymujesz dziwny e-mail na swoje konto osobiste z banku, który nie wygląda tak, jak powinien. Możesz zauważyć, że dostajesz rachunek z gabinetu lekarskiego, który wydaje się nie być prawidłowy. W przypadku tego rodzaju ataków chcesz skontaktować się z firmami, które również są w to zaangażowane. Świetnym przykładem jest wiadomość phishingowa, o której wspomniałem wcześniej. Najlepszą rzeczą, jaką możesz zrobić, to zadzwonić do swojego banku. Nie klikaj w link, nie idź tam, gdzie e-mail chcesz, ale zadzwoń do banku i zapytaj o tego e-maila, który otrzymałem. Bank poinformuje Cię o natychmiastowym usunięciu wiadomości e-mail. W innym przypadku, jeśli otrzymasz dziwny rachunek z gabinetu lekarskiego, zadzwoń do gabinetu lekarskiego. Nie próbuj po prostu opłacić rachunku drogą elektroniczną, jeśli wygląda na to, że nie jest to rachunek, który powinieneś otrzymać. Nie byliby pierwszymi lekarzami, którzy zhakowali informacje o swoich klientach. Ponadto, jeśli uważasz, że masz atak, upewnij się, że Twoje oprogramowanie antymalware jest aktualne. Upewnij się, że masz łatki i aktualizacje podpisów i wykonujesz pełne skanowanie, a jeśli jest to coś związanego z bankiem i wygląda na to, że to oszustwo, być może będziesz musiał anulować swoje karty kredytowe. Tak się składa, że wydaje się, że dziś banki często się tym zajmują. Mogą anulować kartę za Ciebie, a w wielu przypadkach po prostu anulują ją za Ciebie i wyślą Ci nową. Jest jeszcze coś, z czego możesz skorzystać, a ludzie mają na ten temat różne opinie. Produkty, które mają na celu zapobieganie kradzieży Twojej tożsamości, które mogą Cię ostrzec, są świetnym oprogramowaniem monitorującym, które może ostrzec Cię o osobach, które prawdopodobnie próbują użyć Twojego imienia i nazwiska, otworzyć pożyczki lub skorzystać z kont, które nie zostały wykonane przez Ciebie. Tego rodzaju oprogramowanie może być bardzo korzystne. Co zrobić, jeśli wszystko inne zawiedzie lub jesteś atakowany, straciłeś dużo pieniędzy, masz problemy z zamknięciem niektórych kart kredytowych przez bank? Pod koniec dnia możesz wybrać ostateczny, czyli zgłosić to na policję. Istnieją inne organizacje, którym można zgłosić, ale jest to powszechne, nawet jeśli firmy zgłaszają różne rzeczy, zwłaszcza w trakcie ataku, aby można było to zgłosić. Zwykle badają rzeczy, które mają konsekwencje finansowe, możliwe do udowodnienia konsekwencje finansowe, ale zawsze możesz to sprawdzić w ostateczności. Mam nadzieję, że te informacje okażą się pomocne przy zgłaszaniu konkretnego incydentu specjalistom ds. bezpieczeństwa w Twojej firmie lub dzwoniąc do banku, a nawet FBI. Oto niektóre z podstawowych często używanych terminologii i sposób myślenia specjalistów ds. bezpieczeństwa, co starają się zrobić i jak możesz być częścią rozwiązania, aby im pomóc, oraz w jaki sposób Twoja świadomość może pomóc Ci nie tylko w Twojej firmie, ale w domu z własną tożsamością i kontami.


Ataki na urządzenia przenośne

Potrzebujemy dostępu do naszych danych bez względu na to, gdzie się znajdujemy, czy to w domu, biurze, samochodzie, podróży czy locie do innego kraju, nie ma znaczenia, chcemy mieć dostęp do naszych danych. Oznacza to jednak, że musimy chronić te dane, gdy jesteśmy w tranzycie i kiedy używamy tych danych i jesteśmy w stanie je usunąć. Zacznijmy więc szukać, jak znaleźć te dane, które chcemy chronić. Przede wszystkim, czego chce cyberprzestępca? Jakich danych szukają, zarówno w Twojej firmie, jak i w Twoim domu? Jak zinwentaryzować i zlokalizować swoje dane? Gdzie są miejsca, w których będą znajdować się dane, na których najbardziej Ci zależy? Zaskakujące jest to, że większość ludzi nie zdaje sobie sprawy z wielu z tych konkretnych lokalizacji. Następnie przyjrzymy się trybom danych, jak wyglądają dane, gdy są przesyłane i kiedy są w spoczynku. Co konkretnie musimy chronić? Cóż, to dane, ale jak i dlaczego musimy je chronić? Coś jeszcze, o czym chcę wspomnieć, to przechwytywanie komunikacji podczas podróży i jak tego uniknąć. Zacznijmy więc od danych w Twojej firmie i w domu. Cyberprzestępcy chcą Twoich danych. Zabiorą wszystko, ale chcą konkretnych danych, które pomogą im dostać się na twoje konta bankowe, pomóc im dostać się na konta bankowe twojej firmy, pomóc im dowiedzieć się o tobie, aby mogli przejąć twoją tożsamość, lub mogą coś z tym zrobić Twoja firma, aby wpłynąć na działalność Twoich klientów. Czego więc chce cyberprzestępca? W przypadku Twojej firmy chcą mieć cokolwiek wspólnego z informacjami o klientach, aby mogli uzyskać dostęp do tych klientów, na przykład do ich kont bankowych. Chcą własności intelektualnej na temat firmy, informacji księgowych, wszystkiego, co mogą zebrać, co mogą wykorzystać na swoją korzyść. To samo, jeśli chodzi o Ciebie i Twoje życie osobiste. Chcą uzyskać wszelkie informacje o Tobie, które pozwolą im przejąć Twoją tożsamość, konta bankowe, informacje medyczne lub cokolwiek innego. Chcą wszystkiego, czego mogą użyć, aby namierzyć Cię i uzyskać kontrolę nad Twoją tożsamością. Dzięki urządzeniom przenośnym ułatwiamy cyberprzestępcom. Podróżujemy z tymi wszystkimi danymi wokół nas i musimy być bardzo ostrożni. Nie chodzi tylko o kradzież fizycznego urządzenia, chodzi o to, jak z niego korzystamy i czy dane te są podatne na uzyskanie do nich dostępu przez przestępców. Właśnie temu chcemy zapobiegać. Aby uniemożliwić cyberprzestępcom zabranie Twoich danych, musisz zastanowić się, gdzie mogą znajdować się Twoje dane. Myślisz, że będzie na moim urządzeniu mobilnym i masz rację. Ale pomaga również zrozumieć, gdzie konkretnie mogą znajdować się te dane. Po pierwsze, dane są przechowywane na Twoich urządzeniach, laptopach, telefonach, tabletach w wielu różnych lokalizacjach na wiele różnych sposobów, a jednym z nich są aplikacje. Kiedy korzystasz z przeglądarki internetowej i surfujesz po Internecie, ta przeglądarka naprawdę nie przechowuje wiele o Tobie. Jeśli jednak wchodzisz na stronę internetową lub korzystasz z aplikacji, która prosi o zalogowanie, prawdopodobnie przechowuje ona Twoje dane uwierzytelniające lub przynajmniej część z nich lokalnie. Podobnie dane, których używasz z tą aplikacją, czy to medyczne, czy bankowe, niektóre z tych danych mogą być również przechowywane lokalnie. Chcesz o tym pomyśleć, nie tylko o tym, że cyberprzestępca go ukradnie, ale także czy musisz upewnić się, że masz kopię zapasową na wypadek utraty urządzenia? Inne miejsca, w których dane będą zlokalizowane, to bazy danych, zarówno w domu, jak i w biurze. Wiele w biurze będzie znajdować się w bazie danych i nie będzie bezpośrednio na twoim urządzeniu, ponieważ te bazy danych są ogromne. Ale możesz mieć mniejsze aplikacje, które mają mniejsze bazy danych, które przechowują w nich dane. Gdzie te dane będą fizycznie zlokalizowane? Cóż, będzie na twoich komputerach, komputerach stacjonarnych, laptopach, urządzeniach mobilnych, telefonach, tabletach lub urządzeniach do noszenia. Wearable oznacza Twoje zegarki, klucze USB lub cokolwiek, co przechowujesz informacje, z których korzystasz, które musimy chronić. Więc chcesz zrobić to w myślach. Co to jest, że podróżujesz z potrzebą ochrony? Jeśli używasz kluczy USB, czy są one zaszyfrowane? To jest rzecz, na którą chcemy spojrzeć. Również każdy rodzaj technologii napędowej. Mówiłem o dyskach USB, ale o dyskach twardych i starszych płytach CD, DVD, a jeśli masz dyskietki, również o nich. Nie tylko chcesz pomyśleć o tym, gdzie znajdują się Twoje dane, ale także o tym, jak korzystasz z danych. Nazywam to trybami danych, ale istnieją trzy definicje wykorzystania danych. Przede wszystkim dane w użyciu. Oznacza to po prostu, że obecnie korzystasz z danych, niezależnie od tego, czy znajdują się one w bazie danych, czy nie, uzyskujesz dostęp do danych za pośrednictwem aplikacji i aktualnie pracujesz z danymi. Innym trybem są dane w drodze lub dane w ruchu to inny termin. Oznacza to, że jesteś przenośny. Poruszasz się ze swoimi danymi. Jeśli więc nosisz telefon i idziesz do sklepu spożywczego lub podróżujesz służbowo z laptopami, telefonem, tabletami, to dane w ruchu. Potem są dane w spoczynku. Co robią dane, gdy śpisz w nocy? Dane w spoczynku mają miejsce, gdy nie są przenoszone i nikt ich nie używa, a oto interesująca część. Z trzech dostępnych tutaj trybów dane są przesyłane, a dane w spoczynku są najbardziej atakowane. Dane w użyciu nie są tak często atakowane, ponieważ faktycznie ich używasz. Pracujesz z tym. Nie wejdziesz na strony internetowe, na których dostajesz złośliwe oprogramowanie, otwierając wiadomości e-mail zawierające złośliwe oprogramowanie, które może mieć wpływ na te dane. Porozmawiajmy teraz o tym, co oznacza wpływ na dane. Zanim porozmawiamy o konkretnych zagrożeniach dla Twoich danych, porozmawiajmy o wpływie i o co martwimy się danymi. Często ludzie od bezpieczeństwa odnoszą się do triady CIA. Oznacza poufność, integralność i dostępność. Chcę, abyś wyobraził sobie, że Twoje dane znajdują się w środku bezpieczeństwa informacji. Jak zabezpieczamy te informacje? Martwimy się o poufność, integralność i dostępność tych danych. Istnieje również czwarty aspekt, znany jako prywatność, i są to Twoje dane osobowe. Więc rozłóżmy je trochę. Poufność. Oto czym jest poufność, że dane które masz, zapewniamy, że nie zostaną ujawnione nikomu, kto jest nieuprawniony. Tylko upoważnione osoby, które same się zweryfikowały, mogą zobaczyć dane. Poufne dane będą zaufane określonym osobom, a odbywa się to zwykle za pomocą mechanizmu uwierzytelniania, takiego jak nazwa użytkownika i hasło. To, co możemy zrobić, aby chronić to przed nieautoryzowanymi użytkownikami, to zaszyfrować te dane i chcę, abyś naprawdę skupił się na tym przez chwilę, ponieważ jest to jedna z najlepszych praktyk dotyczących danych, zwłaszcza gdy są w ruchu lub w trakcie przesyłania i kiedy jest w spoczynku, jest upewnienie się, że dane są zaszyfrowane. Na szczęście wiele urządzeń mobilnych, takich jak telefony i tablety, już to robi, ale jest to coś dla twoich laptopów, niezależnie od tego, czy używasz Mac OS, czy Windows OS, które zwykle musisz najpierw włączyć. Chcę zaszyfrować te dane. Muszę to włączyć. Jeśli dane dostaną się w niepowołane ręce, cóż, ponieważ są zaszyfrowane, nadal nie mogą ich odczytać, więc to dobrze. Należy również upewnić się, że obowiązuje właściwe wykorzystanie poufności. Na przykład logujesz się poprawnie, upewniając się, że Twoje hasło jest długie, aby nie można go było łatwo ustalić. Wymaga to szkoleń, a zespoły ds. bezpieczeństwa często przeprowadzają szkolenia. Jednym z największych narażeń na poufne dane jest sytuacja, gdy ktoś zostawia coś na drukarce lub kładzie na biurku i nie zamyka w szafce. Chociaż mówimy o przenośnych danych, są to również przenośne dane w biurze. Kolejną rzeczą, o której chcemy pomyśleć, jest integralność danych, a to oznacza, że są one godne zaufania i dobre. Integralność to utrzymanie spójności i dokładności danych przez cały cykl ich życia. Czy jakiś złośliwy program zmienił dane, na przykład zmienił numer telefonu wszystkich użytkowników w bazie danych klientów? Właśnie to chcemy wiedzieć. Częścią integralności jest nie tylko zapewnienie, że dane mogą być zmieniane tylko przez autoryzowanych użytkowników, ale jeśli zostaną zmienione, niezależnie od tego, czy są autoryzowane, czy nieautoryzowane, możemy to zarejestrować. Rejestrujemy, kto to zrobił, kiedy to zrobił i co zrobił. Jeśli zajdzie taka potrzeba, możemy odzyskać dane poprzez logowanie i utrzymanie tego. Zapewnia to integralność naszych danych. Dalej jest dostępność. Dostępność oznacza, że dane są dostępne wtedy, gdy ich potrzebujesz. A konkretnie autoryzowani użytkownicy, ale te dane, powiedzmy, że mogą istnieć pewne procesy wewnętrzne, takie jak proces tworzenia kopii zapasowej, który oznacza, że dane muszą być offline. To nie ma miejsca w normalnych godzinach pracy ani w dzień roboczy, dlatego chcemy, aby dane były dostępne. Oznacza to również, że mamy odporność na błędy i nadmiarowość, więc jeśli coś pójdzie nie tak z systemem, dane są nadal dostępne. Często robimy to w IT poprzez redundancję. Będziemy mieli bazę danych, której używasz dla swoich danych, ale mamy dokładną kopię tej bazy danych w innym miejscu, więc jeśli ta podstawowa baza danych ulegnie awarii, możemy przełączyć się na kopię zapasową. Podobnie, upewnimy się, że wraz z dostępnością wykonujemy ciągłą konserwację, aby upewnić się, że te dane są dla Ciebie dostępne i że są z nimi integralne. Zamierzamy to zrobić za pomocą kopii zapasowych i aktualizacji oraz upewniając się, że mamy dobre plany odzyskiwania tych informacji. I ostatnią rzeczą, o której wspominam, jest ten czwarty element zwany prywatnością. Chodzi o Twoje dane osobowe. Kiedy chronimy dane, szczególnie staramy się chronić to, co Cię identyfikuje, niezależnie od tego, czy jesteś pracownikiem lub klientem firmy, czy też jesteś w domu, chcemy, aby te dane były chronione. Nie wszystkie Twoje dane osobowe są poufne lub prywatne. Informacje takie jak numery kart kredytowych, numery ubezpieczenia społecznego muszą być prywatne. Organizacje, takie jak Twoja firma, mogą mieć bardzo szczegółowe, zgodne z prawem definicje, na przykład jeśli pracujesz w branży medycznej, musisz przestrzegać HIPAA. HIPAA ma bardzo szczegółowe zasady dotyczące ochrony czyichś danych osobowych. Innym przykładem może być branża, w której do płatności przyjmujesz karty kredytowe. To część branży kart płatniczych i zgodności z PCI. Część tego chroni cię. O to właśnie chodzi w tych szczególnych rodzajach przepisów. Kiedy poruszamy się z naszymi danymi i korzystamy z naszych danych, co może być nie tak z naszymi danymi? Cóż, porozmawiajmy o tym trochę szczegółowo. Przede wszystkim może zostać zgubiony, skradziony, uszkodzony i zniszczony. Jeśli chodzisz z telefonem komórkowym, chodzisz z tabletem, laptopem, można je zostawić na lotnisku, można je zostawić w taksówce, można je zostawić w restauracji itd. mogą zostać zgubione lub skradzione. Jeśli chodzi o urządzenia mobilne, możesz skorzystać z aplikacji producenta, aby znaleźć swoje urządzenie, a jeśli je znajdziesz, możesz je zdalnie wyczyścić. Powinieneś być w stanie znaleźć swoje urządzenie i powinieneś być w stanie zdalnie wyczyścić urządzenie. To niekoniecznie pomaga ci z laptopem, a może być trochę gorzej, więc chcesz spróbować nie zgubić laptopa. Coś innego, co będzie miało na ciebie wpływ, a my zajmiemy się bardziej szczegółowymi informacjami na ten temat, to złośliwe oprogramowanie. Złośliwe oprogramowanie można uzyskać z załączników wiadomości e-mail, ze stron internetowych oraz innymi sposobami i mechanizmami pozyskiwania złośliwego oprogramowania. Możesz być przekonany, że przypadkowo zainstalujesz go przez telefon. To inżynieria społeczna. Złośliwe oprogramowanie jest jednym z największych skutków. Opowiem Ci o różnych rodzajach złośliwego oprogramowania. Poza tym są po prostu złośliwi ludzie, którzy mogą zadzwonić do ciebie i przekonać cię do robienia niesamowitych rzeczy. Wiem, że to nie brzmi, jakby mogło się to wydarzyć, ale dzieje się to dzięki socjotechnice. Twoje dane zostaną naruszone podczas przesyłania. Chociaż jest przenośny, nie tylko zostaje zgubiony lub skradziony, ale może dojść do przechwycenia Twojej komunikacji, gdy próbujesz go użyć, i chcemy o tym porozmawiać, a także o wycieku danych. Jest to niezamierzony wyciek poufnych danych. To są rodzaje zagrożeń, z jakimi się spotykasz. Przejdźmy do szczegółów kilku z nich. Przyjrzyjmy się dokładniej złośliwemu oprogramowaniu, ponieważ ma to jeden z największych wpływów na nasze dane. Jakiego rodzaju złośliwe oprogramowanie możemy zobaczyć? Cóż, zobaczymy takie rzeczy jak wirusy, a wirusy są dołączane do plików, które zwykle są przekazywane przez takie rzeczy, jak dyski USB i CDROM. Istnieje również inny rodzaj złośliwego oprogramowania, który zwykliśmy nazywać robakiem, czyli prawie wszystkie obecne złośliwe oprogramowanie, które ma zdolność replikowania się w sieciach, takich jak Internet lub sieć firmowa. Jest to bardzo powszechny mechanizm transferu używany dzisiaj w przypadku większości złośliwego oprogramowania. Niektóre złośliwe oprogramowanie może działać jak bomba zegarowa. Innymi słowy, wybucha w bardzo konkretnym dniu i godzinie. Czasami jest to atak wewnętrzny. Ludzie w ostatnim dniu pracy mogą odpalić bombę zegarową. Jest to nie tylko bardzo destrukcyjne i nieetyczne, ale jeśli to zrobisz, trafisz do więzienia. Koń trojański jest nieco bardziej skomplikowany. Wiesz już, że istnieje złośliwe oprogramowanie, więc nie ufasz wielu stronom internetowym i nie pobierasz i nie instalujesz oprogramowania, chyba że pochodzi ono z zaufanego źródła. Cóż, tak właśnie dopada cię koń trojański. Jeśli masz zaufany program, powiedzmy, że jest to Microsoft Word, którego używasz przez cały czas, możliwe jest, że ktoś wstrzyknie złośliwe oprogramowanie jako ładunek do tego znanego zaufanego programu. Kiedy instalujesz ten zaufany program, otrzymujesz również złośliwe oprogramowanie i być może nie zdajesz sobie z tego sprawy. Oprogramowanie szpiegujące będzie Cię monitorować i zgłaszać. Pomysł polega na tym, że monitoruje to, co wpisujesz, witryny, na które wchodzisz, aby uczyć cyberprzestępców o twoich nawykach. Potem jest adware. To denerwujące, ale zazwyczaj jest to problem z oprogramowaniem reklamowym, które jest denerwujące. Po prostu wyskakują reklamy. Czasami zobaczysz, że ktoś otworzy przeglądarkę i ma całą masę pasków narzędzi i wyskakujących reklam. Wiadomości phishingowe to miejsce, w którym otrzymujesz wiadomość e-mail, która zawiera załącznik, który może być zainfekowany złośliwym oprogramowaniem lub wiadomość e-mail wygląda na to, że mogła pochodzić z Twojego banku i próbuje skłonić Cię do zalogowania się do Twojego banku. Kiedy klikasz na link, w rzeczywistości logujesz się do witryny cyberprzestępcy, a on zbiera twoją nazwę użytkownika i hasło.


Przechwycona komunikacja i środki zaradcze

Kiedy jedziesz na lotnisko i chcesz użyć telefonu, laptopa lub czegoś w tym rodzaju, chcesz mieć możliwość połączenia się z Internetem, aby móc surfować po niektórych stronach internetowych, popracować, pracować z niektórymi danych i wykonać część swojej pracy podczas oczekiwania w samolocie. Oto, na czym polega wyzwanie. Chcesz połączyć się ze stroną internetową i musisz to zrobić, najpierw łącząc się z Internetem. Potrzebujesz jakiegoś transportu, i to zwykle przez Wi-Fi. Zamierzasz połączyć się z Wi-Fi, a to Wi-Fi przeniesie Cię do Internetu. Problem polega na tym, czyje Wi-Fi? Jeśli jesteś na lotnisku, możesz zobaczyć lotnisko jako otwartą sieć Wi-Fi i łączysz się z nią. Kto jeszcze może się z tym połączyć? Cóż, źli ludzie też mogą się z tym połączyć. Cyberprzestępcy mogą połączyć się z tą siecią Wi-Fi, a następnie zacząć uruchamiać programy, które poinformują ich o Tobie, a nawet pozwolą im włamać się na lukę w Twoim urządzeniu i uzyskać dostęp do Twoich danych. Innymi słowy, oni też obserwują, jak pracujesz, i pobierają od Ciebie te dane. Jak temu zapobiec? Cóż, jest kilka rzeczy, które możesz zrobić. Jest jedna rzecz, która jest tak bliska gwarancji, jak tylko możesz. Przede wszystkim nigdy nie należy korzystać z otwartego publicznego Wi-Fi. Oto, co rozumiem przez otwartą publiczność. Prawdopodobnie widziałeś to, gdzie zobaczysz Wi-Fi i nie ma na nim symbolu kłódki. Innymi słowy, nie jest do tego wymagane hasło. Po prostu się do tego dobierasz. Widać to w kawiarniach, na lotniskach, w kawiarniach i w supermarketach. To jest coś, czego nigdy nie powinieneś robić. Jest jeszcze inne publiczne Wi-Fi, które jest zamkniętym Wi-Fi. Innymi słowy, wymaga hasła i jest trochę mniej niebezpieczne, ponieważ musisz mieć hasło, aby uzyskać dostęp do Wi-Fi. Ale problem polega na tym, czy opublikowali to hasło, aby każdy, w tym cyberprzestępca siedzący w kawiarni, mógł zobaczyć hasło, a następnie uzyskać do niego dostęp? Jeśli tak jest, to jest tak samo złe, jak otwarte publiczne Wi-Fi. Jak to pokonać? Nosisz własne rozwiązanie Wi-Fi. Oto, co mam na myśli. Noś coś w rodzaju przenośnego routera Wi-Fi. Przenośny router Wi-Fi jest również znany jako kieszonkowy Wi-Fi. Nie ma żadnych przewodów ani niczego. Jest ładny i mały, zmieści się w Twojej torbie. Kiedy go włączysz, Twój laptop i telefon komórkowy połączą się z nim. Następnie użyj komórki, aby uzyskać dostęp do Internetu. Oto najlepsza część. Jedyne, co może się z nim połączyć po skonfigurowaniu, to te urządzenia, które określisz. Więc nikt inny nie może się na to dostać oprócz ciebie. I ma hasła, więc wiadomo, że jest tylko twoje. Nikt inny nie może się tam dostać i nie musisz rozgłaszać identyfikatora bezprzewodowego, który jest również znany jako identyfikator SSID lub identyfikator zestawu usług. Nigdy nie zobaczysz, jak nadaje identyfikator. Nie oznacza to, że cyberprzestępca nie może odkryć, że go posiadasz, ale naprawdę trudno mu się do tego zabrać. Jeśli więc zawsze masz przy sobie własną sieć Wi-Fi podczas podróży, ograniczyłeś możliwość przechwycenia Twojej komunikacji. Taki jest cel. Jest to świetny sposób, aby uniemożliwić komuś użycie MITM lub ataku typu man-in-the-middle przed kradzieżą danych podczas podróży. Miej własne rozwiązanie Wi-Fi. Jest tanie, działa i fajnie jest go mieć. W połączeniu z oprogramowaniem chroniącym przed złośliwym oprogramowaniem, naprawdę wykonujesz świetną robotę, ograniczając szanse, że ludzie będą mogli zarówno ukraść Twoje dane, jak i je uszkodzić. To prowadzi nas do końca tej sekcji. Przyjrzeliśmy się danym, do czego chcą dostać się cyberprzestępcy, zarówno w Twojej firmie, jak i w Twoim domu. Zasadniczo jest to wszystko, czego mogą użyć, aby ukraść twoją tożsamość lub ukraść twoje pieniądze, gdy do tego dojdzie. Wiele osób nie myśli o tym, gdzie mogą znajdować się ich dane. Mogą nawet nie zdawać sobie sprawy, że dane znajdują się na ich telefonie komórkowym, ale to jest i różne aplikacje, które mogą mieć dane, zwłaszcza te, w których się uwierzytelniasz. Rozmawialiśmy o danych w spoczynku i danych w drodze. Są to dwa główne momenty, w których dane mogą zostać zaatakowane, a następnie dane w użyciu. Zwykle nie są atakowane. Mogą być, ale zwykle nie jest tak, ponieważ podczas korzystania z nich nie jesteś czymś, co może powodować uruchamianie złośliwego oprogramowania. Rozmawialiśmy także o tym, czym jest triada CIA. Co takiego jest w naszych danych, które staramy się chronić? Cóż, to była poufność, więc tylko autoryzowani użytkownicy mogą to zobaczyć. Integralność jest po to, aby dane były godne zaufania. Ważna jest również dostępność, aby dane były dla nas dostępne wtedy, gdy ich potrzebujemy. Na koniec przyjrzeliśmy się przechwyceniu komunikacji, zapobiegającemu atakowi typu man-in-the-the-the-middle przez zwykłe noszenie własnego miecza Wi-Fi.


Wprowadzenie do sieci społecznościowych

Internet w połączeniu z ludzką inwencją stworzył sieci społecznościowe lub serwisy społecznościowe, do których jesteś przyzwyczajony, takie jak Facebook, Twitter czy Instagram. Najlepsze w tym jest dla nas świetny sposób na zbliżenie się do siebie. Tak, wiem, to brzmi dziwnie. Ale dzielenie się zdjęciami i dzieleniem się historiami oraz utrzymywanie naszych rodzin bliżej siebie. To także świetny sposób, aby Twoja firma sama się reklamowała, tworzyła wsparcie dla konsumentów, tworzyła strony wsparcia dla konsumentów, aby rozpocząć szum wokół nowego produktu. Wszystko to jest dobre w sieciach społecznościowych. Dopóki nie pójdzie źle. Oto, jak źle może się to powieść. Rozmawialiśmy o innych rzeczach, takich jak złośliwe oprogramowanie, które może zainfekować komputery, może nawet wykraść dane lub nawet wykraść pieniądze z kont bankowych. Ale jeśli chodzi o sieci społecznościowe, pomówimy o tym również. Chcę, żebyście zrozumieli, jak to się może stać, ale sprawa staje się znacznie poważniejsza. W sieciach społecznościowych grozi Ci krzywda fizyczna. Chcemy to również zbadać, abyś mógł poznać najlepsze praktyki zarówno w swojej firmie, jak i w domu, kiedy korzystasz z sieci społecznościowych. Przede wszystkim przyjrzymy się, dlaczego jest to tak ważne w odniesieniu do sieci społecznościowych. Możesz być pod wpływem takich rzeczy, jak złośliwe oprogramowanie, ale może to być znacznie poważniejsze, jeśli chodzi o sieci społecznościowe. Przed biznesem jest wyzwanie. Chcemy się na tym skupić, ponieważ nie tylko jest wyzwaniem dla biznesu z pracownikami korzystającymi z sieci społecznościowych, ale jest też wiele korzyści i chcemy mieć pewność, że rozmawiamy o obu stronach. Wyzwania to te same wyzwania, które mogą wpłynąć na ciebie osobiście. Dlaczego jest to tak ważne na początek? Cóż, chodzi o utratę lub uszkodzenie poufnych danych. Tego właśnie staramy się unikać i to jest dla nas tak niebezpieczne. Może to mieć duży wpływ na Twój biznes. Zarówno w przypadku sieci społecznościowych, jak i może mieć pozytywny wpływ na biznes, ale jest też negatywna strona, a jest to utrata lub uszkodzenie poufnych danych. Może być osobiste uderzenie. Nie tylko tam, gdzie głównie osobisty wpływ dotyczy twoich danych, ale także rzeczy takich jak twoje konta bankowe i twoja tożsamość, które to wszystko może być okropne, jeśli zostaną naruszone. Patrzymy również na bezpośredni wpływ na Twoje bezpieczeństwo fizyczne. To jeden z powodów, dla których jest to tak ważne. Bezpieczeństwo jest obowiązkiem każdego, a ponieważ wszyscy pracujemy razem, zwiększając naszą wiedzę i starając się stosować najlepsze praktyki, które są dostępne, poprawimy bezpieczeństwo nie tylko dla naszej firmy, ale dla nas wszystkich w domu. Wiedząc, dlaczego tu jesteśmy i dlaczego jest to tak ważne, jakie jest ogólne wyzwanie dla biznesu? To jest to samo wyzwanie, które będziesz miał osobiście, i w ten sposób możesz zapobiec wystąpieniu ataku. Jeśli pochodzi z sieci społecznościowych i serwisów społecznościowych, jest to trudniejsze. Musimy też wiedzieć, jak zareagować na atak. To staje się trudniejsze w serwisach społecznościowych. Musimy edukować pracowników, jak najlepiej korzystać z mediów społecznościowych. Na przykład wiele firm nie zezwala pracownikom na korzystanie z własnych osobistych mediów społecznościowych, gdy są w biurze. To dobra praktyka. Ale chcę, żebyście zobaczyli, dlaczego to dobra praktyka. Jakie to może mieć skutki. Chcemy również wiedzieć, czy coś uległo uszkodzeniu lub utracie. Lub jeśli zdobyliśmy infekcję złośliwym oprogramowaniem z sieci społecznościowych. Powiadomienie jest również ważne dla firmy. Wszystkim tym zajmiemy się wkrótce znacznie głębiej. Przede wszystkim porozmawiajmy o tym, dlaczego sieci społecznościowe są cenne dla biznesu. Dlaczego jest to cenne dla Twojego biura i jak Twoja firma może to wykorzystać. Następnie przyjrzymy się zagrożeniom związanym z sieciami społecznościowymi. Jakie są zagrożenia ze strony cyberprzestępców? Jakie są konkretnie i osobiście zagrożenia dla Ciebie i Twojej rodziny? Cóż, zagrożenia w sieciach społecznościowych są ważne, ponieważ ludzie mogą być atakowani emocjonalnie, a emocje bardzo szybko stają się poważne. Wtedy chcemy również przyjrzeć się faktycznym zagrożeniom dla Twojego biznesu i sposobom im przeciwdziałania. Omówimy również nie tylko to, co może się nie udać, ale także jak możesz temu zapobiec. Firmy będą korzystać z sieci społecznościowych, ponieważ jest to dla nich dobre. Jest z tym wiele korzyści. Ale istnieje wiele niebezpieczeństw i zagrożeń, których musimy razem pracować, aby spróbować ich uniknąć. Mówienie o korzyściach płynących z sieci społecznościowych, a następnie wyjaśnianie, gdzie możemy zostać zaatakowani i jak temu zapobiec. Wiele biur korzysta z zalet korzystania przez pracowników z sieci społecznościowych w ciągu dnia roboczego. Wzmocniona współpraca z innymi pracownikami i klientami, a także budowanie silnej firmy i kultury może prowadzić do lepszego biznesu, ale istnieje również kilka niebezpieczeństw i to nie tylko ze strony cyberprzestępców. Chociaż sieci społecznościowe mają wartość dla biura, wiążą się również z ryzykiem. Przede wszystkim zdefiniujmy czym są serwisy społecznościowe, abyśmy mieli jasne zrozumienie nie tylko samego procesu tworzenia serwisów społecznościowych, ale także z jakich typów aplikacji będziemy korzystać. Należy również zrozumieć, w jaki sposób sieci społecznościowe mogą przynieść korzyści firmie i jest to świetne miejsce na inicjatywy w nowych obszarach dla firm i sieci społecznościowych. Istnieje ryzyko dla biznesu i chcemy o tym porozmawiać. Będziesz zaskoczony, że nie wszystkie z nich są powiązane z cyberprzestępcami. Czasami to błąd innego pracownika może spowodować zagrożenie dla firmy. Przejdźmy dalej i zacznijmy od definiowania sieci społecznościowych. Zacznijmy od definicji sieci społecznościowych z NIST lub National Institute of Standards and Technology. NIST działa, używając dedykowanych stron internetowych lub aplikacji, takich jak Facebook, do interakcji z innymi użytkownikami, a najlepsze jest znalezienie innych osób o podobnych zainteresowaniach. Te strony internetowe łączą ludzi, którzy mogą mieć podobne zainteresowania, łączyć rodziny, brzmi jak cudowna rzecz i tak jest. Nie chcę, abyś mylił termin sieci społecznościowe, czyli proces korzystania z tych witryn, z innym terminem zwanym inżynierią społeczną. Inżynieria społeczna to wektor ataku. Jest to sposób, w jaki może nastąpić atak, a socjotechnika jest procesem albo przez telefon, e-mail lub w inny sposób, że bardzo przebiegły haker przekona Cię do kliknięcia czegoś, czego normalnie byś nie zrobił. To inżynieria społeczna. To coś innego niż sieci społecznościowe. Serwisy społecznościowe są tym, co ty i ja robimy cały czas, wchodzimy na Facebooka, dzielimy się wakacjami, umieszczamy na nim zdjęcia, to jest proces tworzenia sieci społecznościowych. Inżynieria społeczna może być sposobem na zrobienie czegoś złego w sieciach społecznościowych, co może spowodować problem, ale nie myl tych dwóch, są one bardzo różne. Oprócz sieci społecznościowych zdefiniujmy również media społecznościowe, a są to rzeczywiste strony internetowe i aplikacje, których będziesz używać do tworzenia sieci społecznościowych. Po prostu użyję Facebooka jako przykładu, są też LinkedIn i Twitter, Instagram i YouTube, które to wszystko można uznać za media społecznościowe, w których ludzie będą się gromadzić, dzielić zainteresowaniami i prowadzić rozmowy. Można by pomyśleć, że nie ma nic bardziej rozsądnego niż to i to prawda, ale jest to świetne miejsce dla cyberprzestępców, aby wykonać część swojej pracy, aby rozpocząć instalację takich rzeczy, jak złośliwe oprogramowanie. Korzyści dla biznesu korzystającego z sieci społecznościowych jest wiele. Niewiele osób o tym myśli i niestety niewiele firm też o tym pomyślało. Przede wszystkim zyskujesz dzięki temu darmowy marketing. Jeśli firma sama korzysta z mediów społecznościowych, może ogłaszać premiery produktów, rozmawiać o premierach produktów, wzbudzać podekscytowanie tymi premierami, może nawet wprowadzać zmiany w tych premierach na podstawie informacji zwrotnych, które otrzymują, i mogą zwiększyć ich rozpoznawalność marki. Jedną z interesujących rzeczy jest to, że media społecznościowe zapewniają firmom wyjątkowy sposób zapewniania obsługi klienta


Zagrożenia w sieciach społecznościowych ze strony cyberprzestępców

W przypadku firmy wszystko brzmi wspaniale, korzystając z portali społecznościowych i mediów społecznościowych, ale to może szybko pójść nie tak, a my pokryjemy ryzyko zarówno dla firmy, jak i dla Ciebie. Narszenie reputacji i zaufania klientów może być gorsze niż naruszenie danych w wyniku niewłaściwego obchodzenia się z sieciami społecznościowymi. Wyobraź sobie, że pracownik, próbując poradzić sobie z obsługą klienta, denerwuje się i może używa nieodpowiednich słów i fraz lub jeszcze bardziej denerwuje konsumenta, a konsument przyjmuje. Cóż, dalsze działania, takie jak umieszczanie tego w mediach społecznościowych o tym, jaka jest ich interakcja. To prosta forma, która może mieć większy wpływ niż naruszenie danych, ale mam zamiar podać kilka innych, które mogą przydarzyć się firmie, jeśli nie dbają o swoje witryny w mediach społecznościowych. Ich odpowiedzialność za sieci społecznościowe polega na tym, że firma może zdobyć tak złą reputację z powodu sieci społecznościowych, że może zniknąć z biznesu. Istnieje ryzyko dla biznesu i chcemy je osobiście omówić, a także je same. Firmy korzystające z sieci społecznościowych niosą ze sobą duże korzyści, aby promować firmę i wspierać swoich klientów. Ale są też pewne wady, na które firma musi być bardzo czuła. Być może masz już pewne zasady dotyczące korzystania z mediów społecznościowych w swojej firmie, które mogą być odpowiedzią na ryzyko. Przejdźmy dalej i zagłębmy się w zagrożenia ze strony cyberprzestępców. Otaczamy się rodziną i łączymy się ze starymi przyjaciółmi, dołączamy do grup ludzi, którzy podzielają z nami wspólne wartości, wspólne zainteresowania, hobby, religię czy politykę. Z jakiegoś powodu wiele osób uważa, że sieci społecznościowe i portale społecznościowe są bezpieczne, ponieważ rozmawiają ze znajomymi. Wiele osób nie zdaje sobie sprawy, że ich dyskusje są również publiczne, a cyberprzestępcy będą próbować umieścić złośliwe oprogramowanie na tych systemach lub platformach. Dlatego teraz chcemy skoncentrować się na niektórych zagrożeniach, a wkrótce przyjrzymy się zagrożeniom zarówno dla Ciebie, jak i Twojej firmy. Zamierzamy skoncentrować się na rodzajach ataków przeprowadzanych przez cyberprzestępców, korzystając z serwisów społecznościowych, w których złośliwe oprogramowanie jest jednym z najbardziej dominujących. Na przykład, gdzie zamierzasz kliknąć łącze i prawdopodobnie dostaniesz złośliwe oprogramowanie w swoim systemie. Inną rzeczą, którą omówimy, jest fałszowanie żądań między witrynami lub CSRV, znane również jako sea-surf lub sea-surfing. Następnie przyjrzymy się, jak możesz zapobiec CSRF, ale zacznijmy od złośliwego oprogramowania. Ponieważ ludzie tak dobrze czują się w serwisach społecznościowych, że myślą, że rozmawiają tylko z ludźmi, których znają, mają tendencję, nawet jeśli wiedzą o złośliwym oprogramowaniu, aby nawet o tym nie myśleć, gdy korzystają z mediów społecznościowych, a to po prostu to zły czas, by o tym nie myśleć. Malware to skrót od złośliwego oprogramowania, czyli dowolnego oprogramowania, które jest nieświadomie wprowadzane do systemu i robi niepożądane rzeczy, począwszy od uszkadzania danych, kradzieży danych lub kradzieży tożsamości. Pozwól, że przedstawię Ci niektóre z terminów, które usłyszysz jako część złośliwego oprogramowania. Prawdopodobnie słyszałeś termin wirus i jest to coś, co dołącza się do plików i tradycyjnie jest przekazywane z jednego komputera na drugi za pomocą dyskietek, napędów USB, płyt CD lub DVD. W przeciwieństwie do robaków, które są złośliwym oprogramowaniem, które replikuje się w sieciach. Mamy różne rodzaje złośliwego oprogramowania, takie jak stara bomba zegarowa lub bomba logiczna złośliwego oprogramowania. Często jest to złośliwe oprogramowanie, które ma zostać uruchomione i wyrządzić wszelkie destrukcyjne szkody, jakie wyrządzi w określonym dniu i o określonej godzinie. Wiele razy dla firm może to być atak poufny, ale można to również uzyskać ze złośliwego oprogramowania z Internetu. Jednym z bardziej znanych jest koń trojański, w którym otrzymujesz zaufany program, który uważasz za bezpieczny, taki jak oprogramowanie firmy Microsoft lub Apple, ale po drodze zostaje zainfekowany czymś i to jest koń trojański. Ufasz programowi, ale zawiera on złośliwy ładunek. Oprogramowanie szpiegujące, które monitoruje rodzaje odwiedzanych witryn, rodzaje działań, które wykonujesz na komputerze, które dostarcza cyberprzestępcy więcej informacji o Tobie. W przypadku złośliwego oprogramowania mamy takie rzeczy, jak oprogramowanie ransomware, a oprogramowanie ransomware jest jednym z najgorszych rodzajów, ponieważ gdy dostanie się do twojego systemu, szyfruje wszystkie twoje dane, więc nie możesz się do nich dostać, dopóki nie zapłacisz cyberprzestępcom za pomocą Bitcoina lub innych kryptowalut. To dlatego, gdy widzisz środki zapobiegawcze; jedną z ostatniej deski ratunku jest upewnienie się, że masz pełną kopię zapasową. Potem jest tradycyjne adware lub wyskakujące okienka, które widzisz ze wszystkimi reklamami. Czasami w przeglądarce pojawiają się niestandardowe paski narzędzi i wszystkie te wyskakujące okienka. Nie wydaje się zbyt złośliwy, ale jest wystarczająco złośliwy, a potem niesławny atak dnia zerowego, z którym jest najtrudniejszy na świecie, ponieważ nie mamy pojęcia, co zamierza zrobić ani jak dostanie się do twojego systemu. Oznacza to, że twoje oprogramowanie anty-malware lub antywirusowe również tego nie wie. Ataki dnia zerowego to jedne z najgorszych rzeczy, które są ostatnio bardzo popularne.


Zrozumienie fałszowania żądań między witrynami

Fałszowanie żądań między witrynami jest bardzo specyficznym rodzajem ataku. Jest to atak, który zaalarmował wiele osób korzystających z serwisów społecznościowych, że zostali zhakowani. To kolejny sposób, w jaki usłyszysz o tego rodzaju ataku i o tym, co jest również znane jako atak sesyjny, i zamierzam to wyjaśnić. To bardzo skomplikowany rodzaj ataku, ale przedstawię ci podstawy tego, jak ten atak działa, abyś wiedział, co się dzieje. Może to być atak socjotechniczny i pamiętaj, że to coś innego niż sieci społecznościowe. Socjotechnika ma miejsce wtedy, gdy możesz otrzymać telefon od jednego z dystrybutorów Twojej firmy lub możesz otrzymać wiadomość e-mail phishingową lub inne złośliwe oprogramowanie, które może również wykorzystać ten konkretny rodzaj ataku. Więc zrozum, że to nie tylko to po co poszedłeś na Facebooka, może to być dowolny złośliwy program, który to robi. Jednak wiele osób dostało złośliwe oprogramowanie z Facebooka, które dokonało tego typu ataku i nie powinienem mówić po prostu Facebook, powinienem powiedzieć, że jest to dowolny serwis społecznościowy. To się dzieje na nich wszystkich. Pozwól, że krótko opiszę ci ten atak. Przede wszystkim zaczyna się od tego, że istnieje konkretna firma, do której chcesz mieć dostęp i chcesz przeprowadzić z nią transakcję, która wymaga uwierzytelnienia. Chciałbyś przelać część środków z jednego ze swoich kont bankowych na inne konto bankowe, więc logujesz się, logujesz za pomocą swoich danych logowania do swojego banku i przelewasz środki. W tym momencie otwierasz przeglądarkę i przechodzisz do, powiedzmy, serwisu społecznościowego i zaczynasz uzyskiwać dostęp do serwisu społecznościowego. Chcę, żebyś zrozumiał, że kiedy uwierzytelniłeś się w swoim banku, to jest sesja i ta sesja jest nadal otwarta. Dopóki się nie wylogujesz lub nie wyłączysz komputera i nie rozłączysz się, ta sesja jest nadal otwarta przez jakiś czas. Na sesjach są przerwy, ale chcę, żebyście o tym pomyśleli. Jeśli ma 15 minut przerwy, zalogowałem się, przesłałem środki, wskoczyłem na Facebooka, ta sesja nadal tam jest. Cóż, może się tak stać. Uwierzytelniasz się na Facebooku, jeśli nazwa użytkownika i hasło są takie same dla Twojego banku i mediów społecznościowych, ten konkretny atak jest znacznie łatwiejszy do przeprowadzenia. Dlatego nie powinieneś używać tej samej nazwy użytkownika i hasła na różnych stronach internetowych. Jednak ten atak może nadal działać, nawet jeśli twoje nazwy użytkownika i hasła są różne. To, co się wydarzy, to to, że atakujący lub haker będzie miał coś w tej witrynie społecznościowej, co po kliknięciu na nią, może to być link, zdjęcie lub reklama, które mogą zainfekować złośliwe oprogramowanie lub skrypt fałszujący, a oto, co zrobi to oprogramowanie. Będzie próbować uruchomić swój skrypt, a następnie użyć oryginalnej sesji do twojego banku, ponieważ wygląda jak ty. Stworzy więc żądanie z twojego banku, który przekaże pieniądze nie na jedno z twoich innych kont bankowych, ale bezpośrednio do nich, ponieważ żądanie przechodzi przez twoją sesję, która została już uwierzytelniona. Wygląda na to, że jest ważna i po prostu wysyłasz pieniądze na inne konto. To skomplikowany atak i pod pewnymi względami przesadzam, ale rozumiesz. Ponieważ jesteś zalogowany na wielu stronach internetowych, możliwe jest użycie tych sesji przeciwko tobie i nigdy się nie dowiesz, i wygląda to na prawidłowe dla innych stron internetowych, więc nie wiedzą. To jest wyzwanie dla tego typu ataku. Prawdziwe pytanie brzmi: Jak temu zapobiec? Cóż, przede wszystkim i to jest najważniejsze, wyloguj się ze stron internetowych, gdy z nimi skończysz. Zwykle w prawym górnym rogu lub gdzieś na tej stronie na pasku menu znajdziesz przycisk wylogowania. Za każdym razem, gdy odwiedzasz witrynę swojego banku, aby dokonać transakcji, następną rzeczą, którą powinieneś zrobić, to kliknąć wyloguj się i wyloguj się z tej witryny, zanim zrobisz cokolwiek innego. Nie używaj również tego samego hasła i tej samej nazwy użytkownika dla różnych stron internetowych. To jest ważne. Niektóre witryny wymagają podania adresu e-mail. Czasami jesteś zmuszony do używania tej samej nazwy użytkownika lub adresu e-mail, ale nie używaj tego samego hasła, ponieważ jeśli to zrobisz, haker może się do tego dostać. Jeśli Twój adres e-mail, ale hasło jest inne dla każdej witryny, znacznie komplikujesz pracę atakującego. Zanim wpadniesz w panikę i pomyślisz, że będziesz mieć 300 różnych nazw użytkownika i haseł, jak będziesz je wszystkie śledzić? Czy powinieneś je zapisać? Cóż, najgorsze, co możesz zrobić, to zapisać hasło, ponieważ oznacza to, że ktoś może znaleźć kawałek papieru. Najlepszą rzeczą do użycia jest menedżer konta hasła lub oprogramowanie menedżera konta. Ogólnie rzecz biorąc, istnieje wiele menedżerów kont haseł, których możesz użyć, które będą przechowywać wszystkie twoje nazwy użytkownika i hasła, które możesz łatwo umieścić na tych stronach internetowych bez ich zapamiętywania, a wiele z nich automatycznie wygeneruje hasła. bardzo długie, bardzo złożone, używają wszystkich fajnych postaci, wszystkich tych rzeczy, których i tak nigdy nie będziesz w stanie zapamiętać, więc to jest najlepsza część ich używania. KeePass to najbardziej zalecany menedżer haseł, który możesz sprawdzić, odwiedzając https://keepass.info/ . Dlatego następną rzeczą na liście jest użycie menedżera konta, który generuje i przechowuje te złożone dane uwierzytelniające i nie pozwala przeglądarkom zapamiętać twoich nazw użytkownika i haseł. Niektóre firmy, takie jak Microsoft i Apple, mają bardzo bezpieczne procesy przechowywania danych uwierzytelniających dla przeglądarek. Wręcz przeciwnie, wiele osób czuje się komfortowo w takich sytuacjach, jednak nigdy nie należy ufać przeglądarce ze swoimi nazwami użytkownika lub hasłami. Nigdy nie należy pozwalać przeglądarce na przechowywanie Twojej nazwy użytkownika i hasła. Wyobraź sobie, co jeśli ktoś na przykład siedzi fizycznie przy tym komputerze i uruchamia przeglądarkę, a potem nagle ma dostęp do wszystkich twoich danych uwierzytelniających? Zamiast tego powinieneś użyć osobnego programu, który ma osobny program uwierzytelniający, na przykład menedżera konta, który zajmie się tym wszystkim za Ciebie. Staraj się również unikać surfowania po innych witrynach, gdy jesteś zalogowany w witrynach mediów społecznościowych. W ten sposób możesz zapobiec atakom polegającym na fałszowaniu żądań między witrynami. Tylko upewnij się, że nie jesteś zalogowany na innych stronach internetowych, zwłaszcza gdy odwiedzasz media społecznościowe lub cokolwiek innego niż znana zaufana strona internetowa, taka jak Twój bank.


Środki zaradcze inżynierii społecznej

Możesz pomyśleć; cóż, wygląda na to, że cyberprzestępcy odebrali sieci społecznościowej całą zabawę, ale tak nie jest. Możesz z tym walczyć. Przede wszystkim rozmawialiśmy o niektórych rzeczach związanych z atakami typu cross-site , ale przyjrzyjmy się kilku ogólnym środkom zaradczym. Niezależnie od tego, czy prowadzisz firmę, czy jest to dla Ciebie osobiście, wiele z tych środków działa tak samo, na przykład upewnij się, że masz oprogramowanie antywirusowe. To najważniejsza rzecz do zrobienia. Musisz mieć oprogramowanie antymalware w swoich systemach zarówno w biurze, jak iw domu i upewnić się, że są one ustawione na okresowe skanowanie. Zaplanuj wykonanie pełnych skanów. Muszą również zostać zaktualizowane, co jest najważniejsze w przypadku ochrony przed złośliwym oprogramowaniem. Chcesz również upewnić się, że twój program anty-malware jest skonfigurowany do skanowania wszystkich załączników do wiadomości e-mail, ponieważ tam kończy się wiele złośliwego oprogramowania. Chcesz również mieć możliwość czyszczenia i kwarantanny zagrożeń. To jest podstawowa ochrona przed złośliwym oprogramowaniem. Ostatnią deską ratunku jest upewnienie się, że masz kopie zapasowe i chociaż pomaga to bezpośrednio w przypadku ransomware, może pomóc w każdej sytuacji, w której możesz zostać zaatakowany, możesz uzyskać coś, co może być trudne do wyczyszczenia, możesz wyczyścić system i przywróć go z dobrej kopii zapasowej. Jeśli nie masz kopii zapasowej, wtedy zaczynasz napotykać wiele problemów, których być może nie możesz odzyskać i chcesz się upewnić, że Twój system operacyjny i Twoja aplikacja mają wszystkie swoje poprawki i aktualizacje. Pamiętaj, że producenci znajdują luki w zabezpieczeniach i je patchują, a dzięki tym łatkom i aktualizacjom można uzyskać te poprawki. Po raz kolejny potrzebujesz innego hasła do wszystkiego, na co się logujesz, i użyj menedżera konta haseł, który pomoże Ci przechowywać te hasła i zarządzać nimi. Nie kawałek papieru, który przykleja się do spodu biurka. To są pewne ogólne środki. Niektóre dodatkowe rzeczy to świadomość użytkownika i to właśnie robisz, zyskujesz lepszą świadomość tego, jak te ataki występują i co zrobić, aby im zapobiec, ale możesz również pomóc innym ludziom. Informuj ludzi ogólnie, po prostu porozmawiaj ze znajomymi o rzeczach, które mogą wiedzieć lub o tym, co robią. Ponadto, jeśli pracujesz w firmie, często specjaliści ds. bezpieczeństwa w firmie prowadzą tablicę zagrożeń, aby informować Cię o najnowszych typach ataków i o tym, jak konkretnie im zapobiegać. Firmy często szkolą również swoich użytkowników w zakresie socjotechniki, sieci społecznościowych, mediów społecznościowych i wielu innych zagrożeń. Tak więc szkolenie użytkowników jest bardzo ważnym elementem. Nie używaj mediów osobistych w pracy, co jest standardem w wielu firmach, a powodem tego jest to, że możesz popełniać błędy w tych mediach społecznościowych, które mogą mieć wpływ na Twój biznes. Oznacza to, że możesz otrzymywać złośliwe oprogramowanie i infekować je na komputerach firmy. Oznacza to również, że być może dzielisz się informacjami o firmie, którą nie powinieneś i wkrótce porozmawiamy o tym więcej. Ponadto, gdy używasz haseł, chcesz przestrzegać złożonej polityki haseł. Wiele firm już to wdrożyło, twoje hasła muszą być długie i muszą zawierać złożone znaki, które są zabawnymi znakami nad klawiszami cyfr, wielkie litery z małymi literami, aby twoje hasła były bardziej złożone i frazy haseł w tym przypadku. Łącząc wszystkie te środki zaradcze, jeśli stosujesz je wszystkie, znacznie zmniejszysz wpływ infekcji złośliwym oprogramowaniem lub innymi rodzajami ataków. Jedną z rzeczy, o których należy pamiętać, jest to, że nie jest to 100% gwarancja, ale z pewnością zmniejsza szanse, jeśli jesteś w tym lepszy. Podobnie, chcesz mieć pewność, że poufne informacje trzymasz z dala od mediów społecznościowych. To bardzo niebezpieczne. Podsumowując, hakerzy próbują się do nas dostać. Zamierzają dać nam złośliwe oprogramowanie, użyją określonych ataków, które zaczęły pojawiać się z serwisów społecznościowych, takich jak ataki typu cross-site request, a my rozmawialiśmy o tym, jak temu zapobiec i jak zapobiegać złośliwemu oprogramowaniu i innym rodzajom ataków z twojego systemu. Stosując te środki zapobiegawcze, zmniejszasz szanse bycia ofiarą tego typu ataków. Następnie zastanowimy się, w jaki sposób może to wpłynąć na Ciebie osobiście i co chcesz zrobić, aby zapewnić sobie ochronę w mediach społecznościowych. Znam wielu ludzi, którzy mieli osobiste doświadczenia z tym, czym się chcę z wami podzielić. W tym miejscu pojawia się problem. Wszystkie narzędzia, które do tej pory udostępniłem, które pomogą zapobiegać złośliwemu oprogramowaniu i taktyki, które pomogą zapobiegać takim rzeczom jak fałszerstwo między witrynami, w pewnym momencie przestają działać i odchodzimy od cyberprzestępców próbując uzyskać od Ciebie informacje do przestępców, którzy zamierzają prowadzić działalność przestępczą, która może również wiązać się z Twoim fizycznym bezpieczeństwem. Przejdźmy dalej i zagłębimy się w bardzo poważny temat. Przyjrzymy się, dlaczego jest to tak ważne i dlaczego powinno Cię to wyróżniać. Tu chodzi o ciebie i twoją rodzinę w tym momencie. Nie mówię o twoim biznesie, to wszystko o tobie. Przyjrzymy się kilku rzeczom, o których chcesz być świadomy i rzeczom, których być może chcesz uniknąć. Rzeczy takie jak zdjęcia w mediach społecznościowych. Chcemy porozmawiać o profilach, które posiadasz w mediach społecznościowych oraz o danych osobowych, które tam podajesz. Nie traćmy czasu i śmiało zagłębmy się w to, dlaczego jest to tak ważne. Przede wszystkim dla bezpieczeństwa i dobrego samopoczucia swojej rodziny zwracaj uwagę na to, co mówisz o sobie przestępcom, przemyśl to. Publikujesz informacje o tym, kiedy wyjechałeś na wakacje, jakie nowe rzeczy dostałeś od Amazona, sklepu lub dealera samochodowego, co robią twoje dzieci, co robi twój współmałżonek, gdzie pracujesz, kiedy wracasz z pracy do domu. Pomyśl o wszystkich tych informacjach. Mówi przestępcom dokładnie, co masz i kiedy jesteś w domu. Z tego mogą wyniknąć złe rzeczy. W najlepszym razie dajesz przestępcom wskazówki, gdzie mieszkasz, gdzie pracujesz, a kiedy jesteś w domu, co może się nie udać. W najgorszym razie tak, te rzeczy poszły nie tak. Może to być napad na dom, inwazja na dom, porwanie, a nawet śmierć, ponieważ przestępcy gromadzą te informacje. Jak zamierzasz temu zapobiec? Cóż, antymalware ci w tym nie pomoże. Co ci pomoże? Świadomość tego, jakie informacje umieszczasz w mediach społecznościowych i powstrzymywanie się od podawania wskazówek, kiedy jesteś w domu, gdzie mieszkasz, gdzie pracujesz. To są rzeczy, o których chcesz pomyśleć.


Zrozumienie metadanych

Obraz mówi 1000 słów. To jeden z powodów, dla których uwielbiamy publikować zdjęcia w mediach społecznościowych. Po prostu uwielbiamy umieszczać tam nasze zdjęcia. Wiele osób nie zdaje sobie sprawy, że większość dzisiejszych kamer dodaje tak zwane metadane. Są to informacje, które obejmują Twoją aktualną lokalizację i godzinę zrobienia zdjęcia. Jeśli zrobiłeś to zdjęcie siedząc w domu, a potem umieściłeś je na Facebooku, no cóż, każdy, kto ma do niego dostęp, może teraz dokładnie dowiedzieć się, gdzie mieszkasz. Jeśli zrobiłeś zdjęcie z biura, wiedzą, gdzie pracujesz. Jeśli zrobiłeś zdjęcie swoim dzieciom lub dzieciom w szkole, wiedzą, dokąd twoje dzieci chodzą do szkoły. Wszystkie te informacje znajdują się na każdym zrobionym przez Ciebie zdjęciu. Wiele kamer umożliwia wyłączenie tej funkcji geotagowania. To jest coś, czego nie robię. Nie wyłączam tego, ponieważ istnieją programy, które pozwolą ci usunąć metadane. Powodem, dla którego go nie wyłączam, jest to, że lubię te dane. Przeglądając kilka zdjęć, zapominam, gdzie zostały zrobione pewne rzeczy. To mówi mi, gdzie zostały cyknięte. To korzyść z tego. Nie chcę jednak wchodzić w media społecznościowe. Używam programów do usuwania tych danych. Więc kiedy wstawię zdjęcie, to go nie będzie. Chcę jednak, abyście zauważyli, że nierozsądnie jest publikować zdjęcia z tymi danymi. Ale muszę ci powiedzieć, że nie zawsze usuwam dane. Kiedy jestem gdzieś i nie obchodzi mnie, że ludzie znają lokalizację lub chcę, aby ludzie ją znali. Może to zdjęcie z wakacji, które zrobiłem kilka miesięcy temu. Może dobrze jest mieć te metadane. Czy chcę mieć pewność, że nikt nie ma dostępu do informacji o tym, gdzie mieszkam, gdzie pracuję, gdzie moje dzieci chodzą do szkoły, gdzie pracuje mój małżonek, takie tam. Rzeczy, o których nie chciałbym, aby przestępca wiedział. Wiele serwisów społecznościowych umożliwia umieszczanie informacji o sobie w ramach swojego profilu. Powodem tego jest to, że ludzie mogą Cię znaleźć. Gdzie dorastałeś? Gdzie chodziłeś do liceum? Gdzie poszedłeś na studia? W ten sposób znajomi z tych okresów mogą przeprowadzić grupowe wyszukiwanie osób z Twojej szkoły średniej, w której się znajdowałeś. Jest w tym korzyść i funkcja. Jednak jest to również wada, ponieważ te same informacje, które umieszczasz w swoim profilu, informują przestępców. Większość serwisów społecznościowych pozwala na upublicznianie profili osobistych. Zastanów się, czy nie uwzględniać informacji, które są specyficzne dla Ciebie, np. gdzie obecnie mieszkasz, gdzie aktualnie pracujesz, w jakim dziale pracujesz. Cyberprzestępca chciałby poznać dział, w którym pracujesz, ponieważ łatwiej jest mu na niego namierzyć. Nie podawaj dokładnej daty urodzin ani żadnych innych informacji umożliwiających identyfikację osoby. Nigdy nie umieściłbyś numeru swojej karty kredytowej na publicznej stronie internetowej, dlaczego umieszczasz tam swoje urodziny? Albo twój numer ubezpieczenia społecznego? To, co chcesz zrobić, to informacje z przeszłości, to jedno. Jest wiele osób, które uważają, że w tych profilach nie powinny znajdować się żadne informacje, w tym informacje z przeszłości, które umożliwią Twoją identyfikację. Ale wiele osób może umieścić informacje z przeszłości, było w porządku, po prostu nie chcesz, aby obecne informacje o tym, gdzie mieszkasz, były tam. Rzeczy takie jak twoja edukacja, gdzie chodziłeś do liceum, gdzie mieszkałeś. To jeden z wątpliwych. Niektórzy to robią. Są jednak osoby, które mówią, że nie umieszczają żadnych informacji i prawdopodobnie widziałeś to, jeśli wejdziesz na Facebooka, osoby, które nie mają żadnych informacji w profilu. To niekoniecznie jest zła rzecz. To może być jedna z najlepszych rzeczy do wzięcia. Zanim go wpiszesz i klikniesz wyślij, pomyśl o tym. Upewnij się, że jego informacje, które nie masz nic przeciwko, mogą mieć przestępca, który chce wyrządzić krzywdę. Dużo już o tym rozmawialiśmy. Dyskusje o wakacjach, zdjęciach, miejscach, dacie i godzinach, na które trzeba uważać. Dyskusje o wakacjach, które miałeś w przeszłości, gdzie przebywałeś, tak to zrobiliśmy dwa miesiące temu, to nie jest wielka sprawa. Mówiąc, że aktualnie jesteś na wakacjach, po prostu daj znać w czasie rzeczywistym, że Cię tam nie ma. Bądź z tym ostrożny. Zdjęcia, lokalizacje, daty i godziny wszystkiego, co robisz, mówią przestępcom, że nie ma Cię w domu. Rozmawialiśmy już o zdjęciach, ale te metadane, o których być może nie myślałeś, ale zdjęcia, które publikujesz, swoich dzieci, współmałżonka, siebie, swojej rodziny lub znajomych, zapewniają, że albo wyczyścisz te metadane są wyłączone lub nie obchodzi cię, czy ktoś ma te metadane. Innymi słowy, jest to miejsce w firmie, w której jadłeś obiad. Nie ma znaczenia, w szczególności zdjęcia i dyskusje o rodzinie są jedną z bardziej niebezpiecznych rzeczy, ponieważ przestępcy wiedzą, kim będą ich przyszłe cele. To są rzeczy, których chcesz uniknąć. Jeśli pomyślisz o tym przed kliknięciem wyślij, w większości przypadków tak się stanie. Jak powiedziałem, to jeden z najważniejszych. Wspomniałem, że mam osobiste doświadczenie z tymi problemami i jest to tak negatywne, jak to tylko możliwe. Napady na domy i napady na domy ze względu na informacje w czasie rzeczywistym zostały przekazane. Chcesz być ostrożny i chcesz to przemyśleć. Nie oznacza to, że nie możesz korzystać z mediów społecznościowych. Nie oznacza to, że nie możesz prowadzić takich rozmów. Tylko uważaj na to, jak prowadzisz te rozmowy. Uważaj na swoje zdjęcia i profile, które tworzysz w mediach społecznościowych. Dbaj o wszelkie dane osobowe i po prostu uważaj na ich udostępnianie. Jest to również ważne, aby pomóc swoim dzieciom, jeśli je masz. Jeszcze raz przemyśl to, zanim umieścisz zdjęcie w jakimkolwiek serwisie społecznościowym lub wyjaśnij tym, którzy są blisko Ciebie i nieświadomi możliwego niebezpieczeństwa, aby upewnić się, że nie podajesz danych w czasie rzeczywistym na temat tego, co robisz lub jesteś.


Zrozumienie zagrożeń zewnętrznych i wewnętrznych dla firm

Niezależnie od tego, czy Twoja firma korzysta z mediów społecznościowych, czy nie, aby promować firmę, nadal stoi przed tymi samymi zagrożeniami, co Ty, dlatego ważne jest, aby o tym pomyśleć, jeśli jesteś odpowiedzialny w swojej firmie za korzystanie z mediów społecznościowych w firmie, a nawet jeśli nie , po prostu korzystaj z osobistych mediów społecznościowych w firmie, aby mieć świadomość tego, co ma wpływ na biznes. Właśnie temu przyjrzymy się w tej sekcji. Zamierzamy podsumować ryzyko dla biznesu ze strony hakerów, co hakerzy będą próbowali zrobić firmie, a następnie co mogą zrobić pracownicy, i to jest miejsce, w którym zarówno firmy, jak i pracownicy mogą być zaskoczeni. Porozmawiamy o tym, co firmy mogą zrobić, aby być bardziej proaktywnym w zapobieganiu tego typu atakom. Porozmawiamy o zespołach ds. bezpieczeństwa, które posiada firma i o tym, jak są bardziej proaktywni, a także o niektórych narzędziach, z których może korzystać firma. Zarówno w zakresie środków zaradczych, jak i sposobów zapobiegania lub przynajmniej ograniczania możliwości różnych rodzajów ataków, zacznijmy więc od zagrożeń dla biznesu ze strony hakerów. Firmy pod wieloma względami są również jak ludzie i stoją w obliczu tych samych zagrożeń ze strony hakerów, co, o czym mówiliśmy. Hakerom łatwiej jest atakować określone grupy i jeśli firma korzysta z mediów społecznościowych w swoich zasadach dotyczących sieci społecznościowych. Następnie tworzą niektóre z tych grup poprzez społeczności i działania społecznościowe oraz wsparcie społeczności. Dzięki temu łatwiej jest znaleźć wszystkie osoby, które haker może chcieć zaatakować z określonego powodu. Firmy spotykają się z tymi samymi atakami, złośliwym oprogramowaniem i wszystkimi tymi samymi atakami, z którymi Ty masz do czynienia. Spójrz na to z odpowiedniej perspektywy. Właśnie skończyliśmy rozmawiać o bardzo poważnych atakach osobistych, ale na te same rzeczy są narażone firmy i złośliwe oprogramowanie. Wirusy i phishing są przedmiotem ataków socjotechnicznych. Podlegają one również wprowadzaniu w błąd i właśnie tam, o czym mówiliśmy wcześniej, firmy, które skutecznie korzystają z mediów społecznościowych, mogą przynajmniej spróbować z tym walczyć. Ale wprowadzenie w błąd, nieautoryzowane posty i obrazy mogą stanowić zupełnie inny problem. Może to być na firmowej stronie Facebooka, może być na Instagramie, może znajdować się po prostu w innych urządzeniach społecznościowych, ale nieautoryzowane posty udające posty z firmy i nieautoryzowane zdjęcia, produkty, które nie istnieją. Mogą one podekscytować klientów. Ale biznes może wrócić i powiedzieć; "poczekaj chwilę, coś tu jest nie tak!" Nieautoryzowane linki i strony internetowe, na których można uzyskać dużo złośliwego oprogramowania, to jeśli w mediach społecznościowych firmy, jeśli niektóre z linków zostały zmienione lub zmodyfikowane przez hakerów, użytkownik tych linków może pomyśleć, że używa zaufanej witryny, ale zamiast tego kliknij link, który zawiera złośliwe oprogramowanie. Firmy muszą być bardzo ostrożne i utrzymywać swoje witryny, aby mieć pewność, że rzeczy są modyfikowane przez cyberprzestępców. Jak media społecznościowe wpływają na firmę od jej pracowników? Cóż, na firmę wpływa w taki sam sposób, w jaki wpływa to na ciebie osobiście. Wszystko, o czym rozmawialiśmy o tym, czego nie powinieneś robić, dotyczy biznesu. Media społecznościowe niezwiązane z biznesem mogą powodować infekcję złośliwym oprogramowaniem. Innymi słowy, wiele firm nie korzysta z mediów społecznościowych, gdy jesteś w firmie. Nie mają na myśli, gdy pracujesz przy biurku, ale w ogóle. Powód, dla którego w ogóle mają na myśli, teraz już wiesz. Możesz przypadkowo zrobić coś, co spowoduje przedostanie się złośliwego oprogramowania do systemu w Twojej firmie. Możesz także przypadkowo udostępnić informacje o firmie, do których udostępnienia nie masz uprawnień. Po prostu nie chcą, abyś miał tam te osobiste witryny ze względu na całe ryzyko związane z ich posiadaniem. Ale może się to jeszcze bardziej skomplikować dla firmy. W zależności od tego, co robią pracownicy. Oto przykład. Zagrożeniem dla firmy może być również przypadkowe ujawnienie poufnych informacji. Pracownik, a stało się to kilka razy, może przypadkowo ujawnić informacje o przyszłym projekcie. Mogą nawet użyć słowa kodowego dla tego projektu. Mamy "Projekt Datacentre", który ukaże się w grudniu. Cóż, ta informacja była poufna i nie powinna była zostać ujawniona. Co gorsza, niewłaściwie udostępniają informacje o naruszeniu danych. Wyzwaniem jest również niewłaściwe ujawnienie informacji poufnych. Chcę, żebyś o czymś pomyślał. Załóżmy, że firma miała zdarzenie związane z bezpieczeństwem, które wpływa na klientów. Biznes, jeśli już uczestniczy w sieciach społecznościowych, będzie miał przedstawiciela, podobnie jak przedstawiciel prasowy, który określi, jaki powinien być przekaz. Wiadomość wyjaśni, na czym polegało naruszenie i co klienci powinni zrobić oraz zachowa zaufanie do klientów, aby klienci nadal prowadzili interesy z firmą. Niewłaściwe wydanie ma odwrotny skutek. Odstrasza klientów. Klienci nie mają już zaufania do firmy i nie można jej założyć. Prawdopodobnie nadal możesz zaufać firmie za podjęte przez nią środki, ale nie wiedziałbyś o tym z powodu niewłaściwego zwolnienia. Fałszywe przedstawienie, nawet w prywatnych witrynach firmy, będzie miało negatywny wpływ. Może wściekły pracownik miał zły dzień. Wychodzi i mówi coś paskudnego na swojej stronie społecznościowej o swoim szefie. Robienie tego publicznie jest nie tylko etycznie i moralnie złe, ale teraz wpływa to na firmę, ponieważ teraz muszą coś zrobić z tym przesłaniem. Czy wiadomość się rozprzestrzenia? Czy wiadomość jest zmieniana i zmieniana w negatywny sposób? To jedno, gdyby to było między tobą a trzema twoimi przyjaciółmi i nikt inny nie wie o tym, ale czy to zostało upublicznione? Jeśli korzystasz z mediów społecznościowych, stało się to publicznie. Nieautoryzowane posty i obrazy oraz nieautoryzowane linki i strony internetowe, nieautoryzowane informacje o firmie, które fałszywie ją przedstawiają, to będzie wyzwanie dla firmy. Podobnie dostarczanie hakerom wszelkich informacji o pracownikach. Innymi słowy, ja i Jack poszliśmy dziś na lunch. Jack pracuje w dziale IT, ja pracuję w księgowości, a to dostarcza więcej informacji, niż chcesz, żeby wiedzieli. Cyberprzestępca wie teraz, że Jack pracuje w IT, że prawdopodobnie ma cenne hasło i konto, które da mi podwyższony dostęp. Teraz pójdę za Jackiem. Innymi słowy, właśnie przekazałeś mi informacje potrzebne do rozpoczęcia planowania ataku. Nie rób tego. Zasada jest taka. O ile firma nie płaci ci za rozmawianie o firmie w mediach społecznościowych, nigdy nie rozmawiaj o firmie w mediach społecznościowych. To tylko najlepsza praktyka, która mieści się w etyce i moralności większości firm i osób, które z nami współpracują. Sposób, w jaki firma będzie się chronić, będzie się różnić w zależności od tego, jakie narzędzia firma chce zastosować i jakie działania wykonuje. Czy prowadzą działania w sieciach społecznościowych? Ta konkretna rzecz, dogłębna obrona. Jednak oto, co firma stara się chronić. Starają się chronić swoje dane i poufność, co oznacza, że tylko upoważnieni użytkownicy mają dostęp do ich danych, integralności, co oznacza, że dane nie są zmieniane lub jeśli zostaną zmienione, wiemy, kto to zrobił i co zrobili. I dostępność, zapewniająca, że dane, których potrzebują klienci lub konsumenci, czyli pracownicy, są dostępne wtedy, gdy potrzebują informacji. Aby to chronić, firma zastosuje tak zwaną strategię obrony w głąb. To, co wiąże się z tym, to przede wszystkim dane, a następnie wykorzystanie wielu narzędzi, technik i procesów w celu ochrony tych danych. Nie ma jednej rzeczy, która rozwiąże cały problem. Jest to wiele technik i taktyk, które pomogą zmniejszyć zdolność ataku do wywołania tego, co nazywamy triadą CIA, poufności, integralności i dostępności. Firmy będą miały zespoły bezpieczeństwa. Nie wszystkie firmy je mają, ale większość ma. Te zespoły ds. bezpieczeństwa będą przeprowadzać szczegółowe analizy i oceny ryzyka, a także będą to robić w znanych witrynach mediów społecznościowych i rodzajach ataków, które mają miejsce


Wprowadzenie do phishingu

Podobnie jak w przypadku każdego ataku, powodem, dla którego ci na tym zależy, jest możliwa utrata, a nawet uszkodzenie poufnych danych, karty kredytowe są tego doskonałym przykładem. Po prostu nie chcesz, aby ktokolwiek miał te informacje. Może to mieć wpływ na Twoją firmę. To nie tylko osobiste. Twoja firma może zostać nakłoniona do podania informacji, które mogą spowodować zarówno straty finansowe, jak i problemy związane z ujawnianiem informacji o klientach. Ale jest też osobisty wpływ, w którym przekazanie komuś zbyt dużej ilości informacji może spowodować stratę finansową, może spowodować utratę tożsamości, a wyzwania związane z wyzdrowieniem z tego mogą być dość poważne. Bezpieczeństwo jest obowiązkiem wszystkich, a konkretny atak, o którym mówimy, jeśli chodzi o phishing, jest czymś, co bezpośrednio trafia do Ciebie. Zarówno osobiście, jak i w firmie masz bezpośredni wpływ na zapobieganie temu atakowi. Firmy muszą zapobiegać atakom i muszą zapobiegać wszelkim rodzajom ataków, nie tylko tym konkretnym, o którym mówimy, phishingowi, i muszą być w stanie zareagować na ten atak. Jedną z rzeczy, które większość firm będzie próbowała zrobić, jest edukowanie pracowników, jak zapobiegać takim atakom. Firmy chcą powiadamiać zarówno pracowników, jak i klientów, jeśli dojdzie do pewnego rodzaju naruszenia bezpieczeństwa danych, a to stanowi część wyzwań związanych z radzeniem z tym problemem. Phishing to dziwna nazwa i zamierzamy zdefiniować, czym jest phishing, ale możesz również usłyszeć inne nazwy dotyczące phishingu. Niektóre z innych rzeczy, które możesz usłyszeć, to termin zwany vishingiem, wymawiany przez "v", w przeciwieństwie do phishingu przez "f". Vishing jest inny, będzie wymagał korzystania z telefonu i wiadomości tekstowych, a podam kilka przykładów. Ale są też bardziej zaawansowane techniki phishingu, w których usłyszysz kilka możliwych do zidentyfikowania terminów, a mam dla Ciebie tylko kilka z nich. Jedna z nich, o której będziemy mówić, jest bardziej ukierunkowana, nazywana spear phishingiem, a druga, która jest bardzo ukierunkowana na wyższe kierownictwo, jest określana jako wielorybnictwo. Przyjrzymy się im wszystkim, gdy przejdziemy dalej. Przede wszystkim phishing polega na kradzieży pieniędzy. Nie chodzi tylko o uzyskanie informacji, ale także o podjęcie działań w celu usunięcia środków od Ciebie lub Twojej firmy. Przyjrzymy się, jak te ataki mogą wpłynąć na ciebie osobiście i jak taki atak wygląda. Podobnie porozmawiamy o atakach na biznes. Będzie to prawie to samo, co osobiste. To jest to samo niebezpieczeństwo, w które się pakujesz. Przyjrzymy się głównemu planowi zapobiegania atakom typu phishing. To jedyny raz, w którym będziesz wyraźnym zwycięzcą lub liderem w zapobieganiu atakom typu phishing. Jeśli wszystko inne zawiedzie, komu to zgłosić, jeśli to nastąpi. Skoncentrujemy się teraz na phishingu. Mogą wpływać na poufność Twoich danych i integralność Twoich danych. To duże wyzwanie dla biznesu. Skoncentrujemy się na phishingu, w szczególności na tym, jak ludzie mogą ukraść Twoje sekrety. Cyberprzestępcy będą próbować uzyskać od Ciebie informacje i wykorzystać je do kradzieży Twoich pieniędzy. Przydarzy się to zarówno Tobie, jak i Twojej firmie. Atak będzie działał w zasadzie w ten sam sposób. Nie dałbyś celowo nikomu, nikomu w tej sprawie, firmowych informacji poufnych ani swoich prywatnych informacji, takich jak karty kredytowe, ale to jest tutaj oszustwo. Napastnicy są bardzo doświadczeni w ludzkiej kondycji i będą grać na twoich emocjach, zarówno twoich emocjach chęci pomocy ludziom, jak i emocjom strachu, próbując uniknąć kłopotów. Nawet chciwość, będą grać na tych, aby zwabić cię do przekazania im tych informacji komuś, o którym nie sądziłeś, że chciał cię skrzywdzić, i to jest pomysł z atakiem phishingowym. To, czemu przyjrzymy się w tej sekcji, jest ogólnie rzecz biorąc, co próbujesz chronić? Co to znaczy, że przekazujesz swoje dane komuś innemu? Z czego rezygnujesz, a co może pójść nie tak? Dotyczy to zarówno Ciebie, jak i Twojej firmy. Podobnie wyzwanie, przed którym stoisz Ty i Twoja firma, próbując chronić swoje dane i poprawkę. Ogólnie rzecz biorąc, możemy to zrobić przeciwko wielu atakom, aby spróbować naprawić te dane. Wtedy zaczniemy zagłębiać się w phishing. Zacznijmy od rezygnacji z Twoich danych. Zanim zagłębimy się w szczegóły tego, jak wygląda atak phishingowy, w przypadku wielu ataków chodzi o zdobycie danych, uzyskanie dostępu do danych, których nie chcesz, aby ludzie mieli. Wszelkie dane, które mają być poufne, takie jak informacje bankowe, informacje o karcie kredytowej, dokumentacja medyczna, numer ubezpieczenia społecznego, wszelkiego rodzaju informacje umożliwiające identyfikację, znane jako PII, wszystko to może zostać użyte do kradzieży pieniędzy lub kradzieży Twoja tożsamość. Te same informacje mogą być również użyte przeciwko firmie, więc wiele z tych ataków dotyczy nie tylko Ciebie, ale może również wpłynąć na Twoją firmę. Czasami można im zapobiec w ten sam sposób. Te dane będą przechowywane na wielu różnych urządzeniach, więc chcesz mieć pewność, że myślisz o tym zarówno w biurze, jak i w domu. Dane, które masz w bazach danych, takich jak komputer stacjonarny, laptop, telefon lub tablet, zwłaszcza dzisiaj ludzie zapominają o urządzeniach podłączonych zewnętrznie, takich jak pamięci USB, na których możesz mieć swoje dane i kopie zapasowe, są źli ludzie próbujący uzyskać dostęp do te dane, do których nie chcesz, aby mieli dostęp. Sprowadza się to do wyzwania dla nas i dla biznesu, że nowe słabości lub exploity są stale odkrywane. To jedno z wyzwań polega na tym, że każdy nowy dzień przynosi nowy exploit, o którym być może będziesz musiał wiedzieć lub na który możesz mieć wpływ. Nie udało się zapobiec starym słabościom i porozmawiamy o tym, gdy przejdziemy do zapobiegania, takich jak aktualizacja systemu operacyjnego i upewnianie się, że oprogramowanie antymalware jest aktualne. Ponieważ systemy nie są aktualizowane, aby zapobiec tym słabościom, mogą na ciebie wpływać zarówno stare, jak i zupełnie nowe elementy, a to jest część wyzwania. To nieustanna codzienna powódź, jest wielkie słowo o nadchodzących atakach. Innym problemem jest to, że jest wiele firm i ludzi, którzy nie skupiają się na bezpieczeństwie, nawet nie myślą o informacjach, które mogą przekazywać przez telefon lub informacje, które mogą przekazywać przez e-mail. Nie myślą o tym, gdzie znajdują się ich poufne dane, więc częścią wyzwania jest to, że nikt się na tym nie skupia. Istnieje wiele niewystarczających wymagań politycznych. W obszarze bezpieczeństwa przyglądamy się wymaganiom polityki, takim jak hasła i logowanie pod kątem integralności danych, szkolenie pracowników i użytkowników. Ale jeśli tego nie ma, jeśli Twój zespół ds. bezpieczeństwa nie przeszkolił Cię, jak zapobiegać niektórym atakom, takim jak ten, na którym się skupimy, phishing, być może nie wiesz, jak temu zapobiec, i to jest jedno z wyzwań. Jakie są tego rozwiązania? Cóż, rozwiązaniem tego jesteś ty. Jesteś osobą główną, szczególnie w tym ataku, na którym będziemy się koncentrować w phishingu, jesteś osobą, która może wykryć atak, zatrzymać atak, a następnie powiadomić kogoś o ataku. Coś, za co musisz być odpowiedzialny, to to, że często słyszysz to w bezpieczeństwie, wszyscy są odpowiedzialni za bezpieczeństwo i są pewne krytyczne wobec użytkowników końcowych, że zawsze jest to wina użytkowników, a to nieprawda, to nie jest wina użytkowników. Jest to bardzo skomplikowane i bardzo trudne, ale możesz mieć duży udział w rozwiązaniu. Należy również pamiętać, że ludzie tworzą sprzęt i oprogramowanie, ludzie piszą kod, ludzie administrują zabezpieczeniami w celu ochrony danych, ludzie mają błędy i popełniają błędy. Inni ludzie, napastnicy, mogą się przez to przedostać i wykorzystać przeciwko tobie. Najważniejszą częścią jest to, że możesz zauważyć, kiedy coś pójdzie nie tak. Nie zobaczysz wszystkiego, ale jeśli chodzi o coś takiego jak atak phishingowy, możesz być pierwszym, który zauważy ten atak w swojej organizacji, więc możesz go zauważyć, rozpoznam to i możesz to zatrzymać. W ten sposób chcemy patrzeć na sprawy w przyszłości. Chcemy mieć pewność, że nie przekazujesz żadnych danych, których normalnie nie przekazałbyś komuś, komu ufasz, a to ważne, komu ufasz. Tam jest wyzwanie. Cyberprzestępcy będą próbować przekonać Cię do zrezygnowania z tych danych, aby móc uzyskać dostęp do Twoich kont i ukraść pieniądze. Rozwiązaniem tego, cóż, szczerze mówiąc, jest to, co teraz robisz, uczenie się o różnych typach ataków, jak je rozpoznawać, a następnie jak im zapobiegać. Przejdźmy dalej i zagłębimy się w bardziej szczegółowe informacje na temat phishingu. Być może nie doświadczyłeś jeszcze ataku phishingowego, ale prawie na pewno tak się stanie. Nie bierz tego do siebie. Prawdopodobnie nie był skierowany bezpośrednio do ciebie. W rzeczywistości nie tak działa atak phishingowy. Pomyśl o tym jak o łowieniu z wędką i kołowrotkiem, kładziesz trochę przynęty na haczyk i zarzucasz ją do wody, gdzie są tysiące ryb. Masz nadzieję, że zwabisz kilka tych ryb, niewielki procent, aby wgryźć się w ten haczyk, abyś mógł zjeść obiad. Na tym polega atak phishingowy. To tutaj haker wyśle ogólną wiadomość do dużej grupy ludzi, mając nadzieję, że wiadomość skłoni kogoś do podjęcia działania. Im lepszy przekaz, tym bardziej przekazuje komuś potrzebę podjęcia działania poprzez potrzebę pomocy komuś, albo ze strachu, albo z chciwości, tym lepsza przynęta. Na tym polega ta gra, aby skłonić Cię do działania, do rezygnacji z informacji, dlatego w końcu tracisz pieniądze, więc wszystko jest złe. Oto, czemu przyjrzymy się. Przede wszystkim przypomnę o triadzie bezpieczeństwa CIA i o tym, co staramy się chronić przed phishingiem. Przypominam o triadzie CIA, co ważne, ale potem chcemy zagłębić się w to, jak wygląda atak phishingowy. Przede wszystkim, czego chce od Ciebie atakujący, a następnie, jeśli otrzymasz wiadomość e-mail, jak możesz zacząć zdawać sobie sprawę, że nie jest to dobra wiadomość, że jest to wiadomość phishingowa? Są też zaawansowane ataki, o których chcemy tutaj wspomnieć, coś, co nazywa się vishingiem, kiedy robi się to za pomocą zamiast e-maila, telefonu lub wiadomości tekstowej, a także bardziej zaawansowane techniki phishingowe zwane spear phishingiem, a także wspomnimy o wielorybnictwie. Zacznijmy od triady CIA. Triada CIA to coś, o czym myśli specjalista ds. bezpieczeństwa, gdy myśli o twoich informacjach lub twoich danych i ich ochronie. Chodzi o trzy podstawowe aspekty ochrony danych; jego poufność, co oznacza, że tylko upoważnione osoby mogą uzyskać dostęp do Twoich danych. Integralność, co oznacza, że dane nie uległy nieświadomemu uszkodzeniu. Dostępność, upewniając się, że dane są dla Ciebie zawsze dostępne. Istnieje również czwarty aspekt tego, a jest nim prywatność i są to zwykle informacje umożliwiające identyfikację osoby, takie jak numer karty ubezpieczenia społecznego lub prawo jazdy. Skupiamy się na ochronie Twoich danych i ochronie ich na cztery sposoby. Jednak chcę coś wskazać.

Phishing, socjotechnika i Vishing

Bardziej formalną definicją ataku phishingowego jest każdy haker lub nieuczciwa osoba, która próbuje nakłonić Cię do ujawnienia poufnych danych osobowych lub organizacyjnych za pomocą oszukańczych środków. Inna definicja to cyfrowa forma inżynierii społecznej. Często odbywa się to za pośrednictwem wiadomości e-mail jako prośby o informacje, które mogą wyglądać jak wiadomość e-mail z Twojego banku lub mogą przekierować Cię do innej lokalizacji, aby umożliwić uwierzytelnienie w swoim banku. Ale to nieuczciwa witryna, która będzie zbierać te informacje. Są to sformalizowane definicje, a aby uzyskać więcej definicji dotyczących wszystkiego, co jest związane z bezpieczeństwem, zawsze możesz odwiedzić witrynę internetową NIST, Narodowego Instytutu Organizacji Normalizacyjnej i Technologii. Na ich stronie internetowej można znaleźć definicje wielu terminów, w rzeczywistości wszystkich używanych przez nas terminów dotyczących bezpieczeństwa. Ale kiedy koncentrujemy się na phishingu, chodzi o to, czego chcą ode mnie, dlaczego to robią? Cóż, już zaczęliśmy o tym rozmawiać. Chcą takich rzeczy jak numer ubezpieczenia społecznego, numer telefonu, cokolwiek związanego z kontem bankowym lub numerami kart kredytowych. Mogą po prostu chcieć, abyś otworzył prosty załącznik, aby mogli zainstalować złośliwe oprogramowanie. Gdyby ktoś na ulicy podszedł i poprosił cię o cokolwiek z tego, nigdy byś tego nie wydał. O to chodzi. Nie dałbyś tego, jeśli nie byłbyś przekonany, że wszystko jest w porządku, i wtedy mówimy, aby gra się zaczęła. Podam przykład wiadomości phishingowej i pokażę, jak skonstruowana jest wiadomość phishingowa. Jakie są niektóre z jego kluczowych aspektów, w jaki sposób próbuje cię przekonać lub zwabić do zrobienia czegoś, a następnie omówimy, jak atakujący je ulepszają, a także przyjrzymy się innym atakom. W dobrze skonstruowanej wiadomości phishingowej zauważysz logo w treści wiadomości. To logowanie w wiadomości phishingowej może wyglądać tak, jakby pochodziło z Twojego banku, Amazon, PayPal, Facebooka lub dowolnej organizacji. W ataku phishingowym zobaczysz wiadomość e-mail, która wygląda, jakby pochodziła z, powiedzmy, banku specjalnie dla Ciebie. Nawiasem mówiąc, nie bądź tym zaskoczony, ponieważ łatwo jest wymyślić swój adres e-mail. Haker może albo kupić to z bazy danych, albo po prostu przeskanować serwisy społecznościowe, ponieważ każdy umieszcza swój adres e-mail i firmę, w której pracuje, w mediach społecznościowych. Następnie jest linia "Od", która może oznaczać Service@YourBank.com. Nawet jeśli wygląda to legalnie, nigdy nie ufaj linijce "Od", ponieważ można je sfałszować i zastosować technikę zwaną "podszywaniem się pod nadawcę". Jeśli chodzi o treść wiadomości, generalnie pojawia się zwrot grzecznościowy, taki jak Hi Jack lub Dear Jack. Ale jeśli spojrzysz na tę wiadomość, zobaczysz zdania z błędną pisownią. Jeśli nie brzmi to jak poprawna gramatyka w języku polskim, powinno to wywołać wszystkie twoje alarmy. Jeśli jest na nim napisane coś w rodzaju "Proszę uzyskać dostęp do swojego konta i zatwierdzić transakcję" lub cokolwiek to jest, a otrzymasz link do kliknięcia, NIE RÓB TEGO. Nie klikaj hiperłączy w żadnej wiadomości e-mail, nawet jeśli wygląda na to, że jest to Twój bank, PayPal, Amazon lub ktoś, komu ufasz. Mogą ci powiedzieć, że na twoje konto zostanie zdeponowane 10 000 $. Jeśli tak jest, to gra na twojej chciwości. Co więcej, jeśli zobaczysz zdanie takie jak "Proszę uzyskać dostęp do swojego konta, aby zatwierdzić transakcję, aby uniknąć opóźnień". Napastnik próbuje wywołać u ciebie strach, więc jeśli nie podejmiesz natychmiastowych działań, może się to nie wydarzyć i możesz nie dostać pieniędzy. Ogólnie rzecz biorąc, wiadomości phishingowe proszą o Twoją pomoc, co jest kolejną wskazówką, że atakujący wykorzystuje Twoją psychikę. Cóż, może chcesz od razu kliknąć tego rodzaju link, ale to byłby zły pomysł. Po pierwsze, niektóre z błędów w wiadomościach phishingowych lub rzeczy, które powinieneś zauważyć, to błędy ortograficzne w treści wiadomości e-mail. To częsta rzecz w przypadku ataku phishingowego. Będą błędy ortograficzne. Będzie też miał bardzo słabą gramatykę. Język polski jest niezwykle trudnym językiem do nauczenia się, nie tylko jego pisowni, ale także gramatyki, więc jest to jedna z pierwszych rzeczy, które zniechęcają hakerów. Inną rzeczą może być to, że link w e-mailu może wyglądać podejrzanie. Może link jest bardzo długi i jego sformułowanie nie ma sensu. Być może nie pochodzi nawet z twojego banku, ale z innego banku, z którym nigdy w życiu nie miałeś do czynienia. Osobiście wcześniej otrzymywałem e-maile z różnych banków. Idąc dalej, hakerzy zdają sobie sprawę, że ich e-maile phishingowe mogą być błędnie napisane i nie mają odpowiedniej gramatyki, a to może być upadek. Zdają sobie sprawę, że użytkownicy to dostrzegają, więc stale je ulepszają. Cóż, jeśli tak jest i otrzymasz wiadomość e-mail, która brzmi jak właściwa wiadomość, a link wydaje się wskazywać na Twój bank, możesz pomyśleć: "Mogę temu zaufać", z wyjątkiem kilku rzeczy. Po pierwsze, Twój bank ani żaden inny bank nie wysyła takich e-maili. Zamiast tego bank dzwoni do Ciebie, gdy ma pytania dotyczące transakcji. Robią to dość często z powodu potencjalnego oszustwa. Więc dzwonią do ciebie i weryfikują się z tobą, a potem sprawdzają, aby zobaczyć, a czasem powiedzą zaloguj się na twoje konto bankowe. Innymi słowy, idziesz na konto bankowe. Bardzo rzadko otrzymuje się wiadomość e-mail z banku, w której znajduje się link. Banki po prostu nie wysyłają e-maili z linkami, które należy kliknąć w celu zatwierdzenia transakcji. To powinno już skłonić cię do bliższego przyjrzenia się. Jedną z rzeczy, na które możesz również spojrzeć, jest link w treści wiadomości e-mail. Możesz najechać na niego myszą, kliknąć prawym przyciskiem myszy i uzyskać informacje o właściwościach pod tym linkiem. Jest kilka rzeczy, na które możesz uważać. Spójrz na sam link. Ujawnij rzeczywisty link. Nie klikaj go po prostu, najedź na niego myszą, a pokaże Ci, na którą stronę wskazuje. Dzieje się tak, ponieważ link w treści wiadomości e-mail to tylko litery, które wyglądają, jakby trafiały do Twojego banku. Pytanie brzmi, dokąd prowadzi link? Kiedy spojrzysz na link, spójrz na to, co nazywamy domeną i domeną najwyższego poziomu. Może to być coś zupełnie innego, a jeśli jest zupełnie inne, wiesz, że jest to prawdopodobnie wiadomość phishingowa. Jest jeszcze coś, na co warto zwrócić uwagę. Jeśli spojrzysz na znajdujący się pod spodem rzeczywisty link URL, możesz zobaczyć coś, co wygląda podobnie; www.BankofAmerika.com i pomyśl sobie, że to wszystko jest w porządku i nie zauważyłeś, że Ameryka nie jest poprawnie napisana, możesz stać się ofiarą ataku phishingowego. Często zdarza się, że atakujący ustawiają adres URL jak najbliżej rzeczywistego linku URL, aby ludzie mogli zignorować błędną pisownię i wpaść w pułapkę. Vishing odbywa się przez telefon, znany również jako socjotechnika. Ćwiczeniem lub atakiem phishingowym może być również otrzymana wiadomość tekstowa. Kiedy atak na Twój telefon jest próbą wyłudzenia informacji lub atakiem, mamy tendencję do określania tego jako vishing. Litera "V" oznacza phishing głosowy, stąd nazwa Vishing. Vishing to atak polegający na wyłudzaniu informacji przez telefon lub tekst, który jest bardzo podobny do tego, co otrzymujesz w wiadomości e-mail. Prawdopodobnie brakuje pozdrowienia. Może to oznaczać, że to Twój bank i musimy potwierdzić ostatnią wpłatę. Wszystko wydaje się być napisane poprawnie, ma dobrą gramatykę, a link wygląda, jakby to był Twój link bankowy. Trudniej w tym przypadku sprawdzić link, czy na niego wskazuje, ale faktem jest, że bank nie prowadzi działalności w ten sposób. Niezależnie od tego, czy otrzymasz telefon, gdy ktoś pyta Cię o informacje, czy otrzymasz wiadomość tekstową, po prostu powiedz, że skontaktujesz się bezpośrednio ze swoim bankiem. W ten sposób możesz się upewnić, że nie narażasz się na kontakt z ich linkiem ani na kogoś, kto rozmawia przez telefon. Powiedziawszy to o vishingu, jest też kilka innych ataków.


Jak zapobiegać atakom typu phishing

Twoja firma spotyka się z tym samym rodzajem ataków phishingowych, co Ty. W rzeczywistości, gdy firma je otrzyma, to Ty w firmie zostaniesz poddany atakowi phishingowemu, za pośrednictwem poczty e-mail, telefonu lub SMS-a. Tylko, że będzie to związane z kompromitacją organizacji i właśnie na to chcemy uważać. Chcemy przyjrzeć się, w jaki sposób wpływa to na dane w Twojej firmie, i podać kilka przykładów ostatnich ataków na firmy oraz sposób, w jaki bezpieczeństwo jest obsługiwane w Twojej firmie. Twoja firma i jej poufne informacje firmowe oraz informacje o klientach, wszystkie dane, które firma chce zachować jako poufne, są przedmiotem ataku phishingowego. Informacje o klientach lub własność intelektualna mogą zostać wykorzystane do zarabiania pieniędzy na firmie lub spowodować pewne zakłócenia w firmie, a firma ma na celu wiele ataków phishingowych. Problem z tym polega na tym, że wraca do ciebie, ponieważ atak phishingowy zostaniesz tym, który otrzyma go za pośrednictwem poczty e-mail, telefonu lub wiadomości tekstowej, więc twoja odpowiedź może bezpośrednio wpłynąć na biznes, tak jak to może bezpośrednio wpłynąć na Ciebie osobiście. Dane, które firma próbuje chronić, będą znajdować się w bazach danych, na serwerach, komputerach stacjonarnych i laptopach, więc jeśli pojawi się prośba o zrobienie czegokolwiek z tymi, które mogą zagrażać Twoim danym. Tablety i telefony używane do użytku firmowego oraz wszelkie dyski zewnętrzne lub kopie zapasowe mogą zawierać te informacje. Ale ważną częścią tego jest to, że firma, która jest tak samo podatna na atak phishingowy jak Ty, to Ty początkowo zostaniesz zaatakowany. To ty jesteś tym, a twoja odpowiedź określi, czy ten atak się powiedzie, czy otworzysz załącznik, czy coś z nim zrobisz. Niektóre przykłady tego dla firmy są częstym przykładem kompromitacji biznesowej poczty e-mail. Był jeden, który był głównie atakiem wielorybniczym skierowanym bardziej do menedżerów korporacji otwierających załącznik o nazwie Energy & Industrial Solutions pdf. Kiedy go otworzyli, zainstalował złośliwe oprogramowanie, które zainfekowało ich systemy. Istnieje ćwiczenie phishingowe, w którym wyższe kierownictwo, jeśli otworzy dokument i to zrobi, zainfekowało go. Inny znany jest jako Phish Chipotle i to jest to, gdy próba phishingu włóczniowego została skierowana do pracowników dla Chipotle, a jeśli otworzyli wiadomość e-mail, otrzymali złośliwe oprogramowanie, które naruszyło system punktów sprzedaży w tych lokalizacjach i wydali informacje o karcie kredytowej klienta. Takie próby phishingu mogą być bardzo poważne, jeśli pracownik pada ofiarą ich otwarcia. Kilka innych przykładów. Oszustwo związane z sezonem podatkowym IRS W2 polega na tym, że wygląda na to, że e-mail mógł pochodzić od kierownictwa Twojej firmy. Jest to atak typu spear phishing, polegający na proszeniu o dodatkowe informacje, aby mogli odpowiednio przygotować dla Ciebie podczas sezonu podatkowego. Zdarza się to dość często w miesiącach luty, maj, kwiecień, podczas sezonu podatkowego. Zdecydowanie coś, co zauważysz i na początku możesz czuć się pewnie, chyba że spojrzysz na linki lub nie masz jakiegoś sposobu na przeskanowanie tych załączników. Istnieje również informacja o wysyłce, w której prośba w linku o informacje o wysyłce od jednego z głównych przewoźników dotarłaby do Ciebie i powiedz, że kliknij ten link, aby przekazać nam informacje o wysyłce, a po kliknięciu linku możesz uzyskać pakiet od głównego przewoźnika zainstalował złośliwe oprogramowanie. Są to rzeczy, z którymi Twoja firma musi się zmierzyć, a które również mogą wpłynąć na Ciebie zarówno w firmie, jak i w domu. Możesz pomyśleć, że jesteś sam w tym wszystkim, że jesteś jedynym, który zapobiega atakom phishingowym, zarówno w Twojej firmie, jak i w domu, ale Twoja firma ma na to dodatkową ochronę. Większość firm będzie miała przeszkolonych ekspertów ds. bezpieczeństwa, prawdopodobnie pracujących w dziale bezpieczeństwa, którzy już rozpoczęli wdrażanie narzędzi i innych produktów, które zmniejszą liczbę luk w zabezpieczeniach i ataków, w tym ataków phishingowych. Jedna z rzeczy, które możesz potrzebować rozejrzeć się po swojej firmie, aby zobaczyć, gdzie znajdują się Twoi specjaliści ds. Bezpieczeństwa. Mogą być częścią kilku różnych zespołów, takich jak zespół serwerów lub help desk, zespół programistów, lub mogą być połączone w jeden element organizacyjny, określany jako Bezpieczeństwo IT. Działy bezpieczeństwa IT często oferują szkolenia dla pracowników, a konkretnie to, czego szkolą, to właśnie takie rzeczy, które mogą mieć wpływ na biznes. Przypadkowo otwierasz załącznik w wiadomości phishingowej, cóż, to jest coś, czego chcą cię nauczyć, abyś tego nie robił. W rzeczywistości mogą nawet przetestować Cię, aby zobaczyć, jak dobrze sobie radzisz na tym treningu. Chcę zwrócić uwagę na to, że powstał starszy raport Gartnera, który został sporządzony podczas próby wyłudzenia informacji; załącznik otworzyło prawie 70% pracowników. To duży problem. Im większą świadomość mają wszyscy, tym bardziej jesteś tego świadomy i możesz temu zapobiec, tym lepiej dla organizacji. To do ciebie wraca. Możesz mieć wielki wpływ na ochronę organizacji, po prostu podejmując pewne środki ostrożności, którym będziemy się przyglądać. Przede wszystkim to, co robiliśmy, czyli uczymy się rozpoznawać, że otrzymałeś wiadomość phishingową lub co może być wiadomością phishingową, a teraz możesz zacząć powiadamiać ludzi o problemie i nie otwierać e-mail załącznika. Na tym się tutaj skupiliśmy. Próbujesz chronić swoją organizację. Jego dane są tak samo ważne jak Twoje dane osobowe. Podałem kilka przykładów firm, które zostały zaatakowane, a czasami te ataki wyglądają całkiem nieszkodliwie, na przykład proszenie o podanie informacji o wysyłce od zwykłego przewoźnika. Ale jeśli nie sprawdzisz linku, jeśli nie zobaczysz prawdziwego linku lub nie ujawnisz prawdziwego linku i klikniesz go, możesz narazić firmę na złośliwe oprogramowanie. Możesz temu zapobiec na kilka różnych sposobów, a to, na co zaczniemy się teraz przyglądać, to zapobieganie. Ważne jest, abyś skontaktował się z pracownikami ds. bezpieczeństwa w Twojej firmie, aby sprawdzić, czy dostępne są dodatkowe szkolenia na temat rzeczy, które Twoja firma może wdrożyć, aby spróbować Cię chronić, i jak korzystać z tych narzędzi, ale bądź czujny.


Jak zgłosić atak phishingowy

Nie każdy łapie przynętę, w rzeczywistości o to chodzi w ataku phishingowym, czy wiemy, że haker wie, że nie wszyscy chwycą przynętę, ale niewielki procent to zrobi i to wystarczy. Stajesz się częścią odsetka osób, które nie łapią przynęty, ponieważ zaczynasz rozpoznawać, jak wygląda e-mail phishingowy lub atak. Jednak nadal może się to zdarzyć. Nadal możesz otworzyć załącznik. Istnieją sposoby, aby zapobiec katastrofie, i właśnie to chcemy tutaj przyjrzeć, to niektóre ze środków zapobiegawczych, które możesz zastosować. Przede wszystkim w Twojej firmie są zespoły ds. bezpieczeństwa, które będą bardzo proaktywne i można się od nich wiele nauczyć, więc chcę wspomnieć o kilku rzeczach, które zamierzają robić. A konkretnie, jakie są środki zaradcze dla phishingu, które możesz zrobić, i tylko niektóre ogólne środki zaradcze, aby uchronić się przed wszelkiego rodzaju atakami. Zacznijmy od zespołów ds. bezpieczeństwa, które będą proaktywnymi częściami w Twojej organizacji. Nie jesteś sam w tej walce i jest wiele dobrych przykładów, które możesz wziąć z biura. Innymi słowy, w Twojej organizacji działają zespoły ds. bezpieczeństwa, które bardzo aktywnie próbują zapobiegać nie tylko atakom typu phishing, ale także wszelkim rodzajom ataków. Są rzeczy, których możesz się od nich nauczyć, nie tylko po to, aby pomóc biznesowi, ale nawet pomóc sobie w domu. Przede wszystkim profesjonalny zespół ds. bezpieczeństwa zawsze przeprowadzi analizę i ocenę ryzyka. W tym miejscu ustalają, jaki sprzęt mają, zarówno sprzęt, jak i oprogramowanie, a także jakie są luki w zabezpieczeniach, a także wprowadzają kontrole w celu ochrony środowiska przed atakiem. Przeprowadzą określone skanowanie podatności, a jedną z rzeczy, które będą również robić, będą testy, takie jak testy penetracyjne lub testy piórkowe. W szczególności chcę podkreślić, że firma przeprowadza udawany atak phishingowy. To nie jest coś, co cię urazi, po prostu pomyśl o tym z sytuacji firmy. Chcą, aby ludzie nauczyli się unikać ataków phishingowych, a są to bardzo powszechne ataki, w których pracownik może narazić firmę na wiele niebezpiecznych rzeczy. To, co czasami robi dział IT lub dział bezpieczeństwa, to nie tylko szkolenie użytkowników, ale także przeprowadzanie testów. Wyślą wszystkim wiadomość e-mail, która jest wiadomością phishingową, która zawiera wszystkie elementy wiadomości phishingowej i będą śledzić, ile osób otworzyło ją lub otworzyło załącznik. Kiedy to robią, otrzymują procent tego, jakie jest prawdopodobieństwo, że zostaniemy trafieni faktycznym atakiem phishingowym? Nie obrażaj się tym, ponieważ jest to bardzo ważne do przetestowania. Wiele razy firmy po tym przejdą dodatkowe szkolenia dla pracowników, co jest świetną okazją do nauczenia się rzeczy, które mogą chronić nie tylko firmę, ale i Ciebie. Pamiętaj, że im więcej dowiesz się o atakach phishingowych, tym bardziej będzie to chronić Cię również w domu. Twoja firma lub Twoja firma ma również inne środki, aby w przypadku ataku, jak firma mogła się odbudować? Nie są one tak bardzo prewencyjne, jak środki odzyskiwania, i będą miały takie rzeczy, jak ciągłość biznesowa i odzyskiwanie po awarii, więc jeśli dane są dotknięte problemem, mogą wprowadzać zmiany i upewnić się, że prawidłowe dane są nadal dostępne i chronione. Będą również korzystać z systemów wykrywania i zapobiegania włamaniom. Systemy te mogą wykrywać ataki typu phishing, zanim dotrą do Twojej skrzynki pocztowej, więc dzięki temu konkretnemu oprogramowaniu mogą być w stanie pozbyć się wielu z tych ataków. Jedną z najważniejszych rzeczy, o którą zadba zespół ds. bezpieczeństwa, jest to, że wszystkie systemy operacyjne i aplikacje są w pełni poprawione i aktualne. Jedną z typowych słabości lub wyzwań było to, że istnieją stare ataki, którym niektóre systemy wciąż nie zostały zaktualizowane, aby zapobiec. Jedną z ważniejszych rzeczy do zrobienia zarówno w firmie, jak iw domu, jest upewnienie się, że Twój system operacyjny i aplikacje są w pełni zaktualizowane. W ten sposób mają najnowsze i najlepsze poprawki bezpieczeństwa.


Środki zaradcze phishingu

Dobrą wiadomością jest to, że możesz zapobiegać atakom typu phishing zarówno w organizacji, firmie, jak i w domu. Możesz im zapobiec, ale nie możesz im zapobiec całkowicie i chcę się upewnić, że to zaznaczę. Często mówimy o łagodzeniu jako o łagodzeniu tego najlepiej jak potrafimy. Nie można zapobiec wszystkim w 100%, ale na pewno można to ograniczyć. Twoja firma zrobi to na kilka sposobów, jak wspomniałem w ostatniej sekcji, i możesz zabrać i zrobić kilka z tych samych podobnych rzeczy. Jedną z rzeczy jest to, że możesz zainstalować i używać antymalware. Prawdopodobnie masz to zainstalowane, to oprogramowanie zainstalowane i używane w twoim biurze. Zespoły ds. bezpieczeństwa upewnią się, że jest to aktualne i że okresowo skanuje. Spowoduje to wyszukanie elementów w wiadomości e-mail, takich jak załączniki, więc chcesz mieć tę samą ochronę również w domu. Jednak ważne jest, aby oprogramowanie antymalware, zarówno w biurze, jak i w domu, przeprowadzało okresowe skanowanie, szukając na dysku wszelkich plików, które mogą być zainfekowane lub które mogą zawierać ładunek złośliwego oprogramowania. To musi zostać zaktualizowane, aby uzyskać najnowsze definicje złośliwego oprogramowania, i powinno być ustawione na skanowanie wszystkich załączników do wiadomości e-mail. Pamiętaj, że wiele z tych ataków phishingowych będzie wysyłanych za pośrednictwem poczty e-mail i będą zawierać załączniki, które po ich otwarciu zainstalują złośliwe oprogramowanie. To, co może zrobić oprogramowanie antymalware, to znaleźć je, zanim się do nich dostaniesz, i powinno być w stanie całkowicie wyczyścić i poddać atak kwarantannie. Podobnie coś innego, co chcesz zrobić, zarówno jeśli to możliwe w organizacji, jak i na pewno w domu, to zawsze mieć kopię zapasową. Pamiętaj, to twoja ostatnia deska ratunku. Jeśli zdarzy ci się kliknąć wiadomość phishingową i otworzysz załącznik, który zainstaluje oprogramowanie ransomware, cóż, chyba że chcesz zapłacić komuś Bitcoin, aby spróbować uzyskać hasło, aby otworzyć dane, być może będziesz musiał skorzystać z tej kopii zapasowej , więc ważne jest, aby mieć kopię zapasową. Ponadto, zarówno w domu, jak i w organizacji, chcesz mieć najnowsze poprawki i aktualizacje systemu operacyjnego, z którego korzystasz, a także aplikacji, z których korzystasz. Wiąże się to z pewnymi ogólnymi środkami zaradczymi. Świadomość użytkownika jest jedną z najważniejszych rzeczy, aw organizacji, w wielu działach bezpieczeństwa, ich świadomość użytkownika polega na informowaniu ludzi za pomocą czegoś, co nazywa się tablicą zagrożeń. Tablica zagrożeń zawiera listę aktualnych rodzajów ataków, ich typów oraz tego, czego można się po nich spodziewać. Jeśli Twoja firma ma zespół ds. bezpieczeństwa, który prowadzi tablicę zagrożeń, warto ją sprawdzić, aby zobaczyć, jakie są obecne typy ataków phishingowych, aby mieć większą świadomość i nie wpaść w pułapkę. Ponadto szkolenie użytkowników i phishing i inne zagrożenia to coś, co dział bezpieczeństwa zdecydowanie chce zrobić. Mogą również przeprowadzić próbne testy penetracyjne, aby zobaczyć, jak dobrze szkolenie działa na użytkowników. Jeśli chodzi o szkolenie użytkowników, w przypadku phishingu pomocne jest przyjrzenie się najnowszym rodzajom ataków phishingowych, zwłaszcza jeśli jesteś na bieżąco, nowsze mogą zawierać zero-day. Rzeczy, których wcześniej nie widzieliśmy, a oprogramowanie antymalware nie może zapobiec, więc bądź świadomy tego, co jest w wiadomościach. Ponadto część szkolenia użytkowników i upewnij się, że rozumiesz, jak skutecznie uruchamiać złośliwe oprogramowanie, aby przeprowadzało ono okresowe skanowanie i uzyskiwało aktualizacje oraz aby upewnić się, że zostało poprawnie skonfigurowane do skanowania wszystkich wiadomości e-mail. Istnieją również inne praktyki bezpieczeństwa, które można wdrożyć, takie jak nie tylko upewnienie się, że oprogramowanie antymalware jest aktualne, ale także proste rzeczy. Na przykład, jeśli ktoś zadzwoni do Ciebie przez telefon i powie, że dzwoni ze swojego banku, nie musisz akceptować tego, co jest warte, możesz oddzwonić bezpośrednio do swojego banku na jego numer. Niezależnie od tego, jaka jest organizacja, bez względu na to, jak się z Tobą skontaktują, możesz powiedzieć: nie, pozwól, że skontaktuję się bezpośrednio z Tobą i skontaktuję się bezpośrednio z nimi, aby uniknąć kontaktu przez telefon, SMS-a lub e-maila, nakłaniającego Cię do czegoś, co może być zdradliwe . Skupiono się na tym, jak organizacja chroni się za pomocą zespołów ds. bezpieczeństwa i jak możesz współpracować z tymi zespołami ds. bezpieczeństwa w organizacji, aby upewnić się, że chronisz organizację. Ale jednocześnie istnieje wiele technik, które możesz przynieść do domu, aby również Cię chronić, a to jest ochrona przed złośliwym oprogramowaniem i ogólnie dobre praktyki. Przeczytaj wiadomość e-mail i zobacz, czy wygląda podejrzanie. Jeśli jest to rozmowa telefoniczna lub wiadomość tekstowa, skontaktuj się bezpośrednio z firmą, zamiast podawać jakiekolwiek informacje przez telefon lub SMS-a.


Jak zgłaszać ataki typu phishing

Co z tego, że padniesz ofiarą ataku phishingowego, a może nie padłeś ofiarą ataku phishingowego, może zauważyłeś atak phishingowy i nie otworzyłeś załącznika, nie kliknąłeś w link , ale jest ktoś, kogo możesz powiadomić, że ten atak ma miejsce? Odpowiedź brzmi tak, zarówno na poziomie firmy, jak i na poziomie osobistym są inne działania, które możesz podjąć, jeśli zauważysz atak phishingowy. W tej sekcji przyjrzymy się sposobom zgłaszania firmie w przypadku zauważenia ataku phishingowego, sposobom zgłaszania firmom osobistego ataku oraz najgorszemu scenariuszowi, jeśli zajdzie taka potrzeba możesz również zgłosić to do FBI. Zacznijmy od tego, komu powiedzieć w firmie. Jeśli coś zobaczysz, powiedz coś. To rutyna, której zawsze chcesz przestrzegać, zarówno w firmie, jak i w domu. Jak więc zgłosić to firmie? Cóż, wiele firm ma procedurę zgłaszania możliwych ataków. Jeśli zauważysz wiadomość phishingową, pytanie brzmi: Jaka jest procedura w Twojej firmie, komu o tym powiedzieć? Czasami będzie wyznaczony kontakt bezpieczeństwa, będzie ktoś, z kim możesz porozmawiać, hej, dostałem ten e-mail, myślę, że jest podejrzany i zastanawiam się, co się z tym dzieje. Czasami będzie to zespół specjalistów ds. bezpieczeństwa. Może to być po prostu Twój wewnętrzny dział IT lub nawet Help Desk. Ważne jest, aby wiedzieć, z kim masz się z tym skontaktować. W najgorszym przypadku może nie być wyznaczonego kontaktu, ale oznacza to, że po prostu udaj się do swojego bezpośredniego przełożonego, udaj się do swojego przełożonego i powiedz: Myślę, że zauważyłem ten atak lub dostałem bardzo podejrzany e-mail. Co ja robię? Do kogo mam zadzwonić? Jest to ważniejsze niż myślisz. Możesz być pierwszym; możesz być pierwszą osobą w firmie, która otrzymała tę konkretną wiadomość phishingową. Jeśli jesteś pierwszy i powiadomisz ich o tym, może to pozwolić im na podjęcie działań. Mogliby wyłączyć filtry na swoich firewallach, dostosować niektóre skanery, które skanują załączniki do wiadomości e-mail, mogą wysłać alert, ostrzeżenie do wszystkich, co mogą zobaczyć, i nie otwierać tego. Ważne jest, aby ktoś o tym wiedział, aby można było podjąć dalsze działania i zapobiegać. Nie po prostu usuń e-mail i idź, no cóż, to było zaadresowane do mnie i czegoś chcieli, ale wiem, że to tylko oszustwo, więc to usunę. Pozwól komuś wiedzieć. Nawet jeśli to tylko twój menedżer. Robiąc to wszystko, zgłaszając to, nie tylko dałeś firmie szansę na podjęcie działań, ale dałeś firmie szansę na zaalarmowanie innych i jest to odpowiedzialność, którą każdy pracownik powinien wziąć na siebie, gdy tylko jest to możliwe, za każdym razem, gdy coś rozpoznają, aby zapobiec temu, co może być katastrofalnym wydarzeniem. Jeśli zostaniesz zaatakowany w domu, jeśli jest to osobisty atak na Twoje osobiste konto e-mail w związku z Twoimi danymi osobowymi, komu to zgłosić? Cóż, jest inaczej, ale niezbyt zaskakująco. Chcesz skontaktować się z firmą lub agencją, której dotyczy ten atak. Innymi słowy, jeśli dostałeś atak z banku i nie padłeś jego ofiarą, ponieważ nie otworzyłeś załącznika, nadal możesz od razu zadzwonić do swojego banku. Przede wszystkim, aby sprawdzić, czy z Twoim kontem nie dzieje się nic śmiesznego, a drugą rzeczą jest poinformowanie o tym swojego banku. Skontaktuj się z bankiem, gabinetem lekarskim lub kimkolwiek, kogo to dotyczy, aby byli świadomi dokładnie tych samych powodów, z których powiadomiłeś swoją firmę, aby mogli podjąć działania, mogą wysyłać powiadomienia o niedawnym wyłudzaniu informacji ataki. Chcesz się również upewnić, że jeśli uważasz, że miałeś atak w domu, chcesz się upewnić, że zaktualizowałeś swój program antymalware i wykonałeś pełne skanowanie systemu. Upewnij się, że złośliwe oprogramowanie może skanować załączniki do wiadomości e-mail oraz czyścić je i poddawać kwarantannie, dzięki czemu możesz upewnić się, że robisz wszystko, co w Twojej mocy, aby zapobiec temu atakowi. Jeśli padłeś ofiarą ataku, prawdopodobnie będziesz musiał anulować swoje karty kredytowe i wymienić moje karty kredytowe. Anulowanie kart kredytowych może być działaniem, które podejmujesz, ale także czymś, na co chcę zwrócić uwagę. Istnieją produkty innych firm przeznaczone specjalnie do kradzieży tożsamości, które pomagają zapobiegać kradzieży tożsamości. Te produkty innych firm będą monitorować Twoje konta, dzięki czemu jeśli padniesz ofiarą ataku phishingowego lub innej luki lub jakaś inna firma, z którą prowadzisz interesy, padła ofiarą ataku phishingowego, te inne firmy zewnętrzne pomogą zapobiec sytuacji, w której coś się wydarzy. swoją tożsamość i konta. W branży toczy się wiele kłótni na temat wartości tego. Istnieją inne środki ostrożności, które możesz podjąć, poza wiedząc, czego szukać, aktualizując oprogramowanie antymalware, możesz również zainwestować w jedną z tych innych firm zewnętrznych, aby monitorować swoją tożsamość. To prowadzi nas do tego, z kim się skontaktować, jeśli wszystko inne zawiedzie. Jeśli wszystko inne zawiedzie, a wpływ jest wystarczająco duży, zwłaszcza w przypadku oprogramowania ransomware, możesz zgłosić to bezpośrednio do FBI. Ponadto pod względem organizacyjnym, z punktu widzenia organizacji, funkcjonariusze ds. bezpieczeństwa w Twojej organizacji mają kontakty zewnętrzne, a także FBI, z którymi można się skontaktować w przypadku poważnej epidemii, dzięki czemu możesz się z nimi skontaktować. To zamyka nas na rzeczy, które zrobiliśmy w tej książce. W tej sekcji sprawdzaliśmy, komu należy zgłaszać ataki phishingowe, zarówno w firmie, jak i w Twojej firmie. Z kim rozmawiasz, jeśli wyczuwasz, czujesz lub myślisz, że widziałeś jakiś atak, to samo dotyczy ataków osobistych. Skontaktuj się z firmą, która może być zaangażowana w część ataku, np. z bankiem, a nawet z FBI. Ważnym aspektem jest zrozumienie, czym jest atak phishingowy. Jest to powszechny atak, który jest rzucany do Internetu za pomocą e-maili, wiadomości tekstowych, czasem ludzkich połączeń telefonicznych, a jego celem jest nakłonienie Cię do podjęcia działania, kliknięcia linku lub otwarcia załącznika, który zainstaluje złośliwe oprogramowanie lub w inny sposób uzyskać niektóre informacje umożliwiające identyfikację osoby lub informacje o firmie. Miejmy nadzieję, że widząc przykłady tego, będziesz miał lepszą wiedzę, jak to rozpoznać i zapobiec temu.


Wskazówki, jak unikać oszustw związanych z wyłudzaniem informacji

Inżynieria społeczna polega na łamaniu ludzi. Jesteśmy miękkim centrum tych systemów. Jesteśmy tymi, których tak łatwo można wykorzystać, nawet jeśli istnieją doskonałe cyfrowe elementy sterujące. Jedną z rzeczy, które musimy zrobić, jest kondycjonowanie ludzi. Musimy wyszkolić ich, aby spodziewali się tych stylów ataków i umieli odpowiednio reagować. Ludzie są wektorem ataku; to oni potrzebują pracy. Problem w tym, że ludzie nie są doskonali. Są również niestabilne i nie zawsze wiesz, czego się po nich spodziewać. Nie tylko to, ale szczególnie w organizacji, często się zmieniają. Na pokładzie pojawiają się nowi ludzie, którzy muszą być wyszkoleni, aby wiedzieć, czego szukać w zakresie odpierania ataków socjotechnicznych. Częścią problemu, a nawet jednym z powodów, dla których socjotechnika pozostaje tak potężnym atakiem, jest to, że większość szkoleń z zakresu bezpieczeństwa organizacji nie jest szczególnie przydatna. Wiele firm nakazuje bardzo suche, wymagające szkolenia. Mnóstwo filmów lub dokumentów i podpisów potwierdzających, że ludzie je przeczytali i zrozumieli, i rzeczywiście zapewnią, że nie są konstruowani społecznie. Kolejny doskonały przykład tego, jak wiele organizacji używa plakatów bezpieczeństwa. Bardzo często będziesz chodził po organizacji i widział plakaty na temat; "Uważaj na nieznane e-maile i załączniki" lub "używaj silnych haseł" lub "zmierz się z ogonami". Ludzie widzą te plakaty, czytają je, a potem o nich zapominają i ruszają z życiem. Stają się statyczną podpowiedzią, umieszczoną tam na ścianie. Zainteresowanie ludzi jest ulotne i bardzo szybko plakaty stają się po prostu białym szumem. Wiele z nich nie jest szczególnie przekonujących lub bardzo dobrze przemyślanych i nie mają trwałego wpływu na zmianę zachowań ludzi. O wiele lepszym podejściem do kondycjonowania ludzi jest poddanie ich próbie. Korzystanie z narzędzia takiego jak Phish5 i warunkowanie ludzi, tak aby osoby wykonujące swoją zwykłą pracę w swoich korporacyjnych rolach odbierały wiadomości phishingowe, a następnie mierzyły, ilu z nich padło ofiarą, jest to sposób na warunkowanie ludzi. Nie tylko jednorazowo lub w określonym z góry dniu każdego roku, kiedy ludzie się tego spodziewają, ale od czasu do czasu na zasadzie ad hoc, narażając ich na socjotechnikę w etyczny sposób i zapewniając, że ludzie są na nią odporni. Uwarunkowanie ludzi jest najlepszym możliwym sposobem ochrony ich przed ryzykiem socjotechniki. Jedną z najlepszych możliwych wiadomości, jakie możesz zostawić ludziom, jest: "ufaj, ale weryfikuj". Odnosi się to do każdego scenariusza, od telefonu pomocy technicznej do szefa z prośbą o przekazanie pieniędzy komuś, kto chce śledzić Cię przez bramkę bezpieczeństwa. Jest to podstawowa praktyka i jedna z najlepszych rzeczy, z którymi możesz zostawić tych bezbronnych ludzi. Podsumowując środki zaradcze, omówiliśmy różne rzeczy, ale niektóre z kluczowych to takie, jak używanie cyfrowych kontroli w celu zmniejszenia ryzyka tych wrażliwych ludzi. Kontrole, takie jak zabezpieczenia przeglądarki, możliwość blokowania złośliwych załączników lub umieszczanie bardzo oczywistych ostrzeżeń o potencjalnych witrynach phishingowych. Chociaż wspomnieliśmy o kontroli cyfrowej, prawa dostępu i stosowanie zasady najmniejszych uprawnień jest doskonałym przykładem kontroli cyfrowej. Nie dawaj ludziom dostępu do rzeczy, których nie potrzebują do wykonywania swojej pracy. Innym ważnym krokiem było niszczenie rekordów, głównie gdy myślimy o ryzyku nurkowania w śmietniku. Niszczarki do papieru, niszczarki do urządzeń elektronicznych i niszczą wszystko, co nie jest już potrzebne, ale pozostaje również świadome wszelkich wymagań dotyczących przechowywania danych. Zachęcam ludzi do projektowania systemów dla skompromitowanych ludzi, aby spodziewali się, że ludzie zrobią coś złego, albo pośrednio, ponieważ zostali stworzeni przez inżynierię społeczną lub niechcący uruchomili złośliwe oprogramowanie na swoim komputerze, ale także dlatego, że niektórzy ludzie są ostatecznie złośliwi. Dlatego projektuj systemy, aby chronić je przed kimś, kto chce wyrządzić szkody lub chce zyskać przewagę finansową, korzystając z Twoich systemów w sposób, w jaki nie powinien. Doskonałym przykładem jest taka praktyka, jak rozdział obowiązków. Zaprojektuj swoje systemy, aby zachęcić do tego wzorca. Weryfikacja wieloetapowa to kolejny doskonały sposób projektowania systemów dla zagrożonych ludzi. Rejestrowanie, audyt i monitorowanie to kolejny sposób na zmniejszenie ryzyka zagrożonego człowieka, nawet jeśli może nie być w stanie wyeliminować tego ryzyka. I wreszcie, testując pracowników, ludzie potrzebują warunkowania. Nie tylko trenuj za pomocą korporacyjnych filmów stockowych lub plakatów na ścianie, ale ćwicz bronienie się przed tymi atakami. Prowadzenie programu takiego jak etyczna kampania phishingowa i narażanie ich bezpośrednio na rodzaje ataków, przed którymi masz ich chronić, jest jedną z najlepszych rzeczy, jakie możesz zrobić, aby powstrzymać ludzi przed padaniem ofiarą socjotechniki. Musisz wziąć pod uwagę źródło. Jeśli znajdziesz pamięć USB, z natury nie jest to przyjemne odkrycie. Może być załadowany złośliwym oprogramowaniem, które tylko czeka na zainfekowanie komputera. A e-mail lub SMS z Twojego banku zasadniczo nie pochodzi z Twojego banku. Podszywanie się pod zaufane źródło jest stosunkowo nieformalne. Musisz pamiętać; W dzisiejszych czasach nie klikaj żadnych linków ani nie otwieraj załączników do wiadomości e-mail z podejrzanych baz, możesz uznać wszystkie źródła za wątpliwe. Nie ma znaczenia, jak wiarygodna jest ta wiadomość e-mail; bezpieczniej jest wpisać adres URL w przeglądarce zamiast klikać link. Musisz zwolnić. Inżynierowie społeczni często liczą na to, że się spieszą, nie biorąc pod uwagę możliwości, że oszust może być odpowiedzialny za rozmowę telefoniczną, e-mail lub prośbę twarzą w twarz, w której występują. Jeśli przestaniesz zastanawiać się nad pytaniem, czy ma ono sens lub wydaje się nieco podejrzane, prawdopodobnie będziesz działać we własnym interesie - nie w przypadku oszustów. Jeśli brzmi to zbyt pięknie, aby mogło być prawdziwe, cóż, jak prawdopodobne jest, że nigeryjski książę skontaktuje się z tobą w celu uzyskania twojego wsparcia? Z drugiej strony, twój najlepszy przyjaciel wysyła ci SMS-a, aby wpłacić kaucję, gdy jest w Wietnamie? Sprawdź wszelkie prośby o dane osobowe, pieniądze lub jakąkolwiek wartość przed przekazaniem ich komukolwiek. Istnieje duża szansa, że to oszustwo - a nawet jeśli tak nie jest, lepiej być bezpiecznym niż żałować. Zainstaluj program antywirusowy lub pakiet zabezpieczeń i codziennie aktualizuj to oprogramowanie. Podobnie upewnij się, że na komputerze i innych urządzeniach działają najnowsze wersje swojego systemu operacyjnego. Jeśli to możliwe, ustaw system operacyjny na rutynową aktualizację. Posiadanie najnowszych wersji tych aplikacji na urządzeniach pomoże zapewnić, że są one przygotowane na najnowsze zagrożenia bezpieczeństwa. Oprogramowanie e-mail może Cię wesprzeć. Wiele programów pocztowych może odfiltrować niechcianą pocztę zawierającą oszustwa. Jeśli uważasz, że twój nie radzi sobie zbyt dobrze, poszukaj w Internecie, aby dowiedzieć się, jak zmienić ustawienia. Celem jest ustawienie wysokich filtrów antyspamowych, aby pozbyć się jak największej ilości niechcianej poczty. Inżynierię społeczną można znaleźć zarówno w trybie offline, jak i online. Twoją najdoskonalszą obroną przed tego rodzaju atakami jest nauczenie się, aby być świadomym ryzyka i zachować czujność.


Jak zdefiniować incydenty

Przede wszystkim porozmawiajmy o tym, czym są incydenty. Co to za incydent? Cóż, incydent jest negatywnym wydarzeniem, a co to jest? No, a wydarzeniem jest wszystko, co można zaobserwować. Negatywne zdarzenie może w zły sposób wpłynąć na organizację lub jej systemy lub dane. Zarządzanie incydentami to to, jak dobrze organizacja radzi sobie z nieoczekiwanymi negatywnymi zdarzeniami. Celem zarządzania incydentami jest zmniejszenie wpływu na organizację, jej dane i systemy oraz jak najszybsze przywrócenie normalnych operacji biznesowych. Reagowanie na incydenty to podzbiór zarządzania incydentami, a są to możliwości organizacji, zasoby, ludzie, procesy i procedury, wszystko, co organizacja może rzucić na niepożądane zdarzenie, aby na nie zareagować. Zdarzenie niepożądane może obejmować takie rzeczy, jak cyberatak, tornado, zagrożenie wewnętrzne lub wypadek wewnętrzny. Porozmawiajmy o różnicy między zdarzeniami naturalnymi a zdarzeniami stworzonymi przez człowieka. Zdarzenie naturalne to zdarzenie środowiskowe, takie jak tornada, huragany, trzęsienia ziemi lub pożary. Są to rzeczy trudne do przewidzenia, a czasami bardzo trudne do uchronienia się przed nimi. Następnie masz incydenty stworzone przez człowieka lub incydenty spowodowane przez człowieka. Są to takie rzeczy, jak ataki hakerskie, terroryzm, podpalenia lub wypadki, które mogą mieć miejsce w miejscu pracy. To wszystko są incydenty stworzone przez człowieka. Zdarzenie można sklasyfikować na jeden z tych dwóch sposobów lub na inne kategorie, co zobaczymy w dalszej części książki, gdy będziemy mówić o definiowaniu i klasyfikowaniu incydentów.

Podstawowe pojęcia zarządzania incydentami

Porozmawiajmy o kilku podstawach zarządzania incydentami, które musisz znać, aby mieć dobry program do zarządzania incydentami. Przede wszystkim, jakie są cele zarządzania incydentami? Cóż, są proste. Chcemy jak najszybciej identyfikować incydenty. Chcemy określić, o co im chodzi i uzyskać więcej informacji na ich temat, abyśmy wiedzieli, jak na nie odpowiedzieć. Chcemy określić ich nasilenie i sklasyfikować. Chcemy móc szybko i skutecznie na nie reagować, abyśmy mogli powstrzymać szkody powstałe w wyniku incydentu. Podsumowując, chcemy utrzymać działalność biznesową, przywrócić ją do normalnego działania, a także w miarę możliwości zapobiegać przyszłym incydentom. Innym celem może być wdrożenie wszystkich kontroli i środków zaradczych, których potrzebujemy, aby zmniejszyć ryzyko w jakiejkolwiek przyszłości zaistnienia incydentów. W ramach zarządzania incydentami musimy zrobić kilka rzeczy, zanim incydent się wydarzy. Oznacza to, że musimy opracować nasz plan reagowania na incydenty, politykę, procedurę i strategię. Musimy dowiedzieć się, jak będziemy klasyfikować incydenty pod względem ich wpływu i dotkliwości. Musimy także zebrać naszych ludzi, powołać ludzi do zespołu i dobrze ich wyszkolić. Inną rzeczą, którą musimy zrobić na wczesnym etapie, jest ustanowienie łańcucha dowodzenia w naszych procedurach powiadamiania i ostrzegania, ponieważ musimy być w stanie ostrzec i powiadomić odpowiednie osoby w łańcuchu, gdy wydarzy się incydent. Rozmawialiśmy o zarządzaniu incydentami i o tym, jak jest to zagrożone, ale porozmawiajmy o tym więcej. Zarządzanie incydentami jest rodzajem podzbioru zarządzania ryzykiem. Zarządzanie incydentami pomaga nam do pewnego stopnia zmniejszyć ryzyko, ponieważ szybko powstrzymujemy szkody powstałe w wyniku incydentu i reagujemy na ryzyko, ponieważ incydent stanowi zagrożenie dla organizacji. Znając ryzyko, mówimy o zagrożeniach wykorzystujących podatności i prawdopodobieństwie skutków wynikających z tych rzeczy. To zagrożenie wykorzystujące podatność jest naszym negatywnym wydarzeniem lub naszym incydentem. W ten sposób łączy się to z powrotem z ryzykiem. Jednym ze sposobów, w jaki możemy spróbować dowiedzieć się, jakie incydenty mogą nam się przydarzyć, jest modelowanie zagrożeń. Przeanalizuj również wszystkie nasze luki w zabezpieczeniach, aby zobaczyć, jakie zagrożenia mogą je wykorzystać. Pomoże nam to dowiedzieć się, jakie incydenty mogą się zdarzyć i jak poważne mogą one mieć wpływ na organizację. Jedną rzeczą, o której ludzie błędnie myślą, jest to, że zarządzanie incydentami obejmuje tylko dział IT lub dział bezpieczeństwa, a to nieprawda. Zarządzanie incydentami obejmuje prawie każdy dział w firmie. Dział IT, ale także dział HR, dział prawny, każdy dział public relations czy PR czy media relations i tak dalej. Wszystkie te działy pomagają w zarządzaniu incydentami, ponieważ przyczyniają się do różnych aspektów tego, co możemy zrobić w odpowiedzi na incydent. Dział HR może przyczynić się do tego, że przyczyną incydentu może być pracownik wewnętrzny lub złośliwy podmiot. Dział prawny chce mieć pewność, że robimy wszystko zgodnie z prawem, etycznie, z należytą starannością, należytą starannością i ograniczeniem odpowiedzialności. Dział public relations chce przekazywać mediom właściwe informacje we właściwym czasie. Inne aspekty organizacji są również ważne, takie jak ubezpieczenia i programy ryzyka, ponieważ będą one na końcu incydentu, aby pomóc w pokryciu kosztów i tak dalej. Programy zgodności są ważne, ponieważ wiele pojazdów zgodności wymaga posiadania programu zarządzania incydentami. Prywatność to kolejny aspekt, w który możemy się zaangażować, gdy reagujemy na incydent, ponieważ dane klienta lub dane osobowe mogą zostać naruszone, więc musimy wiedzieć, jak na to zareagować pod względem prywatności. Porozmawiajmy o systemie zarządzania incydentami. Nie chodzisz po prostu i nie piszesz tego wszystkiego na karteczkach samoprzylepnych. Musisz mieć system zarządzania incydentami, który pomoże Ci zbierać dane, sortować je, dostarczać do odpowiednich osób, analizować i tak dalej. W tym właśnie może pomóc system zarządzania incydentami. Możesz rejestrować wszystkie aspekty incydentu, przechwytywać wszystkie dane i przechowywać je w jednej scentralizowanej lokalizacji. Możesz go użyć do analizy incydentu. Można również uzyskać dane wejściowe z wielu różnych źródeł, w tym systemów wykrywania włamań do sieci, systemów wykrywania włamań opartych na hoście, zarządzania zdarzeniami dotyczącymi informacji o zabezpieczeniach lub systemów SIEM. Możesz również uzyskać dane z plików dziennika i innych źródeł danych, a także zebrać to wszystko i umieścić w swoim systemie zarządzania incydentami, aby mieć kompleksowy zestaw danych do analizy. Skąd wiemy, że w zarządzaniu incydentami wykonujemy dobrą robotę? Dobrze zaprojektowany program zarządzania incydentami powinien bardzo dobrze radzić sobie z nieoczekiwanymi zdarzeniami lub incydentami. Musimy być w stanie jak najszybciej wykrywać i identyfikować incydenty. W naszym planie reagowania na incydenty musimy mieć dobrze ugruntowane procedury, które zostały przećwiczone i zdefiniowane. Musimy ostrożnie wybierać i wybierać członków naszego zespołu do zespołu reagowania na incydenty, a także dobrze ich przeszkoliliśmy na incydenty, które możemy mieć. Inną rzeczą, którą chcemy, aby zarządzanie incydentami robiło, jest opłacalne, posiadanie efektywnej kosztowo reakcji na incydenty. Jedną rzeczą, którą również musimy zrobić, jest regularne testowanie naszych zdolności reagowania na incydenty, a już wcześniej rozmawialiśmy o ćwiczeniach i testach. Co więcej, jeśli program do zarządzania incydentami jest dobrze zaprojektowany, powinien umożliwić nam zbieranie metryk do mierzenia, jak dobrze sobie radzimy i analizowania tych danych. Powinno to również pozwolić nam przyjrzeć się incydentowi i wszystkim wyciągniętym z niego lekcjom oraz dowiedzieć się, jaka była pierwotna przyczyna i jak możemy zapobiec powtórzeniu się tego incydentu. Wyciągnięte wnioski wykorzystujemy, aby zapobiegać dalszym incydentom, a także zwiększać skuteczność reagowania na incydenty, ponieważ podczas każdego incydentu nauczymy się wiele o tym, co powinniśmy, a czego nie powinniśmy robić.


Jak definiować i klasyfikować incydenty

Musisz zrozumieć, w jaki sposób można definiować i klasyfikować incydenty i rozumieć to, chociaż istnieją wytyczne dotyczące definiowania i klasyfikowania incydentów. Ostatecznie to od organizacji zależy ich zdefiniowanie i sklasyfikowanie w dowolny sposób, który uzna za stosowny, i może użyć jednego lub dwóch kryteriów lub wielu różnych kryteriów. Kiedy definiujemy incydenty, organizacja musi zdefiniować i sklasyfikować je dla własnych celów we własnym kontekście we własnym środowisku pod kątem własnej misji biznesowej lub ryzyka. W jednej części kraju huragan można określić jako poważny incydent dla konkretnej organizacji. W innej części kraju huragany nie stanowią problemu, dlatego organizacja może nawet nie martwić się o ich zdefiniowanie i sklasyfikowanie. Kiedy definiujesz incydent, oznacza to, że identyfikujesz te potencjalne incydenty według wpływu, prawdopodobieństwa na podstawie danych o zagrożeniach. To zarządzanie ryzykiem. Kiedy definiujesz incydent, tworzysz model zagrożenia. Patrzysz na możliwe zagrożenia, które mogą się wydarzyć, negatywne wydarzenia. Przyglądasz się również słabym punktom, które te zagrożenia mogą wykorzystywać, a następnie określasz prawdopodobieństwo ich wystąpienia i jaki byłby ich wpływ, gdyby się wydarzyły. To jest zarządzanie ryzykiem. Wszystkie te różne incydenty definiujesz w kontekście swojej organizacji i ryzyka. Kiedy klasyfikujesz incydenty, możesz je klasyfikować na podstawie wielu różnych kryteriów. Prawdopodobnie dobrze by Ci przysłużyło się sklasyfikowanie ich pod względem ważności, co oznacza wpływ na organizację. Możesz również sklasyfikować je według tego, czy są naturalne, czy stworzone przez człowieka, czy też są złośliwe lub przypadkowe. Ale są też inne sposoby ich klasyfikacji. Możesz użyć subiektywnej skali, ilościowej, jakościowej, półilościowej skali, aby sklasyfikować incydenty według dotkliwości lub reakcji lub reakcji, którą musisz na nie wnieść. Ponieważ wpływ jest jednym z najczęstszych sposobów klasyfikowania incydentów i prawdopodobnie jednym z lepszych sposobów, przyjrzyjmy się kategoriom wpływu. Przede wszystkim spójrzmy na kategorię wpływu funkcjonalnego. Wpływ funkcjonalny oznacza, że taki wpływ miałoby wydarzenie na zdolność organizacji do wykonywania swojej pracy lub świadczenia usług. Na przykład kategoria brak może oznaczać, że nie ma to wpływu na ich organizację. Kategoria niska może oznaczać, że ma minimalny wpływ na to, że nadal może świadczyć swoje usługi i wykonywać swoje operacje, ale może nie tak wydajnie, jak by to robiła. Średnia kategoria może oznaczać, że ich organizacja nie może świadczyć krytycznej usługi określonej grupie użytkowników lub przez określony krótki czas. Wysoki wpływ oznaczałby znaczną szkodę dla działalności i operacji ich organizacji i prawdopodobnie nie mogliby już świadczyć niektórych lub wszystkich krytycznych usług żadnym użytkownikom. Te kategorie wpływu pochodzą z NIST. Przyjrzyjmy się kategoriom wpływu informacji. Tak duży wpływ na systemy informacyjne i dane może mieć incydent. Nie masz żadnych, co oznacza, że żadne informacje nie zostały poddane ex-filtracji, zmianie, usunięciu ani skompromitowaniu. Być może masz naruszenie prywatności, w którym poufne dane osobowe zostały naruszone, przefiltrowane lub udostępnione. Możesz mieć zastrzeżone naruszenie informacji zastrzeżonych, które obejmują informacje o infrastrukturze krytycznej lub tajemnice handlowe. Wtedy może inną kategorią byłaby utrata integralności, gdy którakolwiek z tych informacji została zmieniona lub usunięta. Te kategorie wpływu informacji obejmują poszczególne obszary w formie ruchomej skali od braku wpływu do dużego wpływu. Prawdopodobnie dobrym pomysłem byłoby również ocenę tych konkretnych kategorii pod kątem ich wpływu. Następnie mamy kategorie nakładu na odzyskiwanie. Te kategorie informują o tym, jak incydent może wpłynąć na możliwość odzyskania po nich. Na przykład regularny może być taki, że czas powrotu do zdrowia po zdarzeniu jest przewidywalny i masz na to środki. Uzupełnienie może oznaczać, że możesz przewidzieć czas, ale potrzebujesz dodatkowych zasobów. Przedłużony może oznaczać, że czas powrotu do zdrowia jest nieprzewidywalny i potrzebujesz więcej zasobów, a także potrzebujesz pomocy z zewnątrz. Nie do odzyskania to kategoria, która oznacza, że nie możesz odzyskać zdrowia po incydencie. Powinieneś wszcząć dochodzenie lub nawet wdrożyć swoje plany DRP lub BCP. Wszystkie te kategorie wpływu pochodzą z NIST. Istnieje również wiele innych sposobów klasyfikacji tych incydentów według wpływu. Możesz to zrobić jakościowo, ilościowo lub półilościowo, jeśli chcesz.


Jak przygotować politykę i plany zarządzania incydentami

Rozmawialiśmy o podstawach zarządzania incydentami, przyjrzyjmy się zasadom i planom, które są podstawą skutecznego programu zarządzania incydentami. Nadzór to jedna rzecz, na którą napotkasz w całej organizacji w obszarze IT i cyberbezpieczeństwa, a zarządzanie incydentami nie różni się. Zarządzanie mówi nam, co mamy robić, jakie są jego wymagania. Mamy wiele różnych rodzajów zarządzania. Mamy zewnętrzny nadzór, który może mieć formę przepisów ustawowych, wykonawczych lub statutów, które pochodzą od rządu i wymagają od nas wykonywania naszych procesów w określony sposób. Mogą również pochodzić z zasad reagowania na incydenty. Są to dokumenty wewnętrzne, które wspierają nasze zewnętrzne zarządzanie. Te zasady mówią nam, co musimy zrobić, niekoniecznie szczegółowo, jak musimy to zrobić. Tu właśnie pojawiają się plany. Plan reagowania na incydenty jest centralnym dokumentem funkcji zarządzania incydentami, ponieważ mówi wszystkim członkom zespołu, co muszą zrobić i jak muszą to zrobić. Zawiera szczegółowe informacje dotyczące informacji, których potrzebują do wykonywania swoich obowiązków, a także szczegółowe procedury. Procedury IR mówią członkom zespołu, w jaki sposób muszą wykonywać określone zadania, które są krytyczne dla operacji reagowania. Są bardzo szczegółowe, zawierają wszystkie potrzebne informacje i zazwyczaj krok po kroku. Porozmawiajmy jeszcze przez chwilę o zarządzaniu, aby zrozumieć, w jaki sposób zarządzanie wpływa na program zarządzania incydentami. Zarządzanie zewnętrzne, jak powiedzieliśmy, pochodzi spoza organizacji i można to zobaczyć na przykład w postaci przepisów i regulacji dotyczących ochrony danych. Te przepisy i regulacje mogą wymagać, aby organizacja posiadała zdolność reagowania na incydenty, więc właśnie tam zaczyna się nadzór wewnętrzny. Organizacja opracuje politykę szczegółowo opisującą wymagania, odzwierciedlającą to, co mówi nadzór zewnętrzny, a także dodając niektóre własne wymagania i byłaby to dyrektywa pochodząca od wewnętrznego kierownictwa, która mówi, że musisz mieć tę zdolność i musisz mieć zdolność skuteczną. Przykłady tych zasad mogą obejmować zasady reagowania na incydenty, zasady BCP i DRP oraz inne zasady. Z tej polityki reagowania na incydenty i wspierającej ją polityki jest Twój plan reagowania na incydenty. Ten plan wyszczególnia rzeczy, które musisz wiedzieć, aby przeprowadzić skuteczną reakcję, takie jak procedury, personel, role i obowiązki, zasoby wymagane do wdrożenia reakcji na incydent, a także zawiera informacje o tym, jak przeprowadzić incydent ćwiczenia odpowiedzi. Może zawierać o wiele więcej szczegółów, ponieważ jest to obszerny dokument. Porozmawiajmy przez chwilę o opracowaniu naszej polityki reagowania na incydenty. Jest wiele rzeczy, które należy uwzględnić w tym dokumencie zasad, ale jedną z głównych jest zakres. Co obejmuje? W jakim stopniu? Czy obejmuje całą organizację? Tylko kawałek organizacji? Określony obszar geograficzny? Co obejmuje? Jaki jest zakres? Wtedy masz cel polityki. Deklaracja celu mówi, jaki jest cel programu i polityki reagowania na incydenty, aby skutecznie zarządzać odpowiedziami, aby skutecznie zawierać odpowiedzi. Polityka może wymieniać role wyższego poziomu i odpowiedzialności, prawdopodobnie nie do poziomu członka zespołu, ale zazwyczaj do ról i obowiązków kierowniczych, takich jak kierownik wyższego szczebla odpowiedzialny za cały program IR lub nawet kierownik zespołu. Są dyrektywy. Wymogami są dyrektywy w polityce. Mówią ci, co musisz zrobić, i mogą wymieniać wiele różnych dyrektyw, które obejmują politykę IR i program IR. Oczywiście polityka będzie również odnosić się do jakiegokolwiek zarządzania zewnętrznego lub nawet dodatkowego zarządzania wewnętrznego, które wymaga napisania i wdrożenia tej polityki. Szczegóły wdrożenia niekoniecznie będą znajdować się w polityce, będą w planie i procedurach; niemniej jednak w samej polityce może znajdować się kilka szczegółów implementacji wyższego poziomu. Kto opracowuje tę politykę? Tak robią kierownicy wyższego szczebla, w szczególności pracownicy wyższego szczebla ds. technologii informacyjnej lub bezpieczeństwa informacji, tacy jak CIO lub CISO. Muszą skoordynować to z innymi kierownictwem wykonawczym i średnim w swojej organizacji, ponieważ nie mogą go rozwijać w próżni. Plany i procedury mają wspierać tę politykę. Są po to, aby realizować wymagania polityki IR. Plan i procedury są dokumentami dla samych członków zespołu IR. Wykorzystują te plany i procedury do wykonywania i wykonywania swoich zadań podczas rzeczywistej reakcji. Dlatego są bardzo szczegółowe. Te plany i procedury zazwyczaj nie są tworzone przez kierownictwo. Mogą być tworzone przez samych członków zespołu lub osoby mające wkład w ten proces, które posiadają wiedzę specjalistyczną w dowolnym obszarze tematycznym, takim jak kryminalistyka. Ostatecznie jednak te plany i procedury muszą zostać zatwierdzone przez kierownictwo. Wreszcie, te plany i procedury muszą zostać przetestowane, muszą zostać zweryfikowane jako właściwe plany i procedury oraz muszą być często aktualizowane. Aktualizujesz je, testując je, usuwając problemy, przepisując je lub aktualizując, i należy to robić okresowo. Kto jest zaangażowany w opracowywanie tych polityk, planów i procedur? Cóż, kierownictwo wykonawcze zaangażuje się w politykę. Następnie masz różne jednostki biznesowe, takie jak marketing lub dział prawny. Wszyscy mogą mieć wkład, ponieważ Twoja odpowiedź może wpłynąć na działanie ich firmy. Personel informatyczny będzie miał ogromny udział w rozwijaniu wszystkich tych rzeczy, ponieważ to oni ostatecznie będą musieli wykonać plan i procedury. Starszy personel IT, taki jak CIO lub CISO, opracuje takie rzeczy, jak polityka i prawdopodobnie zatwierdzi plany i procedury. Może być konieczne, aby dział prawny przyjrzał się im, aby upewnić się, że spełniasz wymagania dotyczące zarządzania, a on może chcieć spojrzeć na to pod kątem odpowiedzialności lub należytej staranności i należytej staranności. Podsumowując, możesz mieć osoby z zewnątrz, takie jak zewnętrzni interesariusze, a nawet płatni konsultanci, którzy przyjdą i pomogą ci opracować te zasady, plany i procedury. Każda osoba zaangażowana w cały proces w firmie prawdopodobnie powinna mieć jakiś wkład we wszystkie te dokumenty.


Jak zdefiniować reakcje na incydenty

Rozmawialiśmy o podstawach zarządzania incydentami i reagowania na incydenty, więc teraz zobaczmy, jak nasza firma zaczęłaby definiować swoją zdolność reagowania na incydenty. Wyobraź sobie, że nasza firma jest producentem. Produkują części dla różnych gałęzi przemysłu i sprzedają je różnym producentom. To bardzo duża firma. Posiadają liczne biura regionalne w całym kraju oraz liczne zakłady produkcyjne, które zazwyczaj znajdują się w pobliżu ich klientów. Ponieważ są bardzo duże, mają bardzo, bardzo złożoną infrastrukturę IT. Mają wiele domen. Mają rozległe sieci komputerowe. Mają urządzenia mobilne. Mają wszystko, o czym można pomyśleć w nowoczesnej, złożonej sieci. Niemniej jednak jest jedna rzecz, której nie mają. To jest zdolność reagowania na incydenty systemu informacyjnego. Nie mają możliwości skutecznego reagowania na jakiekolwiek incydenty cybernetyczne, a ostatnio mieli kilka incydentów, więc CISO zdecydował, że muszą stworzyć zdolność do reagowania na incydenty. Jak myślisz, co muszą najpierw zrobić? Cóż, przede wszystkim muszą wyznaczyć kogoś, kto jest odpowiedzialny za cały ten program. Kogoś, kto ma wiedzę i wie, jak zbudować zespół, skutecznie go przeszkolić i zapewnić odpowiednie procedury reagowania na incydenty. Będzie wiele ról i obowiązków, które będą musieli tworzyć i zarządzać, w tym kierownik zespołu, technicy i tak dalej, i musi być kierownik wyższego szczebla odpowiedzialny za program. Będą również musieli opracować plany reakcji, a te plany reakcji będą zawierać szeroką gamę informacji, szczegółowe procedury i procesy, których pracownicy będą potrzebować, aby uzyskać odpowiedź. Na przykład plany reagowania będą musiały zawierać informacje o tym, w jaki sposób incydenty są klasyfikowane pod względem wpływu lub dotkliwości oraz jak system dowodzenia jest powiadamiany o zdarzeniu. Potrzebne będą również szczegółowe procedury dotyczące reakcji zespołu i niektórych rzeczy, które musi zrobić, takich jak zbieranie dowodów kryminalistycznych lub serwerów zapasowych. Muszą to być bardzo szczegółowe procedury techniczne. Będą również musieli przeszkolić członków zespołu, ponieważ członkowie zespołu mogą być przeszkoleni w zakresie swojej pracy, mogą nie być odpowiednio przeszkoleni w zakresie reagowania na incydenty i potrzebują tego szkolenia, aby móc skutecznie reagować. Podsumowując, będą musieli zdecydować, jak będą ćwiczyć i testować plan. Plany reagowania na incydenty, takie jak plany DR i BCP, muszą być okresowo testowane, aby można było rozwiązać błędy i samemu poprawić plany. To tylko kilka rzeczy, które nasza firma musi zrobić, aby rozpocząć tworzenie skutecznych możliwości reagowania na incydenty.


Podstawowe definicje planu IR

Omówiliśmy podstawy zarządzania incydentami. Musimy dokładniej poznać plany reagowania na incydenty oraz sposób ich tworzenia i zarządzania. W tej części omówimy wiele różnych tematów dotyczących planu reagowania na incydenty. Porozmawiamy o podstawowych koncepcjach planu i o tym, jakie elementy są w niego zaangażowane. Przyjrzymy się również innym planom, takim jak plan ciągłości działania i plan odzyskiwania po awarii. Przyjrzymy się relacjom między wszystkimi trzema planami i dowiesz się, jak zintegrować plany BCP, DRP i IR. Przyjrzyjmy się wszystkim tym planom. Przede wszystkim przejrzyjmy kilka podstawowych koncepcji planu reagowania na incydenty. Plan IR to kompleksowy plan, w rzeczywistości prawdopodobnie stanowi rdzeń programu zarządzania incydentami. Obsługuje tworzone przez Ciebie polityki i podaje szczegóły dotyczące planu reakcji i procedur organizacji. W planie reagowania na incydenty jest dużo informacji. Niektóre cechy planu, o których prawdopodobnie musisz wiedzieć, przede wszystkim wspierają zarządzanie, które organizacja musi spełnić. Może to być zewnętrzne lub wewnętrzne. Mogą to być prawa, regulacje, statuty lub polityki. Niektóre z tych zasad i przepisów wymagają stworzenia możliwości reagowania na incydenty i posiadania planu reagowania na incydenty. Plan reagowania zawiera szczegółowe procedury i instrukcje potrzebne członkom zespołu do wykonywania swoich obowiązków i reagowania na incydenty. Jedną z ważnych rzeczy dotyczących planu reagowania na incydenty jest to, że należy go często wykonywać i aktualizować po zakończeniu ćwiczenia lub rzeczywistej odpowiedzi, aby zobaczyć, czy niektóre rzeczy wymagają zmiany lub naprawy. Oto trzy kluczowe rzeczy dotyczące planu reagowania na incydenty, o których powinieneś wiedzieć. Zamierzamy zagłębić się w sam plan IR.


Moduły planu reagowania na incydenty

Rzućmy okiem na komponenty, które składają się na plan reagowania na incydenty, a my po prostu omówimy szybko niektóre z tych komponentów. Przeglądając tekst, zobaczysz, jak te komponenty współpracują ze sobą, tworząc zdolność reagowania na incydenty. Jest kilka kluczowych obszarów, na które musimy zwrócić uwagę, kiedy tworzymy i utrzymujemy plan reagowania na incydenty. Przede wszystkim musimy przyjrzeć się rolom i obowiązkom. Musimy wziąć pod uwagę deklarację i eskalację incydentu, procesy komunikacji, same procedury reagowania, sposób klasyfikacji incydentu i sposób realizacji planu. Porozmawiajmy o każdej z tych rzeczy. Przede wszystkim omówmy role i obowiązki. To właśnie uwzględniamy w planie, który przypisuje wszystkim pracownikom zespołu reagowania na incydenty ich role i obowiązki podczas reagowania. To idzie w dół od zespołu prowadzącego do każdego członka zespołu. Dysponujemy również procedurami zgłaszania incydentu i eskalacji, ponieważ musiały istnieć pewne kryteria, dzięki którym incydent stał się incydentem w Twojej organizacji, a my musimy zdecydować, kto jest uprawniony do zgłoszenia tego jako incydentu na podstawie ustalonych przez Ciebie kryteriów . Jak dochodzi do eskalacji incydentu? Jeśli to drobny incydent, kto może się tym zająć? W jakich okolicznościach incydent jest eskalowany do wyższego priorytetu, a inne osoby są powiadamiane? Istotną częścią planu reagowania na incydenty są procesy komunikacyjne. Jak przepływa informacja w organizacji? W górę iw dół od kierownictwa do członków zespołu i odwrotnie. Jak przepływa bocznie do innych działów lub organizacji w organizacji? Ważne jest też, w jaki sposób płynie do podmiotów spoza organizacji? Muszą istnieć mechanizmy kontroli komunikacji, a jako część planu reagowania na incydenty, kierownictwo musi zdecydować, w jaki sposób te kontrole mają miejsce, jak są skonstruowane, aby umożliwić komunikację między członkami zespołu a kierownictwem, między członkami zespołu a resztą organizacji oraz zewnętrzne organizacje lub podmioty. Sercem planu reagowania na incydenty są same procedury, a są to bardzo szczegółowe, zorientowane na zadania procedury. Mówią ci krok po kroku, jak radzić sobie z różnymi incydentami i jakie kroki należy podjąć, aby skutecznie zareagować i powstrzymać te incydenty. Posiadamy również klasyfikację incydentów. Jest to coś, o czym kierownictwo wraz z zespołem reagowania na incydenty muszą zdecydować, zanim pierwszy incydent kiedykolwiek się wydarzy, gdy konstruowany jest plan reagowania na incydenty. Musisz wiedzieć, jak sklasyfikować incydent, ponieważ pomoże ci to zdecydować, czy zgłosić incydent i kiedy go eskalować. Jak mówiliśmy wcześniej, incydenty można klasyfikować według wielu różnych kryteriów lub szeregu kombinacji kryteriów, takich jak dotkliwość i wpływ lub czy jest to spowodowane przez człowieka, czy naturalne i tak dalej. Podsumowując, ważną częścią planu reagowania na incydenty jest wykonanie planu. Plan powinien szczegółowo określać, w jaki sposób wykonywany jest plan reagowania na incydenty, jak często, jakiego rodzaju ćwiczenia i testy oraz co zostanie zrobione z wynikami tych ćwiczeń. Testujemy ten plan na tych różnych etapach szczegółowości, aby wypracować błędy i szczegóły, aby go udoskonalić. Podobnie służy do szkolenia ludzi w zakresie ich obowiązków i zadań, więc wzmacnia ich szkolenie. Informuje nas również, czy plan zadziała w prawdziwym scenariuszu. Jest to bardzo krytyczna część planu reagowania na incydenty.


Zrozumienie BIA

Podczas każdego rodzaju odpowiedzi musisz wiedzieć, które aktywa są najważniejsze, o które musisz zadbać w pierwszej kolejności. Które z nich musisz odzyskać? Które z nich są kluczowe dla Twojej firmy i należy je jak najszybciej uruchomić? Rozwiązujemy to, wykonując tak zwaną analizę wpływu biznesowego. Analiza wpływu na biznes to po prostu proces, przez który przechodzisz. Podczas tego ćwiczenia identyfikujesz wszystkie swoje aktywa, wszystko, co masz w organizacji, takie jak systemy, procesy, dane, a nawet ludzie i ich funkcje. Będziesz także inwentaryzował sprzęt i urządzenia. Celem tego spisu jest określenie, co jest krytyczne dla operacji biznesowych. Co jest najważniejsze? Jak nadać im priorytety w przypadku, gdyby coś poszło nie tak i trzeba było wszystko naprawić? Ten BIA zawiera te informacje. W ten sposób możesz wykorzystać to w swoich kolejnych planach awaryjnych. Porozmawiajmy przez chwilę o aktywach. Wiemy, że aktywa to w dużej mierze rzeczy namacalne, takie jak serwery, dane lub sprzęt. Możesz wycenić te rzeczy. Możesz podać wartość pieniężną. Możesz nawet przypisać wartość danej osobie poprzez godziny pracy i ile kosztuje zatrudnienie tej osoby. Ale są pewne rzeczy niematerialne, które są aktywami, i są to takie rzeczy, jak zaufanie lub reputacja klienta. Nie możesz wycenić tych rzeczy, ale są to aktywa i możesz je stracić, jeśli wydarzy się poważna katastrofa lub incydent, na który nie zareagujesz dobrze. Podczas tej analizy wpływu biznesowego przyglądamy się wszystkim tym zasobom. Po pierwsze, chcemy wszystko zinwentaryzować, a to może wymagać czasu i dotarcia do całej organizacji, aby dowiedzieć się, kto co ma. Mówimy o serwerach, stacjach roboczych, kopiarkach, drukarkach, wszystkim, czego potrzebujesz do prowadzenia firmy. Mówimy też o magazynach danych. Jakich danych potrzebujesz, aby Twoja firma działała? Czy mówimy o wrażliwych danych konsumenckich? Czy mówimy o danych przebłagalnych? Te rzeczy również należy zinwentaryzować i nadać im priorytety. Mówimy również o inwentaryzacji rzeczy, takich jak sprzęt i obiekty. Następnie musisz przyjrzeć się tym zasobom i określić, które z nich są dla Ciebie najistotniejsze dla utrzymania Twojej firmy i działalności. Gdyby jutro coś się wydarzyło i doszło do poważnego incydentu lub katastrofy, jakie aktywa musiałbyś szybko odzyskać, aby utrzymać działalność. W międzyczasie, po zidentyfikowaniu wszystkich tych zasobów, musisz wzmocnić mechanizmy kontrolne, które je chronią. Te krytyczne zasoby są najważniejsze, więc to są te, dla których potrzebujesz bardzo silnej kontroli. Po ustaleniu, jakie są Twoje krytyczne zasoby, musisz nadać im priorytety do przywrócenia w przypadku incydentu. Najpierw musisz dowiedzieć się, które rzeczy muszą wrócić, a także prawdopodobnie przyjrzeć się zależnościom. Niektóre zasoby, krytyczne, mogą zależeć od mniej krytycznych zasobów, aby mogły funkcjonować, więc być może będziesz musiał pomyśleć o ich przywróceniu, nawet jeśli nie są one uważane za zasoby podstawowe lub krytyczne. Po ustaleniu, co jest krytyczne i ustaleniu priorytetów, musisz zacząć opracowywać plany awaryjne. W tej chwili mówimy o planie ciągłości biznesowej, planie reagowania na incydenty, planie odzyskiwania po awarii, ponieważ wszystkie te plany wymagają, abyś wiedział, co odzyskujesz, co musi zostać zarchiwizowane jako pierwsze, na co najpierw odpowiadasz.


Zrozumienie planu ciągłości działania

Nasza dyskusja koncentruje się na planie reagowania na incydenty, ale należy również wiedzieć, że plan reagowania na incydenty i plan odzyskiwania po awarii są podzbiorami ciągłości biznesowej. Rozmawialiśmy o analizie wpływu na biznes, więc porozmawiajmy o BCP. Czym jest ciągłość biznesowa? To właśnie robimy, gdy chcemy przywrócić działalność przedsiębiorstwa po tym, jak jego wydajność zmniejszyła się w wyniku incydentu, katastrofy lub czegoś w tym rodzaju, i przywracamy ją do działania i stawiamy na nogi i znowu działa. Niekoniecznie oznacza to, że przywraca go do pełnego stanu operacyjnego. To może być tylko akceptowalny poziom ciągłości biznesowej, który pozwoli nam przetrwać czas katastrofy. Ostatecznie celem byłoby przywrócenie jej do pełnej sprawności. O czym musimy myśleć, gdy mówimy o ciągłości biznesowej? Przede wszystkim jest sam plan ciągłości działania. Omawiamy również priorytety naszych operacji, tworzenie kopii zapasowych naszych danych, książki. Potrzebny będzie również sprzęt zbędny. Będziemy również musieli porozmawiać o naszym docelowym czasie odzyskiwania i naszym docelowym punkcie odzyskiwania. Przyjrzyjmy się wszystkim tym rzeczom. Czym dokładnie jest BCP? Cóż, to są nasze procedury przywracania działalności do stanu operacyjnego po incydencie lub katastrofie. A co z ustalaniem priorytetów operacji? Kiedy przywracamy działalność, w zależności od charakteru katastrofy lub incydentu, nie będziemy w stanie przywrócić wszystkiego od razu. Dlatego też, tak jak przyglądaliśmy się naszej analizie wpływu biznesowego, musimy ustalić priorytety naszych operacji i wskazać te operacje i aktywa, których potrzebujemy w pierwszej kolejności, te krytyczne, które pozwolą nam ponownie stanąć na nogi. Na przykład wiemy, że będziemy potrzebować systemu zamówień online, jeśli mamy założoną firmę internetową, ale czy koniecznie musimy jeszcze uruchomić nasz system marketingowy? Może nie. Żadna firma nie może stanąć na nogi bez danych. Jeśli skutecznie utworzyłeś kopię zapasową danych, powinieneś być w stanie je przywrócić i powrócić do akceptowalnego poziomu operacji. Ale jeśli nie utworzyłeś kopii zapasowej, prawdopodobnie nie pojawisz się tak szybko, jak chcesz. Załóżmy, że niektóre urządzenia lub obiekty ulegną uszkodzeniu w wyniku katastrofy lub incydentu. Posiadanie nadmiarowego sprzętu pomoże przywrócić firmę do stanu operacyjnego. Niektóre urządzenia są zbyt drogie, aby utrzymać nadmiarowy sprzęt, ale w większości rzeczy, takie jak serwery i stacje robocze, a nawet kopie zapasowe danych, są nadmiarowe i prawdopodobnie musisz o tym pomyśleć podczas planowania ciągłości biznesowej. Porozmawiajmy o naszym docelowym czasie powrotu do zdrowia. To maksymalny czas, przez który możemy być niespokojni. Jest to cel czasowy, który ustaliliśmy w naszym planie ciągłości działania i mówimy, że do tego czasu musimy mieć kopię zapasową. Może to 48 godzin po przywróceniu katastrofy. Może to 24 godziny po konkretnym incydencie. Możesz również mieć różne RTO dla różnych typów incydentów. W każdym razie jest to zwykle maksymalny czas, na jaki możemy sobie pozwolić. Następnie mamy nasz cel punktu odzyskiwania, a to są dane. Może to być trudne do wyjaśnienia lub zrozumienia, ale zastanawiasz się, ile danych możesz utracić. Tyle danych pod względem czasu, które chcesz przywrócić. Dam ci przykład. Jeśli stracisz dane z dwóch dni, ponieważ serwery uległy awarii, a kopie zapasowe nie zostaną przywrócone. Jak bardzo zaszkodziłoby to twojej firmie? Jeśli jest to rodzaj biznesu, w którym dane nie zmieniają się zbytnio, może nie zaszkodzić zbytnio, ale załóżmy, że prowadzisz biznes online, w którym transakcje mogą się odbywać dosłownie co minutę lub co sekundę. Ile danych możesz utracić bez poważnego wpływu na biznes? Może to być tylko godzina danych lub kilka minut danych. W każdym razie jako cel punktu przywracania ustawiasz maksymalną ilość danych, którą możesz utracić. Czy będą to dane z 2 dni, czy z 1 godziny? To wszystko należy wziąć pod uwagę przy opracowywaniu planu ciągłości działania.


Biorąc pod uwagę alternatywne lokalizacje

Co byś zrobił, gdyby główna lokalizacja, w której działała Twoja firma, została zniszczona lub nie jest już w stanie wspierać firmy? Cóż, musiałbyś znaleźć alternatywną stronę przetwarzania. Właśnie o tym będziemy teraz mówić, a to wspiera nasze wysiłki w zakresie ciągłości biznesowej. Alternatywne miejsce przetwarzania to miejsce, do którego możesz przenieść swoje operacje biznesowe, ludzi i sprzęt w przypadku katastrofy lub incydentu. W ten sposób możesz przywrócić firmę do pewnego poziomu zdolności operacyjnych. Trzy różne alternatywne miejsca przetwarzania, które omówimy, obejmują miejsce zimne, miejsce ciepłe i miejsce gorące. Zimna strona jest pierwszą, o której będziemy rozmawiać. Zimna strona to puste obiekty. To jest jak otwarty magazyn, w którym jest prawdopodobnie tylko prąd lub woda, bez sprzętu, bez danych, bez ludzi. Jest to najtańsza forma alternatywnego miejsca przetwarzania; niemniej jednak przeprowadzka zajmuje najwięcej czasu, jeśli musisz przenieść swoją działalność biznesową w przypadku katastrofy. Musisz znaleźć kompromis między kosztami a szybkością przywracania działalności. Następnie mamy ciepłą stronę. Ta witryna jest lepsza, kosztuje więcej, ale możesz szybciej przywrócić operacje biznesowe. W ciepłym miejscu masz przestrzeń, trochę prądu, wody i innych mediów. Możesz mieć połączenie z Internetem, nadmiarowy sprzęt, może jakieś zapasowe, które możesz szybko dodać i przywrócić działanie firmy w ograniczonym zakresie. Prawdopodobnie nadal będziesz musiał przynieść więcej sprzętu i zaktualizować wszystko przy użyciu najbardziej aktualnych danych, ale możesz szybciej rozpocząć działalność. Następnie mamy gorącą stronę. Ta strona zawiera wiele wszystkiego, czego potrzebujesz, aby przywrócić i uruchomić kopię zapasową. Masz powierzchnię, wszystkie swoje media; prawdopodobnie masz połączenie z internetem. Masz biurka i krzesła dla ludzi. Masz tam sprzęt. Wszystko, co musisz zrobić, to upewnić się, że najbardziej aktualna kopia Twoich danych znajduje się tam na komputerach. Możesz przenieść się do gorącej strony najprawdopodobniej dość szybko po katastrofie. Jeśli chcesz zacząć działać w ciągu kilku godzin, może 24 godzin, gorąca strona jest prawdopodobnie najlepszym wyborem. Zrozum jednak, że jest to najdroższa forma witryny. To przepaść między tym, ile chcesz wydać, a tym, jak szybko potrzebujesz, aby móc ponownie wstać i zacząć działać. Zimna strona nie jest bardzo droga w porównaniu z pozostałymi dwoma; mimo to, wprowadzenie się może potrwać kilka dni, może nawet tydzień. Ciepła strona jest droższa i godzi się między szybkością a kosztem. Możesz się do niego wprowadzić, ale może w ciągu kilku dni. Niemniej jednak, jeśli masz gorącą stronę, zwykle możesz przejść do niej dość szybko, ponieważ wszystko jest już tam, czego potrzebujesz. Masz już prepozycjonowany sprzęt, krzesła, stoły; masz prąd, bieżącą wodę i tak dalej. Możesz się tam dość szybko wprowadzić; ale jest to najdroższy z trzech różnych typów. Zależy to od tego, jak szybko musisz przejść do witryny i jak szybko musisz przywrócić firmie pewne możliwości operacyjne i ile chcesz wydać.


Podstawy planu odzyskiwania po awarii

Omówiliśmy plan ciągłości działania i to jest plan, który opracowujemy, aby przywrócić naszą działalność online w przypadku katastrofy. Częścią tego jest plan odzyskiwania po awarii, a plan odzyskiwania po awarii koncentruje się na mniejszym podzbiorze działań. Odzyskiwanie po awarii to zasadniczo działania, które podejmujemy natychmiast po awarii. Działania te podejmujemy przede wszystkim po to, aby ratować ludzkie życie, zapobiegać urazom, a także minimalizować uszkodzenia sprzętu. Odzyskiwanie po awarii to nie to samo, co ciągłość biznesowa. Niektóre kwestie, które musimy wziąć pod uwagę przy opracowywaniu programu odzyskiwania po awarii, obejmują plan odzyskiwania, jak będziemy ostrzegać i powiadamiać ludzi, jak będziemy bezpiecznie dbać o ludzi, co zrobić z naszymi narzędziami w przypadku ich utraty, sprzętem i jak to zrobić odzyskać go, jak również nasze obiekty i jak możemy się nimi zająć podczas katastrofy. Teraz omówimy to wszystko. Najpierw porozmawiajmy o planie naprawy. W ten sam sposób, w jaki plan ciągłości biznesowej planuje przywrócenie działalności firmy i w ten sam sposób, w jaki plan reagowania na incydenty zawiera procedury, plan przywracania ma również procedury; Mimo to jej procedury służą ratowaniu życia, zapobieganiu urazom oraz ratowaniu sprzętu i danych. Kolejną kwestią są alerty i powiadomienia. Jak masz zamiar zaalarmować wszystkich swoich ludzi o zbliżającej się katastrofie? Jak zamierzasz dać im znać, żeby nie przychodzili do pracy, jeśli obiekt zostanie zniszczony przez tornado? Jak powiadomić ratowników i wezwać ich? Musisz pomyśleć o tych wszystkich rzeczach, ponieważ media lub telefony mogą być wyłączone. Jak kontaktujesz się z ludźmi? Może wyślesz biegaczy, jeśli możesz. W każdym razie powinieneś opracować liczne techniki alertów i powiadomień, aby móc powiadamiać ludzi i chronić ich przed niebezpieczeństwem. Personel jest głównym celem odzyskiwania po awarii. To najważniejsza rzecz. Skupiamy się na tym, jak zapobiegać krzywdom, ratować życie naszych ludzi i zapewniać, że wszyscy są informowani i chronieni. Musimy zapewnić im liczne narzędzia, aby zapewnić im bezpieczeństwo, procedury ewakuacyjne, alarmy awaryjne, sposób zgłaszania się do schroniska. Narzędzia są również bardzo ważne, aby wziąć pod uwagę podczas katastrofy. Przede wszystkim, co zrobić, jeśli masz powódź lub pożar, a media muszą być odcięte, aby zapobiec zranieniu osób lub uszkodzeniu sprzętu? Musisz upewnić się, że wiesz, jak to zrobić awaryjne wyłączenie. I odwrotnie, kiedy narzędzia są wyłączone, jak przywrócić je do trybu online? Jak komunikujesz się z przedsiębiorstwami użyteczności publicznej? Jak przywrócić sprzęt do pracy z zasilaniem, wodą itd.? Sprzęt jest kwestią drugorzędną, ale nadal ma znaczenie. W przypadku sprzętu skupiamy się na ochronie samego sprzętu przed uszkodzeniem, odzyskiwaniu wszelkich krytycznych systemów i wszelkich danych, niekoniecznie przywracając działalność online, ale być może na ratowaniu systemów i danych przed pożarem lub uszkodzeniami i obiektami powodziowymi. Podczas odzyskiwania po awarii musisz mieć procedury ochrony i zabezpieczenia obiektów na wypadek sytuacji awaryjnych. Powiedzmy, że jest pożar, powódź lub tornado. W tym obiekcie mogą znajdować się informacje niejawne lub bardzo ważne informacje zastrzeżone. Jak zabezpieczyć to w obiekcie przed katastrofą i utrzymać to w bezpieczeństwie? Jak wyciągnąć ludzi z obiektu? Jak zapobiec dalszym szkodom lub uszkodzeniom obiektu w wyniku katastrofy? Są to również rzeczy do rozważenia. Mówiliśmy o odzyskiwaniu po awarii, więc teraz musimy skupić się na najważniejszych priorytetach podczas operacji odzyskiwania po awarii. Przede wszystkim podczas katastrofy bezpieczeństwo personelu jest najważniejsze. To najważniejsza rzecz, z którą będziesz mieć do czynienia podczas katastrofy. Najważniejsze jest, aby ludzie byli bezpieczni i żyli. Kolejnym priorytetem jest zabezpieczenie zagrożeń po katastrofie, aby ludzie byli bezpieczni. Być może ludzie nie mogą wrócić do budynku z powodu awarii prądu, powodzi lub pożaru. Musisz zabezpieczyć te zagrożenia przed wysłaniem ludzi z powrotem do obszaru, aby nie zostali skrzywdzeni. Wreszcie, po tym, jak zadbasz o swoich ludzi i zabezpieczysz zagrożenia, musisz również zabezpieczyć sprzęt i dane. Uratuj, co możesz, przed uszkodzeniami powodziowymi lub pożarami. To ważne, że próbujesz zachować te dane i swój sprzęt; w przeciwnym razie nie będziesz w stanie przywrócić swojej firmy do trybu online. To są twoje trzy priorytety w kolejności podczas katastrofy.


Podsumowanie planów BCP, DRP i IR

Omówiliśmy plany BCP, DRP i IR. Jak one wszystkie do siebie pasują? Jak one ze sobą współpracują? Jakie są relacje między tymi trzema zestawami planów? Dowiedzmy Się. Wszystkie te trzy plany zostały zaprojektowane z myślą o jednej rzeczy, odporności, a mianowicie zdolności organizacji do wytrzymania wszelkiego rodzaju zdarzeń, warunków, katastrof, a co ważniejsze, przetrwania na akceptowalnym, zrównoważonym poziomie. Innymi słowy, aby móc przetrwać katastrofę lub incydent i przywrócić swój biznes do sieci przynajmniej tak dobrze, jak to możliwe, a później na pełny poziom. To jest odporność, jak dobrze organizacja może wytrzymać te katastrofy i incydenty. W związku z tym odporność organizacyjna składa się z trzech rzeczy: ciągłości biznesowej, o której wiemy, że przywraca biznes online i utrzymuje go w ten sposób; odzyskiwanie po awarii, o którym wiemy, że ratuje życie, zapobiega zagrożeniom oraz ratuje sprzęt i dane po katastrofie; a także reagowanie na incydenty, co oznacza dbanie o incydenty, takie jak incydenty cybernetyczne, dla naszych celów już teraz i utrzymanie organizacji z powrotem w biznesie. Jeśli o nas chodzi, to te trzy rzeczy. Jedną z rzeczy, na które prawdopodobnie musimy się przyjrzeć, jest cykl życia odpowiedzi na incydent z NIST, ponieważ jest to podzbiór ogólnego cyklu życia ciągłości biznesowej. Mieliśmy etap przygotowań, w którym składamy nasz zespół i opracowujemy nasze procedury. Chcemy również być w stanie wykrywać i analizować incydenty, aby mieć pewność, że wiemy, kiedy mają miejsce i identyfikować je lub je segregować. Następnym krokiem jest powstrzymywanie, eliminacja i odzyskiwanie. Musimy ograniczyć szkody powstałe w wyniku incydentu, musimy się go pozbyć, a następnie wyzdrowieć i przywrócić naszą działalność do sieci. Następnie mamy wiele działań po incydencie, a niektóre z nich omówimy później, ale obejmują one analizy kryminalistyczne, dochodzenia i upewnienie się, że wprowadziliśmy kontrole, które mogą zapobiec kolejnemu incydentowi. Oznacza to również uczenie się na własnych doświadczeniach i odpowiednią zmianę naszych planów, jeśli zajdzie taka potrzeba. Jak ten cykl życia odpowiedzi wpisuje się w ogólny program ciągłości biznesowej? Cóż, spójrzmy, jak współpracują ze sobą BC, DR i IR. Mamy ciągłość biznesową. To jest ogólnie wielka rzecz. Biznes musi iść dalej. Musimy pozostać w biznesie. Operacje muszą być kontynuowane. Aby to zrobić, jeśli wydarzy się coś złego, mamy do czynienia z odzyskiwaniem po katastrofie, które może nam pomóc, jeśli jest to jak klęska żywiołowa lub coś, co niszczy sprzęt, obiekty, narzędzia i może potencjalnie zaszkodzić ludziom. Następnie mamy odpowiedź na incydent. Reakcja na incydent nie musi oznaczać katastrofy, chociaż możesz to tam uwzględnić. W ramach tych dwóch kategorii, twoich kategorii reakcji lub kategorii reakcji, masz zapobieganie i minimalizowanie szkód wyrządzonych ludziom, odzyskiwanie systemów i danych, a także wykrywanie, przechowywanie i odzyskiwanie incydentów. Tak to wszystko do siebie pasuje. Relacje polegają na tym, że odzyskiwanie po awarii i reagowanie na incydenty stanowią podzbiór ciągłości biznesowej i wspierają ciągłość biznesową.


Jak zintegrować plany BCP, IR i DRP

Wiemy, jak mają się do siebie plany BCP, DRP i IR. Jak połączyć to wszystko razem? Jak sprawić, by natychmiast współpracowały ze sobą? Cóż, spójrzmy, jak możemy zintegrować te rzeczy. Przede wszystkim przeprowadzamy analizę wpływu na biznes i tam odkrywamy, jakie posiadamy zasoby i ustalamy ich priorytety do przywrócenia zgodnie z krytycznością, co wpływa na DR i IR, ponieważ jeśli coś się stanie, wiemy, jakie zasoby musimy najpierw chronić i najpierw wróć do trybu online. Priorytetowo traktujemy te rzeczy pod kątem reakcji, odzyskiwania i przywracania. Następnie opracowujemy strategie odzyskiwania. Rozwijamy nasze strategie BC, DR i IR ukierunkowane na regenerację. Co robimy, gdy opracowujemy strategie DR? Cóż, przyglądamy się, jak moglibyśmy ratować życie, jak moglibyśmy zapobiegać szkodom, jak moglibyśmy odzyskać sprzęt i dane. Jakie procesy musimy wykonać, aby to zrobić? Jaka jest nasza ogólna strategia? Cóż, opracowujemy strategię reagowania na incydenty, która obejmuje wszystkie nasze zasady, plany i procedury. W końcu opracowujemy plan. Plany te opracowujemy indywidualnie, ale dbamy o to, aby działały razem. Wiemy, że IR i DRP są podzbiorami BCP. Podsumowując, testujemy i ćwiczymy plany. Testujemy wszystkie te trzy plany, czasami razem, w różnych scenariuszach i są różne rodzaje testów, z których możemy skorzystać. Moglibyśmy zrobić test przejścia, pełny test równoległy i test symulacji. W obu przypadkach ważne jest, abyśmy przetestowali te plany i upewnili się, że działają prawidłowo oraz że dostosowujemy plany na podstawie wyników naszych testów i ćwiczeń. Możesz zobaczyć, gdzie wszystkie trzy są ze sobą zintegrowane i można to zrobić jednocześnie. One pracują razem.


Jak stworzyć zespół reagowania na incydenty

Omówiliśmy podstawy programu reagowania na incydenty i zarządzania reagowaniem na incydenty, a także omówiliśmy plan reagowania na incydenty. Następnie porozmawiamy o samym zespole, ponieważ budowanie zespołu jest bardzo ważną częścią opracowywania skutecznego programu zarządzania ryzykiem, a także programu zarządzania incydentami, a jest wiele kwestii, przez które musimy przejść, aby zbudować odpowiedni zespół. Oto, o czym będziemy rozmawiać, gdy będziemy omawiać tworzenie zespołu reagowania na incydenty. Przede wszystkim omówimy podstawy samego zespołu reagowania. Przyjrzymy się kilku modelom budowania zespołu reagowania na incydenty. Zamierzamy również omówić role i obowiązki ważniejszych osób w zespole, a także niektóre działy organizacji, które będą współdziałać z zespołem. Dowiesz się również o umiejętnościach zespołu reagowania. Są to umiejętności miękkie i techniczne, których zespół potrzebuje zarówno przed powołaniem do zespołu, jak i po wejściu do zespołu, które muszą rozwijać. Przyjrzymy się również, w jaki sposób możemy wyszkolić zespół, różnymi aspektami przygotowania dobrze wyszkolonego, dobrze obsadzonego zespołu i przygotowanego na kolejny incydent. Na zakończenie porozmawiamy o narzędziach i sprzęcie, których potrzebuje zespół reagowania na incydenty, aby skutecznie wykonywać swoje obowiązki. Zacznijmy od tego. Przede wszystkim porozmawiajmy o zespole reagującym i o tym, jak można go złożyć. Istnieją trzy podstawowe modele zespołu reagowania, o których będziemy mówić, a modele te dotyczą umiejscowienia zespołu w organizacji i sposobu zarządzania z różnych poziomów. Te modele zespołów odpowiedzi pochodzą bezpośrednio z NIST. Przede wszystkim mamy scentralizowany zespół reagowania na incydenty. Może to być bardzo mały zespół dobrze wyszkolonych osób poświęconych całej organizacji. Działa to tylko dla małych organizacji. Nie jest to skuteczne w przypadku większych organizacji, które są bardziej rozproszone geograficznie. Ten zespół jest odpowiedni, gdy masz organizację, która prawdopodobnie ma mniej niż 100 osób, która prawdopodobnie nie będzie miała wielu incydentów i nie jest rozproszona po całym miejscu. Ten zespół jest odpowiedni dla witryn, które nie są rozproszone geograficznie. Innymi słowy, są blisko siebie i bardzo łatwo jest dostać się do wszystkiego. Są trochę lokalni. Następnie mamy rozproszony zespół IR. Ten zespół jest odpowiedni dla większych organizacji, organizacji, które prawdopodobnie mają więcej niż 100 osób i które prawdopodobnie mają dużo infrastruktury do obejrzenia. Ten zespół może być odpowiedzialny za konkretny obszar geograficzny, jeśli organizacja jest rozproszona. Innymi słowy, jeśli mają wiele witryn, do których dostęp może być trudny. Jedną rzeczą w tym zespole jest to, że prawdopodobnie zgłaszają się do jednego punktu kontaktowego, jednego menedżera, który jest odpowiedzialny za reagowanie na incydenty w organizacji. Nie wliczam tutaj lidera zespołu. Lider zespołu pozostaje z zespołem. Może to być osoba, którą kierownictwo wyższego szczebla wyznaczyło do pełnienia funkcji ogólnego kierownika programu ds. reagowania na incydenty. Innym typem modelu jest model zespołu koordynującego i jest to model rozproszony, tylko że masz tam dodatkową warstwę. Jest to scentralizowany zespół reagowania na incydenty, który kontroluje inne zespoły, które mogą być odpowiedzialne za kierowanie nimi i ich szkolenie. Dają kierunek, autorytet. Pomagają zespołowi na ziemi. W razie potrzeby uzupełnią zespół własnymi członkami. Zazwyczaj jednak zajmują się incydentami w scentralizowanej lokalizacji, na przykład w biurach korporacyjnych. Mamy również różne modele kadrowe, które organizacja może wykorzystać do obsadzenia swojego zespołu. Przede wszystkim mógł korzystać z zespołu wyłącznie pracowników firmy lub personelu organizacyjnego. Zaletą tego jest to, że znają infrastruktury, mają do dyspozycji wszystkie zasoby i nie są związani umowami o zachowaniu poufności. W ten sposób ich informacje nie są podzielone na sekcje i mogą łatwo uzyskać wszystkie informacje, których potrzebują do odpowiedzi. Teraz inny model zatrudnienia byłby dodatkiem do zwykłych pracowników firmy, z którymi możesz również skontaktować się i pozyskać innych pracowników z innych źródeł, więc możesz zlecić tę funkcję na zewnątrz. Ten częściowo zlecony na zewnątrz model obejmuje pracowników firmy, którzy znają się na rzeczy, które są rdzeniem zespołu oraz osoby zlecone na zewnątrz, które przychodzą być może w celu wykonania określonych zadań lub w celu wniesienia szczególnej wiedzy, jeśli jej nie masz, na przykład dochodzeń kryminalistycznych, na przykład. Używałbyś tego zespołu tylko wtedy, gdy masz ograniczony poziom wiedzy i wyszkolenia w zespole lub ograniczony personel, a po prostu potrzebujesz uzupełnienia, gdy wydarzy się większe wydarzenie. Masz również model w pełni zlecony na zewnątrz. W tym modelu firma mówi, że nie mamy personelu lub nie mamy personelu, który jest przeszkolony, aby skutecznie reagować, więc sprowadzamy zewnętrzną organizację, może firmę, która robi to na pełny etat, a oni zakontraktuj to, aby w razie incydentu ten zespół wszedł, przejął kontrolę, dowiedział się, czego musi się dowiedzieć o incydencie, i zareagował na niego. Wadą tego modelu jest to, że nie zawsze mają potrzebne informacje. Nie są częścią organizacji. Nie znają infrastruktury. Możesz dostarczyć im dokumentację, ale zajęłoby im trochę czasu, aby się rozkręcili i nauczyli się tego wszystkiego, a ponadto masz umowy o zachowaniu poufności, które muszą być podpisane, miejmy nadzieję z wyprzedzeniem, i informacje, które są po prostu podzielone na sekcje. Mogą nie mieć dostępu do wszystkich informacji potrzebnych do skutecznego reagowania. Wszystkie trzy modele mają swoje zalety i wady. Poziom informacji, jakimi dysponuje zespół, znajomość organizacja i jej infrastruktura to zalety posiadania wewnętrznego personelu w zespole. Ale możesz mieć również zalety, ponieważ sprowadzenie zewnętrznego zespołu zapewnia dodatkową wiedzę i świeże spojrzenie. Ci ludzie niekoniecznie są związani z konkretnym oddziałem lub działem w organizacji, więc masz z tego pewne zalety.