Thursday, May 16, 2019

15. nädal - käitumisreeglid... ehk Code of Conduct


Selle nädala ülesanne oli valida üks IT firma ja analüüsida nende "eetikakoodeksit" (ehk siis käitumisreegleid - Code of Conduct). Mina valisin firmaks Nokia ning põhjusi oli kaks. Esiteks oli see teiste firma omadest pisut lühem (üldine suurus oli kuskil 30-40 lk kandis... oli ka erandeid... Facebookil oli ainult 19 lehekülge). Teine (ja pisut suurem põhjus) oli see, et mulle meeldis formaat (mida ma siinkohal arutangi veidi pikemalt).

Enne kui me üldse hakkame vaatama mingeid dokumente tuleks mõelda sellest, et milline võiks üks hea Code of Conduct välja näha. Sisu poolest võiks see sisaldada järgmiseid asju. Firma põhiväärtused - ainuüksi selle põhjal võib üht-teist öelda firma asutajate, juhatuse, töötajate jne. kohta ("Kui sa jääksid üksikule saarele lõksu ja saaks ainult ühe asja kaasa võtta, siis mis see asi oleks?" Suhteliselt vana küsimus aga sinu vastus ütleb nii mõndagi sinu kohta). Teise asjana võiks kirjas olla, et mida loetakse vastuvõetavaks käitumiseks ja mida mitte (siin võiks kirjeldada nii head kui ka halba käitumist). Kolmandana peaks kindlasti kirjas olema, et mis juhtub kui neid reegleid ei täideta ja kuidas töötajad peaksid teatama reeglite rikkumisest (kas on avatud ukse poliitika, kas saab anonüümselt teada anda jne.). Kõige eelpool nimetatu juures on üks tähtis aspekt... see dokument peab jääma lihtsalt loetavaks/arusaadavaks. Kui sa ikka asja seadusi ja legaalset terminoloogiat täis topid, siis ei taheta seda eriti lugeda (ja meelde jätmisest ma ei räägigi). Sama käib kujunduse kohta... asi peaks olema loogiliselt ülesse ehitatud.

Nüüd räägime siis sellest, et mis mulle Nokia Code of Conduct-i juures meeldib. Esimese asjana mis mulle silma torkas oli see, et kujundus oli väga hea. Info oli organiseeritud kolme tulpa ja igal lehel/slaidil oli eraldi teema. Vasakus ääres oli kirjas teema pealkiri ja kirjeldus. Keskel oli "Mida mina pean teadma" tulp ja seal oli kirjas, et kuidas antud teema sind puudutab. Näiteks Insider Tradingu kohta oli öeldud mida sa ei tohi teha kui sul on salajast (firmasisest) informatsiooni (ei tohi teistele rääkida, müüa/vahetada seda infot, selle info põhjal investeerimisnõu anda jne.). Kolmas tulp oli "Mille suhtes ma pean ettevaatlik olema" ning see oli põhimõtteliselt näidete tulp (et milliseid asju silmas peetakse). Näiteks kui räägiti intellektuaalsest varast ja konfidentsiaalsest infost, siis toodi näitena turvamata printerisse töö saatmist, avalikus kohas konfidentsiaalsetel teemadel rääkimist ja tundliku info valet sildistamist jms. (näiteid oli muidugi kõvasti rohkem). Veel parem näide sellisest "näidete tulbast" oli The Hershey Company Code of Conductil, kus oli "What if?" lõiguke paljudel lehtedel ja see oli konkreetselt küsimus-vastus formaadis (ehk näited elust enesest). Nokial olid need näited pigem sellise neutraalse/legaalse tooniga aga Hershey puhul ma üldse ei imesta kui firmas koostati FAQ ja sealt võeti küsimusi sisse.

Tuesday, May 14, 2019

14. nädal - Social engineering


Kui me räägime inimeste manipuleerimisest (ehk social engineeringust), siis tuleb mulle kohe meelde Kevin Mitnick (ja muidugi Frank William Abagnale, kes ei tegelenud küll IT-ga kuid oli sellegi poolest väga osav manipuleerija). Kevin Mitnick oli umbes 5 aastat vangis seoses erinevate arvuti- ja kommunikatsioonisüsteeme puudutavate kuritegude eest ja Frank Abagnale veetis vähem kui 5 aastat vangis pettuste/võltsimiste jms. eest (tal oli väidetavalt vähemalt 8 täiesti erinevat identiteeti).

Alustame siis sellest, et mida social engineering endast kujutab. Social engineering kasutab ära inimlikke nõrkusi (ja/või rumalust), et pääseda ligi infole, ressurssidele (näit. IT ressursid) jne. Selle eesmärgi täitmiseks on välja mõeldud igasuguseid erinevaid tehnikaid ja need lähevad küllaltki tihti läbi, sest suurem osa inimesi katsub olla abivalmis ja kuulekas (paljudes kohtades on see nõue lausa töökirjelduses sees). Sellepärast öeldaksegi, et süsteemi nõrgim lüli asub tooli ja ekraani vahel. Üks hea näide nendest "inimlikest nõrkustest" on tahtmine mitte võlgu jääda. Seda ära kasutada on lihtne... kui sa teed midagi sellist, mis teist inimest aitab, siis jääb tihti sellele inimesele tunne nagu ta võlgneks sulle midagi (mis muudab ta veidi vastutulelikumaks su soovide suhtes). See asi toimib ka vastupidi... kellele ei meeldiks olla see "hea inimene", kes teise hädast välja aitab. Sa võid helistada oma ohvrile ja kurta kuidas ülemus elab seljas ja sul oleks vaja mingi asi/ülesanne ära teha, et muidu võid kinga saada jne... paljud inimesed oskavad seostuda sellega ja üldjuhul tahavad aidata (sest nad ise sooviks ka abi sellises olukorras). Social engineeringu meetodeid on väga palju ja kõigist me siin rääkida ei jõuaks.

Mida peab silmas pidama on see, et tihti küsitakse sellist infot, mis esijalgu tundub kahjutu. Tavaliselt ei tule sul keegi ligi, et "Ütle mulle oma kasutajanimi ja salasõna!" (seda juhtub üliharva). Tavaliselt jagatakse rünne laias laastus kahte faasi - info kogumine ja rünne ise. Suurem osa ajast läheb info kogumise alla, sest sellest sõltub kas rünnak on edukas või mitte. Info kogumine võib olla lihtne telefonikõne (nagu eelpool mainitud), kust sa saad paar infokildu, mis üksi ei paista eriti tähtsad olevat (aga kui neid piisavalt palju koguneb, hakkad sa nö. suurt pilti nägema). Dumpster diving on ka üsna vanakooli tehnika. Nagu nimi vihjab, lähed sa prügikasti sobrama. Inimesed viskavad igasugu tähtsat infot ära ilma sellest korralikult vabanemata, ehk siis ei kasutata paberihunti (kuigi isegi läbi hundi lastud dokumente on vahel võimalik kokku kleepida... kui aega ja kannatust on). Kogutud info on oluline, sest see aitab sul veenda oma ohvrit, et sa oled tõepoolest see kellena sa ennast tutvustad ning et ta võib sind usaldada. Frank Abagnale ütles näiteks, et arsti ja piloodi teesklemine oli raske, sest sa pidid olema kursis vastavate terminitega (ehk lingoga). Kui sa eeltööd ei tee ja üritad teisi piloote veenda, et sa oled üks neist, siis võetakse sind päris kiiresti vahele.

Mida peaks siis enda kaitsmiseks ära tegema? No esimene samm oleks kindlasti koolitamine. Tuleb personali õpetada ära tundma selliseid nõkse. Väärtuslik info on väärtuslik sõltumata sellest, et kas see tuli ülemuse või koristaja käest. Seega tuleks koolitada kõiki. Omast kogemusest lisan ma juurde ka näiteks sellise asja, et paljudel (eriti veidi vanematel) arvutikasutajatel on selline suhtumine, et ah kes see ikka mind soovib rünnata... mul nagunii midagi võttmist väärt ei ole. Selline võlts turvatunne muudab minu arust ka ohvriks langemise tõenäosust suuremaks. Teine samm oleks siis reeglite määramine. Kui inimesel on täpselt määratud reeglid ees, siis on lihtsam vältida igasugu lõkse. Näiteks kui öeldakse, et X infot võib väljastada ainult juhataja kirjaliku loa alusel, siis tavaliselt libedast jutust ei piisa... rõhk sõnal tavaliselt). Kõik see ei tohiks jääda ainult teooria tasandile vaid ka praktiliselt tuleks teste läbi viia... saata phishing kirju, teha telefonikõnesid jne. Sammuti ei tohiks see ühekordne sündmus olla vaid seda tuleks vahetevahel korrata. Minu isiklik arvamus on, et tehnoloogial on küll tähtis roll turvalisuse tagamisel aga mitte nii tähtis kui eelmisel kahel. Frank Abagnail näiteks ütles, et ükski süsteem ei ole lollikindel. Peaaegu igal süsteemil on kaks suurt puudust. Esiteks... ükski tehnoloogia ei aita social engineeringu vastu... kui ma helistan sulle veenan sind tegema seda mida ma tahan siis ei ole tehnoloogiast eriti kasu. Teine lähenemine on lihtne... kui ma ikkagi panen sulle püstoli kuklasse, siis sa teed mida ma käsin. Sel juhul ei pruugi koolitus ja reeglid ka aidata... äkki sul on teine PIN kood veel, mida häda korral kasutada... aga kui sa piisavalt palju kardad (näiteks ründaja on teadlik, et kaks PIN-i on), siis sa lihtsalt ei julge kasutada seda. 

Nagu ma eespool mainisin, on social engineering väga lai teema, nii et siin jõudsin ma sellest väga väikese osa ära katta. Kui on soovi lähemalt tutvuda asjaga (et kes seda kasutab, milleks, millised ründevektorid on olemas jne.), siis soovitan külastada social-engineer.org lehte.

Friday, May 10, 2019

13. nädal - BrightSign glove

Selle nädala teemas tuli valida enda jaoks üks uudsem tugilahendus. Minu jaoks on teema valik ühelt poolt väga lihtne... sest minu jaoks on kõik tugilahendused uudsed (ma ei tea eriti palju tugilahendustest) ning samas väga raske (samal põhjusel). Seega otsisin ma midagi, mis tunduks huvitav. Juhuslikult leidsin ma sellise asja nagu BrightSign glove (ps: kui seda otsida, siis tuleb arvestada, et on olemas ka firma mille nimi on lihtsalt BrightSign, mis ei paista BrightSign gove-ga seotud olevat). Nagu välja tuli on asi nii uus, et seda ei ole veel müügiski (pre-order on ainult võimalik). Sellepärast on raske öelda kas ja kui hea see toode tegelikult on (kõik järgnev põhineb toote kodulehel ja erinevatel intervjuudel... ehk siis ei ole tegemist objektiivse infoga).


Mida see seade siis täpsemalt teeb? Toode on eelkõige mõeldud viipekeele kasutajatele. Sa paned kinda kätte, "ütled" midagi viipekeeles ja su randmel olev seade ütleb selle sõnades välja. Ehk teisisõnu lihtsustab see viipekeele kasutajate jaoks igapäevast suhtlemist. BrightSign glove sisaldab õhukest läbipaistvat "aluskinnast", mille sisse on hunnik sensoreid paigaldatud ning selle aluskinda peale võib panna enda soovitud välimusega kinda. Ma kujutan ette, et asja mõte on selles, et sa võid ükskõik milliste kinnastega seda kasutada (näit. talvel paksemad, suvel õhemad jne). Siin tekib aga see küsimus, et kas nad tõesti ei suutnud valida mõnda ilusama disainiga kinnast oma promo pildile... see meenutab mulle Nintendo PowerGlove-i (ma vähemalt loodan, et see pilt ei ole eelpool mainitud "aluskindast", sest pildil olevat kinnast ma küll mingil moel ei kirjeldaks kui õhukest... muidugi eks pildi pealt võib asi paksem tunduda kui ta tegelikult on). Kogu ülejäänud riistvara asub randmel kantavas karbis. Toode sobib näiteks väga hästi lastele, kes näiteks koolis (või pargis) soovivad teiste (viipekeelt mitte oskavate) lastega suhelda. Sammuti tuleb asi kasuks haiglates ja sarnastes avalikes kohtades, kus ei pruugi viipekeele tõlki saadaval olla. 


Milliseid katsumusi tuli siis ületada, et sellist seadet teha? No kõigepealt oli sellise ideega äri alustamine ise juba suhteliselt riskantne ettevõtmine, sest seda on ennegi proovitud. Kahjuks midagi sellist, mis oleks piisavalt täpne, et seda müüa oleks võimalik, ei ole aga õnnestunud luua. Autori (Hadeel Ayoub) enda sõnade kohaselt: "Kõik ütlesid, et ma seda ei teeks, kõik arvasid et seda ei ole võimalik teha." Et mida rohkem ta koole külastas (ja päris peredega testis), nägi ta et selline tehnoloogia on vajalik. Tänu oma uuringutele avastas ta, et tema eelkäiad olid alati teinud ühe suure vea. Nimelt üritasid nad teha "üks suurus sobib kõigile" toodet. Ehk programmeeriti seadmesse ettemääratud liigutuste ära tundmine, mis oli kõikidel toodetel sama. Esmapilgul tundub see hea mõte olevat aga unustati arvesse võtta, et igal inimesel on natuke erinevad liigutused ning motoorsed võimed... ehk siis nad liiguvad erinevalt. BrightSign lubab kasutajal oma isiklikke liigutusi/žeste salvestada ja tänu sellele pidavat asjal olema 97% täpsus. Isiklikult arvan ma, et sellisel lähenemisel on nii hea kui ka halb külg. Hea külg (nagu varem sai öeldud) on see, et kinnas õpib sinu kiikse, mitte vastupidi, mis tähendab ka seda, et kinnast saavad kasutada ka inimesed, kes ei räägi traditsioonilist viipekeelt vaid lihtsalt suhtlevad käte abil (alternatiivsed viipekeeled nagu Makaton, insuldi kahjustusega või autistlikud inimesed jne.). Halb külg (standardse viipekeele kasutajatele) on see, et kuna iga kinnas on vastavalt kasutajale kohandatud (ja viiped võivad erinevad olla), siis ei saa sa korraks oma kinnast teisele inimesele anda, kes hädas on (aga ma arvan, et plusse on kõvasti rohkem kui miinuseid). Eks asi sõltub sellest, et kui raske asja seadistada on... kui on lihtne, siis ma näen vabalt, et näiteks haiglates jms. kohtades on paar sellist kinnast olemas. Kui nüüd mõni viipekeele rääkija sinna tuleb/tuuakse, siis oleks võimalik tal seda kinnast kasutada.

Nagu ma alguses mainisin, siis see toode ei ole hetkel veel saadaval (pre-order ainult). Kuna pre-order alustas isikliku teabe küsimisega (mida mina sisestada ei tahtnud), siis ma täpset hinda ei oska öelda. Toote autor ühes intervjuus ütles, et paarisaja GBP kanti läheb ja teises ütles, et umbes 700 GBP, nii et raske öelda mis see lõplik hind on (ta ütles, et teised tugilahendused on üldiselt 2000+ GBP). Igatahes on tegemist huvitava tootega ja kui see kõik oma lubadused ka ära täita jõuab, siis on kindlasti tegemist väga kasuliku tootega.

Thursday, May 2, 2019

12. nädal - Räägime veebilehtede kasutatavusest

See ei ole mingi saladus, et kõik veebilehed ei ole võrdsed. Mõni leht tundub väga lihtsalt ja loogiliselt ülesse ehitatud aga samas mõnel eksle tükk aega ringi enne kui sa asjale pihta saad. Et asi lihtsam oleks otsutasin ma nii teha, et selle asemel, et vaadata ühte head lehte ja ühte halba, võtame me ühe (väga) halva lehe ja toome kõrvale võrdluseks detaile lehtedest kus antud probleem(id) on hästi lahendatud.

Halvaks näiteks ma päris sellist lehte võtta ei tahtnud, mis on nimelt halvasti disainitud (näiteks enam levinud vigade näitamiseks) aga õnneks leidsin ma ühe lehe, mis on eelpool mainitud lehtedele väga sarnane aga antud juhul paistab tegemist olevat ametliku kodulehega. Selleks leheks on siis arngren.net ja tegemist on Norras asuva elektroonikat jms. vidinaid müüva poe kodulehega (lihtsuse huvides viitan ma edaspidi sellele lehele kui "super lehele"). Seal lehel on nii palju aju valesti, et kui ma hakkaks neid kõiki ükshaaval välja tooma, siis me jääkski siia. Suurim probleem, mis kohe silma torkab on see, et lehel on liiga palju asju, mis on kõik eri suurusega, eri värvides ja eri asetusega. Selle probleemi lahendamiseks võiks kasutada näiteks (CSS-is) grid-i (või mõnda muud sarnast tehnoloogiat). Kui me vaatame näiteks 1a.ee lehte, siis seal on palju vähem asju korraga väljas ning nad on palju paremini lehe peale ära jaotatud (iga toote jaoks on sama suur kast tehtud ja need kastid on täpselt organiseeritud ridadesse/tulpadesse). Super lehel ei ole ma isegi kindel, et mis järjekorras ma peaks neid pilte vaatama või kas ma mõnda pilti olen äkki juba vaadanud jne... see on kaos. Nagu eelpool mainitud sai, puudub seal ühtne mall... pildid on eri suurusega, eri kirjastiiliga, osadel on hind pildi juures, teistel mitte jne. Disainilt ütleks ma, et on üritatud veebilehte disainida nagu mõnda trükitavat reklaamlehte (ainult et on üritatud hästi palju asju korraga ära mahutada).

Teise asjana torkas mulle silma navigeerimine. Menüü on jube. Seal on rohkem kui 40 valikut, mis jällegi on eri suurustes, eri värvides ja mis kõige hullem... korraga nähtaval. Tänu sellele on menüü kirjutatud väga väikese kirjaga ja kui sa ei tea täpselt mida sa otsid, siis läheb sul sobiva menüüpunkti leidmiseks parasjagu aega (menüü on tähestikulises järjekorras). Ma arvan, et suurem osa inimesi jääb minuga nõusse, et see on väga halvasti disainitud menüü. Milline oleks siis hästi disainitud menüü? Esimese asjana võiks uurida, et kuidas informatsiooni oleks võimalik grupeerida nii, et see inimeste jaoks loogiline tunduks. 40+ menüü asemel võiks olla vähem kui 10 gruppi ning nendel vajutades avaneb leht kus on tolle grupi alamvalikud. Näiteks kui me vaatame Experdi kodulehte, siis pealehel on 10 gruppi (Telerid, Audio-video, IT, jne...) ning kui sa näiteks Audio-video nupu peal vajutad, siis tuleb alammenüü nähtavale. Seal on veel omakorda asi jagatud loogilistesse gruppidesse, mis muudab soovitud asja ülesse leidmise palju lihtsamaks (et kõigepealt vaatad oranži kirjaga gruppide nimetusi ning kui leiad sellise grupi kuhu sinu otsitav asi võiks kuuluda siis vaatad mis valikud selle grupi all on). Siinkohal lisaks ma omalt poolt, et mõnes kohas piisab hiirega menüü peale minekust, et alammenüü lahti tuleks aga mina eelistan seda süsteemi, kus tuleb ikka hiirega vajutada. Põhjuseks jällegi kasutusmugavus... kui sa ikka hiirega lahti menüü vajutad, siis ei lähe ta ise kohe kinni kui sa kogemata kursori valesse kohta viid (mobiiliga ka lihtsam kasutada).

Kolmandaks tooks ma välja sellise asja nagu responsive design. Asja mõte on siis selles, et kui ma vaatan näiteks suurel ekraanil (desktop pc), siis oleks üks disain aga kui ma avan sama asja tahvelarvutis, siis muutuks lehe disain vastavalt ekraani suurusele (samamoodi kui ma näiteks veel väiksemale ekraanile liigun). Ma isiklikult seda surmapatuks ei pea kui veebilehel mobiili jaoks eraldi versiooni ei ole (mõnel lehel näiteks ma lülitan telefonis, et ta desktop versiooni annaks, sest mobiili versioon on kas halvasti disainitud või lihtsalt väga harjumatu). Samas tänapäeval liigutakse ikka selles suunas, et mobiili pealt peaks olema asi (normaalselt) vaadatav. Super leht paneb sellega aga veel rohkem puusse. Ma alguses ei pannud tähele (sest sellel lehel on nii palju asju valesti) aga all ja paremas ääres olid päris suured kerimisribad. Nagu välja tuli on seal lehe laius ja pikkus käsitsi määratud... kui ma lähtekoodi vaatasin, siis paistis, et leht on sätitud 3500x2587 suurusega. Jällegi, mina kui amatöör veeblehtede tegemises olen ka katsetamise käigus teinud fixed width lehe aga ma valisin just vastupidi veidi väiksema suuruse... et ka väiksematel monitoridel leht ära mahuks... antud juhul ma ei kujuta ette, et kust selline suurus võeti (kas "disaineril" oli nii suur monitor või võeti lehe suurus selliselt, et kõik lehele ära mahuks vms). Mul on hetkel 14" laptop ees ja horisontaalselt on koduleht peaaegu kolm korda laiem kui mu ekraan. Kõige lihtsam näide responsive design-ist... võtke lahti näiteks Youtube ja muutke akna suurust järjest väiksemaks. Samal ajal jälgige kuidas leht muutub (millised nupud on, kus nad asetsevad jne.). Ma tean, et osadel inimestel on kinnisideeks, et veebileht peaks igal pool samasugune välja nägema aga ma usun, et ei pea.

Probleeme jagub sellel veebilehel veel aga rohkem ma hetkel välja tooma ei hakka, sest see kirjatükk hakkab õige pikaks juba venima. Eespool toodud näidete puhul ma muidugi ei väida, et nood lehed 100% hästi disainitud on vaid ma vaatlesin ainult konkreetset (võrreldavat) elementi nendelt lehtedelt.