BigQuery och GDELT project

Denna vecka har varit händelserik, och då är det bara torsdag! Idag hade jag b.la lunchmöte gällande diskussion om mitt personliga projekt vid sidan om arbetet – TensorCT

Jag fick mycket goda råd och information om vad jag bör ta i beaktning när jag planerar projektet. En av de största och viktigaste punkterna gällande AI-entiteten som skall analysera, processa och profilera datan är att det görs utan influenser från min sida gällande personliga åsikter, moraliska ståndpunkter och/eller låta syftet med tjänsten kompromissa integriteten hos AI-entiteten.

Stor erfarenhet av data-mining/scraping avslöjade även limitationer/hinder i hur en tjänst kan samla in data från i den mängd och frekvens som kommer krävas. Vi pratar då om tusentals requests till ex en sida för att samla in data vilket inte går obehindrat förbi den mest basalt konfigurerade mod_evasive webbservern -> Blacklisting iom antal + frekvens.

Det finns naturligtvis sätt att kringå/ höja tröskeln för både mängd och frekvens på insamlingen av data genom att dela upp/segmnetera tjänsten på X antal IP’s och tuna in dessa så att inga varningsflaggor går igång- listan kan göras lång. Blev även tipsad om programvara som out of the box rekommenderades.

Jag vet att tjänsten jag vill bygga och dess funktion (värde) kommer baseras på den mängd och kvalité av data som finns tillgänglig + hur pass avancerad och välutvecklad AI-entiteten som bearbetar datan blir. Det var då mycket goda nyheter jag fick tipsat om The GDELT Project som är i många mån likt den tjänst jag själv vill bygga + att den redan innehåller all den data jag behöver för att i ett första steg deploya TensorFlow på en AWS och ha direkt tillgång till den data jag från början tänkt att mina/scrapa.

Jag skulle alltså direkt kunna börja med simuleringarna och ha tillgång till all denna data. Fantastiskt!

Jag ser då framför mig att en framtida scraper kommer vara ett viktigt komplement snarare än en dependency i början av projektet. Min tanke är att scrapern skall ha en logisk sida baserad på TensorFlow och ännu längre fram en exploit-toolbox påkopplad för att utföra automatiserade bruteforce/exploits mot flaggade resurser (ex ett stängt forum som främjar radikal/ terrorist -aktivitet) för att kunna samla in data.

Hur som haver, jag måste få loss tid privat nu för att påbörja projektet på allvar.

Allt gott!

Yubikey 4

Yubikey 4

Yubikey 4

Jag fick igår en Yubikey 4 att ta hem – och för er som är bekanta med tvåstegsverifiering så levererar företaget Yubico yubikeys (som jag nu skriver om) och yubihsm (hardware security models). Jag kommer ej att gå in på det senare – men mycket intressant läsning om just HSM finns att läsa om här.

På bussen hem från jobbet så passade jag på att koppla upp mig och börja använda min Yubikey 4. Primärt var jag intresserad av att aktivera tvåstegsverifiering för min tool-box (MacBook Air) vilket var en walk in the park tack vare mycket god dokumentering ( vi pratar om antal white-spaces som skall anges i  autorization filen för PAM konfiguration heh). Momenten innebar bla att ladda ner mjukvara för att konfigurera Yubikey 4 samt terminal-arbete på Macen.

Nu anser jag mig tillhöra kategorin super-user och denna typ av konfiguration ingår i viss mån i mitt dagliga arbete – men jag vill verkligen ge hatten av till den tekniker som skrivit guiden, den var i kategorin idiotsäker.

Efter ca 10min hade jag nu tvåstegsverifiering för inloggning på min tool-box.

Nästa steg blev då självklart att aktivera samma tvåstegsverifiering för denna blogg. Plugin tankades ner, aktiverades och ”konfigurerades” (Du anger din API nyckel samt ID).
Jag var lite för hastig här och läste ej om att det kan ta upp till 5 minuter innan Yubicos valideringsservrar är uppdaterade med min nya klient – och eftersom jag inte white-listat min IP hemma så lyckades jag stänga ute mig från admin iom brute-force skyddet.

Som tur har jag haft erfarenhet av sånt här förut- en klassiker är ju att i en aktiv SSH-session låsa ner brandväggen eller glömma white-lista sig i ex fail2ban. Då står man där snopen efter att sessionen gått ut. I detta fall så löste det sig med att logga in direkt och utföra en table-uppdatering i mySQL-databasen under active_modules för just denna site.

Det finns en hel del aktörer på marknaden som erbjuder tvåstegsverifiering i olika former (via mjukvara eller en kombination av både mjukvara + hårdvara som Yubikey 4).

Yubikey 4 är ej ensamma eller unika i sitt koncept, men det som kommer urskilja dessa företag och deras produkter är enligt min mening följande:

1. Hur pass hög säkerhet produkten erbjuder i paritet med användarvänlighet
2. Hur pass hög kvalité produkten har i paritet med priset

Den information jag fått ta del av gällande Yubikeys + den korta tid jag använt Yubikey 4 -har utan tvekan vunnit mitt förtroende. Jag är övertygad om att vi utöver biometrisk tvåstegsverifiering (som har sina limitationer) kommer att se denna typ av lösning ingå i betydligt fler företag/organisationers lägsta nivå av security compliance för just slutanvändare och deras hantering av privat/företagsdata. Stegen mellan ett taktiskt beslut till implementation blir bara kortare och kortare tack vare ett bredare stöd i väletablerade applikationer och tjänster – vilket nu leder mig till att gå vidare och aktivera Yubikey 4 för både Gmail och Github :-)

Tack Yubico för en grym produkt!

LUKS Nuke kryptering

Efter att lekt med min tool-box ett par dagar så har jag nu börjat beta mig igenom en lång lista på saker som jag vill lära mig. En av dessa punkter är just kryptering av känslig information.

Jag valde vid installation av Kali Linux 2.0 att kryptera hela hårddisken med LUKS,  vilket innebär att vid boot så krävs ett lösenord för krypteringen innan man kommer vidare till inloggningen för Kali Linux 2.0. I samband med att ha läst på för att avgöra om kryptering av hemma-mappen räckte så snubblade jag över Nuke för LUKS krypteringen.

Vad detta innebär är kort att Du har möjlighet att ”nuka” hela din disk via ett unikt lösenord som Du anger vid boot (nämnt ovan) varpå din disk blir oanvändbar samt oåtkomlig -aka ”Bricked”. Scenarion då detta skulle kunna vara intressant är tex:

1. Din fru anar att din mapp drivers.dll inte alls innehåller drivrutiner som slutar på .mov (förekommande på min tid då US Robotics 56k modem var installerat i hemmet)

2. Du fraktar känslig data i en fysisk container (lagringsmedia), och nöjer dig ej med att enbart kryptera enheten (återkommer till detta exempel nedan)

För att ge en snabb överblick gällande hur Nuke fungerar så måste vi först förstå att när vi krypterar vår container (i detta fall hårddisken) så sparas en krypterad master-key i ett slot på mediet. Det är denna master-key som lösenorder vid boot är kopplat till.

Skulle denna master-key försvinna, så finns det helt enkelt inget sätt att avkryptera containern – om man nu inte valt att spara master-keyn krypterad på ett annat media!

Det sistnämnda gör nämligen Nuke till något ännu mer användbart – nämligen möjligheten att frakta känslig data krypterad och utan en master-key (nämnt i #2 ovan). När datan sedan är levererad kan master-key importeras och Du får tillgång till datan igen.

Detta innebär alltså att vi kan nuka vår disk med Kali Linux 2.0, och sedan återställa master-key för att återuppta arbetet.

Jag har själv min master-key sparad på ett säkert media krypterad mha openssl. Anledningen till att vi krypterar vår master-key (header) gör att även om nyckeln stjäls – så kommer ett extra lager säkerhet (krypteringen av headern) göra det minst sagt obekvämt för tjuven.

Sist men inte minst, fick mitt carbon skin till min tool-box och med Thules skydd monterat ser det väldigt kung ut! Det som saknas nu är bara ett svart beezel-skin innan allt är komplett.

Jag passade även på att beställa ett nytt batteri även då det nuvarande har många cykler på sin nacke. Jag utförde en hel del konfiguration gällande just power-management och installerade bla TLP Advanced Power Management + tillämpade rekommendationerna från Samuix blog. Den här killen är riktigt duktig på sitt arbete – jag kommer att länka till hans blogg f.o.m. detta inlägg och rekommenderar ev läsare med intresset inom säkerhet att läsa/se några av hans inlägg/guider/videos.

IMG_1313 IMG_1314

Sen lördagskväll

Idag blev det packa och planera inför söndagens flyttlass. Vi kommer tacksamt att få mellanlanda hos svärmor och hennes sambo i ca 3-4 månader innan vi får tillträde till vårt nya hus i Åkersberga. Byggentreprenören lovade oss tillträde i slutet av januari 2016 – och vi håller tummarna att detta blir verklighet!

Jag fick tid att forsätta med mitt projekt – och klockan närmar sig nu 00:00 när jag känner mig nöjd med kvällens framgångar.

Som jag nämnde tidigare så var det strul med det integrerade trådlösa nätverkskortet i MacBook Air 11″ – 2013 modellen som jag valt att installera Kali Linux 2.0 på. Efter en del arbete och research lyckades jag kombinera flertalet presenterade lösningar för att få detta att fungera. För den tappra själen som råkar hitta detta inlägg och vill bli besparad en hel del huvudbry – presenterar jag den enkla lösningen.

Förinfo:
A) I terminalen utför: iwconfig
Detta returnerar no wireless exensions. Men vi vet att vårt nätverkskort finns – och verifierar detta via B)

B) I terminalen utför: lspci -vnn | grep -i net
Detta returnerade – 03:00.0 Network controller [0280]: Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)

Vi vet nu både modell samt verion av vårt nätverkskort i MacBook Air 11 – 2013 modellen och går vidare med installation av drivrutinen.

1. Lägg manuellt in följande repository i /etc/apt/sources.list
deb http://http.debian.net/debian/ wheezy main contrib non-free
– utför sudo apt-get update i terminalen

Anledningen till manuellt ovan är för att Du ej kommer ha apt-get-repository installerat från vanilla Kali Linux 2.0 installationen. För att lägga till detta behöver Du installera bla python-software-properties.

2. Gå till din hemkatalog (ex Downloads) och utför i terminalen:
wget http://ftp.wa.co.za/pub/ubuntu/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.141+bdcom-0ubuntu2_amd64.deb

3. Utför följande i terminalen:
sudo apt-get install broadcom-sta-dkms

4. Fortfarande i din hemkatalog (ex Downloads) där Du sparat filen från #2 – utför följande i terminalen:
sudo dpkg -i bcmwl-kernel-source_6.30.223.141+bdcom-0ubuntu2_amd64.deb

Nu bör ditt BCM4360 wifi-kort vara aktivt och fungerande!

Utöver att få igång integrerade wifi-kortet så har jag även installerat tor + tor-browser och Screenlets.

Det sistnämnda Screenlets gör att vi kan lägga in widghets på skrivbordet som bla monitorerar CPU load, ram, swap, nätverk etc etc. Bifogar ett screenshot på nuvarande upplägg.

Nu väntar sängen, och en hektisk morgondag med flytt!
screenshot_kali2

Friday funday

Så är fredagen här – och veckan var tyvärr kortare iom tisdagens timeout.
Under gårdagen kom alla mina leveranser från Amazon förutom 1 (Carbon fiber skin) till min toolbox. Det blev julafton och pill till klockan 22:00 innan frun avslutade projektet och jag insåg att klockan sprungit iväg.

Jag kan meddela att installationen av Kali Linux 2.0 gick smidigt problem förutom gällande wifi (Broadcom BCM4360) kortet. Mountade ISOn på ett micro-SD kort jag hittade liggandes med tillhörande adapter. Min kära bror fick höra om min brist på medel iom projektet och donerade åt sakens skull.

– Tack, den kommer att användas till projektet!

Åter till wifi-strulet, det finns ett par artiklar på hur man kunde förberett installationen och även lägga till ytterligare repositories för att installera drivrutinen. Att lägga till repositories utanför Sana (Kali Linux) rekommenderas ju ej – vi vill ha nyaste releaserna för vår dist, ej plocka ner något från en som med stor sannolikhet förstör för oss.

Men jag gjorde ett undantag då jag behöver vissa applikationer för vardagligt arbete – exempelvis Tor, FileZilla etc etc. Dessutom vill vi ju ha en lite personligare touch till vår desktop iom themes.

Jag fick lite huvudbry när BCM4360 kortet ej fungerade, men blev väldigt glad över att Kali Linux 2.0 stödjer ALFA AWUS036NHA ”straight out of the box” ( lägger in några bilder i slutet av posten på setupen exkluderat carbon skinnet då det ej levererats ännu).
Alfa Network 9dBi WiFi Booster var enorm, att se denna antenn monterad på fick mig att skratta.

Det är nu den roliga resan börjar i form av lab och läsa på om samtliga verktyg.
Jag funderar på att sätta upp en virtuell miljö med ett par applikationer och tjänster för att köra mot + ett WPA + WPA2 wifi för att köra aircrack-ng.

Mitt mål är att en dag ta OSCP certifiering – summerat är detta är inte en lekstuga/bisyssla för mig. Jag kommer ta det här på största allvar – och resan kommer garanterat vara lång och full av utmaningar. Det enda jag kan göra är att njuta av resan, och vid motgångar anamma måttot ”Try harder!”

Notera stora antennen i bakgrunden

Notera stora antennen i bakgrunden

Lilla antennen monterad

Lilla antennen monterad