Showing posts with label beginner. Show all posts
Showing posts with label beginner. Show all posts

Sunday, April 8, 2012

IT Security Certifications (หรือ เซอร์ด้านซีเคียวริตี้) ที่ควรจะรู้จัก

สำหรับหลายๆ ท่านที่คิดอยากจะก้าวเข้ามาทำงานในสาย IT Security หรือกำลังทำงานด้านนี้อยู่แล้ว ก็คงที่จะหนีไม่พ้นความคิดที่ว่าอยากจะลองไปสอบเอา certification (ผมขอเรียกสั้นๆ ว่า cert นะครับ) ทางด้านที่เกี่ยวกับ security แน่นอน ซึ่งจะว่าไปแล้วก็ถือว่าเป็นเรื่องปกติของชาวไอที ที่มักจะหาความก้าวหน้าทางด้านการงานด้วยการไปสอบเก็บ cert บางคนก็หวังว่าพอสอบผ่านได้ cert มาแล้ว ก็จะได้เงินเดือนเพิ่มขึ้น (จริงๆ แล้วน่าจะเหมือนกันทุกคนนะครับ เพราะผมคิดว่าคงไม่มีใครหรอกที่คิดจะไปเสียเงินสอบ แถมมีความเสี่ยงกับการสอบตกด้วย โดยที่ไม่หวังว่าจะได้เงินเดือนหรือมีค่าตอบแทนเพิ่ม :-) บางคนก็หวังว่าพอสอบผ่านแล้วจะได้เอา cert ที่ได้ไปใช้หางานใหม่ที่ดีกว่างานปัจจุบัน (ก็อีกแหละครับ เหตุผลเดิม หางานใหม่ ก็ต้องได้เงินเดือนมากกว่างานเก่า) แล้วก็มีบางคนที่ชอบไปสอบเก็บ cert เอาไว้ใช้สำหรับประดับบารมีเฉยๆ หรือจะพูดว่าเอาไว้อวดความรู้ ให้ชาวโลกได้รับทราบว่า "ข้าพเจ้านี่แหละคือเก่งสุดยอดระดับเทพ" พอดูนามบัตรที มี cert ต่อท้ายชื่อตัวเองยาวเป็นหางว่าวเลย โอ้วแม่เจ้า! ผมดูแล้วตาลาย งง ตกลงตรงไหนกันแน่ที่เป็นชื่อคนละคร้าบเนี้ย คนประเภทนี้ก็จะเป็นพวกที่ทำงานทางด้านเป็นที่ปรึกษากับเป็นอาจารย์ เพราะเค้าต้องทำตัวให้ดูน่าเชื่อถือและบางทีก็ต้องสอนหรือติววิชาสอบ cert ต่างๆ เลยจำเป็นต้องทำเป็นตัวอย่าง ด้วยการไปสอบให้ตัวเองผ่านก่อนที่จะมาสอนคนอื่นได้ แต่ก็เอาเถอะครับ ต่างคนต่างความคิด สำหรับผมเอง ก็เคยทำอาชีพเป็นทั้งที่ปรึกษาและอาจารย์สอนด้าน IT Security มาก่อน ก็เลยมีความจำเป็นที่จะต้องไปสอบเอา cert เพื่อมาใช้สอนคนอื่นและเพื่อความก้าวหน้าทางวิชาชีพของตัวเองด้วย

เอาละครับ เรามาเข้าเนื้อหาของโพสนี้กันดีกว่า ก่อนอื่น เรามาทำความเข้าใจกับความหมายของคำว่า vendor-neutral certification ซึ่งหมายถึง cert ประเภทที่ไม่ยึดติดหรือมีเนื้อหาของข้อสอบที่เกี่ยวกับเทคโนโลยีของบริษัทใดเพียงบริษัทเดียว เนื้อหาของ cert ประเภทนี้จะเป็นลักษณะที่เน้นทางด้านวิชาการ ภาพรวมหรือ concept โดยสามารถนำความรู้เหล่านี้ไปประยุกต์ใช้กับเทคโนโลยีของบริษัทไอทีต่างๆ ได้ ซึ่ง cert ทางด้าน IT Security มักจะเป็นแบบ vendor-neutral เพราะว่าการรักษาความปลอดภัยของระบบไอทีนั้น มันเป็นส่วนหนึ่งของทุกๆ เทคโนโลยีภายในองค์กร ไม่ว่าจะเป็น software หรือ hardware ก็ตาม และผู้ที่ทำงานด้าน IT Security ก็ควรที่จะมีความรู้ในหลายๆ ด้าน ไม่ว่าจะเป็นด้าน OS (เช่น Windows และ Linux) หรือ Networking (เช่น Firewall, IDS/IPS และ Anti-Spam) เพื่อที่จะสามารถวางแผนการป้องกันระบบไอทีจากการถูกโจมตีหรือถูกแฮกให้ได้มีประสิทธิภาพในทุกๆ ด้าน



ดังนั้น เนื้อหาของข้อสอบด้าน IT Security มักจะเป็นการผสมผสานกันขององค์ความรู้ไอทีหลายๆ ด้านเข้ามาไว้ด้วยกัน โดยส่วนใหญ่จะไม่ค่อยเน้นด้านเทคนิคมากนัก (ยกเว้นว่าเราจะไปสอบ cert สำหรับการเป็นนักเจาะระบบ หรือที่เรียกว่า Penetration Tester) จึงทำให้การเตรียมตัวอ่านหนังสือสอบนั้นใช้เวลาพอสมควร โดยเฉพาะอย่างยิ่งสำหรับผู้ที่ยังมีประสบการณ์ทำงานไม่มากนัก ก็ต้องขยันกันหน่อยนะครับ (อยากมัวแต่เอาเวลาพักไปนั่งเล่นเกมส์คอมนะครับ คงต้องเปลี่ยนมาเป็นนั่งอ่านหนังสือแทน :-)


สำหรับ cert ตัวแรกที่ผมจะแนะนำ คือ Security+ (หรือเรียกสั้นๆ ว่า Sec+) เหมาะสำหรับผู้ที่เริ่มต้นในการทำงานสาย security เพราะว่าเป็น cert ขั้นพื้นฐานครับ เนื้อหาในการเตรียมตัวสอบนั้นไม่ลึกมาก แต่ก็มีให้อ่านมากพอสมควรนะครับ

CompTIA Security+


  • ราคาค่าสอบ: $276
  • วัน/สถานที่สอบ:  สามารถนัดวันที่จะสอบได้เองกับทางศูนย์สอบ Prometric หรือ Pearson VUE
  • รายละเอียดของข้อสอบ:  100 ข้อ multiple choices 90 นาที
  • คะแนนผ่าน: 750 (ต่ำสุดคือ 100 สูงสุดคือ 900)
  • เนื้อหาที่สอบ: ครอบคลุมพื้นฐานความรู้ด้าน IT Security โดยรวม เช่น Network security, Threats and vulnerabilites, Access control, Cryptography, และ Compliance and operational security เป็นต้น
  • References:
ต่อมาก็จะเป็น cert ระดับใหญ่ขึ้นมาครับ เป็นของค่าย ISACA ซึ่งหลักๆ ก็จะมี cert อยู่สองตัวที่เป็นที่รู้จักกันอย่างแพร่หลายในวงการ นั่นก็คือ CISA กับ CISM ซึ่งกลุ่มเป้าหมายของผู้สอบก็จะแบ่งออกเป็นสองประเภท สำหรับ CISA จะเหมาะกับคนที่ต้องทำงานเกี่ยวกับการตรวจสอบความปลอดภัยของระบบไอที (หรือที่เรียกว่าเป็น IT auditor นั่นเอง) เปรียบเสมือนกับนักบัญชีที่ต้องไปสอบ CPA เพื่อให้สามารถตรวจสอบบัญชีทางการเงินได้นั่นเอง ส่วน CISM นั่นจะเหมาะกับคนที่เป็นผู้จัดการ (manager) หรือผู้บริหารที่คอยดูแลภาพรวมของความปลอดภัยของระบบไอทีภายในองค์กร

จากประสบการณ์ของผมเองที่เคยสอบและติวสอบวิชา CISA มาก่อน คนไทยจะให้ความสนใจสอบตัว CISA มากกว่า CISM (แต่ผมเองก็สอบผ่านมา 5 ปีแล้วนะครับ ไม่แน่ใจเหมือนกันว่าในปัจจุบันความสนใจจะเปลี่ยนไปมากน้อยแค่ไหน) แต่ถ้าจะให้ผมแนะนำนะครับ ว่าควรจะเลือกสอบตัวไหนดี ผมขอแนะนำให้เลือกสอบ CISA ครับ เพราะว่าน่าจะใช้ประโยชน์และได้ความรู้มากกว่า ทั้งในเชิงวิชาการและเทคนิค นอกเสียจากว่าถ้าเรามีตำแหน่งงานที่ค่อนข้างสูงอยู่แล้ว (อาจรวมไปถึงอายุที่ก็สูงตามด้วย :-) หรือเป็นหัวหน้าทีมที่คอยดูแลการทำงานของลูกน้อง ก็อาจจะเลือกไปสอบ CISM แทน (แต่ถ้าจะเอาให้เป็นเทพเลยนะครับ หลายคนก็มักจะสอบให้ได้ CISA แล้วก็ไปต่อด้วยการสอบ CISSP เพราะกลุ่มเป้าหมายของผู้สอบ CISM กับ CISSP จะคล้ายๆ กัน แต่ถ้าวัดระดับกันแล้ว CISSP จะเป็น cert ที่ใหญ่กว่า แต่ถ้าคุณเป็นคนชอบความแตกต่าง ก็เชิญสอบ CISM ได้เลยครับ รับรองได้เป็นชนหมู่น้อยที่ไม่เหมือนใครแน่นอน)

Certified Information Systems Auditor (CISA)
Certified Information Security Manager (CISM)
  • ราคาค่าสอบ: สำหรับคนที่สมัครสอบครั้งแรก ผมแนะนำให้สมัครเป็นสมาชิก (member) ของ ISACA ไปด้วยเลยครับ (ราคาค่า member ประมาณ $130) เพราะนอกจากจะได้ส่วนลดค่าสอบแล้ว (ซึ่งพอคำนวนดูก็เหมือนได้สมัครฟรีนั่นเอง) ก็ยังจะได้รับนิตยสารของ ISACA ด้วยกับข่าวสารอัพเดททางอีเมล์ ให้เลือกจ่ายค่าสอบผ่านบัตรเครดิตออนไลน์จะได้ราคาถูกที่สุด ซึ่งมีด้วยกันสองราคา
    • Early registrations: ถ้าเราสมัครสอบภายใน 10 ก.พ. (รอบแรก) หรือ 15 ส.ค. (รอบสอง) ค่าสอบก็จะเท่ากับ $395  (ราคา member)
    • Final registrations:  Deadline ในการสมัครสอบคือ 20 เม.ย. (รอบแรก) และ 3 ต.ค. (รอบสอง) ค่าสอบก็จะเท่ากับ $445 (ราคา member)
  • วัน/สถานที่สอบ:  เปิดสอบปีละสองครั้ง (กลางปีกับปลายปี เดือนมิถุนายนกับธันวาคม) สมัครสอบผ่านเว็บ โดยสถานที่สอบนั้นอาจจะเปลี่ยนแปลงได้ในแต่ละปี ต้องเช็คดูจากเว็บ ทั้ง CISA และ CISM สอบพร้อมกัน
  • รายละเอียดของข้อสอบ:  200 ข้อ multiple choices 4 ชม.
  • คะแนนผ่าน: 450 (ต่ำสุดคือ 200 สูงสุดคือ 800)
  • เนื้อหาที่สอบ:
    • หัวข้อสำหรับ CISA
      • The Process of Auditing Information Systems (14%)
      • Governance and Management of IT (14%)
      • Information Systems Acquisition, Development and Implementation (19%)
      • Information Systems Operations, Maintenance and Support (23%)
      • Protection of Information Assets (30%)
    • หัวข้อสำหรับ CISM
      • Information Security Governance (24%)
      • Information Risk Management and Compliance (33%)
      • Information Security Program Development and Management (25%)
      • Information Security Incident Management (18%)
  • References:
ถัดมาก็จะเป็น cert ที่ผมเชื่อว่าทุกๆ คนในวงการ IT Security จะต้องรู้จักเป็นอย่างดี นั่นก็คือ CISSP ของค่าย (ISC)2 ถ้าจะพูดว่า cert ตัวนี้เป็นเบอร์หนึ่งหรือเป็นที่หมายปองของทุกคนที่ต้องการสอบเอา cert ด้าน IT Security มาอัพเกรดตัวเองให้กลายเป็นระดับเทพก็ว่าได้ ส่วนหนึ่งคงเป็นเพราะ cert ตัวนี้ได้รับชื่อเสียงมาจากเนื้อหาข้อสอบที่แสนจะเข้มข้น เปรียบเสมือนกับเอาตำราเรียนวิชาคอมทั้งหลายในมหาลัยทั้ง 4 ปีมายัดใส่ในข้อสอบ cert ตัวนี้ตัวเดียวเลยละครับ ประกอบกับระยะเวลาการทำข้อสอบที่มีให้ถึง 6 ชม.! (ใช่แล้วครับ สอบหกชั่วโมงรวด ไม่มีพัก ผมไม่ได้พิมพ์ผิดครับ) ตอนผมไปสอบ ก็ต้องหาซื้อขนมปัง กระทิงแดง กาแฟกระป๋อง เอาเข้าไปกินดื่มในห้องสอบนั่นแหละครับ เพราะเริ่มสอบตั้งแต่ 9 โมงเช้าไปจนถึงบ่าย 3 โมง พอสอบเสร็จเนี่ย ผมมึนตึบเลยครับ

กลุ่มเป้าหมายของ CISSP ก็จะเป็นคนทำงานในระดับ senior (ประสบการณ์ทำงานด้าน IT Security ตั้งแต่ 5 ปีขึ้นไปครับ) แต่ถึงแม้ว่าเราจะมีประสบการณ์ทำงานไม่ครบ 5 ปี เราก็สามารถไปสอบ CISSP ได้นะครับ เพียงแต่ว่าพอสอบผ่านแล้ว เราจะยังไม่สามารถรับใบ cert ของจริงได้ จนกว่าจะมีประสบการณ์ครบ 5 ปีนั่นเอง ส่วนอีกทางเลือกหนึ่งสำหรับคนที่มีประสบการณ์น้อยอยู่ (ประมาณ 1 ปีขึ้นไป) ก็คือไปสอบ SSCP แทน ซึ่งเป็น cert ตัวน้องของ CISSP นั่นเอง ถ้าเทียบกันแบบง่ายๆ ก็คือ SSCP มีความเข้มข้นแค่ประมาณ 50% ของ CISSP

Certified Information Systems Security Professional (CISSP)


  • ราคาค่าสอบ:
    • Early registration (สมัครก่อนวันสอบ 16 วัน): $549
    • Standard registration: $599
  • วัน/สถานที่สอบ: สมัครสอบโดยตรงผ่านทางเว็บ โดยปกติจะเปิดสอบปีละสองครั้ง
  • รายละเอียดของข้อสอบ: 250 ข้อ multiple choices 6 ชม.
  • คะแนนผ่าน: 700 (ต่ำสุดคือ 0 สูงสุดคือ 1,000)
  • เนื้อหาที่สอบ: มีทั้งหมด 10 หัวข้อ ได้แก่
    • Access Control
    • Telecommunications and Network Security
    • Information Security Governance and Risk Management
    • Software Development Security
    • Cryptography
    • Security Architecture and Design
    • Operations Security
    • Business Continuity and Disaster Recovery Planning
    • Legal, Regulations, Investigations and Compliance
    • Physical (Environmental) Security
  • References:
Systems Security Certified Practitioner (SSCP)
  • ราคาค่าสอบ:
    • Early registration  (สมัครก่อนวันสอบ 16 วัน) : $250
    • Standard registration: $300
  • วัน/สถานที่สอบ:  สมัครสอบโดยตรงผ่านทางเว็บ โดยปกติจะเปิดสอบปีละสองครั้ง (พร้อมกันกับการสอบ CISSP)
  • รายละเอียดของข้อสอบ: 125 ข้อ multiple choices 3 ชม.
  • คะแนนผ่าน: 700 (ต่ำสุดคือ 0 สูงสุดคือ 1,000)
  • เนื้อหาที่สอบ: มีทั้งหมด 7 หัวข้อ ได้แก่
    • Access Controls
    • Cryptography
    • Malicious Code and Activity
    • Monitoring and Analysis
    • Networks and Communications
    • Risk, Response and Recovery
    • Security Operations and Administration
  • References:
ต่อมาเรามาดู cert ทางด้านเทคนิคกันบ้างนะครับ ในเมืองไทยเท่าที่ผมเห็นเปิดสอนก็จะมีอยู่สองค่าย คือ ของค่าย EC-Council กับของค่าย SANS ซึ่งถือว่าทั้งสองค่ายนี้มีชื่อเสียงพอสมควร แต่ถ้าเทียบกันแล้วละก็ ผมว่า SANS กินขาดครับ เพราะ SANS มีอาจารย์สอนชั้นนำทางด้าน IT Security อยู่มาก บางคนก็เป็นคนแต่งหนังสือด้วย และก็มีเปิดคอร์สสอนวิชาด้าน security เยอะมากครับ ทั้งแบบออนไลน์และแบบจัดสัมมนา มีคอร์สสอนทั้งทางเทคนิคและทางบริหารจัดการ แถมยังมีหลักสูตรสำหรับเรียนปริญญาโทด้าน IT Security โดยเฉพาะ ผมขอแนะนำทุกท่านนะครับ ให้ลองเปิดเข้าไปดูเว็บของ SANS แล้วก็ลองศึกษาหลักสูตรของ SANS ดูไว้เป็นตัวอย่างในการวางแผนพัฒนาความรู้ของเราเองครับ เพราะผมว่าเค้าวางหลักสูตรเอาไว้ได้ดีมากๆ แต่ราคาค่าเรียนของ SANS นั้นแพงมากครับ เรียกว่าเฉลี่ยอยู่ที่หลักสูตรละหนึ่งแสนบาทได้เลยทีเดียว (สำหรับหลักสูตรเรียนออนไลน์นะครับ ถ้าเป็นหลักสูตรที่ไปนั่งฟังอาจารย์ตัวเป็นๆ สอนละก็ แพงยิ่งกว่านี้อีกครับ) cert ของค่าย SANS จะมีชื่อขึ้นต้นว่า GIAC แล้วตามด้วยชื่อของวิชาที่เราสอบผ่านครับ เช่น GCIH หรือ GCIA เป็นต้น cert ของ GIAC มีเยอะมากครับเป็นสิบยี่สิบตัวเลย เรียกว่าถ้าคิดจะสอบให้หมด ก็คงเสียเงินเรียนกันเป็นล้าน สิ้นเนื้อประดาตัวพอดี


ส่วนของค่าย EC-Council นั้น cert ที่เป็นที่รู้จักกันดีก็คือ CEH ครับ ซึ่งเป็น cert สำหรับผู้ที่ต้องการจะทำงานเป็นนักเจาะระบบหรือแฮกเกอร์ (hacker) นั่นเอง


Certified Ethical Hacker (CEH) ของค่าย EC-Council

  • ราคาค่าสอบ: $500
  • วัน/สถานที่สอบ: สามารถสมัครและนัดวันสอบได้ทางเว็บ สอบได้ที่ศูนย์สอบ เช่น Prometric หรือ VUE
  • รายละเอียดของข้อสอบ:
    • CEHv7: 150 ข้อ multiple choices 4 ชม.
    • CEHv8: 125 ข้อ multiple choices 4 ชม.
  • คะแนนผ่าน: 70%
  • เนื้อหาที่สอบ: ข้อสอบจะเน้นไปทางเทคนิคมากกว่าทางวิชาการ เช่น จะถามเกี่ยวกับวิธีการใช้ tools ต่างๆ เป็นต้น
  • References:
Global Information Assurance Certification (GIAC) ของค่าย SANS 

  • ราคาค่าสอบ: $999 (ขึ้นอยู่กับ cert ที่เราจะสอบ ราคานี้เป็นแค่ค่าสอบเท่านั้น ไม่ได้รวมค่าเรียน ถ้าจะลงเรียนด้วยแบบออนไลน์พร้อมสอบ ราคาก็จะอยู่ที่ประมาณตั้งแต่ $4,000 ขึ้นไป)
  • วัน/สถานที่สอบ: สามารถสมัครและนัดวันสอบได้ทางเว็บ สอบได้ที่ศูนย์สอบ เช่น Prometric
  • รายละเอียดของข้อสอบ: ขึ้นอยู่กับ cert ที่สอบ ยกตัวอย่างเช่น ข้อสอบของ GCIA จะมี 150 ข้อ multiple choice 4 ชม.
  • คะแนนผ่าน:  ขึ้นอยู่กับ cert ที่สอบ ยกตัวอย่างเช่น ข้อสอบของ GCIA จะต้องได้คะแนนไม่น้อยกว่า 67.3% (ตอบถูก 101 ข้อจากทั้งหมด 150 ข้อ)
  • เนื้อหาที่สอบ: ขึ้นอยู่กับ cert ที่สอบ
  • References:
สุดท้ายนี้นะครับ ผมคิดว่าคนเราไม่จำเป็นที่จะต้องไปสอบ cert เพียงอย่างเดียวเพื่อที่หวังว่าจะหาความก้าวหน้า ความสำเร็จ หรือหางานใหม่ที่ดีกว่าเดิม ถ้าเราลองมาคิดดูกันดีๆ นะครับ คนเราจะประสบความสำเร็จและมีความก้าวหน้าได้นั้น เราก็ต้องคอยหมั่นเรียนรู้ที่จะพัฒนาความรู้ความสามารถของตนเองอยู่เสมอ โดยเฉพาะอย่างยิ่ง การทำงานในสายไอทีซึ่งมีความเปลี่ยนแปลงของเทคโนโลยีอย่างรวดเร็วอยู่ตลอดเวลา ดังนั้น การเรียนรู้อย่างต่อเนื่องจึงเป็นสิ่งที่สำคัญอย่างมาก ซึ่งการไปสอบ cert ก็ช่วยพัฒนาเราได้ เพราะถือเป็นการบังคับ (ทางอ้อม) ให้เราต้องอ่านหนังสือเตรียมสอบ


แต่ก็อย่าลืมนะครับว่า ถึงแม้เราจะสอบผ่านแล้ว แต่ถ้าเราไม่ได้นำความรู้ที่ได้มาใช้ในการทำงานอยู่อย่างสม่ำเสมอ ท้ายสุดเราก็จะลืม ความรู้ที่ได้มาจากการสอบ cert ก็จะสูญเปล่า มีเพียงแค่เอาไว้โชว์เท่ๆ ในนามบัตรแค่นั้นเอง ก็เหมือนกับการเรียนจบปริญญาตรีจากมหาลัยนั่นแหละครับ กว่าจะเรียนจบมาได้ 4 ปี+ เรียนตั้งไม่รู้กี่วิชา จบมาหางานทำ ใช้ความรู้อยู่ไม่กี่อย่าง ที่เหลือก็คืนอาจารย์หมด (ซึ่งตัวผมเองก็เป็นเหมือนกันครับ) เพราะฉะนั้น เราไม่ควรที่คิดที่จะสอบให้ผ่านเพียงอย่างเดียว แต่ควรที่จะมุ่งมั่นกับการหาความรู้ ทำความเข้าใจและนำความรู้ที่ได้มาใช้งานภาคปฎิบัติให้ได้จริงดีกว่าครับ เพราะถ้าเรารู้จริงแล้ว ข้อสอบจะยากแค่ไหน เราก็ต้องสอบผ่านอยู่แล้ว จริงมั้ยครับ ;-)


ขอให้จำไว้นะครับว่า "ประสบการณ์ทำงานจริงมีค่ามากกว่าการแค่สอบผ่าน cert"

Sunday, September 23, 2007

Malware คืออะไร ?

Malicious Software (หรือ Malware) คือประเภทของโปรแกรมคอมพิวเตอร์ที่ถูกสร้างขึ้นมา โดยมีจุดมุ่งหมายเพื่อที่จะทำลายหรือสร้างความเสียหายให้แก่ระบบคอมพิวเตอร์ ระบบเครือข่าย หรือทรัพย์สินและข้อมูลของผู้ใช้งานคอมพิวเตอร์ ประเภทของ malware ต่างๆ มีดังต่อไปนี้
  1. Virus
  2. Worms
  3. Trojan Horses / Backdoors
  4. Rootkits
  5. Bots (หรือ Zombies)
  6. Spyware
  7. Adware
  8. Crimeware / Ransomware
Virus

พฤติกรรมของ virus คือการขยายพันธุ์หรือก็อปปี้ตัวมันเอง ไปติดกับไฟล์ executable (.exe files) หรือไฟล์ของอีกโปรแกรมหนึ่ง หลังจากนั้น หากผู้ใช้งานไปดับเบิ้ลคลิ๊กหรือรันโปรแกรมไฟล์นั้นๆ virus ก็จะถูกกระตุ้นให้ทำงานทันที โดยส่วนที่เป็นพิษของ virus เราเรียกกันว่า payload ซึ่งเป็นส่วนที่มีคำสั่งที่ระบุให้ virus ทำงานตาม ยกตัวอย่างเช่น payload ของ virus อาจจะระบุไว้ว่าให้ virus ทำการลบไฟล์เอกสารต่างๆ ในเครื่องของผู้ใช้งาน หรือ payload อาจจะสั่งให้ virus ลงโปรแกรมประเภท spyware ไว้ในเครื่องเพื่อคอยดักเก็บข้อมูลส่วนตัวของผู้ใช้งาน เป็นต้น ลักษณะเด่นของ virus คือ มันไม่สามารถที่จะทำงานได้ด้วยตัวของมันเอง virus จะเริ่มการทำงานหรือถูกปลุกให้ตื่นขึ้นมาได้นั้น จะต้องมีการถูกกระตุ้นก่อน เช่น ถ้าเราดาวโหลดไฟล์ attachment ที่มากับอีเมล์ซึ่งมี virus อยู่ การที่เราดาวโหลดไฟล์ virus มาไว้ที่เครื่องเฉยๆ นั้น virus จะยังไม่สามารถทำงานได้ (และบางทีโปรแกรม anti-virus ของเราก็อาจจะฟ้องขึ้นมาทันที ว่าเรากำลังดาวโหลดไฟล์ที่มี virus อยู่ และทำการลบไฟล์นั้นทิ้ง) แต่ถ้าเครื่องของเราไม่มี anti-virus หรือโปรแกรม anti-virus ของเราไม่รู้จัก virus ตัวนี้ ไฟล์ attachment ที่มี virus ก็จะถูกโหลดมาไว้ในเครื่องของเราได้สำเร็จ และเมื่อไหร่ก็ตามที่เราไปดับเบิ้ลคลิ๊กหรือเปิดไฟล์ attachment นี้ขึ้นมาใช้งาน เจ้า virus ก็จะตื่นขึ้นมาจัดการเครื่องของเราทันที

Worms

ลักษณะการทำงานของ worm จะต่างจาก virus ตรงที่ worm สามารถทำงานได้ด้วยตัวของมันเอง (ทำงานแบบอัตโนมัติหรือ automatic) โดยไม่ต้องอาศัยพาหะ หรือการเกาะไฟล์ executable อื่นๆ โดย worm จะใช้การกระจายพันธุ์ผ่านทางระบบ network เป็นหลัก ด้วยการคอยสแกนระบบ network อยู่ตลอดเวลา เพื่อที่จะหาช่องโหว่ของเครื่องที่มีอยู่ในระบบ ถ้าเครื่องไหนมีช่องโหว่ (ซึ่งเกิดจากการไม่ได้ลง patch/service pack หรือใช้โปรแกรมเวอร์ชั่นเก่า) worm ก็จะโจมตี (exploit) เครื่องเหล่านั้นทันที และก็ควบคุมเครื่องเหล่านั้น ให้ช่วยกระจายพันธุ์ต่อไป ดังนั้น เรามักจะสังเกตเห็นได้ว่า เมื่อใดก็ตามที่มีการระบาดของ worm ระบบ network ของเราก็จะทำงานช้ามาก เพราะว่า network bandwidth จะถูก worm ใช้ในการสแกนเครื่องต่างๆ โดยปกติแล้ว worm มักจะแฝงตัวมากับ virus ในลักษณะของ email attachment เพราะว่าการโจมตีผู้ใช้งานแบบนี้ได้ผลดีกว่าและง่ายกว่า และการที่ worm ฝังตัวมากับ email attachment นั้น network firewall ก็จะไม่สามารถตรวจจับและหยุด worm ตัวนั้นได้ นอกเสียจากเราจะมีโปรแกรม anti-virus ทำงานอยู่ใน mail server

Trojan Horses / Backdoors

ใครเคยดูหนังเรื่อง "Troy" บ้างครับ? จำได้มั้ยครับว่า Trojan horse หรือม้าโทรจันถูกสร้างขึ้นมาเพื่อจุดประสงค์อะไร? คำตอบก็คือ Trojan horse ถูกสร้างขึ้นมาเพื่อหลอกให้ชาวเมืองทรอยเข้าใจผิด คิดว่าทหารกรีกยอมแพ้ และสร้าง Trojan horse ขึ้นมาเพื่อเป็นรางวัลในการขอหย่าศึกนั่นเอง แต่จริงๆ แล้ว มีทหารกรีกจำนวนหนึ่งแอบซ่อนตัวอยู่ภายใน Trojan horse เมื่อถึงเวลากลางคืน ทหารกรีกที่ซ่อนตัวเหล่านั้นก็ออกมาเปิดประตูเมืองทรอย เพื่อให้ทหารกรีกที่เหลือ ที่แอบซ่อนตัวอยู่ภายนอกกำแพงเข้ามาทำลายเมืองทรอยได้ในที่สุด ซึ่ง Trojan horse (หรือเรียกสั้นๆ ว่า trojan) ในเชิงของ IT security นั้น ก็คือโปรแกรมที่ถูกสร้างขึ้นมาเพื่อใช้ในการหลอกล่อให้ผู้ใช้งานทั่วไปดาวโหลดไปใช้งาน โดยที่ไม่รู้ตัวเลยว่ามีโปรแกรมอื่น (ที่ชั่วร้าย) แอบแฝงมาด้วย ยกตัวอย่างเช่น โปรแกรมประเภทที่เป็นตัวการ์ตูนที่เคลื่อนไหวอยู่บน desktop หรือ screensaver ที่สามารถดาวโหลดได้ฟรีจาก Internet ถ้าเราดาวโหลดโปรแกรมประเภทนี้ มาจาก web site ที่ไม่น่าเชื่อถือ โปรแกรมที่เราดาวโหลดมาอาจจะเป็น trojan ก็ได้ ซึ่งเมื่อเราลงโปรแกรมที่มี trojan อยู่ด้วย เราก็ยังสามารถใช้งานโปรแกรมเหล่านั้นได้ตามปกติ แต่ที่จริงแล้ว trojan จะทำงานอยู่เงียบๆ เบื้องหลัง โดยการฝังตัวของมันลงในเครื่องของเรา และติดตั้งโปรแกรมประเภท backdoor เพื่อเปิดช่องทางให้ attacker เข้าสู่เครื่องของเราได้อย่างลับๆ ทุกเมื่อที่ต้องการ

Rootkits

ถ้าเครื่องคอมพิวเตอร์ของเราถูกเจาะหรือถูก hack ได้สำเร็จ สิ่งแรกๆ ที่ attacker จะทำก็คือลงโปรแกรมประเภท rootkit ในเครื่องของเรา เพราะ rootkit จะช่วยซ่อนไฟล์ โปรแกรมและ process ต่างๆ ที่ attacker ติดตั้งหรือดาวโหลดมาวางไว้ในเครื่องของเรา เพื่อไม่ให้เราหรือโปรแกรม anti-virus ตรวจพบได้นั่นเอง ซึ่งถ้าเครื่องของเราถูกติดตั้ง rootkit ไปแล้วละก็ โอกาสที่จะถอน rootkit ออกจากเครื่องให้ได้นั่น แทบจะเป็นไปไม่ได้เลย เพราะว่า rootkit จะไปแก้ไขหรือเปลี่ยน system file ที่สำคัญต่างๆ ทำให้เมื่อเราลบไฟล์ที่เป็นของ rootkit ออก ก็จะมีผลกระทบต่อ system file เหล่านี้ด้วย ทำให้เกิดความเสียหายต่อระบบปฎิบัติการคอมพิวเตอร์ (Operating System หรือ OS) จนอาจจะไม่สามารถบูตเครื่องขึ้นมาทำงานได้อีกต่อไปเลย

Bots (หรือ Zombies)

Bot (หรือที่เรียกอีกชื่อหนึ่งว่า Zombie) คือเครื่องคอมพิวเตอร์ที่ถูก attacker ยึดและควบคุมให้ทำตามคำสั่งต่างๆ ของ attacker ผ่านทาง Internet โดย attacker มักจะติดตั้ง rootkit ไว้ด้วย เพื่อซ่อนไฟล์และโปรแกรมของ attacker ไม่ให้ถูกจับได้ โดยที่ผู้ใช้งานคอมพิวเตอร์จะไม่รู้ตัวเลยว่า เครื่องของเค้ากลายเป็น bot ไปซะแล้ว ซึ่งในขณะที่เค้ากำลังทำงานตามปกติ เช่น พิมพ์งานเอกสาร ฟังเพลง หรือเล่นเกมส์ attacker ก็อาจจะส่งคำสั่งผ่านทาง Internet มาให้เครื่องของผู้ใช้งานคนนั้น ไปโจมตี web site ต่างๆ หรือส่ง spam ก็ได้ โดยคำสั่งเหล่านี้จะทำงานอยู่เบื้องหลัง ปกติแล้ว attacker จะยึดเครื่องคอมพิวเตอร์หลายๆ เครื่อง เพื่อทำเป็น bot เอาไว้ใช้ในงานต่างๆ ซึ่งเราเรียกกลุ่มของเครื่องที่เป็น bot ที่สามารถทำงานร่วมกันได้ ภายใต้คำสั่งของ attacker ว่า "Botnet" หรือ Bot network ซึ่ง botnet มักจะทำงานด้วยการรับคำสั่งจาก attacker ผ่านช่องทางของ Internet Relay Chat (IRC) ซึ่งวิธีนี้ทำให้ attacker สามารถเชื่อมต่อกับ botnet ได้สะดวก และสามารถกระจายคำสั่งไปยังเครื่อง bot ต่างๆ ได้พร้อมกัน ในเวลาเดียวกัน

Spyware

โปรแกรมประเภท spyware จะติดตั้งตัวของมันลงในเครื่องของเราอย่างลับๆ โดยไม่ขออนุญาติเราก่อน ว่าอยากจะลงหรือไม่ ซึ่งเมื่อ spyware ถูกติดตั้งลงในเครื่องแล้ว มันจะคอยทำงานโดยการบันทึกข้อมูลต่างๆ ที่เกี่ยวกับการใช้งานเครื่องคอมพิวเตอร์ของเรา เช่น คอยดูว่าเราไปเข้า web site ไหนบ้าง เราพิมพ์ตัวอักษรอะไรบนคีีบอร์ดบ้าง และอื่นๆ ดังนั้น spyware จึงสามารถใช้เป็นเครื่องมือสำหรับ attacker ในการขโมย username, password, และข้อมูลเกี่ยวกับบัตรเครดิตการ์ดของเราได้ด้วย โดยที่ spyware จะส่งข้อมูลที่มันเก็บได้จากเครื่องของเราไปให้เจ้านายของมัน ผ่านทางอินเตอร์เน็ต หรือระบบ network อย่างเงียบๆ เพื่อไม่ให้เรารู้ตัว

Adware

โปรแกรมประเภท adware (ส่วนใหญ่มักจะมาคู่กับ spyware เพื่อใช้ในการทำ targeted ads หรือการโฆษณาสินค้าแบบเฉพาะเจาะจงกลุ่มเป้าหมาย เพื่อเพิ่มโอกาสในการขายสินค้าให้ได้มากขึ้น) จะคอยแสดงโฆษณาสินค้าต่างๆ บนหน้าจอของเรา (หรือที่เรียกกันสั้นๆ ว่า "popup ads") ผ่านทาง web browser เช่น Internet Explorer หรือ Mozilla Firefox ซึ่งสร้างความรำคาญให้กับผู้ใช้งานส่วนมาก ที่ไม่สนใจในโฆษณา หรือ popup ads เหล่านั้น โปรแกรมประเภท adware มักจะถูกติดตั้งพร้อมกับโปรแกรมที่เราดาวโหลดมาฟรีๆ จาก web site ที่ไม่น่าเชื่อถือ

Crimeware / Ransomware

คำว่า Crimeware เป็น malware ประเภทที่มีจุดประสงค์เพื่อการกระทำที่ผิดกฎหมาย โดยมุ่งเน้นผลประโยชน์ด้านเงินหรือการเมืองเป็นหลัก โดย attacker จะใช้ crimeware เพื่อช่วยในการก่อคดีโจรกรรมข้อมูลส่วนตัว เช่น username และ password ของผู้ใช้งาน Internet แล้วก็ส่งข้อมูลที่หาได้ ไปให้ attacker หรือไม่ก็ crimeware สามารถที่จะทำการโอนเงินที่ขโมยได้ ไปยังบัญชีของ attacker แบบอัตโนมัติเลยก็ได้ ส่วน Ransomware เป็นโปรแกรมประเภทที่ใช้เพื่อเรียกค่าไถ่ (แบบมาเฟีย) ยกตัวอย่างเช่น ransomware อาจจะเข้ารหัสหรือ encrypt ไฟล์เอกสารต่างๆ ในเครื่องของเรา แล้วก็ลบไฟล์ที่เป็น original ทิ้งไป เสร็จแล้วก็ส่งอีเมล์มาบอกว่า ถ้าอยากได้ key หรือ password ในการถอดรหัสไฟล์เหล่านั้น ก็ต้องยอมจ่ายเงินให้แก่ attacker ไม่เช่นนั้น เราก็ไม่สามารถที่จะเปิดไฟล์เหล่านั้นมาใช้งานได้อีกต่อไป

Thursday, September 20, 2007

ประเภทต่างๆ ของ Security Tools

เวลาที่คนส่วนใหญ่พูดถึงคำว่า tool หรือ security tools ในเนื้อหาที่เกี่ยวข้องกับ IT Security นั้น เค้ามักจะหมายถึงซอฟแวร์ต่างๆ ที่ใช้ในการตรวจสอบความปลอดภัยของระบบคอมพิวเตอร์ แม้ว่าจะมี tool บางตัวที่เป็นได้ทั้งฮาร์ดแวร์และซอฟแวร์ก็ตาม (เช่น sniffer) แต่สำหรับเนื้อหาในบทความนี้ ผมจะขอเน้นไปที่ tool ประเภทที่ฟรีและเป็น open source ซอฟแวร์ ที่เน้นในการใช้สำหรับตรวจสอบหรือ audit ระบบนะครับ แต่สำหรับ tool ตัวไหนที่ไม่ฟรี ผมก็จะระบุบอกไว้นะครับ

โดยทั่วๆ ไปแล้ว ประเภทต่างๆ ของ security tools ที่ใช้ในการตรวจสอบระบบหรือ audit มีดังต่อไปนี้
  1. Password crackers
  2. Scanners
  3. Exploitation tools
  4. Sniffers & Intrusion Detection System (IDS)
  5. Wireless tools
โอเค ทีนี้เรามาทำความเข้าใจกันกับ tool แต่ละประเภทกันเลยนะครับ

1. Password crackers

จุดประสงค์:
ใช้เพื่อค้นหารหัสผ่าน (password) ในการเข้าระบบ หรือใช้เพื่อตรวจสอบ password ที่ตั้งด้วยคำง่ายๆ เช่น คำที่มาจากพจนานุกรม (dictionary)

คำอธิบาย:
โดยทั่วๆ ไป เทคนิคที่ใช้ในการ crack password มีดังต่อไปนี้
  • Dictionary attack คือการเดา password ด้วยการใช้คำจากพจนานุกรม
  • Brute force attack คือการเดา password ด้วยการสุ่มตัวอักษรทีละตัวไปเรื่อยๆ จนครบทุกตัวอักษรที่มี (ตั้งแต่ a ไปจนถึง z และ A ไปจนถึง Z และอาจจะรวมไปถึงตัวอักษรพิเศษด้วย เช่น # ! @ %) โดยการเดาแบบนี้ อาจจะเริ่มตั้งแต่ 1 ตัวอักษรไปจนถึงจำนวนตัวอักษรที่ตั้งไว้ (ปกติมักจะตั้งไว้สูงสุดที่ 8 ตัวอักษร เพราะคนโดยทั่วๆ ไปมักจะตั้ง password ไม่ยาวเกินนี้ จริงมั้ยครับ?)
  • Rainbow table attack คือการใช้ rainbow table (ซึ่งก็คือตารางที่มีคำ password ต่างๆ ที่เราต้องการใช้ในการเดาหรือ crack ประกอบไปด้วยกับค่า hash ของ password นั้นๆ ที่ได้มีการคำนวนไว้ล่วงหน้าเรียบร้อยแล้ว) ซึ่งเทคนิคนี้สามารถช่วยให้เราสามารถค้นหา password ได้อย่างรวดเร็วมากขึ้นมากๆ แต่ก็มีข้อแม้อยู่ว่าเราจะต้องทำการสร้างหรือคำนวน rainbow table ขึ้นมาก่อน ซึ่งใช้เวลานานมากและก็กินเนื้อที่บนฮาร์ดดิสค่อนข้างเยอะด้วย

ตัวอย่าง:
  • John The Ripper - ใช้สำหรับ crack หรือค้นหา weak Unix password เป็นหลัก แต่ก็สามารถใช้ในการค้นหา password ในระบบ Windows Operating Systems ด้วยก็ได้
  • Cain & Abel - ใช้สำหรับค้นหาหรือกู้คืน password สำหรับระบบ Windows Operating Systems ซึ่งรองรับหลายเทคนิค เ่ช่น sniffing network, dictionary attack, brute-force attack และ rainbow table attack เป็นต้น
  • THC-Hydra - ใช้ในการ crack หรือค้นหา login password ซึ่งรองรับหลาย protocols (เช่น telnet, ftp, http, https เป็นต้น)
2. Scanners

จุดประสงค์:
ใช้เพื่อค้นหาข้อมูลหรือช่องโหว่เกี่ยวกับระบบที่เราต้องการตรวจสอบ เช่น ตรวจสอบหา port หรือ service ที่เปิดใช้งานในเครื่องเซิฟเวอร์ หรือตรวจสอบหาช่องโหว่ (vulnerability) ในเครื่องเซิฟเวอร์

คำอธิบาย:
Scanners สามารถแบ่งออกได้เป็นสามประเภทหลักๆ ดังนี้
  • Port scanners - ใช้สำหรับตรวจสอบว่ามี port หรือ service ไหนเปิดอยู่บ้าง เช่น สแกนแล้วพบว่าเครื่องเซิฟเวอร์มี port 23 เปิดอยู่ scanner ก็จะบอกเราว่ามีการเปิดใช้งาน telnet
  • Vulnerability scanners - ใช้สำหรับตรวจหาช่องโหว่ในระบบหรือเครื่องเซิฟเวอร์ ซึ่งผลลัพธ์ของ scanner ประเภทนี้จะบอกเราว่ามีช่องโหว่อะไรบ้างที่ถูกตรวจพบ และเราสามารถแก้ไขได้อย่างไร
  • Web vulnerability scanners - ใช้งานเหมือนกับ vulnerability scanner แต่จะเจาะจงไปที่การตรวจหาช่องโหว่ของ web application และ web server เป็นหลัก
ตัวอย่าง:
  • Nmap (Port scanner) - เป็น tool ที่นิยมใช้กันอย่างแพร่หลายสำหรับการสแกนหา port และตรวจสอบ service ต่างๆ ในระบบ network นอกเหนือไปจากนั้น Nmap ยังสามารถบอกได้ด้วยว่า เครื่องเซิฟเวอร์ที่เรากำลังสแกนอยู่ รัน OS อะไรได้ด้วย (แต่บางครั้งผลลัพธ์อาจจะไม่ตรง 100%)
  • SuperScan (Port scanner) - เป็น tool สำหรับ Windows เท่านั้น ที่ใช้ในการสแกน port, ping หรือ traceroute เป็นต้น
  • Nessus (Vulnerability scanner) - ถือได้ว่าเป็น free tool ที่ดีที่สุดก็ว่าได้ ซึ่งมีการอัพเดท plugin ที่ใช้ในการตรวจสอบช่องโหว่อยู่ตลอดเวลา (ประมาณ 11,000 plugins)
  • Nikto (Web vulnerability scanner) - ใช้ในการสแกนตรวจหาช่องโหว่สำหรับ web server
3. Exploitation tools

จุดประสงค์:
ใช้สำหรับการทดสอบเจาะระบบ (penetration test) เพื่อทดลองดูว่าระบบการป้องกันของเราทำงานได้อย่างถูกต้องตามที่ต้องการหรือไม่

คำอธิบาย:
โดยทั่วๆ ไปแล้ว คนที่จะสามารถใช้ exploitation tool ได้นั้น มักจะต้องเป็นคนที่มีความรู้ทางด้าน security มากพอสมควร แต่ก็มีข้อยกเว้นอยู่ว่า ถ้าเป็น exploitation tool ประเภท point-and-click (คือ ประเภทที่เป็นไฟล์ .exe และมี GUI ที่ให้เราสามารถใส่ IP address ของเครื่องเป้าหมาย แล้วกดปุ่มยิงได้ทันที) นั่นก็ไม่จำเป็นต้องมีความรู้มากมายนักในการใช้

ตัวอย่าง:
  • Metasploit Framework - เป็น advanced open-source tool ที่ใช้สำหรับพัฒนาและทดสอบ exploit code ในการเจาะช่องโหว่ของโปรแกรมต่างๆ
  • Core Impact (ไม่ฟรี และแพงมากกกกก) - ถือเป็น exploitation tool ที่เรียกได้ว่ามีประสิทธิภาพและฟังชั่นหลากหลายมากที่สุด ในการใช้ทดสอบเจาะระบบ และยังมีฐานข้อมูลของ exploit ที่ถูกอัพเดทอยู่ตลอดเวลาให้พร้อมใช้งาน
  • Canvas (ไม่ฟรี และแพงมากก แต่ยังถูกกว่า Core Impact) - ในกรณีที่คุณไม่สามารถซื้อ Core Impact มาใช้ได้ ลองหันมาดู Canvas สิครับ :-)
4. Sniffers & Intrusion Detection System (IDS)

จุดประสงค์:
ใช้เพื่อดักจับข้อมูลที่วิ่งอยู่ใน network เพื่อทำการวิเคราะห์และตรวจสอบ network traffic (หรือที่เรียกว่าการทำ network monitoring นั่นเอง)

คำอธิบาย:
ถ้าท่านไหนที่เคยทำงานด้านดูแล network แล้วละก็ คงจะเคยได้ใช้ tool ประเภทนี้มาก่อน เพราะว่า sniffer นั้น เป็น tool ที่เราจะขาดไม่ได้เลย ในการใช้วิเคราะห์ข้อมูล network หรือใช้ในการเฝ้าระวังการโจมตีของผู้บุกรุก (attacker) ซึ่ง IDS ถือได้ว่าเป็น sniffer ประเภทหนึ่งที่ใช้สำหรับการเฝ้าระวังหรือ network monitoring นั่นเอง

ตัวอย่าง:
  • Wireshark - ชื่อเก่าของ tool ตัวนี้คือ Ethereal ซึ่งเป็น tool ที่ได้รับความนิยมอย่างมาก ในการใช้สำหรับ sniff ข้อมูลที่วิ่งอยู่ network เพื่อตรวจสอบ
  • Tcpdump - เป็น tool เก่าแก่ที่ใช้กันมานานสำหรับ sniffing หรือ network monitoring ถึงแม้ว่า tcpdump จะไม่มี GUI เหมือนกับ Wireshark แต่ก็สามารถทำงานได้อย่างมีประสิทธิภาพไม่แพ้กัน และ tcpdump ก็ยังกิน system resource น้อยกว่าด้วย
  • Snort - เป็นอีกหนึ่งในฟรีและ open-source tool ที่ใช้กันอย่างแพร่หลาย Snort สามารถช่วยเฝ้าระวังระบบ network ของเราได้ ด้วยการตรวจสอบ packet ต่างๆ ที่วิ่งอยู่ใน network ซึ่งถ้าหาก Snort พบว่ามีการสแกน port หรือมี worm ระบาดอยู่ มันก็จะฟ้องบอกเราทันที
5. Wireless tools

จุดประสงค์:
เป็น tool ประเภทที่ใช้สำหรับการตรวจสอบ wireless security โดยเฉพาะ

คำอธิบาย:
ประเภทของ Wireless tools หลักๆ แล้วมีอยู่แค่สองประเภท ได้แก่ 1) sniffer และ 2) password cracker ซึ่งสำหรับ tool ประเภทแรกที่มีลักษณะเป็น sniffer (และกึ่งๆ scanner) ยกตัวอย่าง เช่น NetStumbler และ Kismet จะเป็น tool ที่ใช้ในการสแกนตรวจหา rogue access point หรือ access point ที่ติดตั้งโดยไม่ได้รับอนุญาติในบริเวณพื้นที่ทำงานในออฟฟิต ส่วน tool ประเภทที่สองที่มีลักษณะเป็น password cracker นั้น จะมีไว้สำหรับตรวจสอบความแข็งแกร่งของ wireless key ที่ใช้เข้ารหัส wireless network ซึ่งถ้าเป็น WEP key แล้วละก็ tool ที่ชื่อว่า Aircrack-ng สามารถ crack หรือถอดรหัส WEP key ออกมาได้อย่างแน่นอน ไม่ว่าจะตั้งไว้ยากแค่ไหนก็ตาม ซึ่งจุดอ่อนนี้เกิดขึ้นมาจาก algorithm หรือวิธีการที่ WEP key ใช้ในการเข้ารหัสนั่นเอง

ตัวอย่าง:
  • NetStumbler - ทำงานบน Windows ซึ่ง tool นี้ใช้สำหรับการสแกนหา wireless access point (หรือที่เราเรียกว่า "wardriving") ซึ่งมีเวอร์ชั่นที่เราสามารถลงใน PDA ได้ด้วย
  • Kismet - ใช้ในลักษณะเดียวกับ NetStumbler แต่การทำงานจะแตกต่างกันตรงที่ Kismet สแกนแบบ passive ส่วน NetStumbler จะสแกนแบบ active (โดยการส่ง packet ออกไปเพื่อค้นหา access point)
  • Aircrack-ng - เป็น tool ที่สามารถ crack WEP/WPA key ได้รวดเร็วที่สุด ซึ่งสามารถถอดรหัส WEP key ตั้งแต่ 40-bit ไปจนถึง 512-bit ได้ แต่จะต้องเก็บข้อมูล packet ให้ได้มากพอเสียก่อน
จริงๆ แล้ว security tools ยังมีอีกมากมายหลายประเภทเลยนะครับ ถ้าท่านไหนสนใจที่จะศึกษาเพิ่มเติมละก็ ลองเข้าไปดูที่เว็บไซด์ Top 100 Network Security Tools ดูนะครับ เอาไว้ถ้ามีโอกาสละก็ ผมจะเขียน tutorial สำหรับการใช้งาน tool บางตัวที่น่าสนใจนะครับ ยังไงก็ช่วย comment ด้วยละกันนะครับว่าแต่ละท่านสนใจ tool อะไรกันบ้างครับ

Resources:

Monday, September 3, 2007

จะเริ่มต้นยังไงกับการเข้าสู่สายอาชีพของ IT Security ?

หลายๆ ท่านที่สนใจจะทำงานเกี่ยวกับ IT Security คงจะเคยถามคำถามนี้กับตัวเอง (ผมเองก็เช่นเดียวกัน) ว่าเราควรจะเริ่มต้นจากจุดไหนดี เพราะว่ามีเนื้อหาเยอะแยะไปหมดเลย ที่เราควรจะรู้เกี่ยวกับ IT Security ผมเลยได้เขียนออกมาเป็นบทสรุปสั้นๆ สำหรับคนที่อยากจะเริ่มต้นศึกษาหาความรู้เกี่ยวกับ IT Security ว่าสามารถเริ่มต้นได้อย่างไร โดยใช้ประสบการณ์ของผมเอง และคำแนะนำของผู้เชี่ยวชาญต่างๆ

ขั้นแรก เราควรจะเริ่มจากการศึกษาภาพรวมเกี่ยวกับ IT Security โดยการอ่านหนังสือที่ให้ความรู้พื้นฐานในทุกๆ ด้านของ security ยกตัวอย่างเช่น
แน่นอนครับว่าการอ่านหนังสืออย่างเดียวคงไม่สามารถทำให้เราเก่งได้อย่างแน่นอน ดังนั้น ขั้นตอนต่อไปคือ เราควรจะทำการ set up แล็บของตัวเองขึ้นมา เพื่อที่จะทดลองวิชาต่างๆ ที่ได้อ่านมา ซึ่งในแล็บของเราอย่างน้อยก็ควรที่จะมีเครื่อง Unix/Linux สักหนึ่งหรือสองเครื่อง และก็เครื่อง Windows ซึ่งเครื่องทั้งหมดต้องเชื่อมต่อด้วยกันผ่าน network โดยเราสามารถค้นคว้าหาความรู้ที่จะมาใช้ทดลองในแล็บได้จากเว็บไซด์ต่างๆ ที่เกี่ยวกับ IT Security เช่น
ส่วนตัวอย่างหนังสือที่เราสามารถใช้ได้ในแล็บ ก็จะเป็นหนังสือในซีรี่ย์ของ Hacking Exposed ซึ่งจะอธิบายขั้นตอนและวิธีการต่างๆ ในการทดสอบ IT Security และก็ลองดาวโหลด tools ต่างๆ จากเว็บไซด์ Top 100 Network Security Tools (http://sectools.org/) แล้วลองเล่นแต่ละตัวในแล็บดู เพื่อที่จะศึกษาว่าแต่ละตัวทำงานยังไงและเราควรจะใช้ tool แต่ละตัวในสถานการณ์แบบไหนและเพื่อจุดประสงค์อะไร

หลังจากที่เราได้ศึกษาเรียนรู้เกี่ยวกับ IT Security ในด้านต่างๆ แล้ว เราก็ควรที่จะคอยอัพเดทความรู้ของเราอย่างสม่ำเสมอ โดยการอ่านบทความต่างๆ ในเว็บไซด์ที่เกี่ยวข้องกับ IT Security เช่น SecurityFocus หรือ subscribe ไปยัง security mailing lists ที่เราสนใจ โดยเฉพาะ mailing list ของ Bugtraq ที่จะคอยบอกเกี่ยวกับช่องโหว่ใหม่ๆ ที่ถูกค้นพบในซอฟแวร์ต่างๆ ซึ่งจะทำให้เราสามารถหา patch มาลงเพื่อปิดช่องโหว่ได้อย่างรวดเร็ว

ขั้นตอนสุดท้ายของเส้นทางไปสู่สายอาชีพ IT Security ก็คือ ลองไปสอบ certification ต่างๆ ที่เกี่ยวข้องกับ IT Security ดู (เช่น CISSP, CISA, CISM และ CEH เป็นต้น) เพื่อที่ว่าเราจะได้สามารถเอา certification เหล่านี้มาใช้ช่วยเราในการสมัครหางานได้ง่ายขึ้น และบางทีก็อาจจะใช้ในการต่อรองเรื่องเงินเดือนได้ด้วย และถ้าเราอยากจะสร้างชื่อเสียงในวงการ IT Security แล้วละก็ ให้ลองเข้าไปสมัครเป็นสมาชิกของ security community กับเว็บไซด์ที่เราสนใจ เพื่อที่จะได้ช่วยแบ่งปันความรู้และช่วยเหลือคนอื่น และถ้าท่านไหนที่มีความสามารถด้าน programming ก็ลองเขียน security tool ขึ้นมาเองดู ยิ่งจะเป็นการทำให้เราได้เรียนรู้เกี่ยวกับ security มากยิ่งขึ้น

ผมหวังว่าบทสรุปของผมจะสามารถช่วยตอบคำถามที่มีอยู่ในใจของหลายท่านๆ เกี่ยวกับการเริ่มต้นในสายอาชีพด้าน IT Security ได้บ้างนะครับ ถ้าท่านใดมีคำถามล่ะก็ อีเมล์มาหาผมได้เลยนะครับ ที่ andrew.thana [at] gmail.com