메인 콘텐츠로 건너뛰기
블로그 안전 Linode Security Digest May 9-15, 2022

Linode Security Digest - 2022년 5월 9일~15일

리노드 시큐리티 다이제스트

이번 주에는 Rubygems와 Rsyslogs의 몇 가지 심각도가 높은 취약점에 대해 다룰 것입니다. 우리는 또한 보안 코딩 관행을 정의하는 것의 중요성에 대해 논의 할 것입니다.

루비젬의 승인되지 않은 보석 인수

Rubygems는 Ruby 언어 생태계를 위한 소프트웨어를 제공하는 데 사용되는 패키지 레지스트리입니다. yank 동작의 버그로 인해 모든 RubyGems.org 사용자가 특정 젬을 제거하고 교체 할 수있었습니다. 

취약해지려면 보석이 필요했습니다. 

  • 이름에 하나 이상의 대시 
  • 대시 앞에 이름이 있는 공격자 제어 보석 
  • 30일 이내에 생성하거나 100일 이상 업데이트가 없습니다.

완화 

Bundler 팀에 따르면 지속적인 통합 및 배포 중에 번들러를 – frozen 또는 –deployment 모드에서 사용하면 응용 프로그램이 이 익스플로잇을 사용하여 만든 버전으로 자동으로 전환되지 않습니다. 

가능한 과거 익스플로잇에 대한 응용 프로그램 기록을 감사하려면 Gemfile.lock 을 검토하고 버전 번호가 변경되지 않았을 때 플랫폼이 변경된 젬을 찾습니다. 예를 들어 gemname-3.1.2 를 gemname-3.1.2-java 로 업데이트하면 이 취약점이 악용될 가능성이 있음을 나타낼 수 있습니다 . RubyGems.org 가 패치되었으며 더 이상 이 문제에 취약하지 않습니다.

Rsyslogs의 잠재적 힙 기반 버퍼 오버플로

Rsyslog는 로그 처리를위한 로켓 빠른 시스템입니다. TCP syslog 수신을 위한 일부 모듈에는 옥텟 카운트 프레이밍이 사용될 때 힙 버퍼 오버플로가 있습니다. "옥텟 카운트" 프레이밍에서 각 메시지의 접두어에는 실제 메시지 길이가 붙기 때문에 수신자는 메시지가 끝나는 위치를 정확히 알 수 있습니다. 공격자는 힙 값을 손상시켜 데이터 무결성 문제와 가용성에 영향을 줄 수 있습니다. 원격 코드 실행은 발생할 가능성은 낮지만 불가능하지는 않습니다. 버전 8.2204.0 이하에서는 이 취약점의 영향을 받습니다.

완화

옥텟 카운트 프레임은 그리 일반적이지 않습니다. 일반적으로 보낸 사람에서 특별히 사용하도록 설정해야 합니다. 사용자가 필요하지 않은 경우 가장 중요한 모듈에 대해 끌 수 있습니다. 이렇게 하면 취약성이 완화됩니다. 이 작업을 수행하는 방법은 모듈에 따라 다릅니다. 영향을 받는 모듈 및 모듈에 기반한 구성 세부 정보는 여기를 참조하십시오. 패치는 버전 8.2204.1에서 사용할 수 있습니다.

보안 코드 정의의 중요성

보안 코딩은 숙련된 개발자가 SDLC(소프트웨어 개발 수명 주기)를 시작할 때부터 취약성이 없는 코드를 작성하는 관행입니다. 이 관행이 정의되면 개발자 커뮤니티가 해당 목표를 향해 일할 수 있습니다. Secure Code Warrior 는 2022년 12 월 Evans Data Corp과 협력하여 개발자 주도 보안 설문조사를 실시하여 전 세계 1,200명의 개발자를 대상으로 보안 코딩 관행과 관련된 기술, 인식 및 행동, SDLC에서의 영향 및 인식 관련성을 파악했습니다.

다음은 설문 조사에서 강조 표시된 몇 가지 사항입니다.

  • 1,200명 중 14%만이 보안 코딩을 최우선 과제로 삼았습니다. 
  • 설문 조사에 참여한 개발자의 37%는 알려진 취약성을 코드 내에 남겨 두었다고 응답했는데, 이는 엄격한 기한으로 인해 취약점을 수정하거나 처음부터 제대로 코딩하는 데 필요한 시간을 허용하지 않기 때문입니다.
  • 설문조사 응답자의 36%는 코드에서 취약점을 제거하고 싶지만 그렇게 할 기술이나 지식이 없다고 답했습니다. 
  • 개발자가 보안 코드를 작성하는 대부분의 경우 문제는 그들이 일하는 조직이 보안 코드를 생성하는 데 필요한 모범 사례를 식별하지 못했고 교육이나 개발자가 이러한 목표를 달성 할 수 있도록 충분한 리소스를 투입하지 못했다는 것입니다. 

따라서 보안 코딩 관행이 무엇인지에 대한 적절한 정의와 함께 조직은 개발자가 코드 취약성을 효율적으로 식별하고 수정하는 데 도움이 되는 실습 교육을 적절하게 코딩하고 제공할 수 있는 충분한 시간을 제공하는 더 긴 기한을 제공해야 합니다.
설문 조사에 대한 자세한 내용은 여기에서 확인할 수 있습니다.


코멘트

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *