Pentagon želi da promijeni internet i način na koji se pišu softveri
DARPA je, u suštini, najveća ‘opitna laboratorija’ Pentagona, a njeni projekti se kreću od softvera i novih vrsta kompjutera (poput kvantnih kompjutera), preko robotike i autonomnog kretanja.
Iako su današnji smartfoni, laptop kompjuteri i stoni računari toliko napredovali da korišćenje brojnih web stranica i onlajn usluga, te različitog softvera i igrica deluje ‘obično’ (eng. seamless), iza svih njih stoji stotine miliona linija kompjuterskog koda i hiljade sati rada programera. Tako operativni sistem Windows 10 ima oko 50 miliona linija kompjuterskog koda, dok najpopularnija distribucija operativnog sistema Linux – Ubuntu, ima blizu 60 miliona.
Takođe, operativni sistemi otvorenog koda (open-source), poput Linux-a i FreeBSD-a imaju brojne dodatne datoteke (software repository) koje je potrebno instalirati za pravilno funkcioniranje različitih softverskih paketa i programa. Vremenom, ovakvi softveri postaju ‘zakrčeni’ (cluttered) velikim brojem sistemskih fajlova koji se ne koriste, te usporavaju čitav kompjuterski sistem. Još je komplikovanija situacija na velikim serverskim kompjuterima i sistemima, koji često moraju da podržavaju i više različitih operativnih sistema u isto vreme, kao i veliki broj korisnika.
Nastavite čitati
list of 4 items‘Haaretz’: Netanyahu je poveo Izrael u najgoru godinu i najgori rat
Na Floridi naređena evakuacija stanovništva zbog uragana Milton
Floridi prijeti najjači uragan ikada, naređena evakuacija milion ljudi
Vještačka inteligencija i softverski špageti
Slično je i sa web stranicama – one moraju biti napravljene tako da mogu biti prikazane (page rendering) u velikom broju različitih web pretraživača. Iako najveći broj korisnika danas koristi pretraživač Chrome (koji je prisutan i na svakom Android mobilnom uređaju), te Mozilla Firefox, postoji još čitav niz preglednika koji ‘ispod haube’ koriste drugačiji softverski kod. ‘Chromium’ je bio pokušaj standardizacije kompjuterskog koda web preglednika, a koji danas koriste pretraživači Microsoft Edge, Samsung Internet Browser, kao i sam Chrome. Sa druge strane, pretraživač Opera, nekada jedan od najpopularnijih, takođe koristi ‘Chromium motor’, aki je on tako modifikovan da istovremeno radi na Windows, MacOS, Linux, Android i iOS operativnim sistemima, te stranice prikazuje istovetno (unified page rendering). Linux OS poseduje i čitav niz specifičnih web pretraživača, poput Seamonkey, Epiphany i Vivaldi. Uz sve ovo, verzije istog web browsera na različitim operativnim sistemima ne funkcioniraju istovetno (zbog razlika u ‘temeljnom’ kompjuterom kodu), te stranice prikazuju na drugačiji način.
Ovakve razlike u kodu na različitim operativnim sustavima i programskim jezicima programeri nazivaju ‘softverskim špagetima’ (code spaghetti). U svakodnevnom održavanju kompjuterskih servera, ovakav kompjuterski kod je izuzetno teško održavati, budući da promene na jednom paketu softvera ili njegovoj instalaciji, gotovo sigurno modifikuju ili u potpunosti brišu druge datoteke neophodne za rad ostatka servera ili celog operativnog sistema. Takođe, ovakvo ‘preklapanje’ datoteka često dovodi i do potpuno nečitljivog koda i datoteka (source code), te je administratorima i programerima praktično nemoguće da kod poprave. Sve ovo dovodi do gubljenja tzv. ‘serverskih sati’ (server up-time), te prestanka rada web stranice ili usluge, kao i mrežnih skladišta podataka (čest slučaj u velikim korporacijama, gde se iste datoteke dele na kompanijskoj mreži).
Iako ovo jeste veliki problem u sistemima koji pokreću komercijalne usluge, poput različitih aplikacija i stranica kompanija, banaka i onlajn robnih kuća, te državnih mreža – različitih onlajn usluga brojnih ministarstava, gradova i državnih agencija, još je veći problem u okruženjima gde pad kompjuterskih sistema i nedostupnost informacija znači i – gubitak ljudskih života. Ovo se, naravno, odnosi na kompjuterske sisteme i mreže u hitnim službama, policiji, armijama, te obaveštajnim agencijama. Takođe, veliki problem predstavlja i to što ovakvi sistemi moraju biti daleko bolje zaštićeni od komercijalnih kompjuterskih mreža i servera, budući da se na njima nalaze izuzetno vredni i poverljivi podaci. Tako NATO alijansa u svojoj doktrini sajber-odbrane (link:https://www.nato.int/nato_static_fl2014/assets/pdf/2021/4/pdf/2104-factsheet-cyber-defence-en.pdf) navodi da ‘hakerski sajber napad može biti jednako štetan kao i konvencionalni, a u nekim slučajevima i opasniji. Odbor za odbranu Britanskog Parlamenta (https://committees.parliament.uk/work/7934/cyber-resilience-of-the-uks-critical-national-infrastructure/) navodi da ‘su državni serveri i podaci na njima od kritičnog značaja za funkcioniranje cele zemlje’ te da ‘je Velika Britanija treća u svetu po broju detektovanih hakerskih napada’.
Do sličnog zaključka je došla i tajnovita agencija Pentagona, pod imenom DARPA (Defense Advanced Research Project Agency, https://www.darpa.mil/). DARPA je, u suštini, najveća ‘opitna laboratorija’ Pentagona, a njeni projekti se kreću od softvera i novih vrsta kompjutera (poput kvantnih kompjutera), preko robotike i autonomnog kretanja, sve do novih materijala, legura i istraživanja hemijskih jedinjenja. Ova agencija je svakako dobro upućena u stanje svetskih kompjuterskih mreža – sam Internet je na samom svom početku zapravo bio njen projekat pod imenom ‘ARPANET’, koji je trebao da poveže američke vojne baze unutar SAD. Takođe, korišćenje grafičkog interfejsa na kompjuterima (ikone) i kompjuterski miš su takođe prvi put razvijeni u DARPA projektu. Globalni sistem za pozicioniranje (GPS), dostupan danas u svakom smartfonu i većini novih automobila, je prvobitno bio projekt laboratorije DARPA i Ministarstva odbrane SAD (Department of Defense, DoD). Delom GPS satelita i danas upravlja američko Vazduhoplovstvo (USAF) i samo američko Ministarstvo odbrane.
DARPA je zbog velikog broja kompjutera i servera unutar sistema odbrane SAD, te njihove različite starosti (neki od ključnih sistema datiraju još sa kraja osamdesetih i početka devedesetih godina), odlučila da pokrene projekat ‘Tractor’ (Translating All C to Rust, https://www.darpa.mil/program/translating-all-c-to-rust). Ovaj projekat ima za cilj razvoj autonomnih sistema za ‘prevođenje’ kompjuterskog koda, zasnovanih na novoj generaciji veštačke inteligencije (AI, Artificial intelligence), koji će svoje LLM (Large Language Model) biblioteke koristiti za stvaranje ‘novih klonova’ već postojećih softverskih paketa koje koristi Pentagon. Suština je da su najvećim delom ovakvi softveri napisani u starom programskom jeziku ‘C’ (i njegovim derivatima C++ i C#), koji danas imaju veliki broj poznatih manjkavosti i bezbednosnih propusta. Zapravo, najveći deo hakerskih napada danas se upravo i zasniva na iskorištavanju poznatih propusta u kompjuterskom kodu, programskim jezicima i operativnim sistemima. Sa druge strane, RUST (https://www.rust-lang.org/) je nova generacija programskih jezika, sa daleko boljom strukturom samog koda u odnosu na jezike C, Visual Basic i Python. RUST ima i ‘type safety’ opciju kao suštinski princip svog funkcioniranja – mnogo je manje verovatno da programer napravi grešku u kucanju, te je samim tim i kod programa daleko stabilniji i sigurniji.
Nova era programiranja
Ako projekat kao što je ‘Tractor’ bude uspešan na nivou Pentagona i NATO, za očekivati je da se u narednih desetak godina ova tehnologija (kao i praktično sve druge koje je razvijala DARPA) ‘spusti’ i među obične programere, web developere i korisnike interneta. Neka vrsta ‘univerzalnog prevodioca kompjuterskog koda’ (universal code translator), zasnovanog na veštačkoj inteligenciji, značio bi i eksponencijalno brži razvoj novih programa, mobilnih aplikacija i web usluga, kao i daleko brže ispravljanje bezbednosnih propusta i grešaka u kodu (sati u odnosu na dane ili nedelje).
‘Tractor’, pak, nije i jedini projekat razvoja kompjuterskog koda uz pomoć Ai sistema. Google već radi na nečem sličnom (https://cloud.google.com/use-cases/ai-code-generation) i to u svom ‘oblaku’ (Google Cloud). Ovaj sistem za sada podržava samo standardne jezike, poput Java Script, Python i Verilog. Gigant IBM takođe ima svoju verziju (https://www.ibm.com/think/topics/ai-code-generation), gde njihov ‘software demo’ pokazuje prevođenje (pra)starog programskog jezika COBOL u modemi Java uz pomoć Ai modela.