CEH_Giới thiệu về Ethical Hacking
Tổng quan về Ethical Hacking
I.Tổng quan về An toàn thông tin
Như mọi người đã biết, trong doanh nghiệp thứ quan trọng nhất chính là thông tin dữ liệu. Thứ mà các hacker nhắm đến đó chính là dữ liệu. Ví dụ như ngân hàng thì sẽ lưu thông tin ngươi dùng, số thẻ tín dụng, mã PIN thẻ ATM, những thông tin này vô cùng quan trọng. Có một ví dụ điển hình là vào năm 2016, hacker đã lấy được 400.000 thông tin hành khách của hãng hàng không Bông Sen Vàng.
1.Cácthuật ngữ thiết yếu
Khi đến với CEH thì mới đầu ta cần tìm hiểu một vài khái niệm:
- Hack Value: Được hiểu là giá trị đạt được là gì sau khi lấy được từ hệ thống doanh nghiệp. Từ đầu thì hacker sẽ chọn đối tượng tiềm năng rồi nhắm vào đó để lấy thông tin.
- Vulnerbity: là các lỗ hỏng bảo mật trong hệ thống, lỗ hỏng cấu hình, lỗ hỏng do code. Hacker sẽ tiến hành dò quét.
- Exploit: Từ các lỗ hỏng hacker có thể tấn công vào hệ thống hoặc mạng để lấy các thông tin mà hacker muốn.
- Payload: Đây chính là phần mềm được hacker cài đặt lên máy người dùng để trở thành backdoor, máy bị nhiễm đó sẽ trở thành công cụ để hacker lấy cấp thông tin cũng như leo thang đặc quyền.
- Bot: Khi máy tính người dùng bị nhiễm Bot ( Bot này sẽ là object bị nhúng vào các file tải, phần mềm cài đặt,…) người dùng vô tình cài đặt Bot lên chính máy tính. Như vậy máy nhiễm Bot sẽ gửi thông tin về máy chủ. Ta gọi đó là cơ chế C&C. Hacker sẽ thực hiện thao tác từ xa đối với máy nhiễm Bot và thực hiện các hành vi khác như là leo thang đặc quyền.
- Zero– day Attack: Ở đây lấy ví dụ sẽ hiểu hơn, một trang web sau khi debug thì sẽ có một số lỗ hổng hay trong code thì người lập trình còn gọi là “bug” mà cái bug này ngay chính người lập trình họ còn không nhận thấy. Nhưng hacker họ dùng kĩ thuật để dò quét ra các bug đó. Lợi dụng những lỗ hổng đó tấn công vào trang web. Mà cái hacker nhấm đến đó chính là Database ở Back-end.
- Daisy Chaining: Nó liên quan đến việc đạt được quyền truy cập vào một mạng và / hoặc máy tính, sau đó sử dụng cùng một thông tin để truy cập vào nhiều mạng và máy tính có chứa thông tin mong muốn.
- Doxing: Doxing là hành động thu thập thông tin và đăng tải các thông tin đó ở một số trang rao bán thông tin cá nhân. Các thông tin đó gồm có tên, địa chỉ mail, các thông tin nhạy camr khác. Nhóm đối tượng này thu thập những thông tin ở các trang mạng xã hội, trên Internet,…
2. Các thành phần của An toàn thông tin
Đây là các thành phần quan trọng cần có của An toàn thông tin:
- Confidentiality: Một tài liệu đã được định nghĩa là mật thì phải được người chủ sở hữu cấp quyền thì mới có quyền truy cập.
- Integrity: Tính toàn vẹn thông tin, ví dụ như dữ liệu mã hóa trên đường truyền, nhưng đến tay người nhận thì cần phải toàn vẹn thông tin. Ở đây, mình cũng có một ví dụ cho tính toàn vẹn này. Số tiền trong ngân hàng của bạn là 10 triệu thì không thể nào thành 100 triệu được.
- Availability: Tính sẵn sàng là sự đảm bảo rằng các hệ thống chịu trách nhiệm cung cấp, lưu trữ và xử lý thông tin có thể truy cập được khi người dùng có thẩm quyền yêu cầu. Các biện pháp để duy trì tính khả dụng của dữ liệu có thể bao gồm mảng đĩa dự phòng của hệ thống và các máy được phân nhóm, phần mềm chống vi-rút để ngăn phần mềm độc hại phá hủy mạng và hệ thống ngăn chặn từ chối dịch vụ (DDoS) phân tán.
- Authenticity: Tính xác thực đề cập đến đặc tính của thông tin liên lạc, tài liệu hoặc bất kỳ dữ liệu nào đảm bảo chất lượng là chính hãng hoặc không bị gián đoạn. Vai trò chính của xác thực là xác nhận rằng người dùng là chính hãng, người mà anh ta / cô ta tuyên bố là. Các biện pháp kiểm soát như sinh trắc học, thẻ thông minh và chứng chỉ kỹ thuật số đảm bảo tính xác thực của dữ liệu, giao dịch, thông tin liên lạc hoặc tài liệu.
- Lấy một ví dụ đơn giản về mã PIN thẻ ATM, chỉ có người chủ sỡ hữu phải nhập đúng mã PIN thì mới có thể rút được tiền.
- Non – Reupudiation: là khi người gửi mail đến cho một người nhưng có kèm theo chữ kí số (digital signature) thì người nhận không thể chối bỏ là chưa nhận mail hay không nhận mail. Vì chữ kí số này chỉ có một – duy nhất.
3. Sự cân bằng của Security, Functionality, Usability
Càng bảo mật thì càng khó sử dụng, ít chức năng. Nên cần phải cân bằng cả ba yếu tố này.
Lấy ví dụ về một giải pháp bảo mật sẽ dễ hiểu về làm cách nào để có thể cân bằng cả ba thứ: Bảo mật, Chức năng và Dễ sử dụng.
Ví dụ cái gì càng bảo mật thì nó càng khó cho người dùng cuối. Người dùng cuối họ cần cái gì đó đơn giản, dễ sử dụng. Nếu như càng bảo mật càng nhiều thì càng khó cho người dùng cuối. Các hãng bảo mật luôn hướng đến giải pháp làm sao để có thể cân bằng ba trạng thái đó.
II.Các mối nguy An toàn thông tin và Attack Vector
1.Các loại mối nguy – Threats
- Có các loại mối nguy như là Network Threats, Host Threats và Applicaion Threats.
2. Attack Vector
- Về Attack Vector sẽ có các mối nguy là Worm, Virus, Botnet,…
- Tấn công được định nghĩa gồm Mục tiêu nhấm đến, Phương thức tấn công và Lỗ hỏng bảo mật.
Các thành phần của Attack Vector:
- Cloud Computing Threat: Các ứng dụng trên Cloud thì sẽ có là AWS, Aruze, Google Cloud,… Điện toán đám mây là sự phân phối theo yêu cầu các khả năng CNTT trong đó cơ sở hạ tầng và ứng dụng CNTT được cung cấp cho người đăng ký dưới dạng dịch vụ được đo lường qua mạng. Khách hàng có thể lưu trữ thông tin nhạy cảm trên đám mây. Lỗi trong đám mây ứng dụng của một khách hàng có thể cho phép những kẻ tấn công truy cập vào dữ liệu của một khách hàng khác.
- Advanced Persistent Threat (APT): APT là cuộc tấn công tập trung vào việc đánh cắp thông tin từ máy nạn nhân mà người dùng của nó không hề hay biết. Các cuộc tấn công này thường nhắm vào các công ty lớn và mạng chính phủ. Các cuộc tấn công APT có bản chất chậm nên ảnh hưởng đến hiệu suất máy tính và kết nối Internet là không đáng kể. Các APT khai thác các lỗ hổng trong các ứng dụng chạy trên máy tính, hệ điều hành và hệ thống nhúng.
- Virus và Worm: Mới đầu tìm hiểu về khái niệm virus và worm, ta có cảm giác là hai loại này nó giống nhau, nhưng tại sao tên gọi lại khác nhau. Tìm hiểu được thì virus là phần mềm độc chỉ thực hiện hành vi khi người dùng thực hiện thao tác nào đó VD như chạy thực thi. Còn worm thực hiện hành vi ngay cả khi người dùng không thực hiện bất kì thao tác nào.
- Ransomware: là một loại phần mềm độc hại, hạn chế quyền truy cập vào các tệp và thư mục của hệ thống máy tính và yêu cầu thanh toán tiền chuộc trực tuyến cho (các) tác giả phần mềm độc hại để xóa các hạn chế. Nó thường lây lan qua các tệp đính kèm độc hại cho các thư email, ứng dụng phần mềm bị nhiễm, đĩa bị nhiễm hoặc các trang web bị xâm nhập. Ví dụ như WannaCry là một loại Ransomware.
- Mobile Threat – Các mối đe dọa từ thiết bị di động: Những kẻ tấn công đang ngày càng tập trung vào các thiết bị di động, do việc sử dụng điện thoại thông minh cho mục đích kinh doanh và cá nhân ngày càng nhiều và các biện pháp kiểm soát bảo mật tương đối ít hơn.Người dùng có thể tải các ứng dụng phần mềm độc hại (APK) xuống điện thoại thông minh của họ, điều này có thể làm hỏng các ứng dụng và dữ liệu khác cũng như truyền tải thông tin nhạy cảm cho những kẻ tấn công. Những kẻ tấn công có thể truy cập từ xa máy ảnh và ứng dụng ghi âm của điện thoại thông minh để xem các hoạt động của người dùng và theo dõi liên lạc bằng giọng nói, điều này có thể hỗ trợ chúng trong một cuộc tấn công.
- Botnet: Nhiều máy nhiễm Bot tạo nên mạng Botnet. Khái niệm về máy nhiễm BOT đã được trình bày ở trên.
- Insider Attack: Là giặc ngoài còn chống được, chứ giặc trong thì khó lường. Nghĩa là hacker từ bên ngoài tấn công vào hệ thống thì ta còn có nhiều lớp phòng thủ để chống lại. Nhưng hacker chính là người bên trong tổ chức, muốn phá hoại thì khó. Còn có thể hiểu là attack chiếm đc quyền máy internal rồi tìm cách tấn công theo thang đặc quyền.
- Phishing: Hacker thiết kế sẵn một giao diện giả mạo giống như thật ví dụ như là trang web đăng nhập của ngân hàng. Sau đó tiến hành gửi một tin lừa đảo như là gửi qua mail, sms, intance meseages với nội dung tương tự như là Ngân hàng ABCxyz tiến hành cập nhật thông tin. Sẽ có một số nạn nhân click vào sau đó cung cấp các thông tin cá nhân, số thẻ tín dụng, tên đăng nhập, mật khẩu. Từ đó hacker lấy được thông tin đáng giá của các nạn nhân.
- Web Application Threat: Tấn công ứng dụng Web như SQL injection, cross-site scripting đã làm cho các ứng dụng web một mục tiêu thuận lợi cho những kẻ tấn công để ăn cắp thông tin, thiết lập trang web, hoặc thông tin cá nhân Acquire lừa đảo. Đa số các cuộc tấn công như vậy là kết quả của sai lầm mã hóa và làm không đúng cách dữ liệu đầu vào và đầu ra từ các ứng dụng web. Tấn công ứng dụng Web có thể đe dọa đến hiệu suất của trang web và cản trở an ninh của nó.
- IoT Threat: Các mối nguy đến từ các thiết bị IoT. Các thiết bị này bao gồm nhiều ứng dụng phần mềm được sử dụng để truy cập vào thiết bị từ xa. Do những hạn chế phần cứng như bộ nhớ, pin, vv các ứng dụng này rất nhiều không bao gồm cơ chế bảo mật phức tạp để bảo vệ các thiết bị từ các cuộc tấn công. Những nhược điểm làm cho các thiết bị nhiều dễ bị tấn công vào lỗ hỏng hơn và cho phép kẻ tấn công truy cập thiết bị từ xa và thực hiện các cuộc tấn công khác nhau.
3. Các thể loại mối nguy an toàn thông tin
Gồm có ba loại chính: Network Threat, Host Threat, Application Threat.
Network Threat: Network làtập hợp các máy tính và các phần cứng khác nối với nhau bằng các kênh thông tin liên lạc để chia sẻ tài nguyên và thông tin. Như thông tin đi từ hệ thống này sang hệ thống khác thông qua các kênh truyền thông, một người dùng độc hại có thể đột nhập vào các kênh thông tin liên lạc và ăn cắp các thông tin vận chuyển qua mạng.
Một số kiểu tấn công về Network Threat:
- Thu thập thông tin
- Sniffing và Eavesdropping
- Spoofing
- Session Hijacking
- Man in the middle
- DNS và ARP Poisoning
- DDoS
- Tấn công Password
- Firewall và tấn công IDS
- Tấn công Compromised-key
Host Threat: Mục tiêu của Host Threat là một phần của hệ thống, trong đó có chưa thông tin quan trọng. Kẻ tấn công cố gắng tấn công để lấy được thông tin đó.
Một số kiểu tấn công Host Threat:
- Tấn công Malware
- Footprinting
- Tấn công Password
- Truy cập không được cấp quyền
- Tấn công vật lý
- Tấn công Backdoor
- DDoS
- Leo thang đặc quyền
- Thực thi mã tùy ý
Application Threat: Ứng dụng có thể dễ bị tấn công nếu các biện pháp bảo mật thích hợp không được thực
hiện trong khi đang phát triển, triển khai và duy trì chúng. Những kẻ tấn công khai thác lỗ hổng xuất hiện trong một ứng dụng để ăn cắp hoặc phá hủy dữ liệu.
Một số kiểu tấn công về Application Threat:
- Phishing
- SQL injection
- Buffer Overflow
- Lỗi cấu hình bảo mật
- Tấn công xác thực
- Xác thực dữ liệu / đầu vào không đúng
- Các cuộc tấn công xác thực và ủy quyền
- Định cấu hình sai bảo mật
- Xử lý lỗi và quản lý ngoại lệ không đúng cách
- Thông tin bị tiết lộ
- v.v…
4. Các kiểu tấn công vào hệ thống
- Operating System Attack: Nhiều hệ thống được cài đặt và cấu hình mặc định, nghĩa là không có sự thay đổi hay tùy biến để nâng cao tính an toàn. Ngoài ra, những máy tính không được cập nhật các bản vá hay cài đặt các chương trình sữa lỗi bảo mật cũng là mồi ngon của các kẻ tấn công.
- Misconfiguration Attack: Việc cấu hình sai là một trong những nguyên nhân chính khiến hệ thống bị tấn công, ví dụ các lỗi liên quan đến việc gán quyền không chặt chẽ có thể cho phép hacker hay người dùng bất kì sao chép và chạy những chương trình trái phép.
- Application Level Attack: Mỗi máy tính có nhiều ứng dụng được cài đặt, nếu những chương trình này có lổ hỗng bảo mật cũng có thể bị hacker tấn công chiếm quyền điều khiển từ xa.
- Shrink- Wrap Code Attack: Đây là các thành phần mở rộng của ứng dụng mà nhiều người dùng không hề hay biết, nhưng hacker sẽ biết rất rõ các thành phần này ví dụ như chức năng macro trong ứng dụng MS Word cho phép các hacker chạy những chương trình độc hại trong ứng dụng xử lý văn bản này. Hay các lỗi Active X cho phép hacker chạy lệnh từ xa thông qua trình duyệt của nạn nhân
4. Các ví dụ về Application-level Attack
- Session Hijacking: Những kẻ tấn công có thể khai thác thông tin phiên trong các ứng dụng dễ bị tấn công để thực hiện chiếm quyền điều khiển phiên nếu mã thực hiện một cookie ít xác thực hơn. Khi mục tiêu cố gắng duyệt qua một URL, phiên hoặc mã thông báo xác thực sẽ xuất hiện trong URL yêu cầu thay vì cookie an toàn, để cấp quyền truy cập vào URL mà mục tiêu yêu cầu. Tại đây, kẻ tấn công sử dụng các kỹ năng và công cụ giám sát của mình có thể chiếm quyền điều khiển phiên của mục tiêu và đánh cắp tất cả thông tin nhạy cảm.
- Vunerable Code: Dưới đây là đoạn mã dễ bị tấn công, cho phép kẻ tấn công thực hiện chiếm quyền điều khiển phiên bằng cách khai thác lỗ hổng có ở dòng 4.
- Secure Code: Sử dụng “UseCookies” thay vì “UseUri” ở dòng 4 trong đoạn mã trên để bảo vệ nó khỏi các cuộc tấn công chiếm quyền điều khiển phiên.
- Denial of Service: Ta thường gọi đó là Dos – Từ chối dịch vụ là một cuộc tấn công vào một máy tính hoặc mạng làm giảm, hạn chế hoặc ngăn chặn việc sử dụng hợp pháp các tài nguyên của nó. Trong một cuộc tấn công DoS, những kẻ tấn công tràn ngập hệ thống nạn nhân với các yêu cầu dịch vụ không hợp pháp hoặc lưu lượng truy cập làm quá tải tài nguyên của nó.
- Vulnerable Code: Dưới đây là đoạn mã dễ bị tấn công cho phép kẻ tấn công thực hiện tấn công từ chối dịch vụ, vì nó không giải phóng được tài nguyên kết nối.
- Secure Code: Ta có thể sử dụng lệnh “Finally” để chặn việc bảo vệ code khỏi sự bảo mật.
6.Information Warfare
Nguồn: http://www.iwark.org.uk
Command and Control Warfare (C2 Warfare):
III – Hacking Concept
1. Khái niệm Hacking
- Hacking là hành động cố tấn công vào lỗ hỏng hệ thống, cố lấy được thông tin. Còn Ethical Hacking là hành động tấn công nhưng với mục đích tốt, giúp tìm ra được lỗ hỏng bảo mật sau đó cố gắng vá lỗ hỏng đó lại. Dưới đây là thông tin chi tiết:
Hacking | Ethical Hacking |
Cố tấn công vào lỗ hổng bảo mật của hệ thống hoặc phần mềm. | Sử dụng các công cụ và kĩ thuật để dò quét ra lỗ hỏng bảo mật từ đó đưa ra các báo cáo, phân tích. |
Kiểm soát được hệ thống bảo mật | Báo cáo lỗ hổng bảo mật đang tồn tại trong hệ thống. |
Tạo ra các hành vi ngoài ý định ban đầu của hệ thống / phần mềm. |
2. Khái niệm về Hacker
- Hacker là một người cố tình truy cập vào hệ thống mạng mà không được cấp phép, sau đó thực hiện các hành vi như là đánh cấp dữ liệu, phá hoại hệ thống, …
3. Phân loại Hacker
Có các loại hacker sau:
- Black Hat: là cá nhân sử dụng kỹ năng tính toán phi thường của họ cho các mục đích bất hợp pháp hoặc độc hại. Thể loại này của hacker thường liên quan với hoạt động tội phạm. Họ cũng được biết đến như kẻ bẻ khóa.
- Gray Hat: những cá nhân làm việc cả tấn công và phòng thủ tại những thời điểm khác nhau. mũ xám rơi giữa mũ trắng và đen. mũ xám có thể giúp hacker trong việc tìm kiếm các lỗ hổng khác nhau của một hệ thống hoặc mạng và tại các nhà cung cấp thời gian giúp đỡ tương tự để cải tiến sản phẩm (phần mềm hoặc phần cứng) bằng cách kiểm tra giới hạn và làm cho chúng an toàn hơn.
- White Hat: White hat hoặc penetration tester là cá nhân sử dụng kỹ năng hack của họ cho mục đích phòng thủ. Những ngày này, hầu hết các tổ chức có các nhà phân tích an ninh người có kiến thức về biện pháp đối phó hacker, những người có thể bảo mật hệ thống mạng và thông tin của mình chống lại các cuộc tấn công độc hại. Họ có sự cho phép của chủ sở hữu của hệ thống.
- Suicide Hacker: là những cá nhân nhằm mục đích đánh sập cơ sở hạ tầng quan trọng đối với một “nguyên nhân” và không lo lắng về đối mặt với án tù hay bất kỳ loại khác của sự trừng phạt. Suicide hacker cũng tương tự như máy bay ném bom tự sát, người hy sinh cuộc sống của họ cho một cuộc tấn công và do đó không quan tâm đến những hậu quả của hành động của họ.
- Hacktivist: khi hacker đột nhập vào hệ thống của chính phủ hoặc máy tính của công ty như một hành động phản động. Hacktivists sử dụng hack để nâng cao nhận thức của chương trình nghị sự xã hội hay chính trị của họ, cũng như bản thân, ở cả đấu trường trực tuyến và ngoại tuyến. Họ là những người thúc đẩy một chương trình nghị sự chính trị bằng cách hack, đặc biệt là làm xấu hoặc vô hiệu hóa các trang web. Mục tiêu hacktivist thường gặp bao gồm các cơ quan chính phủ, các tập đoàn đa quốc gia, hoặc bất kỳ tổ chức nào khác mà họ cảm nhận như một mối đe dọa. Nó vẫn là một thực tế, tuy nhiên, việc tiếp cận trái phép là một tội ác, không phân biệt mục đích của họ.
- Script Kiddies: là hacker không có tay nghề chỉ dùng các các script chạy, công cụ và phần mềm được phát triển bởi các hacker thực sự. Họ thường tập trung vào số lượng các cuộc tấn công chứ không phải là chất lượng của các cuộc tấn công mà họ bắt đầu.
4. Hacking Phase
- Phase 1 – Reconnaissance: Thu thập thông tin, có 2 loại thu thập:
Passive reconnaissance – Thu thập không chủ địch: Không có đối tượng nào nhắm sẵn.
Acvtive reconnaissance – Thu thập có chủ đích: là quá trình thu thập thông tin của mục tiêu theo hình thức chủ động, lúc này hacker sẽ tác động trực tiếp lên đối tượng để ghi nhận các dữ liệu phản hồi. Một ví dụ là khi kẻ tấn công tiến hành dò quét mạng để xác định các máy đang hoạt động hay những dịch vụ đang chạy trên một hệ thống nào đó thông qua các công cụ như Nessus, Supperscan. Vì mang tính chất chủ động nên kết quả thu thập được sẽ nhanh chóng và khả quan hơn so với passive reconnaissance nhưng acvtive reconnaissance dễ bị phát hiện, dò tìm hơn.
- Phase 2 – Scanning
Sử dụng công cụ có sẵn để scan các thiết bị nhằm nắm được thông tin: Live host, Open port, chi tiết hệ thống vận hành.
Scanning là quá trình thuộc giai đoạn thu thập thông tin reconnaissance . Các hacker tiến hành scanning bằng các chương trình quét lỗi hệ thống, quét địa chỉ IP hay các cổng đang mở bằng ứng dụng Nmap, là Acunetix Web Vulnerability Scanner, hay Angry Ip Scan.
- Phase 3 – Gaining Acess
Tấn công vào lỗ hỏng của hệ thống để có quyền truy cập hệ thống. Lúc này hacker sẽ xâm nhập vào hệ thống và tiến hành các hành động đánh cắp tập tin mật khẩu hay phá hủy dữ liệu, chạy những chương trình nguy hiểm, leo thang đặc quyền để có thể truy cập vào các khu vực thông tin bí mật. Muốn thâm nhập thành công hacker cần sử dụng thông tin mà tiến trình reconnaissance và scanning thu thập được, dựa trên các thông tin này hacker sẽ xác định phương án tấn công hợp lý như sử dụng mã khai thác lỗi tràn bộ đệm (buffer overflow), hay chiếm quyền sử dụng của phiên làm việc của người dùng (session hijacking)
Leo thang đặc quyền cho các truy cập trái phép khác.
- Phase 4 – Maintaining Access
Một khi đa xâm nhập hệ thống thành công hacker thường cài đặt chương trình gián điệp để có thể duy tri sự kiểm soát, nghe lén thông tin người dùng nhập vào từ bàn phím hay mở các backdoor để có thể quay lại vào các lần sau. Công đoạn này được gọi làmaintaining access. Những mã độc nguy hiểm các hacker dùng để cấp vào máy tính bị tấn công được gọi là trojan hay backdoor.
- Phase 5 – Clearing Track
Clear track là hành động xóa dấu vết của các hacker để tránh bị phát hiện. Các hành động này có thể là xóa tập tin nhật kí của ứng dụng hay hệ thống, xóa các chương trình đã được cài đặt, ẩn các tiến trình nguy hiểm.
Nội dung về chương này vẫn còn tiếp, mong các bạn đọc giả đón đọc. Cảm ơn các bạn rất nhiều.