CAST 613 - Hacking và Củng cố Bảo mật Ứng dụng/Trang Web Doanh nghiệp
Thông tin sẽ được thông báo khi khóa học khai giảng
Đây là một khóa học được thiết kế kỹ lưỡng dành cho những lập trình viên thông thường, những người chưa có nhận thức về bảo mật. Các nhà phát triển của bạn sẽ ngạc nhiên về những điều họ làm hàng ngày lại có thể ẩn chứa các lỗ hổng bảo mật. Để nhấn mạnh tầm quan trọng, khóa học được thiết kế với hơn 50% thời lượng dành cho các phòng lab lập trình thực hành. Người tham gia lý tưởng nên có nền tảng phát triển, lập trình hoặc kiến trúc, dù là hiện tại hay trước đây. Ứng viên hiện tại có thể là một nhà phát triển đang cố gắng nâng cao nhận thức về an ninh mạng của mình. Hoặc ứng viên có thể đang hoặc đã chuyển sang vị trí quản lý, có thể khiến họ chịu trách nhiệm nhiều hơn đối với bất kỳ sự cố vi phạm bảo mật nào. Trong thế giới ngày nay, không có ngày nào trôi qua mà bản tin tối quốc gia không đề cập đến một vụ xâm nhập. Mặc dù điều đó có vẻ không đột phá, nhưng sự thật còn đáng kinh ngạc hơn nhiều. Các nghiên cứu không chỉ cho thấy mà còn chứng minh rằng, với mỗi bản ghi bị xâm phạm, công ty có thể tốn hơn 1000 đô la chi phí để khắc phục. Những chi phí đó có thể là chi phí tiền mặt thực tế cũng như chi phí danh tiếng. Vậy nếu 10.000 bản ghi bị xâm phạm… Bạn hãy tự tính toán xem! Điều này không chỉ là một sai sót giới hạn công việc mà còn là một sai sót giới hạn sự nghiệp. Và mọi nhà quản lý đều biết sau Sarbanes Oxley, ngón tay sẽ chỉ vào người chịu trách nhiệm.
Sau khi hoàn thành khóa học này, học viên sẽ có khả năng:
- Khóa học được đầu tư rất nhiều công sức để đảm bảo hiệu quả và có thể được giảng dạy như một khóa học không phụ thuộc ngôn ngữ, giúp cả nhà phát triển lẫn những người ở vị trí quản lý hiểu được trang web/ứng dụng web của chính họ có thể bị xâm phạm như thế nào.
- Khóa học sẽ không yêu cầu bất kỳ công cụ kiểm thử xâm nhập đặc biệt nào thường được sử dụng trong một khóa học tương tự. Tác giả kỳ vọng bạn chỉ cần hiểu logic chương trình. Và nếu bạn biết các kỹ thuật phát triển và có nền tảng kiến trúc, bạn sẽ có được nhận thức cao hơn về những việc bạn làm hàng ngày.
- Bất kể bạn là nhà phát triển, kiến trúc sư hay thậm chí là quản lý dự án, mỗi người sẽ có được sự rõ ràng đáng kinh ngạc về cách mọi thứ có thể dễ dàng được cải thiện và bảo mật. Để tận dụng tối đa khóa học, tất cả những người tham gia nên có ít nhất một số kinh nghiệm lập trình.
- Khóa học này KHÔNG chuyên biệt về ngôn ngữ, mặc dù logic chương trình và các khái niệm thiết kế là điều kiện tiên quyết tuyệt đối! Hầu hết toàn bộ khóa học sẽ không chỉ mang tính khai sáng mà còn thú vị và dễ dàng đáng giá thời gian bỏ ra để tham gia. Bạn sẽ ngay lập tức thấy mình đề xuất khóa học này cho các nhà phát triển, quản lý dự án và kiến trúc sư khác trong nhóm và công ty của bạn!
Hầu hết tất cả các nhân viên an ninh thông tin từ bất kỳ tổ chức nào có trách nhiệm xử lý dữ liệu quan trọng đều sẽ thấy khóa học này hữu ích, ví dụ:
- Các cơ quan chính phủ
- Các trường đại học
- Ngành dịch vụ khách sạn
- Bán lẻ
- Các tổ chức ngân hàng và tài chính
- Các công ty môi giới và giao dịch
- Bảo hiểm
- Các tổ chức khoa học & cơ quan nghiên cứu
- Viễn thông
- Các công ty thiết kế máy tính
- Các công ty tư vấn
- Các công ty khoa học và kỹ thuật
- Những người liên quan đến các doanh nghiệp & giao dịch trực tuyến
- Các doanh nghiệp liên quan đến thẻ
Không yêu cầu điều kiện tiên quyết. Khóa học phù hợp với mọi đối tượng có nhu cầu.
Sau khi hoàn tất khóa học, học viên sẽ được cấp chứng nhận hoàn tất khóa học theo quy định của Cecomtech.
- Giới thiệu
- Về khóa học và Tác giả Tim Pierson
- Lý do tôi phát triển khóa học Hacking và Củng cố Bảo mật Trang web/Ứng dụng web doanh nghiệp của bạn: Góc nhìn của nhà phát triển
- Giới thiệu trang web dễ bị tấn công
- Sử dụng các công cụ kiểm thử xâm nhập rất đắt tiền như Firefox/Firebug hoặc công cụ dành cho nhà phát triển của Chrome (đi kèm với Chrome).
- Giới thiệu một vài Add-on miễn phí cho Chrome và Firefox, tôi đã nói là chúng miễn phí chưa?
- Giám sát và tạo yêu cầu bằng cách sử dụng một proxy phổ biến như Fiddler, Paros hoặc Burp Suite.
- Sửa đổi các yêu cầu và phản hồi trong Fiddler để thay đổi những gì gửi đi và những gì nhận được trước khi Trình duyệt kết xuất.
- Trình duyệt chỉ đơn giản đọc mã từ trên xuống dưới. Không biết cái gì là tốt, xấu, độc hại hay không.
- Lướt web giống như trao cho mỗi trang web bạn truy cập một shell trên máy tính của bạn!
- Giải mã Mật mã học
- Giới thiệu
- Mã hóa – Một Định nghĩa
- Thuật toán mã hóa
- Mã hóa đối xứng
- Mã hóa bất đối xứng
- Thời gian bẻ khóa
- Chính sách mật khẩu và lý do tại sao chúng đơn giản là không hiệu quả!
- Đừng bao giờ sử dụng Mật khẩu nữa! Hãy sử dụng Cụm mật khẩu thay thế!
- Hashing
- Xung đột Hash
- Các thuật toán Hash phổ biến
- Chữ ký số – Chứng minh chúng ta là ai.
- Các cấp độ Chứng chỉ số – Vấn đề nằm ở Chi phí!
- Làm việc với Chứng chỉ SSL.
- Chúng ta tin vào những gì chúng ta biết – Câu chuyện có thật.
- IPSec – Liệu điều này có giải quyết được tất cả không?
- Cơ sở hạ tầng Khóa công khai
- HeartBleed – Có gì mà ồn ào vậy? Chúng ta có nên quan tâm không?
- Mã hóa Máy tính xách tay và Thiết bị di động: TrueCrypt – BYOB đã có mặt hoặc sắp có!
- Tóm tắt
- Quản lý Tài khoản – Chìa khóa cho tất cả?
- Giới thiệu
- Hiểu mức độ quan trọng của độ mạnh mật khẩu và các vector tấn công
- Slide yêu thích của tôi trên thế giới
- Kỹ thuật “Passing the Monkey Wrench”!
- Giới hạn ký tự trong mật khẩu
- Cung cấp (Gửi email thông tin xác thực) khi tạo tài khoản
- Liệt kê tài khoản
- Tấn công từ chối dịch vụ thông qua đặt lại mật khẩu
- Bảo mật đúng quy trình đặt lại
- Bức tường hổ thẹn – Những kẻ vi phạm văn bản thuần túy
- Cách nhận biết một Trang web an toàn – Mọi người nên thử điều này với gia đình mình.
- Thiết lập lưu trữ mật khẩu không an toàn
- Kiểm thử rủi ro trong tính năng ‘ghi nhớ tôi’
- Xác thực lại trước các hành động quan trọng
- Kiểm thử tấn công vét cạn xác thực
- Tóm tắt
- Thao túng Tham số (Parameter Diddling)
- Giới thiệu
- Xác định dữ liệu không đáng tin cậy trong các tham số yêu cầu HTTP
- Bắt các yêu cầu và sử dụng các công cụ dễ dàng để thao túng các tham số
- Thao túng logic ứng dụng thông qua các tham số
- Kiểm thử thiếu xác thực phía máy chủ, nếu bạn không làm, nó giống như để một đứa trẻ béo ú canh chiếc bánh vậy!
- Hiểu liên kết mô hình (model binding)
- Thực hiện tấn công gán hàng loạt (mass assignment attack)
- Thao túng HTTP verb – Verb là gì? Post, Get, v.v. Chúng có thể hoán đổi cho nhau không? Bạn sẽ ngạc nhiên đấy!
- Fuzz testing – Tưới nước vào ứng dụng như một lính cứu hỏa tưới nước vào đám cháy bằng vòi rồng của mình, sau đó xem liệu nó có bị khựng lại không!
- Tóm tắt
- Bảo vệ Lớp Giao vận – An toàn trong quá trình di chuyển
- Giới thiệu
- Ba mục tiêu của bảo vệ lớp giao vận
- Hiểu cuộc tấn công trung gian (man-in-the-middle attack), và tất cả chúng ta đều là nạn nhân của nó hàng ngày!
- Bảo vệ dữ liệu nhạy cảm đang truyền và ở trạng thái nghỉ.
- Rủi ro khi gửi cookie qua các kết nối không an toàn
- Cách việc tải các biểu mẫu đăng nhập qua HTTP là rủi ro
- Giải pháp là gì? Http Everywhere? Còn chi phí phụ thì sao?
- Khai thác nội dung chế độ hỗn hợp
- Header HSTS
- Tóm tắt
- Cross Site Scripting (XSS) – Sự thật là tôi chỉ làm những gì được bảo
- Giới thiệu
- Hiểu dữ liệu không đáng tin cậy và vệ sinh dữ liệu
- Thiết lập các thực hành vệ sinh đầu vào – Giữ sạch sẽ khi vào
- Hiểu XSS và mã hóa đầu ra
- Xác định việc sử dụng mã hóa đầu ra – và khi quay trở lại!
- 3 loại XSS: Phản ánh, Lưu trữ và DOM
- Phân phối payload qua XSS phản ánh
- Kiểm thử rủi ro XSS dai dẳng
- Header X-XSS-Protection
- Tóm tắt
- Cookies – Không chỉ dành cho Hansel và Gretel
- Giới thiệu
- Cookies 101 – Mọi thứ bạn muốn biết nhưng ngại hỏi!
- Quản lý phiên – HTTP giống như một bệnh nhân Alzheimer – Giống như bộ phim “50 First Dates™”!
- Hiểu Http Only cookies, chúng là gì và tại sao chúng ta nên sử dụng chúng?
- Hiểu secure cookies. Không phải là đặt bánh quy của bà vào một lọ bánh quy có khóa!
- Vô hiệu hóa Cookies – Chúng ta có thực sự cần chúng không?
- Hạn chế quyền truy cập cookie theo đường dẫn – Giờ thì có một ý tưởng hay đấy!
- Giảm rủi ro với thời hạn cookie – Giữ ngắn thôi!
- Sử dụng cookie phiên để giảm rủi ro hơn nữa
- Tóm tắt
- Tiết lộ Triển khai Nội bộ – Chuyện gì đang diễn ra bên trong Quái vật
- Giới thiệu
- Cách kẻ tấn công xây dựng hồ sơ rủi ro trang web, hãy đảm bảo bạn không phù hợp với hồ sơ đó.
- Tiết lộ header phản hồi máy chủ – Nói thật, hay đó không phải là điều bạn muốn?
- Định vị các trang web có rủi ro – Đảm bảo trang web của bạn không phải là một trong số đó
- Nhận diện máy chủ HTTP – Xác định trang web/ứng dụng web của bạn đang chạy gì
- Tiết lộ qua robots.txt – Nói cho cả thế giới biết chỗ nào không nên nhìn!
- Rủi ro trong mã nguồn HTML – Những gì HTML của bạn đang nói với mọi người, dù bạn có biết hay không!
- Rò rỉ thông báo lỗi nội bộ – Thông báo lỗi nói quá nhiều!
- Thiếu kiểm soát truy cập dữ liệu chẩn đoán – Điều đầu tiên hacker thử là đặt trang vào Chế độ Debug
- Tóm tắt
- Tấn công tiêm SQL (SQL Injection) – SQL Injection – Thế nào là Lệnh, Thế nào là Dữ liệu?
- Đề cương
- Hiểu tấn công tiêm SQL
- Kiểm thử rủi ro tiêm – “Sử dụng các công cụ rất đắt tiền như Chrome và FireFox!”
- Khám phá cấu trúc cơ sở dữ liệu thông qua tiêm
- Thu thập dữ liệu thông qua tiêm. Đơn giản là in toàn bộ Schema ra trong các điều kiện phù hợp.
- Tự động hóa các cuộc tấn công bằng Havij
- Tấn công tiêm SQL mù (Blind SQL injection) – Làm thế nào một người mù vẫn có thể tìm thấy lỗ hổng
- Các mẫu ứng dụng an toàn
- Tóm tắt
- Tấn công xuyên trang (Cross Site Attacks) – Chính sách cùng nguồn gốc. Mọi người khác đều phá vỡ nó, tại sao chúng ta lại không?
- Giới thiệu
- Hiểu các cuộc tấn công xuyên trang – Tận dụng quyền hạn của một người dùng đã được phê duyệt
- Kiểm thử rủi ro giả mạo yêu cầu xuyên trang (cross site request forgery)
- Vai trò của các mã thông báo chống giả mạo – Một vài điều sẽ giúp ích
- Kiểm thử giả mạo yêu cầu xuyên trang chống lại API
- Thực hiện tấn công clickjacking – Bạn đang nhấp vào cái gì vậy?
- Tóm tắt
