Razumijevanje zlonamjernog softvera

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

Nedavno sam krenuo učiti o zlonamjernom softveru. Da bih organizirao svoje misli, stvorio sam model relevantnih koncepata. Malware uključuje softverske programe, pa sam morao modelirati programe – njihove ulaze i izlaze. Naučio sam da zlonamjerni softver uključuje namjeru da se nanese šteta, pa sam trebala modelirati ljude koji stvaraju programe s namjerom (bilo zlonamjernim ili benignim) i modelirati pojam štete. Saznala sam da ne postoji općeprihvaćena definicija zlonamjernog softvera. Neki ljudi zlonamjerni softver definiraju kao softver koji je stvoren zlonamjernom namjerom; drugi ga definiraju kao softver koji uzrokuje štetu. Usvojio sam definiciju da je zlonamjerni softver stvoren sa zlonamjernom namjerom i kada se njegovi rezultati izvrše štete.

Ispod su izjave entiteta i odnosa sam izrazio u svom modelu. Imajte na umu da koristim riječ  programu, a ne  softver. Ja razliku između  programa ulaza do programa. Ulazi mogu biti softver, kod, tekst ili binarna. Programi proces (izvršiti/interpretirati) ulaza. Cilj je odrediti koji ulazi su zlonamjerni.

  1. Programi su stvorili ljudi.
  2. Ulazi na programe su stvorili ljudi.
  3. Svaki ulaz u program proizvodi jedan izlaz.
  4. S obzirom na isti ulaz, program uvijek daje isti rezultat.
  5. Program je stvoren za obradu određeni skup ulaza i proizvoditi određeni skup izlaza. Stvarni skup ulaza u program i izlaza u produkciji programa mogu biti veće. To je, očekuje ulaz/izlaz je podskup stvarni ulaz/izlaz.
  6. Kada osoba stvara unos u program, on je benigni ili zlonamjerne namjere.
  7. Neki izlazi uzrokovati štetu.
  8. Ulazi koje je program stvorio procesu su benigni. Izlazi da je program stvoren za proizvodnju ne uzrokuju štetu.
  9. Ako se gore navedene izjave zadovoljni, onda slijedeći zaključci logično slijedi:
    • Ulazi koji program je stvoren kako bi proces nisu zlonamjerni, samo ulazi da program nije stvoren da proces može biti zlonamjerni.
    • Softver napisan s benignom namjerama može biti zlonamjerni. Tu može biti benigni ulaza koji, kada se izvršavaju pomoću programa za posljedicu izlaza koji uzrokuju štetu.

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

1. Programi su stvorili ljudi.

Neki programi su stvorili druge programe. Na primjer, Lex je dao gramatike kao ulaz i izlaz rastavljača (koji je program). Dakle, program stvorio program.

2. Ulazi na programe su stvorili ljudi.

Većina današnjeg programa je ugrađen softver. Ti programi dobili svoje inpute od senzora i aktuatora. Dakle, većina je unos od ne-ljudi.

3. Svaki ulaz u program proizvodi jedan izlaz.

Ako program ne uspije, to ne bi mogli proizvesti bilo koji izlaz, ili to može proizvesti pogrešan izlaz, ili bi to moglo proizvesti pravi izlaz u krivo vrijeme (što, u biti, ista stvar kao i na krivom izlaz).

4. S obzirom na isti ulaz, program uvijek daje isti rezultat.

To je gotovo nikad ne vrijedi ugrađenih u realnom vremenu programa. Na primjer, ulaz programa je aparat za kavu ventil koji kontrolira protok vode u aparat za kavu, a izlaz je razina vode. Dajte Program isti ulaz (ventil) i gotovo uvijek (vodostaj) izlaz će biti drugačiji.

5. Program je stvoren za obradu određeni skup ulaza i proizvoditi određeni skup izlaza. Stvarni skup ulaza u program i izlaza u produkciji programa mogu biti veće. To je, očekuje ulaz/izlaz je podskup stvarni ulaz/izlaz.

Program treba uvijek provjeriti ulaza prije nego što ih obrađuje. Dakle, skup inputa koji se obrađuju treba biti jednak skup ulaza Program je stvoren za obradu.

6. Kada osoba stvara unos u program, on je benigni ili zlonamjerne namjere.

Kao što je ranije navedeno, ljudi nisu samo osobe koje stvaraju ulaza. Da li senzori i aktuatori su namjere?

7. Neki izlazi uzrokovati štetu.

U redu.

8. Ulazi koje je program stvorio procesu su benigni. Izlazi da je program stvoren za proizvodnju ne uzrokuju štetu.

Razmislite program koji kontrolira krilo. Ulaz iz Pitot cijevi. Pretpostavimo je led na Pitot cijevi, što je rezultiralo ulaz na program koji proizvodi izlazni (konfiguracije krila) koja uzrokuje da se zrakoplov zastoja. Ulaz je u rasponu očekivanog po programu i ima benigne namjere (uz pretpostavku Pitot-cijev ima namjeru), ali je izlaz proizvodi štetu.

9. Ako se gore navedene izjave zadovoljni, onda slijedeći zaključci logično slijedi:

  • Ulazi koji program je stvoren kako bi proces nisu zlonamjerni, samo ulazi da program nije stvoren da proces može biti zlonamjerni.

Uredan.

  • Softver napisan s benignom namjerama može biti zlonamjerni. Tu može biti benigni ulaza koji, kada se izvršavaju pomoću programa za posljedicu izlaza koji uzrokuju štetu.

Da, postoje neki unosi koji su benigni, a ipak rezultiraju štetom. Nitko namijenjen za sustav zračenja uzrokuju štetu, ali zbog greške u sustavu, netko je ubijen.


Sjetite se da sam usvojio definiciju da je zlonamjerni softver softver stvoren zlonamjernim namjerama i kada je izvršen uzrokuje štetu. Evo što je moj prijatelj morao reći o tome:

Pretpostavimo da postoji mana u dizajnu nekog programa, koji izlaže ranjivost da netko iskorištava; je taj program malware? Je implementacija lud  malware  samo zato što se može iskoristiti? Mislim da je SSH koji je imao bug u njemu za nešto kao što je 10 godina dok netko iskorištava grešku. Je li SSH programa  zlonamjernih programa  za 10 godina da bug nije pronađen? Što ako postoji mana u dizajnu nekog programa koji ima potencijal da uzrokuje štetu, npr, propust u softveru zrakoplova koji može uzrokovati da se srušiti. Je li to malware?

Zadnja izmjena: 5. studenog 2018. Autor: Roger Costello

Computer science
*ORA-LITE

Source: http://www.casos.cs.cmu.edu/projects/ora/index.php *ORA-LITE je dinamičan alat za procjenu i analizu meta-mreže koji je razvio CASOS u Carnegie Mellonu. Sadrži stotine društvenih mreža, dinamičke mrežne metrike, metrike tragova, procedure grupiranja čvorova, identificiranje lokalnih uzoraka, uspoređivanje i kontrastiranje mreža, grupa i pojedinaca iz perspektive dinamičke meta-mreže. *ORA-LITE je korišten za ispitivanje kako se …

Computer science
Kratka povijest interneta

Source: http://www.walthowe.com/navnet/history.html Anegdotalna povijest ljudi i zajednica koji su doveli do interneta i weba (Zadnji put ažuriran 23. kolovoza 2016.) A Brief History of the Internet by Walt Howe is licensed under a Creative Commons Attribution- Noncommercial-Share Alike 3.0 United States License. Based on a work at www.walthowe.com. Internet je bio rezultat nekog vizionarskog razmišljanja …

Computer science
Intervjui s ranim razvojnim programerima · Internet povijest

Source: http://internetbrothers.com/interviews.htm O čemu se radi: Prije gotovo desetak godina, Internet Brothers intervjuirao je brojne rane pioniri u nezavisnoj zajednici produkcije web stranica. Neki su stvarali umjetnost, drugi su razvili nove tehnologije, neki su čak i počeli pokretati internetsku trgovinu. Svi su bili dobro poznati u web krugovima zbog svoje genijalnosti …