[*]

1. Wprowadzenie

Komputery i Internet stały się niezbędne zarówno dla gospodarstw domowych, jak i organizacji. Zależność od nich rośnie z dnia na dzień, czy to dla użytkowników domowych, do krytycznej kontroli pokoju, zarządzania siecią elektroenergetyczną, do zastosowań medycznych lub systemów finansów korporacyjnych. Jednocześnie istnieją wyzwania związane z ciągłym i niezawodnym świadczeniem usług, które stają się coraz ważniejsze dla organizmów. Cyberbezpieczeństwo znajduje się na czele wszystkich zagrożeń, na które narażone są firmy. Większość ocenia je wyżej niż zagrożenie terroryzmem lub klęskami żywiołowymi.

Pomimo całego nacisku na cyberbezpieczeństwo, była to jak dotąd trudna podróż. Oczekuje się, że do 2017 r. Globalne wydatki na bezpieczeństwo IT osiągną 120 mld USD [4]Jest to obszar, w którym budżet informatyczny dla większości firm pozostawał niezmieniony lub nieznacznie wzrósł pomimo ostatniego kryzysu finansowego [5]. Nie zmniejszyło to jednak znacząco liczby luk w zabezpieczeniach oprogramowania ani ataków grup przestępczych.

Rząd USA przygotował się na „Cyber ​​Pearl Harbor” [18] Całkowity atak, który może uszkodzić podstawowe usługi, a nawet fizycznie zniszczyć mienie i życie. Oczekuje się, że zostanie zorganizowany z przestępczego podbrzusza takich krajów, jak Chiny, Rosja czy Korea Północna.

Wpływ cyberprzestępczości na gospodarkę w samych Stanach Zjednoczonych wynosi 100 miliardów dolarów rocznie [4].

Musimy zasadniczo przemyśleć nasze podejście do zabezpieczenia naszych systemów informatycznych. Nasze podejście do bezpieczeństwa jest odosobnione i skoncentrowane Rozwiązania punktowe Jak dotąd dla niektórych zagrożeń, takich jak antywirus, filtr antyspamowy, wykrywanie włamań i zapory ogniowe [6]. Jesteśmy jednak na etapie, w którym systemy cybernetyczne to coś więcej niż cyna, drut i oprogramowanie. Obejmują problemy systemowe z komponentem społecznym, gospodarczym i politycznym. Łączenie w sieć systemów powiązanych z elementem ludzie nie powoduje już izolacji systemów informatycznych od elementu ludzkiego. Złożone systemy cybernetyczne mają dziś swoje własne życie. Cyber-systemy są złożone systemy adaptacyjne staraliśmy się zrozumieć i odnieść się do bardziej tradycyjnych teorii.

2. Złożone systemy - wprowadzenie

Zanim przyjrzymy się motywacjom do traktowania systemu cyber jako systemu złożonego, oto krótki opis tego, czym jest system złożony. Zauważ, że termin „System” może być dowolną kombinacją ludzi, procesów lub technologii, które służą konkretnemu celowi. Zegarek, który nosisz, rafy oceaniczne lub gospodarka kraju - wszystko to są przykłady „System” .

W bardzo prostych słowach: Złożony system oznacza każdy system, w którym części systemu i ich interakcje razem reprezentują określone zachowanie, tak że analiza wszystkich jego składników nie może wyjaśnić tego zachowania. W takich systemach przyczyna i skutek niekoniecznie muszą być powiązane, a relacje nie są liniowe - niewielka zmiana może mieć nieproporcjonalne skutki. Innymi słowy, jak powiedział Arystoteles, „całość jest większa niż suma jej części”. Jednym z najbardziej popularnych przykładów w tym kontekście jest system transportu miejskiego i występowanie korków. Analiza poszczególnych samochodów i kierowców nie może pomóc w wyjaśnieniu wzorców i występowania zatorów.

Chociaż kompleks Adaptacyjny System (CAS) wykazuje także cechy samokształcenia, pojawiania się i ewolucji wśród uczestników złożonego systemu. Uczestnicy lub agenci w CAS wykazują heterogeniczne zachowanie. Ich zachowanie i interakcje z innymi substancjami czynnymi stale ewoluują. Kluczowymi cechami systemu, który należy scharakteryzować jako złożony adaptacyjny, są:

  • Zachowania lub wyników nie da się przewidzieć po prostu analizując części i dane wejściowe systemu
  • Pojawia się zachowanie systemu i zmienia się z czasem. Te same warunki wejściowe i środowiskowe nie zawsze gwarantują taką samą wydajność.
  • Uczestnicy lub agenci systemu (w tym przypadku agenci ludzcy) uczą się samych i zmieniają swoje zachowanie w oparciu o wyniki poprzedniego doświadczenia

Złożone procesy są często mylone „skomplikowane” Procesy Złożony proces ma nieprzewidywalny wynik, bez względu na to, jak proste mogą się wydawać kroki. Skomplikowany proces składa się z wielu skomplikowanych kroków i trudnych do osiągnięcia warunków, ale z przewidywalnym rezultatem. Typowym przykładem jest: robienie herbaty jest skomplikowane (przynajmniej dla mnie ... Nigdy nie mogę dostać filiżanki, która smakuje tak samo jak poprzednia), budowa samochodu jest skomplikowana. Struktura Cynefin Davida Snowdena zapewnia bardziej formalny opis warunków [7].

Złożoność jako obszaru badań nie jest nowa, jej korzenie można prześledzić w pracy Arystotelesa nad metafizyką [8]. Teoria złożoności jest w dużej mierze inspirowana układami biologicznymi i od pewnego czasu stosowana w dziedzinie nauk społecznych, epidemiologii i nauk przyrodniczych. Został on wykorzystany zarówno w badaniach systemów gospodarczych, jak i wolnych rynków, a także zwyciężył w analizie ryzyka finansowego (patrz mój artykuł na temat złożoności analizy ryzyka finansowego tutaj) [19]). Jest to coś, co do tej pory nie było zbyt popularne w cyberbezpieczeństwie, ale wzrasta akceptacja złożoności myślenia w naukach stosowanych i na komputerze.

3. Motywacja do korzystania ze złożoności w cyberbezpieczeństwie

Obecnie wszystkie systemy IT są projektowane i budowane przez nas (podobnie jak w ludzkiej społeczności pracowników IT w organizacji oraz dostawców) i razem mamy całą wiedzę potrzebną na temat tych systemów. Dlaczego więc widzimy nowe ataki na systemy IT każdego dnia, których nigdy się nie spodziewaliśmy, i ataki luk, o których istnieniu nie mieliśmy pojęcia? Jednym z powodów jest fakt, że każdy system informatyczny został zaprojektowany przez tysiące ludzi na całym stosie technologii - od aplikacji biznesowej po leżące u jej podstaw komponenty sieciowe i sprzęt, na którym się znajduje. Wprowadza to silny element ludzki do projektowania systemów cybernetycznych, a możliwości wprowadzania błędów, które mogą stać się podatnymi na zagrożenia, są wszechobecne [9].

Większość organizacji ma wiele warstw obrony swoich krytycznych systemów (zapory ogniowe, IDS, wzmocniony system operacyjny, silne uwierzytelnianie itp.), Ale ataki nadal występują. W większości przypadków włamania do komputera są bardziej zderzeniem okoliczności niż samodzielną luką, która jest wykorzystywana do powodzenia cyberataku. Innymi słowy, to „całość” okoliczności i działań napastników powoduje szkody.

3.1 Redukcjonizm przeciw podejściu Holisim

Redukcjonizm i holizm to dwa sprzeczne filozoficzne podejścia do analizy i projektowania obiektu lub systemu. Reduktorzy twierdzą, że każdy system można zredukować do jego części i poddać analizie „zmniejszyć” do składników; Podczas gdy Holiści twierdzą, że całość jest większa niż suma, systemu nie można analizować jedynie poprzez zrozumienie jego części [10].

Reduktorzy twierdzą, że wszystkie systemy i maszyny można zrozumieć, biorąc pod uwagę ich komponenty. Większość współczesnych metod naukowych i analitycznych opiera się na podejściu redukcjonistycznym i, szczerze mówiąc, do tej pory służyły nam całkiem dobrze. Jeśli rozumiesz, co robi każda część, możesz naprawdę przeanalizować, co zrobiłby zegarek, projektując każdą część osobno, możesz naprawdę sprawić, by samochód zachowywał się tak, jak chcesz, lub analizując położenie ciał niebieskich, możemy dokładnie przewidzieć następne zaćmienie Słońca. Redukcjonizm koncentruje się w dużej mierze na przyczynowości - istnieje przyczyna afektu.

W jakim stopniu pogląd redukcjonistyczny może wyjaśnić zachowanie systemu? Jeśli chodzi o powstające systemy, takie jak zachowanie ludzkie, systemy społeczno-ekonomiczne, systemy biologiczne lub systemy społeczno-cybernetyczne, podejście redukcjonistyczne ma swoje granice. Nie można przewidzieć prostych przykładów, takich jak ciało ludzkie, reakcja tłumu na zachętę polityczną, reakcja rynku finansowego na wieści o fuzji lub nawet korku, nawet jeśli wszystkie elementy są szczegółowo badane przez wszystkie z nich & # 39; Systems & # 39; .

Tradycyjnie postrzegaliśmy cyberbezpieczeństwo za pomocą obiektywu redukcyjnego z konkretnymi punktowymi rozwiązaniami poszczególnych problemów i próbowaliśmy przewidzieć ataki cyberprzestępcy na znane luki w zabezpieczeniach. Czas spojrzeć na cyberbezpieczeństwo z alternatywnym podejściem holistycznym.

3.2 Włamania do komputera są jak infekcje patogenne

Włamania do komputera przypominają bardziej infekcje wirusowe lub bakteryjne niż włamania do domu lub samochodu [9]. Włamywacz włamujący się do domu tak naprawdę nie może wykorzystać go jako platformy startowej do włamania się do sąsiadów. Luki w systemie zamykania samochodu nie można wykorzystać jednocześnie dla miliona innych osób na całym świecie. Są bardziej jak infekcje mikrobiologiczne w ludzkim ciele i mogą rozprzestrzeniać infekcję jak ludzie. Prawdopodobnie wpłyną na dużą część populacji gatunku, o ile są one „połączone”, aw przypadku ciężkich infekcji systemy są na ogół „izolowane”. a także osoby poddane kwarantannie & # 39; ograniczyć dalsze rozprzestrzenianie się [9]. Nawet leksykon systemu cybernetycznego używa metafor biologicznych - wirusów, robaków, infekcji itp. Ma wiele podobieństw w epidemiologii, ale zasady projektowania powszechnie stosowane w systemach cybernetycznych są niezgodne z zasadami doboru naturalnego. Systemy cybernetyczne w dużej mierze polegają na jednorodności procesów i komponentów technologicznych, w przeciwieństwie do różnorodności genów w organizmach gatunku, co czyni ten gatunek bardziej odpornym na ataki epidemiczne [11].

Pandemia grypy z 1918 r. Zabiła ponad 50 milionów ludzi niż Wielka Wojna. Prawie cała ludzkość została zarażona, ale dlaczego wpłynęło to bardziej na 20-40-latków niż na innych? Może różnica w strukturze ciała, która powoduje inną reakcję na atak?

Teoria złożoności stała się bardzo ważna i okazała się bardzo przydatna w epidemiologii, ponieważ rozumie rozprzestrzenianie się infekcji i metody ich kontroli. Naukowcy sięgają teraz po wykorzystanie swojej wiedzy naukowej do systemów cybernetycznych.

4. Podejście do łagodzenia zagrożeń bezpieczeństwa

Tradycyjnie istnieją dwa różne i uzupełniające się podejścia do łagodzenia zagrożeń bezpieczeństwa dla systemów cybernetycznych, które są obecnie stosowane w większości praktycznych systemów [11]::

4.1 Formalna walidacja i testowanie

Takie podejście opiera się przede wszystkim na zespole testowym systemu informatycznego, który rozpoznaje błędy w systemie, które ujawniają lukę w zabezpieczeniach i mogą zostać wykorzystane przez ataki. Mogą to być testy funkcjonalne sprawdzające poprawność systemu, które powinny zapewniać poprawną odpowiedź, testy penetracyjne w celu potwierdzenia odporności na określone ataki oraz testy dostępności / odporności. Zakres tych testów to zasadniczo sam system, a nie obrona linii frontu rozmieszczona wokół systemu.

Jest to przydatne podejście w przypadku dość prostych, niezależnych systemów, w których możliwa podróż użytkownika jest dość prosta. W przypadku większości innych połączonych systemów sama formalna walidacja nie wystarczy, ponieważ nigdy nie jest to możliwe & # 39; przetestuj wszystko & # 39; .

Automatyzacja testów jest popularnym podejściem do zmniejszania zależności człowieka od procesów walidacji, ale stanowi problem nierozstrzygalności Turinga [*] dowodzi - nie da się zbudować maszyny, która we wszystkich przypadkach przetestuje inną. Testowanie jest tylko niepotwierdzonym dowodem na to, że system działa w scenariuszach, dla których został przetestowany, a automatyzacja pomaga szybciej uzyskać ten anegdotyczny dowód.

4.2 Ograniczenia hermetyzacji i obrony

W przypadku systemów, których nie można w pełni zweryfikować za pomocą formalnych procesów testowych, stosujemy dodatkowe poziomy ochrony w postaci zapór ogniowych lub segregacji sieci lub hermetyzujemy je w maszynach wirtualnych z ograniczoną widocznością reszty sieci itp. Inne popularne techniki dodatkowych mechanizmów obrony to systemy zapobiegania włamaniom, Antywirus itp.

Takie podejście jest wszechobecne w większości organizacji w celu ochrony przed nieznanymi atakami, ponieważ praktycznie niemożliwe jest formalne upewnienie się, że oprogramowanie jest i pozostaje podatne na atak.

Podejścia wykorzystujące nauki o złożoności mogą okazać się przydatnym dodatkiem do bardziej tradycyjnych metod. Wszechstronność systemów komputerowych czyni je nieprzewidywalnymi lub zdolnymi do nowych zachowań, których nie można przewidzieć bez ich „wykonania”. [11]. Uruchamianie w izolacji w środowisku testowym nie jest tym samym, co uruchamianie systemu w prawdziwym środowisku, w którym powinno się znajdować, ponieważ kolizja wielu zdarzeń powoduje zachowanie, które wydaje się być zachowaniem (pamięć holizmu!).

4.3 Różnorodność nad jednolitością

Odporność na zakłócenia stanowi centralne zachowanie w systemach biologicznych. Wyobraź sobie sposób, w jaki wszystkie organizmy mają dokładnie taką samą strukturę genetyczną, konfigurację ciała, podobne przeciwciała i ten sam układ odpornościowy - początek infekcji wirusowej zniszczyłby całą społeczność. Ale tak się nie dzieje, ponieważ wszyscy jesteśmy ukształtowani inaczej i wszyscy mamy różną odporność na infekcje.

Podobnie, niektóre wdrażają krytyczne dla biznesu systemy cybernetyczne, szczególnie w przemyśle lotniczym i medycznym „Implementacje różnorodności” z tą samą funkcjonalnością i scentralizowanym & # 39; Głosuj & # 39; Funkcja decyduje o odpowiedzi dla requestera, jeśli wyniki różnych implementacji nie są zgodne.

Dość często występują w organizacjach nadmiarowe kopie krytycznych systemów biznesowych, ale są one bardziej jednorodne niż różne implementacje, co czyni je podatnymi na wszystkie błędy i luki, takie jak te podstawowe. Jeśli implementacja systemów redundantnych różni się od podstawowej - inny system operacyjny, inny kontener aplikacji lub wersje bazy danych - oba warianty są różnie odporne na niektóre ataki. Nawet zmiana kolejności dostępu do stosu pamięci może zmieniać reakcję na atak przepełnienia bufora na warianty [12] - wyróżnienie centralnego & # 39; Głosuj & # 39; System, że gdzieś coś jest nie tak. Dopóki dane wejściowe i funkcja biznesowa implementacji są identyczne, odchylenia w reakcji implementacji są oznaką możliwego ataku. Gdy zostanie zaimplementowana prawdziwa architektura oparta na usługach, wszyscy & # 39; Service & # 39; może mieć wiele (ale niewielką liczbę) heterogenicznych implementacji, a cała funkcja biznesowa może losowo wybierać, która implementacja usługi ma być używana dla każdego nowego żądania użytkownika. Dzięki takiemu podejściu można uzyskać względnie dużą liczbę różnych ścieżek wykonania, co zwiększa niezawodność systemu [13].

Opracowano środowiska wielowariantowe (MVEE), w których aplikacje o niewielkich różnicach w implementacji są uruchamiane krokowo, a ich odpowiedź na żądanie jest monitorowana [12]. Okazały się one bardzo przydatne w wykrywaniu intruzów w celu zmiany zachowania kodu, a nawet identyfikacji istniejących błędów, w których warianty reagują inaczej na żądanie.

Podobne do koncepcji programowania wersji N. [14];; Na Uniwersytecie Michigan opracowano program antywirusowy w wersji N, który miał niejednorodne implementacje i sprawdzał nowe pliki pod kątem odpowiednich sygnatur wirusów. Rezultatem był bardziej odporny system antywirusowy, który był mniej podatny na autoataki i o 35% lepszy zasięg wykrywania w całej nieruchomości [15].

4.4 Modelowanie agentowe (ABM)

Jednym z kluczowych obszarów badań w nauce o złożoności jest modelowanie agentowe, technika modelowania symulacyjnego.

Modelowanie agentowe to technika modelowania symulacyjnego, która służy do zrozumienia i analizy zachowania złożonych systemów, szczególnie złożonych systemów adaptacyjnych. Osoby lub grupy, które oddziałują ze sobą w złożonym systemie, są identyfikowane przez sztuczne & # 39; Agenci & # 39; i działaj zgodnie ze zdefiniowanymi regułami. Agenci mogą dalej rozwijać swoje zachowanie i dostosowywać się do okoliczności. W przeciwieństwie do myślenia dedukcyjnego [†] Symulacja, która jest najczęściej wykorzystywana do wyjaśnienia zachowania systemów społecznych i ekonomicznych, nie ma na celu uogólnienia systemu i agentów & # 39; Zachowanie

ABM są bardzo popularne do badania takich rzeczy jak zarządzanie tłumem w przypadku ewakuacji z pożaru, rozprzestrzeniania się epidemii, wyjaśniania zachowań na rynku, a ostatnio analizy ryzyka finansowego. Jest to technika modelowania oddolnego, w której zachowanie każdego agenta jest programowane osobno i może różnić się od wszystkich innych agentów. Ewolucyjne i samouczące się zachowania agentów można wdrażać przy użyciu różnych technik, przy czym wdrożenie algorytmu genetycznego jest jednym z najpopularniejszych [16].

Cyber-systemy to połączenia między modułami oprogramowania, okablowanie obwodów logicznych, mikroczipów, Internetu i wielu użytkowników (użytkowników systemu lub użytkowników końcowych). Te interakcje i aktorzy można zaimplementować w modelu symulacyjnym, aby przeprowadzić analizę „co, jeśli” i przewidzieć skutki zmiany parametrów i interakcji między aktorami w modelu. Modele symulacyjne były od dawna wykorzystywane do analizy charakterystyki wydajności w oparciu o cechy aplikacji i zachowanie użytkownika - niektóre popularne narzędzia do zarządzania wydajnością i wydajnością wykorzystują tę technikę. Podobne techniki mogą być wykorzystane do analizy reakcji systemów cybernetycznych na zagrożenia, zaprojektowania architektury odpornej na awarie oraz do analizy zakresu niezawodności, która pojawia się z powodu różnych implementacji.

Jednym z głównych celów w modelowaniu agentowym jest to „samokształcenie” Proces agentów. W prawdziwym świecie zachowanie atakującego rozwijałoby się z doświadczeniem. Ten aspekt zachowania agenta realizowany jest poprzez proces uczenia się agenta, przy czym algorytm genetyczny jest jedną z najpopularniejszych technik w tym zakresie. Algorytmy genetyczne zostały wykorzystane do opracowania inżynierii samochodowej i lotniczej w celu optymalizacji osiągów pojazdów Formuły 1 [17] oraz symulacja zachowań edukacyjnych inwestorów na symulowanych rynkach akcji (realizowana przy użyciu modeli opartych na agentach).

Ciekawą wizualizacją algorytmu genetycznego - lub samouczącego się procesu w akcji - jest demo prostego procesu projektowania samochodu 2D, który zaczyna się od szeregu prostych zasad, a kończy na działającym samochodzie złożonym z wielu różnych części: http: // rednuht.org/genetic_cars_2/

Proces samouczenia się agenta jest oparty na „Mutacje” i „Crossovers” - dwóch podstawowych operatorów we wdrażaniu algorytmu genetycznego. Naśladują krzyżowanie DNA i mutacje w ewolucji biologicznej form życia. Poprzez krzyżowanie i mutacje agenci uczą się na własnych doświadczeniach i błędach. Można ich użyć do symulacji zachowań edukacyjnych potencjalnych atakujących bez konieczności ręcznego wyobrażania sobie wszystkich przypadków użycia i podróży użytkownika, z którymi osoba atakująca może próbować uszkodzić system cybernetyczny.

5. Wniosek

Złożoność systemów cybernetycznych, w szczególności wykorzystanie modelowania agentowego do oceny pojawiających się zachowań systemów, jest stosunkowo nowym obszarem badawczym, na który dotychczas przeprowadzono bardzo niewiele badań. Przed modelowaniem opartym na agentach staje się jeszcze długa droga do komercyjnej oferty dla firm. Biorąc pod uwagę koncentrację na bezpieczeństwie cybernetycznym i niedociągnięcia w naszym obecnym stanowisku, nauka złożoności jest z pewnością ścieżką, na której koncentrują się praktycy i naukowcy.

Jednak dostępne w handlu produkty lub usługi wykorzystujące techniki oparte na złożoności zajmą trochę czasu wejście do wspólnych organizacji komercyjnych.

Referencje

[1] JA Lewis i S. Baker, „Wpływ gospodarczy cyberprzestępczości i szpiegostwa cybernetycznego”, 22 lipca 2013 r. [Online]

[2] L. Kugel, „Terroryzm i światowa gospodarka”, Studenci relacji e-międzynarodowych, 31 sierpnia 2011 r. [Online].

[3] „Cyberbezpieczeństwo - fakty i liczby”, Międzynarodowy Związek Telekomunikacyjny, [Online].

[4] „Ciekawe fakty na temat bezpieczeństwa cybernetycznego”, Florida Tech University Online, [Online].

[5] „W 2016 r. Globalne wydatki na bezpieczeństwo sięgną 86 miliardów dolarów”, 14 września 2012 r. [Online].

[6] S. Forrest, S. Hofmeyr i B. Edwards, „The Complex Science of Cyber ​​Defense”, 24 czerwca 2013 r. [Online].

[7] „Cynefin Framework (David Snowden) - Wikipedia” [Online].

[8] „Metafizyka (Arystoteles) - Wikipedia” [Online].

[9] R. Armstrong, „Motywacja do badania i symulacji cyberbezpieczeństwa jako złożonego systemu”, 2008.

[10] SA McLeod, Redukcjonizm i holizm, 2008.

[11] RC Armstrong, JR Mayo i F. Siebenlist, „Complexity Challenges in Cyber ​​Security”, marzec 2009.

[12] B. Salamat, T. Jackson, A. Gal i M. Franz, „Orchestra: Wykrywanie włamań poprzez równoległe wykonywanie i monitorowanie wariantów programu w przestrzeni użytkownika”, Materiały z 4. Europejskiej Konferencji ACM na temat systemów komputerowych, ss. 33–46 kwietnia 2009 r.

[13] RC Armstrong i JR Mayo, „Wykorzystanie złożoności oprogramowania dla bezpieczeństwa cybernetycznego (streszczenie)”, Association of Computing Machinery, s. 978-1-60558-518-5, 2009.

[14] C. Liming i A. Avizienis, „PROGRAM N-WERSJA: Podejście tolerancji na błędy w niezawodności działania oprogramowania”, Computing Tolerant Computing, s. 1. 113, czerwca 1995 r.

[15] J. Oberheide, E. Cooke i F. Jahanian, „CloudAV: N-Version Antivirus in the Network Cloud”, University of Michigan, Ann Arbor, MI 48109, 2008.

[16] JH Holland, Adaptacja do systemów naturalnych i sztucznych: wstępna analiza z zastosowaniami do biologii, kontroli i sztucznej inteligencji, Michigan: University of Michigan Press, 1975.

[17] K. i. BPJ Włoch, „Optymalizacja wydajności samochodu Formuły 1 za pomocą algorytmu genetycznego”, Równoległe rozwiązywanie problemów z Nature-PPSN VIII, str. 702-711, styczeń 2004.

[18] PE (niżej podpisany Leon, „Press Transcript”, Departament Obrony USA, 11 października 2012 r. [Online].

[19] Gandhi, Gagan; „Analiza ryzyka finansowego z modelowaniem agentowym”, [Online]: http://www.researchgate.net/publication/262731281_Financial_Risk_Analysis_using_Agent_Based_Modelling

[*] Alan Turing - matematyk znany ze swojej roli w łamaniu maszyn Enigmy, które były używane do szyfrowania komunikatów komunikacyjnych podczas II wojny światowej - udowodnił, że ogólny algorytm, niezależnie od tego, czy program zakończył się dla wszystkich programów, czy jest wykonywany na zawsze lub nie ma par danych wejściowych nie może istnieć .

[†] Myślenie dedukcyjne to & # 39; Z góry na dół & # 39; Podejście do argumentacji, które zaczyna się od hipotezy i punktów danych, które są wykorzystywane do uzasadnienia roszczenia. Z drugiej strony, myślenie indukcyjne jest „oddolne” do zrobienia & # 39; Podejście, które rozpoczyna się od konkretnych obserwacji, które następnie są uogólniane w celu utworzenia ogólnej teorii.