Geen resultaten gevonden

Uw zoekopdracht heeft geen resultaten opgeleverd.

Beveiligingsanalyses en -tests

Overzicht

Het testen van de veiligheid van Oracle-code omvat zowel functionele als niet-functionele activiteiten ter verificatie van de productfuncties en -kwaliteit. Hoewel dergelijke tests vaak betrekking hebben op overlappende productfuncties, staan de doelen ervan loodrecht op elkaar en worden ze door verschillende teams uitgevoerd. Functionele en niet-functionele beveiligingstests vullen elkaar aan en bieden op die manier een uitgebreide dekking voor de beveiliging van Oracle-producten.

Functionele beveiligingstests

Functionele beveiligingstests worden doorgaans uitgevoerd door reguliere product-QA-teams in het kader van de normale producttestcyclus. Tijdens deze tests vergelijken de QA-medewerkers de conformiteit van geïmplementeerde beveiligingsfuncties met wat eerder was afgesproken in de functionele specificaties tijdens het architectuur- en checklistbeoordelingsproces.

Beveiligingswaarborganalyses en -tests

Tijdens beveiligingswaarborganalyses en -tests worden beveiligingskwaliteiten van Oracle-producten getest op diverse soorten aanvallen. Er zijn twee algemene categorieën tests die worden ingezet voor het testen van Oracle-producten: statische en dynamische analyses. Deze worden in de volgende hoofdstukken nader beschreven. Deze tests passen op een andere manier in de productontwikkelingscyclus en brengen vaak andere categorieën problemen aan het licht, vandaar dat ze beide gebruikt worden door de Oracle-productteams.

Statische analyses

Statische beveiligingsanalyses van broncode vormen de eerste verdedigingslinie in de productontwikkelingscyclus. Oracle gebruikt een statisch codeanalyseprogramma van Fortify Software, een HP-bedrijf, evenals diverse intern ontwikkelde tools, voor het ondervangen van problemen terwijl de programmatuur wordt geschreven. Producten die worden ontwikkeld in de meeste moderne programmeertalen (zoals C/C++, Java, C#) en platforms (J2EE, .NET) worden doorzocht op mogelijke beveiligingsproblemen. Dergelijke controles werken zeer goed voor het identificeren van bufferoverloop en geheugenlekken in C/C++-code, problemen met het gebruik van resources in J2EE en .NET, verkeerde omgang met inloggegevens, diverse injecties, onjuiste systeemconfiguraties, enzovoort. Een van de nadelen van dit soort analyses is een hoge mate van fout-positieven, dat wil zeggen dat heel wat van de gevonden resultaten niet een echt probleem vormen. In de meeste gevallen is de analyse van zulke scanrapporten voorbehouden aan senior medewerkers van de productteams die goed bekend zijn met de wijze waarop een productcode valse positieven van echte problemen scheidt en het aantal fout-positieven terugdringt.

Dynamische analyses

Dynamische analyses vinden altijd plaats tijdens de latere stadia van de productontwikkeling: het product of de component moet op zijn minst al kunnen worden uitgevoerd. Hoewel dit binnen de verschillende Oracle-organisaties kan variëren, wordt deze activiteit doorgaans afgehandeld door het beveiligings-QA-team (of een vergelijkbare groep die voor dit doel is ingesteld), en kan worden gedeeld door verschillende productteams. Dynamische analyses richten zich op extern zichtbare productinterfaces en API´s, en hebben meestal gespecialiseerde testtools nodig. Binnen Oracle worden zowel handmatige als automatische tools gebruikt voor het testen. Automatische tools maken gebruik van fuzzingtechnieken om via het netwerk toegankelijke productinterfaces en protocollen te testen, terwijl handmatige tools vereisen dat de aanpassingen met de hand worden uitgevoerd, waarbij echter wel een grotere nauwkeurigheid en precisie mogelijk wordt.