Pytanie:
Czy możemy zabezpieczyć grę, która jest sprzedawana razem z komputerem z systemem Windows, na którym działa?
younes
2017-10-31 15:53:57 UTC
view on stackexchange narkive permalink

Chcemy chronić grę, która jest zasadniczo sprzedawana wraz z komputerem, na którym się znajduje. Zabezpieczenie jest wykonywane w ten sposób:

  1. Dysk twardy jest szyfrowany przy użyciu sprzętowego modułu TPM 1.2, który posiada unikalny klucz do odszyfrowania systemu operacyjnego tylko na tym konkretnym komputerze. Więc system Windows uruchomi się tylko na jednym komputerze. Ponadto moduł TPM nie pozwoli na uruchomienie systemu Windows w przypadku jakiejkolwiek zmiany sprzętu.

  2. explorer.exe jest zastępowany przez game.exe , System uruchamia grę przy starcie. Jeśli wyjdziesz z gry, nie ma eksploratora, tylko czarny ekran.

  3. Ctrl & Alt & inne klawisze są wyłączone, więc Menedżer zadań jest niedostępny.

  4. Karta Ethernet jest wyłączona, funkcja automatycznego uruchamiania jest wyłączona, aby zapobiec zrzucaniu pliku game.exe .

  5. Zainstalowano głębokie zamrażanie, użytkownik nie może wejść w tryb bezpieczny ani naprawa

Czy to jest bezpieczny system? Jeśli nie jest bezpieczny, co może zrobić osoba atakująca?

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/68062/discussion-on-question-by-younes-can-we-tamper-proof-a-game-thats-sold-wzdłuż-wi).
https://www.microsoft.com/windowsembedded/en-us/windows-embedded-8-pro.aspx
Więc wkładam pamięć USB z programem do automatycznego uruchamiania i ...
@Mawg Automatyczne uruchamianie z pamięci USB może zostać łatwo wyłączone przez obrońcę.Nawet jeśli nie jest wyłączona, dysk jest nadal zaszyfrowany, a osoba atakująca musi uzyskać klucze ze sprzętowego modułu TPM.
Nie jest możliwe zabezpieczenie czegokolwiek przed manipulacją, gdy inni mają pełną kontrolę nad sprzętem.Nie z jakimkolwiek sprzętem lub oprogramowaniem nie jest to możliwe.
Tak, wiem o tym, ale OP nie wspomniał o tym.
Ataki na kanałach bocznych zawsze narażałyby twoją grę na klonowanie, jeśli ktoś chce i ma dostęp do sprzętu.
Możesz zajrzeć do [WePOS i jego następców] (https://en.wikipedia.org/wiki/Windows_Embedded_Industry).Blokowanie tego, co zasadniczo jest kioskiem Windows, jest (w większości) rozwiązanym problemem w branży detalicznej i systemów płatności.Nigdy nie możesz tego zrobić w 100%, ale możesz się zbliżyć, a punkt sprzedaży robi to od dziesięcioleci.
Istnieje wiele ataków na obrazowanie, które mają miejsce po uruchomieniu systemu.Jeśli klucz jest przechowywany w pamięci w postaci zwykłego tekstu, można go wtedy przechwycić.
... oczywiście, te często * zależą * od sprzętu, ale osoba atakująca budująca niestandardowy sprzęt może sprawić, że sprzęt ten będzie identyfikował się jako coś innego w czasie wyliczania.
Wydaje mi się, że to konwencja, ale wydaje mi się dziwne, gdy mówię o kimś, kto próbuje zrobić z * swoją własnością *, co chce, „napastnikiem”.A to, co opisujesz, nie jest komputerem.To w zasadzie gabinet zręcznościowy.Jak zamiast traktować klientów jak wroga, stworzysz grę, za którą ludzie będą skłonni zapłacić?
„Jak zamiast traktować klientów jak wroga” Klientem w tym przypadku jest firma, która ma obowiązek zablokowania jej (prawdopodobnie jakiś obiekt CBT lub dystrybutor / operator automatów do gier), więc nie robiszdużo sensu.
Jaki jest Twój model zagrożenia?
@12431234123412341234123 Poszedłbym o krok dalej i powiedziałbym, że nie jest możliwe wykonanie czegokolwiek odpornego na manipulacje, kropka.Po prostu odporny na manipulacje.
Zabezpieczenie przed manipulacją jest niemożliwe.Twoją największą nadzieją jest uczynienie tego tak trudnym, jak tylko możesz ... ale jeśli wydajesz więcej zasobów na bezpieczeństwo niż na rozwój produktu, masz przekrzywiony biznesplan.
Czyli automat do gier jest w zasadzie nie do utrzymania, ponieważ wymiana złej części sprawi, że się nie uruchomi?
Jak dobrze finansowany jest twój przeciwnik?Czy jesteś na skalę, powiedzmy, dostawców telewizji satelitarnej, gdzie ludzie są gotowi wydać prawdziwe pieniądze na finansowanie laboratorium inżynierii odwrotnej, czy po prostu martwisz się o hobbystów?
... także, w jakim stopniu mechanikę gry można sprowadzić do czegoś, co można zamknąć w odpornym na manipulacje module sprzętowym?Jasne, istnieją ataki (czas, moc i inne) na karty inteligentne, ale jeśli masz taką, która obsługuje podstawową logikę gry, to przynajmniej umieszcza tę logikę w innym miejscu niż komputer ogólnego przeznaczenia.
@younes Wygląda na to, że jesteś zdeterminowany, aby to zrobić, a pytanie powinno brzmieć: „Jakie są strategie uczynienia maszyny * odporną na manipulacje *?”.Jak widać z odpowiedzi, nie będzie to nigdzie zbliżone do * zabezpieczenia ** przed manipulacją ** ....
Czy zamrożenie pamięci RAM (tak, aby dane zawierały się po wyjęciu z płyty głównej), zamienić moduł Ram Modul na inny komputer i zrzucić to możliwość?
Siedem odpowiedzi:
MSalters
2017-11-01 18:57:41 UTC
view on stackexchange narkive permalink

Możemy przeanalizować Twoją konfigurację, porównując ją z systemem znanym jako nie odpornym na manipulacje, Sony PlayStation 3.

Sterowanie systemem operacyjnym

Ty nie mają kontroli nad systemem operacyjnym. Sony napisało system operacyjny samodzielnie.

Rozmiar systemu operacyjnego

System operacyjny PS3 może być bardzo prosty, ponieważ wystarczy uruchomić gry. Windows to ogólny system operacyjny z wieloma, wieloma funkcjami. To uwidacznia wiele API.

Shell

Powłoka systemu PS3 jest przeznaczona do uruchamiania gier. W systemie Windows domyślny interfejs użytkownika jest udostępniany przez Eksploratora. Proponujesz zastąpienie go, co nie jest celem projektowym firmy Microsoft. Może się wydawać, że działa, ale wyrywanie Eksploratora może pozostawić otwarte interfejsy. Jest to dla Ciebie szczególny problem, ponieważ takie otwarte interfejsy mogą stać się wektorami ataku.

Sprzęt

Wygląda na to, że pracujesz na standardowym sprzęcie PC, tylko z TPM. Sony projektowało PS3 od samego początku, zakładając, że hakerzy będą atakować sprzęt.

Twój standardowy komputer prawdopodobnie ma gniazda PCI-e. Te obsługują DMA. Dzięki temu uzyskasz dostęp do pamięci komputera. To będzie niezaszyfrowane. Powszechnym sposobem na to jest FireWire. IIRC, nowoczesne konsole teraz również utrzymują zaszyfrowaną pamięć RAM i oczywiście nie zapewniają dostępu DMA do zewnętrznego sprzętu.

Podsumowanie

Twój system wydaje się mniej bezpieczny niż PS3, a PS3 można zhakować, więc można bezpiecznie założyć, że Twój też może być.

Podoba mi się atak przez proxy.Chociaż może być trudno opisać * dokładnie *, w jaki sposób Twój system może zostać zaatakowany, jeśli możesz wykazać, że jest on mniej bezpieczny niż inne urządzenie, a inne urządzenie zostało już zhakowane, daje to dość ostateczną odpowiedź!
chciałbym wspomnieć, że PS3 zostało zhakowane przez Linuksa przez słynnego Geohota, Linux mógł zostać zainstalowany w każdym PS3 niższym niż 3.15
Chociaż generalnie jest słabo zaimplementowana, istnieje warstwa kontroli dostępu z PCI (e) do pamięci głównej.
@PlasmaHH PCI (e) jest używane przez kartę graficzną, wyjęcie karty zatrzyma uruchomienie systemu, każda zmiana sprzętu, w tym (dodanie / usunięcie), spowoduje zatrzymanie rozruchu modułu TPM. czy możesz uzyskać dostęp do pamięci bez systemu operacyjnego wykrywającego zmiany sprzętowe w gniazdach PCI?
@younes: Twój TPM1.2 może przestać się uruchamiać, ale co z hotplugiem PCI-e?
@younes: Mogę, z odrobiną ciekłego azotu to żaden problem.Czy możesz?Nie jestem pewien, o co chodzi w tej warstwie ochrony MMU ...
@PlasmaHH na szczęście wszystkie dotychczasowe sugestie można załatać: dodanie oprogramowania szyfrującego pamięć RAM załatwi sprawę
@younes: Dokładnie jak myślisz, że to zadziała?Zwróć uwagę, że używasz zwykłego procesora x86 w normalnym systemie Windows.Instrukcja `MOV` x86 nie zdekoduje swojego argumentu.Co więcej, fakt, że x86 wie, że jest to instrukcja `MOV`, wymaga, aby segment kodu nie był szyfrowany.Twoja gotowa karta wideo zostanie również zmapowana w pamięci i będzie oczekiwać transferów DMA dla tekstur.Tak samo będzie z twoją pamięcią masową (HDD / SDD).
https://security.stackexchange.com/questions/109968/ram-encryption-is-it-possible
@younes: Czy SGX nadal nie wymaga, aby dane były w pamięci RAM?W jaki sposób klucz dostaje się do procesora bez dotykania pamięci RAM?Również zwykły SGX można odczytać za pomocą ataków z kanału bocznego.Poza tym wszystkie te rzeczy są niewiarygodnie wolne, aby uruchomić rzeczywisty kod gry.
@younes Wydaje się, że myślisz, że „jeśli ludzie wymyślą konkretną listę ataków, a ja się przed nią bronię, to mój system jest bezpieczny”.Jest to fundamentalna błędna definicja bezpieczeństwa.Ten argument jest argumentem * powierzchni ataku *, Twoja powierzchnia ataku jest o wiele za duża, aby ją zabezpieczyć, nie mówiąc już o obecnym bezpieczeństwie.Naprawianie dziur w określonym wektorze ataku, który ktoś wyświetla, nie zmniejsza znacząco powierzchni ataku;twoja powierzchnia ataku jest wykładniczo duża, łaty to liniowe poprawki.
PS3 obsługuje FreeBSD i takie rzeczy jak WebKit.Całkowicie nadający się do wykorzystania.Ponadto na PS3 i PS4 możesz MITM szynę PCIe.Działa to również na wszystkich komputerach PC.Ponadto oprogramowanie układowe dysku twardego może zostać zaatakowane, bezpośrednio lub pośrednio, więc po odszyfrowaniu wystarczy zrzucić wszystkie lub dane w dowolnym momencie.To samo dotyczy pamięci RAM.
Zdajesz sobie sprawę, że w bankomatach i innych komputerach serwisowych, takich jak kasy samoobsługowe, działa system Windows XP, prawda?
@ Иво Недев: Zbyt świadomy.Moja firma faktycznie współpracowała z dużym bankiem w ramach eksperymentu dotyczącego bezpieczeństwa bankomatów.Zwykle traktują bezpieczeństwo fizyczne dość poważnie.Nie wchodząc w szczegóły, był to rodzaj eksperymentu, w którym wyciągali worki z piaskiem.Ponadto nie uruchamiają XP, używają XP Embedded.
Overmind
2017-10-31 17:36:10 UTC
view on stackexchange narkive permalink

Jest zbyt wiele rzeczy, które można zrobić na poziomie systemu operacyjnego. To jest rzeczywisty problem. Istnieje wiele sposobów uruchamiania procesów i / lub eksploracji systemu. Jednym z ważnych aspektów jest to, że wygląda na to, że nie pomyślałeś o uruchamianiu wszystkiego z konta innego niż administrator. Nie wspomniałeś też o USB, innych urządzeniach peryferyjnych, klawiszach F, domyślnych skrótach i wielu innych aspektach.

Jako ocena: 2/10, co wynika wyłącznie z systemu operacyjnego. Praktycznie każde dziecko technologiczne ominie Twoją obecną konfigurację.

USB i inne urządzenia peryferyjne można naprawić - system Windows można skonfigurować tak, aby nie zezwalał na instalowanie nowych sterowników.Jeśli zapewnisz systemowi odpowiednią klawiaturę USB (nie jest to tani klon, taka z unikalnym VID / PID / szeregowym), nie możesz zamienić klawiatury z dodatkowymi klawiszami.
To prawda, połączeniami USB można zarządzać, tak jak innymi urządzeniami peryferyjnymi, ale należy wziąć pod uwagę wiele rzeczy, ponieważ można nawet rozpocząć przeglądanie plików, podłączając gniazda audio do karty dźwiękowej.Wszystko musi być odpowiednio skonfigurowane i przemyślane.
@MSalters Programowanie arduino jako klawiatury USB z dowolną parą VID / PID nie jest trudne.Znalezienie identyfikatora istniejącej klawiatury byłoby trywialne, a arduino emuluje tę samą klawiaturę i automatycznie wciska Ctrl-Alt-Delete lub Ctrl-Alt-Esc.
Nie wiem, jak działa TPM, ale zakładam, że po uruchomieniu systemu Linux CD gra się skończyła, ponieważ mam wtedy dostęp do wszystkiego, do czego jądro systemu Windows miałoby dostęp
@Restioson TPM przechowuje klucz szyfrowania na dysku twardym.możesz zamontować dystrybucję linux na usb lub live cd, ale nie byłbyś w stanie odszyfrować dysku twardego bez obejścia lub przechwycenia klucza z tpm
@Aaron ok, więc zakładając, że możesz przepisać sektor rozruchowy dysku twardego z minimalnym jądrem, które wyodrębniło klucz TPM i zapisało go na ekranie lub w inny sposób go ujawniło, to * to * koniec gry?
@Restioson Krótko mówiąc, prawdopodobnie tak. Nie byłoby to trywialne, ale jeśli posiadasz sprzęt, w zasadzie zawsze istnieje sposób na zrzucenie danych.Jest naprawdę interesująca rozmowa na temat hakowania skrzynki kablowej, aby uzyskać szyfry strumieniowe, na które nie mam ochoty patrzeć w górę rn, ale pokazuje, jak dobrze wiedzą są niektórzy ludzie i do czego są zdolni, mając zbyt dużo wolnego czasuich ręce.
@Aaron raz * jedna * osoba to zrobi, metoda jest dostępna i użyteczna, co jest swego rodzaju zakończeniem gry w przypadku metody bezpieczeństwa
@Restioson Zakładam, że system ma SecureBoot, więc taki sektor startowy nie miałby właściwego podpisu.Nie robi to oczywiście nic w przypadku ataków DMA itp.
twisteroid ambassador
2017-11-02 12:45:45 UTC
view on stackexchange narkive permalink

Wygląda na to, że tworzysz automat do gier. W takim przypadku ucz się od firm, które faktycznie produkują i sprzedają automaty do gier, i używaj systemu Windows Embedded zamiast wersji dla komputerów stacjonarnych .

Korzystanie z szyfrowania całego dysku TPM + jest dobrym początek. Powinieneś także usunąć jak najwięcej składników systemu Windows, których nie używasz, i zablokować jak najwięcej powierzchni dostępu. Jest to możliwe w przypadku instalacji na komputerze z systemem Windows, ale racją bytu systemu Windows Embedded jest umożliwienie tego rodzaju głębokich dostosowań.

Pamiętaj, że nawet arkady maszyny wykonane „prawidłowo” przez duże firmy produkujące gry korzystające z systemu Windows Embedded w końcu zostają zhakowane i zrzucone. Na scenie można znaleźć wiele wydań „HDD” popularnych gier arkadowych. To powinno ci powiedzieć, jak trudne może być prawidłowe zabezpieczenie automatu do gier przed zdeterminowanymi hakerami.

To.Użyj odpowiedniego narzędzia do pracy.
https://www.microsoft.com/windowsembedded/en-us/windows-embedded-8-pro.aspx
S.L. Barth - Reinstate Monica
2017-10-31 16:09:25 UTC
view on stackexchange narkive permalink

To nie jest bezpieczne. Sprzęt jest pod kontrolą użytkownika, więc zawsze może znaleźć sposób.

Zakładam, że TPM ma na celu uniemożliwić użytkownikowi uruchomienie innego systemu operacyjnego (takiego jak Ubuntu) z dysku CD, DVD lub USB. To dobry środek ostrożności.

Jednak ... użytkownik nadal może wyjąć dysk twardy i umieścić go w innym komputerze. Następnie mogą odczytać dysk twardy. Musisz więc zabezpieczyć sprzęt przed manipulacją.

Zastąpienie explorer.exe plikiem game.exe to krok, ale tylko w systemie Windows środowisko. Gdy tylko użytkownik będzie mógł uzyskać wiersz polecenia (być może uruchamiając się w trybie awaryjnym), to już nie pomoże. Wszystko, co robi, to spowolnienie napastnika.

Ale jeśli dysk twardy jest zaszyfrowany, czy usunięcie go pomogłoby?Klucz znajduje się w module TPM.
@Anders Słuszna uwaga.Osoba atakująca musiałaby uzyskać klucz ze sprzętowego modułu TPM.
Jeśli najlepszym dostępnym atakiem jest w jakiś sposób złamanie TPM, powiedziałbym, że system jest całkiem bezpieczny.(Jednak mogą być łatwiejsze ataki - naprawdę nie wiem).
@Anders Zgoda, chociaż zgadzam się również z komentarzem Lie Ryan w pytaniu - atakujący ma nieograniczony fizyczny dostęp do maszyny.Przypuszczam, że osoba atakująca może również ponownie połączyć klawisze Ctrl i Alt.OP może być zmuszony do całkowitego usunięcia Menedżera zadań.
Myślę, że zawsze można zabić exe gry, więc trzeba by również usunąć menedżera zadań.Następnie musisz wyłączyć bezpieczny rozruch itp
@joojaa Task Manager został wspomniany przez pytającego w punkcie (3).Twoja sugestia jest ulepszeniem w tym zakresie.
Serge Ballesta
2017-10-31 20:17:21 UTC
view on stackexchange narkive permalink

Oto kilka pomysłów na atak:

  • System Windows zwykle jest wyposażony w tryb naprawy . Aktywacja może być mniej lub bardziej łatwa ( ref., ale jeśli to możliwe, użytkownik może uruchomić komputer w trybie wiersza poleceń -> nie zapomnij przefiltrować programu cmd.exe w dodatek do explorer.exe
  • TPM może być słabszy niż się spodziewasz, a udane ataki zostały już zarejestrowane ( odniesienie na wikipedii)
  • atak społeczny : zakładam, że gra zostanie sprzedana i że będzie działała infolinia. Ponieważ użytkownik nie ma dostępu do zwykłych narzędzi konfiguracyjnych, możliwym atakiem byłoby wysyłanie żądań, ponieważ nie działa . Jest szansa, że ​​w jednej chwili akcja opuszcza system z powłoką dostępu
  • błąd oprogramowania: chyba że został zaprogramowany przez samego boga, game.exe może się zepsuć w nieoczekiwanych warunkach. To może być dobry punkt wyjścia dla metod 1 lub 3
  • ataki społeczne i komercyjne w zależności od sposobu, w jaki zamierzasz dostarczyć system , twitty i posty na blogach twierdzące, że system będzie szpiegował wszystko w sieci, w której jest zainstalowany, może obniżyć sprzedaż w momencie, gdy ochrona nie ma nic do ochrony.
  • ataki na bazowy system operacyjny. Ponieważ użytkownik nie ma dostępu do systemu, prawdopodobnie pozostanie on niezałatany

I czy w końcu naprawdę go wypróbowałeś? Nigdy nie odważyłbym się zastąpić explorer.exe w systemie Windows, ponieważ nie ma czystego oddzielenia systemu od powłoki i IMHO, co nie jest obsługiwane przez Microsoft.

Trochę niejasne jest, co oznacza OP przez „explorer.exe” jest zastąpione przez „game.exe”, ale zmiana powłoki logowania na aplikację jest prawie standardowym sposobem implementacji urządzenia typu Kiosk, nie tylkoWindows.
Thomas Weller
2017-11-03 17:43:05 UTC
view on stackexchange narkive permalink

Tylko jeden atak wystarczy, aby udowodnić, że jest niebezpieczny, prawda?

  1. Naciśnij klawisz Shift 5 razy. Pojawi się okno dialogowe z pytaniem, czy chcesz aktywować jakąś funkcję dla osób niepełnosprawnych.
  2. W tym oknie dialogowym kliknij łącze, aby przejść do Centrum sterowania w celu uzyskania dostępu.
  3. W tym oknie dialogowym kliknij pasek adresu.
  4. wpisz cmd Enter

Oto zrzut ekranu w systemie niemieckim:

Screenshot

Screenshot

Nie wspomniałeś wyraźnie o klawiszu Shift , być może jest wyłączony. Alternatywnie możesz również przytrzymać NumLock przez 5 sekund.

To doskonały przykład tego, ile tylnych drzwi jest w systemie Windows.
@CareyGregory To nie jest tak naprawdę backdoor, jeśli jesteś już zalogowany.
@mbomb007: Nie przeczytałem tego jako „tylne drzwi” w sensie bezpieczeństwa, bardziej jak „otwarte drzwi” :-)
Może tylko skróty i różne sposoby robienia rzeczy.
FWIW, skrót do wszystkich tych ułatwień dostępu można również wyłączyć (zrobiłem to, ponieważ czasami muszę naciskać klawisz Shift po kolei w grze)
Spaig87
2017-11-03 15:33:56 UTC
view on stackexchange narkive permalink

Jak powiedzieli inni, nie można tego uznać za bezpieczne. Możesz jednak usunąć „nisko wiszący owoc”, zarówno po to, by zmniejszyć ryzyko kradzieży oprogramowania, jak i zapewnić pozytywne wrażenia użytkowników.

Twoim głównym celem jest ochrona oprogramowania sprzedawanego wraz ze sprzętem.

Po pierwsze, upewnij się, że sprzęt został zaprojektowany w taki sposób, aby tylko upoważnione osoby miały do ​​niego dostęp w celu konserwacji. Jest to prawdopodobnie tak proste, jak upewnienie się, że wszystko, co nie jest wymagane przez użytkownika , znajduje się w zamkniętym, zapieczętowanym pudełku. Możliwe, że właściciele wymagają dostępu do tego pola. Może tu również przydać się alarm włamania do sprawy.

Po drugie, firma Microsoft zapewnia sposób Tworzenie kiosku w systemie Windows 10. Postępując zgodnie z tymi instrukcjami i biorąc pod uwagę ich zalecenia dotyczące bezpieczeństwa spowoduje, że komputer będzie obsługiwany przez firmę Microsoft .

Po trzecie, klucz sprzętowy ochrony oprogramowania może być również użyty do ochrony oprogramowania uruchomionego na komputerze. Jeśli atakujący ominie zabezpieczenia sprzętu i oprogramowania na komputerze / systemie operacyjnym, nadal będzie musiał albo ukraść klucz sprzętowy, albo go złamać.

Chociaż nie zapewnia to całkowitego zabezpieczenia oprogramowania przed kradzieżą, powinno to powstrzymać. wszyscy oprócz najbardziej oddanych napastników.



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...