Cześć wszystkim.
Dzisiaj, zamiast mówić o hakowaniu i włamywaniu się do systemów, jak to zwykle robimy,
porozmawiamy o bezpieczeństwie, a konkretnie o tym, jak zabezpieczać strony internetowe, aplikacje internetowe, aplikacje mobilne i tak
dalej.
Oczywiście włamania i włamania mają ogromny negatywny wpływ na firmy, od utraty zaufania klientów
po straty finansowe.
Wyciekły dane użytkowników, kwestie prawne i lista jest długa.
Teraz, jeśli pójdziesz i zrobisz szybkie wyszukiwanie w Google, jak zabezpieczyć swoją witrynę lub
aplikację, dostaniesz dużo śmieci.
Byłem bardzo rozczarowany artykułami na temat przynęt na kliknięcia, które w rzeczywistości nie wyjaśniały ani nie zawierały żadnych przydatnych
informacji.
Większość z nich sugerowała korzystanie z kopii zapasowych, silnych haseł i używanie HTTPS.
Ale kopie zapasowe nie zabezpieczają Twojej witryny internetowej, po prostu pomagają Ci odzyskać dane.
Ponadto użycie ETP szyfruje komunikację, ale tak naprawdę nie zabezpiecza witryny.
Jedyną przydatną wskazówką było używanie silnych haseł.
Ale większość hakerów nie usiądzie i nie spróbuje odgadnąć hasła, jak to widać w hollywoodzkich filmach.
Będą polegać na lukach i słabościach w Twojej aplikacji i wykorzystają je, aby
uzyskać do niej dostęp, niezależnie od używanego hasła.
Nawet jeśli masz bardzo, bardzo złożone hasło, nawet jeśli używasz HTTPS i nawet jeśli masz kopie zapasowe, wiele z
nich jest właściwie nieistotnych.
Poza tym tak naprawdę nie ma znaczenia, gdzie jest hostowana aplikacja, czy używasz litery A. W. lub dowolnego innego dostawcy
chmury i nie ma znaczenia, jak wdrażasz tę aplikację.
Jeśli używasz Kubernetes lub używasz Dockera, to naprawdę nie ma znaczenia.
Właściwie to bardzo, bardzo proste.
Jeśli masz podatną na ataki aplikację internetową, hakerzy wykorzystają te luki lub słabości, aby
uzyskać dostęp do tej aplikacji.
W każdym razie wystarczy gadania.
Porozmawiajmy o tym, jak właściwie zabezpieczyć strony internetowe i aplikacje.
Przede wszystkim, zanim zaczniemy o tym mówić, bardzo ważne jest zrozumienie, że
osiągnięcie 100% bezpieczeństwa jest niemożliwe.
Wszystko, co staramy się zrobić, to poprawić bezpieczeństwo naszych aplikacji i upewnić się, że są one tak bezpieczne, jak
to tylko możliwe.
Mając to na uwadze, poniższe cztery podejścia pomogą poprawić bezpieczeństwo aplikacji, niezależnie od tego, jakiego rodzaju
są to aplikacje i niezależnie od tego, gdzie są zainstalowane.
Jak powiedziałem, nie ma znaczenia, czy zainstalujesz je na Amazon, czy gdziekolwiek indziej na WIC, czy cokolwiek
innego, i nie ma znaczenia, jak je wdrażasz, jeśli używasz Dockera i tak dalej.
Więc pierwszą rzeczą, którą powinieneś zrobić, to upewnić się, że piszesz bezpieczny kod w ten sposób.
Twoja aplikacja jest zbudowana od podstaw, aby była bezpieczna i nie wprowadzała żadnych błędów ani luk, które mogą
zostać wykorzystane przez hakerów w celu uzyskania dostępu.
Byłoby wspaniale, gdybyś mógł to zrobić, ale problem polega na tym, że łatwiej powiedzieć niż
zrobić, ponieważ programiści muszą być wyedukowani i nauczeni metod, których hakerzy używali do wykorzystywania systemów i uzyskiwania
dostępu.
A nawet jeśli to zrobisz, przez większość czasu programiści polegają na bibliotekach innych firm, a cała aplikacja może być
napisana przez kogoś innego.
Dlatego po prostu nie możesz napisać bezpiecznego kodu, ponieważ w rzeczywistości nie jesteś autorem ani
twórcą tej aplikacji.
Co prowadzi mnie do drugiego punktu.
Przegląd kodu.
To jest naprawdę dobre, nawet jeśli sam napisałeś aplikację i nawet jeśli upewniłeś się, że
piszesz bezpieczny kod, naprawdę dobrym pomysłem jest sprawdzenie tego kodu przez innych programistów lub inny
zespół.
Na wypadek, gdyby programiści napisali, że aplikacja coś przeoczyła lub coś przeoczyła, zostanie ona
złapana na etapie recenzji.
Ponadto, jeśli używasz kodu napisanego przez innych programistów lub biblioteki stron trzecich, ponownie przegląd kodu
naprawi ten problem, ponieważ możesz przejrzeć i wszystko.
I znowu, to jest naprawdę dobre, ponieważ faktycznie przeglądasz każdą linijkę i upewniasz się,
że nic nie jest podatne na ataki lub nie pozwoli hakerom na wykorzystanie Twojej aplikacji i uzyskanie dostępu.
Główną wadą jest to, że jeśli masz dużą bazę kodu, może to być bardzo czasochłonne
i może być również bardzo kosztowne.
Trzecie podejście, które moim zdaniem jest bardzo istotne, to wykonanie testu pióra.
W teście pióra.
Zasadniczo zatrudniasz zespół etycznych hakerów, którzy próbują zhakować Twoją aplikację.
Ci etyczni hakerzy podejdą do Twojej aplikacji w taki sam sposób, jak hakerzy Black Hat.
Będą próbować zebrać jak najwięcej informacji i odkryć wszystkie słabości i luki w zabezpieczeniach oraz sprawdzić,
czy mogą je wykorzystać, aby uzyskać dostęp.
Na koniec, kiedy skończą, przekażą ci szczegółowy raport o wszystkim, co znaleźli,
abyś mógł przekazać go swoim programistom i załatać wszelkie wykryte luki.
Główną zaletą tej metody jest możliwość testowania powierzchni ataku, których nie można przetestować innymi metodami,
takich jak serwery, na których działa Twoja aplikacja internetowa oraz najsłabsze łącze, którym są
pracownicy.
Tak więc ci hakerzy, hakerzy etyczni, mogą nawet użyć socjotechniki i połączyć ją z innymi prostszymi atakami
lub prostszymi lukami, które mogą znaleźć w twoim systemie, aby sprawdzić, czy mogą ich użyć do
uzyskania dostępu.
Wadą jest to, że może to być trochę drogie i nie jest odporne na przyszłość.
Mam na myśli to, że jeśli dzisiaj przetestujesz swoją aplikację przez naprawdę dobrych etycznych hakerów, a
następnie upewnisz się, że załatałeś każdą znalezioną lukę, oznacza to tylko, że Twoja aplikacja internetowa jest dziś
bezpieczna.
Nie gwarantuje to, że pozostanie bezpieczna przez następny miesiąc lub następny rok, ponieważ każda
dokonana zmiana, każda wprowadzona funkcja, a nawet każdy naprawiony błąd wyświetlania może wprowadzić inne błędy lub
słabości bezpieczeństwa, które można następnie wykorzystać do włamać się do twojej aplikacji.
Nie tylko to, ale znowu, jeśli ponownie aktualizujesz oprogramowanie lub wtyczki innych firm, wszystko to
może wprowadzić luki, a test nie będzie w stanie tego wychwycić, ponieważ dziś robisz tylko
Pantery, a te przyszłe zmiany są nie będzie testowany.
Czwarte podejście, które faktycznie może rozwiązać ten problem, to posiadanie programu bug bounty.
Program bug bounty to w zasadzie zaproszenie wszystkich etycznych hakerów na całym świecie do przetestowania Twojej
aplikacji i przesłania swoich wyników.
Płacisz tylko za prawidłowe błędy lub prawidłowe raporty.
Główną zaletą jest to, jak zapewne już się domyślasz, jest to, że Twoja
aplikacja jest testowana przez dużą liczbę hakerów, więc szanse na znalezienie przez nich luk są większe.
I jest to w rzeczywistości zabezpieczenie na przyszłość, ponieważ tak długo, jak masz listę nagród za błędy,
hakerzy zawsze będą testować twoją aplikację i motywować ich nagrodami.
Może to być wszystko, od koszulki po nagrody pieniężne.
Aby upewnić się, że faktycznie będą kontynuować testowanie Twojej aplikacji.
Więc nawet jeśli wprowadzasz nowe zmiany, nowe funkcje lub aktualizujesz rzeczy, nie ma to większego
znaczenia, ponieważ hakerzy będą nadal testować Twoją aplikację, mając nadzieję na znalezienie błędów i otrzymanie nagród za swoje odkrycia.
Dlatego duże firmy, takie jak Facebook i Google, korzystają z tych programów bug bounty, mimo że
stosują wszystkie inne podejścia.
Jak powiedziałem, nadal używają tego, aby upewnić się, że ich systemy są zawsze tak bezpieczne, jak to tylko
możliwe i wolne od błędów.
Wadą jest przede wszystkim to, że ciężko jest zagwarantować pokrycie wszystkich powierzchni ataku.
Po drugie, wiele firm nie ma takiego zasięgu, jak Google i Facebook, więc nie mogą reklamować swoich
nagród za błędy tak dobrze, jak robią to duże firmy.
Nie mogą nakłonić wielu etycznych hakerów do przetestowania ich witryny.
Stworzenie tych programów bug bounty i weryfikacja przesłanych raportów jest dla nich wyzwaniem.
Ale jest to rozwiązane przez platformy bug bounty, które mamy w dzisiejszych czasach, takie jak bug bounty, dotcom
i inne platformy.
Bug Bounty jest właściwie siostrzaną firmą tej ochrony.
Więc moja opinia może być nieco stronnicza, ale jestem prawie pewien, że nasze ceny są najbardziej konkurencyjne i
oferujemy tę samą usługę.
W każdym razie jestem tam zawarty we wszystkim.
Masz wybór.
Możesz sprawdzić, co chcesz, i przepraszam, jeśli faktycznie pomyliłem cię z podejściem jesiennym.
Czy to właśnie wspomniałem, ale moim zdaniem najlepiej byłoby zastosować wszystkie te cztery podejścia,
jeśli możesz.
To może być dość drogie.
Dlatego wiele firm tego nie robi.
I poszli na kompromis i poszli tylko z trzema i czterema.
Zrobią więc tylko test łatek i będą mieli program nagradzania za błędy.
A potem inne firmy czasami kompromisują jeszcze bardziej.
I wybierz jeden z dwóch, albo wykonaj program bug bounty, albo wykonaj test pióra.
Moim zdaniem test piórkowy nie jest zamiennikiem programu bug bounty i na odwrót.
Polecam zrobienie dwóch z nich, ponieważ, jak powiedziałem, każdy z nich ma swoje wady
i zalety.
Ale jeśli naprawdę nie możesz zrobić obu, to przynajmniej zrób jedno z nich jako absolutne minimum.
Jako właściciel witryny lub właściciel aplikacji jesteś odpowiedzialny za dane użytkownika, którym użytkownicy ci ufają, dlatego
musisz zrobić co najmniej niezbędne minimum, aby upewnić się, że ich dane
są obsługiwane bezpiecznie i są bezpieczne.