2012-10-25 53 views
5

Tôi đang viết phát hiện phần mềm độc hại dựa trên quét chữ ký. Như tôi đã hiểu, ý tưởng chính là so sánh chữ ký của tập tin được quét với chữ ký trong danh sách đen của bạn. Here Tôi thấy chữ ký đó là một số loại băm MD5, nhưng làm thế nào tôi có thể lấy nó từ tập tin? Và có bất kỳ loại chữ ký nào khác không?Phát hiện phần mềm độc hại chữ ký

+0

[Quét chữ ký] (http://stackoverflow.com/questions/13152150/signature-scanning/13197718#13197718) –

Trả lời

1

Băm MD5 là thông báo về nội dung của tệp. Nếu bạn có một danh sách đen của băm MD5, có, bạn có thể so sánh một tập tin chống lại chúng. Tôi nghĩ rằng điều này sẽ đại diện cho một cách khá đơn giản và dễ vỡ để quét phần mềm độc hại, nhưng nó chắc chắn là một sự khởi đầu. Điều này sẽ rất mong manh khi so sánh các băm MD5 sẽ chỉ nhận ra khi hai tệp giống hệt nhau. Bất kỳ loại ngẫu nhiên nào được đưa vào một tệp độc hại sẽ làm cho phương pháp quét này vô ích.

Hầu hết các ngôn ngữ đều có một số cách tiêu chuẩn để tạo mã băm MD5. C#, VB và VC++ có thể sử dụng lớp MD5, PHP có hash chức năng (sử dụng "MD5" như là đối số đầu tiên), trong java bạn có MessageDigest vv

Có một số có sẵn hashing algorithms khác mà có thể là được sử dụng cho mục đích này. MD5 đã được chứng minh là thiếu cho một số ứng dụng, và như vậy các thuật toán SHA đang trở nên rất chuẩn cho các ứng dụng đó. Đối với ứng dụng này, nơi bạn sẽ không được mong đợi một cuộc tấn công nguy hiểm sẽ cố gắng tạo một trận đấu, nhưng ngược lại với việc cố gắng ngăn chặn một trận đấu, bất kỳ thuật toán chuẩn băm nào, bao gồm MD5 phải đủ để được đảm bảo một cách hợp lý. được nhìn thấy.

0

Đối với thư thông báo trong java, bạn có thể sử dụng MessageDigest. Theo javadoc của nó, nó hỗ trợ MD5, SHA-1 và SHA-256.

Các vấn đề liên quan