Månad: oktober 2019

30 oktober, 2019

Den långa svansen

Jag får inte matematiken att fungera riktigt, men det är nog det som är meningen med detta skämt. Fungerar bättre om man tänker på ”server” som en teknisk pryl och inte en servitör.

Idag är ju en majoritet av systemen byggda med säkerhet som ett viktig mål. Det går inte att fortsätta använda uråldriga principer för att skapa nya program och ny hårdvara. Så allting borde ju vara på väg i rätt riktning. Och det är det nog faktiskt. Men… Om man nu skulle tro att det inte finns en stor del kvar av en svunnen tid, är det bara att titta runt.

ShodanHQ visar hur mycket gammalt skräp som fortfarande finns uppkopplat. Eller webbtjänster med sårbarheter man trodde vara borta sedan länge. Eller system som inte är patchade eller helt enkelt saknar krav på inloggning för att få användas. Det är snart ett år sedan Pewdiepie fick gratis reklam på tusentals osäkra skrivare uppkopplade till nätet. Riktigt bedrövligt att det fortfarande finns skrivare du kan koppla upp till över Internet. Vem kopplar i dessa tider överhuvudtaget in saker utan en brandvägg? Alltså utan en teknologi som folk började använda på bred skala när bredbanden blev populära.

Jag talar både om saker som borde försvunnit för 15 år sedan, men lika mycket om saker som är moderna men inte klarar av att stå på nätet. Den stora massan av undermåliga system formar en lång svans av plattformar för hackare att ta över. På 2000-talet var en stor mängd av skräpet dåligt skyddade Windows-burkar som folk kopplade in utan någon brandvägg. Windows XP hade en riktigt värdelös brandvägg som inte blev användbar förrän man faktiskt fick ordning på den med service pack 2 år 2004.

En del saker var kanske någotsånär säkra när de var nya men har, som sagt, sedan länge övergetts av tillverkaren. Detta har vi pratat om i tidigare inlägg, men det är fortfarande värt att tänka på. För något år sedan fick jag en fråga av en kund vad man kunde göra med en Windows NT-server som måste vara kvar och kopplad till nätet. Hur skulle den skyddas om den var tvungen att vara nåbar över SMB-protokollet? De portarna är bland de farligaste att ha öppna på en gammal Windows server. Windows NT slutade utvecklas 1999 för att sätta saker i perspektiv. Det har ingen egen brandvägg och inget skydd mot nätverksbaserade attacker att tala om.

Sen har vi saker som är skrivna i sedan länge övergivna ramverk och programspråk. Webbapplikationer som saknar all typ av skydd mot de vanligaste attacktyperna på nätet.

Ibland är dessa system ett blödande skotthål i ett annars tätt pansar. En uråldrig enhet tillhörande ett nätverk av ordentligt skyddade servrar med välbyggda applikationer. Denna svaga punkt, kan negera allt annat skydd.

Varför finns denna lång svans av smitthärdar kvar i dessa dagar? Det är svårt att säga, men det är fortfarande ett stort problem, och visar inga tecken på att minska. Detta ska läggas till det faktum att det idag dessa dagar kopplas in allt fler och fler enheter till Internet. Hur blir det med IPV6? Kommer det blir ännu värre? Framtiden ser inte ljus ut här.

23 oktober, 2019

Vi behöver inte fler rockstjärnor

Artistens tolkning av begreppet ”Rockstar developer”, som det borde tolkas.

För ett antal månader sedan skrev jag om vikten av samarbete snarare än att försöka lösa alla problem själv. Och det är fortfarande givetvis sant. Dock verkar inte alla företag och organisationer fatta detta, så man vill istället slå ett slag för ”rockstjärnan”. Titeln ”Rockstar developer” syftar på en utvecklare som med sin attityd och sitt kunnande är en enmans (eller kvinnas!) armé. En person som är en legend som är superkreativ på samma sätt som en riktig rockstjärna. Dock förväntas denna person på något märkligt sätt att följa regler och fungera bra i team samt inte knarka på arbetsplatsen.

Jag känner till många ”rockstjärnor” som jag sett under mina dagar i branschen. De behöver givetvis inte vara just utvecklare, men de är alltid samma typ av person: kan allt, gör allt och vill dessutom bygga allt själva. De lämnar efter sig egenbyggda lösningar som fungerar olika bra. Ingen har insikt i dem och de är inte dokumenterade. På ett av mina jobb såg jag ett verktyg byggt av en talangfull anställd som gjort allting och sedan lämnat bygget. Jag såg rätt snabbt att denna applikation var redigt problematisk. Den var om jag minns rätt öppen för SQL-injektioner, Local File Inclusions och XSS. Jag läckte snabbt ut lösenordet ur databasen och meddelade sedan IT-ansvarige och förklarade att detta måste fixas omedelbart. ”Rockstjärnan” som skapade detta verktyg hade visserligen byggt något som var mycket användbart, men hade trots allt ingen koll på säkerheten.

En ”Rockstjärna” jobbar på sitt eget rykte och är känd för att leverera och lösa alla problem utan att för den delen lyssna på vad någon annan har att säga. Lösningarna är enligt vederbörande ett tecken på genialitet och kreativa idéer. Men kreativa lösningar är dåliga lösningar som inte följer någon form av standarder. Personen vägrar, som sagt, låta andra göra någon del av jobbet, eftersom det då solkar ner Rockstjärnans rykte som perfekt och ofelbar. Siten Daily WTF är full av exempel på program och kod efterlämnade av dessa hjältar som ingen vågat kritisera eller granska.

Rätt uppenbart är dessa personer, särskilt om de är utvecklare, en källa för stora problem för folk inom säkerhetsbranschen.

Så vad vill man ha? Precis vad jag sagt tidigare: en grupp med olika kompetenser som samarbetar och levererar en uttestad och säker produkt utan att det blir en utpekad persons ”pet project”. Gruppen kan komma att förändras, men arbetet fortsätter och dokumenteras. Produkten hålls säker genom att använda standardiserade ramverk, följa säker utveckling enligt t.ex. OWASP och ha ett ”livscykel”-tänkande.

Detta tangerar min tidigare diskussion om ”De som lovar för mycket”. Dock pratar vi här lika mycket om utvecklare som andra roller inom IT-världen, eftersom dessa påverkar organisationens säkerhet. Så IT-säkerhetsbranschen själv är lika sannolik att ha dessa personer som på något sätt anser sig stå över kritik och att behöva följa en metodik som fungerar.

17 oktober, 2019

Hur ser moder natur på IT-säkerhet?

Charles Darwin, mannen, vars teorier kanske inte är de bästa när det gäller IT-drift. Eller är de? Kanske är det precis så man ska göra?

Ibland kan man sticka ut huvudet lite, vilket jag gjorde för en 10 år sedan, då jag skrev om moder natur och kritiserade idén med proaktivt säkerhetsarbete. Menat mest för att få folk att tänka, snarare än att slå fast några teser. Varsågod! Ja, det är på Engelska.

Why won’t we ever get rid of vulnerable software and hardware? What does it take to make everything perfectly secure? Most people I ask those questions respond by saying it cannot be done and I think they’re right. But why do we still act as if there was a way to make all security problems go away?

I think there are a lot of different reasons that causes us to push forward to remove all risks by being “proactive”. To be proactive is thus to solve any problem before it appears, right? If so, why do we need early warning system to be proactive? Just let that sink in for a moment.

If you detect a problem before it gets critical, you’re not really proactive. You’re reactive, but reacting in time. The word “proactive” means to “(…) initiate change rather than reacting to events.” 1) In order to be proactive, you cannot ever look at any values or logs, because the moment you detect that something heading the wrong way, you’re reacting to an event. The only true way to be “proactive” is to be Nostradamus. And his track record is … well … almost entirely wrong.

So, what’s the point of this discussion? I’m not trying to discourage early detection of problems or forward planning. Those two factors can really increase reliability and uptime for any system. The problem is that we see any problem “getting through” as a total failure.

Good security involves protecting a system in proportion to the loss a compromise would cause. This is in many of the security books you can read. By implication, a sound security plan accepts that enough resources spent by an attacker will give them a good chance to actually succeed. This also means giving up the pipe dream of never getting hacked or having a system failure.

If Mother Nature applied for the position of system administrator, no one would hire her.

– ”So, how would you make sure the network can handle an intrusion?”
– ”I would let it happen and let the devices that survive remain online afterwards.”

Not exactly what you want to hear from your system administrator? Still, that’s how it’s done in reality. When an intruder is successful, smart people learn how it was possible for the intruders to get through and then they adapt their infrastructure to cope with the new situation. And sometimes they still get hacked again, until their security is good enough to stand the test of time. But this cannot last either, because any security stance will weaken over time. So the cycle repeats as long as there are enough dangerous risk agents around. There is a reason risk management plans include terms such as “annual rate of occurrence” and “single loss expectancy”. Security planners actually expect attacks to be successful more than once in the life time of an organization. With as little exposure of vital systems as possible, smart and fast detection of attacks, forward planning (this is as close to “proactive” you get in reality) and reduction of complexity of the systems; you can mitigate your risks. But eliminating them? Please! Not even Mother Nature would try to do that! Instead plan ahead and learn how to survive when it happens while still upholding a good security regiment.

Anyone talking about “zero tolerance” or “proactive security” is either blind or not telling you the truth.

10 oktober, 2019

Är paranoia ett krav i branschen?

Du till vänster och dem till höger. Eller är det tvärtom?

Svaret är: det är det inte. Men man kan ju undra med tanke på vilket negativt tankesätt som krävs för att kunna jobba med IT-säkerhet ibland. Förutsätt att alla hackare är ute efter just ditt nätverk. Förutsätt att det alltid är någon som hittar på en helt ny attack som du snart måste förstå för att kunna skydda dig själv, dina kunder eller ditt jobbs nätverk.

Är du på det ”blåa laget” (försvarare), måste du förstå allt som finns med nätverksdesign, säkerhet på djupet och alla principer och regler som kommer med ditt jobb.

Är du på det ”röda laget” (pentestare/red team/white hats) gäller det att lära dig hur man hackar med de senaste attackerna, förstår hur nya teknologier kan knäckas och hur du tar dig in när allting samtidigt säkras upp med nya versioner.

Blir det bättre eller sämre? I min åsikt, både och. Vi blir allt bättre på vad vi håller på med och samtidigt blir våra motståndare bättre och får allt större budgetar. Länder som knappt verkar kunna ha elektricitet för att driva glödlampor i varje hem, genererar superkompetenta hackergrupper som snabbt får internationellt renomé.

Detta inlägg samlar ihop flera andra diskussioner vi har haft tidigare. Att man alltid måste lära nytt, att allting förändras kaotiskt, att ingenting kan antas och att man aldrig får sluta bygga på sin säkerhet.

Om du inte har fattat det än – du arbetar i en av de mest kaotiska branscherna som finns.

2 oktober, 2019

Hjärnan mot maskinen

… eller varför ”hacka nu”-knappen inte finns.

Tryck på den om du vågar… Den startar bara ett omfattande säkerhetstest mot alla nätverk den kan hitta. Vad kan gå fel?

Jag hade inget bättre för mig en kväll och bestämde mig för att ta reda på vad för funktioner som fanns i betalversionen av säkerhetstestverktyget ”Metasploit”. Det kostade närmare 150 000 kronor att köpa in, eller så fick man nöja sig med en gratisversion som saknade de automatiserade delarna. Dessa som skulle göra ett penetrationstest så enkelt så att vem som helst kunde göra det.

Och det fanns en guide som lät dig sätta upp ett penetrationstest och låta programmet göra resten. Givetvis provade jag det och insåg till min stora fasa vad det var den i själva verket gjorde. Detta automatiska test gissade vad maskinerna som den testade hade för programvaror och började sedan oblygt att bombardera dem med alla attacker som eventuellt skulle kunna passa. Den gissade hejvilt och testade sårbarheter som tillhörde programvaror som slutat tillverkas för 15 år sedan, programvaror som skulle kunna installeras på tjänsten men garanterat inte fanns där och i princip allt som skulle kunna kopplas på ett nätverk. Detta blev många hundra tester totalt. Allt gjordes i ett vansinnigt tempo. Nu gjorde jag detta på mitt eget hemnätverk, men hade jag gjort detta hos en kund hade varenda larmklocka som fanns i form av nätövervakning skrikit i högan sky. Larmloggarna hade varit knallröda och kunden hade märkligt nog varit nöjda med detta. Det är en udda observation: ibland undrar kunder varför de inte sett mer av attackerna i sina övervakningssystem. Svaret är: för att vi gör dem rätt! Och rätt är att lägga tankeverksamhet bakom testerna. Att metodiskt testa efter ett schema och observera vad man får tillbaka. Att förstå hur något man får tillbaka kan vara intressant att testa vidare och hur andra svar inte visar på någonting som verkar gå att hacka.

Där är skillnaden mellan automatiserade program som ser utan att observera och en tänkande människa som avgör vad som går att använda.

Så uppenbarligen går det inte att bygga en testprogramvara som gör allt åt en. Inte just nu i alla fall. Som jag sa i ett poddavsnitt nyligen: det kanske blir av när man uppfunnit starkt AI. För att klargöra: detta lär inte hända under min generations livslängd.

En annan sak man måste förstå är att maskiner saknar gränser om den som använder dem inte vet sina. Jag var en gång ute och presenterade resultatet av ett säkerhetstest och kunden sa att de var förvånade över att jag inte rapporterat samma resultat som alla andra av deras testare hade gjort. När jag hörde det, blev jag alldeles kall. Hade jag missat något? Kunden radade upp ett antal sårbarheter som jag inte rapporterat. Mitt svar var att jag inte ombetts att testa den delen av systemet där dessa sårbarheter hittats. Kundens svar var att jag var den enda av testarna som hade förstått att inte attackera mål de inte hade fått i uppdrag att testa. Så … jag hade alltså gjort helt rätt i detta fall. De andra som hyrts in att testa samma tjänster hade glatt gått lös på närliggande delar av systemet och detta sågs givetvis som någonting negativt.

Så vad betyder detta? Svaret är att det att allt säkerhetsarbete kan stödjas och BÖR stödjas av program och testmetoder, men det måste ske på ett sådant sätt att det leds av en eller flera tänkande individer som använder tanken som sitt främsta vapen.

”I am a brain, Watson. The rest of me is a mere appendix.”
― Sherlock Holmes, The Adventure of the Mazarin Stone

Och vet var gränserna går! Säkerhetstestare som överskrider sina tillvägagångsregler kan hamna i domstol. Jag skämtar inte. Det är helt sant.

Scroll to top