Category Archives: Security Research

Thêm một kỹ thuật được các trang Phishing sử dụng để che giấu tên miền

Đây là 1 trang giả mạo giao diện ngân hàng Chase, trong chiến dịch lừa đảo phát động từ ngày 9/7/2015.
1
Điều đáng chú ý ở đây là các bạn hãy nhìn lên thanh địa chỉ trên trình duyệt.
Nó không ghi bất kỳ thứ gì liên quan tới địa chỉ của website, mà là một đoạn mã bắt đầu bởi: data:text/html;base64 sau đó sẽ là 1 chuỗi văn bản đã được mã hoá bằng base64. Chiêu này sẽ che mắt nạn nhân bởi nếu có để ý họ cũng không hiểu đây là gì và nghĩ rằng vẫn đang ở website chính hãng.
Bây giờ chúng ta sẽ tìm hiểu xem về kỹ thuật tại sao kẻ xấu có thể thực hiện được điều đó.
Đường dẫn thật sự của website mạo danh là: hxxp://noithatngoclam.com/wp-includes/applicateding.php, khi người dùng bị lừa bấm vào đường dẫn, trình duyệt sẽ trả về đoạn mã như sau
2
Chúng ta lưu ý sự xuất hiện của thẻ
 <meta HTTP-EQUIV=”REFRESH” content=”0; url=data:text/html;base64,[đoạn dữ liệu được mã hoá base64]>.
Khi được nhúng vào trang web, thẻ này sẽ yêu cầu trình duyệt ngay lập tức refresh trang hiện tại và sau đó tải dữ liệu được chỉ định ở ngay phần đoạn mã base64 đi kèm.
Lợi dụng đặc điểm này, kẻ tấn công đã tạo ra được 1 chiến dịch lừa đảo khéo léo che đi URL của website giả mạo, giúp cho chiến dịch lừa đảo có thể dễ dàng thành công hơn.
Như vậy phần dữ liệu được mã hoá base64 đó chính là nội dung mạo danh trang web của Chase, và ăn cắp mật khẩu của người dùng khi họ thao tác tại trang giả mạo này.
3

An ninh mạng thế giới: nhìn lại 2014 và dự đoán 2015

Phần 1: Nhìn lại 2014

Có quá nhiều sự kiện liên quan tới bảo mật trong năm 2014. Cho đến tận những ngày cuối năm, câu chuyện Sony bị tấn công và lấy cắp nhiều dữ liệu bí mật của công ty vẫn còn được cả thế giới nhắc đến. Hãy cùng điểm qua những điểm nhấn về an ninh mạng trong năm 2014.

Dữ liệu, dữ liệu và dữ liệu

Điểm nhấn đầu tiên của năm 2014, đó chính là các vụ tấn công đánh cắp hoặc phá huỷ dữ liệu xảy ra dồn dập. Hầu hết các vụ đình đám đều được nhắc với những dấu ấn “lớn nhất” hoặc “lần đầu tiên trong lịch sử”. Ví dụ như eBay, hãng thương mại điện tử hàng đầu thế giới bị đánh cắp 145 triệu thông tin người sử dụng hồi tháng 5. Hay như vụ tấn công tồi tệ nhất trong lịch sử các ngân hàng khiến hơn 80 triệu dữ liệu tài khoản khách hàng của JPMorgan bị lộ. Rồi các hãng bán lẻ như Home Depot bị mất 53 triệu thông tin thẻ tín dụng của khách hàng hay hơn 70 triệu thông tin của Target rơi vào tay kẻ xấu.

Chưa hết, vụ tấn công lấy cắp dữ liệu của Sony vào cuối năm 2014 có thể nói là một trong những vụ tấn công “khủng khiếp” xảy ra đối với các doanh nghiệp. Cuộc tấn công ngay lập tức khiến cổ phiếu của Sony lao xuống thẳng đứng và còn khiến cho bộ phim Interview trở thành bộ phim lần đầu tiên trong lịch sử bị hoãn chiếu với lý do bị hack. Tại Việt Nam, vụ tấn công vào VC Corp cũng có thể nói là vụ tấn công nhắm vào dữ liệu lớn nhất từ trước đến nay. Gây ảnh hưởng tới hoạt động của nhiều dịch vụ và được ước tính thiệt hại lên tới hàng chục tỷ VNĐ.

Đặc điểm chung của hầu hết các vụ tấn công trên đó là, hacker tìm cách cài đặt được phần mềm gián điệp đặc chủng vào một số máy tính bên trong hệ thống mạng của mục tiêu. Từ đó làm bàn đạp để tấn công vào các nguồn dữ liệu nhạy cảm. Việc tấn công tinh vi vào điểm yếu nhất trong hệ thống, đó là con người khiến cho chúng ta có cảm giác bất kỳ công ty nào giờ đây cũng có thể bị rò rỉ dữ liệu mà không có giải pháp nào để ngăn chặn.

Lỗ hổng, lỗ hổng và lỗ hổng

Nhiều lỗ hổng nguy hiểm có mức độ ảnh hưởng rộng đã bị khai thác trong năm 2014. Đặc biệt là những lỗ hổng của các giao thức quan trọng hoặc các thư viện nguồn mở được sử dụng rộng rãi trong nhiều phần mềm khác nhau.

Ồn ào nhất có lẽ là “Trái tim rỉ máu” Heartbleed, một lỗ hổng nguy hiểm của thư viện mã hoá OpenSSL. Ứng dụng của OpenSSL rất rộng bao gồm các máy chủ web chạy Apache hoặc Ngix, các máy chủ email, máy chủ VPN, Instant Message… Khai thác lỗ hổng, hacker có thể lấy được private key của server, sử dụng để mã hóa các dữ liệu trao đổi giữa server và client. Từ đó hacker có thể đọc được toàn bộ thông tin được trao đổi giữa client và server như chưa hề được mã hóa. Dễ hiểu hơn là hacker có thể đọc được username/password, nội dung email, chat vv.

Tiếp theo có thể kể đến là lỗ hổng Shellshock. Shellshock gây nguy hiểm cho các hệ thống máy chủ, thiết bị mạng trên nền Unix và nguy cơ khai thác rộng. Shellshock đe dọa hạ tầng mạng doanh nghiệp, chủ yếu là máy chủ web hơn là đối tượng người dùng phổ thông với máy tính cá nhân. Khi khai thác thành công sẽ có mức độ nguy hiểm cao, cho phép hacker từ xa điều khiển được máy chủ, thiết bị mục tiêu.

Lỗ hổng có tên POODLE được công bố vào tháng 10 có lẽ đã đặt dấu chấm hết việc sử dụng SSL 3.0 (Secure Socket Layer) để mã hoá các giao dịch trên mạng. Lỗ hổng cho phép hacker có thể khai thác điểm yếu của SSL 3.0 để giải mã các thông tin nhạy cảm, khiến cho các tài khoản của người sử dụng trong nhiều dịch vụ có thể bị đánh cắp. Mọi hệ thống được khuyến cáo từ bỏ SSL vốn được biết đến là không đủ an toàn để chuyển sang sử dụng TLS (Transport Layer Security). Tuy nhiên, mọi chuyện chưa kết thúc khi trong tháng cuối năm 2014, người ta lại tiếp tục công bố POODLE cũng ảnh hưởng tới TLS khiến cho hàng loạt các ngân hàng và hãng lớn phải cấp nhật ngay lập tức bản vá cho TLS.

Tại Việt Nam, các quản trị hệ thống đặc biệt là các tổ chức tài chính, ngân hàng đã có một năm vất vả để cập nhật bản vá cho nhiều lỗ hổng trên các hệ thống giao dịch của mình.

Quyền riêng tư của người sử dụng

Một trong những điểm nhấn về an ninh mạng của năm 2014 đó là vấn đề quyền riêng tư bị xâm phạm. Ngày càng có nhiều cáo buộc các hãng điện thoại, các nhà cung cấp dịch vụ hay ứng dụng tìm cách thu thập các thông tin riêng tư của người sử dụng một cách âm thầm. Điển hình là vụ việc các chuyên gia của F-Secure công bố phát hiện hãng điện thoại Xiaomi thu thập thông tin cá nhân của người sử dụng. Sau đó, phó chủ tịch của Xiaomi là Hugo Barra cũng đã phải lên tiếng xin lỗi về hành vi này. Sự việc trên cũng khiến cho nhiều hãng điện thoại bị yêu cầu kiểm tra, thậm chí có nhiều quốc gia cáo buộc thêm cả Apple, Samsung.. cũng nằm trong diện phải điều chỉnh để phù hợp với luật riêng tư của quốc gia đó.

Ứng dụng Uber trên Android cũng gặp phải cáo buộc tương tự. Các nhà nghiên cứu cũng tìm ra một số dấu hiệu thu thập thông tin của người dùng khiến cho hãng này bắt buộc phải cập nhật phiên bản mới và thay đổi chính sách bảo mật để người dùng tin tưởng hơn.

Tại Việt Nam, vụ việc hơn 14 nghìn điện thoại đã bị cài đặt phần mềm PTracker để nghe lén nội dung tin nhắn, cuộc gọi, địa điểm… cũng là một vụ việc điển hình vì cho sự xâm phạm quyền riêng tư.

Phát hiện nhiều loại mã độc nguy hiểm

Screen Shot 2015-01-08 at 3.39.44 PM

Theo AV-Test, có đến hơn 140 triệu loại mã độc mới xuất hiện trong năm 2014, nhiều hơn hẳn so với các năm trước. Bên cạnh sự vượt trội về số lượng, chúng ta cũng có thể thấy 2014 xuất hiện nhiều mã độc có đặc điểm khác biệt so với các mã độc khác.

Tháng 11, hãng an ninh Kaspersky phát hiện một loại mã độc được đặt tên là DarkHotel. Điểm khác biệt của DarkHotel đó là nó lây lan trong hệ thống mạng wifi của các khách sạn cao cấp. Mục tiêu của nó chính là đánh cắp dữ liệu của các “VIP” các CEO, các chủ tịch hay các lãnh đạo cấp cao của nhiều tập đoàn. Không phải cứ khách hàng nào kết nối máy tính với khách sạn đang trong tầm ngắm đều bị lây nhiễm. Mà kẻ đứng đằng sau DarkHotel nhằm vào từng đối tượng nạn nhân cụ thể. Theo báo cáo thì có khoảng 90% lây nhiễm mã độc DarkHotel được phát hiện ở Nhật Bản, Đài Loan, Trung Quốc, Nga và Hàn Quốc.

Nếu như DarkHotel khác biệt bởi môi trường tấn công của nó thì Regin, một siêu gián điệp được công bố cũng trong tháng 11 nổi bật ở độ phức tạp của nó. Người ta so sánh độ phức tạp của Regin với Stuxnet, sâu đã tấn công vào các nhà máy hạt nhân xuất hiện năm 2010. Đặc điểm nổi bật tạo nên sự khác biệt của Regin đó là nó có module để có thể thu thập thông tin trong mạng GSM. Chính vì vậy mục tiêu của nó có thể là các hạ tầng mạng của các nhà cung cấp dịch vụ viễn thông. Dấu vết của Regin được tìm thấy tại nhiều quốc gia trên thế giới: Nga, A rập Xê út, Bỉ, Đức, Iran, Ấn Độ…

Phần 2: 8 dự đoán về an ninh mạng năm 2015

  1. Tiếp tục xuất hiện các phần mềm gián điệp tinh vi nhắm vào hạ tầng trọng yếu của các quốc gia để đánh cắp và phá huỷ.
  2. Mã độc trên di động tiếp tục tăng nhanh và sẽ xuất hiện nhiều biến thể phần mềm mã hoá tống tiền (ransomware) trên di động
  3. Quyền riêng tư của người sử dụng tiếp tục là vấn đề nóng đặc biệt là trên các hãng sản xuất thiết bị di động hoặc các ứng dụng di động.
  4. Có thể xuất hiện nhiều vụ lọ lọt dữ liệu của người sử dụng tương tự như vụ các diễn viên nổi tiếng bị lộ ảnh nóng trên iCloud. Các dịch vụ lưu trữ dữ liệu đám mây gặp phải sự nghi ngại của người sử dụng do vấn đề đảm bảo an toàn.
  5. Mạng xã hội như Facebook sẽ trở thành con đường chủ yếu để những kẻ lừa đảo hoạt động.
  6. Các cuộc tấn công mạng mang màu sắc chính trị gia tăng giữa nhóm hacker của các quốc gia.
  7. Hacker tiếp tục nhắm vào các giao thức mạng hoặc thư viện quan trọng với hy vọng tìm ra những lỗ hổng tương tự Heartbleed hay Shellshock.
  8. Doanh nghiệp đối đầu với các cuộc tấn công đánh cắp dữ liệu ngày càng tinh vi. Đặc biệt là các tổ chức tài chính và cung cấp dịch vụ internet.

 

Tài liệu tham khảo:

1. http://en.wikipedia.org/wiki/POODLE
2. http://www.pcworld.com/article/2855892/apple-xiaomi-smartphones-found-violating-privacy-laws-in-taiwan.html
3. http://www.gizmag.com/uber-app-malware-android/34962/
4. http://securelist.com/blog/research/66779/the-darkhotel-apt/
5. http://www.symantec.com/connect/blogs/regin-top-tier-espionage-tool-enables-stealthy-surveillance
6. http://www.forbes.com/sites/sungardas/2015/01/02/cyber-security-professionals-predict-their-biggest-concerns-for-2015/
7. https://securelist.com/analysis/kaspersky-security-bulletin/67864/kaspersky-security-bulletin-2014-predictions-2015/
8. http://www.govtech.com/blogs/lohrmann-on-cybersecurity/The-Top-15-Security-Predictions-for-2015.html

A data’s story: Analysing Android malware in 2014 for seeing what’s next

Malware thực chất cũng là phần mềm. Như vậy, cũng như các phần mềm khác, phiên bản sau sẽ được các developer phát triển dựa vào phiên bản trước. Vậy thì một câu hỏi được đặt ra, đó là: Liệu chúng ta có thể dự đoán được sự xuất của các dòng mã độc kế tiếp dựa vào việc phân tích hành vi của những mẫu mà ta đã biết trước ?

Để trả lời câu hỏi trên thì tôi đã làm 1 nghiên cứu nho nhỏ. Tôi lựa chọn đối tượng nghiên cứu các dòng mã độc trên Android thay vì tất cả các loại mã độc vì tôi muốn thử theo nguyên tắc “start small first”. Hành vi mã độc trên Android đủ đa dạng nhưng không quá nhiều như trên PC.

Architecture1

Với các kênh khác nhau, tôi có được 5942 mẫu mã độc Android xuất hiện trong năm 2014. Sau đó tôi cho chạy chúng qua các hệ thống sandbox và ghi nhận các hành vi của chúng. Sau đó công việc của tôi đơn giản chỉ là thống kê.  Hình phía trên là mô tả sơ bộ lại quá trình thử nghiệm của tôi.

Biểu đồ dưới đây thống kê thời điểm xuất hiện của từng mẫu mã độc mà tôi có được trong năm 2014

Screen Shot 2014-12-09 at 6.58.38 PM

Tôi phân loại mã độc trên Android thành 3 dạng chính:

Trojan: Loại mã độc khi lây nhiễm có thể làm gián đoạn hoạt động của điện thoại, gửi các tin nhắn SMS kiếm tiền, hay điều khiển các thành phần như kết nối mạng, GPS…, tạo điều kiện cho hacker từ xa có thể điều khiển được điện thoại để trục lợi.

Spyware: Mã độc sau khi được cài đặt thì tìm cách đánh cắp thông tin/dữ liệu của người dùng trên điện thoại như danh bạ, nội dung tin nhắn, các thông tin tài chính, tài khoản…

Ransomware: Loại mã độc này thường cản trở hoạt động thông thường của điện thoại (như khoá máy, hoặc mã hoá các file trên thẻ nhớ…) sau đó doạ nạt người sử dụng phải trả tiền để điện thoại hoạt động trở lại bình thường.

Screen Shot 2014-12-09 at 7.37.47 PM

Dưới đây là một số kết quả vui vui có được từ các thống kê:

Đã có thể nhìn thấy trước thời điểm xuất hiện của các Ransomware

Theo báo cáo của các hãng AV, thì từ tháng 5/2014 bắt đầu cảnh báo về các dòng ransomware đầu tiên trên thế giới nhằm vào Android. Ban đầu chúng có tính năng khoá máy, sau đó theo thời gian xuất hiện nhiều con thực hiện mã hoá các file trên điện thoại (1).

Tuy nhiên, nếu nhìn lại số liệu thống kê trên ta sẽ thấy, thực tế là các hacker đã bắt đầu thử nghiệm và tung ra một vài con ransomware từ tháng 4. Tuy nhiên tại thời điểm đó, các hãng AV chưa nhìn thấy được sự xuất hiện của dòng mã độc này. Chỉ khi chúng ta nhìn lại bằng số liệu mới thấy được điều đó.

Vậy thì nếu theo dõi thường xuyên các tập mẫu, chúng ta có thể đã biết sớm hơn về sự xuất hiện của Ransomware và có thể cảnh báo chúng sớm hơn nữa.

Sự thay đổi của các Trojan sử dụng SMS

Một điểm quan trọng đối với các ứng dụng trên Android đó là cần phải đăng ký để sử dụng các quyền khác nhau (ví dụ như quyền gửi SMS, quyền truy cập danh bạ, quyền đọc GPS của điện thoại…)

Thống kê số liệu tập mẫu của tôi có được, thì tôi nhận thấy có một sự thay đổi khá rõ nét liên quan tới các quyền sử dụng SMS như: SEND_SMS, READ_SMS, RECEIVE_SMS, WRITE_SMS… Đó là từ khoảng giữa năm trở đi, số quyền SMS được các mã độc sử dụng ít đi trông thấy.

trojansms

 

Có lẽ là các trojan SMS giờ đây rất dễ bị tóm và cũng có thể việc kiếm tiền hoặc truyền thông tin qua SMS không còn được hiệu quả nữa chăng ?

Thống kê top các Permission nguy hiểm được sử dụng theo từng dòng

 

Top 10 các Permission nguy hiểm mà các Trojan sử dụng

Screen Shot 2015-01-05 at 11.13.25 AM

 

Screen Shot 2014-12-10 at 1.39.29 PM

Top 10 các Permission nguy hiểm mà các Spy sử dụng

Screen Shot 2015-01-05 at 11.15.16 AM

Screen Shot 2014-12-10 at 1.44.36 PM

Top 10 các Permission nguy hiểm mà các Ransomware sử dụng

Screen Shot 2015-01-05 at 11.16.43 AM

Screen Shot 2014-12-10 at 1.49.20 PM

Dự đoán 2015 

Dự đoán chung

  • Các dòng trojan sử dụng các quyền liên quan tới SMS tiếp tục giảm đi
  • Các mã độc sử dụng quyền liên quan tới kết nối internet, đọc trạng thái điện thoại, theo dõi cuộc gọi, GPS.. sẽ gia tăng. Điều đó có nghĩa là các spyware nhắm vào đánh cắp thông tin (chẳng hạn mobile banking) người dùng sẽ gia tăng.
  • Xu hướng xuất hiện những mã độc chỉ cần lấy được quyền INTERNET và READ_PHONE_STATE để tránh sự nhòm ngó của các phần mềm AV
  • Ransomeware sẽ tiếp tục gia tăng: ngoài việc mã hoá/khoá máy để kiếm tiền của người dùng bằng cách doạ nạt, nhiều kỹ thuật có thể được sử dụng: dùng quyền CAMERA, CALL_PHONE… để tăng thêm tính doạ nạt cũng như sẽ có nhiều hình thức kết nối thanh toán khác nhau.

Dự đoán đặc điểm của một trojan mới xuất hiện

Screen Shot 2015-01-05 at 11.19.09 AM

 

Dự đoán đặc điểm của một spyware mới xuất hiện

Screen Shot 2015-01-05 at 11.20.25 AM

Dự đoán đặc điểm của một Ransomware mới xuất hiện

Screen Shot 2015-01-05 at 11.21.16 AM

Kết luận

Như vậy, phương pháp này có thể giúp chúng ta một số điểm sau:

  • Có thể nhìn thấy sớm được sự xuất hiện của một dòng mã độc mới
  • Số liệu và sự biến đổi của các dòng mã độc theo từng gian đoạn
  • Có thể giúp chúng ta dự đoán được phần nào đặc điểm của những biến thể mới

Để dự đoán được chính xác hơn đối với từng dòng, ta sẽ phải phân tích và theo dõi các biến thể của dòng đó. Nếu có thời gian, tôi sẽ tiếp tục viết tiếp về việc này. Ví dụ phân tích và dự đoán về các dòng Ramsomware nổi tiếng là Simplocker hay các dòng mobile banking

Hạn chế của phương pháp 

  • Phụ thuộc vào số lượng mẫu có được
  • Không có các thông tin về số lượng bị lây nhiễm và địa điểm bị lây nhiễm (các AV có điều này, nhưng cũng phụ thuộc vào thị trường của họ)
  • Phụ thuộc vào khả năng của Sandbox

 

Vietnamese websites hacked for phishing campaigns

Trong tháng 8 và 9/2014, đã có hàng trăm website của Việt Nam bị hacker lợi dụng để đặt các trang web lừa đảo trực tuyến.
Dưới đây là một số ví dụ:
4
1
2
3
Các website của Việt Nam thường xuyên trở thành mục tiêu tấn công của các hacker, với con số lên đến hàng nghìn site mỗi tháng. Mục đích tấn công của hacker khá đa dạng, trong đó có bao gồm việc lợi dụng các máy chủ này để thực hiện các cuộc tấn công khác ví dụ như làm máy chủ điều khiển botnet hay dựng các website lừa đảo trực tuyến.
Các cuộc tấn công lừa đảo thường nhằm vào người sử dụng của các dịch vụ thương mại điện tử, ngân hàng điện tử hoặc các dịch vụ trực tuyến phổ biến như email, hay mạng xã hội.
Lý do chủ yếu để các tội phạm sử dụng những máy chủ này để tấn công lừa đảo trực tuyến là do sự ẩn danh. Việc truy tìm dấu vết của tội phạm sẽ phức tạp hơn, thay vị hacker tự mua  hoặc thuê các máy chủ để đặt các trang lừa đảo.
Nguyên nhân dẫn đến tình trạng trên vẫn xuất phát từ việc đơn vị chủ quản của các website ở Việt Nam còn lơ là trong việc đảm bảo an toàn an ninh cho website, dẫn đến website tồn tại nhiều lỗ hổng để giới tội phạm lợi dụng.

Malware detection based on abnormal activities

Ai cũng có thể bị nhiễm virus và vì vậy chúng ta sẽ luôn cần phần mềm bảo vệ. Mục tiêu lớn nhất của phần mềm là ngăn không cho các file độc được thực thi trên máy tính. Chính vì vậy, các mẫu nhận diện phải được cập nhât một cách nhanh nhất.

Thực tế thì vẫn có nhiều tình huống phần mềm không phát hiện ra và để máy tính bị nhiễm. Khi đó thì có không ít trường hợp bất thường mà có vẻ như các phần mềm security chưa phát hiện được. Đây là một ví dụ:
H1
Các firewall nếu đã cho phép một tiến trình được kết nối mạng thì sẽ không kiểm tra các kết nối đó nữa. Chính vì vậy, các phần mềm độc hại thường sẽ tìm cách núp bóng các tiến trình chuẩn để tìm cách trốn được sự kiểm soát.
Như vậy, nếu dùng công cụ rà soát các kết nối mạng thì bằng mắt, ta dễ dàng nhìn thấy có quá nhiều kết nối mạng từ svchost.exe ra địa chỉ IP ở bên ngoài. Tuy nhiên các phần mềm bảo vệ lại bỏ qua dấu hiệu nghi ngờ này.
Mã độc khi được thực thi đã inject vào tiến trình svchost chuẩn của Microsoft và mượn tiến trình này để câu ra bên ngoài.
H2
Công việc tiếp theo là săn tìm “kẻ núp bóng” svchost
H3
Thường thì các mã độc sẽ không có chữ ký. Vì vậy ta sẽ có ngay được một file nghi ngờ.
Hầu hết các AV không phát hiện ra mã độc này.
H4
Sau khi phân tích thì đây là 1 keylog, chuyên ăn cắp thông tin gõ được trên bàn phím, lưu thành file và gửi về máy chủ của hacker đặt tại vài nơi ở Châu Âu.

Real-time Big Data Use case: Security Analytics

eBay vừa mới thông báo họ bị tấn công và 145 triệu tài khoản của người dùng đã đánh cắp (theo Reuters). Trước đó là Adobe, Evernote, Sony… bị mất vài chục cho đến vài trăm nghìn tài khoản.

attacked

Nguồn: informationisbeautiful.net

Trong cuộc tấn công vào eBay, ngoài con số thiệt hại 145 triệu tài khoản được chú ý, chúng ta còn thấy có 2  yếu tố quan trọng nữa mà ít người đý hơn. 

  • eBay biết họ bị tấn công sau bao nhiêu lâu ?
  • eBay bị tấn công như thế nào ?

Một thực tế khá tđó là cuộc tấn công vào eBay diễn ra từ cuối tháng 2/2014, vậy mà mãi tới tháng 5 họ mới phát hiện ra. Nhưng eBay không phải là kẻ cô độc, hầu hết các cuộc tấn công trên đều xảy ra trong tình trạng tương tự. Nạn nhân không hề biết mình đã bđánh cắp dữ liệu trong một khoảng thời gian dài.

Kẻ tấn công cũng không hề nhắm trực tiếp vào máy chủ của eBay, nơi sẽ khó khăn hơn để tìm lỗ hổng và có thể có nhiều tầng lớp bảo vệ. Cũng giống nhiều cuộc tấn công gần đây, con đường mà kẻ tấn công khai thác lại chính là máy tính của những nhân viên trong hệ thống. Những máy tính này ít nhiều được cấp quyền để truy nhập vào các hệ thống máy chủ quan trọng hơn. Hãy xem eBay tự nói gì về vụ này: “Cyberattackers compromised a small number of employee log-in credentials, allowing unauthorized access to eBay’s corporate network“.

Nhưng chẳng nhẽ, eBay và các hãng khác không trang bị các giải pháp phòng chống mã độc, phát hiện xâm nhập, tường lửa… ? Tôi tin chắc chắn rằng họ đã có cả tá những giải pháp được coi là tốt nhất. Vậy mà các mã độc vẫn phát tán được vào các máy tính bên trong hệ thống, các dữ liệu được lấy trộm và gửi ra bên ngoài một cách trót lọt, trước sự kiểm soát của tường lửa.

Vậy thì các giải pháp security hiện nay đã thất bại ? Vâng, hơi buồn nhưng có thể nói là như vậy.

Đã đến lúc cần có sự xuất hiện của “Next-generation Security System ?

Vì các tường lửa thì hoạt động theo “rules”, IDS/IPS thì hoạt động theo “signatures”, các AV thì theo “samples”. Một vài tính năng “thông minh” thực tế cũng không giải quyết được vấn đề. Đơn giản vì chúng hiện nay, chưa đủ khả năng để phát hiện ra một sự “bất thường” xảy ra trong hệ thống.

Vậy một cuộc tấn công thì có những “bất thường” gì ? Trong cả một vài tháng, các tên miền được truy cập của một mạng khá ổn định, vậy mà một hôm đẹp trời, giữa đêm khuya thanh vắng, xuất hiện vài tên miền loằng ngoằng, IP lạ hoắc lại được một vài máy tính trong mạng kết nối đến. Đó là ví dụ của sự bất thường. Máy tính A trong cả 1 tháng, lưu lượng mạng trung bình một ngày là 400MB, tự nhiên chủ nhật lại tăng lên 4GB. Đó cũng là 1 ví dụ của sự bất thường.

Như vậy thì có nhiều thể loại bất thường: bất thường về băng thông, bất thường về các kết nối, bất thường về các tên miền/địa chỉ IP, bất thường trong các giao thức, bất thường trong các payload…

Về cơ bản các hệ thống hiện nay không giải quyết được do hạn chế về khả năng tính toán. Nó đòi hỏi phải có tính real-time cao, lượng dữ liệu xử lý  cực lớn cả hiện tại và quá khứ, các thuật toán phức tạp trong việc phát hiện sự bất thường…

Hey, big data có thđáp ứng được những đòi hỏi trên đấy ;). Vậy thì đã đến lúc xuất hiện “Next-generatoin Security System” rồi.

Statistics of April Web Defacement by Chart

Tính đến ngày 27, tháng 4 có 351 website .vn của Việt Nam bị tấn công theo nguồn Zone-H. Điều đó có nghĩa là mỗi ngày có khoảng 12 website bị tấn công, hoặc 2 tiếng có 1 website bị kiểm soát.

Nếu so sánh với một vài nước trong khu vực thì con số này cũng không phải là quá khủng khiếp. Ví dụ: Thái Lan trong tháng có 391 site .th bị tấn công, hay con số 236 site .id của Indonesia. Như vậy chỉ có thể kết luận rằng, có quá nhiều website tồn tại lỗ hổng.

Hãy cùng xem các cuộc tấn công này qua một vài biểu đ

1

2

3

4

5

Heartbleed – Lỗ hổng nguy hiểm trong thư viện OpenSSL

Update on 10h, 10/04/2014: Cảm ơn Duong Kai, Luc Trong góp ý về phần cập nhật bản vá.

Về cơ bản thì lỗ hổng này là gì ?

Một lỗ hổng nguy hiểm của OpenSSL mới được công bố cho phép hacker có thể từ xa đọc được bộ nhớ trên máy chủ có cài đặt OpenSSL phiên bản 1.0.1 đến 1.0.1f.

Chúng ta tạm hiểu, OpenSSL là 1 thư viện mã hóa, được sử dụng để… mã hóa (tất nhiên :D) dữ liệu trao đổi giữa máy chủ và client. Vậy những máy chủ nào sử dụng OpenSSL ? Câu trả lời là rất rất nhiều. Kể sơ qua có thể thấy là các máy chủ web chạy apache hoặc ngix, các máy chủ email, VPN, Instant Message…

Khai thác lỗ hổng, hacker có thể lấy được private key của server, sử dụng để mã hóa các dữ liệu trao đổi giữa server và client. Từ đó hacker có thể đọc được toàn bộ thông tin được trao đổi giữa client và server như chưa hề được mã hóa :D. Dễ hiểu hơn là hacker có thể đọc được username/password, nội dung email, chat vv

Như vậy, đích nhắm của hacker sẽ là các site có thanh toán trực tuyến như: ngân hàng điện tử, chứng khoán điện tử, cổng thanh toán điện tử, các trang về thương mại điện tử. Ngoài ra, các mail server và một số dịch vụ khác có sử dụng OpenSSL để mã hóa cũng sẽ là mục tiêu tấn công.

Tại sao lại gọi lỗ hổng là “Trái tim rỉ máu” (HeartBleed)

Vì lỗ hổng nằm trong việc xử lý TLS Heartbeat extension (RFC6520) của OpenSSL. Nguyên lý hoạt động của RFC này là để client/server kiểm tra xem bạn của mình có còn sống hay không (kiểm tra nhịp tim – Heartbeat). Do lỗi ở tính năng kiểm tra heartbeat, nên người ta văn vẻ gọi lỗ hổng là Heartbleed.

Cụ thể: Client sẽ gửi 1 message heartbeat đến server với 1 kích thước nào đó  (ví dụ 1KB ) thì server sẽ phản hồi chính message đó lại cho client. Tạm hiểu là nếu tôi ném cho ông 1 quả táo để xem ông có còn sống hay không, ông sẽ ném lại tôi đúng quả táo đó để báo là ông còn sống.

Nhưng lợi dụng việc xử lý không tốt trong OpenSSL, hacker sẽ gửi 1 message có kích thước thật là 1KB, nhưng lại lừa rằng nó có kích thước 64KB. Do không kiểm tra cẩn thận, nên server sẽ trả lời bằng 1 gói tin có kích thước là 64KB (bao gồm 1KB là message thật và 63 KB trong bộ nhớ của server). Với lỗ hổng này, hacker sẽ tự nhiên nhận được 63KB dữ liệu trên RAM của server để tiếp tục khai thác.

1Bộ nhớ trên một máy chủ bị rò rỉ

Những máy chủ nào có nguy cơ bị lỗ hổng ?

Phiên bản tồn tại lỗ hổng là OpenSSL 1.0.1 đến 1.0.1f. Các phiên bản trước đó và sau đó không bị.

Một số hệ điều hành có cài đặt sẵn OpenSSL sau đây có thể bị:

Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4

Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11

CentOS 6.5, OpenSSL 1.0.1e-15

Fedora 18, OpenSSL 1.0.1e-4

OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012)

FreeBSD 10.0 – OpenSSL 1.0.1e 11 Feb 2013

NetBSD 5.0.2 (OpenSSL 1.0.1e)

OpenSUSE 12.2 (OpenSSL 1.0.1c)

Cập nhật bản vá cho lỗ hổng như thế nào ?

Đầu tiên, cần kiểm tra phiên bản hiện tại trên máy là bao nhiêu bằng câu lệnh:

openssl version – a

Nếu kết quả ví dụ là

OpenSSL 1.0.1e 11 Feb 2013 (phiên bản 1.0.1e có lỗi)

Thì xin chúc mừng, bạn cần phải cập nhật ngay lập tức.

Sau đó tùy vào OS của bạn, sẽ cập nhật với câu lệnh tương ứng

Ví dụ trên CentOS là yum update openssl

Ví dụ trên Ubuntu là apt-get upgrade openssl

References

http://cvedetails.com/cve/2014-0160

http://heartbleed.com

https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/scanner/ssl/openssl_heartbleed.rb

http://www.ehackingnews.com/2014/04/heartbleed-openssl-vulnerability.html

https://gist.github.com/sh1n0b1/10100394

http://www.howtoforge.com/find_out_if_server_is_affected_from_openssl_heartbleed_vulnerability_cve-2014-0160_and_how_to_fix

Technical Analysis of NTP Amplification DDoS attacks

Từ cuối 2013 cho đến nay, tấn công DDoS sử dụng NTP đang là 1 xu hướng mới. Cuộc tấn công lớn nhất ghi nhận được nhằm vào CloudFlare là 400Gbps, thật khủng khiếp.

Cách đây khoảng một tháng, chúng tôi nhận được đề nghị hỗ trợ từ System Admin của 1 công ty tại Seoul. Hiện tượng anh ta gặp phải là hệ thống mạng tại data center của công ty bị ngập lụt bởi hàng chục GB các gói tin UDP, có source port là 123. Thông tin quan trọng sau bước đầu phân tích, đó là không phải nguồn tấn công bên ngoài làm tê liệt hệ thống, mà chính là từ 4 máy chủ của công ty anh ta đang làm tràn ngập mạng.

Hacker từ xa, đã gửi tới các máy chủ này 1 lượng request NTP độc hại, kết quả là các máy chủ này sinh ra 1 lượng NTP response lớn gấp hàng trăm lần lượng request. Và các response này được phi thẳng tới webiste của các công ty khác, làm tê liệt các website đó. Thực tế, đồng thời cũng làm tê liệt data center chứa 4 máy chủ NTP này luôn, do gateway bị nghẽn.

Vậy tại sao 4 máy chủ NTP lại có thể sinh ra 1 lượng dữ liệu làm ngập lụt hệ thống mạng ? Tại sao lại gọi là khuếch đại các gói tin NTP ?  Lỗ hổng của NTP là như thế nào… ?

NTP là gì ?

Là Network Time Protocol. Theo wiki, là giao thức đồng bộ thời gian mạng. Mục đích của NTP là giúp cho các máy tính kết nối mạng luôn đồng bộ được giờ một cách chính xác. Các client gửi request đồng bộ giờ lên máy chủ, các máy chủ có thể có nhiều cấp sẽ cập nhật với nhau để đồng bộ chính xác giờ nhất cho client. Lớp cao nhất của hệ thống NTP là Stratum 0, thực chất là các đồng hồ nguyên tử có độ chính xác cực cao. Stratum 0 được kết nối bới các máy chủ Stratum 1. Các máy ở mức 1 sẽ tiếp tục cập nhật cho các máy mức 2 etc.

3Mô hình NTP theo Wiki

2Mọi máy tính có thể được đồng bộ giờ một cách chính xác nhất nhờ NTP

Lỗ hổng nằm ở đâu ?

Lỗ hổng này được ghi nhận có mã là CVE-2013-5211 hoặc VU#348126, hay còn gọi là Amplification Attack using ntpdc monlist command.

NTP là 1 giao thức thuộc loại lâu đời nhất trên thế giới cho đến nay vẫn hoạt động (từ 1982). Lỗ hổng lần này thực chất không hẳn là lỗ hổng mà là một “tính năng” của NTP. Tuy nhiên khi “tính năng” có phần hơi “cởi mở” này bị lợi dụng thì lại gây là hậu quả lớn.

Đó là tính năng Monlist của NTP server, là 1 danh sách các máy tính đã kết nối tới NTP server. Khi nhận được một request yêu cầu cung cấp monlist, NTP server sẽ “vui vẻ” cung cấp danh sách các máy tính đã kết nối tới NTP server này mà không cần quan tâm xem ai là người đã request. Cứ có hỏi là “vui vẻ” trả lời.

Ở đây chúng ta thấy ngay 1 vấn đề mà kẻ xấu đã lợi dụng để “khuếch đại”. Đó là 1 request nhỏ được gửi đi, server sẽ sinh ra 1 danh sách với kích thước lớn hơn rất nhiều so với request. Các request được gửi đi từ máy của hacker, nhưng đã làm giả source IP. Source IP sẽ bị sửa để trỏ đến địa chỉ IP của nạn nhân. Thế là các NTP server cứ thế trả các response về cho nạn nhân, trong khi máy này không hề gửi đi bất kỳ request nào. Đây giống một kiểu “ném đá giấu tay” kết hợp với “mượn gió bẻ măng”

4Khuếch đại

Hacker có thể khuếch đại lên bao nhiêu ?

Đầu tiên ta sẽ tiến hành thử nghiệm tính năng monlist để xem, khi 1 request được gửi tới 1 NTP server thì response trả về là như thế nào.

1Nhìn kết quả thì với 1 câu lệnh gửi đi là ntpdc – c monlist NTP_IP_Address mà list trả về quả là dài.

Trên thực tế thì các NTP server khác nhau sẽ có độ dài monlist khác nhau. Do số lượng máy tính kết nối với 1 NTP server ở mỗi thời điểm là khác nhau. Ở server trong ví dụ trên là 48 địa chỉ.

848 địa chỉ này được tạo thành 7 gói tin trả về. Capture bằng wireshark ta thấy, 1 gói tin NTP request có kích thước 234B, các gói tin trả về trung bình ~400. Như vậy là tổng dữ liệu trả về là 7*400/234 ~12, gấp gần 12 lần so với gói tin gửi đi.

Vậy thì chính xác theo giao thức của NTP, một monlist có thể chưa tối đa bao nhiêu địa chỉ ? Hãy cùng nhảy vào code của NTP một tí cho vui:

5Các developer của NTP gọi tên list này là MRU (most-recently-used) list. Phân tích code của NTP ta sẽ thấy, độ dài tối đa của list này sẽ là 600 địa chỉ, được trả về thành 100 response. Với mỗi 1 request có kích thước 50 byte, ta sẽ có tối đa 100 response với kích thước khoảng 500 byte. Như vậy tối đa độ khuếch đại có thể lên tới tối đa 1000 lần. Điều này có nghĩa là Nếu bạn ném đi một viên sỏi, bạn sẽ nhận về được cả một bức tường :(

Các công cụ tấn công DDoS sử dụng khuếch đại NTP

Như mọi người đã thấy nguyên lý khai thác lỗ hổng này, thực chất, hacker chỉ cần gửi hàng loạt các ntp monlist request (có fake địa chỉ IP) tới các NTP Server. Vì vậy các đoạn code để “khai thác lỗ hổng” không hề phức tạp như các exploit khác. Hãy cùng xem 1 đoạn code thuộc loại đơn giản nhất

10Đã có khá nhiều các phiên bản khác nhau, có thể viết bằng Perl, Python. Để nghiên cứu bạn có thể dễ dàng tìm các đoạn code này trên Pastepin

Có bao nhiêu NTP server trên thế giới ?

Các NTP server mở cổng 123, giao thức UDP. Ta có thể scan các bằng nmap để tìm ra danh sách các NTP server này. Tuy nhiên, có một cách thức khác nhanh chóng và tiện lợi hơn, đó là sử dụng Shodan.

Không thể tin được khi biết rằng, có tới hơn 2 triệu NTP server đang hoạt động ở khắp nơi trên thế giới.

6Mỹ, Hàn, Nhật, Nga và Trung Quốc là những quốc gia sở hữu nhiều NTP server nhất. Như vậy 4 server NTP ở Seoul bị lợi dụng mà chúng ta phân tích ở trên, cũng là điều dễ hiểu.

7Việt Nam cũng có nhiều NTP Server phết :)

Vá lỗ hổng

Nếu bạn là nạn nhân của các cuộc tấn công DDoS sử dụng NTP, có lẽ không dễ để các bạn ngăn chặn được các cuộc tấn công này. Chúng ta chỉ còn cách chặn hết các gói tin UDP có cổng nguồn là 123 phi đến hệ thống của chúng ta.

Còn đối với các công ty quản lý các NTP server, hãy cập nhật NTP phiên bản mới nhất (bản 4.2.7p26 hoặc mới hơn). Ngoài ra, chúng ta cũng có thể cấu hình firewall để chặn hết các monlist request từ các địa chỉ IP bên ngoài mạng, để tránh bị lợi dụng.

Thực tế thì Network Time Foudation cũng không mất nhiều công lắm để vá lỗ hổng này. Ta thử xem qua sự khác nhau giữa 2 phiên bản:

9

Hacking Flappy Bird for fun

Bạn muốn được bao nhiêu điểm ?

Trên iOS, Flappy Bird được cài ra 1 thư mục có cấu trúc như sau

2

Trong đó, ta lưu ý trong thư mục Documents, có 1 file mà ta rất dễ đoán được ý nghĩa có nó, đó là file score.dat. Đây là file dùng để lưu điểm mà người chơi đạt được.

Hãy cùng khám phá file score.dat này.

3

Hơi buồn 1 chút là tác giả không để định dạng text mà là 1 dạng binary. Không vấn đề gì, ta sẽ view file dưới dạng mã Hex (16)

4

Qua một vài lần chơi và kiểm tra lại file score.dat, ta sẽ đoán được 4 bytes đầu là dành để lưu điểm số, 4 byte tiếp theo là dành để ghi lại số lần từng chơi. Ví dụ trong hình trên, số điểm là 0A hệ số 16, tức là 10 điểm hệ thập phân, số lần chơi là DF lần, tức là 223 lần chơi (chơi từng đấy lần mà được có 10 điểm, quá kém nhỉ).

Bây giờ muốn điểm chơi thành bao nhiêu thì ta sẽ sửa 4 bytes đầu ở score.dat. Ví dụ tôi muốn sửa điểm chơi thành 898 điểm. Chuyển sang hệ số 16, 898 sẽ là 0382. Vì máy của chúng ta lưu trữ dữ liệu theo kiểu “little edian” nên ta sẽ ghi vào file score.dat như hình dưới

5

Và điểm chơi của bạn trên game sẽ như thế này

6

Game Atlas – Độ chim theo cách của bạn

Toàn bộ đồ họa của game nằm trong file Atlas.png

atlas

Như vậy ta thấy sẽ có 3 loại chym, 2 loại ống khói và 2 hình backgroud hiện ngày và đêm. Mỗi 1 lần chơi thì game sẽ random với chym, ống khói và backgroud.

Để load được các đối tượng từ Atlas.png, tác giả có tạo ra 1 file Atlas.txt đi kèm. File .txt sẽ chỉ rõ từng đối tượng trong file .png ở tọa độ nào

8

Trong hình dưới đây là đoạn code của Flappy Bird viết cho phiên bản android để load các đối tượng vào game

7

Vì vậy, nếu muốn thay đổi đồ họa của game, bạn có thể edit file Atlas.png. Ví dụ bạn có thể “độ” chym 1 chút để tạo ra 1 phiên bản Flappy Bird with sunglasses.

Giờ để ý thêm trong file Atlas.txt. Bạn sẽ thấy có đoạn định nghĩa về các ống nước.

9

Ta sẽ thử tạo ra 1 phiên bản game mới, “dễ chơi” hơn bằng cách làm hẹp các ống nước lại, để chym lọt qua dễ hơn.

11

 

Dù sao cũng nên cẩn thận với các game tải từ nguồn không chính thống

Hiện Flappy Bird không còn ở trên Google Play hoặc AppStore nữa, nên nếu như bạn chưa từng tải Flappy Bird từ những nguồn này thì bạn buộc phải tìm  game ở các nguồn không chính thống.

Chính vì vậy có nhiều kẻ sẽ tìm cách trục lợi bằng cách đưa lên các store những phiên bản Flappy Bird đã bị chèn thêm những đoạn mã không mong muốn đối với chúng ta.

Chẳng hạn đã từng xuất hiện các bản fake Flappy Bird có âm thầm gửi SMS tới các đầu số 87xx, để trừ tiền trong tài khoản của người dùng

10

(Nguồn Trend Micro)

Hoặc kẻ xấu có thể sử dụng 1 chiêu này mà hầu như chúng ta không thể phát hiện ra.

1

Đây là 1 đoạn code trong Flappy Bird phiên bản Android. Nếu để ý bạn sẽ thấy đối tượng thuộc lớp AdView được tạo ra dùng để hiển thị quảng cáo. Trong đó có 1 tham số là AdUnitID. Mỗi 1 ứng dụng sẽ có 1 AdUnitID riêng và ta tạm hiểu là 1 banner quảng cáo được hiện thị lên ứng với AdUnitID nào thì sẽ được tính tiền cho người sở hữu cái AdUnitID đó. Chính vì vậy, kẻ xấu có thể sẽ thay AdUnitID của Flappy Bird thành AdUnitID của 1 ứng dụng khác của hắn. Thế là từ đây, mỗi khi chúng ta sử dụng fake Flappy Bird đó mà quảng cáo được hiển thị, thì tiền có thể không nhảy vào túi Hà Đông, mà nhảy vào túi người khác.