Authenticode와 ê°™ì€ ì½”ë“œ 서명 ê¸°ìˆ ì„ ì‚¬ìš© 합니다. 참조 참조. êµìœ¡ Sec503, ìš°ë¦¬ì˜ ì¹¨ìž… íƒì§€ í´ëž˜ìŠ¤ 지난 주, 우리는 ì•„ì§ ë‹¤ì‹œ 몇 ë…„ì—ì„œ CVS를 ì•…ìš©ì— ëŒ€ í•œ ì„œëª…ì„ ì¼ìŠµë‹ˆë‹¤. 확실히 ê·¸ê²ƒì€ ì§€ê¸ˆê¹Œì§€ 오래 ëœ ë‰´ìŠ¤ì˜ ì¢…ë¥˜ ì´ë‹¤. 그러나 나는 ë‹¹ì‹ ì´ ë‹¹ì‹ ì˜ ì†Œí”„íŠ¸ì›¨ì–´ì˜ ì™„ì „ì„±ì„ ì—¼ë ¤ 하는 ê²½ìš°ì— ì•„ì£¼ ì ì‹œ ì´ë‹¤ ìƒê° 한다. ë‹¹ì‹ ì´ ê·¸ê²ƒì— ìµìˆ™í•˜ì§€ ì•Šì€ ê²½ìš°: CVS는 소스 코드 ì €ìž¥ì†Œë¥¼ 관리 하는 ë° ì‚¬ìš© 소프트웨어입니다. CVS ì„œë²„ì˜ ì†ìƒìœ¼ë¡œ ì¸í•´ì´ 서버ì—ì„œ ìœ ì§€ 관리 하는 소프트웨어를 ë” ì´ìƒ ì‹ ë¢°í• ìˆ˜ 없다는 뜻입니다. ê±°ì˜ ì•„ë¬´ë„는 CDì—ì„œ 소프트웨어를 ë” ì´ìƒ 설치 한다. ì˜¤ëŠ˜ë‚ ëŒ€ë¶€ë¶„ì˜ ì†Œí”„íŠ¸ì›¨ì–´ê°€ 다운로드 ë˜ ê³ ì„¤ì¹˜ ë©ë‹ˆë‹¤.
그러나 다운로드가 변조 ë˜ì—ˆëŠ”지 어떻게 ì•Œ 수 있습니까? ì‹ ë¢°í• ìˆ˜ 없는 코드를 실행 하면 ì‘ìš© í”„ë¡œê·¸ëž¨ì´ ì†ìƒ ë˜ ê³ ì‚¬ìš©ìžì— 게 ì œëŒ€ë¡œ ìž‘ë™ í•˜ì§€ ì•Šì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. ì´ ë¬¸ì œëŠ” 디지털 ì„œëª…ì„ ì‚¬ìš© 하 ì—¬ 부분ì 으로 í•´ê²° ë©ë‹ˆë‹¤. 디지털 ì„œëª…ì€ ì†Œí”„íŠ¸ì›¨ì–´ì˜ ì•”í˜¸í™” 해시로 시작 í•˜ì§€ë§Œì´ í•´ì‹œëŠ” ì´ì œ ê°œì¸ í‚¤ë¥¼ 사용 하 ì—¬ 서명 ë©ë‹ˆë‹¤. 아무ë„ì´ ê°œì¸ í‚¤ë¥¼ ì•Œ 필요가, ê·¸ë¦¬ê³ ë©€ë¦¬ ë„달 붙ì´ê³ ê·¸ë‚ ì•„ì¹¨ ë³´ê´€ 해야 합니다. 공격ìžëŠ” ì´ì œ ë” ì´ìƒ 발견 ë˜ì§€ ì•Šì€ í•´ì‹œë¥¼ ìˆ˜ì •í• ìˆ˜ 없게 ë©ë‹ˆë‹¤. 그러나 ì„œëª…ì„ í™•ì¸ í•˜ê¸° 위해 사용ìžì— 게는 공개 í‚¤ì˜ ì‚¬ë³¸ì´ í•„ìš” 합니다. 우리는 공개 키가 ì •í™• 하다는 ê²ƒì„ ì–´ë–»ê²Œ í™•ì¸ í•©ë‹ˆê¹Œ? ì´ëŠ” ì´ë¯¸ 공개 키가 있거나 ëŒ€ì— ì™¸ì—ì„œ 확ì¸í• 수 있는 ê²½ìš°ì— ì‰¬ìš¸ 수 있습니다. 그러나 ëŒ€ë¶€ë¶„ì˜ ê²½ìš° 서명과 코드를 ì–»ì„ ë•Œ 공개 키를 얻습니다. 만약 ë‹¹ì‹ ì´ ì™¸ë¶€ì—ì„œ ìˆ˜ì—…ì„ ë°›ì„-처럼, 어딘가ì—ì„œ 다운로드 하거나 í´ëž˜ìŠ¤ ë˜ëŠ” 소스 코드를 업로드 하 ê³ ê·¸ê²ƒì„ ì»´íŒŒì¼í•˜ëŠ” 사용ìžê°€ 허용-그럼 ë‹¹ì‹ ì€ì´ 약ì ì— ë”°ë¼ ì¡°ì¹˜ë¥¼ ì·¨í• í•„ìš”ê°€ 있다. ë‹¹ì‹ ì´ ì‚¬ìš©ìž ë¡œë¶€í„° í´ëž˜ìŠ¤ë¥¼ 얻으면 ë‹¹ì‹ ì€ ë¬¸ì œê°€ 있다. 🙂 ì¼ë¶€ 위치ì—ì„œ ë³´ì•ˆì„ ìœ ì§€ 하는 경우 HTTPS를 사용 하거나 ì§ì ‘ ì„œëª…ì„ í™•ì¸í• 수 있습니다.
그러나 ë‚´ê°€ ì´ê²ƒì´ ë‹¹ì‹ ì˜ ì¼€ì´ìŠ¤ê°€ ì•„ë‹ˆë‹¤ì„ ì¶”ì¸¡ 한다. ì´ ì½”ë“œì—는 ë°ì´í„°ë² ì´ìŠ¤ ìžê²© ì¦ëª…ì„ ê°€ì ¸ì˜¤ê¸° 위한 외부 스í¬ë¦½íŠ¸ê°€ í¬í•¨ ë˜ì–´ 있으므로 ë°ì´í„°ë² ì´ìŠ¤ì— 대해 사용ìžë¥¼ ì¸ì¦ 하 ì—¬ ì‘ìš© í”„ë¡œê·¸ëž¨ì— ì•¡ì„¸ìŠ¤í• ìˆ˜ 있습니다. ë‹¹ì‹ ì€ ì•„ì§ë„ ì–´ë”˜ê°€ì— ì‹œìž‘ 해야 한다. ì¼ë¶€ 소프트웨어 ë°°í¬ìžëŠ” 소프트웨어와 함께 í•´ì‹œ ê°’ì„ í¬í•¨ 하는 “ì²´í¬ì„¬” (ë˜ëŠ” “md5sum” ë˜ëŠ” “sha1sum”) 파ì¼ì„ ì œê³µ 합니다. ë‹¹ì‹ ì´ ì˜¬ë°”ë¥¸ ì²´í¬ì„¬ 파ì¼ì„ê°€ì§€ê³ ê°€ì •, ì´ê²ƒì€ ë‹¹ì‹ ì´, 아래 마지막 ë¹„íŠ¸ì— ì˜¬ë°”ë¥¸ 파ì¼ì„ 다운로드 여부를 확ì¸í• 수 있습니다; ê·¸ë¦¬ê³ ì´ ìž‘í’ˆì— ê´€ê³„ ì—†ì´ ë‹¹ì‹ ì´ ì–´ë–»ê²Œ ê°€ëŠ¥ì„±ì´ í° íŒŒì¼ì„ 다운로드 (심지어 ì¼ë¶€ 그늘진 피어-투-피어 ë„¤íŠ¸ì›Œí¬ ë˜ëŠ” 온 ì–´ë–¤; ë‹¹ì‹ ì€ í•´ì‹œ ê¸°ëŠ¥ì„ ì†ì¼ 수 없다). ì´ ì½”ë“œëŠ” í´ëž˜ìŠ¤ì˜ ì²´í¬ì„¬ì„ í™•ì¸ í•˜ëŠ” 경우와 ê°™ì´ ë¡œë“œ ëœ í´ëž˜ìŠ¤ê°€ ì˜ë„ í•œ í´ëž˜ìŠ¤ ì¸ì§€ í™•ì¸ í•˜ì§€ 않습니다. 공격ìžëŠ” í´ëž˜ìŠ¤ 파ì¼ì„ ìˆ˜ì • 하 ì—¬ 악성 코드를 ì‹¤í–‰í• ìˆ˜ 있습니다. ìˆ˜ë™ ë¶„ì„ì€ ì¼ë°˜ì 으로 코드 다운로드를 트리거하는 ë™ìž‘ì„ ì°¾ê³ ë¬´ê²°ì„± 검사 ë°©ë²•ì´ ì‚¬ìš© 중ì¸ì§€ í™•ì¸ í•˜ëŠ” ë° í•„ìš” 합니다. -ë‹¹ì‹ ì´ ì •ê¸°ì 으로 해시를 사용 하는 경우, 다른 ì‹œìŠ¤í…œì— ë‹¤ìŒ ì›ëž˜ 소프트웨어를 ì €ìž¥ 하 ê³ ìž˜ ê·¸ë“¤ì„ í™•ë³´-m d 5를 사용 하지 ì•Šìœ¼ë ¤ê³ . SHA256 아마ë„ì´ ì‹œì ì—ì„œ 사용 하는 가장 ì¢‹ì€ ì•Œê³ ë¦¬ì¦˜ìž…ë‹ˆë‹¤. 가능 하면 여러 해시를 ì œê³µ 합니다.-가능한 경우 ì ì ˆ í•œ 코드 서명 ì¸ì¦ì„œ 사용. ìœ„ì˜ ì½”ë“œ ì¤„ì€ ì–´ë–»ê²Œ 보호 합니까? forname (“”)ì— ëŒ€ í•œ 매개 변수가 로드 ë ì•…ì˜ì ì¸ í´ëž˜ìŠ¤ê°€ 아니ë¼ëŠ” ê²ƒì„ ì–´ë–»ê²Œ í™•ì¸ í•´ì•¼ 합니까? 공격ìžê°€ ì‹ ë¢°í• ìˆ˜ 없는 ì½”ë“œì— ì˜í–¥ì„ 줄 경우 실행 ì‹œ 공격ìžê°€ 중요 í•œ 파ì¼ì— ì•¡ì„¸ìŠ¤í• ìˆ˜ 있ë„ë¡ í•©ë‹ˆë‹¤.