IncognitoLab Case : Attack by advertisement

สถานการณ์ล่าสุด

2:20PM 26 Sep 2013 script หยุดการ redirect

สำหรับท่านที่มีปัญหาเรื่องการ redirect อัตโนมัติ ให้ลองตรวจสอบว่า Java ที่ติดตั้งอยู่ในเครื่องคือ version 1.7 ใช่หรือไม่ ซึ่งสามารถตรวจสอบได้ที่ BrowserScan by Rapid7 โดยที่การวิเคราะห์ล่าสุดนั้นพบว่าเครื่องที่เกิดปัญหาจะมีการใช้งาน java 1.7.x อยู่ และ website ที่เข้าไปใช้งานมี script การติดตามผู้ใช้งานอยู่ตามรูป
Screen Shot 2556-09-26 at 2.13.18 PM
ซึ่งตัวการที่ทำให้การใช้งานของเรามีปัญหาคือ scorecardresearch.com

วิธีการแก้ไข

ต้อง Block มันครับ บน chrome และ firefox มี plugin ชื่อ collusion ที่สามารถ block การติดตามการใช้งานได้ ซึ่งมันจะ block website พวก tracer ที่คอยติดตามการท่องเว็บของเราอยู่ตลอด


หลังจากที่ห่างหายไปนานเมื่อวานพวกเราพึ่งจะเผยแพร่บทความไป ตั้งใจว่าจะทิ้งช่วงไว้สักนิดค่อยเขียนบทความใหม่ แต่เราก็ทำไม่ได้ครับเนื่องจากมีเหตุการณ์บางอย่างเกิดขึ้นกับการใช้งาน Internet ของพวกเรา นั่นคือบาง Website ที่เราเข้าไปใช้งาน เกิดอาการแปลกๆขึ้น โดยหลังจากเข้าไปบาง website มันมักจะ redirect ไปที่ http://www.forex-prices.com

forex_redir1

หลังจากที่พวกเราสังเกตดูหลายๆ website* ได้แก่ bloomberg, posttoday และ stock2morrow ก็พบว่าภายใน website มีการใช้งาน service ของ scorecardresearch.com อยู่ ซึ่ง scorecardresearch.com นั้น claim ตัวเองว่าเป็น service ด้านการตลาดอย่างหนึ่ง

*ขออนุญาตกล่าวอ้างอิงถึงเพื่อเป็นประโยชน์กับผู้อ่านครับ จริงๆแล้วมีหลายเว็บแต่ขอยกเฉพาะ website ที่คนไทยน่าจะรู้จักกันมากพอสมควร นอกจากนี้เราพบว่าปัญหานี้เกิดขึ้นกับ ISP บางเจ้าเท่านั้นครับ

พอเราสังเกตให้ละเอียดขึ้นพบว่าหลังจากที่เข้า website ดังกล่าวจะมี request ไปที่ b.scorecardresearch.com เกิดขึ้นเสมอตามรูป
forex_redir2

หลังจากนั้นก็จะมี script ดังกล่าวขึ้นมาทำงาน
forex_redir3

ถ้าวิเคราะห์แบบเร็วๆดูก็จะพบว่ามี keyword เหล่านี้อยู่ใน sourcecode

self","top","href","location","http://goo.gl/voNi7T","script",
"createElement","type","text/javascript","async","src",
"http://fxpr.com//api.js","getElementsByTagName","authID","",
"body","p","div","h1","header","html","insertBefore","parentNode

ใน keyword ดังกล่าวมีการอ้างอิงถึง http://goo.gl/voNi7T ถ้าหากลองเรียกดูก็จะพบว่ามันคือ short URL ของ forex-prices.com

ถามว่าจะแก้ไขอย่างไร

คำตอบนี้จะต้องให้ webmaster ของ website ที่ใช้บริการ advertisement หรือ banner ต่างๆ มาช่วยจัดการครับ เนื่องจากวิธีนี้เป็นการโจมตีผ่านการใช้งาน ads และ banner กลุ่มผู้ร้าย (cyber criminal) อยากจะ enable หรือ disable การโจมตีเมื่อไรก็ได้ที่อยากจะทำ ทำให้เรา trace ไปหาตัวผู้ร้ายได้ยาก

ส่วนฝั่งผู้ใช้งานก็ต้องดูแลตัวเองด้วยการ update patch ทั้ง OS, Browser และ Plugin ต่างๆ ลองไปตรวจสอบว่า Browser ที่ใช้งานปลอดภัยหรือไม่ ผ่าน service ชื่อ BrowserScan ของ rapid7 ดูนะครับ (ฟรีและดีมาก)

ถ้าหากใครเข้า website แล้วเกิดอาการแบบนี้ก็ต้องระมัดระวังตัวกันด้วยนะครับ ครั้งนี้พวก cyber criminal ทำแค่ redirect เราไปสักที่หนึ่งเพื่อจุดประสงค์อะไรก็แล้วแต่ คราวหน้ามันอาจจะ redirect เราไป landing page เพื่อโจมตีเราก็เป็นได้

นอกจากนี้ผู้ใช้งานทั่วๆไปอย่างเราๆ อาจจะสามารถป้องกันด้วยวิธีการติดตั้ง Add-on ของ Web Browser ที่ช่วย Block Ads ต่างๆ ได้ แต่ผมคิดว่า Solution นี้เป็นแค่วิธีการป้องกันชั่วคราวเท่านั้น เพราะวิธีการโจมตีแบบนี้ถือว่า Stealth มากๆ การ Update ของ Add-on อาจจะมาไม่ทันทำให้เราอาจตกเป็นเหยื่อได้อีก อย่างไรก็ตามวิธีการป้องกันที่ดีที่สุดก็คือการสร้าง Security Awareness ให้กับตัวเราเองครับ

Be Prepared!!!

GPS Attack ตอนที่ 3

มาถึงตอนที่ 3 ซึ่งจะเป็นตอนสุดท้ายของ series แล้วนะครับ วันนี้ผมจะมาทดลองการโจมตี AGPS ที่อยู่บน iPhone ดูว่าจะทำอะไรได้บ้าง หลังจากนั้นก็จะพูดถึงรูปแบบการโจมตี GPS ขั้นสูงในปัจจุบัน

Attack GPS บน iPhone แบบพื้นๆ

1. หาข้อมูล Wireless AP
ก่อนอื่นเราต้องมีฐานข้อมูลของ Wireless AP ก่อนซึ่งวิธีที่จะหานั้นเราไม่จำเป็นต้องไปเดินลุย scan เอาเองนะครับ ปัจจุบันมีของฟรีให้ใช้อยู่โดยต้องลงทะเบียนใช้งานก่อนที่ WiGLE: Wireless Geographic Logging Engine

พอสมัครเรียบร้อยแล้ว เราต้องการข้อมูล Wireless AP ที่อยู่บนแผนที่ วิธีที่จะ extract ออกมาเราต้องใช้ IGiGLE: Irongeek’s WiGLE WiFi Database to Google Earth Client for Wardrive Mapping

ให้เรากรอก latitude และ longitude ของพื้นที่ที่เราสนใจภายในสี่เหลี่ยมสีแดง และกรอก username/password ที่สมัครใน WiGLE ส่วนค่าอื่นๆช่างมัน จากนั้นกดปุ่ม By Lat/Long

iGiGLE จะไป query WiGLE และ convert เป็น KML file สำหรับเปิดบน Google Earth ดังรูป


ตอนนี้เราก็ได้ข้อมูล Wireless AP เพื่อไปใช้ในขั้นตอนต่อไปแล้วครับ

2. สร้าง Wireless AP ลวง
ผมทำการทดลองตามผลการวิจัยจาก ETH Zurich อาจจะไม่เหมือน 100% เนื่องจากขาดอุปกรณ์บางอย่าง ก่อนอื่นเตรียมเครื่องที่เป็น linux-based สักเครื่อง ที่มี wireless interface อย่างน้อย 1 interface และอีก interface ให้ใช้งาน internet ได้และติดตั้ง aircrack-ng suite ไว้ด้วย
2.1 Set wireless interface ให้อยู่ใน monitor mode

> airmon-ng start wlan0

2.2 สร้าง access point ให้ชื่อ SSID และ MAC address เหมือนกับสถานที่ที่เราอยากจะลวงขึ้นมา

> airbase-ng -e "SSID_NAME" -a 00:11:22:33:44:55 -c 11 mon0

2.3 set configuration ให้กับ access point เพื่อให้มันทำงานเหมือนของจริง และใช้งานได้จริง (at0 เป็น interface ที่เพิ่มขึ้นมาหลังจาก run airbase-ng)

> ifconfig at0 up
> ifconfig at0 192.168.10.1 netmask 255.255.255.0
route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.1
> /etc/init.d/dhcp3-server start

2.4 ทำการ set ค่า firewall ของเครื่องและทำการ route traffic ให้

> iptables --flush
> iptables --table nat --flush
> iptables --delete-chain
> iptables --table nat --delete-chain
> iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
> iptables --append FORWARD --in-interface at0 -j ACCEPT
> echo 1 > /proc/sys/net/ipv4/ip_forward

หลังจากที่ผมทำการ connect iPhone ให้ใช้งาน rogue AP ที่ทำการลวงขึ้นมาปรากฎว่า location ของ iPhone ที่ผมใช้งานนั้นมันเกิดมั่วขึ้นมาครับ รูปด้านล่างแสดงสถานที่จริง สังเกตว่าผมอยู่ใกล้ๆแม่น้ำ

ส่วนรูปนี้ผมเปิด map ใน iPhone ครับ สถานที่ต่างกันไกลพอสมควร

ผลการทดลอง location spoof ไม่ได้กลายเป็นสถานที่ที่ตั้งใจจะลวงขึ้นมาก็เนื่องจาก source ที่เหลือครับ คือข้อมูลจาก cell station และ GPS ซึ่งวิธีการจัดการก็คือการทำ jamming ให้สัญญาณมันใช้งานไม่ได้ โดยวิธีที่มีประสิทธิภาพที่สุดก็คือการใช้เครื่องมือครับ หาซื้อเอาตาม internet ยิ่งเราตัดสัญญาณจากเครือข่ายโทรศัพท์ GPS และ Access point รอบด้านมากเท่าใด และบังคับให้มาใช้งานผ่าน AP ของเราแทน location spoofing ก็จะได้ผลมากขึ้น [การทำ jamming หากสร้างความรำคาญ หรือรบกวนผู้อื่น เป็นการกระทำที่ผิดกฎหมายนะครับ whitehat hacker จะไม่ทำเด็ดขาด การสาธิตของผมจึงต้องทำอยู่บนตึกสูงที่ไม่มีสัญญาน access point ตัวอื่นมากวน]

GPS Attack ในทางสงคราม

เมื่อปลายปีที่แล้ว ถ้าได้ติดตามข่าวกันน่าจะเคยได้ยินเรื่องอากาศยานไร้คนขับ UAV(Unmanned Aerial Vehicle หรือ DRONE ซึ่งจัดเป็นเทคโนโลยีด้านสงครามขั้นสูงที่ประเทศมหาอำนาจใช้งานกัน) ของ US ถูกอิหร่านโจมตีโดยวิธีที่เรียกว่า GPS Spoofing หลังจากอิหร่านทำให้เจ้าเครื่อง US-DRONE ตกแล้ว ก็ได้ออกมาบอกว่าทำการเจาะเข้าไปใน US-DRONE และขโมยข้อมูลออกมาได้หมด ส่วนทางฝั่ง US ก็ออกมาตอบโต้ว่าทำไม่ได้หรอก เนื่องจากมีการเข้ารหัสไว้เป็นอย่างดี แต่ไม่นานหลังจากนั้นผบ.ของอิหร่านออกมาแถลงข่าวพร้อมทั้งภาพประกอบเครื่อง DRONE ของอิหร่าน แต่ผมยังไม่เคยเห็นมันบินนะครับ

เปรียบเทียบกับ DRONE ของทาง US

Current breakthrough

เมื่อไม่นานมานี้ อาจารย์ Todd E. Humphreys แห่ง University of Texas at Austin ได้บรรยายในงาน TedXTalk เกี่ยวกับเทคโนโลยี GPS Attack ที่สร้างขึ้นด้วยงบประมาณไม่เกิน 1000USD
อาจารย์ Todd E. Humphreys ในงาน TedXAustin
การทดลองของ Humphreys ได้ทำการสาธิตให้เจ้าหน้าที่ของ DHS-Department of Homeland Security เพื่อพิสูจน์งานวิจัยการโจมตี GPS โดยเครื่อง DRONE ที่นำมาสาธิตถูกโจมตีด้วย GPS spoofing attack ได้จริงๆ หลักสำคัญของการโจมตีก็คือการสร้างสัญญาณลวง GPS และอีกเรื่องก็คือข้อมูลของ GPS ไม่มีการเข้ารหัส การโจมตีที่เรียกว่า GPS spoofing จึงทำได้สำเร็จ

ก็เป็นอันจบ series ของ GPS Attack แล้วนะครับ หวังว่าคงได้ความรู้เรื่อง GPS attack เพิ่มมากขึ้น

GPS Attack ตอนที่ 2

ตอนที่แล้วเราได้พูดถึงหลักการทำงานอย่างง่ายๆ คร่าวๆของระบบ GPS ไปเรียบร้อยแล้ว สำหรับ GPS ที่เราจะทำการโจมตีนั้น ผมจะทำการทดลองบนอุปกรณ์ smartphone ครับซึ่งหลักการทำงานของ GPS ของอุปกรณ์พวกนี้ มันมีความแตกต่างจาก GPS ทั่วไปอยู่บ้าง

mobile phone ใช้ gps ยังไง

เคยสังเกตมั้ยครับว่าเวลาเราใช้งาน GPS บนอุปกรณ์ smartphone จะพบว่าใช้เวลาไม่นานก็สามารถ locate ตำแหน่งของเราได้ ผิดกับ GPS receiver ทั่วไปที่ต้องใช้เวลาสักพัก ต้องอยู่ในที่ที่ไม่มีอะไรมาบดบังสัญญาณ และถ้าจะให้รับสัญญานได้รวดเร็วจำเป็นที่จะต้องอยู่กับที่ด้วย ด้วยข้อจำกัดดังกล่าวถ้าหากจะให้ smartphone ใช้วิธีเดียวกันกับ GPS receiver เลยก็จะพบว่ามันจะต้องใช้พลังงานสูง และใช้เวลานานกว่าจะหา location ได้พบ พวกโทรศัพท์ประเภท smartphone หรือ mobile device บางยี่ห้อจึงใช้เทคนิคที่เรียกว่า AGPS(Assisted GPS) แทน โดยที่จะนำข้อมูลต่อไปนี้ไปประมวลผล:
1. ข้อมูลจาก Cell Tower Station: โดยปกติพวกเสารับ ส่ง ขยาย กระจายสัญญาณโทรศัพท์มือถือจะมี GPS receiver module อยู่ ซึ่งจะทำการรับสัญญาณข้อมูล GPS จากดาวเทียม แน่นอนว่ามีความแม่นยำสูงมาก โดยข้อมูลพวกนี้จะถูกส่งต่อไปยัง mobile phone ผ่านทางโครงข่ายโทรศัพท์เคลื่อนที่ GPRS,Edge หรือ 3G ซึ่งจะมีความรวดเร็วกว่าการรับสัญญาณจากดาวเทียมโดยตรง

2. ข้อมูลจาก Wi-Fi access point: ไม่รู้ว่าเคยสังเกตกันหรือไม่ครับ ว่าปัจจุบัน Wi-Fi access point ตาม city centre หรือตามจุดที่มีผู้คนอาศัยอยู่หนาแน่นต่างๆ ที่มี hi-speed internet เข้าถึงได้ เราจะพบว่ามี access point อยู่เป็นจำนวนมาก รูปด้านล่างเป็นตัวอย่างของ crowd-source Wi-Fi ของกรุงแบลิน(ภาษาเยอรมัน) ประเทศเยอรมนี จาก crowdflow.net

AP เหล่านี้จะบ่งบอก location คร่าวๆได้โดยวิเคราะห์จากชื่อ wireless network(ESSID), MAC ของ wireless network(BSSID) และ channel

3. ข้อมูลจาก GPS ของ smartphone: ข้อมูลประเภทนี้คุยกันไปแล้วนะครับในตอนที่ 1

ข้อมูลจากทั้ง 3 แหล่งจะถูกนำไปประมวลผลที่ location server โดยในช่วงปี 2008 Apple ใช้บริการของ Skyhook ซึ่งคิดค้นและเป็นเจ้าของสิทธิบัตรเทคนิค AGPS ที่ใช้ข้อมูลจากทั้ง 3 แหล่งไปประมวลผล รูปด้านล่างสามารถหาข้อมูลเพิ่มเติมจาก animation ที่อธิบาย technique ได้ใน skyhook นะครับ(click ที่ภาพ)

แต่ปัจจุบัน iPhone(iOS5) จะส่งข้อมูลดังกล่าวไปที่ Apple และทำงานโดยใช้ service ของ google maps for mobile เป็นหลัก ส่วน Android ใช้งานอยู่แล้ว (ผมทดลอง sniff traffic ขณะ locate ตำแหน่งดู)

รูปด้านบนผมทำการคัดกรองเฉพาะ ASCII character ที่เป็นตัวหนังสือที่อ่านออกมาแสดงเท่านั้น(จริงๆแล้วมีข้อมูลประเภท proprietary binary data อยู่อีกมาก) จะพบว่ามีการส่ง location data และ load map จาก google นำมาแสดงผล

หลักการโจมตี AGPS บน smartphone ก็คือเราจะทำอย่างไรก็ได้ครับที่ทำให้ข้อมูลที่นำไปประมวลผลที่ location server เกิดการผิดเพี้ยนไป หรือตัดข้อมูลจากบางแหล่งออกให้เหลือเฉพาะส่วนที่สามารถปลอมแปลงขึ้นมาได้ ส่วนจะทำอย่างไรนั้น ขอให้ผู้อ่านติืดตามบทความตอนถัดไปครับ

GPS Attack ตอนที่ 1

GPS ในความคิดของนักเจาะระบบ

ลองคิดดูว่าหากระบบนำทางที่เราเรียกกันติดปากว่าระบบ GPS เกิดปัญหาขัดข้องขึ้น ไม่ว่าจะเป็นการบ่งบอกพิกัดผิดจากตำแหน่งจริง หรือสถานีควบคุมเห็นวัตถุกำลังเคลื่อนที่จากจุดใดไปจุดหนึ่งแต่จริงๆแล้วไม่มี จะเกิดอะไรขึ้น นี่เป็นปัญหาและภัยคุกคามระดับโลกเลยนะครับ หากจะอธิบายไปไกลกว่านี้ผมคงต้องปูพื้นหลักการทำงานของ GPS ให้ทุกคนทราบก่อนครับว่าเป็นยังไง

GPS คืออะไร

ระบบ GPS(Global Positioning System) เป็นระบบระบุตำแหน่งบนพื้นโลก โดยการทำงานของมันจะต้องประกอบด้วย 3 ส่วน
1. User segment: เป็นตัวรับสัญญาณจากดาวเทียม เรียกว่า GPS receiver equipment เช่นพวก GPS ติดเครื่องบิน เรือ รถยนตร์และพวก smartphone
2. Control segment: เป็นสถานีควบคุมดาวเทียม
3. Space segment: เป็นดาวเทียมที่มีวงโคจรอยู่รอบโลก ทำการการกระจายสัญญาณส่งข้อมูลที่เรียกว่า time and space ให้ส่วนที่เป็น user segment คำนวณตำแหน่ง

ทำไมมันรู้ตำแหน่งเรา

GPS receiver ต้องการข้อมูล time and space จากดาวเทียมมาคำนวณว่าตัวมันเองอยู่ห่างจากดาวเทียมเป็นระยะทางเท่าไร โดยที่จำเป็นต้องใช้ข้อมูลอย่างน้อยจากดาวเทียม 4 ดวง ถ้ารับข้อมูลมาแค่ 3 ดวงพิกัดความสูงจะผิดไปเนื่องจากโลกมีความโค้งและสัณฐานของโลกมีลักษณะกลม การรับข้อมูลจากดาวเทียมเพียงแค่ 3 ดวงจะคำนวณตำแหน่งได้ก็ต่อเมื่อนำคำนวณพิกัดตำแหน่งในระนาบเท่านั้น ถ้าหากรับข้อมูลจากดาวเทียมน้อยกว่า 3 ดวงตำแหน่งพิกัดจะมั่ว ไม่แม่นยำเท่าที่ควร ส่วนวิธีการการคำนวณนั้นหาอ่านได้จากตำราฟิสิกส์เอาเองละกันนะครับ ขอบอกว่าต้องนำหลักสัมพัธภาพของไอสไตน์มาใช้ด้วยครับเนื่องจากดาวเทียมโคจรอยู่นอกโลก เวลาที่เดินก็จะไม่เท่ากันอีกทั้งการเดินทางของคลื่นแม่เหล็กไฟฟ้าในอวกาศจะมีเรื่องแรงโน้มถ่วงอีกด้วย หากไม่นำเรื่องพวกนี้มาคิดด้วย GPS ก็จะไม่แม่นยำครับ

ลืมบอกไปว่าข้อมูลดาวเทียมที่เราใช้กันอยู่ปัจจุบันเป็นของ US ครับเค้าให้ใช้งานฟรี พอพูดเรื่องนี้ต้องขอเล่าเพิ่มเติมว่าหากใช้ในทางทหาร มันจะมีเรื่อง security เข้ามายุ่งด้วย Russia ก็มีโครงการดาวเทียม GPS ของเค้าเองอยู่ภายใต้ Federal Space Agency ชื่อ GLONASS ใช้เอง ส่วนยุโรปเค้าก็มีส่วนตัวครับของ European Space Agency ชื่อว่า Galileo ซึ่งทางโครงการบอกว่าการทำงานจะเป็นไปในลักษณะ inter-operable กับของทาง US และ Russia สำหรับผู้ใช้งานทั่วไปพึงระลึกเสมอว่า free GPS ที่ใช้คลาดเคลื่อนไม่เกิน 10m แต่หากใช้ GPS ในทางทหารพิกัดจะแม่นยำกว่านี้เยอะครับ

ตอนนี้เราก็รู้เรื่อง GPS ว่าทำงานกันอย่างไรแล้ว บทความตอนหน้าผมจะเล่าให้ฟังว่าจริงๆแล้วพวก smartphone ไม่ได้พึ่งพา GPS อย่างเดียวในการระบุตำแหน่งเนื่องจากมีข้อจำกัดอยู่ และผมจะลองโจมตี GPS บน smartphone ด้วย แต่จะเป็นยังไงนั้นขอให้ติดตามตอนหน้านะครับ