Upgrade to Pro — share decks privately, control downloads, hide ads and more …

sigactionシステムコールによるホスト型ハイパーバイザー開発調査/cybozulabs-youth10-kinoshita

A97eee01397705443a72a48ce29d3e19?s=47 Cybozu
March 31, 2021

 sigactionシステムコールによるホスト型ハイパーバイザー開発調査/cybozulabs-youth10-kinoshita

A97eee01397705443a72a48ce29d3e19?s=128

Cybozu

March 31, 2021
Tweet

Transcript

  1. αΠϘ΢ζɾϥϘϢʔεظੜ໦Լ࿨າ sigactionγεςϜίʔϧʹΑΔϗετܕϋΠύʔόΠβʔ։ൃௐࠪ

  2. ςʔϚ w ͸Γ΅ͯ04͕ಈ͘ɺϗετܕϋΠύʔόΠβʔΛ࡞Δ͜ͱ w -JOVY,FSOFMͷػೳͰ͋ΔTJHOBMBDUJPOγεςϜίʔϧΛ࢖࣮ͬͨ૷͕Մೳ ͳͷ͔Λ࣮૷ͯ͠ݕূ͢Δɻ

  3. ίϯςΩετ w ೥݄d݄ܖ໿ w ϝϯλʔ͸ɺޫ੒͞Μ w HIZQFSʜࢲͷ࡞͍ͬͯΔϗετܕϋΠύʔόΠβʔͷ໊લ IUUQTHJUIVCDPNLB[VNJOOHIZQFS  w

    D Ͱॻ͔Ε͍ͯΔ w 4FD)BDLͰ࡞ͬͨ͸Γ΅ͯ04͕ಈ͘ΤϛϡϨʔλʔ&&.6Λ֦ு w &&.6Λআ͘ͱɺϓϥϚΠ߹ܭߦͷίʔυ͕଍͞Εͨ ϚΠφεͨ͠ͷ͕͔ͳΓଟ͍
  4. Ϟνϕʔγϣϯ w ϋΠύʔόΠβʔΛ࡞Γ͍ͨ w 04Λ࡞Δ௕ཱྀ͍Λ͠ͳͯ͘ྑ͍ͷͰɺϗετܕ w ͍Ζ͍Ζ࣮૷ํ๏͕͋Δϗετܕ͚ͩͲɺࠓճϩδοΫΛڭ͑ͯ΋Βͬͨͷ Ͱɺ࣮૷Λ։࢝ͨ͠

  5. جຊϩδοΫ w DQVͰ໋ྩΛ௚઀࣮ߦΠϯϥΠϯΞηϯϒϦKNQR w ηϯγςΟϒͳ໋ྩΛϋϯυϦϯάTJHBDUJPO

  6. QVTIFT w ໋ྩQVTIFT͕ϋϯυϦϯά͞Εͳ͍໰୊ w ௚લͷ໋ྩͰFTQ ελοΫϙΠϯλ Λॻ͖׵͑Δ໋ྩ͕ߦΘΕ͍ͯΔͷ͕ ݪҼ w TJHBMUTUBDL

    ͱTJHBDUJPOͷ4"@0/45"$,࢖ͬͯɺγάφϧॲཧ༻ͷελ οΫΛผʹׂΓ౰ͯͯճආͨ͠
  7. lock wbinvd(μϒϧϏʔΠϯϰΝϦου) w XCJOWE໋ྩ XSJUFCBDLBOEJOWBMJEBUFDBDIFͷུ  w ͭ͘͸ͣͷͳ͍MPDL͕͋Δ໰୊ w Ͳ͔͜Φϑηοτ͕ͣΕ͍ͯΔͷͰ͸

    w ͦ͜ PTͷ࢝·Γ ͸ɺCJUίʔυͳͷʹɺϞʔυͰ࣮ߦ͍ͯ͠ͳ͍ͷ͕ݪ Ҽ w CJUϞʔυΛඈ͹ͯ͠ɺCJUϞʔυ͔Β࢝ΊΔ
  8. QVTIQPQ੔߹ੑ w QVTIQPQ YYͳͲ ͕ϋϯυϦϯά͞Εͳ͍໰୊ w ී௨ʹɺSTQͷ৔ॴʹΦϖϥϯυ͕ίϐʔ͞ΕΔɻ w ελοΫʹΞΫηεͨ࣌͠ʹྫ֎͕ى͜Ε͹ྑ͍ w

    UISFBEΛ࡞ΓɺͦͷதͰɺBMMPDBγεςϜίʔϧͰελοΫશମΛ֬อ ͠ɺQVTIQPQͰྫ֎ϋϯυϥʔΛى͜͢Α͏ʹ͢Δɻ
  9. Y໰୊ w ʮʯόΠτྻͷղऍ͕CJUͱCJUͰҧ͏ w CJUJODFBYBEECZUFQUS<FBY FDY > BM w CJUBEECZUFQUS<SBY

    SDY > BM w FBY͕SBYͰ࣮ߦ͞ΕΔɻFDY͕SDYͰ࣮ߦ͞ΕΔɻ w )7ΛCJUͰ࣮ߦ͢Ε͹ɺͰ͖Δ͔΋ ࣮ݧ͸·ͩ΍ͬͯͳ͍
  10. ͜Ε͔Βʁ w ·్ͩதͰɺ͸Γ΅ͯ04Λಈ͔͍ͤͯͳ͍ w ଓ͖͸΍Γ͍͕ͨɺϥϘϢʔεͰ͸ɺ͜ͷςʔϚ͸͓͠·͍ w ཧ༝͸ɺࢲͷٕज़ྗͱ΍Γ͍ͨ͜ͱͷ೉͕͠͞ϛεϚον w ผςʔϚͰαϙʔτͯ͠ཉ͍͜͠ͱ͕ݟ͔ͭΕ͹ɺՆٳΈ͚ͩܖ໿͢Δܗʹ ͳΔ͔΋

    w ͓͠·͍