ID.nl logo
Zo kun je programmeren in Python - Deel 6
© PXimport
Huis

Zo kun je programmeren in Python - Deel 6

In de href="https://computertotaal.nl/artikelen/pc/zo-kun-je-programmeren-in-python-deel-5/" rel="noopener noreferrer" target="_blank">vorige les</a> leerde je met bestanden werken en zag je hoe je je programma kunt laten reageren op exceptions. Zo beginnen je programma’s ondertussen al vrij complex te worden. Tijd dus om wat structuur in je programma’s te brengen, en dat doen we in deze les met functies en modules. We bekijken ook enkele standaardmodules van Python.

Wil je meer leren over programmeren? Bekijk dan onze Cursus: programmeren in Phyton (boek & online cursus).

Tot nu toe waren onze Python-programma’s vrij kort, maar je hebt ondertussen al genoeg Python-bagage om zelf al eens aan de slag te gaan en je eigen ideeën uit te werken in programma’s. En dan merk je al snel dat je programma lang en ondoorzichtig wordt. Gelukkig kent Python verschillende manieren om wat meer structuur in je programma’s te brengen.

De eerste manier ben je al tegengekomen: functies. We hebben immers in de vorige lessen al diverse standaardfuncties van Python gebruikt, zoals len, print, input, format, split, open, read en write. Een functie is een afzonderlijk stukje code dat een afgebakende taak uitvoert die je meerdere keren zou willen uitvoeren op verschillende gegevens. Zodra je in je programma dus merkt dat je een stukje code telkens aan het herhalen bent, zou je eerste gedachte moeten zijn: ik maak er een functie van!

Een functie definiëren

We tonen je als voorbeeld hoe je een functie maakt om te berekenen of een woord een palindroom is. Een palindroom of spiegelwoord is een woord dat van achteren naar voren gelezen hetzelfde is als van voor naar achter. Een eenvoudige functie om te bepalen of een woord een palindroom is, ziet er als volgt uit:

def is_palindroom(woord):
letters = list(woord)
palindroom = True
while len(letters) > 0 and palindroom:
if letters[0] != letters[-1]:
palindroom = False
else:
letters.pop(0)
if len(letters) > 0:
letters.pop()
return palindroom

Dit is niet de efficiëntste manier om te bepalen of een woord een palindroom is, maar wel een die goed te begrijpen is. Je ziet dat er in de definitie van deze functie eigenlijk maar twee zaken nieuw zijn: de eerste en de laatste regel. In de eerste regel geven we met def is_palindroom(woord): aan dat we een functie definiëren met de naam is_palindroom en dat die één parameter meekrijgt, die we woord noemen. Dan komt onze hele berekening, die je met al je kennis uit de vorige lessen na een kleine studie zou moeten begrijpen, en op het einde geven we met return palindroom aan dat we de waarde die na onze berekening in de variabele palindroom zit teruggeven.

Een functie aanroepen

Breek je hoofd nog even niet over de inhoud van de functie. Typ de code in Thonny in en sla het bestand op onder de naam palindroom.py. Voer het dan uit met een druk op F5. Er gebeurt niets, maar de functie is nu gedefinieerd. In de terminal onderaan Thonny kun je nu de functie aanroepen. Enkele voorbeelden:

>>> is_palindroom('nepalapen')
True
>>> is_palindroom('napalm')
False
>>> is_palindroom('koortsmeetsysteemstrook')
True

Denk nu eens even na over wat er gebeurt als je is_palindroom('nepalapen') aanroept. De functie is_palindroom wordt dan uitgevoerd en aan de variabele woord van de functie wordt de string 'nepalapen' toegekend. Dan gebeurt die hele berekening, en geeft de functie als resultaat True of False. En voor elke andere string die je aan de functie doorgeeft, gebeurt de berekening op dezelfde manier. Op deze manier heb je de berekening ingekapseld in een afzonderlijk stukje code, de functie, die herbruikbaar is.

Overigens zijn door die inkapseling de parameter woord net zoals de variabelen letters en palindroom alleen binnen het blok van de functie gedefinieerd: het zijn wat we noemen lokale variabelen.

Recursieve functies

In onze functie is_palindroom gaan we met een while-lus alle letters in het woord af. Een andere manier om de functie te definiëren is met recursie: in de functie roepen we de functie opnieuw aan, maar op een deel van het woord. Dat ziet er als volgt uit:

def is_palindroom2(woord):
if len(woord) < 2:
return True
if woord[0] != woord[-1]:
return False
return is_palindroom2(woord[1:-1])

Voeg deze functie in Thonny gewoon aan hetzelfde bestand toe als is_palindroom, sla het bestand op en druk op F5 om het uit te voeren. Je kunt nu deze functie is_palindroom2 uitproberen op enkele woorden. Het resultaat moet telkens hetzelfde zijn als is_palindroom op hetzelfde woord.

De functie is_palindroom2 is een mooi voorbeeld van een recursieve functie. We bekijken eerst of het woord minder dan twee letters bevat. In dat geval (het woord is leeg of heeft één letter) is het altijd een palindroom en daarom geven we in dat geval True terug. Daarna controleren we of de eerste letter verschilt van de laatste letter van het woord. Verschillen die, dan is het woord al zeker geen palindroom en geven we dus False terug.

Dan blijft er nog één geval over: de eerste en laatste letter van het woord zijn gelijk, maar van de andere letters weten we nog niets. Wat doen we dan? We roepen de functie is_palindroom2 opnieuw op, maar op die andere letters. Die verkrijgen we door de slice (zie les 2) [1:-1] op het woord toe te passen, die het woord zonder de eerste en laatste letter teruggeeft.

Belangrijk bij recursieve functies

Als je een recursieve functie schrijft, is het belangrijk dat je de functie telkens oproept op een kleinere invoer dan waarmee je begon, zodat je uiteindelijk bij een basistest uitkomt, zoals in ons geval if len(woord) < 2: en if woord[0] != woord[-1]:. In beide gevallen roepen we de functie is_palindroom2 niet meer aan, maar geven we een waarde True of False terug. Doordat we in het derde geval altijd de eerste en de laatste letter van het woord verwijderen voor we de functie opnieuw oproepen, verzekeren we dat de functie uiteindelijk altijd bij een van de basistests uitkomt.

Met modules werken

Zonder dat je het weet, heb je nu al je eerste module geschreven. Elk Python-bestand waarin je code schrijft, is immers een module voor Python. Maak nu een nieuw Python-bestand aan in Thonny en noem het bijvoorbeeld test_palindroom.py. Als je in dit bestand de code uit palindroom.py wilt gebruiken, moet je de module palindroom importeren. Dat gaat als volgt:

import palindroom

print(palindroom.is_palindroom("nepalapen"))

Met import palindroom zeggen we aan de Python-interpreter dat we toegang willen tot alle code in de module palindroom. Python zoekt dan naar bestanden met de naam palindroom.py in zijn zoekpad. Omdat de code test_palindroom.py in dezelfde directory staat als palindroom.py, vindt Python de module en zijn de functies is_palindroom en is_palindroom2 daarin beschikbaar onder de namen palindroom.is_palindroom en palindroom.is_palindroom2.

In dit geval is het niet zo handig dat je voor elke functie uit de module palindroom de aanduiding palindroom. dient te zetten, omdat dit nogal lang is. We kunnen de naam van een module die we gebruiken gelukkig ook afkorten:

import palindroom as pal

print(pal.is_palindroom("nepalapen"))

Het is ook mogelijk om het voorvoegsel voor de module volledig weg te laten door de specifieke functies die we willen gebruiken te importeren:

from palindroom import is_palindroom

print(is_palindroom("nepalapen"))

Dat kan ook met meerdere functies:

from palindroom import is_palindroom, is_palindroom2

print(is_palindroom("nepalapen"))

print(is_palindroom2("parterretrap"))

Zodra je Python-code wat langer wordt, is het aan te raden om ze in modules op te splitsen. Een goede vuistregel is dat elke module code voor één specifiek doel moet bevatten. In ons geval bevat de module bijvoorbeeld alle mogelijke code die met palindromen te maken heeft. Als we daarnaast ook code voor anagrammen zouden willen toevoegen, doe je dat het best in een afzonderlijke module, anagram.py.

Systeeminformatie

Python zelf bestaat ook uit een heleboel standaardmodules waarin allerlei handige functies zitten. Zo is er de module platform om informatie over het platform waarop je Python-programma draait op te vragen:

>>> import platform
>>> platform.architecture()
('64bit', 'ELF')
>>> platform.platform()
'Linux-4.15.0-33-generic-x86_64-with-Ubuntu-18.04-bionic'
>>> platform.processor()
'x86_64'
>>> platform.python_version()
'3.6.7'
>>> platform.system()
'Linux'

Verder bevat de standaardmodule os allerlei functies die met het besturingssysteem te maken hebben. Zo kun je een lijst opvragen van de bestanden in de huidige directory:

>>> import os
>>> os.listdir()
['palindroom.py', 'test_palindroom.py']

Werken met getallen

Als je met getallen wilt werken, komt de module math goed van pas. Die bevat allerlei functies voor berekeningen, zoals je in het volgende voorbeeld ziet:

>>> import math
>>> math.floor(4.3)
4
>>> math.ceil(4.3)
5
>>> math.gcd(28, 12)
4
>>> math.sqrt(2)
1.4142135623730951
>>> math.e
2.718281828459045
>>> math.pi
3.141592653589793
>>> math.sin(2*math.pi)
-2.4492935982947064e-16

In de laatste regel zie je al een nadeel van berekeningen met floats: door afrondingsfouten geeft de berekening van de sinus van 2 keer pi een heel klein getal (-2 en nog iets maal 10 tot de -16de macht) in plaats van het juiste resultaat 0.

Een andere nuttige module is random, waarmee je willekeurige getallen kunt genereren:

>>> import random
>>> random.randint(1, 10)
7
>>> random.choice(['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'])
'rob'
>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']
>>> random.shuffle(namen)
>>> namen
['jan', 'rob', 'koen', 'mireille', 'lies', 'kees']

Zo geeft de functie randint(a, b) een willekeurig geheel getal tussen a en b terug (a en b inbegrepen). Met choice kies je een willekeurig element uit een lijst. En met shuffle schud je een lijst willekeurig door elkaar.

Samenvatting

In deze les heb je geleerd om je Python-code wat meer te structureren. Enerzijds heb je berekeningen die je vaak herhaalt in functies leren opnemen. Anderzijds heb je geleerd hoe je functies die bij elkaar horen kunt afscheiden in een afzonderlijke module. We hebben tot slot ook met enkele standaardmodules van Python kennisgemaakt. In de volgende les gaan we op de structuur van datatypes in: we tonen je hoe je zelf eigen datatypes kunt definiëren in de vorm van klassen.

Opdracht

Open de module palindroom.py in Thonny en voer ze uit met een druk op F5. Voer in de terminal onderaan de volgende opdrachten in: *>>> is_palindroom('parterretrap')True>>> woord**Traceback (most recent call last):**File "

Uitwerking

De parameter woord in de functie is een lokale variabele: die is alleen binnen het blok van de functie gedefinieerd. Als je de functie met het argument 'parterretrap' oproept, wordt die string in de functie aan de lokale variabele woord toegekend, maar na het uitvoeren van de functie is die variabele niet meer beschikbaar en geeft Python dus met een NameError aan dat het de naam woord niet kent.

Cheatsheet

Functie: een afzonderlijk stukje code dat je meerdere keren uitvoert. Importeren: aangeven dat je een module wilt gebruiken. Lokale variabele: een variabele die alleen binnen een specifiek blok (bijvoorbeeld van een functie) gedefinieerd is. Module: een afzonderlijk bestand met Python-code. Recursieve functie: een functie die zichzelf aanroept.

▼ Volgende artikel
Digitale veiligheid in 2025: hoe en waar ben je kwetsbaar?
© ryanking999 - stock.adobe.com
Zekerheid & gemak

Digitale veiligheid in 2025: hoe en waar ben je kwetsbaar?

Dat het internet niet veilig is en je bijvoorbeeld accountgegevens en je computer moet beveiligen, weet iedereen wel. Maar waartegen je ze moet beveiligen, dat is steeds minder duidelijk. Weten wat precies de dreiging is en welk risico je loopt, is een belangrijke stap in het kiezen van de juiste beveiligingsmaatregel. Wij gingen in gesprek met experts op dit vlak. Tegen welke dreiging moeten we ons eigenlijk beveiligen?

In dit artikel vertellen we je over de online dreigingen anno 2025: • Ransomware • Phishing • Deepfakes • IoT-aanvallen Lees hierna zeker ook: Veilig downloaden: hier moet je op letten

In een donkere kamer vol beeldschermen, zit een jongeman achter een computer. De capuchon van zijn hoodie is zo ver over zijn hoofd getrokken dat zijn gezicht onzichtbaar is . Een hacker! Hoewel maar weinigen van ons er een in het wild zijn tegengekomen, weten we allemaal hoe een hacker eruitziet. Althans, dat denken we. Maar hoe realistisch is dit beeld? En zijn we veilig genoeg als we deze hacker buiten onze computer houden? Niet volgens de experts.

Dreiging en risico

Door het gebruik van computers, smartphones en online diensten stellen we ons dagelijks bloot aan diverse digitale dreigingen. Welke dat precies zijn, verandert door de tijd – evenals het gevaar dat we erdoor lopen en het risico dat we ermee nemen. Overheden, maar ook bedrijven en organisaties werken veelal met dreigingsbeelden. Dat zijn analyses waarin ze de dreigingen zo concreet mogelijk maken en het risico ervan inschatten. Behalve dat het een goede manier is om de dreigingen helder te krijgen, is het vooral nuttig bij de keuze voor te nemen maatregelen.

Volgens het Cybersecurity Woordenboek is een dreiging: ‘iets, een gebeurtenis, wat gevaar of schade kan opleveren’. Bij elke dreiging hoort een risico. Dit is de ‘kans dat het ook echt gebeurt gecombineerd met de gevolgen van die de schade’. Bedoeld wordt dat wanneer bijvoorbeeld de financiële schade van een dreiging een bedrijf failliet kan laten gaan, het risico van de dreiging groter is dan alleen de kosten van de oplossing.

Lekken van persoonlijke gegevens

De schade hoeft ook lang niet altijd financieel te zijn. Het lekken van gevoelige persoonlijke gegevens heeft al snel veel meer impact en betekenis voor die persoon en vaak ook zijn omgeving, dan alleen het bedrag dat ermee gemoeid is. En dat geldt ook wanneer ransomware digitale foto’s vernietigt of je enkele weken werk kwijtraakt en daardoor een belangrijke opdracht te laat inlevert bij een opdrachtgever.

Experts stellen dat het risico het slachtoffer te worden van cybercrime, voor mensen niet lager is geworden. Cybercriminelen gaan steeds slimmer te werk, omdat er veel geld met hun activiteiten te verdienen valt. Voorkomen blijft het doel. Weten welke dreigingen er zijn, is daar een belangrijke stap bij.

Cybersecurity Woordenboek

Cybersecurity is net als de hele tech-sector, gek op afkortingen en moeilijke woorden. Op www.cyberveilignederland.nl/woordenboek vind je het Cybersecurity Woordenboek dat zo’n 650 cybersecurity-termen in begrijpelijke taal uitlegt. Het woordenboek is een samenwerking van ruim 70 organisaties en Nederlandse cybersecurity-professionals in samenwerking met de Cybersecurity Alliantie. De actuele online versie is de derde druk en behalve online te raadplegen ook als pdf te downloaden.

Het Cybersecurity Woordenboek verduidelijkt cybersecuritytermen en -begrippen.

Ransomware blijft schadelijk

Ransomware of gijzelsoftware is al enkele jaren de meest voorkomende en meest lucratieve vorm van cybercrime. Het is malware die de bestanden op een apparaat versleutelt en losgeld eist in ruil voor de decoderingssleutels. Betaal je niet, dan zijn de gegevens voor altijd verloren.

Bogdan Botezatu, directeur Threat Research bij Bitdefender, ziet de verzoeken om hulp dagelijks op zijn bureau landen. “En dat zijn maar al te vaak ook gewoon burgers”, zegt hij om het beeld te ontkrachten dat ransomware vooral bedrijven raakt. “De criminelen richten zich zelden op een specifiek doel, ze schieten vooral met hagel.”

Vele kleintjes leveren volgens hem genoeg geld op en ze lopen minder risico op ongewenste aandacht van pers en politie dan wanneer ze een hele grote vis vangen. Wel wordt bij het aanvallen van bedrijven steeds vaker ingezet ook op extractie, het naar buiten kopiëren van informatie en dan dreigen die te publiceren. Voor consumenten is dit volgens Botezatu in elk geval nu nog een minder voor de hand liggend scenario. “Contact maken met individuele slachtoffers is lastig en het zijn er ook veel te veel. Dan is het eenvoudiger om losgeld te vragen in ruil voor de sleutels.”

Bogdan Botezatu ontvangt dagelijks verzoeken om hulp bij ransomware.

Bronnen van besmetting

Belangrijke bronnen van een ransomwarebesmetting zijn volgens Botezatu phishingberichten, gebruik van onveilige netwerkprotocollen en kwetsbaarheden in software. Expliciet noemt hij nog besmette downloads van cracks om software zonder geldige licentie te gebruiken, en gekraakte films en e-books. “Vaak krijgt men wel een prompt van een beschermingsprogramma maar schakelt die tijdelijk uit. ‘Snel de crack draaien en daarna de beveiliging weer aan’ denk men, maar helaas werkt het niet zo. Dan ben je al besmet.”

Nederland bedreigd

Ook landen denken na over dreigingen en risico’s. Voor Nederland doen de Algemene Inlichtingen- en Veiligheidsdienst (AIVD), Militaire Inlichtingen- en Veiligheidsdienst (MIVD) en de Nationaal Coördinator Terrorismebestrijding en Veiligheid (NCTV) dit. Het Nationaal Cyber Security Centrum (NCSC), dat onderdeel is van het NCTV, richt zich specifiek op digitale dreigingen. Zij publiceert bijvoorbeeld het Cybersecuritybeeld Nederland. CSBN 2023 is de meest recente versie. De overheid voorziet burgers niet specifiek van digitale dreigingsinformatie, wel kun je op sites als Alert Online en Veiliginternetten.nl algemene tips voor digitale veiligheid lezen.

De overheid publiceert regelmatig rapporten over de digitale bedreigingen voor Nederland.

Broddelwerk met desastreuze uitkomst

De ransomware zelf wordt ook steeds verder ontwikkeld. “Niet allemaal zijn ze even kundig”, oordeelt Botezatu over de programmeurs. Soms maken ze volgens hem hele basic fouten, waardoor het onmogelijk is de bestanden te ontsleutelen – zelfs als je betaalt en de sleutels zou krijgen. Volgens het Jaarbeeld Ransomware van Projectgroep Melissa, een samenwerkingsverband van de Nederlandse overheid en diverse private partijen uit de cybersecuritysector, kwamen er in 2023 in Nederland 29 typen ransomware voor. Volgens Botezatu maakt momenteel vooral de ransomware-variant STOP Djvu veel slachtoffers. Deze ransomware richt zich vooral op Windows-computers en wordt vooral via software-cracks verspreid en via berichten op het Discord-chatplatform.

De top 10 van Peter Stelzhammer

Wij vroegen Peter Stelzhammer, oprichter en malware-onderzoeker bij antivirus-lab AV-Comparatives, naar zijn top 10 van verwachte bedreigingen voor 2025.

  • Phishing: mensen verleiden gevoelige informatie te verstrekken.
  • Deepfakes en desinformatie: mensen manipuleren en oplichten met AI-nep-video’s en audio.
  • Ransomware: bestanden versleutelen en alleen tegen betaling ontsleutelen.
  • Malvertising: malware verspreiden via besmette advertenties.
  • Identiteitsdiefstal: gestolen persoonsgegevens misbruiken voor fraude.
  • Fakeshops: frauduleuze webshops die persoonlijke en betalingsgegevens verzamelen of namaakgoederen verkopen.
  • IoT-aanvallen: IoT-apparatuur hacken voor toegang tot diensten, of gecoördineerde criminele aanvallen.
  • Man-in-the-Middle (MitM)-aanvallen: (bank)communicatie onderscheppen en misbruiken.
  • Cryptojacking: ongeautoriseerd gebruik van computers maken om crypto te minen.
  • Zero-day-exploits: kwetsbaarheden in software misbruiken voordat er een patch is.

Overige malware

Door alle aandacht voor ransomware lijkt het bijna of er geen ‘gewone’ malware meer is. Die is er nog genoeg. Het Duitse antivirus-certificeringslab AV-Test ziet ze allemaal voorbijkomen. Erik Heyland, manager van het Test en Research Lab bij AV-Test somt de enorme aantallen varianten trojans, backdoors, webscripts, miners, worms, PUA’s, droppers en nog veel meer op. De aantallen nieuwe varianten lopen in de miljoenen per jaar. AV-Test heeft op https://portal.av-atlas.org een online dashboard staan met informatie over actuele dreigingen, zoals virussen, spamberichten en aanvallen op IoT-apparaten.

AV-Test heeft een online dashboard met dreigingsinformatie.

Gehackt

In 2021 was het Brabantse bedrijf Hoppenbrouwers slachtoffer van een ransomwareaanval door de beruchte REvil-cybercrimegroep. Het bedrijf wil graag dat anderen ervan leren en heeft een e-book gepubliceerd van de gebeurtenissen voor, tijdens en na de hack. Het e-book is gratis te downloaden.

Het ransomware-verhaal van het Brabantse Hoppenbrouwers maakt de impact van een ransomware-incident invoelbaar.

Jij bent geld waard

Phishing, smishing, infostealers; het zijn allemaal manieren waarop criminelen proberen persoonlijke gegevens zoals wachtwoorden en creditcardnummers in handen te krijgen. Ze doen dit via e-mails en sms-berichten die verwijzen naar nep-websites of door met een infostealer-programma informatie op de pc of Mac te verzamelen door login-/sessie-cookies en credentials die je in browsers bewaart, te stelen.

De verschillende vormen om informatie te verzamelen, worden volgens de experts steeds geavanceerder en daarmee gevaarlijker. Niet alleen investeren de criminelen meer tijd en middelen in hun aanvallen, kunstmatige intelligentie biedt hun ongekende nieuwe mogelijkheden. Daarbij is de opbrengst van een aanval door de manier waarop wij met wachtwoorden omgaan vaak veel groter dan het op eerste hand lijkt. Botezatu noemt dit een van zijn grootste frustraties. “Hackers hebben talloze manieren om deze informatie te oogsten. Voor de meeste accounts is het ook geen kwestie van hoe, maar alleen wanneer de gegevens worden gestolen. Hergebruik je inloggegevens, dan verlies je meer dan alleen dat account.”

Oplichting even gevaarlijk

Volgens Marc Vos, senior-manager bij McAfee, is internetoplichting inmiddels net zo gevaarlijk als malware en ransomware. Daarbij zijn volgens hem juist deze vormen van online criminaliteit steeds lucratiever voor de criminelen. “De meeste mensen begrijpen wel dat een pc beveiligd moet worden, maar dat ze zelf eigenlijk een veel ‘interessanter’ doelwit zijn wordt vaak vergeten.” Of zoals Botezatu aanvult: “Mensen denken dat hun informatie niet waardevol is. Maar eigenlijk is elk onderdeel van een online identiteit te misbruiken en te verkopen. Overal hangt een prijskaartje aan.”

De top 10 van Marc Vos

Ook Marc Vos, senior PR-manager bij McAfee, leverde zijn belangrijkste bedreigingen voor 2025:

  • Dating-fraude (pig butchering): iemand verleiden en het vertrouwen misbruiken voor crypto-scams.
  • Beleggingsfraude: advertenties met bekende personen voor malafide investeringen.
  • WhatsApp-fraude (“Hoi mam”) nep-gezinslid in nood vraagt via WhatsApp om geld.
  • Recovery-fraude: slachtoffer van fraude wordt door nep bank-/helpdeskmedewerker nogmaals oplicht.
  • E-mail-/sms-phishing: nep-mail lokt je naar site die gegevens steelt.
  • Nepberichten van pakketbezorgers: mail of app over invoerkosten om gegevens te stelen.
  • Nepwebshop of ticketsites: site verkoopt goederen of tickets maar levert niet en steelt betalingsgegevens.
  • Deepfakes: met AI gemaakte video’s/foto’s ingezet voor misinformatie, cyberpesten, oplichting.
  • Vishing/voicephishing: via de telefoon inlog- of betaalgegevens bemachtigen. AI maakt deze voiceberichten superrealistisch.
  • Quishing: QR-code aanbieden die naar phishingwebsite leidt.

Hackers en IoT

Volgens Botezatu is er niet één groep of soort hackers. Hij gebruikt dan ook liever scenario’s om enkele groepen te duiden. Voor consumenten zeker relevant is de ‘opportunistische hacker’ die het internet scant met kant-en-klare tools op zoek naar kwetsbaarheden. Ze hebben vooral succes bij smart-apparatuur zoals slimme deurbellen, IP-camera’s, smart speakers, maar ook printers en babyfoons. Ze vormen hier botnets mee die ze gebruiken om DDOS-aanvallen uit te voeren. Een tweede scenario is dat gekaapte apparatuur wordt gebruikt om internetverkeer te routeren en te verbergen, bijvoorbeeld om toegang te geven tot strafbare content. Volgens Botezatu ziet niet iedereen van wie de apparatuur gekaapt is zichzelf direct als slachtoffer. “Wordt jouw IP-adres gebruikt om vitale infrastructuur aan te vallen, dan kan dat serieus repercussies hebben”, waarschuwt hij.

Bij IoT-apparaten is ook al snel de privacy in het gedrang. “Wereldwijd gaat het om 22 miljard verbonden apparaten en dat aantal neemt alleen maar toe. IP-camera’s en babymonitors slaan vaak beelden op in de cloud. Hack je die, dan kun je direct bij mensen in huis kijken. Er blijft dan geen privacy over, maar het wordt dan ook een fysiek risico. Criminelen kunnen meekijken en zien waar je belangrijke zaken bewaart, maar ook wanneer je thuis bent of juist niet. Opnieuw relevante informatie die geld waard is.”

Social media

Steeds vaker zijn ook hackers geïnteresseerd in accounts van social media, YouTube en e-mail. Ze gebruiken deze accounts om als jou andere accounts ‘te liken’ en een boost te geven, om fake-nieuws en fake-succesverhalen te verspreiden. Populair is ook advertising-fraude. Hierbij maakt men een account aan bij een advertentieverkoper om daarna met gestolen accounts eindeloos op deze advertenties te klikken. “Per klik is het een minimaal bedrag, maar aangestuurd met een botnet en veel gestolen accounts is het al snel een leuke inkomstenbron.”

Mobiele dreigingen

Aangezien er ontzettend veel data op mobiele apparaten staan, zoals wachtwoorden en apps die je gebruikt bij multifactor-inloggen, is er volgens Peter Hendriks, solutions-manager bij ESET, alle reden de beveiliging van mobiele apparaten serieus te nemen. Smartphones zijn veiliger dan pc's en Macs, maar waterdicht is die veiligheid niet. “Dat geldt voor Android maar ook iOS. Apples mobiele OS is meer afgeschermd, maar het is niet zo dat je mobiele devices onschendbaar zijn.”

Mobiele apparaten worden veel aangevallen voor phishing en vishing (spraak-phishing). Een groot risico is de installatie van apps buiten de standaard Android- of Apple-appstore om. Apps in die stores worden door Apple en Google op kwaliteit en ook beveiliging gecontroleerd, maar dat geldt niet voor apps uit andere bronnen. Lang had ook alleen Android de optie om alternatieve stores te gebruiken, maar inmiddels moet ook Apple andere appwinkels toelaten.

“Het risico van het downloaden van malware is hierdoor groter geworden”, aldus Hendriks. Botezatu van Bitdefender onderschrijft dit: “Op iOS zijn attacks zeldzaam, maar voor Android zien we zeker twintig tot dertig reports van frauduleuze apps per maand.” Bitdefender onderzoekt op dit moment een Android-app die in de Google Playstore wordt aangeboden en die de smartphone gebruikt als proxy voor crimineel netwerkverkeer. “Het grote voordeel van smartphones is dat ze eigenlijk altijd ingeschakeld zijn én verbonden zijn met het internet”, aldus Botezatu. Dit maakt smartphones volgens hem extra interessant. Daarbij is ook de bandbreedte steeds minder een beperking. Bovendien bevatten mobiele apparaten veel informatie over de gebruiker.

De top 10 van Peter Hendriks

Peter Hendriks, solutions-manager bij ESET is duidelijk. “Awareness is altijd belangrijk, maar goed nadenken over risico’s ook.”

  • Phishing/smishing: oplichting via mail en WhatsApp.
  • Vishing/Voicephishing: criminelen die zich via AI voordoen als iemand anders om gegevens of geld los te maken.
  • Malware: vooral infostealers en andere malware, onverminderd een groot probleem.
  • Social engineering: alles van een “Hoi mama” tot deepfake-video bedoeld om je om de tuin te leiden. Kan zeker bij offline stalking veel impact hebben op een slachtoffer.
  • Identiteitsfraude via datalekken: criminelen die gelekte data met accountgegevens kopen en misbruiken.
  • IoT-apparaten: slecht beveiligde slimme apparaten die verbonden met het internet je aanvalsoppervlak enorm vergroten.
  • Nepwebshop: een shop beginnen is steeds makkelijker, ook als die malafide is.
  • Sextortion: chantage met naaktbeelden van het slachtoffer. Soms met gemanipuleerde beelden.
  • Ransomware: onverminderd een groot probleem.
  • Besmette downloads: onofficiële software die malware bevat.

Conclusie

Als gebruiker kun je er niet omheen: het internet is niet veilig en daarmee ook alle apparaten die we met het internet verbinden niet. Dat geldt voor de computer, de smartphone, maar ook voor alle andere apparaten die we steeds meer toelaten in ons huis en in ons leven. En juist omdat we er zo vertrouwd mee zijn en ze ook willen vertrouwen, is het belangrijk de risico’s goed in ogenschouw te nemen. De experts en rapporten van de overheid laten zien dat de dreiging groot genoeg is om beveiliging ruim aandacht te geven.

De wereld achter ransomware

Bij Project Melissa werken enkele overheden en security-organisaties, onder wie het NCSC, Fox IT en de politie, samen tegen ransomware. De samenwerking heeft enkele succesvolle acties tegen ransomwarebendes opgeleverd, maar ook twee lezenswaardige whitepapers. Eén geeft inzicht in de werking van ransomware en de criminelen erachter, de tweede gaat dieper in op de afpersingsmethode van data-exfiltratie. Beide documenten zijn te downloaden via deze webpagina van het Nationaal Cyber Security Centrum.

De ransomware-whitepapers van Project Melissa geven veel inzicht in de werking van ransomware en de criminele groepen erachter.

▼ Volgende artikel
Waar voor je geld: 5 beveiligingscamera's met een hoge videoresolutie
© Reshoot
Zekerheid & gemak

Waar voor je geld: 5 beveiligingscamera's met een hoge videoresolutie

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Ben je op zoek naar een bewakingscamera met een hoge beeldkwaliteit? Vandaag hebben we vijf interessante modellen voor je gespot.

TP-Link Tapo C325WB

De TP-Link Tapo C325WB is goedkoop en levert ook nog eens een scherp beeld. Met een resolutie van 2688 × 1520 pixels identificeer je moeiteloos personen en huisdieren. Aan weerszijden van de lens bevinden zich twee felle ledlampen. Die gaan na bewegingsdetectie in het donker vanzelf branden, zodat je nachtelijke opnames in kleur kunt maken. Overigens herkent de Tapo C325WB op eigen houtje mensen, voertuigen, honden en katten. Je ontvangt daarvan desgewenst pushberichten op je smartphone, waarna je in de TP-Link Tapo-app livebeelden opvraagt. Uiteraard kijk je net zo makkelijk eerdere opnames terug.

Voor het opslaan van beeldmateriaal kun je kiezen tussen verschillende opties. De eenvoudigste methode is om een microSD-kaart van maximaal 512 GB in het apparaat te plaatsen. Als alternatief kun je de video's op een geschikte NAS of (tegen betaling) in de cloud bewaren. Je verbindt de Tapo C325WB via een ethernetkabel of wifi met het (draadloze) thuisnetwerk. De IP66-gecerificeerde behuizing is weerbestendig, waardoor je hem ook buiten kunt ophangen.

TP-Link Tapo C225

Als je alleen binnenshuis wilt opnemen, is deze goedkope pan- en tilt-camera een goede keuze. Het camerahoofd van de TP-Link Tapo C225 kan op eigen houtje horizontaal (340 graden) en verticaal (60 graden) bewegen. Je hebt in een kamer dus geen last van dode hoeken. Bepaal bijvoorbeeld dat de camera een huisdier of (klein)kind automatisch moet volgen. Vervolgens neem je in de TP-Link Tapo-app live een kijkje. Dankzij een respectabele resolutie van 2560 × 1440 pixels ogen de beelden scherp. Bepaal in de app in hoeverre je meldingen wilt ontvangen van bewegende objecten, personen, huisdieren en geluiden.

Een opvallende functie is de privacyknop. Wanneer je daarop drukt, stopt de Tapo C225 meteen met filmen. Verder voer je op afstand een gesprek, want de behuizing bevat een speaker en microfoon. Voor de opslag van video's plaats je een microSD-kaart van maximaal 512 GB in de behuizing. Een andere mogelijkheid is om de beelden naar een geschikte NAS door te sluizen. Lees hier een uitgebreide review over deze veelzijdige camera.

Eufy Eufycam E330 (2-pack + basisstation)

Met dit starterspakket van Eufy bewaak je de voor- en achterkant van je woning. En hoe, want de twee bijgesloten camera's ondersteunen een 4K-resolutie van 3840 × 2160 pixels. Hierdoor herken je zelfs na digitaal inzoomen moeiteloos personen. Zodra de bewakingscamera's met netstroom zijn verbonden, bewaar je opnames op het inbegrepen basisstation. Standaard is er een opslagcapaciteit van 16 GB beschikbaar, maar dat breid je met een eigen interne schijf optioneel uit naar maximaal 16 TB. Zeker wanneer je continu wilt opnemen, is extra opslagruimte een vereiste. Je kunt als alternatief ook alleen filmpjes van gebeurtenissen opslaan.

Naast een hoge resolutie biedt de Eufycam E330 ook nog eens nachtzicht in kleur. Er zijn namelijk een lichtgevoelige sensor en ledlamp geïntegreerd. Verder is de functie gezichtsherkenning de moeite waard. Je ontvangt desgewenst pushmeldingen zodra er familie of vrienden bij je op de stoep staan. Woon je groot? Overweeg dan een bewakingssysteem met vier camera's. Daarnaast is de Eufy Eufycam E330 ter uitbreiding los te koop.

Lees ook: 5 fouten met je beveiligingscamera die je hierna nooit meer maakt

EZVIZ BC1c 4K

Deze oplaadbare 4K-bewakingscamera van Ezviz is momenteel goedkoper dan ooit. Zodra je de BC1c 4K met wifi verbindt, kijk je naar opnames en livebeelden in een resolutie van 3840 × 2160 pixels. Je hangt de IP65-gecertificeerde behuizing zo'n beetje overal op. In de behuizing bevindt zich namelijk een accu met een riante capaciteit van 10.400 mAh. Dat scheelt weer stroomdraden trekken! Ben je van plan om de beveiligingscamera op een locatie met veel zonlicht te monteren? Koop de BC1c 4K dan inclusief zonnepaneel, zodat je de batterij niet of nauwelijks via netstroom hoeft op te laden.

De behuizing heeft plek voor een microSD-kaart tot maximaal 512 GB. Verder is de behoorlijke diagonale kijkhoek van 135 graden een pluspunt. Hierdoor vangt de lens een groot deel van de kamer, tuin of oprit in beeld. Zodra de camera een persoon of voertuig detecteert, ontvang je hiervan een melding op je smartphone. Bovendien begint de BC1c 4K automatisch met opnemen. Overige voordelen zijn de ondersteuning voor tweewegaudio en nachtzicht in kleur.

Foscam G4P-B

De Foscam G4P-B heeft een stevige behuizing, waardoor je hem gerust op een drukke of risicovolle plek kunt ophangen, zoals aan de straatzijde waar kinderen spelen. Het apparaat werkt op netstroom, waardoor je 24/7 kunt opnemen. Kies voor het opslaan van videomateriaal tussen drie mogelijkheden, namelijk een microSD-kaart (max 256 GB), een geschikte NAS of cloudopslag. Voor laatstgenoemde optie moet je wel een betaald abonnement afsluiten.

De G4P-B heeft een ethernetaansluiting, zodat je het apparaat op een bekabeld netwerk kunt aansluiten. Dat verhoogt de betrouwbaarheid van de beeldoverdracht. Is er geen bekabelde netwerkaansluiting beschikbaar, dan verbind je deze beveiligingscamera net zo makkelijk met wifi. Gunstig is verder de ruime videoresolutie van 2560 × 1440 pixels. Daarnaast reikt de nachtzichtfunctie tot ongeveer twintig meter. Onder de productnaam G4P-W is er ook een witte uitvoering verkrijgbaar.