Tags:
SSL

นักวิจัยด้านความปลอดภัยสองคนคือ Juliano Rizzo และ Thai Duong ได้นำเสนองานวิจัยที่งาน Ekoparty สาธิตความเป็นไปได้ในการเจาะเว็บที่มีการรวมโค้ดจากภายนอกที่ไม่ได้เข้ารหัส SSL แม้ตัวเว็บหลักจะส่งข้อมูลผ่าน SSL ก็ตาม

เทคนิคนี้อาศัยการส่งจาวาสคริปต์ปลอมด้วยการดักกลาง (man in the middle) ระหว่างการโหลดจาวาสคริปต์จากเว็บภายนอกที่ไม่ได้เข้ารหัส ตัวจาวาสริปต์นั้นจะส่งข้อความที่แฮกเกอร์รู้ล่วงหน้า (known text) กลับไปยังเว็บหลัก เมื่อแฮกเกอร์จับข้อความแบบเข้ารหัสแล้วจึงนำมาเข้ากระบวนการย้อนกลับ เพื่อหากุญแจเข้ารหัสของ session นั้นๆ ได้

สำหรับเว็บต่างๆ ทางแก้ทางหนึ่งที่เป็นไปได้คือการเรียกใช้จาวาสคริปต์ภายนอกผ่านทาง SSL ทั้งหมด เช่น Google +1 นั้นสามารถรวมจาวาสคริปต์จาก https://apis.google.com/js/plusone.js ได้แทนที่จะใช้ HTTP ปรกติ

ที่มา - ArsTechnica

Comments

By: thegodth
Android
thegodth's blog
on 22/09/11 1:47 #335796 toggle
thegodth's picture

ถ้าไม่ใช้ link script ดึงจาก google จะสร้างใช้เอง ก็ต้องเสียค่าจด HTTPS อีกสินะ ราคามันไม่ถูกเลยนะนาย

By: lancaster
ContributoriPhoneAndroidWindows
lancaster's blog
on 22/09/11 3:27 #335814 Reply to:335796 toggle
lancaster's picture

ถ้าเว็บคุณไม่ใช่ https ข่าวนี้ก็ไม่มีผลหรอกครับ เพราะมันดักได้ทุกตัวอักษรตั้งแต่ packet แรกเลยฮะ

By: HudchewMan
ContributorAndroidWindows
HudchewMan's blog
on 22/09/11 2:19 #335806 toggle
HudchewMan's picture

ติดใจชื่อของคุณคนนี้แฮะ ^^ ---> Thai Duong


~ จุดยืนของทุกคนคือส้นเท้า : HudchewMan's Diary | TH LG Optimus Black ~

By: โต้คุง
BlackberryWindows
โต้คุง's blog
on 22/09/11 2:37 #335808 Reply to:335806 toggle
โต้คุง's picture

คนนี้เค้าเป็นคนเวียดนามฮะ :)


@nongtokung

By: clozed2u
iPhoneAndroidUbuntu
clozed2u's blog
on 22/09/11 3:26 #335813 toggle
clozed2u's picture

ก็ยังหาช่องทางเจาะกันจนได้นะ


Follow @clozed2u

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 8:46 #335830 toggle
PaPaSEK's picture

@lew ผมขอแสดงความเห็น

บทความเชิงเทคนิคแบบนี้ ศัพท์ที่เป็นศัพท์ทางเทคนิค (technical term) ควรจะเขียนทับศัพท์ด้วยภาษาอังกฤษไปเลย หรือไม่ก็ควรจะมีคำเดิมในวงเล็บด้วยก็น่าจะดีขึ้น

ผมเห็นว่าหลายคำพอเอามาแปลเป็นไทยแล้วมันไปตีกับคำอื่น คือมันไม่มีคำไทยตรงๆ ก็ต้องแปลไปเป็นคำที่ใกล้เคียง บางคำอ่านแล้วงงว่ามันแปลมาจาก technical term ตัวไหน

ความไม่ชินกับภาษาไทยเป็นปัญหานึงก็จริง แต่อีกปัญหานึงคือปัญหาความกำกวมของภาษาไทยที่แปลมาจาก technical term ครับ

By: lew
FounderJusci's WriterMEconomicsAndroid
lew's blog
on 22/09/11 13:17 #335947 Reply to:335830 toggle
lew's picture

คำไหนบ้างหรือครับ

ปรกติผมจะพยามใช้ภาษาไทยให้มากที่สุด ไม่ว่าจะเป็นการทับศัพท์หรือใช้คำแปล ยกเว้นว่าอ่านแล้วเข้าใจยากเท่านั้น

ดังนั้นถ้ามีคำไหนที่ผมใช้ภาษาไทยมากเกินไป สามารถเสนอมาได้ คนเขียนคนอื่นจะได้ทราบด้วยครับ


LewCPE's Google+

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 13:20 #335951 Reply to:335947 toggle
PaPaSEK's picture

อย่าง เช่นประโยคนี้ครับ

การรวมโค้ดจากภายนอกที่ไม่ได้เข้ารหัส SSL

ตัวผมเองค่อนข้าวชอบที่ใช้ภาษาไทยนะครับ แต่ถ้าเป็นบทความทางเทคนิคที่มีศัพท์เทคนิคเยอะๆ เวลาแปลไทยระเอียดเกินมันจะค่อนข้างงงครับ

ขอบคุณครับ

By: latesleeper
Android
latesleeper's blog
on 22/09/11 13:48 #335966 Reply to:335951 toggle
latesleeper's picture

เสนอความคิดเห็นเสริมทั้งสองท่านครับ ผมคิดว่าโลกของโปรแกรมเมอร์และโค้ดตั้งอยู่บนภาษาอังกฤษเป็นหลัก หลักการเลือกว่าคำไหนแปลไม่แปลน่าจะตั้งอยู่บนหลักว่า "ถ้าเราจะเอาเรื่องนี้กลับไปคุยกับฝรั่ง เราใช้ศัพท์เทคนิคตัวเดียวกันหรือไม่" น่าจะดีนะครับ ทุกวันนี้โปรแกรมเมอร์ไทยพบปะต่างชาติอยู่ตลอดเวลา การเข้าใจศัพท์เทคนิคร่วมกันน่าจะเป็นประโยชน์กว่าการแปลเพียงเพื่อให้เข้าใจได้นะครับ

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

เสนอเพียงเท่านี้ ขอบคุณครับ


ซู่ซ่า ~♥(>◡<)♥

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 15:47 #336028 Reply to:335966 toggle
PaPaSEK's picture

ขอบคุณครับ ผมก็เห็นด้วยบางส่วนนะครับ เพราะส่วนมากผมจะใช้ภาษาไทยให้มากที่สุด ยกเว้นบางอย่างที่มันแปลไทยแล้วงงจริงๆ ผมก็จะใช้ภาษาอังกฤษไปเลย

By: lew
FounderJusci's WriterMEconomicsAndroid
lew's blog
on 22/09/11 15:33 #336020 Reply to:335951 toggle
lew's picture

แล้ว expected output ของคุณคืออะไรครับ?


LewCPE's Google+

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 15:48 #336027 Reply to:336020 toggle
PaPaSEK's picture

เปิดมาเจอ "expected output" ถึงกับงง...

ผมอาจจะเป็นคนเดียวที่อ่านข่าวแล้วงง (ในช่วงแรก) จนต้องกลับไปอ่านบทความต้นฉบับว่า "การรวมโค้ดจากภายนอกที่ไม่ได้เข้ารหัส SSL" คืออะไร

อย่างกรณีนี้มันหมายถึง "injected JavaScript (or something) from xxx through Ads, IFRAME etc." ถ้าถามผมว่า "การรวมโค้ดจากภายนอกที่ไม่ได้เข้ารหัส SSL" มันตรงมั้ย ... ผมตอบว่ามันก็ตรง แต่ประโยคที่เป็นภาษาไทยดังกล่าวพออ่านแล้วมันไม่เห็นภาพ และไม่ได้ concept ของการทำงานเท่ากับประโยคที่เป็นภาษาอังกฤษน่ะครับ

ผมอธิบายงงมั้ย?

By: mr_tawan
ContributoriPhoneAndroidWindows
mr_tawan's blog
on 22/09/11 16:00 #336032 Reply to:336027 toggle
mr_tawan's picture

ผมคิดว่าที่คุณ Papasek ต้องการน่าจะเป็นประมาณ

  • "การรวมโค๊ด (Inject) ภายนอกที่ไม่ได้เข้ารหัส SSL"

ล่ะมั้งครับ ?


By: bongikairu
ContributorUbuntu
bongikairu's blog
on 22/09/11 20:25 #336102 Reply to:336020 toggle
bongikairu's picture

เรียกใช้โค้ดจากภายนอก ก็ดู OK นะครับ แต่คำว่ารวมโค้ดก็อ่านเข้าใจได้เหมือนกัน


Gear's Edge the Blog

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 20:44 #336107 Reply to:336102 toggle
PaPaSEK's picture

injected ไม่ใช่การเรียกครับ

By: mr_tawan
ContributoriPhoneAndroidWindows
mr_tawan's blog
on 22/09/11 20:47 #336110 Reply to:336107 toggle
mr_tawan's picture

ผมเรียกว่า การแทรกโค๊ด นะครับ

จริงๆ ถ้าเอาให้ตรงมันก็คือการฉีดน่ะล่ะ อารมณ์มันจะเหมือนกับเราเห็นรอยแยกบนกำแพง ก็เลยเอากาวซีเมนท์ฉีดลงไป (เหมือนใช้เข็มฉีดยา) ให้กาวมันแทรกตัวลงไปในช่องว่าง


By: bongikairu
ContributorUbuntu
bongikairu's blog
on 22/09/11 21:27 #336128 Reply to:336107 toggle
bongikairu's picture

มัน inject เข้าไปในโค้ดที่ include มาไม่ใช่หรือครับ หรือผมอ่านผิด ?

เพิ่มเติม: ผมพูดถึงประโยคนี้นะครับ "เว็บที่มีการรวมโค้ดจากภายนอกที่ไม่ได้เข้ารหัส SSL"


Gear's Edge the Blog

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 22:14 #336142 Reply to:336128 toggle
PaPaSEK's picture

ขอบคุณมากครับที่เปิดมาแบบนี้ นี่แหละครับปัญหาของการใช้ภาษาไทย คือมันกำกวมอยู่บ้าง

กรณีนี้ไม่ใช่ include ครับ ถ้าคุณเคยใช้ google analytics มันจะเป็นชุดคำสั่ง javascript มาให้ ซึ่ง code ชุดนี้ก็สามารถยิง javascript ตัวอื่นเข้ามาใน page ของเราได้ ซึ่งการแฮ็ค ssl ในข่าวนี้ก็ใช้ช่องโหว่ตรงนี้แหละครับ

By: bongikairu
ContributorUbuntu
bongikairu's blog
on 22/09/11 22:42 #336145 Reply to:336142 toggle
bongikairu's picture

ผมเข้าใจว่าไม่ว่าจะเรียกจาก <script src=xxx"> หรือจะเรียกผ่านการ load ใน js ก็ได้ผลเหมือนกันนะครับ คือคนที่แฮคสามารถแอบเปลี่ยนข้อมูล script ระหว่างทางได้ (เนื่องจาก script ไม่ได้เข้ารหัส) ทำให้ script ที่ได้มามีโค้ดไวรัสมาด้วย (ตามหลัก man-in-the-middle)


Gear's Edge the Blog

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 22:57 #336149 Reply to:336145 toggle
PaPaSEK's picture

เข้าใจถูกแล้วครับ ส่วนเรื่องปัญหาด้านภาษา ผมว่าอาจเป็นที่ผมคนเดียวก็ได้ครับ

By: TOTEETIME
TOTEETIME's blog
on 22/09/11 19:04 #336087 toggle
TOTEETIME's picture

แล้วคนธรรมดาจะมีวิธีแก้ยังไงครับ? ถ้ามี SSl ที่ให้เราเอาไฟล์ js ไปฝาก สำหรับเรียก ก็คงดี

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 22/09/11 19:33 #336091 Reply to:336087 toggle
PaPaSEK's picture

ในกรณีืี่ถูกฝังมากับ ads ต่างๆ หรือจะเป็น widget อย่างพวกน้ำมัน หุ้น แนวนั้น ที่เราเอามาแปะไว้เองก็คงลำบากครับ

อีกอย่างก็คือ cross site script ครับ ถ้าป้องกัน และรัดกุมตรงนี้ก็หายห่วงในระดัยนึงครับ

By: lancaster
ContributoriPhoneAndroidWindows
lancaster's blog
on 22/09/11 21:28 #336130 Reply to:336087 toggle
lancaster's picture
  1. ถ้าเว็บคุณเป็น SSL ก็เอา js ใส่ไว้ในเว็บคุณ
  2. ถ้าเว็บคุณไม่ใช่ SSL กรุณาอย่าวิตก เพราะสามารถเจาะได้โดยไม่ต้องใช้สคริปต์ช่วยเลย
By: TOTEETIME
TOTEETIME's blog
on 23/09/11 20:19 #336506 Reply to:336130 toggle
TOTEETIME's picture

ขอบคุณครับ สบายใจเลย ไม่ต้องปวดหัวคิดวิธีป้องกันอะไรละ เพราะยังไม่คิดจ่ายเงินเพิ่มเพื่อ SSL ^^