
W 2021 roku w AFINE przeprowadzaliśmy oceny bezpieczeństwa aplikacji desktopowych. Każdy klient zadawał to samo pytanie po zakończeniu testów: „Jakiego standardu bezpieczeństwa aplikacji desktopowych użyliście?”
Dobre pytanie. Problem polegał na tym, że takiego standardu nie było.
Dla aplikacji webowych mieliśmy OWASP ASVS. Dla mobilnych świetnie sprawdzał się MASVS. Ale aplikacje desktopowe? Nic. Zbieraliśmy wymagania z obu standardów, dodawaliśmy własne kontrole i mieliśmy nadzieję, że niczego oczywistego nie przeoczyliśmy.
To okropny sposób na prowadzenie prac związanych z bezpieczeństwem i doskonale o tym wiedzieliśmy.
Dlatego zbudowaliśmy to, czego potrzebowaliśmy. Dziś dzielimy się tym, co stworzyliśmy: Desktop Application Security Verification Standard (DASVS). To framework stworzony z myślą o złożonym świecie bezpieczeństwa aplikacji desktopowych na Windows, macOS i Linux.
Dlaczego Bezpieczeństwo Aplikacji Desktopowych Potrzebuje Własnego Standardu
Powiedzmy to wprost – aplikacje desktopowe to nie są po prostu aplikacje webowe działające lokalnie. I zdecydowanie nie są aplikacjami mobilnymi na większych ekranach. Model bezpieczeństwa jest fundamentalnie inny.
Aplikacje webowe działają głównie na serwerach. Przeglądarka to tylko prosty klient, który ma ograniczony dostęp do twojego systemu. Krytyczna logika aplikacji działa za zaporami sieciowymi, odpowiednio chroniona. Aplikacje mobilne wprawdzie działają bezpośrednio na urządzeniu użytkownika, ale platformy mobilne mocno je ograniczają poprzez sandboxing. Oznacza to, że programiści otrzymują granice bezpieczeństwa, czy tego chcą, czy nie.
A aplikacje desktopowe? Działają lokalnie z dostępem do praktycznie wszystkiego. System plików? Proszę bardzo. Rejestr? Pewnie. Usługi systemowe? Czemu nie. Natywne biblioteki? Zapraszam.
I często robią to z podwyższonymi uprawnieniami.
To nie jest tylko nieco większa powierzchnia ataku. To zupełnie inny model zagrożeń.
Przechowywanie danych opowiada tę samą historię. Aplikacje webowe mają ciasteczka i local storage – oba ograniczone rozmiarem i względnie bezpieczne. Aplikacje mobilne używają strukturalnego przechowywania z szyfrowaniem zapewnianym przez platformę, ale wielu programistów wciąż robi to źle… Aplikacje desktopowe mogą tworzyć, modyfikować i usuwać pliki w dowolnym miejscu systemu plików, często z uprawnieniami administratora. Potencjał wycieku danych jest dramatycznie wyższy.
Nawet aktualizacje działają inaczej. Aplikacje webowe aktualizują się podczas odwiedzin – transparentnie, natychmiast. Aplikacje mobilne aktualizują się przez sklepy z aplikacjami, które przynajmniej udają, że przeprowadzają kontrole bezpieczeństwa. Aplikacje desktopowe używają różnych metod aktualizacji. Wiele wymaga dostępu administratora. Jeśli nie jest się ostrożnym, mogą stać się kanałami dystrybucji malware.
To nie są drobne różnice. To powody, dla których aplikacje desktopowe potrzebują własnego standardu bezpieczeństwa.
Czym jest DASVS?
DASVS (Desktop Application Security Verification Standard) to standard bezpieczeństwa aplikacji desktopowych inspirowany i wzorowany na OWASP ASVS oraz OWASP MASVS.
Jeśli używałeś któregoś z nich, od razu rozpoznasz strukturę. Ale same wymagania są zbudowane wokół realiów aplikacji desktopowych. Nie są zaadaptowane z kontekstu webowego lub mobilnego.
Framework zapewnia:
- Ustrukturyzowane wymagania weryfikacyjne zorganizowane w dwunastu domenach bezpieczeństwa
- Jasne, testowalne kontrole, które faktycznie można zweryfikować
- Trzy poziomy weryfikacji dopasowane do różnych profili ryzyka
- Wytyczne, które działają na Windows, macOS i Linux
Możesz go używać jako frameworku oceny, wytycznych implementacyjnych, checklisty testowej lub kryteriów zakupowych. Zaprojektowaliśmy go tak, aby był praktyczny, nie aspiracyjny.
Trzy Poziomy Weryfikacji Bezpieczeństwa
DASVS definiuje trzy poziomy weryfikacji o rosnącym poziomie rygorystyczności bezpieczeństwa. Pomyśl o nich jako o postawach bezpieczeństwa dopasowanych do różnych profili ryzyka.
- Poziom 1: Bezpieczeństwo Bazowe – Każda aplikacja desktopowa powinna spełniać Poziom 1. To podstawy – walidacja danych wejściowych, proste uwierzytelnianie i niezbędna ochrona danych. Rzeczy, które chronią przed powszechnymi, dobrze udokumentowanymi atakami. Jeśli już stosujesz podstawowe bezpieczne kodowanie, Poziom 1 nie powinien wymagać masywnych zmian.
Większość wymagań Poziomu 1 można zweryfikować poprzez testy black-box, co jest przydatne, gdy nie masz dostępu do kodu źródłowego. - Poziom 2: Wzmocnione bezpieczeństwo -Jest dla aplikacji obsługujących wrażliwe dane lub operacje krytyczne dla biznesu. Implementujesz silniejsze uwierzytelnianie, szczegółową kontrolę dostępu, kompleksowe logowanie i dokładną walidację w całej aplikacji.
Spełnienie Poziomu 2 oznacza, że bezpieczeństwo jest zintegrowane z twoim procesem rozwoju – modelowanie zagrożeń podczas projektowania, przeglądy kodu skupione na bezpieczeństwie i prawdziwe testowanie zamiast automatycznego skanu i uznania, że wszystko gotowe. - Poziom 3: Bezpieczeństwo Wysokiego Ryzyka – Poziom 3 zakłada, że wykwalifikowani atakujący mają na celu Twoją aplikację. Pomyśl o systemach finansowych, aplikacjach medycznych, oprogramowaniu obronnym i infrastrukturze krytycznej. Wszędzie tam, gdzie naruszenie byłoby katastrofalne.
Implementujesz rygorystyczne wymagania kryptograficzne, minimalizujesz powierzchnię ataku wszędzie, gdzie to możliwe, budujesz warstwowe zabezpieczenia i utrzymujesz dokładny monitoring bezpieczeństwa. Będziesz potrzebować szczegółowej dokumentacji i ekspertów bezpieczeństwa, bezpośrednio zaangażowanych w rozwój. Te kontrole zakładają, że ktoś kompetentny aktywnie próbuje się włamać.
Wybierz swój poziom na podstawie tego, co chronisz i co się stanie, jeśli ktoś się włamie. W razie wątpliwości idź wyżej.
Domeny Bezpieczeństwa Aplikacji Desktopowych
Podzieliliśmy wymagania na dwanaście domen, na podstawie rzeczywistej pracy nad bezpieczeństwem aplikacji desktopowych:
- Architektura i Projektowanie – Stwórz fundamenty prawidłowo od samego początku
- Uwierzytelnianie i jego cykl życia – Bezpieczne uwierzytelnianie dla środowisk desktopowych
- Kontrola Dostępu – Kontroluj, co uwierzytelnieni użytkownicy faktycznie mogą robić
- Ochrona Danych – Chroń wrażliwe informacje
- Komunikacja – Bezpieczna komunikacja sieciowa i międzyprocesowa
- Walidacja Danych Wejściowych i Kodowanie Wyjściowe – Bezpieczna obsługa niezaufanych danych
- Operacje na Plikach – Zarządzaj dostępem do plików w bezpieczny sposób
- Integracja ze Sprzętem – Bezpieczna obsługa urządzeń USB i sprzętu zewnętrznego
- Logowanie i Monitoring – Wiedz, kiedy coś idzie nie tak
- Instalacja i Aktualizacje – Zabezpiecz proces dystrybucji
- Samoobrona i Integralność – Utrudnij manipulację swoją aplikacją
- Bezpieczeństwo UI i Prywatność Użytkownika – Chroń warstwę interfejsu
To nie są teoretyczne kategorie. Zorganizowaliśmy je wokół problemów bezpieczeństwa, które faktycznie pojawiają się podczas budowania lub testowania oprogramowania desktopowego.
Przyszłość Bezpieczeństwa Aplikacji Desktopowych
DASVS to fundament – pracujemy nad dalszymi narzędziami i rozwiązaniami.
Desktop Application Security Testing Guide (DASTG) pojawi się w 2025 roku. Będzie zawierać szczegółowe metodologie testowania dla każdego wymagania – podejścia specyficzne dla poszczególnych platform i praktyczne przykłady z wykorzystaniem rzeczywistych narzędzi i technik. Celem jest pokazanie nie tylko tego, co należy zweryfikować, ale przede wszystkim jak dokładnie to zrobić.
Pracujemy również nad automatycznym narzędziem do oceny bezpieczeństwa aplikacji desktopowych. Będzie działać podobnie jak MobSF dla aplikacji mobilnych – automatyczna analiza statyczna i dynamiczna, wyniki powiązane bezpośrednio z wymaganiami DASVS oraz wsparcie dla wszystkich trzech głównych platform. Premiera planowana jest na 2026 rok.
Zdobądź DASVS v1.0 Jako Pierwszy
DASVS to otwarty standard. Opublikujemy go na GitHubie, gdzie każdy będzie mógł go przejrzeć, wnieść swój wkład i pomóc go ulepszyć. Wersję 1.0 udostępniamy wcześniej jako early access.
Zapisz się poniżej, a otrzymasz DASVS v1.0 bezpośrednio na swojego maila – przed publikacją na GitHubie. Dzięki temu będziesz mógł wcześniej wdrożyć standard, zanim trafi do wszystkich.
Po zebraniu opinii od pierwszych użytkowników opublikujemy standard na GitHubie. Wtedy każdy będzie mógł zgłaszać uwagi, proponować ulepszenia i współpracować nad kolejnymi wersjami.
Pomóż Ulepszyć Standard Bezpieczeństwa Aplikacji Desktopowych
DASVS staje się lepszy dzięki rzeczywistemu użytkowaniu i opiniom społeczności. Wdrożyłeś standard i znalazłeś luki? Odkryłeś lepsze sposoby weryfikacji wymagań? Natrafiłeś na problemy specyficzne dla platformy? Daj nam znać – każdy feedback jest cenny.
Jeśli jesteś programistą, specjalistą ds. bezpieczeństwa lub po prostu kimś, komu zależy na bezpieczeństwie desktopowym – przejrzyj DASVS i pomóż nam go ulepszyć.
Aplikacje desktopowe zostają z nami – sprawmy, żeby były trudniejsze do złamania.




