Thursday, July 31, 2014

GIỚI THIỆU VỀ CTF (CAPTURE THE FLAG)

CTF thường được tổ chức theo mô hình trò chơi chiến tranh, tập trung vào hai kỹ năng tấn công và phòng thủ mạng máy tính của người chơi. Các đội tham gia CTF sẽ được cấp một máy chủ (hoặc một mạng máy chủ) đã cài đặt sẵn nhiều chương trình chứa các lỗ hổng bảo mật. Nhiệm vụ của đội chơi là tìm ra các lỗ hổng đó, tấn công các máy chủ của các đội khác để ghi điểm, đồng thời phải nhanh chóng vá các lỗ hổng trên máy chủ của đội nhà, để tránh bị tấn công bởi các đội khác.

Dẫu ít hay nhiều thành viên, để thi đấu tốt một đội CTF bắt buộc phải có các thành viên thành thạo các kỹ năng như lập trình, quản trị hệ thống (sysadmin), dịch ngược phần mềm (reverse code engineering), điều tra vụ án số (digital forensic), phân tích mật mã (cryptanalysis), cũng như phát hiện và khai thác lỗ hổng bảo mật trong các phần mềm ứng dụng (application security). Đây là những kỹ năng cao cấp, không phải ngày một ngày hai là có được, mà đòi hỏi một quá trình rèn luyện học tập cũng như làm việc thực tế lâu dài. Đề bài ở các cuộc thi CTF cũng xoay quanh những nhóm đề tài này.

"World Cup" của CTF

CTF lần đầu tiên được tổ chức vào năm 1997, tại hội thảo hacking nổi tiếng DEF CON (Mỹ). Cho đến nay mặc dù hình thức thi đấu CTF đã được nhân rộng ra khắp nơi trên thế giới, nhưng DEF CON CTF vẫn là cuộc thi CTF lớn nhất và được xem như là "World Cup" của môn thể thao trí tuệ này. Thông thường, DEF CON CTF sẽ do một nhóm hacker danh tiếng đứng ra tổ chức làm đề thi và coi thi. Bắt đầu từ năm 2009, DEF CON CTF sẽ được tổ chức định kỳ hàng năm bởi sk3wl0fr00t, đội chiến thắng DEF CON CTF 2008.

DEF CON CTF bao gồm hai vòng thi đấu: vòng loại và vòng chung kết. Vòng loại thường được tổ chức thi trực tuyến, và kéo dài trong một khoảng thời gian nhất định, ví dụ như vòng loại năm 2009 diễn ra liên tục trong 48h, còn thời gian của vòng loại năm nay sẽ là 55h. Trước vòng loại 1 tháng, ban tổ chức sẽ mở hệ thống, cho phép các đội đăng ký tham gia thi đấu. Năm 2009 có hơn 500 đội từ khắp nơi trên thế giới đăng ký thi đấu, còn năm nay, theo thông tin từ ban tổ chức thì cho đến thời điểm này đã có gần 400 đội đăng ký. Khi bắt đầu vào thi vòng loại, các đội sẽ lần lượt được phát cho các đề bài thuộc các nhóm đề tài như đã giới thiệu ở trên. Mỗi lần giải thành công một bài, các đội sẽ ghi được một số điểm tương ứng. Các đề bài khó thì điểm số tương ứng sẽ cao hơn. Sau khoảng thời gian đã định trước, đội nào ghi nhiều điểm nhất là những đội chiến thắng.

Vòng loại sẽ chọn ra 9 đội có điểm cao nhất để cùng với nhà vô địch cuộc thi năm ngoái tham gia thi đấu vòng chung kết. Để tham gia vòng chung kết, thường diễn ra sau vòng loại 2 tháng, 10 đội kể trên bắt buộc phải có mặt ở "thành phố tội lỗi" Las Vegas, Mỹ. Hình thức thi đấu vòng chung kết là hình thức CTF cổ điển, trong đó, như đã giới thiệu, mỗi đội được giao một máy chủ, với nhiệm vụ là phải bảo vệ máy chủ của mình, và tấn công máy chủ của các đội khác. Sau ba ngày liên tục, đội có điểm cao nhất là đội vô địch.

Với uy tín rất lớn, DEF CON CTF được coi là một phép thử tin cậy để các hacker chứng tỏ chân giá trị của họ. Cho nên mặc dù giải thưởng không lớn về mặt vật chất so với các cuộc thi CTF khác, nhưng DEF CON CTF vẫn thu hút được những đội CTF mạnh nhất thế giới đến từ các nhóm hacker danh tiếng, các chuyên gia bảo mật tên tuổi, cũng như các nhóm nghiên cứu ở những trường đại học lớn. Các đội thi đấu vòng chung kết DEF CON CTF và đoạt giải thưởng được cộng đồng bảo mật trân trọng bởi họ đã chứng tỏ được những kỹ năng hacking "vàng mười" của mình. Thực tế vòng chung kết DEF CON CTF cũng là một dịp quan trọng để các nhà tuyển dụng săn lùng nhân tài trong ngành an toàn thông tin.

nguyễn huy trung.

Bí kíp học IELTS từ 5.5 lên 8.0!

Hi cả nhà, tham gia khá lâu, học hỏi được bao nhiêu kinh nghiệm mà không cống hiến được post nào giá trị, mình thấy xấu hổ vô cùng. Nên sau khi đạt target IELTS xong, mình đã ấp ủ phải cố gắng viết một note thật đầy đủ chia sẻ tất tần tật kinh nghiệm của mình trong quá trình tự học ôn thi IELTS để báo đáp lại (Let’s share to be shared ) .

Giới thiệu qua chút, mình tên Bách. Mình đã tốt nghiệp Đại học Ngoại thương HN (FTU) và hiện đang làm việc tại Ngân hàng Ngoại thương. Mình thi IELTS hồi tháng 4/2013 và được Listening: 8.5, Reading: 8.0, Speaking: 7.5, Writing: 8.0. (Overall 8.0)

Về background,
Tuy mình học FTU nhưng là dân khối A nên tiếng anh cũng thuộc dạng bình thường  chứ ko phải cao thủ như bạn bè cùng lớp khối D. Mấy năm trước mình đã đi học IELTS ở ACET và một số trung tâm, thầy cô khác và sau đó đi thi nhưng chỉ được 5.5 . Nguyên nhân rút ra là do tự học không đúng phương pháp nên học mãi chẳng tiến bộ dù có học thêm ở đâu.  Đợt vừa rồi, công việc hòm hòm, mình đã thay đổi phương pháp học, tập trung tự ôn trong 6 tháng, và kết quả (đặc biệt môn trước đây mình yếu nhất là Writing đc 8.0) đối với mình đúng là ngoài mong đợi. Do vậy, mình nghĩ kinh nghiệm của mình sẽ rất có ích cho các bạn trình độ đang tầm 4.5-6.0 muốn tự học để nâng band score của mình lên 8.0 or cao hơn

LISTENING

1)Nghe tiếng anh kém, nghe thật nhiều BBC, CNN (radio, xem TV) xem phim tiếng anh (không phụ đề) -> nghe sẽ giỏi, làm listening IELTS sẽ điểm cao ??
Sai. Nếu khả năng nghe của bạn chưa tốt thì chắc chắn là bạn nghe các kênh đó sẽ không hiểu tý gì cả. Bạn nhủ thầm cứ cố gắng nghe tiếp rồi sẽ tiến bộ thôi. Lần 2,3,4…n và kết quả là: WOAAAA….vẫn vậy =.=. Nguyên nhân rất đơn giản, thực ra không phải bạn không nghe được gì, bạn vẫn nghe được người ta nói đấy thôi. Nhưng các âm đấy bạn chưa nghe bao giờ (bạn không biết các từ đấy phát âm thế nào hoặc biết nhưng không đúng) nên nghe bạn không hiểu . Việc luyện nghe mà không có transcript cũng giống như bạn tập giải toán mà không có đáp án vậy. Bạn không biết  mình đang làm đúng hay sai thì làm sao rút kinh nghiệm để tiến bộ được (Thực ra: nghe kiểu “tắm ngôn ngữ” bạn vẫn có thể áp dụng, nhưng chỉ nên coi nó như 1 supplementary method thôi chứ không phải main technique. Phương pháp này có đem lại hiệu quả nhưng rất ít)

2)Giải pháp:
Phương pháp luyện nghe hiệu quả nhất (đặc biệt với làm bài nghe trong kỳ thi IELTS) mà mình được biết và đã áp dụng hiệu quả đó là NGHE VÀ CHÉP CHÍNH TẢ. Bạn nghe và chép chính tả lại 100% những gì bạn nghe được. (Nếu bạn nào cũng học FTU thì năm thứ 1 môn tiếng anh các thầy cô cũng hay luyện bạn nghe và chép chính tả. Giờ ko biết còn thế ko? ). Bạn nên kết  hợp luyện nghe và luyện pronunciation luôn (luyện nghe với nói bao giờ cũng nên luyện song song). Cụ thể phương pháp này như sau:

+ Bước 1: tìm một nguồn phát tiếng Anh chuẩn (nói về chủ đề mà bạn thấy hứng thú) và phải có phụ đề (nhất thiết phải có)
Bạn có thể tim trên youtube, các kênh news của BBC, VOA, CNN ( CNN student news – MC nói khá rõ ràng dễ nghe và bài nào cũng có sub đi kèm. Lúc đầu mình nghe chương trình này) các bộ phim tiếng anh cũng được nếu bạn thích nhưng phải có phụ đề đi kèm,. Nếu khả năng nghe của bạn tương đối khá, mình highly recommend các bạn nên nghe các bài thuyết trình ở trang ted.com (“TED là 1 tổ chức toàn cầu chuyên tổ chức các buổi nói chuyện, thuyết trình với các chuyên gia trên thế giới. Các bạn có thể tìm thấy mọi chủ đề mình quan tâm, từ  Gender đến  Technology, Medical,… với đủ mọi độ dài thường là dưới 6 phút hoặc khoảng 20′” – nguồn: Hội sĩ tử IELTS.)
Lưu ý:
+ Bạn chỉ nên chọn bài nghe dưới 10’ thôi không không chép nổi đâu. Như 1 bài phát thanh CNN student news (tầm 10’) mình chép ra cũng thành kín 5 trang giấy và trong 4 ngày mới xong (mỗi ngày mình có 3 tiếng để học t.a)
+ Nếu bạn muốn luyện để thi IELTS là chính thì nên chọn nguồn nói giọng Anh –Anh để nghe. Đang nghe quen giọng Anh-Mỹ đi thi IELTS toàn giọng Anh-Anh cũng khá mệt đấy vì một số từ người Anh phát âm rất đặc trưng và rất khác với tiếng Anh Mỹ

+ Bước 2 (giai đoạn  đau khổ nhất L ): Listen and transcribe it
Bạn nghe và chép lại tất cả những gì bạn nghe được. Đương nhiên là việc này sẽ rất khó, bạn sẽ mắc phải rất nhiều lỗi sai và không nghe được nhiều từ (có thể là từ mới bạn chưa biết, hoặc từ bạn đã biết nhưng bạn lại phát âm sai -> nghe sai). Hồi đầu thử transcribe cnn student news, mình sai toe toét L. Không sao, kinh nghiệm ở đây của mình là:  cứ nghe, cứ viết ra tất cả những gì bạn nghe được (đoán được) rồi so sánh với transcript và rút kinh nghiệm dần dần. Bạn sẽ tiến bộ nhanh hơn bạn nghĩ rất nhiều. Sau này, bạn sẽ thấy do phải chép chỉnh tả 100%, những từ lúc nghe hay sót như “and” “the”, từ có số nhiều hay không…bạn nghe sẽ rất rõ. Và đến khi quay lại làm listening IELTS thì -> Easy as eating pancakes

Lưu ý:
Phần mềm nghe mình khuyên các bạn nên sử dụng để luyện ở bước 2 này là GOM playerthay vì trình chơi nhạc mặc định window media player. Phần mềm này bạn có thể nghe từ đoạn A đến B, tua đi hoặc tua lại trong bao nhiêu giây bằng phím tắt…và rất nhiều tính năng hữu ích khác. Phần mềm No.1 để luyện nghe t.a mà mình vote. Down tại đây:
http://www.download.com.vn/timkiem/GOM+Player/index.aspx

 + Bước 3: Tập đọc lại theo transcript và thu âm lại so sánh
Ở bước này, bạn hãy nghe thật kỹ phát thanh viên đọc, nhấn nhá, nối âm, lên xuống ở đâu. Bạn bắt chiếc giống hệt thế rồi đọc. Sau đó nghe lại phần thu âm giọng đọc của mình, xem chỗ nào chưa giống thì đọc lại. Sửa đến khi nghe lại thấy ưng ý thì thôi.
Công việc này cũng khá là nản nhưng đây là cách luyện Pronunciation cực kỳ hiệu quả. Bản thân mình đã duy trì tập nói theo cách này liên tiếp trong 2,5 tháng. Kết quả rất tuyệt vời khi nói chuyện với một bác Tây, bác khen mình phát âm hay và hỏi đã ở nước ngoài ah làm mình sướng rơn

Lưu ý:
Về thu âm:
+ Bạn hãy mua một tai nghe có mic. Loại nào cũng ok tùy túi tiền của bạn (Nên luyện nghe bằng tai nghe cho giống với khi thi và tập trung hơn). Đi thi thật thì bạn được nghe tai ko dây xịn (mình thi IDP nên ko biết thi BC thì thế nào) nghe sướng hơn tai nghe ở nhà nhiều
+ Dùng phần mềm Audacity để thu. Đây là phần mềm khá nhỏ gọn và tiện để thu âm. (bạn thu âm để luyện speaking chứ ko phải hát hay rap nên ko cần soft kiểu Cool edit pro hay Adobe audition làm gì cho nặng máy ^^ )

Link download:
http://download.com.vn/audio+video/video+editor+studio/5346_audacity.aspx

1 kinh nghiệm nữa. Nếu bạn đang dùng smartphone, hãy search trên store và down apptedict về để học.
Apps này sẽ hỗ trợ bạn viết chính tả theo phương pháp trên mình nói. Nguồn tiếng anh là web ted.com. Lúc viết chính tả bạn sẽ có tùy chọn hiện transcript dịch tiếng Việt nên sẽ dễ dàng hơn khá nhiều.Nếu dùng android giống mình có thể vào appstore.vn down về free.Link down:
http://appstore.vn/android/index.php/details?id=com.egloos.scienart.tedictpro

Phù, vậy là xong Listening. Giải thích cụ thể nên dài dòng vậy thôi chứ 3 bước làm khá nhanh. Nếu bạn kiên trì học theo cách này trong tầm 1 tháng thôi. Mình cam đoan bạn sẽ ngạc nhiên vì sự tiến bộ của bản thân (như mình vậy) :D. Các tips khi đi thi Listening IELTS mình không trình bày, đã có rất nhiều tips post trên mạng. Nếu bạn cần mình sẽ gửi mail hết cho (địa chỉ mail ở cuối bài). Nhưng mình nói thật, áp dụng các tips cho Listening chỉ nâng bandscore cho bạn lên được tầm 0.5-1 điểm thôi. Luyện theo phương pháp trên đến khi trình lên, bạn sẽ thấy cảm giác đang nghe được tầm 15-20 câu (band 5.5) lên 35-40 (band 8+) câu sung sướng thế nào ? :D

SPEAKING 

1. Bạn nói kém và có Vietnamese accent, bạn nghĩ rằng đi học các trung tâm 100% giáo viên bản ngữ sẽ giúp bạn nói hay và tự nhiên ?
Sai. Mình không dám khẳng định 100% là sai vì mình cũng chưa đi học hết tất cả các trung tâm. Nhưng 1 trong những trung tâm mình đã từng đi học là ACET – được đánh giá là trung tâm luyện IELTS tốt nhất  (và đắt nhất) thì đi học nếu bạn nói sai or nói chưa hay, bạn sẽ không được giáo viên sửa đâu. Sẽ không có chuyện họ nhắc bạn nên nhấn âm vào đâu, nối âm thế nào….(nếu có thì rất ít) -> nên mình thấy nhiều bạn học 4,5 khóa (mất tầm mấy chục triệu) nói tiếng anh vẫn chán như thường (và đó còn là trung tâm tốt nhất, nên đừng tin vào quảng cáo của các trung tâm khác bây giờ)

 2. Nên nói tiếng Anh càng nhiều càng tốt ? Gặp ai cũng nói, skype, yahoo, thậm chí nhiều clb tiếng anh IELTS còn rủ nhau ra Hồ Gươm “săn” Tây để nói (nghe hơi dã man)
Với thi speaking IELTS, điều này thực ra mình thấy chỉ 50% là đúng.  Việc bạn nói tiếng anh nhiều chỉ giúp tăng độ trôi chảy và tự tin khi nói của bạn . Thi Speaking bạn cần nói trôi chảy nhưng quan trọng là phải đúng. Một bài nói sai quá nhiều lỗi ngữ pháp bạn sẽ không bao giờ hy vọng được quá điểm 5. Nếu bạn đang nói ở mức “ kém” (tất cả các câu đều sai ngữ pháp, thậm chí lỗi cơ bản)  điều này sẽ khá là tai hại vì bạn sẽ quen với các lỗi sai, sau này rất khó sửa.

Giải pháp:
1) Thay vì nói, mình nghĩ lúc này bạn nên nghe nhiều hơn (input thay vì output) (xem người bản ngữ diễn đạt ý đó thế nào rồi bắt chiếc), xem lại ngữ pháp, đến khi nào bạn thấy nói không còn sai quá nhiều lỗi nữa là được (có thể nhờ bạn bè, giáo viên nghe và nhận xét cho bạn)

2) Luyện pronunciation theo phương pháp mình đã trình bày ở phần Listening. Học tiếng anh (hay học bất kì một ngoại ngữ khác nào nói chung) đơn giản chỉ là sự bắt chước, nhái lại những gì người bản xứ nói và viết. “LEARNING ENGLISH IS NOTHING BUT IMITATION”. Bạn nhái giọng giống native speaker thì chứng tỏ bạn phát âm hay.

3) Sẽ rất tốt nếu bạn có bạn là người bản xứ or bạn được luyện speaking với người có level trên bạn. Họ nghe, nhận xét và giúp bạn sửa lỗi -> bạn sẽ tiến bộ rất nhanh. Nhưng nếu bạn cũng là người có ít mối quan hệ, nhút nhát và sống nội tâm như mình =) , bạn có thể tự nói một mình, thu âm lại và tự chấm theo thang điểm chấm Speaking cũng rất tốt và hiệu quả. Mình thường viết hoặc lên Outline trước khi nói để đảm bảo hai yếu tố: logic + không bị sót.

WRITING

Đây là phần khó tự học nhất nhưng lại là phần mình cải thiện điểm số được nhiều nhât nên mình nghĩ kinh nghiệm của mình sẽ đặc biệt có ích với bạn nào đang có background viết yếu

1.Nên đi học ở trung tâm có giáo viên bản ngữ hay học người Việt
Mình đã từng đi học cả 2 chỗ và có nhận xét như sau:
+ Giáo viên bản ngữ: thường là cho bạn thảo luận với nhau (tất nhiên là bằng t.a) làm bài tập theo giáo trình học của trung tâm (ở ACET có các quyển giáo trình do họ tự soạn như AE1, AE2….Ielts pre) sau đó mới chữa và nói mẹo làm. Trong mỗi buổi học giáo viên phân tích 1 bài và học viên sẽ tự viết lại theo nhóm trên giấy transperency trong thời gian ngắn hơn thi thật (15 phút cho task 1 và 35 phút cho task 2) sau đó giáo viên sẽ thu bài và dùng máy chiếu (overhead) để chữa luôn trên lớp (thực ra không phải buổi nào cũng được thế đâu, cả khóa may ra được 2 buổi và hồi mình học AE7 trở lên mới có)

Ưu : Làm bài tập, thảo luận rồi mới cung cấp tips, bạn sẽ nhớ hơn nhiều là được cho tips ngay từ đầu. Ngoài ra, không chỉ kỹ năng viết, mà 3 kỹ năng còn lại của bạn cũng được cải thiện khi học với người bản ngữ. Nghe thầy bản xứ dạy, cũng chính là lúc bạn luyện nghe,  giao tiếp luôn. Thiết bị, điều kiện học tập tốt -> tiếp thu dễ dàng hơn. Hình như trung tâm nào đắt, còn có nhiều gái xinh, trai đẹp hơn thì phải -> học hứng khởi hơn (cái này có bạn bảo thế, mình ko sure :)))

Nhược: học phí cao (Ila, equest…)  6-9 triệu hoặc rất cao (ACET, BC) trên 15 triệu. Ngoài ra, do tất cả các tips trình bày bằng tiếng Anh nên những bạn tiếng Anh chưa tốt (background < or = 5.5) sẽ khó tiếp thu được 100%. Khi đăng ký khóa học bạn không biết được thầy dạy của bạn là ai, gặp phải thầy dạy ko hay, bạn cũng chả claim được. Một vấn đề nữa, học viết họ thường không phân dạng cụ thể. Ví dụ task 1: ko phân cụ thể thành dạng: bar chart, line chart, table, column, mixed…Nhiều khi học hết khóa mà vẫn chưa biết làm thể nào viết một bài task 1 IELTS hoàn chỉnh.

+ Giáo viên Việt Nam: Tùy phong cách dạy, mà có giáo viên sẽ cung cấp các tips cho bạn, sườn mẫu câu, các academic vocab cho từng chủ đề -> cứ lắp vào mà viết là ok.

Ưu: Học phí rẻ hơn kha khá. Tips, sườn, mẫu câu… được trình bày giải thích bằng tiếng việt nên dễ hiểu (đặc biệt với các bạn tiếng Anh chưa tốt).

 Nhược: Lớp rất đông và phòng học không tiện nghi như các trung tâm trên (vì thường là dạy ở nhà riêng). Giáo viên nào có tiếng thì thậm chí bạn phải ngồi ghế nhựa, đứng mé mà chép bài. Ngoài ra, một số thầy cô dạy chỉ đọc cho bạn chép, không chữa bài -> học khá là boring.
è Tuy nhiên, cá nhân mình thì vẫn thấy riêng Writing thì nên học giáo viên người Việt , đỡ tốn kém mất thời gian.Học giáo viên bản ngữ họ hay dạy kiểu “mua dầm thấm lâu” tốn tiền lắm. Nếu sợ đông, có thể tìm lớp ít người mà giáo viên tốt nhưng chưa có tiếng cũng ok miễn là đảm bảo. Học 1,2 khóa để lấy sườn, mẫu câu, cách làm từng dạng rồi ở nhà tự luyện thêm.

2. Nên đọc tài liệu gì bổ trợ cho Writing IELTS tốt nhất ?
Search trên mạng bạn có thể thấy có rất nhiều lời khuyên như: đọc báo tiếng anh, bbc, cnn,new york times (US), the guardian (UK), đọc truyện tiếng anh, một số trang web về debates, bộ social issues ở thư viện của ACET, BC…
Kinh nghiệm của mình là: ok, mọi thứ trên đều có ích. Nhưng nếu bạn đã xác định muốn tìm nguồn đọc để có ích cho Writing IELTS nhất và nhanh nhất thì bạn cứ tìm và đọc  sample mẫu (band >= 8) cho mình. Trong các sample có mẫu câu, có vocab, ideas…đầy đủ hết. Mà bạn cũng không phải lo từ với cấu trúc có academic hay không ? Cứ thế cóp mà bê nguyên vào bài của bạn.  Đọc trên báo (new york times, guardian…) nhiều câu giọng văn là kiểu viết báo, ko hợp với Academic writing trong IELTS. Các samples mình recommend:
+ Trang web ielts-simon.com của simon (giám khảo ielts). Cóp hết bài mẫu của simon ra mà đọc . Simon quan điểm viết tự nhiên, dễ hiểu theo kiểu người bản xứ thay vì viết khó hiểu như Mat clark
+ A Solution to score 8.0
+ IELTS – Write Right
+ High-scoring Ielts Writing model answers
+ Sách Mat clark (không khuyến khích lắm vì từ và cấu trúc quá khó để hiểu và bắt chiếc)

3. Nên viết theo templates hay freestyle ?
Câu này mình thấy nhiều bạn cũng hay hỏi.
Thứ nhất, bạn nên lưu ý là giám khảo chỉ đánh giá cao nếu các cấu trúc, từ bạn sử dụng liên quan đến chủ đề của đề bài. Ví dụ với chủ đề “health” là một số từ như: a major cause, poor health, manual jobs, physical activity, outdoor sports. “Technology” là: the latest innovations, revolution, major advance, progress …

Nếu bạn dùng các template có các câu hoặc từ mà bài nào cũng dùng được (dù trông có vẻ academic và “nguy hiểm”) ví dụ : “One of the most controversial issues today relates to  ………In this essay, I am going to examine this question from both points of view….

In this essay, I will present both sides and also my own view on this subject. / Before airing my opinion, I will elaborate this controversial issue from diverse perspectives.On one side of the argument there are people who argue that the benefits of considerably outweigh its disadvantages. The main reason for believing this is that…”

giám khảo sẽ biết ngay bạn học thuộc và đương nhiên sẽ không đánh giá cao.

Thứ hai, viết freestyle: với những bạn band 7+ thì mình không có ý kiến gì. Tuy nhiên với các bạn trình độ thấp hơn, mình nghĩ các bạn nên đi theo một kiểu viết tránh việc mỗi hôm viết 1 kiểu (điểm viết của bạn theo đó sẽ mỗi lần một khác). Ví dụ: bài viết gồm 4 đoạn: mở bài, 2 khổ thân bài, kết luận. 1 paragraph bao giờ cũng bắt đầu bằng topic sentence. Triển khai các idea theo cấu trúc “idea-example-explain”, “ideas-Firstly,…Secondly,…, Finally,…”…

 4.  Có người nói viết theo Simon điểm thấp hơn, Matclark điểm cao hơn hoặc ngược lại  -> Nên học viết theo phong cách thầy nào ?

Đáp: Thực ra kỳ thi ielts thực chất chỉ là kỳ kiểm tra khả năng ngoại ngữ của người học không phải bản xứ và band 9 của writing Ielts chỉ là “native speaker-like”. Với những người bản xứ được đào tạo để làm giám khảo IELTS như Mat clark hay Simon thì tất cả bài viết của họ đều xứng đáng được band 9 (hoặc hơn) cả. Vấn đề đặt ra ở đây là phong cách của ai bạn bắt chiếc thì dễ hơn ? Cá nhân mình thấy thì bắt chiếc viết như Simon dễ hơn (đi thi mình viết như Simon).

5.  Tại sao luyện viết rất nhiều (ngày nào cũng viết 2,3 bài) mà mãi không tiến bộ ?

Mình luôn khuyên các bạn mới học viết ielts là nên bỏ thời gian  vào việc chuẩn bị một bài viết như thế nào cho chuẩn thay vì cố gắng viết càng nhiều càng tốt. Ví dụ: một bài task 2.

+ Bạn cần tìm hiểu bài đó thuộc dạng gì: causes & solutions ? opinion hay discuss + opinion ? …

+ Bài viết thuộc chủ đề gì ? Technology, education, enviroment ??.. Bạn có những idea, từ vựng nào thuộc chủ đề này rồi ?

+ Với bài viết như vậy, mở bài bạn sẽ viết gì ? thân bài ? kết luận ?

+ Các cấu trúc bạn sẽ áp dụng trong bài: mệnh đề quan hệ, câu bị động, câu điều kiện…

+ Các cách triển khai ý: idea-example-explain” hay  “ideas – Firstly,…Secondly,…, Finally,…”

+ Các từ để kết nối các câu..

….vân vân..

Thứ hai là với Writing, bạn nên có người chữa bài cho bạn. Biết được lỗi sai ở đâu sau đó sửa bạn mới tiến bộ nhanh được. Đây cũng là lý do riêng với Writing thì mình nghĩ các bạn nên đi học 1,2 khóa cho biết nếu thấy tự học là quá khó.

-> Tóm lại, bạn không cần phải viết quá nhiều, hãy dành thời gian cho quá trình chuẩn bị và cố gắng tìm một người chữa bài cho bạn nếu được



6. Cách học theo văn mẫu thế nào cho hiệu quả ?



Bạn có thể rất háo hức khi down được 1 file nén chứa hàng trăm bài mẫu essay band >8.0, hoặc tìm được mấy quyển sách tuyển tập mấy trăm bài văn mẫu điểm cao và nghĩ rằng đọc hết chúng bạn sẽ điểm cao hơn. Rất tiếc là đa số các bạn đọc xong đều không thấy trình viết khá hơn chút nào. Tại sao lại thế ? Đơn giản vì sách và tài liệu bạn down được, mỗi essay được viết theo một phương pháp khác nhau bởi những người viết khác nhau. Sẽ rất khó cho bạn theo dõi và học hỏi được gì từ đó (ngoài vài từ mới).

Cách khắc phục: Bạn chỉ nên xem văn mẫu của một tác giả và học theo phương pháp, cách tiếp cận tác giả này áp dụng. Ví dụ bạn thích Mat Clark, hãy xem các bài văn mẫu của Mat clark và học theo cách viết đấy, các essay mẫu người khác viết chỉ học hỏi lấy từ vựng thôi. Đừng ham hố down các file nén chứa hàng nghìn bài essay về làm gì vì chúng thực sự không có ích như bạn tưởng.



7. Vậy tóm lại là phải học và bắt chiếc theo cách viết của một tác giả. Nhưng bắt chiếc kiểu gì ?

Đáp: Cái này không cách nào khác là bạn phải bỏ thời gian ra mà tìm hiểu từng bài tác giả đấy viết thế nào ? cách tiếp cận ra sao ? dùng các cách triển khai ý, cấu trúc gì ?.. Tất nhiên là sẽ mất thời gian và khá khó khăn cho các bạn mới bắt đầu. Trong một bài viết, mình không thể nào liệt kê ra hết được. Có lẽ sẽ cố gắng post dần dần dưới dạng video cho dễ hiểu. Hy vọng là các bạn ủng hộ ^^



READING

I. Reading là phần mà tips, các mẹo sẽ giúp bạn nâng điểm số khá nhiều ( ở dưới mình có trích dẫn một số link tips Reading mà mình sưu tầm trên mạng).  Tuy nhiên, để thực sự nâng trình Reading của bạn lên, bạn phải đọc tài liệu tiếng anh thật nhiều và có vốn từ vựng phong phú. Đó cũng là hướng phát triển lâu dài cho khả năng tiếng Anh của bạn chứ không phải chỉ ôn để thi IELTS xong rồi thôi. Do vậy, ở bài chia sẻ này, mình sẽ tập trung vào chia sẻ phương pháp để các bạn đọc tiếng Anh sao cho hiệu quả và có ích nhất.



Phương pháp mà mình muốn chia sẻ với các bạn để nâng trình phần “Reading” trong IELTS nói riêng và tiếng anh nói chung là “The Free Reading Technique”. Phương pháp này do tác giả Hung Q.pham viết trong quyển 5 steps to speak a new language.  Bạn có thể tìm đọc nếu thích. Ở bài này, mình chỉ trình bày những nội dung quan trọng nhất (mà thực ra bạn cũng chỉ cần biết thế, không cần nghiên cứu sâu hơn làm gì) và thêm một số kinh nghiệm thực tế của mình khi áp dụng phương pháp này.



Bước 1:  Tìm một nguồn tài liệu Tiếng Anh phù hợp mà bạn cảm thấy hứng thú, thích đọc

+ Các nguồn mình gợi ý bạn có thể đọc như:



Các trang tin online



Vietnament, vnexpress bản tiếng anh – Nhiều thầy, cô khuyên bạn rằng không nên đọc vì văn phong Việt Nam. Nhưng theo mình, việc đọc các trang này vẫn có ích, giúp bạn đỡ bị khớp hơn nếu thấy đọc các nguồn dưới khó quá

BBC, CNN, new york times (US), the guardian (UK)

Science

http://www.sciencedaily.com/

http://www.newscientist.com/

Kinh tế

http://hbr.org/ (vào blog)

http://www.forbes.com/

http://www.economist.com/

Công nghệ thông tin

http://www.cnet.com/

http://www.pcworld.com/

Thể thao

http://espn.go.com/



Các truyện tiếng Anh:



Bạn có thể down các ebook truyện tiếng anh về đọc trên pc, laptop, ipad, iphone, smartphone… Đừng đọc kiểu Manga tiếng Anh như Doremon, Dragonball, Bleach, Naruto… làm gì. Vì câu cú truyện tranh viết rất khác, và nói thật mình thấy đa phần các bạn xem tranh nhiều hơn là đọc chữ  .Cũng đừng tốn tiền mua sách chữ tiếng anh vì thứ nhất là đắt, thứ hai là không áp dụng được phương pháp này (mình sẽ giải thích ngay dưới đây).

Một số ebook mình recommend:

+ Oxford Bookworm Library: bộ sách tiếng anh của Oxford dùng để học từ vựng, sách được viết theo kiểu truyện (story) theo nhiều cấp độ từ dễ đến khó

down tại đây:

http://vuontoithanhcong.vn/index.php?/topic/23235-tr%E1%BB%8Dn-b%E1%BB%99-truy%E1%BB%87n-oxford-bookworm-library-h%E1%BB%8Dc-ti%E1%BA%BFng-anh/

+ Series truyện kinh dị cho trẻ con của R.L. STINE: Truyện này khá phổ biến vào năm 1994. Tại Việt Nam sêri truyện Goosebumps của Stine được dịch sang tiếng việt và nhanh chóng trở thành bộ truyện ăn khách, được sự đón nhận của đông đảo độc giả. Mỗi truyện khá ngắn, ngôn từ viết cho trẻ em nên rất đơn giản và dễ hiểu. Đọc lại hấp dẫn, lôi cuốn, thích hợp để đọc một mình trong đêm tối cô đơn :))

Xem preview tại đây:

http://vnsharing.net/forum/showthread.php?t=384462

Down tại đây:

http://kickass.to/62-goosebumps-mobi-by-r-l-stine-t7712319.html

+ Harry potter, các truyện khác…(truyện nào cũng được, nhưng tốt nhất đừng dài quá và thích hợp với trình độ của bạn)



Bước 2:   Đọc và…thư giãn



Lưu ý: Trước khi bắt đầu bước 2: bạn hãy tìm một từ điển Anh việt có chức năng Click & see (từ điển Lạc việt, Lingoes, các từ điển online như: tratu.soha.vn, vdict.com…). Chức năng click & see: nghĩa là gặp từ mới bạn chỉ cần chỉ chuột vào đấy (nhấn kèm phím alt hoặc ctrl) là nghĩa tiếng việt của từ đó sẽ hiện ra.

Đọc báo online hay đọc ebook bạn đều có thể dùng chức năng click & see này.



Khi đọc, bạn:

+ Đừng  cố gắng take note bất kỳ cấu trúc, từ vựng khó hoặc mới nào…

+ Đừng ép bản thân phải nhớ bất kỳ từ mới nào

+ Không cần gạch chân, hay note vàng gì đó, không cần thiết

+ Không cần cố gắng đoán nghĩa của từ dựa vào ngữ cảnh làm gì

Bạn chỉ cần đọc và…thư giãn, enjoy nội dung truyện, bài báo. Từ mới nào không hiểu thì dùng từ điển tra, tra bao nhiêu lần tùy bạn. Khi đọc, có thể bạn sẽ gặp các câu dù bạn có tra từ điển cũng không hiểu. Không sao, đơn giản là bỏ qua câu đấy đi, đọc tiếp. Lúc đầu có thể mất rất nhiều thời gian bạn mới đọc xong một quyển sách. Nhưng đến lần 2,3 bạn sẽ thấy bạn đọc rất nhanh. Thậm chí nhanh gấp đôi lúc đọc quyển 1.



Tại sao phương pháp này lại có tác dụng ?

Đọc theo phương pháp này, sau khi đọc xong một vài chương của quyển sách. bạn sẽ thấy có nhiều từ mới bạn gặp đi gặp lại nhiều lần. Và mỗi lần tra nghĩa là một lần bạn nhớ nghĩa của từ vựng đó. Ngoài ra, việc gặp từ mới đó trong các đoạn văn khác nhau, các ngữ cảnh khác nhau sẽ giúp bạn hiểu rõ cả cách sử dụng chúng. Bạn học từ mới theo một cách hoàn toàn tự nhiên và dễ chịu.

Còn đối với các từ, bạn chỉ gặp một, hai lần trong cả chương truyện. Ok, vậy đó không phải là các từ “common words”. Bạn không cần phải nhớ chúng làm gì.

Đối với các từ tra từ điển không thấy nghĩa, bạn có thể vào các trang sau để tra:

www.wordreference.com

http://www.thefreedictionary.com/

englishclub.com

hoặc lên diễn đàn trong nước hoặc nước ngoài hỏi nghĩa của từ đó.

Thứ ba, đọc theo cách này sẽ giúp bạn cảm thấy dễ chịu, thoải mái. Mình biết là nhiều bạn đọc truyện mà chốc chốc lại note vàng, gạch chân, chép vào sổ từ từ mới, ghi flashcard…sẽ chẳng thấy cuốn truyện thú vị gì nữa. Đọc 1, 2 trang bạn sẽ nhanh chóng mệt mỏi và vứt cả truyện lẫn sổ từ của bạn ra 1 góc. Bạn không việc gì phải gồng mình học theo cách đó, cứ để từ mới vào đầu bạn một cách nhẹ nhàng, tự động thôi.

Lưu ý:

Nếu bạn dùng android hoặc iphone, ipad, hoặc các máy tỉnh bảng android. Bạn có thể search app Moon+reader:
https://play.google.com/store/apps/details?id=com.flyersoft.moonreaderp&hl=vi

Phần mềm đọc sách cực tốt, hỗ trợ các loại từ điển. Bạn cài thêm Bluedict và down thêm dữ liệu dictionary của các bộ từ điển như: Lạc việt, oxford, cambridge vào…Chúng sẽ giúp bạn đọc và tra từ điển theo cách Click&see như mình nói phía trên.

Xem thêm tại đây:
http://www.tinhte.vn/threads/mot-so-phan-mem-tu-dien-hay-cho-android.1400248/

II. Tips làm reading của mình thì cũng không có gì đặc biệt mà cũng giống các tips bạn đã biết trên mạng. Mình xin được trích tips làm Reading của thầy Simon (sưu tầm bởi bạn Trần Quang Thắng) ra đây để mọi người theo dõi cho dễ:

Các technique:

http://ielts-simon.com/ielts-help-and-english-pr/2013/05/ielts-reading-techniques.html

Advice về cách làm bài Reading:

http://ielts-simon.com/ielts-help-and-english-pr/2013/01/ielts-reading-my-advice.html

Suggest các cách luyện tập:
http://ielts-simon.com/ielts-help-and-english-pr/2013/01/ielts-reading-some-suggestions.html

Cách quản lý thời gian:
http://ielts-simon.com/ielts-help-and-english-pr/2013/07/ielts-reading-time.html

Dạng bài match headings:
http://ielts-simon.com/ielts-help-and-english-pr/2012/05/ielts-reading-paragraph-headings.html

Dạng bài “which paragraph contains…”:
http://ielts-simon.com/ielts-help-and-english-pr/2013/06/ielts-reading-which-paragraph-contains.html

False/Not Given:
http://ielts-simon.com/ielts-help-and-english-pr/2013/11/ielts-reading-false-or-not-given.html

Dạng multiple choice:
http://ielts-simon.com/ielts-help-and-english-pr/2011/06/ielts-reading-multiple-choice.html

Dạng nối tên người:
http://ielts-simon.com/ielts-help-and-english-pr/2011/12/ielts-reading-match-the-names.html

Written by Nguyen Ngoc Bach from http://scholarshipplanet.info/

Wednesday, July 30, 2014

Thực hiện unpack một file mã độc bằng OllyDbg

Điều quan trọng nhất trong việc phân tích mã độc đó là thực hiện việc unpack thành công. Bởi nếu chúng ta không unpack được thì kết quả phân tích sẽ không được chính xác.
Với công cụ PeiD sẽ giúp ta xác định được trình pack của file cần phân tích, tuy nhiên hạn chế của PeiD là không hỗ trợ việc unpack file đó. Sau khi xác định được trình Pack file, chúng ta có thể lên trên mạng để tìm kiếm phần mêm thực hiện unpack, nếu bạn may mắn thì có thể dễ dàng tìm được do ai đó public, nêu không chúng ta phải làm sao?
Đó chính là mục đích chính của bài viết dưới đây, sử dụng Ollydbg để tự tay mình unpack một file. Cụ thể như sau:
Bước 1: mở OllyDbg lên và kéo file cần phân tích vào
Chúng ta thấy một cửa sổ thông báo (đơn giản vì đây là một file đã được packed). Chúng ta chọn Yes

Bước 2: chọn Option/Debuggin options hoặc Alt+O
Bước 3: lựa chọn tab SFX, sau đó lựa chọn như hình bên dưới
nhấn OK
Bước 4: nhấn vào nút hai mũi tên màu xanh như hình dưới 
và đợi OllyDbg tracing SFX (Self-Extractor): có nghĩa là tự bản thân wrapper sẽ unpack trong chương trình và đặt các memory breakpoint để tìm kiếm Original Entry Point
kết quả chúng ta có như sau: 
chú ý: Real entry point of SFX code có địa chỉ F1D0, thì có thể đây chính là Original Entry Point chúng ta cần tìm
Bước 5: Tiến hành Dump file
Chọn Plug-in/OllyDump/Dump debugged process
Một cửa sổ mở ra như sau, bạn chọn các lựa chọn như hình sau đó nhấn phím Dump
lưu file dump này lại với tên bất kỳ, ví dụ ở đây tôi đặt tên là dump.exe
Bước 6: Sau khi ta có được file dump, thì chúng ta đã đi được 1/2 quãng được để unpack một file. Nửa quãng đường còn lại ta cần phải tiến hành reconstruct lại các import của file này bằng phần mềm ImpRec 1.7 e (đã cung cấp trong tools.rar)
- mở ImpRect lên, chọn đến file chúng ta cần phân tích (chú ý không phải là file dump.exe ta làm ở trên)
- tại OEP (trong IAT Infos needed), chúng ta điền giá trị F1D0 (địa chỉ mà chúng ta tìm được SFX ở trên)
và click vào IAT AutoSearch, một cửa sổ hiện ra như sau:
nhấn OK
sau đó click vào Get Imports
chúng ta sẽ có kết quả cửa sổ như trên
- tiếp đó ta chọn nút  Fix Dump
ta chọn file dump.exe mà ta đã dump ở trên chọn Open, kết quả hiện thị như sau:
tại cửa sổ Log, ta sẽ có thông báo dump.exe saved susscessfully. 
Như vậy ta đã unpack thành công!
Nguyễn Huy Trung.



Saturday, July 12, 2014

CTF là gì?

CTF là gì?
CTF là viết tắt của Capture The Flag, và bằng vốn tiếng Anh kinh dị của mình thì nó có nghĩa kiểu kiểu như là Lấy cờ, Tìm cờ (giống trò chơi hồi bé, nhắm mắt đếm 5, 10, 15, 20, 25…, cho đến 100 thì bắt đầu đi kiếm mấy đứa đang ẩn nấp khắp mọi nơi ấy). Cờ ở đây thường là một đoạn văn bản, mà có thể được kiểm tra tự động. Ví dụ:
  • DayLaCo
  • yeuchimse_hinh_nhu_rat_dang_yeu
  • c41_n4y_cung_g01_l4_c0
Tức là, nếu quy ra cuộc sống tự nhiên, CTF tương tự như việc chúng ta được thả vào một căn phòng, và nhận yêu cầu: “Hãy tìm cho tôi một cái gì đó”. Cái gì đó ở đây (tức cờ), có thể được quy định sẵn về hình dáng của nó (như flag{abcdef}ctf_this_is_flagchẳng hạn), hoặc không có thông tin gì kèm theo, khi đó chúng ta sẽ phải dựa theo cảm giác, rằng khi thấy một cái gì đó lạ lạ, thì nó rất có thể là cờ. 
Capture The Flag (CTF) là một loại đặc biệt của các cuộc thi an toàn thông tin. Thường có ba dạng CTFs đó là: Jeopardy, Attack-Defence và kết hợp giữa hai loại đó.Các cuộc thi CTFs được thiết kế để thử thách người tham gia trong việc tổ chức, phản ứng với các loại tấn công được tìm thấy trong thực tế. Để hoàn thành cuộc thi rất nhiều các kĩ năng cần phải có, như là:Reverse-engineering, network sniffing, protocol analysis, system administration, programming, cryptanalysis... Do đụng chạm đến nhiều kĩ năng như vậy cho nên đội nào có các thành viên có kĩ năng và kinh nghiệm trải đều trên các kĩ năng khác nhau thì cơ hội chiến thắng sẽ cao nhất.+ Jeopardy style: cuộc thi sẽ có một tập hợp các câu hỏi (vấn đề) cần giải quyết, các câu hỏi này được sắp xếp vào các loại khác nhau, ví dụ như Web, Forensic, Crypto, Binary hoặc là cái gì đó... trong mỗi loại này các câu hỏi lại được sắp xếp theo thứ tự tăng độ khó (cũng là thứ tự tăng dần điểm số). Các đội sẽ giải các câu hỏi này và lấy được điểm của câu hỏi đó. Đến cuối cùng đội nào dành được nhiều điểm nhất trong thời gian ngắn nhất sẽ là đội đứng đầu. Cuộc thi nổi tiếng nhất cho dạng CTF Jeopardy là DEF CON CTF Qualifier(Offical URL: https://legitbs.net/).
 Vừa rồi cũng vừa mới diễn ra cuộc thi này của năm 2013 (http://2013.legitbs.net) và đã có một đội của Việt Nam lọt vào top 12 (đó là đội CLGT - Cửu Long Giáng Thế) và sẽ được tham gia cuộc thi DEF CON CTF (cuộc thi này dạng Attack-Defence chứ không phải Jeopardy) tại Last Vegas tới đây.+ Attack-Defence: dạng này thì mỗi đội sẽ được cung cấp riêng một máy chủ (hosts) hoặc một mạng riêng (network) mà chúng chứa các lỗi bảo mật (vulnarable services). Nhiệm vụ của các đội là vá lỗi bảo mật của mình đồng thời tấn công vào hệ thống của đối thủ. Bảo mật tốt sẽ được điểm Defence và tấn công tốt sẽ được điểm Attack. Cuộc thi nổi tiếng nhất về dạng này là DEF CON CTF (được xem như là World Cup của các cuộc thi CTF - Offical URL: http://ddtek.biz/).
Các bạn có thể tìm hiểu nhiều hơn về CTF tại trang: https://ctftime.org/Ở trang web này có tất tần tật mọi thứ về CTF, đây là trang lưu trữ của các cuộc thi CTF. Các bạn có thể tìm thấy các thông tin như: các cuộc thi đã diễn ra, sắp diễn ra, thứ hạng của các đội, các bài viết (writeups) của các đội sau khi đã giải quyết được các vấn đề trong cuộc thi ...blah....blah....

Cụ thể với WhiteHat CTF 2013, cuộc thi chia ra các mảng là Web, Crypto, Reverse, Forensic và Exploit. Mình sẽ minh họa với bài I love Sherlock Holmes, thuộc mảng Crypto.


Nội dung chính
Đề bài, chúng ta được cung cấp 1 file hình như sau:
Không có gì khác, tất cả chỉ vậy thôi, cũng không nói rằng chúng ta phải làm gì.
Đó chính là điều các bạn cần lưu ý, vì trừ trường hợp đặc biệt, còn lại thì chúng ta hiển nhiên cần hiểu rằng mọi bài sẽ có một đòi hỏi duy nhất, đó là tìm ra cờ, và submit kiếm điểm. Thay vì viết là: “Tìm x sao cho: x + 1 = 2″, chúng ta chỉ cần một cái đề: “x + 1 = 2″ cũng đã coi như quá đủ!
Trở lại với công việc, nếu bạn đã từng đọc Holmes (mình thì khỏi nói, mình vô cùng cuồng Holmes và mỗi ngày hầu như đều đọc đi đọc lại mấy mẩu chuyện đã thuộc nằm lòng), thì bạn sẽ nhận ra ngay đây là phương pháp mã hóa xuất hiện trong vụ án “Những hình nhân nhảy múa”, tiếng Anh là Dancing Man. Ở vụ án này, Holmes dựa theo tần suất xuất hiện của từng chữ cái để dần dần suy ra bảng mã tham chiếu hoàn chỉnh. Chúng ta may mắn hơn Holmes, vì chúng ta có Google. Google biết mọi thứ, đó chính là niềm tin của mình sweet_kiss
Search một lúc, ta có bảng mã cho Dancing Man như sau:
Đơn giản là đối chiếu đề bài với bảng mã tìm được, chúng ta có dãy ký tự:
RHNTKXTMTEXGMXWWXVMBOX
Nó có phải là cờ không?
Tất nhiên là bạn có quyền thắc mắc như vậy, dù rằng thông thường cờ sẽ không vô nghĩa và xấu xí đến thế  emo_popo_sweat
Khỏi cần thắc mắc dài dòng làm gì, submit thử thì biết chứ có gì đâu.
Wrong!
Đổi sang chữ thường và submit lại.
Wrong!
emo_popo_pudency Đây có lẽ chính là điểm dừng của một số đội chơi khác, vì một lý do quá kinh khủng: không biết phải làm gì nữa emo_popo_beat_plaster

RHNTKXTMTEXGMXWWXVMBOX

Sau khi rà soát lại để chắc chắn rằng không đối chiếu nhầm ở đâu đó, chúng ta sẽ quên hết mọi thứ trong quá khứ, và coi như đề bài chỉ bắt đầu từ cái dòng ký tự xấu xí này mà thôi.
Có khá nhiều hướng khi giải quyết một bài crypto, như XOR các byte với một giá trị x nào đó, cộng thêm một giá trị y nào đó vào từng ký tự, xoay vòng các ký tự theo độ lệch z (cũng nào đó), hoặc phổ biến không kém, đó là hoán vị các ký tự (A thành S, B thành E, C thành X…), và nhiều rất nhiều thuật toán từ cơ bản đến nâng cao khác.
Hướng XOR ít khả thi, do chuỗi ta đang có rất đẹp (đẹp ở đây tức nó đều bao gồm các ký tự chữ cái), mà XOR thì không có đặc tính giữ lại độ đẹp của mật mã sau khi được giải mã (dù rằng một vài giá trị khi dùng làm khóa cũng mang lại điều này). Tuy nhiên, chúng ta vẫn sẽ giữ lại nó trong đầu như một phương án dự phòng.
Cộng thêm giá trị vào các byte, đây là một hướng tốt, có thể thử. Nhưng do mật mã có cả X và B, nên cộng thì cũng dở mà trừ thì cũng dở (vì chắc là nó vượt ra ngoài 2 biên của bảng chữ cái), xếp nó sau XOR theo độ ưu tiên vậy.
Xoay vòng các ký tự (còn gọi là Caesar): Hướng này vô cùng khả thi, do là xoay vòng, nên X + 3 = Z + 1 sẽ quay về A, nên đảm bảo rằng kết quả mã hóa cũng đẹp y như mật mã vậy. Hãy quan tâm đến nó một chút.
Hoán vị các ký tự, hướng này có thể loại ngay, do mật mã quá ngắn, không đủ cơ sở để suy luận.

Caesar

Vấn đề tiếp theo cần đối mặt, đó là nếu chọn Caesar, thì xoay với độ lệch bao nhiêu? Phổ biến thì chúng ta biết đến Rot13 (A sẽ chuyển thành N, B sẽ chuyển thành O, C sẽ chuyển thành P, và ở chiều ngược lại, N sẽ chuyển thành A, O sẽ chuyển thành B, P sẽ chuyển thành C).
Với bài này, Rot13 cho ra kết quả không đẹp:
Rot13(RHNTKXTMTEXGMXWWXVMBOX) = EUAGXKGZGRKTZKJJKIZOBK
Xấu như gấu emo_popo_beat_shot
Nhưng Rot13 chỉ là cái người ta hay dùng, và thực tế thì mình đã gặp không ít bài mà người ta Rot16 phút, Rot69, thậm chí Rot linh tinh loạn cả lên. Mà cũng chẳng sao cả, chúng ta có thể dùng một vài tool trên mạng, hoặc tự code vài dòng để có được kết quả của tất cả các phép Rot từ 1 đến 26, và xem xem có kết quả nào khả quan không:
Rot1: SIOULYUNUFYHNYXXYWNCPY
Rot2: TJPVMZVOVGZIOZYYZXODQZ
Rot3: UKQWNAWPWHAJPAZZAYPERA
Rot4: VLRXOBXQXIBKQBAABZQFSB
Rot5: WMSYPCYRYJCLRCBBCARGTC
Rot6: XNTZQDZSZKDMSDCCDBSHUD
Rot7: YOUAREATALENTEDDECTIVE
Rot8: ZPVBSFBUBMFOUFEEFDUJWF
Rot9: AQWCTGCVCNGPVGFFGEVKXG
Rot10: BRXDUHDWDOHQWHGGHFWLYH
Rot11: CSYEVIEXEPIRXIHHIGXMZI
Rot12: DTZFWJFYFQJSYJIIJHYNAJ
Rot13: EUAGXKGZGRKTZKJJKIZOBK
Rot14: FVBHYLHAHSLUALKKLJAPCL
Rot15: GWCIZMIBITMVBMLLMKBQDM
Rot16: HXDJANJCJUNWCNMMNLCREN
Rot17: IYEKBOKDKVOXDONNOMDSFO
Rot18: JZFLCPLELWPYEPOOPNETGP
Rot19: KAGMDQMFMXQZFQPPQOFUHQ
Rot20: LBHNERNGNYRAGRQQRPGVIR
Rot21: MCIOFSOHOZSBHSRRSQHWJS
Rot22: NDJPGTPIPATCITSSTRIXKT
Rot23: OEKQHUQJQBUDJUTTUSJYLU
Rot24: PFLRIVRKRCVEKVUUVTKZMV
Rot25: QGMSJWSLSDWFLWVVWULANW
Nếu tiếng Anh của bạn cũng siêu đẳng như tiếng Anh của mình, bạn sẽ thấy ngay Rot7 là cái mà ta đang tìm, kết quả thu được thực sự quá đẹp:
YOUAREATALENTEDDECTIVE
Nó đẹp đến nỗi mà nó đã có thể là cờ rồi, mình đặt niềm tin với tỉ lệ đặt 6 ăn 9 emo_popo_sure

Wrong!

Wrong!

Wrong!


emo_popo_waaaht  surrender
A du kít đinh mi ops
À hông có sao, còn chữ thường, vẫn còn chữ thường nữa mà emo_popo_cry
youareatalenteddective

Correct :)

Tổng kết

Như vậy, là mình đã vừa giới thiệu một vài điểm sơ qua về CTF, cũng như trình tự suy luận của mình đối với một bài thi cụ thể. Kiến thức là rất rộng (và sâu), nên chắc chắn rằng chúng ta sẽ luôn phải học hỏi hăng say nếu không muốn bị bỏ lại đằng sau và mau mau rớt hạng. Nếu bạn có gì đó không hiểu, hoặc bực mình vì chẳng biết XOR, Caesar nó là cái khỉ gì cả, thì hãy yên tâm, không ai sinh ra đã biết cộng trừ nhân chia đâu. Bạn còn rất nhiều cơ hội để tìm hiểu và tích lũy kinh nghiệm. Bạn có thể là người xuất phát muộn hơn, nhưng không ai có thể ngăn cản việc bạn về đích sớm hơn cả.
Chào mừng bạn đến với CTF! emo_popo_beauty

Phân tích gói tin với WIRESHARK

Giới thiệu qua một chút về Wireshark

- WireShark có một bề dầy lịch sử. Gerald Combs là người đầu tiên phát triển phần mềm này. Phiên bản đầu tiên được gọi là Ethereal được phát hành năm 1998. Tám năm sau kể từ khi phiên bản đầu tiên ra đời, Combs từ bỏ công việc hiện tại để theo đuổi một cơ hội nghề nghiệp khác. Thật không may, tại thời điểm đó, ông không thể đạt được thoả thuận với công ty đã thuê ông về việc bản quyền của thương hiệu Ethereal. Thay vào đó, Combs và phần còn lại của đội phát triển đã xây dựng một thương hiệu mới cho sản phẩm “Ethereal” vào năm 2006, dự án tên là WireShark.
- WireShark đã phát triển mạnh mẽ và đến nay, nhóm phát triển cho đến nay đã lên tới 500 cộng tác viên. Sản phẩm đã tồn tại dưới cái tên Ethereal không được phát triển thêm.
- Lợi ích Wireshark đem lại đã giúp cho nó trở nên phổ biến như hiện nay. Nó có thể đáp ứng nhu cầu của cả các nhà phân tích chuyên nghiệp và nghiệp dư và nó đưa ra nhiều tính năng để thu hút mỗi đối tượng khác nhau.

Các giao thực được hỗ trợ bởi WireShark:

WireShark vượt trội về khả năng hỗ trợ các giao thức (khoảng 850 loại), từ những loại phổ biến như TCP, IP đến những loại đặc biệt như là AppleTalk và Bit Torrent. Và cũng bởi Wireshark được phát triển trên mô hình mã nguồn mở, những giao thức mới sẽ được thêm vào. Và có thể nói rằng không có giao thức nào mà Wireshark không thể hỗ trợ.
  • Thân thiện với người dùng: Giao diện của Wireshark là một trong những giao diện phần mềm phân tích gói dễ dùng nhất. Wireshark là ứng dụng đồ hoạ với hệ thống menu rât rõ ràng và được bố trí dễ hiểu. Không như một số sản phẩm sử dụng dòng lệnh phức tạp như TCPdump, giao diện đồ hoạ của Wireshark thật tuyệt vời cho những ai đã từng nghiên cứu thế giới của phân tích giao thức.
  • Giá rẻ: Wireshark là một sản phẩm miễn phí GPL. Bạn có thể tải về và sử dụng Wireshark cho bất kỳ mục đích nào, kể cả với mục đích thương mại.
  • Hỗ trợ: Cộng đồng của Wireshark là một trong những cộng đồng tốt và năng động nhất của các dự án mã nguồn mở.
  • Hệ điều hành hỗ trợ Wireshark: Wireshark hỗ trợ hầu hết các loại hệ điều hành hiện nay.
1. Một số tình huống cơ bản
Trong phần này chúng ta sẽ đề cập đến vấn đề cụ thể hơn. Sử dụng Wireshark và phân tích gói tin để giải quyết một vấn đề cụ thể của mạng.
Chúng tôi xin đưa ra một số tình huống điển hình.
A Lost TCP Connection (mất kết nối TCP)
Một trong các vấn đề phổ biến nhất là mất kết nối mạng.Chúng ta sẽ bỏ qua nguyên nhân tại sao kêt nối bị mất, chúng ta sẽ nhìn hiện tượng đó ở mức gói tin.
Ví dụ:
Một ví truyền file bị mất kết nối:
Bắt đầu bằng việc gửi 4 gói TCP ACK từ 10.3.71.7 đến 10.3.30.1.


Hình 3.1-1: This capture begins simply enough with a few ACK packets.
Lỗi bắt đầu từ gói thứ 5, chúng ta nhìn thấy xuất hiện việc gửi lại gói của TCP.
Hình 3.1-2: These TCP retransmissions are a sign of a weak or dropped connection.
Theo thiết kế, TCP sẽ gửi một gói tin đến đích, nếu không nhận được trả lời sau một khoảng thời gian nó sẽ gửi lại gói tin ban đầu. Nếu vẫn tiếp tục không nhận được phản hồi, máy nguồn sẽ tăng gấp đôi thời gian đợi cho lần gửi lại tiếp theo.


Như ta thấy ở hình trên, TCP sẽ gửi lại 5 lần, nếu 5 lần liên tiếp không nhận được phản hồi thì kết nối được coi là kết thúc.
Hiện tượng này ta có thể thấy trong Wireshark như sau:
Hình 3.1-4: Windows will retransmit up to five times by default.
Khả năng xác định gói tin bị lỗi đôi khi sẽ giúp chúng ta có thể phát hiện ra mấu trốt mạng bị mất là do đâu.
Unreachable Destinations and ICMP Codes (không thể chạm tới điểm cuối và các mã ICMP)
Một trong các công cụ khi kiểm tra kết nối mạng là công cụ ICMP ping. Nếu may mắn thì phía mục tiêu trả lời lại điều đó có nghĩa là bạn đã ping thành công, còn nếu không thì sẽ nhận được thông báo không thể kết nối tới máy đích. Sử dụng công cụ bắt gói tin trong việc này sẽ cho bạn nhiều thông tin hơn thay vì chỉ dung ICMP ping bình thường. Chúng ta sẽ nhìn rõ hơn các lỗi của ICMP.
Hình 3.1-5: A standard ping request from 10.2.10.2 to 10.4.88.88
Hình dưới đây cho thấy thông báo không thể ping tới 10.4.88.88 từ máy 10.2.99.99.
Như vậy so với ping thông thường thì ta có thể thấy kết nối bị đứt từ 10.2.99.99. Ngoài ra còn có các mã lỗi của ICMP, ví dụ : code 1 (Host unreachable)
Hình 3.1-6: This ICMP type 3 packet is not what we expected.
Unreachable Port (không thể kết nối tới cổng)
Một trong các nhiệm vụ thông thường khác là kiểm tra kết nối tới một cổng trên một máy đích. Việc kiểm tra này sẽ cho thấy cổng cần kiểm tra có mở hay không, có sẵn sang nhận các yêu cầu gửi đến hay không.
Ví dụ, để kiểm tra dịch vụ FTP có chạy trên một server hay không, mặc định FTP sẽ làm việc qua cổng 21 ở chế độ thông thường. Ta sẽ gửi gói tin ICMP đến cổng 21 của máy đích, nếu máy đích trả lời lại gói ICMP loại o và mã lỗi 2 thì có nghĩa là không thể kết nối tới cổng đó.s
Fragmented Packets


Hình 3.1-7: This ping request requires three packets rather than one because the data being transmitted is
above average size.
Ở đây có thể thấy kích thước gói tin ghi nhận được lớn hơn kích thước gói tin mặc định gửi đi khi ping là 32 bytes tới một máy tính chạy Windows.
Kích thước gói tin ở đây là 3,072 bytes.
Determining Whether a Packet Is Fragmented (xác định vị trí gói tin bị phân đoạn)
No Connectivity (không kết nối)
Vấn đề : chúng ta có 2 nhân viên mới Hải và Thanh và được sắp ngồi cạnh nhau và đương nhiên là được trang bị 2 máy tính. Sauk hi được trang bị và làm các thao tác để đưa 2 máy tính vào mạng, có một vấn đề xảy ra là máy tính của Hải chạy tốt, kết nối mạng bình thường, máy tính của Thanh không thể truy nhập Internet.
Mục tiêu : tìm hiểu tại sao máy tính của Thanh không kết nối được Internet và sửa lỗi đó.
Các thông tin chúng ta có
  • cả 2 máy tính đều mới
  • cả 2 máy đều được đặt IP và có thể ping đến các máy khác trong mạng
Nói tóm lại là 2 máy này được cấu hình không có gì khác nhau.
Tiến hành
Cài đặt Wireshark trực tiếp lên cả 2 máy.
Phân tích
Trước hết trên máy của Hải ta nhìn thấy một phiên làm việc bình thường với HTTP. Đầu tiên sẽ có một ARP broadcast để tìm địa chỉ của gateway ở tầng 2, ở đây là 192.168.0.10. Khi máy tính của Hải nhận được thông tin nó sẽ bắt tay với máy gateway và từ đó có phiên làm việc với HTTP ra bên ngoài.
Hình 3.1-8: Hải’s computer completes a handshake, and then HTTP data transfer begins.
Trường hợp máy tính của Thanh
Hình 3.1-9: Thanh’s computer appears to be sending an ARP request to a different IP address.
Hình trên cho thấy yêu cầu ARP không giống như trường hợp ở trên. Địa chỉ gateway được trả về là 192.168.0.11.
Như vậy có thể thấy NetBIOS có vấn đề.
NetBIOS là giao thức cũ nó sẽ được thay thế TCP/IP khi TCP/IP không hoạt động. Như vậy là máy của Thanh không thể kết nối Internet với TCP/IP.
Chi tiết yêu cầu ARP trên 2 máy :
Máy Hải
Máy Thanh
Kết luận : máy Thanh đặt sai địa chỉ gateway nên không thể kết nối Internet, cần đặt lại là 192.168.0.10.
The Ghost in Internet Explorer (con ma trong trình duyệt IE)
Hiện tượng : máy tính của A có hiện tượng như sau, khi sử dụng trình duyệt IE, trình duyệt tự động trỏ đến rất nhiều trang quảng cáo. Khi A thay đổi bằng tay thì vẫn bị hiện tượng đó thậm chí khở động lại máy cũng vẫn bị như thế.
Thông tin chúng ta có
  • A không thạo về máy tính lắm
  • Máy tính của A dùng Widows XP, IE 6
Tiến hành
Vì hiện tượng này chỉ xảy ra trên máy của A và trang home page của A bị thay đổi khi bật IE nên chúng ta sẽ tiếp hành bắt gói tin từ máy của A. Chúng ta không nhất thiết phải cài Wireshark trực tiếp từ máy của A. Chúng ta có thể dùng kỹ thuật
“Hubbing Out” .
Phân tích
Hình 3.1-13: Since there is no user interaction happening on A’s computer at the time of this capture, all of these packets going across the wire should set off some alarms.
Chi tiết gói tin thứ 5:
Hình 3.1-14: Looking more closely at packet 5, we see it is trying to download data from the Internet.
Từ máy tính gửi yêu cầu GET của HTTP đến địa chỉ như trên hình.
Hình 3.1-15: A DNS query to the weatherbug.com domain gives a clue to the culprit.
Gói tin trả lại bắt đầu có vấn đề : thứ tự các phần bị thay đổi.
Một số gói tiếp theo có sự lặp ACK.
Hình 3.1-16: A DNS query to the weatherbug.com domain gives a clue to the culprit.
Sau một loạt các thay đổi trên thì có truy vấn DNS đến deskwx.weatherbug.com
Đây là địa chỉ A không hề biết và không có ý định truy cập.
Như vậy có thể là có một process nào đó đã làm thay đổi địa chỉ trang chủ mỗi khi IE được bật lên. Dùng một công cụ kiểm tra process ẩn ví dụ như Process Explore và thấy rằng có tiến trình weatherbug.exe đang chạy. Sau khi tắt tiến trình này đi không còn hiện tượng trên nữa.
Thông thường các tiến trình như weatherbug có thể là virus, spyware.
Giao diện Process Explore
Lỗi kết nối FTP
Tình huống : có tài khoản FTP trên Windows Server 2003 đã update service packs vừa cài đặt xong, phần mềm FTP Server hoàn toàn bình thường, khoản đúng nhưng không truy nhập được.
Thông tin chúng ta có
  • FTP làm việc trên cổng 21
Tiến hành
Cài đặt Wireshark trên cả 2 máy.
Phân tích
Client:
Hình 3.1-19: The client tries to establish connection with SYN packets but gets no response; then it sends a
few more.
Client gửi các gói tin SYN để bắt tay với server nhưng không có phản hồi từ server.
Server :
Hình 3.1-20: The client and server trace files are almost identical.
Có 3 lý do có thể dẫn đến hiện tượng trên
  • FTP server chưa chạy, điều này không đúng vì FTP server của chúng ta đã chạy như kiểm tra lúc đầu
  • Server quá tải hoặc có lưu lượng quá lớn khiến không thể đáp ứng yêu cầu. Điều này cũng không chính xác vì server vừa mới được cài đặt.
  • Cổng 21 bị cấm ở phía clien hoặc phía server hoặc ở cả 2 phía. Sau khi kiểm tra và thấy rằng ở phía Server cấm cổng 21 cả chiều Incoming và Outgoing trong Local Security Policy


Kết luận

Đôi khi bắt gói tin không cho ta biết trực tiếp vấn đề nhưng nó đã hạn chế được rất nhiều trường hợp và giúp ta đưa ra suy đoán chính xác vấn đề là gì.
vnsecurity.vn