Đăng ký Đăng nhập
Trang chủ Nghiên cứu bảo mật asp.net. ứng dụng trong thiết kế website khoa cntt...

Tài liệu Nghiên cứu bảo mật asp.net. ứng dụng trong thiết kế website khoa cntt

.PDF
89
228
121

Mô tả:

H BỘ GIÁO DỤC ĐÀO VÀ ĐẠO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP KỸ THUẬT CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM ĐẾ TÀI : U TE C LUẬN VĂN TỐT NGHIỆP H Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT GVHD : Th.Sĩ Nguyễn Hà Giang SVTH : Lê Phương Nam 10102099 Thiều Đặng Phúc 10102133 TP. HỐ CHÍ MINH 2005 H C U TE H LỜI CẢM ƠN --ooOOoo— Trong suốt khóa học (2001 -2005) tại trường Kỹ Thuậ Công Nghệ TP.Hồ H Chí Minh, với sự giúp đỡ của quí thầy cô và giảng viên hướng dẫn từ nhiều phía và nhât là trong thời gian thực hiện đế tài, nên đề tài đã được hoàn thành đứng q ui C định. Em xin chân thành cảm ơn đến: Em xin cảm ơn các thầy cô trong khoa công nghệ thông tin đã giảng dạy U TE những kiến thức chuyên môn làm cơ sở để chúng em thực hiện tốt luận văn và hoàn tất khóa học thuận lợi. Đặc biệt, em xin cảm ơn Thầy Nguyễn Hà Giang giáo viên hướng dẫn đề tài đã nhiệt tình giúp đỡ và cho chúng em những lời chỉ dạy quí báu, giúp chúng em định hướng tốt trong khi thực hiện luận văn và Thầy Bùi Âu Phương đã tạo H mọi điều kiện cho chúng em triển khai cài đặt chương trình. Tất cả bạn bè đã giúp đỡ và động viên trong quá trình làm luận văn. Tp.Hồ Chí Minh Tháng 12 năm 2005 Sinh viên thực hiện NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN --oOOo— --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- H ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- C ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- U TE ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- H --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Kỹ thuật công nghệ, Ngày tháng năm 2005 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN --oOOo— --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- H ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- C ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- U TE ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- H --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Kỹ thuật công nghệ, Ngày tháng năm 2005 Giáo viên phản biện BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC DL KỸ THUẬT CÔNG NGHỆ TP.HCM Khoa : CNTT, Bộ môn : …………………… CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC _____oOo_____  Chú ý : Sinh viên phải dán bản nhiệm vụ H U TE C H Họ và tên sinh viên : …………………………… MSSV :………………….…… Ngành : : ……………………………… Lớp :…………………………………… : ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ 2. Nhiệm vụ : a. Dữ liệu ban đầu : ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ b. Nội dung · Phần tìm hiểu công nghệ : ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ · Phần phân tích, thiết kế & xây dụng ứng dụng minh họa : ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ :................................................ :.............................................. 5. Họ tên giáo viên hướng dẫn :..................................... ................................................................................................................................................ Nội dung và yêu c . TP.HCM, ngày ………. tháng ……….. năm 200 CHỦ NHIỆM KHOA GIÁO VIÊN HƯỚNG DẪN CHÍNH (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) PHẦN DÀNH CHO BỘ MÔN Người duyệt (chấm sơ bộ) :……………………….Ngày bảo vệ : ……………………… H C U TE H Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT MỤC LỤC H U TE C H MỤC LỤC .......................................................................................................................... 1 CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI .................................................................................. 3 1.1 Hoàn cảnh ra đời. ...................................................................................................... 3 1.2 Nội dung các chương. ............................................................................................... 3 CHƯƠNG 2 : TÌM HIỂU VỀ BẢO MẬT .......................................................................... 4 2.1 Các khái niệm. .......................................................................................................... 4 2.1.1 Cracker. .................................................................................................................. 4 2.1.2 Hacker. ................................................................................................................... 4 2.1.3 Router..................................................................................................................... 4 2.1.4 Cookie. ................................................................................................................... 4 2.1.5 Proxy. ..................................................................................................................... 5 2.1.6 Ping. ....................................................................................................................... 6 2.1.7 Cổng ảo (Virtual Port). .......................................................................................... 6 2.1.8 Tường lửa (Fire wall). ............................................................................................ 6 2.1.9 Virus....................................................................................................................... 7 2.1.10 Trojan. .................................................................................................................. 7 2.1.11 Worms. ................................................................................................................. 7 2.1.12 Bom thư. .............................................................................................................. 7 2.1.13 IP Spoofing. ......................................................................................................... 7 2.2 Các nguyên nhân chủ quan làm cho hệ thống hay ứng dụng web bị tấn công. ........ 8 2.2.1 Cấu hình sai máy chủ. ............................................................................................ 8 2.2.2 Hệ điều hành và ứng dụng bị lỗi. ........................................................................... 8 2.2.3 Nhà cung cấp thiếu trách nhiệm............................................................................. 8 2.2.4 Thiếu sự tư vấn đầy đủ. .......................................................................................... 9 2.3 Các bước khi người tấn công muốn tấn công vào hệ thống. ..................................... 9 2.3.1 FootPrinting. .......................................................................................................... 9 2.3.2 Scanning. ................................................................................................................ 9 2.3.3 Enumeration. ........................................................................................................ 10 2.3.5 Escalating Privileges (Leo thang đặc quyền). ...................................................... 10 2.3.6 Pilfering................................................................................................................ 10 2.3.8 Tạo BackDoor. ..................................................................................................... 11 2.3.9 Denial of Services (Tấn công từ chối dịch vụ). ................................................... 11 2.4 Bảo mật trong ASP.NET......................................................................................... 11 2.4.1 Định dạng bảo mật ASP.NET .............................................................................. 12 2.4.2 Định dạng phân cấp (Configuraion hierarcy) ...................................................... 12 2.4.3 Thực thi ASP.NET authorization. ........................................................................ 15 2.4.4 Cấu trúc bảo mật ASP.NET ................................................................................. 17 2.4.5 Windows authentication....................................................................................... 19 2.4.6 Forms authentication............................................................................................ 22 2.4.7 Passport authentications. ...................................................................................... 29 2.4.7.1 Cấu trúc tổng quan. ........................................................................................... 29 2.4.7.2 Các bước tổng quát để thực thi một ứng dụng web sử dụng Passport. ............. 32 2.4.7.3 Thực thi bảo mật đối với Passport. ................................................................... 33 CHƯƠNG 3 : CÁC BIỆN PHÁP BẢO MẬT TRONG ASP.NET .................................. 37 Trang 1 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT H U TE C H 3.1 Bảo mật đường truyền............................................................................................. 37 3.2 Mã hóa. ................................................................................................................... 38 3.2.1 Mã hóa trong .NET .............................................................................................. 39 3.2.2 DPAPI .................................................................................................................. 42 3.3 Phòng tránh SQL injection...................................................................................... 45 3.4 Phòng tránh tấn công CSS. ..................................................................................... 48 3.5 Bảo mật tài nguyên. ................................................................................................ 51 CHƯƠNG 4 : THỰC THI CHƯƠNG TRÌNH ................................................................. 53 4.1 Mục đích xây dựng trang web ................................................................................ 53 4.2 Nội dung trang web. ................................................................................................ 53 4.3 Sơ đồ user case. ....................................................................................................... 54 4.2 Sơ đồ lớp. ................................................................................................................ 57 4.3 Cơ sở dữ liệu. .......................................................................................................... 60 4.6 Các component........................................................................................................ 63 4.7.1 Tạo tài khoản bắt buộc người dùng nhập mật khẩu phức tạp. ............................. 64 4.7.2 Dùng các kỹ thuật mã hóa cho mật khẩu, cho các kết nối cơ sở dữ liệu. ............ 65 4.7.3 Bảo mật đường truyền.......................................................................................... 67 4.7.4 Kiểm tra các giá trị nhập vào tránh bị CSS.......................................................... 67 4.7.5 Bảo mật cookie. ................................................................................................... 67 4.7.6 Giới hạn thời gian tồn tại của các phiên làm việc (session)................................. 67 4.7.7 Thông tin bảo mật được lưu trong registry. ......................................................... 68 4.7.8 Tạo một tài khoản kết nối nối cơ sở dữ liệu. ....................................................... 69 4.7.9 Tránh SQL injection. ........................................................................................... 69 4.7.10 Bảo mật các tài nguyên hệ thống. ...................................................................... 69 4.7.11 Quản lý các debug lỗi. ....................................................................................... 69 4.8 Các giao diện........................................................................................................... 70 CHƯƠNG 5 : TỔNG KẾT VÀ ĐÁNH GIÁ. ................................................................... 75 5.1 Kết quả đạt được. .................................................................................................... 75 5.2 Hạn chế thiếu sót. .................................................................................................... 75 5.4 Hướng phát triển. .................................................................................................... 76 DANH SÁCH CÁC HÌNH ............................................................................................... 77 DANH MỤC BẢNG......................................................................................................... 78 TÀI LIỆU THAM KHẢO ................................................................................................ 80 PHỤ LỤC.......................................................................................................................... 81 HƯỚNG DẪN CÀI ĐẶT ................................................................................................. 81 Trang 2 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI 1.1 Hoàn cảnh ra đời. Cùng với sự phát triển của công nghệ thông tin thì các ứng dụng web cũng phát triển theo ngày một mạnh mẽ hơn để đáp ứng những nhu cầu về trao đổi thông tin, học tập nghiên cứu, quảng cáo mua bán, dịch vụ, du lịch…Vì vậy mà các ngôn ngữ, công cụ cũng như các tiện ích để thiết kế web ra đời ngày càng nhiều để đáp ứng cho nhu cầu trên. Các ngôn ngữ như ASP.NET, PHP, Perl, JSP , Servlet… là một trong các ngôn ngữ mạnh hiện nay dùng để thiết kế các ứng dụng web. Bên cạnh những tính H năng ưu việt của mỗi ngôn ngữ trên để xây dựng các ứng dụng web thì những khuyết điểm về vấn đề bảo mật nguồn tài nguyên cho ứng dụng, và các thông tin C bảo mật của người sử dụng của từng ngôn ngữ cũng là một vấn đề thách thức cho các nhà phát triển ứng dụng. Từ những vấn đề trên chúng em đã chọn U TE Đề tài : Nghiên cứu bảo mật ASP.NET ứng dụng trong thiết kế website khoa công nghệ thông tin. Bảo mật không chỉ dựa vào việc dùng một ngôn ngữ sao cho ứng dụng được an toàn mà là sự kết hợp của nhiều yếu tố như bảo mật đường truyền, bảo mật cơ sở dữ liệu, thiết bị, quản trị hệ điều hành… và bài toán bảo mật không có H lời giải chính xác, nó chỉ tương đối trong từng giai đoạn, từng môi trường cụ thể vì các tin tặc ngày một tinh vi hơn luôn tìm ra các lổ hổng bảo mật vì vậy bảo mật cho một ứng dụng cần phải đưa ra một chiến lược, nghiên cứu bảo mật lâu dài phù hợp với từng thời điểm. 1.2 Nội dung các chương. Chương 1: Phần tổng quan của đề tài. Chương 2: Tìm hiểu khái niệm trong bảo mật và các mô hình bảo mật ASP.NET Chương 3 : Tìm hiểu các kỹ thuật bảo mật trong ASP.NET và biện pháp xây dựng Chưong 4: Thực thi cài đặt ứng dụng. Chuơng 5: Kết luận đánh giá kết quả làm được và hướng phát triển. Trang 3 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT CHƯƠNG 2 : TÌM HIỂU VỀ BẢO MẬT 2.1 Các khái niệm. Một số khái niệm thường dùng khi làm công tác bảo mật 2.1.1 Cracker. Cracker là những người phá hoại máy tính với mục đích trả thù hay mục đích tài chính nào đó. Nh ững người này là nhữ ng chuyên gia phá hoại hệ thống với mục đích trả thù hay lợi ích cá nhân… 2.1.2 Hacker. Không ít những người thường đánh đồng hacker với cracker. Nguồn gốc H ban đầu hacker là những người có kỹ năng lập trình, có kiến thức về hệ thống, mục đích của hacker thường khám phá tìm hiểu học hỏi, và phô bày những lỗ hổng hệ C thống đế giúp các nhà quản trị sửa lỗi, chứ không phải vì tiền hay phá hoại. Nhiều hacker đã được tuyển vào các công ty làm nhiệm vụ khắc phục khuyết điểm cho U TE hệ thống hay phần mềm. Tuy nhiên cũng hiện tại cũng có một số quan niệm hacker mũ trắng và hacker mũ đen, hacker mũ trắng thì tốt, hacker mũ đen giống như cracker 2.1.3 Router. Còn gọi là bộ dẫn đường, là những máy tính có nhiệm vụ đưa các số 1 và 0 H trong hệ nhị phân biết cách tìm đến nơi cần thiết trên không gian ảo. Tin tặc dùng hình thức tấn công sử dụng những máy tính đã bị khống chế để đánh lừa các router gửi thông tin giả tới nhiều trang web trong mạng. 2.1.4 Cookie. Cookie là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa web site và browser của người dùng. Cookies được lưu trữ dưới những file dữ liệu nhỏ dạng text (size dưới 4k). Chúng được các trang web tạo ra để lưu trữ/truy tìm/nhận biết các thông tin về người dùng đã ghé thăm trang web và những vùng mà họ đi qua trong trang web. Trang 4 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT Những thông tin này có thể bao gồm tên/định danh người dùng, mật khẩu, sở thích, thói quen...Cookie được browser của người dùng chấp nhận lưu trên đĩa cứng của máy mình, không phải browser nào cũng hỗ trợ cookie. Sau một lần truy cập vào site, những thông tin về người dùng được lưu trữ trong cookie. Ở những lần truy cập sau đến site đó, trang web có thể dùng lại những thông tin trong cookie (như thông tin liên quan ếđn việc đăng nhập vào một diễn đàn, tài khoản mua bán...) mà người dùng không phải làm lại thao tác đăng nhập hay phải nhập lại các thông tin khác. Vấn đề đặt ra là có nhiều site quản lý việc dùng lại các thông tin lưu trong cookie không chính xác, kiểm tra không đầy đủ hoặc mã hoá H các thông tin trong cookie còn ơ s hở giúp cho tin tặc khai thác để vượt qua kiểm tra đăng nhập, đoạt quyền điều khiển trang web. C Cookies thường có các thành phần sau : + Tên: do người lập trình trang web chọn U TE + Domain: là tên miền từ máy chủ (server) mà cookie được tạo và gửi đi + Đường dẫn: thông tin về đường dẫn ở trang web mà người dùng đang xem + Ngày hết hạn: là thời điểm mà cookie hết hiệu lực . + Bảo mật: Nếu giá trị này đựơc thiết lập bên trong cookie, thông tin sẽ đựơc mã hoá trong quá trình truyền giữa server và browser. H + Các giá trị khác: là những dữ liệu đặc trưng được máy chủ (web server) lưu trữ để nhận dạng về sau các giá trị này ko chứa các khoảng trắng, dấu chấm, phẩy và bị giới hạn trong khoảng 4kb. 2.1.5 Proxy. Proxy cung cấp cho người sử dụng truy xuất internet với những host đơn. Những proxy server phục vụ những nghi thức đặt biệt hoặc một tập những nghi thức thực thi trên dual_homed host hoặc basion host. Những chương trình client của người sử dung sẽ qua trung gian proxy server thay thế cho server thật sự mà người sử dụng cần giao tiếp. Proxy server xác định những yêu cầu từ client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy server Trang 5 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp đến những yêu cầu từ client đến server, cũng như đáp ứng những yêu cầu của server đến client. Vì vậy proxy server ốnggi cầu nối trung gian giữa server và client. Proxy cho người dùng truy xuất dịch vụ trên internet theo nghĩa trực tiếp. Với dual host homed cần phải đăng nhập vào host trước khi sử dụng dịch vụ nào trên internet. Điều này thường không tiện lợi, và một số người tr ở nên thất vọng khi họ có cảm giác thông qua firewall, với proxy nó giải quyết được vấn đề này. Tất nhiên nó còn có những giao thức mới nhưng nói chung nó cũng khá tiện lợi cho user. Bởi vì proxy cho phép user truy xuất những dịch vụ trên internet từ hệ H thống cá nhân của họ, vì vậy nó không cho phép gói tin (packet) đi trực tiếp giữa hệ thống sử dụng và internet. Đường đi là giáng tiếp thông qua dual homed host 2.1.6 Ping. C hoặc thông qua sự kết hợp giữa bastion host và screening rounter. U TE Thuật ngữ này chỉ việc gửi một thông điệp đơn giản tới một máy tính khác và nó sẽ gửi thông tin về cho người gửi. Được sử dụng như một công cụ kiểm tra xem hai máy tính có thể liên lạc được với nha u không, những chương trình ping nguy hiểm có thể gây rối loạn hệ thống. 2.1.7 Cổng ảo (Virtual Port). H Là một số tự nhiên đựợc gói ở trong TCP (Tranmission Control Protocol) và UDP (User Diagram Protocol) header. Như chúng ta đã biết, Windows có thể chạy nhiều chương trình 1 lúc, mỗi chương trình này có một cổng riêng dùng để truyền và nhận dữ liệu. 2.1.8 Tường lửa (Fire wall). Là nơi để kiểm tra thông tin vào ra máy tính, tường lửa kiểm tra và phân tích xem thông tin đi đâu và về đâu , nếu một vị trí bị nghi ngờ thì tường lửa sẽ chặn thông tin đến và đi đó. Khi một vị trí bị chặn tường lửa có thể tạo ra một nhật kí ghi lại các địa chỉ muốn xâm nhập vào máy tính. Trang 6 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT 2.1.9 Virus. Đây là chương trình với những mã đặc biệt được cài (hoặc lây lan từ máy khác) lên máy của nạn nhân và thực hiện những yêu cầu của mã đó , đa số virus được sử dụng để phá hoại dữ liệu hoặc phá hoại máy tính. 2.1.10 Trojan. Đây là chương trình điệp viên được cài vào máy của người khác để ăn cắp những tài liệu trên máy đó gửi về cho chủ nhân của nó , những thông tin mà trojan ăn cắp có thể là mật khẩu, account, hay cookie ………. tuỳ theo ý muốn của người 2.1.11 Worms. H tạo ra nó. C Đây là chương trình độc lập có thể tự nhân bản bản thân nó và lây lan khắp bên trong mạng .Cũng giống như virus, nó cũng có thể phá hoại dữ liệu, hoặc nó U TE có thể phá hoại bên trong mạng, nhiều khi còn làm cả mạng bị ngưng hoạt động. 2.1.12 Bom thư. Là chương trình gửi một lúc nhiều g ói dữ liệu cho cùng một địa chỉ, làm quá tải hệ thống, tắt nghẽn đường truyền (trên server) hoặc dùng làm công cụ để phá rối tinh thần đối phương (bom Mail). H 2.1.13 IP Spoofing. Một số IP có mục đích để xác định một thiết bị duy nhất trên thế giới. Vì vậy trên mạng một máy chủ có thể cho phép một thiết bị khác trao đổi dữ liệu qua lại mà không cần kiểm tra máy chủ. Tuy nhiên tin tặc có thể thay đổi IP của họ, nghĩa là họ có thể gởi một thông tin giả đến một máy khác mà máy đó sẽ tin rằng thông tin nhận được xuất phát từ một máy nào đó (tất nhiên là không phải máy của tin tặc). Tin tặc có thể vượt qua máy chủ mà không cần phải có quyền điều khiến máy chủ đó. IP Spoofing có hiệu quả khi tin tặc vượt qua tường lửa đánh cắp tài khoản. Trang 7 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT 2.2 Các nguyên nhân chủ quan làm cho hệ thống hay ứng dụng web bị tấn công. Có thể có nhiều nguyên nhân nhưng một trong những nguyên nhân sau khiến cho trang web dễ bị tấn công 2.2.1 Cấu hình sai máy chủ. Đây là nguyên nhânạo t ra đa phần các lỗ hổng bảo mật. Rất nhiều khi người quản trị không nhận biết được các dịch vụ đang chạy trên máy chủ của họ...Hoặc vì nguyên nhân chủ quan nào đó nên việc cấu hình máy chủ sai, hoặc chưa kịp sửa lỗi. H 2.2.2 Hệ điều hành và ứng dụng bị lỗi. Sự thay đổi nhanh chóng của công nghệ nên việc cập nhật nếu như không C đầy đủ, nên khi các máy tính nối mạng hiển nhiên là đang đối mặt với nguy cơ bị U TE xâm nhập Đây là một số ví dụ về dịch vụ và ứng dụng.  Hệ thống in trên mạng.  Hệ thống điều khiển từ xa.  Chia sẻ tập tin.  Các mã CGI và script ví dụ. H Khi những hệ thống này sử dụng các giá trị mặc định hoặc bị cấu hình sai thì sẽ là cơ hội tốt để tin tặc xâm nhập. Lỗi trong các ứng dụng : những lỗi nảy sinh khi lập trình là một yếu tố làm cho ứng dụng vượt ra ngoài tầm kiểm soát của người sử dụng. Ví dụ như những lỗi của MS IIS hay trong ISC BIND hay SSH và rất nhiều lỗi khác nữa trong các hệ thống của Sun. Đơn giản hơn nữa là lỗi của IE mà người dùng có thể trở thành mục tiêu của virus. 2.2.3 Nhà cung cấp thiếu trách nhiệm. Rất nhiều nhà cung cấp không quan tâm đến điều gì xảy ra trong chượng trình của họ. Việc đảm bảo chất lượng (QA) trong ngành công nghiệp phần mềm Trang 8 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT rất yếu. Để tiết kiệm chi phí thì người ta thường không áp dụng những tiêu chuẩn về qui trình sản xuất. Và đó là nguyên nhân làm cho các hệ thống mạng và máy tính của người sử dụng bị phá hoại. Trong trưòng hợp các bản sửa lỗi bị chậm chễ cũng có thể làm hại đến công tác bảo mật. 2.2.4 Thiếu sự tư vấn đầy đủ. Nếu như tất cả các vấn đề ở trên đều đựơc giải quyết thì các công ty hay tổ chức lại vấp phải một vấn đề khác là thiếu những các nhân đáng tin tưởng. Có thể thu thập một đội ngũ kỹ sư, quản trị và lập trình viên đủ trình độ, nhưng không dễ tìm ra các chuyên gia bảo mật giỏi.Và không thể đào tạo đội ngũ chuyên gia bảo H mật trong vài ngày. Đó là một quá trình rất dài, phải bắt đầu từ các kiến thức cơ bản như, phần cứng, hệ điều hành, mã hoá và lập trình. Nhưng như vậy mới chỉ đủ C cho các hiểu biết sơ đẳng về bảo mật. Việc thiếu nhân sự làm cho các chương trình về bảo mật trong các tổ chức bị xao lãng hoặc đi sai đường. Không có các chính U TE sách về bảo mật hoặc nếu có thì chưa được hoàn chỉnh. Chính điều đó làm cho hệ thống bị ảnh hưởng trước các cuộc tấn công. 2.3 Các bước khi người tấn công muốn tấn công vào hệ thống. 2.3.1 FootPrinting. H Đây là cách mà tin tặc làm khi muốn lấy một lượng thông tin tối đa về máy chủ/doanh nghiệp/người dùng. Nó bao gồm chi tiết về địa chỉ IP, Whois, DNS... đó là những thông tin chính thức có liên quan đến mục tiêu. Nhiều khi đơn giản tin tặc chỉ cần sử dụng các công cụ tìm kiếm trên mạng để tìm những thông tin đó. Và những thông tin này là một trong những yếu tố đầu tiên giúp tin tặc tấn công hệ thống web. 2.3.2 Scanning. Khi đã có những thông tin ở giai đoạn footprinting rồi thì tiếp đến là đánh giá và định danh những những dịch vụ mà mục tiêu có. Việc này bao gồm quét Trang 9 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT cổng, xác định hệ điều hành, tên máy chủ, schema của cơ sở dữ liệu … Các công cụ được sử dụng ở đây như nmap, WS pingPro, siphon, fscam… 2.3.3 Enumeration. Bước thứ ba là tìm kiếm những tài nguyên đựoc bảo vệ kém, hoạch tài khoản người dung mà có thể sử dụng để xâm nhập. Nó bao gồm các mật khẩu mặc định, các script và dich vụ mặc định. Rât nhiều người quản trị mạng không biết đến hoặc không sửa đổi lại các giá trị này. 2.3.4 Gaining Access. Bây giờ người xâm nhập sẽ tìm cách truy cập vào mạng bằng những thông H tin có đựơc ở ba bước trên. Phương pháp được sử dụng ở đây có thể là tấn công vào lỗi tràn bộ đệm, lấy và giải mã tập tin mật khẩu, hay brute force (kiểm tra tất C cả các trường hợp – vét cạn) mật khẩu. Các công cụ thường được sử dụng ở bước U TE này là NAT, podium, hoặc Lopht . 2.3.5 Escalating Privileges (Leo thang đặc quyền). Người tấn công tìm cách xâm nhập đựợc vào mạng với tài khoản hợp lệ (tài khoản guest), thì họ sẽ tìm cách kiểm soát toàn bộ hệ thống. Tin tặc sẽ tìm cách bẻ khóa mật khẩu của người quản trị hệ thống, hoặc sử dụng lỗ hổng để leo thang đặc quyền chiếm quyền quản trị. John và Riper là hai chương trình bẻ khóa mật khẩu H rất hay được sử dụng. 2.3.6 Pilfering. Thêm một lần nữa các máy tìm kiếm lại đựơc sử dụng để tìm các phương pháp truy cập vào mạng. Những tập tin văn bản chứa mật khẩu hay các cơ chế không an toàn khác là cơ hội cho tin tặc tấn công. 2.3.7 Covering Tracks. Sau khi đã có những thô ng tin cần thiết, tin tặc tìm cách xoá dấu vết, xoá các tập tin log của hệ điều hành làm cho người quản lý không nhận ra hệ thống đã bị xâm nhập hoặc có biêt cũng không tìm ra kẻ xâm nhập là ai. Trang 10 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT 2.3.8 Tạo BackDoor. Người tấn công để lại "Back Doors", tức là một cơ chế cho phép người tấn công truy cập trở lại bằng con đường bí mật không phải tốn nhiều công sức, bằng việc cài đặt Trojan hay tạo user mới (đối với tổ chức có nhiều user), hay mở một cổng nào đó. Công cụ ở đây là các loại Trojan, keylog… 2.3.9 Denial of Services (Tấn công từ chối dịch vụ). Nêu không thành công trong vi ệc xâm nhập, thì DoS là phượng tiên cuối cùng để tấn công hệ thống. Nếu hệ thống không được cấu hình đúng cách, nó sẽ bị phá vỡ và cho phép người tấn công truy cập. Hoặc trong trường hợp khác thì DoS H sẽ làm cho hệ thống không hoạt động được nũa. Các công cụ hay được sử dụng để tấn công DoS là trin00, Pong Of Death, teardrop, và các loại nuker, flooder. C 2.4 Bảo mật trong ASP.NET. U TE  Authentication (thẩm định quyền) : Khi ứng dụng web được xây dựng, ngoài những tài nguyên chung ai cũng được quyền sử dụng, thì có những tài nguyên được giữ kín giới hạn bởi một số người, để truy cập những nguồn tài nguyên này thì client trước tiên phải được kiểm tra xem có quyền truy xuất tài nguyên hay không qua tên đăng nhập và mật khẩu.  Authorization : Khi đã được chứng nhận về quyền truy xuất tài nguyên thì H authorization là việc chứng nhận client có những quyền nào để truy xuất những nguồn tài nguyên nào (tập tin, cơ sở dữ liệu…). Hình 2.1 : Mô hình truy xuất tài nguyên. Trang 11 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT ASP.NET hổ trợ các kỹ thuật thẩm định quyền : Window (mặc định), Form, Passport, None. • Window • Form • Passport • None 2.4.1 Định dạng bảo mật ASP.NET Việc định dạng bảo mật được tổ chức tập trung theo các dạng tập tin XML có chứa các thẻ (tag) chức các thuộc tính và định dạng cài đặt để cấu hình bảo mật H cho tài nguyên ệh thống. Trong ASP.NET có hai loại tập tin định dạng là machine.config và web.config. C • Tập tin định dạng gốc machine.config cung cấp các định dạng mặc định cho toàn bộ web server. Tập tin này được hổ trợ bởi .NET Framework, U TE mỗi phiên bản của .NET Framwork sẽ có các machine.config riêng biệt. • Tập tin định dạng web.config cũng có chế định dạng tương tự như machine.config, nhưng nó được dùn g để áp dụng cho từng ứng dụng cụ thể với các định dạng cụ thể vì cơ chế định dạng trong ASP.NET là một hệ thống định dạng phân cấp vì vậy trong một ứng dụng ASP.NET có thể H có nhiều tập tin web.config. 2.4.2 Định dạng phân cấp (Configuraion hierarcy) Khi tập tài nguyên nhận được yêu cầu thì hệt thống ASP.NET sẽ định dạng như sau:  Cài đặt định dạng đặt trong tập tin web.config đặt trong ứng dụng con sẽ cài đè lên các cài đặt trong web.config của ứng dụng cha.  Tương tự cài đặt trong web.config của ứng dụng c ha sẽ đè lên cài đặt web.config cửa ứng dụng gốc và cài đặt ứng dụng web.config của ứng dụng gốc sẽ đè lên cài đặt ứng dụng trong machine.config của .NET Framework. Tuy nhiên Trang 12 Nghiên cứu bảo mật ASP.NET. Ứng dụng trong thiết kế Website Khoa CNTT vẫn mang tính kế thừa các cài đặt của ứng dụng con chỉ đè lên các cài đặt ứng dụng nào mà ứng dụng cha có và kế thừa những cài đặt nào mà nó không có. H Hình 2.2 : Mô hình phân cấp định dạng của ASP.NET H U TE C < -- Passport Attributes -- > < -- Authorization section -- >