Piszę o wykryciu szkodliwego oprogramowania na podstawie skanowania podpisów. Jak zrozumiałem, głównym pomysłem jest porównanie podpisu zeskanowanego pliku z podpisami na twojej czarnej liście. Here Znalazłem, że ten podpis to jakiś skrót MD5, ale jak mogę go pobrać z pliku? Czy są jeszcze inne rodzaje podpisów?Wykrywanie szkodliwego oprogramowania sygnatur
Odpowiedz
Skrót MD5 jest skrótem zawartości pliku. Jeśli masz czarną listę skrótów MD5, tak, możesz porównać plik z nimi. Myślę, że byłby to dość uproszczony i kruchy sposób skanowania pod kątem złośliwego oprogramowania, ale na pewno jest to początek. Byłoby to delikatne, ponieważ porównanie skrótów MD5 rozpoznałoby tylko, gdy dwa pliki są dokładnie identyczne. Wszelka przypadkowość wprowadzona do złośliwego pliku sprawiłaby, że ta metoda skanowania byłaby bezużyteczna.
Większość języków ma pewien standardowy sposób generowania skrótu MD5. C#, VB i VC++ można użyć klasy MD5, PHP posiada funkcję hash (używając „MD5” jako pierwszy argument), w java masz MessageDigest itp
Istnieje szereg innych dostępnych hashing algorithms, które mogłyby być używane do tego celu. Wykazano, że MD5 brakuje niektórych aplikacji i jako takie algorytmy SHA stają się bardzo standardowe dla tych aplikacji. W przypadku tej aplikacji, w której nie oczekuje się, że złośliwy atak spróbuje utworzyć dopasowanie, a wręcz przeciwnie, próba zapobieżenia dopasowaniu, każdy standardowy algorytm mieszania, w tym MD5, powinien być wystarczający, aby można było rozsądnie zapewnić, że nie będzie fałszywych alarmów. być widzianym.
Aby zwiększyć liczbę wiadomości w języku Java, można użyć numeru MessageDigest. Zgodnie z jego javadoc obsługuje MD5, SHA-1 i SHA-256.
- 1. Wykrywanie oprogramowania AdBlocking?
- 2. Skąd czerpię listę wszystkich znanych sygnatur wirusów?
- 3. Mongoid: Typ sygnatur czasowych?
- 4. "Ręczna" rozdzielczość przeciążania sygnatur
- 5. Przerwanie oprogramowania
- 6. Dowolne przykłady aplikacji produkcyjnych wykorzystujących drzewa sygnatur?
- 7. Wdrażanie aktualizacji oprogramowania w wersji Beta i oprogramowania Sparkle
- 8. Wykrywanie przeglądarki a wykrywanie funkcji
- 9. Jak działa aktywacja oprogramowania?
- 10. Tryb renderowania oprogramowania - WPF
- 11. Opcje rozwoju oprogramowania komputerowego
- 12. Qt auto wersja oprogramowania?
- 13. Książki dotyczące architektury oprogramowania
- 14. Standardy bezpieczeństwa oprogramowania
- 15. Wsparcie starszego oprogramowania enquire.js
- 16. Symulacja oprogramowania komputera kwantowego
- 17. Wykrywanie częstotliwości w Pythonie
- 18. Wykrywanie linii | Wykrywanie kątów za pomocą Java
- 19. Wykrywanie przeciągnij i upuść + wykrywanie nie działa
- 20. Java - Czy można wyprowadzić stacktrace za pomocą sygnatur metod?
- 21. Pliki sygnatur i modyfikatory dostępu w języku F #
- 22. Czy istnieje metoda wywoływania sygnatur metod w autouzupełnianiu programu Phpstorm?
- 23. przekazywanie zmiennej sesji w funkcji pomocnikowi w kodzie sygnatur
- 24. Buforowanie sygnatur kodu - sugestie odświeżania po nowym wpisie
- 25. . Biblioteka biblioteki do przenoszenia/kopiowania pliku z zachowaniem sygnatur czasowych
- 26. Obsługa datowników i sygnatur czasowych MySQL w Javie
- 27. Jackson SerializationFeature.WRITE_DATES_AS_TIMESTAMPS nie wyłączając sygnatur czasowych na wiosnę
- 28. Typ elementu JSX nie ma żadnego konstruktu ani sygnatur połączeń
- 29. Pokaż klawiaturę oprogramowania bez EditText
- 30. żadnego oprogramowania z CFbundleidentifier istnieje
[Skanowanie podpisów] (http://stackoverflow.com/questions/13152150/signature-scanning/13197718#13197718) –