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
DyNet

Source: http://www.casos.cs.cmu.edu/projects/DyNet/dynet_info.html Kathleen M. Carley, direktorica centra za računalnu analizu društvenih i organizacijskih sustava, ISR, Sveučilište Carnegie Mellon, Pittsburgh, PA 15213, ured: 412-268-6016, FAX: 412-268-2338; E-adresa: [email protected] Problem: terorističke organizacije imaju mrežne strukture koje se razlikuju od onih u tipičnim hijerarhijskim organizacijama – one su stanične i distribuirane. Dok većina zapovjednika, …

Computer science
Što je IrfanView?

Source: https://www.irfanview.com/main_what_is_engl.htm IrfanView je brz, kompaktan i inovativan SLOBODAN SOFTVER (za nekomercijalnu upotrebu) grafički preglednik za Windows XP, Vista, 7, 8 i 10. (kliknite ovdje za IrfanView EULA) Osmišljen je da bude jednostavan za početnike i moćan za profesionalce. IrfanView nastoji stvoriti jedinstvene, nove i zanimljive značajke, za razliku od nekih …

Computer science
Scherk-Collinsov generator skulptura

Source: http://people.eecs.berkeley.edu/~sequin/SCULPTS/scherk.html Carlo H. Séquin Neke od Brent Collinsovih nedavnih skulptura od drva mogu se razumjeti geometrijski kao prstenovi sedlastih površina nastalih zbog toroidalnog savijanja skraćene minimalne površine Scherka. Razvijen je računalni program za vizualizaciju različitih konfiguracija takvih sedlastih prstena s različitim brojem rupa i različitim količinama pletiva. Eksperimentiranje s različitim …