Pewnego dnia przeglądałem sieć i natknąłem się na kilka miejsc, w których chciałem pobrać .deb
pliki - a ponieważ są one instalowane przez roota (i jako takie mają „moce” i możliwości roota), nie byłem pewny tego.
Pewnego dnia przeglądałem sieć i natknąłem się na kilka miejsc, w których chciałem pobrać .deb
pliki - a ponieważ są one instalowane przez roota (i jako takie mają „moce” i możliwości roota), nie byłem pewny tego.
Rzeczy do rozważenia:
Jak dobrze znana jest strona? Na przykład, czy był to przypadkowy blog pokryty reklamami, czy był to przypadkowy użytkownik na jakimś forum, czy też była to dobrze znana, szanowana strona?
Co twierdzi, że instaluje? Na przykład, czy twierdzi, że instaluje jądro lub zestaw ikon, ale czy ma tylko 1 MB?
Jak „ważne” jest to, że masz w tym zawartość .deb
?
Sposoby bezpiecznego testowania rzeczy:
Używam arkose
( jest w standardowych repozytoriach
) piaskownicy z moimi debsami (i innymi rzeczami) - używam go mniej więcej tak:
sudo arkose -n -c "cd $PWD; $SHELL"
Co to ma dać mi „piaskownicy” (inaczej znany jako „Yay mogę zepsuć!”) Z dostępem kopiowanie przy zapisie do wszystkiego na moim komputerze, w tym moim katalogu domowym - więc jeśli paskudny paskudny .deb
robi sudo rm -rf /*
, I DON „UTRACIE DANYCH!
Kolejną rzeczą, która nie jest wystarczająco zestresowana, jest tworzenie kopii zapasowych . Są bardzo pomocne i mamy wiele pytań na ten temat.
Krótko mówiąc, upewnij się, że o tym pomyślisz, a nie tylko pobieraj losowe pliki deb i instaluj je.
.deb
pomocą rolki pliku, aby zobaczyć, co jest w środku. Chociaż muszę powiedzieć, że pobrałem losowy deb od losowego użytkownika w losowym wątku na forach Ubuntu, aby naprawić moje problemy z drukarką, zadziałało.Jeśli pobierasz pakiet z niezaufanych lub wątpliwych źródeł, bądź paranoikiem. Na popularnych forach takich jak ubuntuforums.org, jeśli użytkownik opublikuje swój pierwszy post zawierający tylko krótki tekst w stylu „zainstaluj to, działa dla mnie!”, A następnie link, bądź ostrożny z tym linkiem i / lub instrukcjami.
Jeśli to możliwe, nie używaj pakietów binarnych, zwłaszcza z niezaufanych źródeł. Uzyskaj źródło (w przypadku oficjalnych pakietów Ubuntu można to zrobić
apt-get source package-name
) i spójrz na to.Jeśli pakiet jest mały, warto go przeanalizować. Wolę korzystać z terminala za to, bo wtedy mają szybki dostęp do innych narzędzi wiersza polecenia potężny jak
ls
,find
,file
,less
,vim
,grep
,sed
,dpkg
i wiele innych. Skorzystaj z uzupełniania tabulatorów (tj. Uderzania w Tabcelu wykonania poleceń i nazw plików), to naprawdę oszczędza czas!Aby pobrać plik .deb, możesz użyć przeglądarki, ale skopiowanie łącza, a następnie użycie
wget
jest szybsze, ponieważ możesz już z nim eksperymentować.Następnie nadszedł czas, aby sprawdzić sam plik.
less
(przezlesspipe
) może zapewnić szybki przegląd zawartości pliku. Klawisze strzałek, strona w górę / w dół, strona główna / koniec mogą być przydatne do nawigacji, Qzamykanie programu.Następnie uzyskasz przegląd zależności pakietu i jakie pliki może zawierać. Czas wyodrębnić pliki i przeanalizować zawartość za pomocą
dpkg-deb
. Pierwsze polecenie wyodrębnia drzewo plików w nowo utworzonym katalogufs
, drugie polecenie wyodrębnia je,DEBIAN
ponieważ nie określono innego obiektu docelowego:Użyjemy
less
ponownie przeanalizować zawartość skryptów instalacyjnych (czyli pliki, które będą używane / uruchamianych podczas instalacji (i usuwania).prerm
,preinst
,postrm
,postinst
Są skrypty uruchamiane przed / po usunięciu / instalacji, które są najważniejsze pliki do analizy Do przełączania się między plikami używaj:n
i:p
. Naciskając przycisk=
, otrzymujesz aktualną nazwę pliku i numer linii oraz liczbę plików znajdujących się na liście.Jeśli skrypty pakietu wyglądają rozsądnie, czas przeanalizować zainstalowaną zawartość (użyj uzupełniania tabulatorami). W przypadku skryptów powłoki i skryptów interpretowanych (takich jak Python) analiza jest łatwiejsza (zakładając, że znasz język).
Zwróć szczególną uwagę na pliki konfiguracyjne, szczególnie jeśli używają katalogów takich jak
/etc/init
(dla skryptów startowych) lub/etc/modprobe.d
(opcje ładowania modułów jądra).W przypadku plików binarnych
ldd
może dać wyobrażenie o tym, do czego można użyć programu. Poniższy program wygląda jak program graficzny korzystający z OpenGL.Po upewnieniu się, że opakowanie wygląda prawidłowa, można przejść na zainstalowanie go w VirtualBox bootowanie z CD live jak i pracy
ps aux
,top
,strace -f -o logfile.txt programname
do dalszej analizy.źródło