Wednesday 21 December 2011

[HVA] 10 cách mà hacker thường sử dụng để phá vỡ hệ thống an ninh

Link gốc: http://www.hvaonline.net/hvaonline/posts/list/37975.hva

======================================================

Dưới đây là bài viết gốc bằng tiếng Anh:
http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Steward_Hackers.pdf

Còn tiếp theo là phần biên dịch của manthang

-----

Giới thiệu

“Hacking”, “cracking” và tội phạm công nghệ cao đã, đang và sẽ luôn là những chủ đề nóng bỏng được “giới IT” nhắc đến nhiều. Tuy nhiên, vẫn có các bước mà bạn có thể thực hiện để làm giảm những mối đe dọa và rủi ro về an ninh thông tin cho tổ chức của mình.

- Bước đầu tiên là bạn (với tư cách là người nắm giữ trọng trách đảm bảo an ninh thông tin của tổ chức) cần biết được những rủi ro (risk), mối đe dọa (threat) và lỗ hổng (vulnerability) nào đang hiện diện trong môi trường CNTT của tổ chức.

- Bước thứ hai là bạn cần tìm hiểu kỹ nhất có thể về ba vấn đề đó, đồng thời vạch ra kế hoạch phòng chống toàn diện, vững chắc.

- Bước thứ ba là bạn sẽ triển khai, áp dụng một cách thông minh, linh hoạt những biện pháp đối phó và phòng vệ mà bạn đã lựa chọn ở trên để dựng nên một hệ thống bảo vệ quanh những “tài sản thông tin” tối quan trọng của bạn.

Bài viết này sẽ tập trung vào tìm hiểu về mười phương thức phổ biến mà các hacker sử dụng để phá vỡ hệ thống an ninh hiện tại của bạn (đây chính là bước một trong ba bước đảm bảo an ninh thông tin cho tổ chức ở trên).

1. Đánh cắp mật khẩu

Từ nhiều năm nay, vấn đề an toàn mật khẩu (password security) luôn được các chuyên gia bảo mật đem ra thảo luận. Nhưng dường như chỉ có số ít người dùng là lắng nghe và làm theo các khuyến cáo về cách tạo và quản lý mật khẩu sao cho an toàn.

Nếu môi trường CNTT của bạn chỉ sử dụng mật khẩu để kiểm soát việc chứng thực thì đây thực sự là một rủi ro lớn khi mà hacker có thể sử dụng các công cụ “password cracking” để dò tìm ra mật khẩu và nhờ đó xâm nhập vào hệ thống CNTT của bạn.

Giải pháp tốt hơn cho vấn đề này là (nếu có thể) bạn nên sử dụng một vài hình thức “multi-factor authentication” (chứng thực sử dụng nhiều yếu tố).

Vấn đề ở đây là sức mạnh tính toán của các máy tính ngày này ngày càng tăng. Chúng có khả năng xử lý một lượng lớn dữ liệu chỉ trong một khoảng thời gian ngắn.
Một “password” chỉ là một chuỗi các ký tự (có trên bàn phím) mà một người cần ghi nhớ và cung cấp cho máy tính khi cần thiết (như để đăng nhập vào máy tính, truy cập tài nguyên trên mạng…).

Thật không may, các mật khẩu mà quá phức tạp để ghi nhớ đối với con người thì lại dễ dàng bị dò ra bởi các công cụ “pasword cracking” trong một khoảng thời gian ngắn đến kinh ngạc. Các kiểu tấn công như “dictionary attack”, “brute fore attack” và “hybrid attack” thường được sử dụng để đoán và bẻ khóa mật khẩu.

Phương thức bảo vệ duy nhất chống lại những “threat” như vậy là tạo ra các mật khẩu mạnh - “strong password” (độ dài của mật khẩu thường từ 8 ký tự trở lên, trong đó bao gồm cả chữ cái in thường/in hoa, chữ số, ký tự đặc biệt) và sử dụng thêm các yếu tố khác (vân tay, smart card, võng mạc mắt,…) cho việc chứng thực.

Nhưng ngay cả khi người ta có thể nhớ được các “strong password” (tất nhiên độ phức tạp của “password” này cần ở mức vừa phải) như dài từ 12 đến 16 ký tự, thì vẫn còn các vấn đề khác mà các hệ thống chứng thực chỉ dựa vào “password” phải đối mặt, bao gồm:

• Mọi người có thói quen sử dụng cùng một “password” cho nhiều tài khoản, đặc biệt là các tài khoản ở các Website kém bảo mật trên Internet.

• Mọi người thường ghi các “password” của họ xuống đâu đó (như mẩu giấy, tập tin trên máy tính…) và cất giấu chúng ở những nơi không an toàn (như ngăn kéo bàn, tập tin không được mã hóa (clear text)…). Lời khuyên trong trường hợp này là bạn nên định kỳ đổi các “password” của mình.

• Sử dụng các giao thức không an toàn kém an toàn (insecure protocol) như HTTP (web service), SMTP/POP3/IMAP (mail service), FTP (file transfer)… để truyền đi các “password” dưới dạng “clear text”.

• Các phần mềm ghi nhận lại các thao tác gõ phím (keylogger) cũng là một “threat” đáng lo ngại khi chúng sẽ âm thầm gửi các “password” thu thập được cho hacker.

• Kẻ xấu có thể nhìn trộm bạn gõ “password” từ đằng sau hoặc đặt camera giám sát việc sử dụng máy tính của bạn.

Các hành vi đánh cắp, bẻ khóa, đoán “password” thì vẫn còn là những “threat” đáng lo ngại đối với môi trường CNTT của bất kỳ tổ chức nào. Cách bảo vệ tốt nhất để chống lại những “threat” này là triển khai các hệ thống “multi-factor authentication” và chỉ dẫn người dùng hình thành thói quen quản lý mật khẩu sao cho an toàn.

2. Trojan Horse

Trojan horse (thường gọi tắt là trojan) là mối đe dọa tiếp theo cho bất cứ môi trường CNTT nào. Về cơ bản, trojan là một chương trình độc hại được bí mật cài vào máy tính của người dùng.

Chắc hẳn bạn cũng đã nghe qua về một số trojan nổi tiếng như Back Orifice, NetBus, SubSeven... Nhưng mối đe dọa thực sự của trojan lại nằm ở chỗ chúng có thể được xây dựng bởi bất kỳ ai với những kỹ năng cơ bản về máy tính.

Thường thì trojan được tạo nên bằng cách kết hợp “payload” (đoạn mã độc hại) với các phần mềm hợp pháp khác và có rất nhiều cách thức cũng như công cụ để làm điều này. Vì vậy, sự nguy hiểm từ những cuộc tấn công sử dụng trojan là không thể lường trước được.

Các mã độc có trong trojan có thể làm nhiều chuyện như: phá hủy dữ liệu, sửa đổi nội dung tập tin, ghi lại thao tác gõ phím, giám sát lưu lượng mạng, theo dõi hoạt động truy cập Web, sao chép e-mail và dữ liệu nhạy cảm rồi gửi về cho hacker, cho phép hacker truy cập và điều khiển máy tính của nạn nhân từ xa, sử dụng máy tính của nạn nhân để phát động các cuộc tấn công chống lại các mục tiêu khác, cài các chương trình “proxy server”,…

Các hacker có thể tải về các “payload” sẵn có từ Internet hoặc nếu có khả năng hacker có thể tự viết ra các “payload” riêng cho mình. Sau đó, “payload” này sẽ được nhúng (đính kèm/kết hợp) vào trong bất kỳ phần mềm hợp pháp nào (như anti-virus, media player, office suite, game, screen saver, admin utilities, và thậm chí là các loại tài liệu …) để tạo thành trojan.

Để tấn công sử dụng trojan được thành công thì yêu cầu duy nhất là người dùng thực thi thành công “host program” (chương trình được tạo nên bởi “payload” kết hợp với phần mềm hợp pháp). Một khi điều này được hoàn tất, “payload” cũng sẽ tự động được khởi chạy và thường người dùng khó mà nhận thấy được các biểu hiện bất thường của máy tính do hoạt động của trojan tạo ra.

Trojan có thể được cài lên máy tính của nạn nhân thông qua việc người dùng tải về các tập tin được đính kèm theo e-mail, các tập tin từ các Website, hoặc được chứa trong các thiết bị lưu trữ di động (thẻ nhớ, CD/DVD, ổ USB, ổ đĩa mềm….). Trong bất cứ trường hợp nào, bạn nên sử dụng các công cụ phòng chống mã độc (anti-malware) và hơn hết là giáo dục ý thức sử dụng máy tính và Internet của người dùng.

3. Khai thác các thiết lập mặc định

Việc hệ thống mục tiêu (target) sử dụng các cấu hình được thiết lập mặc định bởi nhà sản xuất thiết bị phần cứng/phần mềm làm cho việc tấn công vào “target” đó trở nên dễ dàng hơn bao giờ hết.

Nhiều công cụ tấn công và các mã khai thác giả định rằng “target” đang sử dụng các thiết lập mặc định (default setting). Vì vậy, một trong các phương án phòng ngừa hiệu quả và không thể bỏ qua là đơn giản thay đổi các “default setting” này.

Các rất nhiều dạng “default setting” như: username, password, access code, path name, folder name, component, service, configuration, setting… Nhiệm vụ của bạn là cần biết tất cả các “default setting” của các sản phẩm phần cứng/phần mềm mà bạn đã (hoặc sắp) triển khai và cố gắng thay đổi các “default” đó thành các thiết lập khác bí mật hơn.

Bạn có thể xem trong tài liệu đi kèm với sản phẩm/dịch vụ hoặc tìm kiếm trên Internet để biết được hệ thống của bạn có những “default setting” nào.


Về vấn đề này thì manthang xin lấy một ví dụ sau: “default setting” mà cho phép hacker có thể truy cập và quản lý thiết bị router (giả sử có tên model là ABC-123) của nạn nhân từ xa (có thể thông qua HTTP, Telnet, SSH…) là username/password mặc định của “tài khoản admin”.

Hacker có thể tìm kiếm trên Internet với từ khóa “default password + ABC-123” là có thể dễ dàng biết được thông tin “default” mà một số người dùng thường quên đổi đi này. 


Bạn nên cân nhắc việc điều chỉnh lại các lựa chọn “default” khi có thể. Cố gắng tránh cài đặt hệ điều hành lên các ổ đĩa và thư mục mặc định. Đừng cài đặt các ứng dụng, phần mềm tới các vị trí “chuẩn” của chúng. Đừng chấp nhận trên các thư mục được đưa ra bởi trình cài đặt. Bạn điều chỉnh càng nhiều các “default setting” thì hệ thống của bạn sẽ trở nên “khó tương thích” hơn với các công cụ mà mã khai thác của hacker (đồng nghĩa với việc hacker cần nhiều nỗ lực hơn để tấn công vào “target”).

4. Tấn công Man-in-the-Middle (MITM)

Nhiều người trong số chúng ta có thể đã là mục tiêu của các cuộc tấn công MITM. MITM xảy ra khi attacker bằng cách nào lừa gạt máy user thiết lập một kênh liên lạc với một máy server hoặc dịch vụ nào đó xuyên qua một “rogue entity”.

Ở đây, rogue entity chính là hệ thống do hacker điều khiển. Nó được dựng lên để chặn đứng việc liên lạc giữa user và server mà không để cho user nhận thấy được rằng tấn công đang diễn ra.

Bàn thêm


Trong tấn công kiểu MITM, hacker đảm nhận việc trung chuyển luồng thông tin giữa user và server. Và user vẫn truyền thông với server bình thường nhưng toàn bộ thông tin trao đổi qua lại đều bị máy hacker tóm được.

Để thực hiện thành công MITM thì hacker phải bằng cách nào đó đánh lừa được user chuyển hướng luồng thông tin tới rogue entity do hacker điều khiển. Ttức là thay vì gửi trực tiếp gói tin tới server thì user lại gửi tới rogue entity và sau đó rogue entity sao chép lại gói tin đó trước khi chuyển cho server.

MITM có thể đơn giản như kiểu tấn công “phishing e-mail” (sử dụng e-mail để lừa đảo) mà trong đó hacker gửi cho user một e-mail có chứa một URL dẫn tới rogue entity thay vì trang web thực sự mà user muốn tới. Rogue entity có giao diện trông giống như của trang web thực nhằm đánh lừa user cung cấp các thông tin đăng nhập (credential).

Sau đó, credential này được hacker sao chép lại trước khi chuyển cho website thực sự mà user cần liên lạc. Sau hành động đáng tiếc trên thì user vẫn kết nối thành công với website, nhưng không biết được truyền thông giữa họ và website đã bị hacker nghe trộm được và hacker có thể bóp méo nội dung của cuộc “nói chuyện” này (khiến cho user và website nhận về những thông tin sai lệch). 


MITM cũng có thể được thực hiện bằng cách sử dụng các phương thức phức tạp hơn như ARP poisoning, router table poisoning, DNS query poisoning, DNS hijacking, rogue DNS server, HOSTS file alteration, local DNS cache poisoning, proxy re-routing… Và những phương thức này không hề dính dáng đến vấn đề mã hóa hoặc các thủ thuật dùng để ẩn dấu đi các đường link độc hại (URL Obfuscation).

Để tự bảo vệ bản thân trước các cuộc tấn công kiểu MITM, bạn cần tránh nhấn vào các URL lạ có trong các e-mail. Bạn cũng nên luôn xác minh các URL đó trỏ tới các trang web có domain đáng tin cậy hoặc có sử dụng SSL certificate còn hiệu lực hay không. Ngoài ra, nếu có thể bạn nên triển khai các hệ thống H-IDS/N-IDS để giám sát các lưu lượng mạng cũng như những thay đổi trên hệ thống cục bộ của bạn (như HOSTS file, ARP cache, routing table, DNS cache…).

5. Tấn công các mạng không dây

Các mạng không dây (wireless network) hấp dẫn người dùng hơn mạng có dây (wired) ở tính tiện dụng và linh hoạt của nó. Ngoài ra, triển khai các mạng không dây thì khá rẻ và cũng dễ dàng cài đặt.

Nhưng bên cạnh những lợi ích đó thì mạng không dây cũng bộc lộ những nguy cơ mà làm tiêu tốn không ít thời gian, nỗ lực và chi phí để giữ an toàn cho chúng. Jamming (gây nhiễu tín hiệu), DoS, Hijacking, MiTM, Sniffing (nghe trộm),… và nhiều kiểu tấn công khác mà hacker có thể sử dụng để quậy phá các mạng không dây.

Đó là chưa kể tới các vấn đề về tốc độ, phạm vi phủ sóng bị hạn chế của từng chuẩn mạng không dây. Tuy nhiên, ngay cả khi tổ chức của bạn không chính thức chấp thuận việc triển khai một mạng không dây thì bạn vẫn còn một số vấn đề mà bạn cần quan tâm.

Ví dụ, nhiều tổ chức đã phát hiện ra rằng các nhân viên đã bí mật tự ý thiết lập mạng không dây của riêng họ bằng cách mang vào tổ chức thiết bị WAP (wireless access point), và cắm cáp mạng mà tổ chức cấp xuống cho các phòng ban vào WAP, sau đó họ kết nối laptop/desktop của mình tới WAP bằng cáp mạng hoặc sóng radio.

Điều này bổ sung thêm tùy chọn kết nối không dây, thông qua WAP, tới mạng nội bộ của tổ chức. Như thế, mức độ rủi ro mà tổ chức có thể phải gánh chịu do bị hacker tấn công (sử dụng các kỹ thuật ở trên) sẽ càng tăng cao khi các nhân viên này triển khai WAP với chuẩn bảo mật yếu (như WEP) hoặc thậm chí không hề sử dụng cơ chế bảo mật nào cho mạng không dây.

Vì vậy, một thiết bị WAP có giá 50 USD có thể dễ dàng tạo ra các rủi ro cho một mạng có dây trị giá hàng triệu đô la được bảo vệ kỹ càng.

Để ngăn chặn với các WAP không được phê duyệt để triển khai này, cần thực hiện một cuộc khảo sát định kỳ khu vực hoạt động của tổ chức bằng cách sử dụng các các công cụ giúp phát hiện các mạng không dây như NetStumbler hoặc với một thiết bị cầm tay chuyên dụng.

6. Do thám hệ thống mục tiêu

Các hacker, đặc biệt là các external hacker (kẻ tấn công không phải là người trong nội bộ tổ chức) biết cách làm sao để vượt qua các hàng rào an ninh bằng cách tìm kiếm, thu thập các thông tin về tổ chức và hệ thống CNTT của bạn. Quá trình này được gọi là reconnaissance (do thám), hoặc footprinting. Sau cùng, hacker tập trung vào nghiên cứu tất cả thông tin hiện có về tổ chức của bạn từ các nguồn được phát tán rộng rãi (public) và các tài nguyên lưu hành nội bộ (non-public).

Nếu có tìm hiểu về binh pháp, bạn sẽ ý thức được rằng vũ khí quan trọng nhất mà bạn có chính là thông tin. Hacker biết rõ điều này và dùng nhiều thì giờ và sức lực để có được “kho vũ khí” đầy đủ nhất. Trớ trêu thay là nhiều tổ chức vẫn còn để lộ và dâng nộp “vũ khí thông tin” của mình vào “kho đạn” của hacker.

Tình trạng rò rỉ và thất thoát dữ liệu đang diễn ra ở công ty, họ thoải mái cung cấp nhiều thông tin mà có thể được sử dụng trong nhiều kiểu tấn công vào hệ thống của họ. Dưới đây là một vài ví dụ về những thông tin về tổ chức của bạn mà hacker có thể biết được:

_ Việc đăng ký tên miền yêu cầu cung cấp địa chỉ, số điện thoại, email…. của chủ sở hữu tên miền đó.

_ Thông qua DNS lookup và traceroute sẽ biết được thông tin về ISP của bạn.

_Thông tin về các nhân viên như địa chỉ, số điện thoại, lịch sử công tác,…

_Các hệ điều hành, các chương trình quan trọng, các ngôn ngữ lập trình, các thiết bị mạng, những nền tảng và dịch vụ… mà tổ chức đang sử dụng.

_Các điểm yếu, điểm mạnh, lối vào, các đường truy cập bí mật… và nhiều thông tin quan trọng khác về hệ thống của bạn.

_ Sử dụng kỹ thuật Google hacking để tìm được các tài liệu mật được lưu trữ trên máy chủ Web của tổ chức.

v.v...

Như bạn thấy, có rất nhiều thông tin mà một hacker có thể có được từ các nguồn mở, công cộng và danh sách ở trên chưa thể liệt kê hết các thông tin này. Một hacker thường bỏ ra khoảng 90% thời gian cho các hoạt động thu thập thông tin vì càng hiểu rõ về mục tiêu thì khả năng tấn công thành công càng cao. 


--- Còn tiếp -----

No comments:

Post a Comment