55
Ukryte funkcjonalności w oprogramowaniu i urządzeniach elektronicznych mgr inż. Paweł Koszut

Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Embed Size (px)

Citation preview

Page 1: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Ukryte funkcjonalności w oprogramowaniu i urządzeniach

elektronicznych

mgr inż. Paweł Koszut

Page 2: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Ukryte funkcjonalności w oprogramowaniu i urządzeniach elektronicznych

Zamiast wstępu :

Inspiracja

Page 3: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

GSM w Grecji

Page 4: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

GSM w Grecji

Page 5: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

function xor (int a,b) {

  if (a≠b) return 1 else return 0;

}

Page 6: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

Page 7: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

Page 8: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

Page 9: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

Page 10: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

Page 11: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

Page 12: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Prosty przykład XOR

It is important to take notice of the following :

The length n of secret triggering sequence secret_sequence[] can be long enough to effectively prevent triggered_action() from being called unintentionally;

The triggering strategy presented above is only an example - an adversary's creativity in developing other triggering conditions is not constrained by this example;

Hidden functionalities may exist in multiple locations of a device, and can be designed to interact each other;

Page 13: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Przykład z szyfrem

0 → 11 → 22 → 33 → 44 → 55 → 66 → 77 → 88 → 99 → 0

Page 14: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Przykład z szyfrem

Page 15: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Przykład urządzeń telekomunikacyjnych

Page 16: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Przykład urządzeń telekomunikacyjnych

Page 17: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności

Page 18: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części hardware

Page 19: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części hardware

Page 20: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Ekonomia zagrożenia

1. Jaki rodzaj ukrytej funkcjonalności atakujący może chcieć zaimplementować?

2. Ile nakładu potrzeba (pieniądze lub inne zasoby) by zrealizować pożądany cel?

3. Ile przyniesie mu to zysku lub innego rodzaju korzyści ?

Page 21: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Gazociąg w Urengoi

Rok 1982Szpieg KGB w kanadyjskiej firmieUkryta funkcjonalność w oprogramowaniuturbiny

Page 22: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Gazociąg w Urengoi

Page 23: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Gazociąg w Urengoi

Thomas C. Reed : “The result was the most monumental non-nuclear explosion and fire ever seen from space. At the White

House, we received warning from our infrared satellites of some bizarre event out in the middle of Soviet nowhere. NORAD (North American Aerospace Defense Command) feared a missile liftoff

from a place where no rockets were known to be based. Or perhaps it was the detonation of a small nuclear device…They (the satellites) had detected no electromagnetic pulse, characteristic of nuclear detonations. Before these conflicting indicators could turn into an international crisis, Gus Weiss came down the hall to tell

his fellow NSC staffers not to worry”

Page 24: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Ekonomia zagrożenia

1. Jaki rodzaj ukrytej funkcjonalności atakujący może chcieć zaimplementować?

2. Ile nakładu potrzeba (pieniądze lub inne zasoby) by zrealizować pożądany cel?

3. Ile przyniesie mu to zysku lub innego rodzaju korzyści ?

Page 25: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Maszyny do zliczania głosów

Clinton Curtis

Page 26: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Maszyny do zliczania głosów

Page 27: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Maszyny do zliczania głosów

Page 28: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części software

Page 29: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części software

Page 30: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części software

Page 31: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części software

Page 32: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 33: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 34: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 35: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 36: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and
Page 37: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 38: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 39: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 40: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Czarny rynekkrytycznych luk systemowych

Page 41: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Krytyczne luki w roli ukrytej funkcjonalności

Page 42: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części software

”We sometimes pay for exploits. An average price for a 0-day Internet Explorer flaw is US$10,000 in

case of good exploitation.”

Źródło: http://www.securityfocus.com/news/11476Robert Lemos, SecurityFocus 2007-07-20

Page 43: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części software

Page 44: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Analiza podatności części software

Page 45: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzić

Page 46: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzić

Random supplier strategy Diversification strategy Redundancy strategy Domestic products

Page 47: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićRandom supplier strategy

● produkt komercyjny sprzedawany wiadomym odbiorcom

Page 48: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićRandom supplier strategy

● komputer PC ogólnego przeznaczenia (kupiony w losowo wybranym lub zaufanym sklepie)● system operacyjny linux● uniwersalny odbiornik USRP● oprogramowanie do podsłuchu GSM typu free software

● produkt komercyjny sprzedawany wiadomym odbiorcom

Page 49: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićRandom supplier strategy

Nikt nie wie, jakim urządzeniem będzie kupowany sprzęt i kto będzie jego użytkownikiem

Producent dobrze zdaje sobie sprawę z tego, że sprzęt będzie użytkowany przez służby specjalne i może mieć interes w umieszczeniu tam ukrytej funkcjonalności.

Page 50: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićDiversification strategy

Page 51: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićDiversification strategy

Page 52: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićRedundancy strategy

Page 53: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićRedundancy strategy

Page 54: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićDomestic products

Page 55: Ukryte funkcjonalności w oprogramowaniu i urządzeniach ...cygnus.tele.pw.edu.pl/~zkotulsk/seminarium/prezentacja_hf_2008_04... · Prosty przykład XOR ... nuclear explosion and

Jak temu zaradzićDomestic products