코드 위험과의 인터뷰 – WordPress 플러그인을 위한 무료 소스 코드 분석 서비스
게시 됨: 2018-10-17WordPress 플러그인의 취약점은 WordPress 코어의 취약점보다 더 많은 사이트 해킹의 원인이었습니다. 이것이 일어나는 이유 중 하나는 자원 부족입니다. 소프트웨어에는 항상 취약점이 있지만 WordPress 핵심 코드는 수천 명의 사람들이 검사합니다. 또한 재단은 코드가 최대한 안전한지 확인하기 위해 할당된 리소스를 가지고 있습니다.
반면에 많은 플러그인 개발자는 플러그인 코드의 보안을 보장하는 데 사용할 수 있는 리소스가 없습니다. 특히 작은 플러그인인 경우 더욱 그렇습니다. Hendrik Buchwald가 이 인터뷰에서 설명했듯이 모든 것이 바뀔 것입니다. Hendrik은 소프트웨어 엔지니어, 보안 연구원 및 RIPS Technologies의 공동 설립자입니다.
RIPS 기술은 무엇을 합니까?
RIPS Technologies는 독일 보훔에 본사를 둔 첨단 기술 회사입니다. PHP 애플리케이션에 대한 자동화된 보안 분석을 로컬 소프트웨어 설치 또는 확장성이 뛰어난 클라우드 서비스로 제공합니다. 특별히 PHP 언어 전용인 당사의 혁신적인 코드 분석 알고리즘은 다른 솔루션과는 달리 최신 애플리케이션의 복잡한 보안 취약성을 식별할 수 있습니다. 우리의 임무는 개발자와 보안 전문가에게 가능한 가장 정확하고 효율적인 보안 분석을 제공하는 것입니다.
개발자가 가장 흔히 저지르는 보안 실수는 무엇이며 WordPress 플러그인에서 볼 수 있는 상위 3가지 취약점은 무엇입니까?
당연히 가장 일반적인 문제는 HTML 응답 페이지에 대한 적절한 삭제 없이 사용자 입력이 인쇄될 때마다 발생하는 XSS(교차 사이트 스크립팅) 취약점입니다. 하나는 데이터 출력이 PHP 응용 프로그램의 가장 일반적인 작업이므로 다른 작업보다 보안 위반의 영향을 더 많이 받기 때문에 이러한 문제가 자주 나타납니다. 둘째, HTML 컨텍스트의 다양성과 삭제의 함정을 감안할 때 이러한 문제는 쉽게 도입됩니다. XSS(교차 사이트 스크립팅) 취약점은 WordPress에서 매우 심각합니다. 예를 들어 템플릿 편집기를 통해 PHP 코드를 삽입하는 데 사용할 수 있기 때문입니다. 다행히도 관리자와의 상호 작용이 필요합니다.
두 번째로 가장 일반적인 문제는 SQL 주입 취약점입니다. SQL 주입은 최악의 경우 사용자 상호 작용 없이 데이터베이스에서 민감한 정보(예: 암호)를 추출하는 데 사용될 수 있기 때문에 교차 사이트 스크립팅 취약점보다 더 심각합니다. 결과적으로 완전 자동화된 악성 공격에 사용될 수 있습니다.
가장 인기 있거나 다운로드된 1,000개 플러그인의 전반적인 보안 상태는 얼마나 좋습니까?
1,000개의 가장 인기 있는 플러그인을 자세히 살펴보지 않았기 때문에 이것은 대답하기 어렵습니다. 이러한 작업은 완료하는 데 몇 달이 걸리며 일부 플러그인은 매우 자주 업데이트되기 때문에 준비가 될 때쯤에는 다시 시작해야 합니다.
따라서 Code Risk와 같은 자동화된 보안 서비스를 사용하는 것이 중요합니다. 우리가 저장소에서 수행하는 검증되지 않은 자동화된 소스 코드 스캔에서 생성된 CodeRisk 점수에서, 비록 점수가 나쁜 플러그인도 있지만 대부분의 코드가 나쁘지 않다고 말할 수 있습니다. 이러한 플러그인의 대부분은 매우 크고 많은 기능을 가지고 있습니다. 이렇게 하면 어딘가에 버그가 생길 가능성이 자동으로 높아집니다. 수동 테스트에서 우리는 큰 플러그인이 종종 논리적인 취약점을 가지고 있다고 말할 수 있습니다.
WordPress 플러그인 개발자에게 제공하는 것에 대해 조금 알려주실 수 있습니까?
최신 프로젝트 CodeRisk는 개발자와 사용자가 플러그인 코드의 보안 위험을 무료로 평가할 수 있도록 도와줍니다. 지금은 공식 WordPress 저장소에서 호스팅되는 WordPress 플러그인으로 제한됩니다.
WordPress 저장소에서 새 플러그인을 자동으로 가져와 PHP 보안 스캐너 RIPS로 스캔합니다. RIPS의 상세한 결과는 이해하기 쉬운 위험 값으로 결합됩니다. 값은 성공적인 악용의 심각도, 코드 크기와 관련하여 발견된 문제의 양, 문제가 제3자에 의해 남용될 가능성을 고려합니다.
플러그인 개발자는 자동화된 시스템을 통해 자신의 플러그인에 대한 전체 세부 결과를 요청할 수 있습니다. 그들은 정보를 사용하여 가능한 취약점을 수정하고 코드를 강화하여 WordPress 생태계를 더 안전하게 만들 수 있습니다. CodeRisk의 이면에 있는 아이디어는 플러그인 개발자가 보안에 정통하지 않더라도 스스로 코드에서 문제를 찾을 수 있도록 하는 것입니다. WordPress 보안에 대해 많은 연구를 수행하고 개발자에게 많은 취약점을 보고하지만 수동으로 모두 분석하기에는 플러그인이 너무 많습니다.
많은 플러그인 개발자가 무료 소스 코드 분석 서비스를 구독하고 사용하고 있습니까? WordPress 커뮤니티의 반응은 어떻습니까?
현재 CodeRisk를 사용하여 플러그인의 보안 취약점 위험을 줄이는 수십 명의 플러그인 개발자가 있습니다. 우리는 지금까지 많은 좋은 피드백을 받았고 CodeRisk는 이미 수백 가지 문제를 해결하는 데 도움을 주었습니다.
자동화된 스캐너는 가양성과 악용할 수 없는 극단적인 경우를 보고하는 경향이 있습니다. 많은 개발자들이 보안에 정통하지 않은 경우, 그들을 돕고 잘못된 경보를 피하기 위해 무엇을 하고 있습니까?
사용자는 보안 위험이 있는 코드를 강조 표시한다는 사실을 알고 있어야 합니다. 의도하지 않은 보안 취약점 중에는 나중에 위협이 될 수 있는 약한 보호와 같은 다른 발견도 포함됩니다.
향후 보안 위협이 되지 않도록 하기 위해 문제가 악용될 수 있는지 여부와 방법을 알 필요가 없습니다. 예를 들어, 함수의 반환 값을 인쇄하는 경우 사이트 간 스크립팅 취약점을 방지하기 위해 올바르게 인코딩해야 합니다. 반환 값에 아직 사용자 입력이 포함되어 있지 않더라도 앞으로는 그렇지 않을 수 있습니다.
이 무료 WordPress 프로젝트가 어디로 가고 있습니까? 당신은 그것에 대한 계획이 있습니까? 개발자에게 프리미엄 서비스를 제공하여 결과를 이해하고 최대한 활용할 수 있도록 하시겠습니까?
CodeRisk의 다음 릴리스에서는 WordPress 테마에 대한 지원을 추가할 것입니다. WordPress 테마는 대부분의 블로그에서 없어서는 안될 부분이며 종종 취약점도 포함하기 때문입니다. 언젠가는 CodeRisk를 다른 콘텐츠 관리 시스템으로 확장하고 싶습니다. 현재 프리미엄 서비스에 대한 계획은 없지만 수요가 충분하다면 변경될 수 있습니다.
WordPress 개발자가 더 안전한 코드를 작성할 수 있도록 따라야 할 두세 가지 보안 개발 모범 사례를 제공할 수 있습니까?
더 안전한 코드를 작성하려면 기존 코드를 맹목적으로 신뢰하지 마십시오. 항상 함수가 사용자 입력을 반환하고 그렇게 취급할 수 있다고 가정합니다. 보안 PHP 코드 작성 방법에 대한 일반적인 정보는 보안 PHP 소프트웨어 구축을 위한 2018 가이드를 확인하세요.
서비스에 대한 자세한 내용은 CodeRisk 웹 사이트를 방문하십시오. 그리고 귀하가 WordPress 플러그인 개발자이고 플러그인이 WordPress 플러그인 저장소에 있는 경우 무료 계정에 가입하여 플러그인에 어떤 취약점이 있는지 확인하십시오.