Mà không chỉ là internet các loạimạng khác, như mạng LAN, đến một hệ thống máy tính cũng có thể bị xâm phạm.Thậm chí, mạng điện thoại, mạng di động cũng không nằm ngoài cuộc.. GUI của mỗ
TỔNG QUAN VỀ AN NINH MẠNG
Giới thiệu về an ninh mạng?
An ninh mạng là một trong những lĩnh vực mà hiện nay giới công nghệ thông tin khá quan tâm Một khi internet ra đời và phát triển, nhu cầu trao đổi thông tin trở nên cần thiết Mục đích của việc kết nối mạng là làm cho mọi người có thể sử dụng chung tài nguyên mạng từ những vị trí địa lý khác nhau Chính vì vậy mà các tài nguyên dễ dàng bị phân tán, hiển nhiên một điều là chúng ta dễ bị xâm phạm, gây mất mát dữ liệu cũng như các thông tin có giá trị Kết nối càng rộng thì càng dễ bị tấn công, đó là một quy luật tất yếu Từ đó, vấn đề bảo vệ thông tin cũng đồng thời xuất hiện và như thế an ninh mạng ra đời.
Ví dụ: User A gởi một tập tin cho User B trong phạm vi là nước Việt Nam thì nó khác xa so với việc User A gởi tập tin cho User C ở Mỹ Ở trường hợp đầu thì dữ liệu có thể mất mát với phạm vi nhỏ là trong nước nhưng trường hợp sau thì việc mất mát dữ liệu với phạm vi rất rộng là cả thế giới.
Theo thống kê của tổ chức IC 3 thì số tội phạm internet ngày càng gia tăng nhanh chóng chỉ trong vòng 8 năm từ năm 2001 đến năm 2009 số lượng tội phạm đã tăng gần gấp 20 lần và dự đoán trong tương lai con số này con tăng lên nhiều.
Hình 1.1: Thống kê tội phạm internet của tổ chức IC3.
Như vậy, số lượng tội phạm tăng sẽ dẫn đến tình trạng các cuộc tấn công tăng đến chóng mặt Điều này cũng dễ hiểu, vì một thực thể luôn tồn tại hai mặt đối lập nhau Sự phát triển mạnh mẽ của công nghệ thông tin và kỹ thuật sẽ là miếng mồi béo bở của các Hacker bùng phát mạnh mẽ.
Tóm lại, internet là một nơi không an toàn Mà không chỉ là internet các loại mạng khác, như mạng LAN, đến một hệ thống máy tính cũng có thể bị xâm phạm. Thậm chí, mạng điện thoại, mạng di động cũng không nằm ngoài cuộc Vì vậy chúng ta nói rằng, phạm vi của bảo mật rất lớn, nói không còn gói gọn trong một máy tính một cơ quan mà là toàn cầu
Kẻ tấn công là ai ?
Kẻ tấn công người ta thường gọi là Hacker Là những kẻ tấn công vào hệ thống mạng với nhiều mục đích khác nhau Trước đây Hacker được chia làm 2 loại nhưng hiện nay thì được chia thành 3 loại:
Hacker mũ đen Đây là tên trộm chính hiệu, với những Hacker có kinh nghiệm thì đặc biệt nguy hiểm đối với hệ thống mạng Mục tiêu của chúng là đột nhập vào hệ thống mạng của đối tượng để lấy cấp thông tin, nhằm mục đích bất chính Hacker mũ đen là những tội phạm thật sự cần sự trừng trị của pháp luật.
Họ là những nhà bảo mật và bảo vệ hệ thống Họ cũng xâm nhập vào hệ thống, mục đích là tìm ra những kẽ hở, những lổ hổng chết người và sau đó tìm cách vá lại chúng Tất nhiên, hacker mũ trắng cũng có khả năng xâm nhập và cũng có thể trở thành hacker mũ đen.
Loại này được sự kết hợp giữa hai loại trên Thông thường họ là những người còn trẻ, muốn thể hiện mình Trong một thời điểm, họ đột nhập vào hệ thống để phá phách Nhưng trong thời điểm khác họ có thể gửi đến nhà quản trị những thông tin về lổ hổng bảo mật và đề xuất cách vá lỗi.
Lổ hổng bảo mật ?
Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy nhập không hợp pháp vào hệ thống Các lỗ hổng cũng có thể xuất hiện ngay trong hạ tầng mạng hoặc nằm ngay trên các dịch vụ cung cập như Sendmail, Web, Ftp, Ngoài ra các lỗ hổng còn tồn tại ngay chính các hệ điều hành như: Windows XP, 7, Linux, hoặc trong các ứng dụng mà người sử dụng thường xuyên sử dụng như: Office, trình duyệt,
Theo bộ quốc phòng Mỹ, các lỗ hổng bảo mật một hệ thống được chia như sau:
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 này rất nguy hiểm, có thể phá hủy toàn bộ hệ thống.
Các lỗ hổng này cho phép người sử dụng 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 dữ liệu.
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.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 được quyền truy nhập bất hợp pháp.
Đánh giá vấn đề an toàn, bảo mật hệ thống mạng
Để đảm bảo an ninh cho hệ thống mạng, cần phải xây dựng một số tiêu chuẩn đánh giá mức độ an ninh, an toàn cho hệ thống mạng Một số tiêu chuẩn đã được thừa nhận là thước đo mức độ an ninh của hệ thống mạng
Có thiết bị dự phòng nóng cho các tình huống hỏng đột ngột Có khả năng thay thế nóng từng phần hoặc toàn phần (hot-plug, hot-swap).
Bảo mật an ninh nơi lưu trữ các máy chủ.
Khả năng cập nhật, nâng cấp, bổ xung phần cứng và phần mềm.
Yêu cầu nguồn điện, có dự phòng trong tình huống mất điện đột ngột.
Các yêu cầu phù hợp với môi trường xung quanh: độ ẩm, nhiệt độ, chống sét, phòng chống cháy nổ,…
Là giới hạn các đối tượng được quyền truy xuất đến thông tin Đối tượng truy xuất thông tin có thể là con người, máy tính và phần mềm Tùy theo tính chất của thông tin mà mức độ bí mật của chúng có thể khác nhau.
Ví dụ: User A gởi email cho User B thì email đó chỉ có User A và User B mới biết được nội dung của lá mail, còn những User khác không thể biết được Giả sử có User thứ 3 biết được nội dung lá mail thì lúc này tính bí mật của email đó không còn nữa.
Liên quan tới việc đảm bảo rằng một cuộc trao đổi thông tin là đáng tin cậy giữa người gởi và người nhận.
Trong trường hợp một tương tác đang xảy ra, ví dụ kết nối của một đầu cuối đến máy chủ, có hai vấn đề sau: thứ nhất tại thời điểm khởi tạo kết nối, dịch vụ đảm bảo rằng hai thực thể là đáng tin Mỗi chúng là một thực thể được xác nhận Thứ hai, dịch vụ cần phải đảm bảo rằng kết nối là không bị gây nhiễu do một thực thể thứ ba có thể giả mạo là một trong hai thực thể hợp pháp để truyền tin hoặc nhận tin không được cho phép.
Tính toàn vẹn đảm bảo sự tồn tại nguyên vẹn của thông tin, loại trừ mọi sự thay đổi thông tin có chủ đích hoặc do hư hỏng, mất mát thông tin vì sự cố thiết bị hoặc phần mềm.
Ví dụ: User A gởi email cho User B, User A gởi nội dung như thế nào thì User B chắc chắn sẽ nhận được đúng y nội dung như vậy có nghĩa là User A gởi gì thì User B nhận y như vậy không có sự thay đổi.
Tính không thể phủ nhận (Non repudiation)
Tính không thể phủ nhận bảo đảm rằng người gửi và người nhận không thể chối bỏ một bản tin đã được truyền Vì vậy, khi một bản tin được gửi đi, bên nhận có thể chứng minh được rằng bản tin đó thật sự được gửi từ người gửi hợp pháp Hoàn toàn tương tự, khi một bản tin được nhận, bên gửi có thể chứng minh được bản tin đó đúng thật được nhận bởi người nhận hợp lệ.
Ví dụ: User A gởi email cho User B thì User A không thể từ chối rằng A không gởi mail cho B.
Một hệ thống đảm bảo tính sẵn sàng có nghĩa là có thể truy nhập dữ liệu bất cứ lúc nào mong muốn trong vòng một khoảng thời gian cho phép Các cuộc tấn công khác nhau có thể tạo ra sự mất mát hoặc thiếu về sự sẵn sàng của dịch vụ Tính khả dụng của dịch vụ thể hiện khả năng ngăn chặn và khôi phục những tổn thất của hệ thống do các cuộc tấn công gây ra.
Ví dụ: Server web là hoạt động hàng ngày để phục vụ cho web client nghĩa là bất cứ khi nào, ở đâu Server web cũng sẵn sàng để phục vụ cho web client.
Khả năng điều khiển truy nhập (Access Control)
Trong một hệ thống mạng được coi là bảo mật, an toàn thì người quản trị viên phải điều khiển được truy cập ra vào của hệ thống mạng, có thể cho phép hay ngăn chặn một truy cập nào đấy trong hệ thống.
Ví dụ: Trong công ty có các phòng ban, để bảo mật thông tin nội bộ của công ty, người quản trị viên có thể ngăn chặn một số phòng ban gởi thông tin ra ngoài và từ ngoài vào trong.
HỆ ĐIỀU HÀNH VÀ HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ
Hệ điều hành là gì?
Hệ điều hành (tiếng Anh: Operating System - viết tắt: OS) là một phần mềm dùng để điều hành, quản lý toàn bộ tất cả thành phần (bao gồm cả phần cứng và phần mềm) của thiết bị điện tử.
Có vai trò trung gian trong việc giao tiếp giữa người sử dụng và thiết bị.
2.1.1 Hệ điều hành dành cho máy tính Được thiết kế để sử dụng trên những thiết bị như: Máy tính để bàn, laptop,… Đây là hệ điều hành sử dụng GUI.
GUI cho phép bạn sử dụng chuột để nhấp vào mọi thứ trên màn hình hiển thị (bao gồm các biểu tượng , nút, menu,…) và được diễn tả bằng cách kết hợp hình ảnh cùng với văn bản.
GUI của mỗi hệ điều hành có giao diện khác nhau, tuy nhiên các hệ điều hành hiện này hầu hết được thiết kế khá dễ sử dụng và không khác nhau nhiều về nguyên tắc.
2.1.2 Hệ điều hành dành cho thiết bị di động Được thiết kế dành cho những thiết bị như: Điện thoại di động, Máy tính bảng,… Được thiết kế với nhu cầu giải trí, liên lạc,… nên không có được đầy đủ những tính năng như hệ điều hành dành cho máy tính.
Hệ điều hành mã nguồn mở là gì?
Hệ điều hành mã nguồn mở là là một thuật ngữ chung để chỉ một loại hệ điều hành chạy trên các thiết bị điện toán, cho phép người dùng xem và sửa đổi toàn bộ mã nguồn của nó (cấu trúc bên trong) Hầu hết các hệ điều hành mã nguồn mở đều cho phép sử dụng miễn phí, đây là đặc điểm nổi bật nhất của hệ điều hành này.
So với Windows, iOS, hệ điều hành mã nguồn mở chiếm thị phần nhỏ, còn khá xa lạ với người dùng phổ thông, nhưng lại được giới sinh viên, nhà nghiên cứu và các chuyên gia chuyên ngành máy tính đặc biệt ưa chuộng.
Mặc dù được cho là “mã nguồn mở", việc phát hành và sử dụng mã nguồn trên vẫn phải tuân theo một loạt các quy tắc được xác định trước (ví dụ, giấy phép GNU GPL).
Bên cạnh một số ngôn ngữ lập trình mở như PHP, Java, v.v., cũng có những ngôn ngữ "mở một phần" như NET Mặc dù ngôn ngữ thực sự là mã nguồn mở, nhưng người dùng phải trả tiền gián tiếp bằng cách mua hệ điều hành Windows chứ không dùng được trên hệ điều hành MAC OS.
Ngoài một số ngôn ngữ lập trình game engine mã nguồn mở, cũng có một số ngôn ngữ không thuộc phần mềm mã nguồn mở như Unity Nếu bạn tạo một trò chơi bằng mã nguồn này, bạn được sử dụng miễn phí, nhưng bạn không thể bán nó Bởi vì khi bạn bán chúng, bản quyền được báo cáo và khiếu nại bởi Store Link ngay lập tức, liên kết bị gỡ và trò chơi bị đóng hoàn toàn Để thương mại hóa nó, bạn phải mua và sử dụng giấy phép từ chủ sở hữu ngôn ngữ lập trình.
Ưu nhược điểm của hệ điều hành mã nguồn mở
Như đã nói ở trên, phần mềm mã nguồn mở là phần mềm hoàn toàn miễn phí Bạn có thể sử dụng nó cho mục đích thương mại mà không phải trả tiền bản quyền Người dùng không bị nhà cung cấp kiểm soát khi sử dụng phần mềm mã nguồn mở Vì vậy bạn có thể tránh trường hợp một số chức năng, một số tập tin bị ẩn đi như các phần mềm mã nguồn mở độc quyền khác.
Khi lập trình viên sử dụng phần mềm mã nguồn mở, họ cũng tránh được những rủi ro như mua phải phần mềm có bản quyền nhưng không được nhà cung cấp hỗ trợ sau khi hết thời hạn sử dụng Có một số lý do để giải thích điều này Tuy nhiên, người dùng sẽ không thể sử dụng phần mềm nếu không nhận được sự hỗ trợ vì những lý do chủ quan hay khách quan Ngoài ra, người dùng sẽ phải trả thêm tiền để tiếp tục sử dụng.
Như đã đề cập ở trên, không có lỗ hổng bảo mật nào trong mã nguồn mở Chỉ cần tưởng tượng rằng phần mềm mã nguồn mở từ lâu đã được phát triển bởi một cộng đồng lập trình viên, bao gồm nhiều lập trình viên tài năng trên khắp thế giới Sau đó, họ liên tục kiểm tra, sửa đổi, thêm và bớt các tính năng
Trước khi người dùng thêm các tính năng mới vào phần mềm mã nguồn mở, hãy luôn đặt các yếu tố an toàn và kiểm tra chúng trước Nếu không, các tính năng này sẽ làm cho phần mềm kém an toàn hơn.
Hệ thống mã nguồn hoạt động linh hoạt
Phải nói rằng, khi tạo ứng dụng bằng mã nguồn mở, việc sửa lỗi nhanh hơn nhiều so với phần mềm có bản quyền Nếu nhà phát triển tìm thấy lỗi trong quá trình hoàn thiện, họ có thể sửa lỗi đó ngay lập tức Không giống như mã nguồn mở, khi bạn chỉnh sửa trong phần mềm có bản quyền, bạn phải báo cáo với nhà cung cấp và chỉnh sửa nếu được phép.
Ví dụ: nếu một lập trình viên muốn phát triển thêm các tính năng và mở rộng tiện ích của ứng dụng được tạo từ phần mềm mã nguồn mở, họ có thể điều chỉnh, thêm / bớt mã tùy chỉnh hoặc chờ phản hồi từ nhà cung cấp mà không cần xin phép Điều này chứng tỏ tính linh hoạt của phần mềm mã nguồn mở.
Không giới hạn khả năng sáng tạo
Vì nó "mở" và miễn phí, nhiều lập trình viên đã sử dụng nó để tạo ra những phần mềm hữu ích Nó được coi là một sản phẩm giúp các nhà thiết kế và lập trình sáng tạo và thử nghiệm các ý tưởng của họ.
Phần mềm mã nguồn mở cũng giúp người dùng giảm bớt sự phụ thuộc vào các nhà cung cấp như mã nguồn có bản quyền.
Khó khăn khi sử dụng Điều này không đúng với tất cả các phần mềm nguồn mở vì nhiều phần mềm trong số chúng (chẳng hạn như LibreOffice, Mozilla Firefox và hệ điều hành Android) cực kỳ dễ sử dụng Tuy nhiên, một số ứng dụng mã nguồn mở có thể khó thiết lập và sử dụng Điều này có thể ảnh hưởng đến năng suất và sẽ là rào cản lớn nhất khi bạn quyết định sử dụng các phần mềm này hay không.
Các vấn đề về khả năng tương thích
Nhiều loại phần cứng độc quyền cần các trình điều khiển chuyên biệt để chạy các phần mềm mã nguồn mở, những chương trình này thường chỉ có sẵn từ nhà sản xuất thiết bị Điều này có thể làm tăng thêm chi phí của bạn Ngay cả khi phần mềm mã nguồn mở tồn tại, nó có thể không hoạt động với phần mềm của bạn cũng như trình điều khiển độc quyền.
Trách nhiệm pháp lý và bảo hành
Với phần mềm độc quyền, nhà phát triển thường cung cấp bồi thường và bảo hành như một phần của thỏa thuận cấp phép tiêu chuẩn Điều này là do họ hoàn toàn kiểm soát và giữ bản quyền sản phẩm cũng như mã cơ bản của nó Giấy phép phần mềm nguồn mở thường chỉ chứa bảo hành có giới hạn và không có trách nhiệm pháp lý hoặc bảo vệ bồi thường vi phạm.
Những hệ điều hành mã nguồn mở phổ biến nhất hiện nay
Hệ điều hành Linux
Thông thường bạn chỉ nghe tên hệ điều hành như Microsoft Windows, MAC OS. Tuy nhiên, đây không phải là một hệ điều hành mở Bằng chứng đơn giản là bạn thường phải trả phí bản quyền để cài lại Win trên máy tính Đôi khi người dùng bị giới hạn bởi các nguyên tắc hoạt động của bản quyền này nên có thể gây ra những khó khăn nhất định.
Tuy nhiên, hệ điều hành Linux ra đời từ năm 1991 đã mang đến cho các lập trình viên nhiều sự lựa chọn hơn Linux là một ứng dụng mã nguồn mở Điều này là hoàn toàn miễn phí và có nghĩa là bạn có thể tự do sử dụng nó cho mục đích thương mại mà không phải trả bất cứ điều gì Tất nhiên, người dùng được sử dụng miễn phí tất cả các tính năng đặc biệt của hệ điều hành Linux
Ví dụ: nếu bạn đang sử dụng OpenOffice thay vì ứng dụng Microsoft Office, điều này bao gồm các ứng dụng như trình soạn thảo văn bản (Writer tương tự nhưWord), bảng tính (Calc tương tự như Excel), v.v.
PHƯƠNG PHÁP TẤN CÔNG, PHÒNG THỦ MẠNG MÁY TÍNH
Tấn công mạng là gì ?
Tấn công mạng (cyber attack) là các hành động trái phép đối với các tài sản digital bên trong mạng của một tổ chức Tấn công mạng nhằm vào hệ thống thông tin máy tính, cơ sở hạ tầng, mạng máy tính hoặc thiết bị máy tính cá nhân Các bên tấn công thường thực hiện các cuộc tấn công mạng này nhằm thay đổi, phá hủy hoặc đánh cắp dữ liệu cá nhân.
Đối tượng phổ biến nhất bị tấn công mạng là những ai? Đối tượng phổ biến nhật bị tấn công mạng là: Cá nhân, doanh nghiệp, tổ chức và cả nhà nước Các Hacker hay tin tặc sẽ tiếp cận những đối tượng này qua hình thức như mạng nội bộ (máy tính , thiết bị điện tử) hay tiếp cận qua con người nhờ thiết bị dị động, mạng social và ứng dụng phần mềm.
Mục đích của tấn công mạng và các loại tấn công mạng hiện nay
Tuỳ vào các loại tấn công mạng (Cyber attack) mà mục đích của hacker hay tin tặc sẽ có chút khác biệt Nhìn chung tất cả vẫn nhằm mục đích bất hợp pháp Sau đây là các loại tấn công mạng phổ biến và mục đích cụ thể của từng loại tấn công.
Denial-of-service (Dos) và các cuộc tấn công distributed denial-of-service
Một cuộc tấn công DDos sẽ chiếm đoạt tài nguyên (resource) của hệ thống khiến nó không thể phản hồi các yêu cầu dịch vụ Cuộc tấn công DDoS cũng là một cuộc tấn công vào tài nguyên của hệ thống, nhưng nó được thực hiện từ một số lượng lớn các host khác mà bị nhiễm phần mềm độc hại do hacker kiểm soát.
Không giống như các cuộc tấn công được tạo ra để cho phép kẻ tấn công có được quyền truy cập, DDoS không mang lại lợi ích trực tiếp cho kẻ tấn công Đối với một số hacker, chỉ cần đạt được việc từ chối dịch vụ là đủ hài lòng Tuy nhiên, nếu resource bị tấn công thuộc về một đối thủ cạnh tranh kinh doanh, thì lợi ích mang lại cho kẻ tấn công là không hề nhỏ Một mục đích khác của tấn công DDoS có thể là đưa một hệ thống offline để có thể khởi chạy một loại tấn công khác Điển hình là chiếm quyền điều khiển hijacking.
Có nhiều kiểu tấn công DoS và DDoS khác nhau, phổ biến nhất là tấn công TCP SYN flood, tấn công Teardrop, tấn công Smurf, tấn công ping-of-death và botnet.
Tấn công TCP SYN flood
Cuộc tấn công này, hacker khai thác việc sử dụng bộ nhớ buffer trong quá trình handshake khởi tạo phiên bản TCP (Transmission Control Protocol) Hacker làm quá tải queue in-process của hệ thống mục tiêu với các yêu cầu kết nối, nhưng nó không phản hồi khi hệ thống mục tiêu trả lời các yêu cầu đó Điều này khiến hệ thống mục tiêu hết thời gian chờ đợi phản hồi từ thiết bị của kẻ tấn công, điều này khiến hệ thống gặp sự cố hoặc không sử dụng được vì hàng đợi queue bị đầy.
Cuộc tấn công này làm cho các trường độ dài và độ lệch phân mảnh trong các gói Internet Protocol (IP) tuần tự chồng lên nhau trên host bị tấn công Mặc dù hệ thống bị tấn công cố gắng tạo lại các gói trong quá trình này nhưng không thành công.
Hệ thống mục tiêu sau đó trở nên nhầm lẫn và bị treo.
Nếu người dùng không có các bản vá (patch) để bảo vệ khỏi cuộc tấn công DDoS này, hãy vô hiệu hóa SMBv2 và chặn các cổng port 139 và 445.
Cuộc tấn công này liên quan đến việc sử dụng giả mạo IP (IP spoofing) và ICMP để bão hòa lưu lượng truy cập vào mạng mục tiêu Phương pháp tấn công này sử dụng các yêu cầu ICMP echo được nhắm mục tiêu vào các địa chỉ IP quảng bá broadcast Các yêu cầu ICMP này bắt nguồn từ địa chỉ của “người dùng” giả mạo.
Ví dụ: nếu địa chỉ của người dùng dự định là 10.0.0.10, hacker sẽ giả mạo yêu cầu ICMP echo từ 10.0.0.10 đến địa chỉ quảng bá broadcast 10.255.255.255 Yêu cầu này sẽ chuyển đến tất cả các IP trong phạm vi, với tất cả các phản hồi sẽ quay trở lại10.0.0.10, làm quá tải mạng Quá trình này có thể lặp lại và có thể được tự động hóa nhằm tạo ra một lượng lớn tắc nghẽn mạng.
Để bảo vệ thiết bị của bạn khỏi cuộc tấn công như thế này, bạn cần phải tắt các broadcast IP được phát trực tiếp tại các bộ định tuyến router Điều này sẽ ngăn chặn yêu cầu broadcast ICMP echo trên các thiết bị mạng Một tùy chọn khác là định cấu hình hệ thống cuối để ngăn chúng phản hồi các gói ICMP từ các địa chỉ broadcast.
Tấn công Ping of death
Loại tấn công này sử dụng các gói IP để ping một hệ thống mục tiêu có kích thước IP tối đa là 65,535 byte Các gói IP có kích thước này không được cho phép, vì vậy hacker sẽ phân mảnh gói IP Khi hệ thống mục tiêu tập hợp lại gói tin, nó có thể bị quá tải bộ đệm và các sự cố khác.
Các cuộc tấn công ping of death có thể bị chặn bằng cách sử dụng một firewall để kiểm tra các gói IP bị phân mảnh (fragmented) về kích thước tối đa.
Botnet là hàng triệu hệ thống bị nhiễm phần mềm độc hại dưới sự kiểm soát của hacker để thực hiện các cuộc tấn công DDoS Các bot hoặc hệ thống zombie này được sử dụng để thực hiện các cuộc tấn công chống lại hệ thống mục tiêu, thường làm quá tải băng thông bandwidth và khả năng xử lý của hệ thống mục tiêu Các cuộc tấn công DDoS này rất khó truy dấu vết vì các botnet nằm ở nhiều vị trí địa lý khác nhau.
Botnet có thể được giảm thiểu bằng cách:
Lọc RFC3704, nơi mà sẽ từ chối lưu lượng truy cập từ các địa chỉ giả mạo (spoof) và giúp đảm bảo rằng lưu lượng truy cập có thể truy dấu đến đúng mạng nguồn của nó Ví dụ, bộ lọc RFC3704 sẽ để các gói từ địa chỉ danh sách bogon.
Phòng thủ
Một số kĩ thuật phòng thủ
Để phòng chống tấn công mạng, người dùng cần thực hiện nhiều biện pháp phòng thủ, bảo vệ, đồng thời nâng ccao hiểu biết về cách sử dụng internet an toàn. Những phương pháp chống tấn công mạng được tổng hợp dưới đây:
Sử dụng một phần mềm diệt virus/malware uy tín.
Bảo vệ các mật khẩu của mình bằng cách sử dụng xác thực 2 bước khi đăng nhập, đặt mật khẩu khó.
Không nên sử dụng các thiết bị ngoại vi không rõ nguồn gốc Nếu bắt buộc phải sử dụng hãy quét virus trước.
Không nên click vào link lạ, trang web đáng ngờ, không tải file tính kèm không rõ nguồn gốc.
Nâng cấp, cập nhật các phần mềm, hệ điều hành, công cụ thường xuyên.
Đối với doanh nghiệp, cần xây dựng một cuộc chiến lược tổng thể để phòng chống những cuộc tấn công mạng phức tạp có thể xảy ra.
Firewall là giải pháp bảo vệ mạng hiệu quả và phổ biến nhất hiện nay Sau đây ta sẽ tìm hiểu về khái niệm, chức năng và phân loại firewall.
Firewall là thiết bị ngăn chặn sụ truy cập không hợp lệ từ mạng bên ngoài vào mạng bên trong Firewall bao gồm cả phần cứng và phần mềm.
Firewall cho ph p ngăn chặn dịch vụ từ trong ra ngoài và ngược lại; Kiểm soát địa chỉ truy cập và dịch vụ sử dụng; Kiểm soát khả năng truy cập; Kiểm soát nội dung thông tin truyền tải; Ngăn ngừa tấn công từ các mạng bên ngoài.
Firewall có nhiều loại khác nhau và mỗi loại có ƣu nhƣợc điểm riêng Thông thường firewall được chia làm 2 loại: firewall phần cứng và firewall phần mềm a. Firewall phầ
Ưu và nhược điểm của fìrewall:
Firewall phần cứng thường đƣợc sử dụng cho các mạng lớn, fírewall nhận gói tin và kiểm duyệt rồi chuyển tiếp cho các máy trong mạng, tốc độ của firewall phần mềm hoạt động chậm hơn so với fĩrewall phần cứng nên ảnh hưởng đến tốc độ của hệ thống mạng
Firewall phần mềm sử dụng để đảm bảo anh ninh cho các mạng vừa, nhỏ do đó chi phí thấp, không ảnh hưởng đến tốc độ chuyển các gói tin; Firewall phần mềm thực hiện trên từng hệ điều hành nhất định
Firewall phần cứng có thể thực hiện độc lập Firewall phần mềm có thể lọc đuợc nội dung gói tin còn fìrewall phần cứng chỉ có thể lọc thông tin của gói tin, nội dung của gói tin thì firewall phần cứng không thể kiểm soát.
KIỂM THỬ CÁC PHƯƠNG ÁN TẤN CÔNG
Sử dụng Social engineering toolkit(root)
Sự phát triển của công nghệ, đặc biệt là Internet đã giúp cuộc sống của con người trở nên thuận tiện và dễ dàng hơn Tuy nhiên kéo theo đó là sự gia tăng nhiều hình thức lừa đảo công nghệ cao nhằm chiếm đoạt thông tin, tài sản cá nhân Các hình thức lừa đảo này được biết đến như là các biểu hiện khác nhau của phương thức tấn công Social Engineering Đây là 1 phương pháp được hacker mũ đen rất thích sử dụng vì nó không cần quá nhiều kỹ thuật mà đánh mạnh vào tâm lí, cảm tính của con người.
Setoolkit hay Social-Engineer Toolkit được tạo ra và viết bởi Dave Kennedy, người sáng lập TrustedSec Nó là một công cụ dựa trên Python mã nguồn mở nhằm mục đích kiểm tra thâm nhập xung quanh Social-Engineering. Đến nay Setoolkit có hơn 2 triệu lượt tải xuống và nhằm mục đích tận dụng các cuộc tấn công công nghệ tiên tiến trong môi trường Social Enginnering Bộ công cụ đã được giới thiệu trong một số cuốn sách như: “Metasploit: The Penetrations Tester'sGuide” được viết bởi người sáng lập TrustedSec cũng như Devon Kearns, JimO'Gorman, và Mati Aharoni.
Hiện tại thì SEToolkit đã được tích hợp sẵn trong bản cài đặt Kali Linux mới nhất Nên với những ai đang sử dụng Kali linux thì tại Terminal ta chỉ cần gõ lệnh Setoolkit là truy cập được Còn đối với các hệ điều hành khác hoặc các bản phân phối của Linux như Ubuntu thì ta có thể tải về theo 2 cách:
Ta có thể tải trực tiếp thông qua trang chủ của dự án: Social-Engineer Toolkit – TrustedSec.
Tải qua Github của dự án: trustedsec/social-engineer-toolkit
Sau khi cài đặt và chạy thì ta sẽ thấy một thông báo thỏa thuận Đọc và đồng ý với thỏa thuận là có thể sử dụng công cụ này Giao diện của Setoolkit như sau:
Một số tính năng chính.
SET cung cấp rất nhiều vector và kỹ thuật tấn công khác nhau Tuy nhiên ta có thể nêu ra 1 vài tính năng chính như sau:
Tấn công lừa đảo: Tính năng này cho phép bạn chọn từ một số tùy chọn tấn công phishing để tiếp cận nạn nhân của mình Bạn có thể tạo các thư email có đính kèm các tải trọng độc hại và gửi chúng đến một số lượng nhỏ hoặc nhiều người nhận Nó cũng cho phép bạn giả mạo địa chỉ email của mình bằng cách thay đổi các biến đơn giản, giúp bạn thực sự dễ sử dụng.
Tấn công web: Mô-đun này kết hợp các tùy chọn khác nhau để tấn công nạn nhân của bạn từ xa Nó bao gồm các kỹ thuật tấn công như Java Applet Attack vàMetasploit Browser Exploit để cung cấp các payload độc hại Phương pháp CredentialHarvester cho phép bạn sao chép trang web và thu thập thông tin từ các trường người dùng và mật khẩu, cũng như các kỹ thuật TabNabbing, HTA Attack, Web-Jacking và
Multi-Attack, tất cả đều có cùng mục đích là phishing nhằm lừa người dùng tiết lộ thông tin đăng nhập của họ.
Trình tạo phương tiện truyền nhiễm: Tính năng thú vị này cho phép bạn tạo các thiết bị đa phương tiện bị nhiễm(USB / CD / DVD) với tệp autorun.inf, sau này có thể được chèn vào bất kỳ PC nào và sẽ tự động chạy payload của Metasploit nếu tính năng chạy tự động được bật.
Tạo Payload và Listener: Tính năng này cho phép bạn tạo các payload độc hại cho Windows, bao gồm Shell Reverse_TCP, Reverse_TCP Meterpreter, Shell
Reverse_TCP X64 và Meterpreter Reverse HTTPS.
Tấn công Mass Mailer: Loại tấn công này có thể được thực hiện chống lại một hoặc nhiều cá nhân, thậm chí cho phép bạn nhập danh sách người dùng để gửi cho bất kỳ người nào bạn muốn Nó cũng cho phép bạn sử dụng tài khoản Gmail cho cuộc tấn công email của bạn hoặc sử dụng máy chủ của riêng bạn hoặc chuyển tiếp mở để gửi hàng loạt.
Ngoài các tùy chọn chính này, bạn cũng sẽ tìm thấy các lựa chọn tấn công hữu ích khác như dựa trên Arduino, Điểm truy cập không dây, Trình tạo mã QR và Vectơ tấn công Powershell.
Tạo trang web lừa đảo
Ta sẽ sử dụng công cụ setoolkit để thực hiện fishing trang: https://vi- vn.facebook.com/ và lấy thông tin đăng nhập Vào giao diện của Setoolkit:
Tại giao diện của Setoolkit thực hiện chọn option 1 để thực hiện tấn công Social-engineering Ta được:
Tiếp theo chọn option 2 để thực hiện tấn công với Website:
Chọn option 3 để thực hiện tấn công phishing:
Tại đây ta sẽ có 3 lựa chọn để tấn công:
Web templates: Thực hiện tấn công phishing với các mẫu có sẵn như google, twitter, vv:
Ta sẽ đi vào khai thác chi tiết lựa chọn 3:
Trước hết truy cập vào trang web muốn phishing, lựa chọn tải trang web xuống Lưu ý trước khi tải về cần lựa chọn save as type là website, only html, để tên file là index.html.
Quay trở lại tool, lúc này tool sẽ yêu cầu mình nhập địa chỉ IP Ta sẽ thực hiện nhập địa chỉ IP nội bộ khi muốn tấn công mạng LAN và nhập địa chỉ IP ngoài của mình khi muốn tấn công mang WAN Trong hướng dẫn này, ta sẽ thực hiện cuộc tấn công trên mạng LAN, để kiểm tra địa chỉ IP nội bộ hãy chạy ifconfig Tiếp theo nhập địa chỉ đường dẫn vừa lưu tệp index.html, nhớ thêm / ở sau đường dẫn Và cuối cùng là nhập url trang web bạn muốn phishing Các bước được thực hiện như ảnh sau :
Vậy là setup thành công bây giờ SET sẽ mở Ip 192.168.137.130 để nghe ngóng dữ liệu Ở trên máy vừa cài đặt, thực hiện truy cập localhost port 192.168.137.130 để xem giao diện : Đối với máy thuộc cùng mạng LAN, ta sẽ truy cập thông qua địa chỉ IP nội bộ vừa nhập Mở rộng 1 chút, ta có thể sử dụng công cụ ngrok để chuyển từ khai thác LAN sang WAN Chạy lệnh ngrok như sau: /ngrok tcp 80 ta được:
Ta có thể hiểu đơn giản là lúc này ngrok đã mở cho mình 1 đường hầm giữa localhost của bạn và internet Giúp người khác mạng có thể truy cập được localhost của bạn thông qua custom domain của ngrok, như trong ảnh trên là:
2.tcp.ngrok.io:13690 -> localhost:80 Thực hiện truy cập vào 2.tcp.ngrok.io:13690:
Khi người dùng truy cập vào url trên và nhập thông tin vào trang facebook giả này thì request sẽ được chuyển về cho SET Giao diện SET lúc này sẽ như sau:
Vậy là thông tin đăng nhập của người dùng đã bị ăn cắp.
Tạo file chứa mã độc (Create a Payload and Listener)
Bước 1: Khởi chạy công cụ bằng cách nhập setoolkit trong Terminal.
Buớc 2: Chọn 1 "Social Engineering Attacks"
Bước 3: Chọn 4 "Create Payload and Listener"
Bước 4: Nhập địa chỉ IP của bạn
Bước 5: Chọn payload mà bạn muốn, trong trường hợp này mình chọn 2
Bước 6: Lựa chọn kiểu crypto để bypass AV.
Sau đó, công cụ sẽ tiến hình quá trình crypt
Bước 8: Sau khi hoàn tất, bạn sẽ thấy xuất hiện file msf.exe trong đường dẫn /root/.set Để dễ dàng đánh lừa nạn nhân, mình sẽ đổi tên file này thành crack_facebook.exe
Bước 9: Bấm "Yes" để bắt đầu metasploit
Bước 10: Điều bạn cần làm là chuyển giao file crack_facebook.exe này tới nạn nhân (bạn có thể up nó lên các web lưu trữ, rồi trỏ link vào các forum,comment link trên youtube ) Sau khi nạn nhân kích vào file này, bạn đã thâm nhập thành công máy nạn nhân.
Lưu ý: Để tăng cường khả năng vượt qua sự phát hiện của phần mềm diệt virus, có thể tìm các tools cho crypter và kết hợp các crypter có sẵn trong công cụ.
Các cách phòng tránh
Luôn kiểm tra đường dẫn trước khi truy cập 1 địa chỉ lạ
Người dùng Internet cần dành thời gian kiểm tra đường dẫn nhận được qua thư điện tử hay mạng xã hội Đường dẫn của các website giả mạo sẽ được làm giống các website chính thống và thường chứa thêm một số từ ngữ, chuỗi ký tự khác Xem trước đường dẫn đầy đủ trước khi nhấp vào truy cập là cách nhận biết đầu tiên để phòng tránh tấn công phising.
Kiểm tra đường dẫn trước khi điền thông tin đăng nhập, thông tin cá nhân
Khi đã vô tình nhấp vào đường dẫn của website giả mạo, hãy tìm kiếm các dấu hiệu giả mạo trong chính đường dẫn đó Đường dẫn của website giả mạo thường chứa nhiều ký tự vô nghĩa và/hoặc các chuỗi văn bản bổ sung Nếu có bất cứ dấu hiệu nghi ngờ nào, người dùng không nên tiếp tục thao tác, khai báo các thông tin mà trang web yêu cầu.
Kiểm tra SSL và chứng thư số của website
Hầu hết các website hợp pháp đều sử dụng giao thức bảo mật SSL (Secure Sockets Layer) và chứng thư số (Digital Certificate) để bảo vệ khách hàng và giao dịch trực tuyến Vì vậy, hãy tìm các dấu hiệu SSL và chứng thư số trên website để kiểm tra độ tin cậy của đường dẫn.
Kiểm tra thanh địa chỉ để biết thông tin chi tiết của tổ chức
Chứng chỉ SSL/TLS có vai trò quan trọng trong quá trình bảo mật web bằng cách mã hóa các phiên và bảo vệ thông tin được gửi giữa các trình duyệt và máy chủ web. Chứng thư số cấp cao (EV SSL Certificate) là chứng thư số cấp cao nhất theo chuẩn X.509, thường được thể hiện trong thanh địa chỉ màu xanh lá cây chuyên dụng.
Phần lớn các website chính thống của thương hiệu hàng đầu đã sử dụng EV SSL, giúp người dùng dễ dàng xác minh website đang truy cập Khi khách hàng nhấp chuột vào phần màu xanh lá cây trong thanh địa chỉ, thông tin chi tiết của đơn vị chủ quản website và đơn vị cấp chứng thực sẽ được hiển thị.
Cẩn thận với tấn công homograph – tấn công từ đồng âm tên miền quốc tế
Kỹ thuật tấn công homograph lợi dụng tập hợp các từ được đánh vần giống nhau, nhưng có ý nghĩa khác nhau để tạo ra các tên miền giả mạo Nhiều ký tự Unicode dùng để biểu diễn cho các bảng chữ cái của tiếng Hy Lạp, Cyrillic và Armenian trong các tên miền quốc tế, nếu nhìn bằng mắt thường sẽ trông không khác gì các chữ cái Latin gây dễ nhầm lẫn Tuy nhiên, các ký tự này được máy tính xử lý như các ký tự khác nhau, trở thành các địa chỉ website hoàn toàn khác biệt.
Với cách thức này, kẻ lừa đảo có thể tạo ra một tên miền giả mạo, thậm chí sử dụng chứng thư số bảo mật, khiến người dùng rất dễ bị lừa Do đó, đây là phương pháp tấn công giả mạo “gần như không thể phát hiện ra” Nếu người dùng cảm thấy đường dẫn đáng ngờ, hãy sao chép và dán đường dẫn này vào một thẻ khác trên trình duyệt, tên miền thật sự sẽ được tiết lộ Một cách khác là người dùng nhấp vào chi tiết chứng chỉ SSL để xem tên miền thực sự được chứng nhận.
Các chuyên gia bảo mật khuyến cáo rằng các bộ phận CNTT phải thường xuyên tiến hành kiểm tra để tránh các cuộc thâm nhập có sử dụng các kỹ thuật social engineering Điều này sẽ giúp quản trị viên tìm hiểu loại người dùng nào có nguy cơ cao nhất đối với các loại tấn công cụ thể, đồng thời xác định các yêu cầu đào tạo bổ sung cho nhân viên của mình. Đào tạo nâng cao nhận thức bảo mật cũng có thể hữu ích trong việc ngăn chặn các cuộc tấn công social engineering Nếu mọi người biết những gì hình thành các cuộc tấn công social engineering và chúng có khả năng thực hiện những điều gì, thì họ sẽ ít có khả năng trở thành nạn nhân hơn.
Trên quy mô nhỏ hơn, các tổ chức phải có các cổng truy cập email và web an toàn để quét email chứa các liên kết độc hại và lọc chúng ra, nhằm làm giảm khả năng các nhân viên sẽ nhấp vào một trong các liên kết không an toàn đó Luôn cập nhật các bản sửa lỗi phần mềm trên các thiết bị cũng rất quan trọng, cũng như theo dõi các nhân viên chuyên xử lý các thông tin nhạy cảm và kích hoạt các biện pháp xác thực nâng cao cho họ.
Đừng trở thành nạn nhân
Trong bối cảnh các cuộc tấn công lừa đảo diễn ra tràn lan, rất nhanh chóng và chỉ cần một vài người sử dụng làm con mồi là cuộc tấn công đã thành công, bạn cần có những phương pháp để bảo vệ bản thân mình Đơn giản nhất là hãy chú ý đến mọi thứ.Hãy ghi nhớ những điều sau để tránh bị lừa đảo.
Chậm lại: Người gửi spam muốn bạn hành động trước và suy nghĩ sau Nếu thông điệp truyền tải tạo một cảm giác cấp bách hoặc sử dụng chiến thuật gây áp lực cao thì hãy cảnh giác Đừng bao giờ để cho sự khẩn cấp chúng tạo ra ảnh hưởng đến sự đánh giá của bạn.
Nghiên cứu kỹ càng: Hãy nghi ngờ bất kỳ tin nhắn nào bạn nhận được Nếu email có vẻ như là từ một công ty bạn đang sử dụng dịch vụ, hãy tìm hiểu theo cách của riêng bạn Sử dụng công cụ tìm kiếm để truy cập trang web của công ty hoặc thư mục điện thoại để tìm số điện thoại của họ rồi xác thực thông tin.
Đừng để một liên kết kiểm soát nơi bạn đến: Giữ quyền kiểm soát bằng cách tự tìm kiếm trang web thông qua việc sử dụng công cụ tìm kiếm để đảm bảo bạn đến đúng trang web mình cần Di chuột qua các liên kết trong email sẽ hiển thị URL thực tế ở phía dưới, nhưng lưu ý là những giả mạo tinh vi vẫn có thể đánh lừa bạn.
Việc hack email đang diễn ra tràn lan: Tin tặc, kẻ gửi spam và những kẻ sử dụng social engineering chiếm quyền kiểm soát tài khoản email của mọi người (và các tài khoản liên lạc khác) đã trở nên ngày càng nguy hiểm hơn Khi chúng kiểm soát tài khoản email, chúng sẽ đánh cắp danh bạ của người đó Ngay cả khi người gửi dường như là người bạn biết, nếu bạn không mong đợi một email có liên kết hoặc file đính kèm, hãy kiểm tra với bạn bè trước khi mở liên kết hoặc tải xuống.
Cẩn thận với bất kỳ tải xuống nào: Nếu bạn không biết người gửi là ai và vì sao họ lại gửi file đính kèm cho bạn, việc tải xuống bất kỳ điều gì là một sai lầm nghiêm trọng.