Bezpieczeństwo systemów – najsłabsze ogniwa i wyzwania. Wywiad z Dawidem Bałutem, Cyber Security Directorem TestArmy.

Kto w firmach naprawdę odpowiada za bezpieczeństwo? Jakie wyzwania stoją przed branżą security oraz przed firmami, które potrzebują testów? Jak wygląda proces testów i jak podchodzi się do nich w Polsce i za granicą? W poniższym wywiadzie na te pytania odpowiada Dawid Bałut, który niedawno dołączył do TestArmy jako Cyber Security Director. Podczas rozmowy, Dawid podzielił się z nami swoimi przemyśleniami oraz opowiedział o misji TestArmy. Udanej lektury!


 

Dawid Bałut

Pentester i Bug Hunter z dużym doświadczeniem, który dołączył do defensywnej strony mocy i przez ponad pół dekady pracował jako Architekt Bezpieczeństwa dla korporacji  z Doliny Krzemowej. Na co dzień buduje systemy zabezpieczeń, szkoli pracowników i automatyzuje wszelkie procesy  bezpieczeństwa.

 

 


Masz duże doświadczenie w obszarze bezpieczeństwa aplikacji. Powiedz czym zajmowałeś się do tej pory i czym będziesz zajmować się w TestArmy?

W swojej karierze pracowałem na stanowiskach sieciowca, programisty, sysadmina, bug huntera, pentestera, inżyniera bezpieczeństwa aż po wysokie stanowiska managerskie.
Przez ostatnie 5 lat współpracowałem z generującą rocznie kilkadziesiąt milionów dolarów amerykańską korporacją z sektora security. Jako architekt bezpieczeństwa byłem odpowiedzialny za budowanie bezpieczeństwa od stóp do głów, skupiając się na optymalizacji procesów i tworzeniu ekosystemu, dzięki któremu nowych błędów będzie coraz mniej. W międzyczasie pomagałem innym firmom i specjalistom bezpieczeństwa zabezpieczać ich firmy od środka, implementować DevSecOps i zwiększać ROI z testów penetracyjnych oraz programów Bug Bounty.

W TestArmy chcemy pomóc firmom uzyskać większy zwrot z ich inwestycji w bezpieczeństwo. Najważniejszym elementem jest zbudowanie elitarnego zespołu pentesterów, w którym współpracują najlepsi eksperci jakich w życiu poznałem. Wiemy, że istnieją specjaliści, dla których bezpieczeństwo to coś więcej niż tylko praca i dla których mocno liczy się jakość usług, które dostarczają klientom. Dlatego właśnie chcemy stworzyć dla nich idealne środowisko pracy i wspólnie pracować nad czymś, co jest dla nas głęboko ważne.

Drugim bardzo ważnym dla mnie elementem jest zwiększenie nakładów na edukację w temacie bezpieczeństwa zarówno kodu, aplikacji jak i całych systemów informatycznych. Jako programista i ktoś, kto spędził ostatnie pół dekady zabezpieczając proces inżynierii oprogramowania wiem, że oprócz wiedzy, programiści potrzebują wygodnych narzędzi i zasobów.

Dobrze że poruszyłeś temat bug bounty. Byłeś jednym z pierwszych pentesterów zgłaszających błędy w aplikacjach takich firm jak Amazon, Apple, Ebay czy też Facebook. Jak widać, nawet giganci technologiczni mają problem z bezpieczeństwem własnych aplikacji.

Jak najbardziej. W swojej karierze nie spotkałem się z ani jedną firmy, która nie miałaby podatności bezpieczeństwa. U dużych graczy dochodzą problemy związane z ich skalą.
Korporacje takie jak Facebook czy Google produkują tyle kodu i nowych aplikacji, że nie są w stanie zabezpieczyć tego własnymi rękoma – co jest między innymi głównym powodem uruchomienia programów Bug Bounty, w których wypłacają miliony dolarów rocznie niezależnym badaczom bezpieczeństwa.
Google przeprowadza rocznie dziesiątki przejęć innych mniejszych firm i ich produktów. O ile z odpowiednimi procesami da się całkiem nieźle zabezpieczyć nowo produkowany kod wewnątrz firmy, to bardzo dużego nakładu pracy wymaga przetestowanie od stóp do głów produktów odziedziczonych po przejęciu firmy.

Duże i małe firmy łączy wiele identycznych problemów, jednak całkiem sporo je też dzieli. Dla przykładu, małych firm często nie stać na doświadczonych w bezpieczeństwie programistów, podczas gdy duże firmy rekrutują tyle osób każdego tygodnia, że nie zawsze udaje im się porządnie przeszkolić każdego pracownika.

Jak widzisz wyzwania stojące przed branżą cyber security?

Rosnąca liczba kodu, pojawiające się ciągle nowe technologie i zwiększenie płynności w dostarczaniu nowych wersji aplikacji do klienta niesie ze sobą konieczność zmiany podejścia do zarządzania bezpieczeństwem. Jestem ogromnym zwolennikiem wykorzystania Agile i DevOps przy wytwarzaniu oprogramowania, jednak sporo firm zapomina, że “nowe” metodyki niosą ze sobą nowe zagrożenia. Obecnie w wielu firmach wytwarzane oprogramowanie ma zautomatyzowanych wiele procesów związanych z testowaniem jakości kodu, jednak bardzo niewielka ilość firm posiada podobną automatyzację dla procesów bezpieczeństwa przez co u klientów często lądują w ogóle nie przetestowane pod kątem bezpieczeństwa nowe funkcjonalności.

Idealnym przykładem jest rynek Internetu Rzeczy, gdzie znakomicie przeważająca liczba produktów jest kompletnie niezabezpieczona. Internet of Things rośnie w niesamowitym tempie i musimy przyłożyć się bardziej do zabezpieczania tego sektora. Jeśli tego nie zrobimy, to ściągniemy niebezpieczeństwo na nieświadomych użytkowników, którzy nie będą wiedzieć, że można zdalnie podglądać ich sypialnię przez kamerkę w kołysce dziecka, czy zdalnie włączyć piekarnik na pełną moc, gdy będą poza domem.

Jakie jest podejście do pentestów w Polsce, a jakie za granicą? Czy za granicą jest większa świadomość potrzeby ich przeprowadzenia?

Różnica jest zauważalna. Na szczęście również w Polsce świadomość bezpieczeństwa mocno wzrosła, szczególnie na przestrzeni ostatnich 5 lat, choć nadal jest przed nami długa droga.
Mimo zmiany nastawienia, w wielu firmach, nadal bardzo nie docenia się testerów – czy to bezpieczeństwa, czy funkcjonalnych. W wyniku tego mamy dużą przepaść między elitarnymi produktami wysokiej jakości i całą masą – też drogich – produktów, które dostarczają więcej frustracji niż przyjemności w codziennym użytkowaniu.
Sporo firm będzie miało ogromne problemy z zabezpieczeniem ich infrastruktury. Rynek tak bardzo potrzebuje dobrych specjalistów bezpieczeństwa, że pracodawcy z krajów zagranicznych często oferują szeroką gamę benefitów wliczając w to pracę zdalną.

To jeden z powodów, dla których chcemy odpowiedzieć na potrzebę firm, które nie są i nie będą w stanie same zbudować wewnętrznych zespołów bezpieczeństwa. My mamy to czego potrzebują. Posiadamy zarówno świetny wewnętrzny zespół, jak i partnerów, co pozwala nam w każdej chwili uzyskać specjalistów kompetentnych do wykonania wyrafinowanych testów bezpieczeństwa.

Czego może spodziewać się firma, która zgłasza się z prośbą o testy? Jak one wyglądają?

Sam proces wygląda w ten sposób, że zgłasza się do nas klient z zapytaniem o testy penetracyjne po czym my pracujemy z nim, żeby zrozumieć czy klient naprawdę potrzebuje właśnie pentestu. Zależy nam na tym, żeby klienci rozumieli czym tak naprawdę jest usługa, o którą proszą i sugerujemy rozwiązanie, które będzie inwestycją o największym zwrocie dla klienta. Gdy to mamy już uzgodnione, przesyłamy klientowi kwestionariusz, żeby zrozumieć jego stack technologiczny, zebrać namiary na system i potencjalnie dane dostępowe. Przeprowadzamy klienta przez proces, tak żeby wiedział czego się spodziewać podczas naszych testów. Uzgadniamy termin, w którym ma zostać przeprowadzony test, oraz kontakty awaryjne i zbieramy zespół pentesterów najbardziej kompetentnych w testowaniu technologii wykorzystywanych przez klienta. Po czym przeprowadzamy testy dokumentując znalezione podatności i tworzymy raport końcowy.

Taki raport zawiera wszystko, począwszy od podsumowania dla zarządu, jak i szczegółowych informacji dla programistów. Dzięki temu management wie w jakiej sytuacji znajduje się ich firma i w co powinni zwiększyć inwestycje, a programiści wiedzą dokładnie jak zreprodukować błąd i go naprawić podążając naszymi wskazówkami.

Czy zawsze uda się znaleźć jakieś błędy?

Mimo, że ego wielu pentesterów nakazuje odpowiadać na to pytanie “ależ oczywiście”, to ja odpowiem szczerze – nie zawsze. To czy znajdzie się błędy zależy od wielu czynników. Oprócz tego ile czasu poświęci się na testowanie systemu i tego jak skomplikowana jest aplikacja, bardzo dużo zależy od jakości testerów, którzy wykonywali testy przed nami.  

Pracując dla różnych firm produkujących oprogramowanie przeprowadziłem setki testów penetracyjnych i często zdarzało się, że gdy zatrudniliśmy zewnętrzne firmy, to testując aplikację wcześniej przetestowaną przez mój zespół, wracali z pustymi rękoma. Spotykałem się też z sytuacjami, gdzie zewnętrzne pentesty wykrywały ważne podatności, które nie zostały znalezione przez inną firmę przeprowadzającą pentest tydzień wcześniej.

W znacznej większości przypadków “coś” się znajdzie, natomiast szansa na znalezienie poważnego błędu maleje proporcjonalnie do tego jak dobre procesy bezpieczeństwa ma firma i z jak bardzo profesjonalnych usług pentesterskich korzystała w przeszłości. Mimo wszystko takie sytuacje mogę policzyć na palcach jednej ręki i w większości pentestów znajduje się poważne błędy.

Co jest zazwyczaj najsłabszym punktem w zabezpieczeniach i dlaczego najczęściej jest to  człowiek?

Dlatego, że to człowiek odpowiada za jakość kodu, produktu czy zabezpieczenia infrastruktury i aplikacji używanych wewnętrznie przez innych pracowników.
Lecz, gdy wspominam o człowieku będącym słabym punktem, bardzo rzadko mam na myśli programistę.

Kiedy mówię o osobie odpowiedzialnej za jakość mam na myśli zarząd i management w firmie. To te grupy decydują o tym jak mocno inwestować w bezpieczeństwo.
Programista wykonuje swoją pracę i jeśli jest zarzucany koniecznością produkowania ogromnych ilości kodu, to nie może pozwolić sobie na przerwy w których przemyśli czy kod, który pisze jest bezpieczny. To od zarządu zależy też ile czasu i budżetu dostaje każdy pracownik na edukację w zakresie bezpieczeństwa.

O ile jeszcze 10 lat temu często uważałem, że odpowiedzialność za powstające błędy należy bezpośrednio do programistów, o tyle, po tylu latach w branży, wiem, że gdyby programiści mieli odpowiednie wsparcie zarządu, to większość z nich bardzo chętnie pisałaby wysokiej jakości, bezpieczny kod.

Czy testy są ważne tylko w przypadku dużych firm?

Czasem wręcz przeciwnie. Duże firmy często mają świetnych programistów, którzy wiedzą jak pisać bezpieczny kod, mają solidne procesy zapewniania jakości oprogramowania i nierzadko wewnętrzny zespół bezpieczeństwa.

W moim doświadczeniu to te mniejsze firmy mają więcej dziur, przez to, że nie stać ich na wykwalifikowanych specjalistów, a nawet jeśli posiadają takich specjalistów na pokładzie, to wolą przeznaczać ich czas na produkowanie czegoś, co przynosi zwrot zamiast na testowanie bezpieczeństwa.
Również poziom świadomości w mniejszych firmach jest niższy, przez co nie zdają sobie sprawy z tego, co może się stać jeśli zbyt mocno zignorują potrzebę inwestycji w procesy bezpieczeństwa.

Jak wyglądają testy socjotechniczne?

Ha, celem testów socjotechnicznych jest przeprowadzenie ich tak, żeby w ogóle nie wyglądały jak testy socjotechniczne! Testy socjotechniczne polegają na wykorzystaniu naszych emocji i nadużyciu naszych ludzkich słabości w celu zdobycia dostępu do zastrzeżonych zasobów.

Testy socjotechniczne to niestety nadal czarna owca świata bezpieczeństwa. O ile o technicznych testach penetracyjnych większość ludzi gdzieś słyszała, o tyle niewiele firm przeprowadza testy socjotechniczne. Kiedy poziom świadomości o tego typu zagrożeniach jest pośród pracowników niski, to atakujący chcący włamać się do firmy nie musi inwestować setek godzin szukając luk w oprogramowaniu.

Wystarczy, że zadzwoni do miłej pani księgowej, która znana jest z otwartości oraz chęci pomocy, i przekona ją do udostępnienia poufnych informacji bądź haseł dostępowych podając się na przykład za dział IT, który potrzebuje tych informacji, by usprawnić jej pracę.
Kto odmawia specjaliście IT który za darmo chce usprawnić Twoją pracę? Wystarczy podać swoje hasło, żeby mógł zalogować się na Twój komputer i go zoptymalizować.

Co sadzisz o ogromnej fali popularności programów Bug Bounty? Czy rzeczywiście warto w nie inwestować?

Warto, ale nie każdy powinien. Powiem wręcz, że większość firm nie powinna w to inwestować, dlatego że by wykorzystać potencjał programów Bug Bounty firma i jej obecne procesy bezpieczeństwa muszą być bardzo dojrzałe.

Programy Bug Bounty polegają na zachęcaniu zewnętrznych badaczy bezpieczeństwa do testowaniu oprogramowania i systemów danej firmy. Jeśli badacz znajdzie błąd i w odpowiedzialny sposób zgłosi go firmie, to otrzyma za to wynagrodzenie. 

Problem z programami Bug Bounty jest taki, że nie są tanie zarówno jeśli chodzi o pieniądze, jak i czas, nie są kompletnie bezpieczne i nie rozwiązują problemów długofalowo.
Większość firm powinna inwestować pieniądze w usprawnianie wewnętrznych procesów bezpiecznego wytwarzania oprogramowania;  w monitoring i systemy bezpieczeństwa; w solidne testy penetracyjne a dopiero po kilkudziesięciu pomyślnych iteracjach myśleć o uruchomieniu programu bug bounty. Bug Bounty powinno być wisienką na torcie a nie substytutem jakiejkolwiek innej inicjatywy bezpieczeństwa.

Według doniesień wielu raportów, już w 2019 roku będzie brakować na rynku pracy około dwóch milionów specjalistów ds. bezpieczeństwa. W jaki sposób możemy pozyskać tak ogromną ilość pracowników i w jaki sposób z tym deficytem maja poradzić sobie firmy?

Nie sądzę, że mamy aż tak duży problem z brakiem specjalistów ds bezpieczeństwa. Uważam, że firmy po prostu nie potrafią wykorzystać potencjału ludzi, którzy już są na rynku i panikują zamiast skupić się na praktycznym podejściu do problemu.
Odpowiedzią na problem jest zwiększenie inwestycji na edukację, zatrudnianie juniorów i szkolenie ich wewnątrz firmy, rozpoznawanie wewnętrznych talentów czy poluźnienie polityki zatrudnienia oferując pracę zdalną i w elastycznym wymiarze godzin. Oczywiście rozwiązań jest wiele i ten problem jest głębszy, jednak nie ma sensu rozmawiać o większych inicjatywach rządowych skoro większość firm nie robi podstawowych rzeczy jak te wymienione wyżej.

Generalnie dobrych specjalistów brakuje we wszystkich specjalizacjach branży IT. Mamy ogromne ilości wolnych stanowisk na programistów, sysadminów, ale także na kompetentny HR i management. Główna różnica polega na tym, że bez odpowiednich zabezpieczeń firmy w rezultacie włamań mogą zbankrutować i doprowadzać do wycieków nasze dane. Bez programistów czy HRów, firma będzie się po prostu wolniej rozwijać i to jest jej największe ryzyko.

testuj.pl od lat prowadzi szeroką gamę szkoleń dla programistów, testerów i projektantów UI. Niedawno dodaliśmy warsztaty z testowania zabezpieczeń i będziemy pracować nad większą ilością materiałów edukacyjnych, dlatego że każda firma powinna inwestować w rozwój swoich pracowników.

Dziękuję Ci bardzo za niesamowicie celne pytania. Na większość z nich planuję odpowiedzieć w formie dłuższych artykułów na blogu TestArmy, dlatego że są to problemy tak ważne, że zasługują na dokładne rozpatrzenie.

Dziękujęmy za dobrnięcie do końca wywiadu. Jeśli nasuwa Ci się po nim więcej pytań dotyczących bezpieczeństwa skontaktuj się z nami!

Leave a comment

Your email address will not be published. Required fields are marked *