Zabezpieczenia oprogramowania

Wikipedia:Weryfikowalność
Ten artykuł od 2023-12 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Zabezpieczenia oprogramowania – różne algorytmy mające uniemożliwić używanie oprogramowania niezgodnie z zamierzonym przeznaczeniem.

Istnieją dwa typy takich zabezpieczeń - broniące instalacji programu przed różnego rodzaju włamaniami, oraz broniące instalacji przed jej administratorem w imieniu autorów oprogramowania.

Zabezpieczenia przed włamaniami polegają na ścisłym określeniu co jest dozwolone a co nie i określeniu interfejsu przez który nie można złamać tych reguł. Dziury mogą znajdować się albo w specyfikacji która nie broni tego co powinna, albo w interfejsie który z powodu błędów programistycznych daje crackerowi możliwość obejścia zabezpieczeń. Zabezpieczenia takie są relatywnie skuteczne, w przypadku prostych systemów mogą być w 100% pewne, w przypadku bardziej rozbudowanych dziury zdarzają się relatywnie rzadko, i działa tu reguła przeciwna do break once run anywhere - dziura raz znaleziona może być szybko załatana na dowolnej instalacji.

W przypadku zabezpieczeń zamkniętego oprogramowania sytuacja jest inna - administrator może próbować dostać się do programu z pominięciem oficjalnych interfejsów i mając pełny dostęp i możliwość modyfikacji binarnego kodu teoretycznie zawsze może osiągnąć to co zamierza. W praktyce może to być bardzo utrudnione, jednak reguła "break once run anywhere" zapewnia możliwość połączenia sił dowolnej ilości crackerów - wystarczy bowiem złamać program jeden raz.

Zobacz też

  • Full disclosure