Reklama
Spójrz na aplikacje, których najczęściej używasz na komputerze. Jest więcej niż prawdopodobne, że wiele z nich oferuje funkcjonalność zapewniającą wysoką łączność, w szczególności przeglądarkę internetową. Te wysoce łączące się programy mogą wiele zdziałać, ale są też otwartym zaproszeniem do atakowania złych hakerów.
Aby zapobiec sukcesom ostrzeżeń, programista musiałby wykryć i zamknąć każdą dziurę w kodzie, co po prostu nie jest możliwe. Zamiast tego programiści muszą wziąć ten fakt pod uwagę i planować swój kod. Najpopularniejsze i najskuteczniejsze rozwiązanie: piaskownica.
Piasek w pudełku?
Nie, wolę nie lokalną piaskownicę w parku, ale piaskownice programowe. Te piaskownice mają jeden kluczowy cel: zapobieganie rozprzestrzenianiu się ataku. Jak wspomniałem powyżej, inteligentni programiści wiedzą, że kod nie jest idealny i że ich produkt zostanie ostatecznie włamany lub w inny sposób przeniknięty. Aby chronić użytkownika, wdrażają piaskownicę, która izoluje części swojego programu. Zasadniczo wszystko, co dzieje się w piaskownicy, pozostaje w tym piaskownicy.
Piaskownice w akcji
Aby wyjaśnić piaskownice w działaniu, użyję Google Chrome jako podstawowego przykładu. Chrome jest jednym z najbardziej znanych produktów do wdrażania piaskownicy, które Google z dumą ogłasza jako wyjątkową funkcję bezpieczeństwa wśród przeglądarek. Google wziął Chrome i zasadniczo podzielił go na trzy różne kategorie: główny proces, który wiąże wszystko razem, procesy kart, które przechowują strony i zawierają moduł renderujący oraz proces wtyczki (es). Wszystkie te kategorie mają różne poziomy uprawnień, dzięki czemu można je uruchomić, ale te uprawnienia są absolutnymi minimum, więc wszystkie są dość ograniczone. Ponadto różne procesy tak naprawdę nie mogą ze sobą rozmawiać, ale po prostu współistnieją. Na przykład chociaż treść Flash z wtyczki Flash może znajdować się na stronie, procesy są nadal oddzielne i nie rozmawiają ze sobą. Mechanizm renderujący pozostawia tylko miejsce na stronie do wyświetlenia tego procesu. Ta niezdolność do komunikacji jest ważna, ponieważ jeśli karta ulegnie awarii lub zostanie przejęta, nie będzie to miało wpływu na inne karty ani na sam system.
Firefox ma zbyt wiele
Firefox ma również funkcję piaskownicy, choć ograniczoną, oddzielającą ją od wtyczek innych firm, takich jak Flash. Chociaż przeglądarka i wszystkie jej karty są połączone w jeden proces, istnieje osobny proces dla wszystkich wtyczek. W podejściu Firefox kładzie większy nacisk na swój własny kod niż Googles w Chrome i obwinia wtyczki za wszelkie problemy z przeglądaniem. Dlatego jeśli wtyczki ulegną awarii w jakikolwiek sposób, nie wpłynie to na przeglądarkę i karty.
Myśleć poza szablonowo
Chociaż dobrą strategią jest wdrożenie technik piaskownicy w samym kodzie programu, istnieje wiele innych programów, które nie mają żadnego piaskownicy. Zamiast tego będziesz chciał uruchomić wirtualną piaskownicę, w której możesz uruchamiać programy, które mogą siać tylko tyle spustoszenia, ile potrafią w piaskownicy, pozostawiając twój system w takt. Chociaż jest to często przeznaczone do testowania oprogramowania, jest to również dobry wybór, aby uruchomić przeglądarkę internetową lub inne oprogramowanie, jeśli jesteś raczej paranoikiem (lub wstaw swoje inne ulubione słowo tutaj). Bardzo popularnym wyborem jest Piaskownica Jak izolować i testować niebezpieczne aplikacje na komputerze Czytaj więcej , ale istnieją inne produkty, zarówno bezpłatne, jak i płatne, które mogą osiągnąć to samo.
Wniosek
Piaskownica jest obecnie jednym z najgorętszych tematów, jeśli chodzi o bezpieczeństwo, i zdecydowanie robi to dobrze. Oczywiście programiści powinni zawsze koncentrować się na poprawianiu swojego kodu, ale zdecydowanie nie ma planów działania na wypadek wystąpienia problemu. Pamiętaj, że piaskownice nadal nie są idealne, ponieważ piaskownica Chrome została pokonana w Pwn2Own 2012 po kilku niezwykle trudnych włamaniach, ale są zdecydowanie lepszym wyborem niż wcale.
Jakie jest Twoje zdanie na temat aplikacji typu sandboxing? Jakie ulepszenia chciałbyś zobaczyć w przeglądarkach piaskownicowych lub jakie aplikacje Twoim zdaniem wymagają piaskownicy? Daj nam znać w komentarzach!
Kredyty obrazkowe: Katie Gregory, Ernst Vikne
Danny jest senior na University of North Texas, który lubi wszystkie aspekty oprogramowania open source i Linuksa.