#programowanie

238
1750
Crowdstrike opublikował raport na temat ostatniego whoopsie. Niestety dokument zaczyna się od "The CrowdStrike Falcon sensor delivers powerful on-sensor AI and machine learning models", więc średnio miałem ochotę to czytać. No ale się zmusiłem. Duża część tego dokumentu do bełkot.

Long story short, Crowdstrike miał swojego regexa (tak, regexa), którym coś tam sobie definiował. Na końcu regexa był wildcard, więc ostatni, dwudziesty pierwszy parametr się zawsze matchował. Problem w tym, że Crowdstrike usunął tego wildcarda i ostatni parametr przestał się matchować. No tylko, że kod nadal go oczekiwał. Programiści aż tacy głupi nie byli i dodali checka na NULL pointera. Ale ten feralny argument nie był ustawiony na NULLa, tylko na losową wartość. Więc kaboom.

Używanie regexów w kernelu moim zdaniem jest wątpliwe moralnie. Ale to nie to było bezpośrednią przyczyną problemu. Po prostu ktoś na ślepo założył, że wszystkie parametry zawsze będą się matchować. Dodatkowo, moim zdaniem pośrednio z raportu wynika, że Crowdstrike nie testował swojego softu z prawdziwymi produkcyjnymi plikami konfiguracyjnymi.

#programowanie #programista15k #pracait
Syster

@groman43 Mega słabe moim zdaniem, że nie tego nie wyłapali. Jedna rzecz mnie zastanawia, w jakim przypadku ten channel file 291 przechodził bez crasha?

Jak rozumiem, chyba nie wszystkie PCty z crowdstrikiem się wywaliły, bo jak wszystkie to oznaczało by, że oni przez przypadek nie przetestowali tego release'a w żaden sposób.

koszotorobur

@groman43 - głupki nie mieli środowiska odpowiadającemu produkcji bo do tego musieliby mieć całe laboratorium fizycznych maszyn i wirtualek - ale jak widać najpewniej cięli koszty - i teraz się okazało, że cięli tam gdzie nie trzeba (chociaż założę się, że wewnętrznie ktoś ich ostrzegał - tylko zignorowali)

Poza tym chyba nie słyszeli o Canary Release i wypuszczali update od razu dla wszystkich (więc jak się zjebało to u dużej ilości klientów na raz).

Nie chce mi się nawet dochodzić, jak bardzo zjebane mieli procedury (chociaż te może mieli ok na papierze - tylko ich nie przestrzegali) ale takie ich wyjaśnienie tylko świadczy, że nie poczuwają się do odpowiedzialności, więc kij im w oko i niech tracą kontrakty.

Dzemik_Skrytozerca

@groman43


Zacznijmy od tego, że problem ma charakter wielopoziomowy i dotyczy Microsoftu, Crowdstrike i klientów.


Microsoft, bo dopuszcza third party software w kernelu. Mieli tego nie robić, ale woleli dopuścić to zamiast poprawić swoją architekturę na wzór Apple.


Crowdstrike, bo ewidentnie dali ciała z testami. Bugi się zdarzają i będą zdarzać. I dlatego właśnie testować należy na wystarczająco szerokim zakresie danych.


Klienci, bo używają takiego produktu, bo robia pełny deployment zamiast staggered release. Tak, wiem, Crowdstrike nie wspiera staggered release. Ale to wraca do kroku pierwszego - czemu kupiono produkt, który nie wspiera standardów wdrożeniowych?

Zaloguj się aby komentować

W nawiązaniu do posta @Unknow, źli ludzie chcieli mi się wbić na VPSa. Na razie wywalenie ssh na inny port niż 22 załatwiło sprawę, ale chyba naprawdę muszę zbanować konkretne kraje na iptables

#programowanie #programista15k #pracait #hosting a nawet #hacking
251b14aa-5e9b-433c-8ec2-8f11d66b0028
Trismagist

@groman43 fail2ban protip.

UncleFester

@groman43 Może wypróbuj SSH port knocking

cweliat

@groman43 widzę tą czcionkę w weekend to mi się rzygac chce

Zaloguj się aby komentować

Zostań Patronem Hejto i odblokuj dodatkowe korzyści tylko dla Patronów

  • Włączona możliwość zarabiania na swoich treściach
  • Całkowity brak reklam na każdym urządzeniu
  • Oznaczenie w postaci rogala , który świadczy o Twoim wsparciu
  • Wcześniejszy dostęp, do wybranych funkcji na Hejto
Zostań Patronem
Potrzebuję propozycji na technologie do stworzenia aplikacji dla backendu na serwer i frontendu na komputery i telefony zlecanej zewnętrznej firmie.

Pomagam przy realizacji koncepcji tworzenia aplikacji(mimo że akurat w powyższych tematach średnio się znam), tak by stworzona aplikacja nie kosztowała krocia, działała i by jej rozwój łatwo można było przerzucić na barki innej firmy.

Zapytania o to były wysłane do różnych firm i najczęściej polecanymi techonogiami jest nodejs na serwer, react/react native/nodejs/vue3 jako frontend dla aplikacji jak i również PWA.

Mały problem jest z tym, że akurat doświadczenie głównie mam w komputerowych aplikacjach, więc nie do końca ogarniam wszystkie plusy i minusy poszczególnych rozwiązań.

W skrócie aplikacja to powinno być kilka/kilkanaście ekranów dobijających się do serwera i tam zapisującymi/odczytującymi dane. Raczej nic zaawansowanego - przynajmniej na tę chwilę.

Co do aplikacji na serwer, to myślę że dużo lepszym pomysłem niż NodeJS jest jakaś aplikacja w rust, która zwłaszcza że z racji bycia niewielką(jedyne zadania to autentykacja i zapis/odczyt danych z bazy) nie powinna powodować problemów z długą kompilacją czy zbytnią złożonością a pozwalałaby na szybszy/prostszy deploy i inne ficzery(oczywiście jako zlecacza aplikacji mnie to niezbyt teraz obchodzi to, ale w przyszłości przy aktualizacji/migracji/problemach z wydajnością to mogłoby sprawiać problemy)

Co do aplikacji na telefony/komputer to optowałbym raczej za użyciem Tauri + ts + svelte, zwłaszcza że Tauri 2 beta umożliwia budowanie aplikacji zarówno na windowsy jak i androida.
Tutaj też zastanawiam się nad aplikacją PWA/zwykłą stroną, jednak boję się o jakieś dziwne ograniczenia typu brak możliwości odczytywania linii papilarnych, czy korzystania ze zwykłych funkcji w telefonie(nie znam się, więc to tylko przypuszczenie).
Raczej nie pchałbym się w React na windowsa i React Native na androida, bo to duplikowałoby kod a wolałbym by był on niemal wspólny na tych dwóch systemach, różniący się jedynie rozmieszczeniem elementów na ekranie, a nie technologią

Jest sens się pchać w te technologie, czy może inne byłyby lepsze?

#programowanie
Catharsis

@qarmin Skoro ogarniasz Rusta to może na front zobacz to, ostatnio mi się obiło o oczy: https://dioxuslabs.com/


A co do backendu to jeżeli to ma być coś małego i z niewielkim ruchem to imo Node.js + jakiś fajny framework (typu Fastify, Nestjs albo Hono) będzie idealny i nie sądze żeby napisanie tego w Rustcie cokolwiek ułatwiło.

lokurva

> aplikacja łatwa do outsourceowania


> rust


wybierz jedno

666

Tauri??


Chopie, kto ci to utrzyma?.


Node.js na serverze, react/next.js na apce webowej ktora bedzie zoptymalizowana na telefony.


Wszedzie JS, technologie ktore zna wiele osob + dosyc latwy stack. Rust jest spoko, ale wez znajdz ogarnietych specjalistow od reki, a w razie jak aktualni programisci zrobia "pa, pa" to szybko ich podmien.


Chociaz przy reactie sie nie upieram bo ostanie zmiany ida w zlym kierunku. Powoli mysle czym zastapic react.

Zaloguj się aby komentować

1073741824 B, to 1 GB.
Ale co mają sekundy do bajtów?

1073741824 sekund to 298261 godzin 37 minut i 4 sekundy.

29826104 - taka liczba, jest widoczna w odtwarzaczu Picture in Picture w Firefox, na streamie.

Skąd taka liczba w streamie, filmie, który teoretycznie nie ma określonego czasu trwania?

Tak nie jest na każdym streamie, ale gdy jest, to z taką liczbą.
To jest z kick.com na Firefox, Chrome w ogóle nie wyświetla czasu w Picture in Picture.
Twitch i YouTube tak nie ma.

PS To jest jednocześnie ponad 34 lata streama.
#kick #twitch #youtube #live #stream #firefox #programowanie #frontend #webdev #przegladarki #internet
56823841-8303-4037-9d83-0ff4cceebc8f
5tgbnhy6

jeden gigabajt to rowny miliard bajtow, masz na mysli gibibajta

Zaloguj się aby komentować

Właśnie wróciłam, nie wiem na jak długo, ale mam fajną stronę która wskaże Wam gdzie macie na ekranie myszkę działa też na waszych smartfonach Polecam fajna zabawa

https://pointerpointer.com

#topgar #fotografia #programowanie
electric_miss

Nie ma cycków nie ma ️ A człowiek się tak stara

Cybulion

Bylo 3 dni temu. I 10 lat temu xD

Zaloguj się aby komentować

Szalom. Przyszli kable, kontynuujemy amatorski projekt robota. Zapraszam o 21:00 na strima, w planie:

- podłączym silnik,
- napiszemy prosty serwer i połączymy się po WIFI (UDP) z #arduino i spróbujemy sterować jego obrotami z kompa

Tag do śledzenia: #programujzpasterzem. Zachęcam do supukcji kanału.

#programowanie #programista15k #naukaprogramowania

https://www.youtube.com/watch?v=11laz_yXJog
Half_NEET_Half_Amazing

o jak fajnie

chętnie skorzystam

póki co napisałem program do migania dioda i ruszania serwem XD

Zaloguj się aby komentować

Czy ktoś pracował lub pracuje w #delloite #programowanie ?
Jak wygląda tam praca i na ja jakie zarobki można liczyć?
Jak wygląda tam kultura pracy?
#programista15k #big4 #praca #pracait

Zaloguj się aby komentować

Szukam spoko i taniego hostingu dla prostej strony na WordPressie. Nawet pojemność do 2GB styknie. Fajnie, jakby pomogli z migrają ze starego serwera i mieli jakieś bezpłatne SSL typu Let's Crypt.

Jakieś polecajki?

Szukam, bo mój obecny atthost.pl zmienił plany i za odnowienie najbardziej podstawowego planu chcą... 738 ZŁ BRUTTO XDDDDDDD

#hosting #domeny #programowanie
Kocurowy

A ja Ci polecam seohost.pl. 2gb kosztuje kilka zł miesięcznie, masz pełne wsparcie techniczne i Lets encrypt, cpanel, i instalatory wp itd.

grubynaszosie

@Bojowy_Agrest ostatnio przeniosłem firmę na dhosting - całkiem spoko działa

Zaloguj się aby komentować

#programowanie
Od jakiego stanowiska można zająć karierę w #datascience ?
Mam licencjat z matematyki (a raczej we wrześniu powinienem mieć, bo wtedy sie bronie), a do tego póki co 1.5 roku komercyjnego expa w korpo, ale jako zwykły dev w data governence, to nie wiem czy ktoś na to spojrzy.

Na data scientista każdy wymaga kilku lat expa z AI, czy z samą analizą
#pracbaza
slawek-borowy

ja bym wbijał do firmy, która zajmuje się interesującym Cię tematem, na dowolne stanowisko specjalistyczne i wtedy dużo łatwiej będąc na pokładzie pogadać z ludźmi od tego, douczyć się na praktycznym przykładzie, etc.

Parę razy widziałem ten scenariusz na żywo i za każdym razem działał tak samo - ktoś chciał robić coś innego więc łaził do ludzi którzy to robią i im truł, potem dostawał jakieś projekty, albo sam sobie wymyślał i dalej truł, a potem już coś umiał i zaczynał stawiać warunki (niekiedy już innym firmom


Druga rzecz, że oczekiwanie kilku lat doświadczenia z AI to raczej pobożne życzenie, takie oferty w zasadzie same się filtrują.

wombatDaiquiri

@redve fake it till you make it, pozdrawiam

GrindFaterAnona

@redve śledząc twoje wpisy obstawiam, ze przejdziesz dowolną rekrutację na mid DS, a moze i senior. zapoznaj się z procesem pracy DS (EDA, feature engeneering, modelowanie, deployement) i próbuj. akurat w czwartek rekrutuję na seniora to mogę ci podpowiedziec na co zwracamy uwagę

Zaloguj się aby komentować

Bedzie amatorski projekt na kanale jak nie strace zapału. Wbijajcie na strima bożego o 20:15, odpalimy te maszynje.

Tag do śledzenia: #programujzpasterzem

#programista15k  #programowanie  #elektronika  #naukaprogramowania

https://www.youtube.com/watch?v=W3_SalHGniU
groman43

@Sheppard30 Szczerze, nagrywanie filmów w stylu "co to jest Arduino" jest bez sensu. Takich materiałów jest mnóstwo, bardzo trudno się wyróżnić, bo wszystko chyba zostało powiedziane milion razy. Szczególnie, że nie można za wiele powiedzieć o Arduino, bo jest proste jak budowa cepa.

Zaloguj się aby komentować

Widać że to bingo robił ktoś kto siedzi w branży bo zebrał wszystkie przywary ludzi z IT. Niesamowite ileż tu jest smaczków. Sam znam jednego programistę co ma aż 7 pewnych pozycji i możliwe że jeszcze 3 kolejne ale nie jestem pewny.

A wy ile macie? Pochwalcie się w komentarzach.

#programowanie #programista15k #pracait #korposwiat #bekazprzegrywow
1de8ba63-624c-4e85-b345-eb9dd1a76b11
michal-g-1

Mi wyszło 13 a nie jestem z IT

Felonious_Gru

@NaczelnyRusofob będzie z 9, a nawet nie róbcie w it

kaszalot

Jestem programistą i wyszło mi jedno, w swoim środowisku mam ludzi którym może wyszłoby max 3 rzeczy z tego zestawu. Ktoś kto to robił ma raczej spaczone pojęcie o IT

Zaloguj się aby komentować

Od dobrych kilku lat miałem sobie domenkę oraz skrzynkę pocztową na nazwa.pl. Akurat kończył mi się okres abonamentowy, a ponieważ nie byłem zadowolony z polityki cenowej tej firmy zdecydowałem się na migrację.

  1. Aby wydobyć od nazwa.pl kod AuthInfo, trzeba im wysłać wniosek *tradycyjną pocztą* xD. Trochę średniowiecze. No ale obudziłem się wystarczająco wcześnie, żeby to ogarnąć.
  2. Kilka dni po wygenerowaniu wniosku, otrzymałem telefon od nazwy. Pani uprzejmie się zapytała, dlaczego chcę od nich odejść, a kiedy dowiedziała się, że chodzi o ceny, zaproponowała 10% rabatu na domenę xD. Po mojej odpowiedzi, że konkurencja jest 10 raz tańsza, zaproponowała 20% rabatu. Stwierdziła również, że więcej nie może zaproponować. Uprzejmie podziękowałem.
  3. Po tygodniu otrzymałem kolejny telefon - tym razem 30% rabatu na domenę, plus możliwość negocjacji rabatu na skrzynkę mailową. Dodatkowo, uprzejma pani zapewniała mnie jacy to oni nie są bezpieczni i że nigdy nie włączają usług bez zgody klienta (tja, wrócimy do tego). Oczywiście podziękowałem.
  4. No ale to nie koniec. Tego samego dnia zadzwoniła do mnie kolejna pani (czy to już jest mobbing?). Nie podjąłem nawet rozmowy. Grzecznie podziękowałem i się rozłączyłem.
  5. Surprise, surprise - w swojej skrzynce pocztowej znalazłem upragniony kod authinfo. Szybka migracja i jestem wolny. Prawie, ponieważ nazwa.pl po migracji dodała mi nową usługę do opłacenia (a podobno niczego bez zgody klienta nie włączają) - Anycast DNS z DNSSEC. Usługę oczywiście anulowałem.

Koszty domeny nowego operatora - £15.11 rocznie, plus skrzynka - £5 jednorazowo, wysłanie wniosku o kod Authinfo - niecałe £9. Dzisiaj dostałem proformę od nazwa.pl na kolejny okres abonamentowy (6 miesięcy) za samą skrzynkę - 615 zł. Także ten.

Trochę #niewiemjaktootagowac, dlatego standardowe tagi, mimo że nie jest to #programowanie #programista15k #pracait #hosting
Bojowy_Agrest

Z ciekawości: znacie tańszego (i zarazem spoko) dostawcę domen niż OVH?

ten_kapuczino

@Bojowy_Agrest masternet mam od kilku lat nie walą w ch, a wszystko dziala

prepetum_mobile

nazwa.pl i home.pl to największe raczydło wśród dostawców domen i hostingów.

Jedyne do czego się to nadawało, to rejestrowanie różnych testowych domen na rok

Zaloguj się aby komentować

Misie z tagu #programowanie mam wkrótce rozmowę na Junior Java, w opór mi zależy na tym żeby to stanowisko dostać, sam fakt że zaprosili na rozmowę już znaczy dużo, ale to dopiero jeden krok

Jeśli ktoś ma jakieś uwagi, rady, propozycje, cokolwiek co mi może pomóc, co sobie przypomnieć prócz wszystkiego to zapraszam w komentarz lub na priv

Pozdrawiam
monke

@konrad1 poza tym co wyżej to mogą pytać również o gita (np. co zrobisz jeśli chcesz poprawić istniejący commit?).


Nie jestem Java developerem ale kiedyś na jednej rekrutacji na pieniężne stanowisko chcieli ode mnie by wyjaśnić jakiś fragment kodu w Javie typu masz dwie zmienne, tu są jakieś operacje na nich i co zostanie wyprintowane po tych operacjach (czyli np. czy możesz dodać String do Stringa, zamiana Stringa na Int itp)

dotevo

dobre. Kiedyś gdy prowadziłem rozmowy to zawsze pytałem o GIT. Ludzie mówią, że znają go super, a potem do repo trafia syf w stylu "commit A", "shit b". Bo git commit, pull, push to raczej wiedza podstawowa, a znajomiść gita to też submodule, subtree, workspace, reflog i wiele innych. Już nie mówiąc o poprawnym tytule i opisie zmiany.

Orzech

@konrad1 Jak chcesz to Ci zrobię mock interview

monke

@Orzech o takich hejtowiczów nic nie robię (⁠◍⁠•⁠ᴗ⁠•⁠◍⁠)⁠❤

konrad1

@Orzech napisalem priv

konrad1

@GitHub @zboinek @koszotorobur @jiim @monke @dotevo Blisko, jak podpisze umowę można pić kompot piwko herbate co kto tam woli

Zaloguj się aby komentować

Krótkie podsumowanie akcji z #crowdstrike z zeszłego tygodnia na podstawie wiarygodnych informacji znalezionych w internetach

  1. Crowdstrike to firma amerykańska firma zajmująca się cyberbezpieczeństwem. Celują w rynek enterprise. Dostarczają własne sterowniki, które są wykonywane w Windows kernel mode.
  2. Poza sterownikiem, częścią ich delivery są różne definicje wirusów, malware i cholera wie czego.
  3. Problem spowodowała właśnie aktualizacja tych definicji, nie samego drivera. Otóż okazało się, że driver jest dość głupi i po prostu skanuje wybraną lokalizację w poszukiwaniu definicji. Jeśli znajdzie odpowiednie pliki, to próbuje je załadować. Nie jest jasne, jakie checki wykonuje przed załadowaniem, ale nie spodziewam się tutaj szału.
  4. Plik z nowo dodaną definicją okazał się pusty, zawierał same zera. Nie zatrzymało to jednak drivera, który na jego podstawie najprawdopodobniej próbował wyliczyć jakiś adres. Oczywiście, nie miał szans zrobić tego poprawnie, dlatego ten adres był bezpośrednio z pupy - wartość, którą widziałem w jednym tłicie to 0xc9. A po wyliczeniu tego adresu, driver próbował się dobrać do pamięci pod nim. Nie mogło to się skończyć dobrze.
Side note - skoro adres nie był NULLem, czy innym None, Rustowe unwrap chyba raczej tutaj by nie pomogło (ale się nie znam, więc mogę się mylić).
  1. Około 8500000 maszyn na całym świecie zostało dotkniętych tym problemem. Naprawa nie jest skomplikowana, ale wymaga *fizycznego* dostępu do każdej maszyny ( ͡º͜ʖ͡º)

Moje komentarze
- Wczytywanie plików na YOLO, bez odpowiedniej weryfikacji w kernel mode to nie tylko potężna luka bezpieczeństwa, ale objaw nieskończonej głupoty. Sam driver podobno był certyfikowany przez Microsoft, ale nie wiem na czym dokładnie taka certyfikacja polega i czy sprawdzali kod.
- Crowdstrike najprawdopodobniej zdecydował się zaimplementować mechanizm wczytywania różnych definicji z zewnętrznych plików, żeby ominąć konieczność certyfikacji drivera po każdym update. Taka przyjemność pewnie zajmuje trochę czasu i do najtańszych nie należy.
- Windows teoretycznie posiada mechanizm wywalania spartaczonych driverów. No ale posiada też coś takiego jak "boot install drivers" - drivery, które koniecznie muszą być załadowane, żeby system wstał. Oczywiście, Crowdstrike w swej mądrości oznaczył swój driver jako "boot install" xDDD
- Jedynym sensownym mechanizmem obrony przed takimi akcjami jest podział na dwie partycję - instalujemy update na partycji A i próbujemy się z niej zbootwać. Jeśli to się nie uda, bootujemy się z partycji B, która nie zawiera update.
- Podobno Microsoft zamiast dawać możliwość uruchamiania kodu 3rdparties w kernel mode, chciał udostępnić API związane z cyberbezpieczeństwem. Ale UE się wtrąciła, twierdząć że byłaby to praktyka monopolistyczna. Także xD

Moje pytania
- Dlaczego Crowdstrike wypuścił pusty plik?
- Dlaczego nie dodali żadnych sanity checków podczas ładowania plików, a potem Microsoft to przyklepał?
- Czy ten driver został poprawiony? Czy wrzucenie pustego pliku w odpowiednie miejsce na dysku nadal wywali cały system?

#programowanie #programista15k #pracait
pushack

@groman43 ja się pytam jak to przeszło testy??

Dzemik_Skrytozerca

@pushack


Nie przeszło, albo plik został uszkodzony w drodze do odbiorcy.


Mnie też wkurza to, że puszczali to na produkcję bez testow.

groman43

@pushack To pytanie zadaje sobie mniej wiecej teraz połowa świata xD

wombatDaiquiri

@groman43 ehh biedny stażysta, chłop pewnie ze stresu spać nie może od tygodnia xD

lurker_z_internetu

@wombatDaiquiri wyobraź sobie, że odjebaleś tak bardzo, że prezydent USA dzwoni w tej sprawie do Twojego szefa, a połowa rządów na świecie zwołuje spotkania kryzysowe.

wombatDaiquiri

@lurker_z_internetu jeśli miałeś możliwość tak zjebać to było zjebane już wcześniej, tylko do tej pory mieli więcej farta

enkamayo

Współczuję temu, kto wcisnął enter i obserwował jak "caly świat" się nagle psuje.

Zaloguj się aby komentować