Professional Documents
Culture Documents
B
adania nad MD5 prowadziło czterech lną MD5, możemy je zamienić – w ten sposób
chińskich naukowców: Xiaoyun Wang, robimy świetny interes (pomijając aspekt mo-
Dengguo Feng, Xueija Lai i Hongbo Yu. ralny przedsięwzięcia – oczywiście szczerze
Wyniki swoich analiz zaprezentowali na konfe- odradzamy takie postępowanie). Kupiec mu-
rencji CRYPTO we wrześniu 2004 r. Ich wywód si zapłacić 100,000 euro, potwierdził przecież
wyglądał niewiarygodnie, więc z początku nikt umowę własnym podpisem cyfrowym.
nie potraktował go poważnie. Jednak później Oto inny przykład – pracujemy w wielkiej fir-
kilku innych autorów zaprezentowało własne mie informatycznej (na przykład jak ta z Red-
dokonania – potwierdziły one rewelacje zawar- mond, USA), w dziale programistycznym. Uwa-
te w publikacji Chińczyków. żamy, że pracodawca płaci nam zbyt mało,
chcemy więc dokonać krwawej cyfrowej ze-
Scenariusze ataków msty. Tworzymy plik z programem, nad którym
Wyobraźmy sobie, że chcemy sprzedać w In- właśnie pracujemy (nazwijmy to archiwum da-
ternecie coś bardzo cennego. Cena tego przed- taG.file). Następnie tworzymy jeszcze jeden plik
miotu będzie wysoka, chcemy więc zawrzeć (o nazwie dataD.file), tym razem z niebezpiecz-
umowę kupna-sprzedaży. Znajdujemy kupca, nymi danymi w rodzaju trojana lub backdoora.
uzgadniamy cenę i przygotowujemy kontrakt Wysyłamy niewinny plik dataG.file do działu zaj-
(plik PDF z umową opiewającą na 1,000 euro).
Jeśli bylibyśmy w stanie stworzyć dwa pliki z ta-
Z artykułu dowiesz się...
Atak
�
$ ./create-package contract.pdf \
������������� � ������������ contract1.pdf contract2.pdf
� ���������������
��������������
����������� Program ten umieści pliki contrac-
� t1.pdf i contract2.pdf w odpowied-
nich archiwach: data1.pak i da-
� � � � ta2.pak. Z każdego z nich, za pomo-
cą programu self-extract, uzyskamy
�
plik o nazwie contract.pdf.
Rysunek 2 pokazuje rozmiesz-
������������� �
������������� czenie danych w plikach data1.pak
�
�������������� i data2.pak.
����������� Bloki w specjalnej wiadomości
� (special message) oznaczone kolora-
mi zielonym i czerwonym to tak zwa-
� � � � ne colliding blocks (kolidujące bloki)
– są różne w każdym z plików (da-
� ta1.pak i data2.pak). Specjalne wia-
������������� � domości to binarne ciągi dołączone
������
� �������������� do dokumentów chińskich naukow-
��������������
ców. Pozostałe dane w plikach da-
�����������
ta1.pak i data2.pak są zawsze iden-
� tyczne. Podczas obliczania sum kon-
trolnych MD5 tych plików zaznaczo-
Atak
�
ne kolidujące bloki sprawiają, że ha-
�
�
she są identyczne. Ponieważ reszta
� danych jest zawsze taka sama, w re-
zultacie hash jest zawsze taki sam
� � � �
– niezależnie od dodatkowej zawar-
tości plików .pak.
W naszym przykładzie stworzy-
Rysunek 1. Schemat działania algorytmu MD5 my dwa różne katalogi (contract1Dir
������������������ ������������������
�������� ���� ��������������������������������� ���������������������������������
���������
����������������������������������� �����������������������������������
����������������������������������� �����������������������������������
����������� �������������������
����������������������������������� �����������������������������������
����������������������������������� �����������������������������������
����������������������������������� �����������������������������������
����������������������������������� �����������������������������������
����������������������������������� �����������������������������������
����������������������������������� �����������������������������������
������� ������������������� �� ��
�����������
����������������� demonstration of
��������������������� "reduced applicability of MD5")
<test@email.com>"
������������
������������
����
����
���� zaprezentowana metoda.
W branży kontroli cyfrowych tre-
����
��������������������������
��������������������������
������������������������ ������������������������ ��������������������������
������������������ ������������������
ści (Digital Rights Management,
��������������������������
gralność plików. Do takich narzędzi serwerze. Jeśli użytkownik pobie- prog na pliku dataG.file:
należy na przykład Tripwire, tworzą- rze i rozpakuje te pliki, wszystko bę-
cy sumy kontrolne wszystkich waż- dzie wyglądało zwyczajnie. Ale gdy- $./runprog dataG.file
nych plików i wykrywający ich zmia- by udało nam się zdobyć dostęp do way one
ny (patrz Artykuł Tripwire – wykry- jego komputera i zastąpić dataG.file here the program is
wacz odmieńców, hakin9 3/2004). plikiem dataD.file, program Tripwi- currently okay.. no
Dla lepszego zrozumienia omówimy re ciągle nie odnotuje różnic – su- malicious routines
jedynie atak na system chroniony na- my MD5 będą takie same, choć za- will be started
a4c0d35c95a63a80§
������������������������ 5915367dcfe6b751
���������������������������������������
dataG.file
������������������
������������������ 56fa8b2c22ab43f0§
�����������������������
����������������������� c9c937b0911329b6
runprog
������������������ ������������������
���������� ��� � ��� ���������� W rzeczywistości jednak oba pliki
������������� �������������
się różnią: