Thứ Ba, 28 tháng 7, 2015

Giải quyết các nguyên nhân gây chậm máy tính

Đối với một máy tính hoạt động lâu ngày chắc chắn sẽ không thể tránh khỏi tình trạng chậm chạp hơn lúc ban đầu. Để giải quyết rất đơn giản chỉ cần cài lại hệ điều hành. Nhưng nếu bạn chấp nhận làm như thế thì bài viết của mình tới đây là hết. Nhưng nếu có nhiều thứ các bạn không muốn mất đi hoặc không muốn tốn thời gian cài lại hàng tá phần mềm thì mời các bạn tham khảo những bước dưới đây.





Nguyên nhân gây ra máy chậm rất đa dạng, nhưng mình có thể tóm gọn trong vài mục dưới đây để có thể giúp các bạn phần nào khắc phục được vấn đề.
  • Gỡ bỏ các ứng dụng không sử dụng hoặc rất “lạ”

Các ứng dụng các bạn cài vào sử dụng chỉ 1 lần, hoặc các ứng dụng bạn chưa bao giờ biết tại sao nó có trong máy thì rất có thể là nguyên nhân gây ra chậm máy. Để làm được điều này các bạn có thể  vào Control Panel -> Uninstall a Program (trong mục Program)
Kiểm duyệt từ trên xuống dưới bạn có thể gặp các tên như Ask Toolbar hoặc rất nhiều thứ bạn chưa bao giờ biết đã bị cài vào máy khi nào. Các phần mềm này đến từ những cú “Next” bất tận của các bạn.
  • Dọn dẹp phần mềm độc hại trong máy tính.

Khác với những phần mềm trên, những phần mềm này tồn tại mà các bạn không hề hay biết mà thuật ngữ mọi người vẫn hay dùng là virus máy tính. Nếu bạn sử dụng một phần mềm diệt virus bản quyền và được cập nhật thường xuyên, bật chế độ Real Time Protection thì việc nhấn Full Scan không hề thừa chút nào. Bên trong Windows 8/8.1 hoặc Windows 10 có một công cụ cực kì hiệu quả và nhẹ nhàng với hệ thống là Windows Defender. Đối với Windows 7 cũng có Windows Defender nhưng không thực sự hiệu quả như thế hệ đàn em của nó, chính vì vậy mình khuyên các bạn dùng Microsoft Security Essentials để thay thế Windows Defender trong Windows 7. Sau đó chỉ việc cập nhật cơ sở dữ liệu mới nhất và tiến hành Full Scan hệ thống
  • Rác hệ thống

Quá trình sử dụng hệ điều hành không thể tránh khỏi việc sử dụng các phần mềm, mà chính việc này và gỡ bỏ cài đặt phần mềm cũng sinh ra rác hệ thống. Chính vì rác hệ thống sẽ khiến dung lượng ổ cứng của bạn bị chiếm dụng ngày càng phình to ra. Có rất nhiều nơi sinh ra rác hệ thống trong máy tính, ngay cả trong Registry vẫn có rác. Chính điều này khiến cho người dùng máy tính không chuyên về công nghệ rất khó có thể dọn dẹp máy tính một cách sạch sẽ được. Bên trong Windows cũng có sẵn các công cụ dọn dẹp rác hệ thống như Disk Cleanup, System Maintenance. Ở đây mình sử dụng 1 công cụ đến từ bên thứ 3 là IOBit Advanced Systemcare 8. Sau khi cài đặt các bạn nhấn nút Scan để phần mềm tự dọn dẹp hệ thống, phần mềm còn đưa ra các lời khuyên tinh chỉnh hệ thống để có thể hoạt động hiệu quả hơn. Ngoài ra phần mềm còn có thể sửa một số lỗi nhẹ trên ổ cứng.
  • Chống phân mảnh hệ thống

Mặc dù Windows 7 và 8/8.1 đã giải  quyết khá tốt vấn đề này nhưng vẫn không thể hoàn toàn triệt để. Việc phân mảnh làm dữ liệu trên ổ đĩa đọc không liên tục và gây ra độ trễ (latency). Phần mềm Defragment and Optimize Drivers là giải pháp chống phân mảnh của Windows nhưng hoạt động rất chậm. Chính vì thế ta cần 1 phần mềm hiệu quả hơn là Smart Defrag của IOBit. Ngoài chống phần mảnh ổ cứng, phần mềm còn sắp xếp các tập tin theo thứ tự thường xuyên sử dụng để giảm thời gian truy cập tới mức thấp nhất.

Chủ Nhật, 19 tháng 4, 2015

Đồng Bộ Hóa Tiến Trình (Phần 1) - Vùng Tranh Chấp

Một tiến trình thao tác đồng thời có thể ảnh hưởng hay bị ảnh hưởng bởi tiến trình khác đang được sử dụng trong hệ thống. Các tiến trình đồng thao tác có thể trực tiếp chia sẻ không gian địa chỉ vật lý (code hay data) hay nó được phép chia sẻ dữ liệu qua các file. Trường hợp của vấn đề trước có thể đạt được thông qua việc sử dụng những tiến trình nhỏ hay là những tiểu trình. Việc truy cập đến vùng dữ liệu chia sẻ một cách đồng thời có thể dẫn đến mâu thuẫn trong dữ liệu . Ở đây chúng ta sẽ thảo luận những cơ chế khác nhau để đảm bảo thứ tự thực thi của những tiến trình thao tác đồng thời mà chia sẻ không gian địa chỉ luận lý để đảm bảo tính bền vững của dữ liệu, một giải pháp cụ thể được phân tích ở đây là giải pháp cho nhiều tiến trình( giải pháp bakery).

1. Khái Niệm

Giả sử rằng hệ thống có n tiến trình P(0), P(1), … ,P(n-1) cùng truy xuất đồng thời một vùng dữ liệu chia sẻ chẳng hạn như một đoạn code nào đó. Đoạn code được chia sẻ đó được gọi là vùng tranh chấp, trong vùng tranh chấp này các tiến trình có thể thay đổi biến dùng chung, cập nhật giá trị cho các dữ liệu,…
Hình ảnh sau minh họa cho vùng tranh chấp:

Đối với vùng tranh chấp vấn đề quan trọng là hệ thống phải đảm bảo sao cho khi một tiến trình đang thực thi trên vùng tranh chấp thì không có tiến trình nào khác được thực hiện tại vùng này. Sự thực thi của các tiến trình trên vùng tranh chấp được gọi là sự loại trừ tương hỗ( mutual exclusion)

2. Cấu Trúc Tổng Quát Của Tiến Trình Khi Vào Vùng Tranh Chấp


Để được vào vùng tranh chấp, mỗi tiến trình phải gửi yêu cầu cho hệ điều hành và phải được chấp thuận khi đó tiến trình mới được vào vùng tranh chấp. Phần đoạn code thực thi yêu cầu này được gọi là Entry_section(). Sau khi vào được vùng tranh chấp tiến trình thực thi trên vùng tranh chấp được gọi là  Critial_section(). Sau khi thực hiện xong trên vùng tranh chấp, tiến trình thoát ra khỏi  vùng tranh chấp bằng đoạn code được gọi là Exit_section().

   Cấu trúc tổng quát sau được mô tả đầy đủ:


do{
    entry section;
    critial section;
    exit section;
    remainder section;
}

while(1);



3. Nguyên Tắc Giải Quyết Tranh Chấp
  • Chia nhỏ các lệnh thì chia nhỏ cho đến khi không thể chia nhỏ được nữa.
  • Có thể chuyển các tiến trình động thời đồng bộ về tiến trình đồng thời bất đồng bộ.
  • Tiến trình ngoài vùng tranh chấp không có quyền cấm các tiến trình khác vào vùng tranh chấp.
  • Tiến trình không được trì hoãn vô hạn định khi vào vùng tranh chấp.

4. Phương Pháp Giải Quyết Tranh Chấp

Có 2 phương pháp cơ bản:
Phương pháp phần mềm (software solution):
Người sử dụng tự thực hiện thông thường có sự hỗ trợ của lập trình viên
Hệ điều hành cung cấp công cụ hỗ trợ lập trình viên qua lời gọi hệ thống
Giải pháp phần cứng:Dựa trên một số lệnh đặc biệt interrupt disable, test and set.

Phần sau: Giải thuật Bakery và chứng minh giải thuật


Nguồn: Ngọc Tiển I3

Thứ Sáu, 17 tháng 4, 2015

MS15-034: Tấn công toàn quyền Windows

Vào ngày 14/04/2015 nhóm Citrix Security Team đã tìm ra lỗ hổng rất lớn trên Server IIS của các máy chủ cài hệ điều hành dùng nhân Windows NT 6.x (Microsoft Windows 7 SP1, Windows Server 2008 R2 SP1, Windows 8, Windows 8.1, và Windows Server 2012 Gold và R2)

Thông qua việc làm tràn số nguyên trong giao thức HTTP Stack (file C:\Windows\System32\drivers\http.sys) trên parameter “Range” ở HTTP Header. Điều này có thể khiến kẻ tấn công từ xa, gây ra lỗi tràn bộ đệm và có khả năng thực thi mã tùy ý với quyền SYSTEM.


Thông tin và phương thức thực hiện tấn công các bạn có thể tham khảo tại đây


Lỗ hổng này được CVE (Common Vulnerabilities and Exposures ) đánh giá mức độ nguy hiểm là 10/10, điểm cao nhất trong thang điểm đánh giá. Với độ phức tạp tấn công rất thấp, không cần đăng nhập và khả năng chiếm toàn quyền hệ thống.

Vào năm ngoái, nhóm Citrix cũng đã tìm ra lỗ hổng bảo mật trên Server Apache CloudStack.

Thứ Tư, 15 tháng 4, 2015

Biến Nexus của bạn thành thiết bị nguy hiểm nhất thế giới (Phần 1)

Pwnie Express – một hệ điều hành nhẹ nhàng, mượt mà, tùy biến sâu trên nền Android Kitkat 4.4 được trang bị rất nhiều công cụ tấn công, đánh giá mức độ an toàn và phân tích cấu trúc hệ thống mạng. Hiện nay Pwnie vẫn còn đang trong giai đoạn thử nghiệm, nhưng hiểu quả của nó đem lại xứng đáng để bạn trải nghiệm trên thiết bị có màn hình cực đẹp, có thời lượng pin cực cao (có thể tới 9 tiếng hoạt động liên tục, điều mà khó có phiên bản Android nào có thể thực hiện được). Giờ đây, các pentester có thể thực hiện kiểm thử mạng không dây, hay thậm chí có dây, điều mà trước đây chưa bao giờ có được trên một thiết bị cầm tay.



Pwnie Express phần phối dưới 2 dạng:

  • Bản thương mại: bạn mua thiết bị đã cài sẵn hệ điều hành Pwnie Express với giá tham khảo là 1095 USD với Pwn Pad 2014 (Nexus 7 2013 32GB LTE) hoặc 1295 USD với Pwn Phone 2014 (Nexus 5 32GB).
  • Bản cộng đồng hỗ trợ: Bạn có thể tải miễn phí tại đường dẫn sau: https://www.pwnieexpress.com/community/


Pwnie Express Community có 4 bản dành cho 4 loại thiết bị khác nhau: Nexus 5, Nexus 7 2013, Nexus 7 2012, TFTP Cisco

Trong bài viết này mình xin hướng dẫn các bạn cách cài Pwnie Express lên Nexus 7 2013, các thiết bị khác sẽ có trong các bài viết sau.

Tất cả những gì bạn cần có là:

  • 1 máy tính chạy nền tảng Linux ( khuyên dùng Ubuntu ), không nên dùng máy ảo vì Nexus 7 chế độ kết nối USB rất giới hạn
  • 1 máy tính bảng Nexus 7 2013 LTE 32GB (K009)
  • 1 dây OTG micro-USB 2.0.
  • 1 USB kết nối với Wifi (khuyên dùng TP-Link TL-WN722N) (Thiết bị để kiểm thử mạng không dây)
  • 1 Bluetooth Adapter (khuyên dùng SENA UD100) (Thiết bị để kiểm thử Bluetooth)
  • 1 DCOM 3G (các loại của Huawei đều được hỗ trợ) (Kiểm thử mạng 3G)

Sau khi chuẩn bị đầy đủ đồ chơi, chúng ta tiến hành cài đặt Pwnie Pad
Cài đặt gói “adb” và “fastboot” cho máy tính đang chạy Linux:
$ sudo add-apt-repository ppa:nilarimogard/webupd8

$ sudo apt-get update

$ sudo apt-get install android-tools-adb android-fastboot-tools
Giải file tar của Pwnie Express ra:

$ tar xvf pwnpad-2014_image.tar.xz

$ cd pwnie_img/

$ chmod +x imagev2.sh

Kết nối Nexus 7 của bạn vào máy tính bằng cáp USB chính hãng.
Chú ý: KHÔNG ĐƯỢC dùng bất cứ dây cáp thay thế hay USB Hub hoặc bất kì adapter nào khác để tránh quá trình truyền dữ liệu bị gián đoạn và brick máy

Bấm giữ nút nguồn và nút âm lượng xuống để đưa Nexus 7 vào chế độ “FastBoot”Từ máy tính Linux, gõ lệnh sau để cài đặt adb server:
$ sudo adb start-server

Thực thi dòng lệnh sau để tiến hành flash Pwnie vào máy:

$ sudo ./imagev2.sh

Tiếp theo chỉ cần làm theo hướng dẫn của script là ban đã có Pwn Pad 2014 trên tay.


Loạt bài sau chúng ta sẽ cùng tìm hiểu về một số hình thức tấn công hệ thống mạng từ các thiết bị cầm tay.

Thứ Năm, 15 tháng 1, 2015

Đăng kí tài khoản Dev Center



Bạn là lập trình viên, lập trình các ứng dụng, bạn muốn đưa các sản phẩm tới tay người dùng. Cụ thể ở đây bạn lập trình các ứng dụng di động hoặc Modern UI App trên Windows 8/8.1 và muốn đưa ứng dụng của bạn lên kho ứng dụng của Microsoft để người dùng có thể tìm thấy và tải về. Điều đầu tiên bạn cần là một tài khoản Dev Center của Microsoft.
Trong bài viết này, mình sẽ hướng dẫn các bạn cách đăng kí một tài khoản Dev Center của Microsoft, và nếu bạn ngại phải tốn một khoản tiền mới được tải các ứng dụng lên Cửa Hàng, mình sẽ hướng dẫn các bạn tham gia chương trình Dev Center Benefit của Microsoft miễn phí trong 90 ngày, các bạn có thể tải các ứng dụng của mình lên trên Cửa hàng mà không phải mất một khoản phí nào cả. Giờ chúng ta bắt đầu nhé!

Bước 1: Truy cập vào trang https://dev.windows.com và đăng nhập bằng nút Sign in ở phía bên phải, phía trên màn hình.
Trong giao diện đăng nhập, các bạn đăng nhập bằng tài khoản Microsoft Live ID của bạn, nếu chưa có tài khoản Live ID, các bạn có thể tham khảo tại đây để đăng kí tài khoản:
http://phong005.blogspot.com/2015/01/ang-ki-tai-khoan-liveid-microsoft.html

Giao diện trang Dev Center
Lưu ý: Khi vào trang Dev Center hay các trang của Microsoft, rất có thể bạn bị chuyển thành 1 ngôn ngữ khác như Tiếng Pháp. Bạn cứ bình tĩnh kéo xuống cuối trang, nhấn vào biểu tượng bánh răng và chọn lại English
Bước 2: Trên giao diện của trang Dev Center, bạn click vào mục Get Started và sau đó chọn Sign Up -> Sign Up Now


Chọn “Sign up now” để tiếp tục
Bước 3: Trong cửa sổ tiếp theo, bạn chọn “Join Now”. Tiếp theo bạn chọn khu vực bạn đang sinh sống. Ở đây mình chọn “Vietnam”.
+ Đây là mục Account Type(Loại tài khoản) bạn sẽ thấy 2 khung: Invidual và Company. Đối với cá nhân phải trả 400.425 VNĐ cho 1 tài khoản, và đối với công ty là 2.000.000 VNĐ.
Nhấn Enroll Now ở khung Invidual để chọn loại tài khoản cá nhân.
+ Mục Account info (Thông tin tài khoản) hiện ra để các bạn điền các thông tin cơ bản về tài khoản Dev Center của mình:
Thông thường ở ô First Name và Last Name đã được điền từ trước dựa vào tài khoản Live ID mà bạn đăng kí.
Mục địa chỉ Email, vui lòng điền địa chỉ Email mà bạn đã đăng kí LiveID trước đó
Quan trọng nhất trong phần này đó là mục Publisher display name, đây sẽ là tên của bạn sẽ hiển thị ở mục Nhà Phát Triển trên Cửa Hàng, bạn nên cân nhắc khi điền mục này
Sau khi điền đầy đủ thông tin, ta nhấn Next để đến với bước tiếp theo
Trong mục Agreement là các điều khoản của Microsoft đưa ra ràng buộc với Lập trình viên khi sử dụng tài khoản này, chọn vào “I accept the terms and conditions of the App Developer Agreement” và chọn Next để tiếp tục

Bước 4 (Quan trọng): Mục Payment options đưa ra 2 lựa chọn:
Pay for the account: Bạn sẽ thanh toán 1 khoản tiền như đã nói ở bước 3 bằng tài khoản Visa, Paypal, Master Card hay bất kì hình thức thanh toán nào khác mà Microsoft Hỗ trợ
Use a token: Đối với các cá nhân có tài khoản  DreamSpark, MSDN, hay BizSpark sẽ được hỗ trợ lấy token miễn phí. Nếu các bạn có token của các tài khoản trên thì chọn mục này và điền token các bạn nhận được vào. Nhưng nếu không có, các bạn có thể tham gia chương trình DevCenter Benefit để được cung cấp 1 mã Token có giá trị trong 90 ngày.
4.1 Tham gia chương trình DevCenter Benefit qua đường dẫn sau: https://devcenterbenefits.windows.com
Trang Dev Center Benefits hiện ra, các bạn cũng đăng nhập bằng tài khoản Live ID của mình vào bằng nút Sign in ở góc trên bên phải màn hình các bạn.
Sau khi đăng nhập, nhấn vào Join để bắt đầu tham gia


4.2 Nhấn vào “Click here to agree to the Dev Center Benefits program agreement” và nhấn Accept & Continue để tiếp tục



4.3 Lúc này bạn tới trang Explorer Pack bằng đường dẫn: https://devcenterbenefits.windows.com/offers/#!/offers
Click vào nút Details bên dưới mục Free Dev Center account for unregistered developers


Bước tiếp theo nhấn vào I agree to submit a new app within 90 days và nhấn vào Redeem để nhận được Token kích hoạt Dev Center



Copy offer code vừa nhận được và trở lại trang Payment options để paste Token vào và chọn Next


Chúc mừng, giờ bạn đã có tài khoản Dev Center Developer để tải các ứng dụng của mình lên Cửa hàng

Đăng kí tài khoản LiveID Microsoft


"Tài khoản Microsoft" là tên mới cho nội dung từng được gọi là "Windows Live ID." Tài khoản Microsoft của bạn là kết hợp giữa địa chỉ email và mật khẩu mà bạn sử dụng để đăng nhập vào các dịch vụ như Outlook.com, OneDrive, Windows Phone hoặc Xbox LIVE. Nếu bạn sử dụng địa chỉ email và mật khẩu để đăng nhập vào các dịch vụ này hoặc dịch vụ khác, bạn đã có tài khoản Microsoft—nhưng bạn cũng có thể đăng ký một tài khoản mới vào mọi thời điểm.

Bước 1: Truy cập vào trang https://signup.live.com

Trang web đăng kí hiển thị sẽ có nội dung như thế này
Bước 2: Điền đầy đủ thông tin của các bạn, lưu ý ở các mục sau:
Tên đăng nhập: Bạn hoàn toàn có thể sử dụng địa chỉ email của bất kì dịch vụ nào khác như Google, Yahoo, AOL, v.v.. Nhưng nếu muốn tạo tài khoản mail mới với đuôi outlook.com (outlook.com.vn) hay hotmail.com bạn chỉ việc nhấn vào “Hoặc lấy địa chỉ email mới”
Mật khẩu: Bạn phải đặt mật khẩu có cả chữ hoa và chữ thường, số và kí hiệu, và ít nhất phải có 8 kí tự
Mã bưu chính: Để tránh các phiền phức về sau, bạn nên điền đúng mã bưu chính khu vực mình đang sinh sống. Bạn có thể tham khảo mã bưu chính của Việt Nam tại đây:
http://xdata.vn/Ho-tro/c20-73/Danh-sach-ma-buu-chinh-Zip-Postal-Code-cua-cac-tinh-thanh-Viet-Nam.html
Ví dụ như mình ở Thành Phố Hồ Chí Minh, mình điền vào là 70000

Sau khi điền đầy đủ thông tin


Bước 3: Sau khi điền đầy đủ thông tin, bạn chỉ việc nhấn vào nút Tạo tài khoản là bạn đã có trong tay tài khoản LiveID để truy cập các dịch vụ của Microsoft.

Thứ Ba, 19 tháng 11, 2013

Nexus 6 Concept

Nhà thiết kế Bob Freking vừa sáng tạo ra mẫu concept Nexus 6 với cấu hình "khủng" gồm chip Snapdragon 1000, Android 4.5 Lollipop và RAM 6GB.
Với concept này, Bob Freking đã lên ý tưởng về một chiếc superphone - siêu điện thoại - chạy Android 4.5 Lollipop, hệ điều hành mà ông mong muốn sẽ xuất hiện trong tương lai gần của Google.
Ngoài ra, nguyên mẫu Nexus 6 của Bob Freking sẽ có một màn hình Full HD Super LCD 3 với kích thước 5 inch, một bộ xử lý Snapdragon 1000 6 lõi và camera sau Ultrapixel độ phân giải 13 MP với tính năng ổn định hình ảnh quang học.
Chiêm ngướng concept Nexus 6: CPU Snapdragon 1000, Android 4.5 Lollipop
Concept Nexus 6 của Bob Freking
Bob Freking cũng kỳ vọng Nexus thế hệ mới sẽ được trang bị RAM 6 GB RAM và một GPU 6 lõi. Với concept này, tác giả đặt ra mức giá bán là 299 USD (6,2 triệu đồng) cho bản 16GB. Nhà thiết kế cũng cho biết thêm concept Nexus 6 của ông sẽ hoạt động trong vài ngày chỉ với một lần sạc pin - một mong ước đối với tất cả người dùng smartphone hiện nay.
Trong đoạn video dưới đây, Bob Freking đã giới thiệu chi tiết về concept Nexus 6 cấu hình khủng của mình bên cạnh một tác phẩm cũng khá táo bạo khác là iPhone HD. Không thể phủ nhận rằng nếu các tác phẩm của nhà thiết kế này trở thành thực tế, thì chắc chắn chúng sẽ làm hài lòng tất cả những tín đồ công nghệ trên thế giới.