Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RG WIP 2017_08_02
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
omochi
August 02, 2017
Technology
0
87
RG WIP 2017_08_02
the slides of WIP presentation in RG
omochi
August 02, 2017
Tweet
Share
More Decks by omochi
See All by omochi
ISC paper reading 2
0xomochi
0
66
RG WIP 1
0xomochi
0
75
ISC paper reading 1
0xomochi
0
110
Other Decks in Technology
See All in Technology
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
820
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
20260204_Midosuji_Tech
takuyay0ne
1
160
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
110
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
250
OpenShiftでllm-dを動かそう!
jpishikawa
0
130
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Everyday Curiosity
cassininazir
0
130
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Amusing Abliteration
ianozsvald
0
100
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The untapped power of vector embeddings
frankvandijk
1
1.6k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Transcript
ػցֶशʹΑΔϚϧΣΞݕʹ͚ͨ ಛநग़ͱσʔλܗ *4$#ZVNF OPNB IBCBLBO 3(य़ֶظ8*1࠷ऴൃද
ݚڀ֓ཁ • ϚϧΣΞݕͷਫ਼͕มಈ͢Δཁૉ • ಛྔ • ಛநग़ͷํ๏ • ػցֶशΞϧΰϦζϜ •
ΞϧΰϦζϜ͝ͱʹͲͷΑ͏ͳਫ਼ͷҧ͍͕ग़Δͷ͔ʁ • ੩తղੳͷΈΛߦ͏ 2 ෳͷػցֶशΞϧΰϦζϜΛ༻͍ͯ ϚϧΣΞݕਫ਼ͷҧ͍ΛධՁ͢Δ
3 എܠ
ݱঢ় 4 [ະϚϧΣΞͷݕମ] [ϚϧΣΞײછͷݕ] ʮຽ࿈ܞϓϩδΣΫτACTIVE ϚϧΣΞ࠷৽ϨϙʔτʯURL<http://www.active.go.jp/active/data/>ΑΓ 100ഒ
ղܾ͢Δ͖՝ • ݱࡏɿײછʹؾ͕͍͔ͭͯΒඃ͕֦େ͠ͳ͍Α͏ʹରॲʢΠϯγσϯτϨεϙϯεʣ ͍ͯ͠Δ • ײછʹؾ͕͔ͭͣʹΠϯγσϯτϨεϙϯε͕ΕΔ͜ͱ͋Δ ʢաڈʹେྔͷݸਓใ͕ྲྀग़ͨ͠ࣄྫ͋Γʣ • ʮϚϧΣΞʹײછ͠ͳ͍ͨΊͷ༗ޮͳରࡦʯऔΒΕ͍ͯͳ͍ ɹɹɹʮײછ͔ͯ͠ΒʯରॲΛ͢Δͱ͍͏ํ
ɹɹɹˠϚϧΣΞʹײછ͢Δલʹݕ͍ͨ͠ 5 ʮϚϧΣΞײછ͕໌͔ͯ͠Βରॲʯͱ͍͏ݱঢ়
ղܾख๏ ػցֶशΛಋೖ͢Δͱʜ w ະͷϚϧΣΞΛࣝผ͢Δ͜ͱ͕ՄೳʹͳΔ w ϚϧΣΞײછલ͔ΒਝʹରԠͰ͖ΔΑ͏ʹͳΔ 6 ϚϧΣΞݕʹػցֶशΛ༻͍Δ
7 ػցֶशͱ
ػցֶशͱ 8 ίϯϐϡʔλʹେྔͷσʔλΛֶशͤ͞ ύλʔϯΛݟ͚ͭग़͢͜ͱ αϯϓϧσʔλ ಛநग़ ಛྔ ֤छػցֶश ΞϧΰϦζϜ ʻਤɿػցֶशͷྲྀΕʼ
ҰఆҎ্ͷσʔλ͕ඞཁ σʔλ͕࣋ͭಛΛද͢ϕΫτϧ ͲͷΑ͏ͳنଇ͕͋Δ͔ΛௐΔ etc… σʔλ ม
ػցֶशͷྨ 9 ྨ ڭࢣ͋Γֶश ڭࢣͳֶ͠श ڧԽֶश ֶशํ๏ (༩͑ΒΕΔ ͷ) •
σʔλ • ਖ਼ղ ϥϕϧ • σʔλ • ෆશͳ͑ ֶश݁Ռ • ະͷσʔλ ʹରͯ͠༧ଌ Λߦ͏ • ະͷσʔλ ͔ΒنଇੑΛ ൃݟ͢Δ • σʔλ͔Β ࠷దղΛൃݟ͢ Δ
ػցֶशͷԠ༻ 10 Ԡ༻ ྨ ŞŽţŦžƃŞƄ ճؼ ࣍ݩݮ ॲཧ༰ • ༩͑ΒΕͨ
σʔλʹɹ ϥϕϧΛɹ ͚ͭͯྨ • ͷྨࣅੑ Λݩʹάϧ ʔϓ͚ • աڈͷσʔλ Λݩʹকདྷͷɹ Λ༧ଌ • σʔλͷɹ ಛΛҡ࣋ ͭͭ࣍͠ݩ ΛԼ͛Δ ׆༻ྫ • ໎ϝʔϧ ͷྨ • खॻ͖จࣈ ͷೝࣝ • ࠂͷɹɹ ͓͢͢Ίɹ ػೳ • גՁมಈ • ൢച༧ଌ • ܭࢉͷɹɹ ߴԽ • ϝϞϦઅ
ֶशʹ͍ͭͯ 11 ʻ༻ҙ͢Δσʔλʼ • ϚϧΣΞσʔλʢϥϕϧ͖.#ʣ • ਖ਼ৗσʔλʢϥϕϧ͖.#ʣ ʻಛྔʼ • ϑΝΠϧ͕ݺͼग़͢"1*ͷϦετ
ػցֶशͷΞϧΰϦζϜ 12 • TDJLJUMFBSOͰαϙʔτ͞Ε͍ͯΔΞϧΰϦζϜҎԼͷछ ʢTDJLJUMFBSOʹຊݚڀͰ༻͍Δػցֶश༻ϑϨʔϜϫʔΫͷҰछʣ • ྨ $MBTTJGJDBUJPO •
ΫϥελϦϯά $MVTUFSJOH • ճؼ 3FHSFTTJPO • ࣍ݩݮ %JNFOTJPOBMJUZ3FEVDUJPO ʢࢀߟɿTDJLJUMFBSOBMHPSJUINDIFBUTIFFUʣ
13 Ҿ༻ݩʮhttp://scikit-learn.org/stable/tutorial/machine_learning_map/ʯ ྨ(Classification)
14 ֶश·ͰͷྲྀΕ
ֶश·ͰͷྲྀΕ 15 ϚϧΣΞݕମ ਖ਼ৗϑΝΠϧͷऔಘ ಛྔநग़ நग़ͨ͠ಛྔΛֶश༻σʔλʹม σʔλΛෳͷػցֶशΞϧΰϦζϜʹֶशͤ͞Δ ΫϩεόϦσʔγϣϯ
ֶश·ͰͷྲྀΕ 16 ϚϧΣΞݕମΛऔಘ • Լهͷ63-Ϧετ͔ΒϚϧΣΞݕମΛऔಘ • ʮ.BMXBSF%PNBJO-JTUʯXXXNBMXBSFEPNBJOMJTUDPN • ʮ797BVMUʯIUUQWYWBVMUTJSJVS[OFU63-@-JTUQIQ •
ʮ.BMDEFʯIUUQNBMDEFDPNSTT • ''3*ϚϧΣΞݕମσʔληοτ • ্هͷ63-͔ΒݕମΛμϯϩʔυ͢Δࡍʹ5IF0OJPO3PVUFS τʔΞ Λ༻͍ͨ ɹˠଓܦ࿏Λಗ໊Խ͢Δ͜ͱͰɺϚϧΣΞղੳΛ͍ͯ͠Δ͜ͱΛѱҙͷ͋Δ ૬खʹೝ͞Εͣʹղੳ͕Ͱ͖Δ
17 μϯϩʔυ͞Εͨ ϚϧΣΞݕମ
ֶश·ͰͷྲྀΕ 18 ਖ਼ৗϑΝΠϧΛऔಘ • Լهͷ63-͔Β7FDUPSͷιϑτΛμϯϩʔυ • IUUQXXXWFDUPSDPKQWQBDLGJMFBSFBXJOOUHBNFTIPPU • IUUQXXXWFDUPSDPKQWQBDLGJMFBSFBXJOOUHBNFTIPPU JOEFY@IUNM
• IUUQXXXWFDUPSDPKQWQBDLGJMFBSFBXJOOUVUJMBSD • IUUQXXXWFDUPSDPKQWQBDLGJMFBSFBXJOOUHBNFBDUJPO CMPDL
19 μϯϩʔυ͞Εͨ ਖ਼ৗϑΝΠϧ
ֶश·ͰͷྲྀΕ 20 ಛྔநग़ w ༻͍ΔಛྔɿϑΝΠϧ͕ݺͼग़͢"1*ͷϦετ w QFGJMFΛ༻͍ͯ*"5 ΠϯϙʔτΞυϨεςʔϒϧ ʹΞΫηε͠ɺಛྔΛநग़ w
%--ͷ໊শ w "1*ͷΞυϨε w "1*ͷ໊শ ʻࢀߟ QFGJMFʹ͍ͭͯ ʼ w IUUQSFDPODYFOGMJHIUOJOHFDBSSFSBXJOTUBUJDBOBMZTJTJOQZUIPOQEG w IUUQEIBUFOBOFKQOJOPTFLJ
21 APIͷΞυϨε(16ਐ) APIͷ໊শ DLL(μΠφϛοΫ ϦϯΫ ϥΠϒϥϦ)ͷ໊শ
1&ϑΝΠϧϑΥʔϚοτ 22 w 1&1PSUBCMF&YFDVUBCMF w CJU CJU8JOEPXTͰ༻͍ΒΕΔ࣮ߦՄೳϑΝΠϧͷϑΝΠϧϑΥʔϚοτ ֦ுࢠɿ&9& %-- 0$9
7Y% ओʹҎԼͷࡾͭʹ͚ΒΕΔ w .4%04༻ϔομ͓ΑͼϓϩάϥϜ w /5ϔομ w ηΫγϣϯςʔϒϧ͓ΑͼηΫγϣϯσʔλ w ຊݚڀͰ&9&ϑΝΠϧΛ༻͍Δ
ߏ 23 IUUQIQWFDUPSDPKQBVUIPST7"UFDI@IUNMΑΓ
*"5 *NQPSU"EESFTT5BCMF 24 w ΞϓϦέʔγϣϯͷ1&ϑΥʔϚοτʹ͋Δίʔϧςʔϒϧ w *."(&@5)6/,@%"5"ͷߏମͷྻɹɹɹɹɹɹɹɹɹɹɹ ʢ*/5*NQPSU/BNF5BCMFͱରରԠʣ w ϑΝΠϧதʹ*/5ͷใ͕*"5ʹೖ͍ͬͯΔͨΊ*"5ͷΈΛɹ
औಘ͢Δ w %--ʹΑͬͯΠϯϙʔτ͞Εͨϧʔνϯͷ։࢝ΞυϨε͕֨ೲɹ ͞Ε͍ͯΔʢ%"5"@%*3&$503:@&/53:@*"5ߏମ͕*"5ྖҬ Λࢦ͢ʣ
25 *"5ͷ ΞΫηεਤ IAT = DATA_DIRECTORY_ENTRY_IAT MS-DOS ϔομ MS-DOS RealʵMode
Stub Program NT ϔομ Φϓγϣφϧϔομ IUUQJIBUFOBCMPHKQFOUSZΑΓ
ֶश·ͰͷྲྀΕ 26 ಛྔΛֶश༻σʔλʹม w औಘͨ͠"1*ͷҰཡ͔Β"1*ϦετΛ࡞ w "1*ϦετΛߦྻσʔλʹม w "1*Ϧετͷҙͷ"1*͕ݺͼग़͞Εͨ߹ɿ̍ w
"1*Ϧετͷҙͷ"1*͕ݺͼग़͞Εͳ͍߹ɿ w ϑΝΠϧ͝ͱʹϥϕϧΛ͚ͭΔ ʢϚϧΣΞϑΝΠϧPSਖ਼ৗϑΝΠϧʣ
ֶश·ͰͷྲྀΕ ྨͷͨΊͷΞϧΰϦζϜΛ༻͍Δ༧ఆʢྨɿϚϧΣΞϑΝΠϧ͔ਖ਼ৗϑΝΠϧ͔ͷྨʣ •4(%$MBTTJGJFS •LFSOFMBQQSPYJNBUJPO •-JOFBS47$ •,/FJHICPST$MBTTJGJFS •47$ •&OTFNCMF$MBTTJGJFST •/BJWF#BZFT
ࢀߟ IUUQTDJLJUMFBSOPSHTUBCMFNPEVMFTTHEIUNMDMBTTJGJDBUJPO 27 ෳͷػցֶशΞϧΰϦζϜʹֶशͤ͞Δ
28 ༻͍ΔػցֶशΞϧΰϦζϜ
ֶश·ͰͷྲྀΕ 29 ΫϩεόϦσʔγϣϯ w ̏ϑΥʔϧυΫϩεόϦσʔγϣϯ σʔλશମΛ" # $άϧʔϓʹׂ ςετσʔλɿ" ܇࿅σʔλɿ#
$ɹˠྨਫ਼ɿT ςετσʔλɿ# ܇࿅σʔλɿ" $ɹˠྨਫ਼ɿT ςετσʔλɿ$ ܇࿅σʔλɿ" #ɹˠྨਫ਼ɿT ྨਫ਼T T TͷฏۉΛΞϧΰϦζϜͷྨਫ਼ͱ͢Δ
ධՁ 30 ɾධՁͷج४ɿϚϧΣΞͷݕ ɾ̏ϑΥʔϧυΫϩεόϦσʔγϣϯ ʻཁߟʼ ҎԼɺೋछྨͷޡݕʹ͍ͭͯߟྀ͢Δ w GBMTFQPTJUJWF ਖ਼ৗϑΝΠϧΛϚϧΣΞͱޡݕ͢Δ͜ͱ
w GBMTFOBHBUJWF ϚϧΣΞϑΝΠϧΛਖ਼ৗϑΝΠϧͱޡݕ ͢Δ͜ͱ
खॱ 31 ࣮த • ಛྔΛֶश༻σʔλʹม͢Δ ະ࣮ • ෳͷΞϧΰϦζϜʹֶशͤ͞Δ • ධՁ
ࠓޙͷ༧ఆ 32 σʔλܗͱΞϧΰϦζϜͷධՁ • ಛྔΛֶश༻σʔλʹม͢Δ • ෳͷΞϧΰϦζϜʹֶशͤ͞ྨਫ਼Λݩʹ֤छΞϧΰϦζϜͷධՁ • ৽͍͠ݚڀςʔϚʜʢߟ͑தͰ͢ʣ •
ྔࢠίϯϐϡʔλͱηΩϡϦςΟ • ϚϧΣΞղੳ • ΩʔϫʔυɿϚϧΣΞղੳ ྔࢠίϯϐϡʔλ ػցֶश
ࠓޙͷܭը 33 8݄ 9݄ 10݄ Πϕϯτ WIP(RG࠷ऴൃද) seccamp2017 ळֶظ ֶश
ධՁ ৽ςʔϚ४උ
ࢀߟจݙ • ʮΞφϥΠδϯάϚϧΣΞʯஶऀɿ৽Ҫ༔ɺؠଜɺݹ୩༟ฏɺ੨Ұ࢙ɺᖒ༟ೋ ग़൛ࣾɿΦϥΠϦʔɾδϟύϯ ग़൛ɿ • ʮ1ZUIPOʹΑΔεΫϨΠϐϯάػցֶशʯஶऀɿΫδϥඈߦص ग़൛ࣾɿιγϜ ग़൛ɿ •
ʮ1SBDUJDBM.BMXBSF"OBMZTJTʯ.JDIBFM4JLPSTLJBOE"OESFX)POJH • ʮίʔυͷಛʹجͮ͘ѱੑϓϩάϥϜͷྨʯүҪརએʢʣ • ʮαΠόʔηΩϡϦςΟϓϩάϥϛϯάʕ1ZUIPOͰֶͿϋοΧʔͷࢥߟʯஶऀɿ+VTUJO4FJU[༁ɿ੨Ұ࢙ ৽Ҫ༔ Ұখ ؠଜ ݹ୩༟ฏଞ ग़൛ࣾɿΦϥΠϦʔδϟύϯ • ʮޮతͳղੳΛతͱͨࣗ͠ಈϚϧΣΞྨʹؔ͢Δݚڀʯؠଜʢʣ • ʮ0OUIF4FDVSJUZPG.BDIJOF-FBSOJOHJO.BMXBSF$$%FUFDUJPO"4VSWFZʯ+PTFQI(BSEJOFS 4IJTIJS/BHBSBKB -BODBTUFS6OJWFSTJUZʢʣ • ʮαϯυϘοΫεΛར༻ͨ͠ະϚϧΣΞݕग़ਫ਼্ʹؔ͢ΔҰݕ౼ʯࢢాୡ ਢ౻ষ ߴ֮ʢʣ!$PNQVUFS4FDVSJUZ4ZNQPTJVN • ʮ"CZTT8BUDIFS.BMXBSF%PXOMPBEFSʯ63-IUUQTHJUIVCDPNOUEEL"CZTT8BUDIFS • ʮ"$5*7&ʢϚϧΣΞରࡦࢧԉʣ)1ʯ63-IUUQXXXBDUJWFHPKQTFDVSJUZNBMXBSF • ʮTDJLJUMFBSOIQʯ63-IUUQTDJLJUMFBSOPSHTUBCMFJOEFYIUNM • ʮ8JOEPXT"1*Ϧετʯ63-IUUQTNTEONJDSPTPGUDPNKBKQXJOEPXTII • ʮ+1$&35᱐ͤΔ1&ղੳπʔϧͷ*NQPSU"1*දࣔػೳ ʯ63-IUUQTXXXKQDFSUPSKQNBHB[JOFBDSFQPSUGBLF*/5IUNM • ʮ1& 1PSUBCMF&YFDVUBCMF ϑΝΠϧϑΥʔϚοτͦͷϑΝΠϧͷجຊߏʯ63-IUUQIQWFDUPSDPKQBVUIPST7"UFDI@IUNM • ʮʹͷ͖ͤهɹQFGJMFͱQZEBTNʯ63-IUUQEIBUFOBOFKQOJOPTFLJ • ʮTUBDLPWFSGMPX(FUUJOH*"5BOE&"5GSPN1&ʯ63-IUUQTTUBDLPWFSGMPXDPNRVFTUJPOTHFUUJOHJBUBOEFBUGSPNQF • ʮ-PHJɹ*"5ʹ͍ͭͯʯ63-IUUQJIBUFOBCMPHKQFOUSZ • ʮQFGJMF3&$0/ʯ63-IUUQSFDPODYFOGMJHIUOJOHFDBSSFSBXJOTUBUJDBOBMZTJTJOQZUIPOQEG • ʮ%--ʹ͍ͭͯʯVSMIUUQTTVQQPSUNJDSPTPGUDPNKBKQIFMQXIBUJTBEMM • ʮ8JO"1*ʯVSMIUUQIPNFBJUTDPNOFUIBUBEBXJOEPXTXJOBQJXJOBQJIUNM • ʮHJUIVCWFDUPSʯIUUQTHJUIVCDPNDIJHBLVJTIJWFDUPS 34
ࠓޙͷ༧ఆ 35 σʔλܗͱΞϧΰϦζϜͷධՁ • ಛྔΛֶश༻σʔλʹม͢Δ • ෳͷΞϧΰϦζϜʹֶशͤ͞ྨਫ਼Λݩʹ֤छΞϧΰϦζϜͷධՁ • ৽͍͠ݚڀςʔϚʜʢߟ͑தͰ͢ʣ •
ྔࢠίϯϐϡʔλͱηΩϡϦςΟ • ϚϧΣΞղੳ • ΩʔϫʔυɿϚϧΣΞղੳ ྔࢠίϯϐϡʔλ ػցֶश ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠