Trong bài thu hoạc h đề cập đến chi tiết c ủa vấn đề cải tiến tốc độ quét virus. Có
thể th ấy nhờ áp dụng c ác phƣơng pháp sáng t ạo TRIZ một các h đ úng đ ắn mà c ác sáng
chế đã và đ ang đƣợc sử dụng mang l ại hiệu quả cao. Sự phát triển không dừng l ại ở đó
mà trong tƣơng lai, có thể còn có sự ra đời c ủa nhiều sáng chế khác hiệu quả hơn nhờ
sử dụng các phƣơng pháp sáng tạo TRIZ. Ví dụ nhƣ, do phƣơng pháp quét d ấu hiệu
phụ thuộc vào nhận dạng mẫu, nếu có một phƣơng pháp nh ận dạng mẫu đƣợc cải tiến
và tốt hơn, có thể đƣợc sử dụng cho m ục đích này để tăng tốc độ quá trình quét virus.
53 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2604 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Tìm hiểu về TRIZ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ền đồng bộ(ATM).
22. Nguyên lý chuyển hại thành thắng
a. Nội dung
- Sử dụng những tác nhân có hại (thí dụ tác động có hại của môi
trƣờng) để thu đƣợc hiệu ứng có lợi.
- Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại
khác.
- Tăng cƣờng tác nhân có hại đến mức nó không còn có hại nữa.
20
b. Ví dụ
- Phần mềm: Đảo vai trò của quá trình có hại và chuyển hƣớng nó trở
lại.
- Đánh bại tấn công từ chối dịch vụ (DDoS). Một cuộc tấn công DDoS
bão hòa một mạng. Nó chỉ đơn giản là gây quá tải cho máy chủ mục
tiêu với một khối lƣợng lớn của lƣu lƣợng truy cập có thể ngăn chặn
ngƣời dùng bình thƣờng truy cập các máy chủ. Ngƣợc lại với các loại
khác của các cuộc tấn công DoS hoạt động trên cơ sở cá nhân, các
cuộc tấn công phân phối dựa vào việc tuyển dụng một đội máy tính
"zombie" một cách vô ý thức tham gia lực lƣợng tràn ngập các máy
chủ nạn nhân. Những thiệt hại quan trọng là vì bản chất phân phối của
cuộc tấn công. Kẻ tấn công có thể khai thác các kênh không an toàn
và dễ dàng truy cập Internet để tổng hợp một khối lƣợng lƣu lƣợng
truy cập khổng lồ không xâm nhập nhƣng gây ùn tắc hiệu quả các
kênh an toàn. Vì vậy, áp dụng TRIZ, chúng ta có thể chuyển đổi hại
(quá tải của máy tính) thành một lợi ích (giảm hiệu quả các của
zombie) bằng cách tạo ra quá trình thắt nút cổ chai trên các máy tính
zombie, hạn chế các khả năng tấn công; điều này có thể đƣợc thực
hiện bằng cách yêu cầu các máy tính tấn công giải quyết chính xác
một trò chơi nhỏ trƣớc khi thiết lập lại kết nối. Giải quyết các câu đố
tiêu thụ vài sức mạnh tính toán, hạn chế những kẻ tấn công trong số
lƣợng yêu cầu kết nối nó có thể làm cùng một lúc.
23. Nguyên lý quan hệ phản hồi
a. Nội dung
- Thiết lập quan hệ phản hồi
- Nếu đã có quan hệ phản hồi, hãy thay đổi nó.
b. Ví dụ
- Phần mềm: Giới thiệu một biến thông tin phản hồi trong một vòng
lặp khép kín để cải thiện các vòng lặp tuần tự dựa trên vòng loại.
21
- Đánh giá dựa trên thông tin phản hồi trong một hệ thống chuyển giao
không đồng bộ (ATM).
24. Nguyên lý sử dụng trung gian
a. Nội dung
- Sử dụng đối tƣợng trung gian, chuyển tiếp. .
b. Ví dụ
- Phần mềm: Sử dụng một trung gian để cung cấp một view (s) dữ liệu
cho một quá trình trong bối cảnh không gian ứng dụng xử lý.
- Sử dụng trung gian kết hợp với eXtensible Markup Language (XML)
để tăng cƣờng các dữ liệu bán cấu trúc. Trung gian có thể là một phần
quan trọng của XML. Cùng với một Document Type Definition
(DTD), trung gian có thể hỗ trợ một quá trình khác, cho phép nói với
một giao diện ngƣời sử dụng trong việc xây dựng truy vấn và xử lý
truy vấn hiệu quả hơn. Sau đây là một hình ảnh của ví dụ này.
22
25. Nguyên lý tự phục vụ
a. Nội dung
- Đối tƣợng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ,
sửa chữa.
- Sử dụng phế liệu, chát thải, năng lƣợng dƣ.
b. Ví dụ
- Cập nhật phần mềm Symantec, ứng dụng này định kỳ kiểm tra các bản
cập nhật ứng dụng của nó, nếu có những thành phần mới cần phải
đƣợc cập nhật, một đồ thị phụ thuộc đƣợc thực hiện và thực hiện đo
đó dịch vụ đƣợc thực hiện.
26. Nguyên lý sao chép(copy)
a. Nội dung
- Thay vì sử dụng những cái không đƣợc phép, phức tạp, đắt tiền,
không tiện lợi hoặc dễ vỡ, sử dụng bản sao.
- Thay thế đối tƣợng hoặc hệ các đối tƣợng bằng bản sao quang học
(ảnh, hình vẽ) với các tỷ lệ cần thiết.
- Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh
sáng nhìn thấy đƣợc bằng mắt thƣờng), chuyển sang sử dụng các bản
sao hồng ngoại hoặc tử ngoại.
b. Ví dụ
- Phần mềm: Thay vì tạo ra một đối tƣợng mới và mất tài nguyên
không cần thiết thì thực hiện một bản sao.
- Một bản sao nông xây dựng một đối tƣợng mới và sau đó (đến mức có
thể) chèn tham chiếu vào nó để các đối tƣợng đƣợc tìm thấy trong bản
gốc.
23
27. Nguyên lý rẻ thay cho đắt
a. Nội dung
- Thay thế đối tƣợng đắt tiền bằng bộ các đối tƣợng rẻ có chất lƣợng
kém hơn (thí dụ nhƣ về tuổi thọ
b. Ví dụ
- Thay vì phát triển một ứng dụng đầy đủ của một mẫu thử nghiệm gây
ra chi phí quá đắt tiền, sử dụng mẫu Throwaway.
Mẫu Throwaway: Đƣợc xây dựng càng nhanh càng tốt, không
có kỹ thuật thích hợp, thực hiện yêu cầu duy nhất chƣa đƣợc hiểu rõ ,
đƣợc sử dụng để tìm hiểu các yêu cầu đƣợc cho là có thật và cái nào
không phải, đƣợc vứt bỏ sau khi các thông tin mong muốn đƣợc học.
28. Nguyên lý thay thế sơ đồ cơ học
a. Nội dung
- Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.
- Sử dụng điện trƣờng, từ trƣờng và điện từ trƣờng trong tƣơng tác với
đối tƣợng .
- Chuyển các trƣờng đứng yên sang chuyển động, các trƣờng cố định
sang thay đổi theo thời gian, các trƣờng đồng nhất sang có cấu trúc
nhất định.
- Sử dụng các trƣờng kết hợp với các hạt sắt từ.
b. Ví dụ
- Đây là một ví dụ đơn giản, nhận dạng giọng nói làm giảm bớt các tác
động cơ học đánh máy và lỗi đánh máy.
24
29. Nguyên lý sử dụng các kết cấu thuỷ và khí
a. Nội dung
- Thay cho các phần của đối tƣợng ở thể rắn, sử dụng các chất khí và
lỏng: nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực.
30. Sử dụng bao mềm dẻo và mềm mỏng
a. Nội dung
- Sử dụng các vỏ dẻo và màng mỏng thay cho các kết cấu khối.
- Cách ly đối tƣợng với môi trƣờng bên ngoài bằng các vỏ dẻo và màng
mỏng.
b. Ví dụ
- Phần mềm: Cách ly các đối tƣợng từ môi trƣờng bên ngoài bằng cách
sử dụng các đối tƣợng bao bọc.
- Một wrapper hoặc bộ chuyển đổi đối tƣợng cô lập và đối tƣợng từ môi
trƣờng bên ngoài của nó bằng cách duy trì một giao diện cố định giữa
các đối tƣợng bên trong và đối tƣợng bên ngoài (đối tƣợng wrapper).
31. Sử dụng vật liệu nhiều lỗ
c. Nội dung
- Làm đối tƣợng có nhiều lỗ hoặc sử dụng thêm những chi tiết có nhiều
lỗ (miếng đệm, tấm phủ..)
- Nếu đối tƣợng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó.
25
32. Nguyên lý đổi màu
a. Nội dung
- Thay đổi màu sắc của đối tƣợng hay môi trƣờng bên ngoài
- Thay đổi độ trong suốt của của đối tƣợng hay môi trƣờng bên ngoài.
- Để có thể quan sát đƣợc những đối tƣợng hoặc những quá trình, sử
dụng các chất phụ gia màu, hùynh quang.
- Nếu các chất phụ gia đó đã đƣợc sử dụng, dùng các nguyên tử đánh
dấu.
- Sử dụng các hình vẽ, ký hiệu thích hợp
b. Ví dụ
- Một chức năng tô màu trong một bức ảnh hay chƣơng trình vẽ.
33. Nguyên lý đồng nhất
a. Nội dung
- Những đối tƣợng, tƣơng tác với đối tƣợng cho trƣớc, phải đƣợc làm từ
cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu
chế tạo đối tƣợng cho trƣớc.
b. Ví dụ
- Phần mềm: Tạo các đối tƣợng thuần túy của một loại nhất định đảm
bảo tính chất giống nhau.
- Các đối tƣợng dữ liệu nhƣ mảng. Mỗi phần tử mảng phải có cùng kiểu
cho phép ghi và đọc.
34. Nguyên lý loại bỏ và tái sinh từng phần
a. Nội dung
- Phần đối tƣợng đã hoàn thành nhiệm vụ hoặc trở nên không cần thiết
phải tự phân hủy (hoà tan, bay hơi..) hoặc phải biến dạng.
- Các phần mất mát của đối tƣợng phải đƣợc phục hồi trực tiếp trong
quá trình làm việc.
26
b. Ví dụ
- Phần mềm: Loại bỏ bộ nhớ không sử dụng của một ứng dụng.
- Quá trình xử lý thu gom rác trong ngôn ngữ lập trình Java, định kỳ
"dọn dẹp" bộ nhớ bằng cách loại bỏ các đối tƣợng hết phạm vi sống
- Cho phép cơ sở dữ liệu phục hội trạng thái giao dịch trƣớc đó
35. Đổi các thông số lý hoá của đối tượng
a. Nội dung
- Thay đổi trạng thái đối tƣợng.
- Thay đổi nồng độ hay độ đậm đặc.
- Thay đổi độ dẻo
- Thay đổi nhiệt độ, thể tích. .
b. Ví dụ
- Một ứng dụng phần mềm có thể đƣợc chuyển đổi để cung cấp dịch vụ
khác nhau dựa trên thay đổi các thuộc tính tự động. Sự linh hoạt này
cho phép các đối tƣợng đa vai trò trong một ứng dụng.
36. Sử dụng chuyển pha
a. Nội dung
- Sử dụng các hiện tƣợng nảy sinh trong quá trình chuyển pha nhƣ :
thay đổi thể tích, toả hay hấp thu nhiệt lƣợng...
37. Sử dụng nở nhiệt
a. Nội dung
- Sử dụng sự nở (hay co) nhiệt của các vật liệu.
- Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt
khác nhau.
27
38. Sử dụng các chất oxi hoá
a. Nội dung
- Thay không khí thƣờng bằng không khí giàu ôxy.
- Thay không khí giàu ôxy bằng chính ôxy.
- Dùng các bức xạ ion hoá tác động lên không khí hoặc ôxy.
- Thay ôxy giàu ôzôn (hoặc ôxy bị ion hoá) bằng chính ôzôn.
39. Sử dụng môi trường trơ
a. Nội dung
- Thay môi trƣờng thông thƣờng bằng môi trƣờng trung hoà.
- Đƣa thêm vào đối tƣợng các phần , các chất , phụ gia trung hoà.
- Thực hiện quá trình trong chân không.
40. Sử dụng vật liệu tổng hợp
a. Nội dung
- Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp
thành (composite). Hay nói chung, sử dụng các vật liệu mới.
b. Ví dụ
- Phần mềm: Thay đổi từ trừu tƣợng hóa phần mềm thống nhất đến
tổng hợp.
- Ví dụ: các mẫu thiết kế phần mềm là khái niệm trừu tƣợng cốt lõi
đằng sau các giải pháp vấn đề lặp lại thành công trong thiết kế phần
mềm.
28
III. Áp dụng 40 nguyên lý sáng tạo vào cải tiến tốc độ quét virus
1. Giới thiệu về virus máy tính
Virus máy tính có thể có nhiều dạng và ảnh hƣởng đến hệ thống máy tính theo
nhiều cách khác nhau. Một virus “boot sector” gây hại đến boot sector và làm cho máy
tính không khởi động đƣợc. Một virus tập tin (file) gây hại đến các tập tin thực thi.
Một virus macro lây lan qua các macro của Word và gây nhiều tác hại khác nhau đối
với một máy tính. Có nhiều thiệt hại gây ra bởi marcro virus nhƣ "virus Melissa", virus
"Word Prank Macro" và virus "Concept" v.v.. Tình hình về Trojan cũng không tốt
hơn. Nó vẫn còn lén lút và gửi các thông tin bí mật cho các hệ thống khác.
Các loại virus khác nhau gây ra các thiệt hại hay rối loạn khác nhau trong một
hệ thống máy tính. Một số virus thay đổi hoặc phá hủy dữ liệu trên đĩa, các ký tự bị
xáo trộn trên màn hình hiển thị video, hiển thị một số thông điệp gây hiểu nhầm cho
ngƣời dùng, một số virus tiêu thụ tài nguyên máy tính /tài nguyên mạng do đó làm cho
máy tính/mạng chậm.
a. Các loại virus khác nhau
Các loại virus khác nhau có khả năng và hạn chế khác nhau. Virus boot sector
lây nhiễm khu vực khởi động chủ của máy tính và không lây nhiễm các tập tin dữ liệu
trong khi đó virus macro lây nhiễm tài liệu Word và không lây nhiễm khu vực khởi
động.
Một số virus hoạt động ngay lập tức. Một số virus kiên nhẫn chờ đợi nhƣ các
chƣơng trình lành tính cho đến khi các sự kiện của nó đƣợc kích hoạt để trở thành hoạt
động. Ví dụ, virus “Friday 13"chờ đợi ngày thứ sáu, rơi vào ngày 13 của một tháng để
hoạt động.
Một trong những đặc điểm cơ bản của một virus là nó lây lan bằng cách tái tạo
chính nó. Khi virus lây nhiễm một chƣơng trình, nhìn chung nó gắn mã của nó vào
chƣơng trình đó. Virus sẽ đƣợc kích hoạt khi chƣơng trình bị nhiễm đƣợc tải vào bộ
nhớ. Virus có thể truyền từ máy tính này sang máy tính khác theo các cách khác nhau
ví dụ nhƣ thông qua các tập tin bị nhiễm hoặc đĩa bị nhiễm.
29
b. Các phương pháp phát hiện virus
Chƣơng trình diệt virus nằm giữa ứng dụng của ngƣời sử dụng và hệ thống tập
tin của máy tính, kiểm tra tập tin trƣớc khi mở và lƣu trữ, để đảm bảo rằng không có
tập tin bị nhiễm nào đƣợc ghi vào hệ thống tập tin.
Chƣơng trình diệt virus nhƣ là một ngƣời bảo vệ cho các tập tin đầu vào
Có một vài phƣơng pháp phát hiện virus khác nhau. Bởi vì đặc điểm của các
virus khác nhau nên phƣơng pháp phát hiện chúng cũng khác nhau. Tất cả các phƣơng
pháp không làm việc cho tất cả các loại virus. Một số phƣơng pháp quan trọng chống
virus đƣợc các chƣơng trình diệt virus sử dụng nhƣ sau:
Signature scanning (Quét dấu hiệu) – quét mỗi tập tin để trích xuất các byte có
dạng virus.
Heuristic scanning (Quét heuristic) – quét mỗi tập tin có mã giống virus.
Activity smonitoring (Giám sát hoạt động) - kiểm tra đối với hành vi bất thường
của một chương trình.
Integrity checking (Kiểm tra tính toàn vẹn) - kiểm tra một tập tin với một bản
sao lưu dự phòng cho bất kỳ thay đổi nào.
Hầu hết virus đƣợc phát hiện bằng cách quét dấu hiệu. Một dấu hiệu là một chuỗi
các byte đƣợc tìm thấy trong mã chƣơng trình virus, nhƣng không thể tìm thấy ở nơi
Tập tin
đầu vào
C
h
ƣ
ơ
n
g
t
rì
n
h
d
iệ
t
v
ir
u
s
Các tập tin
tin cậy
Cần kiểm tra
Xoá
30
khác. Việc quét dấu hiệu tìm kiếm các tập tin có các dấu hiệu virus đó. Nếu một dấu
hiệu đƣợc tìm thấy thì tập tin đƣợc coi là bị nhiễm, ngƣợc lại thì tập tin đó an toàn.
Quét heuristic không tìm kiếm một dấu hiệu chính xác mà tìm kiếm một đoạn
mã giống virus. Điều này có thể đƣợc áp dụng cho bất kỳ chƣơng trình mục tiêu nào
(tập tin thực thi, bản ghi khởi động, các tập tin tài liệu, vv) thậm chí ngay cả với virus
mới và chƣa biết. Một chƣơng trình phát hiện heuristic có thể mất nhiều thời gian hơn
quét dấu hiệu đơn giản, vì nó phải tìm kiếm số lƣợng lớn các cách khác nhau để phát
hiện virus và đảm bảo tin cậy.
Một phƣơng pháp tự kiểm tra hoặc kiểm tra tính toàn vẹn nắm giữ một
"checksum" hoặc "snapshot" hoặc "fingerint" của tất cả các chƣơng trình (thực thi, bản
ghi khởi động ...) tại giai đoạn chƣa bị nhiễm của chúng ở một vị trí an toàn. Trong
quá trình kiểm tra tính toàn vẹn, nó thực hiện tổng kiểm tra trên các tập tin bị nhiễm và
so sánh kết quả với bản checksum gốc đƣợc tính toán trƣớc đó. Nếu sự khác biệt đƣợc
tìm thấy giữa hai bản checksum thì chƣơng trình mục tiêu đƣợc coi là bị nhiễm virus,
nếu không chƣơng trình mục tiêu đƣợc coi là không bị nhiễm.
2. Các vấn đề liên quan đến tốc độ quét
Một trong những hạn chế chính của quá trình quét virus là thời gian cần thiết cho
chức năng quét. Trên một máy tính đƣợc nạp đầy đủ, nó có thể mất vài giờ. Vì lý do
này nhiều ngƣời sử dụng không thích quét virus máy tính của họ, trừ khi có yêu cầu.
Hãy xem xét các yếu tố làm tăng thời gian quét.
a. Số virus nhiều thì mất nhiều thời gian hơn để quét
Chƣơng trình diệt virus quét các tập tin máy tính bằng cách so sánh từng tập tin
một với danh sách các dấu hiệu của virus. Trong trƣờng hợp này, vì số lƣợng virus
tăng, số lƣợng kiểm tra tăng lên. Với hàng ngàn các loại virus có thể có, quá trình quét
rõ ràng mất nhiều thời gian và làm giảm hiệu suất của máy tính.
31
Mâu thuẫn
Nếu một chƣơng trình quét sử dụng ít thuật toán thì một số loại virus có khả năng
sẽ không bị phát hiện. Mặt khác, nếu nó sử dụng tất cả các thuật toán có thể thì quá
trình quét trở nên cực kỳ chậm.
Chúng ta muốn sử dụng các thuật toán để phát hiện tất cả các loại virus, nhƣng
đồng thời cũng muốn sử dụng các thuật toán để kết thúc quá trình quét một cách nhanh
nhất.
Kết quả mong muốn:
- Số virus không nên tăng
- Chỉ dùng một kiểm tra đơn ( hoặc tập các kiểm tra) để phát hiện tất cả các loại
virus.
Giải pháp có thể sử dụng:
⇛ Quét từng nhóm virus theo lô và không quét tất cả các virus tại cùng thời
điểm. (Nguyên lý 1: Nguyên lý phân nhỏ).
⇛ Chỉ quét các loại virus có liên quan đến các loại tập tin cụ thể.
⇛ Ƣu tiên quét virus có hại nhiều hơn trƣớc thay vì quét tất cả các các virus
trong một lần quét.
b. Việc mở các tập tin trở nên chậm chạp do quá trình quét.
Nhìn chung, khi tập tin có yêu cầu đƣợc mở thì các chƣơng trình diệt virus đều
kiểm tra tập tin đó trƣớc. Nó cho phép tập tin đƣợc mở nếu tập tin không bị nhiễm
virus. Tƣơng tự, khi các tập đã đƣợc mở có yêu cầu đóng, chƣơng trình này lại kiểm
tra chúng một lần nữa để đảm bảo rằng các tập tin không bị nhiễm khi nó đƣợc mở.
Giải pháp có thể sử dụng:
⇛ Nếu một tập tin đƣợc quét trƣớc khi mở thì nó cần nhiều thời gian hơn để mở.
Để giải quyết vấn đề này, tập tin có thể đƣợc quét và giữ lại rất lâu trƣớc khi có yêu
cầu mở nó. (Nguyên lý 10 – Nguyên lý thực hiện sơ bộ )
⇛ Bằng sáng chế 6928555 (minh họa dƣới đ ây) trình bày một phƣơng pháp
không cần quét tất cả các tập tin đã đƣợc mở trƣớc khi đóng. Phƣơng pháp này sẽ kiểm
32
tra "dirty cache buffer – vùng đệm lƣu trữ nhƣng không chính thức đƣợc ghi lại" để
xem các tập tin sau khi mở có thực sự đƣợc chỉnh sửa hay không và bỏ qua việc quét
tập tin đó nếu thấy chƣa chỉnh sửa, hoặc đƣợc chỉnh sửa ở những vùng khó bị tấn công
(Nguyên lý-21: Nguyên lý vượt nhanh).
c. Càng nhiều tập tin thì cần nhiều thời gian để quét
Số lƣợng và kích thƣớc của các tập tin trong máy tính cũng ảnh hƣởng trực tiếp
đến việc quét virus. Nếu số lƣợng và kích thƣớc của các tập tin lớn thì việc quét càng
mất nhiều thời gian bởi các yêu cầu xử lý và đọc ghi đĩa.
Mâu thuẫn
Nếu không quét tất cả các tập tin, chúng ta sẽ không chắc chắn về tình trạng
virus của máy tính. Mặt khác, nếu quét tất cả các tập tin sẽ mất thời gian dài. Nhƣng
chúng ta lại không muốn mất nhiều thời gian hơn để quét.
Một giải pháp là giảm số lƣợng và kích thƣớc của các tập tin. Nhƣng với sự phụ
thuộc vào máy tính ngày càng tăng và chi phí cho lƣu trữ dữ liệu giảm, chúng ta không
muốn bảo vệ máy tính của mình bằng cách giảm số lƣợng và kích thƣớc của tập tin.
Cần có một chƣơng trình quét nhanh hơn mà không ảnh hƣởng đến số lƣợng và kích
thƣớc của các tập tin.
Kết quả mong muốn:
- Hệ thống máy tính không cho phép bất kỳ virus nào thâm nhập
- Các tập tin phải có khả năng tự bảo vệ mình trƣớc sự tấn công từ virus.
Giải pháp:
⇛Ƣu tiên quét bộ nhớ chính và các tập tin dễ bị tấn công trƣớc, các tập tin khác
thì quét sau.
⇛Chỉ áp dụng các phƣơng pháp quét sẽ phát hiện virus liên quan đến các kiểu
tập tin cụ thể. Ví dụ, với một tập tin có định dạng EXE thì không dùng các thuật toán
quét virus macro đƣợc nhúng trong Word và ngƣợc lại (US Patent 6898712).
d. Độ tin cậy của việc quét virus đòi hỏi nhiều kiểu kiểm tra hơn
Để một chƣơng trình quét virus đƣợc xem là đáng tin cậy thì nó phải thực hiện
nhiều thuật toán kiểm tra khác nhau để xác nhận có sự tồn tại của một virus hay
33
không. Một chƣơng trình quét virus với ít thuật toán kiểm tra có thể không tin cậy, có
thể nhận diện sai một chƣơng trình chƣa bị nhiễm virus hoặc bỏ qua các tập tin đã bị
nhiễm xem nó nhƣ là chƣơng trình lành tính.
Mâu thuẫn
Nếu chƣơng trình diệt virus không áp dụng đủ tất cả các thuật toán kiểm tra có
thể dẫn đến các kết luận sai. Mặt khác nếu nó áp dụng tất cả các phƣơng pháp kiểm tra
để xác nhận một kết quả quét thì sẽ mất nhiều thời gian để quét. Chúng ta muốn có
một kết quả đúng khi tiến hành quét, nhƣng đồng thời cũng không muốn mất nhiều
thời gian cho việc quét.
Kết quả mong muốn
- Các chƣơng trình diệt virus không nên cho phép bất kỳ virus nào thâm nhập vào
hệ thống.
- Mỗi một phƣơng pháp kiểm tra phải chứng tỏ khả năng phát hiện bất kỳ loại
virus nào
Giải pháp có thể
⇛ Bằng sáng chế 5684875 (đƣợc Hans Ellenberger đề xuất vào tháng 11 năm
1997) đề nghị tránh sử dụng tất cả các thuật toán phát hiện tại cùng thời điểm, điều
này có thể dẫn đến mất nhiều thời gian để quét. Nó gợi ý để lựa chọn một hoặc một vài
thuật toán để sử dụng mỗi khi tiến hành quét, các thuật toán có thể đƣợc lựa chọn ngẫu
nhiên hoặc có thể đƣợc chọn theo một số tiêu chí nhất định. Ngay cả khi một virus
không bị phát hiện bởi một vài thuật toán đƣợc chọn, thì cơ hội sống sót của nó cũng
rất thấp vì nó có thể đƣợc phát hiện một thuật toán khác.
e. Quét các tập tin nén cần nhiều thời gian hơn
Trong khi quét các dấu hiệu của virus, các tập nén cần phải đƣợc giải nén trƣớc
khi tìm kiếm các chuỗi dấu hiệu của virus. Phƣơng pháp này làm cho thời gian quét
tăng. Tình hình còn trở nên tồi tệ hơn khi một virus thông minh tạo ra phiên bản nén
cao hơn của các tập tin lớn một cách cố ý vì biết rằng phần mềm diệt virus sẽ phải giải
nén tập tin để quét virus bên trong nó. Trong những trƣờng hợp nhƣ vậy chƣơng trình
34
diệt virus yêu cầu sử dụng nhiều bộ nhớ vật lý/ bộ nhớ ảo và do đó ảnh hƣởng đáng kể
đến hiệu suất của máy tính.
Kết quả mong muốn
- Các tập tin đƣợc nén có thể tự bảo vệ mình khỏi virus.
- Chƣơng trình quét có thể phát hiện virus trong các tập tin nén ngay cả khi
không giải nén chúng.
Giải pháp có thể:
⇛ Sử dụng các phƣơng pháp nhanh hơn để giải nén các tập tin.
⇛ Khi một chƣơng trình diệt virus mất một thời gian dài bất thƣờng để giải nén
một tập tin trong quá trình quét, một số hệ thống quy định một ngƣỡng thời gian(time -
out) trong quá trình quét (Nguyên lý-21: Nguyên lý vượt nhanh). Điều này giúp
chƣơng trình diệt virus tránh khỏi vòng lặp có thể đƣợc tạo ra bởi virus.
f. Quét lập lại nhiều lần lãng phí thời gian
Nhiều tập tin đƣợc quét lặp đi lặp lại trong mỗi một lần quét mặc dù chúng
chƣa bao giờ đƣợc sử dụng hoặc bị thay đổi bởi bất cứ ai. Do đó, mặc dù chỉ có ít hơn
1% các tập tin đã đƣợc sử dụng hoặc bị thay đổi, một phiên quét sẽ phải quét một số
lƣợng lớn các tập tin trong một thời gian dài.
Kết quả mong muốn
- Chỉ các tập tin bị nhiễm virus đƣợc quét, còn các tập tin khác thì không.
- Mỗi lần một tập tin đƣợc quét và không có virus thì không nên quét trong các
lần tiếp theo.
Giải pháp có thể
⇛Lần quét kế tiếp chỉ đƣợc thực hiện khi một tập tin bị sửa đổi chứ không phải
chỉ vì nó đƣợc mở hoặc đóng bởi một chƣơng trình.
⇛US Patent 5473769 ("Phƣơng pháp và thiết bị để tăng tốc độ phát hiện virus
máy tính", tác giả Paul D. Cozza) đƣa ra một phƣơng pháp tránh việc quét lặp đi lặp
lại cùng một đối tƣợng. Phƣơng pháp này lƣu giữ một tập hợp các thông số nhƣ trạng
thái AV (chẳng hạn nhƣ chi tiết của lần quét cuối cùng) trong một cơ sở dữ liệu. Đối
35
tƣợng chỉ đƣợc quét nếu đối tƣợng đó mới hoặc nếu đối tƣợng bị thay đổi kể từ lần
quét sau cùng. Mặt khác đối tƣợng chỉ đƣợc bỏ qua bởi máy quét nếu đối tƣợng không
có thay đổi kể từ lần quét cuối.
⇛ Các kết quả lần quét trƣớc đó có thể đƣợc lƣu trữ trong bộ đệm hoặc cơ sở dữ
liệu để tham chiếu trong lần quét tiếp theo.
3. Sáng chế cải thiện tốc độ quét
Có rất nhiều phát minh đề xuất các kỹ thuật khác nhau nhằm cải thiện tốc độ
của một quá trình quét virus. Sau đây là một số phát minh mới từ bằng cơ sở dữ liệu
sáng chế từ nƣớc Mỹ.
a. Quét virus nhanh (bằng sáng chế số 6763466)
Vấn đề
Để giảm bớt thời gian và tài nguyên cần thiết cho việc quét virus, một số kỹ
thuật lƣu lại thông tin chi tiết của lần quét gần nhất và không quét các lại các tập tin
trừ khi chúng đƣợc sửa đổi. Nhƣng việc lƣu và truy cập vào trạng thái AV có thể sinh
ra một số vấn đề.
Mâu thuẫn
Nếu trạng thái AV đƣợc lƣu trữ trong bộ nhớ đệm(cache) thì tốc độ của việc
truy cập dữ liệu này là rất nhanh. Tuy nhiên, dữ liệu lƣu trong bộ đệm chỉ giới hạn
trong một khoảng thời gian. Sau khoảng thời gian đó thì dữ liệu sẽ bị xóa để nhƣờng
tài nguyên cho các dữ liệu khác. Mặt khác, nếu trạng thái của AV đƣợc lƣu trữ trong
một tập tin dữ liệu riêng biệt thì dữ liệu có thể đƣợc lƣu trữ vĩnh viễn, nhƣng đổi lại
thời gian truy cập sẽ chậm hơn. Chúng ta muốn lƣu trữ trạng thái AV vĩnh viễn và việc
truy cập vào dữ liệu cũng không mất nhiều thời gian.
Sáng chế- Quét virus nhanh (Patent 6763466)
Bằng sáng chế 6763466 (đƣợc sáng chế bởi Glover, Networks Associates
Technology uỷ nhiệm, tháng 7 năm 2004) giới thiệu một phƣơng pháp quét virus
nhanh. Theo đó, thông tin trạng thái của phần mềm diệt virus đƣợc lƣu trữ trong một
cấu trúc dữ liệu liên quan, chẳng hạn nhƣ, các tập tin chƣa đƣợc sử dụng của cùng cơ
sở dữ liệu thƣ mục nơi mà hệ thống tập tin duy trì thông tin về mỗi tập tin (Nguyên lý
22: Nguyên lý chuyển bại thành thắng).
36
Sáng chế thử tìm những tài nguyên có sẵn bên trong hệ thống và sử dụng
chúng. Nó lƣu trữ các thông tin trạng thái AV trong cơ sở dữ liệu dạng thƣ mục đã
đƣợc tạo ra và duy trì bởi các tập tin của hệ thống máy tính (TRIZ: Các tài nguyên hệ
thống). Sáng chế cũng đề nghị tạo thêm tập tin fork trong cơ sở dữ liệu thƣ mục để lƣu
giữ các thông tin AV (Nguyên lý-31: Sử dụng vật liệu nhiều lỗ).
Phƣơng pháp lƣu trữ dữ liệu trạng thái AV là cực kỳ nhanh nhƣ dữ liệu AV đối
với một tập tin đƣợc lấy ra từ hệ thống tập tin tại thời điểm khi tập tin đang đƣợc truy
cập bởi một chƣơng trình ứng dụng.
Phƣơng pháp này cũng khuyên rằng nên mã hóa các thông tin trạng thái AV
trƣớc khi lƣu trữ nó trong cấu trúc dữ liệu và giải mã thông tin trạng thái AV khi nó
đạt đƣợc cấu trúc dữ liệu an toàn hơn.
b. Kiểm tra trật từ điều khiển (bằng sáng chế 6898712)
Vấn đề
37
Với việc các virus mới hàng ngày đƣợc tạo ra, số lƣợng các kiểm tra cần thiết
cũng tăng cho phù hợp. Nhƣ vậy, quá trình quét virus đòi hỏi ngày càng tăng dung
lƣợng bộ nhớ hệ thống và thời gian xử lý để thực hiện các bài kiểm tra. Cần thiết phải
giảm tải xử lý đối với chƣơng trình diệt virus.
Mâu thuẫn
Chúng ta muốn quét riêng từng loại virus để chắc chắn không có virus nào thoát
khỏi mà không bị phát hiện. Tuy nhiên khi đó sẽ cần nhiều thời gian và tài nguyên của
hệ thống. Chúng ta muốn bảo vệ máy tính trƣớc tất cả các virus, nhƣng đồng thời cũng
không muốn mất nhiều thời gian hay các tài nguyên hệ thống.
Sáng chế - Kiểm tra trật tự điều khiển (bằng sáng chế 6898712)
Bằng sáng chế 6898712 (đƣợc phát minh bởi Vignoles, Networks Associates
Technology uỷ nhiệm, tháng 5 năm 2005) cung cấp một phƣơng pháp quét virus nhanh
hơn bằng cách chỉ áp dụng các bài kiểm tra đƣợc lựa chọn.
Nhƣ đã biết, virus máy tính có rất nhiều loại khác nhau. Một số virus chỉ tấn
công các tập tin thực thi (exe và com), trong khi các virus khác nhƣ virus macro thì chỉ
lây nhiễm các tập tin tài liệu nhƣ MSWord. Nhƣ vậy nếu áp dụng các thuật toán kiểm
tra cho một tập tin exe vào một tập bị nhiễm virus dạng macro là vô nghĩa.
Theo lý thuyết trên, sáng chế cung cấp một tập hợp các cách điều khiển kiểm
tra diệt virus, và sự phân loại liên quan đến việc ƣu tiên sử dụng phƣơng pháp nào đối
với các tập tin máy tính đích. Máy kiểm tra chỉ áp dụng các bài kiểm tra cụ thể dựa
trên sự phân loại cho trƣớc.(Nguyên lý-2: Nguyên lý tách riêng, Nguyên lý-
21:Nguyên lý vượt nhanh)
38
Trình điều khiển các bài kiểm tra của chƣơng trình diệt virus đƣợc phân loại
theo cách biểu diễn các mối đe dọa cao nhất và/hoặc áp dụng các cách nhanh trƣớc,
thay vì áp dụng toàn bộ các bài kiểm tra trong thƣ viện . Thứ tự ƣu tiên tƣơng đối để áp
dụng cho điều khiển diệt virus có thể nhƣ sau: một thử nghiệm cho một loại virus mới
phát hành, một loại virus lây nhiễm rất cao, một virus gây tổn hại cao, một loại virus
phổ biến, một bài kiểm tra nhanh chóng, một virus đe doạ mức trung bình, một loại
virus hiếm và một bài kiểm tra thực hiện chậm chạp. Tuy nhiên, sự sắp xếp ƣu tiên có
thể đƣợc tự động thay đổi tùy thuộc vào loại tập tin và các yếu tố khác (Nguyên lý 15:
Nguyên lý năng động hóa).
Các kiểu tập tin
đƣợc quét
Nhúng
HTML
MARCO GENERAL
TROJAN/
WORM
GRUNT
Các tập tin thực
thi
Tài liệu
File đính kèm
Email
Nội dung Email
Các kiểu đ iều
khiển
39
Thứ tự ƣu tiên khi quét virus
Theo sáng chế thì một hoạt động quét có thể đƣợc chấm dứt sớm bởi ngƣời
dùng trƣớc khi hoàn thành. Trong hoàn cảnh này thì điều quan trọng là chỉ có các bài
kiểm tra ƣu tiên cao nhất sẽ đƣợc áp dụng nhƣ vậy nguy cơ liên quan với việc chấm
dứt sớm của quá trình quét virus đƣợc giảm đi(Nguyên lý-16: Nguyên lý tác động bộ
phận hoặc dư thừa).
Các sáng chế cũng mở rộng thêm bằng sáng chế 6938161 do cùng một tác giả
và ngƣời uỷ nhiệm (phát minh bởi Vignoles, Networks Associates Technology uỷ
nhiệm, tháng 8 năm 2005). Sáng chế phân loại các trình điều khiển nhƣ máy quét
email, máy quét tập tin đính kèm email, các tác nhận quét đầu vào, các máy quét yêu
cầu, máy quét tƣờng lửa, máy chủ mạng... và đặt chúng theo một thứ tự ƣu tiên khi
quét.
c. Phương pháp và thiết bị để giảm thiểu quét tập tin bằng chương trình diệt
virus (bằng sáng chế số 6928555)
Vấn đề
Khi số lƣợng của virus máy tính đƣợc quét bằng các chƣơng trình diệt virus
tăng lên, thời gian cần thiết cho chức năng quét một tập tin đầu vào cũng tăng tƣơng
ứng. Cần thiết phải giảm thời gian máy tính dành cho các chức năng quét nhƣng không
ảnh hƣởng đến an toàn của máy.
Ƣu tiên
cao nhất
Ƣu tiên
thấp nhất
Loại virus mớ i nhất
Virus lây nhiễm cao
Virus gây hại cao
Virus phổ biến
Kiểm tra thực h iện nhan
Virus mức đe doạ trung bình
Kiểm tra thực h iện chậm
40
Sáng chế - Phương pháp và thiết bị để giảm thiểu quét tập tin bằng các
chương trình chống vius (bằng sáng chế 6928555)
Bằng sáng chế 6928555 (phát minh bởi Drew, Networks Associates
Technology uỷ nhiệm, tháng 8 năm 2005) trình bày một phƣơng pháp giảm thời gian
quét bằng cách tránh quét các tập tin nếu không đƣợc sửa đổi trong khoảng thời gian
sau khi mở và trƣớc khi đóng.
Trong phƣơng pháp này, đầu tiên chƣơng trình quét một tập tin khi tập tin đƣợc
yêu cầu mở. Nó cho phép các tập tin đƣợc mở ra nếu tập tin đƣợc tìm thấy không bị
nhiễm virus. Tƣơng tự nhƣ vậy, khi các tập tin đã mở đƣợc yêu cầu đóng, chƣơng trình
diệt virus quét tập tin một lần nữa để đảm bảo rằng tập tin là không bị nhiễm virus khi
nó đƣợc mở.
Phƣơng pháp sáng chế không quét một tập tin chỉ vì nó đƣợc mở ra để sửa đổi.
Sáng chế kiểm tra "dirty cache buffer" của các hệ điều hành để kiểm tra xem tập tin có
đƣợc sửa đổi thực sự sau khi đƣợc mở. Nếu tập tin chƣa đƣợc chƣa sửa đổi thì phƣơng
pháp cho rằng tập tin sạch và bỏ qua việc quét nó (Nguyên lý-21: Nguyên lý vượt
nhanh).
Phƣơng pháp này thậm chí còn không quét một tập tin đối với tất cả các sửa
đổi. Nó tiếp tục kiểm tra xem liệu phần có thể bị nhiễm virus có đƣợc đƣợc sửa đổi
hay không (Nguyên lý – 35: Đổi các thông số hoá lý của đối tượng). Nếu một phần
bị nhiễm virus chƣa sửa đổi thì tập tin đƣợc coi là chƣa sửa đổi và bỏ qua bƣớc
quét.(Nguyên lý-21: Nguyên lý vượt nhanh). Tuy nhiên, nếu phần có thể nhiễm virus
bị sửa đổi thì tập tin đƣợc coi là sửa đổi và đƣợc đƣa ra để quét.
Phƣơng pháp này làm giảm thời gian cần thiết để quét vì bỏ qua nhiều tập tin
không bị nghi ngờ. Tuy nhiên, nó không thỏa hiệp với tính an toàn nhƣ là khi nó quét
tất cả các tập tin nghi ngờ.
41
YES YES
Tập tin sạch cho phép
ghi
Tập tin đƣợc mở
để truy cập
Quét tập tin
Yêu cầu đóng tập tin
Lƣu dữ liệu để quản lý tập
tin thay đổi
Cung cấp tập tin cho ứng
dụng của ngƣời dùng
NO
NO
Quét tập tin
Cho phép ghi
Tập tin thực
sự đƣợc viết
Tập tin bị
sửa theo
cách có thể
tạo virus
Tập tin bị
nhiễm virus
Từ chối
ghi
Xong
NO
YES
42
d. Phương pháp và thiết bị để tăng tốc độ phát hiện virus sử dụng một cơ sở
dữ liệu (bằng sáng chế 6952776)
Vấn đề
Khi số lƣợng và độ phức tạp của virus tăng, và số lƣợng tập tin cũng tăng lên,
thời gian cần thiết để quét một hệ thống máy tính chuẩn cũng tăng lên cho phù hợp.
Thời gian quét = số lƣợng virus x số các đối tƣợng tập tin.
Tuy nhiên, thông thƣờng một hệ thống diệt virus quét lặp đi lặp lại các tập tin
giống nhau trong mỗi phiên quét mặc dù tập tin có thể đã không bao giờ đƣợc sử dụng
bởi bất cứ ai. Vì vậy cần thiết tránh việc quét lặp đi lặp lại này.
Một trong những giải pháp để tránh quét lặp đi lặp lại cùng một đối tƣợng là
duy trì một cơ sở dữ liệu thông tin về tình trạng của các đối tƣợng đƣợc quét. Đối
tƣợng đƣợc quét chỉ khi đối tƣợng đó mới hoặc nếu đối tƣợng bị thay đổi kể từ lần
quét cuối cùng của nó. Đối tƣợng đƣợc bỏ qua không quét nếu đối tƣợng không bị thay
đổi kể từ khi quét cuối cùng của nó (US Patent 5473769 - "Phƣơng pháp và Thiết bị
tăng tốc độ phát hiện virus máy tính ", bởi Paul D.Cozza).
Vấn đề
Kỹ thuật nói trên duy trì thông tin trạng thái AV chỉ có hiệu quả nếu tập tin đƣợc
quét dựa vào cùng một danh sách virus. Tuy nhiên, kỹ thuật này không có lợi thế nếu
danh sách các virus đƣợc cập nhật giữa các lần quét.
Ví dụ, khi các công ty sản xuất chƣơng trình diệt virus thêm các dấu hiệu virus
vào cơ sở dữ liệu định nghĩa virus của họ một cách thƣờng xuyên, có khả năng là
ngƣời sử dụng cũng đã tải về các bản cập nhật cơ sở dữ liệu định nghĩa virus sau lần
Lần quét đầu tiên Các lần quét
sau
Tập tin
có thay
đổi
43
quét trƣớc. Trong trƣờng hợp này nếu máy quét bỏ qua một tập tin theo trạng thái lần
quét cuối cùng thì tập tin giữ lại có thể bị nhiễm virut do một trong những virus đƣợc
thêm mới. Do đó, để có đƣợc lợi ích của các định nghĩa virus cập nhật thì các thông tin
quét cuối cùng phải đƣợc khởi tạo.
Sự mâu thuẫn
Nếu máy quét khởi tạo trạng thái quét cuối cùng và quét lại các đối tƣợng dựa
vào cơ sở dữ liệu định nghĩa vi rút đƣợc cập nhật thì khi đó việc quét virus mất thời
gian dài và không nhận đƣợc bất kỳ lợi ích từ cơ sở dữ liệu trạng thái quét cuối cùng.
Mặt khác, nếu nó theo trạng thái quét cuối cùng và bỏ qua các đối tƣợng không quét
thì nó không có đƣợc những lợi ích của việc cập nhật cơ sở dữ liệu virus và rời khỏi
đối tƣợng có thể đã bị nhiễm virut.
Sáng chế - Phương pháp và thiết bị để tăng tốc độ phát hiện virus bằng
cách sử dụng một cơ sở dữ liệu (bằng sáng chế 6952776)
Bằng sáng chế 6952776 (phát minh bởi Chess, Machines Corporation uỷ nhiệm,
tháng 10 năm 2005) trình bày một cơ sở dữ liệu trạng thái quét cải tiến tiết kiệm thời
gian trong lần quét tiếp theo thậm chí nếu cơ sở dữ liệu định nghĩa virus đã đƣợc cập
nhật giữa các lần quét.
Sáng chế lƣu trữ thông tin trạng thái quét đƣợc cải thiện dựa trên việc mỗi đối
tƣợng tập tin (Nguyên lý-38: Sử dụng các chất oxy hoá) có chứa thông tin bổ sung,
điều này cần thiết để xác định một tập tin đã bị thay đổi hay chƣa kể từ lần quét sau
cùng,
44
Thông tin trạng thái đƣợc cải thiện xác định có hay không việc các đối tƣợng
xuất hiện thay đổi kể từ điểm cuối cùng trong quá khứ, và trong trƣờng hợp cho biết
đối tƣợng không xuất hiện thay đổi, cho dù cơ sở dữ liệu phát hiện virus xuất hiện thay
đổi kể từ điểm đã đƣợc nói đến trong quá khứ. Phƣơng pháp quét virus này đòi hỏi ít
thời gian hơn so với các kỹ thuật thông thƣờng vì phƣơng pháp này không phải luôn
luôn quét lại ngay cả khi định nghĩa virus đã thay đổi (Nguyên lý-21: Nguyên lý vượt
nhanh).
e. Cung cấp các điểm ngừng trong một hoạt động quét virus (Bằng sáng chế
6968461)
Vấn đề
Có thể là tác giả viết các virus để tấn công các hệ thống diệt virus theo nhiều
cách khác nhau. Ví dụ, một loại virus có thể tạo ra phiên bản nén cao hơn của các tập
tin rất lớn biết rằng phần mềm diệt virus phải giải nén tập tin để quét virus bên trong
nó. Vì các tập tin đƣợc giải nén là đủ lớn, chƣơng trình diệt virus có thể mất thời gian
rất dài để quét hoặc có thể tiêu thụ quá mức bộ nhớ vật lý và bộ nhớ ảo do vậy ảnh
hƣởng đến hiệu suất của hệ thống.
Thời gian cần thiết để giải nén = fn (kích thƣớc của tập tin thực tế, độ phức tạp của
thuật toán nén).
Chƣơng
trình phát
hiện virus
Đối tƣợng
bản ghi
Database
Đối tƣợng bản ghi thứ n
Các mô tả virus
Đĩa
Đối tƣợng
A.DOC
B.VDX
C.COM
..
Boot record
45
Để khắc phục vấn đề này một số hệ thống diệt virus định thời gian chờ cho một
thao tác quét virus nếu vƣợt quá thời gian đƣợc xác định trƣớc. Tuy nhiên, phƣơng
pháp này có một nhƣợc điểm là chậm hoặc quá tải hệ thống máy tính có thể kết thúc
không thích hợp một thao tác quét virus sử dụng tiếp cận thời gian hết hạn đơn giản.
Cần thiết phải có một cách tiếp cận đáng tin cậy hơn để chấm dứt việc quét kéo dài
nhƣ vậy.
Sự mâu thuẫn
Nếu một quá trình quét kéo dài không có thời gian tạm ngƣng thì hệ thống diệt
virus có thể có thể sử dụng số lƣợng bộ nhớ ảo hoặc vật lý quá nhiều do đó ảnh hƣởng
đến hiệu suất của hệ thống. Tuy nhiên, thời gian tạm ngƣng một phiên quét kéo dài có
thể chấm dứt không phù hợp một hoạt động quét bình thƣờng trong máy tính chậm
hoặc quá tải do đó ảnh hƣởng đến sự thoả hiệp. Chúng ta muốn chấm dứt một phiên
quét kéo dài quá mức, nhƣng không muốn hệ thống trở nên thực sự chậm chạp.
Sáng chế (Cung cấp các điểm dừng trong một quá trình quét virus - Patent
6.968.461)
Bằng sáng chế 6968461 (phát minh bởi Lucas, Networks Associates
Technology uỷ nhiệm, tháng 11 năm 2005) cung cấp một phƣơng pháp kích hoạt điểm
dừng trong suốt hoạt động quét mà không ảnh hƣởng đến hệ thống.
Sáng chế chấp nhận rằng nếu một số lƣợng lớn dữ liệu đang đƣợc xử lý trong
suốt hoạt động quét virus của một tập tin máy tính đơn thì có thể thích hợp để chấm
dứt việc quét virus trƣớc khi hoạt động này hoàn thành. Tuy nhiên, nó cung cấp mức
độ bổ sung tinh tế bằng cách so sánh kích thƣớc của các tập tin máy tính đƣợc quét.
Nếu kích thƣớc của một tập tin lớn, nó không kết thúc sớm vì có thể đòi hỏi hợp pháp
một lƣợng lớn dữ liệu đƣợc xử lý trong quá trình quét.(Nguyên lý 16: Nguyên lý tác
động bộ phận và dư thừa).
Trƣớc hết cách quét này tính toán giá trị đo dựa trên lƣợng dữ liệu xử lý đƣợc
thực hiện trong thao tác quét và sau đó kích hoạt một điểm dừng nếu giá trị đo đƣợc
nói trên vƣợt quá một giá trị ngƣỡng (Nguyên lý 9: Nguyên lý gây ứng suất sơ bộ).
46
Sáng chế trình bày các phƣơng pháp khác nhau để tính giá trị đo dùng để kích
hoạt điểm dừng. Điều này là hữu ích khi một số phƣơng pháp quét có thể tƣơng đối
nhanh và đơn giản, trong khi đó, các kiểm tra khác nhƣ một phân tích heuristic để phát
hiện một loại virus đa hình có thể đòi hỏi một lƣợng lớn dữ liệu trong xử lý. (Nguyên
lý 16: Nguyên lý tác động bộ phận và dư thừa).
Một kỹ thuật để có đƣợc giá trị đo bằng cách đo tổng kích thƣớc của dữ liệu
đƣợc xử lý trong quá trình quét virus và tính tỷ lệ so với kích thƣớc của tập tin máy
tính đang đƣợc quét virus. Nếu tỷ lệ này vƣợt quá một ngƣỡng định trƣớc thì quá trình
quét virus có thể ngừng lại.
Tỉ lệ =
Tổng số dữ liệu xử lý
kích thƣớc tập tin đã quét
Một kỹ thuật khác để có đƣợc giá trị đo là tổng hợp giá trị độ phức tạp của các
bài kiểm tra đƣợc áp dụng cho các tập tin máy tính. Giá trị độ phức tạp đƣợc kết hợp
với đa số các bài kiểm tra đƣợc áp dụng trong hoạt động quét virus. Tổng cộng giá trị
độ phức tạp đƣợc sử dụng để kích hoạt một chấm dứt sớm khi vƣợt quá mức ngƣỡng
của từng cái tƣơng ứng của chúng.
Các tập
tin
không
nén
Tập
tin
nén
Tiếp tục
hay dừng?
Time out x lƣợng
dữ liệu đƣợc xử lý
Time
x lƣợng dữ liệu
xử lý
47
Vì vậy, sáng chế giám sát kích thƣớc của dữ liệu đƣợc xử lý trong thời gian quét
virus hoạt động và xem xét độ phức tạp của phƣơng pháp quét để xác định xem ngừng
hoặc tiếp tục quá trình quét kéo dài. Vì không thể đo chính xác kích thƣớc của dữ liệu
xử lý cần thiết, sáng chế xem xét các phƣơng pháp khác nhau để đi đến một giá trị đo
và so sánh với một giá trị ngƣỡng (Nguyên lý-40: Sử dụng vật liệu tổng hợp,
Nguyên lý- 16: Nguyên lý tác động bộ phận và dư thừa).
f. Hệ thống, phương pháp và sản phẩm chương trình máy tính cho việc loại
bỏ đĩa đọc thời gian trong quá trình quét virus (bằng sáng chế 7036147)
Vấn đề
Trong một hoạt động quét vi rút điển hình máy quét phải đọc tất cả các dữ liệu
từ một đĩa và so sánh các dữ liệu gần giống dấu hiệu virus. Do đó, không chỉ lƣợng
dấu hiệu virus tăng trì hoãn quá trình quét, mà việc đọc dữ liệu thực tế đƣợc quét từ
đĩa cũng mất rất nhiều thời gian. Trong một phiên quét điển hình, khoảng 40% thời
gian thực hiện bởi máy quét đƣợc tiêu thụ bởi việc đọc dữ liệu từ đĩa.
Mặc dù một bộ nhớ cache thƣờng tăng tốc độ đọc dữ liệu từ đĩa, nhƣng trong
trƣờng hợp bộ nhớ cache tiêu chuẩn không giúp đỡ, khi đó máy quét vẫn phải chờ đợi
các dữ liệu đƣợc đọc từ đĩa trƣớc khi nó có thể đƣợc đặt trong bộ nhớ cache.
Sáng chế - Hệ thống, phương pháp và chương trình máy tính sản phẩm
loại bỏ thời gian đọc đĩa trong suốt quá trình quét virus (bằng sáng chế số
7036147)
Bằng sáng chế 7036147 (phát minh bởi Hursey, McAfee uỷ nhiệm, tháng 4 năm
2006) tiết lộ một phƣơng pháp quét tăng tốc bằng cách đọc dữ liệu trong một luồng
riêng biệt trong khi luồng chính bận rộn quét dữ liệu trƣớc khi đọc.
Phát minh thực hiện hai luồng song song. Luồng đầu tiên đƣợc sử dụng để đọc
dữ liệu từ đĩa và luồng thứ hai đƣợc sử dụng để quét dữ liệu. Luồng đầu tiên của hoạt
động đƣợc thực hiện song song với luồng thứ hai trong khi một phần đầu tiên của dữ
liệu đang đƣợc quét, một phần thứ hai của các dữ liệu đƣợc quét đang đƣợc đọc và lƣu
trữ. Phƣơng pháp này tránh sự chậm trễ liên quan đến đọc phần thứ hai của dữ liệu.
48
Đọc các tập tin theo các luồng riêng biệt
Phát minh thực hiện hai luồng song song, một luồng đầu tiên để đọc dữ liệu và
một luồng thứ hai để quét dữ liệu (Nguyên lý-1: Nguyên lý phân nhỏ). Luồng đầu
tiên của hoạt động đƣợc thực hiện song song với luồng thứ hai trong khi một phần đầu
tiên của dữ liệu đang đƣợc quét, một phần thứ hai của các dữ liệu đƣợc quét đang đƣợc
đọc và lƣu trữ (Nguyên lý 10: Nguyên lý thực hiện sơ bộ). Phƣơng pháp này tránh sự
chậm trễ nói chung gây ra bởi các hoạt động đọc đĩa.
Sáng chế cũng tiếp tục cung cấp một phƣơng pháp cân bằng giữa việc quét và
đọc đĩa. Nếu đọc dữ liệu chậm hơn so với số lƣợng đƣợc định trƣớc thì mô hình truy
cập tập tin phù hợp đƣợc tạo ra để đọc dữ liệu nhanh hơn. Tuy nhiên, nếu quá trình
quét chậm hơn so với số lƣợng định trƣớc thì mô hình truy cập tập tin là không thay
đổi, vì tình trạng này không gây ra bất kỳ sự chậm trễ bằng việc đọc đĩa (Nguyên lý-
12: Nguyên lý đẳng thế).
g. Phát hiện sự thay theo đổi chiều hướng độc hại của các tập tin máy tính
lưu trữ (bằng sáng chế số 7043634)
Vấn đề
Vì số lƣợng virus đã biết tăng lên nên lƣợng xử lý đòi hỏi đối với chức năng
quét virus cũng tăng. Hơn nữa, bởi vì chi phí lƣu trữ dữ liệu giảm, số lƣợng chuẩn của
các tập tin máy tính đƣợc lƣu trữ trong một hệ thống máy tính cũng tăng lên nhanh
chóng. Sự kết hợp của cả hai yếu tố này làm tăng tải xử lý nhẹ và thời gian xử lý dẫn
đến bất lợi lớn. Đây là nhu cầu đối với một phƣơng pháp quét nhanh hơn.
Luồng thứ
hai
Luồng thứ
nhất
Bộ quét
virut
Đọc và lƣu
trữ các tập tin
đã đƣợc quét
Quét các tập
tin
49
Một trong những giải pháp cho vấn đề này là kiểm tra tính toàn vẹn, việc kiểm
tra này nhanh hơn nhiều so với tìm kiếm hàng ngàn các đặc tính virus trong một tập
tin. U.S. Pat No. 5619095, U.S Pat. No. 5502815 và U.S Pat. No. 5473815 mô tả các
hệ thống tìm kiếm để phát hiện sự thay đổi trong các tập tin máy tính bằng cách tạo ra
các đặc tính dữ liệu của các tập tin máy tính khi lần đầu tiên tạo ra và sau đó so sánh
nó với các dữ liệu tƣơng tự đƣợc tạo ra khi cố gắng truy cập đến tập tin đó để xem tập
tin đó đã bị thay đổi hay chƣa.
Vấn đề
Tất cả các tập tin không thích hợp cho việc kiểm tra tính toàn vẹn. Ví dụ các tập
tin dữ liệu và các tập tin tài liệu đƣợc thay đổi thƣờng xuyên bởi ngƣời sử dụng và sẽ
dễ dàng thất bại trong mỗi lần kiểm tra toàn vẹn. Bên cạnh việc so sánh các tập tin lớn
với bản sao của nó đƣợc lƣu trữ có thể mất nhiều thời gian. Cần thiết có một phƣơng
pháp nhanh hơn việc so sánh các tập tin với các bản sao chép đƣợc lƣu lại. Hơn nữa
cũng phải bảo vệ bản sao đƣợc lƣu trữ không bị thay đổi theo hƣớng độc hại.
Phát minh - Phát hiện thay đổi độc hại của các tập tin máy tính được lưu
trữ (bằng sáng chế số 7.043.634)
Bằng sáng chế 7043634 (phát minh bởi Wolff, et al., McAfee uỷ nhiệm, tháng 5
năm 2006) trình bày một phƣơng pháp phát hiện các vi rút máy tính bằng cách so sánh
một tập tin với bản sao đƣợc lƣu của nó. Sáng chế nhận ra rằng nhiều tập tin, nhƣ exe
và dll, không thay đổi trong quá trình sử dụng hàng ngày, ví dụ dữ liệu ngƣời dùng
đƣợc lƣu trữ chuẩn trong các tài liệu, bảng tính, cơ sở dữ liệu và kiểu tập tin khác.
Trong trƣờng hợp này thì so sánh một tập tin với lƣu trữ của nó nhanh hơn việc quét
hàng ngàn dấu hiệu của vi rút có thể có trong tập tin.(Nguyên lý 26: Nguyên lý sao
chép, Nguyên lý-35: Đổi các thông số hoá lý của đối tượng).
Sáng chế đƣa ra một tập tin so sánh logic để so với một tập tin có lƣu trữ bản sao
của các tập tin nói trên. Nếu các tập tin trùng khớp thì nó có thể đƣợc nhanh chóng
thông qua nhƣ là tập tin sạch đƣợc sử dụng bình thƣờng. Nếu các tập tin không trùng
khớp khi đó một bộ quét vi rút đƣợc kích hoạt.
50
Phƣơng pháp này kiểm tra một tập tin nhanh hơn nhiều so với phƣơng pháp ƣu
tiên của việc quét các dấu hiệu. Tuy nhiên, kỹ thuật lƣu trữ và so sánh có thể đƣợc áp
dụng một cách chọn lọc cho một tập vài loại tập tin, chẳng hạn nhƣ các tập tin thực thi
và các thƣ viện liên kết động, những loại không thƣờng xuyên đƣợc sửa đổi trong các
hoạt động của ngƣời sử dụng. Phƣơng pháp này không làm việc tốt đối với các tập tin
dữ liệu bị thay đổi thƣờng xuyên bởi ngƣời sử dụng.
Mặc dù các bản sao lƣu trữ của các tập tin có thể đƣợc lƣu trữ theo nhiều cách
khác nhau, chẳng hạn nhƣ dạng không đƣợc mã hóa đơn giản, sáng chế ƣu tiên lƣu trữ
theo dạng mã hóa để bảo mật tốt hơn (Nguyên lý-36: Sử dụng chuyển pha). Lƣu trữ
cũng có thể đƣợc giữ trong một phần khác của đĩa hoặc trong một đĩa riêng biệt để bảo
mật tốt hơn (Nguyên lý-2: Nguyên lý tách riêng).
4. Tóm tắt thông tin
Khi số lƣợng virus tăng thì thời gian để quét các virus cũng tăng lên. Tình trạng
này trở nên tồi tệ hơn vì chi phí lƣu trữ dữ liệu đang giảm và số lƣợng các tập tin đƣợc
lƣu trữ trong một hệ thống máy tính đang tăng. Bên cạnh đó nhiều kiểm tra phức tạp
đƣợc yêu cầu để phát hiện các virut thông minh của thời hiện đại. Vì vậy, một sự kết
hợp của tất cả những yếu tố này làm cho một loại virus quét rất kéo dài và tốn tài
nguyên.
Máy tính
Tập hợp các
tập tin chính
Chương
trình diệt
vi rút
Bản sao của
các tập tin
51
Ngoài những lý do trên cũng có những yếu tố khác để tạo ra bộ quét virut lâu
hơn. Ví dụ, chức năng quét của các tập tin nén mất nhiều thời gian nhƣ các tập tin
chƣa đƣợc nén trƣớc khi quét. Bên cạnh đó rất nhiều thời gian bị lãng phí do quét các
tập tin nhiều lần trong các phiên quét khác nhau. Hơn nữa thuật toán so sánh tập tin và
tìm kiếm có thể tăng thời gian quét.
Có nhiều giải pháp đƣợc đƣa ra bởi các nhà sáng chế khác nhau nhằm tăng tốc độ
quét virus. Một vài giải pháp nhƣ sau:
⇛ Lƣu trữ các trạng thái AV của các tập tin quét trƣớc đó và tránh quét lại các tập tin
trong mỗi lần quét tiếp theo
⇛ Lựa chọn các tập tin để quét ( ví dụ các tập tin có thay đổi kể từ lần quét cuối) và
không quét tất cả các tập tin.
⇛ Thậm chí là các tập tin bị thay đổi có thể bỏ qua việc quét nếu phần có thể bị nhiễm
virus không bị thay đổi.
⇛ Áp dụng các phƣơng pháp tìm kiếm chuỗi cải tiến trong trƣờng hợp quét dấu hiệu.
⇛ Áp dụng phƣơng pháp cải tiến so sánh tính toàn vẹn.
⇛ Giảm thời gian đọc đĩa bằng cách chia thành các luồng khi đọc.
⇛ Cải tiến tốc độ truy cập dữ liệu trạng thái AV bằng cách lƣu trữ nó trong các thƣ
mục tập tin hệ thống.
IV. Kết luận
Với sự phát triển nhanh chóng của công nghệ thông tin ngày nay, máy tính có
rất nhiều nguy cơ tiềm ẩn từ virus gây ảnh hƣởng đến dữ liệu lƣu trữ quan trọng của
ngƣời dùng. Chính vì vậy có rất nhiều nhu cầu đặt ra đối với sự phát các chƣơng trình
diệt virus, các nhu cầu này lại mẫu thuẫn với nhau. Tuy nhiên, các sự mâu thuẫn có thể
đƣợc giải quyết bằng các áp dụng các nguyên lý sáng tạo và các phƣơng pháp khác của
TRIZ. Nhiều mâu thuẫn đã đƣợc giải quyết bằng nhiều cách trong quá khứ và sẽ đƣợc
giải quyết thậm chí là hiệu quả hơn trong trƣơng lai. Có nhiều vấn đề liên quan đến
việc phát hiện và bảo vệ máy tính không bị nhiễm virus, nhƣng các vấn đề quan trọng
có thể liệt kê nhƣ sau:
52
- Giới hạn của các phƣơng pháp quét dấu hiệu, quét heuristic..
- Sử dụng phân tích hành vi nhƣ phƣơng pháp quét virus
- Kỹ thuật cải tiến truy cập quét
- Quản lý kích thƣớc và phân phối của các tập tin định nghĩa virus
- Cải tiến tốc độ quét virus…
Trong bài thu hoạch đề cập đến chi tiết của vấn đề cải tiến tốc độ quét virus. Có
thể thấy nhờ áp dụng các phƣơng pháp sáng tạo TRIZ một cách đúng đắn mà các sáng
chế đã và đang đƣợc sử dụng mang lại hiệu quả cao. Sự phát triển không dừng lại ở đó
mà trong tƣơng lai, có thể còn có sự ra đời của nhiều sáng chế khác hiệu quả hơn nhờ
sử dụng các phƣơng pháp sáng tạo TRIZ. Ví dụ nhƣ, do phƣơng pháp quét dấu hiệu
phụ thuộc vào nhận dạng mẫu, nếu có một phƣơng pháp nhận dạng mẫu đƣợc cải tiến
và tốt hơn, có thể đƣợc sử dụng cho mục đích này để tăng tốc độ quá trình quét virus.
53
Tham khảo
1. US Patent 6763466, “Fast virus scanning”, Inventor- Glover, assignee Networks
Associates Technology, July 2004
2. US Patent 6898712, “Test driver ordering”, Inventor- Vignoles, et al., assignee
Networks Associates Technology, May 2005
3. US Patent 6938161, “Test driver selection”, Inventor- Vignoles et al., assignee
Networks Associates Technology, Aug 2005
4. US Patent 6928555, “Method and apparatus for minimizing tập tin scanning by anti-
virus programs”, Inventor- Drew, assignee Networks Associates Technology, Aug
2005.
5. US Patent 6952776, “Method and apparatus for increasing virus detection speed
using a database”, Inventor- Chess, assignee International Business Machines
Corporation, Oct 2005
6. US Patent 6968461, “Providing break points in a malware scanning operation”,
Inventor- Lucas, et al. assignee Networks Associates Technology, Nov 2005
7. US Patent 7036147, “System, method and computer program product for
eliminating disk read time during virus scanning”, Inventor- Hursey, assignee McAfee,
April 2006
8. US Patent 7043634, ““Detecting malicious alteration of stored computer files”,
Inventor- Wolff,
et al., assignee McAfee, May 2006
9. Umakant Mishra, "The Revised 40 Principles for Software Inventions ", trizsite
tạp chí, July 2006,
10. US Patent and Trademark Office (USPTO) site,
11. Bài giảng môn học : Phƣơng pháp nghiên cƣ́u khoa hoc̣ trong tin hoc̣ ; Giảng viên :
GS. TSKH Hoàng Văn Kiếm
12. TRIZ and Software - 40 Principle Analogies , Part 1/Part ,
journal.com/archives/2001/11/e/index.htm
13. 40 nguyên lý sáng taọ
Các file đính kèm theo tài liệu này:
- huynh_thi_le_quyen_1212032_6711.pdf