Pytanie:
Dlaczego systemy operacyjne nie usuwały plików bezpiecznie od samego początku? A dlaczego nadal tego nie robią?
user82913
2016-01-15 20:19:29 UTC
view on stackexchange narkive permalink

Po dziesięcioleciach słyszenia, że ​​„usuwanie” tak naprawdę nie uniemożliwia odzyskania danych, muszę zapytać DLACZEGO system operacyjny nie był dawno korygowany, aby robić to, co powinien robić przez cały czas? Co to jest wielka sprawa? Czy system nie może po prostu toczyć się w tle, nadpisując i cokolwiek innego musi się wydarzyć? Dlaczego potrzebujemy dodatkowych narzędzi, aby robić to, co zawsze myśleliśmy? Jaka jest motywacja deweloperów systemu operacyjnego, aby NIE naprawiać tego problemu?

DODATEK: To nie jest kwestia technologiczna, ponieważ jest oczywiste, że jest możliwe bezpieczne usuwanie rzeczy, w przeciwnym razie nie być narzędziami do tego celu. Jest to kwestia polityczna: jeśli niektórzy ludzie uważają, że jest to ważne i powinno być częścią systemu operacyjnego, dlaczego nie jest częścią systemu operacyjnego? Wiele rzeczy zostało dodanych do systemów operacyjnych przez lata i to z pewnością może być jedną z nich. I JEST to ważna kwestia, inaczej nie byłoby artykułów i historii na ten temat od około 3 dekad. O co chodzi z bezwładnością? Po prostu zrób właściwą rzecz.

Komentarze nie służą do rozszerzonej dyskusji; ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/34360/discussion-on-question-by-no-comprende-why-didnt-oses-securely-delete-files-rig) .
Ponieważ jest drogi i większość ludzi o nią nie dba. Również większość informacji nie jest tajemnicą.
Jedenaście odpowiedzi:
SilverlightFox
2016-01-15 20:29:35 UTC
view on stackexchange narkive permalink

Z następujących powodów:

  • Wydajność - pochłania zasoby niszczące pliki. Wyobraź sobie aplikację, która używa setek lub tysięcy plików. Bezpieczne usunięcie każdego z nich byłoby ogromną operacją.
  • Dodatkowe zużycie dysków.
  • Czasami możliwość odzyskania pliku jest funkcją systemu operacyjnego (np. Kosz , Kosz, Kopia woluminu w tle).
  • Jak zauważył Xander, czasami fizyczny mechanizm przechowywania jest wyodrębniony z systemu operacyjnego (np. Dyski SSD lub dyski sieciowe).
+1 Dodałbym, że brak zainteresowania większości użytkowników tym, czy ich pliki są bezpiecznie usuwane, czy nie, jest również prawdopodobnym czynnikiem. Gdyby 95% użytkowników domagało się uniwersalnego bezpiecznego usuwania, byłoby to bardziej prawdopodobne, że byłaby to funkcja, a wspomniane problemy byłyby zarządzane w taki czy inny sposób (być może na podstawie różnych oczekiwań użytkowników).
Ta kwestia wydajności - na długo przed dyskami SSD, kiedy systemy operacyjne są „na samym początku” - pomyśl tylko o niesamowitej wydajności bezpiecznego usuwania materiału z tej [dziewięciościeżkowej taśmy] (https://en.wikipedia.org/wiki/9_track_tape ). Albo dla tych 140 tysięcy dyskietek. Chcesz bezpiecznie usunąć dyskietkę? przenieś rzeczy, których nie chcesz usunąć, na inną dyskietkę i zniszcz oryginał. Łatwiejsze niż dodawanie kolejnych kilku procedur do Applesoft DOS 3.3.
Ponadto: jeśli chcesz coś zabezpieczyć-wymazać, musisz to również usunąć ze wszystkich kopii zapasowych. (Masz kopie zapasowe, prawda?) Domyślne bezpieczne wymazywanie byłoby całkowitą stratą czasu, ponieważ użytkownicy będą dbać o to, aby bezpiecznie usuwać rzeczy z kopii zapasowych tylko wtedy, gdy są rzeczywiście potrzebne.
@MichaelT Słuszna uwaga. Nadal możesz to zrobić - po prostu przechowuj swoje rzeczy na pamięci USB.
@PeterCordes, jeśli chcesz wykonać kopię zapasową, możesz mieć nawet dwa dyski USB.
Użytkownicy, których to dotyczy, prawdopodobnie również chcą, aby ich pliki były szyfrowane na początku, co jest znacznie lepszą alternatywą w większości przypadków i * jest * cechą wielu systemów operacyjnych.
Bezpieczne usuwanie nie ma wpływu na wydajność, jeśli magazyn jest zaszyfrowany. Po prostu bezpiecznie kasujesz klucz, co jest operacją O (1) zamiast O (n).
@R .. * Iff * część pamięci, która ma być bezpiecznie usunięta, ma oddzielny klucz.
@MichaelKjörling: Rzeczywiście, ten projekt wymaga systemu plików z kluczami dla poszczególnych plików przechowywanymi w i-węźle lub jego odpowiedniku.
Istnieją również działające rozwiązania do bezpiecznego wymazywania / szyfrowania dysków poza czasem rzeczywistym, gdy użytkownicy pozbywają się dysków, co, jak wyobrażam, obejmuje 80% przypadków użycia do bezpiecznego usuwania. Pozostałe 20% (kradzież, przejęcie przez rząd itp.) Obejmuje szyfrowanie dysku.
Bezpieczne usunięcie stosu dyskietek zajęło kilka sekund przy użyciu ręcznego demagnetyzera.
W czasach DOS (przed pojawieniem się pojemników na śmieci i tym podobnych) fakt, że usunięcie nie było trwałe, był zdecydowanie cechą. Polecenie „undelete” uratowało mój tyłek więcej niż raz.
@R - w tym przypadku narzut wydajności polega na szyfrowaniu całej pamięci masowej (która musiałaby zawierać pliki wymiany dysku, w których wydajność jest bardzo ważna). A to wciąż pozostawia możliwość odzyskania klucza i wyodrębnienia danych na jego podstawie (pełne usunięcie, aby było bezpieczne przed specjalistycznymi metodami odzyskiwania, wymagałoby wielokrotnego zapisywania w magazynie zawierającym klucz - a pojedyncze nadpisanie na pamięci magnetycznej może nadal pozostawić czytelny rekord).
Przywracanie @James_pic jest dziecinnie proste w porównaniu z królem: Novell Netware. Nie mieli „kosza” - dysk ** był ** koszem. Gdy plik został usunięty, był po prostu oznaczany jako usunięty, a miejsce było liczone jako część wolnego miejsca na dysku. Pliki faktycznie znikały tylko wtedy, gdy były najstarszym usuniętym plikiem na dysku, a system operacyjny potrzebował miejsca. Więcej retencji niż kosz i nie miałeś problemu, że pliki w koszu zajmują miejsce na dysku.
Myślę, że to (bezpieczne wymazywanie) powinno być przynajmniej dostępne jako opcja, nawet nie musi być standardowe.
Jared Smith
2016-01-15 22:14:29 UTC
view on stackexchange narkive permalink

Zamiast kolejnej odpowiedzi „Mylisz się, ponieważ”, chciałbym przyjąć nieco inne podejście:

Wczesne systemy operacyjne komputerów były pisane przez programistów dla programistów. Każdy, kto programuje i wie, jakie są wskaźniki, rozumie, że „usunięcie” wskaźnika nie usuwa tego, na co wskazuje: są one oddzielne.

Nie oznacza to, że usuwanie w rzeczywistości nie usuwa. Ten wskaźnik zniknął. Próba użycia go po „usunięciu” go (zwolnieniu pamięci, ponownym powiązaniu nazwy) może spowodować złe rzeczy.

Ale historia idzie dalej, a teraz użytkownicy końcowi, którzy mają inną koncepcję usuwania (np. siebie) są na obrazku. Oni (i Ty) mają oczekiwania, które nie są nierozsądne (cokolwiek jeszcze jest powiedziane w tym wątku).

Ale usunięcie nigdy nie będzie oznaczało (dla komputera) tego, co myślisz Powinien: istnieją powody zarówno techniczne (wyszczególnione całkiem dobrze w innych odpowiedziach), jak i społeczne (45 lat bezwładności).

Nowoczesny system operacyjny (włączając w to * nix) wiele rzeczy jest dla Ciebie abstrakcyjny : nie musisz już być ekspertem komputerowym, aby posiadać / obsługiwać komputer w taki sam sposób, jak nie musisz już być mechanikiem, aby posiadać / obsługiwać samochód. Cena, jaką płacisz, jest taka, że ​​te abstrakcje są nieszczelne: istnieje fundamentalne rozłączenie, którego nigdy nie da się całkowicie zlikwidować. Komputerowy „dokument” nie jest w rzeczywistości dokumentem, „pulpit” nie jest pulpitem, „okno” nie jest oknem itp.

Komputery +1 nie były pierwotnie zaprojektowane dla laików.
+1, ponieważ ostatecznie sprowadza się to do tego, że „tak było w przeszłości, a kiedyś mieli inne priorytety”.
@Insane nie jest przeciwnikiem; ale gdybym miał się sprzeciwić, zignorowałby to, że bezpieczne usuwanie jest niekompatybilne z funkcją, której zwykli użytkownicy potrzebują znacznie częściej (i która jest wskazana w innych odpowiedziach): Możliwość odzyskania czegoś usuniętego przez przypadek.
@DanNeely Nie ignoruję tego, inne odpowiedzi już obejmowały tę murawę (a także względy wydajnościowe, które czynią ją niepraktyczną). Skupiam się tylko na tej części, której nikt inny nie zrobił: te metafory, których używamy w informatyce, są wadliwe i mogą być mylące. „Usuwanie” pliku cyfrowego to nie to samo, co „usuwanie” prawdziwego pliku papierowego, ponieważ występuje dysonans w terminologii: te dwa przypadki nie są wystarczająco analogiczne. To niekoniecznie krytyka (musimy nazywać te rzeczy * czymś *), tylko obserwacja.
A bezpieczny proces usuwania, który wykonuje wiele narzędzi, nie działałby na dyskach SSD i innych urządzeniach z pamięcią flash. Mikrokontrolery wbudowane w urządzenia decydują o tym, gdzie zapisywane są dane, aby wyrównać wykorzystanie / zużycie komórek pamięci i wydłużyć żywotność urządzenia. Zatem bezpieczne usunięcie (np. „Shred”) tak naprawdę nie zniszczyłoby pliku (ów).
usunięcie wskaźnika do czegoś może być operacją ciągłą w czasie. zerowanie usuniętych danych jest zgodne z długością danych. dlatego też wiele języków również nie wymusza zerowania przydzielonych danych. leniwie jest tego nie robić, ale nie jest to mały ani nawet stały czynnik w wydajności.
@Rob Cóż, mówiąc uczciwie, system operacyjny zaprojektowany do bezpiecznego usuwania czegoś może odroczyć bezpieczne usuwanie na później i uruchomić go w tle, zamiast wysysać wszystkie twoje wejścia / wyjścia od razu, tak jakbyś zdecydował się skopiować ogromny plik.
W przeszłości bezpieczeństwo było tak drobiazgową refleksją, że stare systemy operacyjne Windows (lub przynajmniej MS-DOS) faktycznie wypełniały wolne miejsce w sektorze plików ** zawartością pamięci ** w sposób losowy, zamiast zerować je lub zapisywać jakąkolwiek inną stałą.Fakt, że nikt nie wstał i nie powiedział „to nie brzmi jak bezpieczny pomysł”, pokazuje tylko, jak bardzo po namyśle była ochrona.
Virtual Anomaly
2016-01-15 21:12:24 UTC
view on stackexchange narkive permalink

Nie trzeba tego poprawiać, ponieważ nie jest to usterka.

Wskaźniki do pliku są usuwane, a obszar zajmowany przez plik jest oznaczany jako wolne miejsce . Następnie dysk nadpisuje ten obszar w swoim czasie. Ma to na celu wyłącznie oszczędzanie podczas jazdy. W końcu urządzenia magazynujące (zwłaszcza dyski SSD) mają ograniczoną liczbę razy, kiedy mogą pisać, zanim ulegną awarii. Większość użytkowników nie doceniłaby awarii dysku po 6 miesiącach.

Istnieją bezpieczne rozwiązania z narzędziami do bezpiecznego czyszczenia wolnego miejsca na dysku twardym.

+1, ale pomysł, że zwykły użytkownik * może * osiągnąć limit zużycia dysku SSD, staje się nieaktualny. Zobacz [ten artykuł] (https://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead). Te 250-gigabajtowe dyski SSD nadal pracowały z zapisem 1 * petabajta * (4000-krotność pojemności dysku).
To dobry punkt, jednak jeśli pliki były bezpiecznie usuwane za każdym razem (obejmując 1 lub więcej zapisów w całej lokalizacji), istnieje co najmniej większe prawdopodobieństwo awarii dysku twardego.
Prawda, ale jak powiedział @Cruncher, pogląd, że dyski SSD zawodzą wcześniej niż dyski HDD, był kiedyś prawdziwy, ale szybko staje się błędnym przekonaniem.
Dostałem maszynę z 256GB SSD OS-Drive w 2013 roku, a rok później pokazywała S.M.A.R.T. ostrzeżenia, że ​​umrze. Dostałem zamiennik, a rok później nowe ostrzeżenia SMART o pozostałym czasie eksploatacji dysku wynoszącym 3% i otrzymałem * kolejną * wymianę. Może moje zachowanie polegające na utrzymywaniu dysku SSD na 95% pojemności i utrzymywaniu 20 + GB programów w pamięci RAM każdego dnia oraz uruchamianiu na zawsze włączonym serwerze internetowym i walce z zębami i paznokciami z awarią mojego firmowego oprogramowania do synchronizacji plików nie udało się zsynchronizować tysięcy plików, których współautorzy ... Nie jest niemożliwe przekroczenie limitu zużycia nowoczesnych dysków SSD.
O tym, czy spowodowałoby to zużycie dysku ... Czy system operacyjny nie musi zerować zawartości pliku przed utworzeniem nowego pliku na starym? Nie rozumiem, jak „wyczyść przy usuwaniu” naprawdę różni się od „wytrzeć przy tworzeniu” pod względem zużycia. Wygląda na to, że ** optymalizacja wydajności ** ma na celu szybkie usuwanie i czyszczenie zawartości w tle, ale wygląda na to, że system operacyjny mógłby celowo uruchomić to zadanie w tle zamiast opóźniać je.
@CarlWalsh nie, system operacyjny nie musi niczego wyzerować przed utworzeniem nowego pliku. Każdy blok nowego pliku może być (i będzie) po prostu zapisany na jakimś aktualnie nieużywanym bloku, bez względu na to, czy jest „świeży”, czy też był wcześniej częścią innego pliku.
@CarlWalsh No; System operacyjny i / lub system plików z kopiowaniem przy zapisie musi tylko dawać ** iluzję **, że świeżo przydzielony blok ma daną wartość. Podobnie jak `calloc ()` nie musi w rzeczywistości przydzielać i czyścić pamięci do czasu jej rzeczywistego użycia, system plików mógłby udawać, że zawartość jest zerowa, dopóki nie dokonasz do niej zapisu.
@MikeOunsworth jedynym powodem, dla którego ma to miejsce, jest wyrównanie zużycia. Gdyby dane musiały zostać natychmiast bezpiecznie usunięte, spowodowałoby to wielokrotne pomnożenie zapisów i spowodowałoby, że wyrównywanie zużycia byłoby nieskuteczne.
@CarlWalsh: Tanie chipy flash są podzielone na duże bloki zawierające 1024 lub więcej stron (co system operacyjny uważa za sektory); nie ma sposobu, aby zmienić niepustą stronę, z wyjątkiem usunięcia całego bloku, w którym się znajduje. Zatem napęd, który odbiera polecenie zapisu sektora systemu operacyjnego, będzie musiał znaleźć pustą stronę, zapisać tam nowe dane i zaktualizować indeks, aby wskazać, gdzie można znaleźć nowe dane. Jeśli brakuje pustych stron, napęd znajdzie blok, który ma jak najwięcej martwych (zastąpionych) stron, skopiuje aktywne strony z tego bloku w inne miejsce, a następnie ...
... usuń blok, gdy wszystko zostanie przeniesione w inne miejsce. Jeśli blok ma 992 aktywnych stron i 32 martwe strony, usunięcie tych 32 martwych stron będzie wymagało skopiowania 992 aktywnych stron w inne miejsce; może nie być żadnego powodu, aby to robić, dopóki napęd nie zostanie napełniony w 95%, chyba że system zdecyduje się na ponowne użycie bloku w celu wyrównania zużycia.
WhiteWinterWolf
2016-01-15 21:53:02 UTC
view on stackexchange narkive permalink

Wygląda na to, że masz problem ze sformułowaniem terminu usuń i błędne oczekiwanie, co powinna zrobić ta funkcja.

Możesz sprawdzić prostą definicję w Merriam-Webster witryna internetowa:

usuń : aby usunąć (coś, na przykład słowa, obrazy lub pliki komputerowe) z dokumentu, nagrania, komputera itp.

Celem funkcji usuwania jest usunięcie wybranych obiektów z ich bieżącej lokalizacji. Można je przenieść w inne tymczasowe miejsce (kosz na śmieci), aby zapobiec przypadkowej utracie, lub zajmowane przez nie miejsce może zostać bezpośrednio oznaczone jako wolne.

Porównaj to z definicją wymaż na przykład:

kasuj : aby usunąć (coś, co zostało nagrane) z taśmy (takiej jak taśma wideo lub taśma audio ) lub dysk komputera; także: aby usunąć nagrany materiał z (taśmy lub dysku)

: aby usunąć (coś napisanego) przez pocieranie lub skrobanie tak, aby nie było go już widać

: aby coś usunąć zapisany z (powierzchni)

Ten naprawdę idzie na niższy poziom, tutaj nie tylko usuwamy plik z folderu, usuwamy dane pliku z dysku i ta subtelność tkwi w całej różnicy.

Wymaż to słowo, które najczęściej możesz spotkać w świecie Windowsa, w świecie uniksowym możesz spotkać się zamiast tego wyczyść proces z bardziej technicznego punktu widzenia:

wytrzeć : wyczyścić lub osuszyć (coś) ręcznikiem, ręka itp.

: usunąć (coś) przez pocieranie

: przesunąć (coś) po powierzchni

Dlaczego nie t systemy operacyjne robią to domyślnie? Z kilku powodów:

  • Zwykli użytkownicy domowi nie potrzebują takiej funkcji, potrzebują jedynie albo po prostu usunąć plik z folderu, albo w przypadku dysków zewnętrznych upewnić się, że zostanie on całkowicie wyczyszczony („powolny” format w kategoriach laika ). Rzadko muszą wymazać pojedynczy plik.

  • Zwykli użytkownicy domowi w rzeczywistości nie chcą takiej funkcji. Zobaczysz, że domyślnie nie tylko nie usuwa się pliku, ale też go nie usuwa: zamiast tego jest przenoszony do kosza, ponieważ użytkownicy domowi oczekują, że ich system operacyjny będzie mógł go zapisać w przypadku niewłaściwej manipulacji. Często musisz użyć określonej kombinacji klawiszy (opcja Shift + Del), aby usunąć plik bez przechodzenia przez kosz.

  • Wreszcie taka opcja może nie być łatwa lub nawet możliwe do wdrożenia. Ewolucja technologiczna dodała kilka logicznych i fizycznych warstw wokół twoich rzeczywistych danych:

    • Niektóre systemy operacyjne regularnie wykonują migawki zawartości systemu plików, w takim przypadku plik może znajdować się w jednym lub kilka z tych migawek. Zapewnienie prawidłowego wymazywania plików w takim stanie bez narażania integralności migawek może być skomplikowane.

    • Jak wspomniano w innych odpowiedziach i komentarzach, aby wydłużyć żywotność urządzenia pamięci masowej, poziom abstrakcji między faktyczną pamięcią masową a tym, jak jest postrzegany przez system operacyjny. W takim przypadku, chociaż system operacyjny może zrobić wszystko, co w jego mocy, aby zapewnić, że dane pliku zostaną usunięte na poziomie systemu plików, nie ma możliwości zapewnienia, że ​​zostały one skutecznie usunięte na poziomie magazynu.

Z jednej strony masz system operacyjny, który ma powody dotyczące plików (aby uprościć), ale tak naprawdę nie przejmuje się przechowywaniem bajtów, z drugiej strony masz oprogramowanie układowe urządzenia magazynującego które uzasadniają w bajtach, ale nie wie nic o plikach i jaki jest faktycznie ustawiony system plików.

Czy to oznacza, że ​​wszystko jest stracone i musimy poczekać na jakąś nieprawdopodobną przyszłość, aby przynieść nam system plików zaimplementowany natywnie w oprogramowaniu urządzenia pamięci masowej? Nie, ale to, co powinieneś zrobić, zależy od twojego rzeczywistego problemu:

  • Jeśli obawiasz się danych na poziomie systemu plików, masz dostępne oprogramowanie innej firmy, które dodać nową opcję wymazywania / wymazywania do menu kontekstowych. Musisz jednak ręcznie upewnić się, że kopie tych plików nie są obecne w żadnej migawce systemu plików ani w kopii zapasowej, ponieważ wymaga to indywidualnej decyzji system operacyjny nie może tego zrobić za Ciebie (nie chcesz, aby kreator wymazywania systemu operacyjnego zepsuć kopię zapasową lub po to, by ci pomóc, prawda?).

  • Jeśli martwisz się o dane fizycznie przechowywane na urządzeniu pamięci masowej, użyj szyfrowania systemu plików. Zapewni to, że potencjalne „wycieki” danych z powodu niwelowania zużycia i złej obsługi bloków nie będą możliwe do wykorzystania przez nikogo, kto złapie twoje urządzenie magazynujące.

To jest poprawna odpowiedź.
Na przykład w systemie UNIX nie ma funkcji „usuń”, „usuń” ani „usuń”, tylko „odłącz”.
@tudor: Rzeczywiście, podnosi Pan ważną kwestię. Chociaż „odłączanie” jest jasno i jednoznacznie zdefiniowaną funkcją na poziomie systemu plików, funkcja kasowania / wymazywania w rzeczywistości polega na nadpisywaniu zawartości pliku, ponieważ fizycznie nie ma możliwości po prostu „usunięcia” danych z dysku: można go tylko nadpisać. Tutaj pojawiają się różne podejścia do nadpisywania, wykorzystujące losowe dane, używające określonych wzorców, używając jednej lub określonej liczby przebiegów itp., Z których każdy ma swoje zalety i wady. Dlatego to użytkownik musi wybrać oprogramowanie innej firmy odpowiadające jego własnym potrzebom.
Benoit Esnard
2016-01-15 20:22:30 UTC
view on stackexchange narkive permalink

Ze względu na wydajność. Usunięcie pliku z indeksu i zadeklarowanie, że strefa, w której plik był teraz wolny i może być ponownie wykorzystana, jest znacznie bardziej wydajne niż usunięcie wszystkich danych w tej strefie.

W przypadku dysków SSD, które są odwrócone.
@JDługosz: Niezupełnie. Dyski z pamięcią flash muszą fizycznie usunąć wszystkie informacje z bloku, zanim będą mogły ponownie wykorzystać dowolne miejsce, ale jeśli ktoś chce usunąć plik, który wykorzystuje 64 z 1024 sektorów w bloku, oznaczenie 64 sektorów jako nieprawidłowych będzie oznaczać być znacznie szybsze niż kopiowanie 960 sektorów, których zawartość jest nadal potrzebna gdzie indziej, a następnie kasowanie bloku, który zawierał te 64 sektory.
Mam na myśli polecenie „trym”. Bloki są oznaczane jako nieużywane na bardzo prymitywnym poziomie, zamiast po prostu spędzać czas, dopóki nie zostaną ponownie wykorzystane. Zamiast być bardziej wydajnym, aby nic nie robić (nie jest jasne), bardziej efektywne jest nie kopiowanie ponownie nieużywanych bloków.
@JDługosz: Biorąc pod uwagę niefortunną decyzję IMHO, aby wszystkie dyski USB korzystały z dostępu opartego na sektorach, a nie czegoś bliższego NFS, operacja średniego poziomu „zaznacz sektor przestarzały” jest bardziej wydajna niż * albo * fizyczne wymazanie * lub * po prostu posiadanie system wyższego poziomu uważa go za nieużywany bez informowania o tym dysku.
Jest to również problem z SATA / SAS. Nie USB, ale zmiana warstwy pamięci z dala od tego, z czym została zaprojektowana struktura poleceń, i historycznie posiadanie większej inteligencji w hoście, a mniej w urządzeniu.
Cort Ammon
2016-01-16 23:14:55 UTC
view on stackexchange narkive permalink

Nie wszyscy zgadzają się z Twoją definicją tego, co powinno oznaczać „usuwanie”.

99,9% użytkowników nie martwi się, że ktoś będzie węszyć w poszukiwaniu danych. Chcą miejsca do przechowywania większej liczby torrentowanych odcinków Teletubisie. Dla większości ludzi po prostu nie wystarczy już zarezerwowanie miejsca na plik.

Jest też grupa osób, do której należysz, które chcą wymazać plik, aby nie można go było odzyskać. Czy jednak odpowiednio rozważyłeś kopie zapisane w pamięci podręcznej pliku, które mogą znajdować się w innym miejscu na dysku twardym? Naprawdę trudno jest upewnić się, że coś zostało całkowicie usunięte. Dla kogoś, kto chce takiej funkcji, być może zrównoważyłeś już pytania bezpieczeństwa, ale czy uważasz, że 99,9% tak zrobiło?

Na koniec zastanów się nad tymi, którym naprawdę zależy na wymazaniu swoich tajemnic. Standardowym procesem rządowym jest wrzucanie dysków twardych do szlifierki. Czemu? Czy wiesz, że po usunięciu pliku niektóre właściwości magnetyczne dysku zapewniają dostęp do danych? Nie można uzyskać do niego dostępu przez zwykłą głowicę dysku twardego, ale wyjmij talerz i umieść go w drogim czytniku magnetycznym, a oni mogą pobrać dane.

Jeśli rząd chce ponownie wykorzystać dysk twardy drive, standardowy proces to 7-krotne wymazywanie, w którym zapisujesz do każdego sektora dysku 7 razy. Zwykle używają po prostu szlifierki, ponieważ ten proces jest tak intensywny mechanicznie, że większość dysków nawet nie przetrwa spotkania.

Co właściwie oznacza słowo „usuń”?

EDYTUJ: Próbowałem narysować kilka punktów i pozwoliłem innym narysować linie, ale wygląda na to, że narysowanie linii również może pomóc. Bezpieczeństwo zawsze wiąże się z kompromisami. Niewiele osób rozumie kwestie bezpieczeństwa na tyle dobrze, aby odpowiednio dobrać poziom kompromisu. Dla tych, którzy mogą, możesz podzielić ludzi na trzy kategorie. Jest jedna kategoria ludzi, którzy mniej troszczą się o bezpieczeństwo i nienawidzą produktu za to, że zapewnia większe bezpieczeństwo, niż chcą, za cenę użyteczności. Jest jedna kategoria osób, które bardziej niż ty przejmują się bezpieczeństwem i będą sfrustrowane brakiem zabezpieczenia produktu. Wreszcie, jest z tobą jedna kategoria, która jest zadowolona z tego balansu.

Jeśli każdy ma własną definicję tego, co jest „wystarczająco bezpieczne”, uzyskanie „prawidłowego” bezpiecznego usuwania plików od samego początku jest trudniejsze niż się wydaje.

Nie mogę głosować negatywnie na tej stronie z pytaniami i odpowiedziami, ale ... "99,9%" (źródło?) "Ponieważ ten proces jest tak intensywny mechanicznie ... nawet nie przeżyjesz spotkania" (źródło?) "Niektóre z magnetycznych właściwości ... ściągnij dane ”. (w rzeczywistości istnieje dokument badawczy, w którym obalono, że jednorazowe wyczyszczenie nie spowodowałoby usunięcia wystarczającej ilości informacji, aby uniemożliwić odzyskanie. Jednak nie ma tutaj linku).
@sumurai8 Byłbym zdziwiony, gdyby jeden na tysiąc użytkowników był na tyle świadomy niuansów przechowywania plików, aby był skłonny nadzorować swoje pamięci podręczne plików systemu operacyjnego, aby móc uzyskać jakiekolwiek bezpieczeństwo dzięki tak bezpiecznemu usuwaniu. Dla tych, którzy nie są ciągle świadomi tego, co robi ich system operacyjny, taką cechą byłby olej z węża. Bardzo chciałbym zobaczyć ten papier. Rząd jest wyraźnie mniej ufny niż ty, chociaż zawsze fajnie jest zobaczyć nowe twarde dowody. Być może zasady rządu dotyczyły starszych, niechlujnych dysków twardych, a nowe dają mniejszy efekt
Rządy @CortAmmon i tak zazwyczaj nie są zadowolone z „dostatecznie bezpiecznego”. Dotyczy to nie tylko bezpieczeństwa, ale w większym stopniu bezpieczeństwa (np. „Dzienne bezpieczne dawki” niektórych substancji ustawiane są na wartości kilkakrotnie niższe niż faktycznie szkodliwe).
Czy to jest ten artykuł, o którym mówisz? Zaktualizowany epilog autorstwa samego Guttmana https://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html#Epilogue
supercat
2016-01-21 23:10:02 UTC
view on stackexchange narkive permalink

Z tego samego powodu, dla którego prawdziwi kolekcjonerzy śmieci nie niszczą wszystkiego przed wrzuceniem do ciężarówki.

Istnieją dwa główne powody, dla których ludzie mogą pozbywać się przedmiotów lub informacji:

  1. Chcą zapobiec używaniu ich przez kogokolwiek (lub być może jakąś konkretną osobę lub osoby).

  2. Nie wierzą, że przedmioty miałyby dla każdego wystarczającą wartość, aby uzasadnić koszt ich przechowywania lub znalezienia kogoś, komu mogą być przydatne.

Osoby, które pozbywają się rzeczy dla pierwszy powód powinien je zniszczyć, aby uczynić je bezużytecznymi, ale dla tych, którzy pozbywają się rzeczy z drugiego powodu, lepiej jest zminimalizować całkowite pozostałe wydatki związane z przedmiotowymi przedmiotami. Ponieważ komputery generują wiele informacji, które staną się bezużyteczne po stosunkowo krótkim czasie, oraz ponieważ - w przypadku większości komputerów - jest mało prawdopodobne, aby duża część informacji spowodowała jakiekolwiek szkody, jeśli zostaną ujawnione, w wielu przypadkach korzyści umyślne niszczenie informacji. Wystarczy zapewnić, że wszelkie miejsce, które zajmowały informacje, będzie dostępne do ponownego wykorzystania, jeśli zajdzie taka potrzeba.

Alexey Vesnin
2016-01-17 03:53:10 UTC
view on stackexchange narkive permalink

W rzeczywistości mylisz dwie różne procedury: usuwanie i bezpieczne czyszczenie . Pierwsza to po prostu standardowa operacja zależna od FS, określona i znormalizowana operacja. Drugi - bezpieczne czyszczenie - ma wiele podejść, stopni ochrony, standardów itp. Dlatego jest logicznie poprawne, że jeśli potrzebujesz drugiej kategorii jednej kategorii, Jesteś odpowiedzialny za wybranie i uruchomienie mechanizmu odpowiedniego w Twojej bardzo wyjątkowej sytuacji . Nie ma wspólnej i znormalizowanej implementacji w każdym przypadku / zadaniu / środowisku do bezpiecznego czyszczenia.

TOOGAM
2016-01-20 01:20:37 UTC
view on stackexchange narkive permalink

Dlaczego systemy operacyjne nie usuwały bezpiecznie plików od samego początku?

Masz na myśli początek usuwania lub początek systemu operacyjnego? Wczesne systemy operacyjne próbowały skupić się na postępach technologicznych, takich jak przechowywanie rzeczy na dyskach twardych, a nie dyskietkach lub kartach dziurkowanych. Nie było potrzeby, aby system operacyjny robił nic specjalnego, aby uniemożliwić pobranie danych z dyskietek. (Przepraszam, po prostu dobrze się bawiłem, grzebiąc w niezawodność napędów dyskietek.) W tamtych czasach możliwość „zapisywania” była bardzo ważna. Konserwacja plików, na przykład możliwość „usuwania”, może być zakopaną i rzadko używaną opcją menu. „Bezpieczne usuwanie” wydawałoby się bzdurą dla ludzi, którzy mogliby po prostu wyrzucić dysk lub najpierw go nagrać. Po co używać hałaśliwego napędu dyskietek, który miał znacznie niższe prędkości niż jesteśmy przyzwyczajeni do tego, aby czekać pół minuty lub dłużej, aby mógł zastąpić je zerami? W czasach, gdy nikt nie rozumiał, czym jest „podwójne kliknięcie”, ponieważ nie mieli nawet myszy, więc nigdy nie wykonali nawet jednego kliknięcia i myśleli, że „kopiuj i wklej” to super zaawansowana technologia. nawet zrozumienie celu byłoby nie lada wyzwaniem.

Wtedy, gdy nadeszły trudne chwile, systemy operacyjne po prostu zrobiły prostą rzecz, czyli używały tego samego kodu komputerowego, który okazał się niezawodny dla dyskietek dyski.

I to JEST ważna kwestia, bo w przeciwnym razie nie byłoby artykułów i historii na ten temat od około 3 dekad.

W rzeczywistości może to być bardziej refleksja na temat celów dziennikarstwa, które polegają na pisaniu rzeczy, które ludzie mogą uznać za interesujące, lub może być wynikiem wysiłków edukacyjnych. Wiele osób po prostu nie rozumie, że usuwanie jest raczej nietrwałe i dobrze jest rozumieć rzeczy, więc edukacja jest pozytywna. Nie oznacza to, że domyślne zachowanie softare powinno zostać zmienione.

Jeśli niektórzy ludzie uważają, że jest to ważne i powinno być częścią systemu operacyjnego, dlaczego nie jest częścią systemu operacyjnego?

Ponieważ niektórzy ludzie uważają, że to nie jest ważne. Chociaż czyszczenie może być o wiele bardziej przydatne dla niektórych osób (które są, jak najbardziej, wolne i mile widziane w wymazaniu (zamiast usuwania), jeśli chcą to zrobić), różni ludzie mogą mieć różne priorytety. Ja, na przykład, usuwam rzeczy, aby mieć dostępne miejsce na dysku zamiast używanego miejsca na dysku i przyspieszam działania, które mają wpływ na wszystkie pliki (takie jak kopiowanie całego używanego miejsca na dysku twardym), więc nie potrzebuję aby zobaczyć nazwy starych plików i aby przypadkowo nie otworzyć starego pliku, gdy chcę nowy plik. Usuwanie to skuteczny sposób na ukrycie niechcianych danych (takich jak stare dane) przed oprogramowaniem, aby oprogramowanie nie korzystało z tych niechcianych danych. Zanim zacząłem tworzyć bardziej niezawodne kopie zapasowe danych, doceniałem sporadyczną możliwość korzystania z oprogramowania do odzyskiwania, które mogło „przywrócić” dane. Jak powiedzieli inni, wycieranie może powodować dodatkowe spowolnienie i dodatkowe „zużycie”. Ponieważ moje komputery nie były w pobliżu osób, które mnie niepokoją, mogą przekopywać moje usunięte dane, aby spróbować dowiedzieć się czegoś, co miałem nadzieję być tajne, czyszczenie nigdy nie było dla mnie wielkim priorytetem. Mając to wszystko na uwadze, w odpowiedzi na Twoje ostatnie stwierdzenie „Po prostu zrób to, co należy”, myślę, że usuwanie było „właściwą rzeczą” w moich scenariuszach użycia o wiele częściej niż to, co byłoby czyszczeniem. Myślę, że największym prostym powodem, który odpowiada na wiele twoich pytań, jest to, że określenie, które zachowanie jest „właściwe” w większości scenariuszy, może nie być tak proste, jak je przypisujesz.

Dyski twarde rzeczywiście pojawiły się po dyskietkach do mikrokomputerów, ale nie do komputerów typu mainframe i minikomputerów: dysk twardy był pierwszy (1956); dyskietka później (~ 1970).
Pamiętam, że używałem 8-calowych dyskietek na PDP-11 w szkole średniej. Chciałbym mieć jedną. Mam gdzieś kilka kart ... Wydaje się interesujące, że ponieważ komputery były początkowo opracowywane głównie dla rządu i wojska, nie zawierały więcej zabezpieczeń. Wydaje mi się, że mieli fizyczne zabezpieczenia (komponenty zbyt ciężkie, by można było z nich wyjść w zamkniętym pokoju w zamkniętym budynku na bezpiecznym kampusie otoczonym drutem kolczastym i chronionym przez uzbrojonych strażników ...), więc nie martwili się o to. Ale dlaczego w przypadku komputerów osobistych i kwestii bezpieczeństwa w ciągu ostatnich trzech dekad nie było to uwzględnione? No cóż, nie ma sensu.
bain
2016-01-20 03:34:17 UTC
view on stackexchange narkive permalink

A dlaczego nadal tego nie robią?

Inne odpowiedzi odpowiadały, dlaczego nie było to zrobione w przeszłości (wydajność, oczekiwania użytkowników itp.), więc ja po prostu doda notatkę, dlaczego nadal nie jest to zrobione. Jednym z problemów jest to, że bezpieczne usuwanie jest uważane tylko za częściowe rozwiązanie zabezpieczające: usunie jedną kopię pliku, ale większość nowoczesnych aplikacji pozostawi po sobie znaczące ślady - bufory historii (cofanie), kopie zapasowe itp. - z których można uzyskać dane Zebrane. Istnieje również problem z dostępem do plików przed ich usunięciem (np. Zamierzałeś bezpiecznie usunąć ten plik na swoim dysku, ale ktoś ukradł dysk, zanim miałeś okazję). Z tych powodów nowoczesne systemy operacyjne zamiast tego zaimplementowały pełne szyfrowanie pamięci użytkownika, co sprawia, że ​​bezpieczne usuwanie nie jest konieczne. W przypadku zaszyfrowanych danych użytkownika, nawet jeśli dysk zachowuje obraz „usuniętego” pliku, wszystkie ślady tego pliku (i każdego innego pliku) są ukryte dla atakującego, który nie ma klucza odszyfrowywania. Chrome OS, Android i iOS domyślnie szyfrują teraz dane użytkownika, więc przynajmniej w tych systemach nie ma potrzeby bezpiecznego usuwania pojedynczych plików.

Klucze szyfrowania plików, nawet jeśli klucze są następnie przechowywane w postaci zwykłego tekstu, chyba że użytkownik dostarczył klucz do ich zaszyfrowania (zamiast zaszyfrowania dysku), wydaje się lepszym rozwiązaniem - możesz wtedy po prostu nadpisać ~ 256 bitów, które przechowują klucz i stracić dostęp do pliku. OpenBSD robi to dla przestrzeni wymiany, ale normalne implementacje systemu plików nie są szczególnie powszechne ...
@GertvandenBerg: Biorąc pod uwagę różne rozmiary bloków zapisu i kasowania nośników flash, utrzymanie kluczy szyfrowania plików i zapewnienie ich niezawodnego zniszczenia jest trudne. Byłoby znacznie łatwiej, gdyby układy flash oferowały i udokumentowały sposób na wyzerowanie już napisanej strony, ale wiele z nich umożliwia zapisywanie tylko na całkowicie pustych stronach ze względu na ich logikę korygującą błędy i nie stanowi wyjątku dla pisze, co całkowicie zerowałoby stronę.
Dziękuję za odpowiedź na ważną połowę mojego pytania.
@supercat: Problem staje się trudny, jeśli jest zbyt wiele warstw abstrakcji ... Jeśli lista kluczy zostanie również zaszyfrowana za pomocą klucza dostarczonego przez użytkownika, skutecznie zapewniającego szyfrowanie całego dysku, odczytanie danych klucza, jeśli nie zostanie zniszczone, staje się znacznie trudniejsze, ale mniej wygodny w użyciu.Nawet bez tego szanse na odzyskanie usuniętych danych są nadal znacznie mniejsze niż obecnie, gdzie nie podejmuje się próby zniszczenia danych.
Celeritas
2016-01-22 13:26:35 UTC
view on stackexchange narkive permalink

Inne odpowiedzi są dobre i w pełni odpowiadały na pytanie na poziomie technicznym. Ale myślę, że pojawia się inna odpowiedź, która przedstawia inny pogląd na problem, ponieważ (IMHO) to pytanie nie jest tak naprawdę pytaniem technicznym (pytanie, dlaczego coś nie zostało zrobione inaczej, jest bardziej decyzją biznesową niż techniczną).

Pytanie brzmi, dlaczego system operacyjny tak naprawdę nie usuwa danych. Producent systemu operacyjnego może sprawić, że zrobi, co zechce. Z pewnością nie ma powodu, dla którego ktoś nie mógłby zbudować systemu operacyjnego, który może usunąć dane. Ale dlaczego mieliby to robić? Spróbuj odwrócić pytanie, dlaczego ktoś miałby tworzyć system operacyjny, który usuwa dane, skoro łatwo jest pobrać narzędzie, które zrobi to za Ciebie? Ponadto, zwykle jest filozofią, że systemy operacyjne powinny być minimalistyczne i zawierać tylko funkcje niezbędne do działania komputera.

Nie próbuję być szorstki w mojej odpowiedzi, to, co mówię, jest pytaniem wydaje się być pytany z niewłaściwej perspektywy i brakuje wstępnych fragmentów wiedzy.

System operacyjny jest minimalistyczny? 25 lat temu napisałem zestaw TSR dla DOS, aby udostępniać modemy w sieci Novell. Mniej więcej w tym czasie Microsoft wypuszczał własne możliwości sieciowe i ostatecznie mógł udostępniać modemy i drukarki w swojej metodologii sieciowej. Firma Microsoft powoli przejęła większość produktów innych firm, które wykonywały takie czynności, jak tworzenie kopii zapasowych, przywracanie danych itp. Nie jest to minimalistyczne, a ponieważ Windows stanowi 90% komputerów PC, które są prawdopodobnie 90% tam komputery, to naprawdę mam na myśli.
@nocomprende to właściwie kolejny problem z zadawanym pytaniem, mówi, że wszystkie systemy operacyjne są takie same, a nie są. Windows to jeden z najbardziej rozdętych systemów operacyjnych.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...