
ã¯ããã«
ãã®ç©èª
ã¯ãæªåé«ãéåœäŒæ¥ã®ã¢ãŒã±ãŒãã®ç ç©¶ã«é¢ããèšäºãæžããçŽåŸã«å§ãŸããŸããïŒã¢ãŒã±ãŒããã·ã³ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ Namcoã®ããŒããã©ã€ãã«é害ãçºçããŸããïŒã¡ãŒã«ãŒããã·ã³ã«ä¿¡é Œæ§ã®ãªãSeagate 7200.12ãã€ã³ã¹ããŒã«ãããããé©ãããšã§ã¯ãããŸããïŒããã©ã€ãã¯ä»äºå ŽããåãåºãããWinHexãä»ããŠã³ããŒããããã®åŸã²ãŒã ã¯å®è¡ã忢ããŸããã WinHexã®ãã£ã¹ã¯ã®ããŒã¿ç·šéãŠã£ã³ããŠã§ã®äžæ³šæãªããŒã¹ãããŒã¯ã«ãã£ãŠãã£ã¹ã¯ã®æŽåæ§ã䟵害ããããšä»®å®ãããšãå¥ã®äœæ¥ãã·ã³ããå¥ã®ãã£ã¹ã¯ãåãåºãããåæ§ã®æ¹æ³ã§ã³ããŒãããèµ·åã忢ããŸããã ãã®ãšããã³ããŒä¿è·ãäœããã®åœ¢ã§ãã£ã¹ã¯ã«çµã¿èŸŒãŸããŠããããšãæããã«ãªããŸããã

ãã ã³ã·ã¹ãã ES1
ã¢ãŒã±ãŒãã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ 2009幎ã«ãªãªãŒã¹ãããTankïŒã¯ãIntel Q35ãããã»ãããæèŒããåœæã®æ®éã®ã³ã³ãã¥ãŒã¿ãŒã§ããSystem ES1ãã©ãããã©ãŒã ã§å®è¡ãããŸãã
- ãã¶ãŒããŒãïŒSupermicro C2SBM-QïŒIntel Q35 + ICH9DOïŒ
- CPUïŒIntel Core2 Duo CPU E8400 @ 3.00GHz
- RAMïŒ2x512 MB DDR2800 MHz 1.8V
- ãããªïŒ512ã¡ã¬ãã€ãã®GDDR3ã¡ã¢ãªãæèŒããNVIDIA GeForce 9600 GT
- HDDïŒSeagate Barracuda 7200.12 160 GBïŒST3160318ASïŒãŸãã¯Hitachi Deskstar 7K1000.C 160 GBïŒHDS721016CLA382ïŒ
- ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒArcade LinuxïŒDebian 4.0ããŒã¹ïŒ
ãããã¯ãã¹ãŠããã蟌ã¿åŒ110V黿ºãåããå€§èŠæš¡ãªã±ãŒã¹ãåããŠããŸãã
Dead Heatã«å梱ãããŠããSystem ES1ã®åçã Tankã®ES1ãªãã·ã§ã³ãšã¯ç°ãªããæ°Žå¹³ã«åãä»ããããŸãïŒ ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒES1ãã©ãããã©ãŒã ã§ã¯ãåèš9ã²ãŒã ããªãªãŒã¹ããããã®ãã¡4ã²ãŒã ã¯æ¥æ¬åœå
åžå Žå°çšââã«èšèšãããŠããŸãã æåŸã®ã²ãŒã ã¯2014幎ã«ãªãªãŒã¹ãããããããã®ãã©ãããã©ãŒã ã«ã¯æ°ããã²ãŒã ã¯ãªããã®ãšæ³å®ã§ããŸãã ãã·ã¢ãšãŠã¯ã©ã€ãã®é åã§ãç§ã¯ãã£ã4ã€ã®ES1ã²ãŒã ã«äŒã£ãïŒã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒ ã¿ã³ã¯ïŒããããããŒãããããããŒãã©ã€ããŒãããªã³ã
ãã©ã¹ãããããŒããšTPM
ãã®ãã©ãããã©ãŒã ã®ç¹åŸŽã¯ããã¶ãŒããŒãã«çµã¿èŸŒãŸãããã©ã¹ããããã©ãããã©ãŒã ã¢ãžã¥ãŒã«ïŒTPMïŒæå·åãããããŒãžã§ã³1.2ã䜿çšããŠãã¹ã¿ãã£ãã¯ã«ãŒããªããã©ã¹ãïŒã¹ã¿ãã£ãã¯ã«ãŒããªããã©ã¹ãïŒã§ãããããã©ã¹ãããããŒãïŒTrusted BootïŒã䜿çšããããšã§ãã TPMã¯çŽ æŽããããã®ã§ããçç£æ®µéã§ã¡ãŒã«ãŒãé
ç·ããRSAããŒãéã¶ã¹ããŒãã«ãŒãã®ãããªãã®ã§ãç¬èªã®ããŒãçæã§ããŸãããã®ãã©ã€ããŒãéšåã¯TPMããé¢ããããšã¯ãªããæ¢åã®ããŒãããŠã³ããŒãããŸããããŒãäžã®ä»»æã®ããŒã¿ïŒNVRAMïŒãä¹±æ°ãžã§ãã¬ãŒã¿ãŒããã®ä»å€æ°ã ããããTPMãæäŸããæãè峿·±ãã®ã¯ãä»»æã®ããŒã¿ã®SHA-1åèšã§æ¡åŒµã§ãããã©ãããã©ãŒã æ§æã¬ãžã¹ã¿ïŒPCRïŒã§ãã ãããã®ã¬ãžã¹ã¿ããªã»ããããããç®çã®å€ã«èšå®ãããããããšã¯ã§ããŸããããTPAèªäœãå€ãå€ãšæ°ããå€ã®é£çµããæ°ããSHA-1åèšãååŸããæ°ããSHA-1åèšã§ã®ã¿è£è¶³ã§ããããšã«æ³šæããããšãéåžžã«éèŠã§ãã ç°¡åã«èšãã°ãNEW_HASHãPCRã«éä¿¡ãããšãTPMã¯æ¬¡ã®ã³ãã³ããå®è¡ããŸãã
PCR[i] = SHA1(PCR[i] + NEW_HASH)
ãã¶ãŒããŒãã®BIOS / UEFIã¯ãTrusted Computing GroupïŒTCGïŒä»æ§ããµããŒãããŠããå Žåãã³ã³ãã¥ãŒã¿ãŒã®é»æºãå
¥ããŠããèµ·åã«é¢ä¿ãããã¹ãŠã®ãã®ã枬å®ïŒTPMããã·ã¥ã«éä¿¡ïŒããŸãïŒBIOS / UEFIããŒããããã¯ãBIOS / UEFIã UEFIãSMBIOSãµãŒãã¹ãACPIããŒãã«ããªãã·ã§ã³ROMããã€ã¹ïŒãããã¯ãŒã¯ã«ãŒããªã©ïŒãMBRãŸãã¯EFIããŒãããŒããŒããã£ã¹ã¯ããŒãã£ã·ã§ã³ãªã©ã
ïŒ Evil Maid Just Got Angrierãã ïŒBIOS / UEFIã¯ãMBRãŸãã¯UEFIããŒãããŒããŒãããŒããããåŸã«çºçãããã®ã枬å®ã§ããªããããLinuxã®å ŽåãããŒãå¯èœãªã«ãŒãã«ãšinitrdã¯PCRã§èæ
®ãããªããŸãŸã§ãã MBRã®åŸã«æž¬å®ãè¡ãã«ã¯ãTPMããµããŒãããéçãªä¿¡é Œã®ã«ãŒãã§ä¿¡é ŒãããããŒããå®è¡ããããŒããŒããããŸãïŒTrustedGRUBãTrustedGRUB2ãGRUB-IMAã åŸè
ã¯System ES1ã§äœ¿çšãããŸãã ãããã®ããŒããŒã¯ãããã·ã¥ãTPMïŒGRUBã®å Žåã¯stage1ãšstage2ïŒã«ãèšå®ãšããŒãå¯èœãªã¢ãžã¥ãŒã«ïŒLinuxã®å Žåã¯ã«ãŒãã«ãã«ãŒãã«ã³ãã³ãã©ã€ã³ãinitrdïŒãéä¿¡ããŸãã
TPMã¯ãPCRå€ã«ãã€ã³ããããRSAããŒã䜿çšããŠä»»æã®ããŒã¿ãæå·åã§ããPCRå€ãäžèŽããå Žåã«ã®ã¿åŸ©å·åã§ããŸãã ãã®æ¹æ³ã§ããŒã¿ãæå·åãããšãBIOS / UEFIãããŒãããŒããŒãGRUBã¢ãžã¥ãŒã«ãã«ãŒãã«ãinitrdããŸãã¯ã«ãŒãã«ã®ã³ãã³ãã©ã€ã³ã®å€æŽã®å Žåã倧æåãšå°æåã®äžäžèŽã®ããã«ããŒã¿ã¯åŸ©å·åãããŸããã
ç§ã®ç¥ãéãã人æ°ã®ãããœãããŠã§ã¢ã®TPMã¯Microsoft BitLockerã§ã®ã¿äœ¿çšãããŠããŸãã TPMã¯ãããããçš®é¡ã®éè¡ã¯ã©ã€ã¢ã³ããVPNãSSHã¢ã¯ã»ã¹ã®èšŒææžã¹ãã¢ãšããŠäœ¿çšã§ããŸããã䜿çšãã人ããŠãããããã®ã³ã¹ãïŒâ10ãã«ãäžè¬çãªã¹ããŒãã«ãŒãããå®ãïŒãæ©èœãå€ãã®ã©ãããããã¢ãã«ãããã³Intelã®ææ°ã®ããã»ããµã«æ¢ã«ã€ã³ã¹ããŒã«ãããŠãããšããäºå®ã¯ãäžè¬ã«ãœãããŠã§ã¢ã¬ãã«ã§å®è£
ããã誰ã§ãå©çšã§ããŸãã
ES1ä¿è·
Namco System ES1ã«ã¯3ã€ã®ã³ããŒä¿è·ããããŸãã
1ã€ç®ã¯ã
ä¿¡é Œã§ããããŠã³ããŒãã®
ååã§ããã²ãŒã ã®ãã¡ã€ã«ãšãªãœãŒã¹ã¯ãTPMã®ããŒã䜿çšããŠæå·åãããPCRå€ã«é¢é£ä»ããããŠããŸãã ã¡ãŒã«ãŒã¯ããã·ã³ããã€ã€ãŒã«éä¿¡ããåã«ããã·ã³äžã®ããŒã¿ã®æå·åããã»ã¹ãéå§ããŸãããã®åŸãã²ãŒã ãã£ã¹ã¯ã¯æåã«èµ·åãããã¢ãŒã±ãŒãã§ã®ã¿éå§ãããŸãã æå·åã§ã¯ãAES-256ãCBCã¢ãŒãã§äœ¿çšãããŸããããã¯ããããã¯ããã€ã¹äžã®ä»»æã®ããŒã¿ãæå·åããããã®ã«ãŒãã«ã¢ãžã¥ãŒã«ã§ããéåžžã«ã·ã³ãã«ã§çŸåšã¯å»æ¢ãããã«ãŒãAESã䜿çšããŠããŸãã ãã£ã¹ã¯ã«ã¯æå·åãããLUKSããŒãã£ã·ã§ã³ããããã²ãŒã ããŒã¿ã®ã³ããŒãæŽæ°ãä¿åããã®ä»ã®ããŒã¿ãä¿åãããŸãã

2çªç®ã®ä¿è·ã¬ãã«ã¯
HDDä¿è·ã§ãã

ãã£ã¹ã¯ãã³ããŒããåŸã«ã²ãŒã ãéå§ããªãã®ã¯ãªãã§ããïŒ ããããã¡ãŒã«ãŒã¯ããã£ã¹ã¯ã®ã»ã¯ã¿ãŒããšã®ã³ããŒäžã«çºçããããã²ãŒã ãOSã«ãããã£ã¹ã¯ã®éåžžã®äœ¿çšäžã«çºçããªããã»ã¯ã¿ãŒã«ã¢ã¯ã»ã¹ãããšããŒã¿ãæ¶å»ãããã£ã¹ã¯ã³ã³ãããŒã©ãŒçšã®ãã¡ãŒã ãŠã§ã¢ãäœæããŸãããïŒ ãã ã³ãç¥ã£ãŠããã°ãPlayStation 2ïŒ
ã·ã¹ãã 246 ïŒããã³3ïŒ
ã·ã¹ãã 357 ïŒã«åºã¥ããŠããã€ã¹ãäœæããææ®µãå°éå®¶ãããã³æéãããããã圌ãã¯ãã®ãããªäžæ©ãèžã¿åºãããšãã§ããŸãã
ããããããããã¹ãŠã¯åçŽã§éªæªãªå€©æã§ãããã£ã¹ã¯ã®ãã£ã¹ã¯MBRã§ã¯ããã£ã¹ã¯çœ²åãã£ãŒã«ãã«ãŒãã衚瀺ãããŸãã ãã®ãã£ã¹ã¯ãWindowsãå®è¡ããŠããã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ãããšããã«ãŒããæ€åºãããŸãããWindowsã¯ãã£ã¹ã¯ã®äžæã®èå¥åãšããŠãã£ã¹ã¯çœ²åã䜿çšããã©ã³ãã ãªãã®ãçæããéãã«ãã£ã¹ã¯ã«æžã蟌ã¿ãŸãã ããã€ã¹ã®ãã¶ãŒããŒãã¯ãã²ãŒã ã®èªã¿èŸŒã¿äžã«MBRãèªã¿åãããã®ããã·ã¥ãTPMã«éä¿¡ããŸãã ããŒã¿ã®åŸ©å·åã«é¢ããŠã¯ãTPM PCRã¯äžèŽãããããŒã¿ã¯åŸ©å·åã§ãããã²ãŒã ã¯éå§ãããŸããã ããã¯æããã«æå³çã«è¡ãããŸãã-ãã¹ãŠã®LinuxããŒãã£ã·ã§ã³ç®¡çãŠãŒãã£ãªãã£ã¯ããŒãã§ã¯ãªãã©ã³ãã ãªãã£ã¹ã¯çœ²åãçæããŸãã
$ cmp -l mbr_working mbr_broken | gawk '{printf "%08X %02X %02X\n", $1-1, strtonum(0$2), strtonum(0$3)}' 000001B8 00 4B 000001B9 00 4D 000001BA 00 17 000001BB 00 CC
OSããŒã«ã䜿çšããŠããŒã¿ã埩å·åããããã ãã«äœ¿çšãããTPMã«å ããŠãã²ãŒã èªäœã¯
USBãã³ã°ã«HASP HL Maxã䜿çšã
ãŸã ã ããæ£ç¢ºã«ã¯ãããã¯äœ¿çšãããŸãããããã®ååšã®ã¿ããã§ãã¯ããããã®ãã§ãã¯ã¯1ã€ã®ãããã®ã¿ã§ãã€ãã¹ãããããäžè¬ã«æ§æãã¡ã€ã«ã§ç¡å¹ã«ãããŸãã ããã¯æãã§ç¡é§ã§ãããäžè¬çã«ããããªãå¿
èŠãªã®ãã¯æç¢ºã§ã¯ãããŸããã
ç¹çãã¹ãã¯ãBIOSãšGRUBã®ãã¹ã¯ãŒãã§ãããããã¯ãã«ãŒããã©ãŒã¹ã§ååŸã§ããŸã-ã²ãŒã ã«å¿ããŠ
016ystnãŸãã¯
ã¢ãŒã±ãŒã ã
æ»æãªãã·ã§ã³
ã ããç§ãã¡ã¯ïŒ
- éå§ãããªããªã£ããã£ã¹ã¯ã€ã¡ãŒãž
- 2å°ã®äœæ¥æ©æ¢°
- 2å°ã®äœåäžèœãªãã·ã³
ç§ãã¡ã®ã¿ã¹ã¯ã¯ããã©ã€ããæ
éããŠããåäœäžèœãªãã·ã³ã埩å
ããããšã§ãã ãããè¡ãã«ã¯ãåäœäžã®ããã€ã¹ããæå·åãããŠããªã圢åŒã®æå·åãããã²ãŒã ããŒã¿ãååŸããå¿
èŠããããŸãããã®ããã«ã¯ããŸãäœããã®æ¹æ³ã§æå·åããŒãååŸããå¿
èŠããããŸãã
USBããã€ã¹ãä»ãããšã¯ã¹ããã€ã
ãã·ã³ã§äœ¿çšãããŠããã«ãŒãã«ããŒãžã§ã³2.6.25ã«ã¯ãå°ãªããšã2ã€ã®è匱ãªUSBããã€ã¹ãã©ã€ããŒãå«ãŸããŠããŸãã æåã®Auerswald VoIP PBXãã©ã€ããŒã§ã¯ãããã€ã¹åã«
ãããã¡ãŒãªãŒããŒãããŒã
䜿çšã§ã
ãŸã ã æ®å¿µãªããããããã¡ãªãŒããŒãããŒã¯ã¹ã¿ãã¯äžã«ãããŸããã27ãã€ãã§ãªãŒããŒãããŒããå¯èœæ§ããããŸããããã¯ãããããããŠãŒã¶ãŒã¹ããŒã¹ãšã®å¯Ÿè©±ãªãã§ã¯è匱æ§ãé©çšã§ããªãããã§ãã 端æ«ãžã®ã¢ã¯ã»ã¹ããã³ãŒããå®è¡ãããã®ä»ã®æ©èœã¯ãããŸããã ãããã
ãã¹ãŠãèœã¡ã ã
2çªç®ã®ãªãã·ã§ã³ã¯
CaiaqãµãŠã³ããšMIDIããã€ã¹ãã©ã€ããŒã§ããæ®å¿µãªãããç§ã䜿çšã§ããŸããã§ããã
ã³ãŒã«ãããŒãæ»æ
æ»æã®ç®çã¯ãã¡ã¢ãªããã³ããããã®äžã®æå·åããŒãæ¢ãããšã§ãã 2ã€ã®æ¹æ³ã§å®è£
ã§ããŸãïŒãªããŒãçŽåŸã«USBãã©ãã·ã¥ãã©ã€ãïŒ
msramdmpãªã© ïŒãŸãã¯HDDããå°ããªãã³ãããã°ã©ã ãèµ·åããæ¹æ³ããŸãã¯åããã³ããŒã§å¥ã®ã³ã³ãã¥ãŒã¿ãŒã«å
容ãä¿åããªããã¡ã¢ãªãããªãŒãºããŠåé€ããæ¹æ³ã ãã¶ãŒããŒãã¯Trusted Computing Groupã®ä»æ§ã«æºæ ããŠãããããæåã®æ¹æ³ã¯æ©èœããŸãããTrustedComputing Groupã®ä»æ§ã§ã¯ãããŒãæã«ã¡ã¢ãªãã¯ãªã¢ããããã«èŠå®ãããŠããŸãããã³ããŒã¯ãã§ã«ã¯ãªã¢ãããã¡ã¢ãªãä¿åããŸãã
ãã€ã¬ã¯ãã¡ã¢ãªã¢ã¯ã»ã¹ïŒãã€ã¬ã¯ãã¡ã¢ãªã¢ã¯ã»ã¹ïŒã«ããæ»æã¯ããã®ãããªã¢ã¯ã»ã¹ãèš±å¯ãããã¹ãããã€ã¹ããŸãã¯æšæºãä»ããã¡ã¢ãªå¶åŸ¡ãŠããããžã®èŠæ±ã«åºã¥ããŠããŸãã DMAæ»æçšã«ç¹å¥ã«èšèšãããåžè²©ã®ããŒãããããUSB 3.0 USB3380ã³ã³ãããŒã©ãŒïŒ
SLOTSCREAMER ïŒãæèŒããããŒãããããŸããããã¯ãå¶ç¶ã«ãPCIãã±ãããçæããŠãã¹ã«éä¿¡ããããšãã§ããŸããååã æãç°¡åã§æé ãªæ¹æ³ã¯FirewireæšæºïŒIEEE 1394ïŒã§ãããOSãµããŒããå¿
èŠã§ãã 幞ããªããšã«ãèªå販売æ©ã§ã¯ãéçºè
ãFirewire SBP2ãã©ã€ããŒããããã¯ããªãã£ããããã¡ã¢ãªã«çŽæ¥ã¢ã¯ã»ã¹ã§ããŸããã€ãŸããFirewireã«ãŒãã空ã®PCIãŸãã¯PCI-eã¹ãããã«æ¿å
¥ããã³ã³ãã¥ãŒã¿ãŒã®ã«ãŒãã«æ¥ç¶ããŠRAMãä¿åããã ãã§ååã§ãããšãã°ã
Inceptionã䜿çšããŸãã 䜿çšããŸãïŒ
ããŒã¿åŸ©å·å
ã¡ã¢ãªããŒã¿ã®ååŸã¯ãŸã æŠãã®ååã§ããAESããŒãèŠã€ããŠã²ãŒã ãã¡ã€ã«ã埩å·åããå¿
èŠããããŸãã æåã®ã¿ã¹ã¯ã§ã¯ãããªã³ã¹ãã³å€§åŠã®
åªç§ãªäººã
ã
aeskeyfindãŠãŒãã£ãªãã£ãäœæããŸãããããã¯ãã€ã¡ãŒãžå
šäœããã€ãåŠçããRAMã®ã©ã³ãã ããŒã¿ãAESããŒãšããŠååŸããã¡ã€ã³ããŒããååŸããŠAESã©ãŠã³ãã§äœ¿çšãããäžæçãªããŒãèŠã€ããããšããŸãããŒã¹ã±ãžã¥ãŒã«ãšåŒã°ããŸãïŒã ã¡ã¢ãªå
ã«äŒŒããããªãã®ãèŠã€ãã£ãå Žå-çŽ æŽããããé©åãªæå·åããŒã®åè£ãèŠã€ãããŸããïŒ
$ aeskeyfind memdump_0x0-0x100000000_20160524-172534.bin f322ee68145f5f32dea7252b2de00ff30003bb2775b7164f7211ba56fbe2012a 7523dfd705d26ce4f34ee872ec88f7ede80ac8ea0f104d3aba4a5d38bfa5849f 103687fef032a17e830b6709c29bd805
2ã€ã®256ãããããŒãš1ã€ã®128ãããããŒããããŸããloop-AESã§æå·åããããã¡ã€ã«ã埩å·åããããã«ãåçŽãªPythonã¹ã¯ãªãããäœæããŸããã æ¢åã®ãŠãŒãã£ãªãã£ã¯ãã¡ã€ã³ã¡ã¢ãªã§èŠã€ãã£ãããŒïŒãã¹ã¿ãŒããŒïŒã®æäœæ¹æ³ãç¥ããŸããããå
¥åãšããŠããã¹ã¯ãŒãããåãå
¥ããããããããŒçææ©èœã䜿çšããŠãã¹ã¿ãŒããŒãååŸããŸãã ããã¹ã¯ãŒãããæã£ãŠããªããããä»äººã®ãã¹ã¯ãŒãã倿Žãããããèªåã§æžãæ¹ãç°¡åã§ããããšãããããŸããã
é衚瀺ã®ããã¹ã #!/usr/bin/env python3 import sys import struct from Crypto.Cipher import AES if len(sys.argv) < 3: print("Namco encrypted game file (.apps, LOOP-AES) decryptor.") print(sys.argv[0], "USAGE: ENCRYPTED_FILE KEY_FILE OUTPUT_FILE") print("KEY_FILE should be in binary format.") print("Use echo KEY_HERE | xxd -r -p") sys.exit(1) aesfile = open(sys.argv[1], 'rb') key = open(sys.argv[2], 'rb').read() output = open(sys.argv[3], 'wb') iv = 0 while True: enc_data = aesfile.read(512) if not enc_data: break cipher = AES.new(key=key, mode=AES.MODE_CBC, IV=struct.pack('LL', iv, 0)) output.write(cipher.decrypt(enc_data)) iv += 1
$ echo f322ee68145f5f32dea7252b2de00ff30003bb2775b7164f7211ba56fbe2012a | xxd -r -p > key $ ./decrypt.py v352us.apps key v352us.app $ file v352us.app v352us.app: Squashfs filesystem, little endian, version 3.1, 655177264 bytes, 6062 inodes, blocksize: 131072 bytes, created: Sat Nov 28 06:26:17 2009
æåã®ããŒãç»å ŽããŸããããã°ãããïŒå·¥å Žã§æåã«ãã·ã³ã®é»æºãå
¥ããåã®ç¶æ
ã«ãã£ã¹ã¯ãäœæããããã«å¿
èŠãªãã®ã¯ãã¹ãŠæã£ãŠããŸããã€ãŸããã¡ãŒã«ãŒãšåãæ¹æ³ã§ãã¹ãŠã®Namco System ES1ãã·ã³ã埩å
ã§ããŸãã
æåã®ã»ã¯ã·ã§ã³ã®ã¢ãŒã±ãŒããã£ã¬ã¯ããªãããæå·åããã* .appsãã¡ã€ã«ãš
sealkey
æå·å
sealkey
åé€ãã埩å·åããã* .appããŒã¿ãå«ããã¡ã€ã«ãã³ããŒãã空ã®
RECOVERY
ãã¡ã€ã«ãäœæããŠãã¹ã¯ãªãããèµ·åæã«åŸ©å·åããããã«ããŸãã æ¬¡ã®ãããªãã®ãåŸãããã¯ãã§ãã
p1/arcade % ls -lah total 626M drwxr-xr-x 2 root root 4.0K Jun 27 19:02 . drwxr-xr-x 7 root root 4.0K Nov 28 2009 .. -rw-r
2çªç®ã®ã»ã¯ã·ã§ã³ã«æ³šæããŠãã ãããããã¯ã²ãŒã ã®æŽæ°ãããã»ã¯ã·ã§ã³ã§ãã * .pkgãã¡ã€ã«ãããå Žåã¯ã
INITIALIZED
ãã¡ã€ã«ãåé€ããŠãã²ãŒã èªäœãæŽæ°ããå¿
èŠããããŸããããããªããšãå€ãããŒãžã§ã³ãååŸãããŸãã
ãã£ã¹ã¯ãSystem ES1ã«æ¥ç¶ãããã·ã³ã®é»æºãå
¥ããŠãã²ãŒã ãããèªäœãæå·åãããã¡ã€ã«ãLUKSããŒãã£ã·ã§ã³ã«ã³ããŒããæ¹æ³ã芳å¯ããŸãïŒ ãã£ãïŒ

å®éã®è©±ïŒ
Nirinãååãªç¡ç ããšã£ã2010幎ã«ã€ããŠéåžžã«æ²ãã話ããããæè¡è
ãAkronisã®å©ããåããŠWindowsã§ã³ããŒãäœæããããã«å¥ã®ããã€ã¹ããç§»åããŸããã 圌ã¯ã³ããŒãè¡ãããã¹ãŠãåé¡ãªãããšãå ±åããŸãã ããããã³ããŒãäœæããããšãããã£ã¹ã¯ã¯ãæ¥ç¶ãæ»ããšãæ»ã®ãã«ãŒã¹ã¯ãªãŒã³ãšããã£ã¹ã¯ã«åé¡ãããããšã瀺ããµã€ã³ã衚瀺ããŸãã é åºãªç·ã¯ããã§æ¢ãŸããã3çªç®ã®è£
眮ã«ç»ããŸããã ç©èªã¯ç¹°ãè¿ãããŸããã ããããç§ãã¡ã®ç·ãæãããããã®ã¯äœããããŸããã圌ã¯å¥ã®éœåžã®ååã«é»è©±ããããããªã³ãããã£ã¹ã¯ãéãããã«éµéããããé Œã¿ãŸããã 4人ã®ã·ã¹ãã ãã¯å
šå¡ããã³ãã³ïŒNamco European OfficeïŒã«åããŠåºçºããé åºããåã€ãšæã£ãŠããç·ããã¹ãŠç ç²ã«ããŠïŒ ãã¹ãŠã®è²»çšïŒä¿®çããã³åŸåŸ©ã®ããžã¹ãã£ã¯ã¹ïŒã«å¯ŸããŠã»ãŒ8,000ãŠãŒãã
é åºã§ãå®è¡å¯èœãªããã€ã¹ãæ®ã£ãŠããªãå Žåã¯ã©ããªããŸããïŒ é¢ä¿ãããŸããïŒ MBRã®ãã£ã¹ã¯èå¥åãã£ãŒã«ãã«ãŒããè¿ãã ãã§ååã§ãã ãªãã»ãã0x1B8ã«4ãã€ãã®ãŒããæžã蟌ã¿ãŸãã Linuxã§ã¯ãããã¯1ã€ã®ã³ãã³ãã§å®è¡ãããŸãã
# sudo dd if=/dev/zero of=/dev/sdX bs=1 count=4 seek=440
ãŸããWindowsã§ã¯ãããšãã°WinHexã䜿çšã§ããŸãã
ãã®åŸãã²ãŒã ãéå§ãããäžèšã®ãã¹ãŠã®æäœãå®è¡ããŠã埩å·åããããã¡ã€ã«ãååŸããæ®ãã®ããã€ã¹ã埩å
ã§ããŸãã
06/25/2018 UPD ïŒæããã«ãNirinã¯System ES1ã®æåã®ã²ãŒã ã§ããããã ã³ã¯TPMã䜿çšããŠä¿è·ãæ£ããå®è£
ããæ¹æ³ãç¥ããŸããã§ããã ã²ãŒã ã¯TPMæå·åã䜿çšããŸããããTrusted Boot PCRå€ã®ç¶æ
ãããã·ã¥ããããšã§ããŒãåãåããŸãã
filesystem.squashfs
ãã¡ã€ã«ã倿ŽããŠç¶æ
/sys/kernel/security/tpm0/binary_bios_measurements
ããã³
/sys/class/tpm/tpm0/pcrs
ããå
ã®TPM PCRå€ãåæ§ç¯ããããšã«ãããæå·åããŒãååŸã§ããŸãã
PCRå€ãåæ§ç¯ããããã®ã¹ã¯ãªããïŒ
github.com/ValdikSS/binary_bios_measurements_parserãããã«
Arcade Linuxã®ã¹ã¯ãªãããšãŠãŒãã£ãªãã£ã®ã¢ãŒããã¯ãã£ãšå質ã¯ãNamcoããã°ã©ããŒã«éåžžã«å¥œå°è±¡ãäžããMBRã®ãã£ã¹ã¯çœ²åããªãã¯ã¯äžè¬çã«æ²æé£è¡ã§ãã ãã¡ããããã匷åãªä¿è·ã®ããã«ãIOMMUããªã³ã«ããŠDMAæ»æãïŒã»ãŒïŒäžå¯èœã«ããæå·åããŒãRAMã§ã¯ãªãããã»ããµãããã°ã¬ãžã¹ã¿ã«æ ŒçŽããå¿
èŠããããŸãããNamco System ES1ã®ä¿è·ã¯å°ãªããšãè峿·±ããšæããŸããç ç©¶ãšã¯ã©ãã¯ã¯éå±ã§ã¯ãããŸããã§ããã
ç»åãšåŸ©å·åãããã²ãŒã ãã¡ã€ã«ã¯ããã¿ãã©ãã«ãŒã§ããŠã³ããŒãã§ããŸãã
ã¢ãŒã±ãŒããœãããŠã§ã¢ã埩å
ããå¿
èŠãããå Žåãã§ããéããæäŒãããŸã.Linuxçšã®ã¢ãŒã±ãŒãã²ãŒã ã®éçºè
ïŒãã ããæã£ãŠããã®ã£ã³ãã«/ã®ã£ã³ãã«ãã·ã³ã§ã¯ãããŸããïŒïŒã®å Žåã¯ãéåžžã«è³¢ã人ã ããã¯ã©ãã¯ã§ããä¿¡é Œæ§ã®é«ãä¿è·ãæäŸã§ããããšãå¬ããæããŸãã