Bảo mật web application
Trang 1TIỂU LUẬN TỐT NGHIỆP BẢO MẬT WEB APPLICATION
Giảng viên hướng dẫn: Thầy VŨ ĐÌNH HỒNG
Sinh viên thực hiện:
NGUYỄN LÂM
Lớp: 06TH1D
Khóa: 10
Trang 2Lời Cám Ơn
Trong suốt quá trình học tập tại trường Đại học Tôn Đức Thắng, em đã được tạo điều kiện thuận lợi cho việc học tập của mình, đồng thời em cũng nhận được rất nhiều sự quan tâm, dìu dắt dạy bảo tận tình của quí Thầy Cô Lời đầu tiên, em xin
gửi đến tất cả các thầy cô trong Khoa Công Nghệ Thông Tin & Toán Ứng Dụng, trường Đại Học Tôn Đức Thắng lòng biết ơn chân thành đối với những gì
thầy cô đã dành cho em trong suốt thời gian qua
Và hơn hết, em xin gửi lời cảm ơn sâu sắc đến Thầy Vũ Đình Hồng, người
đã trực tiếp hướng dẫn em trong suốt thời gian thực hiện đề tài Với sự quan tâm hướng dẫn tận tình của Thầy, em đã từng bước làm quen với quá trình thực hiện đề tài và đã có những thành quả nhất định Trong suốt quá trình được Thầy hướng dẫn
em đã học tập được rất nhiều từ Thầy về kiến thức chuyên môn, tác phong làm việc
và nhiều điều bổ ích khác Chính nhờ những điều đó, em mới có thể hoàn thành khóa luận tốt nghiệp này
Cuối cùng em xin gửi lời cảm ơn tới gia đình và bạn bè đã luôn bên cạnh, ủng hộ và động viên em trong những lúc gặp phải khó khăn để em có thể hoàn thành quá trình học tập, nghiên cứu và thực hiện khóa luận tốt nghiệp này
Mặc dù em đã làm việc nghiêm túc và rất cố gắng hoàn thành tiểu luận, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các bạn
Sinh viên thực hiện:
Nguyễn Lâm
Trang 3Nhận xét của giáo viên hướng dẫn:
Trang 4
Nhận xét của giáo viên phản biện:
Trang 5
MỤC LỤC
Lời mở đầu
Chương I : Security Engineering Approach
Chương II : Security Objectives
Chương III : Security Design Guidelines
Chương IV : Threat Modeling
Chương V : Security Architecture and Design Review
Trang 6Lời mở đầu
Theo thống kê, trong năm 2009, nước ta có hơn 1000 website bị hacker tấn công, tăng hơn gấp đôi so với năm 2008 (461 website) và gấp ba lần so với năm 2007 (342 website) Mạng Internet Viet Nam còn tiềm ẩn rất nhiều rủi ro về mặt an ninh Trong ba tháng đầu năm nay, ước tính đã có hơn 300 website của các cá nhân và tổ chức có tên miền vn bị các hacker nước ngoài thăm dò và tấn công Các website bị tấn công chủ yếu là các website kinh doanh trực tuyến, ngân hàng, các tổ chức cung cấp dịch vụ
Nguyên nhân bị tấn công chủ yếu là sự yếu kém của các website ở Việt Nam trong các vấn đề kiểm soát lỗ hỗng, quản trị yếu kém, phớt lờ các cảnh bảo an ninh của các tổ chức bảo đảm an ninh an toàn thông tin Số lượng các điểm yếu an ninh được phát hiện trong năm 2009 đã lên đến con số 4300 (năm 2008 chỉ là 3500), có tới 30% lỗ hổng có mức độ nguy hiểm cao Gần một nữa (49%) số lỗ hổng an ninh vẫn chưa có các bản vá do nhà cung cấp phát hành
Trong năm 2009, chỉ tính riêng hơn 40 vụ án công nghệ cao bị phanh phui, thiệt hại
mà nó đem lại đã lên đến hàng ngàn tỷ đồng Các vụ tấn công tin học nhắm vào ngân hàng, thị trường chứng khoáng ngày càng gia tăng Nhưng do tính chất đặc thù, hầu hết các vụ việc không được công khai nên người ta không lường hết được mức độ nguy hiểm của nó
Những số liệu ở trên được lấy từ Hội Thảo – Triễn lãm quốc gia về an ninh bảo mật lần thứ năm tại Hà Nội (Security World 2010).
An ninh mạng không phải chỉ là những biện pháp kỹ thuật sữa lỗi và bảo vệ hệ thống sau khi nó đã được dựng lên và từng bị xâm nhập, tấn công, cài đặt virus, hay backdoor An ninh mạng vốn là một quy trình cần phải được xây dựng ngay từ đầu Vậy quy trình đó được xây dựng như thế nào và triễn khai ra sao Tiểu luận xin được trình bày về quy trình này
Những số liệu trên đã phần nào khái quát rõ tình hình an ninh mạng hiện nay trên Thế Giới nói chung và Việt Nam nói riêng đang diễn biến rất phức tạp Các lỗ hỗng xuất hiện ngày càng nhiều, các kĩ thuật tấn công ngày càng tiên tiến, các chủng loại virus, trojan, worm… càng ngày càng có nhiều biến thể Trong tình hình đó việc phải thiết kế, xây dựng và phát triễn ứng dụng một cách an toàn đó thật sự là một thách thức lớn trong tình hình hiện nay
An ninh mạng vốn dĩ là một quy trình bảo mật lặp đi lặp lại, và quy trình này phải được tích hợp song song với quy trình phát triễn của ứng dụng Quy trình này bao gồm hàng loạt những hành động có liên hệ với nhau từ việc xác định đối tượng bảo mật, áp dụng những hướng dẫn thiết kế bảo mật vào trong kiến trúc và thiết kế của ứng dụng, đến việc thiết lập mô hình hóa mối đe dọa , thiết lập code bảo mật, cho đến việc kiểm tra và triễn khai ứng dụng
Trang 7Nội dung của đề tài gồm có 5 chương bao gồm :
Chương I : Quy trình bảo mật
Chương II : Kĩ thuật xác định mục tiêu bảo mật
Chương III : Kĩ thuật áp dụng những nguyên tắc bảo mật vào trong thiết kế
Chương IV : Kĩ thuật thiếp lập mô hình hóa mối đe dọa
Chương V : Kĩ thuật phân tích kiến trúc và thiết kế của ứng dụng
Trang 8Chương I
Giới thiệu về quy trình bảo mật
Để có thể thiết kế, xây dựng và triễn khai một ứng dụng an toàn, đó thật sự là một thách thức lớn Chìa khóa để giải mã cho thách thức này chính là việc phải tích hợp quy trình bảo mật vào trong vòng đời phát triễn của ứng dụng Quy trình bảo mật bao gồm tập hợp những kĩ thuật bảo mật đã được chứng minh là có hiệu quả cao trong quá trình tiến hành bảo mật ứng dụng Những kĩ thuật bảo mật này có thể được áp dụng vào bất kì loại ứng dụng nào Tuy nhiên, không phải vì vậy mà có thể
áp dụng một cách khuôn mẫu vào trong ứng dụng, mà mỗi một bước thực hiện phải được điều chỉnh cho phù hợp với ứng dụng
Mô hình sau đây miêu tả những kĩ thuật bảo mật ứng với vòng đời phát triễn của ứng dụng
Hình 1 Những kĩ thuật bảo mật trong vòng đời phát triễn của ứng dụng
Trang 9Những kĩ thuật đó bao gồm :
Security Objectives_Kĩ thuật xác định mục tiêu bảo mật : Việc xác định mục
tiêu bảo mật thường là công việc được ưu tiên thực hiện đầu tiên trong quá trình bảo mật Những đối tượng này có ảnh hưỡng đến sự minh bạch, sự riêng tư, và sự tiện dụng của dữ liệu và ứng dụng Kĩ thuật này sẽ giúp ta có thể xác định được các mục tiêu cần bảo mật trong hệ thống
Security Design Guidelines_Kĩ thuật áp dụng những nguyên tắc bảo mật vào trong thiết kế : Kĩ thuật này hướng dẫn cách thức áp dụng những nguyên tắc bảo
mật vào trong thiết kế sẽ góp phần giúp cho việc xác định những khu vực thường xãy ra những vi phạm bảo mật thường thấy trong những bản thiết kế
Threat Modeling_Kĩ thuật thiết lập mô hình hóa mối đe dọa : Kĩ thuật này được
sữ dụng để thiết lập các mô hình hóa mối đe dọa từ đó giúp cho việc xác định những mối đe dọa cũng như những lỗ hỗng tiềm tàng trong ứng dụng của bạn
Security Architecture and Design Review_Kĩ thuật phân tích cấu trúc và thiết
kế của ứng dụng : Kĩ thuật này sẽ phân tích cấu trúc và thiết kế của ứng dụng từ
góc độ an ninh Nó sẽ xem xét một số khía cạnh liên quan đến việc triễn khai, cơ sở
hạ tầng, những cấu trúc tỗng thể của ứng dụng cũng như những lớp của ứng dụng
Security Code Review_Kỉ thuật phân tích code : Kĩ thuật này được sữ dụng để
phân tích những đoạn code nhằm tìm ra những lỗ hỗng tồn tại trong đó
Security Testing_Kĩ thuật kiểm tra : Kĩ thuật này sẽ giúp cho ta thiết lập một kế
hoạch kiểm tra dựa vào phạm vi ảnh hưởng của những mối đe dọa được xác định từ
mô hình hóa mối đe dọa
Security Deployment Review_Kĩ thuật đánh giá việc triển khai bảo mật : Kĩ
thuật này được sử dụng để đảm bảo chắc chằn rằng việc thiếp lập các cấu hình cho
hệ thống được tối ưu để thực hiện việc triễn khai ứng dụng được an toàn
Những kĩ thuật này kết hợp với nhau như thế nào.
Những kĩ thuật này thường được tiến hành sớm và tiếp tục sữ dụng trong suốt vòng đời phát triễn của ứng dụng
Hình 2 sẽ giúp cho ta có một cái nhìn khái quát về quá trình hoạt động của các kĩ thuật này trong suốt vòng đời phát triễn của ứng dụng
Trang 10Mỗi một kĩ thuật bảo mật đều ảnh hưởng đến các kĩ thuật khác và đến từng giai đoạn phát triễn của ứng dụng
Quan sát ở hình trên bạn sẽ thấy:
Áp dụng những nguyên tắc bảo mật vào trong ứng dụng sẽ góp phần làm giảm tối thiểu những mối đe dọa được tìm thấy trong suốt quá trình thiết lập mô hình hóa mối đe dọa
Threat Modeling_Mô hình hóa mối đe dọa : cho phép bạn xác định những mối đe dọa cũng như những lỗ hỗng Việc xác định những lỗ hỗng và các giáp pháp được tiến hành để giải quyết chúng được định hình và nó sẽ ảnh hưỡng đến các giai đoạn phát triễn sau này của ứng dụng như giai đoạn thiết kế, phát triễn, kiểm tra và triễn khai
Tầm quan trọng của các kĩ thuật bảo mật.
Security Objectives_Kĩ thuật xác định mục tiêu bảo mật : nếu bạn không xác
định được mục tiêu cần được bảo mật trong ứng dụng, thì thật sự sẽ rất khó có thể thành công trong việc bảo mật ứng dụng
Security Design Guidelines_Kĩ thuật áp dụng những nguyên tắc bảo mật vào trong thiết kế : bằng việc áp dụng những nguyên tắc bảo mật và cập nhật những
thông tin cảnh báo an ninh từ những tổ chức có uy tín sẽ bảo đảm cho việc tiến hành bảo mật được thuận lợi
Threat Modeling_Kĩ thuật thiết lập mô hình hóa mối đe dọa : bằng việc thiết
lập những mô hình hóa mối đe dọa, ngoài việc giúp cho quá trình bảo mật được phát triễn thuận lợi, nó còn cải tiến chất lượng cho ứng dụng của bạn Thêm vào đó
nó còn đảm bảo việc tiến hành lập các kế hoạch kiểm tra phần mềm được thuận lợi
Nó còn có tác dụng giúp cho những những nhà phát triễn và những chuyên viên IT
có một cái nhìn tổng quan về ứng dụng
Trang 11Security Architecture and Design Review_Kĩ thuật phân tích cấu trúc và thiết
kế của ứng dụng : Sẽ tốt rất nhiều chi phí để có thể giải quyết những sai sót được
phát sinh trong giai đoạn thiết kế Vì vậy việc phân tích cấu trúc và thiết kế của ứng dụng một cách kĩ lưỡng sẽ phát hiện ra những sai sót được phát sinh trong giai đoạn thiết kế, tránh những thiệt hại có thể xãy ra trong những giai đoạn phát triễn tiếp theo cũng ứng dụng
Security Code Review_Kỉ thuật phân tích code : những sai xót được phát sinh
trong quá trình coding thường rất phổ biến, việc phân tích , rà soát những đoạn code
bị lỗi sẽ giúp làm giảm tối thiểu chi phí hao tỗn nếu nó bị khai thác
Security Deployment Review_Kĩ thuật đánh giá việc triển khai bảo mật : cho
dù ứng dụng của bạn có đạt hiệu quả cao như thế nào, nó cũng sẽ bị hủy bỏ nếu như việc cấu hình yếu kém trong quá trình triễn khai
Để có thể trình bày một cách khách quan nhất về quy trình bảo mật này, đề tài sẽ sữ dụng Website trưng bày sản phẩm gốm sứ làm ví dụ để có thể minh họa một cách chính xác nhất về những kĩ thuật nói trên
Trang 12Giới thiệu sơ lược về Website trưng bày sản phẩm gốm sứ.
Mục tiêu của đề tài :
Website trưng bày sản phẩm gốm sứ được xây dựng nhằm để hỗ trợ việc trưng bày
và mua bán hàng hóa Gốm sứ qua mạng cho các nhà doanh nghiệp với các khách hàng
Đối với các doanh nghiệp :
Hệ thống website hỗ trợ việc giới thiệu sản phẩm đến người có nhu cầu sử dụng Giới thiệu được đầy đủ tất cả các mặt hàng và tất cả các chính sách ưu đãi của doanh nghiệp danh cho khách hàng một cách rộng rại Kèm theo đó là hệ thống hỗ trợ về việc giao dịch mua bán một cách nhanh chóng và tiện lợi
Đối với các khách hàng :
Hệ thống website tạo điều kiện thuận lợi cho người dùng có thể sữ dụng hệ thống rộng rãi Trong lúc mong muốn tìm kiếm một sản phẩm phù hợp với nhu cầu thực tế của cá nhân, website giúp người sử dụng có thể tìm kiếm và chọn lựa được những sản phẩm phù hợp với tiêu chí và khả năng tài chính một cách nhanh chóng và dễ dàng… Ngoài ra, website còn giới thiệu đến người sử dụng về các dịch vụ khách hàng các chính sách ưu đãi của các doanh nghiệp
Tổng quan về đề tài
Yêu cầu chức năng :
Lưu trữ thông tin liên quan đến sản phẩm : website lưu trữ các thông tin về sản phẩm, các đơn đặt hàng của khách hàng về sản phẩm đó Thông qua đó, kiểm soat được nội dung, sản phẩm và các thông tin liên quan đến sản phẩm và có thể thống
kế dễ dàng khi được yêu cầu
Lưu trữ thông tin của người dùng : các thông tin về người dùng (kể cả doanh nghiệp, người tiêu dùng, quản trị…) như : username, password, họ tên, email… Thông qua việc này chúng ta có thể kiểm tra được ai đã tham gia vào website và vì vậy dễ dàng có những ưu đãi đối với khách hàng nhằm thu hút khách hàng đến với website và mua sản phẩm đồng thơi thu hút các doanh nghiệp tin tưởng trưng bày sản phẩm Bên cạnh đó giúp phát triễn website thông qua các đóng góp của khách hàng
Yêu cầu nghiệp vụ :
Phân chia hệ thống ra thành từng mãng, mỗi quản trị viên chịu trách nhiệm về 1 lĩnh vực (quản lý loại sản phẩm, quản lý quảng cáo, quản lý người dùng…) Người quản trị có thể thêm, xóa, sửa, cập nhật thông tin về lĩnh vực được phân quyền
Các doanh nghiệp chịu trách nhiệm quản lý sản phẩm của chính doanh nghiệp mình (thêm, xóa, sửa, cập nhật sản phẩm)
Đặc tả website
Trang 13Đặc tả :
Là website trưng bày sản phẩm theo hình thức showroom nên có những đặc điểm như sau
Khách hàng : có 3 loại khách hàng hành chính trong website
Khách vãng lai : (user guest)
Xem thông tin sản phẩm Gốm sứ : như giá sản phẩm, hình ảnh, nhà cung cấp , chi tiết sản phẩm, lời bình sản phẩm…
Xem “góc tư vấn” để sữ dụng sản phẩm và có sự lựa chọn theo nhu cầu thực tế Tìm kiếm sản phẩm theo các tiêu chí : loại sản phẩm, nhà cung cấp , xuất xứ, giá Đươc hỗ trợ trực tuyến và gửi thông tin thắc mắc cũng như những đóng góp cho website
Mua hàng trực tuyến (bắt buộc thông tin như đăng kí khách hàng thành viên)
Đăng ký quản cáo hay trở thành Khách hàng thành viên, nhà cung cấp (nếu bạn đại diện cho 1 công ty xác định)… Thông tin sẽ được kiểm tra lại
Khách hàng thân thiết : là khách hàng đã đăng kí thông tin với website Khi đã là
khách hàng thành viên thì ngoài việc họ có những chức năng giống như khách vãng lai họ còn có
Viết bài thảo luận trên website
Đăng nhập website
Mua hàng không cần khai báo thông tin người mua
Nhà quản trị : là người quản lý hệ thống và giúp hệ điều hành hệ thống Người
quản trị chia làm 2 loại quản trị chính và có các chưng năng như sau
Quản trị viên
Có thể chỉnh sửa thông tin cá nhân (khách hàng nhà cung cấp)
Thêm, xóa, sửa những ý tưởng, loại sản phẩm…
Xóa những sản phẩm không hợp lệ
Cập nhật, xóa đơn đặt hàng
Quản trị hệ thống : có toàn quyền trên hệ thống và có thể can thiệp trực tiếp vào
Trang 14Sơ đồ cây chức năng của website :
Trang 15Chương II : Xác định mục tiêu bảo mật
Tổng quan
Việc xác định những mục tiêu bảo mật rất quan trọng, điều này thường được yêu cầu thực hiện sớm trong các quy trình bảo mật, lý tưởng nhất là ở trong giai đoạn thu thập yêu và phân tích ứng dụng Nó rất quan trọng , bởi vì nếu không xác định được mục tiêu bảo mật thì sẽ rất khó để thực hiện các quá trình tiếp theo của quy trình bảo mật
Xác định mục tiêu bảo mật là một quy trình lặp đi lặp lại và được thực hiện từ sớm bằng một quy trình kiểm tra những yêu cầu và cách thức hoạt động tùy theo ngữ cảnh của ứng dụng Trong các giai đoạn thiết kế, những mục tiêu bổ sung sẽ xuất hiện cụ thể trong các bản thiết kế Trong giai đoạn thực thi, dựa vào những công nghệ hay những tác động ảnh hưởng đến tòan bộ quy trình bảo mật mà việc phát sinh thêm những mục tiêu mới là điều rất dễ bắt gặp
Mục tiêu bảo mật là gì
Mục tiêu bảo mật đó là một tập hợp cũa một loạt các loại mục tiêu như : mục tiêu hữu hình, mục tiêu vô hình, những yêu cầu cần tuân thủ, hay chất lượng của những yêu cầu dịch vụ
Để có thể hiểu rõ thêm về mục tiêu bảo mật, sau đây em sẽ xác định những mục tiêu cần bảo mật trong Website triễn lãm đồ gốm
Roles Matrix