Security Engineering in IIIf, Part II -- Shadowing the IIIf
Dit artikel breidt de security engineering van het Isabelle Insider en Infrastructure framework (IIIf) uit door Morgans "Shadow"-concept te introduceren om Information Flow Security te formaliseren, waardoor de verfijningsparadox wordt opgelost en voorwaarden voor veilige verfijningen worden vastgesteld, geïllustreerd aan de hand van een voorbeeld van een vluchtradar systeem.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Het Grote Plaatje: Het "Flight Radar"-probleem
Stel je voor dat je op je telefoon naar een publieke vluchtradar-app kijkt. Je ziet vliegtuigen over de kaart bewegen. Meestal is dit onschuldig. Maar wat als een vliegtuig plotseling een vreemde, zigzag-omweg maakt rond een specifiek gebied?
In de echte wereld vliegen vliegtuigen niet zomaar voor de lol in rechte lijnen. Als een vliegtuig plotseling om een geheime militaire basis of de locatie van een VIP heen slingert, dan is die "slingering" een aanwijzing. Zelfs als de app de geheime basis niet laat zien, vertelt het patroon van de beweging van het vliegtuig je precies waar de gevarenzone is.
Dit is het probleem dat het paper aanpakt: Hoe voorkomen we dat geheime informatie "lekt" via de bijwerkingen van het gedrag van een systeem?
De Personages en de Setting
- Het Systeem (IIIf): Zie dit als een gigantisch, superstreng regelboek voor een digitale stad. Het houdt bij wie waar is, welke regels zij volgen en hoe dingen bewegen. De auteurs gebruiken een krachtige computertool genaamd "Isabelle" om dit regelboek zo strikt te schrijven dat de computer kan bewijzen dat het correct is.
- De Aanvaller (Eve): Eve is een nieuwsgierige observator die alles kan zien wat het systeem aan het publiek laat zien (zoals de positie van het vliegtuig op de kaart), maar die niet in de bedoeling is om de geheimen te kennen (zoals de locatie van een geheime basis).
- Het Geheim (Kritieke Locatie): Dit is de "verboden zone" die het systeem probeert te beschermen.
Het Probleem: De "Refinement Paradox"
De auteurs leggen een lastige situatie uit die de Refinement Paradox wordt genoemd.
Stel je voor dat je een beveiligd systeem ontwerpt (de "Abstracte" versie). Je bewijst aan de computer dat Eve het geheim niet kan raden. Geweldig!
Daarna besluit je om het systeem beter of gedetailleerder te maken (de "Verfijnde" versie). Misschien voeg je een nieuwe functie toe, zoals het tonen van de snelheid van het vliegtuig.
De Paradox: Zelfs als je nieuwe functie onschuldig lijkt, kan het per ongeluk een nieuwe "lek" creëren.
- Analogie: Stel je voor dat je een geheim briefje in een kluis verbergt. Je bewijst dat de kluis veilig is. Dan besluit je een klein, decoratief handvat aan de kluis toe te voegen. Je hebt het slot niet veranderd, maar nu, als je aan de kluis schudt, rammelt het handje anders afhankelijk van waar het briefje in de kluis zit. Plotseling verraadt het handje het geheim.
In het voorbeeld uit het paper, als het systeem de snelheid van het vliegtuig berekent op basis van het echte (verborgen) pad in plaats van het publieke pad, dan zal het snelheidsgetal vreemd zijn op de momenten dat het vliegtuig een geheime zone vermijdt. Eve ziet de vreemde snelheid en weet direct waar de geheime zone is. Het systeem werd "gedetailleerder", maar werd minder veilig.
De Oplossing: De "Schaduw"
Om dit op te lossen, introduceren de auteurs een concept genaamd een Shadow (Schaduw), geïnspireerd door een wiskundige genaamd Morgan.
Wat is een Schaduw?
Zie de Schaduw als een "Zak met Mogelijkheden" voor de geheime informatie.
- Aan het begin is de Schaduw een enorme zak die elke mogelijke optie bevat van waar het geheim zich zou kunnen bevinden. De aanvaller is totaal verward; hij heeft geen idee waar het geheim is.
- Terwijl het systeem draait, moet de Schaduw groot blijven. Als de Schaduw kleiner wordt, betekent dit dat de aanvaller iets nieuws heeft geleerd.
Het Doel: Een veilig systeem is een systeem waarbij de Schoud nooit krimpt. Als de Schaduw even groot blijft, blijft de onwetendheid van de aanvaller behouden. Ze weten nog steeds niets meer dan aan het begin.
Hoe ze de Flight Radar hebben gerepareerd
De auteurs pasten dit "Schaduw"-idee toe op hun Flight Radar-systeem:
- Het Lek: In de oorspronkelijke onveilige versie onthulde de beweging van het vliegtuig de geheime locatie. De Schaduw kromp omdat de aanvaller bepaalde locaties kon uitsluiten op basis van het pad van het vliegtuig.
- De Fix: Ze voegden een "verbergingsmechanisme" toe. Wanneer een vliegtuig een geheime zone moet vermijden, legt het systeem het echte pad vast in een geheime doos (de
critposcomponent), maar toont het het vliegtuig alsof het recht door de geheime zone vloog op de publieke kaart. - Het Resultaat: Omdat de publieke kaart er normaal uitziet, wordt de "Zak met Mogelijkheden" van de aanvaller (de Schaduw) nooit kleiner. De aanvaller denkt nog steeds dat de geheime zone overal zou kunnen zijn.
De "Magische" Bewijsvoering
Het paper doet twee hoofdzaken:
- Equivalentie: Ze bewezen dat "De Schaduw krimpt nooit" exact hetzelfde is als "Non-Interference" (een chique technische term die betekent: "Geheimen beïnvloeden wat het publiek ziet niet"). Het is alsof je bewijst dat "De zak blijft vol" hetzelfde is als "Niemand heeft appels gestolen."
- De Veiligheidsregel voor Upgrades: Ze creëerden een regel (Theorem 2) om te controleren of een toekomstige upgrade (refinement) veilig blijft.
- De Regel: Als je een nieuwe functie toevoegt, moet je controleren of deze afhankelijk is van het geheim. Als de nieuwe functie afhankelijk is van het geheim, zal de Schaduw krimpen en is de upgrade onveilig.
- De Catch: Als de nieuwe functie totaal onafhankelijk is van het geheim, blijft de Schaduw groot en is de upgrade veilig.
Samenvatting
Het paper lost een probleem op waarbij het gedetailleerder maken van een systeem per ongeluk geheimen lekt. Ze gebruiken een "Schaduw" (een zak met mogelijkheden) om bij te houden wat een aanvaller weet. Als de Schaduw vol blijft, is het systeem veilig. Ze bewezen dat als je hun specifieke regels volgt bij het toevoegen van nieuwe functies, je het systeem kunt upgraden zonder per ongeluk de geheimen prijs te geven.
Kortom: Ze hebben een mathematische "beveiliger" gebouwd die elke keer dat je een nieuwe functie aan een systeem toevoegt controleert, om te garanderen dat de nieuwe functie de geheimen niet per ongeluk verklapt aan het publiek.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.