Xem mẫu

  1. Tuyển tập Hội nghị Khoa học thường niên năm 2020. ISBN: 978-604-82-3869-8 PHÒNG CHỐNG VIRUS MÁY TÍNH Ở CẤP ĐỘ HỆ ĐIỀU HÀNH Phạm Thanh Bình Khoa Công nghệ thông tin - Đại học Thuỷ lợi, email: binhpt@tlu.edu.vn 1. GIỚI THIỆU CHUNG thay đổi so với bản gốc. Đây là một đặc điểm Cuộc chiến chống virus máy tính (VRMT) cơ bản giúp nhận dạng ra file bị nhiễm virus. ngày càng trở nên dai dẳng. Cứ mỗi khi có Khi nằm trong bộ nhớ, virus thường tìm một virus mới ra đời, các phần mềm diệt cách truy cập vào những địa chỉ vùng nhớ virus lại cố gắng tìm cách diệt và cập nhật ngoài quyền hạn được phép. Một số virus virus mới vào cơ sở dữ liệu của nó. Những còn tìm cách tự biến đổi mã lệnh nhị phân người viết virus lại tìm cách sửa đổi virus để (virus đa hình) nhằm qua mặt phần mềm diệt qua mặt phần mềm diệt, virus mới lại xuất virus. Đây là những đặc điểm giúp nhận diện hiện… Quá trình đó cứ lặp đi lặp lại và chưa virus khi nó thi hành trong bộ nhớ biết lúc nào sẽ kết thúc. [1] Để lây được sang file khác, virus buộc Liệu có giải pháp nào giúp ngăn chặn phải gọi tới các hàm truy cập file của hệ điều virus hiệu quả hơn so với việc sử dụng các hành. Đây là đặc điểm giúp ta có thể phát chương trình diệt virus đó không? Trong hiện và giám sát hành động của virus ở cấp khuôn khổ bài viết này chúng tôi xin đề nghị hệ điều hành. một giải pháp hoàn toàn khác: Chủ động phòng ngừa virus ở cấp thấp - cấp hệ điều 3.2. Đề xuất giải pháp hành, chứ không ngồi chờ virus lây lan rồi Virus muốn lây lan hay phá hoại thì mã mới dùng phần mềm để diệt. lệnh của nó phải được kích hoạt. Do đó 2. PHƯƠNG PHÁP NGHIÊN CỨU nguyên tắc cơ bản là phải ngăn chặn virus từ trước khi nó được kích hoạt, hoặc kiểm soát Để tìm kiếm giải pháp toàn diện cho việc từng hành động của nó khi nó đã kích hoạt. phòng chống VRMT, trước tiên chúng tôi tiến hành nghiên cứu những kỹ thuật cơ bản Điều đó chỉ có thể được thực hiện ở cấp hệ nhất của virus, như kỹ thuật lây lan, kỹ thuật điều hành. Dưới đây là 3 giải pháp tương ứng ngụy trang, kỹ thuật phá hoại… từ đó đúc rút với 3 mức độ bảo vệ: ra những đặc điểm chung nhất của VRMT. a) Giám sát nguồn gốc phần mềm Biết được những đặc điểm cơ bản đó của Hầu hết các chương trình máy tính đều virus, ta có thể tìm ra những nguyên tắc dành chỗ để chứa các thông tin về tác giả, chung để nhận dạng và phát hiện virus khi bản quyền, số hiệu phiên bản... Nếu ta bổ chúng chưa kịp kích hoạt và lây lan. Bước sung thêm vào đó một chút thông tin nhận tiếp theo là xây dựng được một quy trình dạng phần mềm nữa thì hiệu quả đem lại sẽ phòng chống virus ở cấp thấp với nhiều mức rất thú vị. Giả sử ta gắn vào mỗi file chương bảo vệ khác nhau. trình mã hash của chính nó, nếu file này bị nhiễm virus và bị thay đổi, hệ điều hành có 3. KẾT QUẢ NGHIÊN CỨU thể dễ dàng phát hiện điều đó khi so sánh 3.1. Một số đặc điểm cơ bản của virus chương trình với mã hash đính kèm: máy tính [2] Proc||Hash(Proc) Virus thường gắn bản thân nó vào một file Do kích thước mã hash khá nhỏ nên việc thi hành khác khi lây lan, khiến cho file đó bị đính kèm sẽ không ảnh hưởng lớn tới kích 84
  2. Tuyển tập Hội nghị Khoa học thường niên năm 2020. ISBN: 978-604-82-3869-8 thước chương trình. Tuy nhiên nếu chỉ làm + Các lệnh tham chiếu tới mã lệnh (như đơn giản như vậy thì một virus thông minh lệnh nhảy và lệnh Call) chỉ được phép tham có thể tự làm giả mã hash sau khi lây vào chiếu tới vùng nhớ chứa mã lệnh được cấp. file. Giải pháp chặt chẽ hơn là tiến hành mã + Mọi lời gọi tới hàm hệ thống luôn được hoá mã hash của chương trình bằng khoá hệ điều hành giám sát. riêng của tác giả chương trình đó (PRA), Bất cứ hành động nào vi phạm quy tắc nói virus không biết PRA nên không thể làm giả trên sẽ bị ngăn chặn và không thể thi hành. mã hash đính kèm: Nếu chương trình có chứa virus, và virus Proc||E(PRA,Hash(Proc))||E(PRCA,PUA) muốn tìm cách sao chép bản thân nó ra ngoài Để hệ điều hành có thể giải mã mã hash và vùng nhớ được cấp, hành động đó sẽ bị ngăn kiểm tra tính hợp lệ của chương trình, ta chặn. Một số virus đa hình cần thay đổi mã cũng cần đính kèm theo khoá công khai của lệnh của nó thường xuyên, tức là nó phải truy tác giả chương trình (PUA). Đề phòng trường cập vào vùng nhớ chứa mã lệnh để tiến hành hợp virus làm giả cặp khoá của tác giả, PUA đọc/ ghi (giống như đọc/ ghi dữ liệu), hành cần được xác minh bởi một tổ chức đáng tin động đó cũng không thể thực hiện được. cậy (CA - Certificate Authority), dưới dạng Nếu virus không lây lan trong bộ nhớ, có một chứng chỉ số: E(PRCA,PUA), trong đó thể nó sẽ tìm cách lây vào các file thi hành PRCA là khoá riêng của tổ chức CA. [3] trong ổ đĩa, hoặc sao chép file chứa nó thành Như vậy mỗi lập trình viên hay nhà sản nhiều bản trên các ổ đĩa khác nhau. Muốn xuất phần mềm cần phải gắn vào sản phẩm vậy nó cần gọi tới các hàm hệ thống để truy chứng chỉ số của mình, để đảm bảo nguồn cập file hay đĩa. Do các hàm hệ thống đều gốc phần mềm, cũng như chịu trách nhiệm được giám sát, một hành động đáng ngờ như về phần mềm mình làm ra. mở một file thi hành để ghi, ghi đè lên một Khi thi hành một chương trình trong máy file thi hành, hay tự động sao chép bản tính, việc đầu tiên mà hệ điều hành cần làm thân… sẽ bị phát hiện và từ chối. là kiểm tra nguồn gốc chương trình, so sánh chương trình với mã hash đính kèm. Nếu Thường thì các file thì hành rất hiếm khi chương trình có nguồn gốc không hợp lệ bị thay đổi, trừ khi nó được cập nhật lên (chứng chỉ số không hợp lệ), hoặc mã hash phiên bản mới hay được cài đặt lại. Nếu chương trình không khớp thì chương trình sẽ không phải các lý do đó thì gần như chắc bị từ chối thi hành. chắn là do virus. Nhưng nếu một chương b) Kiểm soát chương trình trong bộ nhớ trình vô hại thực sự muốn cập nhật lên phiên Nếu vượt qua được mức bảo vệ thứ nhất bản mới, liệu hành động đó có bị hiểu nhầm nói trên thì chương trình sẽ được hệ điều là nguy hiểm và bị hệ điều hành từ chối hành cho phép thi hành. Như vậy không có không? Tất nhiên bộ phận giám sát hàm hệ nghĩa là chương trình hoàn toàn vô hại. Rất thống đủ thông minh để phân biệt điều đó. có thể người viết virus đã dùng một thủ thuật Đích của virus là lây lan sang file khác chứ nào đó (như tạo hồ sơ giả) để vượt qua vòng không phải là lây vào chính nó. kiểm duyệt của CA, và có được một chứng Giả sử bằng cách nào đó virus vẫn lây được chỉ số hợp lệ, nhờ đó chương trình chứa virus vào một file thi hành khác, thì hành động đó sẽ qua được khâu kiểm tra nguồn gốc. Lúc cũng sẽ trở nên vô nghĩa vì file mới nhiễm sẽ này cần đến mức bảo vệ thứ hai. Ở lần chạy không thể thi hành được, do virus không thể đầu tiên, chương trình sẽ được thi hành trong cập nhật một mã hash mới cho file. chế độ kiểm soát đặc biệt: Như vậy mọi hành động nhằm lây lan hay + Mã lệnh và dữ liệu của chương trình được ngụy trang của virus đều sẽ bị ngăn chặn, một nạp vào những vùng nhớ riêng biệt. chương trình có những lệnh đáng ngờ như vậy + Các lệnh tham chiếu tới dữ liệu chỉ được sẽ bị từ chối thi hành. Tuy nhiên việc kiểm phép tham chiếu tới các địa chỉ bộ nhớ trong soát tới từng lệnh tham chiếu như trên sẽ làm vùng dữ liệu đã cấp. chậm đáng kể tốc độ thi hành của chương 85
  3. Tuyển tập Hội nghị Khoa học thường niên năm 2020. ISBN: 978-604-82-3869-8 trình, và chỉ nên thực hiện trong lần chạy đầu Việc thiết kế lại hệ điều hành có thể ảnh tiên tính từ khi file chương trình được cài đặt hưởng tới các hệ thống đang tồn tại, tới các vào máy tính. Nhưng nếu virus đủ khôn ngoan phần mềm hiện có, tới thói quen của người để không có hành động đáng ngờ nào trong lần dùng… Tất cả những vấn đề nói trên đòi hỏi chạy đầu tiên, và nó chỉ ra tay hành động vào phải có quá trình chuyển đổi, tốn nhiều thời một thời điểm bất ngờ khác? Lúc đó sẽ cần tới gian và không dễ thực hiện. mức bảo vệ thứ ba dưới đây. c) Hệ điều hành có cơ chế phân quyền 4. KẾT LUẬN chặt chẽ Việc thiết kế và xây dựng một hệ điều Với hai mức bảo mật nói trên, nếu chương hành an toàn sẽ giúp ngăn chặn được sự lây trình chứa virus vẫn vượt qua được thì nó lan và phát triển của virus máy tính từ gốc. cũng không thể lây lan hay biến hình được, Nhưng những khó khăn chủ yếu lại nằm ở tức là nó không thực sự là một virus nữa. Nhưng nó vẫn có thể nằm im chờ thời như vấn đề con người. Liệu người dùng có chấp một trojan horse hay logic bomb, đến một nhận thay đổi thói quen để có được sự an thời điểm nhất định sẽ bất ngờ phá huỷ các toàn không? file dữ liệu trên đĩa! Dự đoán hành động phá Ngoài vấn đề thói quen cũng cần kể đến hoại của virus không dễ dàng, vì việc truy vấn đề tài chính. Về mặt kỹ thuật, việc xây cập và đọc/ghi vào các file dữ liệu vốn là một dựng một hệ điều hành hoạt động theo hành động hợp pháp và không bị nghi ngờ. nguyên tắc nêu trên không phải là quá khó, Để hạn chế tối đa hậu quả phá hoại của nhưng nó lại khác biệt với đa số các hệ điều virus, các hệ điều hành cần được thiết kế với hành đang tồn tại, tức là sẽ phải chỉnh sửa lại một cơ chế phân quyền chặt chẽ. Mỗi người cả hệ thống phần mềm ứng dụng kèm theo. dùng hay nhóm người dùng chỉ được cấp Điều đó đồng nghĩa với việc phải chi thêm những quyền hạn nhất định đối với những nhiều tiền để có các phần mềm mới. khu vực dữ liệu nhất định. Khi đó nếu virus Tuy nhiên vấn đề này đã từng có tiền lệ. bất ngờ tiến hành phá hoại các file dữ liệu thì Khi MicroSoft chuyển đổi hệ điều hành hậu quả cũng chỉ nằm trong phạm vi hạn chế Windows từ nền tảng cũ sang nền tảng NT của một người dùng cụ thể, chứ không ảnh (New Technology), ban đầu họ cũng gặp rất hưởng chung tới toàn hệ thống. nhiều khó khăn, nhưng dần dần cũng được Cùng với hành động phá hoại, virus cũng người dùng chấp nhận. Hy vọng trong tương để lộ bản thân. Do không còn khả năng lây lai sẽ xuất hiện những hệ điều hành mới lấy lan hay nguỵ trang, việc tiêu diệt virus sẽ trở nên hết sức dễ dàng. thiết kế an toàn làm chủ đạo. Các nghiên cứu liên quan 3.3. Những khó khăn và hạn chế Các công trình nghiên cứu của Ludwig [4] Mục tiêu của giải pháp này là ngăn chặn hay Nachenberg [1] đã tổng hợp rất đầy đủ virus, tức là những mã lệnh có khả năng lây về virus và cuộc chiến chống virus máy tính. lan. Do đó đối với những mã độc không tự lây 5. TÀI LIỆU THAM KHẢO lan được như trojan horse hay logic bomb thì vẫn chưa có giải pháp triệt để. (Khi nguồn gốc [1] Carey Nachenberg, 1997, Computer virus- phần mềm được giám sát chặt chẽ, những mã antivirus coevolution, ACM. độc loại này cũng sẽ hạn chế, nếu người dùng [2] Andrew S. Tanenbaum, 2001, Modern cảnh giác, không tuỳ tiện chạy chương trình lạ Operating Systems, Prentice Hall. thì sẽ không bao giờ bị nhiễm). [3] William Stallings, 2006, Cryptography and Network Security, Prentice Hall. Việc gắn mã hash và chứng chỉ số của tác [4] Mark Ludwig, 2009, The Giant Black Book giả vào chương trình đòi hỏi cần có sự thay Of Computer Viruses, CreatSpace. đổi toàn diện trong thói quen của lập trình viên và công tác phân phối phần mềm. 86
  4. Tuyển tập Hội nghị Khoa học thường niên năm 2020. ISBN: 978-604-82-3869-8 87
nguon tai.lieu . vn