Thứ Ba, 9 tháng 4, 2013

Penetration test.

I – Pentest là gì ?

Có thể hiểu một cách đơn giản Penetration Testing ( Pentest ) chính là đánh giá độ an toàn bằng cách tấn công vào hệ thống . Còn Vulnerability Assessment ( VA) là quá trình xem xét lại các dịch vụ và hệ thống để tìm ra các vấn đề an ninh tiềm tàng hoặc dò tìm các dấu vết khi hệ thống bị tổn thương . Người thực hiện một thử nghiệm xâm nhập được gọi là kiểm tra xâm nhập hoặc pentester.
Thâm nhập thử nghiệm có một  yêu cầu là bạn nhận được sự cho phép của người sở hữu hệ thống. Nếu không, bạn sẽ là hacking hệ thống, đó là bất hợp pháp ở hầu hết các quốc gia . Nói cách khác: Sự khác biệt giữa thử nghiệm thâm nhập và hack là  bạn có sự cho phép của chủ sở hữu hệ thống .

Để hiểu rõ hơn về Pentest, trước tiên bạn cần phải hiểu khái niệm bảo mật cơ bản của lỗ hổng bảo mật (vulnerabilities), khai thác (exploits) , và trọng tải (payloads).

I.1 – Lỗ hổng (Vulnerabilities)

Vulnerabilities là lỗ hổng bảo mật trong một phần của phần mềm, phần cứng hoặc hệ điều hành, cung cấp một góc tiềm năng để tấn công  hệ thống. Một lỗ hổng có thể đơn giản như mật khẩu yếu hoặc phức tạp như lỗi tràn bộ đệm hoặc các lỗ hổng SQL injection.

I.2 –  Khai thác (exploits)

Để tận dụng lợi thế của một lỗ hổng, thường cần một sự khai thác, một chương trình máy tính nhỏ và chuyên môn cao mà lý do duy nhất là để tận dụng lợi thế của một lỗ hổng cụ thể và để cung cấp truy cập vào một hệ thống máy tính. Khai thác thường cung cấp một tải trọng (payloads) đến mục tiêu hệ thống và cung cấp cho kẻ tấn công truy cập vào hệ thống.

I.3  -  Trọng tải (payloads)

Tải trọng (payloads) là các thành phần của phần mềm cho phép  kiểm soát một hệ thống máy tính sau khi nó đang được khai thác lỗ hổng ,thường gắn liền với vài giao khai thác (exploits).

II – Các phương pháp sử dụng trong pentest.

II.1 – Hộp đen (Black box)

Tấn công từ ngoài vào (black box Pen Test): các cuộc tấn công được thực hiện mà không có bất kỳ thông tin nào, pentester sẽ đặt mình vào vị trí của những tin tặc mũ đen và cố gắng bằng mọi cách để thâm nhập vào được mạng nội, ngoại của khách hàng.
Pentester sẽ mô phỏng một cuộc tấn công thực sự vào ứng dụng ,quá trình thử nghiệm bao gồm một loạt các lỗ hổng bảo mật ở cấp ứng dụng được xác định bởi OWASP và WASC, nhắm mục tiêu các lỗ hổng bảo mật nguy hiểm tiềm tàng trong ứng dụng của khách hàng . Quá trình thử nghiệm sẽ tiết lộ các lỗ hổng, thiệt hại khai thác tiềm năng và mức độ nghiêm trọng.

II.2 – Hộp trắng (White box)

Tấn công từ trong ra (white box Pen Test): là các thông tin về mạng nội bộ và ngoại sẽ được cung cấp bởi khách hàng và Pentester sẽ đánh giá an ninh mạng dựa trên đó.
Điều quan trọng là cho các tổ chức để xác định rủi ro và mối đe dọa của họ xuất phát từ đâu Nếu doanh nghiệp cảm nhận được nó đến từ các nhân viên, khách hàng hoặc đối tác thương mại, nó có thể có lợi để tiến hành một thử nghiệm hộp Penetration trắng. Nhân viên, khách hàng và các đối tác thương mại có kiến thức về thông tin của doanh nghiệp. Họ có thể biết rằng Doanh Nghiệp  có một Intranet hoặc Extranet, trang web, và họ cũng có thể có các thông tin cho phép họ để đăng nhập vào hệ thống. Họ có thể biết nhân viên làm việc trong tổ chức, cơ cấu quản lý, các ứng dụng chạy trong môi trường. Tất cả các thông tin này có thể được sử dụng để khởi động các cuộc tấn công nhắm mục tiêu nhiều hơn đối với một cơ sở hạ tầng, mà có thể không được xác định là một phần của một sự tham gia thử nghiệm Black Box.

II.3 – Hộp xám (Gray box)

Kiểm định hộp xám (Gray-box hay Crystal-box): Giả định như tin tặc được cung cấp tài khoản một người dùng thông thường và tiến hành tấn công vào hệ thống như một nhân viên của doanh nghiệp.

III - Phạm vi (scope) trong Pentest ?

Framgia

Khi lần đầu tiên bắt đầu giao tiếp với khách hàng sẽ có một tập hợp các câu hỏi mà  sẽ cần trả lời trước khi có thể chính xác phạm vi tham gia thử nghiệm xâm nhập Những câu hỏi này rất quan trọng để hỏi và sẽ cho một sự hiểu biết tốt hơn về những gì khách hàng đang tìm kiếm, đạt được các thử nghiệm xâm nhập, tại sao khách hàng đang tìm kiếm để có một thử nghiệm xâm nhập được thực hiện đối với môi trường của họ, và dù có hoặc không muốn một số loại kiểm tra được thực hiện trong quá trình thử nghiệm xâm nhập.
Sau đây là một số câu hỏi mẫu mà có thể cần phải được trả lời trước khi có thể báo chính xác bao nhiêu sự tham gia là chi phí cho khách hàng:

III.1 Network Penetration Test

  • Why is the customer having the penetration test performed against their environment?
  • Is the penetration test required for a specific compliance requirement?
  • When does the customer want the active portions (scanning, enumeration, exploitation, etc…) of the penetration test conducted?
  • During business hours?
  • After business hours?
  • On the weekends?
  • How many total IP addresses are being tested?
  • How many internal IP addresses, if applicable?
  • How many external IP addresses, if applicable?
  • Are there any devices in place that may impact the results of a penetration test such as a firewall, intrusion detection/prevention system, web application firewall, or load balancer?
  • In the case that a system is penetrated.
  • . . . .

III.2 Web Application Penetration Test

  • How many web applications are being assessed?
  • How many login systems are being assessed?
  • How many static pages are being assessed? (approximately)
  • How many dymanic pages are being assessed? (approximately)
  • Will the source code be readily for viewing?
  • Will there be any kind of documentation, and if yes what kind of documentation?
  • Will we be performing static analysis on this application?
  • Does the client want us to perform fuzzing against this application?
  • Does the client want us to perform role-based testing?
  • Does the client want us to perform credentialed scans of web applications?

III.3 Wireless Network Penetration Test

  • How many wireless networks are in place?
  • Is a guest wireless network used? If so:
  • Does the guest network require authentication?
  • What type of encryption is used on the wireless networks?
  • What is the square footage of coverage?
  • Will we be enumerating rogue devices?
  • Will we be assessing wireless attacks against clients?
  • Approximately how many clients will be using the wireless network?

III.4 Physical Penetration Test

  • How many locations are being assessed?
  • Is this physical location a shared facility? If so:
  • How many floors are in scope?
  • Which floors are in scope?
  • Are there any security guards that will need to be bypass? If so:
  • Are the security guards employed through a 3rd party? Are they armed? Are they allowed to use force?
  • How many entrances are there into the building?
  • Is the use of lock picks or bump keys allowed? (this will be dependant upon state law)
  • Will we be performing a physical penetration test to verify compliance with existing policies and procedures or just performing an audit?
  • What is the square footage of the area in scope?
  • Are all physical security measures documented?
  • Are video cameras being used? If so and they are client owned:
  • Does the client want us to attempt to gain access to where the video camera data is stored?
  • Is there an armed alarm system being used? If so:
  • Is the alarm a silent alarm?
  • Is the alarm triggered by motion?
  • Is the alarm triggered by opening of doors and windows?

III.5 Social Engineering

  • Will the client provide e-mail addresses of personnel that we can attempt to social engineer?
  • Will the client provide phone numbers of personnel that we can attempt to social engineer?
  • Will we be attempting to social engineer physical access, if so:
  • How many people will be targeted?

III.6 Questions for Business Unit Managers

  • Do you know a test is about to be performed?
  • What is the main datum that would create the greatest risk to the organization if exposed, corrupted or deleted?
  • Do you have testing and validation procedures to verify your business applications are functioning properly?
  • Do you have your Quality Assurance testing procedures from when the application was first developed?
  • Do you have Disaster Recovery Procedures for your application data?

III.7 Questions for Systems Administrators

  • Can you identify your fragile systems? (Ask about systems with tendencies to crash, have older operating systems, or are not patched for any reason)
  • Are there systems on the network that IT does not own, that may require additional approval to test?
  • Do you have Change Management procedures in place?
  • What is the mean time to repair systems outages?
  • Do you have any systems monitoring software in place?
  • What are your most critical servers and applications?
  • Do you test backups on a regular basis?
  • When was the last time your restored from backup?

IV - Tiêu chuẩn để thực hiện Pentest

Pentest cần được thực hiện trên cơ sở tuân thủ các tiêu chuẩn quốc tế về đánh giá an ninh bảo mật cho hệ thống như sau:
Đánh giá ứng dụng Web – OWASP (Open-source Web Application Security Project):  OWASP là một chuẩn mở cho phép tổ chức/DN tiến hành xây dựng, phát triển, duy trì hoạt động của các ứng dụng trên nền tảng web một cách bảo mật nhất. Quá trình đánh giá dựa trên các tiêu chí đã được cộng đồng bảo mật xác nhận. OWASP bao gồm 10 lỗ hổng được đánh giá một cách chi tiết và cập nhật thường xuyên với thực tế các nguy cơ mà một ứng dụng web thường gặp.
Đánh giá mạng và hệ thống – OSSTMM (Open Source Security Testing Methodology Manual): OSSTMM là một chuẩn mở cung cấp phương pháp kiểm tra bảo mật một hệ thống đang hoạt động của doanh nghiệp. Từ phiên bản 3.0, OSSTMM đưa ra phương pháp kiểm định cho hầu hết các thành tố trong hệ thống như: con người, hạ tầng vật lý, mạng không dây, truyền thông và các mạng sử dụng truyền dữ liệu.

Nguồn Blog
http://tech.blog.framgia.com/vn/?p=1117

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

Đăng nhận xét

Ads 468x60px

Social Icons

Featured Posts