SCB 2013 - OWASP TOP 10- 2013

61
TỔNG QUAN VỀ OWASP TOP 10- 2013 Trình bày: Khổng Văn Cường Email: [email protected]

description

Top 10 OWASP

Transcript of SCB 2013 - OWASP TOP 10- 2013

Page 1: SCB 2013 - OWASP TOP 10- 2013

TỔNG QUAN VỀ

OWASP TOP 10- 2013

Trình bày: Khổng Văn Cường

Email: [email protected]

Page 2: SCB 2013 - OWASP TOP 10- 2013

Đơn vị tổ chức:

Đơn vị tài trợ:

Page 3: SCB 2013 - OWASP TOP 10- 2013

Nội dung

• Hiện trạng

• Giải pháp

• Giới thiệu tổng quan về PENTEST và

chuẩn OWASP TOP 10 phiên bản 2013.

• Các nhóm lỗi trong OWASP TOP 10

phiên bản 2013.

• Case Study : File Upload

10/23/2013 9:57 AM www.securitybootcamp.vn

Page 4: SCB 2013 - OWASP TOP 10- 2013

Hiện trạng

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 5: SCB 2013 - OWASP TOP 10- 2013

Hiện trạng

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 6: SCB 2013 - OWASP TOP 10- 2013

BẠN THẬT SỰ ĐÃ

ĐƯỢC BẢO VỆ?

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 7: SCB 2013 - OWASP TOP 10- 2013

BẠN THẬT SỰ ĐÃ

ĐƯỢC BẢO VỆ?

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 8: SCB 2013 - OWASP TOP 10- 2013

BẠN THẬT SỰ ĐÃ

ĐƯỢC BẢO VỆ?

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 9: SCB 2013 - OWASP TOP 10- 2013

BẠN THẬT SỰ ĐÃ

ĐƯỢC BẢO VỆ?

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 10: SCB 2013 - OWASP TOP 10- 2013

10/23/2013 9:56 AM www.securitybootcamp.vn

SOLUTION?

Page 11: SCB 2013 - OWASP TOP 10- 2013

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 12: SCB 2013 - OWASP TOP 10- 2013

Tổng Quan Về PENTEST

10/23/2013 9:56 AM www.securitybootcamp.vn

• Pentest là gì ?

• Các phương pháp sử dụng trong

pentest:

– Hộp đen (Black box)

– Hộp trắng (White box)

– Hộp xám (Gray box)

Page 13: SCB 2013 - OWASP TOP 10- 2013

Tổng Quan Về PENTEST

10/23/2013 9:56 AM www.securitybootcamp.vn

• Phạm vi trong Pentest ?

– Network Penetration Test

– Web Application Penetration Test

– Wireless Network Penetration Test

– Physical Penetration Test

Page 14: SCB 2013 - OWASP TOP 10- 2013

Tổng Quan Về PENTEST

10/23/2013 9:56 AM www.securitybootcamp.vn

• Tiêu chuẩn để thực hiện Pentest là gì?

– Đánh giá ứng dụng Web – OWASP (Open-

source Web Application Security Project)

Page 15: SCB 2013 - OWASP TOP 10- 2013

Tổng Quan Về PENTEST

10/23/2013 9:56 AM www.securitybootcamp.vn

• Tiêu chuẩn để thực hiện Pentest là gì?

– Đánh giá ứng dụng Web – OWASP (Open-

source Web Application Security Project)

– Đánh giá mạng và hệ thống – OSSTMM

(Open Source Security Testing

Methodology Manual)

Page 16: SCB 2013 - OWASP TOP 10- 2013

OWASP là gì?

10/23/2013 9:56 AM www.securitybootcamp.vn

Ở OWASP bạn sẽ được cung cấp miễn phí và

mở : • Các công cụ và các tiêu chuẩn về an toàn thông tin

• Tài liệu về kiểm tra bảo mật ứng dụng, lập trình an toàn và

kiểm định mã nguồn

• Thư viện và các tiêu chuẩn điều khiển an ninh thông tin

• Các chi nhánh của hội ở khắp thế giới

• Các nghiên cứu mới nhất

• Các buổi hội thảo toàn cầu

• Maillist chung

Page 17: SCB 2013 - OWASP TOP 10- 2013

OWASP TOP 10 phiên bản 2013

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 18: SCB 2013 - OWASP TOP 10- 2013

A1: Injection

10/23/2013 9:56 AM www.securitybootcamp.vn

• Nguyên nhân: Các truy vấn đầu vào tại

ứng dụng bị chèn thêm dữ liệu không an

toàn dẫn đến mã lệnh được gởi tới máy

chủ cơ sở dữ liệu.

Page 19: SCB 2013 - OWASP TOP 10- 2013

A1: Injection

10/23/2013 9:56 AM www.securitybootcamp.vn

• Nguyên nhân: Các truy vấn đầu vào tại

ứng dụng bị chèn thêm dữ liệu không an

toàn dẫn đến mã lệnh được gởi tới máy

chủ cơ sở dữ liệu.

Page 20: SCB 2013 - OWASP TOP 10- 2013

A1: Injection

10/23/2013 9:56 AM www.securitybootcamp.vn

• Nguy cơ:

– Truy cập dữ liệu bất hợp pháp.

– Insert/update dữ liệu vào DB.

– Thực hiện một số tấn công từ chối dịch vụ

(refref, benchmark …)

Page 21: SCB 2013 - OWASP TOP 10- 2013

DEMO

10/23/2013 10:18 AM www.securitybootcamp.vn

Demo SQL Injection

Page 22: SCB 2013 - OWASP TOP 10- 2013

A2: Broken Authentication and

Session Management

10/23/2013 9:56 AM www.securitybootcamp.vn

• Điểm yếu: Cho phép hacker từ bên

ngoài có thể truy cập vào những tài

nguyên nội bộ trái phép (admin page,

inside, control page …)

Page 23: SCB 2013 - OWASP TOP 10- 2013

A2: Broken Authentication and

Session Management

10/23/2013 9:56 AM www.securitybootcamp.vn

• Điểm yếu: Cho phép hacker từ bên

ngoài có thể truy cập vào những tài

nguyên nội bộ trái phép (admin page,

inside, control page …)

• Ngoài ra hacker còn có thể thực hiện

các hành vi nâng quyền quản trị hoặc

tấn công dựa vào các dạng như session

fixation …

Page 24: SCB 2013 - OWASP TOP 10- 2013

A3: Cross-Site Scripting(XSS)

10/23/2013 9:56 AM www.securitybootcamp.vn

• Điểm yếu: Cho phép thực thi mã độc tại

máy nạn nhân (client side)

• Nguy cơ:

– Đánh cắp cookie/session

– Phát tán mã độc

Page 25: SCB 2013 - OWASP TOP 10- 2013

2

4

[1] POST

[2] RESPONE

Web server

www.server.com

App. server

DataBase

WebApp

vulnerabile al XSS

Attacker

user

[4] http://www.server.com/XSS

[5] RESPONE: execute

javascript function

[6] Conect back

Attacker

[6]

Internet

[3] Invite malicious code via

Friendlist

Internet

[7] Sign in with victim’s token

24

A3: Cross-Site Scripting(XSS)

Page 26: SCB 2013 - OWASP TOP 10- 2013

A4: Insecure Direct

Object References

10/23/2013 9:56 AM www.securitybootcamp.vn

• Điểm yếu: Việc phân quyền yếu (weak

authorization) cho phép người dùng có thể

truy cập dữ liệu của người dùng khác. Trong

những trường hợp hacker có thể xác định

được chính xác cấu trúc truy vấn gởi đến

server, hacker có thể nhanh chóng thu thập

dữ liệu như Credit Card, mã khách hàng,

thông tin cá nhân...

Page 27: SCB 2013 - OWASP TOP 10- 2013

[1] Request

[2] Respone

App. server

Attacker Internet

http://www.server.com/app/accountInfo?acct=notmyacct http://www.server.com/app/download.php?file=../../../../etc/passwd

26

A4: Insecure Direct

Object References

Page 28: SCB 2013 - OWASP TOP 10- 2013

A5: Security Misconfiguration

10/23/2013 9:56 AM www.securitybootcamp.vn

• Việc thắt chặt các cấu hình bảo mật tại

các tầng trong kiến trúc web là cần thiết:

platform, OS, web server, database,

framework... nhằm tránh những nguy cơ

có thể bị khai thác vào ứng dụng.

Page 29: SCB 2013 - OWASP TOP 10- 2013

A5: Security Misconfiguration

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 30: SCB 2013 - OWASP TOP 10- 2013

A6: Sensitive Data Exposure

10/23/2013 9:56 AM www.securitybootcamp.vn

• Các dữ liệu nhạy cảm được lưu trữ

không an toàn có thể gây ra những ảnh

hưởng to lớn cho hệ thống máy chủ,

cũng như cho khách hàng.

Page 31: SCB 2013 - OWASP TOP 10- 2013

A6: Sensitive Data Exposure

10/23/2013 9:56 AM www.securitybootcamp.vn

• Tình huống 1: Thẻ tín dụng/Tài khoản

đăng nhập được lưu trữ cleartext.

Page 32: SCB 2013 - OWASP TOP 10- 2013

A6: Sensitive Data Exposure

10/23/2013 9:56 AM www.securitybootcamp.vn

• Tình huống 1: Thẻ tín dụng/Tài khoản

đăng nhập được lưu trữ cleartext.

• Tình huống 2: Kênh truyền HTTPS bị

hacker nghe lén và dữ liệu được giải mã

thông qua lỗ hổng CRIME

Page 33: SCB 2013 - OWASP TOP 10- 2013

A7: Missing Function

Level Access Control

10/23/2013 9:56 AM www.securitybootcamp.vn

http://admin.server.com/

Page 34: SCB 2013 - OWASP TOP 10- 2013

A7: Missing Function

Level Access Control

10/23/2013 9:56 AM www.securitybootcamp.vn

http://admin.server.com/admin.php

Page 35: SCB 2013 - OWASP TOP 10- 2013

A8: Cross-Site Request Forgery

10/23/2013 9:56 AM www.securitybootcamp.vn

• Với những hệ thống thanh toán không

kiểm tra tính hợp lệ của

token/Session/Domain... thì nguy cơ

người dùng bị mất tiền do bị lừa thực

hiện các mã kịch bản không mong muốn

từ các site lừa đảo.

Page 36: SCB 2013 - OWASP TOP 10- 2013

35

http://www.server.com/app/checkout.php?

merchantid=10&customer=541&amount=500&currentcy=us

[1] Request

[3] Respone

App. server

Victim Internet

[2] Request

merchantid=10&custom

er=606&amount=500&cu

rrentcy=us

[4] Respone +

Request

A8: Cross-Site Request Forgery

Page 37: SCB 2013 - OWASP TOP 10- 2013

A9: Using Components

with Known Vulnerabilities

10/23/2013 9:56 AM www.securitybootcamp.vn

• Điểm yếu: Việc sử dụng các lỗ hổng bảo

mật trong các thư viện, plugin, module,

ứng dụng... được công khai trong cộng

đồng giúp hacker nhanh chóng khai thác

các lỗ hổng bảo mật.

Page 38: SCB 2013 - OWASP TOP 10- 2013

A9: Using Components

with Known Vulnerabilities

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 39: SCB 2013 - OWASP TOP 10- 2013

A9: Using Components

with Known Vulnerabilities

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 40: SCB 2013 - OWASP TOP 10- 2013

A9: Using Components

with Known Vulnerabilities

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 41: SCB 2013 - OWASP TOP 10- 2013

A9: Using Components

with Known Vulnerabilities

10/23/2013 9:56 AM www.securitybootcamp.vn

• Khuyến cáo: Các bản vá bảo mật từ nhà

phát triển ứng dụng sẽ giúp ứng dụng

giảm thiểu các rủi ro khai thác.

Page 42: SCB 2013 - OWASP TOP 10- 2013

A10: Unvalidated Redirects

and Forwards

10/23/2013 9:56 AM www.securitybootcamp.vn

• Việc chuyển hướng không an toàn

người dùng đến một đường dẫn bên

ngoài trang có thể tạo nguy cơ người

dùng truy cập đến những trang chứa mã

độc nhằm đánh cắp dữ liệu cá nhân.

Page 43: SCB 2013 - OWASP TOP 10- 2013

42

http://www.server.com/app/redirect.php?url=http://www.evil.com/malicious.html

[2] Request

[3] Respone

App. server

Victim Internet

Attacker

[1] Send URL

to victim

[4]

http://www.ev

il.com/malicio

us.html

A10: Unvalidated Redirects

and Forwards

Page 44: SCB 2013 - OWASP TOP 10- 2013

Tổng Kết

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 45: SCB 2013 - OWASP TOP 10- 2013

Tổng kết

10/23/2013 9:56 AM www.securitybootcamp.vn

Page 46: SCB 2013 - OWASP TOP 10- 2013

DEMO

10/23/2013 10:27 AM www.securitybootcamp.vn

Demo Business Logic Testing

Page 47: SCB 2013 - OWASP TOP 10- 2013

Case Study : File Upload

10/23/2013 10:01 AM www.securitybootcamp.vn

• Protection bằng Content-Type

• Có thể dễ dàng thay đổi “Content-Type”

Page 48: SCB 2013 - OWASP TOP 10- 2013

1. Name and Extension

10/23/2013 9:56 AM www.securitybootcamp.vn

• File Extension in “test.php.jpg”?

“.php.jpg”?

“.jpg”

Page 49: SCB 2013 - OWASP TOP 10- 2013

Bỏ qua Extensions

10/23/2013 9:56 AM www.securitybootcamp.vn

• Kiểm tra thực thi extensions:

• “.php” thường bị khóa, vậy “.php3”,

“.php4”, “.phtml”, thì như thế nào?

• Tương tự cho “.asp” thường bị khóa

“.asa” or “.cer” thì sao?

• Còn client side extensions thì sao? .htm, .html, .swf, .jar, …?

Page 50: SCB 2013 - OWASP TOP 10- 2013

2. Double Extensions

10/23/2013 9:56 AM www.securitybootcamp.vn

• Cấu hình trong Apache

– “file.php.jpg” served chạy PHP

– “AddHandler application/x-httpd-php .php”

• Cấu hình trong IIS 6 thì:

– “file.asp;.jpg” Chạy file ASP

– “/folder.asp/file.txt” Chạy file ASP

Page 51: SCB 2013 - OWASP TOP 10- 2013

DEMO

10/23/2013 9:56 AM www.securitybootcamp.vn

Demo Remote Code

Execution On Nginx Server

Page 52: SCB 2013 - OWASP TOP 10- 2013

3. Case Sensitive Rules

10/23/2013 9:56 AM www.securitybootcamp.vn

• Ví dụ:

– Blacklist RegEx: “^\.php$”

• “file.php” != “file.PhP”

– “file.php3.jpg” != “file.PHP3.JpG”

Page 53: SCB 2013 - OWASP TOP 10- 2013

4. Windows 8.3

10/23/2013 9:56 AM www.securitybootcamp.vn

• Ghi đè các file nhạy cảm như:

– “web.config” == “WEB~1.con”

– “default.aspx” == “DEFAUL~1.asp”

• Trường hợp không extensions thì có

cho phép?

– “.htaccess” == “HTACCE~1”

Page 54: SCB 2013 - OWASP TOP 10- 2013

5. Windows File System

10/23/2013 9:56 AM www.securitybootcamp.vn

• Cuối tập tin thường bị bỏ qua:

– Ví dụ dấu chấm và ký tự space

• “test.asp … . .. .” == “test.asp”

– Hoặc file:

• “test.php<>” == “test.php”

Page 55: SCB 2013 - OWASP TOP 10- 2013

5. Windows File System

10/23/2013 9:56 AM www.securitybootcamp.vn

• NTFS Alternate Data Streams:

– “file.asp::$data” == “file.asp”

– “/folder:$i30:$Index_allocation” == “/folder”

– “.htaccess:.jpg” make empty “.htaccess”

== “HTACCE~1” …

Page 56: SCB 2013 - OWASP TOP 10- 2013

6. File Type Detector Issues

10/23/2013 9:56 AM www.securitybootcamp.vn

• Trường hợp Height/Width của file image?

• Ví dụ: Comments trong file jpeg:

Page 57: SCB 2013 - OWASP TOP 10- 2013

7. Null Character

10/23/2013 9:56 AM www.securitybootcamp.vn

• “file.php%00.jpg”

Page 58: SCB 2013 - OWASP TOP 10- 2013

8. Compression (Image) Issues

10/23/2013 11:06 AM www.securitybootcamp.vn

Việc nén file .png có thể chứa code php

PNG Image Compression PNG with

PHP code!

Page 59: SCB 2013 - OWASP TOP 10- 2013

- Nén Gzip

10/23/2013 11:15 AM www.securitybootcamp.vn

• Dữ liệu Text …

• Chúng ta có PHP backdoor:

– <?=$_GET[0]($_POST[1]);?>

8. GZIP Compression PHP Code

Page 60: SCB 2013 - OWASP TOP 10- 2013

DEMO

10/23/2013 10:10 AM www.securitybootcamp.vn

DEMO RISKY FUNCTIONALITY FILE UPLOADS

Page 61: SCB 2013 - OWASP TOP 10- 2013

10/23/2013 9:56 AM www.securitybootcamp.vn

Thank You!

&

Question