Quá trình phân tích hệ thống trước đây chưa thật kín kẻ Lập trình sai gây lỗi z Các loại kiểm định có thể giúp phát hiện các sai sót đó Kiểm định đơn nguyên, kiểm định tích hợp, kiể
Trang 1Phân tích thiết kế
hệ thống
Lớp Tin học 3 05/09/07 - 08/10/07
Nguyễn Hoài Anh
Khoa công nghệ thông tin Học viện kỹ thuật quân sự
nguyenhoaianh@yahoo.com
Trang 2Bμi 3 ThiÕt kÕ kiÓm so¸t
Trang 3I Mục đích
z Để hệ thống hoạt động đúng đắn, hiệu quả ta cần
phải bổ sung các kiểm soát cần thiết Các kiểm soát này nhằm
z tăng độ tin cậy của thông tin hệ thống
z phòng tránh hay hạn chế tối đa các nguy cơ gây mất mát, h− hỏng thông tin đe doạ sự hoạt động của hệ thống do ngẫu nhiên hay cố ý
z Mục đích của việc thiết kế kiểm soát là đề xuất các
biện pháp nhằm làm cho hệ thống đảm bảo đ−ợc
Trang 4 Quá trình phân tích hệ thống trước đây chưa thật kín kẻ
Lập trình sai gây lỗi
z Các loại kiểm định có thể giúp phát hiện các sai sót đó
Kiểm định đơn nguyên, kiểm định tích hợp, kiểm định hệ thống
z Dữ liệu dùng trong hệ thống là xác thực
z đảm bảo tính toàn vẹn, bảo đảm tính xác thực và phi mẫu thuẫn của dữ liệu
z Kiểm tra các thông tin thu thập và thông tin xuất ra từ hệ thống nhằm đảm bảotính xác thực của dữ liệu sử dụng
Trang 6II Ktra ttin thu thập và ttin xuất
z Mục đích
z đảm bảo tính xác thực của thông tin
z Yêu cầu
z mọi thông tin nhập vào hoặc xuất ra đều phải đ−ợc kiểm tra.
z Nơi tiến hành kiểm tra
z Nơi thu thập thông tin đầu vào
z Trung tâm máy tính
z Nơi nhận tài liệu xuất
z Nội dung kiểm tra
z Phát hiện lỗi và sửa lỗi
Trang 7II Ktra ttin thu thập và ttin xuất
z Hình thức kiểm tra
z Bằng tay/bằng máy
z Đầy đủ/không đầy đủ: kiểm tra đầy đủ sẽ gây tốn kém nên trong một số trường hợp người ta tập trung chú ý vào một số thông tin chủ yếu để kiểm tra.
Trang 8II Ktra ttin thu thËp vµ ttin xuÊt
z Thø tù kiÓm tra
z KiÓm tra trùc tiÕp tr−íc
z KiÓm tra gi¸n tiÕp sau
Trong kiÓm tra trùc tiÕp, ta kiÓm tra lÇn l−ît
Trang 9III Kh¶ n¨ng gi¸n ®o¹n ctr×nh
z Nguyªn nh©n cña sù gi¸n ®o¹n ch−¬ng tr×nh
z MÊt thêi gian, v× ph¶i ch¹y ch−¬ng tr×nh l¹i tõ ®Çu
z MÊt hoÆc sai l¹c th«ng tin, vÝ dô nh− th«ng tin cña file bÞ sai l¹c v×
®ang cËp nhËt dë dang.
Trang 10III Khả năng gián đoạn ctrình
z Việc mất thời gian không phải là nghiêm trọng lắm, nhưng thông tin sai lạc là điều nguy hiểm cần khắc phục
z Có nhiều cách để đảm bảo sự an toàn thông tin
z Khoá từng phần CSDL: CSDL được phân hoạch thành các đơn vị để cập nhật
z Các đơn vị có thể là trường, bản ghi, file hoặc một số phần rộng hơn của CSDL
z Khi một bản sao của một đơn vị được cập nhật, thì bản gốc phải được khóa lại vàngăn mọi truy nhập đến nó
z Khi cập nhật kết thúc, phiên bản mới của đơn vị thay thế phiên bản cũ và sự cậpnhật hoàn thành
z Nếu trong quá trình cập nhật, hệ thống bị hỏng, thì bản gốc vẫn còn nguyên vẹn
Trang 11III Khả năng gián đoạn ctrình
z Có nhiều cách để đảm bảo sự an toàn thông tin
z Các file sao lục: bao gồm file nhật ký và các file lưu
z file nhật ký: là file tuần tự chứa các bản sao (hoặc hình ảnh) của các đơn vị CSDL trước và sau khi chúng được cập nhật
z file lưu: gồm các bản sao toàn bộ hoặc một phần của CSDL được thực hiện theochu kỳ
z Ví dụ, một bản sao một phần tư CSDL có thể được thực hiện hằng ngày, hoặc mộtbản sao toàn bộ CSDL được thực hiện mỗi tuần một lần
Trang 12III Khả năng gián đoạn ctrình
z Các thủ tục phục hồi
z là thủ tục đưa CSDL trở về trạng thái đúng đắn mà nó có ngay trước khi bị hỏng vì một gián đoạn chương trình.
z Ta cần chú ý rằng sự phục hồi không phải bao giờ cũng có ích thực
sự Điều này còn tùy thuộc vào nguyên nhân của sự gián đoạn
chương trình
z Hỏng hóc phần cứng: hỏng một mạch trung tâm hay hỏng 1 thiết bị ngoại vi Cáchỏng hóc dạng này nhiều khi không ngắt hẳn chương trình và để chương trình chạy sai lạc ⇒ chương trình phục hồi là vô ích, cần chữa lại máy và chạy lại chương trình
từ đầu
z Giá mang của tệp có sự cố: dẫn đến chương trình bị gián đoạn vì thao tác vào/rakhông thực hiện được ⇒ có thể sử dụng thủ tục phục hồi
Trang 13III Khả năng gián đoạn ctrình
z Các thủ tục phục hồi
z Hỏng hóc môi trường máy tính: mất điện, độ ẩm cao Nếu điện ngắt hẳn, chươngtrình bị gián đoạn có thể dùng thủ tục phục hồi Nhưng nếu điện chập chờn, chươngtrình không bị ngắt hẳn phải chạy lại chương trình từ đầu
z Hỏng hệ điều hành: có thể dùng thủ tục phục hồi
z Thực hiện sai quy định của hệ điều hành: vượt quá bộ nhớ hay vượt quá thời gianquy định, chương trình bị ngưng ⇒ có thể dùng thủ tục phục hồi
z Lỗi do lập trình sai: chẳng hạn gặp trường hợp chưa dự kiến trong chương trình Chương trình dừng nhưng định vị được Có thể phục hồi thông tin sau khi đã sửa lại chương trình
z Nhầm lẫn trong thao tác: sự phục hồi là có ích
Trang 14III Khả năng gián đoạn ctrình
z Các thủ tục phục hồi
z Ngoài tác dụng của thủ tục phục hồi như trên, sự cài đặt thủ tục phục hồi còn phải được cân nhắc trên các mặt sau
z Thời gian bị mất do phục hồi: ngoài mục đích lấy lại dữ liệu, còn mục đích tranh thủthời gian Nếu thời gian cho thủ tục phục hồi là lớn hơn so với việc chạy chươngtrình bình thường thì không cần thủ tục phục hồi
z Chương trình không bắt đầu lại được khi đã gián đoạn:
chương trình chạy theo phương thức mẻ có thể bắt đầu lại từ đầu
Chương trình chạy theo phương thức trực tuyến sẽ không thể bắt đầu lại từ đầu được.
⇒ Cần phải có dự kiến cho thủ tục phục hồi.
z Tính phức tạp của thủ tục phục hồi và các ràng buộc về khai thác: nếu thủ tục phụchồi là quá phức tạp thì cần cân nhắc kỹ Mặt khác cần lưu ý thủ tục phục hồi đòi hỏiphải dùng thêm nhiều file mới, nên cần thêm thiết bị ngoại vi
Trang 15III Khả năng gián đoạn ctrình
z Nguyên tắc hoạt động của thủ tục phục hồi
z Sao lưu định kỳ
z Khi phục hồi sau sự cố gián đoạn, chương trình thực hiện các bước sau
z Đọc các giá trị cuối cùng của các biến mốc
z định vị lại đầu đọc các file đang dùng
z Xử lý một số lô trên các file vận động, do có một số lô đó chưa rõ là
trước khi bị gián đoạn đã được xử lý chưa
z Khởi động lại chương trình từ chỗ bị ngắt.
Trang 16III Kh¶ n¨ng gi¸n ®o¹n ctr×nh
z CÊu tróc mét ch−¬ng tr×nh cã thñ tôc phôc håi
z Bèi c¶nh lµm viÖc cña ch−¬ng tr×nh cã thñ tôc phôc håi
Trang 17III Khả năng gián đoạn ctrình
z Cấu trúc một chương trình có thủ tục phục hồi
z Cấu trúc của chương trình có phục hồi
Hỏi nguời dùng Chạy bình thờng hay chạy phục hồi
Chạy thuờng hay chạy phục hồi
-: -
: -
: -
: -
: -
-: - - -
: - - -
: -
Đọc lại giá trị của các biến mốc đã
cất giữ
Định vị lại các
đầu đọc các file
Xử lý các file phiên bản đối với các bản ghi không chắc là đã
đợc xử lý trớc gián đoạn
Trang 18III Khả năng gián đoạn ctrình
z Nguyên tắc hoạt động của thủ tục phục hồi
z Các lệnh ghi nhận các biến mốc được chèn vào chương trình
ở những vị trí tùy thuộc loại chương trình.
z Loại chương trình quản lý
Thường được điều khiển bởi file dẫn trong đó các biến mốc thường được ghinhận giá trị sau n bản ghi được xử lý (n≥1; n = 20, 50, 100…)
Hoặc có thể lấy biến mốc là sau một khoảng thời gian nhất định
z Loại chương trình tính toán khoa học kỹ thuật:
Thường ghi nhận giá trị biến mốc sau n lần lặp, hoặc sau khoảng thời giannhất định
Trang 19III Khả năng gián đoạn ctrình
z Nguyên tắc hoạt động của thủ tục phục hồi
z Cách lưu trữ các biến mốc
z Lưu trên một file gọi là file phục hồi
z Lưu nhiều bộ tiếp nhau theo thời gian.
z File phục hồi có thể tổ chức theo 2 cách
z Tổ chức tuần tự: Lấp đầy file tuần tự bằng các giá trị giả, rồi ghi dần các giá trị thật Nhờ có sự phân biệt giữa giá trị giả và giá trị thật, nên sau sự
cố, có thể tìm được bộ giá trị được ghi cuối cùng.
z Tổ chức theo lối đu đưa: chỉ dùng 2 chỗ đủ hai bộ, luân phiên cho nhau File này phải viết và đọc được theo lối trực tiếp.
Trang 20IV Xâm phạm từ con người
z gây ra các quyết định sai lạc
z hoặc gây ra thất thoát, lãng phí tài sản
Trang 21IV Xâm phạm từ con người
z Bảo vệ hệ thống trước sự xâm phạm từ con người nhằm vào các mục đích
z Bảo vệ tính bí mật: thông tin không bị lộ, không bị khám phá
z Bảo vệ tính toàn vẹn: đảm bảo tính nhất quán của dữ liệu, ngăn
chặn việc tạo và thay đổi bất hợp pháp hoặc phá hoại dữ liệu
z Bảo vệ tính khả dụng: bảo đảm sự sẵn dùng của hệ thống, người dùng hợp pháp không bị từ chối truy nhập.
z Bảo đảm tính riêng tư: bảo đảm các tài nguyên không bị sử dụng bởi các cá nhân không có quyền hoặc theo các cách không hợp pháp.
Trang 22IV Xâm phạm từ con người
z Có rất nhiều giải pháp được đưa ra cho việc thiết kế kiểm soát, nhưng có thể chia thành 2 loại
z Liên quan đến phần cứng và tổ chức vật lý
z Liên quan đến phần mềm và tổ chức dữ liệu
Trang 23IV Xâm phạm từ con người
z Liên quan đến phần cứng
z Biện pháp vật lý: là các biện pháp bảo vệ chống hư hỏng vật
lý Chẳng hạn như, bảo vệ ổ ghi dữ liệu, bảo vệ máy in…
z Việc bảo vệ đó được hỗ trợ bởi một số thiết bị đi kèm để bảo
vệ phần cứng.
z Liên quan đến phần mềm và tổ chức dữ liệu
z Tổ chức các hệ lưu trữ dự phòng Chẳng hạn, bố trí hai máy chủ làm việc song song, sao chép dữ liệu sau khi xử lý.
z Tổ chức kiểm soát truy cập: mật khẩu, cấp quyền truy nhập, mã hóa số liệu.
z Mã hóa thông tin trên đường truyền
Trang 24IV Xâm phạm từ con người
z Có rất nhiều kỹ thuật để phân tích các kiểm soát, ở
đây nêu ra một trong số các kỹ thuật đó
z Dựa vào sơ đồ dòng dữ liệu vào, bao gồm việc rà soát toàn
bộ các mô hình DFD khác nhau
z Xác định ra nguồn gốc của mọi nhược điểm của kiểm soát.
z Quá trình thiết kế kiểm soát bao gồm các giai đoạn
z Xác định các điểm hở của hệ thống
z Xác định các kiểu đe dọa có thể xảy ra
z Xác định các trạng thái phát sinh đe dọa
z Lựa chọn các thiết kế kiểm soát
Trang 25IV.1 Xác định các điểm hở yếu
z Điểm hở yếu là điểm mà tại đó thông tin của tổ chức có tiềm
năng bị xâm nhập bởi những người trong hoặc ngoài tổ chức đó.
z Một số nơi thường có điểm hở yếu
z Thông tin trên đường truyền từ nơi lưu trữ đến nơi sử dụng
z Luồng dữ liệu từ DFD đi tới một tác nhân ngoài
z Luồng dữ liệu đi từ máy tính sang phần người sử dụng
z Thông tin trao đổi qua giao diện
z Nếu thiết kế giao diện không chuẩn dẫn đến sự sai lệch thông tin nên hệ thốnghoạt động sai gây thất thoát tài sản của tổ chức
z Các nơi lưu trữ thông tin: đó là các kho dữ liệu hoặc file
z File có thể bị truy cập lén lút, có thể bị sửa đổi ngẫu nhiên → có thể gây cho tổchức một số thiệt hại
Trang 26IV.3 Xác định các kiểu đe dọa
z Đe doạ có thể xảy ra từ những điểm hở đó
z Ăn cắp thông tin và tài sản: làm hỏng hoặc lấy cắp các thông số
quan trọng đối với tổ chức
z Thất thoát tài sản: biển thủ một số tài sản của tổ chức hoặc việc mất mát tài sản do bất cẩn của tổ chức
z Quyết định sai do thiếu thông tin hoặc thông tin không đúng Ví dụ: hàng cứ gửi đi trong khi khách hàng đã huỷ bỏ đơn hàng.
z Gây tốn kém, lãng phí: do cách tiến hành thủ tục của tổ chức theo cách thức quá tốn kém.
z Gây lộ bí mật do thông tin bị truy cập trái phép Các thông tin về tổ chức bị rơi vào tay đối thủ cạnh tranh
Trang 27IV.3 Xác định các kiểu đe dọa
z Đánh giá đe doạ: với mỗi đe doạ cần xác định
z Bước 1 Xác định các trạng thái đe dọa (Khi nào ? Tình huống nào ?)
z Ví dụ: trong việc lập đơn đặt hàng
Nhóm kiểm soát có thể bắt đầu bằng việc xem xét việc lập đơn hàng có gây
ra cơ hội nào cho việc ủy thác hoặc che đậy cho việc ăn cắp không ?
Khi kiểm tra khả năng “thất thoát tài sản” qua đơn hàng, nhóm có thể xemxét nguy cơ việc đặt nhiều hoặc ít hàng
ít hàng: chi phí đắt và giá thành lưu kho
Nhiều hàng: không đáp ứng được, có thể thua thiệt trong kinh doanh
Mối đe dọa về việc lập đơn hàng với số lượng không đúng với thực tế trongkho có thể xếp vào loại quyết định thiếu thông tin
Trang 28IV.3 Xác định các kiểu đe dọa
z Đánh giá đe doạ: với mỗi đe doạ cần xác định
z Bước 1 Xác định các trạng thái đe dọa (Khi nào ? Tình huống nào ?)
z Ví dụ: trong việc lập đơn đặt hàng
Khi xem xét “phí tổn cao”, nhóm phân tích có thể xem xét liệu khối lượng đặthàng có ảnh hưởng đến giá thành đặt hàng và giao hàng không ?
Việc giao hàng với số lượng ít là thường xuyên, lúc đó hàng phải tập trung lại chứ không được chuyển đi ngay → chi phí vận hành quá trình đặt hàng bên trong công
ty là quá cao Đây cũng là một đe dọa
Vi phạm quyền riêng tư: đây không phải là một đe dọa trong quá trình lập đơn hàng
Trang 29IV.3 Xác định các kiểu đe dọa
z Đánh giá đe doạ: với mỗi đe doạ cần xác định
z Bước 2 Xác định mức độ thiệt hại ⇒ đánh giá mức độ thiệt hại mà tổ chức phải chịu
z Cao: tác động trầm trọng cho tổ chức Chẳng hạn như mất bí quyết kinh doanh.
z Vừa: có thiệt hại lớn, nhưng không ảnh hưởng đến toàn bộ tổ chức
Chẳng hạn như, sửa số liệu tồn kho để ăn cắp tài sản.
z Bình thường: thiệt hại có thể sửa chữa được Chẳng hạn như sai số liệu khi cập nhật chứng từ
Trang 30IV.3 Xác định các kiểu đe dọa
z Đánh giá đe doạ: với mỗi đe doạ cần xác định
z Bước 2 Xác định mức độ thiệt hại ⇒ đánh giá mức độ thiệt hại mà tổ chức phải chịu
z Ví dụ trong việc “Lập đơn hàng” ta thấy
Mối đe dọa từ việc ăn cắp, hoặc thất thoát tài sản được xếp vào loại vừa Bởivì, giá trị tối đa của một đơn hàng đặc biệt có thể làm tổ chức đó bị thiệt hại lớn, nhưng không thể gây nguy hiểm cho toàn bộ tổ chức
Tương tự, mối đe dọa từ việc quyết định thiếu thông tin, hay tổn phí cao cũng
được xếp vào loại vừa
Ta có thể mô tả việc phân tích các mối đe dọa trong việc “lập đơn hàng” bằngbảng sau
Trang 31z Ví dụ: thiết kế kiểm soát của hệ cung ứng vật t−
Mẫu phân tích kiểm soát Hệ cung ứng vật t−
Tên tệp ra: Đơn hàng
Mục đích: đặt mua vật t− từ nhà cung cấp
Nội dung/mô tả
Số hiệu đơn, tên và địa chỉ NCC
Với mỗi mặt hàng đ−ợc đặt: Mã hàng của NCC, mã hàng của công ty
Đe doạ Nguy
Việc đặt mua không đúng
1.2 1.4 1.1
Hệ mật khẩu giá trị duy nhất
Hệ mật khẩu Tạo một quá trình ra báo cáo quản lý kho
Trang 32IV.4 Xác định các trạng thái phát sinh đe dọa
z Sau khi xác định được từng đe dọa có thể xảy ra liên quan đến từng điểm hở, nhóm phân tích cần cố gắng làm rõ hoàn cảnh xuất hiện mối đe dọa
z Bước 1 Với các đe dọa đã được xác định ở trên, nhóm phân tích sử dụng DFD để xác định tình huống đặc biệt có thể phát sinh các mối đe dọa đó.
z Ví dụ trong việc “Lập đơn hàng” ta thấy
Nếu người ta định dùng đơn hàng để thực hiện ăn cắp nhất định họ phải thựchiện một lần thâm nhập trái phép vào hệ thóng để tạo dựng một đơn hàng vềmột loại vật tư nào đó Việc thâm nhập này phải xuất hiện trong quá trình tạo
đơn hàng, cho nên phải đưa vào đối thoại để lập đơn hàng
Mối đe dọa do quyết định thiếu thông tin nói tới tình huống đơn mua hàngquá nhiều hoặc quá ít so với lượng hàng có trong kho
Trang 33IV.4 Xác định các trạng thái phát sinh đe dọa
z Bước 2 Đánh giá xác suất xảy ra đe dọa Có thể phân thành
z Thấp: sự kiện hầu như không xuất hiện nhưng cũng có khả năng đó.
z Ví dụ Trong việc “Lập đơn hàng”
Nguy cơ ăn cắp trong việc lập đơn hàng do làm sai lệch các bản ghi máy tính
là có xác suất thấp
Mối đe dọa do “quyết định thiếu thông tin” có thể xuất hiện trên cơ sở đều
đặn nếu trong quy trình có một nhược điểm nào đó Điều này có thể được
đánh giá là xác suất cao
Trang 34IV.5 Lùa chän gi¶i ph¸p kiÓm so¸t hÖ thèng
Trang 35IV.5 Lựa chọn giải pháp kiểm soát hệ thống
z Sau khi nhóm phân tích đã xác định các mối đe dọa và tình huống chúng có thể xuất hiện, họ có thể bắt đầu ra quyết định
về các kiểm soát thực tại dùng cho từng tình huống.
z Lựa chọn những điểm hở và đe dọa cần kiểm soát Phụ thuộc vào
z Khả năng kiểm soát: về kỹ thuật, về tài chính
z Chi phí hiệu quả: so sánh giữa chi phí bỏ ra và các điểm lợi thu lại
z Câu hỏi phải trả lời đ−ợc khi thực hiện yêu cầu trên
z Điểm hở có cần kiểm soát không ?
z Những đe dọa gì ở những điểm hở cần kiểm soát ?
z Sử dụng biện pháp nào ?
z Tổng chi phí cho kiểm soát ?