1 / 22

Bảo mật mã nguồn

Bảo mật mã nguồn. Nhóm 3. Nội dung thuyết trình. 1. Bảo mật mã nguồn là gì?. Bảo mật mã nguồn là sự hạn chế khả năng lạm dụng mã nguồn. 2.Tại sao phải bảo mật mã nguồn?. Không muốn cho người khác truy cập trái phép Ý nghĩa sống còn trong kinh doanh

taya
Download Presentation

Bảo mật mã nguồn

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bảo mật mã nguồn Nhóm 3

  2. Nội dung thuyếttrình

  3. 1. Bảo mật mã nguồn là gì? Bảo mật mã nguồn là sự hạn chế khả năng lạm dụng mã nguồn.

  4. 2.Tại sao phải bảo mật mã nguồn? • Không muốn cho người khác truy cập trái phép • Ý nghĩa sống còn trong kinh doanh • Có ít đi những lổ hổng bảo mật đồng nghĩa với việc chất lượng của phần mềm tốt hơn và giá thành giảm đi.

  5. 3. Làm sao để viết mã nguồn một cách bảo mật? • Phụ thuộc vào developers để giảm thiểu lỗi(không sử dụng các phương thức như: strcpy,strcat,sprintf, vsprintf) • Dựa vào mã an toàn được cài đặt sẵn trước khi ứng dụng được thực hiện • Sử dụng các công cụ hỗ trợ của các tổ chức bảo mật(ví dụ như OWASP) • …

  6. 4. Những lỗi thông dụng thường gặp • SQL Injection • Cross-Site Scripting (XSS) • Buffer OverFlow • Replay Attack

  7. SQL Injection Định nghĩa : Là 1 kĩ thuật cho phép lợi dụng: • Lỗ hổng trong kiểm tra dữ liệu nhập trong các ứng dụng web • Các thông báo lỗi của hệ quản trị cơ sở dữ liệu Mục đích: Đưa vào và thực thi các câu lệnh SQL bất hợp pháp

  8. SQL Injection • Khai thác lỗi này như thế nào?

  9. SQL Injection • string cmdStr = "INSERT INTO • Customer(Name, Phone) VALUES • ('" + txtName.Text + "','" + txtPhone.Text + "')"; conn.Open();SqlCommand cmd = new SqlCommand(cmdStr, conn);cmd.ExecuteNonQuery();

  10. SQL Injection

  11. SQL Injection string cmdStr = "INSERT INTO Customer(Name, Phone) VALUES('" + txtName.Text + "','" + txtPhone.Text + "')";  string cmdStr = "INSERT INTO Customer(Name, Phone) VALUES('','123');delete from order--')";

  12. SQL Injection Cách khắc phục : • Kiểm tra dữ liệu đầu vào hợp lệ bằng các tiêu chuẩn phù hợp • Sử dụng thủ tục store procedure • Dùng chuỗi SQL có tham số (dùng cmd.Parameters.Add) • …

  13. Cross-Site Scripting (XSS) Định nghĩa : XSS là một kĩ thuật tấn công bằng cách chèn vào các website động những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML

  14. Cross-Site Scripting (XSS) • Khai thác lỗi này như thế nào?

  15. Cross-Site Scripting (XSS) Cách khắc phục : • Lọc: Luôn luôn lọc các dữ liệu nhập từ phía người dùng bằng cách lọc các kí tự meta (kí tự đặc biệt) được định nghĩa trong đặc tả của HTML để phát hiện các thẻ script. • Mã hóa: Mã hóa phía máy chủ là một tiến trình mà tất cả nội dung phát sinh động sẽ đi qua một hàm mã hóa nơi mà các thẻ script sẽ được thay thể bởi mã của nó.

  16. Buffer OverFlow Định nghĩa : Một khối lượng dữ liệu được gửi cho ứng dụng vượt quá lượng dữ liệu được cấp phát khiến cho ứng dụng không thực thi được câu lệnh dự định kế tiếp mà thay vào đó phải thực thi một đoạn mã bất kì do hacker đưa vào hệ thống.

  17. Buffer OverFlow • Khai thác lỗi này như thế nào? greeting(char *temp1, char *temp2) { char name[400]; strcpy(name, temp2); printf("Hello %s %s\n", temp1, name); } main(int argc, char *argv[]) { greeting(argv[1], argv[2]); printf("Bye %s %s\n", argv[1], argv[2]); }

  18. Buffer OverFlow Shellcode : Shellcode còn có thể làm được nhiều thứ, từ việc điều chỉnh giờ hệ thống hay download và thực thi một tập tin từ internet cho đến việc gửi 1 email ra ngoài Mục đích : viết chương trình khai thác lỗi bằng shellcode và chèn vào chương trình bị lỗi

  19. Buffer OverFlow Cách khắc phục : • Phụ thuộc vào developers để giảm thiểu lỗi(không sử dụng các phương thức như: strcpy,strcat,sprintf, vsprintf) • Dựa vào mã an toàn được cài đặt sẵn trước khi ứng dụng được thực hiện

  20. Replay Attack Định nghĩa : Replay attack là một kiểu tấn công man-in-the-middle, kẻ tấn công sẽ tiến hành lắng nghe trên đường truyền của nạn nhân. Khi nạn nhân tiến hành trao đổi các thông tin quan trọng(ví dụ như passwork) thì kẻ tấn công sẽ chặn các gói tin đó lại. Các gói tin bị bắt không bị kẻ tấn công thay đổi nội dung mà giữ nguyên đợi đến 1 thời gian thích hợp nào đó sẽ gởi gói tin đó đi giả dạng như nó được gởi ra từ máy gốc.

  21. Replay Attack • Khai thác lỗi này như thế nào? http://www.youtube.com/watch?v=RVn6vfYGi1E http://www.security365.vn/

  22. Replay Attack Cách khắc phục : • Thiết lập giao thức an toàn trước khi trao đổi các thông tin quan trọng • Sử dụng khóa phiên trong các phiên làm việ • Xác thực đối phương trước khi gửi thông tin hay cấp quyền cho một hành động nào đó

More Related