ç§ã¯èšç·Žãåãããšã³ãžãã¢ã§ãããèµ·æ¥å®¶ãå¶äœãã£ã¬ã¯ã¿ãŒãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã®æ¹ãå€ãã§ãã å°ãåã«ãããç£æ¥äŒç€Ÿã®ãªãŒããŒãã¢ããã€ã¹ãæ±ããŠããŸããã ãã®äŒæ¥ã¯å€§èŠæš¡ã§ 90 幎代ã«èšç«ãããã«ããããããã管çãšäŒèšã¯ããŒã«ã« ãããã¯ãŒã¯äžã§æãªããã®æ¹æ³ã§è¡ãããŠããŸãã
ããã¯åœŒãã®ããžãã¹ã«å¯Ÿããæžå¿µãšåœå®¶ã«ãã管çã®åŒ·åã®çµæã§ãã æ³åŸãèŠå¶ã¯æ€æ»åœå±ã«ãã£ãŠéåžžã«åºç¯å²ã«è§£éãããå¯èœæ§ããããŸãã ãã®äžäŸãçšæ³ã®æ¹æ£ã§ãã
ãã®çµæãããžãã¹ãªãŒããŒã¯ãæ
å ±ã®ä¿¡é Œæ§ã®é«ãä¿ç®¡ãšææžã®å®å
šãªè»¢éã®ããã®ãœãªã¥ãŒã·ã§ã³ãæ¢ãå§ããŸããã ä»®æ³çãªãå®å
šãã
ç§ãã¡ã¯ãã«ã¿ã€ã ã®ã·ã¹ãã 管çè
ãšååããŠãã®åé¡ã«åãçµã¿ãŸãããæ¢åã®ãã©ãããã©ãŒã ã培åºçã«åæããå¿
èŠããããŸããã
- ãµãŒãã¹ã¯ãå€å žçãªæå³ã§ã®ã¯ã©ãŠãããŒã¹ã§ãã£ãŠã¯ãªããŸããã 第äžè æ©é¢ã®æœèšã«ä¿ç®¡ããããšã¯ãããŸããã ããªãã®ãµãŒããŒã®ã¿ã
- éä¿¡ããã³ä¿åãããããŒã¿ã®åŒ·åãªæå·åãå¿ èŠã§ãã
- ãã¿ã³ãã¯ãªãã¯ããã ãã§ããããããã€ã¹ããã³ã³ãã³ããç·æ¥ã«åé€ã§ããæ©èœãå¿ é ã§ãã
- ãã®ãœãªã¥ãŒã·ã§ã³ã¯æµ·å€ã§éçºãããŸããã
ç§ã¯ XNUMX çªç®ã®ç¹ãåé€ããããšãææ¡ããŸããããªããªã... ãã·ã¢ã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯å ¬åŒèšŒææžããããŸãã ãããã蚌ææžãã©ãããããšããããšãå±é·ãçŽæ¥èšããŸããã
ãªãã·ã§ã³ãéžæ
ç§ã¯ XNUMX ã€ã®è§£æ±ºçãéžæããŸãã (éžæè¢ãå€ãã»ã©ãçåãå€ããªããŸã)ã
- ãªãŒãã³ãœãŒã¹ - ãããžã§ã¯ã
åæãã®.net ãç±å¿ãªéçºè Jacob Borg ã«ãã£ãŠä¿å®ãããŠããŸãã Resilio.com ãã¢ã¡ãªã«ã³ã¬ã·ãªãªç€Ÿç£ä¿®ã (以åã¯ããã®ãµãŒãã¹ã¯ BitTorrent Sync ãšåŒã°ããŠããŸãã)ã- ãããžã§ã¯ã
Pvtbox é»åé庫 ããpvtbox.net åæã¢ããªã±ãŒã·ã§ã³ã ãããã¹ç»é²ã
äŒç€Ÿã®ãªãŒããŒã¯æè¡çãªè€éãã«ã€ããŠã»ãšãã©ç解ããŠããªããããåãªãã·ã§ã³ã®é·æãšçæã®ãªã¹ãã®åœ¢åŒã§ã¬ããŒããäœæããŸããã
åæçµæ
ã·ã³ã·ã±ãŒã·ã§ã³
ãããã¡:
- ãªãŒãã³ãœãŒã¹;
- äž»èŠãªéçºè ã®æŽ»åã
- ãã®ãããžã§ã¯ãã¯éåžžã«é·ãéè¡ãããŠããŸããã
- ç¡æã
çæïŒ
- iOS ã·ã§ã«ã«ã¯ã¯ã©ã€ã¢ã³ãããããŸããã
- é
ãã¿ãŒã³ ãµãŒã㌠(ç¡æãªã®ã§é床ãé
ããªããŸã)ã ãããªæ¹ã®ããã«ã
çŽæ¥æ¥ç¶ã§ããªãå Žå㯠Turn ã䜿çšãããŸãã - è€éãªã€ã³ã¿ãŒãã§ãŒã¹èšå® (é·å¹Žã®ããã°ã©ãã³ã°çµéšãå¿ èŠ)ã
- è¿ éãªåçšãµããŒããäžè¶³ããŠããã
ã¬ã·ãªãŠã
é·æïŒ ãã¹ãŠã®ããã€ã¹ãšé«é Turn ãµãŒããŒã®ãµããŒãã
çæïŒ XNUMX ã€ã®éåžžã«éèŠãªç¹ã¯ããµããŒã ãµãŒãã¹ã«ãããªã¯ãšã¹ããå®å šã«ç¡èŠããŠããããšã§ãã ç°ãªãã¢ãã¬ã¹ããæžã蟌ãã§ãå¿çã¯ãŒãã§ãã
ãã©ã€ããŒãããã¯ã¹
é·æïŒ
- ãã¹ãŠã®ããã€ã¹ããµããŒãããŸãã
- ãã¡ã¹ãã¿ãŒã³ãµãŒããŒã
- ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããã«ãã¡ã€ã«ãããŠã³ããŒãããæ©èœã
- é©åãªãµããŒããµãŒãã¹ïŒãµãŒãã¹ãå«ãïŒ é»è©±ã§ã
ã³ã³ãº:
- è¥ããããžã§ã¯ã (ã¬ãã¥ãŒã¯ã»ãšãã©ãªããè¯ãã¬ãã¥ãŒ)ã
- ãµã€ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯éåžžã«ãæè¡çãã§ãå¿ ãããæ確ã§ã¯ãããŸããã
- å®å šã«è©³çŽ°ãªããã¥ã¡ã³ãã¯ãªããå€ãã®åé¡ã§ãµããŒããå¿ èŠã§ãã
顧客ã¯äœãéžæããŸããã?
圌ã®æåã®è³ªåã¯ããç¡æã§äœããéçºããããšã«äœã®æå³ãããã®ãââ?ãã§ãã åæã¯ããã«æŸæ£ãããŸããã è°è«ã¯æ©èœããŸããã§ããã
æ°æ¥åŸãã客æ§ã¯ãµããŒãäžè¶³ãçç±ã« Resilio Sync ããã£ã±ããšæåŠããŸããã ç·æ¥äºæ ãçºçããå Žåãã©ãã«è¡ãã¹ããã¯æ確ã§ã¯ãããŸããã ããã«ãå瀟ã®ã¢ã¡ãªã«ã§ã®ç»é²ã«å¯Ÿããäžä¿¡æãå ãããŸããã
ãããªãåæã®ããã«ãPvtbox é»åé庫ãæ®ãããŠããŸãã ç§ãã¡ã¯ãããŒã¿ã®ååã埩å·åãæ å ±ã¹ãã¬ãŒãžãžã®äžæ£äŸµå ¥ã®å¯èœæ§ã«çŠç¹ãåœãŠãŠããã®ãã©ãããã©ãŒã ã®å®å šãªæè¡ç£æ»ãå®æœããŸããã
ç£æ»ããã»ã¹
ããã°ã©ã ã®éå§æãåäœäžãããã³å¹³ç©ãªç¶æ ã§ã®æ¥ç¶ãåæããŸããã ææ°ã®æšæºã«åŸã£ãŠããã©ãã£ãã¯ã¯æåã«æå·åãããŸãã MITM æ»æãå®è¡ãã次ã®ã³ãã³ãã䜿çšããŠãã®å Žã§èšŒææžã眮ãæããŠã¿ãŸãããã Linux (Xubuntu Linux 18.04)ãWireshark, ããããããã·ã ãããè¡ãããã«ãPvtbox ã¢ããªã±ãŒã·ã§ã³ãš pvtbox.net ãµãŒããŒã®éã«ä»²ä»è ãå°å ¥ããŸã (https æ¥ç¶ãä»ã㊠pvtbox.net ãµãŒããŒãšã®ããŒã¿äº€æãè¡ãããŸã)ã
ã¢ããªã±ãŒã·ã§ã³ãèµ·åããŠãããã°ã©ã ãšãã¡ã€ã«ã®åæãæ©èœããããšã確èªããŸãã Linux ã§ã¯ãã¿ãŒããã«ããããã°ã©ã ãå®è¡ãããšãããã«ãã°ã芳å¯ã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ããªãã«ããŠããã¡ã€ã«å
ã® pvtbox.net ãã¹ã ã¢ãã¬ã¹ã眮ãæããŸãã /etc/hosts ã¹ãŒããŒãŠãŒã¶ãŒæš©éãæã£ãŠããŸãã ã¢ãã¬ã¹ããããã· ãµãŒããŒã®ã¢ãã¬ã¹ã«çœ®ãæããŸãã
次ã«ãããŒã«ã« ãããã¯ãŒã¯äžã®ã¢ãã¬ã¹ 192.168.1.64 ã®ã³ã³ãã¥ãŒã¿ã«å¯Ÿãã MITM æ»æã«åããŠãããã· ãµãŒããŒãæºåããŸãããã ãããè¡ãã«ã¯ãmitmproxy ããã±ãŒãž ããŒãžã§ã³ 4.0.4 ãã€ã³ã¹ããŒã«ããŸãã
ãããã· ãµãŒããŒãããŒã 443 ã§èµ·åããŸãã
$ sudo mitmproxy -p 443
æåã®ã³ã³ãã¥ãŒã¿ãŒã§ Pvtbox ããã°ã©ã ãèµ·åããmitmproxy ã®åºåãšã¢ããªã±ãŒã·ã§ã³ ãã°ã確èªããŸãã
ããããããã· ã¯ã©ã€ã¢ã³ãããããã· ãµãŒããŒããã®ã¹ããŒãã£ã³ã°èšŒææžãä¿¡é ŒããŠããªãããšãå ±åããŸãã ã¢ããªã±ãŒã·ã§ã³ ãã°ã§ã¯ããããã· ãµãŒããŒã®èšŒææžãæ€èšŒã«åæ Œãããããã°ã©ã ãåäœãæåŠããŠããããšãããããŸãã
ãããã·ãµãŒããŒèšŒææžã®ã€ã³ã¹ããŒã« ããããããã· Pvtbox ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããã³ã³ãã¥ãŒã¿ã«æ¥ç¶ããŠã蚌ææžããä¿¡é Œã§ããããã®ã«ããŸãã ca-certificates ããã±ãŒãžãã³ã³ãã¥ãŒã¿ã«ã€ã³ã¹ããŒã«ããŸãã 次ã«ããããã· ãµãŒããŒã® .mitmproxy ãã£ã¬ã¯ããªãã mitmproxy-ca-cert.pem 蚌ææžããPvtbox ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããŠããã³ã³ãã¥ãŒã¿ãŒã® /usr/local/share/ca-certificates ãã£ã¬ã¯ããªã«ã³ããŒããŸãã
次ã®ã³ãã³ããå®è¡ããŸãã
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$sudo update-ca-certificates
Pvtbox ã¢ããªã±ãŒã·ã§ã³ãèµ·åããŸãã 蚌ææžã®æ€èšŒãåã³å€±æããããã°ã©ã ãåäœããªããªããŸããã ã¢ããªã±ãŒã·ã§ã³ã¯ã»ãã¥ãªã㣠ã¡ã«ããºã ã䜿çšããŠããå¯èœæ§ããããŸã 蚌ææžã®åºå®.
åæ§ã®æ»æããã¹ãã«å¯ŸããŠå®è¡ãããŸãã ã·ã°ãã«ãµãŒããŒ.pvtbox.netã ããŒãéã®ãã¢ããŒãã¢æ¥ç¶èªäœãåæ§ã§ãã éçºè ã¯ããã¢ããŒãã¢æ¥ç¶ã確ç«ããã¢ããªã±ãŒã·ã§ã³ãããšã³ãããŒãšã³ãã®ãããã³ã«æå·åã䜿çšãããªãŒãã³ webrtc ãããã³ã«ã䜿çšããŠããããšã瀺ããŠããŸãã DTLSv1.2ã
ããŒã¯æ¥ç¶ã»ããã¢ããããšã«çæãããæå·åããããã£ãã«çµç±ã§éä¿¡ãããŸãã ã·ã°ãã«ãµãŒããŒ.pvtbox.netã
çè«çã«ã¯ãwebrtc ã®ãªãã¡ãŒ ã¡ãã»ãŒãžãšã¢ã³ãµãŒ ã¡ãã»ãŒãžãååããããã«ããæå·åããŒã眮ãæããŠãwebrtc çµç±ã§å°çãããã¹ãŠã®ã¡ãã»ãŒãžã埩å·åããããšãå¯èœã§ãã ããããsignalserver.pvtbox.net ã«å¯Ÿã㊠mitm æ»æãå®è¡ããããšã¯äžå¯èœã§ãã£ããããsignalserver.pvtbox.net ãéããŠéä¿¡ãããã¡ãã»ãŒãžãååããŠçœ®ãæããæ¹æ³ã¯ãããŸããã
ãããã£ãŠããã¢ããŒãã¢æ¥ç¶ã«å¯ŸããŠãã®æ»æãå®è¡ããããšã¯ã§ããŸããã
ããã°ã©ã ã«ä»å±ã®èšŒææžãå«ããã¡ã€ã«ãçºèŠãããŸããã ãã¡ã€ã«ã¯ /opt/pvtbox/certifi/cacert.pem ã«ãããŸãã ãã®ãã¡ã€ã«ã¯ãmitmproxy ãããã·ããã®ä¿¡é Œããã蚌ææžãå«ããã¡ã€ã«ã«çœ®ãæããããŸããã çµæã¯å€ãããŸããã§ãããããã°ã©ã ã¯ã·ã¹ãã ãžã®æ¥ç¶ãæåŠããåããšã©ãŒããã°ã«èšé²ãããŸããã
蚌ææžãæ€èšŒã«åæ ŒããŠããªãããšã
ç£æ»çµæ
ãã©ãã£ãã¯ãååããããªãããŸãããããããšã¯ã§ããŸããã§ããã ãã¡ã€ã«åãšãã®å 容ã¯ããã«æå·åããã圢åŒã§éä¿¡ããããšã³ãããŒãšã³ãã®æå·åã䜿çšãããã¢ããªã±ãŒã·ã§ã³ã«ã¯çèŽãäŸµå ¥ãé²ãå€æ°ã®ã»ãã¥ãªã㣠ã¡ã«ããºã ãå®è£ ãããŠããŸãã
ãã®çµæãå瀟ã¯æ å ±ãžã®æ°žç¶çãªã¢ã¯ã»ã¹ã®ããã« XNUMX å°ã®å°çšãµãŒã㌠(ç©ççã«ã¯ç°ãªãå Žæã«ãããŸã) ãè³Œå ¥ããŸããã æåã®ãµãŒããŒã¯æ å ±ã®åä¿¡ãåŠçãä¿åã«äœ¿çšãããXNUMX çªç®ã®ãµãŒããŒã¯ããã¯ã¢ããã«äœ¿çšãããŸãã
ãã£ã¬ã¯ã¿ãŒã®ä»äºçšç«¯æ«ãš iOS äžã®æºåž¯é»è©±ããçµæãšããŠåŸãããåå¥ã®ã¯ã©ãŠãã«æ¥ç¶ãããŸããã ä»ã®åŸæ¥å¡ã¯ããã«ã¿ã€ã ã®ã·ã¹ãã 管çè ãš Pvtbox ã®ãã¯ãã«ã« ãµããŒãã«ãã£ãŠæ¥ç¶ãããŸããã
éå»ãã°ããã®éããã®å人ããèŠæ
ã¯ãããŸããã§ããã ç§ã®ã¬ãã¥ãŒãåæ§ã®ç¶æ³ã«ããHabrã®èªè
ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
åºæïŒ habr.com