사이버 공격과 방어의 실무

2020년 12월에 드러난 SolarWinds사 사건에서는 IT 관리용 소프트웨어의 빌드 환경에 공격자가 들어와 정규 업데이트 프로그램에 부정한 코드가 섞여 들어갔다. 이 업데이트는 개발사의 정규 코드 서명이 붙은 상태로 배포되었다. 이 사건에서 얻을 수 있는 교훈으로 가장 적절한 것은?

  1. A코드 서명이 올바른 업데이트 프로그램에는 부정한 코드가 포함되지 않으므로, 사용자는 서명을 확인하면 충분하다
  2. B업데이트 프로그램은 위험하므로 보안 수정을 포함하여 소프트웨어는 일절 업데이트하지 않도록 한다
  3. C코드 서명은 누가 서명했는지와 서명 후 변조 여부를 나타낼 뿐이므로, 개발사는 빌드 환경을 지키고 사용자는 신뢰하는 소프트웨어의 행위도 감시한다
정답과 해설 보기

정답: C. 코드 서명은 누가 서명했는지와 서명 후 변조 여부를 나타낼 뿐이므로, 개발사는 빌드 환경을 지키고 사용자는 신뢰하는 소프트웨어의 행위도 감시한다

코드 서명은 서명한 자가 누구인지와 서명 후에 내용이 바뀌지 않았음을 확인하는 구조로, 서명 전에 섞여 들어간 부정한 코드는 식별할 수 없습니다. 소프트웨어 공급망 공격의 대표적인 예인 SolarWinds사 사건에서는 빌드 도중에 부정한 코드가 추가되었기 때문에, 서명이 붙은 정규 업데이트로서 많은 조직에 전달되었습니다. 2024년 3월에 드러난 xz-utils의 백도어에서도 오랜 기간에 걸쳐 개발자로서 신뢰를 얻은 인물이 배포용 파일에 부정한 코드를 숨겨 넣었습니다. 개발사는 빌드 환경을 분리하여 지키고 소스부터 빌드까지의 출처 이력을 기록하여 검증하며, 사용자는 신뢰하는 소프트웨어라도 수상한 통신이나 행위를 EDR 등으로 감시하는 것이 중요합니다.

이 분야 연습하기 분야로 돌아가기

사이버 공격과 방어의 실무의 다른 문제

  1. 클라우드의 오브젝트 스토리지에 둔 고객 정보 파일이 인터넷의 누구나 읽을 수 있는 상태였다는 것이 밝혀졌다. 이러한 정보 유출의 전형적인 원인과 재발을 막는 대책의 조합으로 적절한 것은?
  2. 클라우드에서 동작하는 배치 처리에, 모든 조작을 허가한 관리자 권한의 액세스 키(장기간 유효한 인증 정보)를 설정 파일에 적어 넘기고 있었다. 이 키가 유출되었을 때의 피해를 작게 하기 위한 재검토로 가장 적절한 것은?
  3. 공격자가 직원의 비밀번호를 입수하고 로그인을 수십 번 반복하여, 직원의 스마트폰에 승인을 요구하는 알림을 대량으로 보냈다. 직원은 귀찮아져서 그만 '승인'을 눌러 버렸다. 이 공격에 대한 대책으로 가장 적절한 것은?
  4. FIDO2(WebAuthn)의 패스키에 의한 인증이 일회용 비밀번호(OTP)와 비교하여 피싱에 강하다고 여겨지는 이유로 올바른 것은?
  5. 어떤 웹 서비스에서 서로 다른 많은 IP 주소로부터, 각각 다른 사용자의 ID와 비밀번호 쌍으로 로그인이 대량으로 시도되었고 일부가 성공했다. 시도된 쌍의 대부분은 다른 서비스에서 유출된 것과 일치했다. 이 공격의 이름은?