Alle release notes
Platform
Blootstellingsscoring, M365-drift en werkbare onderzoeken
Release rond scores en signalen die wel werden berekend maar vervolgens niet werden gelezen. Risicoscoring krijgt een blootstellingsmodel op basis van werkelijke bereikbaarheid en één scoringsstandaard voor bevindingen zonder CVE, Microsoft 365 krijgt Secure Score in context, postuurdrift en tijdgebonden uitzonderingen, en Onderzoeken wordt een dossier waarin een analist kan werken in plaats van alleen lezen. Let op de sectie Gewijzigd: verschillende onderdelen van deze release veranderen bij het bijwerken de rangschikking en het aantal van openstaande risico's.
Nieuw
- Blootstellingsmodel op basis van aanvalspad: risicoscoring vroeg voorheen of een apparaat luisterde op een verontrustend poortnummer en telde daar punten voor op. Die vraag kan een dienst die alleen op loopback luistert niet onderscheiden van een dienst die aan het internet hangt. Het model stelt nu drie afzonderlijke vragen: langs welke weg de aanval binnenkomt (afgeleid uit de CVSS-vector, zodat een RCE in een browser en een luisterende netwerkdienst niet langer op één hoop gaan), of een aanvaller er daadwerkelijk bij kan (een bereikbaarheidsniveau opgebouwd uit bindadressen, firewallprofielen, inkomende regels, adressering van netwerkadapters en het opgegeven netwerkpostuur van de locatie), en of de aanwezige maatregelen juist dát pad blokkeren (schijfversleuteling stopt diefstal van een laptop en doet niets tegen een RCE over het netwerk). Blootstelling en maatregelen werken nu vermenigvuldigend in plaats van optellend, zodat een volledig geharde host niet langer structureel hoger kan uitkomen dan een kale. Bij een risico dat meerdere apparaten raakt bepaalt voortaan het zwaarst getroffen apparaat de score.
- Netwerkpostuur per locatie: de perimeter zoals de beheerder die opgeeft, iets wat een agent op een endpoint principieel niet zelf kan waarnemen, begrenst het bereikbaarheidsniveau van elk apparaat op die locatie. Nieuwe weergaven tonen per apparaat hoeveel luisterende sockets werkelijk bereikbaar zijn, en per risico waarom de score is wat hij is, in plaats van een lijst met anonieme puntenwaarden.
- Eén scoringsstandaard voor risico's zonder CVE: risico's uit eigen regels en uit Microsoft 365-postuur scoorden voorheen 0,0 ongeacht de ernst die de bron opgaf, waardoor een postuurbevinding met ernst hoog onder een CVE met ernst laag terechtkwam. De bron geeft nu een ernstband op, de scoring rangschikt binnen die band en kan een score hooguit één band verplaatsen. Bewijsklasse is daarbij een eigen as: waargenomen gedrag weegt zwaarder dan iets wat is afgeleid uit het ontbreken van gegevens. Certificaatrisico's worden nu bij elke controle opnieuw gescoord en ontlenen hun urgentie aan de resterende looptijd, in plaats van twee maanden lang de score te houden die ze op de dag van aanmaak kregen.
- Betrouwbaarheidsdrempel voor CVE-correlatie: correlatiebevindingen worden ingedeeld in drie niveaus op basis van hoe zeker de match is. Zeker genoeg wordt automatisch geaccepteerd, twijfelgevallen worden getoond en gemarkeerd voor beoordeling, en te onzekere matches worden verlaagd naar informatief en verborgen uit de standaardwachtrij. De drempels zijn geijkt op de volledige productieset aan bevindingen en zijn instelbaar. Een CVE die bekend staat als actief misbruikt wordt nooit verborgen: een onderdrukte false positive kost een analist niets, een onderdrukte actief misbruikte CVE is de enige fout die niet te herstellen is. Versievergelijkingen tussen onvergelijkbare nummerschema's, zoals een Windows-featurerelease tegenover een gedetailleerd buildnummer, geven nu geen antwoord meer in plaats van een zelfverzekerd verkeerd antwoord.
- Microsoft 365 Secure Score in context: naast het percentage worden nu de historie, de vergelijkingscijfers van Microsoft zelf (alle tenants, vergelijkbare organisatiegrootte en branche) en de scores per maatregel vastgelegd, inclusief het maximaal haalbare, de hersteltekst en een directe link naar het juiste beheerscherm. Een losse 47% is niet bruikbaar; 47% tegen een branchegemiddelde van 52% met 141 punten die nog openstaan is een gesprek met een klant. Aanbevelingen worden gerangschikt op de punten die nog te behalen zijn, oftewel op verhouding tussen inspanning en effect. Ze zijn bewust niet gelabeld als herstelactie: Secuno leest Microsoft 365 alleen uit en een knop die belooft de tenant te repareren maar in werkelijkheid documentatie opent is een belofte die het product niet waarmaakt.
- Postuurdrift in Microsoft 365: bevindingen beantwoorden de vraag wat er nu mis is, drift beantwoordt de vraag wat er sinds de vorige scan is veranderd. Dat is de vraag die een beheerder daadwerkelijk krijgt en de vraag die een momentopname niet kan beantwoorden, want een tenant kan een gelijkblijvende Secure Score houden terwijl er een beheerder wordt toegevoegd, een Conditional Access-beleid wordt uitgezet en een nieuwe OAuth-toestemming verschijnt. Gedekt zijn geprivilegieerde accounts (inclusief een beheerder die MFA verliest zonder dat de lijst met beheerders verandert), Conditional Access, tenantbrede instellingen, MFA-dekking, OAuth-toestemmingen en beweging in de Secure Score. Alleen verslechteringen leiden tot een melding, één melding per scan in plaats van één per wijziging, en een tenant die simpelweg kapot blijft kan niet opnieuw melden. Elke vergelijking is voorwaardelijk op het daadwerkelijk kunnen lezen van de gegevens in die scan, zodat een verlopen machtiging niet wordt gelezen als het verdwijnen van alle beheerders.
- Tijdgebonden uitzonderingen op bevindingen: zowel een einddatum als een reden zijn verplicht. Een uitzondering zonder einddatum is een permanente demping, en een uitzondering zonder reden is een half jaar later niet te beoordelen. Het venster biedt voorinstellingen in plaats van een leeg datumveld, zodat een herbeoordelingsdatum de standaard is en niet iets wat de analist moet onthouden. Een verlopen uitzondering zet de bevinding vanzelf terug. Daarnaast: licentiedekking per tenant en een uitsplitsing van postuur per domein, zodat de pagina de vraag waar te beginnen beantwoordt en niet alleen hoe erg het in totaal is.
- Scandekking in Microsoft 365 vermeldt nu waaróm, niet alleen wat: een scan meldde welke gegevenssets Graph weigerde en nooit waarom. Voor een tenant zonder het premium identiteitsplan is dat een blijvende, verwachte planbeperking en geen fout die de klant kan verhelpen. Per gegevensset worden nu de status, de foutmelding en een geclassificeerde reden vastgelegd, zowel op de verbinding als per scan, zodat achteraf te beantwoorden is wanneer een gegevensset begon te falen. Planbeperkingen leiden niet langer tot een permanente waarschuwingsbalk op elke tenant zonder premium licentie, want dat leert mensen juist de balk te negeren die er wél toe doet.
- Onderzoeken als werkbaar dossier: een afvinklijst per draaiboekstap met een notitie over wat er daadwerkelijk is uitgevoerd, in plaats van een alleen-lezen genummerde lijst waarin de volgende responder niet kon zien wat al gedaan was. Bevindingen en gecorreleerde wijzigingsgebeurtenissen zijn samengevoegd tot één chronologische aanvalsketen in plaats van twee losse lijsten over dezelfde handelingen. Responsacties zijn nu vanuit het dossier zelf beschikbaar, bewust beperkt tot vier acties op het apparaat van dit onderzoek en altijd vastgelegd in het activiteitenspoor, zodat een analist die bestanden ziet versleutelen het onderzoek niet hoeft te verlaten om in te grijpen.
- Onderzoeken, verder: vergelijkbare eerdere zaken van hetzelfde signaaltype bij deze klant en hoe ze zijn afgehandeld, navigatie naar het vorige of volgende open onderzoek voor het wegwerken van een wachtrij, doorlooptijden getoond als duur in plaats van als losse tijdstempels (tijd tot bevestiging meet de eerste menselijke handeling, niet het moment van detectie), een observabelenpaneel dat indicatoren uit het bewijs haalt zodat niemand een JSON-blok hoeft te lezen om een hash te vinden, vaste afwijzingsredenen in plaats van een vrij tekstveld dat in de praktijk fp, test en lege waarden opleverde, en een afdrukbare zaakrapportage waarin de kleuren van ernstlabels behouden blijven.
- Agent-beheerconsole: wat één pagina van 1.400 regels was, is nu een sectie met een blijvende navigatie en eigen pagina's voor overzicht, uitrol, aanmeldtokens en het releaseoverzicht. Het overzicht toont vlootaantallen, beschikbaarheid en de spreiding van agentversies.
- Apparaatpagina: neergezette bestanden hebben nu een eigen tabblad waarin alles bewaard blijft. Voorheen was het onderzoek zelf de opslag, waardoor het filter dat bepaalde welke bestanden een zaak openden ook bepaalde wat het platform onthield. Daarnaast een tabblad Patchstatus dat Windows-updates en updates van software van derden aan de serverkant samenvoegt, waarbij openstaande regels apart worden opgehaald zodat een machine met duizend geïnstalleerde updates zijn drie mislukte niet uit beeld duwt.
- Zoeken in software-inventaris: filters per veld (naam, versie) met een expliciete keuze tussen EN en OF. EN versmalt (Chrome, maar alleen versie 120), OF verbreedt (alles wat Chrome heet, plus alles op 120). Dat zijn wezenlijk verschillende vragen zodra u een verkeerde build over een vloot zoekt, dus de keuze ligt bij de operator.
- Afgekapte lijsten zeggen dat nu ook: verschillende overzichten hanteren een harde bovengrens, maar die was stil. Bij 501 apparaten toonde de interface 500 beheerde apparaten alsof dat het antwoord was. Er staat nu 500 van 12.431. Een getal dat stilletjes verkeerd is, is schadelijker dan een ontbrekend getal, omdat het elk ander getal op de pagina verdacht maakt zodra iemand het opmerkt.
Verbeterd
- Risicoverrijking voor bevindingen zonder CVE: risico's uit agentwijzigingen, Microsoft 365-postuur, eigen regels en handmatige invoer vormen het merendeel van wat een operator opent en waren als enige zonder enige toelichting, omdat verrijking een CVE vereiste. Ze krijgen nu dezelfde uitleg via hetzelfde paneel. Verrijking liep bovendien alleen bij het aanmaken van een risico, zodat bestaande risico's permanent leeg bleven; die worden nu geleidelijk aangevuld.
- Rolrechten in de interface komen uit één centrale definitie in plaats van uit honderden losse rolcontroles verspreid over de codebase, waar dezelfde rolnaam op verschillende schermen verschillende dingen betekende en meerdere schermen een beheerder iets weigerden wat elders wel mocht. De definitie is vastgelegd in tests, zodat een latere wijziging die een rol verruimt hoorbaar faalt in plaats van stil mee te liften. Het blijft een antwoord op de vraag of een rol iets überhaupt mag; de begrenzing per klant blijft aan de serverkant, want alles wat de browser beslist is adviserend.
- Gedeelde interface-onderdelen en kleurtokens: kaarten, statistiekstroken en detailkoppen kwamen in ruim een dozijn licht afwijkende varianten voor. Ze zijn teruggebracht tot gedeelde onderdelen, het kleurenpalet is teruggebracht tot vijf reeksen waarin per stap is vastgelegd waarvoor die gebruikt mag worden, en een contrastcontrole draait mee in de build zodat een toegankelijkheidsprobleem in CI zichtbaar wordt in plaats van bij een klant.
- Foutafhandeling die afzwakt in plaats van instort: afzonderlijke panelen vangen hun eigen fouten op, zodat een falend paneel terugvalt op een plaatshouder terwijl de rest van de pagina bruikbaar blijft. Dat is het verschil tussen dat paneel is stuk en de console ligt eruit. Foutpagina's tonen bewust alleen een referentiecode: een stacktrace uit een beveiligingsconsole kan interne structuur prijsgeven en de gebruiker kan er niets mee, terwijl de referentie precies is wat support nodig heeft.
Opgelost
- Het publieke IP-adres van een apparaat: elk apparaatrecord legde een intern adres vast in plaats van het werkelijke publieke adres van het apparaat, en dat veld wordt gebruikt bij het matchen van dreigingsinformatie op IP-adres. Het adres wordt nu op één plaats bepaald en een intern adres wordt niet meer weggeschreven. Zie de sectie Gewijzigd: de vervuilde waarden worden gewist. Het adres blijft informatief van aard, voor weergave, geolocatie en context, en wordt niet gebruikt als grondslag voor toegang.
- Beschikbaarheid: een onverwachte fout in de snelheidsbegrenzing kon het backendproces beëindigen, en daarmee de dienst voor alle klanten tegelijk. De begrenzing wordt nu afgedwongen door een antwoord te schrijven en te stoppen, en onverwachte fouten lopen door de reguliere foutafhandeling.
- Netwerkisolatie was eenrichtingsverkeer: een host die was geïsoleerd en daarna weer vrijgegeven, bleef zichzelf permanent als ingeperkt melden. Dat is een gevaarlijke mededeling aan iemand die op een incident reageert. De status uit het isolatieblok is nu leidend.
- Telemetrietellers toonden één cyclus in plaats van een historie: een apparaat dat op een dag veertig keer terugviel op een noodpad, las als 1, en een probleem van vorige week was niet te onderscheiden van een probleem van nu. Tellers worden nu opgeteld met een begintijdstip en het moment van de laatste melding.
- Risicoaantallen per apparaat spraken zichzelf tegen: het aantal per apparaat en de statistiekkaart met openstaande risico's werden onafhankelijk van elkaar berekend en alleen de kaart filterde op status, zodat een apparaat waarvan alle risico's waren gemitigeerd nog steeds 3 risico's in rood adverteerde. Beide lezen nu dezelfde definitie van openstaand.
- Het patchdashboard telde regels als apparaten: getroffen apparaten telde één regel per ontbrekende patch per apparaat, zodat een vloot van twee machines 23 getroffen apparaten meldde, precies wat het bijschrift erboven belooft dat het niet is. Het zijn nu unieke apparaten.
- De poortkant van de vlootbasislijn had nooit een waarde ontvangen, door dezelfde veldnaamfout die ook de blootstellingsweging trof. Luisteraars op loopback zijn bovendien uitgesloten: een dienst die alleen op de machine zelf luistert is geen vlootbreed zichtbare dienst en hoort geen afwijking op een zeldzame poort op te leveren.
- Microsoft 365: een net verleende machtiging was tot een uur lang onzichtbaar. Een token draagt de verleende rechten op het moment van uitgifte en werd een vol uur hergebruikt, zodat Graph bleef melden dat de rechten ontbraken nadat een beheerder ze correct had verleend, en opnieuw scannen niet hielp. Het token wordt nu eenmalig vervangen zodra Graph toegang weigert.
- Microsoft 365: een gegevensset die we niet mochten lezen werd gepresenteerd als feit. MFA-status en laatste aanmelding werden onvoorwaardelijk weggeschreven, zodat een ontbrekende machtiging aan de klant werd getoond als een account dat nog nooit had aangemeld. Alleen gegevens waarvan de bron leesbaar was worden nog overschreven.
- Microsoft 365: ernstwijzigingen werden bij elke scan gemeld, doordat de ernst van een bevinding werd vergeleken met die van het gekoppelde risico in plaats van met de vorige ernst van de bevinding zelf.
- Een tijdsoverschrijding van het AI-model werd vastgelegd als een inhoudelijk oordeel: geen antwoord en een leeg antwoord waren niet te onderscheiden, waardoor een CVE waarvan de analyse nooit had gedraaid permanent werd vastgelegd als onvoldoende gegevens. De twee gevallen zijn nu gescheiden, en een CVE waarvan de analyse blijft falen krijgt na een begrensd aantal pogingen een expliciete status in plaats van eindeloos opnieuw te worden geprobeerd of stilzwijgend als geanalyseerd te gelden.
- De aanroeper van de verrijking gaf eerder op dan het werk dat hij zelf had aangevraagd: een trage maar geslaagde verrijking werd door de aanroeper weggegooid en werd bij elke scoringsronde opnieuw uitgevoerd. De wachttijden zijn op elkaar afgestemd en vastgelegd als volgordevereiste.
- Een vlootbrede herberekening van scores zou elke opgeslagen AI-beoordeling hebben gewist, doordat de scoringsschrijfactie de volledige metadatakolom verving in plaats van erin samen te voegen. Onschadelijk zolang scoring alleen bij aanmaak liep, maar deze release voert die herberekening juist wel uit.
- Een verlaging door de correlatiedrempel werd binnen milliseconden overschreven door het opnieuw afleiden van ernst uit de score. Een bevinding die de drempel verbergt is geen oordeel over de ernst van de CVE maar een uitspraak dat we de match niet geloven, en wordt daarom met rust gelaten.
- Kleuren van ernstlabels konden onzichtbaar renderen als witte tekst zonder achtergrond, doordat de stijlgenerator een map met opzoektabellen niet meelas en een ontbrekende klasse stil faalt.
Beveiliging
- Detectienauwkeurigheid van de Windows-agent: een reeks onterechte meldingen rond normaal beheer en routineonderhoud is opgelost bij de bron in plaats van verderop weggefilterd. Onder meer werden legitieme 32-bits systeembinaries aangezien voor maskering, en werd een geheugenbevinding op een ongewijzigd proces elke cyclus opnieuw als nieuwe bevinding gemeld. Geheugenscanbevindingen worden nu gemeld bij eerste waarneming en bij een wezenlijke verandering, en berusten op sterker bewijs zonder dat de dekking afneemt.
- Een onderzoek dat werd geopend op basis van het aantal signalen in plaats van de ernst ervan, kon een zaak met ernst hoog openen op correct verwerkte en correct verlaagde meldingen. Het onderzoek volgt nu de ernst van de zwaarste resterende melding.
Gewijzigd
- Het aantal openstaande risico's daalt. De betrouwbaarheidsdrempel voor CVE-correlatie verbergt bevindingen met een te lage matchzekerheid uit de standaardwachtrij, en bestaande regels worden bij het bijwerken meegenomen. De bevindingen zijn niet verwijderd en blijven opvraagbaar.
- De risicowachtrij wordt in zijn geheel opnieuw gerangschikt. Risico's uit eigen regels en uit Microsoft 365-postuur krijgen voor het eerst een echte score en verplaatsen van 0,0 naar het midden van hun opgegeven band, en elk risico met een CVE wordt opnieuw gescoord tegen werkelijke bereikbaarheid. Een locatie zonder opgegeven netwerkpostuur krijgt de standaardwaarde en niet de meest ruime aanname. Loop na deze release het netwerkpostuur van uw locaties na.
- Het publieke IP-adres en de bijbehorende geolocatiegegevens worden gewist op apparaten waar een intern adres was vastgelegd. Die apparaten melden bij hun volgende heartbeat een correct adres.
- De vlootbrede AI-herverwerking draait niet langer overdag maar 's nachts. Ze hield een groot deel van de rekencapaciteit de hele dag bezet en rondde door de planning tweederde van haar cycli nooit af. Wie erop rekende dat regels binnen enkele minuten beschikbaar zijn, wacht nu tot de nachtelijke ronde.