Programvarehacking kontra maskinvarehacking
Kryptering, for enten maskinvare eller programvare, minimerer sikkerhetsbrudd og gir flere lag med beskyttelse for å sikre data. Kryptering for maskinvare og programvare brukes imidlertid under forskjellige omstendigheter, og det er typiske tilfeller for når og hvorfor hver av disse skal brukes.
Programvarekryptering beskytter vanligvis enhetene til en organisasjon, fordi det er en kostnadseffektivitet løsning med brukervennlig oppgradering/oppdatering. Denne krypteringen er i stand til å beskytte data i hvile, som er lagret og i transitt, og har ofte støttefunksjoner som styrker og utfyller krypteringen.
Til sammenligning er maskinvarebasert kryptering direkte integrert i sikkerheten til en enhet, hvor både kryptering og dekryptering utføres uten ytterligere programvare, noe som gjør den imun mot infeksjoner, ondsinnet kode eller sårbarheter. Brukes ofte for å beskytte sensitive data på bærbare enheter, og beskytter i tillegg data i hvile. Den beste måten å beskytte stasjoner med sensitive data på, er å bruke maskinvarenøkler som beskytter dataene selv om stasjonene blir stjålet. Maskinvareløsninger er dyrere og krever at maskinvareplattformen oppgraderes, i motsetning programvareløsninger som kun krever oppgradering/oppdatering av programvaren – som er et mye billigere alternativ.
Programvaresårbarheter
Det må påpekes at det fremdeles, selv to tiår inn i dette århundret, er selskaper som velger å ikke sikre data på en tilfredsstillende måte. Dette inkluderer å ikke oppdatere, oppgradere eller endre passord, ikke bruke flere ulike beskyttelsesmetoder, og ofte, ikke engang endre standardpassordet og -koden på enhetene de kobler til nettverket. Dette er lavthengende frukt for hackere, og er en stor prosentandel av sikkerhetsproblemene som lett kan unngås.
Andre sårbarheter omfatter (men er ikke begrenset til):
- Mangel på sterk kryptering på lagrede data
- For mye data pakket inn i for lite minne, spesielt i mobilapper skrevet i C/C++, som er spesielt utsatt for bufferoverflyt
- Direkte tilgang til data via usikre tjenester og API-er
- Ikke kontrollere tilgang til loggfiler, noe som gjør det mulig for hackere å spore sikkerhetssårbarheter
- Kodegjenbruk som kan bringe parasittisk kode fra andre kilder inn i bedriften
- Hackere kan kjøre et «dot-dot-slash»-angrep ved hjelp av «path traversal»
- «Cross-site scripting» (XSS), som innebærer at angripere kjører kode i nettleseren til de som besøker nettstedet ditt
- Utilstrekkelig autentisering utover pålogging
Maskinvaresårbarheter
Maskinvaresårbarheter er som oftest avhengig av hvor godt kretsen er utviklet for å beskytte private nøkler mot angrep. Grunner til at angrep lykkes, omfatter (men igjen, er ikke begrenset til):
- Oppfanging av elektromagnetiske bølger i et elektromagnetisk sidekanalsangrep
- Bruker ikke en MCU med en sikker feilsøkingsfunksjon
- Ikke opprette sikringsteknikker som varsler ved inngrep og slette en privat nøkkel fra minnet hvis det oppstår en inngrepssituasjon
- Ikke sørge for sikker oppstart
Potensielle løsninger
Det finnes en rekke sikkerhetsbaserte løsninger på markedet, og antallet vokser hver dag. Her er noen forslag du kan vurdere. Bruk en maskinvarebasert sikkerhetskjerne. Silicon Labs Wireless Gecko Series 2, for eksempel, kommer med en integrert sikkerhetskjerne. Se en presentasjonsvideo om denne nylig lanserte teknologien.
Vurder Microchip CryptoAuthentication SOIC XPro-startpakken med SAMD21-XPRO og et AT88CKSCKTSOIC-XPRO-kontaktkort og prøveutstyr fra Crypto Authentication (kryptoautentisering). Når settet brukes med Crypto Evaluation Studio (ACES) fra Microchip, støttes alle Crypto Authentication-enheter, deriblant ATECC608A, ATECC508A, ATECC108A, ATSHA204A og ATAES132A.
AWS Zero Touch Secure Provisioning Kit, som også leveres av Microchip, har en komplett plattform for utvikling og prototyp-utvikling for forsyning av AWS IoT-enheter. Som vist i figur 1, omfatter dette settet tre tilpassede (ATCRYPTOAUTH-XAWS) tilleggskort, der hvert av disse har en AWS-konfigurert ECC508 for in-situ-forsyning av settets signeringsskript. Sikker rot (secure root) og skript for signeringsfremskaffing (signer provisioning scripts) er også inkludert. Settet er bygget på den modulære Xplained PRO-plattformen, og muliggjør eksperimentering med forskjellige prosessorer, tilkoblingsmuligheter og grensesnittmoduler for menneskelig samhandling.
Figur 1: Microchip AWS Zero Touch Secure Provisioning-settet muliggjør rask og enkel utvikling av IoT-enheter som er i samsvar med nye AWS-sikkerhetsbestemmelser. (Bildekilde: Microship)
NXP OM-SE050ARD-utviklingssettet muliggjør evaluering av funksjonene i SE050-produktfamilien og forenkler sikker utvikling av IoT-applikasjoner (figur 2). Det sikre EdgeLock-elementet for IoT-enheter leverer RoT (Root of Trust) på IC-nivå og ekte ende-til-ende-sikkerhet, fra lokale enheter til nettskyen (edge to cloud), uten å være nødt til å skrive sikkerhetskode.
Figur 2: NXP OM-SE050ARD representerer et fleksibelt og enkelt utviklingssett for EdgeLock SE050-produktfamilien. (Bildekilde: NXP)
Et annet sett som hjelper deg med å sikre det du har utviklet, er Infineon Technologies Blockchain Security 2Go-startpakken, som tilbyr rask og enkel utvikling av sikkerhet som er best i klassen. Settet inneholder bruksklare NFC-kort for sikker generering av nøkler, signeringsmetoder, beskyttelse av pin, integrert programvare med støttekommandoer for nøkkelhåndtering, signaturopprettelse, PIN-autentisering og tilgang til blokkjede-hubben til Infineon. Identitetshåndtering er en potensiell blokkjede-applikasjon som kan brukes som grunnlag i et autentiseringssystem.
Angrep har blitt alt for vanlige, og de blir bare mer og mer sofistikerte. Begynn å integrere beskyttelse på både programvare- og maskinvarefronten, og ikke vær den lavthengende frukten som blir rammet først og raskt. Deretter bør du vurdere hvor du er mest sårbar og gjennomgå alternativene som blir stadig mer tilgjengelige.
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum




