Tải bản đầy đủ (.docx) (70 trang)

virus portal hệ thống tra cứu thông tin virus

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.68 MB, 70 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
Virus Portal
Hệ thống tra cứu thông tin virus
Sinh viên thực hiện : Nguyễn Văn Khiêm
Lớp CNPM – K51
Giáo viên hướng dẫn: ThS Đỗ Văn Uy
HÀ NỘI 05-2011
Virus Portal – Hệ thống tra cứu thông tin virus
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
- Họ và tên sinh viên: Nguyễn Văn Khiêm
- Điện thoại liên lạc: 0984777559 Email:
- Lớp:CNPM-K51 Hệ đào tạo: Chính quy
- Đồ án tốt nghiệp được thực hiện tại: Trung tâm an ninh mạng Bkis – Công ty BKAV
- Thời gian làm ĐATN: Từ ngày 01/02/2011 đến 01/05/2011
2. Mục đích nội dung của ĐATN
Xây dựng hệ thống Virus Portal hỗ trợ tra cứu, thống kê tình hình virus cho các chuyên
viên tại công ty an ninh mạng Bkav.
3. Các nhiệm vụ cụ thể của ĐATN
- Xây dựng, quản lý cơ sở dữ liệu lưu trữ thông tin về virus
- Xây dựng các công cụ để trớch rỳt thông tin virus và cập nhật vào cở sở dữ liệu.
- Xây dựng cổng thông tin về virus hỗ trỡ tra cứu thông tin virus và thống kê tình hình virus.
4. Lời cam đoan của sinh viên
- Tôi – Nguyễn Văn Khiêm - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới
sự hướng dẫn của Ths. Đỗ Văn Uy.
- Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ


công trình nào khác.
Hà Nội, ngày 26 tháng 05 năm 2011
Tác giả ĐATN
Nguyễn Văn Khiêm
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép
bảo vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
ThS. Đỗ Văn Uy
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
2
Virus Portal – Hệ thống tra cứu thông tin virus
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
3
Virus Portal – Hệ thống tra cứu thông tin virus
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin, số lượng máy
tính tăng lên nhanh chóng, hầu như sinh viên nào gia đình nào cũng sở hữu ít nhất
một chiếc máy tính. Cùng với sự phổ biến của internet hầu hết các máy tính đều
được nối mang. Đõy là một điều kiện thuận lợi để virus máy tính phát triển và lây
lan. Là một công ty hoạt động trong lĩnh vực an ninh thông tin, Bkav không ngừng
phát triển các hệ thống thu thập virus nhằm tăng cường cho khả năng bảo vệ máy
tính của người sử dụng. Hàng ngày có hàng nghìn mẫu được thu thập rồi đem xử lý.
Số lượng mẫu và hàm diệt này ngày càng nhiều đặt ra các yêu cầu cấp bách về tổ
chức lưu trữ sao cho hợp lý tiết kiệm tài nguyên hệ thống, yêu cầu về trích rỳt cỏc
thông tin về mẫu, hàm diệt lưu trữ vào cơ sở dữ liệu. Các thông tin này sẽ được
dùng vào nhiều mục đích khác nhau: để tra cứu, hỗ trợ công việc xử lý virus của
chuyên viên trong công ty, đưa ra những thống kê giúp lãnh đạo nắm bắt tình hình
của virus cũng như hoạt động của hệ thống từ đó đưa ra các giải pháp, điều chỉnh
kịp thời.

Nội dung của đồ án trình bày quá trình tìm hiểu cơ sở lý thuyết về Portal và
các công nghệ liên quan, từ đó áp dụng vào giải quyết các vấn đề về tổ chức lưu trữ,
khai thác thông tin virus tại công ty an ninh mạng Bkav. Phần cuối, đồ án trình bày
giải pháp xây dựng hệ thống virusportal hỗ trợ tra cứu thông tin virus.
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
4
Virus Portal – Hệ thống tra cứu thông tin virus
ABSTRACT OF THESIS
Today, with the strong development of information technology, the number
of computers are rapidly increasing, almost every student, every home owns at least
one computer. Along with the popularity of the Internet, most of the computers are
connected to this network. This is a favorable condition for computer viruses to
spread. Being an internetwork security company, Bkav is constantly developing
virus collecting systems in order to better protect users’ computers. Every day, there
are thousands of samples collected and then processed. The increasing number of
samples and disinfect functions creates an urgent need for a reasonable storing way
so that we can economize on the system resource; as well as need for the extracting
and archiving information from the samples and disinfect functions. The
information will be used for many different purposes: for future looking up,
supports the virus analysing of Bkav professionals in the company, assists leaders in
grasping the virus and the operation of the systems, from which to work out timely
solutions.
My thesis presents the theory of Portal and the technologies used to build a
Virus Portal system, in order to solve issues relating the storing and exploiting of
virus information in Bkav. In last chapter, the theory presents a solution for the
building of Virus Portal system.
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
5
Virus Portal – Hệ thống tra cứu thông tin virus
MỤC LỤC

Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
6
Virus Portal – Hệ thống tra cứu thông tin virus
DANH MỤC CÁC HèNH
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
7
Virus Portal – Hệ thống tra cứu thông tin virus
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
8
Virus Portal – Hệ thống tra cứu thông tin virus
Tên thuật ngữ Diễn giải
Hàm diệt Đoạn chương trình để nhận diện và xử lý mã độc
File sạch Những file không phải là virus ví dụ như file của các phần
mềm, các tools, của hệ điều hành.
MD5 – FileMD5 Giá trị băm của toàn bộ file sử dụng hàm băm MD5
VirusInstaller Một file thực thi giúp: cài đặt virus lờn mỏy test và thiết lập môi
trường để thử nghiệm
Writer Người viết hàm diệt
Link Link download virus
VendorName Tên nhà cung cấp mẫu
Ticker Người đánh dấu trạng thái của một mẫu virus (đã xử lý, là virus,
là file sạch,…)
BkcFile File nén chứa mẫu
BkCRC, BkMD5 Các giá trị hash của một file
MSSQL Microsoft SQL Server
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
9
Virus Portal – Hệ thống tra cứu thông tin virus
MỞ ĐẦU
Chúng ta đang sống trong kỷ nguyên số với sự phát triển mạnh mẽ của

internet và máy vi tính. Đây cũng là môi trường thuận lợi cho virus máy tính phát
triển, lây lan. Để bảo vệ người sử dụng máy tính trước những mối nguy hại từ virus,
Công ty An ninh mạng BKAV không ngừng mở rộng và phát triển các hệ thống thu
thập mẫu virus. Bên cạnh các hệ thống thu thập mẫu từ khách hàng, hệ thống thu
thập mẫu lây lan qua USB là các hệ thống bẫy mẫu như Honeypot (thu thập mẫu
qua các nguồn download, update của virus), Nepenthes (hệ thống bẫy virus dựa vào
các lỗ hổng dịch vụ của hệ điều hành), và Botnet tracking (hệ thống thu thập mẫu
qua các mạng bootnet).
Mỗi ngày có hàng nghìn mẫu được thu thập, tiến hành xử lý và cập nhật vào
cơ sở dữ liệu. Phát triển song song với các hệ thống thu thập mẫu là các hệ thống:
phân tích phát hiện virus theo hành vi và phát hiện virus thông minh. Nhược điểm
của hệ thống này là xác suất nhầm file sạch với file virus. Đây là điều rất nguy hiểm
vì việc diệt nhầm file sạch của một phần mềm hay của hệ điều hành có thể làm
phầm mềm không chạy được và hệ điều hành mất một số tính năng. Vì vậy một cơ
sở dữ liệu về file sạch dùng để đối chiếu là rất cần thiết để khắc phục nhược điểm
này. Cơ sở dữ liệu trên cũng được dùng để phân loại các mẫu thu thập từ khách
hàng (một nguồn mẫu có số file sạch bị lẫn khá lớn) trước khi đưa vào xử lý.
Trong quá trình xử lý virus hàng ngày, các chuyên viên phân tích các mẫu
virus và viết hàm diệt. Công việc này cần tham khảo rất nhiều các thông tin về virus
như các hành vi của virus, các hàm diệt cũ, nguồn thu thập, các mô tả khỏc…. Sau
khi hoàn tất các hàm diệt này sẽ được kiểm tra kỹ lưỡng rồi tổng hợp lại và cập nhật
vào phần mềm bkav. Mặc dù quy trình kiểm tra rất nghiêm ngặt nhưng do điều kiện
thực tế trờn mỏy của khách hàng rất đa dạng nên vẫn có trường hợp hàm diệt bị lỗi
(không diệt được virus). Khi đó cần phải nhanh chóng tìm lại hàm diệt cùng với
mẫu mà nó đó xử lý để xem xét, sửa lỗi và cập nhật lại hàm diệt mới.
Do chưa có một công cụ hỗ trợ tìm kiếm nên công việc tra cứu các thông tin
về virus vẫn được tiến hành bằng phương pháp thủ công. Với số lượng hàm diệt và
mẫu ngày càng lớn, phương pháp này tiêu tốn khá nhiều thời gian. Thực trạng này
đặt ra một yêu cầu cấp bách là phải có một hệ thống hỗ trợ tìm kiếm, tra cứu các
thông tin virus. Một vấn đề khác, do các hệ thống được xây dựng phát triển để đáp

ứng nhu cầu của từng giai đoạn cụ thể nên tới thời điểm hiện tại những dữ liệu của
chúng không thống nhất và lưu trữ rải rác. Vì vậy cần phải tổ chức lưu trữ lại các dữ
liệu này một cách có hệ thống, từ đó tiến hành trớch rỳt cỏc thông tin để nhập vào
cơ sở dữ liệu làm nguồn cho hệ thống tìm kiếm.
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
10
Virus Portal – Hệ thống tra cứu thông tin virus
Với hiện trạng như vậy và nhu cầu thực tế đặt ra, dưới sự hướng dẫn của
thầy giáo ThS Đỗ Văn Uy tôi đã xây dựng và phát triển một cổng thông tin virus.
Mục tiêu của đồ án là đưa ra một giải pháp để giải quyết các vấn đề này. Cụ thể đồ
án thực hiện hai nhiệm vụ chính: một là tổ chức lưu trữ các thông tin về virus một
cách có hệ thống. Hai là, xây dựng một cổng thông tin virus để phục vụ tra cứu
cũng như đưa ra các thống kê về tình hình thu thập xử lý virus.
Tôi xin chân thành cảm ơn viện Công nghệ thông tin và truyền thông –
Trường Đại học Bách Khoa Hà Nội và thầy giáo hướng dẫn ThS Đỗ Văn Uy đã
giúp đỡ và tạo điều kiện thuận lợi nhất để tôi hoàn thành đồ án tốt nghiệp này.
Đồ án này còn là lời cám ơn sự giúp đỡ nhiệt tình của các chuyên viên của
Phòng 3 - R&D - Công ty Bkav trong suốt quá trình tôi thực tập tốt nghiệp tại Công
ty.
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
11
Virus Portal – Hệ thống tra cứu thông tin virus
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
Chương này sẽ giới thiệu Virus Portal là gì và các công nghệ sử dụng trong
đồ án để xây dựng hệ thống Virus Portal.
1. Virus Portal là gì
Portal - Cổng thông tin điện tử - là một trang web mà từ đó người truy cập có
thể dễ dàng truy xuất các thông tin trên W3
1
. Cổng thông tin sẽ trình bày thông tin

từ các nguồn khác nhau một cách thống nhất.Lợi ích lớn nhất mà cổng thông tin
điện tử đem lại là tính tiện lợi, dễ sử dụng.
2
Virus Portal là một cổng thông tin về virus, tập trung các thông tin virus từ
nhiều nguồn khác nhau, chuẩn hoỏ chỳng để phục vụ các yêu cầu tra cứu, thống kê
liên quan đến virus.
2. Cỏc công nghệ sử dụng để xây dựng hệ thống Virus Portal
Có nhiều công nghệ có thể sử dụng để xây dựng Portal, đồ án này sử dụng
ASP.NET để xây dựng hệ thống VirusPortal.
2.1. ASP.NET
ASP.NET là một web application framework được phát triển bới Microsoft
để xây dựng các website, web applications và webservices. Phiên bản đầu tiên (năm
2002) của ASP.NET ra đời cùng với .NET Framework version 1.0 nối tiếp của công
nghệ Microsoft's Active Server Pages (ASP). ASP.NET biên dịch dưới dạng
Common Language Runtime (CLR) cho phép người dùng có thế viết code sử dụng
các ngôn ngữ khác nhau được .NET language hỗ trợ như C#, VB.NET … ASP.NET
còn có khả năng xử lý SOAP messages.
3
.NET Framework là một framework của Microsoft dựng trờn windows. Nó
bao gồm các thư viện, các class hỗ trợ rất tốt cho các lập trình viên xây dựng các
ứng dụng liên quan tới web, cơ sở dữ liệu, giao diện người dùng và giao tiếp mạng.
C# là một ngôn ngữ lập trình hướng đối tượng của Microsoft gắn liền với
.NET. Nó được phát triển dựa trên C++ và Java. C# được đánh giá là ngôn ngữ có
được sự cân bằng giữa C++,Visual Basic, và Java.
SOAP – Simple Object Access Protocol- một giao thức dùng để trao đổi các
thông tin có cấu trúc của Web Services. SOAP có cấu trúc message dựa trên XML
1 W3 – Word Wide Web: là một hệ thống các tài liệu siêu văn bản được liên kết với nhau, cho phép người
truy cập qua mạng internet và xem các trang web qua các trình duyệt như firefox, internet explorer, opera….
2 />3 />Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
12

Virus Portal – Hệ thống tra cứu thông tin virus
(eXtensible Markup Language), và dựa trên các giao thức của Application Layer
như là Remote Procedure Call (RPC) và HTTP về quá trình đối thoại và truyền
message.
ASPX
Các file .aspx chứa code của các webform – khối chính trong phát triển ừng
dụng. Người lập trình có thể đặt nội dung tĩnh hoặc động vào trang aspx dưới dạng
web control và user control. Ngoài ra có thể chốn cỏc đoạn code vào.
Ví dụ: một đoạn code C# được chèn vào file aspx để hiện thời gian hiện tại:
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" />
<script runat="server">

protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToLongDateString();
}

</script>

<html xmlns=" /><head runat="server">
<title>Sample page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
The current time is: <asp:Label runat="server" id="Label1" />
</div>

</form>

</body>
</html>
Code-behind
Mô hình code-behind đưa ra cách để những đoạn mã lập trình trong những
thẻ script. Cách viết này sẽ làm cho phần code xử lý tách biệt với phần code giao
diện thuận tiện hơn cho lập trình và debug. Các tập tin code-behind có đuôi .aspx.cs
được tạo với tên dựa trên tập tin .aspx (được sinh tự động bởi IDE Microsoft Visual
Studio). Các đoạn mã xử lý các sự kiện đều cất trong file .aspx.cs ví dụ như sự kiện
người dùng kích chuột lên một nút hay lúc page được tải lên.
Ví dụ: cách khai báo file.aspx.cs
<%@ Page Language="C#" CodeFile="SampleCodeBehind.aspx.cs"
Inherits="Website.SampleCodeBehind"
AutoEventWireup="true" %>
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
13
Virus Portal – Hệ thống tra cứu thông tin virus
Đoạn code trên file .aspx. CodeFile là tập tin chứa code xử lý .cs hoac .vb
tùy theo ngôn ngữ sử dụng là C# hay VB, Inherits là class tương ứng.
using System;

namespace Website
{
public partial class SampleCodeBehind : System.Web.UI.Page
{
protected override void Page_Load(EventArgs e)
{
\\ code xử lý được viết ở đây
}

}
}
Đoạn code trên file .aspx.cs để xử lý xự kiện khi trang aspx được load lên
mỗi khi người dùng request.
User Control
User controls là những phần đóng gói của một trang web đã được đăng ký và
sử dụng như những controls trong ASP.NET. Code của user controls đặt trong file
.ascx và code xử lý tương ứng với mỗi controls trong file ascx.cs.
Ví dụ về đăng ký một User control:
<%@ Register Src="~/uploadMultilFile.ascx" TagName="uploadMultiFile"
TagPrefix="upload" %>
Custom controls
Không giống như user control, custom controls có code đã được biên dịch
trong file DLL (dynamic link library) – những file dll này dễ dàng import vào
toolbox của editor visulstudio. Sau khi import, có thể kéo thả các controls này để
tạo một webform.
Cookies
Cookies cung cấp một phương tiện hữu ích trong các ứng dụng Web để lưu
trữ một số thông tin về người dùng. Ví dụ, khi người dùng truy cập trang web của
bạn, bạn có thể sử dụng các cookie để lưu các sở thích người dùng hoặc các thông
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
14
Virus Portal – Hệ thống tra cứu thông tin virus
tin khác. Khi người dùng truy cập trang web của bạn vào một thời gian khác, các
ứng dụng có thể lấy các thông tin được lưu trữ trước đó.
2.2. Microsoft SQL Server
MS SQL là một hệ quản trị sở dữ liệu theo mô hình quan hệ được sản xuất
bới Microsoft. Ngôn ngữ truy vấn chính của nó gồm T-SQL và ANSI SQL. MS
SQL bao gồm các công cụ và dịch vụ giúp tăng hiệu năng, khả năng mở rộng và độ
tin cậy như: repication, full-text search, truy cập trên HTTP.

2.3. HTML & CSS
HTML
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu chủ yếu cho
các trang web. HTML là các khối cơ bản để xây dựng lên các trang web.
Nội dung trang web bao gồm các thẻ HTML, được bọc trong dấu ngoặc nhọn
(ví dụ như <html>). Thẻ HTML thông thường đi theo cặp như <h1> và </ h1>. Các
tag đầu tiên trong một cặp là thẻ bắt đầu, thẻ thứ hai là thẻ kết thúc (chúng cũng
được gọi là thẻ mở và thẻ đóng). Giữa hai thẻ này những nhà thiết kế web có thể
thêm văn bản, bảng biểu, hình ảnh, vv….
Mục đích của một trình duyệt web là để đọc tài liệu HTML và biên soạn
chúng thành các hình ảnh hay âm thanh trên trang web. Các trình duyệt không hiển
thị các thẻ HTML, nhưng sử dụng các thẻ để giải thích nội dung của trang.
Các thành phần HTML hình thành các khối xây dựng của tất cả các trang
web. Ta có thể nhỳng các hình ảnh và đối tượng vào HTML để tạo ra các hình thức
tương tác. Nó cung cấp một phương tiện để tạo ra các tài liệu có cấu trúc cho văn
bản như tiêu đề, đoạn văn, danh sách, liên kết…. Có thể nhúng các ngôn ngữ kịch
bản như JavaScript vào HTML để thay đồi hành vi của các trang web HTML, làm
chúng sinh động hơn, linh hoạt hơn.
Trình duyệt web cũng có thể tham khảo Cascading Style Sheets (CSS) để
hiển thị các văn bản và tài liệu khác theo những bố cục và định dạng đặc biệt. Tổ
chức W3C phát triển và bảo trì cả hai tiêu chuẩn HTML và CSS.
CSS
Cascading Style Sheets (CSS) là một ngôn ngữ bảng mẫu được sử dụng để
mô tả các ngữ nghĩa của bài trình bày (giao diện và định dạng) của một tài liệu viết
bằng một ngôn ngữ đánh dấu. Ứng dụng của nó phổ biến nhất là để định dạng các
trang web viết bằng HTML và XHTML, nhưng ngôn ngữ cũng có thể được áp dụng
cho bất kỳ loại tài liệu XML, bao gồm cả XML đơn giản, SVG, XUL.
CSS được thiết kế chủ yếu để cho phép tách biệt nội dung tài liệu (bằng văn
bản trong HTML hoặc một ngôn ngữ đánh dấu tương tự) và cách trình bày tài liệu,
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm

15
Virus Portal – Hệ thống tra cứu thông tin virus
bao gồm các yếu tố như cách bố trí, màu sắc, và phông chữ. Điều này có thể cải
thiện khả năng tiếp cận nội dung, cung cấp linh hoạt hơn và dễ kiểm soát hơn trong
đặc tả các đặc điểm trình bày, cho phép nhiều trang chia sẻ cùng một định dạng, và
làm giảm tính phức tạp và lặp đi lặp lại trong nội dung cấu trúc (chẳng hạn như
bằng cách cho phép thiết kế web không dùng đến các bảng). CSS cũng có thể cho
phép các trang đánh dấu tương tự để được trình bày trong các kiểu khác nhau trên
các phương pháp vẽ khác nhau, chẳng hạn như trên màn hình, trong in ấn, bằng
giọng nói (khi đọc bằng một trình duyệt dựa trên lời nói hoặc đọc màn hình) và dựa
trên chữ nổi Braille, các thiết bị xúc giác. Trong khi các tác giả của một tài liệu
thường liên kết tài liệu vào một bảng mẫu CSS, bạn đọc có thể sử dụng một kiểu
khác, một kiểu trong máy tính của mình, để ghi đè lên kiểu mà tác giả đã chỉ định.
2.4. Visual Studio 2008
Đây là bộ công cụ đầy đủ đẩy nhanh quá trình biến các ý tưởng của nhà phát
triển thành hiện thực. Visual Studio 2008 được thiết kế nhằm hỗ trợ cho các dự án
phát triển hướng đến nền tảng Web (như ASP.NET AJAX), Windows Vista, Visual
Studio 2008, hệ thống Microsoft Office 2007, SQL Server 2008 và các thiết bị sử
dụng Windows Mobile. Ngày nay, các nhà phát triển phải đối mặt với thách thức
phải bao quát được nhiều loại nền tảng và ứng dụng thủ công nhanh chóng đem lại
giá trị cho tổ chức. Các công cụ thiết kế tích hợp và những tính năng ngôn ngữ
trong Visual Studio cho phép các nhà phát triển vừa xây dựng các ứng dụng nối
mạng đáp ứng cho nghiệp vụ hiện tại mà vẫn tận dụng tối đa .NET Framework 3.5
để rút ngắn thời gian phát triển sản phẩm.
Những điểm nổi bật của Virus Studio 2008:
- Chuyển giao các ứng dụng hiệu suất cao
- Kết nối với dữ liệu bạn cần, dù dữ liệu ở đâu, và xây dựng các ứng dụng
hướng dữ liệu bằng Language Integrated Query (LINQ).
- Xây dựng các ứng dụng mỏy khỏch hấp dẫn
- Phát triển các giải pháp hấp dẫn khai thác tối đa kinh nghiệm người dùng

và khả năng của Microsoft Office 2007 và Windows Vistađ.
- Xây dựng các ứng dụng Web mạnh
- Xây dựng những ứng dụng tương tác, phong phú bằng các giao diện Web
tương tác ASP.NET AJAX.
2.5. Sử dụng Cmarkup - fast simple C++ XML parser
Đồ án có sử dụng lớp CMARKUP để xư lý file xml. Class này hỗ trợ các
chức năng cơ bản: tạo mới file xml, phân tích, sửa file xml trong một lớp phân tích
cú pháp XML viết bằng C++.
2.6. Sử dụng Teleric của RadControls cho ASP.NET AJAX
Các điều khiển ASP.NET AJAX của Telerik được phát triển trên nền
ASP.NET AJAX cho phép bạn dễ dàng triển khai các ứng dụng một cách nhanh
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
16
Virus Portal – Hệ thống tra cứu thông tin virus
chóng, bảo mật và có hiệu năng cao. Các API của các điều khiển kết hợp chặt chẽ
và mở rộng các API của các điều khiển ASP.NET mặc định nên rất dễ dụng và tốn ít
thời gian để học. Ngoài ra còn có rất nhiều các ví dụ để tham khảo trên trang web
www.telerik.com. Telerik là một lựa chọn để xây dựng một web site đẹp, hiệu năng
cao.
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
17
Virus Portal – Hệ thống tra cứu thông tin virus
CHƯƠNG II: CÁC VẤN ĐỀ VỀ TỔ CHỨC LƯU TRỮ VÀ KHAI
THÁC THÔNG TIN VIRUS
Chương này sẽ phân tích hiện trạng thu thập, xử lý mẫu tại công ty Bkav và
các yêu cầu về tổ chức lưu trữ, khai thác thông tin virus một cách hiệu quả.
1. Hiện trạng
Hiện tại các hệ thống thu thập mẫu của BKAV không ngừng phát triển với
nhiều nguồn thu thập khác nhau. Hàng ngày các hệ thống này thu thập được hàng
nghìn mẫu virus mới, lượng mẫu này sẽ được lưu trữ lại và tiến hành xử lý. Số

lượng mẫu cựng các thông tin liên quan ngày càng lớn làm phát sinh các yêu cầu về
lưu trữ quản lý một cách khoa học để tiết kiệm tài nguyên hệ thống, các yêu cầu tra
cứu, thống kê để khai thác các thông tin virus một cách hiệu quả.
1.1. Lưu trữ, tìm kiếm và sửa hàm diệt
Có rất nhiều hàm diệt để xử lý virus được viết hàng ngày, sau khi được kiểm
tra kỹ lưỡng xem có diệt nhầm file sạch hay làm hỏng hệ thống hay không, những
hàm diệt này sẽ được lưu trữ lại cùng với loại virus được diệt. Tuy nhiên vì điều
kiện thực tế rất đa dạng, vẫn có những trường hợp diệt nhầm, bỏ sót vì vậy phải tìm
lại hàm diệt, các mẫu virus liên quan xem lỗi ở đâu và sửa lại. Công việc này được
tiến hành thủ công chưa có một hệ thống hay công cụ hỗ trợ, trong khi đó số hàm
diệt lớn (khoảng 140.000 hàm diệt) không kể các mẫu virus liên quan nên tốn rất
nhiều thời gian.
Nhu cầu đặt ra là có một hệ thống quản lý các thông tin về hàm diệt và các
mẫu virus được xử lý hàng ngày và cho phép tìm kiếm các hàm diệt lỗi, các mẫu
liên quan theo tên hàm diệt, ngày tạo có thể download mẫu, hàm diệt. Sau khi sửa
xong hệ thống sẽ cập nhật hàm diệt mới thay thế hàm diệt bị lỗi.
Trong đồ án này ta sẽ tổ chức lưu trữ các hàm diệt và mẫu trên ổ đĩa và cơ sở
dữ liệu để quản lý các thông tin này. Tiếp đó xây dựng công cụ trớch rỳt cỏc thông
tin về hàm diệt, virus để nhập vào cơ sở dữ liệu. Hệ thống virusportal cung cấp các
chức năng tìm kiếm, tải mẫu và hàm diệt. Người dùng có thể upload hàm diệt mới
sửa lên.
1.2. Lưu trữ, tìm kiếm thông tin mẫu thu thập từ hệ thống Honeypot
Hàng ngày hệ thống Honeypot thu thập khoảng 50.000 mẫu với tổng dung
lượng cỡ 8 GB. Đây là một nguồn thông tin khổng lồ để cập nhật các mẫu virus
mới. Tuy nhiên nguồn thông tin này cần phải qua xử lý mới có thể sử dụng được.
Giải pháp được đưa ra là lọc bỏ những mẫu trùng lặp dựa trên giá trị MD5
của mỗi file, những file có MD5 trùng nhau thì chỉ giữ lại một file. Tổ chức lưu trữ
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
18
Virus Portal – Hệ thống tra cứu thông tin virus

hợp lý, tổ chức cơ sở dữ liệu để quản lý các thông tin về mẫu, link tải xây dựng
công cụ tự động hàng ngày cập nhật thông tin về mẫu vào cơ sở dữ liệu. Hệ thống
virusportal cho phép tìm kiếm, tải mẫu và thống kê số lượng mẫu thu thập được.
1.3. Lưu trữ, tìm kiếm thông tin về file sạch
Việc thu thập thông tin các file sạch là rất cần thiết. Các file sạch nếu bị diệt
nhầm có thể gây lỗi hệ thống hoặc làm các phầm mềm không chạy được. Hơn nữa
trong lượng mẫu khách hàng gửi lên hàng ngày có rất nhiều file sạch cần phải loại
bỏ chỉ lấy những mẫu virus để phân tích xử lý. Vì vậy một cơ sở dữ liệu về file sạch
sẽ rất cần thiết trong quá trình phân loại mẫu khách hàng, đồng thời tránh được tình
trạng diệt nhầm, nâng cao chất lượng phần mềm Bkav.
Tuy nhiên các file sạch thu thập về chưa được tổ chức lưu trữ và chưa có cơ
sở dữ liệu để quản lý. Do đó yêu cầu đặt ra là phải tổ chức lưu trữ các file sạch một
cách hợp lý và tổ chức cơ sở dữ liệu quản lý thông tin về các file này. Xuất phát từ
yêu cầu trên cần xây dựng công cụ để trích xuất thông tin từ các file sạch nhập vào
cơ sở dữ liệu, xõy dựng hệ thống cung cấp chức năng tìm kiếm, tải file và các thông
tin khác (software, version, file size…).
1.4. Tìm kiếm thông tin về các thông tin khác về virus
Thông tin về virus cũn cú trong các cơ sở dữ liệu:
- Frame4: thông tin về các mẫu virus mua từ Frame4.
- Diamon: thông tin về số người đánh giá một file là virus hay không phải
virus.
- SandBox: các hành vi của virus do hệ thống sandbox phân tích.
- VirusSample: thông tin mẫu từ khách hàng, trạng thái của mẫu (đã xử lý
hay chưa) và người xử lý.
Trong công việc xử lý virus hàng ngày các chuyên viên rất cần tham khảo
những thông tin này. Tuy nhiên do chưa có một hệ thống hỗ trợ nào việc tìm kiếm
thông tin về một mẫu virus bắt buộc phải truy vấn trực tiếp tới cơ sở dữ liệu, hơn
nữa các thông tin, cấu trúc của mỗi cơ sở dữ liệu một khác nên muốn viết được cỏc
câu truy vấn phải nắm được cấu trúc từng sơ sở dữ liệu. Đây thực sử là một trở ngại
rất lớn trong việc khai thác thông tin virus trờn các cơ sở dữ liệu này.

Hệ thống virusportal sẽ cung cấp chức năng tìm kiếm theo những thông tin
đặc trưng của mỗi cơ sở dữ liệu. Người dùng chỉ việc chọn cơ sở dữ liệu, hệ thống
sẽ hiện ra các thông tin có thể tìm kiếm tương ứng với mỗi cơ sở dữ liệu đó.
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
19
Virus Portal – Hệ thống tra cứu thông tin virus
2. Phân tích yêu cầu
Các yêu cầu chính đối với bài toán
2.1. Quản lý mẫu
Quản lý mẫu từ honeypot, các hàm diệt và file sạch.
req manage sample
REQ 010:
Prescription
REQ 020:
Honeypot
REQ 030:
WhiteFile
REQ 011:
Prescription file
REQ 012:
malware sample
REQ 013: virus
installer
Hình 0: Yêu cầu quản lý mẫu
Mô tả yêu cầu quản lý hàm diệt – REQ 010
Thuộc tính Mô tả
Tổng quát Trạng thái : Proposed Ưu tiên : Medium
Stereotype : ôFunctionalằ Độ khó : Medium
Phạm vi: Public Mới : True
Nội dung Yêu cầu quản lý hàm diệt, mẫu virus và file virusinstaller:

- Lưu trữ các hàm diệt, mẫu, virusinstller một cách có tổ
chức
- Trớch rút thông tin về hàm diệt, mẫu, virusinstaller nhập
vào cơ sở dữ liệu để phục vụ các yêu cầu tìm kiếm, tải
về mỏy cỏc mẫu virus, hàm diệt, virusinstaller, thống kê
các mẫu xử lý, hàm diệt trong tuần, tháng, năm
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
20
Virus Portal – Hệ thống tra cứu thông tin virus
Mô tả yêu cầu quản lý mẫu honeypot – REQ 020
Thuộc tính Mô tả
Tổng quát Trạng thái : Proposed Ưu tiên : Medium
Stereotype : ôFunctionalằ Độ khó : Medium
Phạm vi: Public Mới : True
Nội dung Yêu cầu quản lý mẫu thu thập từ hệ thống honeypot:
- Lưu trữ các mẫu một cách có tổ chức
- Trớch rút thông tin về mẫu nhật vào cơ sở dữ liệu để
phục vụ tìm kiếm, tải về mỏy cỏc mẫu virus, thống kê số
lượng mẫu thu thập được trong tuần, tháng, năm
Mô tả yêu cầu quản lý hệ thống file sạch – REQ 030
Thuộc tính Mô tả
Tổng quát
Trạng thái : Proposed Ưu tiên : Medium
Stereotype : ôFunctionalằ Độ khó : Medium
Phạm vi: Public Mới : True
Nội dung
Yêu cầu quản lý hệ thống file sạch:
- Lưu trữ các file sạch một cách có tổ chức
- Trớch rút thông tin về file sạch nhật vào cơ sở dữ liệu để
phục vụ tìm kiếm, lọc các file sạch khỏi tập mẫu.

2.2. Tra cứu thông tin
Tìm kiếm các thông tin về virus trờn cỏc cơ sở dữ liệu, mỗi cơ sở dữ liệu
cung cấp các lựa chọn tìm kiếm khác nhau:
- Honeypot: MD5, FileName, Link
- Prescription: MD5, FileName, MalwareName, Writer
- Frame4: MD5, MalwareName, VendorName
- VirusSample: MD5, FileName, MalwareName, Ticker
- Sandbox: MD5, FileName, Username
- Diamon: MD5, FileName, UserName
- WhiteFile: MD5, Software, RelativePath
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
21
Virus Portal – Hệ thống tra cứu thông tin virus
req search
REQ 110:
Honeypot
REQ 120:
Prescription
REQ 130:
WhiteFile
REQ 140:
Frame4
REQ 160:
Sanbox
REQ 170:
VirusSample
REQ 150:
BkavDiamon
PreviewDetail
download sample

Hình 0: Yêu cầu tìm kiếm thông tin virus
Mô tả yêu cầu hiển thị ngắn gọn các thông tin virus – preview
Thuộc tính Mô tả
Tổng quát Trạng thái : Proposed Ưu tiên : Medium
Stereotype : ôFunctionalằ Độ khó : Medium
Phạm vi: Public Mới : True
Nội dung Yêu cầu hiển thị ngắn gọn các thông tin virus tìm thấy trên các cơ
sở dữ liệu:
- Honeypot: MD5, FileName, Link, DateAdded
- Prescription: MD5, MalwareName, FileName, Writer,
DateCreated
- Whitefile: MD5, Software, RelativePath, DateCreated
- VirusSample: MD5, FileName, MalwareName, Ticker,
DateCreated
- Sandbox: MD5, FileName, Username, DateAdded
- Diamon: MD5, FileName, Username, LastDate
Mô tả yêu cầu hiển thị chi tiết các thông tin virus – detail
Thuộc tính Mô tả
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
22
Virus Portal – Hệ thống tra cứu thông tin virus
Tổng quát Trạng thái : Proposed Ưu tiên : Medium
Stereotype : ôFunctionalằ Độ khó : Medium
Phạm vi: Public Mới : True
Nội dung Yêu cầu hiển thị chi tiết thông tin về một kết quả tìm được:
- Trên Honeypot hiển thị các thông tin: link, md5,
datecreated, group, file size, filename, storedir
- Prescription: MD5, MalwareName, FileName,
DateCreated, Writer, Classifier, OldPrescription
- Whitefile: Software, Version, FileSize, DateCreated,

RelativePath, BkCRC, BkMD5, MD5
- VirusSample: MD5, FileName, MalwareName, Status,
Ticker, Description, TickedDate, BkcFile, BkcStatus,
BkcReceiver, Priority, BkcFileDescription,
CostumerCode, DateSent, Sender
- Sandbox: MD5, FileName, Username, LastDate,
FirstDate
- Diamon: UserName, MD5, FileName, User_Reset,
DateAdded, CRC_File, Hash_File, Number_Suspect,
Number_Virus, Number_Clean
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
23
Virus Portal – Hệ thống tra cứu thông tin virus
2.3. Thống kê tình hình mẫu
Thống kê tình hình virus do hệ thống Honeypot tải về: như số mẫu thu thập
theo tháng, theo tuần, số lượng mẫu tải về theo các link trong các giai đoạn cụ thể.
Thống kê số hàm diệt, số virus xử lý trong ngày, trong tuần.
req report
REQ 210: db
Honeypot
REQ 220: db
prescription
REQ 211: top link
REQ 212:
downloaded
sample
REQ 222:
Malware
REQ 221:
Prescription

Hình 0: Yêu cầu thống kê tình hình mẫu
Mô tả yêu cầu thống kê tình hình mẫu honeypot – REQ 210
Thuộc tính Mô tả
Tổng quát Trạng thái : Proposed Ưu tiên : Medium
Stereotype : ôFunctionalằ Độ khó : Medium
Phạm vi: Public Mới : True
Nội dung Yêu cầu thống kê mẫu honeypot:
- Giới hạn số kết quả hiển thị
- Các trường thống kế: MD5 (số lượng mẫu), Link (link
down mẫu)
- Nhóm theo: day, week, month, year, link
- Khoảng thời gian: trong vòng một tuần, một tháng, một
năm, other
Mô tả yêu cầu thống kê về hàm diệt – REQ 220
Thuộc tính Mô tả
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
24
Virus Portal – Hệ thống tra cứu thông tin virus
Tổng quát Trạng thái : Proposed Ưu tiên : Medium
Stereotype : ôFunctionalằ Độ khó : Medium
Phạm vi: Public Mới : True
Nội dung Yêu cầu thống kê hàm diệt:
- Giới hạn số kết quả hiển thị
- Các trường thống kế: Prescription
- Nhóm theo: day, week, month, year
- Khoảng thời gian: trong vòng một tuần, một tháng, một
năm, other
Sinh viên thực hiện: Nguyễn Văn Khiêm 20061659 Khóa K51 Lớp Công nghệ phần mềm
25

×