Ciekawa alternatywa dla antywirusów
- Dodano: 17 February 2010
- Wprowadził: hcsl.pl
- Komentarze: 33
Organizacja Internet Storm Center (ISC) rozwija od pewnego czasu w ramach amerykańskiego projektu National Software Reference Library (NSRL) bazę cyfrowych sygnatur wszystkich powszechnie znanych aplikacji. Nie byłoby w tym jednak nic nadzwyczaj ekscytującego, gdyby nie to, że w ostatnim czasie udostępniony został internetowy dostęp do tej zawierającej informacje o około 40 milionach programów bazy!
Baza zawiera informacje na temat wszystkich plików (wraz z ich cyfrowymi sygnaturami) wchodzących w skład danego programu i jest obecnie wykorzystywana przede wszystkim w trakcie cyfrowych dochodzeń. Otóż wykorzystanie bazy powszechnie znanych plików pozwala służbom oraz organizacjom zajmującym się analizą cyfrowych dowodów na znacznie szybsze wyłuskanie z analizowanego systemu komputerowego wyłącznie tych plików, które mogą okazać się rzeczywiście interesujące.
Jednak udostępnienie wspomnianej bazy w trybie online nasuwa na myśl również inne interesujące zastosowania. Otóż taka baza niemal wszystkich powszechnie wykorzystywanych programów, może wspomóc lub nawet całkowicie zastąpić znane rozwiązania antywirusowe!
Nie jest tajemnicą, że jedną z głównych bolączek obecnej generacji antywirusów stanowią fałszywe alarmy. Świadczy o tym chociażby niedawny eksperyment firmy Kaspersky, polegający na pośrednim wprowadzeniu do baz antywirusowych konkurencyjnych firm sygnatur powodujących fałszywe wykrycia wirusów. Coraz częściej jesteśmy również informowani o groźnych skutkach fałszywych epidemii wirusów. Natomiast sprawdzenie cyfrowej sygnatury pliku w bazie NSRL, przed ostatecznym wszczęciem alarmu, powinno niemal całkowicie zapobiec tego rodzaju problemom.
Wykorzystanie bazy NSRL umożliwia jednak również całkowite zastąpienie programów antywirusowych. Sam pomysł jest znany nie od dziś i miałby polegać w gruncie rzeczy na utworzeniu bazy wszystkich programów dozwolonych w ramach określonego systemu informatycznego. Taki system nie potrzebuje więc zupełnie ochrony przed znanymi wirusami, bowiem zezwala wyłącznie na obecność oraz uruchamianie tylko ściśle określonych programów. Do tej pory takie podejście było bardzo niepraktyczne, bowiem cyfrowe sygnatury używanych w danym systemie programów ciągle się zmieniają (np. w wyniku aktualizacji systemu operacyjnego oraz oprogramowania). Wymagało to więc ciągłego aktualizowania bazy dozwolonych sygnatur. Jednak zakładając, że dysponujemy dostępem online do stale aktualizowanej bazy prawidłowego oprogramowania, praktyczna realizacja całego pomysłu może być znacznie bardziej wygodna dla końcowego użytkownika takiego systemu bezpieczeństwa.
Dostęp do bazy NSRL można uzyskać pod tym adresem. Wyszukiwanie możliwe jest po nazwie pliku oraz sygnaturze sha1 lub md5. Na koniec warto zauważyć, że pomijając potencjalne przyszłe zastosowania antywirusowe, już dziś baza ta może nam się przydać do szybkiego i wygodnego rozstrzygania, czy dany program jest rzeczywiście tym za co się podaje lub czy nie został zainfekowany. Do tego celu może się również przydać podobna baza oprogramowania (Malware Hash Registry) dostępna online, tym razem gromadząca jednak informacje o oprogramowaniu złośliwym.
Materiał pochodzi z serwisu HARD CORE SECURITY LAB.
Więcej informacji: http://isc.sans.org/diary.html?storyid=8236
Znalazłeś literówkę? Zgłoś ją używając formularza!
Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.
Niusy na podobny temat:
Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.
33 komentarzy
Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.
Czyli coś podobnego do repozytoriów. W repo każdy pakiet jest podpisany cyfrowo – można np. skopiować pliki podejrzane o doznanie modyfikacji, by następnie pobrać paczkę odpowiednio podpisaną i porównać pliki.
Na brainstorm.ubuntu.com swego czasu pojawił się nawet pomysł, by sygnatury każdego pliku były zapisywane w pewnym miejscu w momencie(np. pendrive) w momencie jego instalacji.
nie wiem jak DEB – RPM pozwala od bardzo dawna porownac pliki na dysku z plikami z podpisanej paczki….
a co jeśli NSRL postanowi zrobić eksperyment i wprowadzi fałszywą sygnaturę?
ale przecież szanujące się firmy od zabezpieczeń nie robią fałszywych alarmów. w moim mniemaniu nie powinny.
Coś jak veriexec w NetBSD (tylko że bazę trzeba sobie samemu generować)
Dodatkowo Windows również potrafi działać z listami białymi/czarnymi jeżeli chodzi o programy (ale jak dobrze pamiętam, wystarczyło zmienić nazwę programu oby obejść to "zabezpieczenie")
Srali muchy, będzie wiosna… Dostaję zarażone zdjęcie od znajomego, otwieram i co? Jakim cudem miałoby ono znaleźć się w bazie?…
w tej bazie są też skróty znanych szkodników
W newsie jest mowa o bialej liście i że biała lista ma szansę pozamiatać.
Nie każdy system służy do ściągania plików i wymiany zdjęć
. Wyobraź sobie np. komputer przemysłowy lub chociażby komputer w pracowni projektowej. Taki komputer ma więc umożliwiać wyłącznie uruchamianie tylko kilku ściśle określonych aplikacji i z założenia ma przechowywać tylko określone formaty danych. W takim wypadku whitelisting wydaje się świetnym rozwiązaniem ochronnym.
Podpisuje się pod tym obiema rękoma
Tylko czy taki komputer w ogóle jest narażony na wirusy?
Moim zdaniem niemal każdy komputer jest w mniejszym lub większym stopniu narażony. Każdy pracuje przecież w jakiejś sieci (chociażby lokalnej), ma jakieś interfejsy, urządzenia we/wy. itd…
To jak się to ma do Twojego postu z 18 lutego 2010 o godz. 11:04 ?
Adrian ma sporo racji. Jeśli pójdzie zawirusowane zdjęcie, to i pójdzie np. zawirusowana sekwencja sterująca ramieniem robota. Jak pójdzie i się uruchomi, to może zasadzi rootkita, który będzie nas od tej pory stale oszukiwał.
podejrzewam, ze statystycznie najwiecej wirusow przenosi sie jednak przez binaria a nie zdjecia czy "zawirusowana sekwencje sterowania robotem" (ktora nota bene nie wiem jak mialaby zainfekowac system skoro nie jest kompilowana do kodu binarnego uruchanianego na lokalnej maszynie [a przynajmniej do tej pory nie spotkalem sie z tym aby byla]).
Zdjęcie zarażone czym? Nie słyszałem o zarażonych zdjęciach. Cóż to wymyśliłeś?
Wypasik baza:
- ls z ubuntu – no results
No dobra, załóżmy, że pod Windows toto jest dedykowane:
- putty.exe – no results
- vlc.exe – no results
- gvim.exe – no results
- MS ActiveSync (różne pliki) – no results
- MS NetMeeting – na części plików no results
- MS Visual Studio – cl.exe – no results
Dobrze, że iexplore chociaż ma!
Widocznie 4 miliony softów w bazie, to dopiero początek roboty
.
Zaczęli chyba od wywołań systemowych, bo dla "firefox" znajduje tylko 4 wyniki, z czego wszystkie linuksowe.
Gdybym był windowsowcem chcącym sprawdzić, czy mój Fx jest "tró", to bym się na tę bazę obraził, przynajmniej na trochę.
“sygnaturze sha1 lub md5″
Zrobienie wirusa o zadanej sygnaturze sha1 lub md5 nie jest problemem.
Więc zamiast dodatkowej ochrony, mielibyśmy kolejną dziurę.
Być może, ale czy napisanie programu który udaje inny program jednocześnie nim nie będąc o tej samej sygnaturze nadal jest łatwe?
Nie jest ani trochę trudniejsze (patrz niżej).
to poprosze dzialajacy program robiacy cokolwiek o sygnaturze SHA1 rownej 00e7b4e7e38f0f1433881a1857ac99a93e76f9cb
i MD5 dla tych danych:
4948d57756924cd72bfbe6eff2c8288e
Ale juz trudniej żeby i skrót md5 i sha1 się zgadzały.
A o tym, że to ma jeszcze działać napisał przedmówca powyżej
"Zrobienie wirusa o zadanej sygnaturze sha1 lub md5 nie jest problemem."
Powiedz jak, mistrzu. Już znalezienie kolizji (dwóch wiadomości które dadzą to samo, dowolne sha1) jest hardcore'owe, a to jest dużo, dużo prostsze.
sha1 i md5 zostało złamane już dosyć dawno. Żeby znaleźć kolizję wystarczy sprawdzić mniej niż 2^64 możliwości, co da się zrobić w całkiem rozsądnym czasie. Żeby program działał dobrze też nie jest problemem – w pliku można mieć bardzo dużo danych lub kodu, które nie są aktywne – tylko po to aby suma kontrolna się zgadzała.
Natomiast faktycznie równoczesna zgodność md5 i sha1 może być trudniejsza, bo razem mają większą długość klucza. O ile faktycznie sprawdzają RÓWNOCZESNĄ zgodność md5 i sha1, bo to nie wynika jednoznacznie z artykułu. Dlatego dla pewności użyłbym SHA-256 albo ISAAC.
O, widzę, że od 2004 roku ulepszyli technikę – znalezienie kolizji md5 zajmuje mniej niż minutę na przeciętnym laptopie:
http://cryptography.hyperlink.cz/md5/MD5_collisio…
Może posłużyć do poinformowania jakich programów używa dana osoba. Co daje potencjalne informacje o osobach używających programów nielegalnie.
Pomysł na umożliwienie uruchomienia tylko zatwierdzonych przez użytkownika programów, na podstawie jakiejś bazy danych (enumerating goodness zamiast enumerating badness) postulowal już jakiś rok temu Bruce Schneier, na konferencji Confidence w krakowie.
To się może sprawdzić jeśli działa w połączeniu z innym systemem, tzn. antywirem, OS itd. Zrobienie takiego połączenia wymaga przemyślenia, bo jak sobie użytkownik coś skompiluje albo ściągnie z zaufanego źródła, które jest niszowe i nie zabrało się do naszej Wielkiej Bazy, to musi mieć w lokalnej białej liście.
A czy nie można po prostu wymagać podpisywania cyfrowego wszystkich binarek i dodawać do swojej bazy listę certyfikatów ISV, których akceptujemy ?
można byłoby np. później grupować te listy np. pod względem stabilności, nie tylko bezpieczeństwa – coś w rodzaju repozytoriów z zaufanymi certyfikatami, które moglibyśmy sobie dodać…