Akademia Bezpiecznego Kodu v1

Trzeci kwartał dobiegł końca, a wraz z nim zakończyła się pierwsza edycja Akademii Bezpiecznego Kodu. W zasadzie ledwo się obróciłem i jest koniec lata. 😅

Roboty było dużo (trzynastotygodniowy maraton), ale jestem dumny z efektu końcowego. Jak to wyglądało? Z własnego wyboru cała produkcja była w moich rękach. Od pracy nad materiałem, przez nagrywanie i montaż, aż po publikację na własnej platformie szkoleniowej. Wszystko zrobiłem sam jak ta przysłowiowa Zosia-samosia (pomogło mi doświadczenie fotograficzne), ale dzięki temu sporo się nauczyłem i przyszłe moduły —jak i retusz obecnych— wyjdą na tym tylko na plus.

Uśredniając produkcja pojedynczego modułu zajęła 16 godzin, czyli łącznie poświęciłem na ten projekt 208 godzin co przekłada się na 26 dni roboczych. Większość modułów udało mi się dowieźć na czas (kolejne moduły wychodziły w poniedziałki), te których się nie udało miały obsuwę 1-2 dni.

W pierwszej edycji Akademii omówiłem:

  • Standardy i metodologie (CWE Top 25, WSTG, ASVS, SAMM, BSIMM)
  • Infrastrukturę (nmap, nikto, OpenVAS, Nessus, WAF, tcpdump i Wireshark)
  • Całość OWASP Top 10 2017 oraz A8 (CSRF) i A10 (Open Redirect) z OWASP Top 10 2013
  • Automatyzację (SAST, Sekrety, SCA, SBOM, DAST)
  • Raportowanie (CVSS, CVE, DREAD)

Oczywiście to tylko wycinek tematów. Pełna agenda kursu jest dostępna na stronie Akademii.

W finalnym rozliczeniu pierwsza edycja Akademii Bezpiecznego Kodu to 13 modułów składających się z 209 lekcji wideo, które łącznie trwają ponad 16 godzin. Już teraz jest to najbardziej kompleksowe szkolenie z tematu bezpieczeństwa web aplikacji dostępne na rynku… a to dopiero początek bo w kolejnych edycjach materiału będzie jeszcze więcej.

Piąteczka! ✋

P.S. Druga edycja Akademii nadejdzie późną jesienią, żeby otrzymać powiadomienie zapisz się na mailing tutaj albo poniżej!

Podsumowanie miesiąca: maj i czerwiec 2020

Właśnie jestem w pociągu do Katowic. Dwie godziny z hakiem do zużycia więc postanowiłem w końcu nadrobić zaległości i napisać podsumowanie zbiorcze dla maja i czerwca. Co prawda LTE na tej trasie pozostawia wiele do życzenia i pisanie jest toporne, ale albo teraz albo nigdy.

Retrospekcja maja i czerwca

Co udało mi się dowieźć:

  • Wypuściłem pierwszą edycję Akademii Bezpiecznego Kodu i pomimo tego, że jest to tylko jedna pozycja to żeby ją zrealizować musiał się wydarzyć szereg innych akcji

Czego nie udało mi się dowieźć:

Pole do poprawy jest, potok dodatkowych projektów również. Jak to mówi mój dobry kolega fraktal rodzi fraktal.

Aplikacje w obiegu

W maju i czerwcu kontynuowałem namiętne używanie Endela, Qbserve, oraz Auto Sleep. Do rotacji dołożyłem również aplikację Freedom.

Warto wspomnieć, że w maju Endel miał update i dorobił się nowych trybów muzycznych.

Freedom

Tak wygląda zablokowany Instagram

Freedom aplikuje nam proxy na poziomie systemu i w momencie kiedy ustawimy sobie blok czasowy to wycina nam dostęp do niechcianych stron na poziomie sieci. Działa zarówno na macOS jak i iOS.

Sposób nie jest idealny (na macOS można po prostu ubić proces, a na iOS VPN wyłącza się czasami sam z siebie), ale jeżeli sami ze sobą jesteśmy szczerzy to nie będziemy oszukiwać.

Reasumując

Zarówno maj jak i czerwiec uważam za udane. Co prawda nie udało mi się zrealizować wszystkiego co chciałem. Ba! Nie udało zrealizować się nawet połowy, jednak na koniec dnia wiem, że (1) zrealizowałem to co było dla mnie najważniejsze (odpalenie Akademii) oraz (2) coraz lepiej rozumiem temat produktywności.

W chwili obecnej mamy już drugą połowę lipca i jest lepiej niż było, a więc progres (a o to w życiu chodzi) jest kontynuowany. Usprawnianie procesu idzie czasami lepiej, czasami gorzej, ale cały czas idzie do przodu.

Slow but steady wins the race.

Podsumowanie miesiąca: kwiecień 2020

Pod koniec 2019 roku zacząłem odnosić wrażenie, że często jestem zajęty, a nie produktywny (pomimo tego, że pracuję całkiem sporo to nie dowożę tyle ile chcę i mogę). W związku z tym na początku tego roku postanowiłem przebudować od podstaw proces mojego działania.

Styczeń poświęciłem na obserwację tego, w jaki sposób pracuję, z jakich narzędzi korzystam, listowanie dostępnych opcji, i ogólne myślenie o tym, co może się u mnie sprawdzić. Po tym wszystkim postanowiłem, że narzędzi zmieniać nie będę i zostanę przy metodologii GTD, posiłkując się aplikacją Things jako głównym źródłem prawdy (miejsce, w którym ląduje wszystko, co przerabiam).

Jako uzupełnienie w niektórych projektach korzystam z kanbana poprzez Trello, ale podjąłem decyzję o mocnym ograniczeniu tego narzędzia.

Things ma tę wadę, że działa jedynie w ekosystemie Apple. Jednocześnie jest to również jego zaleta, ponieważ jest świetnie zgrany zarówno z macOS, jak i iOS. Dla przykładu: integracja skrótów pozwala bardzo szybko dodawać zadania z referencjami do różnego rodzaju zasobów w systemie (pliki, notatki, URL-e, et cetera), co BARDZO przyśpiesza dodawanie rzeczy „na później”.

Luty był pewnego rodzaju eksperymentem, gdzie wprowadziłem pierwszą wersję procesu planowania tygodni i miesięcy na podstawie wysokopoziomowego spojrzenia stworzonego w postaci mapy myśli (do mapowania myśli korzystam z aplikacji XMind).

Proces wygląda tak, że w każdą niedzielę w Things pojawia się projekt „Retrospekcja: tygodniówka” z zadaniami takimi jak:

  • Przegląd systemu (tj. wszystkiego co mam w Things),
  • Przegląd newsów (via RSS, korzystam z Inoreader),
  • Procesowanie artefaktów zbieranych z sieci przez cały tydzień w Instapaper,
  • Przegląd treningu (obecnie zatrzymany ponieważ siłownie są zamknięte),
  • Przegląd wysokopoziomowego spojrzenia (rzut okiem na wspomnianą powyżej mapę myśli),
  • Ocena poprzedniego tygodnia (leci do Evernote),
  • Plan tygodnia następnego (zaplanowanie zadań w Things).

Natomiast pod koniec każdego miesiąca (np. wczoraj) przechodzę przez projekt „Podsumowanie i planowanie kolejnego miesiąca” składającego się z:

  • Podsumowania poprzedniego miesiąca (szczegółowo w Evernote, luźno tutaj na blogu),
  • Przegląd wysokopoziomowego spojrzenia (tak jak wyżej),
  • Planowanie kolejnego miesiąca (rozpiska planu w Evernote i dodanie/modyfikacja odpowiednich projektów/zadań w Things).

Marzec i kwiecień upłynęły na doskonaleniu powyższych procesów i dowożeniu zaplanowanych projektów oraz zadań, które z nich wynikały.

Na chwilę obecną jest lepiej niż było, ale jeszcze nie osiągnąłem stanu, w który celuję. Bill Gates powiedział kiedyś, że większość ludzi przecenia to, co jest w stanie zrobić w rok, a nie docenia tego, co jest w stanie zrobić w ciągu dekady. W pełni się z tym zgadzam. Wiem, że przeceniałem ilość projektów i zadań, jakie jestem w stanie wykonać w danej jednostce czasu (dzień, tydzień, miesiąc). Nad tym problemem cały czas pracuję i zakładam, że do końca tego roku planowanie będzie trafne w większości przypadków (75% skuteczności będę uważał za sukces).

Retrospekcja kwietnia

Co udało się dowieźć:

Czego nie udało się dowieźć:

Nowe appki w obiegu

W kwietniu zacząłem korzystać z trzech nowych aplikacji: Endel, Qbserve, i Auto Sleep. Poniżej krótkie opisy każdej z nich.

Endel App

Różne tryby generowania melodii w aplikacji Endel

Pracując lubię słuchać muzyki. Do tej pory najczęstszym wyborem była muzyka klasyczna (Bach, Chopin, Liszt), muzyka elektroniczna (Tycho i Boards of Canada), oraz różne soundtracki z gier i filmów (World of Warcraft, Blade Runner, Mr. Robot, i tym podobne). Wszystko grało poprzez Spotify.

Na początku kwietnia postanowiłem wypróbować aplikację Endel, która generuje melodię na podstawie kilku zmiennych takich jak pogoda (lokalizacja via GPS) czy rytm serca (via Apple Watch).

Eksperyment uważam za udany – odkąd zacząłem korzystać z Endel to Spotify włączyłem dokładnie 2 razy. Jedyny minus to szybkie zżeranie baterii, ale jakoś będę musiał z tym żyć.

Qbserve

Qbserve sprytnie zlicza czas spędzony na komputerze

Jednym z największych problemów pracy przy komputerze są rozpraszacze dostępne na wyciągnięcie ręki. Jako pierwszy krok do rozwiązania tego problemu postanowiłem zmierzyć czas, jaki spędzam w różnych aplikacjach i na stronach WWW.

Po miesiącu zbierania statystyk wyszło, że na głupoty poświęcam więcej czasu niż na pracę (taką wisienką na torcie było 15h spędzonych na wykopie). Tak czy siak, podstawą jest świadomość. Teraz wiem ile czasu przelatuje mi przez ręce i podejmuję kroki, aby to optymalizować (konkretny sposób omówię po fazie testowania za miesiąc lub dwa).

Auto Sleep

Jestem w trakcie czytania książki Why We Sleep i co prawda problemów ze spaniem nie mam (do higieny snu przywiązuję wagę od wielu lat), ale chciałem przebadać jakość swojego snu.

Po kilku nocach przespanych z Apple Watch wyszło, że nie jest tak różowo jak mi się wydawało głównie pod kątem długości snu. Będę to poprawiał w tym i kolejnych miesiącach.

Reasumując

Pierwszy kwartał roku 2020 z bonusem w postaci kwietnia zleciał głównie na tworzeniu i optymalizacji procesu. Jest lepiej niż było, ale nie jestem jeszcze tam gdzie chcę być. Plan na maj jest już wstępnie ułożony. Teraz czeka mnie jeszcze przerzucanie projektów i zadań do Things oraz nadanie priorytetów.

Iterate upon success. 👋

Podsumowanie roku 2018

Przeszło dwa tygodnie temu zaczął się rok 2019 i z okazji tego faktu postanowiłem streścić kilka tematów, które zadziały się na przestrzeni minionego roku. Bardziej dla siebie niż innych — na pewno będzie fajnie przeczytać kilka takich podsumowań za kilka lat. Let’s go!

Kariera

W zeszłym roku zacząłem odchodzić od implementacji na rzecz architektury i szeroko rozumianego procesu (eliminacja podatności na etapie wytwarzania oprogramowania poprzez implementację Secure SDL czy DevSecOps). Dalej uważam to za słuszną drogę — gaszenie pożarów jest nieoptymalne. Jako społeczność powinniśmy się skupić na podnoszeniu poprzeczki poprzez (1) usprawnianie procesu wytwarzania oprogramowania (Secure SDL / DevSecOps), (2) automatyzację wykrywania podatności (np. poprzez fuzzing), oraz (3) implementacji mechanizmów bezpieczeństwa eliminujących całe klasy podatności (np. różne odsłony mechanizmu CFI). Pojedyncze podatności schodzą na drugi plan. (W tym artykule Bruce Schneier zadał pytanie “Are vulnerabilities in software dense or sparse?” obawiam się, że na chwilę obecną odpowiedzią jest dense).

Poza tym miałem okazję występować publicznie aż 7 razy na krajowych konferencjach dotyczących technologii: Code Europe (Warszawa, Poznań), 4Developers (Gdańsk, Wrocław), What The [email protected] (Warszawa), oraz AlligatorCon (Kraków). Slajdy z większości wystąpień można pobrać z GitHuba.

Plakietki konferencyjne z większości wydarzeń, w których uczestniczyłem.

Last but not least pomiędzy pracą, własnymi projektami, oraz wystąpieniami publicznymi zdobyłem również trzy certyfikaty branżowe (OSCP, OSWP, i eCRE). Osobiście nie wierzę w udowadnianie kompetencji poprzez certyfikaty (znam za dużo osób bez żadnych certyfikatów, które ”znają się na robocie”), ale moje widzimisię nie pokrywa się ze spojrzeniem polskiego rynku więc robię to co trzeba zrobić 🤷‍♂️. Niestety jako osoba z latami doświadczenia, we wszystkich kursach do których podszedłem i skończyłem z sukcesem (3/3) wartością dodaną jest jedynie papierek. Zdecydowaną większość materiału (pi*drzwi 95+%, gdzie pozostałe procenty to tips & tricks) znałem już przed kursami.

Start-up (stealth-mode)

W 2018 zacząłem również pracę nad start-upem technologicznym związanym z cyberbezpieczeństwem. Docelowym modelem biznesowym jest Software-as-a-Service dla B2B. Na tę chwilę jestem ja i jeden techniczny co-founder. Całość jest w tzw. stealth-mode, mamy już MVP i publiczną betę planujemy pod koniec 2019Q1 albo początek 2019Q2.

Trening

Progres był, ale nie tak duży jak zakładałem. Powód? Za małe skupienie na progresowaniu ciężaru połączone ze słabym trzymaniem michy. Skończyło się na następujących 1RM przy wadze w okolicach 70kg:

  • Siad 110kg (1.57xBW)
  • Martwy ciąg 155kg (2.21xBW)
  • Ławka 70kg (1xBW)

Upper-body ma duże lagi w stosunku do lower-body — wiem i zacząłem to naprawiać (obecny trening skupia się mocno wokół upper kosztem lower).

Warszawa

W marcu 2018 upłynął rok odkąd zamieszkałem w Warszawie (co samo w sobie było zakończeniem mojej kilkuletniej tułaczki po świecie). Rok w Warszawie (wkrótce dwa!) i dalej jestem zadowolony z wyboru. Polska nie jest idealna jednak z doświadczenia wiem, że ideałów nie ma. Dobrze mi tu gdzie jestem.

2019

Planów, celów, projektów, et cetera na rok 2019 jest pod dostatkiem. Zachęcam do obserwacji (Twitter & Linkedin) bo będzie się działo! 💪