Jobopslag behøver ikke være kedelige

Jobsøgning er noget vi nok alle sammen har, eller kommer til, at beskæftige os med i løbet af vores karriere. Jeg har for nyligt selv været jobsøgende og må sige at jeg har været mindre end imponeret over de jobopslag jeg har stødt på. Mit indtryk er at de fleste firmaer er dårlige til at sælge sig selv. Deres opslag er fyldt med clichés, ensformighed og et energiniveau på højde med det man kender fra dødsannoncerne i ens lokale avis.

De er fyldt med intetsigende buzzwords nedfældet af folk, hvis forståelse af dem svinger fra ringe og til ikke eksisterende. Dog støder man af og til ind i et opslag, der bryder med denne lidt kedelige tendens.
Et godt eksempel på nogen der har fået fat i den lange ende, er Trustpilot der for nylig kom med et fængende “follow the white rabbit” themed jobopslag. I opslaget var buzzwords byttet ud med pop culture references og opslaget var hverken fyldt med tal om firmaets success eller lange fortællinger om deres visioner. I stedet var der en challenge, hvor dem med modet på det kunne forsøge at bryde en kode og kontakte selskabet med deres ansøgning hvis det lykkedes.

Opgaven var hverken omfattende eller tidskrævende, men krævede dog en smule viden om kryptering, men ikke noget der ikke kunne tilegnes med lidt hjælp fra Google.

Opgaven var beskrevet som følgende:

We have a message for you.
It’s 3ncryp73d and we want you to crack it.
The decrypted message will contain further instructions.
Knowns:
– The algorithm is AES (Rijndael)
– Blocksize: 128
– Keysize: 256
– You only need to find the first 6 bytes of the key, the rest are 0’s, so:
[?,?,?,?,?,?,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
– All bytes in the key has an integer value between 0 and 16.
– The initialization vector is (base64 encoded): “DkBbcmQo1QH+ed1wTyBynA==”
– The text is just plain ASCII english
The encrypted text (base64 encoded):
yptyoDdVBdQtGhgoePppYHnWyugGmy0j81sf3zBeUXEO/LYRw+2XmVa0/v6YiSy9Kj8gMn/gNu2I7dPmfgSEHPUDJpNpiOWmmW1/jw/Pt29Are5tumWmnfkazcAb23xe7B4ruPZVxUEhfn/IrZPNZdr4cQNrHNgEv2ts8gVFuOBU+p792UPy8/mEIhW5ECppxGIb7Yrpg4w7IYNeFtX5d9W4W1t2e+6PcdcjkBK4a8y1cjEtuQ07RpPChOvLcSzlB/Bg7UKntzorRsn+y/d72qD2QxRzcXgbynCNalF7zaT6pEnwKB4i05fTQw6nB7SU1w2/EvCGlfiyR2Ia08mA0GikqegYA6xG/EAGs3ZJ0aQUGt0YZz0P7uBsQKdmCg7jzzEMHyGZDNGTj0F2dOFHLSOTT2/GGSht8eD/Ae7u/xnJj0bGgAKMtNttGFlNyvKpt2vDDT3Orfk6Jk/rD4CIz6O/Tnt0NkJLucHtIyvBYGtQR4+mhbfUELkczeDSxTXGDLaiU3de6tPaa0/vjzizoUbNFdfkIly/HWINdHoO83E=

Der er mange måder at bryde AES på, alt efter hvor meget eller hvor lidt information der er givet. I denne opgave var der to ting jeg bed mærke i – 0) den ukendte del af koden er meget kort 1) de mangler at angive hvilken mode of operation de har benyttet (hop til enden for en beskrivelse af mode of operation).
Mængden af ukendte fortæller mig at krypteringen kan bruteforces. Bruteforcing er i alt sin simpelhed at vi forsøger os med alle de mulige kombinationer af nøgler. Så næste skridt var at skrive en program, der dekoder krypteringen med hver af de mulige nøgler. Selv valgte jeg at skrive et program i Java, men langt de fleste programmeringssprog har biblioteker der kan hjælpe dig med implementeringen af AES.

Nu rammer vi så det første punkt der kan, og helt sikkert har, givet mange af de forsøgende problemer. Siden de valgte ikke at oplyse mode of operation, så vil de fleste ikke sætte det og i stedet benytte en default, hvilket i java cryptographic extension er Electronic Codebook(ECB). Forsøger man at dekryptere med dette mode vil man forblive resultatløs. Her vil de uøvede måske opgive, da det vil være utroligt svært for dem at vide om deres implementering er problemet, deres mode of operation eller at de måske ikke kunne identificere hvilken af de 17^6 mulige dekrypteringering var den korrekte.

Chained Block Chipher(CBC) mode er langt mere kendt (og sikkert) end ECB og har nok også været valget for de fleste af enten første eller anden omgang.

Så nu ender vi med list over 24 millioner muligheder og hvordan skal vi så finde rundt i dem. Normalt ville jeg forsøge at identificere hvilket sprog det er mest sandsynligt at beskeden er skrevet i. Derefter vil jeg søge sortere mulighederne efter hvor mange gange et hyppigt forekommende ord i sproget forekommer i teksten. Eksempelvis leder jeg ofte efter forekomster af ordet ”the” hvis jeg antager at sproget er engelsk. Denne fremgangsmåde kan være svær at bruge ved små tekster. Derfor bør man i stedet lede efter forekomster af ord man føler sig sikker på at teksten vil indeholde, men som er store nok til at de ikke hyppigt vil forekomme tilfældigt. I dette tilfælde valgte jeg ”Trustpilot”, da jeg antog at de enten ville nævne sig selv eller at beskeden ville indeholde et link eller en email som ville ligge på deres domæne.

Rigtig nok gav det et resultat og jeg kunne nu tage kontakt til firmaet, hvis det havde interesse.

Probs til Trustpilot for dette mere gennemtænkte jobopslag, hvilket både var langt mere underholdende end dem man ofte støder på, men også mere givende for dem, da de har kunne sortere i mængden af ikke kvalificerede ansøgninger. Jeg håber at at se andre firmaer følge trop og forsøge sig med nye og mere udfordrende jobansøgninger.

Note:
Mode of operation henviser til den algoritme der kommer til at bruge vores block cipher (her AES) til at kryptere beskeden. Med andre ord den beskriver hvordan vi vil håndtere store beskeder som en række små beskeder kaldet blogs. Jeg har i dette indlæg nævnt to typer CBC og ECB. ECB tager hver blog for sig selv og CBC bruger den foregående bid til at kryptere efterfølgende blokke af data.

ecbcbc

Share Button
The following two tabs change content below.
Profile photo of Milo

Milo

CEO af Bootstrapper
Den akademiske hacker - kandidatgrader i Ethical Hacking & Computer Security fra Abertay University(Skotland) og i Datalogi fra Århus Universitet med fokus på kryptografi og hvordan skyen kan bruges i overensstemmelse med lov og etik. Think evil - do good.
Profile photo of Milo

Nyeste indlæg af Milo (se alle)

1 kommentar for “Jobopslag behøver ikke være kedelige

  1. Morten Grue Sørensen
    17. August 2014 at 13:07

    Kunne være dejligt hvis flere virksomheder forstår at lave spændende job opslag. Og forstå at det lige så meget er dem der bliver interviewet som dem der interviewer hvis de gerne vil ansætte specialister.

    Et andet eksempel er NetCompany der lavede denne ansøgning: https://image-store.slidesharecdn.com/dddb1512-eba8-11e3-968b-22000ab926d3-original.png – De lavede så bare +-1 fejl i deres eksempel og startet ved index 1 i stedet for 0, hvilke igen visser at virksomheder bør bruge mere tid og energi på deres opslag.

Leave a Reply

Your email address will not be published. Required fields are marked *