… eller varför ”hacka nu”-knappen inte finns.
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.