Matt Mullenweg는 보안 비난에 응답: WordPress 업데이트에 대한 디지털 서명은 중요하지만 우선 순위는 아닙니다.

게시 됨: 2017-02-16

암호화 엔지니어링 작업으로 가장 널리 알려진 Paragon Initiative Enterprises의 최고 개발 책임자인 Scott Arciszewski는 WordPress 오픈 소스 소프트웨어 프로젝트의 공동 창시자인 Matt Mullenweg가 보안에 대해 충분히 관심을 두지 않는 점을 비판하는 게시물을 Medium에 게시했습니다. Arciszewski는 이후 게시물을 철회했지만 Wayback Machine을 통해 읽을 수 있습니다.

Arciszewski는 암호화, 암호 해독, 서명, 암호 해싱 등을 허용하는 PHP 7.2의 핵심 확장인 libsodium으로 알려진 프로젝트를 진행하고 있습니다. 그 목표는 개발자가 더 높은 수준의 암호화 도구를 구축할 수 있도록 하는 것입니다.

워드프레스의 자동 업데이트 시스템은 api.wordpress.org를 통해 처리됩니다. 업데이트에는 디지털 서명이 없기 때문에 api.wordpress.org가 손상된 경우 공격자는 수천 또는 수백만 개의 사이트에 악성 업데이트를 보낼 수 있습니다. 이 시나리오는 작년 말 Wordfence가 업데이트 서버를 손상시킬 수 있는 복잡한 보안 취약점에 대한 세부 정보를 발표한 후 사람들의 최전선에 있었습니다.

Arciszewski는 솔루션으로 오프라인 코드 서명 및 타원 곡선 암호화를 제안합니다. , 공격자는 파일에 트로이 목마 맬웨어를 추가할 수 없습니다.”라고 그는 말했습니다.

OpenSSL은 PHP의 확장이며 일반적으로 공개 키 암호화로 사용되지만 Arciszewski가 부적절하다고 여기는 RSA만 지원합니다. WordPress는 PHP로 작성되었으며 버전 5.2-7 이상을 지원하므로 Arciszewski는 호환 가능한 솔루션을 만들어야 했습니다. 이것은 그가 WordPress의 자동 업데이터에 Ed25519 서명 확인을 추가하는 sodium_compat을 만들도록 영감을 주었습니다.

Arciszewski는 WordPress에 여러 패치를 제출했지만 WordPress 핵심 개발자인 Dion Hulse는 sodium_compat 라이브러리가 타사의 보안 감사를 통과할 때까지 코어에 병합될 수 없다고 말했습니다. 감사에는 많은 비용이 들 수 있으므로 Arciszewski의 계획은 Automattic이 일부 비용을 부담하거나 자금을 크라우드 소싱할 수 있는지 확인하는 것이었습니다. 그러나 Mullenweg가 Hulse에게 이 기능이 Editor, Customizer 및 REST API의 세 가지 핵심 초점 영역과 관련이 없기 때문에 이 기능에 대한 작업을 중단하라고 알린 후 그의 프로젝트가 보류되었습니다.

Arciszewski는 그 결정이 무책임하며 모든 사용자는 놀라야 할 이유가 있다고 설명했습니다. )"라고 말했다. "이 과실 행위는 웹의 나머지 부분을 위험에 빠뜨릴 입니다."

업데이트 서명은 중요하지만 우선 순위는 아닙니다.

Mullenweg는 Medium.com의 게시물에 자신의 게시물로 응답했으며 보안에 대한 WordPress 개발 팀의 약속을 반복했습니다.

"관련된 모든 사람들은 자신의 책임을 매우 진지하게 생각하며 WordPress의 성장은 많은 사려 깊고 근면한 사람들이 참여하고 모든 각도에서 WP 사이트의 보안에 대해 전체적으로 생각한다는 것을 의미했습니다."라고 그는 말했습니다.

Mullenweg는 또한 WordPress 업데이트에 디지털 서명을 구현하여 어떤 공격을 차단할 것인지 명확히 했습니다.

"누군가 블로그와 WordPress.org 사이에서 네트워크의 업데이트 파일을 수정하는 중간자 공격을 막을 수 있습니다. 또는 업데이트를 제공하는 .org 부분이 손상되었지만 서명이 손상되는 상황을 막을 수 있습니다. 일부는 그렇지 않으며 누군가가 업데이트가 거부될 것을 알면서도 업데이트를 보내기로 결정했습니다.”라고 그는 말했습니다.

팀은 이러한 방식으로 공격을 받은 WordPress 사이트를 알지 못합니다. 가능성은 존재하지만 피해 범위는 제한적일 것입니다. 업데이트 서버는 24시간 모니터링되며 많은 대형 웹호스팅 회사가 고객의 사이트에서 맬웨어를 자동으로 검사하기 때문에 악성 업데이트가 빨리 발견될 수 있습니다.

Mullenweg는 업데이트 서버가 손상되면 어떻게 되는지 설명합니다.

"우리는 정말 빨리 끄고, 문제가 있다는 것을 세상에 알리고, 문제를 수정하고, 다시 켜고, 특정 사이트나 호스트에게 가능한 한 알릴 것입니다."라고 그는 말했습니다. WordPress는 Alexa가 추적하는 상위 1,000만 개 사이트의 27.5%를 지원하지만 사이트의 수가 손상될 가능성은 거의 없습니다.

그는 WordPress 사이트를 손상시키는 더 쉬운 방법이 있으며 영향을 기반으로 WordPress 보안의 가장 큰 문제를 나열한다고 말합니다.

  1. 코어를 업데이트하지 않는 사이트.
  2. 플러그인을 업데이트하지 않는 사이트.
  3. 테마를 업데이트하지 않는 사이트.
  4. 무차별 대입 보호 또는 이중 인증이 없는 약한 암호.
  5. 사이트를 스캔 및 수정하지 않는 호스트(전문 또는 임시).
  6. 실제에서 볼 수 없는 가상의 문제는 위의 기존 우선 순위에서 산만합니다.

Mullenweg는 Arciszewski가 자신의 게시물을 게시하기 하루 전에 sodium_compat의 감사에 기부하겠다고 제안했음을 확인합니다. 라이브러리가 감사를 통과하더라도 코드를 코어에 즉시 추가할 수는 없습니다. "라고 말했다.

그리고 코어에 코드가 추가되면 암호화 라이브러리와 업데이트 확인이 있는 버전으로 업데이트된 사이트만 이를 활용할 수 있습니다. WordPress.org는 여전히 업데이트 확인 기능이 없는 이전 버전으로 업데이트를 보내야 합니다. 이러한 사이트는 여전히 악의적인 업데이트를 받을 수 있습니다.

Mullenweg는 디지털 서명과 업데이트 서명이 결국 WordPress에서 끝날 것이라고 말하지만 그 앞에 다른 보안 문제가 있기 때문에 우선 순위가 아닙니다. "라고 말했다.

"좋은 접근 방식은 서버 측을 먼저 구축하는 것입니다. HSM을 사용하여 제대로 수행하는 것이 어렵고 중요한 부분이기 때문입니다. 그런 다음 패키지에 서명을 받으십시오. 그런 다음 자동 업데이트를 중단하고 싶지 않기 때문에 플러그인에서 검증을 테스트하십시오. 그런 다음 마지막으로 코어에 병합하고 서명되지 않은 업데이트를 거부하도록 클라이언트를 설정합니다. 클라이언트 측에서는 암호화 라이브러리를 선택하고 감사를 받아야 합니다.”

Mullenweg는 자신의 개인 사이트 대신 Medium에 응답을 게시한 이유를 설명하는 게시물을 마쳤습니다. “이런 욕설이 가장 많이 나오는 곳인 것 같다. 유명한 미디엄 에디터도 해보고 싶었다”고 말했다.

sodium_compat의 다음 단계

2017년에 자신의 라이브러리가 WordPress에 추가될 것이라는 전망이 좋지는 않지만 Arciszewski는 이점을 얻을 수 있는 다른 많은 PHP 프로젝트가 있다고 말했습니다. 당사자 암호화 감사, 비용 크라우드 펀딩 시도"라고 말했다.