Zabezpieczenia oprogramowania
Z Wikipedii
Zabezpieczenia oprogramowania to różne mechanizmy 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 (zobacz: zabezpieczenia zamkniętego oprogramowania).
Zabezpieczenia przed włamaniami polegają na ścisłym określeniu co jest dozwolone a co nie i określeniu inrerfejsu 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 oprogamowania 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