Informatycy o życiu

… czyli komputer jako lepsza wersja człowieka

    Od lat trzydziestych XX wieku do dociekań czym jest życie wprzęgnięta została informatyka. Wykorzystuje się przy tym fakt, że technicznie życie jest procesem samoreplikacji, który może występować w bardzo różnych warunkach i na bazie różnych składników.

Ciało to hardware, dusza (duch) to software.

    Fizycy często porównują relacje jakie występują pomiędzy ciałem a duchem człowieka do tych, które mamy pomiędzy hardware i software komputera. Z grubsza rzecz biorąc sprzęt komputerowy (hardware): procesor, płyta główna, pamięć komputerowa, dysk twardy, monitor, klawiatura, mysz komputerowa odpowiadają pojęciu ciała człowieka czyli materialnej części istnienia, natomiast oprogramowanie komputerowe (software), będące niematerialnym składnikiem komputera, jest zbiorem programów komputerowych i związanych z nimi danych , które dostarczają komputerowi instrukcji nakazujących mu co ma robić. Ciało to hardware, dusza (duch) to software. Dołączony do komputera sprzęt audiowizualny (drukarki, skanery, modemy, kamery) to materialne narzędzia, którymi komputer się posługuje. Języki oprogramowania, których liczba i stopień specjalizacji stale rośnie (np. HTML , PHP , Perl , JSP , ASP.NET , XML oraz C , C + + , Java , C # , lub Smalltalk) spełniają rolę podobną do języków ludzkich.

    Podział na hardware – ciało i software – ducha jest nieostry, ponieważ wiele elementów sprzętu komputerowego posiada “wszyte” na stałe własne oprogramowanie, stanowiące jego integralną część, bez którego te elementy nie mogłyby funkcjonować.  Powyższe dotyczy także urządzeń takich jak typu karty graficzne, płyty główne, które oprogramowanie własne nazywane jest BIOS-em. Stąd software jest we wszystkim co otacza sprzęt komputerowy, a zatem „wszystko ma ducha i jest żywe” (każdy hardware ma software i jest zdolny do funkcjonowania). W świecie ludzkim pogląd ten nosi nazwę panpsychizmu, może dla rzeczywistości komputerowej powinien to być pansoftwaryzm?

Sieci komputerowe są jak społeczności

… Internet to pierwsza cywilizacja globalna. Czy z licznych podobieństw i analogii w funkcjonowaniu Internetu i mózgu można wnosić, że Internet jest świadomy samego siebie? Liczne sieci począwszy od Internetu poprzez układ metaboliczny komórki aż do związków między partyjnymi towarzyszami są zdominowane przez stosunkowo niewielką liczbę węzłów, połączonych z wieloma innymi punktami, podczas gdy większość węzłów ma jedynie kilka połączeń (tzw. sieci bezskalowe) – są one odporne na przypadkowe uszkodzenia i zupełnie nieodporne na skoordynowane ataki. A zatem funkcjonowanie sieci komputerowych, biologicznych i społecznych opiera się na tych samych zasadach.

    Programiści czerpią z dorobku biologów – coraz częściej do tworzenia nowych wynalazków stosują mechanizmy ewolucji: mutację, rekombinację i dobór naturalny powtarzane przez wiele pokoleń. Zaczynając od tysięcy losowo wygenerowanych obiektów próbnych, komputer wyszukuje obiekty lepiej przystosowane do konkretnego zadania i generuje kolejne pokolenie, które z każdym kolejnym pokoleniem coraz lepiej spełniają przyjęte kryteria. W końcowym efekcie do rozwiązania postawionego problemu zostaje wybrany najlepszy egzemplarz. Jednak człowiek pozostanie niczym niedościgniony Stwórca  – już niedługo dzięki odpowiedniemu systemowi operacyjnemu każdy człowiek będzie mógł uzyskać dostęp do mocy obliczeniowej milionów komputerów osobistych, podłączonych do Internetu.

Człowiek jako IGUS

    Z fizycznego punktu widzenia człowiek i każdy inny żywy organizm jest Systemem Gromadzenia i Użytkowania Informacji – IGUS (Information Gathering and Utilizing System). Termin IGUS wprowadzony został do fizyki przez noblistę (1969 r.), Żyda Murraya Gell-Manna (ur.  1929). Ale skoro już niektórzy XVII wieczni filozofowie dowodzili, że rozum człowieka jest tylko liczydłem, to obecnie można jego funkcjonowanie sprowadzić do  programu komputerowego (computer program), który jest sekwencją symboli opisującą obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Ludzki mózg często przyrównywany jest do softwaru. Jednak nie wszystkie operacje zachodzą w ludzkim mózgu w sposób świadomy, ich zdecydowana większość jest przed nami ukryta. Ludzka świadomość jest tym dla człowieka czym dla komputera jest interfejs (styk, sprzęg lub międzymordzie) – najprościej mówiąc zbiorem procedur i instrukcji dzięki którym wiemy na przykład co zrobić aby tekst napisać kursywą, namalować obraz komputerowy czy kazać wykonać obliczenia. „Wszystko, co obserwujemy, rozgrywa się wyłącznie w naszej świadomości, która jest rodzajem interfejsu lub systemu operacyjnego przekształcającego niepoznawalną strukturę rzeczywistości w zrozumiałe dla użytkownika symbole, myśli i wrażenia. Nie ma i nie będzie teorii świadomości, bo jej dogłębne zbadanie oznacza wyjście z systemu, czyli z samego siebie, co wydaje się niemożliwe (i wiąże się z ryzykiem zgubienia drogi powrotnej)”.

Jak w krótkim czasie informatykom udało się stworzyć życie …

    Replikacja jest podstawową cechą życia. Tworzenie systemów zdolnych do replikacji towarzyszyło pracy wielu matematyków względnie informatyków od lat trzydziestych XX wieku. Jeden z pierwszych twórców informatyki Alan Mathison Turing (1912-1954) stworzył matematyczny model komputera (tzw. maszyna Turinga), zbudowany z taśmy, na której zapisuje się dane i poruszającej się wzdłuż niej “głowicy”, wykonującej proste operacje na zapisanych na taśmie wartościach. Pomysł samoreplikujących się systemów modelujących samoreplikujące się struktury po raz pierwszy wysunięty w 1948 r. przez matematyka Johna von Neumanna (1903-1957), Żyda składał się z maszyny uniwersalnej, uniwersalnego konstruktora i informacji zapisanych na taśmie (podobnie jak u Turinga). Zasada działania tego systemu polegała na tym, że uniwersalna maszyna odczytywała taśmę pamięci i wykorzystując zawarte na niej informacje była zdolna do odtworzenia samej siebie. Zaledwie pięć lat później, w 1953 r., nobliści (1962 r.) James Dewey Watson (ur. 1928) i Francis Crick (1916-2004) ustalając budowę podwójnej helisy DNA dowiedli, że żywe organizmy wykorzystują molekuły łańcucha DNA jako „taśmę” dostarczającą informacji pozwalających na replikowanie się. Za sugestią matematyka Stanisława Ulama (1909-1984), Żyda „części maszyny” zastąpione zostały „stanami komórek” (29 stanów w dwuwymiarowym, 5-komórkowym środowisku). W 1961 r. Edward Fredkin (ur. 1934 r.), Żyd? uprościł model Neumanna przez zastosowanie automatu komórkowego, w którym struktury zdolne były do samodzielnej replikacji przy użyciu prostych wzorców na siatce. W 1968 r. brytyjski informatyk Edgar Frank “Ted” Codd (1923-2003) także uprościł model Neumanna używając komórek o ośmiu stanach w 5-komórkowym środowisku. W 1970 r. matematyk John Horton Conway (ur. 1937) wymyślił automat komórkowy (Life, The game of life), w którym struktury, opisane przez siatkę komórek oraz ich stany, przejścia i reguły tych przejść, potrafią ewoluować (twórca bardzo popularnego programu komputerowego Mathematica (1988 r.) Stephen Wolfram (ur. 1959), Żyd, przedstawił hipotezę, że automat Conwaya może wykonywać obliczenia i jest równoważny maszynie Turinga). W 1979 r. amerykański informatyk, twórca prostego automatu komórkowego (tzw. mrówki Langtona) -  Christopher Langton (ur. 1949) wraz z innymi badaczami sztucznej inteligencji stworzył teorię „pętli autoreplikacji”. W 1961 r. Victor A. Vyssotsky , Robert Morris S. i M. Douglas McIlroy stworzyli grę Darwin, a następnie w 1966 r. Robert Morris Sr. z pomocą Victora A. Vyssotskyego i Dennisa Ritchiego przez przekształcenie Darwina stworzyli grę Core War (wojny rdzeniowe), której celem było zabicie programów przeciwnika poprzez ich nadpisanie. W 1971 r. Bob Thomas stworzył pierwszy program wirusopodobny tzw. robaka Creepera, który wyświetlał na zainfekowanym komputerze informację: “I’m the creeper, catch me if you can!” (Jestem pnącze, złap mnie, jeśli potrafisz!). W 1975 r. John Walker stworzył podprocedurę PERVADE wywoływaną przez bardzo popularną grę ANIMAL, która to podprocedura mogła wywoływać dowolny program i następnie w każdym pliku zapisywała kopię gry ANIMAL. Wreszcie w 1982 r. Richard „Rich” Skrenta (ur. 1967), 15-letni uczeń Mt. Lebanon High School stworzył pierwszego wirusa w historii informatyki, któremu dał nazwę Elk Cloner. Wirus ten powodował co każde 50 użycie zainfekowanego dysku wyświetlenie komunikatu: Elk Cloner: The program with a personality// It will get on all your disks// It will infiltrate your chips// Yes, it’s Cloner!// It will stick to you like glue// It will modify RAM too// Send in the Cloner! W dwa lata później Frederick Cohen (ur. 1957) wprowadził termin „wirus” i sformułował pierwszą jego definicję: „Wirus jest programem zdolnym do zarażania innych programów poprzez modyfikowanie ich i dołączanie do nich własnej, być może zmodyfikowanej kopi”. Wirus komputerowy posiada zdolność do ewolucji czyli umiejętność modyfikowania kopii tego samego kodu i jego mutowania. Wirus komputerowy jednak potrzebuje nosiciela – zwykle jakiegoś pliku wykonywalnego, chociaż istnieją także wirusy pisane w językach skryptowych podczepiające się pod dokument lub arkusz kalkulacyjny. W konsekwencji wirusy komputerowe podlegają procesowi ewolucji, mają zdolność do rozmnażania się i zmienności analogicznie jak wirusy biologiczne.

A potem ewolucja już pognała

    W 1988 r. Robert Tappan Morris (ur. 1965) stworzył pierwszego robaka komputerowego tzw. robaka Morrisa (Morris Worm). Robak komputerowy w odróżnieniu od wirusa komputerowego jest samodzielny, rozprzestrzenia się we wszystkich sieciach podłączonych do zarażonego komputera przez wykorzystanie luk w systemie operacyjnym lub naiwności użytkownika.

   Złośliwe oprogramowanie komputerowe (malicious software, malware) oprócz wirusów (m.in. wirusy gnieżdżące się (boot sector viruses), wirusy pasożytnicze (parasitic viruses), wirusy wieloczęściowe (multi-partite viruses), wirusy towarzyszące (companion viruses), makro wirusy (macro viruses)) oraz robaków (mailery i mass-mailery, ośmiornice, króliki) obejmuje także m.in. bomby logiczne, konie trojańskie,  wabbity, backdoory (trapdoory), zarazki, exploity, downloadery, dialery, droppery, iniektory, autorootery, kity (czyli generatory wirusów), programy spamujące, programy szpiegujące (scumware, stealware/parasiteware, adware, Hijacker Browser Helper Object), floodery, rootkity, keylogery, łańcuszki (hoaxy), fałszywe alarmy (false positives), żarty komputerowe. Olbrzymia różnorodność złośliwego oprogramowania spowodowała, że w 1991 r. członkowie założyciele CARO (Computer Antivirus Researchers Organization) opracowali jego schemat nazewnictwa; obecnie pełna nazwa wirusa w najbardziej złożonej formie składa się z dwunastu części: Family_Name.Group_Name. Major_Variant.Minor_Variant[:Modifier] nazwa rodziny, typ programu, platforma, nazwa grupy, długość infekcji, wariant, degeneracja, modyfikatory, wskaźnik lokalizacji, packer, @m lub @mm, komentarz. Ta systematyka jest znacznie bardziej rozbudowana niż w zoologii, która obejmuje obecnie tylko osiem kategorii: Królestwo (Regnum), Typ (Phylum), Gromada (Classis), Rząd (Ordo), Rodzina (Familia), Rodzaj (Genus), Gatunek (Species), Podgatunek (Subspecies).

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>