BÀI 4: KHÁI NIỆM HỆ THỐNG THÔNG TIN, PHÁT TRIỂN CHƯƠNG TRÌNH VÀ
AN TOÀN MÁY TÍNH
I. Giới thiệu hệ thống thông tin
Tại sao phải nghiên cứu các HTTT và công nghệ thông tin? Cũng giống như người ta đã đặt
câu hỏi tương tự tại sao nên nghiên cứu kế toán, tài chính, quản lý tác vụ, tiếp thò, quản lý
nguồn nhân lực, hay quản lý chức năng kinh doanh chủ yếu nào khác. Các hệ thống và công
nghệ thông tin đã trở thành một thành phần sống còn quyết đònh sự thành công của các doanh
nghiệp và các tổ chức. Do đó, nó là một môn học cần được nghiên cứu trong việc quản trò và
quản lý kinh doanh. Có thể bạn sẽ trở thành một nhà quản lý, hay một doanh nhân chuyên
nghiệp trong tương lai. Chính vì thế, có sự hiểu biết căn bản về HTTT là quan trọng giống như
hiểu các lónh vực chức năng khác trong kinh doanh.
Hệ thống thông tin dùng máy tính (CIS)
Hệ thống là gì? Hệ thống có thể được đònh nghóa đơn giản là một nhóm các phần tử tạo thành
một thể thống nhất. Ví dụ, hệ thống mặt trời và các hành tinh của nó, hệ thống sinh học của
cơ thể, hệ thống kỹ thuật của nhà máy lọc dầu, và hệ thống kinh tế xã hội của một tổ chức
kinh doanh. Tuy nhiên, khái niệm hệ thống trong mô tả HTTT xem Hệ thống như một nhóm
các thành phần có liên quan cùng làm việc với nhau hướng về mục tiêu chung bằng cách tiếp
nhận đầu vào (Input) và sản xuất đầu ra (Output) trong một quá trình biến đổi có tổ chức. Hệ
thống có chu kỳ sống của mình gồm các giai đoạn như: thiết kế sơ bộ; thiết kế chi tiết; chế
tạo, lắp ráp, tích hợp và thử nghiệm; sản xuất và hỗ trợ khách hàng; kết thúc và vứt bỏ đi.
Một hệ thống thông tin dùng máy tính có các đặc điểm sau:
• Cung cấp thông tin cần thiết cho tổ chức, kể cả xử lý giao dòch và quản lý hồ sơ chính
xác
• Thu thập dữ liệu quan trọng, xử lý chúng, lưu trữ dữ liệu và kết quả xử lý, và truyền
bá thông tin trong tổ chức
• Bao gồm dữ liệu, phần cứng, phần mềm, nhân sự được huấn luyện và các thủ tục
Tổ chức và tháp quyền lực
Hầu hết các HTTT được thiết kế phù hợp với cấu trúc tổ chức có sẵn và hỗ trợ cho chúng
hoạt động. Các mảng công việc trong tổ chức có thể bao gồm là tài chính, tiếp thò và kinh
doanh, nguồn nhân lực, điều hành và hệ thống thông tin.
Chuỗi mệnh lệnh trong tổ chức
Trong tổ chức lớn, giám đốc điều hành (CEO) giao cho các nhà quản lý cấp cao (Senior
Manager) phụ trách từng bộ phận như tài chính hay tiếp thò sao cho các bộ phận đó làm việc
hiệu quả. CEO lo những vấn đề khác lớn hơn như tổ chức sẽ đi về đâu trong tương lai và nó bò
ảnh hưởng bởi xu hướng trong môi trường bên ngoài tổ chức ra sao? Nhà quản lý cấp cao thuê
nhà quản lý cấp trung (Middle Manager) quản lý các bộ phận nhỏ hơn. Nhà quản lý cấp trung
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
1
lại phân công trách nhiệm cho nhà quản lý cấp vận hành (Operational Manager) trực tiếp
quản lý nhân sự thừa hành như công nhân, thư ký và các nhân viên khác.
Tất cả những nhà quản lý đều thực hiện vài hay tất cả những chức năng quản lý sau đây: lập
kế hoạch, tổ chức, lãnh đạo và kiểm soát
• Lập kế hoạch: thiết lập mục tiêu và tạo ra chiến lược hoàn thành mục tiêu
• Tổ chức: sắp xếp tài nguyên sao cho đạt được mục tiêu
• Lãnh đạo: truyền thông mục tiêu và khích lệ mọi người đạt được mục tiêu
• Kiểm soát: đánh giá mục tiêu có được đáp ứng không và điều chỉnh hành
động nếu cần
Thế nào là thông tin tốt?
Không phải tất cả thông tin đều có giá trò. Làm sao phân biệt được dữ liệu và thông tin?
Phân biệt dữ liệu và thông tin. Từ dữ liệu dạng số nhiều của datum, nhìn chung từ data (dữ
liệu) dùng cho cả dạng số ít lẫn số nhiều. Dữ liệu là sự kiện còn thô sơ hay chỉ là các quan
sát, các hiện tượng vật lý hay giao dòch kinh doanh. Dữ liệu là sự đo lường khách quan các
thuộc tính (đặc điểm) của thực thể như con người, nơi chốn, sự vật, và biến cố.
Người ta thường dùng từ dữ liệu và thông tin có thể hoán đổi cho nhau. Tuy nhiên, tốt hơn là
nên xem dữ liệu như nguyên liệu thô được xử lý để thành sản phẩm thông tin. Kế đó chúng ta
sẽ đònh nghóa thông tin là dữ liệu đã được đổi thành cái có ích và có ý nghóa đối với người
dùng cuối. Do đó, dữ liệu thường chòu thêm quá trình xử lý cộng thêm giá trò (data processing
hay information processing):
(1) Dữ liệu được tập họp, sắp xếp, tổ chức
(2) Nội dung của nó được phân tích và đánh giá
(3) Và nó được đặt trong bối cảnh thích hợp cho người sử dụng. Vì thế, bạn nên xem thông tin
như dữ liệu đã xử lý được đặt trong bối cảnh là có ích đối với người dùng cuối. Xem hình.
Thông tin
Dữ lie
ä
u
35 000 VNĐ 12 đv
12 000 VNĐ Tâm
Saigon
100 000 VNĐ 100 đv
35 đv
Xử lý dữ liệu
Người bán: Tâm
Vùng:
Saigon
Doanh số hiện tại:
147 đv = 147 000
Hình: Sự biến đổi dữ liệu thành thông tin
Tên, số lượng, và giá trò dollar ghi trên mẫu bán hàng là dữ liệu về giao dòch bán hàng. Tuy
nhiên, trưởng phòng kinh doanh thì không xem đó là thông tin. Nó chỉ là thông tin sau khi sắp
xếp, tổ chức thành thông tin bán hàng có ý nghóa: doanh số theo loại sản phẩm, theo vùng bán
hàng, hay theo người bán.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
2
Thông tin có giá trò có các đặc điểm sau:
• Tính đúng lúc
• Tính cập nhật
• Tính thời gian
• Tính thường xuyên
• Tính liên quan
• Tính đầy đủ
• Tính xác đáng
• Tính rõ ràng
• Tính chi tiết
• Tính thứ tự
• …
Hệ thống thông tin trong tổ chức:
TPS
Hệ hỗ trợ hoạt động bao gồm loại hệ thống xử lý giao dòch (TPS). Hệ thống xử lý giao dòch
ghi lại và xử lý dữ liệu là kết quả của các giao dòch kinh doanh. Ví dụ các HTTT xử lý những
thay đổi về bán hàng, mua sắm, và tồn kho. Kết quả của những xử lý đó được dùng để cập
nhật CSDL khách hàng, tồn kho, và các thứ khác. Sau đó, những CSDL này cung cấp tài
nguyên dữ liệu có thể tiếp tục được xử lý và sử dụng bởi HTTTQL, Hệ hỗ trợ quyết đònh, và
Hệ thông tin giám đốc.
Hệ thống xử lý giao dòch cũng tạo ra nhiều sản phẩm thông tin. Thí dụ, hệ thống này tạo ra
các bảng kê khách hàng, tài khoản lương nhân viên, biên nhận bán hàng, đơn mua sắm hàng
hóa, chi phiếu cổ tức, mẫu thuế, và các bảng kê tài chính. Hệ thống xử lý giao dòch xử lý các
giao dòch theo hai cách cơ bản. Theo cách xử lý bó, dữ liệu giao dòch được tích lũy trong một
khoảng thời gian và được xử lý đònh kỳ. Theo cách xử lý tức thời, dữ liệu được xử lý tức thì
sau khi giao dòch xảy ra. Thí dụ, Hệ thống điểm bán (POS) tại các cửa hàng bán lẻ có thể sử
dụng thiết bò đầu cuối ghi lại tiền mặt để nắm bắt và chuyển dữ liệu bán hàng qua các mối
liên kết viễn thông để các trung tâm máy tính khu vực xử lý tức thời hay theo cách xử lý bó.
MIS
MIS ra đời từ năm 1960 trở thành điển hình của hầu hết nỗ lực gắn liền với công nghệ thông
tin và lý thuyết hệ thống để xử lý dữ liệu trong các tổ chức. Ở thời điểm đó, hiển nhiên là
máy tính đang được áp dụng để giải quyết các bài toán kinh doanh theo kiểu từng phần một,
tập trung hoàn toàn vào việc máy tính hoá công việc sổ sách và thư ký. Khái niệm MIS phát
triển là để khắc phục việc sử dụng máy tính không hiệu quả. Mặc dù bò mờ nhạt do những
thất bại ban đầu, các khái niệm MIS vẫn được ghi nhận là hệ thống thông tin hữu hiệu trong
các tổ chức vì hai lý do sau:
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
3
• Nó nhấn mạnh đònh hướng quản lý của công nghệ thông tin trong kinh doanh. Mục
tiêu chính của hệ thống thông tin dựa vào máy tính là hỗ trợ các nhà quản lý ra quyết
đònh chứ không phải chỉ đơn thuần xử lý dữ liệu được tạo ra bởi các hoạt động kinh
doanh
• Nó nhấn mạnh các công việc cần làm để xây dựng HTTT (systems framework) để tổ
chức các ứng dụng HTTT. Các ứng dụng của công nghệ thông tin trong kinh doanh
phải được xem như các HTTT dựa vào máy tính được tích hợp và có liên quan lẫn
nhau và không được nhìn HTTT như các công việc xử lý dữ liệu độc lập
DSS
Là tiến trình tự nhiên từ hệ thống báo cáo thông tin và hệ thống xử lý giao dòch. Hệ hỗ trợ
quyết đònh là HTTT tương tác và dựa vào máy tính, sử dụng các mô hình quyết đònh và cơ sở
dữ liệu chuyên môn hóa để hỗ trợ quá trình ra quyết đònh của người dùng cuối là nhà quản lý.
Do đó, chúng rất khác với hệ thống xử lý giao dòch, tập trung xử lý dữ liệu được tạo ra từ các
giao dòch và nghiệp vụ kinh doanh, mặc dù chúng trích lọc dữ liệu từ các cơ sở dữ liệu công ty
do TPS duy trì. Chúng cũng rất khác với HTTTQL, tập trung cung cấp cho nhà quản lý các
thông tin được qui đònh trước (các báo cáo). Nhờ các báo cáo này, nhà quản lý có thể ra các
loại quyết đònh khác nhau hợp lý và hiệu quả hơn.
Hệ DSS cung cấp cho nhà quản lý mô hình phân tích, mô phỏng, dữ liệu, và các khả năng
trình bày thông tin khác. Các nhà quản lý tạo ra thông tin họ cần đối với các loại quyết đònh
không có cấu trúc bằng quá trình dựa trên mô phỏng và tương tác. Thí dụ, bảng tính điện tử
và phần mềm hỗ trợ quyết đònh khác cho phép nhà quản lý đặt ra một loạt các câu hỏi dạng
What-if và nhận được các câu trả lời kiểu tương tác.
Do đó, thông tin từ DSS khác với câu trả lời được qui đònh trước do MIS tạo ra. Khi sử dụng
DSS, nhà quản lý mô phỏng, xem xét các trường hợp có thể và nhận thông tin thăm dò dựa
trên một loạt các giả đònh. Do đó, nhà quản lý không cần qui đònh trước nhu cầu thông tin của
mình. Thay vào đó, DSS giúp họ tức thời tìm được thông tin mong muốn. Chương 11 sẽ bàn
thêm về vấn đề này.
EIS
Là HTTTQL được thay đổi để đáp ứng nhu cầu thông tin chiến lược cho lãnh đạo cấp cao. Họ
nhận được thông tin từ nhiều nguồn, gồm thư từ, các bản ghi nhớ, tạp chí đònh kỳ, và các báo
cáo viết tay cũng như được tạo bằng máy tính. Những nguồn thông tin khác của giám đốc là
các buổi họp, các cuộc điện thoại, và hoạt động xã hội. Do đó, nhiều thông tin cho họ phát
xuất từ những nguồn không phải là máy tính. Thông tin do máy tính tạo ra không giữ vai trò
chủ yếu trong việc đáp ứng nhu cầu thông tin của các nhà lãnh đạo.
Mục đích của hệ thống thông tin hỗ trợ giám đốc dựa vào máy tính là cung cấp cho họ khả
năng truy cập dễ dàng và tức thì thông tin có chọn lọc, có tính quyết đònh đến việc hoàn thành
mục tiêu chiến lược của công ty. Do đó, EIS phải dễ dùng và dễ hiểu. Kết xuất đồ họa được
dùng nhiều hơn, truy xuất tức thì cơ sở dữ liệu bên trong và bên ngoài được cung cấp. EIS
cung cấp thông tin về tình trạng hiện thời và xu hướng của các yếu tố chính do các nhà lãnh
đạo chọn lọc. EIS đã trở nên rất phổ biến trong những năm gần đây đến mức các nhà quản lý
bậc trung cũng dùng nó.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
4
ES
Sự phát triển của thông minh nhân tạo (AI) đã ảnh hưởng đến các HTTT. Thông minh nhân
tạo là một ngành khoa học máy tính mà mục tiêu lâu dài của nó là phát triển cho các máy
tính suy nghó, cũng như nhìn thấy, nghe thấy, đi đứng, trò chuyện và cảm giác được. Thí dụ,
các dự án AI, gắn liền với sự phát triển các giao diện máy tính tự nhiên, người máy công
nghiệp cao cấp, các phần mềm máy tính thông minh. Mủi đột phá chính là phát triển các chức
năng máy tính kết hợp với sự thông minh của con người, như lý luận, học tập, giải quyết vấn
đề.
Một trong những ứng dụng thực tiễn nhất của AI là phát triển hệ chuyên gia (ES). Hệ chuyên
gia là HTTT dựa trên cơ sở tri thức; nghóa là nó sử dụng kiến thức về một lãnh vực cụ thể để
hoạt động như một nhà tư vấn chuyên nghiệp đối với người sử dụng. Các thành phần của hệ
chuyên gia là cơ sở kiến thức và phần mềm thực hiện kết luận dựa trên kiến thức và cho các
câu trả lời đối với các câu hỏi của người sử dụng. Hệ chuyên gia đang được sử dụng trong
nhiều lãnh vực khác nhau, gồm ngành y, kỹ thuật, vật lý, và kinh doanh. Thí dụ, hệ chuyên
gia ngày nay giúp chẩn đoán bệnh tật, tìm kiếm mỏ khoáng, phân tích hợp chất, tư vấn đại tu,
và làm kế hoạch tài chính. Hệ chuyên gia có thể hỗ trợ các hoạt động nghiệp vụ, hoặc quản
lý.
Kho dữ liệu và Khai thác dữ liệu
Kho chứa dữ liệu lưu trữ dữ liệu trong năm và các năm trước nữa, trích xuất từ nhiều cơ sở dữ
liệu điều hành khác nhau của cơ quan. Đó là tài nguyên dữ liệu trung tâm đã được chọn lọc,
hiệu đính, tiêu chuẩn hóa, và tích hợp để giám đốc và những người dùng cuối khác có thể sử
dụng cho nhiều dạng phân tích kinh doanh, nghiên cứu thò trường, và hỗ trợ quyết đònh. Kho
chứa dữ liệu có thể lại được phân nhỏ thành gian dữ liệu (data marts), chứa từng phần bộ dữ
liệu cụ thể của kho dữ liệu. Một cách dùng chủ yếu của kho chứa dữ liệu là khai thác dữ liệu.
Trong khi khai quật dữ liệu, các dữ liệu trong kho chứa dữ liệu được xử lý để nhận diện
những yếu tố khóa và những xu hướng diễn ra trong quá trình hoạt động của doanh nghiệp.
Việc này dùng để giúp cho giám đốc ra quyết đònh về thay đổi chiến lược trong hoạt động
kinh doanh để giành thêm lợi thế cạnh tranh trên thò trường.
Máy tính trong lónh vực bán lẻ
Trong lónh vực bán lẻ, máy tính được sử dụng rất phổ biến để tạo ra lợi thế cạnh tranh. Thí
dụ, tại các điểm bán POS (Point of Sale), nhân viên kiểm tra tính tiền các món hàng bằng
cách quét chúng qua máy đọc mã vạch UPC (Universal Product Code) mà bạn có thể nhìn
trên các gói hàng thực phẩm và nhiều sản phẩm khác. Máy quét trong siêu thò phát ra chùm
tia laser và chúng sẽ bò tắt do mã vạch UPC cản trở. Hình ảnh phản xạ được biến đổi thành
xung điện và gửi tới máy tính lưu trữ, chúng phù hợp với thông tin về giá. Thông tin về giá
được trả về cho thiết bò đầu cuối, hiện ra trên màn hình và in nó ra trên biên lai khách hàng.
Nhờ thế mà việc xử lý nhanh hơn và sai sót về giá ít hơn. Ngoài ra, thẻ thông minh được sử
dụng rộng rãi để thanh toán tại các nơi tính tiền tại bãi giữ xe, máy bán hàng, quầy sách báo,
trả tiền điện thoại, và các cửa hàng bán lẻ. Trong một kiểm tra tại New York người ta nhận
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
5
thấy nhờ hệ thống kiểm tra ảnh khách hàng khi sử dụng thẻ tín dụng, hệ thống tự động truy
cập vào cơ sở dữ liệu hình ảnh và cho hiện lên ảnh của họ đã làm giảm đến 95% sự gian lận
thẻ tín dụng.
II. Các ngôn ngữ lập trình
Ngôn ngữ lập trình cho phép thảo chương viên phát triển tập hợp các lệnh cấu tạo thành
chương trình máy tính. Nhiều ngôn ngữ lập trình khác nhau đã được phát triển, mỗi loại có từ
vựng, ngữ pháp, và cách dùng riêng của nó.
5 thế hệ ngôn ngữ (TLTK: 8C page 454)
Ngôn ngữ máy
Ngôn ngữ máy (hoặc ngôn ngữ thế hệ thứ nhất) là ngôn ngữ lập trình ở mức căn bản nhất.
Trong thời kỳ đầu của sự phát triển máy tính, tất cả các lệnh chương trình phải được viết bằng
cách dùng mã nhò phân duy nhất cho mỗi máy tính. Loại lập trình này gắn liền với nhiệm vụ
ghi lệnh khó khăn theo dạng một chuỗi các chữ số nhò phân (một hay không) hoặc hệ thống
số khác. Các nhà lập trình phải có kiến thức sâu về các hoạt động bên trong của loại CPU cụ
thể họ đang sử dụng. Họ phải viết chuỗi dài các lệnh chi tiết để hoàn thành nhiệm vụ xử lý
đơn giản. Lập trình theo ngôn ngữ máy đòi hỏi ghi rõ những vò trí ô nhớ cho mỗi lệnh và mục
của dữ liệu được dùng. Những yêu cầu này làm cho việc lập trình ngôn ngữ máy trở thành
một nhiệm vụ khó khăn và dễ sai. Chương trình ngôn ngữ máy cộng hai số với nhau trong
CPU của một máy tính cụ thể và lưu trữ kết quả có thể có dạng được trình bày ở hình.
• Ngôn ngữ máy:
Sử dụng lệnh mã nhò phân
1010 11001
1011 11010
1100 11011
• Ngôn ngữ cấp cao:
Sử dụng các phát biểu ngắn hay các khái niệm số học:
BASIC: X = Y + Z
COBOL: COMPUTE X = Y + Z
• Hợp ngữ Assembler:
Sử dụng lệnh mã ký hiệu
LOD Y
ADD Z
STR X
• Ngôn ngữ thế hệ thứ tư:
Sử dụng các phát biểu tự nhiên và không cấu trúc
SUM THE FOLLOWING NUMBERS
Hình: Ví dụ về bốn ngôn ngữ lập trình. Những lệnh ngôn ngữ lập trình này có thể được dùng
để tính tổng hai số biểu diễn bởi công thức X = Y + Z
Ngôn ngữ Assembler
Ngôn ngữ Assembler (hoặc ngôn ngữ thế hệ thứ hai) là ngôn ngữ lập trình ở mức kế tiếp.
Chúng được phát triển nhằm giảm bớt khó khăn trong việc lập trình ngôn ngữ máy. Việc sử
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
6
dụng ngôn ngữ Assemler đòi hỏi các chương trình dòch ngôn ngữ gọi là Assemblers cho phép
máy tính biến đổi các lệnh của ngôn ngữ đó sang lệnh máy. Ngôn ngữ Assembler thường
được gọi là ngôn ngữ ký hiệu bởi vì các ký hiệu được dùng để biểu diễn mã tác vụ và và đòa
chỉ nhớ. Viết tắt theo bảng chữ cái tiện lợi và những ký hiệu khác biểu diễn các phần tử mã
tác vụ, vò trí nhớ, và dữ liệu. Ví dụ, tính X=Y+Z trong ngôn ngữ Assenbler có thể có dạng như
hình trên.
Các ưu điểm và khuyết điểm. Ngôn ngữ Assembler dùng các chữ viết tắt theo bảng chữ cái
dễ nhớ hơn thay cho các đòa chỉ bằng số thực tế của dữ liệu. Điều này làm cho lập trình hết
sức đơn giản, bởi vì lập trình viên không cần biết chính xác vò trí nhớ của dữ liệu và lệnh. Tuy
nhiên, ngôn ngữ Assembler vẫn còn đònh hướng máy, bởi vì những lệnh ngôn ngữ Assembler
rất gần với lệnh ngôn ngữ máy của kiểu máy tính cụ thể đang được sử dụng. Ngoài ra, lưu ý
rằng mỗi lệnh Assembler tương ứng một lệnh máy duy nhất, và số lệnh như nhau được yêu
cầu cho cả hai minh họa.
Ngôn ngữ Assembler vẫn được sử dụng rộng rãi như một phương thức lập trình máy tính theo
ngôn ngữ đònh hướng máy. Hầu hết nhà sản xuất máy tính cung cấp ngôn ngữ Assembler
phản ánh lại tập lệnh ngôn ngữ máy duy nhất của một loại máy tính. Tính năng này là mong
muốn đặc biệt đối với các nhà lập trình hệ thống (ngược lại với lập trình ứng dụng), bởi vì nó
cung cấp cho các nhà lập trình sự điều khiển và linh hoạt hơn khi thiết kế một chương trình
đối với một máy tính cụ thể. Sau đó, họ có thể sản xuất ra các phần mềm hiệu quả hơn, nghóa
là, các chương trình yêu cầu các lệnh, ô nhớ, và thời gian CPU hoạt động ít nhất để thực hiện
công việc xử lý đặc biệt được giao.
Ngôn ngữ bậc cao
Ngôn ngữ bậc cao (hoặc ngôn ngữ thế hệ thứ ba) sử dụng các lệnh, được gọi là phát biểu, sử
dụng những phát biểu tắt hoặc các biểu thức số học. Các phát biểu ngôn ngữ bậc cao riêng rẽ
thực tế là các lệnh macro; nghóa là, mỗi phát biểu phát ra nhiều lệnh máy khi dòch thành ngôn
ngữ máy bởi chương trình dòch ngôn ngữ bậc cao gọi là compilers hoặc intepreters. Các phát
biểu ngôn ngữ bậc cao giống như các câu hay biểu thức toán học được yêu cầu để biểu diễn
bài toán hoặc thủ tục đang được lập trình. Cú pháp (nguyên tắc ngữ vựng, chấm câu, luật văn
phạm) và ngữ nghóa (ý nghóa) của những phát biểu đó không phản ánh mã bên trong của bất
kỳ máy tính cụ thể nào. Ví dụ, việc tính toán X=Y+Z sẽ được lập trình theo ngôn ngữ bậc cao
của BASIC và COBOL được thể hiện ở hình trên.
Các ưu điểm và khuyết điểm. Hiển nhiên là ngôn ngữ bậc cao dễ học và dễ hiểu hơn ngôn
ngữ Assembler. Hơn nữa, ngôn ngữ bậc cao có nguyên tắc, hình thức, cú pháp ít khắt khe hơn,
cho nên, khả năng bò lỗi giảm đi. Tuy nhiên, các chương trình ngôn ngữ bậc cao thường ít hiệu
quả hơn chương trình ngôn ngữ Assembler và đòi hỏi giờ máy lớn để dòch sang lệnh máy. Bởi
vì hầu hết ngôn ngữ bậc cao là độc lập máy, các chương trình được viết theo ngôn ngữ bậc
cao không cần phải lập trình lại khi một máy tính mới được thiết lập, và các lập trình viên
máy tính không phải học ngôn ngữ mới cho mỗi máy tính họ lập trình. Bảng sau đây nhấn
mạnh một vài ngôn ngữ bậc cao chủ yếu vẫn được sử dụng theo vài dạng ngày nay.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
7
Ada: Augusta Ada Byron, lập trình viên đầu tiên thế giới xem xét đến. Được phát triển cho Bộ Quốc
phòng Mỹ như ngôn ngữ cấp cao chuẩn thay cho COBOL và FORTRAN
BASIC: (Beginner’s All-Purpose Symbolic Instruction Code). Ngôn ngữ đònh hướng thù tục đơn giản
được thiết kế cho việc lập trình của người dùng cuối
C: ngôn ngữ cấu trúc mức vừa được phát triển như một phần của hệ điều hành UNIX. Nó giống với
ngôn ngữ Assembler độc lập máy
COBOL: (Common Business Oriented Language). Ngôn ngữ giống tiếng Anh được sử dụng rộng rãi
để lập trình cho các ứng dụng kinh doanh
FORTRAN: (FORmula TRANslation). Ngôn ngữ bậc cao được thiết kế cho các ứng dụng khoa học
kỹ thuật
Pascal: Do Blair Pascal đặt tên. Được phát triển đặc biệt cho các khái niệm lập trình cấu trúc chặt
chẽ
Bảng: Nhiều ngôn ngữ lập trình cấp cao quan trọng
Ngôn ngữ thế hệ thứ tư
Ngôn ngữ thế hệ thứ tư mô tả nhiều loại ngôn ngữ lập trình khác nhau, không thủ tục và
không qui ước nhiều như những ngôn ngữ trước. Các ngôn ngữ này được gọi là ngôn ngữ thế
hệ thứ tư (4GLs) để phân biệt chúng với ngôn ngữ máy (thế hệ thứ nhất), ngôn ngữ
Assembler (thế hệ thứ hai), và ngôn ngữ bậc cao (thế hệ thứ ba).
Hầu hết các ngôn ngữ thế hệ thứ tư là ngôn ngữ không thủ tục, khuyến khích người sử dụng
và các lập trình viên qui đònh kết quả họ muốn, trong khi máy tính xác đònh thứ tự các lệnh
đạt được những kết quả này. Người sử dụng và lập trình viên không còn phải mất nhiều thời
gian viết nhiều lệnh máy tính phải theo để đạt được kết quả. Vì thế, ngôn ngữ thế hệ thứ tư
đã giúp đơn giản hóa quá trình lập trình. Ngôn ngữ tự nhiên là 4GLs rất gần với tiếng Anh
hoặc ngôn ngữ con người khác. Hoạt động nghiên cứu và phát triển trí tuệ nhân tạo (AI) đang
phát triển ngôn ngữ lập trình, dễ sử dụng cũng như đàm thoại thông thường bằng tiếng mẹ đẻ.
Ví dụ, INTELLECT, ngôn ngữ tự nhiên 4GL, sẽ sử dụng phát biểu như, “What are the
average exam scores in MIS 200?” để lập trình một nhiệm vụ ghi điểm kiểm tra trung bình
đơn giản.
Các ưu điểm và khuyết điểm. Có nhiều sự khác nhau chủ yếu trong tính dễ sử dụng và sự
phức tạp kỹ thuật của sản phẩm 4GL. Ví dụ, INTELLECT và English Wizard là những ví dụ
của ngôn ngữ truy vấn tự nhiên không đặt nặng các nguyên tắc văn phạm chặt chẽ, trong khi
ngôn ngữ truy vấn như SQL đòi hỏi các phát biểu cấu trúc ngắn gọn. Tuy nhiên, tính dễ dùng
của 4GL, ngøi sử dụng thường rất khó ghi chồng lên các dạng thức hay thủ tục của 4GLs
được qui đònh trước. Hơn nữa, mã ngôn ngữ máy được tạo ra bởi chương trình mà chương trình
đó lại được phát triển bởi 4 GLs thì hiệu quả kém hơn nhiều (tốc độ xử lý và số lượng ô nhớ
cần đến) so với chương trình được viết bằng ngôn ngữ như COBOL. Những sai hỏng chủ yếu
xảy ra trong vài ứng dụng xử lý giao dòch lớn được lập trình theo 4GL. Những ứng dụng này
không có khả năng cung cấp thời gian đáp ứng hợp lý khi đối mặt với số lượng lớn các xử lý
giao dòch và hỏi đáp của người dùng cuối trong thực tế. Tuy nhiên, 4GLs đã cho thấy một
thành công lớn trong các ứng dụng kinh doanh không có quá nhiều khối lượng xử lý giao dòch.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
8
Ngôn ngữ đònh hướng đối tượng
Hình: Ví dụ về đối tượng là tài khoản
tiết kiệm ngân hàng, gồm dữ liệu về
cân đối tài khoản khách hàng và các
tác vụ căn bản có thể được thực hiện
trên dữ liệu này.
Ngôn ngữ lập trình hướng đối tượng (OOP) đã có từ khi Xerox phát triển Smalltalk vào năm
1960. Tuy nhiên, ngôn ngữ hướng đối tương như Visual Basic, C++, and Java đã trở thành
công cụ chủ yếu của việc phát triển phần mềm. Tóm lại, trong khi hầu hết những ngôn ngữ
lập trình khác tách yếu tố dữ liệu ra khỏi các thủ tục hay các lệnh sẽ được thực hiện nhờ vào
chúng, ngôn ngữ lập trình hướng đối tượng “cột” chúng lại với nhau thành các đối tượng. Vì
thế, một đối tượng gồm có dữ liệu và lệnh có thể được thực hiện dựa vào dữ liệu. Ví du,ï một
đối tượng có thể là một tập hợp dữ liệu về tài khoản tiết kiệm ngân hàng của khách hàng, và
các tác vụ (như tính lãi) có
thể được thực hiện nhờ vào dữ liệu. Hoặc một đối tượng có thể là dữ liệu dạng đồ họa như
cửa sổ hiển thò video, cộng với các lệnh hiển thò có thể được sử dụng nhờ vào đối tượng. Xem
hình .
Trong ngôn ngữ thủ tục, chương trình gồm các thủ tục thực hiện lệnh dựa trên từng yếu tố dữ
liệu. Tuy nhiên, trong hệ thống hướng đối tượng, đối tượng nói những đối tượng khác thực
hiện lệnh trên chính nó. Ví dụ, để mở một cửa sổ hiển thò trên màn hình máy tính, đối tượng
menu đầu tiên có thể gởi một thông báo mở cho đối tượng cửa sổ và cửa sổ sẽ xuất hiện trên
màn hình. Đó là bởi vì đối tượng cửa sổ chứa mã chương trình để mở chính nó.
Ngôn ngữ hướng đối tượng dễ sử dụng và hiệu quả hơn cho việc lập trình giao diện người sử
dụng hướng đồ họa mà nhiều ứng dụng đòi hỏi. Ngoài ra, một khi đối tượng được lập trình,
chúng có thể sử dụng lại được. Bởi thế, việc sử dụng lại các đối tượng là một lợi thế chính
của lập trình đònh hướng đối tượng. Ví dụ, các nhà lập trình có thể xây dựng giao diện người
sử dụng cho chương trình mới bằng cách ráp các đối tượng chuẩn như cửa sổ, thanh, hộp, nút,
và biểu tượng. Vì thế, hầu hết những bộ lập trình ngôn ngữ hướng đối tượng cung cấp cho
GUI, hỗ trợ “trỏ và nhấp”, “ấn giữ, kéo và buông” sự lắp ráp đối tượng nhìn thấy được, gọi là
lập trình trông thấy.
Giới thiệu Chu kỳ Phát triển chương trình
Gồm sáu giai đoạn:
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
9
• Xác đònh vấn đề: Đây là việc của nhà phân tích hệ thống, họ cung cấp các đặc tả
chương trình (dữ liệu đầu vào, dạng thức thông tin đầu ra, giao diện) cho các thảo
chương viên
• Thiết kế chương trình: qui đònh các thành phần làm cho chương trình hoạt động. Công
cụ sử dụng là lưu đồ và sơ đồ hình cây
• Viết (coding) chương trình: chọn ngôn ngữ thích hợp, gõ vào các câu lệnh tuân theo cú
pháp (syntax)
• Thử và tìm lỗi chương trình: sau khi loại bỏ lỗi cú pháp chương trình sẽ được thực thi.
Tuy nhiên, có thể tồn tại lỗi luận lý (logic) vì chương trình dòch không thể phát hiện
được lỗi này và có thể dẫn đến kết quả sai
• Tài liệu hóa chương trình: viết tất cả thành tài liệu để có thể sửa hay phát triển chương
trình sau này
• Thực hiện và duy trì chương trình: cho người sử dụng chạy thử, họ có thể phát hiện các
lỗi mà giai đoạn bốn bỏ qua. Nhóm lập trình sửa các lỗi này và cần đánh giá chương
trình đònh kỳ để cải tiến hay cập nhật hay bổ sung tính năng mới cho chương trình
III. An toàn máy tính
Theo một thăm dò gần đây tại Hoa Kỳ, hơn phân nữa các công ty được thăm dò bò tổn thất tài
chính hơn 100 000 USD do gian lận bằng máy tính; 17 công ty mất hơn một triệu đô la chỉ do
yếu tố an toàn
Tội phạm máy tính và Internet
Thủ thuật lấy cắp mật khẩu
• Đoán mật khẩu
• Nhìn lén khi người sử dụng gõ mật khẩu vào bàn phím
• Sử dụng chương trình kiểmtra dữ liệu và tìm mật khẩu, số thẻ tín dụng và các thông tin
có giá trò khác
• Tìm tên và mật khẩu người sử dụng trong các giỏ rác của tổ chức/công ty
• Nhà quản trò mạng có cơ hội biết được thông tin về máy tính và hệ thống mail của bạn
• Chuyên viên kỹ thuật yêu cầu bạn cho biết thông tin về tên và mật khẩu khi giúp bạn
khắc phục sự cố nào đó
Sửa chương trình và dữ liệu để lấy cắp tiền khách hàng
Lập trình viên thay đổi chương trình trừ một số tiền rất nhỏ của từng khách hàng. Vì có nhiều
khách hàng nên số tiền lấy cắp có thể là đáng kể. Trong trường hợp sửa dữ liệu, người nội bộ
sửa dữ liệu về về tài khoản của khách hàng để họ không biết số tiền bò mất
Virus máy tính
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
10
Virus máy tính là một chương trình máy tính có khả năng tự sao chép chính nó từ đối tượng
lây nhiễm này sang đối tượng khác (đối tượng có thể là các file chương trình, văn bản, đóa
mềm ), và chương trình đó mang tính phá hoại. Virus có nhiều cách lây lan và tất nhiên cũng
có nhiều cách phá hoại.
Khi mà công nghệ phần mềm cũng như phần cứng phát triển thì virus cũng phát triển theo. Hệ
điều hành thay đổi thì virus máy tính cũng tự thay đổi mình để phù hợp với hệ điều hành đó
và để có thể ký sinh. Có thể việc viết virus mang mục đích phá hoại, thử nghiệm hay đơn
giản chỉ là một thú đùa vui ác ý.
Có nhiều tài liệu khác nhau nói về xuất xứ của virus máy tính. Âu cũng là điều dễ hiểu, bởi
lẽ vào thời điểm đó con người chưa thể hình dung ra nổi một "xã hội" đông đúc và nguy hiểm
của virus máy tính như ngày nay, điều đó cũng có nghóa là không mấy người quan tâm tới
chúng. Chỉ khi chúng gây ra những hậu quả nghiêm trọng như ngày nay, người ta mới lật lại
hồ sơ để tìm hiểu. Tuy vậy, đa số các câu chuyện xoay quanh việc xuất xứ của virus máy tính
đều ít nhiều liên quan tới những sự kiện sau:
1983 - Để lộ nguyên lý của trò chơi "Core War"
Core War là một cuộc đấu trí giữa hai đoạn chương trình máy tính do 2 lập trình viên viết ra.
Mỗi đấu thủ sẽ đưa một chương trình có khả năng tự tái tạo gọi là Organism vào bộ nhớ máy
tính. Khi bắt đầu cuộc chơi, mỗi đấu thủ sẽ cố gắng phá huỷ Organism của đối phương và tái
tạo Organism của mình. Đấu thủ thắng cuộc là đấu thủ tự nhân bản được nhiều nhất.
Trò chơi Core War này được giữ kín đến năm 1983. Ken Thompson, người viết phiên bản đầu
tiên cho hệ điều hành UNIX - đã để lộ ra khi nhận một trong những giải thưởng danh dự của
giới điện toán - A.M Turing. Trong bài diễn văn của mình ông đã đưa ra một ý tưởng về virus
máy tính dựa trên trò chơi Core War. Cũng trong năm 1983, Tiến só Frederik Cohen đã chứng
minh được sự tồn tại của virus máy tính.
Tháng 5/1984, tờ báo Scientific America có đăng một bài báo mô tả về Core War và cung cấp
cho độc giả những thông tin hướng dẫn về trò chơi này. Kể từ đó, virus máy tính xuất hiện và
đi kèm theo nó là cuộc chiến giữa những người viết ra virus và những người diệt virus.
1986 - Brain virus
Được coi là virus máy tính đầu tiên trên thế giới, Brain âm thầm đổ bộ từ Pakistan vào nước
Mỹ với mục tiêu đầu tiên là trường Đại học Delaware. Một nơi khác trên thế giới cũng mô tả
sự xuất hiện của virus: đó là trường Đại học Hebrew (Israel).
1987 - Lehigh virus xuất hiện
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
11
Lại một lần nữa liên quan tới một trường đại học. Lehigh chính là tên của virus xuất hiện năm
1987 tại trường đại học này. Trong thời gian này cũng có 1 số virus khác xuất hiện, đặc biệt
là worm - cơn ác mộng với các hệ thống máy chủ. Cái tên Jerusalem chắc sẽ làm cho Công ty
IBM nhớ mãi với tốc độ lây lan đáng nể: 500.000 nhân bản trong 1 giờ.
1988 - Virus lây trên mạng
Ngày 2/11/1988, Robert Morris đưa virus vào mạng máy tính quan trọng nhất của Mỹ, gây
thiệt hại lớn. Từ đó trở đi người ta mới bắt đầu nhận thức được tính nguy hại của virus máy
tính.
1989 - AIDS Trojan
Năm 1989 xuất hiện Trojan (con ngựa thành Tơ-roa). Chúng không phải là virus máy tính,
nhưng luôn đi cùng với khái niệm virus. Những chú ngựa thành Tơ-roa này khi đã gắn vào
máy tính của bạn thì chúng sẽ lấy cắp một số thông tin mật trên đó và gửi đến một đòa chỉ mà
chủ của những chú ngựa này muốn chúng vận chuyển đến, hoặc đơn giản chỉ là phá huỷ dữ
liệu trên máy tính của bạn.
1991 - Tequila virus
Đây là loại virus đầu tiên mà giới chuyên môn gọi là virus đa hình, nó đánh dấu một bước
ngoặt trong cuộc chiến giữa cái thiện và cái ác trong các hệ thống máy tính.
Đây thực sự là loại virus gây đau đầu cho những người diệt virus và quả thật không dễ dàng
gì để diệt chúng. Chúng có khả năng tự thay hình đổi dạng sau mỗi lần lây nhiễm, làm cho
việc phát hiện ra chúng quả thật là khó.
1992 - Michelangelo virus
Tiếp nối sự đáng sợ của Tequila là Michelangelo - loại virus tăng thêm sức mạnh cho các loại
virus máy tính bằng cách tạo ra sự đa hình cực kỳ phức tạp. Quả thật chúng luôn biết cách
gây ra khó khăn cho những người diệt virus.
1995 - Concept virus
Sau gần 10 năm kể từ ngày virus máy tính đầu tiên xuất hiện, đây là loại virus đầu tiên có
nguyên lý hoạt động gần như thay đổi hoàn toàn so với những tiền bối của nó. Chúng gây ra
một cú sốc cho các công ty diệt virus cũng như những người tình nguyện trong lónh vực phòng
chống virus máy tính. Khi Concept xuất hiện và trên thế giới chưa có loại "kháng sinh" nào
thì tại Việt Nam, Trung tâm an ninh mạng trường ĐH Bách Khoa (BKIS) đã đưa ra được giải
pháp rất đơn giản để loại trừ loại virus này và đó cũng là thời điểm BKAV bắt đầu được mọi
người sử dụng rộng rãi trên toàn quốc.
Sau này những virus theo nguyên lý của Concept được gọi chung là virus macro. Chúng tấn
công vào các hệ soạn thảo văn bản của Microsoft (Word, Exel, Powerpoint ).
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
12
1996 - Boza virus
Khi hãng Microsoft chuyển sang hệ điều hành Windows 95 và họ cho rằng virus không thể
công phá thành trì của họ được, thì năm 1996 xuất hiện virus lây trên Windows 95. Có lẽ
không nên thách thức những kẻ xấu, điều đó chỉ thêm kích động chúng.
1999 - Melissa, Bubbleboy virus
Đây thật sự là một cơn ác mộng với các máy tính trên khắp thế giới. Melissa không những kết
hợp các tính năng của sâu Internet và virus macro, mà nó còn biết khai thác một công cụ mà
chúng ta thường sử dụng hàng ngày là Outlook Express để chống lại chính chúng ta. Khi máy
tính của bạn bò nhiễm Melisa, nó sẽ tự phân phát mình đi mà khổ chủ không hề hay biết. Và
bạn cũng sẽ rất bất ngờ khi bò mang tiếng là phát tán virus.
Chỉ từ ngày thứ sáu tới ngày thứ hai tuần sau, virus này đã kòp lây nhiễm 250.000 máy tính
trên thế giới thông qua Internet, trong đó có Việt Nam, gây thiệt hại hàng trăm triệu đôla.
Một lần nữa cuộc chiến lại sang một bước ngoặt mới, báo hiệu nhiều khó khăn bởi Internet
đã được chứng minh là một phương tiện hữu hiệu để virus máy tính có thể lây lan trên toàn
cầu chỉ trong vài tiếng đồng hồ.
Năm 1999 là một năm đáng nhớ của những người sử dụng máy tính trên toàn cầu, ngoài
Melissa, virus Chernobyl hay còn gọi là CIH đã phá huỷ dữ liệu của hàng triệu máy tính trên
thế giới, gây thiệt hại gần 1 tỷ USD vào ngày 26/4.
2000 - DDoS, Love Letter virus
Love Letter có xuất xứ từ Philippines do một sinh viên nước này tạo ra. Chỉ trong vòng có 6
tiếng đồng hồ, virus đã kòp đi vòng qua 20 nước trong đó có Việt Nam, lây nhiễm 55 triệu
máy tính, gây thiệt hại 8,7 tỷ USD. Theo nhận đònh của BKIS, chỉ cần được "cải tiến" một
chút thì virus này có thể tăng độ phá hoại của mình lên hàng trăm lần.
Thế còn DDoS? Những virus này phát tán đi khắp nơi, nằm vùng ở những nơi nó lây nhiễm.
Cuối cùng, chúng sẽ đồng loạt tấn công theo kiểu "từ chối dich vụ" (denial of service), tức là
yêu cầu liên tục, từ nhiều máy đồng thời, làm cho các máy chủ bò tấn công không thể phục vụ
được nữa và dẫn đến từ chối những yêu cầu mới. Một hệ thống điện thoại của Tây Ban Nha
đã là vật thí nghiệm đầu tiên.
2001 - Winux Windows/Linux Virus, Nimda, Code Red virus
Winux Windows/Linux Virus đánh dấu những virus có thể lây được trên các hệ điều hành
Linux chứ không chỉ Windows. Chúng ng trang dưới dạng file MP3 cho download. Nếu bạn
là một người mê MP3 và mê nhạc thì phải hết sức cẩn thận.
Nimda, Code Red là những virus tấn công các đối tượng của nó bằng nhiều con đường khác
nhau (từ máy chủ sang máy chủ, sang máy trạm, từ máy trạm sang máy trạm ), làm cho việc
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
13
phòng chống vô cùng khó khăn. Chúng cũng chỉ ra một xu hướng mới của các loại virus máy
tính là "tất cả trong một" - một virus bao gồm nhiều virus, nhiều nguyên lý khác nhau.
2002 - Sharp A virus
Ngay trong tháng 1/2002 đã có một loại virus mới ra đời. Virus này lây những file .SWF -
điều chưa từng xảy ra trước đó. ShockWaveFlash là một loại công cụ giúp các trang web
thêm phong phú. Tháng 3 đánh dấu sự ra đời của loại virus viết bằng C# - một ngôn ngữ lập
trình của Microsoft. Con sâu .Net này có tên SharpA và do một phụ nữ viết ra.
Tháng 5, SQLSpider ra đời và chúng tấn công các chương trình dùng SQL. Tháng 6, có vài
loại virus mới ra đời: Perrun lây qua Image JPEG, Scalper tấn công các FreeBSD/Apache
Web server
2003 - SQL Slammer
Ngày 25/1, các dòch vụ Internet tốc độ cao và di động trên toàn cầu đã bò virus mang tên SQL
Slammer (hay Sapphire) tấn công. Hơn 250.000 hệ thống máy tính bò lây nhiễm trong vòng 10
phút. Hàn Quốc bò cắt đứt liên lạc với thế giới trong gần 24 giờ vì tất cả ISP không hoạt động
được.
Không giống các virus thông thường yêu cầu người dùng phải mở file gửi kèm e-mail hoặc
thực thi lệnh để lây nhiễm, Slammer có thể âm thầm phát tán mà không cần sự tương tác
người dùng. Có thể nói, đây là đợt tàn phá lớn nhất trên Internet kể từ khi virus Nimda xuất
hiện hồi tháng 11/2001.
Nếu bạn là người muốn tìm hiểu sâu hơn về virus thì hãy đọc phần này, nó sẽ giúp bạn có
thêm một số kiến thức về các loại virus để có thể tự tin trong việc phòng chống chúng.
Khi bạn bật máy tính, một đoạn chương trình nhỏ để trong ổ đóa khởi động của bạn sẽ được
thực thi. Đoạn chương trình này có nhiệm vụ nạp hệ điều hành mà bạn muốn (Windows,
Linux, Unix ). Sau khi nạp xong hệ điều hành bạn mới có thể bắt đầu sử dụng máy. Đoạn
mã nói trên thường được để ở trên cùng của ổ đóa khởi động, và chúng được gọi là boot
sector. Những virus lây vào boot sector được gọi là virus Boot.
Virus Boot chủ yếu lây lan qua đóa mềm. Ngày nay, ít khi chúng ta dùng đóa mềm làm đóa
khởi động, vì vậy số lượng virus Boot không nhiều như trước.
Virus File
Là virus lây vào những file chương trình như file .com, .exe, .bat, .pif, .sys Có lẽ khi đọc
phần tiếp theo bạn sẽ tự hỏi "virus macro cũng lây vào file, tại sao lại không gọi là virus
file?". Câu trả lời nằm ở lòch sử phát triển của virus máy tính. Như bạn đã biết qua phần trên,
mãi tới năm 1995 virus macro mới xuất hiện và rõ ràng nguyên lý của chúng khác xa so với
những virus trước đó (virus file) nên mặc dù cũng lây vào các File, nhưng không thể gọi
chúng là virus file.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
14
Là loại virus lây vào những file Word, Excel và Powerpoint. Macro là những đoạn mã giúp
cho các file của Ofice tăng thêm một số tính năng, có thể đònh một số công việc sẵn có vào
trong macro ấy. Mỗi lần gọi macro là các phần cài sẵn lần lượt được thực hiện, giúp người sử
dụng giảm bớt được một số thao tác. Có thể hiểu nôm na việc dùng macro giống như việc ta
ghi lại các thao tác, để rồi sau đó cho tự động lặp lại các thao tác đó với chỉ một lệnh duy
nhât.
Ở Việt Nam không có nhiều người dùng đến các macro, vì vậy BKAV có một tuỳ chọn là diệt
"Tất cả các Macro" hay "All Macro". Khi chọn tuỳ chọn này thì BKAV sẽ xoá tất cả các
macro có trong máy mà không cần biết chúng có phải là virus hay không. Như vậy, nếu bạn
có sử dụng macro cho công việc của mình thì không nên chọn tuỳ chọn này. Khi không dùng
tuỳ chọn này thì BKAV chỉ diệt những macro đã được xác minh chính xác là virus.
Con ngựa thành Tơ-roa (Trojan Horse)
Thuật ngữ này bắt nguồn từ Thần thoại Hy Lạp, trong đó có miêu tả cuộc chiến giữa người
Hy Lạp và người thành Tơ-roa. Thành Tơ-roa là một thành trì kiên cố, quân Hy Lạp không
sao đột nhập vào được. Người ta đã nghó ra một kế, giả vờ giảng hoà, sau đó tặng thành Tơ-
roa một con ngựa gỗ khổng lồ. Sau khi ngựa được đưa vào trong thành, đêm xuống quân lính
từ trong bụng ngựa xông ra và đánh chiếm thành từ bên trong.
Phương pháp trên cũng chính là cách mà các Trojan máy tính áp dụng. Đầu tiên, kẻ viết ra
Trojan bằng cách nào đó lừa cho đối phương sử dụng chương trình của mình, khi chương trình
này chạy thì vẻ bề ngoài cũng như những chương trình bình thường (một trò chơi, hay là
những màn bắn pháo hoa đẹp mắt chẳng hạn). Tuy nhiên, song song với quá trình đó, một
phần của Trojan sẽ bí mật cài đặt lên máy của nạn nhân. Đến một thời điểm đònh trước,
chương trình này có thể sẽ ra tay xoá dữ liệu, hay gửi những thứ cần thiết cho chủ nhân của
nó ở trên mạng. Ở Việt Nam từng xuất hiện hiện tượng lấy cắp mật khẩu truy nhập Internet
của người sử dụng và bí mật gửi cho chủ nhân của Trojan.
Khác với virus, Trojan là một đoạn mã chương trình hoàn toàn không có tính chất lây lan. Nó
chỉ có thể được cài đặt bằng cách người tạo ra nó "lừa" nạn nhân. Còn virus thì tự động tìm
kiếm nạn nhân để lây lan.
Phần mềm có chứa Trojan thường là có dạng chương trình tiện ích, phần mềm mới hấp dẫn
nhằm dễ thu hút người sử dụng. Vì vậy, bạn hãy cẩn thận với những điều mới lạ, hấp dẫn
nhưng không rõ nguồn gốc!
Sâu Internet (worm)
Worm quả là một bước tiến đáng kể và đáng sợ nữa của virus. Worm kết hợp cả sức phá hoại
của virus, sự bí mật của Trojan và hơn hết là sự lây lan đáng sợ mà những kẻ viết virus trang
bò cho nó. Một kẻ phá hoại với vũ khí tối tân! Tiêu biểu như Mellisa hay Love Letter. Với sự
lây lan đáng sợ, chúng đã làm tê liệt hàng loạt hệ thống máy chủ, làm ách tắc đường truyền.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
15
Worm thường phát tán bằng cách tìm các đòa chỉ trong sổ đòa chỉ (Address book) của máy mà
nó đang lây nhiễm. Address book là nơi chứa đòa chỉ của bạn bè, người thân, khách hàng
của chủ máy. Tiếp đến, worm tự gửi chính nó cho những đòa chỉ mà nó tìm thấy, tất nhiên với
đòa chỉ người gửi là chính bạn.
Điều nguy hiểm là những việc này diễn ra mà bạn không hề hay biết, chỉ khi bạn nhận được
thông báo là bạn đã gửi virus cho bạn bè, người thân thì bạn mới vỡ lẽ rằng máy tính của
mình bò nhiễm virus. Với cách hoàn toàn tương tự trên những máy nạn nhân, worm có thể
nhanh chóng lây lan trên toàn cầu theo cấp số nhân, điều đó lý giải tại sao chỉ trong vòng vài
tiếng đồng hồ mà Mellisa và Love Letter lại có thể lây lan tới hàng chục triệu máy tính. Cái
tên của nó, worm hay sâu Internet, cho ta hình dung ra việc những con virus máy tính "bò" từ
máy tính này qua máy tính khác trên các "cành cây" Internet.
Với sự lây lan nhanh và rộng lớn như vậy, worm thường được kẻ viết ra chúng cài thêm nhiều
tính năng đặc biệt, chẳng hạn như chúng có thể đònh cùng một ngày giờ và đồng loạt từ các
máy nạn nhân (hàng triệu máy) tấn công vào một đòa chỉ nào đó, máy chủ có mạnh đến mấy
thì trước một cuộc tấn công tổng lực như vậy thì cũng phải bó tay. Website của Nhà Trắng
từng là nạn nhân của worm! Ngoài ra, chúng còn có thể giúp chủ nhân truy nhập vào máy của
nạn nhân để làm đủ thứ chuyện.
Nhận dạng tội phạm và bảo vệ máy tính
Những cuộc tấn công của bọn tin tặc đang buộc các công ty thương mại điện tử kiểm tra lại
các biện pháp an ninh. Ðiều đó làm cho những người dùng thông thường cũng bắt đầu quan
tâm tới vấn đề an toàn cho hệ thống máy tính.
Cùng với sự phát triển của công nghệ thông tin, người ta thấy xuất hiện một loại tội phạm
mới gọi là hacker (tin tặc). Tuy nhiên, không phải lúc nào hacker cũng đồng nghóa với tội
phạm mà có khi chỉ là những người hơi tò mò một chút. Họ chẳng làm hại đến ai, thậm chí
còn "tự hành xác" bằng cách cặm cụi phát hiện và sửa lỗi chương trình cho người khác.
Nhưng nói chung phần lớn hacker là những kẻ nguy hiểm. Chúng sử dụng kỹ năng của mình
để thực hiện các hành vi phá hoại ở nhiều mức độ mà trầm trọng nhất là tấn công theo kiểu
"denial-of-service" (Dos - "từ chối cung cấp dòch vụ" do mạng bò quá tải). Điển hình là vụ tấn
công vào 2 site Ebay và Yahoo hồi tháng Hai vừa qua. PC của bạn có sợ bò phá hoại theo
kiểu này không? Có lẽ là không nếu bạn dùng máy tính độc lập hay trong một doanh nghiệp
nhỏ.
Tình trạng hacker tấn công vào các máy tính độc lập nói chung vẫn còn hiếm nhưng nguy cơ
đang ngày một tăng cao, đặc biệt là trong trường hợp bạn có kết nối liên tục như DSL hay
modem cáp. Tuy nhiên, nếu cẩn thận, bạn vẫn có thể phòng tránh cho mình bằng nhiều cách,
chẳng hạn thay đổi một số thiết lập, cài đặt phần mềm tường lửa cá nhân, cập nhật thường
xuyên các trình chống virus
Trăm nẻo hacker
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
16
Hacker gây hại bằng cách nào? Chúng truy cập tới các công cụ phần mềm tự động tinh vi có
khả năng sục sạo khắp Internet để tìm r a những PC dễ bò tấn công. Những c ông cụ này đònh
vò mỗi máy tính bằng một đòa chỉ Internet Protocol riêng để nhận dạng trên Internet. Các máy
tính có trang bò kết nối quay số đều có đòa chỉ IP động, tức là nhà cung cấp dòch vụ Internet sẽ
gán cho chúng một đòa chỉ IP mới mỗi khi người dùng máy tính kết nối trực tuyến. Còn đa số
kết nối tốc độ cao như DSL hoặc modem cáp dùng đòa chỉ IP cố đònh, hay còn gọi là đòa chỉ IP
tónh. Và như vậy, đòa chỉ tónh dễ bò hacker tấn công hơn là đòa chỉ động.
Đòa chỉ IP là để nhận dạng một máy tính c hứ không cho phép thâm nhập vào bên trong nó.
Để truy cập, hacker cần phải tìm ra một cổng mở, hay một điểm kết nối. Hãy tưởng tượng đòa
chỉ IP là số tổng đài của máy tính còn cổng là số máy lẻ. Phần mềm trên máy tính sẽ tạo ra
nhiều cổng cho nhiều chức năng kết nối mạng khác nhau, ví dụ truy cập Web là cổng 80 còn
FTP thì chạy qua cổng 21. Khi nhắm tới một đòa chỉ IP, bọn hacker rà trên máy tính của bạn
để tìm những cổng mở.
Những hacker cao th ủ có thể lừa bạn mở cổng bằng cách gửi các virus dạng Trojan horse.
Các "chú ngựa thành Troy" này giấu chương trình gây hại trong tài liệu đính kèm e-mail hay
phần mềm tải xuống từ Internet, và khi nhấn đúp vào những file này, thảm họa sẽ ngay lập
tức giáng xuống máy tính của bạn. Trojan house nổi tiếng nhất là Back Onfice, nó mở một
cổng cho hacker có thể điều khiển máy tính của bạn từ xa.
Đóng Windows lại!?
Người dùng Windows có thể tự bảo vệ mình như thế nào? Trước khi cài đặt mỗi phần mềm
mới, bạn nên thực hiện một vài công việc "nội trợ" đối với hệ điều hành để đảm bảo an toàn
hơn. Bước đầu tiên là vào Web si te của Microsoft cập nhật phần mềm bảo mật. Nếu có
Windows 9x, Windows NT hay Windows 2000 Professional, bạn tới đòa chỉ
windowsupdate.microsoft.com và theo các liên kết để tìm phần cập nhật cho hệ điều hành
của mình. Ngoài ra, Microsoft cũng khuyên nên vô hiệu hóa tùy chọn File and printer Sharing
vì nó cho phép các máy tính khác truy cập tới máy đang chạy phiên bản Windows bất kỳ.
Cách làm, chọn Start.Settings.Control panel rồi nhấn đúp vào biểu tượng Netvork. Trong hộp
thoại xuất hiện, bạn tìm "File and Printer Sharing for Microsoft Networks" trong danh sách
các thành phần mạng được cài đặt. Nếu có mục này, điểm sáng nó rồi nhấn nút Remove bên
dưới danh sách các thành phần.
Một cách khác là sử dụng phần mềm để khóa các chương trình Trojan horse. Bất cứ phần
mềm chống virus nào được xem là tốt cũng đều phải có khả năng nhận dạng Trojan horse,
nhưng bạn nhớ thường xuyên cập nhật thì mới hòng tránh được những "quả lừa" tinh vi nhất.
Cũng đừng quên tắt tính năng tự động mở file đính kèm ở chương trình e-mail đang sử dụng
và không bao giờ mở tài liệu gửi kèm khi bạn còn nghi ngờ về xuất xứ của chúng.
Nếu chỉ chấp hành tốt những biện pháp đề cập trên đây thì nguy cơ bò hacker tấn công vẫn
còn khá cao đối với đa số người dùng. Và cũng thật khó mà biết được máy tính của bạn an
toàn tới mức nào. Hệ thống bảo mật có thể có "gót chân A sin" ở nhiều vò trí khác nhau, đặc
biệt là phần mềm Internet như PC Anywhere, NetMeeting, hay ICQ vì những ch ương trình
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
17
này mở cổng cho hacker đột nhập vào hệ thống của bạn. Ngay cả Microsoft cũng thấy cần
phải thêm một lớp bảo mật nữa cho máy tính, đó là hệ thống tường lửa.
Hàng rào tốt tạo nên hàng xóm tốt.
Phần mềm tường lửa cá nhân tạo ra sự thận trọng trên mức bình thường. So với các loại tường
lửa phức tạp và đắt tiền dùng trong môi trường công tác, sản phẩm tường lửa cá nhân đơn
giản và rẻ tiền hơn nhưng vẫn có khả năng đẩy lùi nguy cơ bò phá hoại bằng cách kiểm soát
các giao dòch trên Internet và cảnh báo trước những mối đe dọa. Có 10 sản phẩm được nhóm
thử nghiệm xem xét và chọn ra 6 cái mạnh nhất để đánh giá chi tiết và giới thiệu trong bài
này.
Tường lửa cá nhân được xem là hoàn hảo phải đảm bảo những tiêu chuẩn sau: rẻ tiền; dễ cài
đặt và sử dụng; các tùy chọn cấu hình được giải thích rõ ràng; có khả năng giấu tất cả các
cổng để PC không bò các chương trình dò cổng phát hiện; có thể bảo vệ hệ thống trước mọi
nguy cơ tấn công; phát hiện được các mối đe dọa thực sự và tiềm ẩn; cảnh báo kòp thời khi
xuất hiện tình trạng nguy hiểm; đảm bảo những thứ không được phép không thể vào hay ra
khỏi hệ thống. Chỉ có 2 sản phẩm được thử nghiệm là đáp ứng được tất cả những tiêu chuẩn
này, đó là BlackICE Defender 1.9 giá 40 USD của Network ICE, và ZoneAlarm 2. 1 của
Zone Labs, miễn phí đối với người dùng gia đình và các tổ chức phi lợi nhuận. Tuy không thật
hoàn chỉnh nhưng mỗi sản phẩm này lại có một điểm mạnh riêng đặc trưng nên cả hai được
nhận đồng giải nhất.
Personal Firewall (40 USD) của McAfree.com và Norton Personal Firewall 2000 phiên bản 2
(giá 50 USD) của Symantec cũng được xếp vào vò trí á quân. Kém nhất là hai sản phẩm
Secure Desktop 2. 1 (30 USD) của Sybergen Networks - thực hiện các thử nghiệm ở mức độ
kém, đồng thời không có thông tin phản hồi đầy đủ , và ESafe Desktop 2.2 (miễn phí) của
Aladdin.
Bốn sản phẩm khác cũng được thử nghiệm là Internet Firewall 2000 (40 USD) của Digital
Robotics, Net-Commando 2000 (30 USD) của Delta Design, ProtectX 3 Standard Edition (25
USD) của Plasmatek Software, và Tiny Personal Firewall (29 USD) của Tiny Software thua
ngay từ "vòng loại" vì có nhiều khiếm khuyết không thể chấp nhận được, chẳng hạn như phần
hướng dẫn trúc trắc khó hiểu, tài liệu sơ sài, hoặc chức năng hạn chế.
Sau sản phẩm lọt vào vòng trong được đánh giá theo 3 tiêu chuẩn: tính thân thiện người dùng,
khả năng làm việc được với các chương trình truy cập Internet phổ biến, và chống trả được
trước các đòn tấn công của hacker.
Mỗi firewall có qui trình cấu hình tốt là phải rất thuận lợi cho những người dùng amateur, còn
người thành thạo thì tha hồ thay đổi các thiết lập. Đa số sản phẩm thử nghiệm đều có 3 mức
độ thiết lập bảo mật: khóa mọi giao dòch, cho phép một số giao dòch, và mở cửa tự do. Với ba
mức độ này, bạn có thể tạm yên tâm nếu yêu cầu của bạn chỉ đơn giản là lướt Web và truy
cập e-mail, nhưng lại quá hạn chế đối với nhiều người dùng khác. BlackICE Defender và
McAfree.com Personal Firewall có các thiết lập mặc đònh và tuỳ chọn cấu hình xuất sắc nhất.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
18
Lựa chọn bảo mật của BlackICE vừa đơn giản, vừa được giải thích cặn kẽ nhất và có tới 4 m
ức độ bảo mật cho người dùng thay đổi. McAfree.com thì đặt mặc đònh ở mức bảo mật trung
bình là "lọc". ZoneAlarm được xếp hạng top một phần vì có mức độ bảo mật thứ tư ở giữa
mức cao và trung bình. Ngay cả những sản phẩm được xem là có tài liệu hướng dẫn xuất sắc
nhất thì cũng chỉ gọi là tạm đủ, nhất là khi mà đa số người dùng còn rất mơ hồ về sự phá hoại
của hacker. Nếu tính đến sự trợ giúp trực tuyến rõ ràng và chặt chẽ thì BlackICE đạt điểm
cao nhất về hạng mục tài liệu.
Bài 4: Khái niệm hệ thống thông tin, phát triển chương trình và an toàn máy tính
19