Så vil du arbejde i sikkerhed?

Hver gang imellem får jeg en e-mail fra en ivrig fremmed, der beder om råd om, hvordan man har en karriere inden for sikkerhed (computer, information, cyber ... hvad som helst). Dette er godt! Vi har brug for mere lidenskabelige, kreative, hårdtarbejdende mennesker, der ønsker at arbejde på at gøre teknologien mere sikker at bruge. Det viser sig også at være en ret økonomisk stabil måde at tjene til livets ophold.

Der er masser af andre indlæg om dette nøjagtige emne ¹, men jeg vil tilbyde nogle tanker på højt niveau hentet fra min egen erfaring.

ADVARSEL: Det ligner ikke filmene.

At arbejde i sikkerhed er ikke som det er afbildet i Hollywood. Jeg ELSKER at se hackerinspirerede film og shows for fantasien og flugten, men det daglige arbejde er (efter min erfaring) ikke så tempofyldt og sexet, som det ser ud på skærmen.

Nu gælder det for de fleste erhverv, og selvom jeg aldrig har brugt en dag på at dechiffrere streamingkode i et underjordisk hus, synes jeg stadig, det er et spændende, vigtigt, udfordrende og givende felt at arbejde i.

Der er ingen standard eller perfekt læseplan.

Sikkerhed er et bredt, tværfagligt anvendt felt. Der er behov for mennesker, der designer og bygger sikre systemer, mennesker, der prøver at bryde systemer, mennesker, der prøver at opdage indtrængen, og mange ting imellem. Hvis jeg har lært noget, har jeg lært, at der ikke er nogen enkelt, standard eller bedste forberedelsesvej. Måske vil dette ændre sig, når marken modnes, men jeg tvivler på det. Det er heller ikke som andre fagområder, der kræver akkreditering (f.eks. Medicin, lov), som kan være både befriende og skræmmende.

Uafhængigt af hvordan du erhverver det, har du fordel af at have en stærk forståelse af anvendt datalogi, eller hvordan computere og software fungerer. Meget af anvendt datalogi handler om at løse problemer med abstraktionslag, og sikkerhed handler ofte om at finde de mangelfulde antagelser i disse abstraktioner ... og derefter finde ud af, hvordan man bedst retter (eller udnytter) dem.

Jeg gjorde dette ved at tjene en ingeniøruddannelse i datalogi fra et offentligt universitet. Nogle af de mere nyttige emner for mig var operativsystemer, netværk, computerarkitektur og compilere. Ud over det tog jeg bare tekniske kurser, som jeg fandt interessante (f.eks. Digital signalbehandling, biomedicinsk teknik, kunstig intelligens) og udforskede sikkerhedstemaer inden for netværk, privatlivsforbedrende teknologier og (web, klient) applikationssikkerhed via projektarbejde i studenterklubber og praktikophold .

Du får også fordel af at forstå, hvordan mennesker (brugere, kunder, hvad som helst), der bruger teknologi, fungerer. Hvis jeg kunne gå tilbage i tiden til mine mere {pleje, pligt} -frie universitetsdage, ville jeg tage nogle klasser i psykologi, sociologi og menneskelige faktorer.

Jeg arbejder med eksperter, der har tilsvarende traditionel akademisk baggrund (f.eks. Grader inden for computerteknik, datalogi, matematik osv.). Jeg kender også masser af mennesker, der har mindre typiske baggrunde (f.eks. Kemi, filmstudier, psykologi, grafisk design) og nogle folk, der droppede ud af skolen, inden de var færdige.

Med hensyn til sikkerhedscertificeringer har jeg ingen, og jeg tror ikke, jeg er blevet holdt tilbage på grund af det. Det er muligt, at nogle industrier eller lande kræver dem for infosec-fagfolk, og de er bestemt en ting, som nogle fornuftige mennesker har forfulgt - advarsel!

Kulturelt vil jeg anbefale at læse Hacker Manifest eller How to Become a Hacker, som fungerer som både inspiration og moralsk kompas for mange sikkerhedsexperter. Selvom du ikke sammenligner dig med en hacker, er det nyttigt at forstå tankegangen hos nogle af de mennesker, du arbejder sammen med.

Ud over det har jeg lært det meste af det, jeg har lært over tid, i anekdoter og nuggets fra venner og kolleger, sikkerhedsblogs, konferenceaviser og præsentationer, mailinglister, lokale sikkerhedsgrupper og andre online ressourcer. En masse af de ting, jeg hører om eller indtager i dag, kommer fra folk på min Twitter-sikkerhedsliste.

Stop med at læse, start med at gøre.

Dette gælder for enhver karriereforfølgelse, men få noget virkeligt livserfaring så hurtigt som du kan. Det er den bedste måde at indsnævre dine interesser, styrker og områder for fremtidig udvikling. Du forstår også bedre, hvad en normal arbejdsdag og et miljø består af, herunder hvad du kan lide og ikke kan lide. En af de mest værdifulde karriere-relaterede oplevelser i mit liv var at lave en praktikplads, jeg hadede, da det vendte mig stærkt ind i en anden retning :)

Med hensyn til hvordan man begynder at få erfaring, har jeg ikke et simpelt svar. Tjek karrieremesser og konferencer, bliv involveret i klubber eller andre organisationer, ansøg om praktikophold og deltidsjob med modig entusiasme. Lige inden jeg kom til Google, ryddede jeg op tørret nachoost på en koncessionsstand som en del af mit regelmæssige skift som en livredder i en pool. Den lille smule joberfaring hjalp mig med at få et kollegium SysAdmin-job, hvilket uden tvivl var relevant, når jeg interviewede til en IT-praktik hos et stort farmaceutisk firma. Jeg fik nogle “ægte” (dvs. ikke-kursus) softwareoplevelser med klubber på universitetet, og jeg fandt en praktikplads inden for cybersikkerhed på en skolens nyhedsgruppe, hvilket sandsynligvis gav mig lige nok relevant joberfaring til, at nogen hos Google kunne overveje mig til et interview .

Skriv kode.

De bedste sikkerhedsingeniører, jeg kender, skriver også aktivt kode. Dette giver dem førstehånds erfaring med at skrive software, herunder utilsigtet, men uundgåeligt at introducere sikkerhedsfejl. Sidstnævnte tvinger en reel empati for alle udviklere. Når alt kommer til alt er det ofte sværere at konsekvent skrive sikker kode, end det er at påpege usikker kode.

Hvis du sidder fast med, hvor du skal starte i et projekt af betydelig størrelse, kan du prøve at rette fejl i et open source-projekt. Alle elsker mennesker, der retter bugs! Projektet vil takke dig, og det er typisk en god måde at få den virkelige oplevelse og din fod i døren til fremtidigt arbejde.

Break code.

Brug tid på at finde softwarefejl. Lær, hvordan du bruger en debugger, netværksscanner, web-debugging-proxy og softwarefuzzer. Brug tid på hackerlegepladser, der er tilgængelige på alle niveauer. Jeg brugte først //www.hackthissite.org, da jeg var på college, og anførte et par andre selvstyrede hacker-træningssteder på //infosec.rocks. Der er også en god liste over hackingudfordringer, konkurrencer (f.eks. CTF'er) og tidskrævende her. Eller find og rapporter fejl i den aktuelle software, du bruger. Der er masser af softwareleverandører, der tilbyder økonomiske belønninger for sikkerhedsfejl, herunder Chrome og Google, samt nogle centrale open source-projekter, der er dækket af Internet Bug Bounty-programmet.

Ud over at finde fejl selv, vil jeg anbefale at følge med og lære af, hvad andre finder (bugtraq, fulldisclosure, oss-sec).

Del viden.

Jeg begyndte at lære om sikkerhed tilbage på college fra jævnaldrende i en ACM-speciel interessant gruppe kaldet SigMil, hvor medlemmerne holdt upolerede præsentationer om sikkerhedstemaer, de var interesserede i. Vi tog også en årlig pilgrimsrejse til DEFCON for at deltage i samtaler (hvilket var meget lettere at gøre for et årti siden), købe sikkerhedsbøger eller magasiner eller bare chatte med ligesindede folk fra andre dele af verden om, hvad de arbejdede med. Hos Google har jeg lært SÅ MEGET direkte fra mine jævnaldrende, der deler deres ekspertise, kampe og halvbagte ideer.

Deling af viden er vigtig af nogle få grunde:

  1. Deling af viden er en nødvendig og effektiv måde at skalere bedste sikkerhedspraksis (eller faldgruber at undgå) på tværs af en stor organisation eller et projekt.
  2. Jeg lærer næsten altid noget selv ved at forberede mig på en præsentation eller skrive dokumentation, så det har været en god tvangsfunktion for mig at afdække skjulte hjørner af et emne.
  3. Jeg lærer næsten altid noget fra publikum, enten fra spørgsmål, kommentarer eller opfølgende diskussion.
  4. Giv det videre.

Øv dig også i at kommunikere.

At arbejde i sikkerhed betyder, at du bliver nødt til regelmæssigt at forklare komplekse, tekniske problemer for forskellige målgrupper, hver med forskellige ordforråd, ekspertise og incitamenter. Du har sjældent universelle målinger, du kan læne dig på, når du beskriver sværhedsgraden af ​​en sårbarhed, og du har heller ikke noget skinnende at vise, når du promoverer den bedste sikkerhedspraksis. Du bliver nødt til at holde folk uforstyrrede over for FUD, men alligevel fokuseret på handling uden for krisen.

Alt dette kræver færdigheder i kommunikationskunsten og især forklaring og forhandling. Det er usandsynligt, at du mestrer denne kunst udelukkende fra tekniske ressourcer, så øv, udgiv og sig altid for at forbedre.

Forvent at arbejde hårdt og nogle gange mislykkes.

Måske er dette indlysende, men det er værd at udtrykkeligt blive kaldt ud.

Sikkerhed er udfordrende arbejde. Du bliver nødt til konstant at lære nye ting, fordi det tekniske landskab, du skal sikre, hurtigt udvikler sig meget hurtigere end vores evne til at afskrække de gamle, men alligevel sikrede ting. Trusselaktørerne, der ofte har tid og ressourcer på deres side, er også hurtige til at tilpasse sig det eksisterende forsvar.

Sikkerhed kan være stressende. Du har at gøre med tvetydige problemer, ufuldkomne løsninger, begrænsede data og reelle trusler mod menneskers sikkerhed.

Det er svært at måle succes med sikkerhed, og efter min erfaring er folk mere tilbøjelige til at bemærke fiasko. Når vi sikrer den virkelige verdens teknologi, er vi i sidste ende i færd med risikoreduktion, og uanset hvad nogen på en RSA-leverandørgulv fortæller dig, er der ingen sølvkugler.

(Prøv at) Vær optimistisk.

Dette felt kan være deprimerende af nogle af de grunde, jeg lige har skitseret. Det kan synes umuligt at holde trit med hastigheden på innovation inden for teknologi og udnyttelse. Jeg mener, bufferoverløbssårbarheder har eksisteret i årtier, men alligevel ser vi stadig regelmæssige udnyttelser, der udnytter dem i dag (2016). Du vil regelmæssigt høre folk skrige, at sikkerhed er umulig, og det bliver værre, eller komme med helt veltalende punkter om, hvorfor vi alle fejler.

Virkeligheden kan være hård, men hvis vi fokuserer på det positive og tænker på alle de ting, teknologien har givet, er det ret imponerende! Det er ikke perfekt. Det bliver aldrig perfekt. Men jeg synes, at forkant med sikkerhed er meget bedre, end det var for 10 år siden, vi kan gøre nogle ret imponerende ting med en vis grad af rimelig sikkerhed, og det er noget, der holder mig optimistisk.

Bede om hjælp.

Bliv ikke modløs, hvis du støder på ryk. Jeg har set masser af chauvinisme og ego i infosec-industrien gennem årene. Det er ikke ualmindeligt, at en samtale (online, på en konference, hvor som helst) hurtigt bliver til hvem der er den mest elite.

Måske er det ikke oplevelsen for alle, men jeg har stort set haft succes på grund af support, rådgivning, mentorskab og hjælp fra mange gode sikkerhedsfolk, som jeg nu betragter som venner. Bare fordi du skal bede om hjælp, betyder det IKKE, at du ikke bliver skåret ud for dette arbejde.

Hvis du har brug for hjælp, skal du bede om det. Bare sørg for at du foretager din due diligence og gør det så let som muligt for folk at hjælpe dig. De fleste eksperter har ret travlt, så du er meget mere tilbøjelige til at få et nyttigt svar, hvis du stiller et velomfattet spørgsmål med tilstrækkelig kontekst og ingen skrivefejl.

Held og lykke og glad hacking!

[1] Nogle andre tanker om sikkerhedskarriererådgivning, jeg har snublet over:

  • Thomas Ptacek, Charlie Miller, Jeremiah Grossman, Richard Bejtlich og Bruce Schneier deler deres tanker i //krebsonsecurity.com/tag/security-career-advice/
  • Chris Palmer, min ven og Chrome-kollega, deler solid rådgivning i //noncombatant.org/2016/06/20/get-into-security-engineering
  • Michal Zalewski (alias lcamtuf) delte 4 enkle lektioner baseret på hans 20 års (fantastiske og ofte banebrydende) arbejde inden for sikkerhed: //lcamtuf.blogspot.com/2016/08/so-you-want-to-work-in- sikkerhed-men-er.html