S3 Odc105: NIE NAPRAWIONE! Błąd kryptograficzny MS Office, który „nie jest luką w zabezpieczeniach” [Audio + Text]

Węzeł źródłowy: 1726750

CO MASZ NA MYŚLI „NIE SPEŁNIA POZIOMU ​​SERWISOWANIA BEZPIECZEŃSTWA”?

Kliknij i przeciągnij poniższe fale dźwiękowe, aby przejść do dowolnego punktu. Również możesz słuchaj bezpośrednio na Soundcloudzie.

Z Dougiem Aamothem i Paulem Ducklinem. Muzyka intro i outro autorstwa Edyta Mudge.

Możesz nas posłuchać SoundCloud, Podcasty Apple, Podcasty Google, Spotify, Stitcher i wszędzie tam, gdzie można znaleźć dobre podcasty. Lub po prostu upuść URL naszego kanału RSS do swojego ulubionego podcatchera.


PRZECZYTAJ TRANSKRYPTU

DOUG.  Zapierające dech w piersiach naruszenia, szyfrowanie do odszyfrowania i mnóstwo łat.

Wszystko to w podkaście Naked Security.

[MOM MUZYCZNY]

Witam wszystkich w podkaście.

Jestem Doug Aamoth; to jest Paul Ducklin.

Paul, jak się dzisiaj miewasz?


KACZKA.  Doug… wiem, bo wcześniej powiedziałeś mi, co się dzieje W tym tygodniu w historii technologii, i to jest ŚWIETNE!


DOUG.  OK!

W tym tygodniu, 18 października 1958, oscyloskop i komputer zbudowany do symulacji oporu wiatru zostały połączone z niestandardowymi aluminiowymi kontrolerami, a gra Tenis dla dwojga urodził się.

Pokazany na trzydniowej wystawie w Brookhaven National Laboratory, Tennis for Two okazał się niezwykle popularny, zwłaszcza wśród uczniów szkół średnich.

Jeśli tego słuchasz, musisz przejść do Wikipedii i wyszukać „Tenis dla dwojga”.

Jest tam wideo do czegoś, co zostało zbudowane w 1958 roku…

…Myślę, że się ze mną zgodzisz, Paul, to było niesamowite.


KACZKA.  *Chciałabym* zagrać w to dzisiaj!

I podobnie jak Asteroids i Battle Zone oraz te specjalnie zapamiętane gry z lat 1980.…

…bo to oscyloskop: grafika wektorowa!

Brak pikselizacji, brak różnic w zależności od tego, czy linia jest pod kątem 90 stopni, 30 stopni czy 45 stopni.

A dźwięk sprzężenia zwrotnego z przekaźników w sterownikach… jest świetny!

To niewiarygodne, że to był 1958 rok.

Wracając do poprzedniego W tym tygodniu w historii technologii, to było u szczytu rewolucji tranzystorowej.

Najwyraźniej połowa obliczeniowa była mieszaniną zaworów termionowych (lamp próżniowych) i przekaźników.

A obwody wyświetlacza były w całości oparte na tranzystorach, Doug

Tak więc było to połączenie wszystkich technologii: przekaźników, zaworów i tranzystorów, a wszystko to w jednej przełomowej grze wideo.


DOUG.  Bardzo fajny.

Sprawdź to na Wikipedii: Tenis dla dwojga.

Przejdźmy teraz do naszej pierwszej historii.

Paul, wiem, że jesteś bardzo biegły w pisaniu świetnego wiersza…

…Napisałem bardzo krótki wiersz, aby przedstawić tę pierwszą historię, jeśli mi pozwolisz.


KACZKA.  Więc to będą dwie linijki, prawda? [ŚMIECH]


DOUG.  To wygląda mniej więcej tak.

Zoom na Maca/Nie bierz porwany.

[BARDZO DŁUGA CISZA]

Koniec wiersza.


KACZKA.  Oh, przepraszam!

Myślałem, że to jest tytuł i że teraz napiszesz wiersz.


DOUG.  Więc to jest wiersz.


KACZKA.  OK.

[BEZ EMOCJI] Cudownie, Doug.


DOUG.  [IRONIC] Dziękuję.


KACZKA.  Rymowanka była spektakularna!

Ale nie wszystkie wiersze muszą się rymować….


DOUG.  To prawda.


KACZKA.  Po prostu nazwiemy to wolnym wierszem, dobrze?


DOUG.  OK, proszę.


KACZKA.  Niestety, był to darmowy backdoor do Zoom for Mac.

[CZUJĄC SIĘ WINNY] Przepraszam, to nie było zbyt dobre przejście, Doug.

[ŚMIECH] Depczesz po czyjejś murawie, często nie dajesz rady…


DOUG.  Nie, to dobrze!

Próbowałem wierszy w tym tygodniu; próbujesz przejść.

Od czasu do czasu musimy wyjść z naszej strefy komfortu.


KACZKA.  Zakładam, że był to kod, który miał zostać skompilowany po zakończeniu ostatecznej kompilacji, ale przypadkowo został w nim.

Dotyczy tylko wersji Zoom na Maca i została poprawiona, więc upewnij się, że jesteś na bieżąco.

Zasadniczo, w pewnych okolicznościach, gdy strumień wideo został uruchomiony lub kamera została aktywowana przez samą aplikację, niechcący pomyślałby, że możesz chcieć debugować program.

Bo hej, może byłeś programistą! [ŚMIECH]

To oczywiście nie powinno mieć miejsca w kompilacjach wydań.

A to oznaczało, że w lokalnym interfejsie sieciowym pozostał otwarty port debugowania TCP.

Oznaczało to, że każdy, kto mógłby przekazywać pakiety do tego portu, prawdopodobnie każdy inny użytkownik podłączony lokalnie, więc nie musiałby to być administrator ani nawet ty… nawet użytkownik gość, to wystarczy.

Tak więc atakujący, który miał na swoim komputerze złośliwe oprogramowanie proxy, które może odbierać pakiety z zewnątrz i wstrzykiwać je do lokalnego interfejsu, może w zasadzie wydawać polecenia wnętrznościom programu.

A typowe rzeczy, na które pozwalają interfejsy debugowania, obejmują: zrzucenie części pamięci; wyodrębnij sekrety; zmienić zachowanie programu; dostosować ustawienia konfiguracji bez przechodzenia przez zwykły interfejs, aby użytkownik nie mógł go zobaczyć; przechwytuj cały dźwięk, nie mówiąc nikomu, bez wyświetlania ostrzeżenia o nagrywaniu; wszystkie tego rodzaju rzeczy.

Dobrą wiadomością jest to, że Zoom znalazł go sam i dość szybko go załatał.

Ale jest to świetne przypomnienie, że jak często mówimy, [ŚMIECH] „Jest wiele potknięć między filiżanką a wargą”.


DOUG.  W porządku, bardzo dobrze.

Zostańmy na pokładzie pociągu i wjedźmy na następną stację.

A ta historia… chyba najciekawszą częścią tej historii ostatniego Patch Tuesday była czego Microsoft *nie* uwzględnił?


KACZKA.  Niestety, łatki, których prawdopodobnie wszyscy się spodziewali – spekulowaliśmy w ostatnim podcastie: „Cóż, wygląda na to, że Microsoft każe nam czekać jeszcze tydzień do wtorkowej łaty i nie robić wczesnej wersji poza pasmem”. ” to te dwie wymiany zerowe dni ostatniej pamięci.

Co stało się znane jako E00F, lub Wymiana podwójnego błędu dnia zerowego w mojej terminologii, lub ProxyNotShell ponieważ jest to być może nieco mylące znane w Twittersferze.

To była wielka historia we wtorek z patchem: te dwa błędy nie zostały w spektakularny sposób naprawione.

A więc nie wiemy, kiedy to się stanie.

Musisz upewnić się, że zastosowano wszelkie środki łagodzące.

Jak myślę, że powiedzieliśmy wcześniej, Microsoft ciągle odkrywał, że poprzednie sugerowane przez nich środki łagodzące… cóż, może nie były wystarczająco dobre i ciągle zmieniali swoją melodię i dostosowywali historię.

Jeśli więc masz wątpliwości, możesz wrócić do nakedsecurity.sophos.com i wyszukać frazę ProxyNotShell (wszystko jedno słowo), a potem idź i przeczytaj, co mamy do powiedzenia.

Możesz także połączyć się z najnowszą wersją naprawy firmy Microsoft…

…ponieważ ze wszystkich rzeczy w Patch Tuesday, to było najciekawsze, jak mówisz: bo go tam nie było.


DOUG.  OK, zmieńmy teraz biegi na bardzo frustrująca historia.

To cios w nadgarstek dla dużej firmy, której cyberbezpieczeństwo jest tak złe, że nawet nie zauważyli, że zostały naruszone!


KACZKA.  Tak, jest to marka, którą większość ludzi prawdopodobnie będzie znała jako SHEIN („she-in”), pisana jednym słowem, wszystko pisane wielkimi literami. (W momencie naruszenia firma była znana jako Zoetop.)

I są to tzw. „szybka moda”.

Wiesz, układają je w stos i sprzedają tanio, i nie bez kontrowersji co do tego, skąd biorą swoje projekty.

Jako sprzedawca internetowy można by się spodziewać, że ma on w zupełności niejasne szczegóły dotyczące cyberbezpieczeństwa w handlu internetowym.

Ale, jak mówisz, nie!

A biuro prokuratora generalnego stanu Nowy Jork w USA uznało, że nie jest zadowolone ze sposobu, w jaki traktowano mieszkańców Nowego Jorku, którzy byli wśród ofiar tego naruszenia.

Więc podjęli kroki prawne przeciwko tej firmie… i była to absolutna litania pomyłek, pomyłek i ostatecznie przykrywek – jednym słowem, Douglas, nieuczciwość.

Mieli to wyłom, którego nie zauważyli.

To, przynajmniej w przeszłości, było rozczarowująco powszechne: firmy nie zdawały sobie sprawy, że zostały naruszone, dopóki osoba obsługująca karty kredytowe lub bank nie skontaktuje się z nimi i nie powie: „Wiesz co, mieliśmy bardzo dużo skarg klientów na oszustwa w tym miesiącu”.

„A kiedy spojrzeliśmy wstecz na to, co nazywają KPP, wspólny punkt zakupu, jedynym kupcem, od którego każda ofiara coś kupiła, jesteś ty. Sądzimy, że przeciek pochodził od ciebie.

A w tym przypadku było jeszcze gorzej.

Najwyraźniej pojawił się inny procesor płatności i powiedział: „A tak przy okazji, znaleźliśmy całą transzę numerów kart kredytowych na sprzedaż, oferowanych jako skradzione wam”.

Mieli więc jasne dowody na to, że doszło do naruszenia masowego lub naruszenia krok po kroku.


DOUG.  Więc z pewnością, kiedy ta firma została o tym poinformowana, szybko przystąpiła do naprawy sytuacji, prawda?


KACZKA.  Cóż, to zależy od tego, jak… [ŚMIECH] Nie powinienem się śmiać, Doug, jak zawsze.

To zależy od tego, co rozumiesz przez „poprawić”.


DOUG.  [ŚMIECH] O Boże!


KACZKA.  Wygląda więc na to, że *poradzili sobie* z problemem… rzeczywiście, były jego części, które naprawdę dobrze zatuszowali.

Widocznie.

Wygląda na to, że nagle zdecydowali: „Ups, lepiej, gdybyśmy byli zgodni z PCI DSS”.

Najwyraźniej nie byli, ponieważ najwyraźniej prowadzili dzienniki debugowania, które zawierały dane karty kredytowej o nieudanych transakcjach… wszystko, czego nie powinno się zapisywać na dysku, zapisywali.

A potem zdali sobie sprawę, że to się stało, ale nie mogli znaleźć miejsca, w którym zostawili te dane we własnej sieci!

Więc oczywiście wiedzieli, że nie są zgodne z PCI DSS.

Najwyraźniej postanowili zapewnić sobie zgodność z PCI DSS, co osiągnęli do 2019 r. (Naruszenie miało miejsce w 2018 r.)

Ale kiedy powiedziano im, że muszą poddać się audytowi, dochodzeniu sądowemu…

…według prokuratora generalnego Nowego Jorku, celowo stanęli na drodze śledczemu.

Zasadniczo pozwolili śledczym zobaczyć system takim, jakim był *po* naprawieniu go, zespawaniu i wypolerowaniu, a oni powiedzieli: „O nie, nie widać kopii zapasowych”, co dla mnie brzmi raczej niegrzecznie .


DOUG.  Uh-huh


KACZKA.  A także sposób, w jaki ujawnili naruszenie swoim klientom, wywołał znaczne oburzenie ze stanu Nowy Jork.

W szczególności wydaje się, że było dość oczywiste, że 39,000,000 5 XNUMX danych użytkowników zostało w jakiś sposób oszukanych, w tym bardzo słabo zaszyfrowane hasła: dwucyfrowa sól i jedna runda MDXNUMX.

Niewystarczająco dobry w 1998, nie mówiąc już o 2018!

Wiedzieli więc, że istnieje problem dla tak dużej liczby użytkowników, ale najwyraźniej postanowili skontaktować się tylko z 6,000,000 XNUMX XNUMX tych użytkowników, którzy faktycznie korzystali z ich kont i składali zamówienia.

A potem powiedzieli: „Cóż, przynajmniej skontaktowaliśmy się z tymi wszystkimi ludźmi”.

I *wtedy* okazało się, że tak naprawdę nie skontaktowali się ze wszystkimi 6,000,000 XNUMX XNUMX milionów użytkowników!

Właśnie skontaktowali się z tymi z sześciu milionów, którzy akurat mieszkali w Kanadzie, Stanach Zjednoczonych lub Europie.

Tak więc, jeśli jesteś z innego miejsca na świecie, pech!

Jak można sobie wyobrazić, nie spodobało się to władzom, regulatorowi.

I muszę przyznać… ku mojemu zdziwieniu, Doug, zostali ukarani grzywną w wysokości 1.9 miliona dolarów.

Co dla tak dużej firmy…


DOUG.  Tak!


KACZKA.  …i popełnianie tak rażących błędów, a następnie niecałkowitą przyzwoitość i uczciwość w związku z tym, co się wydarzyło, i bycie zbesztanym za kłamstwo o naruszeniu, tymi słowami, przez prokuratora generalnego Nowego Jorku?

Wyobraziłem sobie, że mógł ich spotkać poważniejszy los.

Może nawet wliczając coś, czego nie da się po prostu spłacić, wymyślając trochę pieniędzy.

Aha, i inną rzeczą, którą zrobili, było to, że kiedy było oczywiste, że istnieją użytkownicy, których hasła są zagrożone… ponieważ były głęboko możliwe do złamania ze względu na to, że była to dwucyfrowa sól, co oznacza, że ​​można zbudować 100 wstępnie obliczonych słowników …


DOUG.  Czy to powszechne?

Tylko dwucyfrowa sól wydaje się naprawdę niska!


KACZKA.  Nie, zazwyczaj potrzebujesz 128 bitów (16 bajtów), a nawet 32 ​​bajty.

Mówiąc ogólnie, nie ma to znaczącej różnicy w szybkości pękania, ponieważ (w zależności od rozmiaru bloku hasha) dodajesz tylko dwie dodatkowe cyfry do miksu.

Więc nie jest nawet tak, że faktyczne obliczanie skrótów trwa dłużej.

Już w 2016 roku ludzie korzystający z komputerów z ośmioma procesorami graficznymi z programem „hashcat” mogli wykonać 200 miliardów MD5 na sekundę.

Wtedy! (Ta kwota jest teraz około pięć lub dziesięć razy wyższa).

Tak bardzo, bardzo wybitnie łamliwy.

Ale zamiast kontaktować się z ludźmi i mówić: „Twoje hasło jest zagrożone, ponieważ ujawniliśmy hash i nie było zbyt dobre, powinieneś je zmienić”, [ŚMIECH] po prostu powiedzieli…

…to były bardzo mądre słowa, prawda?


DOUG.  „Twoje hasło ma niski poziom bezpieczeństwa i może być zagrożone. Zmień swoje hasło logowania.”

A potem zmienili to na „Twoje hasło nie było aktualizowane od ponad 365 dni. Ze względów bezpieczeństwa zaktualizuj go teraz.”


KACZKA.  Tak, „Twoje hasło ma niski poziom bezpieczeństwa…”


DOUG.  "PRZEZ NAS!"


KACZKA.  To nie tylko protekcjonalne, prawda?

W moich oczach jest to granica obwiniania ofiar.

W każdym razie nie wydawało mi się to bardzo silnym bodźcem dla firm, które nie chcą postępować właściwie.


DOUG.  W porządku, dźwięk w komentarzach, chcielibyśmy usłyszeć, co myślisz!

Ten artykuł nosi tytuł: Marka modowa SHEIN ukarała grzywną w wysokości 1.9 miliona dolarów za kłamstwo dotyczące naruszenia bezpieczeństwa danych.

A do kolejnej frustrującej historii…

..,kolejny dzień, kolejna ostrzegawcza opowieść o przetwarzaniu niezaufanych danych wejściowych!


KACZKA.  Aaargh, wiem, co to będzie, Doug.

To jest Tekst Apache Commons błąd, prawda?


DOUG.  To jest!


KACZKA.  Żeby było jasne, to nie jest serwer WWW Apache.

Apache to podstawa oprogramowania, która ma całą gamę produktów i bezpłatnych narzędzi… i są one rzeczywiście bardzo przydatne, są otwarte i są świetne.

Ale mieliśmy w Java część ich ekosystemu (serwer WWW Apache) httpd nie jest napisany w Javie, więc na razie zignorujmy to – nie mieszajmy Apache z Apache Web Server)…

…w zeszłym roku mieliśmy trzy podobne problemy w bibliotekach Java Apache.

Mieliśmy niesławny Log4Shell pluskwa w tzw. bibliotece Log4J (Logging for Java).

Potem mieliśmy podobny błąd, co to było?… Konfiguracja Apache Commons, który jest zestawem narzędzi do zarządzania wszelkiego rodzaju plikami konfiguracyjnymi, na przykład plikami INI i plikami XML, wszystko w ustandaryzowany sposób.

A teraz w bibliotece jeszcze niższego poziomu o nazwie Tekst Apache Commons.

Błąd w rzeczy, która w Javie jest ogólnie znana jako „interpolacja ciągów”.

Programiści w innych językach… jeśli używasz takich rzeczy jak PowerShell lub Bash, poznasz to jako „podstawianie ciągów”.

To tutaj można w magiczny sposób sprawić, by zdanie pełne znaków zamieniło się w rodzaj mini-programu.

Jeśli kiedykolwiek korzystałeś z powłoki Bash, będziesz wiedział, że jeśli wpiszesz polecenie echo USER, pojawi się echo lub wydrukuje ciąg USER i zobaczysz na ekranie USER.

Ale jeśli uruchomisz polecenie echo $USER, to nie oznacza echa znaku dolara, po którym następuje USER.

Oznacza to: „Zastąp ten magiczny ciąg nazwą aktualnie zalogowanego użytkownika i wydrukuj go”.

Więc na moim komputerze, jeśli echo USER, dostajesz USER, ale jeśli ty echo $USER, masz słowo duck zamiast.

A niektóre z podmian napisów w języku Java idą znacznie, znacznie, znacznie dalej niż to… jak każdy, kto doznał radości naprawianie Log4Shell na Boże Narodzenie 2021 będzie pamiętał!

Istnieje wiele sprytnych małych miniprogramów, które można osadzić w ciągach, które następnie przetwarzasz za pomocą tej biblioteki przetwarzania ciągów.

Jest więc oczywiste: aby odczytać nazwę użytkownika, wstawiasz ${env: (od „odczytuj środowisko”) user}… używasz nawiasów falistych.

To znak dolara; nawias falisty; jakieś magiczne polecenie; nawias falisty, który jest częścią magiczną.

I niestety w tej bibliotece była niekontrolowana domyślna dostępność magicznych poleceń takich jak: ${url:...}, co pozwala oszukać bibliotekę przetwarzania ciągów w celu uzyskania dostępu do Internetu, pobrania czegoś i wydrukowania tego, co otrzymuje z tego serwera WWW zamiast ciągu ${url:...}.

Więc chociaż nie jest to do końca wstrzykiwanie kodu, ponieważ jest to po prostu surowy HTML, nadal oznacza to, że możesz umieszczać wszelkiego rodzaju śmieci i dziwne i cudowne, niezaufane rzeczy w plikach dziennika ludzi lub na ich stronach internetowych.

Jest ${dns:...}, co oznacza, że ​​możesz oszukać czyjś serwer, który może być serwerem logiki biznesowej w sieci…

…możesz nakłonić go do wyszukania DNS dla nazwanego serwera.

A jeśli jesteś właścicielem tej domeny jako oszust, to jesteś również właścicielem i zarządzasz serwerem DNS, który odnosi się do tej domeny.

Więc kiedy nastąpi wyszukiwanie DNS, zgadnij co?

To wyszukiwanie kończy się *na twoim serwerze* i może pomóc ci zmapować wnętrze czyjejś sieci biznesowej… nie tylko jej serwer WWW, ale także elementy znajdujące się głębiej w sieci.

I na koniec, co jest najbardziej niepokojące, przynajmniej w przypadku starszych wersji Javy, było… [ŚMIECH] wiesz, co tu nadchodzi, Doug!

Komenda ${script:...}.

„Hej, pozwól, że dostarczę ci trochę JavaScriptu i uprzejmie go dla mnie uruchomię”.

I prawdopodobnie myślisz: „Co?! Poczekaj, to jest błąd w Javie. Co ma z tym wspólnego JavaScript?”

Cóż, do stosunkowo niedawna… i pamiętaj, wiele firm nadal używa starszych, wciąż obsługiwanych wersji Java Development Kit.

Do niedawna Java… [ŚMIECH] (znowu nie powinienem się śmiać)… Java Development Kit zawierał w sobie pełny, działający silnik JavaScript, napisany w Javie.

Teraz nie ma związku między Javą i JavaScriptem, z wyjątkiem czterech liter „Java”, ale można by umieścić ${script:javascript:...}i uruchom wybrany przez siebie kod.

Irytujące jest to, że jedną z rzeczy, które możesz zrobić w silniku JavaScript w środowisku wykonawczym Java, jest powiedzenie silnikowi JavaScript: „Hej, chcę uruchomić to za pomocą Javy”.

Możesz więc sprawić, by Java wywoływała *do* JavaScript, a JavaScript zasadniczo wywoływała *out* do Javy.

A następnie, z Javy, możesz przejść: „Hej, uruchom to polecenie systemowe”.

A jeśli przejdziesz do artykułu Naked Security, zobaczysz, że używam podejrzanego polecenia, żeby [KASZLE PRZEPRASZNIE] zrobić kalkulację, Doug!

Oczywiście kalkulator HP RPN, ponieważ to ja robię kalkulator…


DOUG.  Musi być, tak!


KACZKA.  …ten to HP-10.

Więc chociaż ryzyko nie jest tak świetny jak Log4Shell, nie możesz tego naprawdę wykluczyć, jeśli korzystasz z tej biblioteki.

Mamy kilka instrukcji w artykule Naked Security, jak dowiedzieć się, czy masz bibliotekę Commons Text… i możesz ją mieć, tak jak wiele osób zrobiło z Log4J, nie zdając sobie z tego sprawy, ponieważ mogła zostać dołączona do aplikacji.

Mamy tam również przykładowy kod, którego można użyć do sprawdzenia, czy wszystkie wprowadzone przez Ciebie środki zaradcze zadziałały.


DOUG.  W porządku, udaj się do Naked Security.

Ten artykuł nosi tytuł: Niebezpieczna dziura w tekście Apache Commons – znowu jak Log4Shell.

I kończymy pytaniem: „Co się dzieje, gdy zaszyfrowane wiadomości są tylko trochę zaszyfrowane?”


KACZKA.  Ach, masz na myśli to, co było, jak sądzę, oficjalnym raportem o błędzie złożonym niedawno przez badaczy cyberbezpieczeństwa w fińskiej firmie WithSecure…

…o wbudowanym szyfrowaniu oferowanym w pakiecie Microsoft Office, a dokładniej funkcji zwanej Office 365 Message Encryption lub OME.

Jest bardzo przydatne mieć taką małą funkcję wbudowaną w aplikację.


DOUG.  Tak, brzmi prosto i wygodnie!


KACZKA.  Tak, z wyjątkiem… och, kochanie!

Wygląda na to, że powodem tego jest kompatybilność wsteczna, Doug…

…że Microsoft chce, aby ta funkcja działała z powrotem dla osób, które nadal korzystają z pakietu Office 2010, który ma wbudowane raczej oldschoolowe możliwości deszyfrowania.

Zasadniczo wydaje się, że ten proces szyfrowania pliku OME wykorzystuje AES, który jest najnowszym i najlepszym algorytmem szyfrowania znormalizowanym przez NIST.

Ale używa AES w niewłaściwym tak zwanym trybie szyfrowania.

Korzysta z tego, co jest znane jako EBC, lub elektroniczna książka kodów tryb.

I to jest po prostu sposób, w jaki odnosisz się do surowego AES.

AES szyfruje 16 bajtów na raz… nawiasem mówiąc, szyfruje 16 bajtów, niezależnie od tego, czy używasz AES-128, AES-192, czy AES-256.

Nie mieszaj rozmiaru bloku z rozmiarem klucza – rozmiar bloku, liczba bajtów, które są miksowane i szyfrowane za każdym razem, gdy obracasz korbą w silniku kryptograficznym, zawsze wynosi 128 bis, czyli 16 bajtów.

W każdym razie, w trybie elektronicznej książki kodowej, po prostu bierzesz 16 bajtów danych wejściowych, obracasz korbą raz pod danym kluczem szyfrowania i bierzesz dane wyjściowe, surowe i nieprzetworzone.

Problem polega na tym, że za każdym razem, gdy otrzymujesz te same dane wejściowe w dokumencie wyrównane do tej samej granicy 16-bajtów…

…otrzymujesz dokładnie te same dane na wyjściu.

Tak więc wzorce z danych wejściowych są ujawniane w danych wyjściowych, tak jak w przypadku Cezar szyfr lub a Vigenere szyfr:

Nie oznacza to, że możesz złamać szyfr, ponieważ nadal masz do czynienia z fragmentami o szerokości 128 bitów na raz.

Problem z trybem elektronicznej książki kodów wynika właśnie z tego, że przecieka on wzorce z tekstu jawnego do tekstu zaszyfrowanego.

Ataki ze znanym tekstem jawnym są możliwe, gdy wiadomo, że określony ciąg wejściowy jest szyfrowany w określony sposób, a w przypadku powtarzającego się tekstu w dokumencie (takiego jak nagłówek lub nazwa firmy) te wzorce są odzwierciedlane.

I chociaż został to zgłoszony Microsoftowi jako błąd, najwyraźniej firma zdecydowała, że ​​tego nie naprawi, ponieważ „nie spełnia wymagań” dla poprawki bezpieczeństwa.

I wydaje się, że powodem jest: „Cóż, wyrządzilibyśmy krzywdę ludziom, którzy nadal korzystają z pakietu Office 2010”.


DOUG.  Uf!


KACZKA.  Tak!


DOUG.  I w tej notatce mamy komentarz czytelnika na ten tydzień do tej historii.

Naked Security Reader Bill komentarze, w części:

Przypomina mi to szopki, których używali łamacze kodów z Bletchley Park podczas II wojny światowej. Naziści często kończyli wiadomości tą samą frazą zamykającą, dzięki czemu łamacze kodów mogli wrócić do tego zamykającego zestawu zaszyfrowanych znaków, wiedząc, co prawdopodobnie reprezentują. To rozczarowujące, że 80 lat później wydaje się, że powtarzamy te same błędy.


KACZKA.  80 lat!

Tak, to naprawdę rozczarowujące.

Rozumiem, że inne szopki, z których alianccy łamacze kodów mogliby korzystać, szczególnie w przypadku tekstów zaszyfrowanych przez nazistów, również zajmowały się *początkiem* dokumentu.

Wierzę, że to było coś dla niemieckich raportów pogodowych… istniał format religijny, którego przestrzegali, aby upewnić się, że podają dokładne prognozy pogody.

A prognozy pogody, jak można sobie wyobrazić, podczas wojny, która wiąże się z nocnymi bombardowaniami lotniczymi, były naprawdę ważne!

Wygląda na to, że podążały one bardzo, bardzo ścisłym wzorem, który czasami można wykorzystać jako coś, co można nazwać kryptograficznym „rozluźniaczem” lub klinem, którego można użyć do włamania się w pierwszej kolejności.

I to, jak wskazuje Bill… właśnie dlatego AES, czy jakikolwiek inny szyfr, w trybie elektronicznej książki kodowej nie jest wystarczający do szyfrowania całych dokumentów!


DOUG.  W porządku, dziękuję za przesłanie, Bill.

Jeśli masz ciekawą historię, komentarz lub pytanie, które chciałbyś przesłać, chętnie przeczytamy o tym w podkaście.

Możesz wysłać e-maila na adres tips@sophos.com, skomentować dowolny z naszych artykułów lub skontaktować się z nami na portalu społecznościowym: @nakedsecurity.

To nasz program na dzisiaj; bardzo dziękuję za wysłuchanie.

Dla Paula Ducklina jestem Doug Aamoth i przypominam do następnego razu…


OBIE.  Bądź bezpieczny!


Znak czasu:

Więcej z Nagie bezpieczeństwo