Veiligheid

Wat is softwarebeveiliging?

Wat is softwarebeveiliging?
Softwarebeveiliging is het bouwen van veilige software met inherente verdediging, zodat deze blijft functioneren onder kwaadwillende aanvallen, tot tevredenheid van de gebruikers en eigenaren van de software. In dit artikel worden de bedreigingen en oplossingen vanuit een algemeen oogpunt uitgelegd point. Standaardwoordenschat in informatiebeveiliging wordt ook uitgelegd. U moet computer- en internetgeletterd zijn om dit artikel te begrijpen; je zou ook een computertaal moeten hebben gestudeerd, e.g., Perl, C, C++, PHP, enz.

Wat wel beveiligd is, zijn informatie- en softwarepakketten (applicaties en documenten). Informatie is elk bericht dat voor iedereen nuttig is. "Informatie" is een vaag woord. De context waarin het wordt gebruikt geeft de betekenis ervan. Het kan nieuws, lezing, zelfstudie (of les) of oplossing betekenen. Een softwarepakket is meestal een oplossing voor een probleem of gerelateerde problemen. In het verleden werd alle niet-gesproken informatie op papier geschreven. Tegenwoordig kan de software worden beschouwd als een subset van informatie.

De software kan zich op een computer bevinden of onderweg zijn van de ene computer naar de andere. Bestanden, gegevens, e-mails, opgenomen spraak, opgenomen video's, programma's en applicaties bevinden zich op een computer. Terwijl u zich op een computer bevindt, kan deze beschadigd raken. Tijdens het transport kan het nog steeds beschadigd raken.

Elk apparaat met een processor en geheugen is een computer. Dus, in dit artikel, een rekenmachine, een smartphone of een tablet (e.g., iPad) is een computer. Elk van deze apparaten en hun netwerktransmissiemedia hebben software of software in transit die moet worden beschermd.

Voorrechten

Een gebruiker kan het recht krijgen om een ​​bestand op een computer uit te voeren. Een gebruiker kan het recht krijgen om de code van een bestand op een computer te lezen. Een gebruiker kan het recht krijgen om de code van een bestand op een computer te wijzigen (schrijven). Een gebruiker kan een, twee of alle drie deze rechten krijgen. Er zijn andere privileges voor een besturingssysteem of een database. Gebruikers hebben verschillende hoeveelheden of niveaus van privileges in een systeem.

Gevaren

Basis van softwarebedreigingen

Om software te beschermen, moet u de bedreigingen ervan kennen. De software moet worden beschermd tegen onbevoegde personen die toegang krijgen tot de gegevens. Het moet worden beschermd tegen onrechtmatig gebruik (om bijvoorbeeld schade toe te brengen). De software moet worden beschermd tegen openbaarmaking aan rivalen. De software mag niet beschadigd zijn. De software mag niet onbedoeld worden verwijderd. De software mag niet worden onderbroken. De software mag geen ongepaste modificatie hebben. Gegevens (software) mogen niet zonder goede reden worden geïnspecteerd, vooral niet door onbevoegde personen. De software mag niet worden gekopieerd (gepirateerd).

Een of meer van deze bases, resulterend in een bepaald type klassieke dreiging.

Klassen van softwarebedreiging

Spoofing-aanval

Dit is de situatie waarin een persoon (of programma) met succes een andere persoon (of programma) vertegenwoordigt bij een softwareactiviteit. Dit wordt gedaan met behulp van valse gegevens om een ​​voordeel te behalen dat illegaal is.

afwijzing

Dit is de situatie waarin iemand iets verkeerd doet, en weigert dat hij/zij niet degene is die het heeft gedaan. De persoon kan de handtekening van een andere persoon gebruiken om het verkeerde te doen.

Gegevenslek

Er is sprake van een datalek wanneer beveiligde of privé-informatie opzettelijk of onopzettelijk wordt vrijgegeven aan een omgeving die niet wordt vertrouwd.

Denial-of-Service-aanval

Een softwarecomputernetwerk heeft software die draait op de computers van het netwerk. Elke gebruiker gebruikt gewoonlijk zijn computer voor hem en vraagt ​​gewoonlijk diensten aan van andere computers in het netwerk. Een criminele gebruiker kan besluiten een server te overspoelen met overbodige verzoeken. Een server heeft een beperkt aantal verzoeken die het in een bepaalde tijd kan verwerken. In dit overstromingsschema kunnen legitieme gebruikers de server niet zo vaak gebruiken als zou moeten, omdat de server bezig is met het reageren op de verzoeken van de crimineel. Dit overbelast de server, waardoor de services van de server tijdelijk of voor onbepaalde tijd worden verstoord. In de loop hiervan vertraagt ​​de host (server) in werking voor legitieme gebruikers, terwijl de dader zijn kattenkwaad uithaalt, wat onopgemerkt blijft, omdat de legitieme gebruikers die klaarstaan, wachtend op service, niet konden weten wat er aan de hand was op de server. De goede gebruikers wordt service geweigerd, terwijl de aanval aan de gang is.

Privilege escalatie

Verschillende gebruikers van een besturingssysteem of applicatie hebben verschillende privileges. Dus sommige gebruikers krijgen meer waarde dan anderen, van het systeem. Het misbruiken van een softwarefout of configuratietoezicht om verhoogde toegang te krijgen tot bronnen of ongeautoriseerde informatie is Privilege Escalation.

De bovenstaande classificatieschema's kunnen worden gebruikt om een ​​computervirus en wormen te veroorzaken.

Een of meer van de bovenstaande classificatieschema's kunnen worden gebruikt voor softwareaanvallen, waaronder: diefstal van intellectueel eigendom, databasecorruptie, identiteitsdiefstal, sabotage en afpersing van informatie. Als een persoon een of meer van de schema's gebruikt om destructief te wijzigen, een website zodat de klanten van de site het vertrouwen verliezen, is dat sabotage. Afpersing van informatie is het stelen van de computer van een bedrijf of het ten onrechte verkrijgen van geheime informatie over het bedrijf. De gestolen computer kan geheime informatie bevatten. Dit kan leiden tot ransomware, waarbij de dief om een ​​betaling vraagt ​​in ruil voor de gestolen goederen of informatie information.

Privacy

Als iets gevoelig of inherent speciaal voor je is, dan is dat ding privé voor jou. Dit geldt ook voor een groep mensen. Een individu moet zich selectief uiten. Om een ​​dergelijke selectiviteit te bereiken, moet het individu zichzelf plannen of informatie over zichzelf plannen; dat is privacy. Een groep mensen moet zich selectief uiten. Om een ​​dergelijke selectiviteit te bereiken, moet de groep zichzelf plannen of informatie over zichzelf plannen; dat is privacy. Een individu moet zichzelf selectief beschermen. Om een ​​dergelijke selectieve bescherming te bereiken, moet het individu zichzelf of informatie over zichzelf op een selectieve manier beschermen; dat wil zeggen, privacy. Een groep mensen moet zichzelf selectief beschermen. Om een ​​dergelijke selectieve bescherming te bereiken, moet de groep zichzelf of informatie over zichzelf op een selectieve manier beschermen; dat wil zeggen, privacy.

Identificatie en authenticatie

Wanneer u naar het buitenland reist, bereikt u een haven van dat land. In de haven zal een politieagent je vragen om je te legitimeren. U laat uw paspoort zien. De politieagent kent uw leeftijd (vanaf de geboortedatum), uw geslacht en uw beroep uit het paspoort en kijkt naar u (uw gezicht); dat is identificatie. De politieagent vergelijkt je echte gezicht en de foto in het paspoort. Hij zal ook uw leeftijd schatten met wat er in het paspoort staat om te weten of u het bent.

Naar u kijken en uw leeftijd, geslacht en beroep met u associëren is identificatie. Verifiëren of uw echte gezicht en uw foto hetzelfde zijn, en schatten of uw presentatie overeenkomt met uw leeftijd, is authenticatie. Identificatie is het associëren van een persoon of iets met bepaalde attributen. Identiteit aangeven is ook identificatie. Authenticatie is de handeling om te bewijzen dat de identiteit (identificatie) waar is. Met andere woorden, authenticatie is de handeling van het bewijzen van een bewering.

Bij computergebruik is de meest gebruikelijke manier van authenticatie het gebruik van een wachtwoord. Een server heeft bijvoorbeeld veel gebruikers. Bij het inloggen geeft u uw identiteit aan (identificeer uzelf) met uw gebruikersnaam. U bewijst uw identiteit met uw wachtwoord. Uw wachtwoord wordt verondersteld alleen door u bekend te zijn. Authenticatie kan verder gaan; door je een vraag te stellen, zoals "In welke stad of welke stad ben je geboren?"?”

Beveiligingsdoelen

De beveiligingsdoelen in informatie zijn vertrouwelijkheid, integriteit en beschikbaarheid. Deze drie kenmerken staan ​​bekend als de CIA-triade: C voor vertrouwelijkheid, I voor integriteit en A voor beschikbaarheid.

Vertrouwelijkheid

De informatie mag niet worden bekendgemaakt aan onbevoegde personen, onbevoegde entiteiten of onbevoegde processen; dit is vertrouwelijkheid van informatie in informatiebeveiliging (evenals softwarebeveiliging). Het stelen van wachtwoorden of het verzenden van gevoelige e-mails naar een onjuist persoon is een inbreuk op de vertrouwelijkheid. Vertrouwelijkheid is een onderdeel van privacy dat informatie beschermt tegen onbevoegde personen, of niet-geautoriseerde entiteiten of ongeautoriseerde processen.

Integriteit

Informatie of gegevens hebben een levenscyclus. Met andere woorden, informatie of gegevens hebben een begintijd en een eindtijd.  In sommige gevallen moet na het einde van de levenscyclus de informatie (of gegevens) worden gewist (wettelijk). Integriteit bestaat uit twee kenmerken, namelijk: 1) het onderhouden en borgen van de juistheid van de informatie (of gegevens) over de gehele levenscyclus, en 2) de volledigheid van de informatie (of gegevens) over de gehele levenscyclus. Informatie (of gegevens) mogen dus niet worden verkleind of gewijzigd op een ongeoorloofde of onopgemerkte manier.

Beschikbaarheid

Om elk computersysteem zijn doel te laten dienen, moet informatie (of gegevens) beschikbaar zijn wanneer dat nodig is. Dit betekent dat het computersysteem en de transmissiemedia correct moeten werken. De beschikbaarheid kan worden aangetast door systeemupgrades, hardwarestoringen en stroomuitval. De beschikbaarheid kan ook worden aangetast door denial-of-service-aanvallen.

Niet-afwijzing

Wanneer iemand uw identiteit en uw handtekening gebruikt om een ​​contract te ondertekenen dat hij nooit is nagekomen, is onweerlegbaarheid wanneer u niet met succes voor de rechtbank kunt ontkennen dat u het contract niet hebt opgesteld.

Aan het einde van een contract moet de partij die de dienst aanbiedt de dienst hebben aangeboden; de betalende partij moet de betaling hebben gedaan.

Om te begrijpen hoe onweerlegbaarheid van toepassing is op digitale communicatie, moet u eerst de betekenis van sleutel en de betekenis van digitale handtekening kennen. Een sleutel is een stukje code. Een digitale handtekening is een algoritme dat een sleutel gebruikt om een ​​andere code te produceren die wordt vergeleken met een geschreven handtekening van de afzender.

Bij digitale beveiliging wordt onweerlegbaarheid geleverd (niet noodzakelijk gegarandeerd) door een digitale handtekening. Bij softwarebeveiliging (of informatiebeveiliging) heeft onweerlegbaarheid te maken met gegevensintegriteit. Gegevensversleuteling (die je misschien hebt gehoord) in combinatie met digitale handtekening draagt ​​ook bij aan vertrouwelijkheid.

De beveiligingsdoelen in informatie zijn vertrouwelijkheid, integriteit en beschikbaarheid. Onweerlegbaarheid is echter een ander kenmerk waarmee u rekening moet houden bij informatiebeveiliging (of softwarebeveiliging).

Reacties op bedreigingen

Op bedreigingen kan op een of meer van de volgende drie manieren worden gereageerd:

- Reductie/mitigatie: dit is de implementatie van waarborgen en tegenmaatregelen om kwetsbaarheden te elimineren of bedreigingen te blokkeren.

- Toewijzen/overdragen: Dit legt de last van de dreiging op een andere entiteit, zoals een verzekeringsmaatschappij of een outsourcingbedrijf.

- Acceptatie: Dit evalueert of de kosten van de tegenmaatregel opwegen tegen de mogelijke kosten van verlies als gevolg van de dreiging.

Toegangscontrole

In informatiebeveiliging, waarvan softwarebeveiliging een onderdeel is, is toegangscontrole een mechanisme dat ervoor zorgt dat alleen in aanmerking komende gebruikers toegang hebben tot beschermde bronnen in een bepaald systeem, met hun verschillende verdiende privileges.

Huidige oplossing voor informatiebeveiliging

De huidige en populaire manier om aan informatiebeveiliging te doen, is het afdwingen van toegangscontrole. Dit omvat maatregelen zoals het valideren van invoer naar een applicatie, het installeren van antivirus, het gebruik van een firewall naar een lokaal netwerk en het gebruik van Transport Layer Security.

Wanneer je een datum verwacht als invoer voor een applicatie, maar de gebruiker voert een nummer in, dan moet een dergelijke invoer worden afgewezen. Dat is invoervalidatie.

Een antivirusprogramma dat op uw computer is geïnstalleerd, voorkomt dat virussen bestanden op uw computer beschadigen. Dit helpt bij de beschikbaarheid van software.

Er kunnen regels worden gemaakt om inkomend en uitgaand verkeer van een lokaal netwerk te bewaken en te controleren, om het netwerk te beschermen. Wanneer dergelijke regels worden geïmplementeerd als software, in het lokale netwerk, is dat een firewall.

Transport Layer Security (TLS) is een beveiligingsprotocol dat is ontworpen om privacy en gegevensbeveiliging voor verzendingen via internet te vergemakkelijken. Dit omvat het versleutelen van de communicatie tussen de verzendende host en de ontvangende host.

Informatiebeveiliging uitvoeren door toegangscontrole af te dwingen, wordt Beveiligingssoftware genoemd, wat verschilt van Softwarebeveiliging, zoals hieronder wordt uitgelegd. Beide benaderingen hebben hetzelfde doel, maar ze zijn verschillend.

Juiste softwarebeveiliging

Applicaties, zoals ze tegenwoordig worden geschreven, hebben veel softwarekwetsbaarheden die programmeurs de afgelopen 20 jaar steeds meer hebben gerealiseerd. De meeste aanvallen worden gedaan door gebruik te maken van deze kwetsbaarheden dan door toegangscontrole te overwinnen of te omzeilen.

Een buffer is als een array maar zonder een opgelegde lengte. Wanneer een programmeur in een buffer schrijft, is het mogelijk om onbewust te veel te overschrijven. Deze kwetsbaarheid is een bufferoverloop.

De huidige software is defect geraakt met gevolgen voor de beveiliging, waaronder implementatiebugs zoals bufferoverflows en ontwerpfouten zoals inconsistente foutafhandeling. Dit zijn kwetsbaarheden.

Je hebt misschien gehoord van cheats in computertaal, zoals PHP-cheats, Perl-cheats en C++-cheats. Dit zijn kwetsbaarheden.

Softwarebeveiliging, in tegenstelling tot beveiligingssoftware, overwint deze kwetsbaarheden door defensieve code te schrijven waar de kwetsbaarheden zouden worden voorkomen. Terwijl de applicatie wordt gebruikt en er meer kwetsbaarheden worden ontdekt, moeten ontwikkelaars (programmeurs) zoeken naar manieren om de kwetsbaarheden defensief te hercoderen.

De dreiging, denial-of-service-aanval, kan niet worden gestopt door toegangscontrole, want om het te doen, moet de dader al toegang hebben tot de host (server). Het kan worden gestopt door interne software op te nemen die controleert wat gebruikers in de host doen.

Softwarebeveiliging is een robuust ontwerp van binnenuit, dat softwareaanvallen moeilijk maakt. De software moet zelfbeschermend zijn en, op de limiet, geen kwetsbaarheid hebben. Op deze manier wordt het runnen van een beveiligd netwerk eenvoudiger en kosteneffectiever.

Softwarebeveiliging is het ontwerpen van defensieve code vanuit de applicatie, terwijl beveiligingssoftware de toegangscontrole (ontwerpen) afdwingt. Soms overlappen deze twee problemen elkaar, maar vaak ook niet.

Softwarebeveiliging is al behoorlijk ontwikkeld, hoewel het nog steeds wordt ontwikkeld, is het niet zo ontwikkeld als beveiligingssoftware. Slechte hackers bereiken hun doelen meer door te profiteren van kwetsbaarheden in software dan door beveiligingssoftware te omzeilen of te omzeilen. Het is te hopen dat informatiebeveiliging in de toekomst meer softwarebeveiliging zal zijn dan beveiligingssoftware. Voorlopig moeten zowel softwarebeveiliging als beveiligingssoftware doorgaan going.

Softwarebeveiliging zal niet echt effectief zijn als er aan het einde van de softwareontwikkeling geen rigoureuze tests worden uitgevoerd.

Programmeurs moeten worden opgeleid in het uitvoeren van defensieve codeprogrammering. Gebruikers moeten ook worden voorgelicht over het defensief gebruiken van applicaties.

Bij softwarebeveiliging moet de ontwikkelaar ervoor zorgen dat de gebruiker niet meer privileges krijgt dan hij verdient.

Conclusie

Softwarebeveiliging is het ontwerpen van applicaties met defensieve codering tegen kwetsbaarheden om softwareaanvallen moeilijk te maken. Beveiligingssoftware daarentegen is de productie van software die toegangscontrole afdwingt. Softwarebeveiliging wordt nog steeds ontwikkeld, maar is veelbelovender voor informatiebeveiliging dan beveiligingssoftware. Het wordt al gebruikt en het groeit in populariteit. In de toekomst zullen beide nodig zijn, maar met software is beveiliging meer nodig.

Voeg muisbewegingen toe aan Windows 10 met deze gratis tools
In de afgelopen jaren zijn computers en besturingssystemen sterk geëvolueerd. Er was een tijd dat gebruikers opdrachten moesten gebruiken om door best...
Beheer en beheer muisbewegingen tussen meerdere monitoren in Windows 10
Muisbeheer voor twee schermen laat je muisbewegingen tussen meerdere monitoren controleren en configureren door de bewegingen nabij de grens te vertra...
Met WinMouse kunt u de beweging van de muisaanwijzer op Windows-pc aanpassen en verbeteren
Als u de standaardfuncties van uw muisaanwijzer wilt verbeteren, gebruik dan freeware WinMuis. Het voegt meer functies toe om u te helpen het meeste u...