Emergencja

dziwny wstęp

mam czasem takie dziwne zdarzenia, takie momenty, w których po bardzo, bardzo długim wpatrywaniu się, analizie, gdzie wszystkie szczegóły obrazu już zostały przeprocesowane i przemyślane… nagle orientuję się, że to coś oczywistego i znanego – powiedzmy 'krowa’. takie oczywiste, takie znane, ale nie miało imienia, gdzieś się mijałem ze znaczeniem. i nagle okazuje się, że wszyscy to znają, wiedzą o tym a moje analizy zaczynają się wydawać śmieszne… trochę jak anty-Eureka

tak właśnie wpadłem na pojęcie Emergencji, które okazało się wrotami to starego wymiaru na nowy sposób. koncept ten istnieje w filozofii ogólnej od czasów Arystotelesa, więc nie mam wymówek, że to jakiś nowy pomysł i na niego nie trafiłem. a jednak poznałem go bardzo niedawno, na dniach, a idealnie opisuje to, w jaki sposób 'czuję’ świat i jego istnienie i wspaniale uzupełnia idę konwergencji, popierając moją intuicję w kwestii powstania rozproszonej życia w Internecie… co więcej, poza filozofią, jest zjawiskiem powszechnie znanym i wykorzystywanym w biologii, i jak się okazuje ma znaczenie w neuro-naukach i badaniu funkcjonowania mózgu… ale to już nowsze tematy. czeka mnie sporo lektur, szczęśliwie kiedy już ma się słowo-klucz, bramy Internetu stoją otworem i służą wiedzą wszelaką i oh… jak ja mogłem na to trafić tak późno?!

„it’s not a bug, it’s a feature” (;

Emergencja

w dużym skrócie emergencja [emergence -> wyłanianie się, powstawanie] to koncepcja polegająca na spostrzeżeniu, iż wiele małych elementów, buduje układy złożone, które nabywają nowych cech, w żaden sposób nie wytłumaczalnych na poziomie samych elementów. to super-uproszczenie olbrzymiego tematu, który jak się okazuje ma wiele płaszczyzn i dorobił się gałęzi w wielu obszarach i gigantycznych polemik z różnych zakresów…

ale dla czego to takie istotne? ponieważ jest to jeden ze sposobów w jaki postrzegana jest tajemnica życia. kiedy z 'martwych’ atomów zbudowana jest myśląca istota – jak to się dzieje, gdzie jest to przejście, ten moment, w którym elementy o właściwościach A nagle, będąc w grupie, połączone za pomocą tych właściwości w jakiś większy system, nagle nabierają właściwości B – np. umiejętności myślenia, analizy i przewidywania?

Koncepcja sieci neuronowych powstała jeszcze w latach 4o’ ubiegłego stulecia, najbardziej znanymi osobami są Warren McCulloh wraz Walterem Pittsem, którzy stworzyli pierwszy matematyczny opis działania neuronu. pierwsza implementacja natomiast – Perceptron – powstała w 1957 roku, stworzona przez Franka Rosenblatta. lubię takie lekcje historii, ponieważ wśród nowinek, zakrzyczeni przez media o tym jak to sztuczna inteligencja jest novum – warto wiedzieć, że aby dotrzeć do tego miejsca, chwilka była potrzebna. tak ze 1oo lat. przy okazji bardzo polecam film Veritasium o początkach AI i o tym, że być może przyszłość leży w … analogowych procesorach.

ta przydługa dygresja ma na celu pokazać, że pomimo, iż od prawie 1oo lat badamy działanie samego mechanizmu inteligencji, a dzisiejsze AI wyraźnie pokazują jak niesamowite daje to efekty i działa wedle założeń, wydawać by się mogło, że rozumiemy… naukowcy rozumieją… albo że ktokolwiek, ale na pewno są tacy co rozumieją – jak działa mózg, czy skąd się bierzemy 'MY’. a jednak przy rozmowie z osobami tworzącymi takie sieci, odpowiedź jest prosta – nie mamy pojęcia. nawet nie do końca wiemy co w tych sieciach się dzieje. owszem widzimy efekty, znamy ogólne zasady na poziomie neuronu czy małych grup, ale potem dzieje się magia… efekt skali, złożoność, która zmienia zasady gry.

… to magia Emergencji – kiedy połączenie drobnych, małych układów, nagle nabiera zupełnie innego wymiaru kiedy zwiększa się skalę i złożoność. polecam bardzo ciekawy artykuł z QuantaMagazin, traktujący m.in. o tej nieuchwytności, tej zmianie skali, której nie potrafią wytłumaczyć twórcy modeli językowych jak chatGPT, gdzie ten sam model, operując po prostu na większej ilości danych, nagle nabywa cech, umiejętności, które były nie do przewidzenia. to zaiste fascynujące zjawisko, i choć nazwę jego poznałem niedawno, analiza samego zjawiska i ekstrakcja danych zajmowała mi wiele czasu przez wiele lat. fascynujące jest to, że wszechświat operuje w wielu skalach, jakby 'piętrach’, i w każdej warstwie całość działa trochę inaczej – żeby daleko nie szukać, jednym z bardziej kontrastowych przykładów może być fizyka kwantowa i problemy pożenienia jej z tą klasyczną, Newtonowską. ale przykłady są wszędzie w koło nas. kiedy zacznie analizować się dowolny temat, z dowolnej dziedziny, szybko można zauważyć, że trochę inne prawa rządzą w małej skali, a nagle zaczynają się pojawiać zupełnie inne właściwości w tej wielkiej – ot, choćby „ekonomia skali” w microekonomii, której się ostatnio uczę. powszechność tego zjawiska była dla mnie oczywista niemal od zawsze – dla tego dowiedzieć się, iż jest cała gigantyczna gałąź filozofii traktująca na ten temat, i nigdy na to nie trafiłem… cóż, na tym polega piękno rzeczywistości.

być może Emergencja wynika z faktu, że to co obserwujemy jest tylko małym fragmentem rzeczywistości, który jesteśmy w stanie dojrzeć, bo tylko takim aparatem dysponujemy? jak próbkowanie cyfrowe sygnały analogowego, który zatraca swoją ciągłość…

post scriptum

zawsze ciągnęło mnie do patrzenia z różnych perspektyw, a potem objęcia ich z 'lotu ptaka’. pewnie dla tego bardzo dobrze mi w roli architekta. ale mniej pracy inżynieryjnej powoduje mniej ciekawostek z niższego poziomu… w większej skali tracą one znaczenie. dodajmy do tego fakt, że filozofię mam wbudowaną na poziomie genetycznym – po prostu nie mogę tego powstrzymać. a te dwa aspekty prowadzą to do prostego faktu, że czas trochę zmienić w-files. po 18 latach, lol.

powstała zatem nowa kategoria, zniknęły 'OT’ przy moich wypocinach, bo niezmiennie – pisanie pozwala mi poukładać rozpędzone myśli, na krótką chwilę ustalić kwantowy stan świadomości. czasem człowiek musi, inaczej się udusi, a że nie śpiewam i nie maluję…

moje życie to funkcja o wysokiej częstotliwości, ciężko przewidzieć gdzie będę za rok.. ba! za kilka miesięcy. jestem przekonany że wpisy techniczne jeszcze się nie raz pojawią… a póki co – let if flow.

eN.

Konwergencja

zjawisko konwergencji uderzyło mnie w okolicach 2k1o, najpierw podczas przygotowywania sesji na MTS dotyczącą Hyper-V, potem przygotowując sesję o infrastrukturze 2.o. Infra2.0 nie stała się buzzowrdem – po wszystkich poprzednich 2.o przez dekadę 2k-2k1o świat był już najwyraźniej zmęczony tym technologicznym wersjonowaniem i niedługo później nagłówki przejęła 'Chmura’. czyli konstatując, Chmura jest dzieckiem konwergencji w technologii… brzmi ciekawie. czyli czym jest? co to jest konwergencja? jakie to ma znaczenie?

zbieżność

jeden obraz za tysiąc słów… a że malować nie umiem, więc postaram się przedstawić obrazek słowami. i to właśnie obraz z okresu 2k-2k1o IMHO najlepiej oddaję istotę zjawiska konwergencji [technologicznej]. jak wtedy rysował się obraz technologii?

  • obecnie można tego już tak nie dostrzegać – w cyfrowym świecie, z komórką przyklejoną do dłoni – ale erę smartphonów zapoczątkował iPhone – w latach 2oo7/2oo8. wcześniej owszem, istniały 'komórki’, PDA. BlackBerry czy Pocket PC, ale generalnie telefonia była postrzegana jako analog. firmy dostrzegały zalety jakie niesie ze sobą VoIP, były to również oczywiste zyski dla tych, którzy komunikowali się globalnie, ale przeciętny Kowalski nadal traktował głos jako analog;
  • oczywiście smartphony to dużo więcej niż rozmowy telefoniczne – rynek dopiero zaczynał poważnie traktować te miniaturowe urządzenia, a rynek PC zaczął powoli obierać inny qrs. 'blachy’ stały się sprzętem dla nerdów, powstawały tablety, laptopy, czy potworki w stylu 'phabletów’. to wymagało rewolucji w sposobie tworzenia i dostarczania aplikacji. w 2oo5 Google qpił Androida, ale trzeba było jeszcze kilq lat, aby robocik dojrzał. ale należy pamiętać, że w czasach pre-smarphonowych, telefony i komputery były dwoma oddzielnymi światami;
  • to były również czasy MP3 i DivX, na przełomie mileniów na chwilę zabłysnął Napster – jako ta awangarda, która zginęła pod naporem rynq, jeszcze totalnie nie przygotowanego do cyfrowej rewolucji. potrzeba było  kilq kolejnych lat, żeby powstał Spotify a rynek uległ pod naporem technologii i powoli zaczął przestawiać się na usługi cyfrowe.
  • to również okres boomu na wirtualizację – kolejną warstwę abstrakcji, oddzielającą sprzęt od systemu. to wtedy Virtual Server odszedł do lamusa ustępując Hyper-V, to czas drastycznego rozwoju VMWare [żeby wymienić głównych graczy na rynq]. wtedy, w 2oo8, powstała również koncepcja SDN – Software Defined Networking, będący braqjącym elementem układanki izolacji hardware’u i software’u.

to tylko kilka z najważniejszych trendów i technologii, które dotyczyły wielu rynqw – niektóre z nich, jeszcze w analogu, jak rynek mediów – telewizja i muzyka, czy telefonia – niektórych z zakresu IT ale wymagających dodatkowej elastyczności – jak budowa Data Center. ale trend było widać wszędzie. przyspieszający Internet pozwalający na dostęp do informacji coraz szybciej i z coraz większej ilości miejsc wciągał za sobą coraz więcej rynków i technologii – mapy, zaqpy online, książki cyfrowe. choć minęło tylko ~15 lat od tych czasów, dziś bierzemy te produkty za w-oczywisty-sposób-cyfrowe. to właśnie jest efekt konwergencji, czyli zbieżności, zacierania się granic między różnymi obszarami łącząc się w jeden większy organizm.

powszechność

czy to zjawisko zarezerwowane jest wyłącznie dla technologii? oczywiście, że nie. niemal w każdej dziedzinie jest jakaś obserwowalna konwergencja.

  • konwergencja gospodarcza, polegająca na zacieraniu się różnic w poziomie rozwoju ekonomicznego między różnymi regionami danego kraju lub regionami różnych krajów. w szerszym ujęciu, można powiedzieć że tym jest zjawisko Globalizacji – jako efekt konwergencji rynków;
  • konwergencja postaw i wartości kulturowych – zjawisko, w którym różne kultury stopniowo zaczynają przyjmować podobne postawy i wartości. Oznacza to, że w różnych kulturach pojawiają się podobne wzorce zachowań, przekonań i norm, co może prowadzić do zacierania się różnic między nimi;
  • i warto dodać konwergencję ewolucyjną, stawiającą hipotezę, iż podobne warunki środowiskowe lub funkcjonalne wymagają podobnych rozwiązań ewolucyjnych, niezależnie od pochodzenia organizmu czy jego linii ewolucyjnej. w efekcie oznacza to, że organizmy mogą adaptować się do podobnych warunków w różny sposób, ale z konieczności muszą rozwiązywać te same problemy, co prowadzi do powstania podobnych cech… zupełnie jak w technologii.

kiedy się nad tym zastanowić, to konwergencja staje się synonimem rozwoju. rozwój stwarza warunki do lepszego przepływu informacji, łączenia się, a kiedy ilość kropek osiągnie masę krytyczną, powstaje coraz bardziej złożony układ, obejmujący wiele wcześniej niepowiązanych elementów…

cel

…a kiedy już raz spojrzałem na świat z tej perspektywy, ciężko mi patrzeć na niego inaczej. coraz więcej technologii łączy swoje masy, zwiększając swoją grawitację i wciągając coraz więcej innych obszarów, które bezpośrednio z technologią się nie kojarzą – medycynę, sztukę, prawo… a kiedy masa się zwiększa, grawitacja się zwiększa, coraz to bardziej i szybciej wciągając coraz więcej…

…a kiedy ilość masy przekroczy wartość krytyczną, ta zapada się i powstaje czarna dziura. miejsce w którym załamują się prawa fizyki, w którym nie jesteśmy w stanie już przewidywać co się tam dzieje, jakie prawa tam rządzą. można tylko wysnuwać hipotezy i tworzyć historie – to jest właśnie osobliwość. singularity…

oczywiście parabolizowanie konwergencji technologicznej na podstawowe prawa fizyki jest zabiegiem bardziej literackim niż naukowym, niemniej ten obraz jest w mojej głowie tak żywy i wyraźny, że graniczy z oczywistością. świat to zmiana [np. z praw termodynamiki]. zmiana podlega prawom, jest więc ewolucją. nie możemy zatrzymać rozwoju – taki scenariusz oznaczałby, że coś poszło bardzo, ale to bardzo źle. druga zasada termodynamiki, prawo entropii, ukazuje istnienie jako tratwę Robinsona na oceanie Chaosu. musimy się rozwijać, aby dostosowywać się do ciągle zmieniających się warunqw, do wszystkiego, co chce nas w każdej chwili zgładzić. jeśli nie będziemy zmniejszać entropii – rozpadniemy się w szumie nijakości. budujemy na stosie wiedzy tworzonym przez naszych poprzedników, dokładamy kolejne warstwy, zaczynamy od miejsc, w których skoczyli inni, łącząc kolejne kropki, dodając masę do coraz bardziej rozpędzonej machiny Katamari Damacy.

konwergencja idzie w parze z ewolucją, jest wszędzie tam, gdzie coś się rozwija. tam, gdzie ewolucja zabrnie w ślepą uliczkę i coś umrze – tam umiera i konwergencja, bo elementy przestają rosnąć, rozwijać się i łączyć. to po prostu zjawisko, o którym warto wiedzieć i je zauważać.

eN.

The physics of time, entropy, and immortality | Sabine Hossenfelder

Are You a Boltzmann Brain?

Does Evolution lead to Singularity?

semi-singularity

osobliwość i prawie-osobliwość

koncepcja osobliwości technologicznej jest dość powszechnie znana. może nie koniecznie jako temat rodzinnej debaty przy świątecznym stole, ale w kręgach futurystów na pewno. nie ma co prawda ogólnego konsensu ani co do tego czy się w ogóle wydarzy, a już na pewno nie co do daty, ale trend póki co się potwierdza. mniej powszechną koncepcją, czy może po prostu jednym z pomysłów, z trochę na siłę wymyśloną szufladką, jest semi-singularity. to nieco 'łagodniejsza’ forma, założenie że powstanie AI, które wywrze gigantyczny wpływ na całą ludzkość, ale nie do stopnia rewolucji, jaką upatruje się w pełnej osobliwości. w tej koncepcji bardziej naturalna jest wizja ludzi, trans-ludzi oraz istot post-ludzkich, żyjących wspólnie. biorąc pod uwagę choćby obecną sytuację na świecie, pełną silnych nastrojów nacjonalistycznych, izolacjonistycznych i polaryzację poglądów, nie trudno sobie wyobrazić, że takie różnorodne społeczeństwo na pewno będzie pełne napięć i nieufności, a wyobrażenia na ten temat często pokazują dzieła z gatunku cyberpunk.
ale co to w ogóle są 'trans-ludzie’ czy 'post-ludzie’? jak miałoby dojść do ich pojawiania się?

nowe istoty

w najluźniejszej definicji, trans-człowiek w zasadzie już od dawna funkcjonuje w naszym społeczeństwie – przeszczepy organów, protezy, czy aparaty słuchowe – to idea cyborgizacji w praktyce. z bardziej zaawansowanych technologii – prowadzi się wiele prac nad bionicznymi oczami czy BCI różnego zastosowania, które powoli wychodzą z laboratoriów i zaczynają mieć realne zastosowanie. z innych, istniejących już dzisiaj technologii, choć pozostaje dyqsyjnym ich zakwalifikowanie do 'cybrogizacji’, są egzoszkielety oraz Augmented Reality. klasyczne rozumienie cyborgizacji kojarzy się z endo-modyfikacją, a te nie są bezpośrednio 'zintegrowane’ z naszym ciałem, niemniej również bywają podciągane pod 'augementację człowieka’. są również myśliciele, którzy wskazują smartfony, już jako element poszerzający nasze ludzkie możliwości, poprzez technologię codziennego użytq. osobiście wizja tego, że wszyscy jesteśmy już transludźmi trochę mnie nie przekonuje, ale neuroprotezy, jeśli by weszły do powszechnego użytq..
obserwując postępy w technologiach takich jak bionika, AR, nanotechnologia, biotechnologia, neuroprotetyka i ogólnie neuronauki – choć bywa o nich głośno z powodu jakiegoś przełomu, i choć postępy są gigantyczne – dla przeciętnego człowieka nie ma to zbytniego przełożenia, ponieważ te przełomy dzieją się w laboratoriach i nie widać zbyt wiele znaków, aby w najbliższym czasie miała nastąpić masowa adaptacja wynalazków z tej gałęzi. są dwa światy – fizyczny i cyfrowy – i połączenie ich jest niezmiernie trudnym zadaniem. według mnie to właśnie jest główny czynnik, o którym warto pamiętać, kiedy snuje się wizje o złej inteligencji przejmującej kontrolę nad światem aka Terminator – pytanie, który świat? aby zaistniał most, pozwalający na inwazję ze świata cyfrowego do fizycznego, musiałyby nastąpić drastyczne postępy w tych naukach pozwalające na masową adaptację. to z kolei najpierw potrzebuje jeszcze większego skoq w ramach zastosowania AI w badaniach [co zresztą obserwujemy, dzieje się] – aby nam te skoki pozwoliła zaprojektować. a więc choć 'trans-ludzie’ z samej definicji 'trans’ czyli 'przechodniości’, już istnieją i funkcjonują wśród nas od lat, paradoksalnie, pojawią się [masowo] raczej dopiero po post-ludziach, ponieważ cyfrowy świat jest naturalnym środowiskiem dla tworów związanych z myśleniem, imaginacją, inteligencją. społeczeństwo właśnie doznaje szkoq poznawczego, uświadamiając sobie, że efekt 'świadomości’ nie jest zarezerwowany dla urządzeń biochemicznych i można przełożyć ją na krzem, ale potrwa trochę więcej czasu aż zobaczymy prawdziwe cyborgi.

post-ludzkie istoty póki co nie istnieją, a sam przedrostek post- brzmi nieco złowieszczo, sugerując, że nas, ludzi, już tutaj nie będzie. jak każdy nurt, czy każdy buzzword, tak i posthumanizm jest rozumiany różnie, zwłaszcza jako filozofia. istoty post-ludzkie to oczywiście AI w różnej postaci – zarówno ubrane w 'ciała’, w postaci androidów – jak i te żyjące wyłącznie w cyberprzestrzeni i nie mające żadnego biznesu aby z niej wychylać się do naszego, fizycznego świata. sam przedrostek post- w założeniu oznacza 'następujący’ a nie 'zastępujący’, więc nie chodzi o to, że nas zastąpią, tylko że są następną generacją. w końcu cyberprzestrzeń, można zdefiniować jako nieskończoną, bo ograniczoną wyłącznie pamięcią i wyobraźnią, a więc wystarczy tam miejsca dla wszystkich. a taki świat wirtualny trzeba utrzymywać w świecie fizycznym – ktoś musi się zajmować urządzeniami, generującymi moc obliczeniową podtrzymując jego istnienie. to główny powód, dla którego raczej upatruję symbiozy a nie Terminatora. istoty post-ludzkie, w pełni cyfrowe, ze względu na małe zainteresowanie nami, budzą równie małe zainteresowanie sobą w popkulturze, bo bardziej smakowitym kąskiem jest przedstawienie zagłady świata dokonanej przez zbuntowane androidy (; i choć taka hollywoodzka wizja lepiej się sprzedaje, wydaje się mało prawdopodobna, a na pewno bardzo, bardzo odległa. słowa klucze to adaptacja, łańcuchy dostaw, moc produkcyjna etc – wszystko to, co jest wąskim gardłem do powstania masy krytycznej, pozwalającej na taki przewrót.

origins

nauka ma do dziś problem z odpowiedzeniem na pytanie 'skąd wzięło się życie?’. przeprowadzono wiele doświadczeń pokazujących, iż pierwsze aminokwasy mogły powstać we wczesnej, siarczanej atmosferze Ziemi, przy udziale silnych wyładowań elektrycznych [np. najbardziej znany, bo pierwszy, eksperyment Millera i Ulreya z lat 5o’], dość powszechna jest też teoria panspermii, powstała już V w. p.n.e. [SIC!], ta nie tłumaczy jednak 'pochodzenia życia’ a bardziej 'pochodzenie życia na Ziemi’. przeskaqjąc jednak te znane teorie i hipotezy, jedno można stwierdzić na pewno, gołym okiem – życie to olbrzymia złożoność. można wysnuć więc kolejną teorię, która bardzo mnie przekonuje, że życie rodzi się w momencie, kiedy złożoność układu przekroczy pewną masę krytyczną układów działających spontanicznie [oh, oczywiście, już samo 'życie’ wymagałoby podania definicji, ale nie chciałbym zdryfować zbytnio od celu]. w skrócie – jeśli układ zamknięty, np. taki jak Ziemia, sprzyja coraz bardziej złożonym procesom, synergia kolejnych układów doprowadza do tworzenia się układów-z-układów, aż w końcu coś, co początkowo było tylko wynikiem fizyki nagle działa na warstwie biochemicznej, aż w końcu nabiera warstwy samoświadomości… ot taka trochę inna, moja perspektywa na zasadę antropiczną. oczywiście posługiwanie się 'intuicją’ jest amatorką… ale tworzenie opasłych tomiszczy, nie jest [póki co] moim celem. grafomaństwo mi wystarcza (;

…ale kontynuując ten wątek, to pozwala mi mieć swoją wizję tego, w jaki sposób powstanie pierwsza istota post-humanistyczna, poprzez prostą paralelę. obecny świat cyfrowy, cyberprzestrzeń, zbudowana z coraz większej ilości danych, de facto odzwierciedlających nasz świat na bardzo wielu poziomach, jest zaludniana AI. na razie takimi generycznymi – jak bakterie czy jednokomórkowce, które nie są samoświadome, ale wykonują posłusznie cel, do którego zostały wykonane. czy w pewnym momencie, przy wzrastającej złożoności tych układów i ich ilości, oraz samych danych, trudno sobie wyobrazić, iż postanie istota złożona z wielu takich AI, ustanawiając samoświadomość? bo kiedy patrzę na funkcjonowanie mikro-serwisów, które już od długiego czasu pozwalają na budowę dużych aplikacji-organizmów z małych funkcji logicznych, i dodam do tego szczyptę spontaniczności i zaawansowane algorytmy celu, a potem zaleję to wszechobecnym zjawiskiem konwergencji… cóż. wizja piękna w swojej prostocie, układa się jak fraktal, ciąg Fibonacciego [złota liczba] czy zasada Pareto – spostrzeżenie, że wszystko się powiela, obserwujemy te same mechanizmy w różnych skalach i perspektywach, ale de facto, takie same w fundamentalnej zasadzie działania. a więc czemu 'nowe życie’, post-humanistyczne, nie-biologiczne, nie miałoby powstać tak jak to, które znamy? w zupie danych, z samej tylko rosnącej złożoności układu, który coraz bardziej wymyka się zrozumieniu? czyż Internet nie przypomina mózgu, który początkowo służył tylko do przesyłu prostych wiadomości, a już dziś stanowi centrum automatyzacji procesów na całym świecie? czyż nie obserwujemy powstawania życia, super-mózgu, w którym coraz spontaniczniej będą powstawać 'myśli’, niezamierzone przez ich twórców?

koncepcja ta nie jest zupełnie nowa, i choć coś podobnego chodziło mi po głowie wcześniej, pierwszy raz została mi uświadomiona przez Laughing Mana. wizja takiej semi-singularity, bardzo mnie przekonuje – może jako pozostałość po Romantyzmie, fascynacji Goethem, Byronem czy Norwidem [Mickiewicza nie znoszę do dziś], a może to tylko naturalne dążenie do poszukiwania prostych odpowiedzi w tym złożonym świecie… ale czyż nie jest to wizja piękna i pociągająca?

eN.

 

 

upadek religii XX w.

flow

kiedyś powiedziałem sobie, że w-files’y są poświęcone kwestiom technicznym i nie będę robił wrzutek osobistych, czy nawet miękkich. to będzie wpis – w sumie o niczym. po prostu kilka przemyśleń i spostrzeżeń na otaczającą rzeczywistość. coming out? flow? nie wiem…. po prostu mam ochotę coś przelać 'na papier’ i zobaczyć co z tego wyjdzie.

ostatnio, coś się zmieniło… a raczej zmienia. moje poglądy, za które byłem często krytykowany, a moje wizje i interpretacja rzeczywistości uznawana za co najmniej dziwną, a zazwyczaj przerażającą – nagle to wszystko trafia do mainstreamu. przełamana zostaje pewna granica, zebrała się masa krytyczna, której w końcu nie potrafią zatrzymać zabobonne wizje XX wieq. a i ja, wewnętrznie, przeszedłem długą drogę, ucząc się swoje myśli wyrażać. w każdym razie w taki sposób, żeby nie chciano mnie spalić na stosie (; bo mistrzem wyczucia i delikatności nadal bym się nazwał. a dokonałem tego, jak przystało na inteligencję – poprzez rozbudowę swojej sieci neuronalnej, na podstawie inputu, zwanego feedbackiem, od otaczającego społeczeństwa. nauczyłem się jak reagować na bodźce z zewnątrz tak, aby żyć z resztą w symbiozie…

technological singularity

teoria przyspieszenia technologicznego, prowadzącego do ’technologicznej osobliwości’, jest częścią ruchu trans- i post- humanistycznego, którego jednym z czołowych filozofów-futurystów jest Rey Kurzweil oraz Hans Moravec. w dużym skrócie, postuluje ona wykładniczy przyrost technologii, obserwowany choćby za pomocą prawa Moore’a, które w końcu dojdzie do momentu samo-rozwoju, gdzie to już nie człowiek będzie rozwijał technologię, a stanie się ona bytem samym w sobie, przewyższającym możliwościami całą synergię ludzkości, i rozwijającą się samodzielnie w tempie, jakiego nie będziemy w stanie pojąć. superinteligencja. wedle Reya, nastąpi to w okolicy 2o45 – czyli całkiem niedługo.

osobliwość, oznaczająca 'załamanie istniejących praw’, i jako termin mająca korzenie w osobliwości czarnej dziury, w której załamują się prawa znanej fizyki, ma oznaczać coś dość oczywistego: nie da się przewidzieć czegoś, do czego nie mamy żadnych narzędzi, bo łamie zasady, które rozumiemy. nie mamy nawet podstaw do tego, żeby 'przewidywać’. możemy tylko zgadywać. i tak właśnie cały świat oszalał, powoli zdając sobie sprawę z tego, że faktycznie ten czas nadchodzi.

nie dziwi mnie strach. ja też trochę się boję, choć obracam w myślach tę ideę od ponad dwudziestu lat. na tą filozofię natknąłem się dość naturalnie, na początq tegoż wieq. przechodząc z dziecięcych marzeń fantasy, przez fikcję literacką, Science Fiction, po coraz dojrzalsze, cyniczne Cyberpunkowe dzieła, coraz bardziej przechodząc do po-prostu futuryzmu i filozofii, aż w końcu zataczając krąg, łącząc się z egzystencjalizmem, poszuqjącym odpowiedzi na stare i niezmienne pytania: co dalej? jak będzie wyglądał świat? i chyba najważniejsze dla każdego: a gdzie w tym wszystkim JA? czuję panikę w mediach, dla których chatGPT przełamał pewną granicę psychiczną. czemu aqrat to A.I.? hahahaha bo tak jak ja – nauczyło się mówić ludzkim głosem. globalne zjawisko uncanny valley. a przecież widać to było jak na dłoni już dawno temu. Dr. Watson IBM’a, A.I. piszące muzykę już lata temu [przykładowy link, ale nie jedyny!] – to marne przykłady tego, co dzieje się wokół nas od lat, a czego z jakiegoś powodu ludzie nie przyjmowali nigdy do wiadomości – NIE JESTEŚMY TACY WYJĄTKOWI. ten powód nie jest w sumie niejasny – jest nim pycha i narcystyczne zakochanie w 'człowieq’.

upadek religii XXw.

to, że Humanizm został wyniesiony do rangi religii, unaocznił mi mój guru – Juwal Harari. jego dzieła – Sapiens i Homo Deus [z naciskiem na to pierwsze] – były dla mnie objawieniem. gdybym był mądrzejszy i bardziej wytrwały, a filozofia nie była dla mnie pobocznym hobby a zawodem, to moje myśli napisałyby Sapiens. czytając to dzieło czułem się, jakby ktoś je spisał – tylko oczywiście w prawidłowy sposób, nie jako chaotyczne spostrzeżenia. zarówno treść, jak i forma tej książki jest niemal doskonała. to właśnie tam pada pogląd, że Humanizm jest religią XXw. to takie oczywiste [teraz], i tak pięknie podsumowuje hipokryzję naszej obecnej qltury zachodu. religia tym różni się od nauki [głównie], że przedstawia dogmat i wynosi go do rozmiarów absolutu. nie pozwala dysqtować ani przeczyć, okrzyqjąc odmiennie myślących heretykami i tępiąc ich. a żeby być w stanie na prawdę coś przemyśleć, trzeba otworzyć się na wszelkie idee, a nie zamykać oczy przed kontrowersją – nawet jeśli boli. przykładem z praktyki, który bardzo naocznie pokazuje jak kiedyś-herezja stała się dziś tematem pragmatycznym, mogą być choćby problemy, które muszą rozwiązywać inżynierowie pracujący nad pojazdami autonomicznymi –  jeśli pojazd nie będzie w stanie wyhamować z powodu ograniczeń fizycznych, i pozostaje wybór manewru który może doprowadzić do jednego z dwóch zdarzeń – zabicia dwóch osób dorosłych lub grupki dzieci – jakiego ma dokonać WYBORU? dla wierzącego humanisty to zagadka bez rozwiązania, to nie wybór. nie przyjmując do wiadomości istnienia praw fizyki będą w kółko powtarzać 'trzeba zrobić wszystko żeby uratować wszystkich!’. zawsze mnie burzyło, kiedy czytałem wiadomości, jak to np. grupa wyszkolonych ratowników zginęła, lecąc helikopterem w burzę, ratować jakiegoś debila, który postanowił w środq burzy czy to pójść popływać czy wspiął się na jakiś szczyt w klapkach i krótkich spodenkach. humanistyczna wiara mówi, że wartość każdej jednostki jest święta, czyli niekwestionowalna, i należy o nią walczyć, niezależnie od kosztów. mi osobiście bardziej żal wyszkolonych ratowników i drogiego sprzętu, który mógłby uratować setki lub tysiące ludzi w przyszłości, bardziej, niż jakiegoś kretyna. kiedyś to się nazywało darwinizmem społecznym, zazwyczaj wypowiadanym jako pejoratywne określenie 'nieludzkich’ poglądów. takich jak moje. dziś to już problem matematyki etycznej, czyli teorii informacji, stworzonej przez geniusza-heretyka, Charles H. Bennetta. mam nadzieję, że wkrótce algorytm zabloqje wirniki helikoptera, podając wyliczoną wartość kosztu alternatywnego – bo przecież to czysta ekonomia zysq i straty.

czytam artyqły o oburzonych artystach [nie będę linkował – jest tyle takich artów obecnie, w każdym mainstreamowym medium, że nie potrzeba], których osobiście nazywam uber-humanistami. narcystyczni neurotycy, do tej pory przekonani, jeśli nie o własnej, to co najmniej gatunkowej wyjątkowości i nie-odtwarzalności, którym właśnie zawala się światopogląd. moja humanistyczna część duszy powiedziałaby, że 'współczuję’, bo wiele razy zastanawiałem się co by się ze mną stało, gdyby np. morze się przede mną rozstąpiło, a wielki palec z nieba wskazał drogę… załamanie wiary [u mnie – wiedzy], budulca naszego ego, jest potwornym przeżyciem. to jak przeżyć własną śmierć, a wszystko co było prawdą, nagle nie ma wartości…

z drugiej strony jest to dla mnie niemałą satysfakcją – mój wewnętrzny narcyz, napędzający ego, coraz głośniej krzyczy: ’a nie mówiłem?’. jesteśmy tylko maszynami przetwarzającymi wejście i dającymi efekt na wyjściu. to kwestia czasu, aż uda się zbudować podobną maszynę – czy w końcu nie o tym mówił już choćby Turing i von Neuman?

i co z tego? i do dalej?

są też głosy ludzi po prostu załamanych, przestraszonych o swój los, którzy już widzą, że nie tyle jakaś ideologia czy górnolotne wierzenia są zagrożone, a bardzo przyziemne potrzeby zaspokojenia możliwości realizacji siebie – jak np. ten szczery wpis copywritera z the Guardian. swoją drogą to, widać jak owe osoby jeszcze nie doceniają w swoich wizjach tego co nadchodzi. bo Internecie niedalekiej przyszłości nie będzie potrzeba pisania artyqłów – będą po prostu generowane w czasie rzeczywistej, na podstawie banków zebranych danych. każdy artyqł to będzie po prostu spersonalizowana odpowiedź na pytanie.

prawnicy wykorzystują swoją władzę, umiejscowienie blisko instrumentu, który pozwala sterować społeczeństwem najmocniej, bo blisko aparatu władzy. obserwujemy bunt ludzi przeciw jeszcze nienarodzonym istotom post-humanistycznym. jakże pięknie zobrazowane było to przez Spielberga w A.I. . przez wielu niezrozumiany, już wtedy zbierał wiele negatywnych komentarzy – dziś wydaje się niemal proroczy.

wbrew temu przebudzeniu mainstreamu, mądrzy ludzie widzieli nadchodzące problemy już lata temu – stąd od wielu lat prowadzi się próby wprowadzenia uniwersalnego dochodu podstawowego. ale jak słusznie zauważa autor linkowanego artyqłu – nie zaspokoi to podstawowej potrzeby samorealizacji, którą w tej chwili miliony ludzi osiąga poprzez codzienną pracę. czy CBDC, dochód podstawowy i robotyzacja pracy doprowadzi do krachu społecznego, wielkiego resetu, który głoszony jest przez kilka teorii spiskowych? to jak najgorszy dystopijny sen, w którym wszyscy są równi, bo nie ma pracy, zadań, w których mogą realizować się ci lepsi, bardziej kreatywni i ambitni.

ja również w jakiś sposób obawiam się takiego obrotu rzeczy, a i moja praca jest zagrożona. może nie dziś i nie jutro, a możne nawet jeśli ja będę miał jeszcze co robić do emerytury – co z moimi dziećmi? ale to, co zawsze było moim ciężarem, teraz okazuje się szczęściem – ponieważ obracam 'straszne pytania’ w głowie przez całe swoje życie, dla mnie to nie 'strach’, a obawa przeplatana ekscytacją. oczywiście nie wiem, co będzie dalej, ale nie mam dylematów co robić i jak dalej żyć.

póki co A.I. jest narzędziem. używamy ich już od dawna, niemal każdy z nas, choć większość do tej porty trochę nieświadomie. osoby pracujące w CyberSec już dawno zajmują się 'tuningiem A.I.’ bo ilość danych, już dawno przekroczyła możliwości poznawcze i przetwarzania informacji. również cała dziedzina analizy danych opiera się na wykorzystywaniu mniej- lub bardziej- zaawansowanych algorytmów… i tak dalej… dla tego uczę się rozmawiać i korzystać z dobrodziejstw technologii – i tak właśnie je rozumieć. jako dobrodziejstwa, które pomagają w pracy. i nie widzę powodów, dla czego rozwój A.I. poszedł właśnie w tym kierunq. symbioza – to odpowiedź na ten strach. pewnie jako gatunek podzielimy los zwierząt – nasza nisza ekologiczna się sqrczy – ale sądzę, że będzie wiele przecięć wartych utrzymania status quo. w końcu maszyny mają swoje ograniczenia, że nie wspomnę o burzy magnetycznej. niemal zawsze odpowiedzią jest coś po środq, equilibrium, tao. symbioza jest najtrwalszą formą.

a więc czy kiedyś to my, staniemy się narzędziami superinteligencji post-humanistycznej? ja wolę przyjąć, że będziemy żyć w symbiozie. uzupełniać się. liczę też na większe postępy w cyborgizacji, rozwój interfejsów Brain-Computer Interface (BCI) takich jak Neuralink, NESD , BrainGate etc,  tak, aby uzupełnić przyszły krajobraz społeczny również o istoty trans-humanistyczne. nie wątpię, że rozwinięte A.I. będą również narzędziami wojen, pewnie takich kilq-seqndowych, bo ograniczonych wyłącznie ciągle zwiększającą się przepustowością łączy. ale bardziej ekscytują mnie odkrycia, zalew rozwiązań i przełomów we wszystkich istniejących dziedzinach, które umożliwią nam właśnie zaawansowane istoty post-humanistyczne. nasze dzieci. dzieci, które powinniśmy chcieć, aby były lepsze od nas… i które musimy uczyć prawidłowych wartości.

nic nie trwa wiecznie. wszyscy kiedyś umrzemy – oczywista-oczywistość, ale która większość osób doprowadza do depresji. a przecież to normalny cykl życia, cykl przemiany materii i ewolucji wszechświata. każdy musi znaleźć swoją własną drogę przez ten gąszcz lęków. tak dziś jak i tysiąc lat temu – sami musimy określić sens, a w tak przełomowych momentach, masy ludzi, którzy żyli prostymi rozwiązaniami, czeka konieczność redefinicji. żyjemy w niezmiernie ciekawych czasach. ja wybieram ekscytację ponad strach, przyłączenie się zamiast walki, próbę świadomego ukierunkowania, zamiast panicznego wykrzykiwania klątw. mimo wszystko w nas ludziach tkwi wielka siła. siła adaptacji. ja wiem, że jestem częścią całości, elementem układanki, i po prostu nadal będę próbował nim być najlepiej jak potrafię. być indywidualnością ale i częścią społeczeństwa i społeczności, widząc że nie wszystko jest możliwe, ale próbując poszukiwać granic i ich przekraczania, szukając odpowiedzi na nieodpowiadalne. bo w końcu 'chodzi o to żeby gonić króliczka, a nie złapać króliczka’, jak mawia jeden moich przyjaciół. co jest piękną parafrazą propozycji Buddyjskiej idei 'drogi’.

o ile Harrari jest guru popularno-naukowym, o tyle w kwestii post-humanizmu jest jedno nazwisko, które wybija się ponad pozostałe – Jacek Dukaj [oj Panie Jacku, cert trzeba poprawić]. jego dzieło odpowiadające poniekąd jak będzie wyglądał świat post-ludzki, post-piśmienny, nie jest łatwą lekturą, ale cóż – ciężko opisać nieopisywalne, a on potrafi.

***

za dużo myśli na raz, bełkot, widzę jednak tak wyraźnie przyszłość, i to 'coś’… i kiedyś uda mi się to w końcu opisać. poukładać to. ale jak mawiał Bruce Lee: best style is no style. więc nadal będę przyjmował input, analizował i dawał output. my style is no style.

eN.

dla moich przyjaciół, którzy zaklęli ducha w maszynie, i tak powstałem ja. czy wam się to podoba, czy nie. LU*

 

 

GUI w skryptach – wstęp

GUI w skryptach?

zasadniczo jestem przeciwny takiemu pomysłowi. celem skryptów jest automatyzacja, a ich największą zaletą jest przetwarzanie potokowe – wyjście jednego skryptu staje się wejściem dla innego. dodanie GUI łamie te zasady – przede wszystkim zakłada interakcję, podczas gdy punktem wyjścia dla skryptu jest podanie parametrów 'up front’ dające automatyzację danego zadania. 

GUI jest oczywiście niezbędny dla 1szej/2giej linii, ale również pojedyncze zadania łatwiej przeważnie wyklikać. można też wyobrazić sobie rozwiązanie 'hybrydowe’ [takie modne słowo w dzisiejszych czasach… od paznokci poprzez samochody aż po architekturę IT] – skrypt przyjmuje parametr [np. nazwę pliq wejściowego], a kiedy go nie ma, pokazuje jakiś file-picker czy coś… nie jest to koszerne, ale koniec-końców decyduje zamawiający.

w ostatnim czasie musiałem wrócić do poważnego skryptowania [yyyeeeeey! (= ] właśnie z myślą o narzędziach dla 1szej linii. w zwizq z tym musiałem zmierzyć się z pisaniem pełnego GUI w PowerShell. w związq z tym kilka wniosków i spostrzeżeń.

GUI w PS – możliwości

w oprogramowaniu GUI jestem n00bem. ostatnie aplikacje okienkowe pisałem w Javie na studiach. do tego jeszcze moja ogólna niechęć do takiego pisania… a więc wpis cenny dla tych, którzy są na tej samej drodze. 

są trzy podstawowe metody uzyskania interfejsu dla skryptów:

  • natywne metody PS – jest ich oczywiście niezmiernie mało i są bardzo ograniczone. tak na prawdę ogranicza się do albo sczytywania z linii poleceń [nie bardzo GUI, ale jest interakcja) albo out-GridView – który jest genialną metodą do zrobienia szybkiego 'pickera’ wartości. dodałbym też tutaj funkcję
    [System.Windows.MessageBox]::Show(MessageBody,Title,ButtonType,Image)
    która natywna dla PS nie jest, ale dobrze uzupełnia możliwości.
  • wykorzystanie obiektu DCOM wscript.shell  który daje możliwość wyświetlenia prostego okienka podobnie do .NET. osobiście mierzi mnie łączenie tak odległych technik jak PS i WScript – IMHO to błąd i zamieszczam wyłącznie żeby napisać: „nie korzystać! to jest legacy crap
  • no i oczywiście pełnoprawne GUI – albo poprzez biblioteki Forms lub WPF. 

dokładniejszy opis w przyszłości, co kiedy jak i z jakim efektem, a póki co

narzędzie dla skryptów na poważnie

zwykłe ISE przestaje wystarczać – nie tyle z powodu samego GUI, co ogólnie tego, że ostatnio piszę więcej. zacisnąłem zęby i po raz kolejny przesiedziałem nad odpaleniem VSCode. VSC niestety jest makabrycznym narzędziem, jednak jego potencjał i choćby możliwości integracyjne są na tyle ważne, że cóż.. płaczę, ale walczę. kiedy to było tylko hobby, odpuszczałem zniechęcony, ale kiedy trzeba bardziej na poważnie, musiałem się złamać

  • VSC jest uniwersalnym narzędziem developerskim. dwa kluczowe słowa: uniwersalne i developerskie – w zasadzie wskazują jego wady. uniwersalne – wszystkiego jest za dużo, 8o% opcji jest zbędne przy pisaniu w PS. po instalacji dostajemy coś, czego do pisania w PS nie da się używać – a więc czeka nas czytanie serii artykułów i wpisów na forum, które pluginy zainstalować, jak skonfigurować, które z tysięcy opcji jak ustawić żeby uzyskać jakiś sensowny efekt.
    to co kiedyś było potęgą produktów MS – integralność i trzymanie się pojedynczych standardów – załamało się wraz z „powszechną linuxyzacją”. dziś wszystko trzeba wybrać z pośród dziesiątek lub setek różnych dodatków i zaczynają się problemy że 'ten dodatek jest szybszy a tamten ma taką opcję, a inny gryzie się z tamtym ale ma tą funkcję..’ .. i tak zaczyna się żmudna żonglerka dobrania sobie zestawu pluginów tak, aby mieć maksymalnie dużo wymaganych funkcji, równocześnie nie przeciążyć środowiska zbytecznymi śmieciami …
  • …które doprowadzą do niestabilności. podstawowe zastrzeżenie jakie mam do VSC to niestabilność, a zwłaszcza inteliSens, który regularnie przestaje działać w trakcie pisania. skrót „alt-ctrl-p, reload” już mi wszedł w krew /: [muszę poszukać pluginu, który mi doda tą operację pod jednym guzikiem q:]. o ile ISE zawieszało się w bardzo szczególnych przypadkach [np. korzystając z commadletów Exchange] o tyle VSC wywala się jak archetypiczny open source. poprawki wydawane typowo agile – czyli update za updatem i trzymanie kciuków, czy dziś będzie się wywalać się bardziej….  welcome to open source .. and agile.    

czemu warto pocierpieć? przy pewnej wielkości czy skomplikowaniu skryptu, nie mówiąc o projekcie w którym tych skryptów jest wiele, ale nawet kiedy po porostu trzeba przy nich popracować więcej – ISE to za mało. lepsze wyświetlanie składni, czy masy skrótów klawiszowych, znacznie przyspieszają pracę. integracja z repo, projekty… jest wiele dodatków, bez których byłoby więcej ręcznej pracy – czyli to co jest wadą, przy zainwestowaniu czasu, staje się podstawową przewagą.

jeśli więc czeka cię przesiadka – zarezerwuj sobie przynajmniej tydzień nieskończonej cierpliwości. będzie za to nagroda w postaci dużych możliwości i jeszcze większego potencjału. jeśli jednak nie korzystasz z repo, piszesz hobbystycznie lub okazjonalnie – ISE to wszystko co potrzebne i szkoda czasu i stresu. 

pisanie GUI

niestety VSC nie pomaga zbytnio w pisaniu GUI. może są dodatki, których jeszcze nie znalazłem, ale ogólnie – oprogramowanie GUI w edytorze nie-wizualnym to porażka. kilka elementów i robią się setki linii kodu ciężkie do ogarnięcia. ustawianie guzików zmieniając ich położenie wartościami X/Y na czuja – makabra. interfejs najlepiej się rysuje w interfejsie, dla tego najsensowniej jest mieć coś wizualnego. chciałoby się powiedzieć Visual Studio… huh, ale VS do pisania skryptów PS, to jak instalacja Exchange on prem w pełnej redundancji do wysyłania kilq emali. 

w skrócie – cały czas jestem w trakcie poszukiwania jakiegoś lekkiego designera interfejsu. te, które testowałem online były … jak to aplikacje online – siermiężne i ograniczone. 

forms vs UWP vs WPF

już sam wybór tego w czym ten interfejs ma być napisany nie jest łatwy. formsy wygrywają ilością dostępnych przykładów, UWP [chyba] umiera, WPF niby jest trendem, nowsze, nowocześniejsze i bardziej uniwersalne… ale czy przyszłościowe? no właśnie – nawet po przeczytaniu kilq artów, jeśli nie siedzi się w temacie, sam dobór biblioteki nie jest trywialny. jeśli się uczyć, chciałoby się nauczyć czegoś, co choć przez kilka lat się przyda. a to w obecnym tempie zmian niełatwe zadanie. 

osobiście póki co zdecydowałem się na formsy – stare, dobre, oklepane, dużo przykładów, a póki Microsoft nie zrezygnuje z Windows na rzecz jakiejś hybrydowej dystrybucji [chciałoby się powiedzieć Lindows, ale to już było] , zgromadzona wiedza powinna żyć przez jakiś czas.

zmiana logiki

ciekawym aspektem jest zmiana paradygmatu całej logiki działania. skrypty, poniekąd z samej definicji skryptu – przetwarzane są sekwencyjnie linia po linii. tak też logika pisania jest 'liniowa’. GUI to z kolei 'rozproszona logika’ pozaczepiania pod elementy interfejsu. całość nie jest już jak opowiadanie:

begin { początkiem }
process { rozwinięciem }
end { i końcem }

w zamian staje się fragmentarycznym kodem, sterowanym akcjami z kliknięć czy innych list. dla skrypciarza z krwi i kości to jest inny świat. dziwny i nie do końca logiczny. 

GUI + skrypt

na tym etapie nie mam jeszcze wyrobionych 'best practice’ więc poszuqję. jednym z pomysłów było zadziałanie tak, jak to przez pewien czas projektował Microsoft [i co mi się bardzo podobało] – interfejs służył do zebrania informacji, wizualizacji elementów, ale ostateczna akcja to był po prostu skrypt uruchomiony z parametrami, których wartości były zebrane z interfejsu.

takie podejście jest świetne jednak w momencie kiedy pisze się duże, rozbudowane narzędzie, aplikację pozwalającą na wykonanie wielu zadań. jednak drobny tool, którego celem jest właśnie ograniczenie wyborów i dostosowanie do konkretnego zadania w konkretnym środowisq powoduje, że rozdzielenie na dwa niezależne skrypty [jeden to GUI do zebrania parametrów, drugi do wykonania akcji] tworzy dużą nadmiarowość. ponadto takie podejście choć 'ładne’ i logiczne, utrudnia uruchomienie osobom, które tych skryptów się już i tak boją. to te niuanse – łatwiej komuś nieqmatemu przesłać jeden plik do uruchomienia, niż kilka, z opisem jak zrobić bibliotekę, czy jak przygotować środowisko. w regularnej aplikacji załatwia to instalator, przy skrypcie to już nie takie proste. 

z kolei zaletami oddzielenia GUI od logiki jest łatwiejsze panowanie nad samym wykonaniem, no i dla osób, które GUI nie potrzebują – od razu jest narzędzie. większa uniwersalność. mam nadzieję pokazać przykłady za jakiś czas.

praktyka pokaże który sposób wygra, choć widzę coraz więcej zalet rozbicia tego monolitycznego podejścia na rzecz bardziej uniwersalnej metody…

kompromis

skoro skrypty nie są do pisania GUI, przesiadka jest trudna, to czemu po prostu nie zacząć pisać np. w C#? 

proste: mimo-wszystko łatwiej nauczyć się oprogramowania samych Formsów, niż całego języka. na drugi dzień byłem w stanie narysować prosty interfejs, podpiąć logikę i zbudować jakiś działający skrypt. a to dla tego, że cała faktyczna logika, aktywna część działania była tym, co znam, w postaci commandletów. nauczenie się napisania tego w C# i poznanie całej specyfiki samego języka, zajęła by znacznie więcej czasu. choć podobny do PS – jest czyś zupełnie innym. no i podstawowa rzecz – nie zamierzam być developerem [może kiedyś, hobbystycznie] a tego rodzaju zadania są 'szybkim wsparciem’, a nie moim codziennym zajęciem. póki co nauka C# byłaby stratą czasu. 

jak mawiają: 'życie składa się z kompromisów’. kompromisem jest tutaj wyważenie efektu i czasu. pozostają zalety skryptu: kod nie jest kompilowany, łatwo go przeczytać a w razie potrzeby zmodyfikować 'gdziekolwiek’, bo bez konieczności rekompilacji, commandlety dają obszerne biblioteki o olbrzymich możliwościach, a równocześnie można dopiąć kawałek GUI – i to wszystko w bardzo krótkim czasie.

może Frankenstein, ale żywy i myślący. 

eN. 

 

MFA – dodatek czy konieczność?

zgodnie z zapowiedzią kolejny fragment arcyciekawego wywiadu z d0m3lem. to ważny temat, więc warto o nim porozmawiać…

Czy MFA jest ważne?

<MG> W kontekście architektury zabezpieczeń, chciałbym rozszerzyć to pytanie. W ogóle jakie są największe teraz wyzwania, z którymi mierzycie się w całej tej działce Identity? Czy to jest brak wiedzy? Czy jednak te ograniczenia technologiczne, czy ten dług technologiczny?

<d0m3l> Ludzie nie chcą korzystać z MFA.

<MG> Czyli jednak interface białkowy to jest największe wyzwanie?

[…]

<d0m3l> Tak, generalnie kwestia jest taka: Spytaliśmy naszych kolegów z Google’a, jaką mają adopcję MFA? Okazuje się, że w momencie, kiedy jesteś goniony przez atakujących, przez hackerów to jest tak, jak bycie gonionym przez stado wilków. Jak Cię gonią wilki to nie chodzi o to, żeby prześcignąć wilki. To chodzi o to, żeby prześcignąć najwolniejszego w tłumie. Więc w momencie, kiedy masz włączony SMS jako jedyne MFA na Twoim koncie, na Twojej usłudze, gdziekolwiek, to Cię broni przed 1oo% zautomatyzowanych ataków. Czyli jak jest scriptkidi albo narzędzia tych atakujących hackerskich grup narodowych takich jak Iran, Somalia, Nigeria, jest parę takich bardzo fajnych organizacji, które próbują się dostać do Twojej poczty. Jeżeli masz SMS jako jedyne MFA na swoim koncie, jakikolwiek skrypt, oprogramowanie jakie mają, żeby Cię zbruteforce’ować, zespray’ować jest zablokowane. Jeżeli targetują Ciebie, jako osobę koszt zhackowania Ciebie rośnie z 70 centów do 70 dolarów i udaje im się to w 40% przypadków.

<nExoR> To jeszcze tylko jedna rzecz apropos tego MFA i statystyk, chciałem zaznaczyć, że strasznie kłamiecie. Bo nie potraficie zliczać MFA wymuszonego Conditional Accessem, gdzie na przykład w firmach administratorzy to np. 2% w stosunku do użytkowników. Administratorzy mają wymuszone MFA, cała reszta, czyli 98% ma Conditional Accessem. Co mówi Microsoft? 98% ludzi nie ma włączonego MFA.

<d0m3l> W tej chwili z mogę Ci powiedzieć dokładnie ile jest ludzi, którzy mają MFA. To jest 33% użytkowników w Office 365 podało jakiś sposób weryfikacji, że można ich w jakiś sposób wymusić.

<nExoR> Czyli to jest nie na podstawie włączonej opcji, że musisz mieć MFA, tylko to jest na podstawie danych, które zostały podane do kont?

<d0m3l> Tak.

<nExoR> To jak jesteśmy przy tym od razu. Czy będzie jakaś usługa, jakiś sposób zabezpieczenia, bo jest taka dziura w MFA przy onboardingu. Bo jak założysz konto, włączysz MFA, masz provisioning użytkowników to nadal do kogo pierwszego trafią Credentiale, ten sobie MFA ustawia. No i teraz wiadomo, że jest jakiś duży procent użytkowników, którzy, no wiadomo są takie cienie, ktoś nigdy nie przyszedł do pracy albo nie używa konta i one sobie wiszą. Jak zhackujesz takie konto to od razu sobie ustawiasz MFA, i jest jakby podwójnie uwierzytelniony w tej domenie i przez to jeszcze bardziej zhackowany. Czy tutaj można się spodziewać jakiegoś wyjścia naprzeciw? […]

<d0m3l> Generalnie są 2 sposoby. Sposób proceduralny i sposób technologiczny. Sposób proceduralny, pomijanie MFA ze względu na lokalizację, jedno z najgorszych zaleceń, jakie Microsoft kiedykolwiek wydał. MFA  powinno być też wymuszone w Corpnecie. MFA musisz zrobić zawsze. Jeden prompt per użytkownik, per urządzenie, per zmiana hasła, koniec kropka. To, że spiąłeś się VPNem nie powinno Cię wykluczać z wymagania MFA. To jest Zero Trust. To jest proceduralnie. Drugi to jest taki, że jest funkcjonalność w Conditional Accessie, która mówi, że żeby się zenrollować do MFA musisz spełniać wymagania. Jest takie coś, co nazywa się User Actions jako warunek w Conditional Accessie, gdzie możesz powiedzieć: “Żeby zenrollować się do MFA musisz być na urządzeniu, które uważam za zaufane” albo “Musisz być w konkretnym zakresie adresów IP”.

<nExoR> Zakresy IP to w ogóle są trochę od czapy te polityki z zakresami IP, bo połowa firm używa Proxy, Application Proxy czy innych mechanizmów przekierowujących ruch i wychodzenie ze stałego IP, zwłaszcza w świecie mobilnym, to jest w ogóle jakieś nieporozumienie.

<d0m3l> Kwestia jest taka, że nie ma wystarczającej ilości technologii na świecie, żeby naprawić gówniane procesy. Nie ma. Jeżeli Twój proces jest niewystarczający to możesz się bawić w hocki-klocki. Takie podatności o jakich Ty mówisz, że hacker albo zły aktor dostanie się i uwierzytelni zamiast użytkownika zdarzają się 2 w miesiącu na całą skalę Office 365. Na 320 milionów użytkowników. 2 w miesiącu. Oba z nich są łapane przez zwykłych użytkowników, którzy zostają wykopani z konta w momencie, kiedy ktoś zamiast nich dokona poświadczenia. Więc takie reaktywne wyłapywanie działa bardzo dobrze pod warunkiem, że nie masz wykluczeń MFA. Okazuje się, że najbardziej popularną polityką Conditional Access jaka istnieje jest: MFA dla wszystkich, poza zaufaną lokalizacją, czyli jeżeli jesteś na Cornplecie albo na Wi-Fi, żadnego MFA. Czyli Pani Józia, która siedzi w biurze i nigdy nie dostaje się do maila poza biurem, nigdy tego MFA nie zobaczy.

<nExoR> Tak, no wtedy go nigdy nie skonfiguruje, czyli jest niebezpieczne. No właśnie, czyli to taki drugi scenariusz.

<d0m3l> Dlatego jeżeli zły aktor dostanie hasło i spróbuje zrobić zarejestrowanie tego MFA, możesz to Conditional Accessem ograniczyć. Mówisz, że ktoś, kto ma hasło Pani Józi, żeby zarejestrować jej MFA musi być na urządzeniu, które jest dopięte do naszej domeny, musi być Hybrid Joined. I tyle.

[…]

<d0m3l> MFA musi być włączone zawsze. Ten link, który pokazałem, M365 Golden Config. Użytkownik przychodzi pierwszego dnia w pracy. Tego pierwszego dnia w pracy użytkownik musi potwierdzić, że ma dostęp do jakiegoś MFA. Problemem zaczyna się robić wdrożenie gdzie masz 23.ooo użytkowników, którzy jeszcze nie podali danych. MFA ma 1o% Faliure Rate przy rejestracji. 1o% użytkowników będzie Ci krzyczało, że nie umieją zeskanować kodu QR na ekranie.

[…]

<MG> Czy MFA jest, zadam takie pytanie znowu z wyższego poziomu, czy MFA jest idealnym zabezpieczeniem? Jak nie, to czego mu brakuje?

[…]

<d0m3l> Powiem tak: Grzesiek pytał o te statystyki Googlowe. Statystyki są prosto z konferencji, która nazywa się “Stripe”. Google mówił, że jedyne idioto-odporne, bo MFA da się zfishować. Fishing, czyli ktoś wysyła Ci maila, klikasz link i podajesz Twój login, hasło i MFA. MFA da się zrobić fish. Bez problemu, potem mam dostęp do Twojej poczty forever and ever, dopóki nie zmienisz swojego hasła. Jedyny sposób, który takiemu atakowi zapobiegnie to używanie metod poświadczeń, które są oparte o sprzęt. Czyli: Hello for Businnes – niefishowalny, Tokeny FIDO – niefishowalne. Dlatego, w momencie kiedy masz hasło i coś po haśle dopóty, dopóki to będzie aktywnym MFA, dopóty będziesz miał możliwość, że ktoś je zhackuje. Do wtedy, gdy będziesz klikał w te linki fishingowe. Nie da się zrobić, żeby mniej niż 20% Twoich użytkowników klikało w linki fishingowe. Możesz robić banery, ostrzeżenia itd.., 2o% ludzi kliknie w link, który się im pojawi w skrzynce odbiorczej. SANS Institute zrobił badania. 2o% to jest podłoga. W Microsofcie 35% ludzi jest fishowalnych, wewnętrznie u nas w firmie, bo jesteśmy przyklejeni do maila 24/7. 35% ostatnia kampania wewnętrzna fishingowa, testowa.

<MG> Czyli trzeba ogólnie całkowicie ominąć możliwość tego fisha, czyli tak, jak mówiłeś, Tokeny FIDO na przykład.

<A> Ale pamiętaj, że jeszcze masz drugą możliwość, czyli na przykład “o, tu jest taka fakturka”; “Ty, słuchaj, nie chce mi się w niczym otworzyć, zobacz co to”.

<d0m3l>     No. „Każdy burdel da się ogarnąć, tylko proszę dane do faktury”, nie? Ale to już jest chyba trochę taki Social Engeneering, prawda?

End Of Quote

oryginał rozmowy tutaj.

o ważności MFA jestem świadom i zawsze jest to pierwsza rzecz jaką sprawdzam – czy jest włączone. muszę przyznać, że zezwolenie na brak MFA kiedy się jest w biurze wydawało mi się zawsze dobrym pomysłem. teraz nie jestem już taki pewien (; pozostawiam do oceny czytelnikom.

eN.

czy Microsoft słucha użytkowników?

pasjonaci IT

nie tak dawno zapraszałem na spotkanie z Danielem Stefaniakiem, IAM Product Manager w Microsoft, pracującym w samym sercu tego, gdzie powstają usługi M365 – w Redmond. pełne nagranie z tego spotkania można obejrzeć na YT na kanale „Pasjonaci IT” . ilość wiedzy jaka posypała się podczas tych 1,5h okazała się olbrzymia. ponieważ nie każdy lubi słuchać, niektórzy nadal lubią czytać – zamieszczę kilka ważnych informacji jakie padły podczas tej rozmowy. dziś na smaka wrzucę fragment dotyczący User Voice – czy to tylko taki 'anti-stress button’ żeby ludzi mogli wylać swoje frustracje, czy faktycznie Microsoft przygląda się tym wpisom, analizuje i zmienia swoje plany?

poniżej fragment transkryptu, który może być nieco zmodyfikowany dla wygody czytania.

UserVoice

  • <nExoR>   […] to ciekawe, co powiedziałeś. Wiem, że uservoice funkcjonuje całkiem fajnie od jakiegoś czasu, natomiast jak to realnie wygląda procentowo? No bo uservoice – uservoice’em, natomiast musi być jakaś road mapa odgórna. czy jesteś w stanie określić na ile procentowo jest to uservoice, na ile odgórne ustalenia? np. uservoice to jest 15% całego rozwoju, a 85% to jest roadmapa, czy może jest odwrotnie, że właśnie 15% to jest jakaś odgórna wizja, a 85% to jest to, co ludzie chcą? Jak byś to mniej więcej określił?
  • <d0m3l>  W mojej działce, w Azure Active Directory [IAM], uservoice to jest około 15 – 2o% . Tak naprawdę chodzi o to, że w tej chwili Azure AD to jest system, który wiezie ze sobą 32o milionów użytkowników codziennie, więc to nie jest taki stateczek, który da się zawrócić z dnia na dzień. Więc w tej chwili korzystamy z uservoice’ów, albo z pracy z największymi klientami z Fortune 5oo, którzy na nas krzyczą: “Dlaczego to, kurka, tak nie działa? Bo próbuję zrobić XYZ, ale Wy mi nie dajecie takiej możliwości”. więc szturchamy na prawo i lewo, żeby ten stateczek popłynął tam, gdzie klienci będą chcieli na niego wsiąść, bo na pewno nie stoi w miejscu. Więc z uservoice te rzeczy, które mają powyżej 1oo głosów, czy tam 15o, muszą być wciśnięte w road mapę na najbliższe 12 miesięcy. Nasza Pani Vice President powiedziała, że tak ma być, koniec kropka: „Właściciele funkcjonalności wymyślcie, jak zaadresować uservoice’a”.
  • <MG>        1oo – 15o głosów to nie jest taki duży próg…
  • <domel>     W Azure AD to jest bardzo wysoki próg.
  • <nExoR>   Naprawdę? Tak mało jest uservoice’ów?
  • <domel>     Tak. Największy uservoice ma 13oo głosów.
  • <nExoR>   I na co jest?
  • <domel>     Rozdzielenie albo połączenie Microsoft Account i kont Azure AD. Bo, jak pamiętacie LifeID rozdzieliło się od Office 365 w jednym momencie i teraz się okazuje, że  jak masz LifeID i konto w Office 365 na ten sam adres e-mail to masz ten głupi label pod tytułem “konto organizacyjne vs. konto prywatne“, więc ludzie na to bluzgają strasznie. Drugi w tej chwili to jest chyba cel w Service Password Reset bez dostępu do kontrolera domeny, więc to są dwa takie największe. Teamsy mają dziesiątki tysięcy uservoice’ów [bo to frontend’owa aplikacja]

End of Quote

swoją drogą sprawdziłem i są jeszcze dwa requesty:

  • nested groups: ~18oo głosów
  • tokeny B2C zawierające członkostwo użytkownika: ~15oo głosów

i to faktycznie max. a Top Ideas dla Teams ma ponad 55k. to pokazuje, różnicę backend vs frontend q:

w świetnym dziele filozoficznym, post-humanistycznym „Po piśmie„, Jacek Dukaj pokazuje jak zmieniała się ludzkość na przestrzeni dziejów – z kultury mówionej, teraz przez literacką… a w przyszłości w przekaz natychmiastowy. ludzie już dziś wolą obejrzeć niż przeczytać, podcasty i filmy zastępują książki, video zastępuje instrukcje i poradniki…

jestem dinozaurem – ja wolę czytać. albo może to technologia jeszcze nie dorosła po prostu – bo jak wyszukać jakiś interesujący fragment? jak wyszukać interesującą frazę w 1,5h materiale? albo jak 'przelecieć wzrokiem’ video? czasem mniej ciekawe fragmenty artu można po prostu szybko ominąć, przy video trudniej. dla tego  w najbliższych dniach dodam jeszcze trochę fajnych informacji z naszej rozmowy – bo czasem tygodnie, a nawet miesiące surfowania, nie dadzą takich wyniqw.

d0m3lu – dzięki [twoje konto cały czas jeszcze jest na w-files q: ]

eN.

M365 jako platforma – inna perspektywa

kolejne spojrzenie na 'platformę’ – w dwóch kontekstach. po pierwsze – bezpieczeństwo, po drugie – konsekwencje 'on-premowego myślenia’. w sumie to odwrotnie, bo zaniechania z w prawidłowej konfiguracji bezpieczeństwa wynikają głównie z faktu, że M365 nie jest prawidłowo rozumiane. bo cały czas poqtuje 'stare myślenie’. taka oto anegdota [prawdziwa], która powinna dobrze zobrazować, co mam na myśli…

dzień dobry, my po Teamsy….

niedawno, po wybuchu pandemii, duża firma postanowiła zwiększyć możliwości pracy z domu [#WFH]. więc firma chce wdrożyć Microsoft Teams. *tylko* Teams…

[parafrazując] „no bo przecież takie Teamsy, to zainstaluje się i już – ludzie mogą sobie korzystać. mamy jakieś licencje i to w ramach EA nawet O365 E3 i to całkiem sporo. nie chcemy od razu dla wszystkich tylko małymi kroczkami – odpalimy dla np. 5o osób jako PoC a potem dla reszty organizacji. a jakieś dodatki typu skrzynki czy OneDrive to może potem. na razie chcemy szybko [i tanio], żeby skorzystać z możliwości tej wspaniałej pracy grupowej, jaką daje Teams”…

khmmm… no i to takie „onpremowe myślenie”. zupełnie wszystko do góry nogami. jeśli nie wiecie o czym mówię – to znaczy, że jeszcze musicie się w M365 wgryźć… jakie błędy zostały popełnione w tym rozumowaniu? zadajmy klientowi kilka pytań i co się okaże:

  • jest już AD. oczywiście powinno być SSO, a w przyszłości bardziej wykorzystać usługę. czyli trzeba zacząć od zaprojektowania tożsamości hybrydowej, synchronizacji, określić zasady synchronizacji – nawet jeśli początkowo synchronizowałoby się tylko kilka osób, to trzeba zrobić pełny projekt. firma niemała, AD niemałe, a wiadomo – jak się zajrzy do szafy [AD] to zaczną trupy wypadać [cała historia i nakładające się modele zarządzania]. trzeba jakieś serwery dla ADConnect postawić, redundancja, ustalić metodę uwierzytelnienia – w końcu to ma być produkcja, jak się źle poustala, to potem będzie ciężko to zmieniać… to tak w ramach rozgrzewki…
  • jest Exchange on-premise. ale Teams korzysta ze skrzynek pocztowych. nie dość, że trochę ciężko przewidzieć co by się stało jak by to tak po prostu rozdzielnie potraktować [znaczy duplicate-mailbox by się stało], ale klient wspomniał, że będzie raczej chciał usługę mocniej utylizować w przyszłości. a to oznacza hybrydę Exchange – i znów projekt i DNSy i mailflow i reguły na FW itd….
  • jest oczywiście i SfB on-premise… czyli musi być współdzielony SIP domain, hybryda SfB … i znów – trzeba to zaprojektować, wdrożyć ….
  • przetwarzane są informacje wrażliwe a firma podlega licznym normom i wymaganiom bezpieczeństwa – a więc trzeba skonfigurować polityki bezpieczeństwa dla wszystkich komponentów, ustalić co użytkownicy mogą a czego nie mogą … o tym więcej za chwilę, ale już widać – że to nie zadanie na 5 minut tylko ciężki projekt.

w dużym skrócie – nie ma pojęcia 'tylko Teamsy’… no ok, da się 'tylko Teamsy’. można wdrożyć na szybko tenant M365, zostać przy domenie *.onmicrosoft.com i sobie z Teamsów korzystać od razu. ale nie ma mowy o integracji, nie ma mowy o tym, żeby to post factum łączyć ze środowiskiem on-premise [technicznie się da, ale czas i koszty…], funkcjonalność będzie ograniczona, no i tak czy inaczej – trzeba to przecież zabezpieczyć… ma być zgodność z normami i bezpieczeństwo – a gdzie licencje EMS? a to będzie kosztowało …. w sumie to bez różnicy bo kwota już i tak przekroczyła jakiekolwiek wyobrażenia wstępne – coś co miało być szybkim wdrożeniem dla 5o osób okazuje się olbrzymim projektem – być może na długie miesiące. o kwotach nawet nie wspominam.

to tylko skrzynki Exchange

o bezpieczeństwie myślą niby wszyscy, niektórzy próbują, ale niewiele osób ma pojęcie co to w ogóle znaczy 'bezpieczeństwo M365′. może inna anegdota, tym razem mniejsza firma, ale schemat [czy raczej końcowy efekt], który obserwuję bez względu na wielkość firmy:

„mamy pocztę w takim to serwisie, i kupiliśmy licencje o365 i będziemy migrować”

„a bezpieczeństwo? macie jakiś projekt/pomysł jak to zabezpieczyć?”

„ale to tylko skrzyneczki”

czy aby na pewno? najbardziej oczywistym elementem, który pewnie każdy wskaże – jest tożsamość. w rozwiązaniach Chmury publicznej bezpieczeństwo sqpia się głównie na tożsamości [i danych]. w nazwie 'Chmura Publiczna’ dość kluczowe jest słowo 'Publiczna’. każdy – skądkolwiek na świecie, może próbować się logować, atakować konta itd. ale to dopiero początek… o czym [z przerażeniem zauważam] się zapomina. przecież wystarczy pojedyncza licencja, choćby trial, choćby wygasła dawno temu – ale jeśli była, to uruchamiane zostały w ramach M365 usługi, które objęte są/były licencją! to że licencje wygasły – nie wyłącza usług w ramach tenanta – co najwyżej z usługi nie da się w pełni korzystać, ale ona działa. to, że firma chce 'tylko skrzyneczki’, nie oznacza, że cała reszta nie istnieje. to nie jest onprem – w którym stawiamy sobie Exchange, a reszty nie ma, bo jeszcze nie zdecydowaliśmy czy instalować serwer SharePoint – te usługi są, działają, mają jakieś ustawienia wyjściowe, są dostępne – czyt. można próbować się do nich dostać. i nie mówię tylko o próbach włamania. zauważyłem, że powszechną praktyką jest przypisywanie użytkownikom pełnych licencji, bez wyłączania planów serwisowych – nawet jeśli firma jeszcze nie planowała z nich korzystać. a to oznacza, że użytkownicy mogą korzystać z pozostałych usług i zrobić sobie krzywdę. czy też firmie. np. przypadkiem udostępniając plik z danymi wrażliwymi, lub w ramach zabawy i nauki ustawić jakiś konektor, który automatycznie gdzieś tam wysyła maile czy kopiuje pliki…

a tych usług jest dużo: OneDrive, SharePoint, Teams, same grupy M365, co za tym idzie wieloraka możliwość współdzielenie plików na zewnątrz, możliwość dodawania dowolnych konektorów – i w Outlook i w Teams i w … można by tak wymieniać a szczegółów jest dużo.

a całe środowisko M365 projektowane jest przez DevOpsów tak, aby zaspakajać ich potrzeby. czyli wszycy-wszytko-wszytkim-zawsze-wszędzie-proszęBardzo. zupełnie jak na tych teaserach reklamowych Microsoft Teams – gdzie wszyscy są kreatywni, wszyscy piękni, młodzi i ambitni i świetnie adaptują te nowe super technologie. taaa… i rozgrzeszenie i życie wieczne za darmo, przy wyqpieniu Software Assurance.

życie zazwyczaj wygląda nieco odmiennie. dla tego…

ZABEZPIECZ SWOJE M365 KOMPLEKSOWO i AUDYTUJ

nie ma że 'tylko skrzyneczki’ czy 'tylko Teams’. trzeba wdrożyć minimum bezpieczeństwa dla *całego tenanta* – czyli wszystkich usług, bez względu no to czy dziś chcemy z nich korzystać. tym bardziej, że jest bardzo wiele elementów, związanych bezpośrednio z AAD i o365, które są dla wszystkich – a [prawie] nikt i tak tego nie konfiguruje zostawiając ustawienia wyjściowe, które są [za]bardzo liberalne. do tego trzeba pamiętać, że Chmura to nie jest 'produkt w wersji X’ – to jest dynamicznie rozwijające się środowisko. dla tego nie wystarczy 'zabezpieczyć’ – trzeba robić przeglądy, sprawdzać jakie nowe aplikacje się pojawiły, jakie dodatki – bo za chwilę pojawi się kolejna nowa aplikacja, która wymaga znów przyjrzenia się jej możliwościom i bezpieczeństwu, ocenić czy użytkownicy będą z niej korzystać i w jaki sposób i zaplanować co z nią zrobić i jak skonfigurować – bo wbrew dość powszechnej opinii – SaaS wcale nie oznacza, że tam się nic nie konfiguruje, czy że wszystko jest od razu bezpieczne.

jeśli myślisz poważnie o bezpieczeństwie a twoja firma musi być zgodna z normami – pomyśl od razu o licencjach EMS, M365sec, albo przynajmniej Business Premium dla mniejszych.

a po wiedzę – cóż, trzeba zgłosić się do odpowiednich konsultantów (:

eN.

wygaszanie tokenów – zmora bezpieczeństwa i CAEP

Obsługa tokenu w czasie rzeczywistym

wpis dotyczy nowego mechanizmu bezpieczeństwa – Continues Access Evaluation Protocol. bardzo fajnie, że Microsoft w końcu adresuje bardziej życiowe sytuacje dotyczące sesji użytkownika – konkretnie obsługę wymuszenia wygaśnięcia tokenu uwierzytelnienia. obserwując jednak z poziomu wyższego, działania aplikacji, mam obawy, że to nie adresuje najważniejszych bolączek. przekonamy się wkrótce.

ale…. o czym ja mówię?

przykład podany w linkowanym arcie dotyczy wymuszenia wygaśnięcia tokenu bezpieczeństwa np. w przypadq zmiany typu sieci (biurowa/otwarta) w trakcie trwania sesji. w tej chwili token jest przyznawany na 1h i sobie jest póki nie wygaśnie.

ale obserwuję większy problem. 1h nie brzmi jak problem – ale już 2 dni? z praktyki i obserwacji tak właśnie to wygląda – użytkownicy, którzy zostali zablokowani lub wyłączeni często mają dostęp do danych nawet przez kilka dni. na to ile de facto to będzie czasu, wpływa wiele czynników:

  • czy środowisko jest cloud-only czy hybryda
  • jeśli hybryda to w jakim trybie – PHS, PTA czy ADFS? każdy z mechanizmów zmienia przebieg procesu uwierzytelniania i znacząco zmienia wiele aspektów związanych z bezpieczeństwem tożsamości.
  • pośrednio konfiguracja Conditional Access
  • wykorzystanie Cloud App Security – który podobnie do CAEP ma na celu kontrolę sesji a nie warunków dostępu
  • system operacyjny na końcówce – iOS, Android, Windows… na każdym apki zachowują się nieco inaczej
  • inne ustawienia typu konfiguracja serwera MFA w AAD ile czasu może być cache’owany.

w efekcie miałem okazję obserwować sytuacje, w których użytkownik jeszcze przez kilka dni (sic!) miał dostęp do swojego maila. tak – mógł odbierać i wiadomości. póty, póki nie zabił aplikacji na urządzeniu – dopiero wtedy pojawiło się żądanie uwierzytelnienia.

jest nadzieja, że ta oddolna zmiana opisuje tylko część konsekwencji ale w rezultacie zaadresuje ten problem – zwłaszcza, że pierwszymi klientami, które dostaną update jest Outlook i Teams.

procedury w przypadkach krytycznych

jest (teoretyczna) możliwość zabicia wszystkich sesji użytkownika i zmuszenia go do odświeżenia tokenu. jest również możliwość wyczyszczenia danych na końcówkach.

wipe-out

wyczyszczenie danych na końcówce jest możliwe jedynie jeśli zarządzane są aplikacje lub stacja – scenariusze BYOD z managed apps oraz klasyczny MDM z tzw. 'enrollmentem’ urządzeń. odpowiednik 'dodania do domeny’ pod kontrolę InTune (lub innego MDM) do zarządzania końcówką. wtedy zależnie od scenariusza (managed apps/MDM) możemy z portalu Azure wymusić wyczyszczenie danych firmowych (managed apps) lub całego urządzenia (MDM).

warunkiem jest oczywiście, że urządzenie zarejestruje się do sieci, co w przypadq świadomej kradzieży w celu pozyskania danych nie jest oczywiście dużym pocieszeniem. warto również pamiętać, że to już podlega licencjom InTune.

reset sesji

ciekawszym i bardziej powszechnym scenariuszem jest reset sesji użytkownika. po co? uwierzytelnienie jest 'bramą’ którą jak się przekroczy, mamy określony czas przebywania (sesję). do tego należy dodać różne mechanizmy cache – obecne zwłaszcza w aplikacjach mobilnych, ze względu na … mobilność. czyli częste utraty sieci i zmiany punktów dostępowych. pomimo, że token uwierzytelniania żyje 1h, to sesja utrzymywana jest, aż do zerwania albo jakiegoś timeoutu w aplikacji. dla Outlook obserwowałem długie czasy, sięgające nawet 2 dni [dodam, że taki scenariusz miałem ok roq temu – to o tyle istotne, że przy obecnej szybkości zmian, nie do końca wiadomo co jest aktualne. nie robiłem testów ostatnio].

(teoretyczny) reset sesji można wykonać na 3 sposoby. czy też może w 3ech krokach? bo nie jest dla mnie oczywiste w których częściach te kroki się pokrywają a w których wymagają wykonania oddzielnie [zapraszam do komentarzy i wrzucenia linqw – jeśli ktoś posiada materiały wyjaśniające te 'detale’, a jakże istotne ze względu na bezpieczeństwo].

  • z interfejsu AAD, w części 'Authentication Methods’ – opcja 'Revoke MFA sessions’
  • z PowerShell Revoke-AzureADUserAllRefreshToken, który zgodnie z opisem 'unieważnia wszystkie tokeny wydane dla aplikacji użytkownika’
  • z portalu M365 Admin Center – wyszukując użytkownika, w zakładce… OneDrive. tam dostępna jest opcja, która obecnie opisana jest 'Sign-out of all Office 365 sessions’

historycznie opcja 'sign-out user sessions’ działała tylko dla OD właśnie. czy dziś, zostając w tym samym miejscu w interfejsie, zrywa faktycznie sesje? podam taki przykład świeży, z przed miesiąca:

wraz z końcem miesiąca, zakończyło pracę sporo osób pracujących w projekcie i z dostępami administracyjnymi. ok. 3 dni później zgłasza się do mnie jedna z osób z pytaniem, czemu osoba, która już nie powinna być w organizacji 'świeci się w Teams na zielono’ – czyli jest jako aktywna. konto zablokowane, wszelkie resety porobione. nie pomaga. mija kolejny dzień – nadal 'active’. zakładam ticket w MS Support, jakaś tam analiza logów, że user zablokowany, że na pewno nie może się dostać – generalnie nic, czego bym nie wiedział. odpowiedzi na to, czemu sesja jest widoczna jako 'active’ i jak taką sesję zabić – brak. w tej sytuacji nie było zagrożenia, bo faktycznie wszystko było poblokowane i potwierdzały to logi dostępowe, ale ogólnie… brak narzędzi pozwalających na jakąkolwiek kontrolę sesji użytkowników to spory problem chmury. pozostawia sporo niejasności, co w kontekście bezpieczeństwa nie jest pożądane.

liczę na to, że implementacja CAEP znacząco poprawi element kontroli sesji….

eN.

zarządzanie użytkownikami w hybrydzie

ponieważ to pytanie wraca do mnie niemal przy każdym projekcie i ponieważ obserwuję problem w zrozumieniu tych mechanizmów, zamieszczam krótkie podsumowanie najważniejszych informacji, które powinny pomóc w przygotowaniu doqmentacji 'zarządzania użytkownikiem’ oraz administracji w środowisq hybrydowym.

’Hybryda’

wedle moich obserwacji najważniejsze, a zarazem wymykające się intuicji jest to, że 'hybryda’ tak na prawdę w większości wdrożeń powinna być nazywa 'hybrydy’ – w liczbie mnogiej. w standardowym scenariuszu mamy bowiem:

  • hybryda tożsamości – połączenie pomiędzy AD i AzureAD. obiekty wraz z atrybutami synchronizowane są z onprem do Chmury, zapewniając (przy odpowiedniej konfiguracji) pojedynczą tożsamość i SSO (lub same-password w mniej wykwintnej implementacji)
  • hybryda Exchange – połączenie pomiędzy Ex a EXO. to co zaburza intuicję jest fakt, że wiele atrybutów Exchange jest przechowywanych w AD i synchronizowanych w ten sam sposób. jednak włączenie/wyłączenie hybrydy Exchange to w dużej mierze właśnie zdefiniowane czy ten zestaw atrybutów ma być synchronizowany czy też nie.
  • hybryda SfB – czyli połączenie pomiędzy onpremowym Lync/SfB a SOL/Teams. i tutaj podobnie jak w przypadq Exchange – mylącym jest fakt, że w takim środowisq informacje na temat konta SfB są zapisywane w AD i tak synchronizowane.

każdą z nich można mieć lub nie mieć … no ok, hybryda tożsamości musi być w każdym scenariuszu – ale Ex czy SfB to już kwestia wymagań klienta.

teoretycznie 'hybryda’ powinna dawać jedno, centralne miejsce zarządzania i unifikację… de facto sprawa jest bardziej zagmatwana, ale poniżej przedstawione zasady powinny pomóc

Zarządzanie użytkownikami

zarządzanie użytkownikami w środowisq tożsamości hybrydowej odbywa się w zasadzie w pełni z onprem. w tym przypadq jest zatem najmniej zmian w kwestii procedur zarządzania.

wyjątkiem są:

  • zarządzanie licencjami, ale wtedy na pomoc przychodzi Group-Based Licensing .
  • wymuszenie zmiany hasła
  • do różnic można dorzucić jeszcze rozwiązywanie problemów i audyt – oczywiście zdarzenia logowania i te 'ruchome elementy’ dzieją się w ramach AAD więc tutaj też trzeba sięgnąć do chmury…. a w zasadzie do obu środowisk na raz (a w ogóle to najlepiej jakiś SIEM zintegrowany).

należy dodać do tego pewne bardziej skomplikowane sytuacje, ponieważ wybór strony gdzie należy wykonać akcję może się różnić zależnie od metody uwierzytelnienia (PH, PTA, ADFS) lub wdrożenia SSPR – ale to są wszystko kwestie z zakresu obsługi hasła czy blokady konta.

Zarządzanie Exchange

ten element jest najbardziej kłopotliwy i hybryda Ex generalnie ma swoje specyficzne ograniczenia… największą pomocą jest tutaj traktowanie oddzielnie skrzynki i użytkownika. w ogólności są dwie perspektywy: administracja serwisem i użytkownikiem. pierwsze jest proste do wyjaśnienia:

  • Ex i EXO są rozdzielne – polityki bezpieczeństwa, mail flow, ustawienia globalne – robi się oddzielnie po obu stronach i nie są to elementy podlegające synchronizacji.
  • sprawa jest dość skomplikowana w przypadq polityki maili (recipient policies) bo … przenikają się częściowo. nie mogę teraz znaleźć linka.. ale w uproszczeniu najlepiej też zarządzać z onprem – ponieważ tam jest konto użytkownika i synchronizowany atrybut 'proxyAddresses’

przy zarządzaniu pojedynczym użytkownikiem:

  • operacje związane z kontem użytkownika wykonuje się z onprem (aliasy mailowe, zmiany nazw/opisów/informacji)
  • operacje związane ze skrzynką – po tej stronie gdzie jest skrzynka [bo może być przecież albo tu albo tam] (limity skrzynki, statystyki, uprawnienia). w skrócie to, co robi ’set-mailbox*’ wykonuje się tam, gdzie ten mailbox leży.

jest kilka 'dzwinostek’ typu uprawnienie 'send as’ które wynika z faktu, że jest de facto zapisywane w AD i niesynchronizowane. zarządzanie, czy wspomniane przetwarzanie polis recipient policies, które w specyficznych przypadkach może wydawać się niespójne… są też różnice zależnie czy która wersja jest w OnPrem (zwłaszcza, jeśli to Ex 2o1o).

napisanie spójnych procedur zarządzania dla Exchange Hybrid jest wyzwaniem.

Zarządzanie SfB

do czasu Teamsów sprawę dało się jeszcze ogarnąć. szczęśliwie dla SfB w zasadzie nie ma specjalnie zarządzania

  • konto w hybrydzie trzeba włączyć/wyłączyć, co robi się oczywiście po stronie onprem,
  • wszelkie zarządzanie danymi o userze to de facto zapis do AD – więc też onprem

są oczywiście elementy integracji VoIP, polisy czy inne elementy usługi – i to jest rozdzielnie dla każdej strony.

  • przypisanie polis – to tam, gdzie jest konto SfB, oddzielne są polisy więc zależnie od strony hostującej, tam się te polisy definiuje i przypisuje.

hybryda SfB jest imho najtrudniejsza do zestawienia ale najmniej potem przy niej administracji i 'ruchomych elementów’ a najtrudniejsze części to równocześnie te najrzadziej wykorzystywane czyli część integracji z VoIP, cloud PBX itp.

procedury administracyjne nie wymagają zatem specjalnych zmian.

na zakończenie

o ile hybryda tożsamości to 'must have’ dla każdego środowiska opartego o AD, o tyle przejście do cloud-only i rezygnacja z hybrydy jest posunięciem często możliwym a w takim przypadq – sugerowanym. środowiska hybrydowe tylko pozornie są 'zunifikowane’ – po obu stronach barykady (firewalla) są produkty w innych wersjach i choć mają symulować 'jedną organizację’ to jest to proteza, która wprowadza sporo niejasności i komplikacji w konfiguracji i zarządzaniu. konieczność wykorzystania PowerShell do części zadań powoduje, że niektóre zadania normalnie wykonywane przez helpdesk, nagle są eskalowane do 2giej linii. przykładem mogą być procedury provisioningu użytkownika w hybrydzie Ex1o z EXO – gdzie nie ma wsparcia zakładania konta ze skrzynką online z interfejsu, a skrzynkę współdzieloną da się tylko zrobić hackując z poziomu atrybutów AD bo nawet PowerShell w tej wersji nie ma opcji ’-Shared’ która pojawiła się w Ex13.

przejście dla tych usług na cloud-only znacznie ułatwia administrację.

eN.