Bảo mật trong Excel


Có thể nói rằng Excel đã trở nên rất gần gũi với người sử dụng máy tính phục vụ công việc chuyên môn. Khi đã khai thác sâu về Excel, nhu cầu bảo mật (hay bảo vệ) dữ liệu trong Excel đã trở nên rất cần thiết, có khi chỉ là chống người khác vào sửa đổi, ăn cắp dữ liệu hay là những dữ liệu quan trọng, chương trình ứng dụng trong Excel. Có nhiều trường hợp, chỉ cần sự rò rỉ thông tin do khả năng bảo mật dữ liệu kém đã ảnh hưởng đến nghề nghiệp hay sự phát triển của công ty mình. Do đó, nhu cầu bảo mật dữ liệu của file Excel là chính đáng khi sự phát triển của CNTT rất mạnh mẽ, chúng ta có thể thấy rõ khi vào các diễn đàn lớn trong và ngoài nước tìm hiểu về vấn đề này.
Chính vì vậy mà tôi đặt ra chủ đề này để mong sao bạn có thể bảo vệ được dữ liệu của mình thật an toàn, không sợ người khác nhòm ngó, phá hoại, ăn cắp dữ liệu. Bài viết này chỉ là quan điểm cũng như khả năng hiểu biết của tôi, vì vậy cần sự trao đổi và đóng góp của các cao thủ tin học khác. Đầu tiên phải phân loại cách bảo mật trong Excel, đó là bảo mật để khi mở file hay bảo mật khi làm việc với file được mở.

1. Bảo mật khi mở file
Trong trường hợp file đó chỉ riêng mình sử dụng thì việc bảo mật không quá khó. Chỉ cần tạo password để mở file nhờ chức năng sẵn có của Excel là có thể bảo vệ một cách an toàn, hiệu quả. Việc bẻ khoá những file có password không hề đơn giản, nhất là khi password dài và nhiều loại ký tự. Các phần mềm dò password hiện nay chủ yếu dựa vào cách thử lần lượt từng password một cho đến khi trùng với password được đặt. Tuỳ loại file mà tốc độ dò tìm password sẽ khác nhau, có thể rất nhanh hoặc rất chậm. Với phần mềm Passware Password Recovery Kit 9.7 chẳng hạn, các file Office như Excel hay Word 2007 thì khả năng dò tìm có thể lớn hơn 300 password/giây như hình 1 (tính với máy tính có cấu hình thông thường), nhưng với file nén đuôi rar thì tốc độ dò tìm kém hơn hẳn, chỉ khoảng 70 password/giây (hình 3). Tốc độ dò tìm của file Excel, Word từ 2003 trở về trước sẽ nhanh hơn rất nhiều so với phiên bản 2007, có thể lớn hơn 500.000 password/giây (hình 2). Điều đó có nghĩa là khả năng bảo mật của chúng khác nhau, phụ thuộc vào phiên bản Office và loại file.
Như vậy, tôi rút ra được kinh nghiệm bảo mật mở file như sau:
- Tạo password càng dài càng khó mở khoá (bao gồm cả số, chữ, ký tự đặc biệt) thì càng khó mở khoá, thời gian dò tìm password sẽ lâu. Tránh trường hợp chỉ dùng số hoặc chữ vì người khác dễ dàng nhìn thấy, từ đó có thể lựa chọn phương pháp tìm kiếm nhanh nhất. Tốt nhất là password có độ dài lớn hơn 9 ký tự. Nhưng cần lưu ý là bạn phải nhớ được password, nếu quên thì bạn cũng phải ngồi khóc thôi!!!
- Sử dụng các file Excel, Word đời sau (2007, 2010) vừa giảm dung lượng, vừa tốc độ tìm kiếm chậm đi.
- Nếu dữ liệu đặc biệt quan trọng thì nên nén thành đuôi rar với password, với phương pháp này rất khó bẻ khoá vì tốc độ tìm kiếm sẽ rất chậm.




Hình 1: Dò tìm file .xlsm (của Excel 2007) với tốc độ 328 password/giây



Hình 2: Dò tìm file .doc (của Word 2003) với tốc độ lớn hơn 500.000 password/giây


Hình 3: Dò tìm file .rar với tốc độ khoảng 71 password/giây



Hình 4: Thông tin về password để định hướng cho việc mở khoá file





Như vậy tôi sẽ hướng dẫn cách bảo mật file (Excel 2007) như sau:

- Đầu tiên cần mở file cần bảo mật, sau đó bấm vào nút Microsoft Office Button và chọn Save As (phím tắt là F12) như trong hình 5.
- Trong cửa sổ Save As bấm vào nút Tools và chọn General Options... (hình 6).
- Trong cửa sổ General Options... gõ password để mở và password để sửa (hình 7).
- Bấm vào Save trong cửa sổ Save As... Excel sẽ hỏi ghi đè lên file cũ hay không (hình 7)? Chọn Yes nếu ghi đè hoặc chọn No để không ghi đè, ở trường hợp này bạn phải chuyển thư mục khác để lưu lại (hình 8). Công việc bảo mật thành công, từ bây giờ trở đi để mở file phải nhập đúng password (hình 9).


Hình 5: Đặt tên mới để bảo mật


Hình 6: Chọn chức năng General Options... để tạo password mở file


Hình 7: Cửa sổ General Options... yêu cầu nhập password để mở và password để sửa


Hình 8: Xác nhận việc lưu file đã đặt password


Hình 9: Nhập password khi mở file





2. Bảo mật nội dung trong file được mở

Tiếp theo ta sang trường hợp bảo mật trong file đã được mở. Đây là trường hợp phổ biến vì 1 file có thể nhiều người cùng sử dụng. Do đó tạo password để mở là không khả thi. Khi đó, cách bảo mật trong trường hợp này khó khăn hơn nhiều. Ví dụ như kẻ trộm có thể gặp khó khăn khi phá cửa chính vào ăn trộm (như trường hợp trên), nhưng khi đã vào được trong nhà rồi thì việc vào từng phòng ăn trộm sẽ dễ dàng hơn. Với trường hợp bảo mật khi đã mở file ra trong Excel hay Word cũng tương tự.
Trường hợp này được chia thành 2 loại: bảo mật bảng tính bình thường và bảo mật VBA. Các cách bảo mật này không cho phép người khác biết được nội dung tính toán trong bảng tính, các hàm và thủ tục trong VBA,...

2.1. Bảo mật bảng tính bình thường

Thông thường, chúng ta sử dụng chức năng Protect Sheet (và Protect Workbook) để bảo vệ bảng tính (hình 10).


Hình 10: Bảo mật Sheet và Workbook trong Excel 2007


Khi chọn cách này thì xuất hiện cửa sổ Protect Sheet với nội dung bảo vệ và password để mở (hình 11). Nội dung bảo vệ gồm một số chức năng chính sau:
- Select locked cells: Cho phép (hoặc không cho phép) chọn ô đã bảo vệ. Để xác định những ô cần bảo vệ thì chọn những ô đó, sau đó bấm Ctr + 1 để hiện cửa sổ Custom List, chọn Protection và đánh dấu vào mục Locked (hình 12). Nếu không đánh dấu mục Locked thì ô sẽ không được bảo vệ, đó thường là những ô nhập liệu ban đầu.
- Select unlocked cells: Cho phép (hoặc không cho phép) chọn ô không bảo vệ.
- Format cells: Cho phép (hoặc không cho phép) thay đổi định dạng của ô.
- Format rows: Cho phép (hoặc không cho phép) thay đổi định dạng của một hàng.
- Format columns: Cho phép (hoặc không cho phép) thay đổi định dạng của một cột.
- Insert rows (columns): Cho phép (hoặc không cho phép) thêm hàng (cột).
- Delete rows (columns): Cho phép (hoặc không cho phép) xoá hàng (cột).


Hình 11: Các lựa chọn chi tiết trong bảo mật Sheet trong Excel 2007



Hình 12: Ô C5 đã được bảo vệ (lock) khi Protect Sheet
Tuỳ bảng tính cụ thể mà ta có thể chọn các chức năng cho phù hợp. Khi đó muốn thay đổi bất cứ nội dung nào thì Excel cũng yêu cầu password để mở. Nhưng phải nói cho bạn buồn là sử dụng phương pháp bảo mật kiểu này chỉ phòng được người ngay và chị em phụ nữ "chân yếu tay mềm" thôi! Các phần mềm bẻ khoá hiện nay chỉ cần mất 1 vài giây là khoá bị mở tung hết cho dù password có dài, có khó bao nhiêu đi nữa. Vì vậy chúng ta phải nghiên cứu hướng bảo mật kiểu khác an toàn hơn, hiệu quả hơn. Đó là dùng các phần mềm chuyên bảo mật file Excel mà tôi trình bày ở mục sau.






2.2. Bảo mật bảng tính cùng với VBA
Hiện nay nhiều người đã sử dụng bảng tính kết hợp với lập trình VBA để khai thác sâu hơn, mạnh hơn Excel trong công việc chuyên môn. Nhiều sản phẩm ứng dụng đó có giá trị và có thể kinh doanh được, do đó việc bảo mật là rất cần thiết.
Thông thường để bảo mật VBA Project, trong cửa sổ Microsoft Visual Basic (MVB) ta vào menu Tools, chọn ... Project Properties (hình 13). Cửa sổ ... Project Properties hiện ra, chọn mục Protection, tick vào Lock project for viewing, sau đó nhập password 2 lần để bảo vệ. Và từ đó, bạn phải nhập password mới mở được cửa sổ MVB để xem hay làm việc với VBA.

Cách này đã an toàn chưa nhỉ? Hỡi ôi! Nó cùng chung cảnh ngộ với việc bảo mật bảng tính ở trên. Thật thất vọng khi Microsoft đã từng hùng hồn tuyên bố bảo mật trong Office 2007 tốt hơn rất nhiều so với 2003!!!
Chúng ta lại tìm cách bảo mật khác bằng chức năng sẵn có của Excel xem sao? May thay có một cách bảo mật an toàn hơn. Đó là sử dụng chức năng Share Workbook (hình 14), tức là lợi dụng chức năng này của Excel để bảo mật VBA.

Hình 13: Ô C5 đã được bảo vệ (lock) khi Protect Sheet


Hình 14: Sử dụng chức năng Share Workbook để bảo mật VBA

Khi chọn chức năng này, cửa sổ Share Workbook hiện ra như hình 15. Trong mục Editing, tick vào Allow changes.... (hình 15a). Chuyển sang mục Advanced, chọn Don't keep change history, sau đó bấm OK!

Tiếp theo một loạt thông báo như hình 16, 17, 18, bấm OK để xác nhận! Chức năng Share Workbook đã được thiết lập, việc bảo mật VBA đã thành công!!!
Khi bạn chuyển sang cửa sổ MVB và chọn Project, thay vì cửa sổ hỏi password là cửa sổ Project is unviewable (hình 19)! Các phần mềm bẻ khoá hiện nay vẫn có thể tìm được password nhưng không thể mở được cửa sổ nhập password.

Hình 15: Thiết lập chức năng Share Workbook để bảo mật VBA


Hình 16: Thông báo về lưu dữ liệu khi Share Workbook


Hình 17: Xác nhận lưu Workbook


Hình 18: Thông báo về macro bị ẩn khi Share Workbook


Hình 19: Thông báo Project is unviewable khi mở VBA Project


Lợi bất cập hại! Khi sử dụng chức năng Share Workbook, một số chức năng của Excel bị hạn chế. Một số chức năng bị hạn chế khi sử dụng Share Workbook như sau:
- Không xóa được Sheet
- Không ẩn được Sheet
- Không copy được Sheet
- Không ghép và chia được ô (Merge cells)
- Không cho thay đổi định dạng có điều kiện (Conditional Formatting)
- Không cho thay đổi chức năng Data Validation
- Không cho vẽ các đối tượng lên bảng tính (như chèn ảnh, biểu đồ,...)
- Không cho thiết lập, xoá hoặc thay đổi password bảo vệ bảng tính
- Không cho tự động tính tổng Subtotal
- Không cho tạo hoặc thay đổi báo cáo PivotTable ...

Chính vì vậy cần cân nhắc khi sử dụng chức năng này, nên test lại các chức năng của chương trình nếu đặt chế độ bảo mật kiểu này. Ở chế độ Share Workbook, chức năng Protect Sheet vô tác dụng (bị mờ đi), vì vậy cũng dùng cách này để bảo vệ bảng tính. Nhiều chương trình trong Excel hiện nay sử dụng chức năng Share Workbook để bảo mật. Tuy nhiên bảo mật kiểu này hiện nay cũng không còn an toàn nữa.
Tiếp theo, tôi giới thiệu sang phần mềm bảo vệ bảng tính mạnh mẽ hơn, chuyên nghiệp hơn, an toàn hơn.





3. Bảo mật file Excel bằng phần mềm chuyên dụng
Do khả năng bảo mật yếu kém của Excel mà một loại phần mềm chuyên bảo mật Excel đã ra đời, đáng kể trong số này là Excel Protect, Lockxls,.... Và sau đây tôi đi vào giới thiệu về Lockxls vì phần mềm này luôn được nâng cấp, cập nhật mới (bản mới nhất hiện nay là Lockxls 4.5.24). Mỗi phiên bản có sự thay đổi nhất định về mặt hình thức, xem thêm ở đây:
http://www.lockxls.com/start.asp?id=dnld



Hình 20: Phần mềm Lockxls 4.5.24


Hình 21: Thêm file để bảo mật


Hình 22: File anh Chinh.xlsm đã được tải lên

Đầu tiên bấm vào nút để mở file cần bảo mật (hình 21), cửa sổ Open hiện ra để bạn chọn file cần bảo vệ (ví dụ trong trường hợp này là anh Chinh.xlsm). Sau đó cửa sổ chương trình hiện ra như hình 22.
Thông tin về đường dẫn file gốc trong Path và file được khoá có tên trong Output File Name để bạn có thể tự sửa đổi (file này lưu trong thư mục con Locked của thư mục chứa file gốc). Nội dung hướng dẫn tôi lấy nguồn chủ yếu từ tác giả Trần Thanh Tuấn (Làm bạn với máy tính).
- After upgrade trial period for this file should start from beginning: chưa hiểu rõ nội dung này.
- Convert this Excel document to application: chuyển file Excel thành đuôi exe tự chạy. Khi chọn chức năng này, Lockxls cho phép gán biểu tượng của file trong Custom icon.
- Use individual settings for this file: Sử dụng các chức năng bảo vệ riêng. Khi chọn cách này, một loại chức năng hiện ra như hình 23.
- Protect method: Chọn các cách bảo vệ, có nhiều cách như sau:
+ Password: yêu cầu nhập password mởi mở được file. Có hai hình thức là luôn phải nhập password khi mở hoặc chỉ cần lần đầu (hình 23).
+ Trial period: Nếu bạn chọn kiểu bảo vệ này, file của bạn sẽ được mở mà không cần mật khẩu, tuy nhiên sau một khoảng thời gian hoặc mốc thời gian nào đó, file sẽ bị mã hóa trở lại và cần có password để mở.
- Encrypted workbook should work during x day(s) after first opening: file sẽ tự khóa sau x ngày kể từ lần mở đầu tiên.
- Encrypted workbook should not work after: Đến khoảng thời gian đã định sẵn, bạn sẽ không thể mở được file đã bị khóa nữa.
+ Hardware based Activation Code: Đây là tính năng kích hoạt qua một mã số (activation code). Activation code này phụ thuộc vào phần cứng của người dùng. File tạo ra sẽ liên kết chặt chẽ với phần cứng, copy sang máy khác thì không thể xem được. Với hình thức bảo vệ này, ngoài thời gian giới hạn, bạn cần lưu ý đến thông số Product Code. Đây là mã số cho file được tạo ra do người dùng quy định. Một khi người nhận muốn xem file, họ sẽ phải cung cấp cho bạn mã số máy tính của họ, rồi cùng với công cụ Activation Code Generator tích hợp sẵn với LockXLS, bạn tạo được một activation code riêng cho người đó. Người nhận phải điền đúng code do bạn tạo mới có thể mở file. Đây cũng như hình thức mua bản quyền bằng key phát sinh trên dữ liệu từ máy tính. Bạn cũng có thể quy định một số máy tính không cần activation code mà vẫn có thể xem file bằng cách bấm Registration is not required on these PCs và điền mã của máy tính đó vào ô Computer Code.
+ Activation Code, bound to USB: Tương tự mục Hardware based Activation Code, tuy nhiên máy tính của người nhận cần được kết nối với ổ USB đã được chỉ định thì mới có thể mở file.
+ Serial Number: Cũng giống như số đăng ký phần mềm, bạn được quyền quy định Customer ID và Serial Number tương ứng. Cả hai thông số này chỉ cần được điền đúng mà không phụ thuộc vào máy tính đang dùng. Tính năng này cũng có phần đặt giới hạn thời gian.
- Excel Object Model protection options: Chọn các cách bảo vệ mô hình các đối tượng như hình 24. Thông thường không chọn các chức năng này.


Hình 23: Các chức năng trong Use individual settings for this file



Hình 24: Các chức năng trong Excel Object Model protection options
- Additional options: Chọn các cách bảo vệ các đối tượng chính trong Excel như hình 25. Chức năng này đóng vai trò quan trọng trong việc bảo mật nên tôi trình bày chi tiết để chúng ta có thể lựa chọn cho phù hợp.
+ Leave VBA code available to modification: cho phép hiển thị cửa sổ VBA để có thể sửa đổi như bình thường (như chưa bảo vệ).
+ Leave formulars available to modification: cho phép sửa đổi công thức như bình thường.
+ Allow to modify unlocked cells on protected sheets: cho phép sửa đổi không bị bảo vệ trong sheet đã được bảo vệ.
+ Do not hide formulas on protected sheets: không làm ẩn công thức trong sheet đã được bảo vệ.
+ Allow to unprotect sheets in locked workbook: cho phép bỏ khoá bảo vệ sheet trong workbook được bảo vệ.
+ Allow unhide sheets in locked workbook: cho phép hiện lại các sheet bị ẩn (hide) trong workbook được bảo vệ.
+ Disable printing in this workbook: không cho phép in bảng tính trong workbook.
+ Check for new versions of LockXLS Runtime on customer's PC: cho phép kiểm tra những phiên bản LockXLS mới hơn. Nên bỏ chức năng này.
+ Allow to open workbook if activation failed: cho phép mở workbook trong trường hợp kích hoạt bị hỏng.


Hình 25: Các chức năng bảo mật chi tiết của Lockxls


Hình 26: Xây dựng file được bảo vệ
Sau khi đã thiết lập cài đặt cho file của mình, bạn bấm vào nút Build (hình 26). Sau đó cửa sổ Lockxls thông báo đã file đã được xây dựng thành công cùng với địa chỉ chứa file (hình 27). Khi bạn mở file đã được mã hoá, hình 28 hiện ra thông báo là bản dùng thử. Để mất nội dung thông báo đó đi, bạn phải bỏ tiền mua phần mềm đó (45.95 USD).



Hình 27: Thông báo file đã được xây dựng thành công


Hình 28: Thông báo khi mở file đã được bảo mật (chỉ hiển thị với bản dùng thử)
Bạn có thể vào trang web http://www.lockxls.com để tải các phiên bản mới nhất của Lockxls,
Lockxls cho phép dùng thử trong 15 ngày. Các phiên bản cũ hơn cho phép biên dịch chạy bình thường, không hiển thị thông báo như hình 28 (chỉ mấy phiên bản gần đây mới hiển thị thông báo này).
Có thể nói, bảo mật bảng tính hiện nay bằng Lockxls là biện pháp an toàn nhất hiện nay. Tuy nhiên biện pháp này không hẳn là an toàn tuyệt đối an toàn. Có thể thời điểm hiện tại là an toàn nhưng nhưng về lâu dài thì chưa đảm bảo chắc chắn.


Hình 29: VBA Project đã không hiển thị trong cửa sổ MVB
Đây là nội dung trao đổi về bảo mật bảng tính Excel. Hy vọng thông qua bài viết này, các bạn hiểu biết thấu đáo hơn về cách bảo mật trong Excel.

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến

Phần Mềm Kế Toán

Xem thêm về New soft »