Báo cáo kết quả thực tập tốt nghiệp đề tài kiểm thử an ninh mạng chuyên nghành cử nhân công nghệ thông tin
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
ĐÀ NẴNG – Năm 2013
Trang 2LỜI CẢM ƠN
Trong đợt thực tập vừa qua, em đã nhận được sự hướng dẫn, giúp đỡ và động viên tận tình từ nhiều phía Tất cả những điều đó đã trở thành một động lực rất lớn giúp em có thể hoàn thành tốt mọi công việc được giao Với tất cả sự cảm kích và trân trọng, em xin được gửi lời cảm ơn đến tất cả mọi người
Lời đầu cho em được gửi lời cảm ơn đến Ban lãnh đạo Trung tâm đào tạo và phát triển nguồn nhân lực VDC Training – Chi nhánh Đà Nẵng đã tạo điều kiện cho em được tham gia thực tập tại công ty cũng như cung cấp tất cả các cơ sở vậtchất và trang thiết bị có thể cho em trong thời gian vừa qua Xin cảm ơn thầy Nguyễn Song Tùng và các anh chị trong công ty đã tận tình hướng dẫn giúp đỡ
em trong suốt thời gian em thực tập
Em xin chân thành cảm ơn các thầy cô của trường Đại học Sư Phạm Đà Nẵng, xin cảm ơn quý thầy cô đã tận tình dạy bảo, giúp đỡ em trong suốt thời gian em học tại trường cũng như trong thời gian em thực tập vừa qua
Trang 3Mục lục
PHẦN 1: GIỚI THIỆU VỀ TRUNG TÂM VDC –TRAINING 6
1.1 Giới thiệu trung tâm VDC-Training 6
1.2 Đối tác của trung tâm 7
1.3 Sứ mệnh 8
PHẦN 2: NỘI DUNG VÀ TIẾN ĐỘ THỰC TẬP 10
2.1 Nội dung 10
2.1 Tiến độ thực tập 10
PHẦN 3: KẾT QUẢ ĐẠT ĐƯỢC 11
3.1 Tổng quan về kiểm thử an ninh mạng 11
3.2 Các phương pháp phân loại lỗ hổng 15
3.2.1 Định nghĩa và phân loại đặc tính của lỗ hổng 15
3.2.2 Cách đặt tên cho các loại lỗ hổng của các tổ chức trên thế giới 21
3.2.3 Các phương thức dùng để quét lỗ hổng 22
A Quét mạng 23
B Quét điểm yếu 24
C Kiểm soát log file 25
D Kiểm tra tính toàn vẹn của file 26
E Quét virus 26
3.2.4 Các phương thức kiểm soát lỗ hổng 28
1 Đối với các desktop hoặc laptop : 28
2 Đối với trên server-client: 29
3 Chống virus: 32
4 Bảo mật nội dung thông tin: 33
5 Đưa ra các bản vá lỗi 34
6 Lựa chọn hệ điều hành cho hệ thống 34
Trang 4PHẦN IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 35
I Kết luận 35
II Hướng phát triển 35
Trang 5MỞ ĐẦU
Hiện nay , công nghệ thông tin đang phát triển với tốc độ chóng mặt Các
website, cổng thông tin từ đó cũng ra đời ngày một nhiều hơn Từ đây, việc xâm nhập vào các hệ thống để lấy cắp thông tin nhằm mưu đồ chuộc lợi của một số người ngày càng gia tăng Theo đánh giá, thống kê của cơ quan an ninh mạng BKAV thực hiên năm 2012, hơn 2.200 website của các cơ quan và doanh nghiệptại Việt Nam đã bị tấn công thông qua lỗ hổng trên hệ thống mạng
Từ những lí do trên việc kiểm thử an ninh mạng rất quan trọng trong việc giúp ngăn chặn được việc tấn công qua các lỗ hổng trên mạng Đồng thời, cũng đề ra các giải pháp nhằm ngăn chặn những mối nguy hiểm tiềm tàng từ các lỗ hổng đó
Với mục đích là làm rõ những vấn đề trên cũng như nâng cao kiến thức, làm quen với công việc trong thực tiễn nhằm phục vụ cho công viêc của chính mình
sau này, em chọn đề tài “ Kiểm thử an ninh mạng” (Network Security
Testing).
Đề tài gồm các phần sau:
Phần 1: giới thiệu về VDC Training
Phần 2: nội dung và tiến độ thực tập
Phần 3: kết quả đạt được
Phần 4: đề xuất và hướng phát triển
Phần 5: nhận xét của cơ quan thực tập
Phần 6: đánh giá két quả của cán bộ hướng dẫn
Trang 6PHẦN 1: GIỚI THIỆU VỀ TRUNG TÂM VDC –TRAINING
1.1 Giới thiệu trung tâm VDC-Training
Trung tâm VDC Training là đơn vị thuộc VDC- công ty thành viên tập đoàn VNPT VDC là doanh nghiệp hàng đầu trong lĩnh vực cung cấp dịch
vụ Internet, có nhiều kinh nghiệm trong lĩnh vực tư vấn, thiết kế, triển khaicác hệ thống hạ tầng công nghệ thông tin và chuyển giao công nghệ
VDC Training đã có hơn 7 năm kinh nghiệm trong lĩnh vực đào tạo CNTTđẳng cấp cao Khởi đầu từ hoạt động đào tạo triển khai lắp đặt, hỗ trợ các dịch vụ Internet, Truyền số liệu, Tin học của VNPT/VDC cho các khách hàng, đại lý, đối tác và các viễn thông tỉnh/thành phố, VDC Training đã thành công trong việc phát triển thành một trung tâm đào tạo CNTT có uy tín hàng đầu ở khu vực miền Trung và Tây Nguyên nói riêng và cả nước nói chung, không ngừng khẳng định là một đơn vị đào tạo đẳng cấp
chuyên nghiệp, mang đến các chương trình đào tạo theo chuẩn mực quốc
tế cũng như đáp ứng tốt các chương trình đào tạo theo yêu cầu của các tổ chức lớn, cung cấp nhiều khoá học khác nhau nhằm giúp học viên nâng cao kỹ năng làm việc cũng như mang lại lợi ích đáng kể cho các tổ chức của họ Tính đến thời điểm hiện nay, VDC Training là đối tác đào tạo ủy quyền chính thức của Cisco, CompTIA, Pearson VUE, Prometric tại Việt Nam và cũng là thành viên mạng lưới đối tác Microsoft
VDC Training tự hào có đội ngũ giảng viên là các chuyên gia có trình độ chuyên môn cao, hiểu và nắm rõ phương pháp sư phạm, nhiệt tình trong công tác đào tạo; đã được cấp các chứng chỉ Quốc tế của các tổ chức hàng đầu như Cisco, Microsoft, Oracle, Sun, CompTIA, SCP, EC Council tuy nhiên sự khác biệt cũng là tài sản quý nhất của VDC Training chính là
Trang 7kinh nghiệm làm việc thực tế của giảng viên trong môi trường của một đơn vị cung cấp dịch vụ IP/Internet/Tin học hàng đầu.Hiện nay, đội ngũ giảng viên của VDC Training đã đạt các chứng chỉ: CCSI, CCNA, CCNP, CCSP, CCAI, CCDP, CCIE Writtten, CWNA, SCSA, MCSE, MCITP, MCTS, MCT, CCSE, CompTIA Linux+, CompTIA Security+, SCNS, SCNP, SCNA, SCPI, CEH, CEI, Oracle DBA 10g, 11g v.v Không dừng lại và không thỏa mãn với những gì đạt được, các giảng viên VDC
Training vẫn thường xuyên học tập, tham dự các khóa đào tạo nâng cao, các hội thảo công nghệ chuyên sâu trong và ngoài nước để cập nhật kiến thức mới và trau dồi kỹ năng mềm, nghiệp vụ sư phạm
1.2 Đối tác của trung tâm
Trang 8 Ban Quản lý Dự án Phát triển CNTT& TT - Sở Thông tin và Truyềnthông thành phố Đà Nẵng
Đà Nẵng…
1.3 Sứ mệnh
+ Truyền đạt, hướng dẫn học viên/ khách hàng các kiến thức, kỹ năng CNTT chuyên sâu ở đẳng cấp quốc tế về chương trình và chất lượng đào tạo Góp phần phát triển nguồn nhân lực CNTT Việt Nam đạt tiêu chuẩn quốc tế
+ Xây dựng một môi trường học tập thân thiện, cởi mở với cơ sở vật chất hiện đại, đủ sức hấp dẫn để quy tụ được nhân lực CNTT trong và ngoài nước về cộng tác nghiên cứu, thử nghiệm, trao đổi học thuật, kinh nghiệm với nhau
+ Tạo điều kiện cho mọi thành viên của VDC Training phát triển tối đa năng lực cá nhân, có cuộc sống sung túc về vật chất, hạnh phúc về tinh thần
Trang 9PHẦN 2: NỘI DUNG VÀ TIẾN ĐỘ THỰC TẬP
2.1 Nội dung
Trong quá trình thực tập, em đã thực hiện những công việc liên qua đến đềtài của mình như sau:
- Dịch tài liệu
Trang 10- Tìm hiểu các phương pháp phân loại lỗ hổng
3.1 Tổng quan về kiểm thử an ninh mạng
Kiểm thử là tiến trình thực thi một chương trình với mục đích tìm ra lỗi (The art of software testing - Glenford J Myers)
Trang 11Kiểm thử là tiến trình vận hành hệ thống hoặc thành phần của hệ thống dưới những điều kiện xác định, quan sát hoặc ghi nhận kết quả và đưa ra đánhgiá về hệ thống hoặc thành phần đó (IEEE 610.12-1990 IEEE Standard Glossary of Software Engineering Terminology Technical report - IEEE - 1990).
Bao trùm lên tất cả, có thể coi kiểm thử là hành động tìm ra lỗi với mục đích để làm phần mềm được tốt hơn Theo quan niệm thông thường của người phát triển phần mềm là: kiểm thử phát hiện lỗi là không thành công và ngược lại là thành công Tuy nhiên, theo định nghĩa của Myers, tức là đứng trên quan điểm người kiểm thử, thì kiểm thử mà không phát hiện được lỗi được coi là không thành công, ngược lại nếu kiểm thử phát hiện được lỗi được coi là thành công Rõ ràng, người phát triển phần mềm cố viết một phầnmềm tốt nhất và không có lỗi, còn người kiểm thử cố tìm ra lỗi của phần mềmđược viết ra Như vậy, mục đích của kiểm thử là "phản biện" lại với phát triểnphần mềm nhằm mục đích làm cho phần mềm tốt hơn Bởi vì trong thực tế, không có phần mềm nào mà không có lỗi
Kiểm thử an ninh (KTAN) phần mềm hay mạng là một loại kiểm thử đặc biệtnhằm mục đích kiểm tra và xác nhận phần mềm hay mạng đó có đạt yêu cầu
về an ninh không Như vậy, hướng nghiên cứu KTAN chia làm hai hướng, đó
là KTAN phần mềm và KTAN mạng KTAN phần mềm là một loại kiểm thử trong đó quá trình kiểm thử giúp nhận biết phần mềm đang xét có những đặc tính an ninh đúng với yêu cầu thiết kế đặt ra căn cứ trên đặc tả yêu cầu an ninh cho nó hay không Có hai hướng tiếp cận chính của KTAN phần mềm là: KTAN chức năng và KTAN điểm yếu KTAN chức năng dùng để kiểm trachức năng an ninh (bí mật dữ liệu, toàn vẹn, sẵn sàng, xác thực, phân quyền,
Trang 12mã hóa, điều khiển truy cập, audit, ) hoặc hệ thống an ninh (tường lửa, phát hiện xâm nhập - IDS, ) nhằm đảm bảo phần mềm có hoạt động đúng chức năng, hiệu quả và sẵn sàng như thiết kế và phát triển hay không KTAN điểm yếu thực hiện như một kẻ tấn công nhằm phát hiện những điểm yếu hoặc sai sót về an ninh của phần mềm KTAN điểm yếu phần mềm trực tiếp nhận diện
và khám phá những điểm yếu hệ thống vẫn chưa được biết có thể gây ra bởi những thiết sót thiết kế hay lỗi lập trình, thuật toán
KTAN mạng là những hoạt động nhằm cung cấp thông tin về sự an toàn
và toàn vẹn của mạng máy tính và những hệ thống liên quan của tổ chức nào
đó thông qua việc thẩm tra và xác nhận những điều kiện an ninh hệ thống mạng đều hoạt động bình thường KTAN mạng bao gồm hai loại chính là: quét điểm yếu hay còn gọi là quét lỗ hổng (vulnerability scanner) và kiểm thửxâm nhập Trong đó quét điểm yếu là quá trình tìm những điểm yếu, lỗ hổng
an ninh trong mạng của tổ chức, công ty hoặc cá nhân Ý tưởng cơ bản của loại hình KTAN này là quét toàn bộ nút mạng và cổng có trên từng nút mạng,sau đó với thông tin nhận được nó sẽ phân tích và đánh giá hệ thống mạng an toàn như thế nào Thuật ngữ "đánh giá điểm yếu" được sử dụng trong trường hợp quét điểm yếu có nghĩa là "quá trình" tìm kiếm sự tồn tại của những lỗ hổng đã biết bên trong hoặc bên ngoài trong một mạng Quá trình này sẽ xác định lỗ hổng để có thể loại bỏ trước khi nó bị chương trình độc hại hoặc tin tặc khai thác Các lỗ hổng tạo thành mối đe dọa trong mạng bao gồm lỗi phầnmềm, dịch vụ không cần thiết, cấu hình sai hoặc tài khoản người dùng không
an toàn Có một thực tế là những điểm yếu đơn lẻ có nguy cơ về an ninh không cao nhưng khi gộp chung trong một hệ thống có thể gây ra những nguy
cơ về rủi ro an ninh rất cao Vì vậy, kiểm thử xâm nhập - là một thành phần của KTAN, tuy nhiên nó đi xa hơn so với quét điểm yếu, nó tập trung vào quá
Trang 13trình khai thác, lợi dụng các điểm yếu, lỗ hổng nhằm xâm nhập trái phép, leo thang đặc quyền, duy trì truy cập vào hệ thống mục tiêu, hoặc tìm ra sự phối hợp của các điểm yếu trên một hoặc nhiều hệ thống để tạo ra sự truy cập vào
hệ thống mà thường khó đạt được khi khai thác những điểm yếu đơn lẻ Nói cách khác, quét điểm yếu đưa cái nhìn về kẽ hở an ninh nhưng không đánh giá tác hại và ảnh hưởng của nó với hệ thống Còn kiểm thử xâm nhập quan tâm đến cách nhìn các vấn đề an ninh của hệ thống theo quan điểm của kẻ tấncông
Tóm lại, một cách tổng quan, ta thấy quan hệ của an ninh và KTAN cũng giống như quan hệ giữa phát triển phần mềm và kiểm thử phần mềm Trong khi những nghiên cứu về an ninh với mục tiêu xây dựng hệ thống đạt những tiêu chí của an ninh là bí mật, hiệu quả, sẵn sàng và trách nhiệm (xem chi tiết bài "đôi điều về an ninh"), thì KTAN chuyên nghiên cứu những phương pháp
và kỹ thuật để phát hiện những điểm yếu về an ninh hoặc những phương phápgây tổn thương hệ thống an ninh nhằm xâm nhập vào hệ thống như kiểm thử xâm nhập Cần đặc biệt nhấn mạnh là phương pháp và cách thức của kiểm thử xâm nhập cũng là phương pháp và cách thức của tin tặc nhằm tấn công vào các điểm yếu hoặc các kiểm soát an ninh của hệ thống Nhưng mục đích của hai đối tượng lại khác nhau, trong khi người kiểm thử xâm nhập cố gắng tấn công vào hệ thống nhằm chứng minh sự tồn tại của điểm yếu, tác hại và hậu quả của nó nếu không sớm khắc phục và đề xuất các giải pháp gia cố, giảm thiểu tác hại của các điểm yếu này thì tin tặc tấn công với mục đích phá hoại, tư lợi, hoặc đôi khi chỉ là thể hiện bản thân hoặc cho vui Ngoài ra, không giống như kiểm thử phần mềm thường tập trung thực hiện trong giai đoạn phát triển, KTAN thường diễn ra trong cả giai đoạn phát triển lẫn giai đoạn hoạt động hay giai đoạn "sống" của hệ thống nhưng tập trung chủ yếu ở
Trang 14giai đoạn "sống", và phải thực hiện suốt vòng đời hoạt động của mạng hay phần mềm.
3.2 Các phương pháp phân loại lỗ hổng
3.2.1 Định nghĩa và phân loại đặc tính của lỗ hổng
Các lỗ hổng bảo mật an ninh chính là điểm yếu mà những kẻ tấn công hay nhằm vào để phá hủy, nhằm tạo ra sự ngưng trệ, thêm hoặc bớt quyền của người sử dụng, truy cập không hợp pháp vào hệ thống mật Ngoài ra,các lỗ hổng còn xuất hiện trên các hệ điều hành như Windows XP, Vista, NT,
Trang 15UNIX, hoặc là trong các ứng dụng mà chúng ta hay sử dụng thường xuyên như Word processing, các database…
Bên cạnh đó, những kẻ tấn công còn khai thác những lỗ hổng trên các hệ điềuhành chạy trên thiết bị di động như Android 2.2, 2.3, Apple Iphone
4.0,4.2(đây chỉ là các phiên bản cũ), các thiết bị hạ tầng mạng của các hãng danh tiếng như Cisco, các ứng dụng trên desktop, trên server, các phần mềm diệt virus, các lỗ hổng trong Firewall Ngoài ra việc phát hiện lỗ hổng còn xuất hiện trong hạ tầng mạng như wireless email, wireless…
Hiện nay có nhiều tổ chức khác nhau phân loại các lỗ hổng theo những tiêu chí mà các tổ chức đó yêu cầu Các tổ chức thường xuyên có những đánh giá phân loại lỗ hổng như Secunia, NIST( National Institues of Standards and Technology), United States Department of Defense, MITRE… Tuy nhiên, uy tín nhất vẫn là sự đánh giá của bộ quốc phòng Mỹ về vấn đề này, các loại lỗ hổng được chia theo các dạng như sau:
Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức tấn công theo DoS (Dinal of Services – Từ chối dịch vụ) Mức độ nguy hiểm thấp, chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn
hệ thống; không làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợppháp
Lỗ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ Mức độ nguy hiểm trung bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật
Trang 16Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp Lỗ hổng rất nguy hiểm, có thể làm phá hủy toàn bộ hệ thống.
Ta sẽ nói rõ hơn về cách phân loại này
-Lỗ hổng loại C:
Các lỗ hổng loại này cho phép thực hiện các cuộc tấn công DoS DoS là hình thức tấn công sử dụng các giao thức ở tầng Internet trong bộ giao thức TCP/IP để làm hệ thống ngưng trệ dẫn đến tình trạng từ chối người sử dụng hợp pháp truy nhập hay sử dụng hệ thống Một số lượng lớn các gói tin được gửi tới server trong khoảng thời gian liên tục làm cho hệ thống trở nên quá tải, kết quả là server đáp ứng chậm hoặc không thể đáp ứng các yêu cầu từ client gửi tới
Các dịch vụ có chứa đựng lỗ hổng cho phép thực hiện các cuộc tấn công DoS có thể được nâng cấp hoặc sửa chữa bằng các phiên bản mới hơn của cácnhà cung cấp dịch vụ Hiện nay, chưa có một giải pháp toàn diện nào để khắc phục các lỗ hổng loại này vì bản thân việc thiết kế giao thức ở tầng Internet (IP) nói riêng và bộ giao thức TCP/IP đã chứa đựng những nguy cơ tiềm tàng của các lỗ hổng này
Tuy nhiên, mức độ nguy hiểm của các lỗ hổng loại này được xếp loại C; ít nguy hiểm vì chúng chỉ làm gián đoạn cung cấp dịch vụ của hệ thống trong một thời gian mà không làm nguy hại đến dữ liệu và người tấn công cũng không đạt được quyền truy nhập bất hợp pháp vào hệ thống
Một lỗ hổng loại C khác cũng thường thấy đó là các điểm yếu của dịch vụ cho phép thực hiện tấn công làm ngưng trệ hệ thống của người sử dụng cuối;
Trang 17Chủ yếu với hình thức tấn công này là sử dụng dịch vụ Web Giả sử: trên mộtWeb Server có những trang Web trong đó có chứa các đoạn mã Java hoặc JavaScripts, làm “treo” hệ thống của người sử dụng trình duyệt Web của Netscape bằng các bước sau:
Viết các đoạn mã để nhận biết được Web Browers sử dụng NetscapeNếu sử dụng Netscape, sẽ tạo một vòng lặp vô thời hạn, sinh ra vô số các cửa sổ, trong mỗi cửa sổ đó nối đến các Web Server khác nhau
Với một hình thức tấn công đơn giản này, có thể làm treo hệ thống Đây cùng là một hình thức tấn công kiểu DoS Người sử dụng trong trường hợp này chỉ có thể khởi động lại hệ thống
Một lỗ hổng loại C khác cũng thường gặp đối với các hệ thống mail là không xây dựng các cơ chế anti-relay (chống relay) cho phép thực hiện các hành động spam mail Như chúng ta đã biết, cơ chế hoạt động của dịch vụ thưđiện tử là lưu và chuyển tiếp; một số hệ thống mail không có các xác thực khingười dùng gửi thư, dẫn đến tình trạng các đối tượng tấn công lợi dụng các máy chủ mail này để thực hiện spam mail; Spam mail là hành động nhằm tê liệt dịch vụ mail của hệ thống bằng cách gửi một số lượng lớn các messages tới một địa chỉ không xác định, vì máy chủ mail luôn phải tốn năng lực đi tìmnhững địa chỉ không có thực dẫn đến tình trạng ngưng trệ dịch vụ Số lượng các messages có thể sinh ra từ các chương trình làm bom thư rất phổ biến trênmạng Internet
-Các lỗ hổng loại B
Trang 18Lỗ hổng loại này có mức độ nguy hiểm hơn lỗ hổng loại C, cho phép người sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập khônghợp pháp.
Những lỗ hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống Người sử dụng local được hiểu là người đã có quyền truy nhập vào hệ thống với một số quyền hạn nhất định
Sau đây sẽ phân tích một số lỗ hổng loại B thường xuất hiện trong ứng dụng Sendmail:
Sendmail là một chương trình được sử dụng rất phổ biến trên hệ thống UNIX để thực hiện gửi thư điện tử cho những người sử dụng trong nội bộ mạng Thông thường, sendmail là một daemon chạy ở chế độ nền được kích hoạt khi khởi động hệ thống Trong trạng thái hoạt động, sendmail mở port 25đợi một yêu cầu tới sẽ thực hiện gửi hoặc chuyển tiếp thư Sendmail khi đượckích hoạt sẽ chạy dưới quyền root hoặc quyền tương ứng (vì liên quan đến các hành động tạo file và ghi log file) Lợi dụng đặc điểm này và một số lỗ hổng trong các đoạn mã của sendmail, mà các đối tượng tấn công có thể dùngsendmail để đạt được quyền root trên hệ thống
Để khắc phục lỗi của sendmail cần tham gia các nhóm tin về bảo mật; vì sendmail là chương trình có khá nhiều lỗi; nhưng cũng có nhiều người sử dụng nên các lỗ hổng bảo mật thường được phát hiện và khắc phục nhanh chóng Khi phát hiện lỗ hổng trong sendmail cần nâng cấp, thay thế phiên bảnsendmail đang sử dụng
Trang 19Một loạt các vấn đề khác về quyền sử dụng chương trình trên UNIX cũng thường gây nên các lỗ hổng loại B Vì trên hệ thống UNIX, một chương trình
có thể được thực thi với 2 khả năng:
Người chủ sở hữu chương trình đó kích hoạt chạy
Người mang quyền của người chủ sở hữu chủ nhân của file đó
Các loại lỗ hổng loại B khác
Một dạng khác của lỗ hổng loại B xảy ra đối với các chương trình có mã nguồn viết bằng C Những chương trình viết bằng C thường sử dụng một vùng đệm – là một vùng trong bộ nhớ sử dụng để lưu dữ liệu trước khi xử lý Những người lập trình thường sử dụng vùng đệm trong bộ nhớ trước khi gán một khoảng không gian bộ nhớ cho từng khối dữ liệu Ví dụ, người sử dụng viết chương trình nhập trường tên người sử dụng; qui định trường này dài 20
ký tự Do đó họ sẽ khai báo:
char first_name [20];
Với khai báo này, cho phép người sử dụng nhập vào tối đa 20 ký tự Khi nhập dữ liệu, trước tiên dữ liệu được lưu ở vùng đệm; nếu người sử dụng nhập vào 35 ký tự; sẽ xảy ra hiện tượng tràn vùng đệm và kết quả 15 ký tự dưthừa sẽ nằm ở một vị trí không kiểm soát được trong bộ nhớ Đối với những người tấn công, có thể lợi dụng lỗ hổng này để nhập vào những ký tự đặc biệt, để thực thi một số lệnh đặc biệt trên hệ thống Thông thường, lỗ hổng này thường được lợi dụng bởi những người sử dụng trên hệ thống để đạt đượcquyền root không hợp lệ