Uvod

Original: http://homepages.cs.ncl.ac.uk/brian.randell/NATO/Introduction.html

upNATO softverski inženjerski skupovi

Robert M. McClure

U jesen 1968. i ponovo u jesen 1969. godine, NATO je bio domaćin konferencije posvećene temi softverskog inženjeringa. Iako taj termin u to vrijeme nije bio u općoj upotrebi, njegovo usvajanje za naslove ovih konferencija bilo je namjerno provokativno. Kao rezultat toga, konferencije su odigrale glavnu ulogu u postizanju opšteg prihvatanja, možda čak i preuranjenog, za taj termin. Motivacija za ove konferencije je bila da je računarska industrija u cjelini imala velike probleme u proizvodnji velikih i složenih softverskih sistema. (Da li to opet zvuči kao deja vu?) Učesnici su traženi od proizvođača računara, korisnika računara, softverskih kuća i akademske zajednice. Tokom godina, izvještaji konferencije su stekli određenu količinu klasične aure. Pošto su već neko vreme bili bez tiraža, osetio sam da je došlo vreme da ih učinimo široko dostupnim, ako ne iz nekog drugog razloga, nego da sadašnjoj generaciji kažemo šta je stanje tehnike u kasnim 1960-im.

NATO je ljubazno dao dozvolu da izveštaji sa dve konferencije budu dostupni na internetu. Univerzitet u Newcastleu na Tyneu im je velikodušno pružio usluge hostinga. Dva izvještaja su skenirana i prošla kroz OCR softver. Rezultirajuće datoteke su uređivane i zatim formatirane pomoću programa Adobe InDesign, a zatim su još uređivane. Usput sam naučio neke stvari o optičkom prepoznavanju znakova, odnosno da nije visoko pouzdan. Za standardni tekst, čisto tipkanje i štampanje, rezultati su veoma dobri. Za nestandardni (čitaj matematički) tekst i za jako formatiran tekst rezultati su bili manje zadovoljavajući. Posebno je softver imao znatne poteškoće u razlikovanju između gornjeg i donjeg slova J. Takođe je pronašao konfuziju sa zarezima, desnim zagradama i apostrofima. Nadam se da sam uhvatio ova pogrešna tumačenja, ali nesumnjivo sam ih propustio. Usput sam pronašla i ispravila neke tipografske greške u originalu, uvodeći neke nove. Također sam naučio neke od idiosinkrazija programa provjere pravopisa.

Sve cifre, osim jedne, su ponovo nacrtane koristeći Adobe Illustrator. Skenirana slika je korištena kao predložak u pokušaju da dobijene brojke budu gotovo identične izvornicima. Nadam se da se rezultirajuća jasnoća pokazala vrijednom truda.

Pošto stilovi iz 1968. i izveštaj iz 1969. nisu bili identični, izabran je kompromis koji odgovara svim izveštajima, a istovremeno ih čini mnogo sličnijim. Promjena stila bila je potrebna u svakom slučaju, budući da su izvorni izvještaji tiskani u formatu 6.625 x 9.75 inča, a trenutna verzija je formatirana za ispis na papiru veličine 8,5 i 11 inča ili A4. Izvještaj iz 1968. godine izvorno je pripremljen tradicionalnim sredstvima korištenjem pisaćih strojeva i paste. Izveštaj iz 1969. godine bio je korisnik ranih radova u vezi sa unosom kompjutera na Univerzitetu Newcastle on Tyne. Originalni urednici, Peter Naur i Brian Randell za izvještaj iz 1968. godine i John Buxton i Brian Randell za izvještaj iz 1969. godine, zaslužuju ogromnu zaslugu za proizvodnju ovih dokumenata koji su tako dobro prošli test vremena.

Želeo bih da se osobno zahvalim Brian Randellu za njegovu pomoć u izradi ovih web verzija izvještaja. Njegova marljivost u lekturi spasila me je od mnogih neugodnih grešaka. Nepotrebno je reći da su sve preostale greške samo moje.

Robert M. McClure
Benson, Arizona
Jul 2001

[Zadnja promjena 25 maja 2019]

 

Knjiga Hamida Jafarkhani o prostorno-vremenskom kodiranju

Original: http://www.ece.uci.edu/~hamidj/book.html

Knjiga pokriva osnovne principe prostorno-vremenskog kodiranja za bežičnu komunikaciju preko više-ulaznih višestrukih izlaznih (MIMO) kanala i postavlja praktične metode kodiranja za postizanje poboljšanja performansi predviđene teorijom. Počevši od osnovnog materijala o bežičnim komunikacijama i kapacitetu MIMO kanala, knjiga zatim analizira kriterijume dizajna za prostorno-vremenske kodove. Detaljan tretman teorije iza prostorno-vremenskih blok kodova dovodi do detaljnog razmatranja prostorno-vremenskih rešetkastih kodova. Knjiga se nastavlja diskusijom o diferencijalnoj prostorno-vremenskoj modulaciji, BLAST-u, linearnim disperzijskim kodovima i algebarskim kodovima. Završno poglavlje ukratko govori o dodatnim temama u prostorno-vremenskom kodiranju, kao što su MIMO-OFDM, prostorno-vremenski turbo kodovi i kombinirajući oblikovanje snopa i prostorno-vremensko kodiranje. Sekcije za teoriju i praksu mogu se koristiti nezavisno jedna od druge. Knjiga je idealna za postdiplomce koji poznaje osnove digitalnih komunikacija i za inženjere koji implementiraju teoriju u realnim sistemima.

Knjiga je prevedena i objavljena na kineskom jeziku.

Sadržaj

Predgovor; Standardna notacija; Zapis o prostorno-vremenskom kodiranju; Skraćenice;

1. Uvod;

2. Kapacitet višestrukih ulaznih kanala s više izlaza;

3. Kriterijumi dizajna prostorno-vremenskog koda;

4. Ortogonalni prostorno-vremenski blok kodovi;

5. Kvazi-ortogonalni prostorno-vremenski blok kodovi;

6. Prostorno-vremenske rešetkaste kodove;

7. Super-ortogonalni prostorno-vremenski rešetkasti kodovi;

8. Diferencijalna prostorno-vremenska modulacija;

9. Prostorno multipleksiranje i projektovanje prijemnika;

10. Neortogonalne prostorno-vremenske blok kodove;

11. Dodatne teme u prostorno-vremenskom kodiranju;

Bibliografija.

Štamparske greške

Kurs o prostorno-vremenskom kodiranju

Prostorno-vremensko kodiranje (EECS245)

Vodič o prostorno-vremenskom kodiranju

Potok video na prostorno-vremenskom kodiranju

Izdavač

Cambridge University Press

Svaka važna ideja je jednostavna!

Kako instalirati SSL certifikat na WordPress mjestu

Original: http://www.zisman.ca/blog/2019-04-08%20-%20Install%20SSL%20Certificate%20on%20Wordpress.html

Alan Zisman

2019-04-08

Pre svega, šta je to SSL sertifikat? SSL je skraćenica od Sloj sigurnih utičnica, i ovaj digitalni sertifikat autentificira identitet vaše web stranice, a zatim šifrira sve informacije koje se šalju poslužitelju koristeći SSL tehnologiju.

Imati ovaj certifikat služi kao vrsta elektronskog pasoša, koji zauzvrat uspostavlja vaše akreditive dok poslujete na Internetu.

Svaki SSL certifikat se sastoji od sljedećih informacija:

● Ime vlasnika certifikata.

● Serijski broj i datum isteka certifikata.

● Kopija javnog ključa vlasnika certifikata.

● Digitalni potpis organa koji je izdao certifikat

Imati ovaj certifikat potvrđuje da postoji siguran kanal između točke A i točke B na Internetu.

Dakle, želite imati SSL certifikat za vašu WordPress stranicu. Pošto sve gore navedeno može biti besmisleno za vas, evo razloga zašto biste trebali imati certifikat. Ako imate e-trgovinu, morate imati ovaj certifikat prije nego prihvatite bilo koji oblik plaćanja.

Ako imate stranice zaštićene lozinkom na vašoj web-lokaciji, također želite znati da je to zaštićeno SSL certifikatom.

Šta ako ne kupujete i prodajete ništa na vašoj web lokaciji, ali prikupljate osjetljive informacije od svojih posjetitelja? Uz SSL certifikat, sve informacije su šifrirane i sigurne.

Kako drugačije možete osigurati vašu web lokaciju?

Koristite VPN

VPN je skraćenica za Virtual Private Network. To nije nešto što je specifično za WordPress, to je usluga koja može, a neki kažu da bi danas trebala koristiti svatko na internetu. Svrha ove mreže je da vam pomogne da ostanete anonimni dok ste na mreži i da osigurate ili kriptujete vaše podatke. Za korisnika WordPress-a, posebno onaj koji može pokrenuti neku vrstu posla, oni bi definitivno mogli koristiti zaštitu VPN-a. U zavisnosti od vašeg sistema, možda postoje neke funkcije koje treba da potražite, na primer, pogledajte ovaj pregled PureVPN-a.

Izaberite sigurnog domaćina

Prije nego instalirate novu WordPress stranicu, morate imati poslužitelj na kojem ćete ga ugostiti. Možda ćete biti u iskušenju da izaberete najjeftiniju uslugu hostinga koju možete pronaći, ali to nije nužno najmudriji način djelovanja. Vaša web stranica će biti sigurna samo kao poslužitelj na kojem se postavlja. Zato uzmite vremena i provedite istraživanje kako biste bili sigurni da je domaćin koji na kraju odaberete ugledan.

To ne znači da morate uzeti najskuplji raspoloživi host. Postoje neki izuzetno dobri hosting provajderi koji su relativno jeftini.

Sigurne lozinke

Postoje različiti načini da se osigura vaš WordPress sajt, ali zbog ovog članka bavimo se najosnovnijim i najlakšim za implementaciju.

Kada instalirate novu WordPress stranicu, dobijate opciju da promenite podrazumevano korisničko ime, a vi ste takođe dužni da izaberete lozinku. Uverite se da je lozinka duga, komplikovana lozinka, idealno sastavljena od slova, brojeva i simbola. Slova moraju biti mješavina gornjeg i donjeg slova. Napadi na grubu silu traže ime administratora kao i slabe lozinke. Ne olakšavajte hakerima da pristupe vašoj web-lokaciji.

Zaštitite stranicu za prijavu na WordPress

Ovo je korak koji će vam mnogi WordPress sigurnosni dodaci ponuditi za vas, ali to je i nešto što se može učiniti ručno s relativnom lakoćom. Jedan od koraka u kojem to možete uraditi je preimenovanje vašeg URL-a za prijavu. Podrazumevano, stranici za prijavu na WordPress se pristupa pomoću wp-login.php ili wp-admin.php nakon URL-a sajta. To znači da svatko tko zna URL vaše web-lokacije zna i URL za pristup administratoru web-lokacije ako ste ga promijenili.

Ono što želite da uradite je nešto ovako:

  • Promijenite wp-login.php na nešto poput cool_new_login
  • Promijenite wp-admin.php na nešto poput cool_new_admin

Instalirajte SSL certifikat

Mislili ste da sam zaboravio na ovo, zar ne? Ne. Evo koraka za dobijanje i instaliranje SSL certifikata.

U zavisnosti od toga gde je hostovan vaš sajt, možda ćete moći da dobijete SSL sertifikat bez nadoknade preko vašeg provajdera hostinga. Ako to nije slučaj, postoji niz drugih provajdera preko kojih možete kupiti certifikat. Godišnji troškovi se kreću od 5 do 200 dolara.

Ako vaš host pruža certifikat bez naknade, oni će imati način da se instalira na vašoj web-lokaciji. Ako ste kupili certifikat, možete se obratiti hostu i zamoliti ga da ga instalira za vas, ili odabrati WordPress dodatak koji će ga instalirati.

Razumijevanje zlonamjernog softvera

Original: http://xfront.com/malware/index.html

Roger Costello

Nedavno sam krenuo da učim o malveru. Da bih organizovao svoje misli, kreirao sam model relevantnih koncepata. Malver uključuje softverske programe, tako da sam morao modelirati programe – njihove ulaze i izlaze. Saznala sam da malver uključuje namjeru da se nanese šteta, pa sam morao modelirati ljude koji kreiraju programe s namjerom (bilo zlonamjernim ili dobroćudnim) i modelirati pojam štete. Saznala sam da ne postoji opšteprihvaćena definicija malvera. Neki ljudi zlonamjernog softvera definišu kao softver koji je kreiran sa zlonamernim namerama; drugi je definiraju kao softver koji uzrokuje štetu. Usvojio sam definiciju da je malware softver koji je stvoren sa zlonamernim namerama i kada se njegovi rezultati izvrše štete.

U nastavku su izjave entiteta i odnosa izrazio u svom modelu. Imajte na umu da koristim riječ program, a ne softver. Ja razliku između programa i ulaza programima. Ulazi mogu biti softver, kod, tekst ili binarni. Programi obrađuju (izvršavaju/interpretiraju) ulaze. Cilj je da se odredi koji ulazi su zlonamjernog softvera.

  1. Programi stvaraju ljudi.
  2. Ulaze u programe kreiraju ljudi.
  3. Svaki ulaz u program proizvodi jedan izlaz.
  4. S obzirom na isti ulaz, program uvijek proizvodi isti izlaz.
  5. Program je kreiran da obrađuje određeni skup ulaza i proizvodi određeni skup izlaza. Stvarni skup ulaza u program i izlazi koje proizvodi program može biti veći. To jest, očekivani U/I je podskup stvarnog U/I.
  6. Kada osoba kreira ulaz u program, on ima ili benigne ili zlonamerne namere.
  7. Neki rezultati izazivaju štetu.
  8. Ulazni podaci koje program kreira za obradu su benigni. Izlazi koje je program kreirao da bi proizveli ne štete.
  9. Ako su gore navedene tvrdnje zadovoljene, logično slijede sljedeći zaključci:
  • Unosi koje je program kreiran za obradu nisu malware; samo ulazi koje program nije kreiran za obradu može biti malware.
  • Softver napisan sa benignom namerom može biti malware. Mogu postojati benigni ulazi koji, kada se izvršavaju programom, rezultiraju izlazima koji uzrokuju štetu.

——————————

Modeliranje uključuje apstrahovanje irelevantnih aspekata i pojednostavljenje nekih relevantnih aspekata. Pokazao sam gore navedene izjave prijatelju i on je identifikovao stvari koje je moj model izostavio i pojednostavio. U nastavku su komentari mojih prijatelja, u crvenoj boji.

1. Programi stvaraju ljudi.

Neki programi su kreirani od strane drugih programa. Na primjer, Lexu se daje gramatika kao ulaz i izlazi parser (koji je program). Dakle, program je kreirao program.

2. Ulaze u programe kreiraju ljudi.

Većina današnjeg softvera je ugrađeni softver. Ti programi dobijaju ulazne podatke od senzora i aktuatora. Dakle, većina unosa je od ne-ljudi.

3. Svaki ulaz u program proizvodi jedan izlaz.

Ako program ne uspije, možda neće proizvesti nikakav izlaz, ili može proizvesti pogrešan izlaz, ili može proizvesti pravi izlaz u pogrešno vrijeme (što je, u suštini, ista stvar kao i pogrešan izlaz).

4. S obzirom na isti ulaz, program uvijek proizvodi isti izlaz.

To gotovo nikada nije istinito u ugrađenim real-time programima. Na primjer, ulaz programa je ventil za kavu koji kontrolira protok vode u aparat za kavu, a izlaz je nivo vode. Dajte programu isti ulaz (ventil) i gotovo uvijek će izlaz (nivo vode) biti drugačiji.

5. Program je kreiran da obrađuje određeni skup ulaza i proizvodi određeni skup izlaza. Stvarni skup ulaza u program i izlazi koje proizvodi program može biti veći. To jest, očekivani U/I je podskup stvarnog U/I.

Program treba uvijek provjeriti ulazne podatke prije obrade. Dakle, skup ulaza koji se obrađuju treba da bude jednak skupu ulaza koje je program kreirao za obradu.

6. Kada osoba kreira ulaz u program, on ima ili benigne ili zlonamerne namere.

Kao što je ranije rečeno, ljudi nisu jedini entiteti koji stvaraju ulaze. Da li senzori i aktuatori imaju namjere?

7. Neki rezultati izazivaju štetu.

U redu.

8. Ulazni podaci koje program kreira za obradu su benigni. Izlazi koje je program kreirao da bi proizveli ne štete.

Razmislite o programu koji kontrolira krilo. Ulaz je iz pitot cijevi. Pretpostavimo da postoji led na pitot cevima, što dovodi do ulaza u program koji proizvodi izlaz (konfiguracija krila) koji uzrokuje da avion zastane. Ulaz je u rasponu koji očekuje program i ima benigne namjere (pod pretpostavkom da pitot cijev ima namjere), ali izlaz proizvodi štetu.

Ako su gore navedene tvrdnje zadovoljene, logično slijede sljedeći zaključci:

  • Unosi koje je program kreiran za obradu nisu zlonamjernog softvera; samo ulazi koje program nije kreiran za obradu može biti zlonamjernog softvera.

Krasan.

  • Softver napisan sa benignom namerom može biti zlonamjernog softvera. Mogu postojati benigni ulazi koji, kada se izvršavaju programom, rezultiraju izlazima koji uzrokuju štetu.

Da, postoje neki doprinosi koji su benigni i ipak dovode do štete. Niko nije nameravao da sistem zračenja izazove štetu, ali zbog grešaka u sistemu, neko je ubijen.

——————————

Sjetite se da sam usvojio definiciju da je malware softver koji je stvoren sa zlonamjernim namjerama i kada je izvršen uzrokuje štetu. Evo šta je moj prijatelj rekao o tome:

Pretpostavimo da postoji greška u dizajnu programa, koji otkriva ranjivost da neko eksploatiše; je taj program zlonamjernog softvera? Je implementacija buggy zlonamjernog softvera samo zato što mogu iskoristiti? Mislim da je to SSH koji je imao bubu u njemu nešto poput 10 godina dok neko iskoristio bug. Da li je program SSH zlonamjernog softvera za 10 godina da bug nije otkrivena? Šta ako postoji greška u dizajnu programa koji ima potencijal da uzrokuje štetu, npr greška u softveru aviona koji može uzrokovati da sruši. Da li je to zlonamjernog softvera?

Zadnja izmjena: 15. travnja 2019. Autor: Roger Costello